summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorProjectRevoTPP <projectrevotpp@hotmail.com>2018-01-06 20:57:36 -0500
committerProjectRevoTPP <projectrevotpp@hotmail.com>2018-01-06 20:57:36 -0500
commit86f0291f63ff6bc580476dae3c00fc4d6d7b15da (patch)
tree37d03c82f0b43a4a0b856610c5b36fe96dc3ebed
parentdeac7fd3706ea9de855330881e2555a8c70d72f3 (diff)
parent680d3fd7b980578024226eccffe2e01072826227 (diff)
Merge branch 'master' of https://github.com/pret/pokeruby
-rw-r--r--.travis.yml1
-rw-r--r--asm-de/contest_link_80C2020.s5638
-rw-r--r--asm-de/contest_link_80C857C.s1408
-rw-r--r--asm-de/easy_chat.s10803
-rw-r--r--asm/cable_car.s2880
-rw-r--r--asm/cable_car_util.s162
-rw-r--r--asm/contest_link_80C2020.s271
-rw-r--r--asm/contest_link_80C857C.s510
-rw-r--r--asm/easy_chat.s10732
-rw-r--r--asm/macros/event.inc86
-rw-r--r--data-de/event_scripts.s157
-rw-r--r--data-de/field_move_scripts.inc12
-rw-r--r--data/cable_car.s102
-rw-r--r--data/easy_chat.s477
-rw-r--r--data/event_scripts.s157
-rw-r--r--data/field_move_scripts.inc12
-rw-r--r--data/scripts/cable_club.inc23
-rw-r--r--data/scripts/contest_hall.inc131
-rw-r--r--data/scripts/day_care.inc6
-rw-r--r--data/scripts/gabby_and_ty.inc18
-rw-r--r--data/scripts/magma_chimney.inc14
-rw-r--r--data/scripts/maps/AbandonedShip_CaptainsOffice.inc6
-rw-r--r--data/scripts/maps/AbandonedShip_Corridors_B1F.inc9
-rw-r--r--data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc36
-rw-r--r--data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc14
-rw-r--r--data/scripts/maps/AncientTomb.inc9
-rw-r--r--data/scripts/maps/AquaHideout_1F.inc6
-rw-r--r--data/scripts/maps/AquaHideout_B1F.inc3
-rw-r--r--data/scripts/maps/BattleTower_Lobby.inc20
-rw-r--r--data/scripts/maps/CaveOfOrigin_1F.inc3
-rw-r--r--data/scripts/maps/CaveOfOrigin_B1F.inc3
-rw-r--r--data/scripts/maps/CaveOfOrigin_B2F.inc3
-rw-r--r--data/scripts/maps/CaveOfOrigin_B3F.inc3
-rw-r--r--data/scripts/maps/CaveOfOrigin_B4F.inc8
-rw-r--r--data/scripts/maps/DesertRuins.inc9
-rw-r--r--data/scripts/maps/DewfordTown.inc12
-rw-r--r--data/scripts/maps/DewfordTown_Gym.inc26
-rw-r--r--data/scripts/maps/DewfordTown_Hall.inc7
-rw-r--r--data/scripts/maps/DewfordTown_House2.inc3
-rw-r--r--data/scripts/maps/EverGrandeCity.inc3
-rw-r--r--data/scripts/maps/EverGrandeCity_ChampionsRoom.inc8
-rw-r--r--data/scripts/maps/EverGrandeCity_DrakesRoom.inc8
-rw-r--r--data/scripts/maps/EverGrandeCity_GlaciasRoom.inc8
-rw-r--r--data/scripts/maps/EverGrandeCity_PhoebesRoom.inc8
-rw-r--r--data/scripts/maps/EverGrandeCity_PokemonLeague.inc13
-rw-r--r--data/scripts/maps/EverGrandeCity_SidneysRoom.inc8
-rw-r--r--data/scripts/maps/FallarborTown.inc3
-rw-r--r--data/scripts/maps/FallarborTown_ContestLobby.inc3
-rw-r--r--data/scripts/maps/FallarborTown_House1.inc15
-rw-r--r--data/scripts/maps/FallarborTown_House2.inc3
-rw-r--r--data/scripts/maps/FortreeCity.inc3
-rw-r--r--data/scripts/maps/FortreeCity_Gym.inc12
-rw-r--r--data/scripts/maps/FortreeCity_House1.inc5
-rw-r--r--data/scripts/maps/FortreeCity_House2.inc6
-rw-r--r--data/scripts/maps/FortreeCity_House4.inc9
-rw-r--r--data/scripts/maps/GraniteCave_1F.inc3
-rw-r--r--data/scripts/maps/GraniteCave_StevensRoom.inc10
-rw-r--r--data/scripts/maps/IslandCave.inc12
-rw-r--r--data/scripts/maps/JaggedPass.inc2
-rw-r--r--data/scripts/maps/LavaridgeTown.inc42
-rw-r--r--data/scripts/maps/LavaridgeTown_Gym_1F.inc44
-rw-r--r--data/scripts/maps/LavaridgeTown_HerbShop.inc3
-rw-r--r--data/scripts/maps/LilycoveCity.inc65
-rw-r--r--data/scripts/maps/LilycoveCity_ContestLobby.inc19
-rw-r--r--data/scripts/maps/LilycoveCity_CoveLilyMotel_1F.inc6
-rw-r--r--data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc6
-rw-r--r--data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc3
-rw-r--r--data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc22
-rw-r--r--data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc17
-rw-r--r--data/scripts/maps/LilycoveCity_Harbor.inc23
-rw-r--r--data/scripts/maps/LilycoveCity_House2.inc3
-rw-r--r--data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc33
-rw-r--r--data/scripts/maps/LilycoveCity_PokemonCenter_1F.inc3
-rw-r--r--data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc16
-rw-r--r--data/scripts/maps/LittlerootTown.inc103
-rw-r--r--data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc11
-rw-r--r--data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc5
-rw-r--r--data/scripts/maps/LittlerootTown_MaysHouse_1F.inc21
-rw-r--r--data/scripts/maps/LittlerootTown_MaysHouse_2F.inc34
-rw-r--r--data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc20
-rw-r--r--data/scripts/maps/MagmaHideout_B1F.inc3
-rw-r--r--data/scripts/maps/MauvilleCity.inc20
-rw-r--r--data/scripts/maps/MauvilleCity_BikeShop.inc6
-rw-r--r--data/scripts/maps/MauvilleCity_GameCorner.inc28
-rw-r--r--data/scripts/maps/MauvilleCity_Gym.inc35
-rw-r--r--data/scripts/maps/MauvilleCity_House1.inc3
-rw-r--r--data/scripts/maps/MauvilleCity_House2.inc3
-rw-r--r--data/scripts/maps/MeteorFalls_1F_1R.inc3
-rw-r--r--data/scripts/maps/MossdeepCity.inc6
-rw-r--r--data/scripts/maps/MossdeepCity_GameCorner_1F.inc20
-rw-r--r--data/scripts/maps/MossdeepCity_GameCorner_B1F.inc6
-rw-r--r--data/scripts/maps/MossdeepCity_Gym.inc36
-rw-r--r--data/scripts/maps/MossdeepCity_House2.inc4
-rw-r--r--data/scripts/maps/MossdeepCity_House3.inc3
-rw-r--r--data/scripts/maps/MossdeepCity_House4.inc3
-rw-r--r--data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc7
-rw-r--r--data/scripts/maps/MossdeepCity_StevensHouse.inc10
-rw-r--r--data/scripts/maps/MtChimney.inc8
-rw-r--r--data/scripts/maps/MtChimney_CableCarStation.inc4
-rw-r--r--data/scripts/maps/MtPyre_1F.inc3
-rw-r--r--data/scripts/maps/MtPyre_Exterior.inc2
-rw-r--r--data/scripts/maps/MtPyre_Summit.inc37
-rw-r--r--data/scripts/maps/NewMauville_Entrance.inc2
-rw-r--r--data/scripts/maps/NewMauville_Inside.inc9
-rw-r--r--data/scripts/maps/OldaleTown.inc18
-rw-r--r--data/scripts/maps/OldaleTown_Mart.inc6
-rw-r--r--data/scripts/maps/OldaleTown_PokemonCenter_1F.inc3
-rw-r--r--data/scripts/maps/PacifidlogTown_House2.inc18
-rw-r--r--data/scripts/maps/PacifidlogTown_House3.inc5
-rw-r--r--data/scripts/maps/PetalburgCity.inc20
-rw-r--r--data/scripts/maps/PetalburgCity_Gym.inc196
-rw-r--r--data/scripts/maps/PetalburgCity_Mart.inc3
-rw-r--r--data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc6
-rw-r--r--data/scripts/maps/PetalburgCity_WallysHouse.inc21
-rw-r--r--data/scripts/maps/PetalburgWoods.inc3
-rw-r--r--data/scripts/maps/Route104.inc21
-rw-r--r--data/scripts/maps/Route104_MrBrineysHouse.inc14
-rw-r--r--data/scripts/maps/Route104_PrettyPetalFlowerShop.inc26
-rw-r--r--data/scripts/maps/Route104_Prototype.inc42
-rw-r--r--data/scripts/maps/Route105.inc3
-rw-r--r--data/scripts/maps/Route109.inc6
-rw-r--r--data/scripts/maps/Route109_SeashoreHouse.inc18
-rw-r--r--data/scripts/maps/Route110.inc24
-rw-r--r--data/scripts/maps/Route110_SeasideCyclingRoadNorthEntrance.inc6
-rw-r--r--data/scripts/maps/Route110_TrickHouseEnd.inc26
-rw-r--r--data/scripts/maps/Route110_TrickHouseEntrance.inc83
-rw-r--r--data/scripts/maps/Route110_TrickHousePuzzle2.inc8
-rw-r--r--data/scripts/maps/Route110_TrickHousePuzzle3.inc36
-rw-r--r--data/scripts/maps/Route110_TrickHousePuzzle5.inc90
-rw-r--r--data/scripts/maps/Route110_TrickHousePuzzle7.inc77
-rw-r--r--data/scripts/maps/Route111.inc27
-rw-r--r--data/scripts/maps/Route111_WinstrateFamilysHouse.inc6
-rw-r--r--data/scripts/maps/Route112_CableCarStation.inc4
-rw-r--r--data/scripts/maps/Route113.inc4
-rw-r--r--data/scripts/maps/Route113_GlassWorkshop.inc28
-rw-r--r--data/scripts/maps/Route114.inc6
-rw-r--r--data/scripts/maps/Route114_FossilManiacsHouse.inc3
-rw-r--r--data/scripts/maps/Route114_FossilManiacsTunnel.inc3
-rw-r--r--data/scripts/maps/Route114_LanettesHouse.inc5
-rw-r--r--data/scripts/maps/Route116.inc28
-rw-r--r--data/scripts/maps/Route116_TunnelersRestHouse.inc3
-rw-r--r--data/scripts/maps/Route117.inc3
-rw-r--r--data/scripts/maps/Route118.inc9
-rw-r--r--data/scripts/maps/Route119.inc29
-rw-r--r--data/scripts/maps/Route119_WeatherInstitute_1F.inc2
-rw-r--r--data/scripts/maps/Route119_WeatherInstitute_2F.inc7
-rw-r--r--data/scripts/maps/Route120.inc48
-rw-r--r--data/scripts/maps/Route121_SafariZoneEntrance.inc2
-rw-r--r--data/scripts/maps/Route123.inc3
-rw-r--r--data/scripts/maps/Route123_BerryMastersHouse.inc21
-rw-r--r--data/scripts/maps/Route124.inc3
-rw-r--r--data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc11
-rw-r--r--data/scripts/maps/Route125.inc3
-rw-r--r--data/scripts/maps/Route126.inc3
-rw-r--r--data/scripts/maps/Route127.inc3
-rw-r--r--data/scripts/maps/Route128.inc3
-rw-r--r--data/scripts/maps/Route131.inc3
-rw-r--r--data/scripts/maps/RustboroCity.inc35
-rw-r--r--data/scripts/maps/RustboroCity_CuttersHouse.inc3
-rw-r--r--data/scripts/maps/RustboroCity_DevonCorp_1F.inc27
-rw-r--r--data/scripts/maps/RustboroCity_DevonCorp_2F.inc20
-rw-r--r--data/scripts/maps/RustboroCity_DevonCorp_3F.inc11
-rw-r--r--data/scripts/maps/RustboroCity_Flat2_2F.inc3
-rw-r--r--data/scripts/maps/RustboroCity_Gym.inc14
-rw-r--r--data/scripts/maps/RustboroCity_House1.inc5
-rw-r--r--data/scripts/maps/RustboroCity_Mart.inc6
-rw-r--r--data/scripts/maps/RustboroCity_PokemonSchool.inc7
-rw-r--r--data/scripts/maps/RusturfTunnel.inc27
-rw-r--r--data/scripts/maps/SSTidalCorridor.inc33
-rw-r--r--data/scripts/maps/SSTidalRooms.inc3
-rw-r--r--data/scripts/maps/SafariZone_Southeast.inc2
-rw-r--r--data/scripts/maps/SealedChamber_InnerRoom.inc3
-rw-r--r--data/scripts/maps/SealedChamber_OuterRoom.inc6
-rw-r--r--data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc8
-rw-r--r--data/scripts/maps/ShoalCave_LowTideInnerRoom.inc45
-rw-r--r--data/scripts/maps/ShoalCave_LowTideLowerRoom.inc9
-rw-r--r--data/scripts/maps/ShoalCave_LowTideStairsRoom.inc6
-rw-r--r--data/scripts/maps/SkyPillar_Top.inc3
-rw-r--r--data/scripts/maps/SlateportCity.inc43
-rw-r--r--data/scripts/maps/SlateportCity_ContestHall.inc3
-rw-r--r--data/scripts/maps/SlateportCity_ContestLobby.inc3
-rw-r--r--data/scripts/maps/SlateportCity_Harbor.inc32
-rw-r--r--data/scripts/maps/SlateportCity_House1.inc2
-rw-r--r--data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc5
-rw-r--r--data/scripts/maps/SlateportCity_OceanicMuseum_2F.inc10
-rw-r--r--data/scripts/maps/SlateportCity_PokemonFanClub.inc47
-rw-r--r--data/scripts/maps/SlateportCity_SternsShipyard_1F.inc12
-rw-r--r--data/scripts/maps/SootopolisCity.inc38
-rw-r--r--data/scripts/maps/SootopolisCity_Gym_1F.inc21
-rw-r--r--data/scripts/maps/SootopolisCity_House1.inc3
-rw-r--r--data/scripts/maps/SootopolisCity_House2.inc4
-rw-r--r--data/scripts/maps/SootopolisCity_House6.inc5
-rw-r--r--data/scripts/maps/SootopolisCity_Mart.inc12
-rw-r--r--data/scripts/maps/SootopolisCity_PokemonCenter_1F.inc12
-rw-r--r--data/scripts/maps/SouthernIsland_Interior.inc9
-rw-r--r--data/scripts/maps/Underwater_SeafloorCavern.inc6
-rw-r--r--data/scripts/maps/Underwater_SealedChamber.inc4
-rw-r--r--data/scripts/maps/UnknownMap_25_34.inc14
-rw-r--r--data/scripts/maps/VerdanturfTown.inc6
-rw-r--r--data/scripts/maps/VerdanturfTown_ContestLobby.inc3
-rw-r--r--data/scripts/maps/VerdanturfTown_WandasHouse.inc24
-rw-r--r--data/scripts/maps/VictoryRoad_1F.inc3
-rw-r--r--data/scripts/mystery_event_club.inc13
-rw-r--r--data/scripts/players_house.inc42
-rw-r--r--data/scripts/pokeblocks.inc10
-rw-r--r--data/scripts/safari_zone.inc4
-rw-r--r--data/scripts/secret_power_tm.inc6
-rw-r--r--data/scripts/tv.inc10
-rw-r--r--data/specials.inc2
-rwxr-xr-x[-rw-r--r--]de_after.sh0
-rwxr-xr-x[-rw-r--r--]de_before.sh3
-rw-r--r--include/battle.h10
-rw-r--r--include/cable_car_util.h13
-rw-r--r--include/constants/easy_chat.h4
-rw-r--r--include/contest.h167
-rw-r--r--include/dewford_trend.h1
-rw-r--r--include/easy_chat.h120
-rwxr-xr-xinclude/ewram.h3
-rw-r--r--include/field_map_obj.h2
-rw-r--r--include/field_weather.h4
-rw-r--r--include/gba/macro.h34
-rw-r--r--include/global.h11
-rw-r--r--include/graphics.h94
-rw-r--r--ld_script.txt12
-rw-r--r--src/battle/battle_7.c9
-rw-r--r--src/battle/contest_link_80C857C.c39
-rw-r--r--src/contest.c209
-rw-r--r--src/de_rom_8040FE0.c74
-rw-r--r--src/easy_chat_1.c1742
-rw-r--r--src/easy_chat_2.c3048
-rw-r--r--src/engine/cable_car_util.c47
-rw-r--r--src/field/easy_chat.c445
-rw-r--r--src/field/field_map_obj.c4
-rw-r--r--src/field/field_weather.c1
-rw-r--r--src/pokemon/pokemon_menu.c8
-rw-r--r--src/pokenav_after.c16
-rw-r--r--src/pokenav_before.c6400
-rw-r--r--src/rom_8077ABC.c1618
-rw-r--r--src/scene/cable_car.c979
-rw-r--r--src/unknown_task.c1
-rw-r--r--sym_bss.txt2
-rw-r--r--sym_ewram.txt26
242 files changed, 12767 insertions, 38794 deletions
diff --git a/.travis.yml b/.travis.yml
index 56bea002d..04b2597b6 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -49,7 +49,6 @@ matrix:
env: _="Build German"
before_script:
- cp override-de.mk override.mk
- - rsync -avhI asm-de/ asm/
- rsync -avhI data-de/ data/
- rsync -avhI graphics-de/ graphics/
script:
diff --git a/asm-de/contest_link_80C2020.s b/asm-de/contest_link_80C2020.s
deleted file mode 100644
index 0213fe90c..000000000
--- a/asm-de/contest_link_80C2020.s
+++ /dev/null
@@ -1,5638 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80C2020
-sub_80C2020: @ 80C2020
- push {r4,r5,lr}
- movs r5, 0x80
- lsls r5, 19
- movs r0, 0x40
- strh r0, [r5]
- ldr r4, _080C20F0 @ =gWindowConfig_81E6FA0
- adds r0, r4, 0
- bl SetUpWindowConfig
- ldr r0, _080C20F4 @ =gMenuWindow
- adds r1, r4, 0
- bl InitWindowFromConfig
- ldr r1, _080C20F8 @ =REG_BG0CNT
- movs r2, 0xF8
- lsls r2, 6
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r3, _080C20FC @ =0x00001803
- adds r0, r3, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _080C2100 @ =0x00001c03
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r3, _080C2104 @ =0x00003a03
- adds r0, r3, 0
- strh r0, [r1]
- ldr r0, _080C2108 @ =REG_MOSAIC
- movs r2, 0
- strh r2, [r0]
- adds r1, 0x3A
- ldr r3, _080C210C @ =0x00003f3f
- adds r0, r3, 0
- strh r0, [r1]
- adds r1, 0x2
- subs r3, 0x11
- adds r0, r3, 0
- strh r0, [r1]
- ldr r0, _080C2110 @ =REG_WIN0H
- strh r2, [r0]
- adds r0, 0x4
- strh r2, [r0]
- subs r0, 0x2
- strh r2, [r0]
- adds r0, 0x4
- strh r2, [r0]
- adds r0, 0xA
- strh r2, [r0]
- adds r0, 0x2
- strh r2, [r0]
- adds r0, 0x2
- strh r2, [r0]
- subs r0, 0x44
- strh r2, [r0]
- adds r0, 0x2
- strh r2, [r0]
- adds r0, 0x2
- strh r2, [r0]
- adds r0, 0x2
- strh r2, [r0]
- adds r0, 0x2
- strh r2, [r0]
- adds r0, 0x2
- strh r2, [r0]
- adds r0, 0x2
- strh r2, [r0]
- adds r0, 0x2
- strh r2, [r0]
- ldrh r0, [r5]
- movs r3, 0xFE
- lsls r3, 7
- adds r1, r3, 0
- orrs r0, r1
- strh r0, [r5]
- ldr r0, _080C2114 @ =gUnknown_030042A4
- strh r2, [r0]
- ldr r0, _080C2118 @ =gUnknown_030042A0
- strh r2, [r0]
- ldr r0, _080C211C @ =gBattle_BG1_X
- strh r2, [r0]
- ldr r0, _080C2120 @ =gBattle_BG1_Y
- strh r2, [r0]
- ldr r0, _080C2124 @ =gBattle_BG2_X
- strh r2, [r0]
- ldr r0, _080C2128 @ =gBattle_BG2_Y
- strh r2, [r0]
- ldr r0, _080C212C @ =gUnknown_030041B0
- strh r2, [r0]
- ldr r0, _080C2130 @ =gUnknown_030041B8
- strh r2, [r0]
- ldr r0, _080C2134 @ =gBattle_WIN0H
- strh r2, [r0]
- ldr r0, _080C2138 @ =gBattle_WIN0V
- strh r2, [r0]
- ldr r0, _080C213C @ =gBattle_WIN1H
- strh r2, [r0]
- ldr r0, _080C2140 @ =gBattle_WIN1V
- strh r2, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C20F0: .4byte gWindowConfig_81E6FA0
-_080C20F4: .4byte gMenuWindow
-_080C20F8: .4byte REG_BG0CNT
-_080C20FC: .4byte 0x00001803
-_080C2100: .4byte 0x00001c03
-_080C2104: .4byte 0x00003a03
-_080C2108: .4byte REG_MOSAIC
-_080C210C: .4byte 0x00003f3f
-_080C2110: .4byte REG_WIN0H
-_080C2114: .4byte gUnknown_030042A4
-_080C2118: .4byte gUnknown_030042A0
-_080C211C: .4byte gBattle_BG1_X
-_080C2120: .4byte gBattle_BG1_Y
-_080C2124: .4byte gBattle_BG2_X
-_080C2128: .4byte gBattle_BG2_Y
-_080C212C: .4byte gUnknown_030041B0
-_080C2130: .4byte gUnknown_030041B8
-_080C2134: .4byte gBattle_WIN0H
-_080C2138: .4byte gBattle_WIN0V
-_080C213C: .4byte gBattle_WIN1H
-_080C2140: .4byte gBattle_WIN1V
- thumb_func_end sub_80C2020
-
- thumb_func_start sub_80C2144
-sub_80C2144: @ 80C2144
- push {r4-r7,lr}
- sub sp, 0x4
- movs r2, 0xC0
- lsls r2, 19
- movs r3, 0xC0
- lsls r3, 9
- ldr r0, _080C220C @ =gUnknown_08D1977C
- mov r12, r0
- movs r5, 0
- ldr r1, _080C2210 @ =0x040000d4
- movs r4, 0x80
- lsls r4, 5
- ldr r6, _080C2214 @ =0x85000400
- movs r7, 0x85
- lsls r7, 24
-_080C2162:
- str r5, [sp]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- str r6, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r4
- subs r3, r4
- cmp r3, r4
- bhi _080C2162
- str r5, [sp]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 2
- orrs r0, r7
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r1, 0xC0
- lsls r1, 19
- mov r0, r12
- bl LZDecompressVram
- ldr r0, _080C2218 @ =gUnknown_08D1A490
- ldr r1, _080C221C @ =0x0600d000
- bl LZDecompressVram
- ldr r0, _080C2220 @ =gUnknown_08D1A364
- ldr r1, _080C2224 @ =0x0600e000
- bl LZDecompressVram
- ldr r0, _080C2228 @ =gUnknown_08D1A250
- ldr r1, _080C222C @ =0x0600f000
- bl LZDecompressVram
- bl sub_80C37E4
- ldr r0, _080C2230 @ =gUnknown_08D1A618
- movs r2, 0x80
- lsls r2, 2
- movs r1, 0
- bl LoadCompressedPalette
- ldr r0, _080C2234 @ =gWindowConfig_81E6FA0
- bl LoadFontDefaultPalette
- movs r6, 0
-_080C21C0:
- lsls r5, r6, 24
- lsrs r5, 24
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80C3990
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80C39E4
- movs r5, 0
- lsls r1, r6, 1
- adds r2, r6, 0x1
- mov r12, r2
- lsls r4, 24
- asrs r7, r4, 24
- adds r1, r6
- lsls r1, 6
- lsls r4, r0, 24
-_080C21EC:
- ldr r6, _080C2238 @ =0x000060b2
- cmp r5, r7
- bge _080C21F4
- adds r6, 0x2
-_080C21F4:
- asrs r2, r4, 24
- adds r0, r2, 0
- cmp r2, 0
- bge _080C21FE
- negs r0, r2
-_080C21FE:
- cmp r5, r0
- bge _080C2240
- ldr r3, _080C223C @ =0x000060a4
- cmp r2, 0
- bge _080C2242
- adds r3, 0x2
- b _080C2242
- .align 2, 0
-_080C220C: .4byte gUnknown_08D1977C
-_080C2210: .4byte 0x040000d4
-_080C2214: .4byte 0x85000400
-_080C2218: .4byte gUnknown_08D1A490
-_080C221C: .4byte 0x0600d000
-_080C2220: .4byte gUnknown_08D1A364
-_080C2224: .4byte 0x0600e000
-_080C2228: .4byte gUnknown_08D1A250
-_080C222C: .4byte 0x0600f000
-_080C2230: .4byte gUnknown_08D1A618
-_080C2234: .4byte gWindowConfig_81E6FA0
-_080C2238: .4byte 0x000060b2
-_080C223C: .4byte 0x000060a4
-_080C2240:
- ldr r3, _080C2264 @ =0x000060a2
-_080C2242:
- ldr r2, _080C2268 @ =0x0600c166
- adds r0, r1, r2
- strh r6, [r0]
- adds r2, 0x40
- adds r0, r1, r2
- strh r3, [r0]
- adds r1, 0x2
- adds r5, 0x1
- cmp r5, 0x9
- ble _080C21EC
- mov r6, r12
- cmp r6, 0x3
- ble _080C21C0
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2264: .4byte 0x000060a2
-_080C2268: .4byte 0x0600c166
- thumb_func_end sub_80C2144
-
- thumb_func_start sub_80C226C
-sub_80C226C: @ 80C226C
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080C2288 @ =gContestPlayerMonIndex
- ldrb r0, [r0]
- cmp r5, r0
- bne _080C2294
- ldr r0, _080C228C @ =gDisplayedStringBattle
- ldr r1, _080C2290 @ =gUnknown_083D17DC
- bl StringCopy
- adds r2, r0, 0
- b _080C2296
- .align 2, 0
-_080C2288: .4byte gContestPlayerMonIndex
-_080C228C: .4byte gDisplayedStringBattle
-_080C2290: .4byte gUnknown_083D17DC
-_080C2294:
- ldr r2, _080C22E8 @ =gDisplayedStringBattle
-_080C2296:
- movs r4, 0xFC
- strb r4, [r2]
- movs r0, 0x6
- strb r0, [r2, 0x1]
- movs r0, 0x4
- strb r0, [r2, 0x2]
- adds r2, 0x3
- lsls r6, r5, 6
- ldr r7, _080C22EC @ =gContestMons + 0x2
- adds r1, r6, r7
- adds r0, r2, 0
- bl StringCopy
- adds r2, r0, 0
- strb r4, [r2]
- movs r0, 0x13
- strb r0, [r2, 0x1]
- movs r0, 0x32
- strb r0, [r2, 0x2]
- adds r2, 0x3
- ldr r1, _080C22F0 @ =gUnknown_083D17E0
- adds r0, r2, 0
- bl StringCopy
- adds r2, r0, 0
- ldr r0, _080C22F4 @ =gIsLinkContest
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080C22FC
- lsls r4, r5, 3
- subs r1, r4, r5
- lsls r1, 2
- ldr r0, _080C22F8 @ =gLinkPlayers + 0x8
- adds r1, r0
- adds r0, r2, 0
- bl StringCopy
- b _080C230A
- .align 2, 0
-_080C22E8: .4byte gDisplayedStringBattle
-_080C22EC: .4byte gContestMons + 0x2
-_080C22F0: .4byte gUnknown_083D17E0
-_080C22F4: .4byte gIsLinkContest
-_080C22F8: .4byte gLinkPlayers + 0x8
-_080C22FC:
- adds r1, r7, 0
- adds r1, 0xB
- adds r1, r6, r1
- adds r0, r2, 0
- bl StringCopy
- lsls r4, r5, 3
-_080C230A:
- ldr r0, _080C2334 @ =gMenuWindow
- ldr r1, _080C2338 @ =gDisplayedStringBattle
- adds r2, r4, r5
- lsls r2, 18
- ldr r3, _080C233C @ =0x03020000
- adds r2, r3
- lsrs r2, 16
- lsls r3, r5, 1
- adds r3, r5
- adds r3, 0x4
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp]
- movs r3, 0x7
- bl sub_8003460
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2334: .4byte gMenuWindow
-_080C2338: .4byte gDisplayedStringBattle
-_080C233C: .4byte 0x03020000
- thumb_func_end sub_80C226C
-
- thumb_func_start sub_80C2340
-sub_80C2340: @ 80C2340
- push {r4,lr}
- movs r4, 0
-_080C2344:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80C226C
- adds r4, 0x1
- cmp r4, 0x3
- ble _080C2344
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80C2340
-
- thumb_func_start sub_80C2358
-sub_80C2358: @ 80C2358
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _080C240C @ =gPaletteFade
- ldrb r0, [r5, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r5, 0x8]
- movs r0, 0
- bl SetVBlankCallback
- bl sub_80C2020
- bl dp12_8087EA4
- bl ResetPaletteFade
- bl ResetSpriteData
- bl ResetTasks
- bl FreeAllSpritePalettes
- bl sub_80C2144
- bl sub_80C310C
- movs r0, 0
- movs r1, 0x1
- bl sub_80C30D4
- bl sub_80C2340
- ldr r4, _080C2410 @ =gSharedMem + 0x18000
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x18
- bl memset
- adds r0, r4, 0
- adds r0, 0x18
- movs r1, 0
- movs r2, 0x50
- bl memset
- bl sub_80C33DC
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldrb r1, [r5, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r5, 0x8]
- ldr r0, _080C2414 @ =sub_80C24F4
- movs r1, 0x5
- bl CreateTask
- strb r0, [r4, 0x2]
- ldr r0, _080C2418 @ =sub_80C2430
- bl SetMainCallback2
- ldr r1, _080C241C @ =gBattle_WIN1H
- movs r0, 0xF0
- strh r0, [r1]
- ldr r1, _080C2420 @ =gBattle_WIN1V
- ldr r2, _080C2424 @ =0x000080a0
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _080C2428 @ =sub_80C2F28
- movs r1, 0x14
- bl CreateTask
- bl sub_80C3F00
- movs r0, 0xDF
- lsls r0, 1
- bl PlayBGM
- ldr r0, _080C242C @ =sub_80C2448
- bl SetVBlankCallback
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C240C: .4byte gPaletteFade
-_080C2410: .4byte gSharedMem + 0x18000
-_080C2414: .4byte sub_80C24F4
-_080C2418: .4byte sub_80C2430
-_080C241C: .4byte gBattle_WIN1H
-_080C2420: .4byte gBattle_WIN1V
-_080C2424: .4byte 0x000080a0
-_080C2428: .4byte sub_80C2F28
-_080C242C: .4byte sub_80C2448
- thumb_func_end sub_80C2358
-
- thumb_func_start sub_80C2430
-sub_80C2430: @ 80C2430
- push {lr}
- bl AnimateSprites
- bl BuildOamBuffer
- bl RunTasks
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_80C2430
-
- thumb_func_start sub_80C2448
-sub_80C2448: @ 80C2448
- push {lr}
- ldr r1, _080C24C0 @ =REG_BG0HOFS
- ldr r0, _080C24C4 @ =gUnknown_030042A4
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080C24C8 @ =gUnknown_030042A0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080C24CC @ =gBattle_BG1_X
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080C24D0 @ =gBattle_BG1_Y
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080C24D4 @ =gBattle_BG2_X
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080C24D8 @ =gBattle_BG2_Y
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080C24DC @ =gUnknown_030041B0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080C24E0 @ =gUnknown_030041B8
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x22
- ldr r0, _080C24E4 @ =gBattle_WIN0H
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x4
- ldr r0, _080C24E8 @ =gBattle_WIN0V
- ldrh r0, [r0]
- strh r0, [r1]
- subs r1, 0x2
- ldr r0, _080C24EC @ =gBattle_WIN1H
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x4
- ldr r0, _080C24F0 @ =gBattle_WIN1V
- ldrh r0, [r0]
- strh r0, [r1]
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- bl sub_8089668
- pop {r0}
- bx r0
- .align 2, 0
-_080C24C0: .4byte REG_BG0HOFS
-_080C24C4: .4byte gUnknown_030042A4
-_080C24C8: .4byte gUnknown_030042A0
-_080C24CC: .4byte gBattle_BG1_X
-_080C24D0: .4byte gBattle_BG1_Y
-_080C24D4: .4byte gBattle_BG2_X
-_080C24D8: .4byte gBattle_BG2_Y
-_080C24DC: .4byte gUnknown_030041B0
-_080C24E0: .4byte gUnknown_030041B8
-_080C24E4: .4byte gBattle_WIN0H
-_080C24E8: .4byte gBattle_WIN0V
-_080C24EC: .4byte gBattle_WIN1H
-_080C24F0: .4byte gBattle_WIN1V
- thumb_func_end sub_80C2448
-
- thumb_func_start sub_80C24F4
-sub_80C24F4: @ 80C24F4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r2, r4, 0
- ldr r0, _080C252C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080C254E
- ldr r0, _080C2530 @ =gIsLinkContest
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080C2540
- ldr r0, _080C2534 @ =gOtherText_LinkStandby
- bl sub_80C3698
- ldr r1, _080C2538 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080C253C @ =sub_80C255C
- str r1, [r0]
- b _080C254E
- .align 2, 0
-_080C252C: .4byte gPaletteFade
-_080C2530: .4byte gIsLinkContest
-_080C2534: .4byte gOtherText_LinkStandby
-_080C2538: .4byte gTasks
-_080C253C: .4byte sub_80C255C
-_080C2540:
- ldr r0, _080C2554 @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, _080C2558 @ =sub_80C2600
- str r0, [r1]
-_080C254E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2554: .4byte gTasks
-_080C2558: .4byte sub_80C2600
- thumb_func_end sub_80C24F4
-
- thumb_func_start sub_80C255C
-sub_80C255C: @ 80C255C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080C2594 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C258C
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _080C258C
- ldr r0, _080C2598 @ =sub_80C25A4
- movs r1, 0
- bl CreateTask
- ldr r1, _080C259C @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080C25A0 @ =TaskDummy
- str r1, [r0]
-_080C258C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2594: .4byte gReceivedRemoteLinkPlayers
-_080C2598: .4byte sub_80C25A4
-_080C259C: .4byte gTasks
-_080C25A0: .4byte TaskDummy
- thumb_func_end sub_80C255C
-
- thumb_func_start sub_80C25A4
-sub_80C25A4: @ 80C25A4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080C25B8 @ =sub_80C89DC
- ldr r2, _080C25BC @ =sub_80C25C0
- bl SetTaskFuncWithFollowupFunc
- pop {r0}
- bx r0
- .align 2, 0
-_080C25B8: .4byte sub_80C89DC
-_080C25BC: .4byte sub_80C25C0
- thumb_func_end sub_80C25A4
-
- thumb_func_start sub_80C25C0
-sub_80C25C0: @ 80C25C0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _080C25EC
- adds r0, r4, 0
- bl DestroyTask
- ldr r2, _080C25F4 @ =gTasks
- ldr r0, _080C25F8 @ =gSharedMem + 0x18000
- ldrb r1, [r0, 0x2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, _080C25FC @ =sub_80C2600
- str r1, [r0]
- bl sub_80C3764
-_080C25EC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C25F4: .4byte gTasks
-_080C25F8: .4byte gSharedMem + 0x18000
-_080C25FC: .4byte sub_80C2600
- thumb_func_end sub_80C25C0
-
- thumb_func_start sub_80C2600
-sub_80C2600: @ 80C2600
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C2644 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r5, r1, r2
- ldrh r1, [r5, 0x8]
- movs r2, 0x8
- ldrsh r0, [r5, r2]
- cmp r0, 0
- bne _080C2654
- ldr r0, _080C2648 @ =sub_80C2F64
- movs r1, 0x14
- bl CreateTask
- ldr r4, _080C264C @ =gContestText_AnnounceResults
- ldr r0, _080C2650 @ =gSharedMem + 0x18000
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_80C3158
- adds r0, r4, 0
- bl sub_80C34AC
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x88
- lsls r3, 3
- movs r1, 0x90
- movs r2, 0x78
- b _080C26A6
- .align 2, 0
-_080C2644: .4byte gTasks
-_080C2648: .4byte sub_80C2F64
-_080C264C: .4byte gContestText_AnnounceResults
-_080C2650: .4byte gSharedMem + 0x18000
-_080C2654:
- cmp r0, 0x1
- bne _080C2668
- ldr r0, _080C2664 @ =gSharedMem + 0x18000
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- bne _080C26D4
- b _080C267C
- .align 2, 0
-_080C2664: .4byte gSharedMem + 0x18000
-_080C2668:
- cmp r0, 0x2
- bne _080C2684
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x15
- bne _080C26D4
- movs r0, 0
-_080C267C:
- strh r0, [r5, 0xA]
- adds r0, r1, 0x1
- strh r0, [r5, 0x8]
- b _080C26D4
-_080C2684:
- cmp r0, 0x3
- bne _080C26C0
- ldr r4, _080C26B4 @ =gContestText_PreliminaryResults
- ldr r0, _080C26B8 @ =gSharedMem + 0x18000
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_80C3158
- adds r0, r4, 0
- bl sub_80C34AC
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080C26BC @ =0x0000ffff
- movs r3, 0x88
- lsls r3, 3
- movs r1, 0x90
-_080C26A6:
- bl sub_80C34CC
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _080C26D4
- .align 2, 0
-_080C26B4: .4byte gContestText_PreliminaryResults
-_080C26B8: .4byte gSharedMem + 0x18000
-_080C26BC: .4byte 0x0000ffff
-_080C26C0:
- cmp r0, 0x4
- bne _080C26D4
- ldr r0, _080C26DC @ =gSharedMem + 0x18000
- ldrb r0, [r0, 0x4]
- cmp r0, 0x2
- bne _080C26D4
- movs r0, 0
- strh r0, [r5, 0x8]
- ldr r0, _080C26E0 @ =sub_80C26E4
- str r0, [r5]
-_080C26D4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C26DC: .4byte gSharedMem + 0x18000
-_080C26E0: .4byte sub_80C26E4
- thumb_func_end sub_80C2600
-
- thumb_func_start sub_80C26E4
-sub_80C26E4: @ 80C26E4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C2708 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080C2744
- cmp r0, 0x1
- bgt _080C270C
- cmp r0, 0
- beq _080C2712
- b _080C2766
- .align 2, 0
-_080C2708: .4byte gTasks
-_080C270C:
- cmp r0, 0x2
- beq _080C2754
- b _080C2766
-_080C2712:
- ldr r5, _080C2738 @ =gSharedMem + 0x18000
- ldrb r0, [r5, 0xA]
- cmp r0, 0
- bne _080C2766
- ldrh r1, [r4, 0xC]
- adds r0, r1, 0x1
- strh r0, [r4, 0xC]
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- bl sub_80C40D4
- ldrb r0, [r5, 0x14]
- cmp r0, 0
- bne _080C273C
- movs r0, 0x2
- strh r0, [r4, 0x8]
- b _080C2766
- .align 2, 0
-_080C2738: .4byte gSharedMem + 0x18000
-_080C273C:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080C2766
-_080C2744:
- ldr r0, _080C2750 @ =gSharedMem + 0x18000
- ldrb r0, [r0, 0x14]
- cmp r0, 0
- bne _080C2766
- strh r0, [r4, 0x8]
- b _080C2766
- .align 2, 0
-_080C2750: .4byte gSharedMem + 0x18000
-_080C2754:
- movs r0, 0x88
- lsls r0, 3
- bl sub_80C3520
- movs r0, 0
- strh r0, [r4, 0x8]
- strh r0, [r4, 0xC]
- ldr r0, _080C276C @ =sub_80C2770
- str r0, [r4]
-_080C2766:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C276C: .4byte sub_80C2770
- thumb_func_end sub_80C26E4
-
- thumb_func_start sub_80C2770
-sub_80C2770: @ 80C2770
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- adds r4, r2, 0
- ldr r5, _080C27BC @ =gSharedMem + 0x18000
- ldrb r3, [r5, 0x4]
- cmp r3, 0
- bne _080C27CC
- ldr r1, _080C27C0 @ =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0, r1
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x15
- bne _080C27DE
- strh r3, [r1, 0xA]
- ldr r4, _080C27C4 @ =gContestText_Round2Results
- ldrb r1, [r5]
- adds r0, r4, 0
- bl sub_80C3158
- adds r0, r4, 0
- bl sub_80C34AC
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080C27C8 @ =0x0000ffff
- movs r3, 0x88
- lsls r3, 3
- movs r1, 0x90
- bl sub_80C34CC
- b _080C27DE
- .align 2, 0
-_080C27BC: .4byte gSharedMem + 0x18000
-_080C27C0: .4byte gTasks
-_080C27C4: .4byte gContestText_Round2Results
-_080C27C8: .4byte 0x0000ffff
-_080C27CC:
- cmp r3, 0x2
- bne _080C27DE
- ldr r0, _080C27E4 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080C27E8 @ =sub_80C27EC
- str r0, [r1]
-_080C27DE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C27E4: .4byte gTasks
-_080C27E8: .4byte sub_80C27EC
- thumb_func_end sub_80C2770
-
- thumb_func_start sub_80C27EC
-sub_80C27EC: @ 80C27EC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C2810 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080C284C
- cmp r0, 0x1
- bgt _080C2814
- cmp r0, 0
- beq _080C281A
- b _080C286C
- .align 2, 0
-_080C2810: .4byte gTasks
-_080C2814:
- cmp r0, 0x2
- beq _080C285C
- b _080C286C
-_080C281A:
- ldr r5, _080C2840 @ =gSharedMem + 0x18000
- ldrb r0, [r5, 0xA]
- cmp r0, 0
- bne _080C286C
- ldrh r1, [r4, 0xC]
- adds r0, r1, 0x1
- strh r0, [r4, 0xC]
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x1
- bl sub_80C40D4
- ldrb r0, [r5, 0x14]
- cmp r0, 0
- bne _080C2844
- movs r0, 0x2
- strh r0, [r4, 0x8]
- b _080C286C
- .align 2, 0
-_080C2840: .4byte gSharedMem + 0x18000
-_080C2844:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080C286C
-_080C284C:
- ldr r0, _080C2858 @ =gSharedMem + 0x18000
- ldrb r0, [r0, 0x14]
- cmp r0, 0
- bne _080C286C
- strh r0, [r4, 0x8]
- b _080C286C
- .align 2, 0
-_080C2858: .4byte gSharedMem + 0x18000
-_080C285C:
- movs r0, 0x88
- lsls r0, 3
- bl sub_80C3520
- movs r0, 0
- strh r0, [r4, 0x8]
- ldr r0, _080C2874 @ =sub_80C2878
- str r0, [r4]
-_080C286C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2874: .4byte sub_80C2878
- thumb_func_end sub_80C27EC
-
- thumb_func_start sub_80C2878
-sub_80C2878: @ 80C2878
- push {r4-r7,lr}
- sub sp, 0x64
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080C28A0 @ =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 _080C2896
- b _080C2A80
-_080C2896:
- lsls r0, 2
- ldr r1, _080C28A4 @ =_080C28A8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C28A0: .4byte gTasks
-_080C28A4: .4byte _080C28A8
- .align 2, 0
-_080C28A8:
- .4byte _080C28C0
- .4byte _080C28E0
- .4byte _080C28FE
- .4byte _080C2938
- .4byte _080C299C
- .4byte _080C2A70
-_080C28C0:
- ldr r0, _080C28DC @ =gSharedMem + 0x18000
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _080C28CA
- b _080C2A80
-_080C28CA:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r2
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _080C2A80
- .align 2, 0
-_080C28DC: .4byte gSharedMem + 0x18000
-_080C28E0:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r1, r0, r2
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- beq _080C28F8
- b _080C2A80
-_080C28F8:
- movs r0, 0
- strh r0, [r1, 0xA]
- b _080C2A4A
-_080C28FE:
- movs r4, 0
- lsls r6, r5, 2
- ldr r7, _080C292C @ =gTasks
-_080C2904:
- ldr r0, _080C2930 @ =sub_80C3A5C
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r7
- ldr r0, _080C2934 @ =gContestFinalStandings
- adds r0, r4, r0
- ldrb r0, [r0]
- strh r0, [r1, 0x8]
- strh r4, [r1, 0xA]
- adds r4, 0x1
- cmp r4, 0x3
- ble _080C2904
- b _080C2A42
- .align 2, 0
-_080C292C: .4byte gTasks
-_080C2930: .4byte sub_80C3A5C
-_080C2934: .4byte gContestFinalStandings
-_080C2938:
- ldr r0, _080C2990 @ =gSharedMem + 0x18000
- ldrb r0, [r0, 0x5]
- cmp r0, 0x4
- beq _080C2942
- b _080C2A80
-_080C2942:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r2
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- beq _080C295A
- b _080C2A80
-_080C295A:
- movs r0, 0
- strh r0, [r4, 0xA]
- ldr r0, _080C2994 @ =sub_80C3B30
- movs r1, 0xA
- bl CreateTask
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r4, 0
- ldr r1, _080C2998 @ =gContestFinalStandings
- ldrb r0, [r1]
- cmp r0, 0
- beq _080C2984
-_080C2976:
- adds r4, 0x1
- cmp r4, 0x3
- bgt _080C2984
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080C2976
-_080C2984:
- lsls r0, r4, 24
- lsrs r0, 24
- movs r1, 0xE
- bl sub_80C3E60
- b _080C2A80
- .align 2, 0
-_080C2990: .4byte gSharedMem + 0x18000
-_080C2994: .4byte sub_80C3B30
-_080C2998: .4byte gContestFinalStandings
-_080C299C:
- lsls r1, r5, 2
- adds r0, r1, r5
- lsls r0, 3
- adds r2, r0, r2
- ldrh r0, [r2, 0xA]
- adds r0, 0x1
- strh r0, [r2, 0xA]
- lsls r0, 16
- asrs r0, 16
- adds r6, r1, 0
- cmp r0, 0x15
- bne _080C2A80
- movs r0, 0
- strh r0, [r2, 0xA]
- movs r4, 0
- ldr r2, _080C29F4 @ =gContestFinalStandings
- ldrb r0, [r2]
- ldr r1, _080C29F8 @ =gIsLinkContest
- ldr r3, _080C29FC @ =gStringVar1
- cmp r0, 0
- beq _080C29D4
-_080C29C6:
- adds r4, 0x1
- cmp r4, 0x3
- bgt _080C29D4
- adds r0, r4, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080C29C6
-_080C29D4:
- ldrb r1, [r1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080C2A04
- lsls r1, r4, 3
- subs r1, r4
- lsls r1, 2
- ldr r0, _080C2A00 @ =gLinkPlayers + 0x8
- adds r1, r0
- adds r0, r3, 0
- bl StringCopy
- lsls r4, 6
- b _080C2A10
- .align 2, 0
-_080C29F4: .4byte gContestFinalStandings
-_080C29F8: .4byte gIsLinkContest
-_080C29FC: .4byte gStringVar1
-_080C2A00: .4byte gLinkPlayers + 0x8
-_080C2A04:
- lsls r4, 6
- ldr r1, _080C2A54 @ =gUnknown_0203857D
- adds r1, r4, r1
- adds r0, r3, 0
- bl StringCopy
-_080C2A10:
- ldr r0, _080C2A58 @ =gStringVar2
- ldr r1, _080C2A5C @ =gContestMons + 0x2
- adds r1, r4, r1
- bl StringCopy
- ldr r1, _080C2A60 @ =gContestText_PokeWon
- mov r0, sp
- bl StringExpandPlaceholders
- ldr r0, _080C2A64 @ =gSharedMem + 0x18000
- ldrb r1, [r0]
- mov r0, sp
- bl sub_80C3158
- mov r0, sp
- bl sub_80C34AC
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080C2A68 @ =0x0000ffff
- movs r3, 0x88
- lsls r3, 3
- movs r1, 0x90
- bl sub_80C34CC
-_080C2A42:
- ldr r0, _080C2A6C @ =gTasks
- adds r1, r6, r5
- lsls r1, 3
- adds r1, r0
-_080C2A4A:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _080C2A80
- .align 2, 0
-_080C2A54: .4byte gUnknown_0203857D
-_080C2A58: .4byte gStringVar2
-_080C2A5C: .4byte gContestMons + 0x2
-_080C2A60: .4byte gContestText_PokeWon
-_080C2A64: .4byte gSharedMem + 0x18000
-_080C2A68: .4byte 0x0000ffff
-_080C2A6C: .4byte gTasks
-_080C2A70:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x8]
- ldr r1, _080C2A88 @ =sub_80C2A8C
- str r1, [r0]
-_080C2A80:
- add sp, 0x64
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2A88: .4byte sub_80C2A8C
- thumb_func_end sub_80C2878
-
- thumb_func_start sub_80C2A8C
-sub_80C2A8C: @ 80C2A8C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, _080C2ABC @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r4, r1, 0
- cmp r0, 0x5
- bls _080C2AB2
- b _080C2D04
-_080C2AB2:
- lsls r0, 2
- ldr r1, _080C2AC0 @ =_080C2AC4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C2ABC: .4byte gTasks
-_080C2AC0: .4byte _080C2AC4
- .align 2, 0
-_080C2AC4:
- .4byte _080C2ADC
- .4byte _080C2C04
- .4byte _080C2C54
- .4byte _080C2C64
- .4byte _080C2CA8
- .4byte _080C2CE8
-_080C2ADC:
- ldr r1, _080C2BC4 @ =gBattle_WIN0H
- movs r0, 0xF0
- strh r0, [r1]
- ldr r1, _080C2BC8 @ =gBattle_WIN0V
- ldr r3, _080C2BCC @ =0x00005050
- adds r0, r3, 0
- strh r0, [r1]
- movs r1, 0
- ldr r3, _080C2BD0 @ =gContestFinalStandings
- ldrb r0, [r3]
- lsls r4, r7, 2
- mov r10, r4
- ldr r2, _080C2BD4 @ =gContestMons
- ldr r5, _080C2BD8 @ =gMonFrontPicTable
- mov r12, r5
- ldr r4, _080C2BDC @ =gMonFrontPicCoords
- mov r8, r4
- ldr r5, _080C2BE0 @ =gUnknown_081FAF4C
- mov r9, r5
- cmp r0, 0
- beq _080C2B14
-_080C2B06:
- adds r1, 0x1
- cmp r1, 0x3
- bgt _080C2B14
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _080C2B06
-_080C2B14:
- lsls r1, 6
- adds r0, r1, r2
- ldrh r6, [r0]
- adds r0, r2, 0
- adds r0, 0x38
- adds r0, r1, r0
- ldr r4, [r0]
- adds r0, r2, 0
- adds r0, 0x3C
- adds r1, r0
- ldr r1, [r1]
- str r1, [sp, 0xC]
- lsls r0, r6, 3
- add r0, r12
- lsls r2, r6, 2
- add r2, r8
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- mov r5, r9
- ldr r3, [r5, 0x4]
- str r3, [sp]
- str r6, [sp, 0x4]
- str r4, [sp, 0x8]
- ldr r3, _080C2BE4 @ =gSharedMem
- bl HandleLoadSpecialPokePic
- adds r0, r6, 0
- ldr r1, [sp, 0xC]
- adds r2, r4, 0
- bl GetMonSpritePalStructFromOtIdPersonality
- adds r4, r0, 0
- bl LoadCompressedObjectPalette
- adds r0, r6, 0
- movs r1, 0x1
- bl GetMonSpriteTemplate_803C56C
- ldr r0, _080C2BE8 @ =gUnknown_02024E8C
- ldrh r1, [r4, 0x4]
- strh r1, [r0, 0x2]
- movs r1, 0x88
- lsls r1, 1
- movs r2, 0x50
- movs r3, 0xA
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _080C2BEC @ =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r3, r2, r5
- strh r6, [r3, 0x30]
- ldrb r4, [r3, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r4
- strb r1, [r3, 0x5]
- adds r5, 0x1C
- adds r2, r5
- ldr r1, _080C2BF0 @ =sub_80C3C44
- str r1, [r2]
- ldr r2, _080C2BE4 @ =gSharedMem
- movs r3, 0xC0
- lsls r3, 9
- adds r1, r2, r3
- strb r0, [r1, 0x8]
- ldr r0, _080C2BF4 @ =gUnknown_083D17CC
- bl LoadCompressedObjectPic
- ldr r0, _080C2BF8 @ =gUnknown_083D17D4
- bl LoadCompressedObjectPalette
- ldr r0, _080C2BFC @ =sub_80C3D04
- movs r1, 0xA
- bl CreateTask
- ldr r0, _080C2C00 @ =gTasks
- mov r4, r10
- adds r1, r4, r7
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _080C2D04
- .align 2, 0
-_080C2BC4: .4byte gBattle_WIN0H
-_080C2BC8: .4byte gBattle_WIN0V
-_080C2BCC: .4byte 0x00005050
-_080C2BD0: .4byte gContestFinalStandings
-_080C2BD4: .4byte gContestMons
-_080C2BD8: .4byte gMonFrontPicTable
-_080C2BDC: .4byte gMonFrontPicCoords
-_080C2BE0: .4byte gUnknown_081FAF4C
-_080C2BE4: .4byte gSharedMem
-_080C2BE8: .4byte gUnknown_02024E8C
-_080C2BEC: .4byte gSprites
-_080C2BF0: .4byte sub_80C3C44
-_080C2BF4: .4byte gUnknown_083D17CC
-_080C2BF8: .4byte gUnknown_083D17D4
-_080C2BFC: .4byte sub_80C3D04
-_080C2C00: .4byte gTasks
-_080C2C04:
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r4, r0, r4
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _080C2D04
- movs r0, 0
- strh r0, [r4, 0xE]
- ldrh r0, [r4, 0xC]
- adds r0, 0x2
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x20
- ble _080C2C30
- movs r0, 0x20
- strh r0, [r4, 0xC]
-_080C2C30:
- ldrb r2, [r4, 0xC]
- ldr r3, _080C2C50 @ =gBattle_WIN0V
- movs r0, 0x50
- subs r0, r2
- lsls r0, 8
- adds r1, r2, 0
- adds r1, 0x50
- orrs r0, r1
- strh r0, [r3]
- cmp r2, 0x20
- bne _080C2D04
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080C2D04
- .align 2, 0
-_080C2C50: .4byte gBattle_WIN0V
-_080C2C54:
- ldr r0, _080C2C60 @ =gSharedMem + 0x18000
- ldrb r0, [r0, 0x6]
- cmp r0, 0x1
- bne _080C2D04
- b _080C2CD0
- .align 2, 0
-_080C2C60: .4byte gSharedMem + 0x18000
-_080C2C64:
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r3, r0, r4
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- strh r0, [r3, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x79
- bne _080C2D04
- movs r0, 0
- strh r0, [r3, 0xA]
- ldr r2, _080C2C9C @ =gSprites
- ldr r0, _080C2CA0 @ =gSharedMem + 0x18000
- ldrb r1, [r0, 0x8]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _080C2CA4 @ =sub_80C3CB8
- str r1, [r0]
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
- b _080C2D04
- .align 2, 0
-_080C2C9C: .4byte gSprites
-_080C2CA0: .4byte gSharedMem + 0x18000
-_080C2CA4: .4byte sub_80C3CB8
-_080C2CA8:
- ldr r0, _080C2CE0 @ =gSharedMem + 0x18000
- ldrb r0, [r0, 0x6]
- cmp r0, 0x2
- bne _080C2D04
- ldr r3, _080C2CE4 @ =gBattle_WIN0V
- ldrh r0, [r3]
- lsrs r2, r0, 8
- adds r0, r2, 0x2
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x50
- bls _080C2CC2
- movs r2, 0x50
-_080C2CC2:
- lsls r1, r2, 8
- movs r0, 0xA0
- subs r0, r2
- orrs r1, r0
- strh r1, [r3]
- cmp r2, 0x50
- bne _080C2D04
-_080C2CD0:
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r4
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _080C2D04
- .align 2, 0
-_080C2CE0: .4byte gSharedMem + 0x18000
-_080C2CE4: .4byte gBattle_WIN0V
-_080C2CE8:
- ldr r2, _080C2D14 @ =gSharedMem + 0x18000
- ldrb r0, [r2, 0x6]
- cmp r0, 0x2
- bne _080C2D04
- movs r1, 0
- movs r0, 0x1
- strb r0, [r2, 0x9]
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r4
- strh r1, [r0, 0x8]
- ldr r1, _080C2D18 @ =sub_80C2D1C
- str r1, [r0]
-_080C2D04:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2D14: .4byte gSharedMem + 0x18000
-_080C2D18: .4byte sub_80C2D1C
- thumb_func_end sub_80C2A8C
-
- thumb_func_start sub_80C2D1C
-sub_80C2D1C: @ 80C2D1C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, _080C2D6C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r2, 0x1
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _080C2D66
- ldr r0, _080C2D70 @ =gIsLinkContest
- ldrb r1, [r0]
- adds r0, r2, 0
- ands r0, r1
- lsls r6, r7, 2
- cmp r0, 0
- bne _080C2D5A
- ldr r5, _080C2D74 @ =gContestMons
- movs r4, 0x3
-_080C2D42:
- ldrh r0, [r5]
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2
- bl GetSetPokedexFlag
- adds r5, 0x40
- subs r4, 0x1
- cmp r4, 0
- bge _080C2D42
-_080C2D5A:
- ldr r0, _080C2D78 @ =gTasks
- adds r1, r6, r7
- lsls r1, 3
- adds r1, r0
- ldr r0, _080C2D7C @ =sub_80C2D80
- str r0, [r1]
-_080C2D66:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2D6C: .4byte gMain
-_080C2D70: .4byte gIsLinkContest
-_080C2D74: .4byte gContestMons
-_080C2D78: .4byte gTasks
-_080C2D7C: .4byte sub_80C2D80
- thumb_func_end sub_80C2D1C
-
- thumb_func_start sub_80C2D80
-sub_80C2D80: @ 80C2D80
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080C2DAC @ =gIsLinkContest
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080C2DBC
- ldr r0, _080C2DB0 @ =gOtherText_LinkStandby
- bl sub_80C3698
- bl sub_800832C
- ldr r1, _080C2DB4 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080C2DB8 @ =sub_80C2DD8
- str r1, [r0]
- b _080C2DCA
- .align 2, 0
-_080C2DAC: .4byte gIsLinkContest
-_080C2DB0: .4byte gOtherText_LinkStandby
-_080C2DB4: .4byte gTasks
-_080C2DB8: .4byte sub_80C2DD8
-_080C2DBC:
- ldr r0, _080C2DD0 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080C2DD4 @ =sub_80C2E14
- str r0, [r1]
-_080C2DCA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2DD0: .4byte gTasks
-_080C2DD4: .4byte sub_80C2E14
- thumb_func_end sub_80C2D80
-
- thumb_func_start sub_80C2DD8
-sub_80C2DD8: @ 80C2DD8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080C2E04 @ =gReceivedRemoteLinkPlayers
- ldrb r1, [r0]
- cmp r1, 0
- bne _080C2DFC
- ldr r0, _080C2E08 @ =gIsLinkContest
- strb r1, [r0]
- bl sub_80C3764
- ldr r1, _080C2E0C @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080C2E10 @ =sub_80C2E14
- str r1, [r0]
-_080C2DFC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2E04: .4byte gReceivedRemoteLinkPlayers
-_080C2E08: .4byte gIsLinkContest
-_080C2E0C: .4byte gTasks
-_080C2E10: .4byte sub_80C2E14
- thumb_func_end sub_80C2DD8
-
- thumb_func_start sub_80C2E14
-sub_80C2E14: @ 80C2E14
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r1, _080C2E80 @ =gContestFinalStandings
- ldr r0, _080C2E84 @ =gContestPlayerMonIndex
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80BE284
- movs r0, 0x2
- bl sub_810FB10
- ldr r0, _080C2E88 @ =gSpecialVar_ContestRank
- ldrb r0, [r0]
- bl Contest_SaveWinner
- movs r0, 0xFE
- bl Contest_SaveWinner
- ldr r4, _080C2E8C @ =gSharedMem
- ldr r0, _080C2E90 @ =0x00015ddf
- adds r1, r4, r0
- movs r6, 0
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0xFE
- movs r1, 0
- bl sub_80B2C4C
- ldr r1, _080C2E94 @ =0x00015dde
- adds r4, r1
- strb r0, [r4]
- str r6, [sp]
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginHardwarePaletteFade
- ldr r1, _080C2E98 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _080C2E9C @ =sub_80C2EA0
- str r1, [r0]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2E80: .4byte gContestFinalStandings
-_080C2E84: .4byte gContestPlayerMonIndex
-_080C2E88: .4byte gSpecialVar_ContestRank
-_080C2E8C: .4byte gSharedMem
-_080C2E90: .4byte 0x00015ddf
-_080C2E94: .4byte 0x00015dde
-_080C2E98: .4byte gTasks
-_080C2E9C: .4byte sub_80C2EA0
- thumb_func_end sub_80C2E14
-
- thumb_func_start sub_80C2EA0
-sub_80C2EA0: @ 80C2EA0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- adds r5, r2, 0
- ldr r0, _080C2ED8 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0
- bne _080C2F18
- ldr r1, _080C2EDC @ =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080C2EE8
- ldr r0, _080C2EE0 @ =gSharedMem + 0x18000
- ldrb r0, [r0, 0x3]
- bl DestroyTask
- ldr r0, _080C2EE4 @ =0x0000ffff
- b _080C2EEE
- .align 2, 0
-_080C2ED8: .4byte gPaletteFade
-_080C2EDC: .4byte gTasks
-_080C2EE0: .4byte gSharedMem + 0x18000
-_080C2EE4: .4byte 0x0000ffff
-_080C2EE8:
- cmp r0, 0x1
- bne _080C2F04
- ldr r0, _080C2F00 @ =0xffff0000
-_080C2EEE:
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- b _080C2F18
- .align 2, 0
-_080C2F00: .4byte 0xffff0000
-_080C2F04:
- ldr r0, _080C2F20 @ =REG_BLDCNT
- strh r3, [r0]
- adds r0, 0x4
- strh r3, [r0]
- adds r0, r5, 0
- bl DestroyTask
- ldr r0, _080C2F24 @ =c2_exit_to_overworld_1_continue_scripts_restart_music
- bl SetMainCallback2
-_080C2F18:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2F20: .4byte REG_BLDCNT
-_080C2F24: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
- thumb_func_end sub_80C2EA0
-
- thumb_func_start sub_80C2F28
-sub_80C2F28: @ 80C2F28
- push {r4,r5,lr}
- ldr r2, _080C2F5C @ =gUnknown_030041B0
- ldrh r3, [r2]
- adds r0, r3, 0x2
- strh r0, [r2]
- ldr r4, _080C2F60 @ =gUnknown_030041B8
- ldrh r5, [r4]
- adds r1, r5, 0x1
- strh r1, [r4]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xFF
- bls _080C2F48
- adds r0, r3, 0
- subs r0, 0xFD
- strh r0, [r2]
-_080C2F48:
- lsls r0, r1, 16
- lsrs r0, 16
- cmp r0, 0xFF
- bls _080C2F56
- adds r0, r5, 0
- subs r0, 0xFE
- strh r0, [r4]
-_080C2F56:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2F5C: .4byte gUnknown_030041B0
-_080C2F60: .4byte gUnknown_030041B8
- thumb_func_end sub_80C2F28
-
- thumb_func_start sub_80C2F64
-sub_80C2F64: @ 80C2F64
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080C2F94 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r2, r0, r1
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bne _080C2FE6
- movs r0, 0
- strh r0, [r2, 0x8]
- movs r3, 0xC
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bne _080C2F98
- ldrh r0, [r2, 0xA]
- adds r0, 0x1
- b _080C2F9C
- .align 2, 0
-_080C2F94: .4byte gTasks
-_080C2F98:
- ldrh r0, [r2, 0xA]
- subs r0, 0x1
-_080C2F9C:
- strh r0, [r2, 0xA]
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r1, r0, r1
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- cmp r0, 0x10
- bne _080C2FB2
- movs r0, 0x1
- b _080C2FB6
-_080C2FB2:
- cmp r0, 0
- bne _080C2FB8
-_080C2FB6:
- strh r0, [r1, 0xC]
-_080C2FB8:
- ldr r0, _080C3000 @ =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- ldrb r2, [r4, 0xA]
- ldr r3, _080C3004 @ =0x00002ede
- movs r0, 0x6B
- movs r1, 0x1
- bl BlendPalette
- ldrb r2, [r4, 0xA]
- ldr r3, _080C3008 @ =0x00007fff
- movs r0, 0x68
- movs r1, 0x1
- bl BlendPalette
- ldrb r2, [r4, 0xA]
- ldr r3, _080C300C @ =0x000077be
- movs r0, 0x6E
- movs r1, 0x1
- bl BlendPalette
-_080C2FE6:
- ldr r1, _080C3000 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r3, 0xA
- ldrsh r4, [r0, r3]
- cmp r4, 0
- bne _080C3014
- ldr r0, _080C3010 @ =gSharedMem + 0x18000
- strb r4, [r0, 0xA]
- b _080C301A
- .align 2, 0
-_080C3000: .4byte gTasks
-_080C3004: .4byte 0x00002ede
-_080C3008: .4byte 0x00007fff
-_080C300C: .4byte 0x000077be
-_080C3010: .4byte gSharedMem + 0x18000
-_080C3014:
- ldr r1, _080C3020 @ =gSharedMem + 0x18000
- movs r0, 0x1
- strb r0, [r1, 0xA]
-_080C301A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3020: .4byte gSharedMem + 0x18000
- thumb_func_end sub_80C2F64
-
- thumb_func_start sub_80C3024
-sub_80C3024: @ 80C3024
- push {r4-r6,lr}
- ldr r6, [sp, 0x10]
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- lsls r3, 24
- cmp r3, 0
- beq _080C30B0
- adds r1, r6, 0
- bl GetMonIconPtr
- lsls r1, r5, 9
- adds r0, r1
- adds r0, 0x80
- lsls r1, r4, 9
- ldr r2, _080C30A0 @ =0x06004000
- adds r1, r2
- ldr r2, _080C30A4 @ =0x040000d4
- str r0, [r2]
- str r1, [r2, 0x4]
- ldr r0, _080C30A8 @ =0x84000060
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- adds r1, r4, 0
- adds r1, 0xA
- lsls r1, 28
- lsls r0, r4, 20
- movs r2, 0x80
- lsls r2, 18
- adds r0, r2
- orrs r0, r1
- lsrs r1, r0, 16
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 21
- movs r2, 0x83
- lsls r2, 16
- adds r0, r2
- lsrs r5, r0, 16
- movs r2, 0
- ldr r6, _080C30AC @ =0x0600c000
-_080C307C:
- lsls r0, r2, 5
- adds r4, r2, 0x1
- adds r0, r5
- movs r3, 0x3
- lsls r0, 1
- adds r2, r0, r6
-_080C3088:
- strh r1, [r2]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- adds r2, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _080C3088
- adds r2, r4, 0
- cmp r2, 0x2
- ble _080C307C
- b _080C30CA
- .align 2, 0
-_080C30A0: .4byte 0x06004000
-_080C30A4: .4byte 0x040000d4
-_080C30A8: .4byte 0x84000060
-_080C30AC: .4byte 0x0600c000
-_080C30B0:
- adds r1, r6, 0
- bl GetMonIconPtr
- lsls r1, r5, 9
- adds r0, r1
- adds r0, 0x80
- lsls r1, r4, 9
- ldr r2, _080C30D0 @ =0x06004000
- adds r1, r2
- movs r2, 0xC0
- lsls r2, 1
- bl RequestSpriteCopy
-_080C30CA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C30D0: .4byte 0x06004000
- thumb_func_end sub_80C3024
-
- thumb_func_start sub_80C30D4
-sub_80C30D4: @ 80C30D4
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- movs r5, 0
- ldr r4, _080C3108 @ =gContestMons
-_080C30E4:
- ldrh r0, [r4]
- lsls r1, r5, 24
- lsrs r1, 24
- ldr r2, [r4, 0x38]
- str r2, [sp]
- adds r2, r7, 0
- adds r3, r6, 0
- bl sub_80C3024
- adds r4, 0x40
- adds r5, 0x1
- cmp r5, 0x3
- ble _080C30E4
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3108: .4byte gContestMons
- thumb_func_end sub_80C30D4
-
- thumb_func_start sub_80C310C
-sub_80C310C: @ 80C310C
- push {r4-r6,lr}
- movs r4, 0
- ldr r6, _080C314C @ =gMonIconPaletteIndices
- movs r5, 0xA0
- lsls r5, 16
-_080C3116:
- ldr r1, _080C3150 @ =gContestMons
- lsls r0, r4, 6
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0
- bl mon_icon_convert_unown_species_id
- lsls r0, 16
- lsrs r0, 16
- adds r0, r6
- ldrb r0, [r0]
- lsls r0, 5
- ldr r1, _080C3154 @ =gMonIconPalettes
- adds r0, r1
- lsrs r1, r5, 16
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0x80
- lsls r0, 13
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0x3
- ble _080C3116
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C314C: .4byte gMonIconPaletteIndices
-_080C3150: .4byte gContestMons
-_080C3154: .4byte gMonIconPalettes
- thumb_func_end sub_80C310C
-
- thumb_func_start sub_80C3158
-sub_80C3158: @ 80C3158
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- mov r9, r0
- lsls r1, 24
- lsrs r1, 24
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- ldr r3, _080C32C0 @ =gSprites
- adds r2, r3
- mov r1, sp
- ldrh r0, [r2, 0x4]
- lsls r0, 22
- lsrs r0, 22
- strh r0, [r1]
- mov r4, sp
- movs r0, 0x2E
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x4]
- lsls r0, 22
- lsrs r0, 22
- strh r0, [r4, 0x2]
- movs r0, 0x30
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x4]
- lsls r0, 22
- lsrs r0, 22
- strh r0, [r4, 0x4]
- movs r0, 0x32
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x4]
- lsls r0, 22
- lsrs r0, 22
- strh r0, [r4, 0x6]
- ldr r1, _080C32C4 @ =gWindowConfig_81E7278
- mov r8, r1
- ldr r7, _080C32C8 @ =0x06010000
- ldr r2, _080C32CC @ =0x040000d4
- ldr r6, _080C32D0 @ =0x85000100
- mov r1, sp
- movs r5, 0
- add r3, sp, 0x8
- movs r4, 0x3
-_080C31CE:
- ldrh r0, [r1]
- lsls r0, 5
- adds r0, r7
- str r5, [sp, 0x8]
- str r3, [r2]
- str r0, [r2, 0x4]
- str r6, [r2, 0x8]
- ldr r0, [r2, 0x8]
- adds r1, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _080C31CE
- mov r0, r8
- mov r1, r9
- bl GetStringWidthGivenWindowConfig
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, _080C32D4 @ =gDisplayedStringBattle
- ldr r1, _080C32D8 @ =gUnknown_083D17E2
- adds r0, r2, 0
- bl StringCopy
- adds r2, r0, 0
- mvns r0, r5
- adds r1, r0, 0x1
- movs r0, 0x7
- ands r1, r0
- cmp r1, 0
- beq _080C3218
- movs r0, 0xFC
- strb r0, [r2]
- movs r0, 0x11
- strb r0, [r2, 0x1]
- lsrs r0, r1, 1
- strb r0, [r2, 0x2]
- adds r2, 0x3
-_080C3218:
- adds r6, r5, 0x7
- movs r1, 0x8
- negs r1, r1
- adds r0, r1, 0
- ands r6, r0
- lsls r6, 24
- lsrs r5, r6, 24
- adds r0, r2, 0
- mov r1, r9
- bl StringCopy
- adds r2, r0, 0
- movs r0, 0xFC
- strb r0, [r2]
- movs r0, 0x13
- strb r0, [r2, 0x1]
- strb r5, [r2, 0x2]
- movs r0, 0xFF
- strb r0, [r2, 0x3]
- ldr r0, _080C32DC @ =gSharedMem + 0x18068
- mov r10, r0
- ldr r1, _080C32D4 @ =gDisplayedStringBattle
- bl sub_80034D4
- mov r0, sp
- ldrh r4, [r0]
- lsls r4, 5
- ldr r1, _080C32C8 @ =0x06010000
- adds r7, r4, r1
- ldr r0, _080C32E0 @ =gUnknown_083D1624
- mov r9, r0
- ldr r1, _080C32E4 @ =REG_BG0CNT
- mov r8, r1
- adds r1, r7, 0
- mov r2, r8
- bl CpuSet
- mov r5, r9
- adds r5, 0x80
- ldr r0, _080C32E8 @ =0x06010100
- adds r1, r4, r0
- adds r0, r5, 0
- mov r2, r8
- bl CpuSet
- ldr r0, _080C32EC @ =0x06010200
- adds r1, r4, r0
- adds r0, r5, 0
- mov r2, r8
- bl CpuSet
- mov r0, r9
- adds r0, 0x40
- ldr r1, _080C32F0 @ =0x06010300
- adds r4, r1
- adds r1, r4, 0
- mov r2, r8
- bl CpuSet
- lsrs r5, r6, 27
- movs r4, 0
- cmp r4, r5
- bgt _080C3382
- mov r6, sp
- mov r0, r10
- adds r0, 0x20
- str r0, [sp, 0xC]
- mov r1, r10
- str r1, [sp, 0x10]
- ldr r0, _080C32F4 @ =0x0600fd20
- str r0, [sp, 0x14]
- ldr r1, _080C32F8 @ =0x0600fe20
- str r1, [sp, 0x18]
- ldr r0, _080C32FC @ =0x0600ff20
- mov r10, r0
- ldr r1, _080C3300 @ =0x06010020
- mov r9, r1
-_080C32B2:
- cmp r4, 0x6
- bgt _080C3304
- ldrh r0, [r6]
- lsls r0, 5
- mov r1, r9
- b _080C3322
- .align 2, 0
-_080C32C0: .4byte gSprites
-_080C32C4: .4byte gWindowConfig_81E7278
-_080C32C8: .4byte 0x06010000
-_080C32CC: .4byte 0x040000d4
-_080C32D0: .4byte 0x85000100
-_080C32D4: .4byte gDisplayedStringBattle
-_080C32D8: .4byte gUnknown_083D17E2
-_080C32DC: .4byte gSharedMem + 0x18068
-_080C32E0: .4byte gUnknown_083D1624
-_080C32E4: .4byte REG_BG0CNT
-_080C32E8: .4byte 0x06010100
-_080C32EC: .4byte 0x06010200
-_080C32F0: .4byte 0x06010300
-_080C32F4: .4byte 0x0600fd20
-_080C32F8: .4byte 0x0600fe20
-_080C32FC: .4byte 0x0600ff20
-_080C3300: .4byte 0x06010020
-_080C3304:
- cmp r4, 0xE
- bgt _080C3310
- ldrh r0, [r6, 0x2]
- lsls r0, 5
- mov r1, r10
- b _080C3322
-_080C3310:
- cmp r4, 0x16
- bgt _080C331C
- ldrh r0, [r6, 0x4]
- lsls r0, 5
- ldr r1, [sp, 0x18]
- b _080C3322
-_080C331C:
- ldrh r0, [r6, 0x6]
- lsls r0, 5
- ldr r1, [sp, 0x14]
-_080C3322:
- adds r7, r0, r1
- cmp r4, r5
- beq _080C3382
- ldr r0, _080C33D0 @ =gUnknown_083D16E4
- adds r1, r7, 0
- mov r2, r8
- bl CpuSet
- movs r0, 0xC0
- lsls r0, 2
- adds r1, r7, r0
- ldr r0, _080C33D0 @ =gUnknown_083D16E4
- adds r0, 0x20
- mov r2, r8
- bl CpuSet
- movs r0, 0x80
- lsls r0, 1
- adds r1, r7, r0
- ldr r0, [sp, 0x10]
- mov r2, r8
- bl CpuSet
- movs r0, 0x80
- lsls r0, 2
- adds r1, r7, r0
- ldr r0, [sp, 0xC]
- mov r2, r8
- bl CpuSet
- ldr r1, [sp, 0xC]
- adds r1, 0x40
- str r1, [sp, 0xC]
- ldr r0, [sp, 0x10]
- adds r0, 0x40
- str r0, [sp, 0x10]
- ldr r1, [sp, 0x14]
- adds r1, 0x20
- str r1, [sp, 0x14]
- ldr r0, [sp, 0x18]
- adds r0, 0x20
- str r0, [sp, 0x18]
- movs r1, 0x20
- add r10, r1
- add r9, r1
- adds r4, 0x1
- cmp r4, r5
- ble _080C32B2
-_080C3382:
- ldr r4, _080C33D4 @ =gUnknown_083D1644
- ldr r5, _080C33D8 @ =REG_BG0CNT
- adds r0, r4, 0
- adds r1, r7, 0
- adds r2, r5, 0
- bl CpuSet
- adds r6, r4, 0
- adds r6, 0x80
- movs r0, 0x80
- lsls r0, 1
- adds r1, r7, r0
- adds r0, r6, 0
- adds r2, r5, 0
- bl CpuSet
- movs r0, 0x80
- lsls r0, 2
- adds r1, r7, r0
- adds r0, r6, 0
- adds r2, r5, 0
- bl CpuSet
- adds r4, 0x40
- movs r0, 0xC0
- lsls r0, 2
- adds r1, r7, r0
- adds r0, r4, 0
- adds r2, r5, 0
- bl CpuSet
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C33D0: .4byte gUnknown_083D16E4
-_080C33D4: .4byte gUnknown_083D1644
-_080C33D8: .4byte REG_BG0CNT
- thumb_func_end sub_80C3158
-
- thumb_func_start sub_80C33DC
-sub_80C33DC: @ 80C33DC
- push {r4-r6,lr}
- sub sp, 0x20
- mov r1, sp
- ldr r0, _080C3498 @ =gSpriteTemplate_83D174C
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- add r5, sp, 0x18
- ldr r6, _080C349C @ =gUnknown_083D1764
- movs r4, 0x7
-_080C33F2:
- adds r0, r6, 0
- bl LoadSpriteSheet
- adds r6, 0x8
- subs r4, 0x1
- cmp r4, 0
- bge _080C33F2
- ldr r0, _080C34A0 @ =gUnknown_083D17A4
- bl LoadSpritePalette
- movs r4, 0
- mov r6, sp
-_080C340A:
- mov r0, sp
- movs r1, 0x88
- lsls r1, 1
- movs r2, 0x90
- movs r3, 0xA
- bl CreateSprite
- adds r1, r5, r4
- strb r0, [r1]
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
- adds r4, 0x1
- cmp r4, 0x7
- ble _080C340A
- ldr r2, _080C34A4 @ =gSprites
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r5, 0x1]
- movs r3, 0
- strh r1, [r0, 0x2E]
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r5, 0x2]
- strh r1, [r0, 0x30]
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r5, 0x3]
- strh r1, [r0, 0x32]
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r5, 0x5]
- strh r1, [r0, 0x2E]
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r5, 0x6]
- strh r1, [r0, 0x30]
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r5, 0x7]
- strh r1, [r0, 0x32]
- ldr r1, _080C34A8 @ =gSharedMem + 0x18000
- ldrb r0, [r5]
- strb r0, [r1]
- strb r3, [r1, 0x4]
- ldrb r0, [r5, 0x4]
- strb r0, [r1, 0x1]
- bl sub_80C3764
- add sp, 0x20
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3498: .4byte gSpriteTemplate_83D174C
-_080C349C: .4byte gUnknown_083D1764
-_080C34A0: .4byte gUnknown_083D17A4
-_080C34A4: .4byte gSprites
-_080C34A8: .4byte gSharedMem + 0x18000
- thumb_func_end sub_80C33DC
-
- thumb_func_start sub_80C34AC
-sub_80C34AC: @ 80C34AC
- push {lr}
- bl StringLength
- lsls r0, 16
- lsrs r0, 16
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 25
- lsrs r1, 25
- movs r0, 0x70
- subs r0, r1
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_80C34AC
-
- thumb_func_start sub_80C34CC
-sub_80C34CC: @ 80C34CC
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r4, _080C3514 @ =gSharedMem + 0x18000
- mov r8, r4
- ldrb r5, [r4]
- lsls r4, r5, 4
- adds r4, r5
- lsls r4, 2
- ldr r5, _080C3518 @ =gSprites
- adds r4, r5
- movs r6, 0
- movs r5, 0x88
- lsls r5, 1
- strh r5, [r4, 0x20]
- strh r1, [r4, 0x22]
- strh r6, [r4, 0x24]
- strh r6, [r4, 0x26]
- lsls r0, 16
- asrs r0, 16
- adds r0, 0x20
- strh r0, [r4, 0x36]
- strh r2, [r4, 0x38]
- strh r3, [r4, 0x3A]
- strh r6, [r4, 0x3C]
- ldr r0, _080C351C @ =sub_80C3588
- str r0, [r4, 0x1C]
- movs r0, 0x1
- mov r1, r8
- strb r0, [r1, 0x4]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3514: .4byte gSharedMem + 0x18000
-_080C3518: .4byte gSprites
-_080C351C: .4byte sub_80C3588
- thumb_func_end sub_80C34CC
-
- thumb_func_start sub_80C3520
-sub_80C3520: @ 80C3520
- push {r4,r5,lr}
- ldr r4, _080C3558 @ =gSharedMem + 0x18000
- ldrb r2, [r4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- ldr r2, _080C355C @ =gSprites
- adds r1, r2
- ldrh r2, [r1, 0x24]
- ldrh r3, [r1, 0x20]
- adds r2, r3
- movs r3, 0
- strh r2, [r1, 0x20]
- ldrh r2, [r1, 0x26]
- ldrh r5, [r1, 0x22]
- adds r2, r5
- strh r2, [r1, 0x22]
- strh r3, [r1, 0x26]
- strh r3, [r1, 0x24]
- strh r0, [r1, 0x3A]
- strh r3, [r1, 0x3C]
- ldr r0, _080C3560 @ =sub_80C3630
- str r0, [r1, 0x1C]
- movs r0, 0x3
- strb r0, [r4, 0x4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3558: .4byte gSharedMem + 0x18000
-_080C355C: .4byte gSprites
-_080C3560: .4byte sub_80C3630
- thumb_func_end sub_80C3520
-
- thumb_func_start sub_80C3564
-sub_80C3564: @ 80C3564
- movs r3, 0
- movs r2, 0
- movs r1, 0x88
- lsls r1, 1
- strh r1, [r0, 0x20]
- movs r1, 0x90
- strh r1, [r0, 0x22]
- strh r2, [r0, 0x26]
- strh r2, [r0, 0x24]
- ldr r1, _080C3580 @ =SpriteCallbackDummy
- str r1, [r0, 0x1C]
- ldr r0, _080C3584 @ =gSharedMem + 0x18000
- strb r3, [r0, 0x4]
- bx lr
- .align 2, 0
-_080C3580: .4byte SpriteCallbackDummy
-_080C3584: .4byte gSharedMem + 0x18000
- thumb_func_end sub_80C3564
-
- thumb_func_start sub_80C3588
-sub_80C3588: @ 80C3588
- push {r4-r7,lr}
- adds r3, r0, 0
- ldrh r2, [r3, 0x3A]
- ldrh r0, [r3, 0x3C]
- adds r2, r0
- lsls r1, r2, 16
- asrs r1, 24
- ldrh r0, [r3, 0x20]
- subs r0, r1
- strh r0, [r3, 0x20]
- movs r1, 0xFF
- ands r2, r1
- strh r2, [r3, 0x3C]
- lsls r0, 16
- asrs r0, 16
- ldrh r2, [r3, 0x36]
- movs r4, 0x36
- ldrsh r1, [r3, r4]
- cmp r0, r1
- bge _080C35B2
- strh r2, [r3, 0x20]
-_080C35B2:
- movs r4, 0
- ldr r6, _080C35F4 @ =gSprites
- movs r5, 0x40
- adds r2, r3, 0
- adds r2, 0x2E
-_080C35BC:
- movs r7, 0
- ldrsh r0, [r2, r7]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrh r0, [r3, 0x24]
- ldrh r7, [r3, 0x20]
- adds r0, r7
- adds r0, r5
- strh r0, [r1, 0x20]
- adds r5, 0x40
- adds r2, 0x2
- adds r4, 0x1
- cmp r4, 0x2
- ble _080C35BC
- movs r0, 0x20
- ldrsh r1, [r3, r0]
- movs r2, 0x36
- ldrsh r0, [r3, r2]
- cmp r1, r0
- bne _080C35EC
- ldr r0, _080C35F8 @ =sub_80C35FC
- str r0, [r3, 0x1C]
-_080C35EC:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C35F4: .4byte gSprites
-_080C35F8: .4byte sub_80C35FC
- thumb_func_end sub_80C3588
-
- thumb_func_start sub_80C35FC
-sub_80C35FC: @ 80C35FC
- push {lr}
- adds r2, r0, 0
- ldr r0, _080C3628 @ =gSharedMem + 0x18000
- movs r1, 0x2
- strb r1, [r0, 0x4]
- ldrh r3, [r2, 0x38]
- ldr r1, _080C362C @ =0xffff0000
- lsrs r0, r1, 16
- cmp r3, r0
- beq _080C3624
- subs r0, r3, 0x1
- strh r0, [r2, 0x38]
- lsls r0, 16
- asrs r0, 16
- asrs r1, 16
- cmp r0, r1
- bne _080C3624
- ldrh r0, [r2, 0x3A]
- bl sub_80C3520
-_080C3624:
- pop {r0}
- bx r0
- .align 2, 0
-_080C3628: .4byte gSharedMem + 0x18000
-_080C362C: .4byte 0xffff0000
- thumb_func_end sub_80C35FC
-
- thumb_func_start sub_80C3630
-sub_80C3630: @ 80C3630
- push {r4-r7,lr}
- adds r3, r0, 0
- ldrh r2, [r3, 0x3A]
- ldrh r0, [r3, 0x3C]
- adds r2, r0
- lsls r1, r2, 16
- asrs r1, 24
- ldrh r0, [r3, 0x20]
- subs r0, r1
- strh r0, [r3, 0x20]
- movs r0, 0xFF
- ands r2, r0
- strh r2, [r3, 0x3C]
- movs r4, 0
- ldr r6, _080C3694 @ =gSprites
- movs r5, 0x40
- adds r2, r3, 0
- adds r2, 0x2E
-_080C3654:
- movs r1, 0
- ldrsh r0, [r2, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrh r0, [r3, 0x24]
- ldrh r7, [r3, 0x20]
- adds r0, r7
- adds r0, r5
- strh r0, [r1, 0x20]
- adds r5, 0x40
- adds r2, 0x2
- adds r4, 0x1
- cmp r4, 0x2
- ble _080C3654
- movs r1, 0x20
- ldrsh r0, [r3, r1]
- movs r2, 0x24
- ldrsh r1, [r3, r2]
- adds r0, r1
- movs r1, 0xE0
- negs r1, r1
- cmp r0, r1
- bge _080C368C
- adds r0, r3, 0
- bl sub_80C3564
-_080C368C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3694: .4byte gSprites
- thumb_func_end sub_80C3630
-
- thumb_func_start sub_80C3698
-sub_80C3698: @ 80C3698
- push {r4-r7,lr}
- adds r4, r0, 0
- ldr r5, _080C374C @ =gSharedMem + 0x18000
- ldrb r1, [r5, 0x1]
- bl sub_80C3158
- adds r0, r4, 0
- bl sub_80C34AC
- lsls r0, 16
- lsrs r0, 16
- ldrb r2, [r5, 0x1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- ldr r3, _080C3750 @ =gSprites
- adds r4, r1, r3
- adds r0, 0x20
- strh r0, [r4, 0x20]
- movs r0, 0x50
- strh r0, [r4, 0x22]
- adds r5, r4, 0
- adds r5, 0x3E
- ldrb r1, [r5]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r1
- strb r0, [r5]
- movs r5, 0
- adds r6, r3, 0
- mov r12, r2
- movs r3, 0x40
-_080C36DA:
- lsls r0, r5, 1
- adds r2, r4, 0
- adds r2, 0x2E
- adds r2, r0
- movs r1, 0
- ldrsh r0, [r2, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrh r0, [r4, 0x24]
- ldrh r7, [r4, 0x20]
- adds r0, r7
- adds r0, r3
- strh r0, [r1, 0x20]
- movs r0, 0
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrh r1, [r4, 0x22]
- strh r1, [r0, 0x22]
- movs r1, 0
- ldrsh r0, [r2, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- adds r1, 0x3E
- ldrb r2, [r1]
- mov r0, r12
- ands r0, r2
- strb r0, [r1]
- adds r3, 0x40
- adds r5, 0x1
- cmp r5, 0x2
- ble _080C36DA
- ldr r1, _080C3754 @ =gBattle_WIN0H
- movs r0, 0xF0
- strh r0, [r1]
- ldr r2, _080C3758 @ =gBattle_WIN0V
- ldrh r1, [r4, 0x22]
- adds r0, r1, 0
- subs r0, 0x10
- lsls r0, 8
- adds r1, 0x10
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _080C375C @ =REG_WININ
- ldr r2, _080C3760 @ =0x00003f3e
- adds r0, r2, 0
- strh r0, [r1]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C374C: .4byte gSharedMem + 0x18000
-_080C3750: .4byte gSprites
-_080C3754: .4byte gBattle_WIN0H
-_080C3758: .4byte gBattle_WIN0V
-_080C375C: .4byte REG_WININ
-_080C3760: .4byte 0x00003f3e
- thumb_func_end sub_80C3698
-
- thumb_func_start sub_80C3764
-sub_80C3764: @ 80C3764
- push {r4-r7,lr}
- ldr r0, _080C37C8 @ =gSharedMem + 0x18000
- ldrb r0, [r0, 0x1]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r3, _080C37CC @ =gSprites
- adds r2, r3
- movs r0, 0x3E
- adds r0, r2
- mov r12, r0
- ldrb r0, [r0]
- movs r1, 0x4
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- ldr r7, _080C37D0 @ =gBattle_WIN0H
- ldr r6, _080C37D4 @ =gBattle_WIN0V
- adds r5, r3, 0
- movs r4, 0x4
- adds r2, 0x2E
- movs r3, 0x2
-_080C3790:
- movs r1, 0
- ldrsh r0, [r2, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r4
- strb r0, [r1]
- adds r2, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _080C3790
- movs r1, 0
- strh r1, [r7]
- strh r1, [r6]
- ldr r0, _080C37D8 @ =REG_WIN0H
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- ldr r1, _080C37DC @ =REG_WININ
- ldr r2, _080C37E0 @ =0x00003f3f
- adds r0, r2, 0
- strh r0, [r1]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C37C8: .4byte gSharedMem + 0x18000
-_080C37CC: .4byte gSprites
-_080C37D0: .4byte gBattle_WIN0H
-_080C37D4: .4byte gBattle_WIN0V
-_080C37D8: .4byte REG_WIN0H
-_080C37DC: .4byte REG_WININ
-_080C37E0: .4byte 0x00003f3f
- thumb_func_end sub_80C3764
-
- thumb_func_start de_sub_80C39A8
-de_sub_80C39A8: @ 80C39A8
- push {r4,lr}
- sub sp, 0x10
- adds r1, r0, 0
- ldr r0, _de_080C39DC @ =gIsLinkContest
- ldrb r0, [r0]
- movs r4, 0x1
- ands r4, r0
- cmp r4, 0
- beq _de_080C39E8
- ldr r0, _de_080C39E0 @ =0x0600e000
- lsls r1, 16
- lsrs r1, 16
- ldr r3, _de_080C39E4 @ =gUnknown_08E964B8
- movs r2, 0xB
- str r2, [sp]
- movs r4, 0x3
- str r4, [sp, 0x4]
- movs r2, 0x8
- str r2, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r2, 0
- bl sub_809D104
- movs r0, 0x8
- b _de_080C3A74
- .align 2, 0
-_de_080C39DC: .4byte gIsLinkContest
-_de_080C39E0: .4byte 0x0600e000
-_de_080C39E4: .4byte gUnknown_08E964B8
-_de_080C39E8:
- ldr r0, _de_080C3A08 @ =gSpecialVar_ContestRank
- ldrh r0, [r0]
- cmp r0, 0
- bne _de_080C3A14
- ldr r0, _de_080C3A0C @ =0x0600e000
- lsls r1, 16
- lsrs r1, 16
- ldr r3, _de_080C3A10 @ =gUnknown_08E964B8
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r2, 0xB
- str r2, [sp, 0x8]
- movs r2, 0x3
- str r2, [sp, 0xC]
- b _de_080C3A6C
- .align 2, 0
-_de_080C3A08: .4byte gSpecialVar_ContestRank
-_de_080C3A0C: .4byte 0x0600e000
-_de_080C3A10: .4byte gUnknown_08E964B8
-_de_080C3A14:
- cmp r0, 0x1
- bne _de_080C3A2C
- ldr r0, _de_080C3A24 @ =0x0600e000
- lsls r1, 16
- lsrs r1, 16
- ldr r3, _de_080C3A28 @ =gUnknown_08E964B8
- movs r2, 0xB
- b _de_080C3A3A
- .align 2, 0
-_de_080C3A24: .4byte 0x0600e000
-_de_080C3A28: .4byte gUnknown_08E964B8
-_de_080C3A2C:
- cmp r0, 0x2
- bne _de_080C3A58
- ldr r0, _de_080C3A50 @ =0x0600e000
- lsls r1, 16
- lsrs r1, 16
- ldr r3, _de_080C3A54 @ =gUnknown_08E964B8
- movs r2, 0x15
-_de_080C3A3A:
- str r2, [sp]
- str r4, [sp, 0x4]
- movs r2, 0xA
- str r2, [sp, 0x8]
- movs r2, 0x3
- str r2, [sp, 0xC]
- movs r2, 0
- bl sub_809D104
- movs r0, 0xA
- b _de_080C3A74
- .align 2, 0
-_de_080C3A50: .4byte 0x0600e000
-_de_080C3A54: .4byte gUnknown_08E964B8
-_de_080C3A58:
- ldr r0, _de_080C3A7C @ =0x0600e000
- lsls r1, 16
- lsrs r1, 16
- ldr r3, _de_080C3A80 @ =gUnknown_08E964B8
- str r4, [sp]
- movs r4, 0x3
- str r4, [sp, 0x4]
- movs r2, 0xB
- str r2, [sp, 0x8]
- str r4, [sp, 0xC]
-_de_080C3A6C:
- movs r2, 0
- bl sub_809D104
- movs r0, 0xB
-_de_080C3A74:
- add sp, 0x10
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_de_080C3A7C: .4byte 0x0600e000
-_de_080C3A80: .4byte gUnknown_08E964B8
- thumb_func_end de_sub_80C39A8
-
- thumb_func_start de_sub_80C3A84
-de_sub_80C3A84: @ 80C3A84
- push {r4,lr}
- sub sp, 0x10
- adds r2, r0, 0
- ldr r0, _de_080C3AAC @ =gSpecialVar_ContestCategory
- ldrh r4, [r0]
- cmp r4, 0
- bne _de_080C3AB8
- str r4, [r1]
- ldr r0, _de_080C3AB0 @ =0x0600e000
- lsls r1, r2, 16
- lsrs r1, 16
- ldr r3, _de_080C3AB4 @ =gUnknown_08E964B8
- movs r2, 0x13
- str r2, [sp]
- movs r4, 0x3
- str r4, [sp, 0x4]
- movs r2, 0x7
- str r2, [sp, 0x8]
- str r4, [sp, 0xC]
- b _de_080C3AD6
- .align 2, 0
-_de_080C3AAC: .4byte gSpecialVar_ContestCategory
-_de_080C3AB0: .4byte 0x0600e000
-_de_080C3AB4: .4byte gUnknown_08E964B8
-_de_080C3AB8:
- cmp r4, 0x1
- bne _de_080C3AE8
- str r4, [r1]
- ldr r0, _de_080C3AE0 @ =0x0600e000
- lsls r1, r2, 16
- lsrs r1, 16
- ldr r3, _de_080C3AE4 @ =gUnknown_08E964B8
- movs r2, 0
- str r2, [sp]
- movs r2, 0x6
- str r2, [sp, 0x4]
- movs r2, 0x7
- str r2, [sp, 0x8]
- movs r2, 0x3
- str r2, [sp, 0xC]
-_de_080C3AD6:
- movs r2, 0
- bl sub_809D104
- movs r0, 0x7
- b _de_080C3B68
- .align 2, 0
-_de_080C3AE0: .4byte 0x0600e000
-_de_080C3AE4: .4byte gUnknown_08E964B8
-_de_080C3AE8:
- cmp r4, 0x2
- bne _de_080C3B18
- str r4, [r1]
- ldr r0, _de_080C3B10 @ =0x0600e000
- lsls r1, r2, 16
- lsrs r1, 16
- ldr r3, _de_080C3B14 @ =gUnknown_08E964B8
- movs r2, 0x7
- str r2, [sp]
- movs r2, 0x6
- str r2, [sp, 0x4]
- movs r2, 0x4
- str r2, [sp, 0x8]
- movs r2, 0x3
- str r2, [sp, 0xC]
- movs r2, 0
- bl sub_809D104
- movs r0, 0x4
- b _de_080C3B68
- .align 2, 0
-_de_080C3B10: .4byte 0x0600e000
-_de_080C3B14: .4byte gUnknown_08E964B8
-_de_080C3B18:
- cmp r4, 0x3
- bne _de_080C3B44
- str r4, [r1]
- ldr r0, _de_080C3B3C @ =0x0600e000
- lsls r1, r2, 16
- lsrs r1, 16
- ldr r3, _de_080C3B40 @ =gUnknown_08E964B8
- movs r2, 0xB
- str r2, [sp]
- movs r2, 0x6
- str r2, [sp, 0x4]
- str r2, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r2, 0
- bl sub_809D104
- movs r0, 0x6
- b _de_080C3B68
- .align 2, 0
-_de_080C3B3C: .4byte 0x0600e000
-_de_080C3B40: .4byte gUnknown_08E964B8
-_de_080C3B44:
- movs r0, 0x4
- str r0, [r1]
- ldr r0, _de_080C3B70 @ =0x0600e000
- lsls r1, r2, 16
- lsrs r1, 16
- ldr r3, _de_080C3B74 @ =gUnknown_08E964B8
- movs r2, 0x11
- str r2, [sp]
- movs r2, 0x6
- str r2, [sp, 0x4]
- movs r2, 0x5
- str r2, [sp, 0x8]
- movs r2, 0x3
- str r2, [sp, 0xC]
- movs r2, 0
- bl sub_809D104
- movs r0, 0x5
-_de_080C3B68:
- add sp, 0x10
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_de_080C3B70: .4byte 0x0600e000
-_de_080C3B74: .4byte gUnknown_08E964B8
- thumb_func_end de_sub_80C3A84
-
- thumb_func_start sub_80C37E4
-sub_80C37E4: @ 80C37E4
- push {r4,r5,lr}
- sub sp, 0x4
- movs r0, 0x6
- bl de_sub_80C39A8
- lsls r0, 16
- asrs r0, 16
- adds r0, 0x6
- mov r1, sp
- bl de_sub_80C3A84
- ldr r5, _080C3824 @ =0x00000fff
- ldr r0, [sp]
- lsls r4, r0, 12
- ldr r2, _080C3828 @ =0x0600e000
- movs r3, 0x7F
-_080C3804:
- ldrh r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- strh r0, [r2]
- ldrh r1, [r2]
- adds r0, r4, 0
- orrs r0, r1
- strh r0, [r2]
- adds r2, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _080C3804
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3824: .4byte 0x00000fff
-_080C3828: .4byte 0x0600e000
- thumb_func_end sub_80C37E4
-
- thumb_func_start sub_80C3990
-sub_80C3990: @ 80C3990
- push {r4,r5,lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r1, _080C39DC @ =gUnknown_02038670
- lsrs r0, 23
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- lsls r4, r0, 16
- adds r0, r4, 0
- movs r1, 0x3F
- bl __udivsi3
- adds r1, r0, 0
- ldr r0, _080C39E0 @ =0x0000ffff
- ands r0, r1
- cmp r0, 0
- beq _080C39BC
- movs r0, 0x80
- lsls r0, 9
- adds r1, r0
-_080C39BC:
- lsrs r1, 16
- cmp r1, 0
- bne _080C39C8
- cmp r4, 0
- beq _080C39C8
- movs r1, 0x1
-_080C39C8:
- cmp r5, 0
- beq _080C39D2
- cmp r1, 0xA
- bls _080C39D2
- movs r1, 0xA
-_080C39D2:
- lsls r0, r1, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080C39DC: .4byte gUnknown_02038670
-_080C39E0: .4byte 0x0000ffff
- thumb_func_end sub_80C3990
-
- thumb_func_start sub_80C39E4
-sub_80C39E4: @ 80C39E4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- ldr r1, _080C3A44 @ =gUnknown_02038688
- lsls r0, r5, 1
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- adds r7, r1, 0
- cmp r0, 0
- bge _080C3A00
- negs r0, r0
-_080C3A00:
- lsls r4, r0, 16
- adds r0, r4, 0
- movs r1, 0x50
- bl __udivsi3
- adds r2, r0, 0
- ldr r0, _080C3A48 @ =0x0000ffff
- ands r0, r2
- cmp r0, 0
- beq _080C3A1A
- movs r0, 0x80
- lsls r0, 9
- adds r2, r0
-_080C3A1A:
- lsrs r2, 16
- cmp r2, 0
- bne _080C3A26
- cmp r4, 0
- beq _080C3A26
- movs r2, 0x1
-_080C3A26:
- cmp r6, 0
- beq _080C3A30
- cmp r2, 0xA
- bls _080C3A30
- movs r2, 0xA
-_080C3A30:
- lsls r0, r5, 1
- adds r0, r7
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _080C3A4C
- negs r0, r2
- lsls r0, 24
- b _080C3A4E
- .align 2, 0
-_080C3A44: .4byte gUnknown_02038688
-_080C3A48: .4byte 0x0000ffff
-_080C3A4C:
- lsls r0, r2, 24
-_080C3A4E:
- lsrs r0, 24
- lsls r0, 24
- asrs r0, 24
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80C39E4
-
- thumb_func_start sub_80C3A5C
-sub_80C3A5C: @ 80C3A5C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- ldr r1, _080C3A90 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r3, r0, r1
- ldrh r2, [r3, 0x1C]
- movs r1, 0x1C
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _080C3A94
- movs r1, 0x8
- ldrsh r0, [r3, r1]
- movs r1, 0x3
- subs r1, r0
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- strh r0, [r3, 0x1E]
- adds r0, r2, 0x1
- strh r0, [r3, 0x1C]
- b _080C3B12
- .align 2, 0
-_080C3A90: .4byte gTasks
-_080C3A94:
- cmp r0, 0x1
- bne _080C3B12
- ldrh r0, [r3, 0x1E]
- subs r0, 0x1
- strh r0, [r3, 0x1E]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080C3B12
- movs r0, 0x8
- ldrsh r2, [r3, r0]
- lsls r2, 17
- ldr r1, _080C3B18 @ =0x50430000
- adds r2, r1
- lsrs r2, 16
- movs r0, 0xA
- ldrsh r1, [r3, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 6
- ldr r1, _080C3B1C @ =0x0600e142
- adds r0, r1
- strh r2, [r0]
- movs r0, 0xA
- ldrsh r1, [r3, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 6
- ldr r1, _080C3B20 @ =0x0600e144
- adds r0, r1
- adds r1, r2, 0x1
- strh r1, [r0]
- movs r0, 0xA
- ldrsh r1, [r3, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 6
- ldr r1, _080C3B24 @ =0x0600e182
- adds r0, r1
- adds r1, r2, 0
- adds r1, 0x10
- strh r1, [r0]
- movs r0, 0xA
- ldrsh r1, [r3, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 6
- ldr r1, _080C3B28 @ =0x0600e184
- adds r0, r1
- adds r2, 0x11
- strh r2, [r0]
- ldr r1, _080C3B2C @ =gSharedMem + 0x18000
- ldrb r0, [r1, 0x5]
- adds r0, 0x1
- strb r0, [r1, 0x5]
- adds r0, r4, 0
- bl DestroyTask
- movs r0, 0x18
- bl PlaySE
-_080C3B12:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3B18: .4byte 0x50430000
-_080C3B1C: .4byte 0x0600e142
-_080C3B20: .4byte 0x0600e144
-_080C3B24: .4byte 0x0600e182
-_080C3B28: .4byte 0x0600e184
-_080C3B2C: .4byte gSharedMem + 0x18000
- thumb_func_end sub_80C3A5C
-
- thumb_func_start sub_80C3B30
-sub_80C3B30: @ 80C3B30
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- movs r5, 0
- ldr r1, _080C3BC0 @ =gContestFinalStandings
- ldrb r0, [r1]
- ldr r2, _080C3BC4 @ =gTasks
- mov r10, r2
- cmp r0, 0
- beq _080C3B5C
-_080C3B4E:
- adds r5, 0x1
- cmp r5, 0x3
- bgt _080C3B5C
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080C3B4E
-_080C3B5C:
- movs r1, 0
- lsls r0, r5, 1
- mov r2, r12
- lsls r2, 2
- mov r9, r2
- adds r0, r5
- lsls r0, 5
- mov r8, r0
- ldr r7, _080C3BC8 @ =0x00000fff
- movs r0, 0x90
- lsls r0, 8
- adds r6, r0, 0
-_080C3B74:
- lsls r0, r1, 5
- adds r4, r1, 0x1
- add r0, r8
- movs r3, 0x1D
- lsls r0, 1
- ldr r1, _080C3BCC @ =0x0600e100
- adds r2, r0, r1
-_080C3B82:
- ldrh r1, [r2]
- adds r0, r7, 0
- ands r0, r1
- orrs r0, r6
- strh r0, [r2]
- adds r2, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _080C3B82
- adds r1, r4, 0
- cmp r1, 0x2
- ble _080C3B74
- mov r0, r9
- add r0, r12
- lsls r0, 3
- add r0, r10
- strh r5, [r0, 0x1C]
- movs r1, 0x1
- strh r1, [r0, 0x20]
- ldr r2, _080C3BD0 @ =sub_80C3BD8
- str r2, [r0]
- mov r1, r12
- ldr r0, _080C3BD4 @ =gSharedMem + 0x18000
- strb r1, [r0, 0x3]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3BC0: .4byte gContestFinalStandings
-_080C3BC4: .4byte gTasks
-_080C3BC8: .4byte 0x00000fff
-_080C3BCC: .4byte 0x0600e100
-_080C3BD0: .4byte sub_80C3BD8
-_080C3BD4: .4byte gSharedMem + 0x18000
- thumb_func_end sub_80C3B30
-
- thumb_func_start sub_80C3BD8
-sub_80C3BD8: @ 80C3BD8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C3C24 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r0, [r4, 0x1E]
- adds r0, 0x1
- strh r0, [r4, 0x1E]
- lsls r0, 16
- asrs r5, r0, 16
- cmp r5, 0x1
- bne _080C3C3C
- movs r0, 0
- strh r0, [r4, 0x1E]
- ldrh r2, [r4, 0x20]
- lsls r2, 24
- lsrs r2, 24
- ldr r3, _080C3C28 @ =0x00006f8d
- movs r0, 0x91
- movs r1, 0x1
- bl BlendPalette
- movs r1, 0x22
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080C3C2C
- ldrh r0, [r4, 0x20]
- adds r0, 0x1
- strh r0, [r4, 0x20]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- bne _080C3C3C
- strh r5, [r4, 0x22]
- b _080C3C3C
- .align 2, 0
-_080C3C24: .4byte gTasks
-_080C3C28: .4byte 0x00006f8d
-_080C3C2C:
- ldrh r0, [r4, 0x20]
- subs r0, 0x1
- strh r0, [r4, 0x20]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bne _080C3C3C
- strh r0, [r4, 0x22]
-_080C3C3C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80C3BD8
-
- thumb_func_start sub_80C3C44
-sub_80C3C44: @ 80C3C44
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0x9
- bgt _080C3C6C
- adds r0, r1, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _080C3CA8
- ldrh r0, [r4, 0x30]
- movs r1, 0
- bl PlayCry1
- movs r0, 0
- strh r0, [r4, 0x30]
- b _080C3CA8
-_080C3C6C:
- movs r0, 0xC0
- lsls r0, 3
- adds r2, r0, 0
- ldrh r1, [r4, 0x30]
- adds r2, r1
- lsls r1, r2, 16
- asrs r1, 24
- ldrh r0, [r4, 0x20]
- subs r0, r1
- strh r0, [r4, 0x20]
- movs r1, 0xFF
- ands r2, r1
- strh r2, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x77
- bgt _080C3C92
- movs r0, 0x78
- strh r0, [r4, 0x20]
-_080C3C92:
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- cmp r0, 0x78
- bne _080C3CA8
- ldr r0, _080C3CB0 @ =SpriteCallbackDummy
- str r0, [r4, 0x1C]
- movs r0, 0
- strh r0, [r4, 0x30]
- ldr r1, _080C3CB4 @ =gSharedMem + 0x18000
- movs r0, 0x1
- strb r0, [r1, 0x6]
-_080C3CA8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3CB0: .4byte SpriteCallbackDummy
-_080C3CB4: .4byte gSharedMem + 0x18000
- thumb_func_end sub_80C3C44
-
- thumb_func_start sub_80C3CB8
-sub_80C3CB8: @ 80C3CB8
- push {lr}
- adds r3, r0, 0
- movs r0, 0xC0
- lsls r0, 3
- adds r2, r0, 0
- ldrh r0, [r3, 0x30]
- adds r2, r0
- lsls r1, r2, 16
- asrs r1, 24
- ldrh r0, [r3, 0x20]
- subs r0, r1
- strh r0, [r3, 0x20]
- movs r1, 0xFF
- ands r2, r1
- strh r2, [r3, 0x30]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- bge _080C3CF8
- ldr r0, _080C3CFC @ =SpriteCallbackDummy
- str r0, [r3, 0x1C]
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r1, _080C3D00 @ =gSharedMem + 0x18000
- movs r0, 0x2
- strb r0, [r1, 0x6]
-_080C3CF8:
- pop {r0}
- bx r0
- .align 2, 0
-_080C3CFC: .4byte SpriteCallbackDummy
-_080C3D00: .4byte gSharedMem + 0x18000
- thumb_func_end sub_80C3CB8
-
- thumb_func_start sub_80C3D04
-sub_80C3D04: @ 80C3D04
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, _080C3DD8 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r1, r0, r1
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- bne _080C3DBE
- movs r0, 0
- strh r0, [r1, 0x8]
- ldr r0, _080C3DDC @ =gSharedMem + 0x18000
- mov r8, r0
- ldrb r0, [r0, 0x7]
- cmp r0, 0x27
- bhi _080C3DBE
- ldr r4, _080C3DE0 @ =gSpriteTemplate_83D17B4
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xF0
- bl __umodsi3
- adds r1, r0, 0
- subs r1, 0x14
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- movs r2, 0x2C
- movs r3, 0x5
- bl CreateSprite
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl Random
- ldr r1, _080C3DE4 @ =gSprites
- lsls r5, r4, 4
- adds r5, r4
- lsls r5, 2
- adds r5, r1
- lsls r0, 23
- lsrs r0, 23
- strh r0, [r5, 0x2E]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x18
- bl __umodsi3
- adds r0, 0x10
- strh r0, [r5, 0x30]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xFF
- ands r0, r1
- adds r0, 0x30
- strh r0, [r5, 0x32]
- bl Random
- ldrh r6, [r5, 0x4]
- lsls r4, r6, 22
- lsrs r4, 22
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x11
- bl __umodsi3
- adds r4, r0
- ldr r1, _080C3DE8 @ =0x000003ff
- adds r0, r1, 0
- ands r4, r0
- ldr r0, _080C3DEC @ =0xfffffc00
- ands r0, r6
- orrs r0, r4
- strh r0, [r5, 0x4]
- mov r1, r8
- ldrb r0, [r1, 0x7]
- adds r0, 0x1
- strb r0, [r1, 0x7]
-_080C3DBE:
- ldr r0, _080C3DDC @ =gSharedMem + 0x18000
- ldrb r0, [r0, 0x9]
- cmp r0, 0
- beq _080C3DCC
- adds r0, r7, 0
- bl DestroyTask
-_080C3DCC:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3DD8: .4byte gTasks
-_080C3DDC: .4byte gSharedMem + 0x18000
-_080C3DE0: .4byte gSpriteTemplate_83D17B4
-_080C3DE4: .4byte gSprites
-_080C3DE8: .4byte 0x000003ff
-_080C3DEC: .4byte 0xfffffc00
- thumb_func_end sub_80C3D04
-
- thumb_func_start sub_80C3DF0
-sub_80C3DF0: @ 80C3DF0
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- ldrh r1, [r4, 0x34]
- adds r0, r1
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 24
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r1, [r4, 0x32]
- ldrh r0, [r4, 0x36]
- adds r1, r0
- lsls r0, r1, 16
- asrs r0, 24
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- movs r0, 0xFF
- ands r1, r0
- strh r1, [r4, 0x36]
- ldrh r0, [r4, 0x22]
- adds r0, 0x1
- strh r0, [r4, 0x22]
- ldr r5, _080C3E5C @ =gSharedMem + 0x18000
- ldrb r0, [r5, 0x9]
- cmp r0, 0
- beq _080C3E3A
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_080C3E3A:
- movs r1, 0x20
- ldrsh r0, [r4, r1]
- cmp r0, 0xF8
- bgt _080C3E4A
- movs r2, 0x22
- ldrsh r0, [r4, r2]
- cmp r0, 0x74
- ble _080C3E56
-_080C3E4A:
- adds r0, r4, 0
- bl DestroySprite
- ldrb r0, [r5, 0x7]
- subs r0, 0x1
- strb r0, [r5, 0x7]
-_080C3E56:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3E5C: .4byte gSharedMem + 0x18000
- thumb_func_end sub_80C3DF0
-
- thumb_func_start sub_80C3E60
-sub_80C3E60: @ 80C3E60
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _080C3E98 @ =sub_80C3EA4
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C3E9C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x8]
- strh r5, [r1, 0xA]
- ldr r0, _080C3EA0 @ =gContestMons
- lsls r4, 6
- adds r4, r0
- ldrh r0, [r4]
- strh r0, [r1, 0xC]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3E98: .4byte sub_80C3EA4
-_080C3E9C: .4byte gTasks
-_080C3EA0: .4byte gContestMons
- thumb_func_end sub_80C3E60
-
- thumb_func_start sub_80C3EA4
-sub_80C3EA4: @ 80C3EA4
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C3EF8 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrb r5, [r4, 0x8]
- ldrh r0, [r4, 0x1C]
- adds r1, r0, 0x1
- strh r1, [r4, 0x1C]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0xA
- ldrsh r1, [r4, r2]
- cmp r0, r1
- bne _080C3EEE
- movs r0, 0
- strh r0, [r4, 0x1C]
- ldrh r0, [r4, 0xC]
- ldrb r2, [r4, 0x1E]
- ldr r1, _080C3EFC @ =gContestMons
- lsls r3, r5, 6
- adds r1, 0x38
- adds r3, r1
- ldr r1, [r3]
- str r1, [sp]
- adds r1, r5, 0
- movs r3, 0
- bl sub_80C3024
- ldrh r0, [r4, 0x1E]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r4, 0x1E]
-_080C3EEE:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3EF8: .4byte gTasks
-_080C3EFC: .4byte gContestMons
- thumb_func_end sub_80C3EA4
-
- thumb_func_start sub_80C3F00
-sub_80C3F00: @ 80C3F00
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, _080C4098 @ =gUnknown_02038678
- ldrh r2, [r0]
- adds r4, r0, 0
- adds r3, r4, 0x2
- movs r0, 0x2
- mov r8, r0
-_080C3F16:
- lsls r0, r2, 16
- asrs r0, 16
- movs r5, 0
- ldrsh r1, [r3, r5]
- cmp r0, r1
- bge _080C3F24
- ldrh r2, [r3]
-_080C3F24:
- adds r3, 0x2
- movs r0, 0x1
- negs r0, r0
- add r8, r0
- mov r1, r8
- cmp r1, 0
- bge _080C3F16
- lsls r0, r2, 16
- mov r9, r0
- cmp r0, 0
- bge _080C3F62
- ldrh r2, [r4]
- adds r3, r4, 0x2
- movs r4, 0x2
- mov r8, r4
-_080C3F42:
- lsls r0, r2, 16
- asrs r0, 16
- movs r5, 0
- ldrsh r1, [r3, r5]
- cmp r0, r1
- ble _080C3F50
- ldrh r2, [r3]
-_080C3F50:
- adds r3, 0x2
- movs r0, 0x1
- negs r0, r0
- add r8, r0
- lsls r1, r2, 16
- mov r9, r1
- mov r4, r8
- cmp r4, 0
- bge _080C3F42
-_080C3F62:
- movs r5, 0
- mov r8, r5
- mov r10, r5
-_080C3F68:
- ldr r0, _080C409C @ =gUnknown_02038670
- mov r1, r8
- lsls r7, r1, 1
- adds r0, r7, r0
- movs r2, 0
- ldrsh r1, [r0, r2]
- lsls r0, r1, 5
- subs r0, r1
- lsls r0, 2
- adds r0, r1
- lsls r0, 3
- mov r4, r9
- asrs r6, r4, 16
- adds r1, r6, 0
- cmp r6, 0
- bge _080C3F8A
- negs r1, r6
-_080C3F8A:
- bl __divsi3
- adds r4, r0, 0
- movs r1, 0xA
- bl __modsi3
- cmp r0, 0x4
- ble _080C3F9C
- adds r4, 0xA
-_080C3F9C:
- ldr r0, _080C40A0 @ =gSharedMem + 0x18018
- mov r1, r10
- adds r5, r1, r0
- adds r0, r4, 0
- movs r1, 0xA
- bl __divsi3
- str r0, [r5]
- ldr r0, _080C40A4 @ =gUnknown_02038688
- adds r7, r0
- movs r2, 0
- ldrsh r1, [r7, r2]
- cmp r1, 0
- bge _080C3FBA
- negs r1, r1
-_080C3FBA:
- lsls r0, r1, 5
- subs r0, r1
- lsls r0, 2
- adds r0, r1
- lsls r0, 3
- adds r1, r6, 0
- cmp r1, 0
- bge _080C3FCC
- negs r1, r1
-_080C3FCC:
- bl __divsi3
- adds r4, r0, 0
- movs r1, 0xA
- bl __modsi3
- cmp r0, 0x4
- ble _080C3FDE
- adds r4, 0xA
-_080C3FDE:
- adds r0, r4, 0
- movs r1, 0xA
- bl __divsi3
- str r0, [r5, 0x4]
- movs r4, 0
- ldrsh r0, [r7, r4]
- cmp r0, 0
- bge _080C3FF4
- movs r0, 0x1
- strb r0, [r5, 0x10]
-_080C3FF4:
- ldr r1, [r5]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- subs r0, r1
- lsls r0, 11
- movs r1, 0x64
- bl __divsi3
- adds r1, r0, 0
- movs r4, 0xFF
- ands r0, r4
- cmp r0, 0x7F
- bls _080C4016
- movs r0, 0x80
- lsls r0, 1
- adds r1, r0
-_080C4016:
- lsrs r0, r1, 8
- str r0, [r5, 0x8]
- ldr r1, [r5, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- subs r0, r1
- lsls r0, 11
- movs r1, 0x64
- bl __divsi3
- adds r1, r0, 0
- ands r0, r4
- cmp r0, 0x7F
- bls _080C403A
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2
-_080C403A:
- lsrs r0, r1, 8
- str r0, [r5, 0xC]
- mov r0, r8
- lsls r4, r0, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80C3990
- strb r0, [r5, 0x11]
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80C39E4
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bge _080C4060
- negs r0, r0
-_080C4060:
- strb r0, [r5, 0x12]
- ldr r0, _080C40A8 @ =gContestFinalStandings
- add r0, r8
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C40B4
- ldr r4, [r5, 0x8]
- ldrh r2, [r5, 0x8]
- ldr r3, [r5, 0xC]
- ldrh r1, [r5, 0xC]
- ldrb r0, [r5, 0x10]
- cmp r0, 0
- beq _080C4080
- lsls r0, r1, 16
- negs r0, r0
- lsrs r1, r0, 16
-_080C4080:
- lsls r0, r2, 16
- asrs r2, r0, 16
- lsls r0, r1, 16
- asrs r1, r0, 16
- adds r0, r2, r1
- cmp r0, 0x58
- bne _080C40B4
- cmp r1, 0
- ble _080C40AC
- subs r0, r3, 0x1
- str r0, [r5, 0xC]
- b _080C40B4
- .align 2, 0
-_080C4098: .4byte gUnknown_02038678
-_080C409C: .4byte gUnknown_02038670
-_080C40A0: .4byte gSharedMem + 0x18018
-_080C40A4: .4byte gUnknown_02038688
-_080C40A8: .4byte gContestFinalStandings
-_080C40AC:
- cmp r2, 0
- ble _080C40B4
- subs r0, r4, 0x1
- str r0, [r5, 0x8]
-_080C40B4:
- movs r1, 0x14
- add r10, r1
- movs r2, 0x1
- add r8, r2
- mov r4, r8
- cmp r4, 0x3
- bgt _080C40C4
- b _080C3F68
-_080C40C4:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80C3F00
-
- thumb_func_start sub_80C40D4
-sub_80C40D4: @ 80C40D4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- movs r1, 0
- mov r10, r1
- movs r2, 0
- str r2, [sp]
- cmp r0, 0
- bne _080C4198
- mov r8, r2
- ldr r0, _080C417C @ =gSharedMem + 0x18018
- subs r1, 0x18
- adds r1, r0
- mov r9, r1
- adds r4, r0, 0
- adds r4, 0x8
- movs r6, 0xA0
-_080C4102:
- ldrb r0, [r4, 0x9]
- cmp r7, r0
- bcs _080C416A
- adds r0, 0x13
- adds r0, r6, r0
- subs r0, r7
- lsls r0, 1
- ldr r2, _080C4180 @ =0x0600bffe
- adds r0, r2
- ldr r2, _080C4184 @ =0x000060b3
- adds r1, r2, 0
- strh r1, [r0]
- ldr r0, _080C4188 @ =sub_80C42C0
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, [r4]
- lsls r0, 16
- ldrb r1, [r4, 0x9]
- bl __udivsi3
- adds r1, r7, 0x1
- adds r3, r0, 0
- muls r3, r1
- ldr r0, _080C418C @ =0x0000ffff
- ands r0, r3
- ldr r1, _080C4190 @ =0x00007fff
- cmp r0, r1
- bls _080C4146
- movs r0, 0x80
- lsls r0, 9
- adds r3, r0
-_080C4146:
- ldr r1, _080C4194 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- mov r1, r8
- strh r1, [r0, 0x8]
- lsrs r1, r3, 16
- strh r1, [r0, 0xA]
- mov r2, r9
- ldrb r0, [r2, 0x14]
- adds r0, 0x1
- strb r0, [r2, 0x14]
- mov r0, r10
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
-_080C416A:
- adds r4, 0x14
- adds r6, 0x60
- movs r0, 0x1
- add r8, r0
- mov r1, r8
- cmp r1, 0x3
- ble _080C4102
- b _080C4292
- .align 2, 0
-_080C417C: .4byte gSharedMem + 0x18018
-_080C4180: .4byte 0x0600bffe
-_080C4184: .4byte 0x000060b3
-_080C4188: .4byte sub_80C42C0
-_080C418C: .4byte 0x0000ffff
-_080C4190: .4byte 0x00007fff
-_080C4194: .4byte gTasks
-_080C4198:
- movs r2, 0
- mov r8, r2
- ldr r0, _080C4220 @ =gSharedMem + 0x18018
- mov r12, r0
- mov r9, r2
- movs r1, 0xC0
- str r1, [sp, 0x4]
-_080C41A6:
- mov r6, r9
- add r6, r12
- ldrb r1, [r6, 0x12]
- ldrb r0, [r6, 0x10]
- ldr r2, _080C4224 @ =0x000060a3
- cmp r0, 0
- beq _080C41B6
- adds r2, 0x2
-_080C41B6:
- lsls r0, r1, 24
- asrs r0, 24
- cmp r7, r0
- bge _080C427E
- adds r0, 0x13
- ldr r1, [sp, 0x4]
- adds r0, r1, r0
- subs r0, r7
- lsls r0, 1
- ldr r1, _080C4228 @ =0x0600bffe
- adds r0, r1
- strh r2, [r0]
- ldr r0, _080C422C @ =sub_80C42C0
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, [r6, 0xC]
- lsls r0, 16
- ldrb r1, [r6, 0x12]
- bl __udivsi3
- adds r1, r7, 0x1
- adds r3, r0, 0
- muls r3, r1
- ldr r0, _080C4230 @ =0x0000ffff
- ands r0, r3
- ldr r1, _080C4234 @ =0x00007fff
- cmp r0, r1
- bls _080C41FA
- movs r2, 0x80
- lsls r2, 9
- adds r3, r2
-_080C41FA:
- ldr r1, _080C4238 @ =gTasks
- lsls r2, r5, 2
- adds r0, r2, r5
- lsls r0, 3
- adds r4, r0, r1
- mov r0, r8
- strh r0, [r4, 0x8]
- ldrb r0, [r6, 0x10]
- adds r6, r1, 0
- cmp r0, 0
- beq _080C423C
- movs r0, 0x1
- strh r0, [r4, 0xC]
- ldr r0, [sp]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- b _080C4246
- .align 2, 0
-_080C4220: .4byte gSharedMem + 0x18018
-_080C4224: .4byte 0x000060a3
-_080C4228: .4byte 0x0600bffe
-_080C422C: .4byte sub_80C42C0
-_080C4230: .4byte 0x0000ffff
-_080C4234: .4byte 0x00007fff
-_080C4238: .4byte gTasks
-_080C423C:
- mov r0, r10
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
-_080C4246:
- ldr r0, _080C4264 @ =gSharedMem + 0x18018
- mov r1, r9
- adds r4, r1, r0
- ldrb r1, [r4, 0x10]
- mov r12, r0
- cmp r1, 0
- beq _080C4268
- adds r0, r2, r5
- lsls r0, 3
- adds r0, r6
- lsrs r2, r3, 16
- ldr r1, [r4, 0x8]
- subs r1, r2
- b _080C4274
- .align 2, 0
-_080C4264: .4byte gSharedMem + 0x18018
-_080C4268:
- adds r0, r2, r5
- lsls r0, 3
- adds r0, r6
- lsrs r2, r3, 16
- ldr r1, [r4, 0x8]
- adds r1, r2
-_080C4274:
- strh r1, [r0, 0xA]
- ldr r1, _080C42BC @ =gSharedMem + 0x18000
- ldrb r0, [r1, 0x14]
- adds r0, 0x1
- strb r0, [r1, 0x14]
-_080C427E:
- movs r2, 0x14
- add r9, r2
- ldr r0, [sp, 0x4]
- adds r0, 0x60
- str r0, [sp, 0x4]
- movs r1, 0x1
- add r8, r1
- mov r2, r8
- cmp r2, 0x3
- ble _080C41A6
-_080C4292:
- ldr r0, [sp]
- cmp r0, 0
- beq _080C429E
- movs r0, 0x16
- bl PlaySE
-_080C429E:
- mov r1, r10
- cmp r1, 0
- beq _080C42AA
- movs r0, 0x15
- bl PlaySE
-_080C42AA:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C42BC: .4byte gSharedMem + 0x18000
- thumb_func_end sub_80C40D4
-
- thumb_func_start sub_80C42C0
-sub_80C42C0: @ 80C42C0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- movs r6, 0
- mov r9, r6
- ldr r1, _080C4308 @ =gTasks
- lsls r0, 2
- add r0, r12
- lsls r0, 3
- adds r0, r1
- ldrb r5, [r0, 0x8]
- ldrh r7, [r0, 0xA]
- ldrh r1, [r0, 0xC]
- mov r8, r1
- movs r2, 0xC
- ldrsh r0, [r0, r2]
- cmp r0, 0
- beq _080C4310
- ldr r1, _080C430C @ =gSharedMem + 0x18000
- lsls r2, r5, 1
- adds r0, r1, 0
- adds r0, 0xC
- adds r0, r2, r0
- movs r3, 0
- ldrsh r0, [r0, r3]
- mov r10, r1
- adds r4, r2, 0
- cmp r0, 0
- bgt _080C4328
- b _080C4326
- .align 2, 0
-_080C4308: .4byte gTasks
-_080C430C: .4byte gSharedMem + 0x18000
-_080C4310:
- ldr r1, _080C4350 @ =gSharedMem + 0x18000
- lsls r2, r5, 1
- adds r0, r1, 0
- adds r0, 0xC
- adds r0, r2, r0
- movs r3, 0
- ldrsh r0, [r0, r3]
- mov r10, r1
- adds r4, r2, 0
- cmp r0, 0x57
- ble _080C4328
-_080C4326:
- movs r6, 0x1
-_080C4328:
- mov r0, r10
- adds r0, 0xC
- adds r3, r4, r0
- ldrh r2, [r3]
- movs r0, 0
- ldrsh r1, [r3, r0]
- lsls r0, r7, 16
- asrs r0, 16
- cmp r1, r0
- bne _080C4340
- movs r1, 0x1
- mov r9, r1
-_080C4340:
- mov r0, r9
- cmp r0, 0
- bne _080C4362
- cmp r6, 0
- beq _080C4354
- strh r7, [r3]
- b _080C4362
- .align 2, 0
-_080C4350: .4byte gSharedMem + 0x18000
-_080C4354:
- mov r1, r8
- cmp r1, 0
- beq _080C435E
- subs r0, r2, 0x1
- b _080C4360
-_080C435E:
- adds r0, r2, 0x1
-_080C4360:
- strh r0, [r3]
-_080C4362:
- cmp r6, 0
- bne _080C43C8
- mov r2, r9
- cmp r2, 0
- bne _080C43CE
- movs r2, 0
- ldr r0, _080C4388 @ =gSharedMem + 0x1800C
- adds r6, r4, r0
- adds r0, r4, r5
- lsls r5, r0, 5
-_080C4376:
- movs r0, 0
- ldrsh r3, [r6, r0]
- adds r0, r2, 0x1
- lsls r1, r0, 3
- adds r4, r0, 0
- cmp r3, r1
- blt _080C438C
- movs r0, 0x8
- b _080C43A8
- .align 2, 0
-_080C4388: .4byte gSharedMem + 0x1800C
-_080C438C:
- lsls r0, r2, 3
- cmp r3, r0
- blt _080C43A6
- adds r0, r3, 0
- cmp r3, 0
- bge _080C439A
- adds r0, r3, 0x7
-_080C439A:
- asrs r0, 3
- lsls r0, 3
- subs r0, r3, r0
- lsls r0, 24
- lsrs r0, 24
- b _080C43A8
-_080C43A6:
- movs r0, 0
-_080C43A8:
- cmp r0, 0x3
- bhi _080C43B4
- ldr r3, _080C43B0 @ =0x0000504c
- b _080C43B6
- .align 2, 0
-_080C43B0: .4byte 0x0000504c
-_080C43B4:
- ldr r3, _080C43EC @ =0x00005057
-_080C43B6:
- adds r1, r0, r3
- adds r0, r5, r2
- lsls r0, 1
- ldr r2, _080C43F0 @ =0x0600e18e
- adds r0, r2
- strh r1, [r0]
- adds r2, r4, 0
- cmp r2, 0xA
- ble _080C4376
-_080C43C8:
- mov r3, r9
- cmp r3, 0
- beq _080C43DC
-_080C43CE:
- mov r1, r10
- ldrb r0, [r1, 0x14]
- subs r0, 0x1
- strb r0, [r1, 0x14]
- mov r0, r12
- bl DestroyTask
-_080C43DC:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C43EC: .4byte 0x00005057
-_080C43F0: .4byte 0x0600e18e
- thumb_func_end sub_80C42C0
-
- thumb_func_start sub_80C43F4
-sub_80C43F4: @ 80C43F4
- push {r4,r5,lr}
- ldr r0, _080C442C @ =gUnknown_02038694
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080C4430 @ =gPlayerParty
- adds r0, r1
- bl sub_80AE47C
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- cmp r5, 0
- beq _080C4422
- ldr r4, _080C4434 @ =gSpecialVar_ContestCategory
- ldrb r0, [r4]
- ldr r1, _080C4438 @ =gSpecialVar_ContestRank
- ldrb r1, [r1]
- bl Contest_InitAllPokemon
- ldrb r0, [r4]
- bl sub_80AE82C
-_080C4422:
- ldr r0, _080C443C @ =gSpecialVar_Result
- strh r5, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C442C: .4byte gUnknown_02038694
-_080C4430: .4byte gPlayerParty
-_080C4434: .4byte gSpecialVar_ContestCategory
-_080C4438: .4byte gSpecialVar_ContestRank
-_080C443C: .4byte gSpecialVar_Result
- thumb_func_end sub_80C43F4
-
- thumb_func_start sub_80C4440
-sub_80C4440: @ 80C4440
- push {r4,lr}
- movs r4, 0
- ldr r0, _080C4464 @ =gUnknown_02038694
- ldrb r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, _080C4468 @ =gPlayerParty
- adds r2, r1, r0
- ldr r0, _080C446C @ =gSpecialVar_ContestCategory
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _080C44B2
- lsls r0, 2
- ldr r1, _080C4470 @ =_080C4474
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C4464: .4byte gUnknown_02038694
-_080C4468: .4byte gPlayerParty
-_080C446C: .4byte gSpecialVar_ContestCategory
-_080C4470: .4byte _080C4474
- .align 2, 0
-_080C4474:
- .4byte _080C4488
- .4byte _080C448E
- .4byte _080C4494
- .4byte _080C449A
- .4byte _080C44A0
-_080C4488:
- adds r0, r2, 0
- movs r1, 0x32
- b _080C44A4
-_080C448E:
- adds r0, r2, 0
- movs r1, 0x33
- b _080C44A4
-_080C4494:
- adds r0, r2, 0
- movs r1, 0x34
- b _080C44A4
-_080C449A:
- adds r0, r2, 0
- movs r1, 0x35
- b _080C44A4
-_080C44A0:
- adds r0, r2, 0
- movs r1, 0x36
-_080C44A4:
- bl GetMonData
- ldr r1, _080C44BC @ =gSpecialVar_ContestRank
- ldrh r1, [r1]
- cmp r0, r1
- bls _080C44B2
- movs r4, 0x1
-_080C44B2:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080C44BC: .4byte gSpecialVar_ContestRank
- thumb_func_end sub_80C4440
-
- thumb_func_start sub_80C44C0
-sub_80C44C0: @ 80C44C0
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r1, _080C44E8 @ =gContestFinalStandings
- ldr r0, _080C44EC @ =gContestPlayerMonIndex
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C44D4
- b _080C465E
-_080C44D4:
- ldr r0, _080C44F0 @ =gSpecialVar_ContestCategory
- ldrh r0, [r0]
- cmp r0, 0x4
- bls _080C44DE
- b _080C465E
-_080C44DE:
- lsls r0, 2
- ldr r1, _080C44F4 @ =_080C44F8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C44E8: .4byte gContestFinalStandings
-_080C44EC: .4byte gContestPlayerMonIndex
-_080C44F0: .4byte gSpecialVar_ContestCategory
-_080C44F4: .4byte _080C44F8
- .align 2, 0
-_080C44F8:
- .4byte _080C450C
- .4byte _080C4554
- .4byte _080C4598
- .4byte _080C45DC
- .4byte _080C4624
-_080C450C:
- ldr r6, _080C4548 @ =gUnknown_02038694
- ldrb r0, [r6]
- movs r5, 0x64
- muls r0, r5
- ldr r4, _080C454C @ =gPlayerParty
- adds r0, r4
- movs r1, 0x32
- bl GetMonData
- lsls r0, 24
- lsrs r1, r0, 24
- mov r0, sp
- strb r1, [r0]
- ldr r0, _080C4550 @ =gSpecialVar_ContestRank
- ldrh r0, [r0]
- cmp r1, r0
- bls _080C4530
- b _080C465E
-_080C4530:
- adds r0, r1, 0
- cmp r0, 0x3
- bls _080C4538
- b _080C465E
-_080C4538:
- adds r1, r0, 0x1
- mov r0, sp
- strb r1, [r0]
- ldrb r0, [r6]
- muls r0, r5
- adds r0, r4
- movs r1, 0x32
- b _080C4610
- .align 2, 0
-_080C4548: .4byte gUnknown_02038694
-_080C454C: .4byte gPlayerParty
-_080C4550: .4byte gSpecialVar_ContestRank
-_080C4554:
- mov r4, sp
- ldr r7, _080C458C @ =gUnknown_02038694
- ldrb r0, [r7]
- movs r6, 0x64
- muls r0, r6
- ldr r5, _080C4590 @ =gPlayerParty
- adds r0, r5
- movs r1, 0x33
- bl GetMonData
- strb r0, [r4]
- mov r0, sp
- ldrb r2, [r0]
- ldr r0, _080C4594 @ =gSpecialVar_ContestRank
- ldrh r0, [r0]
- cmp r2, r0
- bhi _080C465E
- cmp r2, 0x3
- bhi _080C465E
- mov r1, sp
- adds r0, r2, 0x1
- strb r0, [r1]
- ldrb r0, [r7]
- muls r0, r6
- adds r0, r5
- movs r1, 0x33
- b _080C4610
- .align 2, 0
-_080C458C: .4byte gUnknown_02038694
-_080C4590: .4byte gPlayerParty
-_080C4594: .4byte gSpecialVar_ContestRank
-_080C4598:
- mov r4, sp
- ldr r7, _080C45D0 @ =gUnknown_02038694
- ldrb r0, [r7]
- movs r6, 0x64
- muls r0, r6
- ldr r5, _080C45D4 @ =gPlayerParty
- adds r0, r5
- movs r1, 0x34
- bl GetMonData
- strb r0, [r4]
- mov r0, sp
- ldrb r2, [r0]
- ldr r0, _080C45D8 @ =gSpecialVar_ContestRank
- ldrh r0, [r0]
- cmp r2, r0
- bhi _080C465E
- cmp r2, 0x3
- bhi _080C465E
- mov r1, sp
- adds r0, r2, 0x1
- strb r0, [r1]
- ldrb r0, [r7]
- muls r0, r6
- adds r0, r5
- movs r1, 0x34
- b _080C4610
- .align 2, 0
-_080C45D0: .4byte gUnknown_02038694
-_080C45D4: .4byte gPlayerParty
-_080C45D8: .4byte gSpecialVar_ContestRank
-_080C45DC:
- mov r4, sp
- ldr r7, _080C4618 @ =gUnknown_02038694
- ldrb r0, [r7]
- movs r6, 0x64
- muls r0, r6
- ldr r5, _080C461C @ =gPlayerParty
- adds r0, r5
- movs r1, 0x35
- bl GetMonData
- strb r0, [r4]
- mov r0, sp
- ldrb r2, [r0]
- ldr r0, _080C4620 @ =gSpecialVar_ContestRank
- ldrh r0, [r0]
- cmp r2, r0
- bhi _080C465E
- cmp r2, 0x3
- bhi _080C465E
- mov r1, sp
- adds r0, r2, 0x1
- strb r0, [r1]
- ldrb r0, [r7]
- muls r0, r6
- adds r0, r5
- movs r1, 0x35
-_080C4610:
- mov r2, sp
- bl SetMonData
- b _080C465E
- .align 2, 0
-_080C4618: .4byte gUnknown_02038694
-_080C461C: .4byte gPlayerParty
-_080C4620: .4byte gSpecialVar_ContestRank
-_080C4624:
- mov r4, sp
- ldr r7, _080C4668 @ =gUnknown_02038694
- ldrb r0, [r7]
- movs r6, 0x64
- muls r0, r6
- ldr r5, _080C466C @ =gPlayerParty
- adds r0, r5
- movs r1, 0x36
- bl GetMonData
- strb r0, [r4]
- mov r0, sp
- ldrb r2, [r0]
- ldr r0, _080C4670 @ =gSpecialVar_ContestRank
- ldrh r0, [r0]
- cmp r2, r0
- bhi _080C465E
- cmp r2, 0x3
- bhi _080C465E
- mov r1, sp
- adds r0, r2, 0x1
- strb r0, [r1]
- ldrb r0, [r7]
- muls r0, r6
- adds r0, r5
- movs r1, 0x36
- mov r2, sp
- bl SetMonData
-_080C465E:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C4668: .4byte gUnknown_02038694
-_080C466C: .4byte gPlayerParty
-_080C4670: .4byte gSpecialVar_ContestRank
- thumb_func_end sub_80C44C0
-
- thumb_func_start sub_80C4674
-sub_80C4674: @ 80C4674
- push {r4,lr}
- adds r4, r0, 0
- bl StringCopy
- ldrb r0, [r4]
- cmp r0, 0xFC
- bne _080C4690
- ldrb r0, [r4, 0x1]
- cmp r0, 0x15
- bne _080C4690
- adds r0, r4, 0
- movs r1, 0x1
- bl ConvertInternationalString
-_080C4690:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80C4674
-
- thumb_func_start sub_80C4698
-sub_80C4698: @ 80C4698
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r1, r4, 6
- ldr r0, _080C46E0 @ =gContestMons + 0x2
- adds r1, r0
- adds r0, r5, 0
- bl StringCopy
- ldr r0, _080C46E4 @ =gIsLinkContest
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080C46DA
- ldr r0, _080C46E8 @ =gLinkPlayers
- lsls r1, r4, 3
- subs r1, r4
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x1A]
- cmp r0, 0x1
- bne _080C46DA
- adds r0, r5, 0
- bl sub_80C86A0
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl ConvertInternationalString
-_080C46DA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C46E0: .4byte gContestMons + 0x2
-_080C46E4: .4byte gIsLinkContest
-_080C46E8: .4byte gLinkPlayers
- thumb_func_end sub_80C4698
-
- thumb_func_start sub_80C46EC
-sub_80C46EC: @ 80C46EC
- push {lr}
- ldr r0, _080C4710 @ =gIsLinkContest
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080C4720
- ldr r0, _080C4714 @ =gStringVar1
- ldr r1, _080C4718 @ =gSpecialVar_0x8006
- ldrh r2, [r1]
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- ldr r2, _080C471C @ =gLinkPlayers + 0x8
- adds r1, r2
- bl sub_80C4674
- b _080C4730
- .align 2, 0
-_080C4710: .4byte gIsLinkContest
-_080C4714: .4byte gStringVar1
-_080C4718: .4byte gSpecialVar_0x8006
-_080C471C: .4byte gLinkPlayers + 0x8
-_080C4720:
- ldr r0, _080C4734 @ =gStringVar1
- ldr r1, _080C4738 @ =gSpecialVar_0x8006
- ldrh r1, [r1]
- lsls r1, 6
- ldr r2, _080C473C @ =gUnknown_0203857D
- adds r1, r2
- bl sub_80C4674
-_080C4730:
- pop {r0}
- bx r0
- .align 2, 0
-_080C4734: .4byte gStringVar1
-_080C4738: .4byte gSpecialVar_0x8006
-_080C473C: .4byte gUnknown_0203857D
- thumb_func_end sub_80C46EC
-
- thumb_func_start sub_80C4740
-sub_80C4740: @ 80C4740
- push {lr}
- ldr r0, _080C4750 @ =gStringVar3
- ldr r1, _080C4754 @ =gSpecialVar_0x8006
- ldrb r1, [r1]
- bl sub_80C4698
- pop {r0}
- bx r0
- .align 2, 0
-_080C4750: .4byte gStringVar3
-_080C4754: .4byte gSpecialVar_0x8006
- thumb_func_end sub_80C4740
-
- thumb_func_start sub_80C4758
-sub_80C4758: @ 80C4758
- push {r4-r6,lr}
- movs r1, 0
- movs r2, 0
- ldr r5, _080C4794 @ =gSpecialVar_0x8004
- ldr r4, _080C4798 @ =gUnknown_02038670
- ldr r0, _080C479C @ =gSpecialVar_0x8006
- ldrh r0, [r0]
- lsls r0, 1
- adds r0, r4
- movs r6, 0
- ldrsh r3, [r0, r6]
-_080C476E:
- lsls r0, r1, 1
- adds r0, r4
- movs r6, 0
- ldrsh r0, [r0, r6]
- cmp r3, r0
- bge _080C4780
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
-_080C4780:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _080C476E
- strh r2, [r5]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C4794: .4byte gSpecialVar_0x8004
-_080C4798: .4byte gUnknown_02038670
-_080C479C: .4byte gSpecialVar_0x8006
- thumb_func_end sub_80C4758
-
- thumb_func_start sub_80C47A0
-sub_80C47A0: @ 80C47A0
- ldr r2, _080C47B4 @ =gSpecialVar_0x8004
- ldr r1, _080C47B8 @ =gUnknown_02038670
- ldr r0, _080C47BC @ =gSpecialVar_0x8006
- ldrh r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r2]
- bx lr
- .align 2, 0
-_080C47B4: .4byte gSpecialVar_0x8004
-_080C47B8: .4byte gUnknown_02038670
-_080C47BC: .4byte gSpecialVar_0x8006
- thumb_func_end sub_80C47A0
-
- thumb_func_start sub_80C47C0
-sub_80C47C0: @ 80C47C0
- push {lr}
- movs r1, 0
- ldr r2, _080C47E8 @ =gContestFinalStandings
- ldrb r0, [r2]
- ldr r3, _080C47EC @ =gSpecialVar_0x8005
- cmp r0, 0
- beq _080C47E0
-_080C47CE:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bhi _080C47E0
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080C47CE
-_080C47E0:
- strh r1, [r3]
- pop {r0}
- bx r0
- .align 2, 0
-_080C47E8: .4byte gContestFinalStandings
-_080C47EC: .4byte gSpecialVar_0x8005
- thumb_func_end sub_80C47C0
-
- thumb_func_start sub_80C47F0
-sub_80C47F0: @ 80C47F0
- push {r4,lr}
- movs r2, 0
- ldr r3, _080C4830 @ =gContestFinalStandings
- ldrb r0, [r3]
- ldr r1, _080C4834 @ =gIsLinkContest
- ldr r4, _080C4838 @ =gStringVar3
- cmp r0, 0
- beq _080C4812
-_080C4800:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bhi _080C4812
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _080C4800
-_080C4812:
- ldrb r1, [r1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080C4840
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- ldr r0, _080C483C @ =gLinkPlayers + 0x8
- adds r1, r0
- adds r0, r4, 0
- bl sub_80C4674
- b _080C484C
- .align 2, 0
-_080C4830: .4byte gContestFinalStandings
-_080C4834: .4byte gIsLinkContest
-_080C4838: .4byte gStringVar3
-_080C483C: .4byte gLinkPlayers + 0x8
-_080C4840:
- lsls r1, r2, 6
- ldr r0, _080C4854 @ =gUnknown_0203857D
- adds r1, r0
- adds r0, r4, 0
- bl sub_80C4674
-_080C484C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C4854: .4byte gUnknown_0203857D
- thumb_func_end sub_80C47F0
-
- thumb_func_start sub_80C4858
-sub_80C4858: @ 80C4858
- push {lr}
- movs r1, 0
- ldr r2, _080C4884 @ =gContestFinalStandings
- ldrb r0, [r2]
- ldr r3, _080C4888 @ =gStringVar1
- cmp r0, 0
- beq _080C4878
-_080C4866:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bhi _080C4878
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080C4866
-_080C4878:
- adds r0, r3, 0
- bl sub_80C4698
- pop {r0}
- bx r0
- .align 2, 0
-_080C4884: .4byte gContestFinalStandings
-_080C4888: .4byte gStringVar1
- thumb_func_end sub_80C4858
-
- thumb_func_start sub_80C488C
-sub_80C488C: @ 80C488C
- push {lr}
- ldr r0, _080C4898 @ =CB2_StartContest
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080C4898: .4byte CB2_StartContest
- thumb_func_end sub_80C488C
-
- thumb_func_start sub_80C489C
-sub_80C489C: @ 80C489C
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _080C48C0 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080C48BA
- adds r0, r2, 0
- bl DestroyTask
- ldr r0, _080C48C4 @ =sub_80C488C
- bl SetMainCallback2
-_080C48BA:
- pop {r0}
- bx r0
- .align 2, 0
-_080C48C0: .4byte gPaletteFade
-_080C48C4: .4byte sub_80C488C
- thumb_func_end sub_80C489C
-
- thumb_func_start sub_80C48C8
-sub_80C48C8: @ 80C48C8
- push {lr}
- sub sp, 0x4
- bl ScriptContext2_Enable
- ldr r0, _080C48F0 @ =sub_80C489C
- movs r1, 0xA
- bl CreateTask
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080C48F0: .4byte sub_80C489C
- thumb_func_end sub_80C48C8
-
- thumb_func_start sub_80C48F4
-sub_80C48F4: @ 80C48F4
- ldr r2, _080C4908 @ =gSpecialVar_0x8004
- ldr r1, _080C490C @ =gContestMons
- ldr r0, _080C4910 @ =gSpecialVar_0x8006
- ldrh r0, [r0]
- lsls r0, 6
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r2]
- bx lr
- .align 2, 0
-_080C4908: .4byte gSpecialVar_0x8004
-_080C490C: .4byte gContestMons
-_080C4910: .4byte gSpecialVar_0x8006
- thumb_func_end sub_80C48F4
-
- thumb_func_start sub_80C4914
-sub_80C4914: @ 80C4914
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _080C4938 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080C4932
- adds r0, r2, 0
- bl DestroyTask
- ldr r0, _080C493C @ =sub_80C2358
- bl SetMainCallback2
-_080C4932:
- pop {r0}
- bx r0
- .align 2, 0
-_080C4938: .4byte gPaletteFade
-_080C493C: .4byte sub_80C2358
- thumb_func_end sub_80C4914
-
- thumb_func_start sub_80C4940
-sub_80C4940: @ 80C4940
- push {lr}
- sub sp, 0x4
- bl ScriptContext2_Enable
- ldr r0, _080C4968 @ =sub_80C4914
- movs r1, 0xA
- bl CreateTask
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080C4968: .4byte sub_80C4914
- thumb_func_end sub_80C4940
-
- thumb_func_start sub_80C496C
-sub_80C496C: @ 80C496C
- ldr r0, _080C4978 @ =gSpecialVar_0x8004
- ldr r1, _080C497C @ =gContestPlayerMonIndex
- ldrb r1, [r1]
- strh r1, [r0]
- bx lr
- .align 2, 0
-_080C4978: .4byte gSpecialVar_0x8004
-_080C497C: .4byte gContestPlayerMonIndex
- thumb_func_end sub_80C496C
-
- thumb_func_start sub_80C4980
-sub_80C4980: @ 80C4980
- push {r4-r6,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- bl ScriptContext2_Enable
- ldr r6, _080C49B8 @ =sub_80C8604
- adds r0, r6, 0
- movs r1, 0
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r2, _080C49BC @ =sub_80C49C4
- adds r0, r4, 0
- adds r1, r6, 0
- bl SetTaskFuncWithFollowupFunc
- ldr r1, _080C49C0 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x1A]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C49B8: .4byte sub_80C8604
-_080C49BC: .4byte sub_80C49C4
-_080C49C0: .4byte gTasks
- thumb_func_end sub_80C4980
-
- thumb_func_start sub_80C49C4
-sub_80C49C4: @ 80C49C4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080C49E4 @ =gUnknown_02038694
- ldrb r0, [r0]
- bl Contest_CreatePlayerMon
- ldr r1, _080C49E8 @ =sub_80C8734
- ldr r2, _080C49EC @ =sub_80C49F0
- adds r0, r4, 0
- bl SetTaskFuncWithFollowupFunc
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C49E4: .4byte gUnknown_02038694
-_080C49E8: .4byte sub_80C8734
-_080C49EC: .4byte sub_80C49F0
- thumb_func_end sub_80C49C4
-
- thumb_func_start sub_80C49F0
-sub_80C49F0: @ 80C49F0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080C4A04 @ =sub_80C88AC
- ldr r2, _080C4A08 @ =sub_80C4A0C
- bl SetTaskFuncWithFollowupFunc
- pop {r0}
- bx r0
- .align 2, 0
-_080C4A04: .4byte sub_80C88AC
-_080C4A08: .4byte sub_80C4A0C
- thumb_func_end sub_80C49F0
-
- thumb_func_start sub_80C4A0C
-sub_80C4A0C: @ 80C4A0C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080C4A20 @ =sub_80C8E1C
- ldr r2, _080C4A24 @ =sub_80C4A28
- bl SetTaskFuncWithFollowupFunc
- pop {r0}
- bx r0
- .align 2, 0
-_080C4A20: .4byte sub_80C8E1C
-_080C4A24: .4byte sub_80C4A28
- thumb_func_end sub_80C4A0C
-
- thumb_func_start sub_80C4A28
-sub_80C4A28: @ 80C4A28
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080C4A3C @ =sub_80C8938
- ldr r2, _080C4A40 @ =sub_80C4A44
- bl SetTaskFuncWithFollowupFunc
- pop {r0}
- bx r0
- .align 2, 0
-_080C4A3C: .4byte sub_80C8938
-_080C4A40: .4byte sub_80C4A44
- thumb_func_end sub_80C4A28
-
- thumb_func_start sub_80C4A44
-sub_80C4A44: @ 80C4A44
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r5, r0, 24
- movs r3, 0
- ldr r0, _080C4AA0 @ =gSpecialVar_0x8004
- mov r8, r0
- add r1, sp, 0x4
- mov r12, r1
- lsls r1, r5, 2
- adds r0, r1, r5
- lsls r4, r0, 3
- ldr r6, _080C4AA4 @ =gTasks + 0x8
- adds r7, r1, 0
-_080C4A64:
- mov r0, sp
- adds r2, r0, r3
- adds r1, r3, 0x1
- lsls r0, r1, 1
- adds r0, r4
- adds r0, r6
- ldrh r0, [r0]
- strb r0, [r2]
- lsls r1, 24
- lsrs r3, r1, 24
- cmp r3, 0x3
- bls _080C4A64
- movs r3, 0
- mov r2, sp
-_080C4A80:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bhi _080C4A96
- mov r0, sp
- adds r1, r0, r3
- ldrb r0, [r2]
- ldrb r1, [r1]
- cmp r0, r1
- beq _080C4A80
-_080C4A96:
- cmp r3, 0x4
- bne _080C4AA8
- movs r0, 0
- b _080C4AAA
- .align 2, 0
-_080C4AA0: .4byte gSpecialVar_0x8004
-_080C4AA4: .4byte gTasks + 0x8
-_080C4AA8:
- movs r0, 0x1
-_080C4AAA:
- mov r1, r8
- strh r0, [r1]
- movs r3, 0
- mov r4, r12
- adds r0, r7, r5
- lsls r2, r0, 3
- ldr r6, _080C4AF8 @ =gTasks + 0x8
-_080C4AB8:
- adds r1, r4, r3
- adds r0, r3, 0x5
- lsls r0, 1
- adds r0, r2
- adds r0, r6
- ldrh r0, [r0]
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _080C4AB8
- mov r0, r12
- bl sub_80C4B34
- ldr r1, _080C4AFC @ =gUnknown_0203869B
- strb r0, [r1]
- ldr r0, _080C4B00 @ =gSpecialVar_ContestCategory
- ldrb r0, [r0]
- bl sub_80AE82C
- ldr r1, _080C4B04 @ =sub_80C8EBC
- ldr r2, _080C4B08 @ =sub_80C4B0C
- adds r0, r5, 0
- bl SetTaskFuncWithFollowupFunc
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C4AF8: .4byte gTasks + 0x8
-_080C4AFC: .4byte gUnknown_0203869B
-_080C4B00: .4byte gSpecialVar_ContestCategory
-_080C4B04: .4byte sub_80C8EBC
-_080C4B08: .4byte sub_80C4B0C
- thumb_func_end sub_80C4A44
-
- thumb_func_start sub_80C4B0C
-sub_80C4B0C: @ 80C4B0C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- bl sub_80B0F28
- ldr r1, _080C4B2C @ =sub_80C8F34
- ldr r2, _080C4B30 @ =sub_80C4B5C
- adds r0, r4, 0
- bl SetTaskFuncWithFollowupFunc
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C4B2C: .4byte sub_80C8F34
-_080C4B30: .4byte sub_80C4B5C
- thumb_func_end sub_80C4B0C
-
- thumb_func_start sub_80C4B34
-sub_80C4B34: @ 80C4B34
- push {r4,lr}
- adds r3, r0, 0
- movs r4, 0
- movs r2, 0x1
-_080C4B3C:
- adds r0, r3, r4
- adds r1, r3, r2
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bcs _080C4B4C
- lsls r0, r2, 24
- lsrs r4, r0, 24
-_080C4B4C:
- adds r2, 0x1
- cmp r2, 0x3
- ble _080C4B3C
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80C4B34
-
- thumb_func_start sub_80C4B5C
-sub_80C4B5C: @ 80C4B5C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080C4B84 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0x1
- bne _080C4B90
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _080C4B9E
- ldr r0, _080C4B88 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080C4B8C @ =sub_80C4BA4
- str r0, [r1]
- b _080C4B9E
- .align 2, 0
-_080C4B84: .4byte gSpecialVar_0x8004
-_080C4B88: .4byte gTasks
-_080C4B8C: .4byte sub_80C4BA4
-_080C4B90:
- adds r0, r4, 0
- bl DestroyTask
- bl ScriptContext2_Disable
- bl EnableBothScriptContexts
-_080C4B9E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80C4B5C
-
- thumb_func_start sub_80C4BA4
-sub_80C4BA4: @ 80C4BA4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_800832C
- ldr r1, _080C4BC4 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080C4BC8 @ =sub_80C4BCC
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C4BC4: .4byte gTasks
-_080C4BC8: .4byte sub_80C4BCC
- thumb_func_end sub_80C4BA4
-
- thumb_func_start sub_80C4BCC
-sub_80C4BCC: @ 80C4BCC
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _080C4BEC @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _080C4BE8
- adds r0, r1, 0
- bl DestroyTask
- bl ScriptContext2_Disable
- bl EnableBothScriptContexts
-_080C4BE8:
- pop {r0}
- bx r0
- .align 2, 0
-_080C4BEC: .4byte gReceivedRemoteLinkPlayers
- thumb_func_end sub_80C4BCC
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm-de/contest_link_80C857C.s b/asm-de/contest_link_80C857C.s
deleted file mode 100644
index e3a8b674d..000000000
--- a/asm-de/contest_link_80C857C.s
+++ /dev/null
@@ -1,1408 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80C857C
-sub_80C857C: @ 80C857C
- push {r4,r5,lr}
- adds r2, r0, 0
- lsls r4, r1, 16
- lsrs r4, 16
- ldr r5, _080C85A8 @ =gSharedMem + 0x1E000
- adds r0, r5, 0
- adds r1, r2, 0
- adds r2, r4, 0
- bl memcpy
- bl bitmask_all_link_players_but_self
- lsls r0, 24
- lsrs r0, 24
- adds r1, r5, 0
- adds r2, r4, 0
- bl SendBlock
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C85A8: .4byte gSharedMem + 0x1E000
- thumb_func_end sub_80C857C
-
- thumb_func_start sub_80C85AC
-sub_80C85AC: @ 80C85AC
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x80
- lsls r1, 17
- lsls r1, r0
- lsrs r4, r1, 24
- bl GetBlockReceivedStatus
- adds r1, r4, 0
- ands r1, r0
- cmp r1, 0
- beq _080C85D0
- adds r0, r4, 0
- bl ResetBlockReceivedFlag
- movs r0, 0x1
- b _080C85D2
-_080C85D0:
- movs r0, 0
-_080C85D2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80C85AC
-
- thumb_func_start sub_80C85D8
-sub_80C85D8: @ 80C85D8
- push {r4,lr}
- movs r4, 0
-_080C85DC:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- asrs r0, r4
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080C85F2
- movs r0, 0
- b _080C85FE
-_080C85F2:
- adds r4, 0x1
- cmp r4, 0x3
- ble _080C85DC
- bl ResetBlockReceivedFlags
- movs r0, 0x1
-_080C85FE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80C85D8
-
- thumb_func_start sub_80C8604
-sub_80C8604: @ 80C8604
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C861C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r0, [r1, 0x8]
- ldr r0, _080C8620 @ =sub_80C8644
- str r0, [r1]
- bx lr
- .align 2, 0
-_080C861C: .4byte gTasks
-_080C8620: .4byte sub_80C8644
- thumb_func_end sub_80C8604
-
- thumb_func_start sub_80C8644
-sub_80C8644: @ 80C8644
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C8658 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _080C865C @ =sub_80C8660
- str r0, [r1]
- bx lr
- .align 2, 0
-_080C8658: .4byte gTasks
-_080C865C: .4byte sub_80C8660
- thumb_func_end sub_80C8644
-
- thumb_func_start sub_80C8660
-sub_80C8660: @ 80C8660
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080C8694 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C868E
- bl GetMultiplayerId
- ldr r1, _080C8698 @ =gContestPlayerMonIndex
- strb r0, [r1]
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _080C868E
- ldr r1, _080C869C @ =gIsLinkContest
- movs r0, 0x1
- strb r0, [r1]
- adds r0, r4, 0
- bl SwitchTaskToFollowupFunc
-_080C868E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C8694: .4byte gReceivedRemoteLinkPlayers
-_080C8698: .4byte gContestPlayerMonIndex
-_080C869C: .4byte gIsLinkContest
- thumb_func_end sub_80C8660
-
- thumb_func_start sub_80C86A0
-sub_80C86A0: @ 80C86A0
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r5, 0x5
- ldrb r0, [r4]
- cmp r0, 0xFC
- bne _080C86B6
- ldrb r0, [r4, 0x1]
- cmp r0, 0x15
- bne _080C86B6
- movs r0, 0x5
- b _080C872C
-_080C86B6:
- adds r0, r4, 0
- bl StringLength
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x5
- bhi _080C872A
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _080C872A
-_080C86CA:
- ldrb r1, [r4]
- adds r0, r1, 0
- adds r0, 0x45
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x33
- bls _080C871E
- adds r0, r1, 0
- adds r0, 0x5F
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x9
- bls _080C871E
- adds r0, r1, 0
- cmp r0, 0
- beq _080C871E
- cmp r0, 0xAD
- beq _080C871E
- cmp r0, 0xB8
- beq _080C871E
- cmp r0, 0xAB
- beq _080C871E
- cmp r0, 0xAC
- beq _080C871E
- cmp r0, 0xB5
- beq _080C871E
- cmp r0, 0xB6
- beq _080C871E
- cmp r0, 0xBA
- beq _080C871E
- cmp r0, 0xAE
- beq _080C871E
- cmp r0, 0xB0
- beq _080C871E
- cmp r0, 0xB1
- beq _080C871E
- cmp r0, 0xB2
- beq _080C871E
- cmp r0, 0xB3
- beq _080C871E
- cmp r0, 0xB1
- bne _080C8728
-_080C871E:
- adds r4, 0x1
- ldrb r0, [r4]
- cmp r0, 0xFF
- bne _080C86CA
- b _080C872A
-_080C8728:
- movs r5, 0x1
-_080C872A:
- adds r0, r5, 0
-_080C872C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80C86A0
-
- thumb_func_start sub_80C8734
-sub_80C8734: @ 80C8734
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080C8760 @ =gTasks
- lsls r4, r5, 2
- adds r0, r4, r5
- lsls r0, 3
- adds r2, r0, r1
- movs r3, 0x8
- ldrsh r0, [r2, r3]
- cmp r0, 0x1
- beq _080C8800
- cmp r0, 0x1
- bgt _080C8764
- cmp r0, 0
- beq _080C8770
- b _080C88E0
- .align 2, 0
-_080C8760: .4byte gTasks
-_080C8764:
- cmp r0, 0x2
- bne _080C876A
- b _080C88D4_B
-_080C876A:
- cmp r0, 0x8
- beq _080C8770
- b _080C88E0
-_080C8770:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _080C87D4
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- bne _080C8786
- b _080C88EE
-_080C8786:
- ldr r0, _080C87A0 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r4, r1, r0
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080C87A4
- movs r0, 0x3
- strh r0, [r4, 0x8]
- b _080C88EE
- .align 2, 0
-_080C87A0: .4byte gTasks
-_080C87A4:
- ldr r0, _080C87C8 @ =gBlockSendBuffer
- ldr r1, _080C87CC @ =gContestPlayerMonIndex
- ldrb r1, [r1]
- lsls r1, 6
- ldr r2, _080C87D0 @ =gContestMons
- adds r1, r2
- movs r2, 0x40
- bl memcpy
- movs r0, 0
- bl de_sub_80C9274
- movs r0, 0x2
- bl sub_8007E9C
- movs r0, 0x1
- strh r0, [r4, 0x8]
- b _080C88EE
- .align 2, 0
-_080C87C8: .4byte gBlockSendBuffer
-_080C87CC: .4byte gContestPlayerMonIndex
-_080C87D0: .4byte gContestMons
-_080C87D4:
- ldr r0, _080C87F0 @ =gBlockSendBuffer
- ldr r1, _080C87F4 @ =gContestPlayerMonIndex
- ldrb r1, [r1]
- lsls r1, 6
- ldr r2, _080C87F8 @ =gContestMons
- adds r1, r2
- movs r2, 0x40
- bl memcpy
- movs r0, 0
- bl de_sub_80C9294
- ldr r1, _080C87FC @ =gTasks
- b _080C88E0
- .align 2, 0
-_080C87F0: .4byte gBlockSendBuffer
-_080C87F4: .4byte gContestPlayerMonIndex
-_080C87F8: .4byte gContestMons
-_080C87FC: .4byte gTasks
-_080C8800:
- bl sub_80C85D8
- lsls r0, 24
- cmp r0, 0
- beq _080C88EE
- movs r2, 0
- mov r8, r2
- str r4, [sp]
- ldr r0, _080C884C @ =gContestMons
- ldr r7, _080C8850 @ =gLinkPlayers
- movs r6, 0
- mov r10, r0
- movs r3, 0xFF
- mov r9, r3
-_080C881C:
- mov r0, r8
- lsls r1, r0, 8
- ldr r0, _080C8854 @ =gBlockRecvBuffer
- adds r1, r0
- mov r0, r10
- movs r2, 0x40
- bl memcpy
- ldr r1, _080C8858 @ =gContestMons + 0x2
- adds r4, r6, r1
- ldrh r0, [r7, 0x1A]
- cmp r0, 0x1
- bne _080C885C
- adds r0, r4, 0
- bl sub_80C86A0
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl ConvertInternationalString
- b _080C8872
- .align 2, 0
-_080C884C: .4byte gContestMons
-_080C8850: .4byte gLinkPlayers
-_080C8854: .4byte gBlockRecvBuffer
-_080C8858: .4byte gContestMons + 0x2
-_080C885C:
- ldrb r0, [r4, 0xA]
- cmp r0, 0xFC
- bne _080C886C
- adds r0, r4, 0
- movs r1, 0x1
- bl ConvertInternationalString
- b _080C8872
-_080C886C:
- strb r0, [r4, 0x5]
- mov r2, r9
- strb r2, [r4, 0xA]
-_080C8872:
- ldr r0, _080C88A0 @ =gUnknown_0203857D
- adds r4, r6, r0
- ldrh r0, [r7, 0x1A]
- cmp r0, 0x1
- bne _080C88A4
- mov r3, r9
- strb r3, [r4, 0x7]
- ldrb r0, [r4, 0x4]
- strb r0, [r4, 0x6]
- ldrb r0, [r4, 0x3]
- strb r0, [r4, 0x5]
- ldrb r0, [r4, 0x2]
- strb r0, [r4, 0x4]
- ldrb r0, [r4, 0x1]
- strb r0, [r4, 0x3]
- ldrb r0, [r4]
- strb r0, [r4, 0x2]
- movs r0, 0x15
- strb r0, [r4, 0x1]
- movs r0, 0xFC
- strb r0, [r4]
- b _080C88AC
- .align 2, 0
-_080C88A0: .4byte gUnknown_0203857D
-_080C88A4:
- ldrb r0, [r4, 0x7]
- strb r0, [r4, 0x5]
- mov r0, r9
- strb r0, [r4, 0x7]
-_080C88AC:
- adds r7, 0x1C
- adds r6, 0x40
- movs r1, 0x40
- add r10, r1
- movs r2, 0x1
- add r8, r2
- mov r3, r8
- cmp r3, 0x3
- ble _080C881C
- ldr r0, _080C88D0 @ =gTasks
- ldr r2, [sp]
- adds r1, r2, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _080C88EE
- .align 2, 0
-_080C88D0: .4byte gTasks
-_080C88D4_B:
- movs r0, 0
- strh r0, [r2, 0x8]
- adds r0, r5, 0
- bl SwitchTaskToFollowupFunc
- b _080C88EE
-_080C88E0:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
-_080C88EE:
- 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_80C8734
-
- thumb_func_start sub_80C88AC
-sub_80C88AC: @ 80C88AC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _080C88D4 @ =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _080C88D8
- cmp r0, 0x1
- beq _080C88FC
- movs r0, 0
- strh r0, [r5, 0x8]
- adds r0, r2, 0
- bl SwitchTaskToFollowupFunc
- b _080C8924
- .align 2, 0
-_080C88D4: .4byte gTasks
-_080C88D8:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _080C891E
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _080C8924
- ldr r0, _080C88F8 @ =gRngValue
- movs r1, 0x4
- bl sub_80C857C
- b _080C891E
- .align 2, 0
-_080C88F8: .4byte gRngValue
-_080C88FC:
- movs r0, 0
- bl sub_80C85AC
- lsls r0, 24
- cmp r0, 0
- beq _080C8924
- ldr r0, _080C892C @ =gRngValue
- ldr r4, _080C8930 @ =gBlockRecvBuffer
- adds r1, r4, 0
- movs r2, 0x4
- bl memcpy
- ldr r0, _080C8934 @ =gUnknown_03005D28
- adds r1, r4, 0
- movs r2, 0x4
- bl memcpy
-_080C891E:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_080C8924:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C892C: .4byte gRngValue
-_080C8930: .4byte gBlockRecvBuffer
-_080C8934: .4byte gUnknown_03005D28
- thumb_func_end sub_80C88AC
-
- thumb_func_start sub_80C8938
-sub_80C8938: @ 80C8938
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080C8960 @ =gTasks
- lsls r5, r4, 2
- adds r0, r5, r4
- lsls r6, r0, 3
- adds r2, r6, r1
- movs r3, 0x8
- ldrsh r0, [r2, r3]
- mov r8, r1
- cmp r0, 0x1
- beq _080C89C4
- cmp r0, 0x1
- bgt _080C8964
- cmp r0, 0
- beq _080C896C
- b _080C8A0C
- .align 2, 0
-_080C8960: .4byte gTasks
-_080C8964:
- cmp r0, 0x2
- beq _080C8A00
- cmp r0, 0x8
- bne _080C8A0C
-_080C896C:
- ldr r1, _080C89A0 @ =gBlockSendBuffer
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- mov r2, r8
- adds r4, r0, r2
- ldrh r0, [r4, 0x1A]
- strb r0, [r1]
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _080C89B6
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _080C8A1A
- movs r3, 0x8
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bne _080C89A4
- movs r0, 0x3
- strh r0, [r4, 0x8]
- b _080C8A1A
- .align 2, 0
-_080C89A0: .4byte gBlockSendBuffer
-_080C89A4:
- movs r0, 0x1
- bl de_sub_80C9274
- movs r0, 0x2
- bl sub_8007E9C
- movs r0, 0x1
- strh r0, [r4, 0x8]
- b _080C8A1A
-_080C89B6:
- movs r0, 0x1
- bl de_sub_80C9294
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080C8A1A
-_080C89C4:
- bl sub_80C85D8
- lsls r0, 24
- cmp r0, 0
- beq _080C8A1A
- movs r3, 0
- adds r7, r5, 0
- ldr r1, _080C89FC @ =gBlockRecvBuffer
- mov r0, r8
- adds r0, 0xA
- adds r2, r6, r0
- movs r5, 0x80
- lsls r5, 1
-_080C89DE:
- ldrh r0, [r1]
- strh r0, [r2]
- adds r1, r5
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, 0x3
- ble _080C89DE
- adds r1, r7, r4
- lsls r1, 3
- add r1, r8
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _080C8A1A
- .align 2, 0
-_080C89FC: .4byte gBlockRecvBuffer
-_080C8A00:
- movs r0, 0
- strh r0, [r2, 0x8]
- adds r0, r4, 0
- bl SwitchTaskToFollowupFunc
- b _080C8A1A
-_080C8A0C:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- add r0, r8
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
-_080C8A1A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80C8938
-
- thumb_func_start sub_80C89DC
-sub_80C89DC: @ 80C89DC
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _080C8A04 @ =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080C8A08
- cmp r0, 0x1
- beq _080C8A20
- movs r0, 0
- strh r0, [r4, 0x8]
- adds r0, r2, 0
- bl SwitchTaskToFollowupFunc
- b _080C8A30
- .align 2, 0
-_080C8A04: .4byte gTasks
-_080C8A08:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _080C8A30
- ldr r0, _080C8A1C @ =gContestPlayerMonIndex
- movs r1, 0x1
- bl sub_80C857C
- b _080C8A2A
- .align 2, 0
-_080C8A1C: .4byte gContestPlayerMonIndex
-_080C8A20:
- bl sub_80C85D8
- lsls r0, 24
- cmp r0, 0
- beq _080C8A30
-_080C8A2A:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080C8A30:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80C89DC
-
- thumb_func_start sub_80C8A38
-sub_80C8A38: @ 80C8A38
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r7, _080C8A60 @ =gTasks
- lsls r6, r5, 2
- adds r0, r6, r5
- lsls r0, 3
- adds r4, r0, r7
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080C8A64
- cmp r0, 0x1
- beq _080C8A94
- movs r0, 0
- strh r0, [r4, 0x8]
- adds r0, r5, 0
- bl SwitchTaskToFollowupFunc
- b _080C8AC2
- .align 2, 0
-_080C8A60: .4byte gTasks
-_080C8A64:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _080C8AC2
- ldr r0, _080C8A8C @ =gContestPlayerMonIndex
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r1, _080C8A90 @ =gSharedMem + 0x19266
- adds r0, r1
- movs r1, 0x2
- bl sub_80C857C
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080C8AC2
- .align 2, 0
-_080C8A8C: .4byte gContestPlayerMonIndex
-_080C8A90: .4byte gSharedMem + 0x19266
-_080C8A94:
- bl sub_80C85D8
- lsls r0, 24
- cmp r0, 0
- beq _080C8AC2
- ldr r1, _080C8AC8 @ =gBlockRecvBuffer
- ldr r3, _080C8ACC @ =gSharedMem + 0x19266
- movs r4, 0x80
- lsls r4, 1
- movs r2, 0x3
-_080C8AA8:
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, r4
- adds r3, 0x1C
- subs r2, 0x1
- cmp r2, 0
- bge _080C8AA8
- adds r1, r6, r5
- lsls r1, 3
- adds r1, r7
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_080C8AC2:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C8AC8: .4byte gBlockRecvBuffer
-_080C8ACC: .4byte gSharedMem + 0x19266
- thumb_func_end sub_80C8A38
-
- thumb_func_start sub_80C8AD0
-sub_80C8AD0: @ 80C8AD0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080C8AF8 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r1
- movs r3, 0x8
- ldrsh r0, [r2, r3]
- adds r3, r1, 0
- cmp r0, 0xB
- bls _080C8AEC
- b _080C8C70
-_080C8AEC:
- lsls r0, 2
- ldr r1, _080C8AFC @ =_080C8B00
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C8AF8: .4byte gTasks
-_080C8AFC: .4byte _080C8B00
- .align 2, 0
-_080C8B00:
- .4byte _080C8B30
- .4byte _080C8B4C
- .4byte _080C8B74
- .4byte _080C8B98
- .4byte _080C8BB0
- .4byte _080C8B74
- .4byte _080C8BD8
- .4byte _080C8BF0
- .4byte _080C8B74
- .4byte _080C8C18
- .4byte _080C8C30
- .4byte _080C8B74
-_080C8B30:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- bne _080C8B3C
- b _080C8C7A
-_080C8B3C:
- ldr r0, _080C8B48 @ =gUnknown_02038678
- movs r1, 0x8
- bl sub_80C857C
- b _080C8C4C
- .align 2, 0
-_080C8B48: .4byte gUnknown_02038678
-_080C8B4C:
- bl sub_80C85D8
- lsls r0, 24
- cmp r0, 0
- bne _080C8B58
- b _080C8C7A
-_080C8B58:
- ldr r0, _080C8B68 @ =gUnknown_02038678
- ldr r1, _080C8B6C @ =gUnknown_0203869B
- ldrb r1, [r1]
- lsls r1, 8
- ldr r2, _080C8B70 @ =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0x8
- b _080C8C48
- .align 2, 0
-_080C8B68: .4byte gUnknown_02038678
-_080C8B6C: .4byte gUnknown_0203869B
-_080C8B70: .4byte gBlockRecvBuffer
-_080C8B74:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r3
- ldrh r0, [r2, 0xA]
- adds r1, r0, 0x1
- strh r1, [r2, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bgt _080C8B8C
- b _080C8C7A
-_080C8B8C:
- movs r0, 0
- strh r0, [r2, 0xA]
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- b _080C8C7A
-_080C8B98:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _080C8C7A
- ldr r0, _080C8BAC @ =gUnknown_02038680
- movs r1, 0x8
- bl sub_80C857C
- b _080C8C4C
- .align 2, 0
-_080C8BAC: .4byte gUnknown_02038680
-_080C8BB0:
- bl sub_80C85D8
- lsls r0, 24
- cmp r0, 0
- beq _080C8C7A
- ldr r0, _080C8BCC @ =gUnknown_02038680
- ldr r1, _080C8BD0 @ =gUnknown_0203869B
- ldrb r1, [r1]
- lsls r1, 8
- ldr r2, _080C8BD4 @ =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0x8
- b _080C8C48
- .align 2, 0
-_080C8BCC: .4byte gUnknown_02038680
-_080C8BD0: .4byte gUnknown_0203869B
-_080C8BD4: .4byte gBlockRecvBuffer
-_080C8BD8:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _080C8C7A
- ldr r0, _080C8BEC @ =gUnknown_02038688
- movs r1, 0x8
- bl sub_80C857C
- b _080C8C4C
- .align 2, 0
-_080C8BEC: .4byte gUnknown_02038688
-_080C8BF0:
- bl sub_80C85D8
- lsls r0, 24
- cmp r0, 0
- beq _080C8C7A
- ldr r0, _080C8C0C @ =gUnknown_02038688
- ldr r1, _080C8C10 @ =gUnknown_0203869B
- ldrb r1, [r1]
- lsls r1, 8
- ldr r2, _080C8C14 @ =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0x8
- b _080C8C48
- .align 2, 0
-_080C8C0C: .4byte gUnknown_02038688
-_080C8C10: .4byte gUnknown_0203869B
-_080C8C14: .4byte gBlockRecvBuffer
-_080C8C18:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _080C8C7A
- ldr r0, _080C8C2C @ =gContestFinalStandings
- movs r1, 0x4
- bl sub_80C857C
- b _080C8C4C
- .align 2, 0
-_080C8C2C: .4byte gContestFinalStandings
-_080C8C30:
- bl sub_80C85D8
- lsls r0, 24
- cmp r0, 0
- beq _080C8C7A
- ldr r0, _080C8C60 @ =gContestFinalStandings
- ldr r1, _080C8C64 @ =gUnknown_0203869B
- ldrb r1, [r1]
- lsls r1, 8
- ldr r2, _080C8C68 @ =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0x4
-_080C8C48:
- bl memcpy
-_080C8C4C:
- ldr r1, _080C8C6C @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _080C8C7A
- .align 2, 0
-_080C8C60: .4byte gContestFinalStandings
-_080C8C64: .4byte gUnknown_0203869B
-_080C8C68: .4byte gBlockRecvBuffer
-_080C8C6C: .4byte gTasks
-_080C8C70:
- movs r0, 0
- strh r0, [r2, 0x8]
- adds r0, r4, 0
- bl SwitchTaskToFollowupFunc
-_080C8C7A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80C8AD0
-
- thumb_func_start sub_80C8C80
-sub_80C8C80: @ 80C8C80
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080C8CA8 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r1
- movs r3, 0x8
- ldrsh r0, [r2, r3]
- adds r3, r1, 0
- cmp r0, 0xB
- bls _080C8C9C
- b _080C8E0C
-_080C8C9C:
- lsls r0, 2
- ldr r1, _080C8CAC @ =_080C8CB0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C8CA8: .4byte gTasks
-_080C8CAC: .4byte _080C8CB0
- .align 2, 0
-_080C8CB0:
- .4byte _080C8CE0
- .4byte _080C8CFC
- .4byte _080C8D24
- .4byte _080C8D46
- .4byte _080C8D60
- .4byte _080C8D24
- .4byte _080C8D88
- .4byte _080C8DA0
- .4byte _080C8D24
- .4byte _080C8DB4
- .4byte _080C8DCC
- .4byte _080C8D24
-_080C8CE0:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- bne _080C8CEC
- b _080C8E16
-_080C8CEC:
- ldr r0, _080C8CF8 @ =gSharedMem + 0x19260
- movs r1, 0x70
- bl sub_80C857C
- b _080C8DE8
- .align 2, 0
-_080C8CF8: .4byte gSharedMem + 0x19260
-_080C8CFC:
- bl sub_80C85D8
- lsls r0, 24
- cmp r0, 0
- bne _080C8D08
- b _080C8E16
-_080C8D08:
- ldr r0, _080C8D18 @ =gSharedMem + 0x19260
- ldr r1, _080C8D1C @ =gUnknown_0203869B
- ldrb r1, [r1]
- lsls r1, 8
- ldr r2, _080C8D20 @ =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0x70
- b _080C8DE4
- .align 2, 0
-_080C8D18: .4byte gSharedMem + 0x19260
-_080C8D1C: .4byte gUnknown_0203869B
-_080C8D20: .4byte gBlockRecvBuffer
-_080C8D24:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r3
- ldrh r0, [r2, 0xA]
- adds r1, r0, 0x1
- strh r1, [r2, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- ble _080C8E16
- movs r0, 0
- strh r0, [r2, 0xA]
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- b _080C8E16
-_080C8D46:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _080C8E16
- ldr r0, _080C8D5C @ =gSharedMem + 0x192D0
- movs r1, 0x14
- bl sub_80C857C
- b _080C8DE8
- .align 2, 0
-_080C8D5C: .4byte gSharedMem + 0x192D0
-_080C8D60:
- bl sub_80C85D8
- lsls r0, 24
- cmp r0, 0
- beq _080C8E16
- ldr r0, _080C8D7C @ =gSharedMem + 0x192D0
- ldr r1, _080C8D80 @ =gUnknown_0203869B
- ldrb r1, [r1]
- lsls r1, 8
- ldr r2, _080C8D84 @ =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0x14
- b _080C8DE4
- .align 2, 0
-_080C8D7C: .4byte gSharedMem + 0x192D0
-_080C8D80: .4byte gUnknown_0203869B
-_080C8D84: .4byte gBlockRecvBuffer
-_080C8D88:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _080C8E16
- ldr r0, _080C8D9C @ =gSharedMem + 0x19328
- movs r1, 0x4
- bl sub_80C857C
- b _080C8DE8
- .align 2, 0
-_080C8D9C: .4byte gSharedMem + 0x19328
-_080C8DA0:
- bl sub_80C85D8
- lsls r0, 24
- cmp r0, 0
- beq _080C8E16
- ldr r0, _080C8DB0 @ =gSharedMem + 0x19328
- b _080C8DD8
- .align 2, 0
-_080C8DB0: .4byte gSharedMem + 0x19328
-_080C8DB4:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _080C8E16
- ldr r0, _080C8DC8 @ =gUnknown_02038696
- movs r1, 0x4
- bl sub_80C857C
- b _080C8DE8
- .align 2, 0
-_080C8DC8: .4byte gUnknown_02038696
-_080C8DCC:
- bl sub_80C85D8
- lsls r0, 24
- cmp r0, 0
- beq _080C8E16
- ldr r0, _080C8DFC @ =gUnknown_02038696
-_080C8DD8:
- ldr r1, _080C8E00 @ =gUnknown_0203869B
- ldrb r1, [r1]
- lsls r1, 8
- ldr r2, _080C8E04 @ =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0x4
-_080C8DE4:
- bl memcpy
-_080C8DE8:
- ldr r1, _080C8E08 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _080C8E16
- .align 2, 0
-_080C8DFC: .4byte gUnknown_02038696
-_080C8E00: .4byte gUnknown_0203869B
-_080C8E04: .4byte gBlockRecvBuffer
-_080C8E08: .4byte gTasks
-_080C8E0C:
- movs r0, 0
- strh r0, [r2, 0x8]
- adds r0, r4, 0
- bl SwitchTaskToFollowupFunc
-_080C8E16:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80C8C80
-
- thumb_func_start sub_80C8E1C
-sub_80C8E1C: @ 80C8E1C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080C8E40 @ =gTasks
- lsls r4, r5, 2
- adds r0, r4, r5
- lsls r6, r0, 3
- adds r2, r6, r1
- movs r3, 0x8
- ldrsh r0, [r2, r3]
- adds r7, r1, 0
- cmp r0, 0x1
- beq _080C8EB0
- cmp r0, 0x1
- bgt _080C8E44
- cmp r0, 0
- beq _080C8E4C
- b _080C8EF8
- .align 2, 0
-_080C8E40: .4byte gTasks
-_080C8E44:
- cmp r0, 0x2
- beq _080C8EEC
- cmp r0, 0x8
- bne _080C8EF8
-_080C8E4C:
- ldr r1, _080C8E80 @ =gBlockSendBuffer
- movs r0, 0x64
- strb r0, [r1]
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _080C8E9A
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _080C8F06
- ldr r0, _080C8E84 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r4, r1, r0
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080C8E88
- movs r0, 0x3
- strh r0, [r4, 0x8]
- b _080C8F06
- .align 2, 0
-_080C8E80: .4byte gBlockSendBuffer
-_080C8E84: .4byte gTasks
-_080C8E88:
- movs r0, 0
- bl de_sub_80C9274
- movs r0, 0x2
- bl sub_8007E9C
- movs r0, 0x1
- strh r0, [r4, 0x8]
- b _080C8F06
-_080C8E9A:
- movs r0, 0
- bl de_sub_80C9294
- ldr r0, _080C8EAC @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- b _080C8EDE
- .align 2, 0
-_080C8EAC: .4byte gTasks
-_080C8EB0:
- bl sub_80C85D8
- lsls r0, 24
- cmp r0, 0
- beq _080C8F06
- adds r1, r4, 0
- ldr r4, _080C8EE8 @ =gBlockRecvBuffer
- adds r0, r7, 0
- adds r0, 0x12
- adds r2, r6, r0
- movs r6, 0x80
- lsls r6, 1
- movs r3, 0x3
-_080C8ECA:
- ldrh r0, [r4]
- strh r0, [r2]
- adds r4, r6
- adds r2, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _080C8ECA
- adds r1, r5
- lsls r1, 3
- adds r1, r7
-_080C8EDE:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _080C8F06
- .align 2, 0
-_080C8EE8: .4byte gBlockRecvBuffer
-_080C8EEC:
- movs r0, 0
- strh r0, [r2, 0x8]
- adds r0, r5, 0
- bl SwitchTaskToFollowupFunc
- b _080C8F06
-_080C8EF8:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r7
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
-_080C8F06:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80C8E1C
-
- thumb_func_start sub_80C8EBC
-sub_80C8EBC: @ 80C8EBC
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _080C8EE4 @ =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080C8EE8_B
- cmp r0, 0x1
- beq _080C8F00
- movs r0, 0
- strh r0, [r4, 0x8]
- adds r0, r2, 0
- bl SwitchTaskToFollowupFunc
- b _080C8F22
- .align 2, 0
-_080C8EE4: .4byte gTasks
-_080C8EE8_B:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _080C8F22
- ldr r0, _080C8EFC @ =gUnknown_02038670
- movs r1, 0x8
- bl sub_80C857C
- b _080C8F1C
- .align 2, 0
-_080C8EFC: .4byte gUnknown_02038670
-_080C8F00:
- bl sub_80C85D8
- lsls r0, 24
- cmp r0, 0
- beq _080C8F22
- ldr r0, _080C8F28 @ =gUnknown_02038670
- ldr r1, _080C8F2C @ =gUnknown_0203869B
- ldrb r1, [r1]
- lsls r1, 8
- ldr r2, _080C8F30 @ =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0x8
- bl memcpy
-_080C8F1C:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080C8F22:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C8F28: .4byte gUnknown_02038670
-_080C8F2C: .4byte gUnknown_0203869B
-_080C8F30: .4byte gBlockRecvBuffer
- thumb_func_end sub_80C8EBC
-
- thumb_func_start sub_80C8F34
-sub_80C8F34: @ 80C8F34
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _080C8F5C @ =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080C8F60
- cmp r0, 0x1
- beq _080C8F78
- movs r0, 0
- strh r0, [r4, 0x8]
- adds r0, r2, 0
- bl SwitchTaskToFollowupFunc
- b _080C8F9A
- .align 2, 0
-_080C8F5C: .4byte gTasks
-_080C8F60:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _080C8F9A
- ldr r0, _080C8F74 @ =gUnknown_02038696
- movs r1, 0x4
- bl sub_80C857C
- b _080C8F94
- .align 2, 0
-_080C8F74: .4byte gUnknown_02038696
-_080C8F78:
- bl sub_80C85D8
- lsls r0, 24
- cmp r0, 0
- beq _080C8F9A
- ldr r0, _080C8FA0 @ =gUnknown_02038696
- ldr r1, _080C8FA4 @ =gUnknown_0203869B
- ldrb r1, [r1]
- lsls r1, 8
- ldr r2, _080C8FA8 @ =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0x4
- bl memcpy
-_080C8F94:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080C8F9A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C8FA0: .4byte gUnknown_02038696
-_080C8FA4: .4byte gUnknown_0203869B
-_080C8FA8: .4byte gBlockRecvBuffer
- thumb_func_end sub_80C8F34
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm-de/easy_chat.s b/asm-de/easy_chat.s
deleted file mode 100644
index 89ea03b69..000000000
--- a/asm-de/easy_chat.s
+++ /dev/null
@@ -1,10803 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80E60D8
-sub_80E60D8: @ 80E60D8
- push {r4-r7,lr}
- movs r4, 0x3
- ldr r0, _080E60F4 @ =gSpecialVar_0x8004
- ldrh r1, [r0]
- adds r7, r0, 0
- cmp r1, 0xD
- bls _080E60E8
- b _080E6284
-_080E60E8:
- lsls r0, r1, 2
- ldr r1, _080E60F8 @ =_080E60FC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E60F4: .4byte gSpecialVar_0x8004
-_080E60F8: .4byte _080E60FC
- .align 2, 0
-_080E60FC:
- .4byte _080E6134
- .4byte _080E613C
- .4byte _080E6144
- .4byte _080E614C
- .4byte _080E6154
- .4byte _080E619C
- .4byte _080E616C
- .4byte _080E61BC
- .4byte _080E61E0
- .4byte _080E61FC
- .4byte _080E6200
- .4byte _080E6214
- .4byte _080E623C
- .4byte _080E6260
-_080E6134:
- ldr r1, _080E6138 @ =gSaveBlock1 + 0x2B1C
- b _080E624C
- .align 2, 0
-_080E6138: .4byte gSaveBlock1 + 0x2B1C
-_080E613C:
- ldr r1, _080E6140 @ =gSaveBlock1 + 0x2B28
- b _080E6276
- .align 2, 0
-_080E6140: .4byte gSaveBlock1 + 0x2B28
-_080E6144:
- ldr r1, _080E6148 @ =gSaveBlock1 + 0x2B34
- b _080E624C
- .align 2, 0
-_080E6148: .4byte gSaveBlock1 + 0x2B34
-_080E614C:
- ldr r1, _080E6150 @ =gSaveBlock1 + 0x2B40
- b _080E6276
- .align 2, 0
-_080E6150: .4byte gSaveBlock1 + 0x2B40
-_080E6154:
- ldr r0, _080E6164 @ =gSpecialVar_0x8005
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E6168 @ =gSaveBlock1 + 0x2B4C
- adds r1, r0, r1
- b _080E624C
- .align 2, 0
-_080E6164: .4byte gSpecialVar_0x8005
-_080E6168: .4byte gSaveBlock1 + 0x2B4C
-_080E616C:
- ldr r0, _080E6194 @ =gSaveBlock1 + 0x2D94
- movs r2, 0
- ldr r1, _080E6198 @ =sub_80546B8
- mov r12, r1
- adds r3, r0, 0
- adds r3, 0xE
- adds r5, r0, 0x2
- adds r6, r3, 0
-_080E617C:
- lsls r0, r2, 1
- adds r1, r3, r0
- adds r0, r5, r0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x5
- bls _080E617C
- adds r1, r6, 0
- b _080E627A
- .align 2, 0
-_080E6194: .4byte gSaveBlock1 + 0x2D94
-_080E6198: .4byte sub_80546B8
-_080E619C:
- ldr r0, _080E61B0 @ =gSpecialVar_0x8005
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E61B4 @ =gSaveBlock1 + 0x273C
- adds r1, r0, r1
- ldr r0, _080E61B8 @ =gSpecialVar_0x8006
- ldrb r4, [r0]
- b _080E6276
- .align 2, 0
-_080E61B0: .4byte gSpecialVar_0x8005
-_080E61B4: .4byte gSaveBlock1 + 0x273C
-_080E61B8: .4byte gSpecialVar_0x8006
-_080E61BC:
- ldr r0, _080E61D4 @ =gSpecialVar_0x8005
- ldrh r0, [r0]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _080E61D8 @ =gSaveBlock1 + 0x2754
- adds r1, r0
- ldr r0, _080E61DC @ =gSpecialVar_0x8006
- ldrh r0, [r0]
- lsls r0, 1
- adds r1, r0
- b _080E624A
- .align 2, 0
-_080E61D4: .4byte gSpecialVar_0x8005
-_080E61D8: .4byte gSaveBlock1 + 0x2754
-_080E61DC: .4byte gSpecialVar_0x8006
-_080E61E0:
- ldr r0, _080E61F4 @ =gSpecialVar_0x8005
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E61F8 @ =gSaveBlock1 + 0x273A
- adds r1, r0, r1
- movs r4, 0
- b _080E6276
- .align 2, 0
-_080E61F4: .4byte gSpecialVar_0x8005
-_080E61F8: .4byte gSaveBlock1 + 0x273A
-_080E61FC:
- movs r1, 0
- b _080E624C
-_080E6200:
- ldr r1, _080E620C @ =gSaveBlock1 + 0x2B16
- ldr r2, _080E6210 @ =0x0000ffff
- adds r0, r2, 0
- strh r0, [r1]
- b _080E624A
- .align 2, 0
-_080E620C: .4byte gSaveBlock1 + 0x2B16
-_080E6210: .4byte 0x0000ffff
-_080E6214:
- ldr r0, _080E6230 @ =gSpecialVar_0x8005
- ldrh r0, [r0]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _080E6234 @ =gSaveBlock1 + 0x273C
- adds r1, r0
- ldr r0, _080E6238 @ =gSpecialVar_0x8006
- ldrh r0, [r0]
- lsls r0, 1
- adds r1, r0
- movs r4, 0
- b _080E6276
- .align 2, 0
-_080E6230: .4byte gSpecialVar_0x8005
-_080E6234: .4byte gSaveBlock1 + 0x273C
-_080E6238: .4byte gSpecialVar_0x8006
-_080E623C:
- ldr r0, _080E6254 @ =gSpecialVar_0x8005
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E6258 @ =gSaveBlock1 + 0x2750
- adds r1, r0, r1
-_080E624A:
- movs r4, 0x1
-_080E624C:
- ldr r0, _080E625C @ =sub_80546B8
- mov r12, r0
- b _080E627A
- .align 2, 0
-_080E6254: .4byte gSpecialVar_0x8005
-_080E6258: .4byte gSaveBlock1 + 0x2750
-_080E625C: .4byte sub_80546B8
-_080E6260:
- ldr r1, _080E628C @ =gSharedMem + 0x1000
- ldr r0, _080E6290 @ =0x00009fa8
- adds r2, r1, r0
- ldr r0, _080E6294 @ =0x0000ffff
- strh r0, [r2]
- ldr r0, _080E6298 @ =0x00009faa
- adds r1, r0
- movs r0, 0x1
- negs r0, r0
- strh r0, [r1]
- adds r1, r2, 0
-_080E6276:
- ldr r2, _080E629C @ =sub_80546B8
- mov r12, r2
-_080E627A:
- ldrb r0, [r7]
- mov r2, r12
- adds r3, r4, 0
- bl sub_80E62A0
-_080E6284:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E628C: .4byte gSharedMem + 0x1000
-_080E6290: .4byte 0x00009fa8
-_080E6294: .4byte 0x0000ffff
-_080E6298: .4byte 0x00009faa
-_080E629C: .4byte sub_80546B8
- thumb_func_end sub_80E60D8
-
- thumb_func_start sub_80E62A0
-sub_80E62A0: @ 80E62A0
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _080E62DC @ =gSharedMem + 0x1000
- str r2, [r4]
- str r1, [r4, 0x4]
- strb r0, [r4, 0x8]
- strb r3, [r4, 0xB]
- cmp r0, 0x9
- bne _080E62D0
- ldr r0, _080E62E0 @ =0x00009fa8
- adds r2, r4, r0
- str r2, [r4, 0x4]
- ldr r0, _080E62E4 @ =gSaveBlock1
- ldr r3, _080E62E8 @ =0x00002dd8
- adds r1, r0, r3
- ldrh r1, [r1]
- strh r1, [r2]
- ldr r1, _080E62EC @ =0x00002dda
- adds r0, r1
- ldrh r1, [r0]
- ldr r2, _080E62F0 @ =0x00009faa
- adds r0, r4, r2
- strh r1, [r0]
-_080E62D0:
- ldr r0, _080E62F4 @ =sub_80E62F8
- bl SetMainCallback2
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E62DC: .4byte gSharedMem + 0x1000
-_080E62E0: .4byte 0x00009fa8
-_080E62E4: .4byte gSaveBlock1
-_080E62E8: .4byte 0x00002dd8
-_080E62EC: .4byte 0x00002dda
-_080E62F0: .4byte 0x00009faa
-_080E62F4: .4byte sub_80E62F8
- thumb_func_end sub_80E62A0
-
- thumb_func_start sub_80E62F8
-sub_80E62F8: @ 80E62F8
- push {lr}
- sub sp, 0x4
- ldr r0, _080E6314 @ =gMain
- ldr r1, _080E6318 @ =0x0000043c
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x8
- bhi _080E6344
- lsls r0, 2
- ldr r1, _080E631C @ =_080E6320
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E6314: .4byte gMain
-_080E6318: .4byte 0x0000043c
-_080E631C: .4byte _080E6320
- .align 2, 0
-_080E6320:
- .4byte _080E6344
- .4byte _080E6380
- .4byte _080E638C
- .4byte _080E63A8
- .4byte _080E63AE
- .4byte _080E63B4
- .4byte _080E63BE
- .4byte _080E63D8
- .4byte _080E63EA
-_080E6344:
- movs r1, 0x80
- lsls r1, 19
- movs r0, 0
- strh r0, [r1]
- movs r0, 0
- bl SetVBlankCallback
- bl ResetPaletteFade
- bl ResetSpriteData
- bl dp12_8087EA4
- bl remove_some_task
- bl sub_80EAD08
- ldr r2, _080E637C @ =gUnknown_083DB698
- ldr r0, [r2]
- ldr r1, [r2, 0x4]
- ldr r2, [r2, 0x8]
- bl sub_80895F8
- bl FreeSpriteTileRanges
- bl FreeAllSpritePalettes
- b _080E6402
- .align 2, 0
-_080E637C: .4byte gUnknown_083DB698
-_080E6380:
- ldr r0, _080E6388 @ =gWindowConfig_81E6DA8
- bl SetUpWindowConfig
- b _080E6402
- .align 2, 0
-_080E6388: .4byte gWindowConfig_81E6DA8
-_080E638C:
- ldr r0, _080E63A0 @ =gWindowConfig_81E6D54
- bl InitMenuWindow
- ldr r0, _080E63A4 @ =gWindowConfig_81E6DA8
- bl InitMenuWindow
- bl MenuZeroFillScreen
- b _080E6402
- .align 2, 0
-_080E63A0: .4byte gWindowConfig_81E6D54
-_080E63A4: .4byte gWindowConfig_81E6DA8
-_080E63A8:
- bl sub_80E6424
- b _080E6402
-_080E63AE:
- bl sub_80E8DD8
- b _080E6402
-_080E63B4:
- bl sub_80E8218
- bl sub_80E8CEC
- b _080E6402
-_080E63BE:
- bl sub_80E69F8
- ldr r0, _080E63D0 @ =sub_80E6AA8
- bl sub_80E682C
- ldr r0, _080E63D4 @ =sub_80E6A6C
- bl SetVBlankCallback
- b _080E6402
- .align 2, 0
-_080E63D0: .4byte sub_80E6AA8
-_080E63D4: .4byte sub_80E6A6C
-_080E63D8:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _080E6402
-_080E63EA:
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xFA
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _080E6414 @ =sub_80E6A88
- bl SetMainCallback2
- ldr r0, _080E6418 @ =0x00000805
- bl FlagSet
-_080E6402:
- ldr r1, _080E641C @ =gMain
- ldr r0, _080E6420 @ =0x0000043c
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080E6414: .4byte sub_80E6A88
-_080E6418: .4byte 0x00000805
-_080E641C: .4byte gMain
-_080E6420: .4byte 0x0000043c
- thumb_func_end sub_80E62F8
-
- thumb_func_start sub_80E6424
-sub_80E6424: @ 80E6424
- push {lr}
- ldr r2, _080E6444 @ =gSharedMem + 0x1000
- ldr r0, _080E6448 @ =gUnknown_083DB6A4
- ldrb r1, [r2, 0x8]
- adds r1, r0
- ldrb r0, [r1]
- strb r0, [r2, 0x9]
- ldrb r0, [r2, 0x9]
- adds r3, r2, 0
- cmp r0, 0x5
- bhi _080E6512
- lsls r0, 2
- ldr r1, _080E644C @ =_080E6450
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E6444: .4byte gSharedMem + 0x1000
-_080E6448: .4byte gUnknown_083DB6A4
-_080E644C: .4byte _080E6450
- .align 2, 0
-_080E6450:
- .4byte _080E64A0
- .4byte _080E64B8
- .4byte _080E64DA
- .4byte _080E64F6
- .4byte _080E6468
- .4byte _080E6480
-_080E6468:
- movs r2, 0x4
- strb r2, [r3, 0xA]
- adds r0, r3, 0
- adds r0, 0x83
- movs r1, 0x2
- strb r1, [r0]
- adds r0, 0x1
- strb r1, [r0]
- adds r1, r3, 0
- adds r1, 0x88
- movs r0, 0x5
- b _080E64D0
-_080E6480:
- movs r1, 0x4
- strb r1, [r3, 0xA]
- adds r2, r3, 0
- adds r2, 0x83
- movs r0, 0x1
- strb r0, [r2]
- adds r0, r3, 0
- adds r0, 0x84
- strb r1, [r0]
- adds r1, r3, 0
- adds r1, 0x88
- movs r0, 0x10
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x2
- b _080E6510
-_080E64A0:
- movs r0, 0x6
- strb r0, [r3, 0xA]
- adds r1, r3, 0
- adds r1, 0x83
- movs r0, 0x2
- strb r0, [r1]
- adds r0, r3, 0
- adds r0, 0x84
- movs r2, 0x3
- strb r2, [r0]
- adds r1, 0x5
- b _080E64CE
-_080E64B8:
- movs r2, 0
- movs r0, 0x9
- strb r0, [r3, 0xA]
- adds r1, r3, 0
- adds r1, 0x83
- movs r0, 0x2
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x5
- strb r0, [r1]
- adds r1, 0x4
-_080E64CE:
- movs r0, 0x4
-_080E64D0:
- strh r0, [r1]
- adds r0, r3, 0
- adds r0, 0x8A
- strh r2, [r0]
- b _080E6512
-_080E64DA:
- movs r1, 0x1
- strb r1, [r3, 0xA]
- adds r0, r3, 0
- adds r0, 0x83
- strb r1, [r0]
- adds r0, 0x1
- strb r1, [r0]
- adds r1, r3, 0
- adds r1, 0x88
- movs r0, 0x10
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x4
- b _080E6510
-_080E64F6:
- movs r0, 0x2
- strb r0, [r3, 0xA]
- adds r1, r3, 0
- adds r1, 0x83
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x1
- strb r0, [r1]
- adds r1, 0x4
- movs r0, 0x5
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x3
-_080E6510:
- strh r0, [r1]
-_080E6512:
- adds r1, r3, 0
- adds r1, 0x86
- movs r0, 0
- strb r0, [r1]
- subs r1, 0x1
- strb r0, [r1]
- adds r1, 0x2
- strb r0, [r1]
- subs r1, 0x61
- strb r0, [r1]
- movs r2, 0xDD
- lsls r2, 1
- adds r1, r3, r2
- strh r0, [r1]
- movs r0, 0xDF
- lsls r0, 1
- adds r1, r3, r0
- movs r0, 0x2
- strb r0, [r1]
- bl sub_80E6554
- bl sub_80EAECC
- bl sub_80EB040
- bl sub_80E7E50
- bl sub_80E6630
- bl sub_80E6690
- pop {r0}
- bx r0
- thumb_func_end sub_80E6424
-
- thumb_func_start sub_80E6554
-sub_80E6554: @ 80E6554
- push {r4-r7,lr}
- sub sp, 0x4
- movs r4, 0
- movs r7, 0
- ldr r0, _080E6564 @ =gSharedMem + 0x1000
- mov r12, r0
- b _080E656E
- .align 2, 0
-_080E6564: .4byte gSharedMem + 0x1000
-_080E6568:
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
-_080E656E:
- movs r5, 0
- lsls r3, r7, 1
- mov r6, r12
- adds r6, 0x2A
- adds r2, r3, r6
- adds r1, r4, 0
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- strb r1, [r2]
- cmp r4, 0x11
- beq _080E65A6
-_080E6586:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bhi _080E65A2
- adds r2, r5, r3
- adds r2, r6
- adds r1, r4, 0
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- strb r1, [r2]
- cmp r4, 0x11
- bne _080E6586
-_080E65A2:
- cmp r4, 0x11
- bne _080E6568
-_080E65A6:
- movs r0, 0x11
- mov r1, r12
- strh r0, [r1, 0x28]
- cmp r4, 0x15
- bhi _080E6612
- mov r6, r12
- adds r2, r6, 0
- adds r2, 0x78
-_080E65B6:
- lsls r0, r4, 24
- lsrs r0, 24
- str r2, [sp]
- bl sub_80EAD7C
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r2, [sp]
- cmp r1, 0
- beq _080E65FC
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _080E65DC
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- movs r5, 0
-_080E65DC:
- lsls r0, r7, 1
- adds r0, r5, r0
- adds r1, r6, 0
- adds r1, 0x2A
- adds r0, r1
- strb r4, [r0]
- adds r0, r4, 0
- subs r0, 0x11
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0]
- ldrh r0, [r6, 0x28]
- adds r0, 0x1
- strh r0, [r6, 0x28]
- mov r12, r6
- b _080E6608
-_080E65FC:
- adds r0, r4, 0
- subs r0, 0x11
- adds r0, r2
- strb r1, [r0]
- ldr r0, _080E662C @ =gSharedMem + 0x1000
- mov r12, r0
-_080E6608:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x15
- bls _080E65B6
-_080E6612:
- mov r1, r12
- ldrh r0, [r1, 0x28]
- adds r0, 0x1
- asrs r0, 1
- movs r1, 0xDB
- lsls r1, 1
- add r1, r12
- strb r0, [r1]
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E662C: .4byte gSharedMem + 0x1000
- thumb_func_end sub_80E6554
-
- thumb_func_start sub_80E6630
-sub_80E6630: @ 80E6630
- push {r4-r7,lr}
- movs r1, 0
- ldr r0, _080E6664 @ =gUnknown_083DB6B2
- mov r12, r0
-_080E6638:
- lsls r0, r1, 4
- mov r2, r12
- adds r5, r0, r2
- movs r3, 0
- ldrb r0, [r5]
- adds r7, r1, 0x1
- cmp r0, 0xFF
- beq _080E6680
- lsls r0, r1, 3
- subs r0, r1
- lsls r4, r0, 1
- ldr r6, _080E6668 @ =gSharedMem + 0x1040
-_080E6650:
- adds r0, r5, r3
- ldrb r1, [r0]
- adds r2, r1, 0
- cmp r2, 0
- beq _080E666C
- adds r0, r3, r4
- adds r0, r6
- adds r1, 0x46
- strb r1, [r0]
- b _080E6672
- .align 2, 0
-_080E6664: .4byte gUnknown_083DB6B2
-_080E6668: .4byte gSharedMem + 0x1040
-_080E666C:
- adds r0, r3, r4
- adds r0, r6
- strb r2, [r0]
-_080E6672:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r5, r3
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _080E6650
-_080E6680:
- lsls r0, r7, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _080E6638
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80E6630
-
- thumb_func_start sub_80E6690
-sub_80E6690: @ 80E6690
- push {r4-r6,lr}
- sub sp, 0x10
- mov r0, sp
- ldr r1, _080E66E0 @ =gUnknown_083DB7DC
- ldm r1!, {r2-r4}
- stm r0!, {r2-r4}
- ldr r1, [r1]
- str r1, [r0]
- movs r5, 0
- ldr r6, _080E66E4 @ =gUnknown_083DB7C0
-_080E66A4:
- ldr r0, _080E66E8 @ =gSharedMem + 0x1000
- ldrb r0, [r0, 0x8]
- lsls r0, 1
- adds r0, r5, r0
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E66EC @ =gUnknown_083DB6F4
- adds r4, r0, r1
- lsls r0, r5, 3
- add r0, sp
- ldr r0, [r0]
- ldr r1, [r4]
- bl StringCopy
- adds r3, r0, 0
- ldrb r0, [r4, 0x8]
- cmp r0, 0
- beq _080E66F0
- lsls r0, r5, 1
- adds r0, 0x1
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- ldr r1, [r4, 0x4]
- bl StringCopy
- b _080E670A
- .align 2, 0
-_080E66E0: .4byte gUnknown_083DB7DC
-_080E66E4: .4byte gUnknown_083DB7C0
-_080E66E8: .4byte gSharedMem + 0x1000
-_080E66EC: .4byte gUnknown_083DB6F4
-_080E66F0:
- strb r0, [r3]
- adds r3, 0x1
- ldr r1, [r4, 0x4]
- adds r0, r3, 0
- bl StringCopy
- lsls r0, r5, 1
- adds r0, 0x1
- lsls r0, 2
- add r0, sp
- ldr r1, [r0]
- movs r0, 0xFF
- strb r0, [r1]
-_080E670A:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _080E66A4
- movs r5, 0
- ldr r3, _080E6758 @ =gSharedMem + 0x1000
- ldr r0, _080E675C @ =0x0000a0d0
- adds r2, r3, r0
- movs r1, 0
-_080E671E:
- adds r0, r5, r2
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x23
- bls _080E671E
- ldr r1, _080E675C @ =0x0000a0d0
- adds r0, r3, r1
- adds r0, r5, r0
- movs r4, 0x1
- negs r4, r4
- adds r2, r4, 0
- movs r1, 0xFF
- strb r1, [r0]
- ldr r0, _080E6760 @ =0x0000a29a
- adds r3, r0
- movs r0, 0xFC
- strb r0, [r3]
- movs r0, 0x11
- strb r0, [r3, 0x1]
- movs r0, 0xE0
- strb r0, [r3, 0x2]
- strb r2, [r3, 0x3]
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E6758: .4byte gSharedMem + 0x1000
-_080E675C: .4byte 0x0000a0d0
-_080E6760: .4byte 0x0000a29a
- thumb_func_end sub_80E6690
-
- thumb_func_start InitEasyChatPhrases
-InitEasyChatPhrases: @ 80E6764
- push {r4-r6,lr}
- movs r3, 0
- ldr r4, _080E680C @ =gSaveBlock1 + 0x2B1C
- ldr r2, _080E6810 @ =gUnknown_083DB7EC
-_080E676C:
- lsls r0, r3, 1
- adds r1, r0, r4
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _080E676C
- movs r3, 0
- ldr r4, _080E6814 @ =gSaveBlock1 + 0x2B28
- ldr r2, _080E6818 @ =gUnknown_083DB7F4
-_080E6786:
- lsls r0, r3, 1
- adds r1, r0, r4
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x5
- bls _080E6786
- movs r3, 0
- ldr r5, _080E681C @ =gSaveBlock1 + 0x2B34
- ldr r0, _080E6820 @ =0x0000ffff
- adds r4, r0, 0
- adds r6, r5, 0
- adds r6, 0xC
-_080E67A6:
- lsls r1, r3, 1
- adds r2, r1, r5
- ldrh r0, [r2]
- orrs r0, r4
- strh r0, [r2]
- adds r1, r6
- ldrh r0, [r1]
- orrs r0, r4
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x5
- bls _080E67A6
- movs r3, 0
- ldr r6, _080E6824 @ =gSaveBlock1 + 0x2B4C
- ldr r0, _080E6820 @ =0x0000ffff
- adds r5, r0, 0
-_080E67CA:
- movs r2, 0
- lsls r0, r3, 3
- adds r0, r3
- lsls r4, r0, 2
-_080E67D2:
- lsls r0, r2, 1
- adds r0, r4
- adds r0, r6
- ldrh r1, [r0]
- orrs r1, r5
- strh r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x8
- bls _080E67D2
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0xF
- bls _080E67CA
- movs r3, 0
- ldr r2, _080E6828 @ =gSaveBlock1 + 0x2D8C
- movs r1, 0
-_080E67F8:
- adds r0, r3, r2
- strb r1, [r0]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3F
- bls _080E67F8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E680C: .4byte gSaveBlock1 + 0x2B1C
-_080E6810: .4byte gUnknown_083DB7EC
-_080E6814: .4byte gSaveBlock1 + 0x2B28
-_080E6818: .4byte gUnknown_083DB7F4
-_080E681C: .4byte gSaveBlock1 + 0x2B34
-_080E6820: .4byte 0x0000ffff
-_080E6824: .4byte gSaveBlock1 + 0x2B4C
-_080E6828: .4byte gSaveBlock1 + 0x2D8C
- thumb_func_end InitEasyChatPhrases
-
- thumb_func_start sub_80E682C
-sub_80E682C: @ 80E682C
- ldr r1, _080E6838 @ =gSharedMem + 0x1000
- str r0, [r1, 0x20]
- movs r0, 0
- strh r0, [r1, 0x24]
- bx lr
- .align 2, 0
-_080E6838: .4byte gSharedMem + 0x1000
- thumb_func_end sub_80E682C
-
- thumb_func_start sub_80E683C
-sub_80E683C: @ 80E683C
- push {r4,r5,lr}
- ldr r1, _080E6890 @ =gSharedMem + 0x1000
- adds r0, r1, 0
- adds r0, 0x26
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0
- bne _080E6898
- movs r1, 0
- movs r0, 0xDB
- lsls r0, 1
- adds r3, r2, r0
- movs r0, 0
- ldrsb r0, [r3, r0]
- cmp r1, r0
- bge _080E6876
- movs r0, 0xD5
- lsls r0, 1
- adds r5, r2, r0
- movs r4, 0x2
-_080E6864:
- adds r0, r1, r5
- strb r4, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0
- ldrsb r0, [r3, r0]
- cmp r1, r0
- blt _080E6864
-_080E6876:
- adds r0, r2, r1
- ldr r1, _080E6894 @ =0x000001a9
- adds r3, r0, r1
- ldrh r0, [r2, 0x28]
- movs r1, 0x1
- ands r0, r1
- strb r0, [r3]
- cmp r0, 0
- bne _080E68B8
- movs r0, 0x2
- strb r0, [r3]
- b _080E68B8
- .align 2, 0
-_080E6890: .4byte gSharedMem + 0x1000
-_080E6894: .4byte 0x000001a9
-_080E6898:
- movs r3, 0xD5
- lsls r3, 1
- adds r1, r2, r3
- movs r0, 0x7
- strb r0, [r1]
- ldr r1, _080E68E0 @ =0x000001ab
- adds r3, r2, r1
- movs r1, 0x6
- strb r1, [r3]
- movs r3, 0xD6
- lsls r3, 1
- adds r1, r2, r3
- strb r0, [r1]
- adds r3, 0x1
- adds r1, r2, r3
- strb r0, [r1]
-_080E68B8:
- movs r0, 0xD4
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0
- strb r0, [r1]
- ldr r3, _080E68E4 @ =0x000001a9
- adds r1, r2, r3
- strb r0, [r1]
- adds r3, 0xC
- adds r1, r2, r3
- strb r0, [r1]
- adds r3, 0x2
- adds r1, r2, r3
- strb r0, [r1]
- bl sub_80E9A4C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E68E0: .4byte 0x000001ab
-_080E68E4: .4byte 0x000001a9
- thumb_func_end sub_80E683C
-
- thumb_func_start sub_80E68E8
-sub_80E68E8: @ 80E68E8
- push {r4-r6,lr}
- bl sub_80EB0B0
- ldr r3, _080E694C @ =gSharedMem + 0x1000
- adds r0, r3, 0
- adds r0, 0x26
- ldrb r0, [r0]
- cmp r0, 0
- bne _080E695C
- movs r1, 0xDC
- lsls r1, 1
- adds r0, r3, r1
- ldrb r6, [r0]
- lsls r0, r6, 1
- ldr r2, _080E6950 @ =0x000044a2
- adds r1, r3, r2
- adds r0, r1
- ldrh r0, [r0]
- adds r0, 0x1
- asrs r0, 1
- ldr r1, _080E6954 @ =0x00009d54
- adds r2, r3, r1
- strb r0, [r2]
- movs r1, 0
- movs r0, 0
- ldrsb r0, [r2, r0]
- adds r5, r3, 0
- cmp r1, r0
- bge _080E693A
- ldr r3, _080E6958 @ =0x00009cd2
- adds r4, r5, r3
- movs r3, 0x2
-_080E6928:
- adds r0, r1, r4
- strb r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r1, r0
- blt _080E6928
-_080E693A:
- subs r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r2, _080E6958 @ =0x00009cd2
- adds r0, r5, r2
- adds r2, r1, r0
- lsls r0, r6, 1
- ldr r3, _080E6950 @ =0x000044a2
- b _080E69AC
- .align 2, 0
-_080E694C: .4byte gSharedMem + 0x1000
-_080E6950: .4byte 0x000044a2
-_080E6954: .4byte 0x00009d54
-_080E6958: .4byte 0x00009cd2
-_080E695C:
- movs r1, 0xDC
- lsls r1, 1
- adds r0, r3, r1
- ldrb r6, [r0]
- lsls r0, r6, 1
- ldr r2, _080E69E0 @ =0x0000446c
- adds r1, r3, r2
- adds r0, r1
- ldrh r0, [r0]
- adds r0, 0x1
- asrs r0, 1
- ldr r1, _080E69E4 @ =0x00009d54
- adds r2, r3, r1
- strb r0, [r2]
- movs r1, 0
- movs r0, 0
- ldrsb r0, [r2, r0]
- adds r5, r3, 0
- cmp r1, r0
- bge _080E699C
- ldr r3, _080E69E8 @ =0x00009cd2
- adds r4, r5, r3
- movs r3, 0x2
-_080E698A:
- adds r0, r1, r4
- strb r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r1, r0
- blt _080E698A
-_080E699C:
- subs r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r2, _080E69E8 @ =0x00009cd2
- adds r0, r5, r2
- adds r2, r1, r0
- lsls r0, r6, 1
- ldr r3, _080E69E0 @ =0x0000446c
-_080E69AC:
- adds r1, r5, r3
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x1
- ands r0, r1
- strb r0, [r2]
- cmp r0, 0
- bne _080E69C0
- movs r0, 0x2
- strb r0, [r2]
-_080E69C0:
- ldr r1, _080E69EC @ =0x00009cd0
- adds r0, r5, r1
- movs r1, 0
- strb r1, [r0]
- ldr r2, _080E69F0 @ =0x00009cd1
- adds r0, r5, r2
- strb r1, [r0]
- ldr r3, _080E69F4 @ =0x00009d55
- adds r0, r5, r3
- strb r1, [r0]
- bl sub_80E9A4C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E69E0: .4byte 0x0000446c
-_080E69E4: .4byte 0x00009d54
-_080E69E8: .4byte 0x00009cd2
-_080E69EC: .4byte 0x00009cd0
-_080E69F0: .4byte 0x00009cd1
-_080E69F4: .4byte 0x00009d55
- thumb_func_end sub_80E68E8
-
- thumb_func_start sub_80E69F8
-sub_80E69F8: @ 80E69F8
- push {r4,lr}
- ldr r0, _080E6A10 @ =gSharedMem + 0x1000
- ldrb r1, [r0, 0x8]
- adds r4, r0, 0
- cmp r1, 0xD
- bhi _080E6A50
- lsls r0, r1, 2
- ldr r1, _080E6A14 @ =_080E6A18
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E6A10: .4byte gSharedMem + 0x1000
-_080E6A14: .4byte _080E6A18
- .align 2, 0
-_080E6A18:
- .4byte _080E6A50
- .4byte _080E6A50
- .4byte _080E6A50
- .4byte _080E6A50
- .4byte _080E6A50
- .4byte _080E6A58
- .4byte _080E6A50
- .4byte _080E6A58
- .4byte _080E6A58
- .4byte _080E6A50
- .4byte _080E6A58
- .4byte _080E6A58
- .4byte _080E6A58
- .4byte _080E6A50
-_080E6A50:
- ldrb r0, [r4, 0x8]
- bl sub_80E9368
- b _080E6A66
-_080E6A58:
- ldrb r0, [r4, 0x8]
- bl sub_80E9368
- ldrb r0, [r4, 0xB]
- ldrb r1, [r4, 0x9]
- bl sub_80E8BF4
-_080E6A66:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80E69F8
-
- thumb_func_start sub_80E6A6C
-sub_80E6A6C: @ 80E6A6C
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl sub_80EAC5C
- bl TransferPlttBuffer
- bl sub_8089668
- pop {r0}
- bx r0
- thumb_func_end sub_80E6A6C
-
- thumb_func_start sub_80E6A88
-sub_80E6A88: @ 80E6A88
- push {lr}
- ldr r0, _080E6AA4 @ =gSharedMem + 0x1000
- ldr r0, [r0, 0x20]
- bl _call_via_r0
- bl AnimateSprites
- bl BuildOamBuffer
- bl sub_80EAD08
- pop {r0}
- bx r0
- .align 2, 0
-_080E6AA4: .4byte gSharedMem + 0x1000
- thumb_func_end sub_80E6A88
-
- thumb_func_start sub_80E6AA8
-sub_80E6AA8: @ 80E6AA8
- push {lr}
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080E6ABA
- ldr r0, _080E6AC0 @ =sub_80E6AC4
- bl sub_80E682C
-_080E6ABA:
- pop {r0}
- bx r0
- .align 2, 0
-_080E6AC0: .4byte sub_80E6AC4
- thumb_func_end sub_80E6AA8
-
- thumb_func_start sub_80E6AC4
-sub_80E6AC4: @ 80E6AC4
- push {lr}
- bl sub_80E88F0
- movs r0, 0
- bl sub_80E8398
- movs r0, 0
- bl sub_80E91D4
- ldr r0, _080E6AE0 @ =sub_80E6AE4
- bl sub_80E682C
- pop {r0}
- bx r0
- .align 2, 0
-_080E6AE0: .4byte sub_80E6AE4
- thumb_func_end sub_80E6AC4
-
- thumb_func_start sub_80E6AE4
-sub_80E6AE4: @ 80E6AE4
- push {r4,r5,lr}
- bl sub_80E75D8
- ldr r4, _080E6B44 @ =gSharedMem + 0x1000
- adds r1, r4, 0
- adds r1, 0x87
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- beq _080E6AFE
- movs r0, 0x5
- bl PlaySE
-_080E6AFE:
- ldr r2, _080E6B48 @ =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- adds r5, r2, 0
- cmp r0, 0
- beq _080E6BA4
- movs r0, 0x5
- bl PlaySE
- adds r1, r4, 0
- adds r1, 0x86
- adds r0, r4, 0
- adds r0, 0x84
- ldrb r2, [r1]
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- bne _080E6B78
- adds r0, r4, 0
- adds r0, 0x85
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- beq _080E6B60
- cmp r0, 0x1
- bgt _080E6B4C
- cmp r0, 0
- beq _080E6B52
- b _080E6BA4
- .align 2, 0
-_080E6B44: .4byte gSharedMem + 0x1000
-_080E6B48: .4byte gMain
-_080E6B4C:
- cmp r0, 0x2
- beq _080E6B6C
- b _080E6BA4
-_080E6B52:
- ldr r0, _080E6B5C @ =sub_80E6BC0
- bl sub_80E682C
- b _080E6BB4
- .align 2, 0
-_080E6B5C: .4byte sub_80E6BC0
-_080E6B60:
- ldr r0, _080E6B68 @ =sub_80E6C84
- bl sub_80E682C
- b _080E6BB4
- .align 2, 0
-_080E6B68: .4byte sub_80E6C84
-_080E6B6C:
- ldr r0, _080E6B74 @ =sub_80E6D7C
- bl sub_80E682C
- b _080E6BB4
- .align 2, 0
-_080E6B74: .4byte sub_80E6D7C
-_080E6B78:
- adds r0, r4, 0
- adds r0, 0x83
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r1, 0x85
- adds r3, r0, 0
- muls r3, r2
- adds r0, r3, 0
- ldrb r1, [r1]
- adds r0, r1
- adds r1, r4, 0
- adds r1, 0x27
- strb r0, [r1]
- bl sub_80E7574
- ldr r0, _080E6BA0 @ =sub_80E6F68
- bl sub_80E682C
- b _080E6BB4
- .align 2, 0
-_080E6BA0: .4byte sub_80E6F68
-_080E6BA4:
- ldrh r1, [r5, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080E6BB4
- ldr r0, _080E6BBC @ =sub_80E6C84
- bl sub_80E682C
-_080E6BB4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E6BBC: .4byte sub_80E6C84
- thumb_func_end sub_80E6AE4
-
- thumb_func_start sub_80E6BC0
-sub_80E6BC0: @ 80E6BC0
- push {r4,lr}
- ldr r4, _080E6BD4 @ =gSharedMem + 0x1000
- ldrh r0, [r4, 0x24]
- cmp r0, 0x1
- beq _080E6C12
- cmp r0, 0x1
- bgt _080E6BD8
- cmp r0, 0
- beq _080E6BE2
- b _080E6C76
- .align 2, 0
-_080E6BD4: .4byte gSharedMem + 0x1000
-_080E6BD8:
- cmp r0, 0x2
- beq _080E6C54
- cmp r0, 0x64
- beq _080E6C64
- b _080E6C76
-_080E6BE2:
- movs r0, 0x2
- bl sub_80E8398
- ldrb r0, [r4, 0x8]
- cmp r0, 0x6
- bne _080E6BFA
- movs r0, 0x6
- bl sub_80E91D4
- movs r0, 0x64
- strh r0, [r4, 0x24]
- b _080E6C76
-_080E6BFA:
- movs r0, 0x2
- bl sub_80E91D4
- movs r0, 0x17
- movs r1, 0x8
- movs r2, 0x1
- bl DisplayYesNoMenu
- movs r0, 0x1
- bl MoveMenuCursor
- b _080E6C3E
-_080E6C12:
- bl ProcessMenuInputNoWrap_
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080E6C32
- cmp r1, 0
- bgt _080E6C2C
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080E6C46
- b _080E6C76
-_080E6C2C:
- cmp r1, 0x1
- beq _080E6C46
- b _080E6C76
-_080E6C32:
- bl sub_80E7D6C
- bl sub_80E98C4
- bl sub_80E95A4
-_080E6C3E:
- ldrh r0, [r4, 0x24]
- adds r0, 0x1
- strh r0, [r4, 0x24]
- b _080E6C76
-_080E6C46:
- ldr r1, _080E6C50 @ =gSharedMem + 0x1000
- ldrh r0, [r1, 0x24]
- adds r0, 0x1
- strh r0, [r1, 0x24]
- b _080E6C76
- .align 2, 0
-_080E6C50: .4byte gSharedMem + 0x1000
-_080E6C54:
- bl sub_80E81FC
- ldr r0, _080E6C60 @ =sub_80E6AC4
- bl sub_80E682C
- b _080E6C76
- .align 2, 0
-_080E6C60: .4byte sub_80E6AC4
-_080E6C64:
- ldr r0, _080E6C7C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _080E6C76
- ldr r0, _080E6C80 @ =sub_80E6AC4
- bl sub_80E682C
-_080E6C76:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E6C7C: .4byte gMain
-_080E6C80: .4byte sub_80E6AC4
- thumb_func_end sub_80E6BC0
-
- thumb_func_start sub_80E6C84
-sub_80E6C84: @ 80E6C84
- push {r4,lr}
- ldr r4, _080E6C98 @ =gSharedMem + 0x1000
- ldrh r0, [r4, 0x24]
- cmp r0, 0x1
- beq _080E6CF4
- cmp r0, 0x1
- bgt _080E6C9C
- cmp r0, 0
- beq _080E6CA6
- b _080E6D72
- .align 2, 0
-_080E6C98: .4byte gSharedMem + 0x1000
-_080E6C9C:
- cmp r0, 0x2
- beq _080E6D24
- cmp r0, 0xFF
- beq _080E6D64
- b _080E6D72
-_080E6CA6:
- movs r0, 0x2
- bl sub_80E8398
- movs r0, 0x3
- bl sub_80E91D4
- movs r0, 0x17
- movs r1, 0x8
- movs r2, 0
- bl DisplayYesNoMenu
- movs r0, 0x1
- bl MoveMenuCursor
- ldrb r0, [r4, 0x8]
- cmp r0, 0x9
- beq _080E6CE8
- cmp r0, 0x4
- beq _080E6CE8
- cmp r0, 0x7
- beq _080E6CE8
- cmp r0, 0x8
- beq _080E6CE8
- cmp r0, 0xA
- beq _080E6CE8
- cmp r0, 0xB
- beq _080E6CE8
- cmp r0, 0xC
- beq _080E6CE8
- cmp r0, 0x5
- beq _080E6CE8
- cmp r0, 0xD
- bne _080E6D1C
-_080E6CE8:
- ldr r1, _080E6CF0 @ =gSharedMem + 0x1000
- movs r0, 0x2
- strh r0, [r1, 0x24]
- b _080E6D72
- .align 2, 0
-_080E6CF0: .4byte gSharedMem + 0x1000
-_080E6CF4:
- bl ProcessMenuInputNoWrap_
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080E6D06
- cmp r1, 0
- ble _080E6D34
- b _080E6D3E
-_080E6D06:
- movs r0, 0x4
- bl sub_80E91D4
- movs r0, 0x17
- movs r1, 0x8
- movs r2, 0
- bl DisplayYesNoMenu
- movs r0, 0x1
- bl MoveMenuCursor
-_080E6D1C:
- ldrh r0, [r4, 0x24]
- adds r0, 0x1
- strh r0, [r4, 0x24]
- b _080E6D72
-_080E6D24:
- bl ProcessMenuInputNoWrap_
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080E6D44
- cmp r1, 0
- bgt _080E6D3E
-_080E6D34:
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080E6D58
- b _080E6D72
-_080E6D3E:
- cmp r1, 0x1
- beq _080E6D58
- b _080E6D72
-_080E6D44:
- ldr r0, _080E6D50 @ =gSpecialVar_Result
- strh r1, [r0]
- ldr r0, _080E6D54 @ =sub_80E752C
- bl sub_80E682C
- b _080E6D72
- .align 2, 0
-_080E6D50: .4byte gSpecialVar_Result
-_080E6D54: .4byte sub_80E752C
-_080E6D58:
- ldr r1, _080E6D60 @ =gSharedMem + 0x1000
- movs r0, 0xFF
- strh r0, [r1, 0x24]
- b _080E6D72
- .align 2, 0
-_080E6D60: .4byte gSharedMem + 0x1000
-_080E6D64:
- bl HandleDestroyMenuCursors
- bl sub_80E81FC
- ldr r0, _080E6D78 @ =sub_80E6AC4
- bl sub_80E682C
-_080E6D72:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E6D78: .4byte sub_80E6AC4
- thumb_func_end sub_80E6C84
-
- thumb_func_start sub_80E6D7C
-sub_80E6D7C: @ 80E6D7C
- push {r4-r7,lr}
- ldr r5, _080E6D98 @ =gSharedMem + 0x1000
- ldrh r0, [r5, 0x24]
- cmp r0, 0xA
- bne _080E6D88
- b _080E6F06
-_080E6D88:
- cmp r0, 0xA
- bgt _080E6D9C
- cmp r0, 0
- beq _080E6DB6
- cmp r0, 0x1
- beq _080E6E3C
- b _080E6F5E
- .align 2, 0
-_080E6D98: .4byte gSharedMem + 0x1000
-_080E6D9C:
- cmp r0, 0x65
- bne _080E6DA2
- b _080E6F30
-_080E6DA2:
- cmp r0, 0x65
- bgt _080E6DAE
- cmp r0, 0x64
- bne _080E6DAC
- b _080E6F24
-_080E6DAC:
- b _080E6F5E
-_080E6DAE:
- cmp r0, 0x66
- bne _080E6DB4
- b _080E6F50
-_080E6DB4:
- b _080E6F5E
-_080E6DB6:
- movs r0, 0x2
- bl sub_80E8398
- bl sub_80E8054
- lsls r0, 24
- cmp r0, 0
- beq _080E6DCA
- movs r0, 0x5
- b _080E6DEE
-_080E6DCA:
- ldrb r0, [r5, 0x8]
- cmp r0, 0x9
- bne _080E6DFC
- bl sub_80E7FA8
- lsls r0, 24
- cmp r0, 0
- bne _080E6DDE
- movs r0, 0x8
- b _080E6DEE
-_080E6DDE:
- ldrh r0, [r5, 0xC]
- ldr r1, _080E6DF8 @ =0x0000ffff
- cmp r0, r1
- beq _080E6DEC
- ldrh r0, [r5, 0xE]
- cmp r0, r1
- bne _080E6DFC
-_080E6DEC:
- movs r0, 0x9
-_080E6DEE:
- bl sub_80E91D4
- movs r0, 0xA
- strh r0, [r5, 0x24]
- b _080E6F5E
- .align 2, 0
-_080E6DF8: .4byte 0x0000ffff
-_080E6DFC:
- ldr r0, _080E6E18 @ =gSharedMem + 0x1000
- ldrb r0, [r0, 0x8]
- cmp r0, 0x4
- bne _080E6E20
- bl sub_80E7FA8
- lsls r0, 24
- cmp r0, 0
- bne _080E6E20
- ldr r0, _080E6E1C @ =sub_80E6C84
- bl sub_80E682C
- b _080E6F5E
- .align 2, 0
-_080E6E18: .4byte gSharedMem + 0x1000
-_080E6E1C: .4byte sub_80E6C84
-_080E6E20:
- movs r0, 0x1
- bl sub_80E91D4
- bl sub_80E9744
- movs r0, 0x17
- movs r1, 0x8
- movs r2, 0
- bl DisplayYesNoMenu
- movs r0, 0
- bl MoveMenuCursor
- b _080E6F3C
-_080E6E3C:
- bl ProcessMenuInputNoWrap_
- lsls r0, 24
- asrs r6, r0, 24
- cmp r6, 0
- beq _080E6E5C
- cmp r6, 0
- bgt _080E6E56
- movs r0, 0x1
- negs r0, r0
- cmp r6, r0
- beq _080E6EDC
- b _080E6F5E
-_080E6E56:
- cmp r6, 0x1
- beq _080E6EDC
- b _080E6F5E
-_080E6E5C:
- ldr r7, _080E6EC8 @ =gSpecialVar_Result
- bl sub_80E7FA8
- lsls r0, 24
- lsrs r0, 24
- negs r0, r0
- lsrs r0, 31
- strh r0, [r7]
- bl sub_80E7D9C
- ldrb r0, [r5, 0x8]
- cmp r0, 0
- bne _080E6E82
- ldr r4, _080E6ECC @ =gSpecialVar_0x8004
- bl sub_80E8094
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
-_080E6E82:
- ldrb r0, [r5, 0x8]
- cmp r0, 0x9
- bne _080E6E9C
- bl sub_80E81C0
- ldr r4, _080E6ECC @ =gSpecialVar_0x8004
- ldr r1, _080E6ED0 @ =0x00009fa8
- adds r0, r5, r1
- bl sub_80FA364
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
-_080E6E9C:
- ldrb r0, [r5, 0x8]
- cmp r0, 0xD
- bne _080E6EBE
- ldrh r0, [r5, 0xC]
- ldr r1, _080E6ED4 @ =0x0000ffff
- cmp r0, r1
- beq _080E6EB0
- ldrh r0, [r5, 0xE]
- cmp r0, r1
- bne _080E6EB2
-_080E6EB0:
- strh r6, [r7]
-_080E6EB2:
- ldr r4, _080E6ECC @ =gSpecialVar_0x8004
- bl sub_80E810C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
-_080E6EBE:
- ldr r0, _080E6ED8 @ =sub_80E752C
- bl sub_80E682C
- b _080E6F5E
- .align 2, 0
-_080E6EC8: .4byte gSpecialVar_Result
-_080E6ECC: .4byte gSpecialVar_0x8004
-_080E6ED0: .4byte 0x00009fa8
-_080E6ED4: .4byte 0x0000ffff
-_080E6ED8: .4byte sub_80E752C
-_080E6EDC:
- bl HandleDestroyMenuCursors
- bl sub_80E81FC
- ldr r4, _080E6EFC @ =gSharedMem + 0x1000
- ldrb r0, [r4, 0x8]
- cmp r0, 0x6
- bne _080E6F00
- bl sub_80E7FA8
- lsls r0, 24
- cmp r0, 0
- beq _080E6F00
- movs r0, 0x64
- strh r0, [r4, 0x24]
- b _080E6F5E
- .align 2, 0
-_080E6EFC: .4byte gSharedMem + 0x1000
-_080E6F00:
- bl sub_80E95A4
- b _080E6F12
-_080E6F06:
- ldr r0, _080E6F1C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _080E6F5E
-_080E6F12:
- ldr r0, _080E6F20 @ =sub_80E6AC4
- bl sub_80E682C
- b _080E6F5E
- .align 2, 0
-_080E6F1C: .4byte gMain
-_080E6F20: .4byte sub_80E6AC4
-_080E6F24:
- movs r0, 0x7
- bl sub_80E91D4
- ldrh r0, [r5, 0x24]
- adds r0, 0x1
- strh r0, [r5, 0x24]
-_080E6F30:
- ldr r0, _080E6F48 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080E6F5E
-_080E6F3C:
- ldr r1, _080E6F4C @ =gSharedMem + 0x1000
- ldrh r0, [r1, 0x24]
- adds r0, 0x1
- strh r0, [r1, 0x24]
- b _080E6F5E
- .align 2, 0
-_080E6F48: .4byte gMain
-_080E6F4C: .4byte gSharedMem + 0x1000
-_080E6F50:
- bl sub_80E7E50
- bl sub_80E95A4
- ldr r0, _080E6F64 @ =sub_80E6AC4
- bl sub_80E682C
-_080E6F5E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E6F64: .4byte sub_80E6AC4
- thumb_func_end sub_80E6D7C
-
- thumb_func_start sub_80E6F68
-sub_80E6F68: @ 80E6F68
- push {r4,lr}
- ldr r4, _080E6F78 @ =gSharedMem + 0x1000
- ldrh r0, [r4, 0x24]
- cmp r0, 0
- beq _080E6F7C
- cmp r0, 0x1
- beq _080E6F9C
- b _080E6FBC
- .align 2, 0
-_080E6F78: .4byte gSharedMem + 0x1000
-_080E6F7C:
- movs r0, 0x1
- bl sub_80E8398
- movs r0, 0xA
- bl sub_80E91D4
- bl sub_80E683C
- bl sub_80E9974
- bl sub_80E9E98
- ldrh r0, [r4, 0x24]
- adds r0, 0x1
- strh r0, [r4, 0x24]
- b _080E6FBC
-_080E6F9C:
- bl sub_80E9EA8
- lsls r0, 24
- cmp r0, 0
- beq _080E6FBC
- movs r0, 0x1
- bl sub_80E8D8C
- bl sub_80E8420
- movs r0, 0
- bl sub_80E8958
- ldr r0, _080E6FC4 @ =sub_80E6FC8
- bl sub_80E682C
-_080E6FBC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E6FC4: .4byte sub_80E6FC8
- thumb_func_end sub_80E6F68
-
- thumb_func_start sub_80E6FC8
-sub_80E6FC8: @ 80E6FC8
- push {r4,lr}
- bl sub_80E77C8
- adds r1, r0, 0
- ldr r4, _080E7000 @ =gSharedMem + 0x1000
- adds r0, r4, 0
- adds r0, 0x96
- strb r1, [r0]
- movs r2, 0xE0
- lsls r2, 1
- adds r0, r4, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _080E700C
- movs r0, 0x5
- bl PlaySE
- movs r1, 0xE2
- lsls r1, 1
- adds r0, r4, r1
- ldr r1, _080E7004 @ =sub_80E6FC8
- str r1, [r0]
- ldr r0, _080E7008 @ =sub_80E7458
- bl sub_80E682C
- b _080E710A
- .align 2, 0
-_080E7000: .4byte gSharedMem + 0x1000
-_080E7004: .4byte sub_80E6FC8
-_080E7008: .4byte sub_80E7458
-_080E700C:
- lsls r0, r1, 24
- cmp r0, 0
- beq _080E7018
- movs r0, 0x5
- bl PlaySE
-_080E7018:
- ldr r0, _080E7054 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080E70E8
- ldr r2, _080E7058 @ =0x000001b7
- adds r0, r4, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _080E7090
- movs r0, 0x5
- bl PlaySE
- movs r1, 0xD4
- lsls r1, 1
- adds r0, r4, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x2
- beq _080E7070
- cmp r0, 0x2
- bgt _080E705C
- cmp r0, 0x1
- beq _080E7062
- b _080E710A
- .align 2, 0
-_080E7054: .4byte gMain
-_080E7058: .4byte 0x000001b7
-_080E705C:
- cmp r0, 0x3
- beq _080E70F0
- b _080E710A
-_080E7062:
- ldr r0, _080E706C @ =sub_80E718C
- bl sub_80E682C
- b _080E710A
- .align 2, 0
-_080E706C: .4byte sub_80E718C
-_080E7070:
- ldrb r0, [r4, 0x8]
- cmp r0, 0x6
- beq _080E710A
- adds r0, r4, 0
- adds r0, 0x27
- ldrb r0, [r0]
- ldr r1, _080E708C @ =0x0000ffff
- bl sub_80E7F00
- bl sub_80E7574
- bl sub_80E95A4
- b _080E710A
- .align 2, 0
-_080E708C: .4byte 0x0000ffff
-_080E7090:
- adds r0, r4, 0
- adds r0, 0x26
- ldrb r0, [r0]
- cmp r0, 0
- beq _080E70CA
- ldr r2, _080E70DC @ =0x000001a9
- adds r0, r4, r2
- movs r2, 0
- ldrsb r2, [r0, r2]
- movs r1, 0xD4
- lsls r1, 1
- adds r0, r4, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 1
- adds r2, r0
- adds r0, r4, 0
- adds r0, 0x40
- adds r2, r0
- ldrb r0, [r2]
- lsls r0, 1
- ldr r2, _080E70E0 @ =0x0000446c
- adds r1, r4, r2
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _080E710A
-_080E70CA:
- movs r0, 0x5
- bl PlaySE
- bl sub_80E7AD4
- ldr r0, _080E70E4 @ =sub_80E7218
- bl sub_80E682C
- b _080E710A
- .align 2, 0
-_080E70DC: .4byte 0x000001a9
-_080E70E0: .4byte 0x0000446c
-_080E70E4: .4byte sub_80E7218
-_080E70E8:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080E70FC
-_080E70F0:
- ldr r0, _080E70F8 @ =sub_80E7114
- bl sub_80E682C
- b _080E710A
- .align 2, 0
-_080E70F8: .4byte sub_80E7114
-_080E70FC:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080E710A
- ldr r0, _080E7110 @ =sub_80E718C
- bl sub_80E682C
-_080E710A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7110: .4byte sub_80E718C
- thumb_func_end sub_80E6FC8
-
- thumb_func_start sub_80E7114
-sub_80E7114: @ 80E7114
- push {lr}
- ldr r0, _080E712C @ =gSharedMem + 0x1000
- ldrh r1, [r0, 0x24]
- adds r2, r0, 0
- cmp r1, 0x4
- bhi _080E7182
- lsls r0, r1, 2
- ldr r1, _080E7130 @ =_080E7134
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E712C: .4byte gSharedMem + 0x1000
-_080E7130: .4byte _080E7134
- .align 2, 0
-_080E7134:
- .4byte _080E7148
- .4byte _080E715C
- .4byte _080E715C
- .4byte _080E7164
- .4byte _080E717C
-_080E7148:
- bl sub_80E8504
- bl sub_80E9E98
- bl sub_80E88F0
- movs r0, 0
- bl sub_80E8D8C
- b _080E716E
-_080E715C:
- ldrh r0, [r2, 0x24]
- adds r0, 0x1
- strh r0, [r2, 0x24]
- b _080E7182
-_080E7164:
- bl sub_80E9F50
- lsls r0, 24
- cmp r0, 0
- beq _080E7182
-_080E716E:
- ldr r1, _080E7178 @ =gSharedMem + 0x1000
- ldrh r0, [r1, 0x24]
- adds r0, 0x1
- strh r0, [r1, 0x24]
- b _080E7182
- .align 2, 0
-_080E7178: .4byte gSharedMem + 0x1000
-_080E717C:
- ldr r0, _080E7188 @ =sub_80E6AC4
- bl sub_80E682C
-_080E7182:
- pop {r0}
- bx r0
- .align 2, 0
-_080E7188: .4byte sub_80E6AC4
- thumb_func_end sub_80E7114
-
- thumb_func_start sub_80E718C
-sub_80E718C: @ 80E718C
- push {r4,lr}
- ldr r0, _080E71A4 @ =gSharedMem + 0x1000
- ldrh r1, [r0, 0x24]
- adds r4, r0, 0
- cmp r1, 0x1
- beq _080E71C6
- cmp r1, 0x1
- bgt _080E71A8
- cmp r1, 0
- beq _080E71AE
- b _080E71EC
- .align 2, 0
-_080E71A4: .4byte gSharedMem + 0x1000
-_080E71A8:
- cmp r1, 0x8
- beq _080E71F4
- b _080E71EC
-_080E71AE:
- bl sub_80E8504
- bl sub_80E9E98
- bl sub_80E88F0
- ldrh r0, [r4, 0x24]
- adds r0, 0x1
- strh r0, [r4, 0x24]
- bl sub_80E8D54
- b _080E720E
-_080E71C6:
- bl sub_80E9FD4
- lsls r0, 24
- cmp r0, 0
- beq _080E720E
- movs r2, 0
- adds r1, r4, 0
- adds r1, 0x26
- ldrb r0, [r1]
- cmp r0, 0
- bne _080E71DE
- movs r2, 0x1
-_080E71DE:
- strb r2, [r1]
- bl sub_80E683C
- bl sub_80E9974
- bl sub_80E9E98
-_080E71EC:
- ldrh r0, [r4, 0x24]
- adds r0, 0x1
- strh r0, [r4, 0x24]
- b _080E720E
-_080E71F4:
- bl sub_80EA014
- lsls r0, 24
- cmp r0, 0
- beq _080E720E
- bl sub_80E8420
- movs r0, 0
- bl sub_80E8958
- ldr r0, _080E7214 @ =sub_80E6FC8
- bl sub_80E682C
-_080E720E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7214: .4byte sub_80E6FC8
- thumb_func_end sub_80E718C
-
- thumb_func_start sub_80E7218
-sub_80E7218: @ 80E7218
- push {r4,lr}
- ldr r4, _080E7230 @ =gSharedMem + 0x1000
- ldrh r0, [r4, 0x24]
- adds r1, r4, 0
- cmp r0, 0x9
- beq _080E7260
- cmp r0, 0x9
- bgt _080E7234
- cmp r0, 0x8
- beq _080E7244
- b _080E723C
- .align 2, 0
-_080E7230: .4byte gSharedMem + 0x1000
-_080E7234:
- cmp r0, 0xA
- beq _080E7276
- cmp r0, 0xB
- beq _080E7288
-_080E723C:
- ldrh r0, [r1, 0x24]
- adds r0, 0x1
- strh r0, [r1, 0x24]
- b _080E7288
-_080E7244:
- movs r0, 0
- bl sub_80E8D8C
- bl sub_80E8504
- bl sub_80E9AD4
- bl sub_80E68E8
- bl sub_80E88F0
- bl sub_80E9E98
- b _080E726E
-_080E7260:
- bl sub_80EA050
- lsls r0, 24
- cmp r0, 0
- beq _080E7288
- bl sub_80E9C94
-_080E726E:
- ldrh r0, [r4, 0x24]
- adds r0, 0x1
- strh r0, [r4, 0x24]
- b _080E7288
-_080E7276:
- movs r0, 0x1
- bl sub_80E87CC
- movs r0, 0x1
- bl sub_80E8958
- ldr r0, _080E7290 @ =sub_80E7294
- bl sub_80E682C
-_080E7288:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7290: .4byte sub_80E7294
- thumb_func_end sub_80E7218
-
- thumb_func_start sub_80E7294
-sub_80E7294: @ 80E7294
- push {r4,lr}
- bl sub_80E7B40
- adds r1, r0, 0
- ldr r4, _080E72CC @ =gSharedMem + 0x1000
- ldr r2, _080E72D0 @ =0x000001b9
- adds r0, r4, r2
- strb r1, [r0]
- adds r2, 0x7
- adds r0, r4, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _080E72DC
- movs r0, 0x5
- bl PlaySE
- movs r1, 0xE2
- lsls r1, 1
- adds r0, r4, r1
- ldr r1, _080E72D4 @ =sub_80E7294
- str r1, [r0]
- ldr r0, _080E72D8 @ =sub_80E7458
- bl sub_80E682C
- b _080E731A
- .align 2, 0
-_080E72CC: .4byte gSharedMem + 0x1000
-_080E72D0: .4byte 0x000001b9
-_080E72D4: .4byte sub_80E7294
-_080E72D8: .4byte sub_80E7458
-_080E72DC:
- lsls r0, r1, 24
- cmp r0, 0
- beq _080E72E8
- movs r0, 0x5
- bl PlaySE
-_080E72E8:
- ldr r0, _080E7304 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080E730C
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080E7308 @ =sub_80E7324
- bl sub_80E682C
- b _080E731A
- .align 2, 0
-_080E7304: .4byte gMain
-_080E7308: .4byte sub_80E7324
-_080E730C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080E731A
- ldr r0, _080E7320 @ =sub_80E73D0
- bl sub_80E682C
-_080E731A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7320: .4byte sub_80E73D0
- thumb_func_end sub_80E7294
-
- thumb_func_start sub_80E7324
-sub_80E7324: @ 80E7324
- push {lr}
- ldr r0, _080E733C @ =gSharedMem + 0x1000
- ldrh r1, [r0, 0x24]
- adds r2, r0, 0
- cmp r1, 0x4
- bhi _080E73C6
- lsls r0, r1, 2
- ldr r1, _080E7340 @ =_080E7344
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E733C: .4byte gSharedMem + 0x1000
-_080E7340: .4byte _080E7344
- .align 2, 0
-_080E7344:
- .4byte _080E7358
- .4byte _080E737C
- .4byte _080E7384
- .4byte _080E738A
- .4byte _080E73A4
-_080E7358:
- bl sub_80E7DD0
- lsls r0, 24
- cmp r0, 0
- bne _080E7370
- ldr r0, _080E736C @ =sub_80E7294
- bl sub_80E682C
- b _080E73C6
- .align 2, 0
-_080E736C: .4byte sub_80E7294
-_080E7370:
- bl sub_80E88F0
- movs r0, 0
- bl sub_80E87CC
- b _080E7394
-_080E737C:
- ldrh r0, [r2, 0x24]
- adds r0, 0x1
- strh r0, [r2, 0x24]
- b _080E73C6
-_080E7384:
- bl sub_80E9E98
- b _080E7394
-_080E738A:
- bl sub_80EA184
- lsls r0, 24
- cmp r0, 0
- beq _080E73C6
-_080E7394:
- ldr r1, _080E73A0 @ =gSharedMem + 0x1000
- ldrh r0, [r1, 0x24]
- adds r0, 0x1
- strh r0, [r1, 0x24]
- b _080E73C6
- .align 2, 0
-_080E73A0: .4byte gSharedMem + 0x1000
-_080E73A4:
- ldrb r0, [r2, 0x8]
- cmp r0, 0x6
- bne _080E73C0
- bl sub_80E7FA8
- lsls r0, 24
- cmp r0, 0
- beq _080E73C0
- ldr r0, _080E73BC @ =sub_80E6D7C
- bl sub_80E682C
- b _080E73C6
- .align 2, 0
-_080E73BC: .4byte sub_80E6D7C
-_080E73C0:
- ldr r0, _080E73CC @ =sub_80E6AC4
- bl sub_80E682C
-_080E73C6:
- pop {r0}
- bx r0
- .align 2, 0
-_080E73CC: .4byte sub_80E6AC4
- thumb_func_end sub_80E7324
-
- thumb_func_start sub_80E73D0
-sub_80E73D0: @ 80E73D0
- push {lr}
- ldr r0, _080E73E4 @ =gSharedMem + 0x1000
- ldrh r0, [r0, 0x24]
- cmp r0, 0x4
- bhi _080E744E
- lsls r0, 2
- ldr r1, _080E73E8 @ =_080E73EC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E73E4: .4byte gSharedMem + 0x1000
-_080E73E8: .4byte _080E73EC
- .align 2, 0
-_080E73EC:
- .4byte _080E7400
- .4byte _080E740C
- .4byte _080E7416
- .4byte _080E742C
- .4byte _080E7444
-_080E7400:
- movs r0, 0
- bl sub_80E87CC
- bl sub_80E88F0
- b _080E7436
-_080E740C:
- bl sub_80E9AD4
- bl sub_80E9E98
- b _080E7436
-_080E7416:
- bl sub_80EA0E4
- lsls r0, 24
- cmp r0, 0
- beq _080E744E
- movs r0, 0x1
- bl sub_80E8D8C
- bl sub_80E9A14
- b _080E7436
-_080E742C:
- bl sub_80E8420
- movs r0, 0
- bl sub_80E8958
-_080E7436:
- ldr r1, _080E7440 @ =gSharedMem + 0x1000
- ldrh r0, [r1, 0x24]
- adds r0, 0x1
- strh r0, [r1, 0x24]
- b _080E744E
- .align 2, 0
-_080E7440: .4byte gSharedMem + 0x1000
-_080E7444:
- bl sub_80E9974
- ldr r0, _080E7454 @ =sub_80E6FC8
- bl sub_80E682C
-_080E744E:
- pop {r0}
- bx r0
- .align 2, 0
-_080E7454: .4byte sub_80E6FC8
- thumb_func_end sub_80E73D0
-
- thumb_func_start sub_80E7458
-sub_80E7458: @ 80E7458
- push {r4,r5,lr}
- ldr r4, _080E7468 @ =gSharedMem + 0x1000
- ldrh r5, [r4, 0x24]
- cmp r5, 0
- beq _080E746C
- cmp r5, 0x1
- beq _080E74A4
- b _080E7518
- .align 2, 0
-_080E7468: .4byte gSharedMem + 0x1000
-_080E746C:
- movs r1, 0xE2
- lsls r1, 1
- adds r0, r4, r1
- ldr r1, [r0]
- ldr r0, _080E7480 @ =sub_80E6FC8
- cmp r1, r0
- bne _080E7484
- bl sub_80E9D7C
- b _080E7488
- .align 2, 0
-_080E7480: .4byte sub_80E6FC8
-_080E7484:
- bl sub_80E9D00
-_080E7488:
- ldr r4, _080E74A0 @ =gSharedMem + 0x1000
- movs r2, 0xDF
- lsls r2, 1
- adds r0, r4, r2
- ldrb r0, [r0]
- bl sub_80E9E08
- ldrh r0, [r4, 0x24]
- adds r0, 0x1
- strh r0, [r4, 0x24]
- b _080E7518
- .align 2, 0
-_080E74A0: .4byte gSharedMem + 0x1000
-_080E74A4:
- bl sub_80E9E54
- lsls r0, 24
- cmp r0, 0
- beq _080E7518
- movs r1, 0xE2
- lsls r1, 1
- adds r0, r4, r1
- ldr r1, [r0]
- ldr r0, _080E74DC @ =sub_80E6FC8
- cmp r1, r0
- bne _080E74E4
- bl sub_80E9D7C
- ldr r2, _080E74E0 @ =0x000001b5
- adds r1, r4, r2
- adds r2, 0xB
- adds r0, r4, r2
- ldrb r0, [r0]
- ldrb r2, [r1]
- adds r0, r2
- strb r0, [r1]
- bl sub_80E7A98
- adds r0, r4, 0
- adds r0, 0x96
- b _080E74FE
- .align 2, 0
-_080E74DC: .4byte sub_80E6FC8
-_080E74E0: .4byte 0x000001b5
-_080E74E4:
- ldr r0, _080E7520 @ =0x00009d55
- adds r1, r4, r0
- movs r2, 0xE0
- lsls r2, 1
- adds r0, r4, r2
- ldrb r0, [r0]
- ldrb r2, [r1]
- adds r0, r2
- strb r0, [r1]
- bl sub_80E7D30
- ldr r1, _080E7524 @ =0x000001b9
- adds r0, r4, r1
-_080E74FE:
- strb r5, [r0]
- ldr r1, _080E7528 @ =gSharedMem + 0x1000
- movs r0, 0xDF
- lsls r0, 1
- adds r2, r1, r0
- movs r0, 0x2
- strb r0, [r2]
- movs r2, 0xE2
- lsls r2, 1
- adds r0, r1, r2
- ldr r0, [r0]
- bl sub_80E682C
-_080E7518:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7520: .4byte 0x00009d55
-_080E7524: .4byte 0x000001b9
-_080E7528: .4byte gSharedMem + 0x1000
- thumb_func_end sub_80E7458
-
- thumb_func_start sub_80E752C
-sub_80E752C: @ 80E752C
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _080E7540 @ =gSharedMem + 0x1000
- ldrh r1, [r4, 0x24]
- cmp r1, 0
- beq _080E7544
- cmp r1, 0x1
- beq _080E755C
- b _080E756C
- .align 2, 0
-_080E7540: .4byte gSharedMem + 0x1000
-_080E7544:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldrh r0, [r4, 0x24]
- adds r0, 0x1
- strh r0, [r4, 0x24]
- b _080E756C
-_080E755C:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080E756C
- ldr r0, [r4]
- bl SetMainCallback2
-_080E756C:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80E752C
-
- thumb_func_start sub_80E7574
-sub_80E7574: @ 80E7574
- push {r4,r5,lr}
- ldr r4, _080E75B8 @ =gSharedMem + 0x1000
- ldrb r5, [r4, 0x8]
- cmp r5, 0x1
- bne _080E75BC
- adds r0, r4, 0
- adds r0, 0x86
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r1, r4, 0
- adds r1, 0x7E
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080E75BC
- adds r0, r4, 0
- adds r0, 0x27
- ldrb r0, [r0]
- lsls r0, 1
- subs r1, 0x72
- adds r0, r1
- ldrh r0, [r0]
- bl sub_80EB2D4
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7
- beq _080E75BC
- adds r0, r4, 0
- adds r0, 0x7D
- strb r5, [r0]
- adds r1, r4, 0
- b _080E75C6
- .align 2, 0
-_080E75B8: .4byte gSharedMem + 0x1000
-_080E75BC:
- ldr r1, _080E75D4 @ =gSharedMem + 0x1000
- adds r2, r1, 0
- adds r2, 0x7D
- movs r0, 0
- strb r0, [r2]
-_080E75C6:
- adds r1, 0x7D
- movs r0, 0
- strb r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E75D4: .4byte gSharedMem + 0x1000
- thumb_func_end sub_80E7574
-
- thumb_func_start sub_80E75D8
-sub_80E75D8: @ 80E75D8
- push {r4-r6,lr}
- movs r4, 0
- ldr r2, _080E75FC @ =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080E7604
- ldr r1, _080E7600 @ =gSharedMem + 0x1000
- adds r0, r1, 0
- adds r0, 0x84
- ldrb r0, [r0]
- adds r2, r1, 0
- adds r2, 0x86
- strb r0, [r2]
- adds r1, 0x85
- movs r0, 0x2
- b _080E768E
- .align 2, 0
-_080E75FC: .4byte gMain
-_080E7600: .4byte gSharedMem + 0x1000
-_080E7604:
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080E7630
- ldr r2, _080E762C @ =gSharedMem + 0x1000
- adds r1, r2, 0
- adds r1, 0x86
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- bge _080E765C
- adds r0, r2, 0
- adds r0, 0x84
- ldrb r0, [r0]
- strb r0, [r1]
- b _080E765C
- .align 2, 0
-_080E762C: .4byte gSharedMem + 0x1000
-_080E7630:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080E7658
- ldr r0, _080E7684 @ =gSharedMem + 0x1000
- adds r3, r0, 0
- adds r3, 0x86
- ldrb r1, [r3]
- adds r1, 0x1
- strb r1, [r3]
- adds r0, 0x84
- lsls r1, 24
- asrs r1, 24
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- ble _080E7656
- strb r4, [r3]
-_080E7656:
- movs r4, 0x1
-_080E7658:
- cmp r4, 0
- beq _080E76EA
-_080E765C:
- ldr r2, _080E7684 @ =gSharedMem + 0x1000
- ldrb r3, [r2, 0x9]
- cmp r3, 0x2
- bne _080E7692
- adds r1, r2, 0
- adds r1, 0x86
- adds r0, r2, 0
- adds r0, 0x84
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- bne _080E7688
- adds r0, r2, 0
- adds r0, 0x85
- strb r3, [r0]
- b _080E77BC
- .align 2, 0
-_080E7684: .4byte gSharedMem + 0x1000
-_080E7688:
- adds r1, r2, 0
- adds r1, 0x85
- movs r0, 0
-_080E768E:
- strb r0, [r1]
- b _080E77BC
-_080E7692:
- movs r0, 0x85
- adds r0, r2
- mov r12, r0
- adds r4, r2, 0
- adds r4, 0x83
- movs r1, 0
- ldrsb r1, [r0, r1]
- ldrb r3, [r4]
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r1, r0
- blt _080E76B0
- subs r0, r3, 0x1
- mov r1, r12
- strb r0, [r1]
-_080E76B0:
- adds r1, r2, 0
- adds r1, 0x86
- adds r0, r2, 0
- adds r0, 0x84
- ldrb r3, [r1]
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- beq _080E77BC
- ldrb r0, [r4]
- adds r4, r0, 0
- muls r4, r3
- adds r0, r4, 0
- mov r5, r12
- ldrb r5, [r5]
- adds r0, r5
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r2, 0xA]
- cmp r0, r1
- bcc _080E77BC
- subs r0, r1
- mov r6, r12
- strb r0, [r6]
- b _080E77BC
-_080E76EA:
- ldrh r2, [r2, 0x30]
- movs r0, 0x20
- ands r0, r2
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _080E7744
- ldr r2, _080E7728 @ =gSharedMem + 0x1000
- adds r3, r2, 0
- adds r3, 0x85
- ldrb r0, [r3]
- subs r0, 0x1
- strb r0, [r3]
- lsls r0, 24
- cmp r0, 0
- bge _080E77BC
- adds r1, r2, 0
- adds r1, 0x86
- adds r0, r2, 0
- adds r0, 0x84
- ldrb r4, [r1]
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- bne _080E772C
- movs r0, 0x2
- b _080E77BA
- .align 2, 0
-_080E7728: .4byte gSharedMem + 0x1000
-_080E772C:
- adds r0, r2, 0
- adds r0, 0x83
- ldrb r0, [r0]
- subs r1, r0, 0x1
- strb r1, [r3]
- adds r5, r4, 0
- muls r5, r0
- adds r0, r5, 0
- adds r1, r0
- lsls r1, 24
- lsrs r0, r1, 24
- b _080E77B2
-_080E7744:
- movs r0, 0x10
- ands r0, r2
- cmp r0, 0
- beq _080E77C0
- ldr r2, _080E777C @ =gSharedMem + 0x1000
- adds r5, r2, 0
- adds r5, 0x86
- adds r0, r2, 0
- adds r0, 0x84
- movs r1, 0
- ldrsb r1, [r5, r1]
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- bne _080E7780
- adds r1, r2, 0
- adds r1, 0x85
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x2
- ble _080E77BC
- strb r4, [r1]
- b _080E77BC
- .align 2, 0
-_080E777C: .4byte gSharedMem + 0x1000
-_080E7780:
- adds r3, r2, 0
- adds r3, 0x85
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r3]
- movs r6, 0x83
- adds r6, r2
- mov r12, r6
- lsls r0, 24
- asrs r0, 24
- movs r1, 0
- ldrsb r1, [r6, r1]
- cmp r0, r1
- blt _080E779E
- strb r4, [r3]
-_080E779E:
- ldrb r1, [r5]
- mov r4, r12
- ldrb r0, [r4]
- adds r5, r0, 0
- muls r5, r1
- adds r0, r5, 0
- ldrb r6, [r3]
- adds r0, r6
- lsls r0, 24
- lsrs r0, 24
-_080E77B2:
- ldrb r1, [r2, 0xA]
- cmp r0, r1
- bcc _080E77BC
- subs r0, r1
-_080E77BA:
- strb r0, [r3]
-_080E77BC:
- movs r0, 0x1
- b _080E77C2
-_080E77C0:
- movs r0, 0
-_080E77C2:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80E75D8
-
- thumb_func_start sub_80E77C8
-sub_80E77C8: @ 80E77C8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r7, 0
- ldr r1, _080E780C @ =gSharedMem + 0x1000
- ldr r2, _080E7810 @ =0x000001b7
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r3, r1, 0
- cmp r0, 0
- beq _080E783E
- ldr r1, _080E7814 @ =gMain
- ldrh r2, [r1, 0x30]
- movs r0, 0x40
- ands r0, r2
- adds r6, r1, 0
- cmp r0, 0
- beq _080E7818
- movs r4, 0xD4
- lsls r4, 1
- adds r1, r3, r4
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- ble _080E7806
- b _080E7948
-_080E7806:
- movs r0, 0x3
- strb r0, [r1]
- b _080E7948
- .align 2, 0
-_080E780C: .4byte gSharedMem + 0x1000
-_080E7810: .4byte 0x000001b7
-_080E7814: .4byte gMain
-_080E7818:
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- bne _080E7822
- b _080E7950
-_080E7822:
- movs r5, 0xD4
- lsls r5, 1
- adds r1, r3, r5
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x3
- bgt _080E7838
- b _080E7948
-_080E7838:
- movs r0, 0x1
- strb r0, [r1]
- b _080E7948
-_080E783E:
- adds r0, r3, 0
- adds r0, 0x26
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080E789A
- movs r4, 0
- ldr r1, _080E7870 @ =gMain
- ldrh r2, [r1, 0x30]
- movs r0, 0x40
- ands r0, r2
- adds r6, r1, 0
- cmp r0, 0
- beq _080E7874
- movs r6, 0xD4
- lsls r6, 1
- adds r1, r3, r6
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- bge _080E7944
- movs r0, 0x3
- strb r0, [r1]
- b _080E7944
- .align 2, 0
-_080E7870: .4byte gMain
-_080E7874:
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _080E7894
- movs r0, 0xD4
- lsls r0, 1
- adds r1, r3, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x3
- ble _080E7892
- strb r7, [r1]
-_080E7892:
- movs r4, 0x1
-_080E7894:
- cmp r4, 0
- beq _080E7950
- b _080E7944
-_080E789A:
- movs r4, 0
- movs r1, 0xE0
- lsls r1, 1
- adds r5, r3, r1
- strb r7, [r5]
- ldr r1, _080E78E0 @ =gMain
- ldrh r2, [r1, 0x30]
- movs r0, 0x40
- ands r0, r2
- adds r6, r1, 0
- cmp r0, 0
- beq _080E78E8
- movs r2, 0xD4
- lsls r2, 1
- adds r1, r3, r2
- ldrb r2, [r1]
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, 0
- bne _080E78C4
- b _080E7A88
-_080E78C4:
- subs r0, r2, 0x1
- strb r0, [r1]
- ldr r4, _080E78E4 @ =0x000001b5
- adds r1, r3, r4
- lsls r0, 24
- asrs r0, 24
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- cmp r0, r1
- bge _080E7932
- movs r0, 0xFF
- strb r0, [r5]
- b _080E7932
- .align 2, 0
-_080E78E0: .4byte gMain
-_080E78E4: .4byte 0x000001b5
-_080E78E8:
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _080E792E
- movs r0, 0xD4
- lsls r0, 1
- adds r2, r3, r0
- movs r1, 0
- ldrsb r1, [r2, r1]
- movs r4, 0xDB
- lsls r4, 1
- adds r0, r3, r4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- subs r0, 0x1
- cmp r1, r0
- blt _080E790E
- b _080E7A88
-_080E790E:
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- movs r1, 0
- ldrsb r1, [r2, r1]
- ldr r2, _080E794C @ =0x000001b5
- adds r0, r3, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r0, 0x3
- cmp r1, r0
- ble _080E792C
- movs r0, 0x1
- strb r0, [r5]
-_080E792C:
- movs r4, 0x1
-_080E792E:
- cmp r4, 0
- beq _080E7950
-_080E7932:
- movs r4, 0xE0
- lsls r4, 1
- adds r0, r3, r4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _080E7944
- b _080E7A88
-_080E7944:
- bl sub_80E7A98
-_080E7948:
- movs r0, 0x1
- b _080E7A8A
- .align 2, 0
-_080E794C: .4byte 0x000001b5
-_080E7950:
- ldrh r1, [r6, 0x30]
- movs r0, 0x20
- ands r0, r1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0
- beq _080E7992
- ldr r5, _080E7974 @ =0x000001a9
- adds r2, r3, r5
- ldrb r1, [r2]
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r0, 0
- beq _080E7978
- subs r0, r1, 0x1
- strb r0, [r2]
- b _080E79E6
- .align 2, 0
-_080E7974: .4byte 0x000001a9
-_080E7978:
- movs r6, 0xD4
- lsls r6, 1
- adds r0, r3, r6
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- movs r4, 0xD5
- lsls r4, 1
- adds r1, r3, r4
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- b _080E79E6
-_080E7992:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080E79E2
- ldr r5, _080E79D4 @ =0x000001b7
- adds r0, r3, r5
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _080E79CC
- ldr r0, _080E79D8 @ =0x000001a9
- adds r4, r3, r0
- movs r1, 0xD4
- lsls r1, 1
- adds r0, r3, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r2, 0xD5
- lsls r2, 1
- adds r0, r3, r2
- adds r1, r0
- ldrb r5, [r4]
- movs r2, 0
- ldrsb r2, [r4, r2]
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r2, r0
- bne _080E79DC
-_080E79CC:
- ldr r4, _080E79D8 @ =0x000001a9
- adds r0, r3, r4
- strb r6, [r0]
- b _080E79E0
- .align 2, 0
-_080E79D4: .4byte 0x000001b7
-_080E79D8: .4byte 0x000001a9
-_080E79DC:
- adds r0, r5, 0x1
- strb r0, [r4]
-_080E79E0:
- movs r7, 0x1
-_080E79E2:
- cmp r7, 0
- beq _080E7A88
-_080E79E6:
- adds r2, r3, 0
- ldr r5, _080E7A48 @ =0x000001b7
- adds r7, r2, r5
- ldrb r6, [r7]
- mov r9, r6
- movs r1, 0
- ldr r0, _080E7A4C @ =0x000001a9
- adds r0, r2
- mov r12, r0
- subs r5, 0xF
- adds r4, r2, r5
- movs r0, 0
- ldrsb r0, [r4, r0]
- movs r6, 0xD5
- lsls r6, 1
- adds r6, r2
- mov r8, r6
- add r0, r8
- mov r6, r12
- movs r5, 0
- ldrsb r5, [r6, r5]
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r5, r0
- bne _080E7A1C
- movs r1, 0x1
-_080E7A1C:
- strb r1, [r7]
- cmp r1, 0
- beq _080E7A58
- ldr r0, _080E7A50 @ =0x000001b5
- adds r1, r2, r0
- ldrb r0, [r4]
- ldrb r1, [r1]
- subs r0, r1
- strb r0, [r4]
- lsls r0, 24
- cmp r0, 0
- beq _080E7A36
- b _080E7948
-_080E7A36:
- movs r0, 0x1
- strb r0, [r4]
- ldr r1, _080E7A54 @ =0x000001ab
- adds r0, r2, r1
- ldrb r0, [r0]
- mov r2, r12
- strb r0, [r2]
- b _080E7948
- .align 2, 0
-_080E7A48: .4byte 0x000001b7
-_080E7A4C: .4byte 0x000001a9
-_080E7A50: .4byte 0x000001b5
-_080E7A54: .4byte 0x000001ab
-_080E7A58:
- mov r6, r9
- cmp r6, 0
- bne _080E7A60
- b _080E7948
-_080E7A60:
- ldr r1, _080E7A84 @ =0x000001b5
- adds r0, r3, r1
- ldrb r0, [r0]
- ldrb r2, [r4]
- adds r0, r2
- strb r0, [r4]
- cmp r5, 0
- bne _080E7A72
- b _080E7948
-_080E7A72:
- movs r0, 0
- ldrsb r0, [r4, r0]
- add r0, r8
- ldrb r0, [r0]
- subs r0, 0x1
- mov r4, r12
- strb r0, [r4]
- b _080E7948
- .align 2, 0
-_080E7A84: .4byte 0x000001b5
-_080E7A88:
- movs r0, 0
-_080E7A8A:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80E77C8
-
- thumb_func_start sub_80E7A98
-sub_80E7A98: @ 80E7A98
- push {lr}
- ldr r1, _080E7ACC @ =gSharedMem + 0x1000
- ldr r0, _080E7AD0 @ =0x000001a9
- adds r3, r1, r0
- movs r2, 0xD4
- lsls r2, 1
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r2, 0x2
- adds r1, r2
- adds r0, r1
- movs r1, 0
- ldrsb r1, [r3, r1]
- ldrb r2, [r0]
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- blt _080E7AC6
- subs r0, r2, 0x1
- strb r0, [r3]
-_080E7AC6:
- pop {r0}
- bx r0
- .align 2, 0
-_080E7ACC: .4byte gSharedMem + 0x1000
-_080E7AD0: .4byte 0x000001a9
- thumb_func_end sub_80E7A98
-
- thumb_func_start sub_80E7AD4
-sub_80E7AD4: @ 80E7AD4
- push {lr}
- ldr r3, _080E7B08 @ =gSharedMem + 0x1000
- adds r0, r3, 0
- adds r0, 0x26
- ldrb r0, [r0]
- cmp r0, 0
- bne _080E7B10
- ldr r1, _080E7B0C @ =0x000001a9
- adds r0, r3, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r2, 0xD4
- lsls r2, 1
- adds r0, r3, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 1
- adds r1, r0
- adds r0, r3, 0
- adds r0, 0x2A
- adds r1, r0
- ldrb r1, [r1]
- adds r2, 0x10
- b _080E7B34
- .align 2, 0
-_080E7B08: .4byte gSharedMem + 0x1000
-_080E7B0C: .4byte 0x000001a9
-_080E7B10:
- ldr r1, _080E7B3C @ =0x000001a9
- adds r0, r3, r1
- movs r2, 0
- ldrsb r2, [r0, r2]
- subs r1, 0x1
- adds r0, r3, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 1
- adds r2, r0
- adds r0, r3, 0
- adds r0, 0x40
- adds r2, r0
- ldrb r1, [r2]
- movs r2, 0xDC
- lsls r2, 1
-_080E7B34:
- adds r0, r3, r2
- strb r1, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_080E7B3C: .4byte 0x000001a9
- thumb_func_end sub_80E7AD4
-
- thumb_func_start sub_80E7B40
-sub_80E7B40: @ 80E7B40
- push {r4-r7,lr}
- movs r5, 0
- ldr r2, _080E7B8C @ =gSharedMem + 0x1000
- movs r0, 0xE0
- lsls r0, 1
- adds r6, r2, r0
- strb r5, [r6]
- ldr r1, _080E7B90 @ =gMain
- ldrh r4, [r1, 0x30]
- movs r0, 0x40
- ands r0, r4
- adds r3, r2, 0
- adds r7, r1, 0
- cmp r0, 0
- beq _080E7B9C
- ldr r2, _080E7B94 @ =0x00009cd0
- adds r1, r3, r2
- ldrb r2, [r1]
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, 0
- bne _080E7B6E
- b _080E7D1A
-_080E7B6E:
- subs r0, r2, 0x1
- strb r0, [r1]
- ldr r4, _080E7B98 @ =0x00009d55
- adds r1, r3, r4
- lsls r0, 24
- asrs r0, 24
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- cmp r0, r1
- bge _080E7BF2
- movs r0, 0xFF
- strb r0, [r6]
- b _080E7D1A
- .align 2, 0
-_080E7B8C: .4byte gSharedMem + 0x1000
-_080E7B90: .4byte gMain
-_080E7B94: .4byte 0x00009cd0
-_080E7B98: .4byte 0x00009d55
-_080E7B9C:
- movs r0, 0x80
- ands r0, r4
- cmp r0, 0
- beq _080E7BEE
- ldr r0, _080E7BE0 @ =0x00009cd0
- adds r2, r3, r0
- movs r1, 0
- ldrsb r1, [r2, r1]
- ldr r4, _080E7BE4 @ =0x00009d54
- adds r0, r3, r4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- subs r0, 0x1
- cmp r1, r0
- blt _080E7BBE
- b _080E7D1A
-_080E7BBE:
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- movs r1, 0
- ldrsb r1, [r2, r1]
- ldr r2, _080E7BE8 @ =0x00009d55
- adds r0, r3, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r0, 0x4
- cmp r1, r0
- blt _080E7BEC
- movs r0, 0x1
- strb r0, [r6]
- b _080E7D1A
- .align 2, 0
-_080E7BE0: .4byte 0x00009cd0
-_080E7BE4: .4byte 0x00009d54
-_080E7BE8: .4byte 0x00009d55
-_080E7BEC:
- movs r5, 0x1
-_080E7BEE:
- cmp r5, 0
- beq _080E7BFA
-_080E7BF2:
- bl sub_80E7D30
-_080E7BF6:
- movs r0, 0x1
- b _080E7D1C
-_080E7BFA:
- ldrh r1, [r7, 0x30]
- movs r0, 0x20
- ands r0, r1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- beq _080E7C38
- ldr r4, _080E7C30 @ =0x00009cd1
- adds r2, r3, r4
- ldrb r0, [r2]
- subs r0, 0x1
- strb r0, [r2]
- lsls r0, 24
- cmp r0, 0
- bge _080E7BF6
- ldr r6, _080E7C34 @ =0x00009cd0
- adds r0, r3, r6
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r4, 0x1
- adds r1, r3, r4
- adds r0, r1
- ldrb r0, [r0]
- subs r0, 0x1
- strb r0, [r2]
- b _080E7BF6
- .align 2, 0
-_080E7C30: .4byte 0x00009cd1
-_080E7C34: .4byte 0x00009cd0
-_080E7C38:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080E7C70
- ldr r6, _080E7C68 @ =0x00009cd1
- adds r4, r3, r6
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- ldr r2, _080E7C6C @ =0x00009cd0
- adds r1, r3, r2
- movs r2, 0
- ldrsb r2, [r1, r2]
- adds r6, 0x1
- adds r1, r3, r6
- adds r2, r1
- lsls r0, 24
- asrs r0, 24
- movs r1, 0
- ldrsb r1, [r2, r1]
- cmp r0, r1
- blt _080E7BF6
- strb r5, [r4]
- b _080E7BF6
- .align 2, 0
-_080E7C68: .4byte 0x00009cd1
-_080E7C6C: .4byte 0x00009cd0
-_080E7C70:
- ldrh r1, [r7, 0x2E]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080E7CC4
- ldr r1, _080E7CBC @ =0x00009d55
- adds r0, r3, r1
- ldrb r1, [r0]
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _080E7CA2
- negs r0, r1
- movs r4, 0xE0
- lsls r4, 1
- adds r2, r3, r4
- strb r0, [r2]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x4
- negs r1, r1
- cmp r0, r1
- bge _080E7CA2
- strb r1, [r2]
-_080E7CA2:
- ldr r6, _080E7CC0 @ =0x00009cd0
- adds r1, r3, r6
- movs r2, 0xE0
- lsls r2, 1
- adds r0, r3, r2
- ldrb r0, [r0]
- ldrb r4, [r1]
- adds r0, r4
- strb r0, [r1]
- movs r6, 0xDF
- lsls r6, 1
- adds r1, r3, r6
- b _080E7D16
- .align 2, 0
-_080E7CBC: .4byte 0x00009d55
-_080E7CC0: .4byte 0x00009cd0
-_080E7CC4:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080E7D1A
- ldr r0, _080E7D24 @ =0x00009d55
- adds r4, r3, r0
- movs r1, 0
- ldrsb r1, [r4, r1]
- ldr r6, _080E7D28 @ =0x00009d54
- adds r2, r3, r6
- movs r0, 0
- ldrsb r0, [r2, r0]
- subs r0, 0x4
- cmp r1, r0
- bge _080E7CFE
- ldrb r1, [r4]
- adds r1, 0x4
- ldrb r0, [r2]
- subs r0, r1
- movs r2, 0xE0
- lsls r2, 1
- adds r1, r3, r2
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x4
- ble _080E7CFE
- movs r0, 0x4
- strb r0, [r1]
-_080E7CFE:
- ldr r4, _080E7D2C @ =0x00009cd0
- adds r1, r3, r4
- movs r6, 0xE0
- lsls r6, 1
- adds r0, r3, r6
- ldrb r0, [r0]
- ldrb r2, [r1]
- adds r0, r2
- strb r0, [r1]
- movs r4, 0xDF
- lsls r4, 1
- adds r1, r3, r4
-_080E7D16:
- movs r0, 0x4
- strb r0, [r1]
-_080E7D1A:
- movs r0, 0
-_080E7D1C:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080E7D24: .4byte 0x00009d55
-_080E7D28: .4byte 0x00009d54
-_080E7D2C: .4byte 0x00009cd0
- thumb_func_end sub_80E7B40
-
- thumb_func_start sub_80E7D30
-sub_80E7D30: @ 80E7D30
- push {r4,lr}
- ldr r0, _080E7D60 @ =gSharedMem + 0x1000
- ldr r1, _080E7D64 @ =0x00009cd1
- adds r4, r0, r1
- ldr r2, _080E7D68 @ =0x00009cd0
- adds r1, r0, r2
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- adds r2, 0x2
- adds r0, r2
- adds r1, r0
- movs r2, 0
- ldrsb r2, [r4, r2]
- ldrb r3, [r1]
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r2, r0
- blt _080E7D5A
- subs r0, r3, 0x1
- strb r0, [r4]
-_080E7D5A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7D60: .4byte gSharedMem + 0x1000
-_080E7D64: .4byte 0x00009cd1
-_080E7D68: .4byte 0x00009cd0
- thumb_func_end sub_80E7D30
-
- thumb_func_start sub_80E7D6C
-sub_80E7D6C: @ 80E7D6C
- push {r4,r5,lr}
- movs r4, 0
- ldr r0, _080E7D94 @ =gSharedMem + 0x1000
- ldrb r1, [r0, 0xA]
- cmp r4, r1
- bcs _080E7D8E
- adds r5, r0, 0
-_080E7D7A:
- adds r0, r4, 0
- ldr r1, _080E7D98 @ =0x0000ffff
- bl sub_80E7F00
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldrb r0, [r5, 0xA]
- cmp r4, r0
- bcc _080E7D7A
-_080E7D8E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7D94: .4byte gSharedMem + 0x1000
-_080E7D98: .4byte 0x0000ffff
- thumb_func_end sub_80E7D6C
-
- thumb_func_start sub_80E7D9C
-sub_80E7D9C: @ 80E7D9C
- push {r4,r5,lr}
- movs r2, 0
- ldr r0, _080E7DCC @ =gSharedMem + 0x1000
- ldrb r1, [r0, 0xA]
- cmp r2, r1
- bcs _080E7DC6
- adds r3, r0, 0
- ldr r4, [r3, 0x4]
- adds r5, r3, 0
- adds r5, 0xC
-_080E7DB0:
- lsls r0, r2, 1
- adds r1, r0, r4
- adds r0, r5
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldrb r0, [r3, 0xA]
- cmp r2, r0
- bcc _080E7DB0
-_080E7DC6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7DCC: .4byte gSharedMem + 0x1000
- thumb_func_end sub_80E7D9C
-
- thumb_func_start sub_80E7DD0
-sub_80E7DD0: @ 80E7DD0
- push {r4,lr}
- ldr r2, _080E7E28 @ =gSharedMem + 0x1000
- ldr r1, _080E7E2C @ =0x00009cd1
- adds r0, r2, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r1, 1
- ldr r3, _080E7E30 @ =0x00009cd0
- adds r0, r2, r3
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r1, r0
- adds r3, 0x86
- adds r0, r2, r3
- adds r1, r0
- ldrh r4, [r1]
- adds r0, r2, 0
- adds r0, 0x7D
- ldrb r0, [r0]
- cmp r0, 0
- beq _080E7E34
- adds r0, r2, 0
- adds r0, 0x86
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r1, r2, 0
- adds r1, 0x7E
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bls _080E7E34
- adds r0, r4, 0
- bl sub_80EB2D4
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7
- bne _080E7E34
- movs r0, 0
- b _080E7E46
- .align 2, 0
-_080E7E28: .4byte gSharedMem + 0x1000
-_080E7E2C: .4byte 0x00009cd1
-_080E7E30: .4byte 0x00009cd0
-_080E7E34:
- ldr r0, _080E7E4C @ =gSharedMem + 0x1000
- adds r0, 0x27
- ldrb r0, [r0]
- adds r1, r4, 0
- bl sub_80E7F00
- bl sub_80E95A4
- movs r0, 0x1
-_080E7E46:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080E7E4C: .4byte gSharedMem + 0x1000
- thumb_func_end sub_80E7DD0
-
- thumb_func_start sub_80E7E50
-sub_80E7E50: @ 80E7E50
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- movs r5, 0
- movs r2, 0
- ldr r1, _080E7EF0 @ =gSharedMem + 0x1000
- adds r3, r1, 0
- adds r3, 0x84
- movs r0, 0
- ldrsb r0, [r3, r0]
- cmp r2, r0
- bge _080E7EDE
- mov r8, r1
- adds r0, r1, 0
- str r0, [sp]
-_080E7E74:
- mov r0, r8
- adds r0, 0x7E
- adds r0, r2, r0
- movs r1, 0
- strb r1, [r0]
- movs r3, 0
- ldr r6, _080E7EF4 @ =gSharedMem + 0x1083
- movs r0, 0
- ldrsb r0, [r6, r0]
- adds r1, r2, 0x1
- str r1, [sp, 0x4]
- cmp r3, r0
- bge _080E7ECE
- ldr r6, [sp]
- mov r12, r6
- movs r0, 0
- mov r10, r0
- ldr r1, _080E7EF4 @ =gSharedMem + 0x1083
- mov r9, r1
- ldr r7, _080E7EF8 @ =gSharedMem + 0x100C
- lsls r4, r2, 1
-_080E7E9E:
- lsls r1, r5, 1
- adds r2, r1, r7
- mov r6, r12
- ldr r0, [r6, 0x4]
- adds r1, r0
- ldrh r0, [r1]
- strh r0, [r2]
- adds r0, r3, r4
- mov r1, r12
- adds r1, 0x8C
- adds r0, r1
- mov r1, r10
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- mov r6, r9
- movs r0, 0
- ldrsb r0, [r6, r0]
- cmp r3, r0
- blt _080E7E9E
-_080E7ECE:
- ldr r1, [sp, 0x4]
- lsls r0, r1, 16
- lsrs r2, r0, 16
- ldr r6, _080E7EFC @ =gSharedMem + 0x1084
- movs r0, 0
- ldrsb r0, [r6, r0]
- cmp r2, r0
- blt _080E7E74
-_080E7EDE:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7EF0: .4byte gSharedMem + 0x1000
-_080E7EF4: .4byte gSharedMem + 0x1083
-_080E7EF8: .4byte gSharedMem + 0x100C
-_080E7EFC: .4byte gSharedMem + 0x1084
- thumb_func_end sub_80E7E50
-
- thumb_func_start sub_80E7F00
-sub_80E7F00: @ 80E7F00
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- ldr r7, _080E7F68 @ =gSharedMem + 0x1000
- adds r0, r7, 0
- adds r0, 0x83
- movs r4, 0
- ldrsb r4, [r0, r4]
- adds r0, r6, 0
- adds r1, r4, 0
- bl __divsi3
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r6, 0
- adds r1, r4, 0
- bl __modsi3
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r0, r6, 1
- adds r1, r7, 0
- adds r1, 0xC
- adds r0, r1
- ldrh r0, [r0]
- bl sub_80EB2D4
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r9
- bl sub_80EB2D4
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r4, 0x7
- bne _080E7F6C
- cmp r3, 0x7
- beq _080E7F7C
- adds r1, r7, 0
- adds r1, 0x7E
- adds r1, r5, r1
- ldrb r0, [r1]
- subs r0, 0x1
- b _080E7F7A
- .align 2, 0
-_080E7F68: .4byte gSharedMem + 0x1000
-_080E7F6C:
- cmp r3, 0x7
- bne _080E7F7C
- adds r1, r7, 0
- adds r1, 0x7E
- adds r1, r5, r1
- ldrb r0, [r1]
- adds r0, 0x1
-_080E7F7A:
- strb r0, [r1]
-_080E7F7C:
- movs r3, 0
- ldr r2, _080E7FA4 @ =gSharedMem + 0x1000
- lsls r0, r5, 1
- add r0, r8
- adds r1, r2, 0
- adds r1, 0x8C
- adds r0, r1
- strb r3, [r0]
- lsls r0, r6, 1
- adds r2, 0xC
- adds r0, r2
- mov r1, r9
- strh r1, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7FA4: .4byte gSharedMem + 0x1000
- thumb_func_end sub_80E7F00
-
- thumb_func_start sub_80E7FA8
-sub_80E7FA8: @ 80E7FA8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r0, 0
- mov r8, r0
- movs r5, 0
- ldr r0, _080E8040 @ =gSharedMem + 0x1000
- ldrb r1, [r0, 0xA]
- cmp r8, r1
- bcs _080E802E
- ldr r3, _080E8044 @ =0x0000a140
- adds r6, r0, r3
- ldr r1, _080E8048 @ =0x0000a16d
- adds r1, r0
- mov r9, r1
-_080E7FC8:
- ldr r3, _080E804C @ =0xffff5ec0
- adds r7, r6, r3
- ldr r0, [r7, 0x4]
- lsls r4, r5, 1
- adds r0, r4, r0
- ldrh r1, [r0]
- adds r0, r6, 0
- movs r2, 0
- bl sub_80EB218
- ldr r1, _080E8050 @ =0xffff5ecc
- adds r0, r6, r1
- adds r0, r4
- ldrh r1, [r0]
- mov r0, r9
- movs r2, 0
- bl sub_80EB218
- adds r1, r6, 0
- mov r2, r9
- ldrb r0, [r1]
- adds r4, r5, 0x1
- ldrb r3, [r2]
- cmp r0, r3
- bne _080E8018
- adds r3, r7, 0
- cmp r0, 0xFF
- beq _080E8010
-_080E8000:
- adds r1, 0x1
- adds r2, 0x1
- ldrb r0, [r1]
- ldrb r5, [r2]
- cmp r0, r5
- bne _080E8018
- cmp r0, 0xFF
- bne _080E8000
-_080E8010:
- ldrb r0, [r1]
- ldrb r2, [r2]
- cmp r0, r2
- beq _080E8024
-_080E8018:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r3, _080E8040 @ =gSharedMem + 0x1000
-_080E8024:
- lsls r0, r4, 16
- lsrs r5, r0, 16
- ldrb r3, [r3, 0xA]
- cmp r5, r3
- bcc _080E7FC8
-_080E802E:
- mov r1, r8
- lsls r0, r1, 24
- lsrs r0, 24
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080E8040: .4byte gSharedMem + 0x1000
-_080E8044: .4byte 0x0000a140
-_080E8048: .4byte 0x0000a16d
-_080E804C: .4byte 0xffff5ec0
-_080E8050: .4byte 0xffff5ecc
- thumb_func_end sub_80E7FA8
-
- thumb_func_start sub_80E8054
-sub_80E8054: @ 80E8054
- push {r4,lr}
- movs r1, 0
- ldr r2, _080E8078 @ =gSharedMem + 0x1000
- ldrb r0, [r2, 0xA]
- cmp r1, r0
- bcs _080E808A
- adds r4, r2, 0
- adds r4, 0xC
- ldr r3, _080E807C @ =0x0000ffff
- adds r2, r0, 0
-_080E8068:
- lsls r0, r1, 1
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, r3
- beq _080E8080
- movs r0, 0
- b _080E808C
- .align 2, 0
-_080E8078: .4byte gSharedMem + 0x1000
-_080E807C: .4byte 0x0000ffff
-_080E8080:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r2
- bcc _080E8068
-_080E808A:
- movs r0, 0x1
-_080E808C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80E8054
-
- thumb_func_start sub_80E8094
-sub_80E8094: @ 80E8094
- push {r4-r7,lr}
- movs r5, 0
- ldr r6, _080E80C4 @ =gSharedMem + 0xB140
- adds r7, r6, 0
- adds r7, 0x2D
-_080E809E:
- lsls r4, r5, 1
- ldr r1, _080E80C8 @ =0xffff5ecc
- adds r0, r6, r1
- adds r0, r4
- ldrh r1, [r0]
- adds r0, r6, 0
- movs r2, 0
- bl sub_80EB218
- ldr r0, _080E80CC @ =gMysteryEventPhrase
- adds r4, r0
- ldrh r1, [r4]
- adds r0, r7, 0
- movs r2, 0
- bl sub_80EB218
- adds r3, r6, 0
- adds r4, r7, 0
- b _080E80D8
- .align 2, 0
-_080E80C4: .4byte gSharedMem + 0xB140
-_080E80C8: .4byte 0xffff5ecc
-_080E80CC: .4byte gMysteryEventPhrase
-_080E80D0:
- adds r4, 0x1
- adds r3, 0x1
- cmp r2, r1
- bne _080E80F4
-_080E80D8:
- ldrb r2, [r3]
- adds r0, r2, 0
- cmp r0, 0xFF
- beq _080E80EE
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _080E80D0
- ldrb r0, [r3]
- cmp r0, 0xFF
- bne _080E80F4
-_080E80EE:
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _080E80F8
-_080E80F4:
- movs r0, 0
- b _080E8104
-_080E80F8:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _080E809E
- movs r0, 0x1
-_080E8104:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80E8094
-
- thumb_func_start sub_80E810C
-sub_80E810C: @ 80E810C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r5, 0
- ldr r6, _080E8198 @ =gSharedMem + 0xB19A
- ldr r0, _080E819C @ =0xffff5e66
- adds r0, r6
- mov r9, r0
- movs r1, 0
- mov r8, r1
- adds r7, r6, 0
- adds r7, 0x80
- ldr r2, _080E81A0 @ =gBerryMasterWifePhrases
- mov r10, r2
-_080E812C:
- mov r0, r9
- ldrh r1, [r0, 0xC]
- adds r0, r6, 0
- movs r2, 0
- bl sub_80EB218
- mov r1, r8
- strb r1, [r0]
- adds r0, 0x1
- mov r2, r9
- ldrh r1, [r2, 0xE]
- movs r2, 0
- bl sub_80EB218
- lsls r4, r5, 2
- mov r1, r10
- adds r0, r4, r1
- ldrh r1, [r0]
- adds r0, r7, 0
- movs r2, 0
- bl sub_80EB218
- mov r2, r8
- strb r2, [r0]
- adds r0, 0x1
- ldr r1, _080E81A4 @ =gBerryMasterWifePhrases + 0x2
- adds r4, r1
- ldrh r1, [r4]
- movs r2, 0
- bl sub_80EB218
- adds r0, r6, 0
- adds r3, r7, 0
- adds r4, r5, 0x1
-_080E8170:
- ldrb r2, [r0]
- cmp r2, 0xFF
- beq _080E818A
- ldrb r1, [r3]
- cmp r1, 0xFF
- beq _080E8184
- adds r3, 0x1
- adds r0, 0x1
- cmp r2, r1
- beq _080E8170
-_080E8184:
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _080E81A8
-_080E818A:
- ldrb r0, [r3]
- cmp r0, 0xFF
- bne _080E81A8
- lsls r0, r4, 24
- lsrs r0, 24
- b _080E81B2
- .align 2, 0
-_080E8198: .4byte gSharedMem + 0xB19A
-_080E819C: .4byte 0xffff5e66
-_080E81A0: .4byte gBerryMasterWifePhrases
-_080E81A4: .4byte gBerryMasterWifePhrases + 0x2
-_080E81A8:
- lsls r0, r4, 16
- lsrs r5, r0, 16
- cmp r5, 0x4
- bls _080E812C
- movs r0, 0
-_080E81B2:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80E810C
-
- thumb_func_start sub_80E81C0
-sub_80E81C0: @ 80E81C0
- push {r4,lr}
- ldr r0, _080E81EC @ =gStringVar2
- ldr r4, _080E81F0 @ =gSharedMem + 0x1000
- ldr r2, _080E81F4 @ =0x00009fa8
- adds r1, r4, r2
- ldrh r1, [r1]
- movs r2, 0
- bl sub_80EB218
- movs r1, 0
- strb r1, [r0]
- adds r0, 0x1
- ldr r1, _080E81F8 @ =0x00009faa
- adds r4, r1
- ldrh r1, [r4]
- movs r2, 0
- bl sub_80EB218
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E81EC: .4byte gStringVar2
-_080E81F0: .4byte gSharedMem + 0x1000
-_080E81F4: .4byte 0x00009fa8
-_080E81F8: .4byte 0x00009faa
- thumb_func_end sub_80E81C0
-
- thumb_func_start sub_80E81FC
-sub_80E81FC: @ 80E81FC
- push {lr}
- movs r0, 0x5
- bl PlaySE
- bl sub_80E95A4
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- pop {r0}
- bx r0
- thumb_func_end sub_80E81FC
-
- thumb_func_start sub_80E8218
-sub_80E8218: @ 80E8218
- push {r4,r5,lr}
- sub sp, 0x40
- mov r1, sp
- ldr r0, _080E8260 @ =gSpriteSheets_Interview
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r4,r5}
- stm r1!, {r2,r4,r5}
- ldr r0, [r0]
- str r0, [r1]
- add r4, sp, 0x28
- adds r1, r4, 0
- ldr r0, _080E8264 @ =gSpritePalettes_Interview
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- mov r0, sp
- bl LoadSpriteSheets
- adds r0, r4, 0
- bl LoadSpritePalettes
- bl sub_80E8268
- bl sub_80E8818
- bl sub_80E8A7C
- add sp, 0x40
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E8260: .4byte gSpriteSheets_Interview
-_080E8264: .4byte gSpritePalettes_Interview
- thumb_func_end sub_80E8218
-
- thumb_func_start sub_80E8268
-sub_80E8268: @ 80E8268
- push {lr}
- ldr r0, _080E82B0 @ =gSpriteTemplate_83DBBFC
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080E82B4 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldr r0, _080E82B8 @ =gUnknown_083DB694
- ldr r3, [r0]
- adds r0, r3, 0
- adds r0, 0x8A
- ldrh r0, [r0]
- lsls r0, 3
- adds r0, 0x8
- movs r2, 0
- strh r0, [r1, 0x22]
- adds r0, r3, 0
- adds r0, 0x88
- ldrh r0, [r0]
- lsls r0, 3
- adds r0, 0x4
- strh r0, [r1, 0x20]
- strh r2, [r1, 0x2E]
- strh r2, [r1, 0x30]
- adds r0, r3, 0
- adds r0, 0x98
- str r1, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_080E82B0: .4byte gSpriteTemplate_83DBBFC
-_080E82B4: .4byte gSprites
-_080E82B8: .4byte gUnknown_083DB694
- thumb_func_end sub_80E8268
-
- thumb_func_start sub_80E82BC
-sub_80E82BC: @ 80E82BC
- push {r4-r7,lr}
- adds r3, r0, 0
- movs r1, 0x30
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _080E838C
- ldr r0, _080E8334 @ =gUnknown_083DB694
- ldr r2, [r0]
- adds r1, r2, 0
- adds r1, 0x87
- ldrb r1, [r1]
- mov r12, r0
- cmp r1, 0
- beq _080E836C
- adds r0, r2, 0
- adds r0, 0x86
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r2, 0
- adds r0, 0x85
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 16
- lsrs r4, r0, 16
- movs r7, 0
- movs r1, 0
- cmp r7, r4
- bcs _080E8316
- lsls r6, r5, 1
- adds r2, 0x8C
-_080E8300:
- adds r0, r1, r6
- adds r0, r2, r0
- ldrb r0, [r0]
- adds r0, r7, r0
- lsls r0, 16
- lsrs r7, r0, 16
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r4
- bcc _080E8300
-_080E8316:
- mov r0, r12
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x84
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r5, r0
- bne _080E8338
- movs r0, 0x60
- strh r0, [r3, 0x22]
- lsls r0, r4, 3
- subs r0, r4
- adds r0, 0x3
- b _080E8356
- .align 2, 0
-_080E8334: .4byte gUnknown_083DB694
-_080E8338:
- adds r1, r2, 0
- adds r1, 0x8A
- lsls r0, r5, 1
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 3
- adds r0, 0x8
- strh r0, [r3, 0x22]
- adds r0, r2, 0
- adds r0, 0x88
- ldrh r0, [r0]
- adds r0, r7
- movs r1, 0xB
- muls r1, r4
- adds r0, r1
-_080E8356:
- lsls r0, 3
- adds r0, 0x4
- strh r0, [r3, 0x20]
- movs r1, 0
- ldr r0, _080E8368 @ =0x0000fffa
- strh r0, [r3, 0x24]
- strh r1, [r3, 0x2E]
- b _080E838C
- .align 2, 0
-_080E8368: .4byte 0x0000fffa
-_080E836C:
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080E838C
- strh r1, [r3, 0x2E]
- ldrh r0, [r3, 0x24]
- adds r0, 0x1
- strh r0, [r3, 0x24]
- lsls r0, 16
- cmp r0, 0
- ble _080E838C
- ldr r0, _080E8394 @ =0x0000fffa
- strh r0, [r3, 0x24]
-_080E838C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E8394: .4byte 0x0000fffa
- thumb_func_end sub_80E82BC
-
- thumb_func_start sub_80E8398
-sub_80E8398: @ 80E8398
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x1
- beq _080E83D4
- cmp r3, 0x1
- bgt _080E83AC
- cmp r3, 0
- beq _080E83B2
- b _080E8416
-_080E83AC:
- cmp r3, 0x2
- beq _080E83F8
- b _080E8416
-_080E83B2:
- ldr r0, _080E83D0 @ =gUnknown_083DB694
- ldr r0, [r0]
- adds r0, 0x98
- ldr r1, [r0]
- strh r3, [r1, 0x30]
- ldr r1, [r0]
- strh r3, [r1, 0x24]
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- b _080E8414
- .align 2, 0
-_080E83D0: .4byte gUnknown_083DB694
-_080E83D4:
- ldr r0, _080E83F4 @ =gUnknown_083DB694
- ldr r1, [r0]
- adds r1, 0x98
- ldr r0, [r1]
- movs r2, 0
- strh r3, [r0, 0x30]
- ldr r0, [r1]
- strh r2, [r0, 0x24]
- ldr r1, [r1]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- b _080E8414
- .align 2, 0
-_080E83F4: .4byte gUnknown_083DB694
-_080E83F8:
- ldr r0, _080E841C @ =gUnknown_083DB694
- ldr r1, [r0]
- adds r1, 0x98
- ldr r2, [r1]
- movs r3, 0
- movs r0, 0x1
- strh r0, [r2, 0x30]
- ldr r0, [r1]
- strh r3, [r0, 0x24]
- ldr r1, [r1]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
-_080E8414:
- strb r0, [r1]
-_080E8416:
- pop {r0}
- bx r0
- .align 2, 0
-_080E841C: .4byte gUnknown_083DB694
- thumb_func_end sub_80E8398
-
- thumb_func_start sub_80E8420
-sub_80E8420: @ 80E8420
- push {r4-r7,lr}
- sub sp, 0x18
- mov r1, sp
- ldr r0, _080E84E0 @ =gSpriteTemplate_83DBCAC
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- mov r0, sp
- movs r1, 0
- movs r2, 0
- movs r3, 0x3
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080E84E4 @ =gUnknown_083DB694
- ldr r7, [r1]
- adds r5, r7, 0
- adds r5, 0x9C
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r4, _080E84E8 @ =gSprites
- adds r1, r4
- str r1, [r5]
- ldr r0, _080E84EC @ =gSpriteAnimTable_83DBC8C
- str r0, [sp, 0x8]
- ldr r0, _080E84F0 @ =sub_80E872C
- str r0, [sp, 0x14]
- mov r0, sp
- movs r1, 0
- movs r2, 0
- movs r3, 0x4
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- adds r6, r7, 0
- adds r6, 0xA0
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- str r1, [r6]
- ldr r0, _080E84F4 @ =gSpriteAnimTable_83DBC9C
- str r0, [sp, 0x8]
- ldr r0, _080E84F8 @ =sub_80E8760
- str r0, [sp, 0x14]
- mov r0, sp
- movs r1, 0
- movs r2, 0
- movs r3, 0x5
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- adds r2, r7, 0
- adds r2, 0xA4
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- str r1, [r2]
- ldr r0, [r5]
- movs r1, 0
- strh r1, [r0, 0x2E]
- ldr r0, [r6]
- strh r1, [r0, 0x2E]
- ldr r0, [r2]
- strh r1, [r0, 0x2E]
- movs r0, 0x1
- bl IndexOfSpritePaletteTag
- ldr r1, [r5]
- lsls r0, 24
- lsrs r0, 20
- ldr r2, _080E84FC @ =0x00000101
- adds r0, r2
- strh r0, [r1, 0x34]
- bl sub_80E8534
- adds r1, r7, 0
- adds r1, 0x96
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, _080E8500 @ =REG_BLDCNT
- movs r3, 0xFD
- lsls r3, 6
- adds r0, r3, 0
- strh r0, [r1]
- add sp, 0x18
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E84E0: .4byte gSpriteTemplate_83DBCAC
-_080E84E4: .4byte gUnknown_083DB694
-_080E84E8: .4byte gSprites
-_080E84EC: .4byte gSpriteAnimTable_83DBC8C
-_080E84F0: .4byte sub_80E872C
-_080E84F4: .4byte gSpriteAnimTable_83DBC9C
-_080E84F8: .4byte sub_80E8760
-_080E84FC: .4byte 0x00000101
-_080E8500: .4byte REG_BLDCNT
- thumb_func_end sub_80E8420
-
- thumb_func_start sub_80E8504
-sub_80E8504: @ 80E8504
- push {r4,lr}
- ldr r0, _080E8530 @ =gUnknown_083DB694
- ldr r4, [r0]
- adds r0, r4, 0
- adds r0, 0x9C
- ldr r0, [r0]
- bl DestroySprite
- adds r0, r4, 0
- adds r0, 0xA0
- ldr r0, [r0]
- bl DestroySprite
- adds r0, r4, 0
- adds r0, 0xA4
- ldr r0, [r0]
- bl DestroySprite
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E8530: .4byte gUnknown_083DB694
- thumb_func_end sub_80E8504
-
- thumb_func_start sub_80E8534
-sub_80E8534: @ 80E8534
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r1, _080E8554 @ =gUnknown_083DB694
- ldr r3, [r1]
- ldr r2, _080E8558 @ =0x000001b7
- adds r0, r3, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r4, r1, 0
- cmp r0, 0
- beq _080E8560
- ldr r1, _080E855C @ =gUnknown_020388AC
- movs r0, 0x1
- b _080E8598
- .align 2, 0
-_080E8554: .4byte gUnknown_083DB694
-_080E8558: .4byte 0x000001b7
-_080E855C: .4byte gUnknown_020388AC
-_080E8560:
- adds r0, r3, 0
- adds r0, 0x26
- ldrb r2, [r0]
- cmp r2, 0
- bne _080E8578
- ldr r0, _080E8574 @ =gUnknown_020388AC
- strb r2, [r0]
- adds r7, r0, 0
- b _080E859C
- .align 2, 0
-_080E8574: .4byte gUnknown_020388AC
-_080E8578:
- movs r1, 0xD4
- lsls r1, 1
- adds r0, r3, r1
- ldrh r1, [r0]
- movs r0, 0xC0
- lsls r0, 3
- cmp r1, r0
- bne _080E8594
- ldr r1, _080E8590 @ =gUnknown_020388AC
- movs r0, 0x2
- b _080E8598
- .align 2, 0
-_080E8590: .4byte gUnknown_020388AC
-_080E8594:
- ldr r1, _080E85F4 @ =gUnknown_020388AC
- movs r0, 0x3
-_080E8598:
- strb r0, [r1]
- adds r7, r1, 0
-_080E859C:
- ldr r2, [r4]
- adds r4, r2, 0
- adds r4, 0x9C
- ldr r1, [r4]
- ldrb r0, [r7]
- movs r3, 0
- mov r8, r3
- strh r0, [r1, 0x32]
- adds r5, r2, 0
- adds r5, 0xA0
- ldr r1, [r5]
- ldrb r0, [r7]
- strh r0, [r1, 0x32]
- adds r6, r2, 0
- adds r6, 0xA4
- ldr r1, [r6]
- ldrb r0, [r7]
- strh r0, [r1, 0x32]
- ldr r0, [r4]
- ldrb r1, [r7]
- bl StartSpriteAnim
- ldr r0, [r5]
- ldrb r1, [r7]
- bl StartSpriteAnim
- ldr r0, [r6]
- ldrb r1, [r7]
- bl StartSpriteAnim
- ldr r0, [r4]
- movs r1, 0x8
- strh r1, [r0, 0x38]
- ldr r0, [r4]
- strh r1, [r0, 0x3A]
- ldr r0, [r4]
- mov r1, r8
- strh r1, [r0, 0x30]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E85F4: .4byte gUnknown_020388AC
- thumb_func_end sub_80E8534
-
- thumb_func_start sub_80E85F8
-sub_80E85F8: @ 80E85F8
- push {r4-r6,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080E8624
- ldr r1, _080E8620 @ =gSineTable
- movs r2, 0x30
- ldrsh r0, [r5, r2]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 21
- adds r0, 0x8
- strh r0, [r5, 0x38]
- b _080E863A
- .align 2, 0
-_080E8620: .4byte gSineTable
-_080E8624:
- ldr r1, _080E8688 @ =gSineTable
- movs r2, 0x30
- ldrsh r0, [r5, r2]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- lsls r1, 16
- asrs r1, 21
- movs r0, 0x8
- subs r0, r1
- strh r0, [r5, 0x3A]
-_080E863A:
- ldrh r0, [r5, 0x30]
- adds r0, 0x5
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r5, 0x30]
- ldr r2, _080E868C @ =REG_BLDALPHA
- ldrh r0, [r5, 0x3A]
- lsls r0, 8
- ldrh r1, [r5, 0x38]
- orrs r0, r1
- strh r0, [r2]
- ldr r0, _080E8690 @ =gUnknown_083DB694
- ldr r6, [r0]
- adds r0, r6, 0
- adds r0, 0x96
- ldrb r0, [r0]
- cmp r0, 0
- beq _080E871A
- bl sub_80E8534
- adds r1, r6, 0
- adds r1, 0x9C
- ldr r0, [r1]
- movs r2, 0x8
- strh r2, [r0, 0x38]
- ldr r0, [r1]
- strh r2, [r0, 0x3A]
- ldr r1, [r1]
- movs r0, 0
- strh r0, [r1, 0x30]
- movs r1, 0x32
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _080E86C4
- cmp r0, 0x1
- bgt _080E8694
- cmp r0, 0
- beq _080E869E
- b _080E871A
- .align 2, 0
-_080E8688: .4byte gSineTable
-_080E868C: .4byte REG_BLDALPHA
-_080E8690: .4byte gUnknown_083DB694
-_080E8694:
- cmp r0, 0x2
- beq _080E86D6
- cmp r0, 0x3
- beq _080E86DE
- b _080E871A
-_080E869E:
- ldr r2, _080E86C0 @ =0x000001a9
- adds r0, r6, r2
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x58
- muls r0, r1
- adds r0, 0x20
- strh r0, [r5, 0x20]
- movs r1, 0xD4
- lsls r1, 1
- adds r0, r6, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r2, 0xC
- b _080E870A
- .align 2, 0
-_080E86C0: .4byte 0x000001a9
-_080E86C4:
- movs r0, 0xD6
- strh r0, [r5, 0x20]
- movs r1, 0xD4
- lsls r1, 1
- adds r0, r6, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- b _080E8714
-_080E86D6:
- movs r0, 0x97
- strh r0, [r5, 0x20]
- movs r0, 0x60
- b _080E8718
-_080E86DE:
- ldr r4, _080E8720 @ =gUnknown_083DBCC4
- ldr r2, _080E8724 @ =0x000001a9
- adds r0, r6, r2
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0xD4
- lsls r0, 1
- adds r3, r6, r0
- movs r2, 0
- ldrsb r2, [r3, r2]
- lsls r0, r2, 3
- subs r0, r2
- adds r1, r0
- adds r1, r4
- movs r0, 0
- ldrsb r0, [r1, r0]
- lsls r0, 3
- adds r0, 0x1F
- strh r0, [r5, 0x20]
- movs r0, 0
- ldrsb r0, [r3, r0]
- ldr r2, _080E8728 @ =0x000001b5
-_080E870A:
- adds r1, r6, r2
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- subs r0, r1
-_080E8714:
- lsls r0, 4
- adds r0, 0x60
-_080E8718:
- strh r0, [r5, 0x22]
-_080E871A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E8720: .4byte gUnknown_083DBCC4
-_080E8724: .4byte 0x000001a9
-_080E8728: .4byte 0x000001b5
- thumb_func_end sub_80E85F8
-
- thumb_func_start sub_80E872C
-sub_80E872C: @ 80E872C
- push {lr}
- adds r2, r0, 0
- ldr r0, _080E875C @ =gUnknown_083DB694
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x96
- ldrb r0, [r0]
- cmp r0, 0
- beq _080E8756
- movs r3, 0x32
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bne _080E8756
- adds r1, 0x9C
- ldr r0, [r1]
- ldrh r0, [r0, 0x20]
- adds r0, 0x20
- strh r0, [r2, 0x20]
- ldr r0, [r1]
- ldrh r0, [r0, 0x22]
- strh r0, [r2, 0x22]
-_080E8756:
- pop {r0}
- bx r0
- .align 2, 0
-_080E875C: .4byte gUnknown_083DB694
- thumb_func_end sub_80E872C
-
- thumb_func_start sub_80E8760
-sub_80E8760: @ 80E8760
- push {lr}
- adds r2, r0, 0
- ldr r0, _080E8784 @ =gUnknown_083DB694
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x96
- ldrb r0, [r0]
- cmp r0, 0
- beq _080E87B2
- movs r3, 0x32
- ldrsh r0, [r2, r3]
- cmp r0, 0x1
- beq _080E8798
- cmp r0, 0x1
- bgt _080E8788
- cmp r0, 0
- beq _080E878E
- b _080E87B2
- .align 2, 0
-_080E8784: .4byte gUnknown_083DB694
-_080E8788:
- cmp r0, 0x2
- beq _080E87A2
- b _080E87B2
-_080E878E:
- adds r1, 0x9C
- ldr r0, [r1]
- ldrh r0, [r0, 0x20]
- adds r0, 0x40
- b _080E87AA
-_080E8798:
- adds r1, 0x9C
- ldr r0, [r1]
- ldrh r0, [r0, 0x20]
- adds r0, 0x1C
- b _080E87AA
-_080E87A2:
- adds r1, 0x9C
- ldr r0, [r1]
- ldrh r0, [r0, 0x20]
- adds r0, 0x15
-_080E87AA:
- strh r0, [r2, 0x20]
- ldr r0, [r1]
- ldrh r0, [r0, 0x22]
- strh r0, [r2, 0x22]
-_080E87B2:
- pop {r0}
- bx r0
- thumb_func_end sub_80E8760
-
- thumb_func_start sub_80E87A4
-sub_80E87A4: @ 80E87A4
- push {r4,lr}
- lsls r0, 24
- ldr r1, _080E87C8 @ =gUnknown_083DB694
- ldr r1, [r1]
- adds r2, r1, 0
- adds r2, 0xA8
- ldr r3, [r2]
- movs r4, 0
- cmp r0, 0
- bne _080E87BA
- movs r4, 0x1
-_080E87BA:
- movs r1, 0
- strh r4, [r3, 0x30]
- ldr r0, [r2]
- strh r1, [r0, 0x24]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E87C8: .4byte gUnknown_083DB694
- thumb_func_end sub_80E87A4
-
- thumb_func_start sub_80E87CC
-sub_80E87CC: @ 80E87CC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- ldr r0, _080E8810 @ =gUnknown_083DB694
- ldr r5, [r0]
- adds r0, r5, 0
- adds r0, 0xA8
- ldr r0, [r0]
- movs r3, 0
- cmp r4, 0
- bne _080E87E6
- movs r3, 0x1
-_080E87E6:
- adds r2, r0, 0
- adds r2, 0x3E
- lsls r3, 2
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- orrs r0, r3
- strb r0, [r2]
- adds r0, r4, 0
- bl sub_80E87A4
- cmp r4, 0
- beq _080E880A
- ldr r0, _080E8814 @ =0x000001b9
- adds r1, r5, r0
- movs r0, 0x1
- strb r0, [r1]
-_080E880A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E8810: .4byte gUnknown_083DB694
-_080E8814: .4byte 0x000001b9
- thumb_func_end sub_80E87CC
-
- thumb_func_start sub_80E8818
-sub_80E8818: @ 80E8818
- push {lr}
- ldr r0, _080E8850 @ =gSpriteTemplate_83DBBFC
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080E8854 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0
- strh r0, [r1, 0x2E]
- strh r0, [r1, 0x30]
- ldr r0, _080E8858 @ =gUnknown_083DB694
- ldr r0, [r0]
- adds r0, 0xA8
- str r1, [r0]
- ldr r0, _080E885C @ =sub_80E8860
- str r0, [r1, 0x1C]
- movs r0, 0
- bl sub_80E87CC
- pop {r0}
- bx r0
- .align 2, 0
-_080E8850: .4byte gSpriteTemplate_83DBBFC
-_080E8854: .4byte gSprites
-_080E8858: .4byte gUnknown_083DB694
-_080E885C: .4byte sub_80E8860
- thumb_func_end sub_80E8818
-
- thumb_func_start sub_80E8860
-sub_80E8860: @ 80E8860
- push {r4,r5,lr}
- adds r2, r0, 0
- movs r0, 0x30
- ldrsh r4, [r2, r0]
- cmp r4, 0
- bne _080E88E4
- ldr r0, _080E88B0 @ =gUnknown_083DB694
- ldr r3, [r0]
- ldr r1, _080E88B4 @ =0x000001b9
- adds r0, r3, r1
- ldrb r1, [r0]
- cmp r1, 0
- beq _080E88C4
- ldr r5, _080E88B8 @ =0x00009cd1
- adds r0, r3, r5
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x58
- muls r0, r1
- adds r0, 0x2C
- strh r0, [r2, 0x20]
- ldr r1, _080E88BC @ =0x00009cd0
- adds r0, r3, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r5, 0x84
- adds r1, r3, r5
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- subs r0, r1
- lsls r0, 4
- adds r0, 0x60
- strh r0, [r2, 0x22]
- ldr r0, _080E88C0 @ =0x0000fffa
- strh r0, [r2, 0x24]
- strh r4, [r2, 0x2E]
- b _080E88E4
- .align 2, 0
-_080E88B0: .4byte gUnknown_083DB694
-_080E88B4: .4byte 0x000001b9
-_080E88B8: .4byte 0x00009cd1
-_080E88BC: .4byte 0x00009cd0
-_080E88C0: .4byte 0x0000fffa
-_080E88C4:
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080E88E4
- strh r1, [r2, 0x2E]
- ldrh r0, [r2, 0x24]
- adds r0, 0x1
- strh r0, [r2, 0x24]
- lsls r0, 16
- cmp r0, 0
- ble _080E88E4
- ldr r0, _080E88EC @ =0x0000fffa
- strh r0, [r2, 0x24]
-_080E88E4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E88EC: .4byte 0x0000fffa
- thumb_func_end sub_80E8860
-
- thumb_func_start sub_80E88F0
-sub_80E88F0: @ 80E88F0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r4, 0
- ldr r0, _080E8950 @ =gUnknown_083DB694
- mov r8, r0
- ldr r0, [r0]
- movs r6, 0x4
- movs r5, 0
- movs r1, 0xB4
- adds r1, r0
- mov r12, r1
- adds r7, r0, 0
- adds r7, 0xAC
-_080E890C:
- lsls r2, r4, 2
- adds r3, r7, r2
- ldr r1, [r3]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r6
- strb r0, [r1]
- ldr r0, [r3]
- strh r5, [r0, 0x30]
- add r2, r12
- ldr r1, [r2]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r6
- strb r0, [r1]
- ldr r0, [r2]
- strh r5, [r0, 0x30]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _080E890C
- mov r1, r8
- ldr r0, [r1]
- ldr r1, _080E8954 @ =0x00009f9c
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E8950: .4byte gUnknown_083DB694
-_080E8954: .4byte 0x00009f9c
- thumb_func_end sub_80E88F0
-
- thumb_func_start sub_80E8958
-sub_80E8958: @ 80E8958
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0
- bne _080E89B4
- movs r0, 0x64
- mov r9, r0
- ldr r0, _080E8998 @ =gUnknown_083DB694
- ldr r2, [r0]
- ldr r3, _080E899C @ =0x00009f98
- adds r1, r2, r3
- ldr r3, _080E89A0 @ =0x000001b5
- adds r0, r2, r3
- str r0, [r1]
- adds r0, r2, 0
- adds r0, 0x26
- ldrb r0, [r0]
- cmp r0, 0
- bne _080E89A8
- movs r1, 0xDB
- lsls r1, 1
- adds r0, r2, r1
- ldrb r0, [r0]
- subs r0, 0x4
- ldr r3, _080E89A4 @ =0x00009f9d
- adds r1, r2, r3
- strb r0, [r1]
- b _080E8A00
- .align 2, 0
-_080E8998: .4byte gUnknown_083DB694
-_080E899C: .4byte 0x00009f98
-_080E89A0: .4byte 0x000001b5
-_080E89A4: .4byte 0x00009f9d
-_080E89A8:
- ldr r1, _080E89B0 @ =0x00009f9d
- adds r0, r2, r1
- strb r7, [r0]
- b _080E8A00
- .align 2, 0
-_080E89B0: .4byte 0x00009f9d
-_080E89B4:
- movs r3, 0x78
- mov r9, r3
- ldr r0, _080E8A64 @ =gUnknown_083DB694
- ldr r2, [r0]
- ldr r0, _080E8A68 @ =0x00009f98
- adds r1, r2, r0
- ldr r3, _080E8A6C @ =0x00009d55
- adds r0, r2, r3
- str r0, [r1]
- ldr r1, _080E8A70 @ =0x00009d54
- adds r0, r2, r1
- ldrb r0, [r0]
- subs r0, 0x4
- ldr r3, _080E8A74 @ =0x00009f9d
- adds r1, r2, r3
- strb r0, [r1]
- movs r4, 0
- adds r5, r2, 0
- adds r5, 0xB4
- movs r0, 0x5
- negs r0, r0
- mov r12, r0
- movs r6, 0x1
-_080E89E2:
- lsls r3, r4, 2
- adds r3, r5, r3
- ldr r1, [r3]
- adds r1, 0x3E
- ldrb r2, [r1]
- mov r0, r12
- ands r0, r2
- strb r0, [r1]
- ldr r0, [r3]
- strh r6, [r0, 0x30]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _080E89E2
-_080E8A00:
- ldr r0, _080E8A64 @ =gUnknown_083DB694
- ldr r2, [r0]
- ldr r3, _080E8A74 @ =0x00009f9d
- adds r1, r2, r3
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, 0
- bge _080E8A14
- movs r0, 0
- strb r0, [r1]
-_080E8A14:
- movs r4, 0
- adds r6, r2, 0
- adds r6, 0xAC
- movs r0, 0x5
- negs r0, r0
- mov r8, r0
-_080E8A20:
- lsls r2, r4, 2
- adds r2, r6, r2
- ldr r0, [r2]
- mov r1, r9
- strh r1, [r0, 0x20]
- ldr r1, [r2]
- adds r1, 0x3E
- ldrb r0, [r1]
- mov r3, r8
- ands r0, r3
- strb r0, [r1]
- ldr r0, [r2]
- movs r5, 0x1
- strh r5, [r0, 0x30]
- ldr r0, [r2]
- adds r1, r7, 0
- bl StartSpriteAnim
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _080E8A20
- ldr r0, _080E8A64 @ =gUnknown_083DB694
- ldr r0, [r0]
- ldr r1, _080E8A78 @ =0x00009f9c
- adds r0, r1
- strb r5, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E8A64: .4byte gUnknown_083DB694
-_080E8A68: .4byte 0x00009f98
-_080E8A6C: .4byte 0x00009d55
-_080E8A70: .4byte 0x00009d54
-_080E8A74: .4byte 0x00009f9d
-_080E8A78: .4byte 0x00009f9c
- thumb_func_end sub_80E8958
-
- thumb_func_start sub_80E8A7C
-sub_80E8A7C: @ 80E8A7C
- push {r4-r7,lr}
- sub sp, 0x18
- mov r1, sp
- ldr r0, _080E8B68 @ =gSpriteTemplate_83DBD18
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- movs r5, 0
-_080E8A8E:
- lsls r2, r5, 3
- adds r2, r5
- lsls r2, 19
- movs r0, 0xA8
- lsls r0, 15
- adds r2, r0
- asrs r2, 16
- mov r0, sp
- movs r1, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _080E8B6C @ =gUnknown_083DB694
- ldr r2, [r0]
- lsls r0, r5, 2
- adds r2, 0xAC
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E8B70 @ =gSprites
- adds r0, r1
- str r0, [r2]
- strh r5, [r0, 0x2E]
- ldr r3, [r2]
- adds r3, 0x3F
- movs r0, 0x1
- adds r2, r5, 0
- ands r2, r0
- lsls r2, 1
- ldrb r0, [r3]
- movs r4, 0x3
- negs r4, r4
- adds r1, r4, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _080E8A8E
- mov r0, sp
- movs r1, 0x3
- strh r1, [r0]
- ldr r0, _080E8B74 @ =gSpriteAnimTable_83DBD10
- str r0, [sp, 0x8]
- movs r5, 0
- movs r7, 0x3F
- movs r6, 0x40
-_080E8AF6:
- lsls r4, r5, 2
- adds r1, r4, r5
- lsls r1, 19
- movs r0, 0x8E
- lsls r0, 16
- adds r1, r0
- asrs r1, 16
- mov r0, sp
- movs r2, 0x58
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _080E8B6C @ =gUnknown_083DB694
- ldr r2, [r0]
- adds r2, 0xB4
- adds r2, r4
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E8B70 @ =gSprites
- adds r0, r1
- str r0, [r2]
- strh r5, [r0, 0x2E]
- ldr r3, [r2]
- ldrb r1, [r3, 0x1]
- adds r0, r7, 0
- ands r0, r1
- orrs r0, r6
- strb r0, [r3, 0x1]
- ldr r3, [r2]
- ldrb r1, [r3, 0x3]
- adds r0, r7, 0
- ands r0, r1
- orrs r0, r6
- strb r0, [r3, 0x3]
- ldr r0, [r2]
- lsls r1, r5, 24
- lsrs r1, 24
- bl StartSpriteAnim
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _080E8AF6
- movs r0, 0
- bl sub_80E8958
- bl sub_80E88F0
- add sp, 0x18
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E8B68: .4byte gSpriteTemplate_83DBD18
-_080E8B6C: .4byte gUnknown_083DB694
-_080E8B70: .4byte gSprites
-_080E8B74: .4byte gSpriteAnimTable_83DBD10
- thumb_func_end sub_80E8A7C
-
- thumb_func_start sub_80E8B78
-sub_80E8B78: @ 80E8B78
- push {r4,lr}
- adds r3, r0, 0
- ldr r0, _080E8BB0 @ =gUnknown_083DB694
- ldr r1, [r0]
- ldr r2, _080E8BB4 @ =0x00009f9c
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080E8BE8
- movs r2, 0x30
- ldrsh r0, [r3, r2]
- cmp r0, 0
- beq _080E8BE8
- movs r2, 0x2E
- ldrsh r0, [r3, r2]
- cmp r0, 0
- bne _080E8BBC
- movs r4, 0
- ldr r2, _080E8BB8 @ =0x00009f98
- adds r0, r1, r2
- ldr r0, [r0]
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _080E8BD6
- b _080E8BD4
- .align 2, 0
-_080E8BB0: .4byte gUnknown_083DB694
-_080E8BB4: .4byte 0x00009f9c
-_080E8BB8: .4byte 0x00009f98
-_080E8BBC:
- movs r4, 0
- ldr r2, _080E8BF0 @ =0x00009f98
- adds r0, r1, r2
- ldr r0, [r0]
- adds r2, 0x5
- adds r1, r2
- movs r2, 0
- ldrsb r2, [r0, r2]
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r2, r0
- bne _080E8BD6
-_080E8BD4:
- movs r4, 0x1
-_080E8BD6:
- adds r2, r3, 0
- adds r2, 0x3E
- lsls r3, r4, 2
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- orrs r0, r3
- strb r0, [r2]
-_080E8BE8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E8BF0: .4byte 0x00009f98
- thumb_func_end sub_80E8B78
-
- thumb_func_start sub_80E8BF4
-sub_80E8BF4: @ 80E8BF4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r2, r1, 24
- ldr r0, _080E8C28 @ =gUnknown_083DBD30
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- ldr r0, _080E8C2C @ =gUnknown_083DBD38
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0xC]
- str r1, [sp, 0x10]
- cmp r2, 0x2
- beq _080E8C20
- cmp r2, 0x5
- beq _080E8C30
-_080E8C20:
- movs r4, 0x40
- movs r5, 0x28
- b _080E8C34
- .align 2, 0
-_080E8C28: .4byte gUnknown_083DBD30
-_080E8C2C: .4byte gUnknown_083DBD38
-_080E8C30:
- movs r4, 0x24
- movs r5, 0x30
-_080E8C34:
- cmp r3, 0
- beq _080E8C3C
- cmp r3, 0x1
- beq _080E8C40
-_080E8C3C:
- movs r0, 0x43
- b _080E8C42
-_080E8C40:
- movs r0, 0x44
-_080E8C42:
- mov r8, r0
- add r0, sp, 0x4
- bl LoadCompressedObjectPic
- add r0, sp, 0xC
- bl LoadSpritePalette
- ldr r0, _080E8CDC @ =gSpriteTemplate_83DBD48
- adds r1, r4, 0
- adds r2, r5, 0
- movs r3, 0x1
- bl CreateSprite
- ldr r0, _080E8CE0 @ =gSaveBlock2
- ldrb r0, [r0, 0x8]
- movs r1, 0x69
- cmp r0, 0
- bne _080E8C68
- movs r1, 0x64
-_080E8C68:
- ldr r7, _080E8CE4 @ =SpriteCallbackDummy
- adds r2, r4, 0
- subs r2, 0xC
- movs r6, 0
- str r6, [sp]
- adds r0, r1, 0
- adds r1, r7, 0
- adds r3, r5, 0
- bl AddPseudoFieldObject
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _080E8C9E
- ldr r1, _080E8CE8 @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- strb r1, [r0, 0x5]
- movs r1, 0x3
- bl StartSpriteAnim
-_080E8C9E:
- adds r2, r4, 0
- adds r2, 0xC
- str r6, [sp]
- mov r0, r8
- adds r1, r7, 0
- adds r3, r5, 0
- bl AddPseudoFieldObject
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _080E8CD0
- ldr r1, _080E8CE8 @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- strb r1, [r0, 0x5]
- movs r1, 0x2
- bl StartSpriteAnim
-_080E8CD0:
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E8CDC: .4byte gSpriteTemplate_83DBD48
-_080E8CE0: .4byte gSaveBlock2
-_080E8CE4: .4byte SpriteCallbackDummy
-_080E8CE8: .4byte gSprites
- thumb_func_end sub_80E8BF4
-
- thumb_func_start sub_80E8CEC
-sub_80E8CEC: @ 80E8CEC
- push {lr}
- ldr r0, _080E8D24 @ =gUnknown_083DBD60
- bl LoadCompressedObjectPic
- ldr r0, _080E8D28 @ =gUnknown_083DBD68
- bl LoadSpritePalette
- ldr r0, _080E8D2C @ =gSpriteTemplate_83DBDE4
- movs r1, 0xE0
- movs r2, 0x58
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080E8D3C
- ldr r0, _080E8D30 @ =gUnknown_083DB694
- ldr r2, [r0]
- ldr r0, _080E8D34 @ =0x00009fa0
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E8D38 @ =gSprites
- adds r0, r1
- str r0, [r2]
- b _080E8D48
- .align 2, 0
-_080E8D24: .4byte gUnknown_083DBD60
-_080E8D28: .4byte gUnknown_083DBD68
-_080E8D2C: .4byte gSpriteTemplate_83DBDE4
-_080E8D30: .4byte gUnknown_083DB694
-_080E8D34: .4byte 0x00009fa0
-_080E8D38: .4byte gSprites
-_080E8D3C:
- ldr r0, _080E8D4C @ =gUnknown_083DB694
- ldr r0, [r0]
- ldr r1, _080E8D50 @ =0x00009fa0
- adds r0, r1
- movs r1, 0
- str r1, [r0]
-_080E8D48:
- pop {r0}
- bx r0
- .align 2, 0
-_080E8D4C: .4byte gUnknown_083DB694
-_080E8D50: .4byte 0x00009fa0
- thumb_func_end sub_80E8CEC
-
- thumb_func_start sub_80E8D54
-sub_80E8D54: @ 80E8D54
- push {lr}
- ldr r0, _080E8D78 @ =gUnknown_083DB694
- ldr r2, [r0]
- ldr r1, _080E8D7C @ =0x00009fa0
- adds r0, r2, r1
- ldr r1, [r0]
- cmp r1, 0
- beq _080E8D88
- adds r0, r2, 0
- adds r0, 0x26
- ldrb r0, [r0]
- cmp r0, 0
- bne _080E8D80
- adds r0, r1, 0
- movs r1, 0x1
- bl StartSpriteAnim
- b _080E8D88
- .align 2, 0
-_080E8D78: .4byte gUnknown_083DB694
-_080E8D7C: .4byte 0x00009fa0
-_080E8D80:
- adds r0, r1, 0
- movs r1, 0x2
- bl StartSpriteAnim
-_080E8D88:
- pop {r0}
- bx r0
- thumb_func_end sub_80E8D54
-
- thumb_func_start sub_80E8D8C
-sub_80E8D8C: @ 80E8D8C
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r0, _080E8DB8 @ =gUnknown_083DB694
- ldr r2, [r0]
- ldr r1, _080E8DBC @ =0x00009fa0
- adds r0, r2, r1
- ldr r1, [r0]
- cmp r1, 0
- beq _080E8DD2
- cmp r3, 0
- beq _080E8DCA
- adds r0, r2, 0
- adds r0, 0x26
- ldrb r0, [r0]
- cmp r0, 0
- bne _080E8DC0
- adds r0, r1, 0
- movs r1, 0x3
- bl StartSpriteAnim
- b _080E8DD2
- .align 2, 0
-_080E8DB8: .4byte gUnknown_083DB694
-_080E8DBC: .4byte 0x00009fa0
-_080E8DC0:
- adds r0, r1, 0
- movs r1, 0x4
- bl StartSpriteAnim
- b _080E8DD2
-_080E8DCA:
- adds r0, r1, 0
- movs r1, 0x5
- bl StartSpriteAnim
-_080E8DD2:
- pop {r0}
- bx r0
- thumb_func_end sub_80E8D8C
-
- thumb_func_start sub_80E8DD8
-sub_80E8DD8: @ 80E8DD8
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x8
- ldr r0, _080E8F2C @ =REG_BG0HOFS
- movs r6, 0
- strh r6, [r0]
- adds r0, 0x2
- strh r6, [r0]
- adds r0, 0x2
- strh r6, [r0]
- adds r0, 0x2
- strh r6, [r0]
- adds r0, 0x4
- strh r6, [r0]
- subs r0, 0x2
- strh r6, [r0]
- adds r0, 0x4
- strh r6, [r0]
- adds r0, 0x2
- strh r6, [r0]
- ldr r1, _080E8F30 @ =REG_BG0CNT
- movs r2, 0x8B
- lsls r2, 8
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _080E8F34 @ =0x00000d09
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _080E8F38 @ =gUnknown_08E945D0
- ldr r1, _080E8F3C @ =gUnknown_083DB694
- ldr r1, [r1]
- mov r8, r1
- movs r4, 0xE4
- lsls r4, 1
- add r4, r8
- movs r5, 0xA0
- lsls r5, 2
- adds r1, r4, 0
- adds r2, r5, 0
- bl CpuSet
- ldr r0, _080E8F40 @ =gUnknown_08E953D0
- movs r1, 0xD9
- lsls r1, 3
- add r1, r8
- bl LZ77UnCompWram
- ldr r0, _080E8F44 @ =gMenuWordGroupFrame_Gfx
- ldr r1, _080E8F48 @ =0x06008000
- bl LZ77UnCompVram
- ldr r1, _080E8F4C @ =0x06006800
- adds r0, r4, 0
- adds r2, r5, 0
- bl CpuSet
- ldr r0, _080E8F50 @ =gMenuWordGroupFrame1_Pal
- movs r1, 0x40
- movs r2, 0x40
- bl LoadPalette
- ldr r1, _080E8F54 @ =REG_BG2CNT
- ldr r2, _080E8F58 @ =0x00000e02
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _080E8F5C @ =0x06007000
- movs r5, 0x80
- lsls r5, 4
- mov r0, sp
- strh r6, [r0]
- ldr r4, _080E8F60 @ =0x040000d4
- str r0, [r4]
- str r1, [r4, 0x4]
- lsrs r0, r5, 1
- movs r2, 0x81
- lsls r2, 24
- orrs r0, r2
- str r0, [r4, 0x8]
- ldr r0, [r4, 0x8]
- ldr r0, _080E8F64 @ =gUnknown_08E9AB00
- ldr r2, _080E8F68 @ =0x06006000
- str r0, [r4]
- str r2, [r4, 0x4]
- ldr r0, _080E8F6C @ =0x80000020
- str r0, [r4, 0x8]
- ldr r0, [r4, 0x8]
- ldr r0, _080E8F70 @ =gUnknown_08E9AB60
- bl LZ77UnCompVram
- ldr r0, _080E8F74 @ =gUnknown_08E9AB40
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _080E8F78 @ =gUnknown_083DBDFC
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- ldr r1, _080E8F7C @ =REG_BG3CNT
- ldr r2, _080E8F80 @ =0x00000f0f
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _080E8F84 @ =0x06007800
- movs r0, 0
- mov r9, r0
- str r0, [sp, 0x4]
- add r0, sp, 0x4
- str r0, [r4]
- str r1, [r4, 0x4]
- lsrs r5, 2
- movs r0, 0x85
- lsls r0, 24
- orrs r5, r0
- str r5, [r4, 0x8]
- ldr r0, [r4, 0x8]
- ldr r0, _080E8F88 @ =gUnknown_083DBE40
- movs r1, 0x20
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _080E8F8C @ =gPlttBufferUnfaded
- adds r1, r0, 0
- adds r1, 0x7E
- ldr r3, _080E8F90 @ =0x00007fff
- strh r3, [r1]
- subs r1, 0x1C
- ldr r2, _080E8F94 @ =0x00006f5b
- strh r2, [r1]
- adds r0, 0x70
- ldr r1, _080E8F98 @ =0x0000739c
- strh r1, [r0]
- ldr r0, _080E8F9C @ =gPlttBufferFaded
- adds r4, r0, 0
- adds r4, 0x7E
- strh r3, [r4]
- adds r3, r0, 0
- adds r3, 0x62
- strh r2, [r3]
- adds r0, 0x70
- strh r1, [r0]
- movs r1, 0xBC
- add r8, r1
- mov r2, r8
- strb r6, [r2]
- bl sub_80E8FA4
- bl sub_80E948C
- movs r0, 0xA
- bl sub_80E9198
- movs r0, 0
- bl sub_80E91D4
- bl sub_80E95A4
- ldr r0, _080E8FA0 @ =REG_BLDCNT
- mov r1, r9
- strh r1, [r0]
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E8F2C: .4byte REG_BG0HOFS
-_080E8F30: .4byte REG_BG0CNT
-_080E8F34: .4byte 0x00000d09
-_080E8F38: .4byte gUnknown_08E945D0
-_080E8F3C: .4byte gUnknown_083DB694
-_080E8F40: .4byte gUnknown_08E953D0
-_080E8F44: .4byte gMenuWordGroupFrame_Gfx
-_080E8F48: .4byte 0x06008000
-_080E8F4C: .4byte 0x06006800
-_080E8F50: .4byte gMenuWordGroupFrame1_Pal
-_080E8F54: .4byte REG_BG2CNT
-_080E8F58: .4byte 0x00000e02
-_080E8F5C: .4byte 0x06007000
-_080E8F60: .4byte 0x040000d4
-_080E8F64: .4byte gUnknown_08E9AB00
-_080E8F68: .4byte 0x06006000
-_080E8F6C: .4byte 0x80000020
-_080E8F70: .4byte gUnknown_08E9AB60
-_080E8F74: .4byte gUnknown_08E9AB40
-_080E8F78: .4byte gUnknown_083DBDFC
-_080E8F7C: .4byte REG_BG3CNT
-_080E8F80: .4byte 0x00000f0f
-_080E8F84: .4byte 0x06007800
-_080E8F88: .4byte gUnknown_083DBE40
-_080E8F8C: .4byte gPlttBufferUnfaded
-_080E8F90: .4byte 0x00007fff
-_080E8F94: .4byte 0x00006f5b
-_080E8F98: .4byte 0x0000739c
-_080E8F9C: .4byte gPlttBufferFaded
-_080E8FA0: .4byte REG_BLDCNT
- thumb_func_end sub_80E8DD8
-
- thumb_func_start sub_80E8FA4
-sub_80E8FA4: @ 80E8FA4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- movs r0, 0
- mov r9, r0
- mov r1, sp
- adds r1, 0x18
- str r1, [sp, 0x24]
- add r2, sp, 0xC
- mov r12, r2
-_080E8FBE:
- mov r3, r9
- lsls r1, r3, 1
- ldr r4, _080E90F4 @ =0x08e8f136
- adds r0, r1, r4
- ldrh r2, [r0]
- movs r0, 0x1F
- ands r0, r2
- lsls r0, 8
- str r0, [sp]
- ldr r5, _080E90F8 @ =0x08e8f13c
- adds r1, r5
- ldrh r1, [r1]
- movs r0, 0x1F
- ands r0, r1
- lsls r0, 8
- str r0, [sp, 0xC]
- lsls r2, 16
- lsrs r0, r2, 21
- movs r3, 0x1F
- ands r0, r3
- lsls r0, 8
- str r0, [sp, 0x4]
- lsls r1, 16
- lsrs r0, r1, 21
- ands r0, r3
- lsls r0, 8
- mov r4, r12
- str r0, [r4, 0x4]
- lsrs r2, 26
- ands r2, r3
- lsls r2, 8
- str r2, [sp, 0x8]
- lsrs r1, 26
- ands r1, r3
- lsls r1, 8
- str r1, [r4, 0x8]
- movs r3, 0
- mov r5, r9
- lsls r5, 3
- mov r10, r5
- mov r0, r9
- adds r0, 0x1
- str r0, [sp, 0x28]
- ldr r4, [sp, 0x24]
-_080E9016:
- lsls r0, r3, 2
- adds r2, r4, r0
- mov r5, r12
- adds r1, r5, r0
- add r0, sp
- ldr r1, [r1]
- ldr r0, [r0]
- subs r0, r1, r0
- cmp r0, 0
- bge _080E902C
- adds r0, 0x7
-_080E902C:
- asrs r0, 3
- str r0, [r2]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x2
- bls _080E9016
- movs r4, 0
- ldr r0, _080E90FC @ =gUnknown_083DB694
- ldr r1, [r0]
- mov r0, r10
- add r0, r9
- lsls r0, 1
- mov r8, r0
- movs r5, 0x1F
- ldr r6, [sp, 0x24]
- ldr r0, _080E9100 @ =0x00009f60
- adds r7, r1, r0
-_080E9050:
- lsls r2, r4, 1
- add r2, r8
- adds r2, r7, r2
- ldr r1, [sp, 0x8]
- asrs r1, 8
- ands r1, r5
- lsls r1, 10
- ldr r0, [sp, 0x4]
- asrs r0, 8
- ands r0, r5
- lsls r0, 5
- orrs r1, r0
- ldr r0, [sp]
- asrs r0, 8
- ands r0, r5
- orrs r1, r0
- strh r1, [r2]
- movs r3, 0
- adds r4, 0x1
-_080E9076:
- lsls r0, r3, 2
- mov r1, sp
- adds r2, r1, r0
- adds r0, r6, r0
- ldr r1, [r2]
- ldr r0, [r0]
- adds r1, r0
- str r1, [r2]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x2
- bls _080E9076
- lsls r0, r4, 16
- lsrs r4, r0, 16
- cmp r4, 0x7
- bls _080E9050
- ldr r2, _080E90FC @ =gUnknown_083DB694
- ldr r3, [r2]
- mov r0, r10
- add r0, r9
- adds r0, r4
- lsls r0, 1
- ldr r4, _080E9100 @ =0x00009f60
- adds r2, r3, r4
- adds r2, r0
- mov r5, r12
- ldr r1, [r5, 0x8]
- asrs r1, 8
- movs r0, 0x1F
- ands r1, r0
- lsls r1, 10
- ldr r0, [r5, 0x4]
- asrs r0, 8
- movs r4, 0x1F
- ands r0, r4
- lsls r0, 5
- orrs r1, r0
- ldr r0, [sp, 0xC]
- asrs r0, 8
- ands r0, r4
- orrs r1, r0
- strh r1, [r2]
- ldr r5, [sp, 0x28]
- lsls r0, r5, 16
- lsrs r0, 16
- mov r9, r0
- cmp r0, 0x2
- bhi _080E90DA
- b _080E8FBE
-_080E90DA:
- ldr r0, _080E9104 @ =0x00009f5e
- adds r1, r3, r0
- movs r0, 0
- strb r0, [r1]
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E90F4: .4byte 0x08e8f136
-_080E90F8: .4byte 0x08e8f13c
-_080E90FC: .4byte gUnknown_083DB694
-_080E9100: .4byte 0x00009f60
-_080E9104: .4byte 0x00009f5e
- thumb_func_end sub_80E8FA4
-
- thumb_func_start sub_80E9108
-sub_80E9108: @ 80E9108
- push {r4-r7,lr}
- lsls r0, 24
- ldr r1, _080E9164 @ =gUnknown_083DB694
- ldr r2, [r1]
- ldr r3, _080E9168 @ =0x00009f5e
- adds r1, r2, r3
- lsrs r0, 24
- ldrb r3, [r1]
- adds r0, r3
- strb r0, [r1]
- movs r4, 0
- ldr r0, _080E916C @ =gPlttBufferUnfaded
- mov r12, r0
- adds r6, r1, 0
- ldr r3, _080E9170 @ =0x00009f60
- adds r5, r2, r3
- ldr r7, _080E9174 @ =gPlttBufferFaded
-_080E912A:
- adds r2, r4, 0
- adds r2, 0x51
- lsls r2, 1
- mov r0, r12
- adds r3, r2, r0
- ldrb r0, [r6]
- lsls r0, 1
- lsls r1, r4, 3
- adds r1, r4
- lsls r1, 1
- adds r0, r1
- adds r0, r5, r0
- ldrh r0, [r0]
- strh r0, [r3]
- adds r2, r7
- ldrb r0, [r6]
- lsls r0, 1
- adds r0, r1
- adds r0, r5, r0
- ldrh r0, [r0]
- strh r0, [r2]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x2
- bls _080E912A
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E9164: .4byte gUnknown_083DB694
-_080E9168: .4byte 0x00009f5e
-_080E916C: .4byte gPlttBufferUnfaded
-_080E9170: .4byte 0x00009f60
-_080E9174: .4byte gPlttBufferFaded
- thumb_func_end sub_80E9108
-
- thumb_func_start sub_80E9178
-sub_80E9178: @ 80E9178
- push {lr}
- ldr r0, _080E9190 @ =gUnknown_083DB694
- ldr r0, [r0]
- ldr r1, _080E9194 @ =0x00009f5e
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- movs r0, 0
- bl sub_80E9108
- pop {r0}
- bx r0
- .align 2, 0
-_080E9190: .4byte gUnknown_083DB694
-_080E9194: .4byte 0x00009f5e
- thumb_func_end sub_80E9178
-
- thumb_func_start sub_80E9198
-sub_80E9198: @ 80E9198
- ldr r1, _080E91A0 @ =gUnknown_03000740
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080E91A0: .4byte gUnknown_03000740
- thumb_func_end sub_80E9198
-
- thumb_func_start sub_80E91A4
-sub_80E91A4: @ 80E91A4
- ldr r0, _080E91AC @ =gUnknown_03000740
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080E91AC: .4byte gUnknown_03000740
- thumb_func_end sub_80E91A4
-
- thumb_func_start sub_80E91B0
-sub_80E91B0: @ 80E91B0
- push {lr}
- sub sp, 0x8
- lsls r2, 24
- lsls r1, 27
- lsrs r1, 24
- lsrs r2, 21
- lsls r3, 27
- lsrs r3, 24
- str r3, [sp]
- movs r3, 0x1
- str r3, [sp, 0x4]
- movs r3, 0xB0
- bl sub_8072AB0
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_80E91B0
-
- thumb_func_start sub_80E91D4
-sub_80E91D4: @ 80E91D4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- ldr r0, _080E91FC @ =gWindowConfig_81E6DA8
- bl BasicInitMenuWindow
- cmp r4, 0xA
- bne _080E9200
- movs r0, 0x3
- movs r1, 0xE
- movs r2, 0x1A
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- movs r0, 0xA
- bl sub_80E9198
- b _080E935C
- .align 2, 0
-_080E91FC: .4byte gWindowConfig_81E6DA8
-_080E9200:
- bl sub_80E91A4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xA
- bne _080E9218
- movs r0, 0x3
- movs r1, 0xE
- movs r2, 0x1A
- movs r3, 0x13
- bl MenuDrawTextWindow
-_080E9218:
- adds r0, r4, 0
- bl sub_80E9198
- cmp r4, 0x9
- bls _080E9224
- b _080E935C
-_080E9224:
- lsls r0, r4, 2
- ldr r1, _080E9230 @ =_080E9234
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E9230: .4byte _080E9234
- .align 2, 0
-_080E9234:
- .4byte _080E925C
- .4byte _080E9284
- .4byte _080E92AC
- .4byte _080E92C4
- .4byte _080E92F0
- .4byte _080E9308
- .4byte _080E9310
- .4byte _080E9318
- .4byte _080E933C
- .4byte _080E9350
-_080E925C:
- ldr r0, _080E9278 @ =gUnknown_083DB694
- ldr r4, [r0]
- ldr r1, _080E927C @ =0x00009fac
- adds r0, r4, r1
- movs r1, 0x4
- movs r2, 0xF
- movs r3, 0x2
- bl sub_80E91B0
- ldr r0, _080E9280 @ =0x00009ff5
- adds r4, r0
- adds r0, r4, 0
- b _080E9326
- .align 2, 0
-_080E9278: .4byte gUnknown_083DB694
-_080E927C: .4byte 0x00009fac
-_080E9280: .4byte 0x00009ff5
-_080E9284:
- ldr r0, _080E92A0 @ =gUnknown_083DB694
- ldr r4, [r0]
- ldr r1, _080E92A4 @ =0x0000a03e
- adds r0, r4, r1
- movs r1, 0x4
- movs r2, 0xF
- movs r3, 0x2
- bl sub_80E91B0
- ldr r0, _080E92A8 @ =0x0000a087
- adds r4, r0
- adds r0, r4, 0
- b _080E9326
- .align 2, 0
-_080E92A0: .4byte gUnknown_083DB694
-_080E92A4: .4byte 0x0000a03e
-_080E92A8: .4byte 0x0000a087
-_080E92AC:
- ldr r0, _080E92BC @ =gOtherText_TextDeletedConfirmPage1
- movs r1, 0x4
- movs r2, 0xF
- movs r3, 0x2
- bl sub_80E91B0
- ldr r0, _080E92C0 @ =gOtherText_TextDeletedConfirmPage2
- b _080E9326
- .align 2, 0
-_080E92BC: .4byte gOtherText_TextDeletedConfirmPage1
-_080E92C0: .4byte gOtherText_TextDeletedConfirmPage2
-_080E92C4:
- ldr r0, _080E92D8 @ =gUnknown_083DB694
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0x4
- beq _080E92E0
- cmp r0, 0x9
- bne _080E92E8
- ldr r0, _080E92DC @ =gOtherText_QuitGivingInfo
- b _080E933E
- .align 2, 0
-_080E92D8: .4byte gUnknown_083DB694
-_080E92DC: .4byte gOtherText_QuitGivingInfo
-_080E92E0:
- ldr r0, _080E92E4 @ =gOtherText_StopGivingMail
- b _080E933E
- .align 2, 0
-_080E92E4: .4byte gOtherText_StopGivingMail
-_080E92E8:
- ldr r0, _080E92EC @ =gOtherText_QuitEditing
- b _080E933E
- .align 2, 0
-_080E92EC: .4byte gOtherText_QuitEditing
-_080E92F0:
- ldr r0, _080E9300 @ =gOtherText_EditedTextNoSavePage1
- movs r1, 0x4
- movs r2, 0xF
- movs r3, 0x2
- bl sub_80E91B0
- ldr r0, _080E9304 @ =gOtherText_EditedTextNoSavePage2
- b _080E9326
- .align 2, 0
-_080E9300: .4byte gOtherText_EditedTextNoSavePage1
-_080E9304: .4byte gOtherText_EditedTextNoSavePage2
-_080E9308:
- ldr r0, _080E930C @ =gOtherText_EnterAPhraseOrWord
- b _080E933E
- .align 2, 0
-_080E930C: .4byte gOtherText_EnterAPhraseOrWord
-_080E9310:
- ldr r0, _080E9314 @ =gOtherText_TextNoDelete
- b _080E933E
- .align 2, 0
-_080E9314: .4byte gOtherText_TextNoDelete
-_080E9318:
- ldr r0, _080E9334 @ =gOtherText_OnlyOnePhrase
- movs r1, 0x4
- movs r2, 0xF
- movs r3, 0x2
- bl sub_80E91B0
- ldr r0, _080E9338 @ =gOtherText_OriginalSongRestored
-_080E9326:
- movs r1, 0x4
- movs r2, 0x11
- movs r3, 0x2
- bl sub_80E91B0
- b _080E935C
- .align 2, 0
-_080E9334: .4byte gOtherText_OnlyOnePhrase
-_080E9338: .4byte gOtherText_OriginalSongRestored
-_080E933C:
- ldr r0, _080E934C @ =gOtherText_TrendyAlready
-_080E933E:
- movs r1, 0x4
- movs r2, 0xF
- movs r3, 0x4
- bl sub_80E91B0
- b _080E935C
- .align 2, 0
-_080E934C: .4byte gOtherText_TrendyAlready
-_080E9350:
- ldr r0, _080E9364 @ =gOtherText_CombineTwoPhrases
- movs r1, 0x4
- movs r2, 0xF
- movs r3, 0x4
- bl sub_80E91B0
-_080E935C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E9364: .4byte gOtherText_CombineTwoPhrases
- thumb_func_end sub_80E91D4
-
- thumb_func_start sub_80E9368
-sub_80E9368: @ 80E9368
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD
- bhi _080E93F8
- lsls r0, 2
- ldr r1, _080E937C @ =_080E9380
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E937C: .4byte _080E9380
- .align 2, 0
-_080E9380:
- .4byte _080E93B8
- .4byte _080E93C0
- .4byte _080E93C8
- .4byte _080E93D0
- .4byte _080E93F8
- .4byte _080E93E8
- .4byte _080E93D8
- .4byte _080E93E8
- .4byte _080E93E8
- .4byte _080E93E0
- .4byte _080E93E8
- .4byte _080E93E8
- .4byte _080E93E8
- .4byte _080E93F0
-_080E93B8:
- ldr r4, _080E93BC @ =gOtherText_Profile
- b _080E93FA
- .align 2, 0
-_080E93BC: .4byte gOtherText_Profile
-_080E93C0:
- ldr r4, _080E93C4 @ =gOtherText_AtBattleStart
- b _080E93FA
- .align 2, 0
-_080E93C4: .4byte gOtherText_AtBattleStart
-_080E93C8:
- ldr r4, _080E93CC @ =gOtherText_UponWinningBattle
- b _080E93FA
- .align 2, 0
-_080E93CC: .4byte gOtherText_UponWinningBattle
-_080E93D0:
- ldr r4, _080E93D4 @ =gOtherText_UponLosingBattle
- b _080E93FA
- .align 2, 0
-_080E93D4: .4byte gOtherText_UponLosingBattle
-_080E93D8:
- ldr r4, _080E93DC @ =gOtherText_TheBardsSong
- b _080E93FA
- .align 2, 0
-_080E93DC: .4byte gOtherText_TheBardsSong
-_080E93E0:
- ldr r4, _080E93E4 @ =gOtherText_WhatsHipHappening
- b _080E93FA
- .align 2, 0
-_080E93E4: .4byte gOtherText_WhatsHipHappening
-_080E93E8:
- ldr r4, _080E93EC @ =gOtherText_Interview
- b _080E93FA
- .align 2, 0
-_080E93EC: .4byte gOtherText_Interview
-_080E93F0:
- ldr r4, _080E93F4 @ =gOtherText_GoodSaying
- b _080E93FA
- .align 2, 0
-_080E93F4: .4byte gOtherText_GoodSaying
-_080E93F8:
- movs r4, 0
-_080E93FA:
- ldr r0, _080E943C @ =gWindowConfig_81E6D8C
- bl BasicInitMenuWindow
- ldr r0, _080E9440 @ =gUnknown_083DB694
- ldr r2, [r0]
- ldr r0, _080E9444 @ =0x0000a2ba
- adds r5, r2, r0
- movs r3, 0xFC
- strb r3, [r5]
- adds r0, 0x1
- adds r1, r2, r0
- movs r0, 0x5
- strb r0, [r1]
- ldr r0, _080E9448 @ =0x0000a2bc
- adds r1, r2, r0
- movs r0, 0x1
- strb r0, [r1]
- cmp r4, 0
- beq _080E9450
- ldr r1, _080E944C @ =0x0000a2bd
- adds r0, r2, r1
- adds r1, r4, 0
- movs r2, 0xF0
- movs r3, 0x2
- bl sub_8072C74
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0
- bl MenuPrint
- b _080E9476
- .align 2, 0
-_080E943C: .4byte gWindowConfig_81E6D8C
-_080E9440: .4byte gUnknown_083DB694
-_080E9444: .4byte 0x0000a2ba
-_080E9448: .4byte 0x0000a2bc
-_080E944C: .4byte 0x0000a2bd
-_080E9450:
- ldr r0, _080E9484 @ =0x0000a2bd
- adds r1, r2, r0
- strb r3, [r1]
- movs r0, 0x11
- strb r0, [r1, 0x1]
- movs r0, 0x10
- strb r0, [r1, 0x2]
- movs r0, 0xFF
- strb r0, [r1, 0x3]
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0
- bl MenuPrint
- adds r0, r5, 0
- movs r1, 0x1C
- movs r2, 0
- bl MenuPrint
-_080E9476:
- ldr r0, _080E9488 @ =gWindowConfig_81E6DA8
- bl BasicInitMenuWindow
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E9484: .4byte 0x0000a2bd
-_080E9488: .4byte gWindowConfig_81E6DA8
- thumb_func_end sub_80E9368
-
- thumb_func_start sub_80E948C
-sub_80E948C: @ 80E948C
- push {lr}
- sub sp, 0x10
- ldr r0, _080E94A8 @ =gUnknown_083DB694
- ldr r0, [r0]
- ldrb r0, [r0, 0x9]
- cmp r0, 0x5
- bls _080E949C
- b _080E9594
-_080E949C:
- lsls r0, 2
- ldr r1, _080E94AC @ =_080E94B0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E94A8: .4byte gUnknown_083DB694
-_080E94AC: .4byte _080E94B0
- .align 2, 0
-_080E94B0:
- .4byte _080E9508
- .4byte _080E9530
- .4byte _080E9554
- .4byte _080E9578
- .4byte _080E94C8
- .4byte _080E94E8
-_080E94C8:
- ldr r0, _080E94E0 @ =0x06006800
- ldr r3, _080E94E4 @ =gUnknown_08E94AD0
- movs r1, 0
- str r1, [sp]
- movs r1, 0x1A
- str r1, [sp, 0x4]
- movs r1, 0x18
- str r1, [sp, 0x8]
- movs r1, 0x6
- str r1, [sp, 0xC]
- movs r1, 0x3
- b _080E9568
- .align 2, 0
-_080E94E0: .4byte 0x06006800
-_080E94E4: .4byte gUnknown_08E94AD0
-_080E94E8:
- ldr r0, _080E9500 @ =0x06006800
- ldr r3, _080E9504 @ =gUnknown_08E94AD0
- movs r1, 0
- str r1, [sp]
- movs r1, 0x12
- str r1, [sp, 0x4]
- movs r1, 0xD
- str r1, [sp, 0x8]
- movs r1, 0x8
- str r1, [sp, 0xC]
- movs r1, 0xE
- b _080E951E
- .align 2, 0
-_080E9500: .4byte 0x06006800
-_080E9504: .4byte gUnknown_08E94AD0
-_080E9508:
- ldr r0, _080E9528 @ =0x06006800
- ldr r3, _080E952C @ =gUnknown_08E94AD0
- movs r1, 0
- str r1, [sp]
- movs r1, 0xA
- str r1, [sp, 0x4]
- movs r1, 0x1A
- str r1, [sp, 0x8]
- movs r1, 0x8
- str r1, [sp, 0xC]
- movs r1, 0x2
-_080E951E:
- movs r2, 0x2
- bl sub_809D104
- b _080E9594
- .align 2, 0
-_080E9528: .4byte 0x06006800
-_080E952C: .4byte gUnknown_08E94AD0
-_080E9530:
- ldr r0, _080E954C @ =0x06006800
- ldr r3, _080E9550 @ =gUnknown_08E94AD0
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- movs r1, 0x1A
- str r1, [sp, 0x8]
- movs r1, 0xA
- str r1, [sp, 0xC]
- movs r1, 0x2
- movs r2, 0
- bl sub_809D104
- b _080E9594
- .align 2, 0
-_080E954C: .4byte 0x06006800
-_080E9550: .4byte gUnknown_08E94AD0
-_080E9554:
- ldr r0, _080E9570 @ =0x06006800
- ldr r3, _080E9574 @ =gUnknown_08E94AD0
- movs r2, 0xD
- str r2, [sp]
- movs r1, 0x12
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- movs r1, 0x4
- str r1, [sp, 0xC]
- movs r1, 0xE
-_080E9568:
- movs r2, 0x3
- bl sub_809D104
- b _080E9594
- .align 2, 0
-_080E9570: .4byte 0x06006800
-_080E9574: .4byte gUnknown_08E94AD0
-_080E9578:
- ldr r0, _080E959C @ =0x06006800
- ldr r3, _080E95A0 @ =gUnknown_08E94AD0
- movs r1, 0
- str r1, [sp]
- movs r1, 0x20
- str r1, [sp, 0x4]
- movs r1, 0x18
- str r1, [sp, 0x8]
- movs r1, 0x4
- str r1, [sp, 0xC]
- movs r1, 0x3
- movs r2, 0x2
- bl sub_809D104
-_080E9594:
- add sp, 0x10
- pop {r0}
- bx r0
- .align 2, 0
-_080E959C: .4byte 0x06006800
-_080E95A0: .4byte gUnknown_08E94AD0
- thumb_func_end sub_80E948C
-
- thumb_func_start sub_80E95A4
-sub_80E95A4: @ 80E95A4
- push {lr}
- ldr r0, _080E95C0 @ =gWindowConfig_81E6D8C
- bl BasicInitMenuWindow
- ldr r0, _080E95C4 @ =gUnknown_083DB694
- ldr r0, [r0]
- ldrb r0, [r0, 0x9]
- cmp r0, 0x5
- bhi _080E9612
- lsls r0, 2
- ldr r1, _080E95C8 @ =_080E95CC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E95C0: .4byte gWindowConfig_81E6D8C
-_080E95C4: .4byte gUnknown_083DB694
-_080E95C8: .4byte _080E95CC
- .align 2, 0
-_080E95CC:
- .4byte _080E95F2
- .4byte _080E95F6
- .4byte _080E9600
- .4byte _080E960A
- .4byte _080E95E4
- .4byte _080E95EE
-_080E95E4:
- movs r0, 0x4
- movs r1, 0x6
- bl sub_80E9620
- b _080E9612
-_080E95EE:
- movs r0, 0x2
- b _080E9602
-_080E95F2:
- movs r0, 0x3
- b _080E95F8
-_080E95F6:
- movs r0, 0
-_080E95F8:
- movs r1, 0x5
- bl sub_80E9620
- b _080E9612
-_080E9600:
- movs r0, 0x4
-_080E9602:
- movs r1, 0x11
- bl sub_80E9620
- b _080E9612
-_080E960A:
- movs r0, 0x3
- movs r1, 0x6
- bl sub_80E9620
-_080E9612:
- ldr r0, _080E961C @ =gWindowConfig_81E6DA8
- bl BasicInitMenuWindow
- pop {r0}
- bx r0
- .align 2, 0
-_080E961C: .4byte gWindowConfig_81E6DA8
- thumb_func_end sub_80E95A4
-
- thumb_func_start sub_80E9620
-sub_80E9620: @ 80E9620
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- lsls r0, 16
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp, 0x14]
- movs r1, 0
- mov r10, r1
- lsrs r7, r0, 16
- mov r9, r1
- ldr r0, _080E9644 @ =gUnknown_083DB694
- ldr r0, [r0]
- b _080E971A
- .align 2, 0
-_080E9644: .4byte gUnknown_083DB694
-_080E9648:
- ldr r6, [sp, 0x14]
- movs r2, 0
- mov r8, r2
- adds r0, r7, 0x2
- str r0, [sp, 0x1C]
- mov r1, r9
- adds r1, 0x1
- str r1, [sp, 0x18]
- b _080E96E4
-_080E965A:
- mov r2, r10
- lsls r0, r2, 1
- adds r1, r5, 0
- adds r1, 0xC
- adds r1, r0
- ldrh r0, [r1]
- ldr r2, _080E9690 @ =0x0000ffff
- cmp r0, r2
- bne _080E969C
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r1, 0x9
- str r1, [sp, 0x8]
- movs r0, 0x2
- str r0, [sp, 0xC]
- str r1, [sp, 0x10]
- ldr r0, _080E9694 @ =0x06007000
- adds r1, r6, 0
- adds r2, r7, 0
- ldr r3, _080E9698 @ =gUnknown_083DBE1C
- bl sub_8095C8C
- adds r0, r6, 0
- adds r0, 0xB
- b _080E96CC
- .align 2, 0
-_080E9690: .4byte 0x0000ffff
-_080E9694: .4byte 0x06007000
-_080E9698: .4byte gUnknown_083DBE1C
-_080E969C:
- ldr r0, _080E9738 @ =0x0000a140
- adds r4, r5, r0
- ldrh r1, [r1]
- adds r0, r4, 0
- movs r2, 0xB
- bl sub_80EB218
- lsls r1, r6, 24
- lsrs r1, 24
- lsls r2, r7, 24
- lsrs r2, 24
- adds r0, r4, 0
- bl MenuPrint
- mov r1, r9
- lsls r0, r1, 1
- add r0, r8
- adds r1, r5, 0
- adds r1, 0x8C
- adds r1, r0
- adds r0, r6, 0
- adds r0, 0xB
- ldrb r1, [r1]
- adds r0, r1
-_080E96CC:
- lsls r0, 16
- lsrs r6, r0, 16
- mov r0, r10
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
-_080E96E4:
- ldr r0, _080E973C @ =gUnknown_083DB694
- ldr r5, [r0]
- adds r0, r5, 0
- adds r0, 0x83
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r8, r0
- bge _080E970A
- ldrb r2, [r5, 0xA]
- cmp r10, r2
- bcc _080E965A
- lsls r1, r6, 24
- lsrs r1, 24
- lsls r2, r7, 24
- lsrs r2, 24
- ldr r0, _080E9740 @ =gUnknown_083DBEA8
- bl MenuPrint
-_080E970A:
- ldr r1, [sp, 0x1C]
- lsls r0, r1, 16
- lsrs r7, r0, 16
- ldr r2, [sp, 0x18]
- lsls r0, r2, 16
- lsrs r0, 16
- mov r9, r0
- adds r0, r5, 0
-_080E971A:
- adds r0, 0x84
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r9, r0
- blt _080E9648
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E9738: .4byte 0x0000a140
-_080E973C: .4byte gUnknown_083DB694
-_080E9740: .4byte gUnknown_083DBEA8
- thumb_func_end sub_80E9620
-
- thumb_func_start sub_80E9744
-sub_80E9744: @ 80E9744
- push {lr}
- ldr r0, _080E9760 @ =gWindowConfig_81E6D8C
- bl BasicInitMenuWindow
- ldr r0, _080E9764 @ =gUnknown_083DB694
- ldr r0, [r0]
- ldrb r0, [r0, 0x9]
- cmp r0, 0x5
- bhi _080E97B2
- lsls r0, 2
- ldr r1, _080E9768 @ =_080E976C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E9760: .4byte gWindowConfig_81E6D8C
-_080E9764: .4byte gUnknown_083DB694
-_080E9768: .4byte _080E976C
- .align 2, 0
-_080E976C:
- .4byte _080E9792
- .4byte _080E9796
- .4byte _080E97A0
- .4byte _080E97AA
- .4byte _080E9784
- .4byte _080E978E
-_080E9784:
- movs r0, 0x4
- movs r1, 0x6
- bl sub_80E97C0
- b _080E97B2
-_080E978E:
- movs r0, 0x2
- b _080E97A2
-_080E9792:
- movs r0, 0x3
- b _080E9798
-_080E9796:
- movs r0, 0
-_080E9798:
- movs r1, 0x5
- bl sub_80E97C0
- b _080E97B2
-_080E97A0:
- movs r0, 0x4
-_080E97A2:
- movs r1, 0x11
- bl sub_80E97C0
- b _080E97B2
-_080E97AA:
- movs r0, 0x3
- movs r1, 0x6
- bl sub_80E97C0
-_080E97B2:
- ldr r0, _080E97BC @ =gWindowConfig_81E6DA8
- bl BasicInitMenuWindow
- pop {r0}
- bx r0
- .align 2, 0
-_080E97BC: .4byte gWindowConfig_81E6DA8
- thumb_func_end sub_80E9744
-
- thumb_func_start sub_80E97C0
-sub_80E97C0: @ 80E97C0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp]
- movs r7, 0
- movs r3, 0
- ldr r1, _080E98B8 @ =gUnknown_083DB694
- ldr r0, [r1]
- adds r0, 0x84
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r3, r0
- bge _080E98A6
-_080E97EA:
- ldr r1, [r1]
- ldr r0, _080E98BC @ =0x0000a19a
- adds r2, r1, r0
- movs r6, 0
- adds r0, r1, 0
- adds r0, 0x83
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldr r4, [sp]
- lsls r4, 24
- mov r8, r4
- lsls r4, r5, 24
- mov r9, r4
- adds r5, 0x2
- mov r10, r5
- adds r3, 0x1
- str r3, [sp, 0x4]
- cmp r6, r0
- bge _080E985E
- ldrb r1, [r1, 0xA]
- cmp r7, r1
- bcs _080E985E
- ldr r0, _080E98B8 @ =gUnknown_083DB694
- ldr r4, [r0]
- ldr r5, _080E98C0 @ =0x0000ffff
-_080E981E:
- lsls r0, r7, 1
- adds r1, r4, 0
- adds r1, 0xC
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, r5
- beq _080E983E
- adds r1, r0, 0
- adds r0, r2, 0
- movs r2, 0
- bl sub_80EB218
- adds r2, r0, 0
- movs r0, 0
- strb r0, [r2]
- adds r2, 0x1
-_080E983E:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r4, 0
- adds r0, 0x83
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r6, r0
- bge _080E985E
- ldrb r0, [r4, 0xA]
- cmp r7, r0
- bcc _080E981E
-_080E985E:
- ldr r1, _080E98B8 @ =gUnknown_083DB694
- ldr r4, [r1]
- adds r0, r4, 0
- adds r0, 0x83
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0xB
- muls r1, r0
- movs r0, 0xFC
- strb r0, [r2]
- movs r0, 0x13
- strb r0, [r2, 0x1]
- lsls r1, 3
- strb r1, [r2, 0x2]
- movs r0, 0xFF
- strb r0, [r2, 0x3]
- ldr r2, _080E98BC @ =0x0000a19a
- adds r0, r4, r2
- mov r3, r8
- lsrs r1, r3, 24
- mov r3, r9
- lsrs r2, r3, 24
- bl MenuPrint
- mov r1, r10
- lsls r0, r1, 16
- lsrs r5, r0, 16
- ldr r2, [sp, 0x4]
- lsls r0, r2, 24
- lsrs r3, r0, 24
- ldr r1, _080E98B8 @ =gUnknown_083DB694
- adds r4, 0x84
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r3, r0
- blt _080E97EA
-_080E98A6:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E98B8: .4byte gUnknown_083DB694
-_080E98BC: .4byte 0x0000a19a
-_080E98C0: .4byte 0x0000ffff
- thumb_func_end sub_80E97C0
-
- thumb_func_start sub_80E98C4
-sub_80E98C4: @ 80E98C4
- push {lr}
- ldr r0, _080E98E0 @ =gWindowConfig_81E6D8C
- bl BasicInitMenuWindow
- ldr r0, _080E98E4 @ =gUnknown_083DB694
- ldr r0, [r0]
- ldrb r0, [r0, 0x9]
- cmp r0, 0x5
- bhi _080E9936
- lsls r0, 2
- ldr r1, _080E98E8 @ =_080E98EC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E98E0: .4byte gWindowConfig_81E6D8C
-_080E98E4: .4byte gUnknown_083DB694
-_080E98E8: .4byte _080E98EC
- .align 2, 0
-_080E98EC:
- .4byte _080E990A
- .4byte _080E9910
- .4byte _080E9916
- .4byte _080E991A
- .4byte _080E9904
- .4byte _080E990A
-_080E9904:
- movs r1, 0x4
- movs r3, 0x2
- b _080E991E
-_080E990A:
- movs r1, 0x3
- movs r3, 0x2
- b _080E991E
-_080E9910:
- movs r1, 0x1
- movs r3, 0x3
- b _080E991E
-_080E9916:
- movs r1, 0x4
- b _080E991C
-_080E991A:
- movs r1, 0x3
-_080E991C:
- movs r3, 0x1
-_080E991E:
- lsls r3, 1
- adds r3, r1, r3
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x2
- movs r2, 0x1B
- bl MenuFillWindowRectWithBlankTile
- ldr r0, _080E993C @ =gWindowConfig_81E6DA8
- bl BasicInitMenuWindow
-_080E9936:
- pop {r0}
- bx r0
- .align 2, 0
-_080E993C: .4byte gWindowConfig_81E6DA8
- thumb_func_end sub_80E98C4
-
- thumb_func_start sub_80E9940
-sub_80E9940: @ 80E9940
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r5, r1, 24
- lsrs r5, 24
- movs r4, 0x7
- ands r4, r5
- lsls r3, r4, 1
- adds r1, r3, 0
- adds r3, 0x1
- movs r0, 0x2
- movs r2, 0x1F
- bl MenuFillWindowRectWithBlankTile
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80E9A7C
- lsls r4, 1
- adds r0, r6, 0
- movs r1, 0x2
- adds r2, r4, 0
- bl sub_80E9A60
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80E9940
-
- thumb_func_start sub_80E9974
-sub_80E9974: @ 80E9974
- push {r4-r6,lr}
- ldr r0, _080E99C4 @ =gWindowConfig_81E6D54
- bl BasicInitMenuWindow
- ldr r0, _080E99C8 @ =gUnknown_083DB694
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x26
- ldrb r0, [r0]
- cmp r0, 0
- bne _080E99D4
- ldr r1, _080E99CC @ =0x000001b5
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r1, r0, 16
- lsrs r4, r1, 16
- adds r0, 0x4
- cmp r4, r0
- bge _080E9A02
- adds r5, r2, 0
- ldr r2, _080E99CC @ =0x000001b5
- adds r6, r5, r2
-_080E99A4:
- lsls r1, r4, 24
- lsrs r1, 24
- ldr r2, _080E99D0 @ =0x0000a0f5
- adds r0, r5, r2
- bl sub_80E9940
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0
- ldrsb r0, [r6, r0]
- adds r0, 0x4
- cmp r4, r0
- blt _080E99A4
- b _080E9A02
- .align 2, 0
-_080E99C4: .4byte gWindowConfig_81E6D54
-_080E99C8: .4byte gUnknown_083DB694
-_080E99CC: .4byte 0x000001b5
-_080E99D0: .4byte 0x0000a0f5
-_080E99D4:
- bl sub_80E9AD4
- ldr r4, _080E9A08 @ =gUnknown_083DBEAC
- ldr r0, [r4]
- movs r1, 0x2
- movs r2, 0
- bl sub_80E9A60
- ldr r0, [r4, 0x4]
- movs r1, 0x2
- movs r2, 0x2
- bl sub_80E9A60
- ldr r0, [r4, 0x8]
- movs r1, 0x2
- movs r2, 0x4
- bl sub_80E9A60
- ldr r0, [r4, 0xC]
- movs r1, 0x2
- movs r2, 0x6
- bl sub_80E9A60
-_080E9A02:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E9A08: .4byte gUnknown_083DBEAC
- thumb_func_end sub_80E9974
-
- thumb_func_start sub_80E9A14
-sub_80E9A14: @ 80E9A14
- push {lr}
- bl sub_80E9A4C
- ldr r0, _080E9A44 @ =gUnknown_083DB694
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x26
- ldrb r0, [r0]
- cmp r0, 0
- bne _080E9A40
- movs r0, 0xDD
- lsls r0, 1
- adds r2, r1, r0
- ldr r3, _080E9A48 @ =0x000001b5
- adds r0, r1, r3
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 4
- ldrh r1, [r2]
- adds r0, r1
- strh r0, [r2]
-_080E9A40:
- pop {r0}
- bx r0
- .align 2, 0
-_080E9A44: .4byte gUnknown_083DB694
-_080E9A48: .4byte 0x000001b5
- thumb_func_end sub_80E9A14
-
- thumb_func_start sub_80E9A4C
-sub_80E9A4C: @ 80E9A4C
- ldr r0, _080E9A5C @ =gUnknown_083DB694
- ldr r0, [r0]
- movs r2, 0xDD
- lsls r2, 1
- adds r1, r0, r2
- movs r0, 0
- strh r0, [r1]
- bx lr
- .align 2, 0
-_080E9A5C: .4byte gUnknown_083DB694
- thumb_func_end sub_80E9A4C
-
- thumb_func_start sub_80E9A60
-sub_80E9A60: @ 80E9A60
- push {lr}
- lsls r2, 16
- movs r3, 0xF0
- lsls r3, 12
- ands r3, r2
- lsls r1, 24
- lsrs r1, 24
- lsrs r3, 16
- adds r2, r3, 0
- bl MenuPrint
- pop {r0}
- bx r0
- thumb_func_end sub_80E9A60
-
- thumb_func_start sub_80E9A7C
-sub_80E9A7C: @ 80E9A7C
- push {r4-r7,lr}
- adds r2, r0, 0
- lsls r1, 16
- lsrs r7, r1, 16
- lsls r0, r7, 17
- lsrs r5, r0, 16
- movs r4, 0
- ldr r0, _080E9AD0 @ =gUnknown_083DB694
- ldr r6, [r0]
-_080E9A8E:
- movs r0, 0xFC
- strb r0, [r2]
- movs r0, 0x12
- strb r0, [r2, 0x1]
- movs r0, 0x58
- muls r0, r4
- strb r0, [r2, 0x2]
- adds r2, 0x3
- lsls r1, r7, 1
- adds r1, r4, r1
- adds r0, r6, 0
- adds r0, 0x2A
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r2, 0
- movs r2, 0xB
- bl sub_80EAD64
- adds r2, r0, 0
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldrh r0, [r6, 0x28]
- cmp r5, r0
- bcs _080E9ACA
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _080E9A8E
-_080E9ACA:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E9AD0: .4byte gUnknown_083DB694
- thumb_func_end sub_80E9A7C
-
- thumb_func_start sub_80E9AD4
-sub_80E9AD4: @ 80E9AD4
- push {r4,lr}
- ldr r0, _080E9AF4 @ =gWindowConfig_81E6D54
- bl BasicInitMenuWindow
- movs r4, 0
-_080E9ADE:
- adds r0, r4, 0
- bl sub_80E9C74
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0xF
- bls _080E9ADE
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E9AF4: .4byte gWindowConfig_81E6D54
- thumb_func_end sub_80E9AD4
-
- thumb_func_start sub_80E9AF8
-sub_80E9AF8: @ 80E9AF8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 16
- lsrs r7, r0, 16
- adds r0, r7, 0
- bl sub_80E9C74
- ldr r4, _080E9B7C @ =gUnknown_083DB694
- ldr r5, [r4]
- ldr r0, _080E9B80 @ =0x0000a140
- adds r0, r5
- mov r8, r0
- movs r0, 0xFC
- mov r1, r8
- strb r0, [r1]
- movs r0, 0x11
- strb r0, [r1, 0x1]
- movs r0, 0x10
- strb r0, [r1, 0x2]
- ldr r2, _080E9B84 @ =0x0000a143
- adds r2, r5
- mov r8, r2
- adds r0, r5, 0
- adds r0, 0x7D
- ldrb r0, [r0]
- cmp r0, 0
- beq _080E9BF4
- movs r6, 0
- ldr r3, _080E9B88 @ =0x00009cd2
- adds r0, r5, r3
- adds r0, r7
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r6, r0
- blt _080E9B4A
- b _080E9C52
-_080E9B4A:
- lsls r0, r7, 2
- mov r9, r0
- ldr r1, _080E9B8C @ =0x00009d56
- adds r1, r5, r1
- str r1, [sp]
- lsls r2, r7, 17
- mov r10, r2
-_080E9B58:
- lsls r4, r6, 1
- mov r3, r9
- adds r0, r4, r3
- ldr r1, [sp]
- adds r0, r1, r0
- ldrh r0, [r0]
- bl sub_80EB2D4
- lsls r0, 16
- lsrs r0, 16
- adds r5, r4, 0
- cmp r0, 0x7
- bne _080E9B94
- ldr r0, _080E9B90 @ =gWindowConfig_81E6D70
- bl BasicInitMenuWindow
- b _080E9B9A
- .align 2, 0
-_080E9B7C: .4byte gUnknown_083DB694
-_080E9B80: .4byte 0x0000a140
-_080E9B84: .4byte 0x0000a143
-_080E9B88: .4byte 0x00009cd2
-_080E9B8C: .4byte 0x00009d56
-_080E9B90: .4byte gWindowConfig_81E6D70
-_080E9B94:
- ldr r0, _080E9BE0 @ =gWindowConfig_81E6D54
- bl BasicInitMenuWindow
-_080E9B9A:
- ldr r2, _080E9BE4 @ =gUnknown_083DB694
- ldr r4, [r2]
- mov r3, r9
- adds r1, r5, r3
- ldr r2, _080E9BE8 @ =0x00009d56
- adds r0, r4, r2
- adds r0, r1
- ldrh r1, [r0]
- mov r0, r8
- movs r2, 0x9
- bl sub_80EB218
- ldr r3, _080E9BEC @ =0x0000a140
- adds r0, r4, r3
- movs r1, 0xB
- muls r1, r6
- adds r1, 0x4
- lsls r1, 16
- lsrs r1, 16
- mov r3, r10
- lsrs r2, r3, 16
- bl sub_80E9A60
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, _080E9BF0 @ =0x00009cd2
- adds r4, r0
- adds r4, r7
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r6, r0
- blt _080E9B58
- b _080E9C52
- .align 2, 0
-_080E9BE0: .4byte gWindowConfig_81E6D54
-_080E9BE4: .4byte gUnknown_083DB694
-_080E9BE8: .4byte 0x00009d56
-_080E9BEC: .4byte 0x0000a140
-_080E9BF0: .4byte 0x00009cd2
-_080E9BF4:
- ldr r0, _080E9C64 @ =gWindowConfig_81E6D54
- bl BasicInitMenuWindow
- movs r6, 0
- ldr r1, _080E9C68 @ =0x00009cd2
- adds r0, r5, r1
- adds r0, r7
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r6, r0
- bge _080E9C52
- adds r4, r5, 0
- adds r0, r4, r1
- adds r0, r7
- mov r9, r0
- lsls r5, r7, 17
-_080E9C16:
- lsls r1, r6, 1
- lsls r0, r7, 2
- adds r1, r0
- ldr r2, _080E9C6C @ =0x00009d56
- adds r0, r4, r2
- adds r0, r1
- ldrh r1, [r0]
- mov r0, r8
- movs r2, 0x9
- bl sub_80EB218
- movs r0, 0xB
- adds r1, r6, 0
- muls r1, r0
- adds r1, 0x4
- lsls r1, 16
- lsrs r1, 16
- ldr r3, _080E9C70 @ =0x0000a140
- adds r0, r4, r3
- lsrs r2, r5, 16
- bl sub_80E9A60
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- mov r1, r9
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r6, r0
- blt _080E9C16
-_080E9C52:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E9C64: .4byte gWindowConfig_81E6D54
-_080E9C68: .4byte 0x00009cd2
-_080E9C6C: .4byte 0x00009d56
-_080E9C70: .4byte 0x0000a140
- thumb_func_end sub_80E9AF8
-
- thumb_func_start sub_80E9C74
-sub_80E9C74: @ 80E9C74
- push {lr}
- lsls r0, 16
- movs r1, 0xE0
- lsls r1, 11
- ands r1, r0
- lsrs r1, 16
- lsls r3, r1, 1
- adds r1, r3, 0
- adds r3, 0x1
- movs r0, 0
- movs r2, 0x1D
- bl MenuFillWindowRectWithBlankTile
- pop {r0}
- bx r0
- thumb_func_end sub_80E9C74
-
- thumb_func_start sub_80E9C94
-sub_80E9C94: @ 80E9C94
- push {r4-r6,lr}
- ldr r0, _080E9CAC @ =gUnknown_083DB694
- ldr r0, [r0]
- ldr r2, _080E9CB0 @ =0x00009d54
- adds r1, r0, r2
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, 0x3
- bgt _080E9CB4
- lsls r0, 16
- lsrs r0, 16
- b _080E9CB6
- .align 2, 0
-_080E9CAC: .4byte gUnknown_083DB694
-_080E9CB0: .4byte 0x00009d54
-_080E9CB4:
- movs r0, 0x4
-_080E9CB6:
- adds r5, r0, 0
- movs r4, 0
- cmp r4, r5
- bcs _080E9CF4
- ldr r0, _080E9CE0 @ =gUnknown_083DB694
- ldr r0, [r0]
- ldr r1, _080E9CE4 @ =0x00009d55
- adds r6, r0, r1
-_080E9CC6:
- movs r0, 0
- ldrsb r0, [r6, r0]
- adds r0, r4, r0
- lsls r0, 16
- lsrs r0, 16
- bl sub_80E9AF8
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r5
- bcc _080E9CC6
- b _080E9CF4
- .align 2, 0
-_080E9CE0: .4byte gUnknown_083DB694
-_080E9CE4: .4byte 0x00009d55
-_080E9CE8:
- adds r0, r4, 0
- adds r1, r0, 0x1
- lsls r1, 16
- lsrs r4, r1, 16
- bl sub_80E9C74
-_080E9CF4:
- cmp r4, 0x3
- bls _080E9CE8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80E9C94
-
- thumb_func_start sub_80E9D00
-sub_80E9D00: @ 80E9D00
- push {r4-r6,lr}
- ldr r0, _080E9D28 @ =gUnknown_083DB694
- ldr r2, [r0]
- movs r0, 0xE0
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, 0
- ble _080E9D30
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r1, _080E9D2C @ =0x00009d55
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r0, 0x4
- b _080E9D46
- .align 2, 0
-_080E9D28: .4byte gUnknown_083DB694
-_080E9D2C: .4byte 0x00009d55
-_080E9D30:
- movs r0, 0
- ldrsb r0, [r1, r0]
- negs r0, r0
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r1, _080E9D74 @ =0x00009d55
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- subs r0, r4
-_080E9D46:
- lsls r0, 16
- lsrs r5, r0, 16
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, _080E9D78 @ =0x0000ffff
- cmp r4, r0
- beq _080E9D6E
- adds r6, r0, 0
-_080E9D58:
- adds r0, r5, 0
- adds r1, r0, 0x1
- lsls r1, 16
- lsrs r5, r1, 16
- bl sub_80E9AF8
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r6
- bne _080E9D58
-_080E9D6E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E9D74: .4byte 0x00009d55
-_080E9D78: .4byte 0x0000ffff
- thumb_func_end sub_80E9D00
-
- thumb_func_start sub_80E9D7C
-sub_80E9D7C: @ 80E9D7C
- push {r4-r7,lr}
- ldr r0, _080E9DAC @ =gWindowConfig_81E6D54
- bl BasicInitMenuWindow
- ldr r0, _080E9DB0 @ =gUnknown_083DB694
- ldr r2, [r0]
- movs r0, 0xE0
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, 0
- bge _080E9DB8
- negs r0, r0
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r1, _080E9DB4 @ =0x000001b5
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- subs r0, r6
- b _080E9DCC
- .align 2, 0
-_080E9DAC: .4byte gWindowConfig_81E6D54
-_080E9DB0: .4byte gUnknown_083DB694
-_080E9DB4: .4byte 0x000001b5
-_080E9DB8:
- movs r0, 0
- ldrsb r0, [r1, r0]
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r1, _080E9DFC @ =0x000001b5
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r0, 0x4
-_080E9DCC:
- lsls r0, 16
- lsrs r4, r0, 16
- movs r5, 0
- cmp r5, r6
- bcs _080E9DF6
- ldr r0, _080E9E00 @ =gUnknown_083DB694
- ldr r7, [r0]
-_080E9DDA:
- lsls r1, r4, 24
- lsrs r1, 24
- ldr r2, _080E9E04 @ =0x0000a0f5
- adds r0, r7, r2
- bl sub_80E9940
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r6
- bcc _080E9DDA
-_080E9DF6:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E9DFC: .4byte 0x000001b5
-_080E9E00: .4byte gUnknown_083DB694
-_080E9E04: .4byte 0x0000a0f5
- thumb_func_end sub_80E9D7C
-
- thumb_func_start sub_80E9E08
-sub_80E9E08: @ 80E9E08
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080E9E4C @ =gUnknown_083DB694
- ldr r3, [r0]
- movs r0, 0xDD
- lsls r0, 1
- adds r1, r3, r0
- movs r5, 0xE0
- lsls r5, 1
- adds r2, r3, r5
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 4
- ldrh r1, [r1]
- adds r0, r1
- movs r1, 0x7F
- ands r0, r1
- subs r5, 0x4
- adds r1, r3, r5
- strh r0, [r1]
- adds r1, r4, 0
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r0, 0
- bge _080E9E3E
- negs r1, r4
-_080E9E3E:
- ldr r2, _080E9E50 @ =0x000001bf
- adds r0, r3, r2
- strb r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E9E4C: .4byte gUnknown_083DB694
-_080E9E50: .4byte 0x000001bf
- thumb_func_end sub_80E9E08
-
- thumb_func_start sub_80E9E54
-sub_80E9E54: @ 80E9E54
- push {r4,lr}
- ldr r0, _080E9E8C @ =gUnknown_083DB694
- ldr r2, [r0]
- movs r0, 0xDD
- lsls r0, 1
- adds r3, r2, r0
- ldr r1, _080E9E90 @ =0x000001bf
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldrh r4, [r3]
- adds r0, r4
- movs r1, 0x7F
- ands r0, r1
- strh r0, [r3]
- movs r3, 0
- movs r4, 0xDE
- lsls r4, 1
- adds r1, r2, r4
- ldrh r1, [r1]
- cmp r0, r1
- bne _080E9E84
- movs r3, 0x1
-_080E9E84:
- adds r0, r3, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080E9E8C: .4byte gUnknown_083DB694
-_080E9E90: .4byte 0x000001bf
- thumb_func_end sub_80E9E54
-
- thumb_func_start nullsub_23
-nullsub_23: @ 80E9E94
- bx lr
- thumb_func_end nullsub_23
-
- thumb_func_start sub_80E9E98
-sub_80E9E98: @ 80E9E98
- ldr r0, _080E9EA4 @ =gUnknown_083DB694
- ldr r0, [r0]
- adds r0, 0xBE
- movs r1, 0
- strh r1, [r0]
- bx lr
- .align 2, 0
-_080E9EA4: .4byte gUnknown_083DB694
- thumb_func_end sub_80E9E98
-
- thumb_func_start sub_80E9EA8
-sub_80E9EA8: @ 80E9EA8
- push {lr}
- ldr r1, _080E9EC4 @ =gUnknown_083DB694
- ldr r0, [r1]
- adds r0, 0xBE
- ldrh r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x5
- bhi _080E9F48
- lsls r0, 2
- ldr r1, _080E9EC8 @ =_080E9ECC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E9EC4: .4byte gUnknown_083DB694
-_080E9EC8: .4byte _080E9ECC
- .align 2, 0
-_080E9ECC:
- .4byte _080E9EE4
- .4byte _080E9EF4
- .4byte _080E9F0C
- .4byte _080E9F24
- .4byte _080E9F38
- .4byte _080E9F44
-_080E9EE4:
- bl sub_80EA24C
- ldr r0, _080E9F08 @ =gUnknown_083DB694
- ldr r1, [r0]
- adds r1, 0xBE
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080E9EF4:
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080E9F48
- bl sub_80EA4A4
- ldr r0, _080E9F08 @ =gUnknown_083DB694
- ldr r1, [r0]
- b _080E9F3A
- .align 2, 0
-_080E9F08: .4byte gUnknown_083DB694
-_080E9F0C:
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080E9F48
- bl sub_80EA704
- ldr r0, _080E9F20 @ =gUnknown_083DB694
- ldr r1, [r0]
- b _080E9F3A
- .align 2, 0
-_080E9F20: .4byte gUnknown_083DB694
-_080E9F24:
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080E9F48
- ldr r0, _080E9F34 @ =gUnknown_083DB694
- ldr r1, [r0]
- b _080E9F3A
- .align 2, 0
-_080E9F34: .4byte gUnknown_083DB694
-_080E9F38:
- ldr r1, [r2]
-_080E9F3A:
- adds r1, 0xBE
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080E9F48
-_080E9F44:
- movs r0, 0x1
- b _080E9F4A
-_080E9F48:
- movs r0, 0
-_080E9F4A:
- pop {r1}
- bx r1
- thumb_func_end sub_80E9EA8
-
- thumb_func_start sub_80E9F50
-sub_80E9F50: @ 80E9F50
- push {lr}
- ldr r0, _080E9F68 @ =gUnknown_083DB694
- ldr r0, [r0]
- adds r0, 0xBE
- ldrh r0, [r0]
- cmp r0, 0x6
- bhi _080E9FCC
- lsls r0, 2
- ldr r1, _080E9F6C @ =_080E9F70
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E9F68: .4byte gUnknown_083DB694
-_080E9F6C: .4byte _080E9F70
- .align 2, 0
-_080E9F70:
- .4byte _080E9F8C
- .4byte _080E9FAC
- .4byte _080E9F96
- .4byte _080E9FAC
- .4byte _080E9F9C
- .4byte _080E9FAC
- .4byte _080E9FC8
-_080E9F8C:
- bl nullsub_23
- bl sub_80EA764
- b _080E9FA0
-_080E9F96:
- bl sub_80EA5A0
- b _080E9FA0
-_080E9F9C:
- bl sub_80EA348
-_080E9FA0:
- ldr r0, _080E9FC4 @ =gUnknown_083DB694
- ldr r1, [r0]
- adds r1, 0xBE
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080E9FAC:
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080E9FCC
- ldr r0, _080E9FC4 @ =gUnknown_083DB694
- ldr r1, [r0]
- adds r1, 0xBE
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080E9FCC
- .align 2, 0
-_080E9FC4: .4byte gUnknown_083DB694
-_080E9FC8:
- movs r0, 0x1
- b _080E9FCE
-_080E9FCC:
- movs r0, 0
-_080E9FCE:
- pop {r1}
- bx r1
- thumb_func_end sub_80E9F50
-
- thumb_func_start sub_80E9FD4
-sub_80E9FD4: @ 80E9FD4
- push {r4,lr}
- ldr r0, _080E9FEC @ =gUnknown_083DB694
- ldr r0, [r0]
- adds r4, r0, 0
- adds r4, 0xBE
- ldrh r0, [r4]
- cmp r0, 0
- beq _080E9FF0
- cmp r0, 0x1
- beq _080E9FFE
- b _080EA00C
- .align 2, 0
-_080E9FEC: .4byte gUnknown_083DB694
-_080E9FF0:
- bl nullsub_23
- bl sub_80EA5A0
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_080E9FFE:
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080EA00C
- movs r0, 0x1
- b _080EA00E
-_080EA00C:
- movs r0, 0
-_080EA00E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80E9FD4
-
- thumb_func_start sub_80EA014
-sub_80EA014: @ 80EA014
- push {r4,lr}
- ldr r0, _080EA02C @ =gUnknown_083DB694
- ldr r0, [r0]
- adds r4, r0, 0
- adds r4, 0xBE
- ldrh r0, [r4]
- cmp r0, 0
- beq _080EA030
- cmp r0, 0x1
- beq _080EA03A
- b _080EA048
- .align 2, 0
-_080EA02C: .4byte gUnknown_083DB694
-_080EA030:
- bl sub_80EA4A4
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_080EA03A:
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080EA048
- movs r0, 0x1
- b _080EA04A
-_080EA048:
- movs r0, 0
-_080EA04A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80EA014
-
- thumb_func_start sub_80EA050
-sub_80EA050: @ 80EA050
- push {lr}
- ldr r0, _080EA068 @ =gUnknown_083DB694
- ldr r0, [r0]
- adds r0, 0xBE
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _080EA0DC
- lsls r0, 2
- ldr r1, _080EA06C @ =_080EA070
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EA068: .4byte gUnknown_083DB694
-_080EA06C: .4byte _080EA070
- .align 2, 0
-_080EA070:
- .4byte _080EA084
- .4byte _080EA08E
- .4byte _080EA09E
- .4byte _080EA0B4
- .4byte _080EA0D8
-_080EA084:
- bl nullsub_23
- bl sub_80EA764
- b _080EA0C4
-_080EA08E:
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080EA0DC
- bl sub_80EA7F4
- b _080EA0C4
-_080EA09E:
- movs r0, 0x1
- bl sub_80E9108
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080EA0DC
- bl sub_80EA8BC
- b _080EA0C4
-_080EA0B4:
- movs r0, 0x1
- bl sub_80E9108
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080EA0DC
-_080EA0C4:
- ldr r0, _080EA0D4 @ =gUnknown_083DB694
- ldr r1, [r0]
- adds r1, 0xBE
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080EA0DC
- .align 2, 0
-_080EA0D4: .4byte gUnknown_083DB694
-_080EA0D8:
- movs r0, 0x1
- b _080EA0DE
-_080EA0DC:
- movs r0, 0
-_080EA0DE:
- pop {r1}
- bx r1
- thumb_func_end sub_80EA050
-
- thumb_func_start sub_80EA0E4
-sub_80EA0E4: @ 80EA0E4
- push {lr}
- ldr r0, _080EA0FC @ =gUnknown_083DB694
- ldr r0, [r0]
- adds r0, 0xBE
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _080EA17C
- lsls r0, 2
- ldr r1, _080EA100 @ =_080EA104
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EA0FC: .4byte gUnknown_083DB694
-_080EA100: .4byte _080EA104
- .align 2, 0
-_080EA104:
- .4byte _080EA118
- .4byte _080EA128
- .4byte _080EA144
- .4byte _080EA15C
- .4byte _080EA178
-_080EA118:
- bl sub_80EA948
- ldr r0, _080EA140 @ =gUnknown_083DB694
- ldr r1, [r0]
- adds r1, 0xBE
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EA128:
- movs r0, 0x1
- negs r0, r0
- bl sub_80E9108
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080EA17C
- bl sub_80EAA44
- b _080EA166
- .align 2, 0
-_080EA140: .4byte gUnknown_083DB694
-_080EA144:
- movs r0, 0x1
- negs r0, r0
- bl sub_80E9108
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080EA17C
- bl sub_80EA704
- b _080EA166
-_080EA15C:
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080EA17C
-_080EA166:
- ldr r0, _080EA174 @ =gUnknown_083DB694
- ldr r1, [r0]
- adds r1, 0xBE
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080EA17C
- .align 2, 0
-_080EA174: .4byte gUnknown_083DB694
-_080EA178:
- movs r0, 0x1
- b _080EA17E
-_080EA17C:
- movs r0, 0
-_080EA17E:
- pop {r1}
- bx r1
- thumb_func_end sub_80EA0E4
-
- thumb_func_start sub_80EA184
-sub_80EA184: @ 80EA184
- push {r4,lr}
- ldr r0, _080EA1A0 @ =gUnknown_083DB694
- ldr r0, [r0]
- adds r4, r0, 0
- adds r4, 0xBE
- ldrh r0, [r4]
- cmp r0, 0x1
- beq _080EA1B4
- cmp r0, 0x1
- bgt _080EA1A4
- cmp r0, 0
- beq _080EA1AA
- b _080EA1D8
- .align 2, 0
-_080EA1A0: .4byte gUnknown_083DB694
-_080EA1A4:
- cmp r0, 0x2
- beq _080EA1D0
- b _080EA1D8
-_080EA1AA:
- bl sub_80EAAD4
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_080EA1B4:
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080EA1D8
- ldr r0, _080EA1CC @ =gUnknown_083DB694
- ldr r1, [r0]
- adds r1, 0xBE
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080EA1D8
- .align 2, 0
-_080EA1CC: .4byte gUnknown_083DB694
-_080EA1D0:
- bl sub_80E9178
- movs r0, 0x1
- b _080EA1DA
-_080EA1D8:
- movs r0, 0
-_080EA1DA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80EA184
-
- thumb_func_start sub_80EA1E0
-sub_80EA1E0: @ 80EA1E0
- push {r4-r6,lr}
- ldr r0, _080EA240 @ =gUnknown_083DB694
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xC4
- ldrh r0, [r0]
- cmp r0, 0
- beq _080EA244
- movs r4, 0
- adds r0, r1, 0
- adds r0, 0xC2
- ldrh r2, [r0]
- cmp r4, r2
- bcs _080EA228
- adds r5, r1, 0
- adds r6, r0, 0
-_080EA200:
- lsls r0, r4, 4
- adds r0, 0xC8
- adds r0, r5, r0
- bl sub_80EAC0C
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r1
- adds r0, r5, r0
- bl sub_80EAC48
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldrh r2, [r6]
- cmp r4, r2
- bcc _080EA200
-_080EA228:
- ldr r0, _080EA240 @ =gUnknown_083DB694
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0xBC
- movs r0, 0x1
- strb r0, [r2]
- adds r1, 0xC4
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- movs r0, 0
- b _080EA246
- .align 2, 0
-_080EA240: .4byte gUnknown_083DB694
-_080EA244:
- movs r0, 0x1
-_080EA246:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80EA1E0
-
- thumb_func_start sub_80EA24C
-sub_80EA24C: @ 80EA24C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- ldr r0, _080EA340 @ =gUnknown_083DB694
- ldr r7, [r0]
- adds r0, r7, 0
- adds r0, 0xC8
- movs r6, 0xF
- str r6, [sp]
- ldr r1, _080EA344 @ =0x0000fffe
- mov r8, r1
- str r1, [sp, 0x4]
- movs r4, 0
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0xD
- movs r2, 0xE
- movs r3, 0xD
- bl sub_80EABD4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- movs r1, 0xD9
- lsls r1, 3
- adds r5, r7, r1
- str r5, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xD8
- str r6, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- mov r9, r1
- str r1, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0xC
- movs r2, 0xE
- movs r3, 0xC
- bl sub_80EABD4
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r1, 0x1E
- movs r2, 0
- mov r3, r8
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xE8
- movs r6, 0x10
- str r6, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0xD
- movs r2, 0xF
- movs r3, 0xD
- bl sub_80EABD4
- movs r1, 0xB0
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r1, 0
- movs r2, 0x9
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xF8
- str r6, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- mov r1, r9
- str r1, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0xC
- movs r2, 0xF
- movs r3, 0xC
- bl sub_80EABD4
- movs r1, 0xB6
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r1, 0x1E
- movs r2, 0x9
- mov r3, r8
- bl sub_80EAC30
- adds r1, r7, 0
- adds r1, 0xC2
- movs r0, 0x4
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x6
- strh r0, [r1]
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EA340: .4byte gUnknown_083DB694
-_080EA344: .4byte 0x0000fffe
- thumb_func_end sub_80EA24C
-
- thumb_func_start sub_80EA348
-sub_80EA348: @ 80EA348
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- ldr r0, _080EA49C @ =gUnknown_083DB694
- ldr r7, [r0]
- adds r0, r7, 0
- adds r0, 0xC8
- movs r5, 0xF
- str r5, [sp]
- movs r1, 0x2
- mov r9, r1
- str r1, [sp, 0x4]
- movs r4, 0
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x1
- movs r2, 0xE
- movs r3, 0xD
- bl sub_80EABD4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- movs r1, 0xD9
- lsls r1, 3
- adds r6, r7, r1
- str r6, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xD8
- str r5, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- ldr r1, _080EA4A0 @ =0x0000fffe
- mov r8, r1
- str r1, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0xC
- movs r2, 0xE
- movs r3, 0x18
- bl sub_80EABD4
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- str r6, [sp, 0x4]
- movs r1, 0x12
- movs r2, 0
- movs r3, 0x2
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xE8
- movs r5, 0x10
- str r5, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x1
- movs r2, 0xF
- movs r3, 0xD
- bl sub_80EABD4
- movs r1, 0xB0
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- str r6, [sp, 0x4]
- movs r1, 0
- movs r2, 0x9
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xF8
- str r5, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- mov r1, r8
- str r1, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0xC
- movs r2, 0xF
- movs r3, 0x18
- bl sub_80EABD4
- movs r1, 0xB6
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- str r6, [sp, 0x4]
- movs r1, 0x12
- movs r2, 0x9
- movs r3, 0x2
- bl sub_80EAC30
- movs r1, 0x84
- lsls r1, 1
- adds r0, r7, r1
- str r5, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- mov r1, r9
- str r1, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x1
- movs r2, 0xE
- movs r3, 0x1
- bl sub_80EABD4
- movs r1, 0xBC
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- adds r1, 0x50
- adds r6, r7, r1
- str r6, [sp, 0x4]
- movs r1, 0x1
- movs r2, 0xE
- movs r3, 0
- bl sub_80EAC30
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r7, r1
- str r5, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x18
- movs r2, 0xE
- movs r3, 0x18
- bl sub_80EABD4
- movs r1, 0xC2
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- str r6, [sp, 0x4]
- movs r1, 0x18
- movs r2, 0xE
- mov r3, r8
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xC2
- movs r1, 0x6
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EA49C: .4byte gUnknown_083DB694
-_080EA4A0: .4byte 0x0000fffe
- thumb_func_end sub_80EA348
-
- thumb_func_start sub_80EA4A4
-sub_80EA4A4: @ 80EA4A4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- ldr r0, _080EA598 @ =gUnknown_083DB694
- ldr r7, [r0]
- adds r0, r7, 0
- adds r0, 0xC8
- movs r6, 0xF
- str r6, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r1, _080EA59C @ =0x0000ffff
- mov r8, r1
- str r1, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x1
- movs r2, 0xE
- movs r3, 0xD
- bl sub_80EABD4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- movs r1, 0xD9
- lsls r1, 3
- adds r5, r7, r1
- str r5, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xD8
- str r6, [sp]
- str r4, [sp, 0x4]
- mov r1, r8
- str r1, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0xC
- movs r2, 0xE
- movs r3, 0x18
- bl sub_80EABD4
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r1, 0x12
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xE8
- movs r1, 0x10
- mov r9, r1
- str r1, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r6, 0x1
- str r6, [sp, 0x10]
- movs r1, 0x1
- movs r2, 0xF
- movs r3, 0xD
- bl sub_80EABD4
- movs r1, 0xB0
- lsls r1, 1
- adds r0, r7, r1
- mov r1, r8
- str r1, [sp]
- str r5, [sp, 0x4]
- movs r1, 0
- movs r2, 0x9
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xF8
- mov r1, r9
- str r1, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r6, [sp, 0x10]
- movs r1, 0xC
- movs r2, 0xF
- movs r3, 0x18
- bl sub_80EABD4
- movs r1, 0xB6
- lsls r1, 1
- adds r0, r7, r1
- mov r1, r8
- str r1, [sp]
- str r5, [sp, 0x4]
- movs r1, 0x12
- movs r2, 0x9
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xC2
- movs r1, 0x4
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EA598: .4byte gUnknown_083DB694
-_080EA59C: .4byte 0x0000ffff
- thumb_func_end sub_80EA4A4
-
- thumb_func_start sub_80EA5A0
-sub_80EA5A0: @ 80EA5A0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- ldr r0, _080EA6FC @ =gUnknown_083DB694
- ldr r7, [r0]
- adds r0, r7, 0
- adds r0, 0xC8
- movs r6, 0xF
- str r6, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- movs r1, 0x1
- mov r8, r1
- str r1, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r2, 0xA
- movs r3, 0xD
- bl sub_80EABD4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- movs r1, 0xD9
- lsls r1, 3
- adds r5, r7, r1
- str r5, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xD8
- str r6, [sp]
- str r4, [sp, 0x4]
- mov r1, r8
- str r1, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0xC
- movs r2, 0xA
- movs r3, 0x18
- bl sub_80EABD4
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r1, 0x12
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xE8
- movs r1, 0x14
- mov r9, r1
- str r1, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- ldr r6, _080EA700 @ =0x0000ffff
- str r6, [sp, 0x10]
- movs r1, 0x1
- movs r2, 0xF
- movs r3, 0xD
- bl sub_80EABD4
- movs r1, 0xB0
- lsls r1, 1
- adds r0, r7, r1
- mov r1, r8
- str r1, [sp]
- str r5, [sp, 0x4]
- movs r1, 0
- movs r2, 0x5
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xF8
- mov r1, r9
- str r1, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r6, [sp, 0x10]
- movs r1, 0xC
- movs r2, 0xF
- movs r3, 0x18
- bl sub_80EABD4
- movs r1, 0xB6
- lsls r1, 1
- adds r0, r7, r1
- mov r1, r8
- str r1, [sp]
- str r5, [sp, 0x4]
- movs r1, 0x12
- movs r2, 0x5
- movs r3, 0
- bl sub_80EAC30
- movs r1, 0x84
- lsls r1, 1
- adds r0, r7, r1
- movs r1, 0xA
- str r1, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- mov r1, r8
- str r1, [sp, 0x10]
- movs r1, 0x1
- movs r2, 0xA
- movs r3, 0x18
- bl sub_80EABD4
- movs r1, 0xBC
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- adds r1, 0x50
- adds r5, r7, r1
- str r5, [sp, 0x4]
- movs r1, 0x1
- movs r2, 0xA
- movs r3, 0
- bl sub_80EAC30
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r7, r1
- mov r1, r9
- str r1, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x1
- movs r2, 0x14
- movs r3, 0x18
- bl sub_80EABD4
- movs r1, 0xC2
- lsls r1, 1
- adds r0, r7, r1
- str r6, [sp]
- str r5, [sp, 0x4]
- movs r1, 0x1
- movs r2, 0x14
- movs r3, 0
- bl sub_80EAC30
- adds r1, r7, 0
- adds r1, 0xC2
- movs r0, 0x6
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x4
- strh r0, [r1]
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EA6FC: .4byte gUnknown_083DB694
-_080EA700: .4byte 0x0000ffff
- thumb_func_end sub_80EA5A0
-
- thumb_func_start sub_80EA704
-sub_80EA704: @ 80EA704
- push {r4-r6,lr}
- sub sp, 0x14
- ldr r0, _080EA75C @ =gUnknown_083DB694
- ldr r6, [r0]
- adds r0, r6, 0
- adds r0, 0xC8
- movs r1, 0x14
- str r1, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r5, 0x1
- str r5, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x18
- movs r2, 0xC
- movs r3, 0x19
- bl sub_80EABD4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r6, r1
- ldr r3, _080EA760 @ =0x0000ffff
- str r4, [sp]
- movs r2, 0xD9
- lsls r2, 3
- adds r1, r6, r2
- str r1, [sp, 0x4]
- movs r1, 0x5
- movs r2, 0xA
- bl sub_80EAC30
- adds r0, r6, 0
- adds r0, 0xC2
- strh r5, [r0]
- adds r1, r6, 0
- adds r1, 0xC4
- movs r0, 0x5
- strh r0, [r1]
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080EA75C: .4byte gUnknown_083DB694
-_080EA760: .4byte 0x0000ffff
- thumb_func_end sub_80EA704
-
- thumb_func_start sub_80EA764
-sub_80EA764: @ 80EA764
- push {r4-r7,lr}
- sub sp, 0x14
- ldr r0, _080EA7EC @ =gUnknown_083DB694
- ldr r7, [r0]
- adds r0, r7, 0
- adds r0, 0xC8
- movs r6, 0x14
- str r6, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- ldr r5, _080EA7F0 @ =0x0000ffff
- str r5, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x18
- movs r2, 0xC
- movs r3, 0x1E
- bl sub_80EABD4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- movs r2, 0xD9
- lsls r2, 3
- adds r1, r7, r2
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x1
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xD8
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x1E
- movs r2, 0xC
- movs r3, 0x1F
- bl sub_80EABD4
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- movs r2, 0xE4
- lsls r2, 1
- adds r1, r7, r2
- str r1, [sp, 0x4]
- movs r1, 0x1E
- movs r2, 0xC
- adds r3, r5, 0
- bl sub_80EAC30
- adds r1, r7, 0
- adds r1, 0xC2
- movs r0, 0x2
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x6
- strh r0, [r1]
- add sp, 0x14
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EA7EC: .4byte gUnknown_083DB694
-_080EA7F0: .4byte 0x0000ffff
- thumb_func_end sub_80EA764
-
- thumb_func_start sub_80EA7F4
-sub_80EA7F4: @ 80EA7F4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- ldr r0, _080EA8B4 @ =gUnknown_083DB694
- ldr r7, [r0]
- adds r0, r7, 0
- adds r0, 0xC8
- movs r6, 0x14
- str r6, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r5, 0x1
- str r5, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x14
- movs r2, 0xA
- movs r3, 0x19
- bl sub_80EABD4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r7, r1
- ldr r3, _080EA8B8 @ =0x0000ffff
- str r4, [sp]
- movs r2, 0xD9
- lsls r2, 3
- adds r2, r7
- mov r8, r2
- str r2, [sp, 0x4]
- movs r1, 0x19
- movs r2, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xD8
- str r6, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r5, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x1
- bl sub_80EABD4
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- movs r2, 0xE4
- lsls r2, 1
- adds r1, r7, r2
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xE8
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x1
- movs r2, 0xA
- movs r3, 0x4
- bl sub_80EABD4
- movs r1, 0xB0
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- mov r2, r8
- str r2, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r1, r7, 0
- adds r1, 0xC2
- movs r0, 0x3
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x2
- strh r0, [r1]
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EA8B4: .4byte gUnknown_083DB694
-_080EA8B8: .4byte 0x0000ffff
- thumb_func_end sub_80EA7F4
-
- thumb_func_start sub_80EA8BC
-sub_80EA8BC: @ 80EA8BC
- push {r4-r6,lr}
- sub sp, 0x14
- ldr r0, _080EA944 @ =gUnknown_083DB694
- ldr r6, [r0]
- adds r0, r6, 0
- adds r0, 0xC8
- movs r5, 0x14
- str r5, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x3
- movs r2, 0xA
- movs r3, 0x4
- bl sub_80EABD4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r6, r1
- str r4, [sp]
- movs r2, 0xD9
- lsls r2, 3
- adds r1, r6, r2
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r0, r6, 0
- adds r0, 0xD8
- str r5, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x2
- bl sub_80EABD4
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r6, r1
- str r4, [sp]
- movs r2, 0xE4
- lsls r2, 1
- adds r1, r6, r2
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0
- bl sub_80EAC30
- adds r1, r6, 0
- adds r1, 0xC2
- movs r0, 0x2
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x1
- strh r0, [r1]
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080EA944: .4byte gUnknown_083DB694
- thumb_func_end sub_80EA8BC
-
- thumb_func_start sub_80EA948
-sub_80EA948: @ 80EA948
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- ldr r0, _080EAA3C @ =gUnknown_083DB694
- ldr r7, [r0]
- adds r0, r7, 0
- adds r0, 0xC8
- movs r6, 0x14
- str r6, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- ldr r5, _080EAA40 @ =0x0000ffff
- str r5, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x2
- bl sub_80EABD4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- adds r1, 0x80
- adds r1, r7
- mov r9, r1
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xD8
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x3
- movs r2, 0xA
- movs r3, 0x5
- bl sub_80EABD4
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- movs r1, 0xD9
- lsls r1, 3
- adds r1, r7
- mov r8, r1
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xE8
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x1A
- movs r2, 0xA
- movs r3, 0x1E
- bl sub_80EABD4
- movs r1, 0xB0
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- movs r1, 0x1A
- movs r2, 0xA
- adds r3, r5, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xF8
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- str r5, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x19
- movs r2, 0xA
- movs r3, 0x1A
- bl sub_80EABD4
- movs r1, 0xB6
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- movs r1, 0x1D
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r1, r7, 0
- adds r1, 0xC2
- movs r0, 0x4
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x2
- strh r0, [r1]
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EAA3C: .4byte gUnknown_083DB694
-_080EAA40: .4byte 0x0000ffff
- thumb_func_end sub_80EA948
-
- thumb_func_start sub_80EAA44
-sub_80EAA44: @ 80EAA44
- push {r4-r6,lr}
- sub sp, 0x14
- ldr r0, _080EAACC @ =gUnknown_083DB694
- ldr r6, [r0]
- adds r0, r6, 0
- adds r0, 0xC8
- movs r5, 0x14
- str r5, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x18
- movs r2, 0xA
- movs r3, 0x1E
- bl sub_80EABD4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r6, r1
- str r4, [sp]
- movs r2, 0xE4
- lsls r2, 1
- adds r1, r6, r2
- str r1, [sp, 0x4]
- movs r1, 0x18
- movs r2, 0xA
- movs r3, 0
- bl sub_80EAC30
- adds r0, r6, 0
- adds r0, 0xD8
- str r5, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- ldr r1, _080EAAD0 @ =0x0000ffff
- str r1, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x17
- movs r2, 0xA
- movs r3, 0x18
- bl sub_80EABD4
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r6, r1
- str r4, [sp]
- movs r2, 0xD9
- lsls r2, 3
- adds r1, r6, r2
- str r1, [sp, 0x4]
- movs r1, 0x1D
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r1, r6, 0
- adds r1, 0xC2
- movs r0, 0x2
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x1
- strh r0, [r1]
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080EAACC: .4byte gUnknown_083DB694
-_080EAAD0: .4byte 0x0000ffff
- thumb_func_end sub_80EAA44
-
- thumb_func_start sub_80EAAD4
-sub_80EAAD4: @ 80EAAD4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- ldr r0, _080EABCC @ =gUnknown_083DB694
- ldr r7, [r0]
- adds r0, r7, 0
- adds r0, 0xC8
- movs r1, 0xF
- str r1, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- movs r5, 0x1
- str r5, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x1E
- bl sub_80EABD4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- movs r1, 0xD9
- lsls r1, 3
- adds r1, r7
- mov r8, r1
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xD8
- movs r1, 0x14
- mov r9, r1
- str r1, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- ldr r6, _080EABD0 @ =0x0000ffff
- str r6, [sp, 0x10]
- movs r1, 0
- movs r2, 0xF
- movs r3, 0x1E
- bl sub_80EABD4
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r7, r1
- str r5, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0x5
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xE8
- movs r1, 0xA
- str r1, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r5, [sp, 0x10]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x1E
- bl sub_80EABD4
- movs r1, 0xB0
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- adds r1, 0x68
- adds r5, r7, r1
- str r5, [sp, 0x4]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xF8
- mov r1, r9
- str r1, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0
- movs r2, 0x14
- movs r3, 0x1E
- bl sub_80EABD4
- movs r1, 0xB6
- lsls r1, 1
- adds r0, r7, r1
- str r6, [sp]
- str r5, [sp, 0x4]
- movs r1, 0
- movs r2, 0x14
- movs r3, 0
- bl sub_80EAC30
- adds r1, r7, 0
- adds r1, 0xC2
- movs r0, 0x4
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x5
- strh r0, [r1]
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EABCC: .4byte gUnknown_083DB694
-_080EABD0: .4byte 0x0000ffff
- thumb_func_end sub_80EAAD4
-
- thumb_func_start sub_80EABD4
-sub_80EABD4: @ 80EABD4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r5, [sp, 0x1C]
- ldr r6, [sp, 0x20]
- ldr r4, [sp, 0x24]
- mov r9, r4
- ldr r4, [sp, 0x28]
- ldr r7, [sp, 0x2C]
- mov r8, r7
- strh r1, [r0]
- strh r3, [r0, 0x2]
- strh r2, [r0, 0x4]
- strh r5, [r0, 0x6]
- strh r6, [r0, 0x8]
- strh r4, [r0, 0xA]
- mov r1, r9
- strh r1, [r0, 0xC]
- mov r4, r8
- strh r4, [r0, 0xE]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80EABD4
-
- thumb_func_start sub_80EAC0C
-sub_80EAC0C: @ 80EAC0C
- ldrh r1, [r0, 0x8]
- ldrh r2, [r0]
- adds r1, r2
- strh r1, [r0]
- ldrh r1, [r0, 0xA]
- ldrh r2, [r0, 0x2]
- adds r1, r2
- strh r1, [r0, 0x2]
- ldrh r1, [r0, 0xC]
- ldrh r2, [r0, 0x4]
- adds r1, r2
- strh r1, [r0, 0x4]
- ldrh r1, [r0, 0xE]
- ldrh r2, [r0, 0x6]
- adds r1, r2
- strh r1, [r0, 0x6]
- bx lr
- thumb_func_end sub_80EAC0C
-
- thumb_func_start sub_80EAC30
-sub_80EAC30: @ 80EAC30
- push {r4,r5,lr}
- ldr r4, [sp, 0xC]
- ldr r5, [sp, 0x10]
- strh r1, [r0]
- strh r2, [r0, 0x2]
- strh r3, [r0, 0x4]
- strh r4, [r0, 0x6]
- str r5, [r0, 0x8]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80EAC30
-
- thumb_func_start sub_80EAC48
-sub_80EAC48: @ 80EAC48
- ldrh r1, [r0, 0x4]
- ldrh r2, [r0]
- adds r1, r2
- strh r1, [r0]
- ldrh r1, [r0, 0x6]
- ldrh r2, [r0, 0x2]
- adds r1, r2
- strh r1, [r0, 0x2]
- bx lr
- thumb_func_end sub_80EAC48
-
- thumb_func_start sub_80EAC5C
-sub_80EAC5C: @ 80EAC5C
- push {r4-r6,lr}
- ldr r0, _080EACB4 @ =gUnknown_083DB694
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0
- beq _080EACAC
- movs r4, 0
- adds r0, r1, 0
- adds r0, 0xC2
- ldrh r2, [r0]
- cmp r4, r2
- bcs _080EACA2
- adds r5, r1, 0
- adds r6, r0, 0
-_080EAC7C:
- lsls r1, r4, 4
- adds r1, 0xC8
- adds r1, r5, r1
- lsls r2, r4, 1
- adds r2, r4
- lsls r2, 2
- movs r0, 0xA4
- lsls r0, 1
- adds r2, r0
- adds r2, r5, r2
- ldr r0, _080EACB8 @ =0x06006800
- bl sub_80EACBC
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldrh r2, [r6]
- cmp r4, r2
- bcc _080EAC7C
-_080EACA2:
- ldr r0, _080EACB4 @ =gUnknown_083DB694
- ldr r0, [r0]
- adds r0, 0xBC
- movs r1, 0
- strb r1, [r0]
-_080EACAC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080EACB4: .4byte gUnknown_083DB694
-_080EACB8: .4byte 0x06006800
- thumb_func_end sub_80EAC5C
-
- thumb_func_start sub_80EACBC
-sub_80EACBC: @ 80EACBC
- push {r4-r7,lr}
- sub sp, 0x10
- adds r7, r0, 0
- adds r3, r1, 0
- adds r4, r2, 0
- ldrh r2, [r3, 0x2]
- ldrh r0, [r3]
- subs r2, r0
- ldrh r0, [r3, 0x6]
- ldrh r1, [r3, 0x4]
- subs r0, r1
- lsls r0, 16
- lsrs r0, 16
- lsls r6, r2, 16
- cmp r6, 0
- ble _080EACFE
- lsls r5, r0, 16
- cmp r5, 0
- ble _080EACFE
- ldrh r1, [r3]
- ldrh r2, [r3, 0x4]
- ldr r3, [r4, 0x8]
- ldrh r0, [r4]
- str r0, [sp]
- ldrh r0, [r4, 0x2]
- str r0, [sp, 0x4]
- lsrs r0, r6, 16
- str r0, [sp, 0x8]
- lsrs r0, r5, 16
- str r0, [sp, 0xC]
- adds r0, r7, 0
- bl sub_809D104
-_080EACFE:
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80EACBC
-
- thumb_func_start sub_80EAD08
-sub_80EAD08: @ 80EAD08
- push {r4,r5,lr}
- ldr r0, _080EAD58 @ =gUnknown_03004DC0
- ldrb r1, [r0, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- ldr r1, _080EAD5C @ =gUnknown_03004DE0
- adds r4, r0, r1
- adds r4, 0xB0
- ldr r0, _080EAD60 @ =gUnknown_083DB694
- ldr r1, [r0]
- movs r0, 0xDD
- lsls r0, 1
- adds r1, r0
- ldrh r0, [r1]
- adds r2, r0, 0
- subs r2, 0x58
- movs r0, 0xFF
- ands r2, r0
- movs r3, 0
- movs r5, 0xFF
-_080EAD32:
- ldrh r0, [r1]
- adds r0, r3
- cmp r0, 0x80
- bne _080EAD42
- negs r0, r3
- adds r2, r0, 0
- subs r2, 0x58
- ands r2, r5
-_080EAD42:
- strh r2, [r4]
- adds r4, 0x2
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3F
- bls _080EAD32
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080EAD58: .4byte gUnknown_03004DC0
-_080EAD5C: .4byte gUnknown_03004DE0
-_080EAD60: .4byte gUnknown_083DB694
- thumb_func_end sub_80EAD08
-
- thumb_func_start sub_80EAD64
-sub_80EAD64: @ 80EAD64
- push {lr}
- lsls r1, 24
- ldr r2, _080EAD78 @ =gEasyChatGroupNames
- lsrs r1, 22
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- pop {r1}
- bx r1
- .align 2, 0
-_080EAD78: .4byte gEasyChatGroupNames
- thumb_func_end sub_80EAD64
-
- thumb_func_start sub_80EAD7C
-sub_80EAD7C: @ 80EAD7C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x14
- beq _080EADA2
- cmp r0, 0x14
- bgt _080EAD9C
- cmp r0, 0x11
- blt _080EADBA
- ldr r0, _080EAD98 @ =0x00000804
- bl FlagGet
- b _080EADB4
- .align 2, 0
-_080EAD98: .4byte 0x00000804
-_080EAD9C:
- cmp r1, 0x15
- beq _080EADB0
- b _080EADBA
-_080EADA2:
- ldr r0, _080EADAC @ =0x00000806
- bl FlagGet
- b _080EADB4
- .align 2, 0
-_080EADAC: .4byte 0x00000806
-_080EADB0:
- bl sub_80EB9C8
-_080EADB4:
- lsls r0, 24
- lsrs r0, 24
- b _080EADBC
-_080EADBA:
- movs r0, 0x1
-_080EADBC:
- pop {r1}
- bx r1
- thumb_func_end sub_80EAD7C
-
- thumb_func_start sub_80EADC0
-sub_80EADC0: @ 80EADC0
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 16
- lsrs r3, r1, 16
- cmp r2, 0x15
- bhi _080EAE82
- lsls r0, r2, 2
- ldr r1, _080EADD8 @ =_080EADDC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EADD8: .4byte _080EADDC
- .align 2, 0
-_080EADDC:
- .4byte _080EAE50
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE62
- .4byte _080EAE62
- .4byte _080EAE62
- .4byte _080EAE34
- .4byte _080EAE78
-_080EAE34:
- ldr r0, _080EAE4C @ =gUnknown_083DB694
- ldr r0, [r0]
- adds r0, r2
- adds r0, 0x67
- ldrb r0, [r0]
- cmp r0, 0
- beq _080EAE70
- lsls r0, r3, 24
- lsrs r0, 24
- bl sub_80EB868
- b _080EAE7C
- .align 2, 0
-_080EAE4C: .4byte gUnknown_083DB694
-_080EAE50:
- adds r0, r3, 0
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- bl GetSetPokedexFlag
- b _080EAE7C
-_080EAE62:
- ldr r0, _080EAE74 @ =gUnknown_083DB694
- ldr r0, [r0]
- adds r0, r2
- adds r0, 0x67
- ldrb r0, [r0]
- cmp r0, 0
- bne _080EAE82
-_080EAE70:
- movs r0, 0
- b _080EAE84
- .align 2, 0
-_080EAE74: .4byte gUnknown_083DB694
-_080EAE78:
- bl sub_80EB9C8
-_080EAE7C:
- lsls r0, 24
- lsrs r0, 24
- b _080EAE84
-_080EAE82:
- movs r0, 0x1
-_080EAE84:
- pop {r1}
- bx r1
- thumb_func_end sub_80EADC0
-
- thumb_func_start sub_80EAE88
-sub_80EAE88: @ 80EAE88
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _080EAEA6
- cmp r4, 0x14
- beq _080EAEB2
- adds r0, r4, 0
- bl sub_80EAD7C
- lsls r0, 24
- cmp r0, 0
- bne _080EAEBC
- movs r0, 0
- b _080EAEC2
-_080EAEA6:
- movs r0, 0
- bl GetHoennPokedexCount
- lsls r0, 16
- lsrs r0, 16
- b _080EAEC2
-_080EAEB2:
- bl sub_80EB8C0
- lsls r0, 24
- lsrs r0, 24
- b _080EAEC2
-_080EAEBC:
- ldr r0, _080EAEC8 @ =gEasyChatGroupSizes
- adds r0, r4, r0
- ldrb r0, [r0]
-_080EAEC2:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080EAEC8: .4byte gEasyChatGroupSizes
- thumb_func_end sub_80EAE88
-
- thumb_func_start sub_80EAECC
-sub_80EAECC: @ 80EAECC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- movs r7, 0
- ldr r1, _080EAF08 @ =gUnknown_083DB694
- ldr r0, [r1]
- ldr r3, _080EAF0C @ =0x0000446c
- adds r3, r0, r3
- str r3, [sp, 0x4]
-_080EAEE4:
- ldr r1, _080EAF10 @ =gEasyChatWordsByLetter
- lsls r2, r7, 1
- adds r0, r2, r1
- ldrh r4, [r0]
- adds r3, r7, 0x1
- lsls r0, r3, 1
- adds r0, r1
- ldrh r0, [r0]
- str r0, [sp]
- ldr r0, [sp, 0x4]
- adds r1, r0, r2
- movs r0, 0
- strh r0, [r1]
- mov r9, r0
- adds r6, r4, 0
- mov r10, r2
- str r3, [sp, 0x8]
- b _080EB00C
- .align 2, 0
-_080EAF08: .4byte gUnknown_083DB694
-_080EAF0C: .4byte 0x0000446c
-_080EAF10: .4byte gEasyChatWordsByLetter
-_080EAF14:
- ldr r2, _080EAFAC @ =gEasyChatWordsAlphabetized
- adds r0, r6, 0
- adds r1, r0, 0x1
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r0, 1
- adds r0, r2
- ldrh r1, [r0]
- adds r4, r1, 0
- ldr r0, _080EAFB0 @ =0x0000feff
- cmp r1, r0
- bls _080EAFC8
- movs r0, 0xFF
- ands r1, r0
- movs r3, 0
- subs r0, r1, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, _080EAFB4 @ =0x0000ffff
- cmp r5, r0
- beq _080EB00C
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 3
- subs r0, r7
- lsls r0, 2
- mov r8, r0
-_080EAF4A:
- adds r1, r6, 0
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 1
- ldr r0, _080EAFAC @ =gEasyChatWordsAlphabetized
- adds r1, r0
- ldrh r4, [r1]
- lsrs r0, r4, 9
- ldr r1, _080EAFB8 @ =0x000001ff
- adds r2, r1, 0
- adds r1, r4, 0
- ands r1, r2
- str r3, [sp, 0xC]
- bl sub_80EADC0
- lsls r0, 24
- ldr r3, [sp, 0xC]
- cmp r0, 0
- beq _080EAF9E
- cmp r3, 0
- bne _080EAF9E
- ldr r3, _080EAFBC @ =gUnknown_083DB694
- ldr r2, [r3]
- mov r1, r9
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- lsls r1, 1
- add r1, r8
- ldr r3, _080EAFC0 @ =0x00000b78
- adds r0, r2, r3
- adds r0, r1
- strh r4, [r0]
- ldr r0, _080EAFC4 @ =0x0000446c
- adds r2, r0
- add r2, r10
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- movs r3, 0x1
-_080EAF9E:
- subs r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r1, _080EAFB4 @ =0x0000ffff
- cmp r5, r1
- bne _080EAF4A
- b _080EB00C
- .align 2, 0
-_080EAFAC: .4byte gEasyChatWordsAlphabetized
-_080EAFB0: .4byte 0x0000feff
-_080EAFB4: .4byte 0x0000ffff
-_080EAFB8: .4byte 0x000001ff
-_080EAFBC: .4byte gUnknown_083DB694
-_080EAFC0: .4byte 0x00000b78
-_080EAFC4: .4byte 0x0000446c
-_080EAFC8:
- lsrs r0, r4, 9
- ldr r3, _080EB030 @ =0x000001ff
- adds r2, r3, 0
- adds r1, r4, 0
- ands r1, r2
- bl sub_80EADC0
- lsls r0, 24
- cmp r0, 0
- beq _080EB00C
- ldr r0, _080EB034 @ =gUnknown_083DB694
- ldr r2, [r0]
- mov r1, r9
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- lsls r1, 1
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 3
- subs r0, r7
- lsls r0, 2
- adds r1, r0
- ldr r3, _080EB038 @ =0x00000b78
- adds r0, r2, r3
- adds r0, r1
- strh r4, [r0]
- ldr r0, _080EB03C @ =0x0000446c
- adds r2, r0
- add r2, r10
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
-_080EB00C:
- ldr r1, [sp]
- cmp r6, r1
- bcs _080EB014
- b _080EAF14
-_080EB014:
- ldr r3, [sp, 0x8]
- lsls r0, r3, 16
- lsrs r7, r0, 16
- cmp r7, 0x1A
- bhi _080EB020
- b _080EAEE4
-_080EB020:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EB030: .4byte 0x000001ff
-_080EB034: .4byte gUnknown_083DB694
-_080EB038: .4byte 0x00000b78
-_080EB03C: .4byte 0x0000446c
- thumb_func_end sub_80EAECC
-
- thumb_func_start sub_80EB040
-sub_80EB040: @ 80EB040
- push {r4-r6,lr}
- movs r3, 0
-_080EB044:
- adds r6, r3, 0x1
- cmp r3, 0
- beq _080EB094
- cmp r3, 0x15
- beq _080EB094
- cmp r3, 0x12
- beq _080EB094
- cmp r3, 0x13
- beq _080EB094
- ldr r0, _080EB0A4 @ =gEasyChatGroupWords
- lsls r1, r3, 2
- adds r1, r0
- ldr r2, [r1]
- movs r4, 0
- ldrb r0, [r2]
- cmp r0, 0xFF
- beq _080EB094
- ldr r0, _080EB0A8 @ =gUnknown_083DB694
- ldr r0, [r0]
- ldr r1, _080EB0AC @ =0x000044d0
- adds r5, r0, r1
-_080EB06E:
- lsls r0, r4, 2
- lsls r1, r3, 10
- adds r0, r1
- adds r0, r5, r0
- str r2, [r0]
- ldrb r0, [r2]
- adds r1, r4, 0x1
- cmp r0, 0xFF
- beq _080EB088
-_080EB080:
- adds r2, 0x1
- ldrb r0, [r2]
- cmp r0, 0xFF
- bne _080EB080
-_080EB088:
- adds r2, 0x1
- lsls r0, r1, 16
- lsrs r4, r0, 16
- ldrb r0, [r2]
- cmp r0, 0xFF
- bne _080EB06E
-_080EB094:
- lsls r0, r6, 16
- lsrs r3, r0, 16
- cmp r3, 0x15
- bls _080EB044
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080EB0A4: .4byte gEasyChatGroupWords
-_080EB0A8: .4byte gUnknown_083DB694
-_080EB0AC: .4byte 0x000044d0
- thumb_func_end sub_80EB040
-
- thumb_func_start sub_80EB0B0
-sub_80EB0B0: @ 80EB0B0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- ldr r3, _080EB184 @ =gUnknown_083DB694
- ldr r4, [r3]
- adds r0, r4, 0
- adds r0, 0x26
- ldrb r5, [r0]
- cmp r5, 0
- bne _080EB19C
- movs r0, 0xDC
- lsls r0, 1
- adds r2, r4, r0
- ldrb r6, [r2]
- lsls r1, r6, 1
- ldr r7, _080EB188 @ =0x000044a2
- adds r0, r4, r7
- adds r0, r1
- strh r5, [r0]
- movs r7, 0
- movs r0, 0
- mov r9, r0
- ldr r1, _080EB18C @ =gEasyChatGroupOrders
- lsls r0, r6, 2
- adds r0, r1
- ldr r0, [r0]
- str r0, [sp]
- movs r1, 0
- mov r8, r1
- ldr r1, _080EB190 @ =gEasyChatGroupSizes
- ldrb r0, [r2]
- adds r0, r1
- ldrb r0, [r0]
- cmp r8, r0
- bcc _080EB0FE
- b _080EB1FE
-_080EB0FE:
- movs r2, 0xDC
- lsls r2, 1
- adds r2, r4, r2
- str r2, [sp, 0x4]
- lsls r5, r6, 24
- mov r10, r5
-_080EB10A:
- mov r1, r8
- lsls r0, r1, 1
- ldr r2, [sp]
- adds r5, r0, r2
- ldrh r1, [r5]
- mov r2, r10
- lsrs r0, r2, 24
- bl sub_80EADC0
- lsls r0, 24
- cmp r0, 0
- beq _080EB16A
- ldr r0, _080EB184 @ =gUnknown_083DB694
- ldr r3, [r0]
- lsls r1, r7, 1
- mov r2, r9
- lsls r0, r2, 2
- adds r1, r0
- ldr r0, _080EB194 @ =0x00009d56
- adds r4, r3, r0
- adds r4, r1
- movs r0, 0x7F
- ands r0, r6
- lsls r0, 9
- ldrh r1, [r5]
- ldr r5, _080EB198 @ =0x000001ff
- adds r2, r5, 0
- ands r1, r2
- orrs r0, r1
- strh r0, [r4]
- lsls r0, r6, 1
- ldr r1, _080EB188 @ =0x000044a2
- adds r3, r1
- adds r3, r0
- ldrh r0, [r3]
- adds r0, 0x1
- strh r0, [r3]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0x1
- bls _080EB16A
- movs r7, 0
- mov r0, r9
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
-_080EB16A:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r1, _080EB190 @ =gEasyChatGroupSizes
- ldr r2, [sp, 0x4]
- ldrb r0, [r2]
- adds r0, r1
- ldrb r0, [r0]
- cmp r8, r0
- bcc _080EB10A
- b _080EB1FE
- .align 2, 0
-_080EB184: .4byte gUnknown_083DB694
-_080EB188: .4byte 0x000044a2
-_080EB18C: .4byte gEasyChatGroupOrders
-_080EB190: .4byte gEasyChatGroupSizes
-_080EB194: .4byte 0x00009d56
-_080EB198: .4byte 0x000001ff
-_080EB19C:
- movs r5, 0xDC
- lsls r5, 1
- adds r0, r4, r5
- ldrb r2, [r0]
- movs r3, 0
- movs r6, 0
- movs r5, 0
- lsls r1, r2, 1
- ldr r7, _080EB210 @ =0x0000446c
- adds r0, r4, r7
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r5, r0
- bcs _080EB1FE
- ldr r7, _080EB214 @ =0x00009d56
- adds r7, r4
- mov r8, r7
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 3
- subs r0, r2
- lsls r7, r0, 2
- ldr r0, _080EB218 @ =0x00000b78
- adds r2, r4, r0
- adds r4, r1, 0
-_080EB1CE:
- lsls r1, r3, 1
- lsls r0, r6, 2
- adds r1, r0
- add r1, r8
- lsls r0, r5, 1
- adds r0, r7
- adds r0, r2, r0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x1
- bls _080EB1F2
- movs r3, 0
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_080EB1F2:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldrh r1, [r4]
- cmp r5, r1
- bcc _080EB1CE
-_080EB1FE:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EB210: .4byte 0x0000446c
-_080EB214: .4byte 0x00009d56
-_080EB218: .4byte 0x00000b78
- thumb_func_end sub_80EB0B0
-
- thumb_func_start sub_80EB218
-sub_80EB218: @ 80EB218
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- lsls r6, r1, 16
- lsrs r4, r6, 16
- adds r7, r4, 0
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- adds r0, r4, 0
- bl sub_80EB37C
- lsls r0, 24
- cmp r0, 0
- beq _080EB240
- ldr r1, _080EB23C @ =gOtherText_ThreeQuestions
- b _080EB2A2
- .align 2, 0
-_080EB23C: .4byte gOtherText_ThreeQuestions
-_080EB240:
- ldr r0, _080EB250 @ =0x0000ffff
- cmp r4, r0
- bne _080EB254
- adds r1, r5, 0
- movs r0, 0xFF
- strb r0, [r1]
- b _080EB2AA
- .align 2, 0
-_080EB250: .4byte 0x0000ffff
-_080EB254:
- lsrs r2, r6, 25
- ldr r1, _080EB268 @ =0x000001ff
- ands r1, r7
- cmp r2, 0x13
- bgt _080EB26C
- cmp r2, 0x12
- bge _080EB280
- cmp r2, 0
- beq _080EB270
- b _080EB290
- .align 2, 0
-_080EB268: .4byte 0x000001ff
-_080EB26C:
- cmp r2, 0x15
- bne _080EB290
-_080EB270:
- movs r0, 0xB
- muls r1, r0
- ldr r0, _080EB27C @ =gSpeciesNames
- adds r1, r0
- b _080EB2A2
- .align 2, 0
-_080EB27C: .4byte gSpeciesNames
-_080EB280:
- movs r0, 0xD
- muls r1, r0
- ldr r0, _080EB28C @ =gMoveNames
- adds r1, r0
- b _080EB2A2
- .align 2, 0
-_080EB28C: .4byte gMoveNames
-_080EB290:
- ldr r0, _080EB2CC @ =gUnknown_083DB694
- ldr r0, [r0]
- lsls r1, 2
- lsls r2, 10
- adds r1, r2
- ldr r2, _080EB2D0 @ =0x000044d0
- adds r0, r2
- adds r0, r1
- ldr r1, [r0]
-_080EB2A2:
- adds r0, r5, 0
- bl StringCopy
- adds r1, r0, 0
-_080EB2AA:
- movs r0, 0xFC
- strb r0, [r1]
- movs r0, 0x13
- strb r0, [r1, 0x1]
- mov r2, r8
- lsls r0, r2, 3
- strb r0, [r1, 0x2]
- adds r1, 0x3
- movs r0, 0xFF
- strb r0, [r1]
- adds r0, r1, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080EB2CC: .4byte gUnknown_083DB694
-_080EB2D0: .4byte 0x000044d0
- thumb_func_end sub_80EB218
-
- thumb_func_start sub_80EB2D4
-sub_80EB2D4: @ 80EB2D4
- push {r4-r6,lr}
- lsls r5, r0, 16
- lsrs r4, r5, 16
- adds r6, r4, 0
- adds r0, r4, 0
- bl sub_80EB37C
- lsls r0, 24
- cmp r0, 0
- beq _080EB2F8
- ldr r0, _080EB2F4 @ =gOtherText_ThreeQuestions
- bl StringLength
- lsls r0, 16
- lsrs r0, 16
- b _080EB374
- .align 2, 0
-_080EB2F4: .4byte gOtherText_ThreeQuestions
-_080EB2F8:
- ldr r0, _080EB304 @ =0x0000ffff
- cmp r4, r0
- bne _080EB308
- movs r0, 0
- b _080EB374
- .align 2, 0
-_080EB304: .4byte 0x0000ffff
-_080EB308:
- lsrs r2, r5, 25
- ldr r1, _080EB31C @ =0x000001ff
- ands r1, r6
- cmp r2, 0x13
- bgt _080EB320
- cmp r2, 0x12
- bge _080EB334
- cmp r2, 0
- beq _080EB324
- b _080EB344
- .align 2, 0
-_080EB31C: .4byte 0x000001ff
-_080EB320:
- cmp r2, 0x15
- bne _080EB344
-_080EB324:
- movs r0, 0xB
- muls r1, r0
- ldr r0, _080EB330 @ =gSpeciesNames
- adds r1, r0
- b _080EB356
- .align 2, 0
-_080EB330: .4byte gSpeciesNames
-_080EB334:
- movs r0, 0xD
- muls r1, r0
- ldr r0, _080EB340 @ =gMoveNames
- adds r1, r0
- b _080EB356
- .align 2, 0
-_080EB340: .4byte gMoveNames
-_080EB344:
- ldr r0, _080EB35C @ =gUnknown_083DB694
- ldr r0, [r0]
- lsls r1, 2
- lsls r2, 10
- adds r1, r2
- ldr r2, _080EB360 @ =0x000044d0
- adds r0, r2
- adds r0, r1
- ldr r1, [r0]
-_080EB356:
- movs r2, 0
- b _080EB36C
- .align 2, 0
-_080EB35C: .4byte gUnknown_083DB694
-_080EB360: .4byte 0x000044d0
-_080EB364:
- adds r1, 0x1
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
-_080EB36C:
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _080EB364
- adds r0, r2, 0
-_080EB374:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80EB2D4
-
- thumb_func_start sub_80EB37C
-sub_80EB37C: @ 80EB37C
- push {r4,r5,lr}
- lsls r1, r0, 16
- lsrs r3, r1, 16
- ldr r0, _080EB3A0 @ =0x0000ffff
- cmp r3, r0
- beq _080EB3EA
- lsrs r2, r1, 25
- ldr r5, _080EB3A4 @ =0x000001ff
- ands r5, r3
- cmp r2, 0x15
- bhi _080EB3F4
- cmp r2, 0x13
- bgt _080EB3A8
- cmp r2, 0x12
- bge _080EB3AC
- cmp r2, 0
- beq _080EB3AC
- b _080EB3E0
- .align 2, 0
-_080EB3A0: .4byte 0x0000ffff
-_080EB3A4: .4byte 0x000001ff
-_080EB3A8:
- cmp r2, 0x15
- bne _080EB3E0
-_080EB3AC:
- ldr r0, _080EB3D8 @ =gEasyChatGroupWords
- lsls r1, r2, 2
- adds r1, r0
- ldr r4, [r1]
- movs r3, 0
- ldr r0, _080EB3DC @ =gEasyChatGroupSizes
- adds r0, r2, r0
- ldrb r0, [r0]
- cmp r3, r0
- bcs _080EB3F4
- adds r1, r0, 0
-_080EB3C2:
- lsls r0, r3, 1
- adds r0, r4
- ldrh r0, [r0]
- cmp r5, r0
- beq _080EB3EA
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r1
- bcc _080EB3C2
- b _080EB3F4
- .align 2, 0
-_080EB3D8: .4byte gEasyChatGroupWords
-_080EB3DC: .4byte gEasyChatGroupSizes
-_080EB3E0:
- ldr r0, _080EB3F0 @ =gEasyChatGroupSizes
- adds r0, r2, r0
- ldrb r0, [r0]
- cmp r5, r0
- bcs _080EB3F4
-_080EB3EA:
- movs r0, 0
- b _080EB3F6
- .align 2, 0
-_080EB3F0: .4byte gEasyChatGroupSizes
-_080EB3F4:
- movs r0, 0x1
-_080EB3F6:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80EB37C
-
- thumb_func_start de_sub_80EB748
-de_sub_80EB748: @ 80EB3FC
- push {r4-r7,lr}
- adds r3, r0, 0
- adds r5, r1, 0
- movs r7, 0
- cmp r3, 0x13
- bgt _080EB412
- cmp r3, 0x12
- bge _080EB416
- cmp r3, 0
- beq _080EB416
- b _080EB458
-_080EB412:
- cmp r3, 0x15
- bne _080EB458
-_080EB416:
- ldr r1, _080EB438 @ =gEasyChatGroupWords
- lsls r0, r3, 2
- adds r0, r1
- ldr r4, [r0]
- movs r2, 0
- ldr r0, _080EB43C @ =gEasyChatGroupSizes
- adds r1, r3, r0
- adds r6, r0, 0
- ldrb r1, [r1]
- cmp r2, r1
- bge _080EB45A
- ldrh r0, [r4]
- cmp r5, r0
- bne _080EB440
- movs r7, 0
- b _080EB45A
- .align 2, 0
-_080EB438: .4byte gEasyChatGroupWords
-_080EB43C: .4byte gEasyChatGroupSizes
-_080EB440:
- adds r2, 0x1
- adds r0, r3, r6
- ldrb r0, [r0]
- cmp r2, r0
- bge _080EB45A
- lsls r0, r2, 1
- adds r0, r4
- ldrh r0, [r0]
- cmp r5, r0
- bne _080EB440
- adds r7, r2, 0
- b _080EB45A
-_080EB458:
- adds r7, r5, 0
-_080EB45A:
- adds r0, r7, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end de_sub_80EB748
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/cable_car.s b/asm/cable_car.s
deleted file mode 100644
index 52bc2668b..000000000
--- a/asm/cable_car.s
+++ /dev/null
@@ -1,2880 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_81231EC
-sub_81231EC: @ 81231EC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08123210 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0812320A
- ldr r0, _08123214 @ =sub_8123244
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_0812320A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08123210: .4byte gPaletteFade
-_08123214: .4byte sub_8123244
- thumb_func_end sub_81231EC
-
- thumb_func_start sub_8123218
-sub_8123218: @ 8123218
- push {lr}
- sub sp, 0x4
- bl ScriptContext2_Enable
- ldr r0, _08123240 @ =sub_81231EC
- movs r1, 0x1
- bl CreateTask
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08123240: .4byte sub_81231EC
- thumb_func_end sub_8123218
-
- thumb_func_start sub_8123244
-sub_8123244: @ 8123244
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- ldr r1, _08123268 @ =gMain
- ldr r2, _0812326C @ =0x0000043c
- adds r0, r1, r2
- ldrb r0, [r0]
- mov r9, r1
- cmp r0, 0x8
- bhi _08123298
- lsls r0, 2
- ldr r1, _08123270 @ =_08123274
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08123268: .4byte gMain
-_0812326C: .4byte 0x0000043c
-_08123270: .4byte _08123274
- .align 2, 0
-_08123274:
- .4byte _08123298
- .4byte _08123384
- .4byte _081233E8
- .4byte _08123484
- .4byte _081234A0
- .4byte _08123504
- .4byte _08123598
- .4byte _08123678
- .4byte _081236B0
-_08123298:
- movs r0, 0
- bl SetVBlankCallback
- bl remove_some_task
- movs r3, 0xC0
- lsls r3, 19
- movs r4, 0xC0
- lsls r4, 9
- add r0, sp, 0xC
- mov r9, r0
- add r2, sp, 0x8
- movs r6, 0
- ldr r1, _08123368 @ =0x040000d4
- movs r5, 0x80
- lsls r5, 5
- ldr r7, _0812336C @ =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r8, r0
-_081232C0:
- strh r6, [r2]
- add r0, sp, 0x8
- 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 _081232C0
- strh r6, [r2]
- add r2, sp, 0x8
- str r2, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r4, 1
- mov r2, r8
- 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, 0xC]
- ldr r2, _08123368 @ =0x040000d4
- mov r1, r9
- 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
- add r0, sp, 0x8
- strh r4, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- lsrs r3, 1
- movs r4, 0x81
- lsls r4, 24
- orrs r3, r4
- str r3, [r2, 0x8]
- ldr r0, [r2, 0x8]
- ldr r1, _08123370 @ =gUnknown_02039274
- ldr r0, _08123374 @ =gSharedMem + 0x17000
- str r0, [r1]
- adds r3, r0, 0
- ldr r5, _08123378 @ =0x000010fc
- ldr r0, _0812337C @ =gMain
- mov r9, r0
- add r1, sp, 0x8
- movs r7, 0
- movs r6, 0x80
- lsls r6, 5
- ldr r0, _0812336C @ =0x81000800
- mov r8, r0
-_08123338:
- strh r7, [r1]
- add r0, sp, 0x8
- str r0, [r2]
- str r3, [r2, 0x4]
- mov r0, r8
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- adds r3, r6
- subs r5, r6
- cmp r5, r6
- bhi _08123338
- strh r7, [r1]
- add r1, sp, 0x8
- str r1, [r2]
- str r3, [r2, 0x4]
- lsrs r0, r5, 1
- orrs r0, r4
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- ldr r1, _08123380 @ =0x0000043c
- add r1, r9
- ldrb r0, [r1]
- adds r0, 0x1
- b _0812370C
- .align 2, 0
-_08123368: .4byte 0x040000d4
-_0812336C: .4byte 0x81000800
-_08123370: .4byte gUnknown_02039274
-_08123374: .4byte gSharedMem + 0x17000
-_08123378: .4byte 0x000010fc
-_0812337C: .4byte gMain
-_08123380: .4byte 0x0000043c
-_08123384:
- bl ResetSpriteData
- bl ResetTasks
- bl FreeAllSpritePalettes
- bl ResetPaletteFade
- bl StartWeather
- movs r4, 0
- ldr r0, _081233D4 @ =gWeatherPtr
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0xF0
- movs r2, 0
-_081233A4:
- lsls r0, r4, 2
- adds r0, r1, r0
- str r2, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x13
- bls _081233A4
- bl InitMapMusic
- bl ResetMapMusic
- ldr r2, _081233D8 @ =gSpriteCoordOffsetX
- ldr r1, _081233DC @ =gSpriteCoordOffsetY
- movs r0, 0
- strh r0, [r1]
- strh r0, [r2]
- ldr r1, _081233E0 @ =gMain
- ldr r2, _081233E4 @ =0x0000043c
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- b _0812370C
- .align 2, 0
-_081233D4: .4byte gWeatherPtr
-_081233D8: .4byte gSpriteCoordOffsetX
-_081233DC: .4byte gSpriteCoordOffsetY
-_081233E0: .4byte gMain
-_081233E4: .4byte 0x0000043c
-_081233E8:
- movs r4, 0
- ldr r5, _08123454 @ =gUnknown_08401CF8
-_081233EC:
- lsls r0, r4, 3
- adds r0, r5
- bl LoadCompressedObjectPic
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _081233EC
- ldr r0, _08123458 @ =gUnknown_08401D18
- bl LoadSpritePalettes
- ldr r0, _0812345C @ =gCableCarMtChimneyTilemap
- ldr r4, _08123460 @ =gSharedMem + 0x19000
- adds r1, r4, 0
- bl LZDecompressWram
- ldr r0, _08123464 @ =gCableCarTreeTilemap
- movs r2, 0xB4
- lsls r2, 1
- adds r1, r4, r2
- bl LZDecompressWram
- ldr r0, _08123468 @ =gCableCarMountainTilemap
- movs r2, 0xA5
- lsls r2, 3
- adds r1, r4, r2
- bl LZDecompressWram
- ldr r0, _0812346C @ =gCableCarPylonStemTilemap
- ldr r1, _08123470 @ =0x000009d8
- adds r4, r1
- adds r1, r4, 0
- bl LZDecompressWram
- ldr r0, _08123474 @ =gCableCarBG_Pal
- movs r1, 0
- movs r2, 0x80
- bl LoadPalette
- ldr r0, _08123478 @ =gCableCarBG_Gfx
- movs r1, 0xC0
- lsls r1, 19
- bl LZ77UnCompVram
- ldr r1, _0812347C @ =gMain
- ldr r2, _08123480 @ =0x0000043c
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- b _0812370C
- .align 2, 0
-_08123454: .4byte gUnknown_08401CF8
-_08123458: .4byte gUnknown_08401D18
-_0812345C: .4byte gCableCarMtChimneyTilemap
-_08123460: .4byte gSharedMem + 0x19000
-_08123464: .4byte gCableCarTreeTilemap
-_08123468: .4byte gCableCarMountainTilemap
-_0812346C: .4byte gCableCarPylonStemTilemap
-_08123470: .4byte 0x000009d8
-_08123474: .4byte gCableCarBG_Pal
-_08123478: .4byte gCableCarBG_Gfx
-_0812347C: .4byte gMain
-_08123480: .4byte 0x0000043c
-_08123484:
- bl sub_8124118
- bl RunTasks
- ldr r1, _08123498 @ =gMain
- ldr r0, _0812349C @ =0x0000043c
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- b _0812370C
- .align 2, 0
-_08123498: .4byte gMain
-_0812349C: .4byte 0x0000043c
-_081234A0:
- ldr r0, _081234B4 @ =gUnknown_02039274
- ldr r0, [r0]
- ldrb r0, [r0, 0x2]
- cmp r0, 0x7
- bne _081234BC
- ldr r1, _081234B8 @ =0x0000043c
- add r1, r9
- ldrb r0, [r1]
- adds r0, 0x1
- b _0812370C
- .align 2, 0
-_081234B4: .4byte gUnknown_02039274
-_081234B8: .4byte 0x0000043c
-_081234BC:
- ldr r0, _081234FC @ =gWeatherPtr
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0xF0
- ldr r0, [r1]
- cmp r0, 0
- bne _081234CC
- b _0812370E
-_081234CC:
- movs r4, 0
- adds r3, r1, 0
- movs r5, 0xD
- negs r5, r5
-_081234D4:
- lsls r0, r4, 2
- adds r0, r3, r0
- ldr r2, [r0]
- cmp r2, 0
- beq _081234E6
- ldrb r1, [r2, 0x5]
- adds r0, r5, 0
- ands r0, r1
- strb r0, [r2, 0x5]
-_081234E6:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x13
- bls _081234D4
- ldr r1, _08123500 @ =0x0000043c
- add r1, r9
- ldrb r0, [r1]
- adds r0, 0x1
- b _0812370C
- .align 2, 0
-_081234FC: .4byte gWeatherPtr
-_08123500: .4byte 0x0000043c
-_08123504:
- ldr r0, _08123578 @ =0x0600e800
- ldr r5, _0812357C @ =gSharedMem + 0x19168
- movs r1, 0x20
- str r1, [sp]
- movs r1, 0xF
- str r1, [sp, 0x4]
- adds r1, r5, 0
- movs r2, 0
- movs r3, 0x11
- bl sub_8124F08
- ldr r0, _08123580 @ =0x0600f000
- movs r2, 0xF0
- lsls r2, 2
- adds r1, r5, r2
- movs r2, 0x1E
- str r2, [sp]
- movs r2, 0x14
- mov r9, r2
- str r2, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_8124F08
- ldr r0, _08123584 @ =gUnknown_02039274
- mov r8, r0
- ldr r0, [r0]
- ldr r6, _08123588 @ =0x000008fc
- adds r0, r6
- ldr r1, _0812358C @ =gCableCarPylonHookTilemapEntries
- movs r2, 0x5
- str r2, [sp]
- movs r4, 0x2
- str r4, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_8124F08
- mov r1, r8
- ldr r0, [r1]
- adds r0, r6
- movs r2, 0x87
- lsls r2, 4
- adds r5, r2
- str r4, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- adds r1, r5, 0
- movs r2, 0
- movs r3, 0x2
- bl sub_8124F08
- ldr r1, _08123590 @ =gMain
- ldr r2, _08123594 @ =0x0000043c
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- b _0812370C
- .align 2, 0
-_08123578: .4byte 0x0600e800
-_0812357C: .4byte gSharedMem + 0x19168
-_08123580: .4byte 0x0600f000
-_08123584: .4byte gUnknown_02039274
-_08123588: .4byte 0x000008fc
-_0812358C: .4byte gCableCarPylonHookTilemapEntries
-_08123590: .4byte gMain
-_08123594: .4byte 0x0000043c
-_08123598:
- ldr r0, _08123664 @ =gSpecialVar_0x8004
- ldrb r0, [r0]
- bl sub_81248AC
- ldr r0, _08123668 @ =gUnknown_02039274
- mov r8, r0
- ldr r0, [r0]
- adds r0, 0xFC
- ldr r4, _0812366C @ =gSharedMem + 0x19090
- movs r6, 0xC
- str r6, [sp]
- movs r5, 0x3
- str r5, [sp, 0x4]
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0xE
- bl sub_8124F08
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0xFC
- adds r1, r4, 0
- adds r1, 0x48
- str r6, [sp]
- str r5, [sp, 0x4]
- movs r2, 0xC
- movs r3, 0x11
- bl sub_8124F08
- mov r2, r8
- ldr r0, [r2]
- adds r0, 0xFC
- adds r1, r4, 0
- adds r1, 0x90
- str r6, [sp]
- str r5, [sp, 0x4]
- movs r2, 0x18
- movs r3, 0x14
- bl sub_8124F08
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0xFC
- movs r2, 0x90
- negs r2, r2
- adds r2, r4
- mov r9, r2
- str r6, [sp]
- str r5, [sp, 0x4]
- mov r1, r9
- movs r2, 0
- movs r3, 0x11
- bl sub_8124F08
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0xFC
- subs r4, 0x48
- str r6, [sp]
- str r5, [sp, 0x4]
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x14
- bl sub_8124F08
- mov r2, r8
- ldr r0, [r2]
- adds r0, 0xFC
- str r6, [sp]
- str r5, [sp, 0x4]
- mov r1, r9
- movs r2, 0xC
- movs r3, 0x14
- bl sub_8124F08
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0xFC
- str r6, [sp]
- str r5, [sp, 0x4]
- adds r1, r4, 0
- movs r2, 0xC
- movs r3, 0x17
- bl sub_8124F08
- mov r2, r8
- ldr r0, [r2]
- adds r0, 0xFC
- str r6, [sp]
- str r5, [sp, 0x4]
- mov r1, r9
- movs r2, 0x18
- movs r3, 0x17
- bl sub_8124F08
- ldr r1, _08123670 @ =gMain
- ldr r0, _08123674 @ =0x0000043c
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- b _0812370C
- .align 2, 0
-_08123664: .4byte gSpecialVar_0x8004
-_08123668: .4byte gUnknown_02039274
-_0812366C: .4byte gSharedMem + 0x19090
-_08123670: .4byte gMain
-_08123674: .4byte 0x0000043c
-_08123678:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r1, 0x3
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _081236A4 @ =0x000001a9
- movs r1, 0x1
- bl FadeInNewBGM
- movs r0, 0x1
- bl sub_8123FBC
- ldr r1, _081236A8 @ =gMain
- ldr r2, _081236AC @ =0x0000043c
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- b _0812370C
- .align 2, 0
-_081236A4: .4byte 0x000001a9
-_081236A8: .4byte gMain
-_081236AC: .4byte 0x0000043c
-_081236B0:
- ldr r3, _081236E4 @ =0x04000208
- ldrh r2, [r3]
- movs r0, 0
- strh r0, [r3]
- ldr r4, _081236E8 @ =0x04000200
- ldrh r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r0, _081236EC @ =sub_8123C40
- bl SetVBlankCallback
- ldr r0, _081236F0 @ =sub_8123724
- bl SetMainCallback2
- ldr r0, _081236F4 @ =sub_8123878
- movs r1, 0
- bl CreateTask
- ldr r0, _081236F8 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- bne _08123700
- ldr r0, _081236FC @ =sub_81239E4
- b _08123702
- .align 2, 0
-_081236E4: .4byte 0x04000208
-_081236E8: .4byte 0x04000200
-_081236EC: .4byte sub_8123C40
-_081236F0: .4byte sub_8123724
-_081236F4: .4byte sub_8123878
-_081236F8: .4byte gSpecialVar_0x8004
-_081236FC: .4byte sub_81239E4
-_08123700:
- ldr r0, _0812371C @ =sub_8123AF8
-_08123702:
- movs r1, 0x1
- bl CreateTask
- ldr r1, _08123720 @ =gUnknown_02039274
- ldr r1, [r1]
-_0812370C:
- strb r0, [r1]
-_0812370E:
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0812371C: .4byte sub_8123AF8
-_08123720: .4byte gUnknown_02039274
- thumb_func_end sub_8123244
-
- thumb_func_start sub_8123724
-sub_8123724: @ 8123724
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- bl MapMusicMain
- pop {r0}
- bx r0
- thumb_func_end sub_8123724
-
- thumb_func_start sub_8123740
-sub_8123740: @ 8123740
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- movs r4, 0
- movs r0, 0
- bl sub_8123FBC
- ldr r0, _08123854 @ =gSpriteCoordOffsetX
- strh r4, [r0]
- movs r0, 0
- bl sub_807C9B4
- add r7, sp, 0x4
- ldr r0, _08123858 @ =gWeatherPtr
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0xF0
- movs r2, 0
-_08123766:
- lsls r0, r4, 2
- adds r0, r1, r0
- str r2, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x13
- bls _08123766
- bl ResetTasks
- bl ResetSpriteData
- bl ResetPaletteFade
- ldr r2, _0812385C @ =gSharedMem
- movs r3, 0x80
- lsls r3, 10
- movs r5, 0
- ldr r1, _08123860 @ =0x040000d4
- movs r4, 0x80
- lsls r4, 5
- ldr r6, _08123864 @ =0x85000400
- movs r0, 0x85
- lsls r0, 24
- mov r12, r0
-_08123798:
- str r5, [sp]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- str r6, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r4
- subs r3, r4
- cmp r3, r4
- bhi _08123798
- str r5, [sp]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 2
- mov r2, r12
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r1, _08123868 @ =gUnknown_02039274
- movs r0, 0
- str r0, [r1]
- movs r3, 0xC0
- lsls r3, 19
- movs r4, 0xC0
- lsls r4, 9
- adds r2, r7, 0
- movs r6, 0
- ldr r1, _08123860 @ =0x040000d4
- movs r5, 0x80
- lsls r5, 5
- ldr r0, _0812386C @ =0x81000800
- mov r12, r0
- movs r0, 0x81
- lsls r0, 24
- mov r8, r0
-_081237E0:
- strh r6, [r2]
- str r2, [r1]
- str r3, [r1, 0x4]
- mov r0, r12
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r5
- subs r4, r5
- cmp r4, r5
- bhi _081237E0
- strh r6, [r7]
- str r7, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r4, 1
- mov r2, r8
- 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]
- ldr r2, _08123860 @ =0x040000d4
- mov r1, sp
- 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 r0, 0xA0
- lsls r0, 19
- strh r4, [r7]
- str r7, [r2]
- str r0, [r2, 0x4]
- lsrs r3, 1
- movs r0, 0x81
- lsls r0, 24
- orrs r3, r0
- str r3, [r2, 0x8]
- ldr r0, [r2, 0x8]
- bl warp_in
- ldr r0, _08123870 @ =gFieldCallback
- str r4, [r0]
- ldr r0, _08123874 @ =CB2_LoadMap
- bl SetMainCallback2
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08123854: .4byte gSpriteCoordOffsetX
-_08123858: .4byte gWeatherPtr
-_0812385C: .4byte gSharedMem
-_08123860: .4byte 0x040000d4
-_08123864: .4byte 0x85000400
-_08123868: .4byte gUnknown_02039274
-_0812386C: .4byte 0x81000800
-_08123870: .4byte gFieldCallback
-_08123874: .4byte CB2_LoadMap
- thumb_func_end sub_8123740
-
- thumb_func_start sub_8123878
-sub_8123878: @ 8123878
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- movs r4, 0
- ldr r5, _081238A4 @ =gUnknown_02039274
- ldr r3, [r5]
- ldrh r0, [r3, 0x6]
- adds r0, 0x1
- strh r0, [r3, 0x6]
- ldrb r2, [r3, 0x1]
- adds r7, r5, 0
- cmp r2, 0x2
- beq _0812397E
- cmp r2, 0x2
- bgt _081238A8
- cmp r2, 0
- beq _081238B6
- cmp r2, 0x1
- beq _081238D0
- b _081239D6
- .align 2, 0
-_081238A4: .4byte gUnknown_02039274
-_081238A8:
- cmp r2, 0x3
- bne _081238AE
- b _081239A4
-_081238AE:
- cmp r2, 0xFF
- bne _081238B4
- b _081239BC
-_081238B4:
- b _081239D6
-_081238B6:
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r3, 0x4]
- cmp r0, r1
- beq _081238C2
- b _081239D6
-_081238C2:
- ldrb r0, [r3, 0x2]
- bl DoWeatherEffect
- ldr r1, [r5]
- movs r0, 0x1
- strb r0, [r1, 0x1]
- b _081239D6
-_081238D0:
- ldrb r0, [r3, 0x2]
- cmp r0, 0x2
- beq _08123924
- cmp r0, 0x7
- beq _081238DC
- b _081239D6
-_081238DC:
- ldr r0, _08123920 @ =gWeatherPtr
- ldr r0, [r0]
- adds r2, r0, 0
- adds r2, 0xF0
- ldr r0, [r2]
- cmp r0, 0
- beq _081239D6
- ldrb r1, [r0, 0x5]
- movs r0, 0xC
- ands r0, r1
- cmp r0, 0
- beq _081239D6
- adds r3, r2, 0
- movs r5, 0xD
- negs r5, r5
-_081238FA:
- lsls r0, r4, 2
- adds r0, r3, r0
- ldr r2, [r0]
- cmp r2, 0
- beq _0812390C
- ldrb r1, [r2, 0x5]
- adds r0, r5, 0
- ands r0, r1
- strb r0, [r2, 0x5]
-_0812390C:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x13
- bls _081238FA
- ldr r1, [r7]
- movs r0, 0x2
- strb r0, [r1, 0x1]
- b _081239D6
- .align 2, 0
-_08123920: .4byte gWeatherPtr
-_08123924:
- ldr r0, _08123938 @ =gWeatherPtr
- ldr r2, [r0]
- movs r1, 0xDA
- lsls r1, 3
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _0812393C
- strb r0, [r3, 0x1]
- b _081239D6
- .align 2, 0
-_08123938: .4byte gWeatherPtr
-_0812393C:
- ldrh r1, [r3, 0x6]
- ldrh r0, [r3, 0x4]
- adds r0, 0x8
- cmp r1, r0
- blt _081239D6
- adds r6, r2, 0
- adds r6, 0xF0
- movs r5, 0x1
- movs r7, 0x5
- negs r7, r7
-_08123950:
- lsls r0, r4, 2
- adds r0, r6, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _08123972
- adds r3, r0, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsls r1, r2, 29
- lsrs r1, 31
- eors r1, r5
- ands r1, r5
- lsls r1, 2
- adds r0, r7, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_08123972:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x13
- bls _08123950
- b _081239D6
-_0812397E:
- lsls r1, r0, 16
- ldr r0, _081239A0 @ =0x023a0000
- cmp r1, r0
- bne _081239D6
- movs r0, 0x3
- strb r0, [r3, 0x1]
- subs r0, 0x4
- str r4, [sp]
- movs r1, 0x3
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- movs r0, 0x4
- bl FadeOutBGM
- b _081239D6
- .align 2, 0
-_081239A0: .4byte 0x023a0000
-_081239A4:
- ldr r0, _081239B8 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081239D6
- movs r0, 0xFF
- strb r0, [r3, 0x1]
- b _081239D6
- .align 2, 0
-_081239B8: .4byte gPaletteFade
-_081239BC:
- movs r0, 0
- bl SetVBlankCallback
- adds r0, r6, 0
- bl DestroyTask
- ldr r0, [r5]
- ldrb r0, [r0]
- bl DestroyTask
- ldr r0, _081239E0 @ =sub_8123740
- bl SetMainCallback2
-_081239D6:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081239E0: .4byte sub_8123740
- thumb_func_end sub_8123878
-
- thumb_func_start sub_81239E4
-sub_81239E4: @ 81239E4
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r6, _08123A38 @ =gUnknown_02039274
- ldr r1, [r6]
- ldrb r0, [r1, 0x1]
- cmp r0, 0xFF
- beq _08123AC0
- ldrb r0, [r1, 0x14]
- subs r0, 0x1
- strb r0, [r1, 0x14]
- ldr r1, [r6]
- ldrh r0, [r1, 0x6]
- movs r3, 0x1
- ands r0, r3
- cmp r0, 0
- bne _08123A0A
- ldrb r0, [r1, 0x15]
- subs r0, 0x1
- strb r0, [r1, 0x15]
-_08123A0A:
- ldr r2, [r6]
- ldrh r0, [r2, 0x6]
- movs r1, 0x7
- ands r0, r1
- cmp r0, 0
- bne _08123A24
- ldrb r0, [r2, 0xC]
- subs r0, 0x1
- strb r0, [r2, 0xC]
- ldr r1, [r6]
- ldrb r0, [r1, 0xD]
- subs r0, 0x1
- strb r0, [r1, 0xD]
-_08123A24:
- ldr r0, [r6]
- ldrb r1, [r0, 0x14]
- cmp r1, 0x20
- beq _08123A74
- cmp r1, 0x20
- bgt _08123A3C
- cmp r1, 0x10
- beq _08123A90
- b _08123AC0
- .align 2, 0
-_08123A38: .4byte gUnknown_02039274
-_08123A3C:
- cmp r1, 0x28
- beq _08123A60
- cmp r1, 0xAF
- bne _08123AC0
- ldr r1, _08123A5C @ =0x000008fc
- adds r0, r1
- movs r1, 0x2
- str r1, [sp]
- movs r1, 0xA
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- movs r3, 0x16
- bl sub_8124E7C
- b _08123AC0
- .align 2, 0
-_08123A5C: .4byte 0x000008fc
-_08123A60:
- ldr r1, _08123A70 @ =0x000008fc
- adds r0, r1
- movs r1, 0x2
- str r1, [sp]
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0x3
- b _08123A82
- .align 2, 0
-_08123A70: .4byte 0x000008fc
-_08123A74:
- ldr r1, _08123A8C @ =0x000008fc
- adds r0, r1
- str r3, [sp]
- movs r1, 0x2
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0x2
-_08123A82:
- movs r3, 0
- bl sub_8124E7C
- b _08123AC0
- .align 2, 0
-_08123A8C: .4byte 0x000008fc
-_08123A90:
- ldr r5, _08123AE8 @ =0x000008fc
- adds r0, r5
- ldr r1, _08123AEC @ =gCableCarPylonHookTilemapEntries
- movs r2, 0x5
- str r2, [sp]
- movs r4, 0x2
- str r4, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_8124F08
- ldr r0, [r6]
- adds r0, r5
- ldr r1, _08123AF0 @ =gSharedMem + 0x199D8
- str r4, [sp]
- movs r2, 0x1E
- str r2, [sp, 0x4]
- movs r2, 0
- movs r3, 0x2
- bl sub_8124F08
- ldr r1, [r6]
- movs r0, 0x40
- strb r0, [r1, 0x15]
-_08123AC0:
- bl sub_812453C
- ldr r3, _08123AF4 @ =gSpriteCoordOffsetX
- movs r0, 0
- ldrsh r2, [r3, r0]
- adds r1, r2, 0x1
- adds r0, r1, 0
- cmp r1, 0
- bge _08123AD6
- adds r0, r2, 0
- adds r0, 0x80
-_08123AD6:
- asrs r0, 7
- lsls r0, 7
- subs r0, r1, r0
- strh r0, [r3]
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08123AE8: .4byte 0x000008fc
-_08123AEC: .4byte gCableCarPylonHookTilemapEntries
-_08123AF0: .4byte gSharedMem + 0x199D8
-_08123AF4: .4byte gSpriteCoordOffsetX
- thumb_func_end sub_81239E4
-
- thumb_func_start sub_8123AF8
-sub_8123AF8: @ 8123AF8
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r6, _08123B4C @ =gUnknown_02039274
- ldr r1, [r6]
- ldrb r0, [r1, 0x1]
- cmp r0, 0xFF
- beq _08123BEE
- ldrb r0, [r1, 0x14]
- adds r0, 0x1
- strb r0, [r1, 0x14]
- ldr r2, [r6]
- ldrh r0, [r2, 0x6]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08123B1E
- ldrb r0, [r2, 0x15]
- adds r0, 0x1
- strb r0, [r2, 0x15]
-_08123B1E:
- ldr r2, [r6]
- ldrh r0, [r2, 0x6]
- movs r1, 0x7
- ands r0, r1
- cmp r0, 0
- bne _08123B38
- ldrb r0, [r2, 0xC]
- adds r0, 0x1
- strb r0, [r2, 0xC]
- ldr r1, [r6]
- ldrb r0, [r1, 0xD]
- adds r0, 0x1
- strb r0, [r1, 0xD]
-_08123B38:
- ldr r3, [r6]
- ldrb r0, [r3, 0x14]
- cmp r0, 0x20
- beq _08123BB0
- cmp r0, 0x20
- bgt _08123B50
- cmp r0, 0x10
- beq _08123B78
- b _08123BEE
- .align 2, 0
-_08123B4C: .4byte gUnknown_02039274
-_08123B50:
- cmp r0, 0x28
- beq _08123BDC
- cmp r0, 0xB0
- bne _08123BEE
- ldr r1, _08123B70 @ =0x000008fc
- adds r0, r3, r1
- ldr r1, _08123B74 @ =gSharedMem + 0x199D8
- movs r2, 0x2
- str r2, [sp]
- movs r2, 0x1E
- str r2, [sp, 0x4]
- movs r2, 0
- movs r3, 0x2
- bl sub_8124F08
- b _08123BEE
- .align 2, 0
-_08123B70: .4byte 0x000008fc
-_08123B74: .4byte gSharedMem + 0x199D8
-_08123B78:
- ldr r5, _08123BAC @ =0x000008fc
- adds r0, r3, r5
- movs r1, 0x3
- str r1, [sp]
- movs r4, 0x2
- str r4, [sp, 0x4]
- movs r1, 0
- movs r2, 0x2
- movs r3, 0
- bl sub_8124E7C
- ldr r0, [r6]
- adds r0, r5
- str r4, [sp]
- movs r1, 0xA
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- movs r3, 0x16
- bl sub_8124E7C
- ldr r1, [r6]
- movs r0, 0xC0
- strb r0, [r1, 0x15]
- b _08123BEE
- .align 2, 0
-_08123BAC: .4byte 0x000008fc
-_08123BB0:
- ldr r1, _08123BD4 @ =gCableCarPylonHookTilemapEntries + 0x4
- ldrh r2, [r1]
- movs r4, 0x90
- lsls r4, 4
- adds r0, r3, r4
- strh r2, [r0]
- ldrh r2, [r1, 0x2]
- adds r4, 0x2
- adds r0, r3, r4
- strh r2, [r0]
- ldrh r2, [r1, 0xA]
- adds r4, 0x3E
- adds r0, r3, r4
- strh r2, [r0]
- ldrh r1, [r1, 0xC]
- ldr r2, _08123BD8 @ =0x00000942
- b _08123BEA
- .align 2, 0
-_08123BD4: .4byte gCableCarPylonHookTilemapEntries + 0x4
-_08123BD8: .4byte 0x00000942
-_08123BDC:
- ldr r2, _08123C08 @ =gCableCarPylonHookTilemapEntries + 0x8
- ldrh r1, [r2]
- ldr r4, _08123C0C @ =0x00000904
- adds r0, r3, r4
- strh r1, [r0]
- ldrh r1, [r2, 0xA]
- ldr r2, _08123C10 @ =0x00000944
-_08123BEA:
- adds r0, r3, r2
- strh r1, [r0]
-_08123BEE:
- bl sub_8124598
- ldr r0, _08123C14 @ =gUnknown_02039274
- ldr r1, [r0]
- ldrh r0, [r1, 0x6]
- ldrh r1, [r1, 0x4]
- cmp r0, r1
- bcs _08123C1C
- ldr r4, _08123C18 @ =gSpriteCoordOffsetX
- movs r1, 0
- ldrsh r0, [r4, r1]
- b _08123C26
- .align 2, 0
-_08123C08: .4byte gCableCarPylonHookTilemapEntries + 0x8
-_08123C0C: .4byte 0x00000904
-_08123C10: .4byte 0x00000944
-_08123C14: .4byte gUnknown_02039274
-_08123C18: .4byte gSpriteCoordOffsetX
-_08123C1C:
- ldr r0, _08123C38 @ =gWeatherPtr
- ldr r4, [r0]
- ldr r2, _08123C3C @ =0x000006fc
- adds r4, r2
- ldrh r0, [r4]
-_08123C26:
- adds r0, 0xF7
- movs r1, 0xF8
- bl __modsi3
- strh r0, [r4]
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08123C38: .4byte gWeatherPtr
-_08123C3C: .4byte 0x000006fc
- thumb_func_end sub_8123AF8
-
- thumb_func_start sub_8123C40
-sub_8123C40: @ 8123C40
- push {r4,lr}
- ldr r1, _08123C9C @ =0x040000d4
- ldr r0, _08123CA0 @ =gUnknown_02039274
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0xFC
- str r0, [r1]
- ldr r0, _08123CA4 @ =0x0600e000
- str r0, [r1, 0x4]
- ldr r3, _08123CA8 @ =0x80000400
- str r3, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r4, _08123CAC @ =0x000008fc
- adds r0, r2, r4
- str r0, [r1]
- ldr r0, _08123CB0 @ =0x0600f800
- str r0, [r1, 0x4]
- str r3, [r1, 0x8]
- ldr r0, [r1, 0x8]
- subs r1, 0xB8
- ldrb r0, [r2, 0x14]
- strh r0, [r1]
- adds r1, 0x2
- ldrb r0, [r2, 0x15]
- strh r0, [r1]
- subs r1, 0xA
- ldrb r0, [r2, 0xC]
- strh r0, [r1]
- adds r1, 0x2
- ldrb r0, [r2, 0xD]
- strh r0, [r1]
- subs r1, 0x6
- ldrb r0, [r2, 0x8]
- strh r0, [r1]
- adds r1, 0x2
- ldrb r0, [r2, 0x9]
- strh r0, [r1]
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08123C9C: .4byte 0x040000d4
-_08123CA0: .4byte gUnknown_02039274
-_08123CA4: .4byte 0x0600e000
-_08123CA8: .4byte 0x80000400
-_08123CAC: .4byte 0x000008fc
-_08123CB0: .4byte 0x0600f800
- thumb_func_end sub_8123C40
-
- thumb_func_start nullsub_76
-nullsub_76: @ 8123CB4
- bx lr
- thumb_func_end nullsub_76
-
- thumb_func_start sub_8123CB8
-sub_8123CB8: @ 8123CB8
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r0, _08123D20 @ =gUnknown_02039274
- ldr r6, [r0]
- ldrb r0, [r6, 0x1]
- cmp r0, 0xFF
- beq _08123D84
- ldr r0, _08123D24 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- bne _08123D34
- movs r0, 0x6
- ldrsh r4, [r6, r0]
- adds r0, r4, 0
- bl __floatsisf
- cmp r4, 0
- bge _08123CE2
- ldr r1, _08123D28 @ =0x47800000
- bl __addsf3
-_08123CE2:
- ldr r1, _08123D2C @ =0x3e0f5c29
- bl __mulsf3
- bl __fixunssfsi
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x2E]
- subs r1, r0
- strh r1, [r5, 0x20]
- movs r1, 0x6
- ldrsh r4, [r6, r1]
- adds r0, r4, 0
- bl __floatsisf
- cmp r4, 0
- bge _08123D0A
- ldr r1, _08123D28 @ =0x47800000
- bl __addsf3
-_08123D0A:
- ldr r1, _08123D30 @ =0x3d89374c
- bl __mulsf3
- bl __fixunssfsi
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x30]
- subs r1, r0
- strh r1, [r5, 0x22]
- b _08123D84
- .align 2, 0
-_08123D20: .4byte gUnknown_02039274
-_08123D24: .4byte gSpecialVar_0x8004
-_08123D28: .4byte 0x47800000
-_08123D2C: .4byte 0x3e0f5c29
-_08123D30: .4byte 0x3d89374c
-_08123D34:
- movs r0, 0x6
- ldrsh r4, [r6, r0]
- adds r0, r4, 0
- bl __floatsisf
- cmp r4, 0
- bge _08123D48
- ldr r1, _08123D8C @ =0x47800000
- bl __addsf3
-_08123D48:
- ldr r1, _08123D90 @ =0x3e0f5c29
- bl __mulsf3
- bl __fixunssfsi
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x2E]
- adds r0, r1
- strh r0, [r5, 0x20]
- movs r0, 0x6
- ldrsh r4, [r6, r0]
- adds r0, r4, 0
- bl __floatsisf
- cmp r4, 0
- bge _08123D70
- ldr r1, _08123D8C @ =0x47800000
- bl __addsf3
-_08123D70:
- ldr r1, _08123D94 @ =0x3d89374c
- bl __mulsf3
- bl __fixunssfsi
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x30]
- adds r0, r1
- strh r0, [r5, 0x22]
-_08123D84:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08123D8C: .4byte 0x47800000
-_08123D90: .4byte 0x3e0f5c29
-_08123D94: .4byte 0x3d89374c
- thumb_func_end sub_8123CB8
-
- thumb_func_start sub_8123D98
-sub_8123D98: @ 8123D98
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r0, _08123E04 @ =gUnknown_02039274
- ldr r6, [r0]
- ldrb r0, [r6, 0x1]
- cmp r0, 0xFF
- bne _08123DA8
- b _08123EB0
-_08123DA8:
- ldr r0, _08123E08 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- bne _08123E18
- movs r0, 0x6
- ldrsh r4, [r6, r0]
- adds r0, r4, 0
- bl __floatsisf
- cmp r4, 0
- bge _08123DC4
- ldr r1, _08123E0C @ =0x47800000
- bl __addsf3
-_08123DC4:
- ldr r1, _08123E10 @ =0x3e0f5c29
- bl __mulsf3
- bl __fixunssfsi
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x2E]
- subs r1, r0
- strh r1, [r5, 0x20]
- movs r1, 0x6
- ldrsh r4, [r6, r1]
- adds r0, r4, 0
- bl __floatsisf
- cmp r4, 0
- bge _08123DEC
- ldr r1, _08123E0C @ =0x47800000
- bl __addsf3
-_08123DEC:
- ldr r1, _08123E14 @ =0x3d89374c
- bl __mulsf3
- bl __fixunssfsi
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x30]
- subs r1, r0
- strh r1, [r5, 0x22]
- b _08123E68
- .align 2, 0
-_08123E04: .4byte gUnknown_02039274
-_08123E08: .4byte gSpecialVar_0x8004
-_08123E0C: .4byte 0x47800000
-_08123E10: .4byte 0x3e0f5c29
-_08123E14: .4byte 0x3d89374c
-_08123E18:
- movs r0, 0x6
- ldrsh r4, [r6, r0]
- adds r0, r4, 0
- bl __floatsisf
- cmp r4, 0
- bge _08123E2C
- ldr r1, _08123E8C @ =0x47800000
- bl __addsf3
-_08123E2C:
- ldr r1, _08123E90 @ =0x3e0f5c29
- bl __mulsf3
- bl __fixunssfsi
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x2E]
- adds r0, r1
- strh r0, [r5, 0x20]
- movs r0, 0x6
- ldrsh r4, [r6, r0]
- adds r0, r4, 0
- bl __floatsisf
- cmp r4, 0
- bge _08123E54
- ldr r1, _08123E8C @ =0x47800000
- bl __addsf3
-_08123E54:
- ldr r1, _08123E94 @ =0x3d89374c
- bl __mulsf3
- bl __fixunssfsi
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x30]
- adds r0, r1
- strh r0, [r5, 0x22]
-_08123E68:
- movs r0, 0x32
- ldrsh r2, [r5, r0]
- cmp r2, 0
- bne _08123E98
- movs r0, 0x11
- strh r0, [r5, 0x26]
- ldrh r0, [r5, 0x34]
- adds r1, r0, 0x1
- strh r1, [r5, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x9
- ble _08123EB0
- strh r2, [r5, 0x34]
- ldrh r0, [r5, 0x32]
- adds r0, 0x1
- strh r0, [r5, 0x32]
- b _08123EB0
- .align 2, 0
-_08123E8C: .4byte 0x47800000
-_08123E90: .4byte 0x3e0f5c29
-_08123E94: .4byte 0x3d89374c
-_08123E98:
- movs r2, 0
- movs r0, 0x10
- strh r0, [r5, 0x26]
- ldrh r0, [r5, 0x34]
- adds r1, r0, 0x1
- strh r1, [r5, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x9
- ble _08123EB0
- strh r2, [r5, 0x34]
- strh r2, [r5, 0x32]
-_08123EB0:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8123D98
-
- thumb_func_start sub_8123EB8
-sub_8123EB8: @ 8123EB8
- push {lr}
- adds r2, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _08123EE8
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 1
- ldrh r3, [r2, 0x20]
- adds r0, r3
- strh r0, [r2, 0x20]
- ldrh r1, [r2, 0x22]
- adds r1, 0x10
- adds r0, r2, 0
- adds r0, 0x29
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r0, r1
- strh r0, [r2, 0x22]
-_08123EE8:
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x32
- ldrsh r1, [r2, r3]
- cmp r0, r1
- blt _08123F3E
- movs r0, 0x30
- ldrsh r1, [r2, r0]
- cmp r1, 0
- beq _08123F08
- cmp r1, 0x1
- beq _08123F12
- b _08123F30
-_08123F08:
- ldrh r0, [r2, 0x20]
- adds r0, 0x1
- strh r0, [r2, 0x20]
- ldrh r0, [r2, 0x2E]
- b _08123F22
-_08123F12:
- ldrh r0, [r2, 0x2E]
- ands r0, r1
- cmp r0, 0
- beq _08123F30
- ldrh r0, [r2, 0x20]
- adds r0, 0x1
- strh r0, [r2, 0x20]
- ldrh r0, [r2, 0x20]
-_08123F22:
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _08123F30
- ldrh r0, [r2, 0x22]
- adds r0, 0x1
- strh r0, [r2, 0x22]
-_08123F30:
- movs r1, 0x22
- ldrsh r0, [r2, r1]
- cmp r0, 0xA0
- ble _08123F3E
- adds r0, r2, 0
- bl DestroySprite
-_08123F3E:
- pop {r0}
- bx r0
- thumb_func_end sub_8123EB8
-
- thumb_func_start sub_8123F44
-sub_8123F44: @ 8123F44
- push {lr}
- adds r2, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _08123F62
- ldrh r1, [r2, 0x22]
- adds r1, 0x10
- adds r0, r2, 0
- adds r0, 0x29
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r0, r1
- strh r0, [r2, 0x22]
-_08123F62:
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x32
- ldrsh r1, [r2, r3]
- cmp r0, r1
- blt _08123FB8
- movs r0, 0x30
- ldrsh r1, [r2, r0]
- cmp r1, 0
- beq _08123F82
- cmp r1, 0x1
- beq _08123F8C
- b _08123FAA
-_08123F82:
- ldrh r0, [r2, 0x20]
- subs r0, 0x1
- strh r0, [r2, 0x20]
- ldrh r0, [r2, 0x2E]
- b _08123F9C
-_08123F8C:
- ldrh r0, [r2, 0x2E]
- ands r0, r1
- cmp r0, 0
- beq _08123FAA
- ldrh r0, [r2, 0x20]
- subs r0, 0x1
- strh r0, [r2, 0x20]
- ldrh r0, [r2, 0x20]
-_08123F9C:
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _08123FAA
- ldrh r0, [r2, 0x22]
- subs r0, 0x1
- strh r0, [r2, 0x22]
-_08123FAA:
- movs r1, 0x22
- ldrsh r0, [r2, r1]
- cmp r0, 0x4F
- bgt _08123FB8
- adds r0, r2, 0
- bl DestroySprite
-_08123FB8:
- pop {r0}
- bx r0
- thumb_func_end sub_8123F44
-
- thumb_func_start sub_8123FBC
-sub_8123FBC: @ 8123FBC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _08123FCA
- cmp r0, 0x1
- beq _08124024
-_08123FCA:
- ldr r1, _08124020 @ =REG_WININ
- movs r0, 0
- strh r0, [r1]
- adds r1, 0x2
- strh r0, [r1]
- subs r1, 0xA
- strh r0, [r1]
- adds r1, 0x2
- strh r0, [r1]
- adds r1, 0x2
- strh r0, [r1]
- adds r1, 0x2
- strh r0, [r1]
- subs r1, 0x46
- strh r0, [r1]
- adds r1, 0xE
- strh r0, [r1]
- subs r1, 0x2
- strh r0, [r1]
- subs r1, 0x2
- strh r0, [r1]
- subs r1, 0x2
- strh r0, [r1]
- adds r1, 0x14
- strh r0, [r1]
- adds r1, 0x2
- strh r0, [r1]
- subs r1, 0x6
- strh r0, [r1]
- adds r1, 0x2
- strh r0, [r1]
- subs r1, 0x6
- strh r0, [r1]
- adds r1, 0x2
- strh r0, [r1]
- subs r1, 0x6
- strh r0, [r1]
- adds r1, 0x2
- strh r0, [r1]
- adds r1, 0x3E
- strh r0, [r1]
- b _081240EE
- .align 2, 0
-_08124020: .4byte REG_WININ
-_08124024:
- ldr r0, _08124060 @ =REG_WININ
- movs r3, 0
- strh r3, [r0]
- adds r0, 0x2
- strh r3, [r0]
- subs r0, 0xA
- strh r3, [r0]
- adds r0, 0x2
- strh r3, [r0]
- adds r0, 0x2
- strh r3, [r0]
- adds r0, 0x2
- strh r3, [r0]
- ldr r0, _08124064 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- bne _0812406C
- ldr r1, _08124068 @ =gUnknown_02039274
- ldr r2, [r1]
- movs r0, 0xB0
- strb r0, [r2, 0x14]
- ldr r2, [r1]
- movs r0, 0x10
- strb r0, [r2, 0x15]
- ldr r0, [r1]
- strb r3, [r0, 0xC]
- ldr r2, [r1]
- movs r0, 0x50
- b _08124082
- .align 2, 0
-_08124060: .4byte REG_WININ
-_08124064: .4byte gSpecialVar_0x8004
-_08124068: .4byte gUnknown_02039274
-_0812406C:
- ldr r1, _081240F4 @ =gUnknown_02039274
- ldr r2, [r1]
- movs r0, 0x60
- strb r0, [r2, 0x14]
- ldr r2, [r1]
- movs r0, 0xE8
- strb r0, [r2, 0x15]
- ldr r0, [r1]
- strb r3, [r0, 0xC]
- ldr r2, [r1]
- movs r0, 0x4
-_08124082:
- strb r0, [r2, 0xD]
- ldr r0, [r1]
- strb r3, [r0, 0x9]
- ldr r0, [r1]
- strb r3, [r0, 0x9]
- adds r2, r1, 0
- ldr r1, _081240F8 @ =REG_BG3HOFS
- ldr r2, [r2]
- ldrb r0, [r2, 0x14]
- strh r0, [r1]
- adds r1, 0x2
- ldrb r0, [r2, 0x15]
- strh r0, [r1]
- ldr r0, _081240FC @ =REG_BG2HOFS
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldr r1, _08124100 @ =REG_BG1HOFS
- ldrb r0, [r2, 0xC]
- strh r0, [r1]
- adds r1, 0x2
- ldrb r0, [r2, 0xD]
- strh r0, [r1]
- subs r1, 0x6
- ldrb r0, [r2, 0x8]
- strh r0, [r1]
- adds r1, 0x2
- ldrb r0, [r2, 0x9]
- strh r0, [r1]
- subs r1, 0xA
- ldr r2, _08124104 @ =0x00003c01
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r3, _08124108 @ =0x00003d02
- adds r0, r3, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _0812410C @ =0x00003e03
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _08124110 @ =REG_BG3CNT
- movs r3, 0xFC
- lsls r3, 6
- adds r2, r3, 0
- strh r2, [r0]
- subs r1, 0xC
- movs r3, 0xFA
- lsls r3, 5
- adds r0, r3, 0
- strh r0, [r1]
- ldr r0, _08124114 @ =REG_BLDCNT
- strh r2, [r0]
-_081240EE:
- pop {r0}
- bx r0
- .align 2, 0
-_081240F4: .4byte gUnknown_02039274
-_081240F8: .4byte REG_BG3HOFS
-_081240FC: .4byte REG_BG2HOFS
-_08124100: .4byte REG_BG1HOFS
-_08124104: .4byte 0x00003c01
-_08124108: .4byte 0x00003d02
-_0812410C: .4byte 0x00003e03
-_08124110: .4byte REG_BG3CNT
-_08124114: .4byte REG_BLDCNT
- thumb_func_end sub_8123FBC
-
- thumb_func_start sub_8124118
-sub_8124118: @ 8124118
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- ldr r1, _0812422C @ =gCableCarPlayerGraphicsIDs
- add r0, sp, 0x8
- movs r2, 0x2
- bl memcpy
- bl Random
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- add r6, sp, 0xC
- ldr r1, _08124230 @ =gMtChimneyHikerGraphicsIDs
- adds r0, r6, 0
- movs r2, 0x4
- bl memcpy
- add r5, sp, 0x10
- ldr r1, _08124234 @ =gMtChimneyHikerCoords
- adds r0, r5, 0
- movs r2, 0x8
- bl memcpy
- add r4, sp, 0x18
- ldr r1, _08124238 @ =gMtChimneyHikerMovementDelayTable
- adds r0, r4, 0
- movs r2, 0x4
- bl memcpy
- ldr r0, _0812423C @ =gUnknown_08401D9C
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x1C]
- str r1, [sp, 0x20]
- ldr r0, _08124240 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- mov r8, r6
- mov r10, r5
- cmp r0, 0
- beq _08124176
- cmp r0, 0x1
- beq _08124258
-_08124176:
- ldr r0, _08124244 @ =gSaveBlock2
- ldrb r0, [r0, 0x8]
- add r0, sp
- adds r0, 0x8
- ldrb r0, [r0]
- ldr r1, _08124248 @ =sub_8123D98
- movs r2, 0x66
- str r2, [sp]
- movs r2, 0xC8
- movs r3, 0x49
- bl AddPseudoFieldObject
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x40
- beq _081241BE
- ldr r0, _0812424C @ =gSprites
- lsls r1, r6, 4
- adds r1, r6
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- movs r2, 0x8
- orrs r0, r2
- strb r0, [r1, 0x5]
- movs r0, 0x8
- strh r0, [r1, 0x24]
- movs r0, 0x10
- strh r0, [r1, 0x26]
- movs r0, 0xC8
- strh r0, [r1, 0x2E]
- movs r0, 0x49
- strh r0, [r1, 0x30]
-_081241BE:
- ldr r4, _08124250 @ =gSpriteTemplate_8401D40
- adds r0, r4, 0
- movs r1, 0xB0
- movs r2, 0x2B
- movs r3, 0x67
- bl CreateSprite
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r5, _0812424C @ =gSprites
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r0, r5
- movs r1, 0x20
- strh r1, [r0, 0x26]
- strh r1, [r0, 0x24]
- movs r1, 0xB0
- strh r1, [r0, 0x2E]
- movs r1, 0x2B
- strh r1, [r0, 0x30]
- adds r4, 0x18
- adds r0, r4, 0
- movs r1, 0xC8
- movs r2, 0x63
- movs r3, 0x65
- bl CreateSprite
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r0, r5
- movs r1, 0x8
- strh r1, [r0, 0x24]
- movs r1, 0x4
- strh r1, [r0, 0x26]
- movs r1, 0xC8
- strh r1, [r0, 0x2E]
- movs r1, 0x63
- strh r1, [r0, 0x30]
- ldr r2, _08124254 @ =gUnknown_02039274
- ldr r1, [r2]
- movs r0, 0x7
- strb r0, [r1, 0x2]
- ldr r1, [r2]
- movs r0, 0xAF
- lsls r0, 1
- strh r0, [r1, 0x4]
- movs r0, 0x2
- bl sub_807C9B4
- b _0812431E
- .align 2, 0
-_0812422C: .4byte gCableCarPlayerGraphicsIDs
-_08124230: .4byte gMtChimneyHikerGraphicsIDs
-_08124234: .4byte gMtChimneyHikerCoords
-_08124238: .4byte gMtChimneyHikerMovementDelayTable
-_0812423C: .4byte gUnknown_08401D9C
-_08124240: .4byte gSpecialVar_0x8004
-_08124244: .4byte gSaveBlock2
-_08124248: .4byte sub_8123D98
-_0812424C: .4byte gSprites
-_08124250: .4byte gSpriteTemplate_8401D40
-_08124254: .4byte gUnknown_02039274
-_08124258:
- ldr r7, _081243EC @ =gUnknown_02039274
- ldr r0, [r7]
- adds r0, 0xFC
- ldr r1, _081243F0 @ =gSharedMem + 0x19048
- movs r2, 0xC
- str r2, [sp]
- movs r2, 0x3
- str r2, [sp, 0x4]
- movs r2, 0x18
- movs r3, 0x1A
- bl sub_8124F08
- ldr r0, _081243F4 @ =gSaveBlock2
- ldrb r0, [r0, 0x8]
- add r0, sp
- adds r0, 0x8
- ldrb r0, [r0]
- ldr r1, _081243F8 @ =sub_8123D98
- movs r2, 0x66
- str r2, [sp]
- movs r2, 0x80
- movs r3, 0x27
- bl AddPseudoFieldObject
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x40
- beq _081242B8
- ldr r0, _081243FC @ =gSprites
- lsls r1, r6, 4
- adds r1, r6
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- movs r2, 0x8
- orrs r0, r2
- strb r0, [r1, 0x5]
- movs r0, 0x8
- strh r0, [r1, 0x24]
- movs r0, 0x10
- strh r0, [r1, 0x26]
- movs r0, 0x80
- strh r0, [r1, 0x2E]
- movs r0, 0x27
- strh r0, [r1, 0x30]
-_081242B8:
- ldr r4, _08124400 @ =gSpriteTemplate_8401D40
- adds r0, r4, 0
- movs r1, 0x68
- movs r2, 0x9
- movs r3, 0x67
- bl CreateSprite
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r5, _081243FC @ =gSprites
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r0, r5
- movs r1, 0x20
- strh r1, [r0, 0x26]
- strh r1, [r0, 0x24]
- movs r1, 0x68
- strh r1, [r0, 0x2E]
- movs r1, 0x9
- strh r1, [r0, 0x30]
- adds r4, 0x18
- adds r0, r4, 0
- movs r1, 0x80
- movs r2, 0x41
- movs r3, 0x65
- bl CreateSprite
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r0, r5
- movs r1, 0x8
- strh r1, [r0, 0x24]
- movs r1, 0x4
- strh r1, [r0, 0x26]
- movs r1, 0x80
- strh r1, [r0, 0x2E]
- movs r1, 0x41
- strh r1, [r0, 0x30]
- ldr r1, [r7]
- movs r0, 0x2
- strb r0, [r1, 0x2]
- ldr r1, [r7]
- ldr r0, _08124404 @ =0x00000109
- strh r0, [r1, 0x4]
- movs r0, 0x7
- bl sub_807C9B4
-_0812431E:
- movs r4, 0
- ldr r5, _081243FC @ =gSprites
-_08124322:
- lsls r1, r4, 20
- movs r0, 0xC0
- lsls r0, 15
- adds r1, r0
- asrs r1, 16
- lsls r2, r4, 19
- ldr r3, _08124408 @ =0xfff80000
- adds r2, r3
- asrs r2, 16
- ldr r0, _0812440C @ =gSpriteTemplate_8401D70
- movs r3, 0x68
- bl CreateSprite
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r0, r5
- movs r1, 0x8
- strh r1, [r0, 0x24]
- strh r1, [r0, 0x26]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x8
- bls _08124322
- movs r0, 0x3F
- mov r4, r9
- ands r0, r4
- cmp r0, 0
- bne _08124458
- mov r0, r9
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- add r0, r8
- ldrb r0, [r0]
- ldr r5, _08124410 @ =gSpecialVar_0x8004
- ldrh r4, [r5]
- lsls r4, 2
- add r1, sp, 0x1C
- adds r1, r4, r1
- ldr r1, [r1]
- mov r3, r10
- adds r2, r3, r4
- movs r3, 0
- ldrsh r2, [r2, r3]
- mov r3, sp
- adds r3, 0x12
- adds r3, r4
- movs r4, 0
- ldrsh r3, [r3, r4]
- movs r4, 0x6A
- str r4, [sp]
- bl AddPseudoFieldObject
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x40
- beq _08124458
- ldr r1, _081243FC @ =gSprites
- lsls r2, r6, 4
- adds r0, r2, r6
- lsls r0, 2
- adds r4, r0, r1
- ldrb r1, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r4, 0x5]
- adds r0, r4, 0
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- negs r0, r0
- strh r0, [r4, 0x24]
- adds r0, r4, 0
- adds r0, 0x29
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- negs r0, r0
- strh r0, [r4, 0x26]
- ldrh r0, [r5]
- mov r8, r2
- cmp r0, 0
- bne _0812441A
- movs r7, 0x1
- mov r5, r9
- ands r5, r7
- cmp r5, 0
- beq _08124414
- adds r0, r4, 0
- movs r1, 0x6
- b _08124428
- .align 2, 0
-_081243EC: .4byte gUnknown_02039274
-_081243F0: .4byte gSharedMem + 0x19048
-_081243F4: .4byte gSaveBlock2
-_081243F8: .4byte sub_8123D98
-_081243FC: .4byte gSprites
-_08124400: .4byte gSpriteTemplate_8401D40
-_08124404: .4byte 0x00000109
-_08124408: .4byte 0xfff80000
-_0812440C: .4byte gSpriteTemplate_8401D70
-_08124410: .4byte gSpecialVar_0x8004
-_08124414:
- adds r0, r4, 0
- movs r1, 0x7
- b _0812443A
-_0812441A:
- movs r7, 0x1
- mov r5, r9
- ands r5, r7
- cmp r5, 0
- beq _08124436
- adds r0, r4, 0
- movs r1, 0x7
-_08124428:
- bl StartSpriteAnim
- strh r7, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- adds r0, 0x2
- strh r0, [r4, 0x22]
- b _08124440
-_08124436:
- adds r0, r4, 0
- movs r1, 0x6
-_0812443A:
- bl StartSpriteAnim
- strh r5, [r4, 0x30]
-_08124440:
- ldr r0, _08124468 @ =gSprites
- mov r2, r8
- adds r1, r2, r6
- lsls r1, 2
- adds r1, r0
- movs r0, 0x3
- mov r3, r9
- ands r0, r3
- add r0, sp
- adds r0, 0x18
- ldrb r0, [r0]
- strh r0, [r1, 0x32]
-_08124458:
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08124468: .4byte gSprites
- thumb_func_end sub_8124118
-
- thumb_func_start sub_812446C
-sub_812446C: @ 812446C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- movs r3, 0
- mov r9, r3
- ldr r2, _08124530 @ =gUnknown_02039274
- ldr r0, [r2]
- ldrb r1, [r0, 0x1B]
- adds r1, 0x2
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 26
- lsrs r0, 24
- mov r12, r0
-_0812448E:
- movs r6, 0
- lsls r0, r3, 1
- adds r1, r3, 0x3
- adds r2, r3, 0x6
- adds r4, r3, 0x1
- str r4, [sp]
- adds r0, r3
- lsls r0, 3
- mov r10, r0
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- mov r8, r0
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- str r0, [sp, 0x4]
-_081244B0:
- ldr r7, _08124530 @ =gUnknown_02039274
- ldr r5, [r7]
- lsls r3, r6, 1
- mov r0, r10
- adds r2, r3, r0
- adds r4, r5, 0
- adds r4, 0x22
- adds r2, r4, r2
- mov r1, r12
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- lsls r1, 1
- ldr r7, _08124534 @ =gSharedMem + 0x19000
- adds r1, r7
- ldrh r0, [r1]
- strh r0, [r2]
- mov r0, r8
- adds r1, r3, r0
- adds r1, r4, r1
- mov r7, r9
- lsls r2, r7, 1
- ldr r7, _08124534 @ =gSharedMem + 0x19000
- adds r0, r2, r7
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r0, [sp, 0x4]
- adds r3, r0
- adds r4, r3
- ldr r1, _08124538 @ =gSharedMem + 0x19048
- adds r2, r1
- ldrh r0, [r2]
- strh r0, [r4]
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0xB
- bls _081244B0
- ldr r4, [sp]
- lsls r0, r4, 24
- lsrs r3, r0, 24
- cmp r3, 0x2
- bls _0812448E
- ldrb r0, [r5, 0x1B]
- adds r0, 0x1
- movs r1, 0x3
- bl __modsi3
- strb r0, [r5, 0x1B]
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08124530: .4byte gUnknown_02039274
-_08124534: .4byte gSharedMem + 0x19000
-_08124538: .4byte gSharedMem + 0x19048
- thumb_func_end sub_812446C
-
- thumb_func_start sub_812453C
-sub_812453C: @ 812453C
- push {r4,r5,lr}
- ldr r5, _08124594 @ =gUnknown_02039274
- ldr r4, [r5]
- ldrb r0, [r4, 0x1C]
- adds r0, 0x1
- movs r1, 0x60
- bl __modsi3
- strb r0, [r4, 0x1C]
- ldr r1, [r5]
- ldrb r0, [r1, 0x1F]
- ldrb r2, [r1, 0x1D]
- subs r0, r2
- strb r0, [r1, 0x8]
- ldr r2, [r5]
- adds r0, r2, 0
- adds r0, 0x20
- ldrb r0, [r0]
- ldrb r1, [r2, 0x1E]
- subs r0, r1
- strb r0, [r2, 0x9]
- ldr r1, [r5]
- ldrb r0, [r1, 0x1D]
- adds r0, 0x1
- strb r0, [r1, 0x1D]
- ldr r2, [r5]
- ldrb r0, [r2, 0x1D]
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _08124580
- ldrb r0, [r2, 0x1E]
- adds r0, 0x1
- strb r0, [r2, 0x1E]
-_08124580:
- ldr r0, [r5]
- ldrb r0, [r0, 0x1D]
- cmp r0, 0x10
- bls _0812458C
- bl sub_81245F4
-_0812458C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08124594: .4byte gUnknown_02039274
- thumb_func_end sub_812453C
-
- thumb_func_start sub_8124598
-sub_8124598: @ 8124598
- push {r4,r5,lr}
- ldr r5, _081245F0 @ =gUnknown_02039274
- ldr r4, [r5]
- ldrb r0, [r4, 0x1C]
- adds r0, 0x1
- movs r1, 0x60
- bl __modsi3
- strb r0, [r4, 0x1C]
- ldr r1, [r5]
- ldrb r0, [r1, 0x1D]
- ldrb r2, [r1, 0x1F]
- adds r0, r2
- strb r0, [r1, 0x8]
- ldr r1, [r5]
- adds r2, r1, 0
- adds r2, 0x20
- ldrb r0, [r1, 0x1E]
- ldrb r2, [r2]
- adds r0, r2
- strb r0, [r1, 0x9]
- ldr r1, [r5]
- ldrb r0, [r1, 0x1D]
- adds r0, 0x1
- strb r0, [r1, 0x1D]
- ldr r2, [r5]
- ldrb r0, [r2, 0x1D]
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _081245DC
- ldrb r0, [r2, 0x1E]
- adds r0, 0x1
- strb r0, [r2, 0x1E]
-_081245DC:
- ldr r0, [r5]
- ldrb r0, [r0, 0x1D]
- cmp r0, 0x10
- bls _081245E8
- bl sub_812476C
-_081245E8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081245F0: .4byte gUnknown_02039274
- thumb_func_end sub_8124598
-
- thumb_func_start sub_81245F4
-sub_81245F4: @ 81245F4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- movs r0, 0
- mov r12, r0
- ldr r2, _0812475C @ =gUnknown_02039274
- ldr r0, [r2]
- mov r1, r12
- strb r1, [r0, 0x1E]
- strb r1, [r0, 0x1D]
- ldr r1, [r2]
- ldrb r0, [r1, 0x8]
- strb r0, [r1, 0x1F]
- ldr r0, [r2]
- ldrb r1, [r0, 0x9]
- adds r0, 0x20
- strb r1, [r0]
- ldr r4, [r2]
- ldrb r1, [r4, 0x19]
- adds r3, r1, 0
- adds r3, 0x1E
- adds r0, r3, 0
- mov r9, r2
- asrs r0, 5
- lsls r0, 5
- subs r0, r3, r0
- strb r0, [r4, 0x19]
- mov r2, r9
- ldr r1, [r2]
- ldrb r0, [r1, 0x18]
- subs r0, 0x2
- strb r0, [r1, 0x18]
- ldr r0, [r2]
- ldrb r1, [r0, 0x1A]
- adds r2, r1, 0
- adds r2, 0x17
- adds r0, r2, 0
- ldr r3, _08124760 @ =gUnknown_0203927A
- mov r10, r3
- asrs r0, 5
- lsls r0, 5
- subs r0, r2, r0
- mov r4, r10
- strb r0, [r4]
- ldr r7, _08124764 @ =gUnknown_02039278
- ldr r0, _08124768 @ =gUnknown_02039279
- mov r8, r0
-_08124658:
- mov r1, r9
- ldr r3, [r1]
- ldrb r0, [r3, 0x19]
- strb r0, [r7]
- mov r2, r10
- ldrb r0, [r2]
- mov r4, r12
- adds r1, r0, r4
- adds r0, r1, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r1, r0
- mov r1, r8
- strb r0, [r1]
- ldrb r2, [r7]
- lsls r2, 1
- ldrb r0, [r1]
- lsls r0, 6
- adds r2, r0
- adds r6, r3, 0
- adds r6, 0xFC
- adds r2, r6, r2
- ldrb r1, [r3, 0x18]
- lsls r1, 1
- mov r4, r12
- lsls r0, r4, 1
- add r0, r12
- lsls r5, r0, 3
- adds r1, r5
- adds r4, r3, 0
- adds r4, 0x22
- adds r1, r4, r1
- ldrh r0, [r1]
- strh r0, [r2]
- ldrb r1, [r7]
- adds r2, r1, 0x1
- adds r0, r2, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r2, r0
- strb r0, [r7]
- ldrb r1, [r7]
- lsls r1, 1
- mov r2, r8
- ldrb r0, [r2]
- lsls r0, 6
- adds r1, r0
- adds r1, r6, r1
- ldrb r0, [r3, 0x18]
- adds r0, 0x1
- lsls r0, 1
- adds r0, r5
- adds r0, r4, r0
- ldrh r0, [r0]
- strh r0, [r1]
- mov r0, r12
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- cmp r0, 0x8
- bls _08124658
- ldr r4, _08124764 @ =gUnknown_02039278
- mov r5, r9
- ldr r3, [r5]
- ldrb r1, [r3, 0x19]
- adds r2, r1, 0
- adds r2, 0x1E
- adds r0, r2, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r2, r0
- strb r0, [r4]
- adds r0, r3, 0
- adds r0, 0xFC
- ldrb r2, [r4]
- movs r1, 0x2
- str r1, [sp]
- movs r6, 0x20
- str r6, [sp, 0x4]
- movs r1, 0
- movs r3, 0
- bl sub_8124E7C
- ldr r1, [r5]
- ldrb r0, [r1, 0x18]
- cmp r0, 0
- bne _0812474C
- ldrb r2, [r1, 0x1A]
- adds r3, r2, 0
- adds r3, 0x1D
- adds r0, r3, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r3, r0
- strb r0, [r1, 0x1A]
- mov r3, r9
- ldr r1, [r3]
- movs r0, 0xC
- strb r0, [r1, 0x18]
- bl sub_812446C
- mov r4, r9
- ldr r1, [r4]
- ldrb r3, [r1, 0x1A]
- adds r4, r3, 0x1
- adds r0, r4, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r4, r0
- ldr r2, _08124764 @ =gUnknown_02039278
- strb r0, [r2]
- adds r0, r1, 0
- adds r0, 0xFC
- ldrb r3, [r2]
- str r6, [sp]
- movs r1, 0x9
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- bl sub_8124E7C
-_0812474C:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0812475C: .4byte gUnknown_02039274
-_08124760: .4byte gUnknown_0203927A
-_08124764: .4byte gUnknown_02039278
-_08124768: .4byte gUnknown_02039279
- thumb_func_end sub_81245F4
-
- thumb_func_start sub_812476C
-sub_812476C: @ 812476C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- movs r0, 0
- mov r12, r0
- ldr r2, _0812489C @ =gUnknown_02039274
- ldr r0, [r2]
- mov r1, r12
- strb r1, [r0, 0x1E]
- strb r1, [r0, 0x1D]
- ldr r1, [r2]
- ldrb r0, [r1, 0x8]
- strb r0, [r1, 0x1F]
- ldr r0, [r2]
- ldrb r1, [r0, 0x9]
- adds r0, 0x20
- strb r1, [r0]
- ldr r4, [r2]
- ldrb r1, [r4, 0x19]
- adds r3, r1, 0x2
- adds r0, r3, 0
- mov r9, r2
- asrs r0, 5
- lsls r0, 5
- subs r0, r3, r0
- strb r0, [r4, 0x19]
- mov r2, r9
- ldr r1, [r2]
- ldrb r0, [r1, 0x18]
- adds r0, 0x2
- strb r0, [r1, 0x18]
- ldr r1, _081248A0 @ =gUnknown_0203927D
- ldr r0, [r2]
- ldrb r0, [r0, 0x1A]
- strb r0, [r1]
- ldr r4, _081248A4 @ =gUnknown_0203927C
- mov r10, r4
- ldr r7, _081248A8 @ =gUnknown_0203927B
- mov r8, r10
-_081247C0:
- mov r0, r9
- ldr r3, [r0]
- ldrb r0, [r3, 0x19]
- strb r0, [r7]
- ldr r1, _081248A0 @ =gUnknown_0203927D
- ldrb r0, [r1]
- mov r2, r12
- adds r1, r0, r2
- adds r0, r1, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r1, r0
- mov r4, r8
- strb r0, [r4]
- ldrb r2, [r7]
- lsls r2, 1
- ldrb r0, [r4]
- lsls r0, 6
- adds r2, r0
- adds r6, r3, 0
- adds r6, 0xFC
- adds r2, r6, r2
- ldrb r1, [r3, 0x18]
- lsls r1, 1
- mov r4, r12
- lsls r0, r4, 1
- add r0, r12
- lsls r5, r0, 3
- adds r1, r5
- adds r4, r3, 0
- adds r4, 0x22
- adds r1, r4, r1
- ldrh r0, [r1]
- strh r0, [r2]
- ldrb r1, [r7]
- adds r2, r1, 0x1
- adds r0, r2, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r2, r0
- strb r0, [r7]
- ldrb r1, [r7]
- lsls r1, 1
- mov r2, r8
- ldrb r0, [r2]
- lsls r0, 6
- adds r1, r0
- adds r1, r6, r1
- ldrb r0, [r3, 0x18]
- adds r0, 0x1
- lsls r0, 1
- adds r0, r5
- adds r0, r4, r0
- ldrh r0, [r0]
- strh r0, [r1]
- mov r0, r12
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- cmp r0, 0x8
- bls _081247C0
- mov r4, r9
- ldr r1, [r4]
- ldrb r2, [r1, 0x1A]
- adds r3, r2, 0
- adds r3, 0x17
- adds r0, r3, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r3, r0
- mov r2, r10
- strb r0, [r2]
- adds r0, r1, 0
- adds r0, 0xFC
- ldrb r2, [r1, 0x19]
- mov r1, r10
- ldrb r3, [r1]
- movs r1, 0x2
- str r1, [sp]
- movs r1, 0x9
- str r1, [sp, 0x4]
- movs r1, 0
- bl sub_8124E7C
- ldr r1, [r4]
- ldrb r0, [r1, 0x18]
- cmp r0, 0xA
- bne _0812488C
- ldrb r2, [r1, 0x1A]
- adds r3, r2, 0x3
- adds r0, r3, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r3, r0
- strb r0, [r1, 0x1A]
- mov r2, r9
- ldr r1, [r2]
- movs r0, 0xFE
- strb r0, [r1, 0x18]
- bl sub_812446C
-_0812488C:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0812489C: .4byte gUnknown_02039274
-_081248A0: .4byte gUnknown_0203927D
-_081248A4: .4byte gUnknown_0203927C
-_081248A8: .4byte gUnknown_0203927B
- thumb_func_end sub_812476C
-
- thumb_func_start sub_81248AC
-sub_81248AC: @ 81248AC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _081248BA
- cmp r0, 0x1
- beq _081248E4
-_081248BA:
- ldr r1, _081248E0 @ =gUnknown_02039274
- ldr r2, [r1]
- movs r3, 0
- movs r0, 0x2
- strb r0, [r2, 0x1B]
- ldr r0, [r1]
- strb r3, [r0, 0x19]
- ldr r2, [r1]
- movs r0, 0x14
- strb r0, [r2, 0x1A]
- ldr r1, [r1]
- movs r0, 0xC
- strb r0, [r1, 0x18]
- bl sub_812446C
- bl sub_81245F4
- b _08124906
- .align 2, 0
-_081248E0: .4byte gUnknown_02039274
-_081248E4:
- ldr r1, _08124914 @ =gUnknown_02039274
- ldr r2, [r1]
- movs r0, 0x2
- strb r0, [r2, 0x1B]
- ldr r2, [r1]
- movs r0, 0x1C
- strb r0, [r2, 0x19]
- ldr r2, [r1]
- movs r0, 0x14
- strb r0, [r2, 0x1A]
- ldr r1, [r1]
- movs r0, 0x4
- strb r0, [r1, 0x18]
- bl sub_812446C
- bl sub_812476C
-_08124906:
- ldr r0, _08124914 @ =gUnknown_02039274
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0x1C]
- pop {r0}
- bx r0
- .align 2, 0
-_08124914: .4byte gUnknown_02039274
- thumb_func_end sub_81248AC
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/cable_car_util.s b/asm/cable_car_util.s
deleted file mode 100644
index 50ef19dec..000000000
--- a/asm/cable_car_util.s
+++ /dev/null
@@ -1,162 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8124E7C
-sub_8124E7C: @ 8124E7C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r10, r0
- ldr r0, [sp, 0x24]
- ldr r4, [sp, 0x28]
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp]
- lsls r3, 24
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r4, 24
- lsrs r4, 24
- mov r8, r4
- movs r0, 0
- lsrs r4, r3, 24
- cmp r0, r8
- bcs _08124EF6
-_08124EAE:
- ldr r2, [sp]
- movs r3, 0
- adds r6, r4, 0x1
- adds r0, 0x1
- mov r12, r0
- cmp r3, r7
- bcs _08124EE0
- lsls r5, r4, 6
-_08124EBE:
- lsls r0, r2, 1
- adds r0, r5
- add r0, r10
- mov r1, r9
- strh r1, [r0]
- adds r1, r2, 0x1
- adds r0, r1, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r1, r0
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, r7
- bcc _08124EBE
-_08124EE0:
- adds r0, r6, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r6, r0
- lsls r0, 24
- lsrs r4, r0, 24
- mov r1, r12
- lsls r0, r1, 24
- lsrs r0, 24
- cmp r0, r8
- bcc _08124EAE
-_08124EF6:
- 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_8124E7C
-
- thumb_func_start sub_8124F08
-sub_8124F08: @ 8124F08
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r10, r0
- ldr r0, [sp, 0x24]
- ldr r4, [sp, 0x28]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp]
- lsls r3, 24
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- lsls r4, 24
- lsrs r4, 24
- mov r9, r4
- movs r0, 0
- adds r5, r1, 0
- lsrs r4, r3, 24
- cmp r0, r9
- bcs _08124F82
-_08124F38:
- ldr r2, [sp]
- movs r3, 0
- adds r7, r4, 0x1
- adds r0, 0x1
- mov r8, r0
- cmp r3, r12
- bcs _08124F6C
- lsls r6, r4, 6
-_08124F48:
- lsls r0, r2, 1
- adds r0, r6
- add r0, r10
- ldrh r1, [r5]
- strh r1, [r0]
- adds r5, 0x2
- adds r1, r2, 0x1
- adds r0, r1, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r1, r0
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, r12
- bcc _08124F48
-_08124F6C:
- adds r0, r7, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r7, r0
- lsls r0, 24
- lsrs r4, r0, 24
- mov r1, r8
- lsls r0, r1, 24
- lsrs r0, 24
- cmp r0, r9
- bcc _08124F38
-_08124F82:
- 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_8124F08
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/contest_link_80C2020.s b/asm/contest_link_80C2020.s
index 26ed8e3fe..6bd98cc8a 100644
--- a/asm/contest_link_80C2020.s
+++ b/asm/contest_link_80C2020.s
@@ -2947,6 +2947,7 @@ _080C37DC: .4byte REG_WININ
_080C37E0: .4byte 0x00003f3f
thumb_func_end sub_80C3764
+.ifdef ENGLISH
thumb_func_start sub_80C37E4
sub_80C37E4: @ 80C37E4
push {r4-r6,lr}
@@ -3156,6 +3157,276 @@ _080C3984: .4byte 0x0600e000
_080C3988: .4byte gUnknown_08E964B8
_080C398C: .4byte 0x00000fff
thumb_func_end sub_80C37E4
+.else
+ thumb_func_start de_sub_80C39A8
+de_sub_80C39A8: @ 80C39A8
+ push {r4,lr}
+ sub sp, 0x10
+ adds r1, r0, 0
+ ldr r0, _de_080C39DC @ =gIsLinkContest
+ ldrb r0, [r0]
+ movs r4, 0x1
+ ands r4, r0
+ cmp r4, 0
+ beq _de_080C39E8
+ ldr r0, _de_080C39E0 @ =0x0600e000
+ lsls r1, 16
+ lsrs r1, 16
+ ldr r3, _de_080C39E4 @ =gUnknown_08E964B8
+ movs r2, 0xB
+ str r2, [sp]
+ movs r4, 0x3
+ str r4, [sp, 0x4]
+ movs r2, 0x8
+ str r2, [sp, 0x8]
+ str r4, [sp, 0xC]
+ movs r2, 0
+ bl sub_809D104
+ movs r0, 0x8
+ b _de_080C3A74
+ .align 2, 0
+_de_080C39DC: .4byte gIsLinkContest
+_de_080C39E0: .4byte 0x0600e000
+_de_080C39E4: .4byte gUnknown_08E964B8
+_de_080C39E8:
+ ldr r0, _de_080C3A08 @ =gSpecialVar_ContestRank
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _de_080C3A14
+ ldr r0, _de_080C3A0C @ =0x0600e000
+ lsls r1, 16
+ lsrs r1, 16
+ ldr r3, _de_080C3A10 @ =gUnknown_08E964B8
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ movs r2, 0xB
+ str r2, [sp, 0x8]
+ movs r2, 0x3
+ str r2, [sp, 0xC]
+ b _de_080C3A6C
+ .align 2, 0
+_de_080C3A08: .4byte gSpecialVar_ContestRank
+_de_080C3A0C: .4byte 0x0600e000
+_de_080C3A10: .4byte gUnknown_08E964B8
+_de_080C3A14:
+ cmp r0, 0x1
+ bne _de_080C3A2C
+ ldr r0, _de_080C3A24 @ =0x0600e000
+ lsls r1, 16
+ lsrs r1, 16
+ ldr r3, _de_080C3A28 @ =gUnknown_08E964B8
+ movs r2, 0xB
+ b _de_080C3A3A
+ .align 2, 0
+_de_080C3A24: .4byte 0x0600e000
+_de_080C3A28: .4byte gUnknown_08E964B8
+_de_080C3A2C:
+ cmp r0, 0x2
+ bne _de_080C3A58
+ ldr r0, _de_080C3A50 @ =0x0600e000
+ lsls r1, 16
+ lsrs r1, 16
+ ldr r3, _de_080C3A54 @ =gUnknown_08E964B8
+ movs r2, 0x15
+_de_080C3A3A:
+ str r2, [sp]
+ str r4, [sp, 0x4]
+ movs r2, 0xA
+ str r2, [sp, 0x8]
+ movs r2, 0x3
+ str r2, [sp, 0xC]
+ movs r2, 0
+ bl sub_809D104
+ movs r0, 0xA
+ b _de_080C3A74
+ .align 2, 0
+_de_080C3A50: .4byte 0x0600e000
+_de_080C3A54: .4byte gUnknown_08E964B8
+_de_080C3A58:
+ ldr r0, _de_080C3A7C @ =0x0600e000
+ lsls r1, 16
+ lsrs r1, 16
+ ldr r3, _de_080C3A80 @ =gUnknown_08E964B8
+ str r4, [sp]
+ movs r4, 0x3
+ str r4, [sp, 0x4]
+ movs r2, 0xB
+ str r2, [sp, 0x8]
+ str r4, [sp, 0xC]
+_de_080C3A6C:
+ movs r2, 0
+ bl sub_809D104
+ movs r0, 0xB
+_de_080C3A74:
+ add sp, 0x10
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_de_080C3A7C: .4byte 0x0600e000
+_de_080C3A80: .4byte gUnknown_08E964B8
+ thumb_func_end de_sub_80C39A8
+
+ thumb_func_start de_sub_80C3A84
+de_sub_80C3A84: @ 80C3A84
+ push {r4,lr}
+ sub sp, 0x10
+ adds r2, r0, 0
+ ldr r0, _de_080C3AAC @ =gSpecialVar_ContestCategory
+ ldrh r4, [r0]
+ cmp r4, 0
+ bne _de_080C3AB8
+ str r4, [r1]
+ ldr r0, _de_080C3AB0 @ =0x0600e000
+ lsls r1, r2, 16
+ lsrs r1, 16
+ ldr r3, _de_080C3AB4 @ =gUnknown_08E964B8
+ movs r2, 0x13
+ str r2, [sp]
+ movs r4, 0x3
+ str r4, [sp, 0x4]
+ movs r2, 0x7
+ str r2, [sp, 0x8]
+ str r4, [sp, 0xC]
+ b _de_080C3AD6
+ .align 2, 0
+_de_080C3AAC: .4byte gSpecialVar_ContestCategory
+_de_080C3AB0: .4byte 0x0600e000
+_de_080C3AB4: .4byte gUnknown_08E964B8
+_de_080C3AB8:
+ cmp r4, 0x1
+ bne _de_080C3AE8
+ str r4, [r1]
+ ldr r0, _de_080C3AE0 @ =0x0600e000
+ lsls r1, r2, 16
+ lsrs r1, 16
+ ldr r3, _de_080C3AE4 @ =gUnknown_08E964B8
+ movs r2, 0
+ str r2, [sp]
+ movs r2, 0x6
+ str r2, [sp, 0x4]
+ movs r2, 0x7
+ str r2, [sp, 0x8]
+ movs r2, 0x3
+ str r2, [sp, 0xC]
+_de_080C3AD6:
+ movs r2, 0
+ bl sub_809D104
+ movs r0, 0x7
+ b _de_080C3B68
+ .align 2, 0
+_de_080C3AE0: .4byte 0x0600e000
+_de_080C3AE4: .4byte gUnknown_08E964B8
+_de_080C3AE8:
+ cmp r4, 0x2
+ bne _de_080C3B18
+ str r4, [r1]
+ ldr r0, _de_080C3B10 @ =0x0600e000
+ lsls r1, r2, 16
+ lsrs r1, 16
+ ldr r3, _de_080C3B14 @ =gUnknown_08E964B8
+ movs r2, 0x7
+ str r2, [sp]
+ movs r2, 0x6
+ str r2, [sp, 0x4]
+ movs r2, 0x4
+ str r2, [sp, 0x8]
+ movs r2, 0x3
+ str r2, [sp, 0xC]
+ movs r2, 0
+ bl sub_809D104
+ movs r0, 0x4
+ b _de_080C3B68
+ .align 2, 0
+_de_080C3B10: .4byte 0x0600e000
+_de_080C3B14: .4byte gUnknown_08E964B8
+_de_080C3B18:
+ cmp r4, 0x3
+ bne _de_080C3B44
+ str r4, [r1]
+ ldr r0, _de_080C3B3C @ =0x0600e000
+ lsls r1, r2, 16
+ lsrs r1, 16
+ ldr r3, _de_080C3B40 @ =gUnknown_08E964B8
+ movs r2, 0xB
+ str r2, [sp]
+ movs r2, 0x6
+ str r2, [sp, 0x4]
+ str r2, [sp, 0x8]
+ str r4, [sp, 0xC]
+ movs r2, 0
+ bl sub_809D104
+ movs r0, 0x6
+ b _de_080C3B68
+ .align 2, 0
+_de_080C3B3C: .4byte 0x0600e000
+_de_080C3B40: .4byte gUnknown_08E964B8
+_de_080C3B44:
+ movs r0, 0x4
+ str r0, [r1]
+ ldr r0, _de_080C3B70 @ =0x0600e000
+ lsls r1, r2, 16
+ lsrs r1, 16
+ ldr r3, _de_080C3B74 @ =gUnknown_08E964B8
+ movs r2, 0x11
+ str r2, [sp]
+ movs r2, 0x6
+ str r2, [sp, 0x4]
+ movs r2, 0x5
+ str r2, [sp, 0x8]
+ movs r2, 0x3
+ str r2, [sp, 0xC]
+ movs r2, 0
+ bl sub_809D104
+ movs r0, 0x5
+_de_080C3B68:
+ add sp, 0x10
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_de_080C3B70: .4byte 0x0600e000
+_de_080C3B74: .4byte gUnknown_08E964B8
+ thumb_func_end de_sub_80C3A84
+
+ thumb_func_start sub_80C37E4
+sub_80C37E4: @ 80C37E4
+ push {r4,r5,lr}
+ sub sp, 0x4
+ movs r0, 0x6
+ bl de_sub_80C39A8
+ lsls r0, 16
+ asrs r0, 16
+ adds r0, 0x6
+ mov r1, sp
+ bl de_sub_80C3A84
+ ldr r5, _080C3824 @ =0x00000fff
+ ldr r0, [sp]
+ lsls r4, r0, 12
+ ldr r2, _080C3828 @ =0x0600e000
+ movs r3, 0x7F
+_080C3804:
+ ldrh r1, [r2]
+ adds r0, r5, 0
+ ands r0, r1
+ strh r0, [r2]
+ ldrh r1, [r2]
+ adds r0, r4, 0
+ orrs r0, r1
+ strh r0, [r2]
+ adds r2, 0x2
+ subs r3, 0x1
+ cmp r3, 0
+ bge _080C3804
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080C3824: .4byte 0x00000fff
+_080C3828: .4byte 0x0600e000
+ thumb_func_end sub_80C37E4
+.endif
thumb_func_start sub_80C3990
sub_80C3990: @ 80C3990
diff --git a/asm/contest_link_80C857C.s b/asm/contest_link_80C857C.s
index 0ff6823b5..13d01d5a9 100644
--- a/asm/contest_link_80C857C.s
+++ b/asm/contest_link_80C857C.s
@@ -82,6 +82,7 @@ _080C85FE:
bx r1
thumb_func_end sub_80C85D8
+.ifdef ENGLISH
thumb_func_start sub_80C8604
sub_80C8604: @ 80C8604
push {r4-r6,lr}
@@ -116,6 +117,26 @@ _080C8638: .4byte gTasks
_080C863C: .4byte sub_80C8644
_080C8640: .4byte gBlockRecvBuffer
thumb_func_end sub_80C8604
+.else
+ thumb_func_start sub_80C8604
+sub_80C8604: @ 80C8604
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080C861C @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ movs r0, 0
+ strh r0, [r1, 0x8]
+ ldr r0, _080C8620 @ =sub_80C8644
+ str r0, [r1]
+ bx lr
+ .align 2, 0
+_080C861C: .4byte gTasks
+_080C8620: .4byte sub_80C8644
+ thumb_func_end sub_80C8604
+.endif
thumb_func_start sub_80C8644
sub_80C8644: @ 80C8644
@@ -170,14 +191,22 @@ _080C869C: .4byte gIsLinkContest
sub_80C86A0: @ 80C86A0
push {r4,r5,lr}
adds r4, r0, 0
+.ifdef ENGLISH
movs r5, 0x2
+.else
+ movs r5, 0x5
+.endif
ldrb r0, [r4]
cmp r0, 0xFC
bne _080C86B6
ldrb r0, [r4, 0x1]
cmp r0, 0x15
bne _080C86B6
+.ifdef ENGLISH
movs r0, 0x2
+.else
+ movs r0, 0x5
+.endif
b _080C872C
_080C86B6:
adds r0, r4, 0
@@ -248,6 +277,7 @@ _080C872C:
bx r1
thumb_func_end sub_80C86A0
+.ifdef ENGLISH
thumb_func_start sub_80C8734
sub_80C8734: @ 80C8734
push {r4-r7,lr}
@@ -429,6 +459,232 @@ _080C8896:
.align 2, 0
_080C88A8: .4byte gTasks
thumb_func_end sub_80C8734
+.else
+ thumb_func_start sub_80C8734
+sub_80C8734: @ 80C8734
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r1, _080C8760 @ =gTasks
+ lsls r4, r5, 2
+ adds r0, r4, r5
+ lsls r0, 3
+ adds r2, r0, r1
+ movs r3, 0x8
+ ldrsh r0, [r2, r3]
+ cmp r0, 0x1
+ beq _080C8800
+ cmp r0, 0x1
+ bgt _080C8764
+ cmp r0, 0
+ beq _080C8770
+ b _080C88E0
+ .align 2, 0
+_080C8760: .4byte gTasks
+_080C8764:
+ cmp r0, 0x2
+ bne _080C876A
+ b _080C88D4_B
+_080C876A:
+ cmp r0, 0x8
+ beq _080C8770
+ b _080C88E0
+_080C8770:
+ bl GetMultiplayerId
+ lsls r0, 24
+ cmp r0, 0
+ bne _080C87D4
+ bl sub_8007ECC
+ lsls r0, 24
+ cmp r0, 0
+ bne _080C8786
+ b _080C88EE
+_080C8786:
+ ldr r0, _080C87A0 @ =gTasks
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r1, 3
+ adds r4, r1, r0
+ movs r1, 0x8
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _080C87A4
+ movs r0, 0x3
+ strh r0, [r4, 0x8]
+ b _080C88EE
+ .align 2, 0
+_080C87A0: .4byte gTasks
+_080C87A4:
+ ldr r0, _080C87C8 @ =gBlockSendBuffer
+ ldr r1, _080C87CC @ =gContestPlayerMonIndex
+ ldrb r1, [r1]
+ lsls r1, 6
+ ldr r2, _080C87D0 @ =gContestMons
+ adds r1, r2
+ movs r2, 0x40
+ bl memcpy
+ movs r0, 0
+ bl de_sub_80C9274
+ movs r0, 0x2
+ bl sub_8007E9C
+ movs r0, 0x1
+ strh r0, [r4, 0x8]
+ b _080C88EE
+ .align 2, 0
+_080C87C8: .4byte gBlockSendBuffer
+_080C87CC: .4byte gContestPlayerMonIndex
+_080C87D0: .4byte gContestMons
+_080C87D4:
+ ldr r0, _080C87F0 @ =gBlockSendBuffer
+ ldr r1, _080C87F4 @ =gContestPlayerMonIndex
+ ldrb r1, [r1]
+ lsls r1, 6
+ ldr r2, _080C87F8 @ =gContestMons
+ adds r1, r2
+ movs r2, 0x40
+ bl memcpy
+ movs r0, 0
+ bl de_sub_80C9294
+ ldr r1, _080C87FC @ =gTasks
+ b _080C88E0
+ .align 2, 0
+_080C87F0: .4byte gBlockSendBuffer
+_080C87F4: .4byte gContestPlayerMonIndex
+_080C87F8: .4byte gContestMons
+_080C87FC: .4byte gTasks
+_080C8800:
+ bl sub_80C85D8
+ lsls r0, 24
+ cmp r0, 0
+ beq _080C88EE
+ movs r2, 0
+ mov r8, r2
+ str r4, [sp]
+ ldr r0, _080C884C @ =gContestMons
+ ldr r7, _080C8850 @ =gLinkPlayers
+ movs r6, 0
+ mov r10, r0
+ movs r3, 0xFF
+ mov r9, r3
+_080C881C:
+ mov r0, r8
+ lsls r1, r0, 8
+ ldr r0, _080C8854 @ =gBlockRecvBuffer
+ adds r1, r0
+ mov r0, r10
+ movs r2, 0x40
+ bl memcpy
+ ldr r1, _080C8858 @ =gContestMons + 0x2
+ adds r4, r6, r1
+ ldrh r0, [r7, 0x1A]
+ cmp r0, 0x1
+ bne _080C885C
+ adds r0, r4, 0
+ bl sub_80C86A0
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r4, 0
+ bl ConvertInternationalString
+ b _080C8872
+ .align 2, 0
+_080C884C: .4byte gContestMons
+_080C8850: .4byte gLinkPlayers
+_080C8854: .4byte gBlockRecvBuffer
+_080C8858: .4byte gContestMons + 0x2
+_080C885C:
+ ldrb r0, [r4, 0xA]
+ cmp r0, 0xFC
+ bne _080C886C
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl ConvertInternationalString
+ b _080C8872
+_080C886C:
+ strb r0, [r4, 0x5]
+ mov r2, r9
+ strb r2, [r4, 0xA]
+_080C8872:
+ ldr r0, _080C88A0 @ =gUnknown_0203857D
+ adds r4, r6, r0
+ ldrh r0, [r7, 0x1A]
+ cmp r0, 0x1
+ bne _080C88A4
+ mov r3, r9
+ strb r3, [r4, 0x7]
+ ldrb r0, [r4, 0x4]
+ strb r0, [r4, 0x6]
+ ldrb r0, [r4, 0x3]
+ strb r0, [r4, 0x5]
+ ldrb r0, [r4, 0x2]
+ strb r0, [r4, 0x4]
+ ldrb r0, [r4, 0x1]
+ strb r0, [r4, 0x3]
+ ldrb r0, [r4]
+ strb r0, [r4, 0x2]
+ movs r0, 0x15
+ strb r0, [r4, 0x1]
+ movs r0, 0xFC
+ strb r0, [r4]
+ b _080C88AC
+ .align 2, 0
+_080C88A0: .4byte gUnknown_0203857D
+_080C88A4:
+ ldrb r0, [r4, 0x7]
+ strb r0, [r4, 0x5]
+ mov r0, r9
+ strb r0, [r4, 0x7]
+_080C88AC:
+ adds r7, 0x1C
+ adds r6, 0x40
+ movs r1, 0x40
+ add r10, r1
+ movs r2, 0x1
+ add r8, r2
+ mov r3, r8
+ cmp r3, 0x3
+ ble _080C881C
+ ldr r0, _080C88D0 @ =gTasks
+ ldr r2, [sp]
+ adds r1, r2, r5
+ lsls r1, 3
+ adds r1, r0
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ b _080C88EE
+ .align 2, 0
+_080C88D0: .4byte gTasks
+_080C88D4_B:
+ movs r0, 0
+ strh r0, [r2, 0x8]
+ adds r0, r5, 0
+ bl SwitchTaskToFollowupFunc
+ b _080C88EE
+_080C88E0:
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ ldrh r1, [r0, 0x8]
+ adds r1, 0x1
+ strh r1, [r0, 0x8]
+_080C88EE:
+ 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_80C8734
+.endif
thumb_func_start sub_80C88AC
sub_80C88AC: @ 80C88AC
@@ -497,6 +753,7 @@ _080C8930: .4byte gBlockRecvBuffer
_080C8934: .4byte gUnknown_03005D28
thumb_func_end sub_80C88AC
+.ifdef ENGLISH
thumb_func_start sub_80C8938
sub_80C8938: @ 80C8938
push {r4-r7,lr}
@@ -582,6 +839,129 @@ _080C89CE:
.align 2, 0
_080C89D8: .4byte gBlockRecvBuffer
thumb_func_end sub_80C8938
+.else
+ thumb_func_start sub_80C8938
+sub_80C8938: @ 80C8938
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r1, _080C8960 @ =gTasks
+ lsls r5, r4, 2
+ adds r0, r5, r4
+ lsls r6, r0, 3
+ adds r2, r6, r1
+ movs r3, 0x8
+ ldrsh r0, [r2, r3]
+ mov r8, r1
+ cmp r0, 0x1
+ beq _080C89C4
+ cmp r0, 0x1
+ bgt _080C8964
+ cmp r0, 0
+ beq _080C896C
+ b _080C8A0C
+ .align 2, 0
+_080C8960: .4byte gTasks
+_080C8964:
+ cmp r0, 0x2
+ beq _080C8A00
+ cmp r0, 0x8
+ bne _080C8A0C
+_080C896C:
+ ldr r1, _080C89A0 @ =gBlockSendBuffer
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ mov r2, r8
+ adds r4, r0, r2
+ ldrh r0, [r4, 0x1A]
+ strb r0, [r1]
+ bl GetMultiplayerId
+ lsls r0, 24
+ cmp r0, 0
+ bne _080C89B6
+ bl sub_8007ECC
+ lsls r0, 24
+ cmp r0, 0
+ beq _080C8A1A
+ movs r3, 0x8
+ ldrsh r0, [r4, r3]
+ cmp r0, 0
+ bne _080C89A4
+ movs r0, 0x3
+ strh r0, [r4, 0x8]
+ b _080C8A1A
+ .align 2, 0
+_080C89A0: .4byte gBlockSendBuffer
+_080C89A4:
+ movs r0, 0x1
+ bl de_sub_80C9274
+ movs r0, 0x2
+ bl sub_8007E9C
+ movs r0, 0x1
+ strh r0, [r4, 0x8]
+ b _080C8A1A
+_080C89B6:
+ movs r0, 0x1
+ bl de_sub_80C9294
+ ldrh r0, [r4, 0x8]
+ adds r0, 0x1
+ strh r0, [r4, 0x8]
+ b _080C8A1A
+_080C89C4:
+ bl sub_80C85D8
+ lsls r0, 24
+ cmp r0, 0
+ beq _080C8A1A
+ movs r3, 0
+ adds r7, r5, 0
+ ldr r1, _080C89FC @ =gBlockRecvBuffer
+ mov r0, r8
+ adds r0, 0xA
+ adds r2, r6, r0
+ movs r5, 0x80
+ lsls r5, 1
+_080C89DE:
+ ldrh r0, [r1]
+ strh r0, [r2]
+ adds r1, r5
+ adds r2, 0x2
+ adds r3, 0x1
+ cmp r3, 0x3
+ ble _080C89DE
+ adds r1, r7, r4
+ lsls r1, 3
+ add r1, r8
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ b _080C8A1A
+ .align 2, 0
+_080C89FC: .4byte gBlockRecvBuffer
+_080C8A00:
+ movs r0, 0
+ strh r0, [r2, 0x8]
+ adds r0, r4, 0
+ bl SwitchTaskToFollowupFunc
+ b _080C8A1A
+_080C8A0C:
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ add r0, r8
+ ldrh r1, [r0, 0x8]
+ adds r1, 0x1
+ strh r1, [r0, 0x8]
+_080C8A1A:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80C8938
+.endif
thumb_func_start sub_80C89DC
sub_80C89DC: @ 80C89DC
@@ -1096,6 +1476,7 @@ _080C8E16:
bx r0
thumb_func_end sub_80C8C80
+.ifdef ENGLISH
thumb_func_start sub_80C8E1C
sub_80C8E1C: @ 80C8E1C
push {r4-r7,lr}
@@ -1179,6 +1560,131 @@ _080C8EAE:
.align 2, 0
_080C8EB8: .4byte gBlockRecvBuffer
thumb_func_end sub_80C8E1C
+.else
+ thumb_func_start sub_80C8E1C
+sub_80C8E1C: @ 80C8E1C
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r1, _080C8E40 @ =gTasks
+ lsls r4, r5, 2
+ adds r0, r4, r5
+ lsls r6, r0, 3
+ adds r2, r6, r1
+ movs r3, 0x8
+ ldrsh r0, [r2, r3]
+ adds r7, r1, 0
+ cmp r0, 0x1
+ beq _080C8EB0
+ cmp r0, 0x1
+ bgt _080C8E44
+ cmp r0, 0
+ beq _080C8E4C
+ b _080C8EF8
+ .align 2, 0
+_080C8E40: .4byte gTasks
+_080C8E44:
+ cmp r0, 0x2
+ beq _080C8EEC
+ cmp r0, 0x8
+ bne _080C8EF8
+_080C8E4C:
+ ldr r1, _080C8E80 @ =gBlockSendBuffer
+ movs r0, 0x64
+ strb r0, [r1]
+ bl GetMultiplayerId
+ lsls r0, 24
+ cmp r0, 0
+ bne _080C8E9A
+ bl sub_8007ECC
+ lsls r0, 24
+ cmp r0, 0
+ beq _080C8F06
+ ldr r0, _080C8E84 @ =gTasks
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r1, 3
+ adds r4, r1, r0
+ movs r1, 0x8
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _080C8E88
+ movs r0, 0x3
+ strh r0, [r4, 0x8]
+ b _080C8F06
+ .align 2, 0
+_080C8E80: .4byte gBlockSendBuffer
+_080C8E84: .4byte gTasks
+_080C8E88:
+ movs r0, 0
+ bl de_sub_80C9274
+ movs r0, 0x2
+ bl sub_8007E9C
+ movs r0, 0x1
+ strh r0, [r4, 0x8]
+ b _080C8F06
+_080C8E9A:
+ movs r0, 0
+ bl de_sub_80C9294
+ ldr r0, _080C8EAC @ =gTasks
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r1, 3
+ adds r1, r0
+ b _080C8EDE
+ .align 2, 0
+_080C8EAC: .4byte gTasks
+_080C8EB0:
+ bl sub_80C85D8
+ lsls r0, 24
+ cmp r0, 0
+ beq _080C8F06
+ adds r1, r4, 0
+ ldr r4, _080C8EE8 @ =gBlockRecvBuffer
+ adds r0, r7, 0
+ adds r0, 0x12
+ adds r2, r6, r0
+ movs r6, 0x80
+ lsls r6, 1
+ movs r3, 0x3
+_080C8ECA:
+ ldrh r0, [r4]
+ strh r0, [r2]
+ adds r4, r6
+ adds r2, 0x2
+ subs r3, 0x1
+ cmp r3, 0
+ bge _080C8ECA
+ adds r1, r5
+ lsls r1, 3
+ adds r1, r7
+_080C8EDE:
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ b _080C8F06
+ .align 2, 0
+_080C8EE8: .4byte gBlockRecvBuffer
+_080C8EEC:
+ movs r0, 0
+ strh r0, [r2, 0x8]
+ adds r0, r5, 0
+ bl SwitchTaskToFollowupFunc
+ b _080C8F06
+_080C8EF8:
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r7
+ ldrh r1, [r0, 0x8]
+ adds r1, 0x1
+ strh r1, [r0, 0x8]
+_080C8F06:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80C8E1C
+.endif
thumb_func_start sub_80C8EBC
sub_80C8EBC: @ 80C8EBC
@@ -1193,7 +1699,7 @@ sub_80C8EBC: @ 80C8EBC
movs r1, 0x8
ldrsh r0, [r4, r1]
cmp r0, 0
- beq _080C8EE8
+ beq _080C8EE8_B
cmp r0, 0x1
beq _080C8F00
movs r0, 0
@@ -1203,7 +1709,7 @@ sub_80C8EBC: @ 80C8EBC
b _080C8F22
.align 2, 0
_080C8EE4: .4byte gTasks
-_080C8EE8:
+_080C8EE8_B:
bl sub_8007ECC
lsls r0, 24
cmp r0, 0
diff --git a/asm/easy_chat.s b/asm/easy_chat.s
deleted file mode 100644
index e08d71083..000000000
--- a/asm/easy_chat.s
+++ /dev/null
@@ -1,10732 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80E60D8
-sub_80E60D8: @ 80E60D8
- push {r4-r7,lr}
- movs r4, 0x3
- ldr r0, _080E60F4 @ =gSpecialVar_0x8004
- ldrh r1, [r0]
- adds r7, r0, 0
- cmp r1, 0xD
- bls _080E60E8
- b _080E6284
-_080E60E8:
- lsls r0, r1, 2
- ldr r1, _080E60F8 @ =_080E60FC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E60F4: .4byte gSpecialVar_0x8004
-_080E60F8: .4byte _080E60FC
- .align 2, 0
-_080E60FC:
- .4byte _080E6134
- .4byte _080E613C
- .4byte _080E6144
- .4byte _080E614C
- .4byte _080E6154
- .4byte _080E619C
- .4byte _080E616C
- .4byte _080E61BC
- .4byte _080E61E0
- .4byte _080E61FC
- .4byte _080E6200
- .4byte _080E6214
- .4byte _080E623C
- .4byte _080E6260
-_080E6134:
- ldr r1, _080E6138 @ =gSaveBlock1 + 0x2B1C
- b _080E624C
- .align 2, 0
-_080E6138: .4byte gSaveBlock1 + 0x2B1C
-_080E613C:
- ldr r1, _080E6140 @ =gSaveBlock1 + 0x2B28
- b _080E6276
- .align 2, 0
-_080E6140: .4byte gSaveBlock1 + 0x2B28
-_080E6144:
- ldr r1, _080E6148 @ =gSaveBlock1 + 0x2B34
- b _080E624C
- .align 2, 0
-_080E6148: .4byte gSaveBlock1 + 0x2B34
-_080E614C:
- ldr r1, _080E6150 @ =gSaveBlock1 + 0x2B40
- b _080E6276
- .align 2, 0
-_080E6150: .4byte gSaveBlock1 + 0x2B40
-_080E6154:
- ldr r0, _080E6164 @ =gSpecialVar_0x8005
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E6168 @ =gSaveBlock1 + 0x2B4C
- adds r1, r0, r1
- b _080E624C
- .align 2, 0
-_080E6164: .4byte gSpecialVar_0x8005
-_080E6168: .4byte gSaveBlock1 + 0x2B4C
-_080E616C:
- ldr r0, _080E6194 @ =gSaveBlock1 + 0x2D94
- movs r2, 0
- ldr r1, _080E6198 @ =sub_80546B8
- mov r12, r1
- adds r3, r0, 0
- adds r3, 0xE
- adds r5, r0, 0x2
- adds r6, r3, 0
-_080E617C:
- lsls r0, r2, 1
- adds r1, r3, r0
- adds r0, r5, r0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x5
- bls _080E617C
- adds r1, r6, 0
- b _080E627A
- .align 2, 0
-_080E6194: .4byte gSaveBlock1 + 0x2D94
-_080E6198: .4byte sub_80546B8
-_080E619C:
- ldr r0, _080E61B0 @ =gSpecialVar_0x8005
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E61B4 @ =gSaveBlock1 + 0x273C
- adds r1, r0, r1
- ldr r0, _080E61B8 @ =gSpecialVar_0x8006
- ldrb r4, [r0]
- b _080E6276
- .align 2, 0
-_080E61B0: .4byte gSpecialVar_0x8005
-_080E61B4: .4byte gSaveBlock1 + 0x273C
-_080E61B8: .4byte gSpecialVar_0x8006
-_080E61BC:
- ldr r0, _080E61D4 @ =gSpecialVar_0x8005
- ldrh r0, [r0]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _080E61D8 @ =gSaveBlock1 + 0x2754
- adds r1, r0
- ldr r0, _080E61DC @ =gSpecialVar_0x8006
- ldrh r0, [r0]
- lsls r0, 1
- adds r1, r0
- b _080E624A
- .align 2, 0
-_080E61D4: .4byte gSpecialVar_0x8005
-_080E61D8: .4byte gSaveBlock1 + 0x2754
-_080E61DC: .4byte gSpecialVar_0x8006
-_080E61E0:
- ldr r0, _080E61F4 @ =gSpecialVar_0x8005
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E61F8 @ =gSaveBlock1 + 0x273A
- adds r1, r0, r1
- movs r4, 0
- b _080E6276
- .align 2, 0
-_080E61F4: .4byte gSpecialVar_0x8005
-_080E61F8: .4byte gSaveBlock1 + 0x273A
-_080E61FC:
- movs r1, 0
- b _080E624C
-_080E6200:
- ldr r1, _080E620C @ =gSaveBlock1 + 0x2B16
- ldr r2, _080E6210 @ =0x0000ffff
- adds r0, r2, 0
- strh r0, [r1]
- b _080E624A
- .align 2, 0
-_080E620C: .4byte gSaveBlock1 + 0x2B16
-_080E6210: .4byte 0x0000ffff
-_080E6214:
- ldr r0, _080E6230 @ =gSpecialVar_0x8005
- ldrh r0, [r0]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _080E6234 @ =gSaveBlock1 + 0x273C
- adds r1, r0
- ldr r0, _080E6238 @ =gSpecialVar_0x8006
- ldrh r0, [r0]
- lsls r0, 1
- adds r1, r0
- movs r4, 0
- b _080E6276
- .align 2, 0
-_080E6230: .4byte gSpecialVar_0x8005
-_080E6234: .4byte gSaveBlock1 + 0x273C
-_080E6238: .4byte gSpecialVar_0x8006
-_080E623C:
- ldr r0, _080E6254 @ =gSpecialVar_0x8005
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E6258 @ =gSaveBlock1 + 0x2750
- adds r1, r0, r1
-_080E624A:
- movs r4, 0x1
-_080E624C:
- ldr r0, _080E625C @ =sub_80546B8
- mov r12, r0
- b _080E627A
- .align 2, 0
-_080E6254: .4byte gSpecialVar_0x8005
-_080E6258: .4byte gSaveBlock1 + 0x2750
-_080E625C: .4byte sub_80546B8
-_080E6260:
- ldr r1, _080E628C @ =gSharedMem + 0x1000
- ldr r0, _080E6290 @ =0x00009c7c
- adds r2, r1, r0
- ldr r0, _080E6294 @ =0x0000ffff
- strh r0, [r2]
- ldr r0, _080E6298 @ =0x00009c7e
- adds r1, r0
- movs r0, 0x1
- negs r0, r0
- strh r0, [r1]
- adds r1, r2, 0
-_080E6276:
- ldr r2, _080E629C @ =sub_80546B8
- mov r12, r2
-_080E627A:
- ldrb r0, [r7]
- mov r2, r12
- adds r3, r4, 0
- bl sub_80E62A0
-_080E6284:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E628C: .4byte gSharedMem + 0x1000
-_080E6290: .4byte 0x00009c7c
-_080E6294: .4byte 0x0000ffff
-_080E6298: .4byte 0x00009c7e
-_080E629C: .4byte sub_80546B8
- thumb_func_end sub_80E60D8
-
- thumb_func_start sub_80E62A0
-sub_80E62A0: @ 80E62A0
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _080E62DC @ =gSharedMem + 0x1000
- str r2, [r4]
- str r1, [r4, 0x4]
- strb r0, [r4, 0x8]
- strb r3, [r4, 0xB]
- cmp r0, 0x9
- bne _080E62D0
- ldr r0, _080E62E0 @ =0x00009c7c
- adds r2, r4, r0
- str r2, [r4, 0x4]
- ldr r0, _080E62E4 @ =gSaveBlock1
- ldr r3, _080E62E8 @ =0x00002dd8
- adds r1, r0, r3
- ldrh r1, [r1]
- strh r1, [r2]
- ldr r1, _080E62EC @ =0x00002dda
- adds r0, r1
- ldrh r1, [r0]
- ldr r2, _080E62F0 @ =0x00009c7e
- adds r0, r4, r2
- strh r1, [r0]
-_080E62D0:
- ldr r0, _080E62F4 @ =sub_80E62F8
- bl SetMainCallback2
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E62DC: .4byte gSharedMem + 0x1000
-_080E62E0: .4byte 0x00009c7c
-_080E62E4: .4byte gSaveBlock1
-_080E62E8: .4byte 0x00002dd8
-_080E62EC: .4byte 0x00002dda
-_080E62F0: .4byte 0x00009c7e
-_080E62F4: .4byte sub_80E62F8
- thumb_func_end sub_80E62A0
-
- thumb_func_start sub_80E62F8
-sub_80E62F8: @ 80E62F8
- push {lr}
- sub sp, 0x4
- ldr r0, _080E6314 @ =gMain
- ldr r1, _080E6318 @ =0x0000043c
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x8
- bhi _080E6344
- lsls r0, 2
- ldr r1, _080E631C @ =_080E6320
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E6314: .4byte gMain
-_080E6318: .4byte 0x0000043c
-_080E631C: .4byte _080E6320
- .align 2, 0
-_080E6320:
- .4byte _080E6344
- .4byte _080E6380
- .4byte _080E638C
- .4byte _080E63A8
- .4byte _080E63AE
- .4byte _080E63B4
- .4byte _080E63BE
- .4byte _080E63D8
- .4byte _080E63EA
-_080E6344:
- movs r1, 0x80
- lsls r1, 19
- movs r0, 0
- strh r0, [r1]
- movs r0, 0
- bl SetVBlankCallback
- bl ResetPaletteFade
- bl ResetSpriteData
- bl dp12_8087EA4
- bl remove_some_task
- bl sub_80EAD08
- ldr r2, _080E637C @ =gUnknown_083DB698
- ldr r0, [r2]
- ldr r1, [r2, 0x4]
- ldr r2, [r2, 0x8]
- bl sub_80895F8
- bl FreeSpriteTileRanges
- bl FreeAllSpritePalettes
- b _080E6402
- .align 2, 0
-_080E637C: .4byte gUnknown_083DB698
-_080E6380:
- ldr r0, _080E6388 @ =gWindowConfig_81E6DA8
- bl SetUpWindowConfig
- b _080E6402
- .align 2, 0
-_080E6388: .4byte gWindowConfig_81E6DA8
-_080E638C:
- ldr r0, _080E63A0 @ =gWindowConfig_81E6D54
- bl InitMenuWindow
- ldr r0, _080E63A4 @ =gWindowConfig_81E6DA8
- bl InitMenuWindow
- bl MenuZeroFillScreen
- b _080E6402
- .align 2, 0
-_080E63A0: .4byte gWindowConfig_81E6D54
-_080E63A4: .4byte gWindowConfig_81E6DA8
-_080E63A8:
- bl sub_80E6424
- b _080E6402
-_080E63AE:
- bl sub_80E8DD8
- b _080E6402
-_080E63B4:
- bl sub_80E8218
- bl sub_80E8CEC
- b _080E6402
-_080E63BE:
- bl sub_80E69F8
- ldr r0, _080E63D0 @ =sub_80E6AA8
- bl sub_80E682C
- ldr r0, _080E63D4 @ =sub_80E6A6C
- bl SetVBlankCallback
- b _080E6402
- .align 2, 0
-_080E63D0: .4byte sub_80E6AA8
-_080E63D4: .4byte sub_80E6A6C
-_080E63D8:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _080E6402
-_080E63EA:
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xFA
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _080E6414 @ =sub_80E6A88
- bl SetMainCallback2
- ldr r0, _080E6418 @ =0x00000805
- bl FlagSet
-_080E6402:
- ldr r1, _080E641C @ =gMain
- ldr r0, _080E6420 @ =0x0000043c
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080E6414: .4byte sub_80E6A88
-_080E6418: .4byte 0x00000805
-_080E641C: .4byte gMain
-_080E6420: .4byte 0x0000043c
- thumb_func_end sub_80E62F8
-
- thumb_func_start sub_80E6424
-sub_80E6424: @ 80E6424
- push {lr}
- ldr r2, _080E6444 @ =gSharedMem + 0x1000
- ldr r0, _080E6448 @ =gUnknown_083DB6A4
- ldrb r1, [r2, 0x8]
- adds r1, r0
- ldrb r0, [r1]
- strb r0, [r2, 0x9]
- ldrb r0, [r2, 0x9]
- adds r3, r2, 0
- cmp r0, 0x5
- bhi _080E6512
- lsls r0, 2
- ldr r1, _080E644C @ =_080E6450
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E6444: .4byte gSharedMem + 0x1000
-_080E6448: .4byte gUnknown_083DB6A4
-_080E644C: .4byte _080E6450
- .align 2, 0
-_080E6450:
- .4byte _080E64A0
- .4byte _080E64B8
- .4byte _080E64DA
- .4byte _080E64F6
- .4byte _080E6468
- .4byte _080E6480
-_080E6468:
- movs r2, 0x4
- strb r2, [r3, 0xA]
- adds r0, r3, 0
- adds r0, 0x83
- movs r1, 0x2
- strb r1, [r0]
- adds r0, 0x1
- strb r1, [r0]
- adds r1, r3, 0
- adds r1, 0x88
- movs r0, 0x5
- b _080E64D0
-_080E6480:
- movs r1, 0x4
- strb r1, [r3, 0xA]
- adds r2, r3, 0
- adds r2, 0x83
- movs r0, 0x1
- strb r0, [r2]
- adds r0, r3, 0
- adds r0, 0x84
- strb r1, [r0]
- adds r1, r3, 0
- adds r1, 0x88
- movs r0, 0x10
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x2
- b _080E6510
-_080E64A0:
- movs r0, 0x6
- strb r0, [r3, 0xA]
- adds r1, r3, 0
- adds r1, 0x83
- movs r0, 0x2
- strb r0, [r1]
- adds r0, r3, 0
- adds r0, 0x84
- movs r2, 0x3
- strb r2, [r0]
- adds r1, 0x5
- b _080E64CE
-_080E64B8:
- movs r2, 0
- movs r0, 0x9
- strb r0, [r3, 0xA]
- adds r1, r3, 0
- adds r1, 0x83
- movs r0, 0x2
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x5
- strb r0, [r1]
- adds r1, 0x4
-_080E64CE:
- movs r0, 0x4
-_080E64D0:
- strh r0, [r1]
- adds r0, r3, 0
- adds r0, 0x8A
- strh r2, [r0]
- b _080E6512
-_080E64DA:
- movs r1, 0x1
- strb r1, [r3, 0xA]
- adds r0, r3, 0
- adds r0, 0x83
- strb r1, [r0]
- adds r0, 0x1
- strb r1, [r0]
- adds r1, r3, 0
- adds r1, 0x88
- movs r0, 0x10
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x4
- b _080E6510
-_080E64F6:
- movs r0, 0x2
- strb r0, [r3, 0xA]
- adds r1, r3, 0
- adds r1, 0x83
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x1
- strb r0, [r1]
- adds r1, 0x4
- movs r0, 0x5
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x3
-_080E6510:
- strh r0, [r1]
-_080E6512:
- adds r1, r3, 0
- adds r1, 0x86
- movs r0, 0
- strb r0, [r1]
- subs r1, 0x1
- strb r0, [r1]
- adds r1, 0x2
- strb r0, [r1]
- subs r1, 0x61
- strb r0, [r1]
- movs r2, 0xDD
- lsls r2, 1
- adds r1, r3, r2
- strh r0, [r1]
- movs r0, 0xDF
- lsls r0, 1
- adds r1, r3, r0
- movs r0, 0x2
- strb r0, [r1]
- bl sub_80E6554
- bl sub_80EAECC
- bl sub_80EB040
- bl sub_80E7E50
- bl sub_80E6630
- bl sub_80E6690
- pop {r0}
- bx r0
- thumb_func_end sub_80E6424
-
- thumb_func_start sub_80E6554
-sub_80E6554: @ 80E6554
- push {r4-r7,lr}
- sub sp, 0x4
- movs r4, 0
- movs r7, 0
- ldr r0, _080E6564 @ =gSharedMem + 0x1000
- mov r12, r0
- b _080E656E
- .align 2, 0
-_080E6564: .4byte gSharedMem + 0x1000
-_080E6568:
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
-_080E656E:
- movs r5, 0
- lsls r3, r7, 1
- mov r6, r12
- adds r6, 0x2A
- adds r2, r3, r6
- adds r1, r4, 0
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- strb r1, [r2]
- cmp r4, 0x11
- beq _080E65A6
-_080E6586:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bhi _080E65A2
- adds r2, r5, r3
- adds r2, r6
- adds r1, r4, 0
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- strb r1, [r2]
- cmp r4, 0x11
- bne _080E6586
-_080E65A2:
- cmp r4, 0x11
- bne _080E6568
-_080E65A6:
- movs r0, 0x11
- mov r1, r12
- strh r0, [r1, 0x28]
- cmp r4, 0x15
- bhi _080E6612
- mov r6, r12
- adds r2, r6, 0
- adds r2, 0x78
-_080E65B6:
- lsls r0, r4, 24
- lsrs r0, 24
- str r2, [sp]
- bl sub_80EAD7C
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r2, [sp]
- cmp r1, 0
- beq _080E65FC
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _080E65DC
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- movs r5, 0
-_080E65DC:
- lsls r0, r7, 1
- adds r0, r5, r0
- adds r1, r6, 0
- adds r1, 0x2A
- adds r0, r1
- strb r4, [r0]
- adds r0, r4, 0
- subs r0, 0x11
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0]
- ldrh r0, [r6, 0x28]
- adds r0, 0x1
- strh r0, [r6, 0x28]
- mov r12, r6
- b _080E6608
-_080E65FC:
- adds r0, r4, 0
- subs r0, 0x11
- adds r0, r2
- strb r1, [r0]
- ldr r0, _080E662C @ =gSharedMem + 0x1000
- mov r12, r0
-_080E6608:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x15
- bls _080E65B6
-_080E6612:
- mov r1, r12
- ldrh r0, [r1, 0x28]
- adds r0, 0x1
- asrs r0, 1
- movs r1, 0xDB
- lsls r1, 1
- add r1, r12
- strb r0, [r1]
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E662C: .4byte gSharedMem + 0x1000
- thumb_func_end sub_80E6554
-
- thumb_func_start sub_80E6630
-sub_80E6630: @ 80E6630
- push {r4-r7,lr}
- movs r1, 0
- ldr r0, _080E6664 @ =gUnknown_083DB6B2
- mov r12, r0
-_080E6638:
- lsls r0, r1, 4
- mov r2, r12
- adds r5, r0, r2
- movs r3, 0
- ldrb r0, [r5]
- adds r7, r1, 0x1
- cmp r0, 0xFF
- beq _080E6680
- lsls r0, r1, 3
- subs r0, r1
- lsls r4, r0, 1
- ldr r6, _080E6668 @ =gSharedMem + 0x1040
-_080E6650:
- adds r0, r5, r3
- ldrb r1, [r0]
- adds r2, r1, 0
- cmp r2, 0
- beq _080E666C
- adds r0, r3, r4
- adds r0, r6
- adds r1, 0x46
- strb r1, [r0]
- b _080E6672
- .align 2, 0
-_080E6664: .4byte gUnknown_083DB6B2
-_080E6668: .4byte gSharedMem + 0x1040
-_080E666C:
- adds r0, r3, r4
- adds r0, r6
- strb r2, [r0]
-_080E6672:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r5, r3
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _080E6650
-_080E6680:
- lsls r0, r7, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _080E6638
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80E6630
-
- thumb_func_start sub_80E6690
-sub_80E6690: @ 80E6690
- push {r4-r6,lr}
- sub sp, 0x10
- mov r0, sp
- ldr r1, _080E66E0 @ =gUnknown_083DB7DC
- ldm r1!, {r2-r4}
- stm r0!, {r2-r4}
- ldr r1, [r1]
- str r1, [r0]
- movs r5, 0
- ldr r6, _080E66E4 @ =gUnknown_083DB7C0
-_080E66A4:
- ldr r0, _080E66E8 @ =gSharedMem + 0x1000
- ldrb r0, [r0, 0x8]
- lsls r0, 1
- adds r0, r5, r0
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E66EC @ =gUnknown_083DB6F4
- adds r4, r0, r1
- lsls r0, r5, 3
- add r0, sp
- ldr r0, [r0]
- ldr r1, [r4]
- bl StringCopy
- adds r3, r0, 0
- ldrb r0, [r4, 0x8]
- cmp r0, 0
- beq _080E66F0
- lsls r0, r5, 1
- adds r0, 0x1
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- ldr r1, [r4, 0x4]
- bl StringCopy
- b _080E670A
- .align 2, 0
-_080E66E0: .4byte gUnknown_083DB7DC
-_080E66E4: .4byte gUnknown_083DB7C0
-_080E66E8: .4byte gSharedMem + 0x1000
-_080E66EC: .4byte gUnknown_083DB6F4
-_080E66F0:
- strb r0, [r3]
- adds r3, 0x1
- ldr r1, [r4, 0x4]
- adds r0, r3, 0
- bl StringCopy
- lsls r0, r5, 1
- adds r0, 0x1
- lsls r0, 2
- add r0, sp
- ldr r1, [r0]
- movs r0, 0xFF
- strb r0, [r1]
-_080E670A:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _080E66A4
- movs r5, 0
- ldr r3, _080E6758 @ =gSharedMem + 0x1000
- ldr r0, _080E675C @ =0x00009da4
- adds r2, r3, r0
- movs r1, 0
-_080E671E:
- adds r0, r5, r2
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x23
- bls _080E671E
- ldr r1, _080E675C @ =0x00009da4
- adds r0, r3, r1
- adds r0, r5, r0
- movs r4, 0x1
- negs r4, r4
- adds r2, r4, 0
- movs r1, 0xFF
- strb r1, [r0]
- ldr r0, _080E6760 @ =0x00009f6e
- adds r3, r0
- movs r0, 0xFC
- strb r0, [r3]
- movs r0, 0x11
- strb r0, [r3, 0x1]
- movs r0, 0xE0
- strb r0, [r3, 0x2]
- strb r2, [r3, 0x3]
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E6758: .4byte gSharedMem + 0x1000
-_080E675C: .4byte 0x00009da4
-_080E6760: .4byte 0x00009f6e
- thumb_func_end sub_80E6690
-
- thumb_func_start InitEasyChatPhrases
-InitEasyChatPhrases: @ 80E6764
- push {r4-r6,lr}
- movs r3, 0
- ldr r4, _080E680C @ =gSaveBlock1 + 0x2B1C
- ldr r2, _080E6810 @ =gUnknown_083DB7EC
-_080E676C:
- lsls r0, r3, 1
- adds r1, r0, r4
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _080E676C
- movs r3, 0
- ldr r4, _080E6814 @ =gSaveBlock1 + 0x2B28
- ldr r2, _080E6818 @ =gUnknown_083DB7F4
-_080E6786:
- lsls r0, r3, 1
- adds r1, r0, r4
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x5
- bls _080E6786
- movs r3, 0
- ldr r5, _080E681C @ =gSaveBlock1 + 0x2B34
- ldr r0, _080E6820 @ =0x0000ffff
- adds r4, r0, 0
- adds r6, r5, 0
- adds r6, 0xC
-_080E67A6:
- lsls r1, r3, 1
- adds r2, r1, r5
- ldrh r0, [r2]
- orrs r0, r4
- strh r0, [r2]
- adds r1, r6
- ldrh r0, [r1]
- orrs r0, r4
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x5
- bls _080E67A6
- movs r3, 0
- ldr r6, _080E6824 @ =gSaveBlock1 + 0x2B4C
- ldr r0, _080E6820 @ =0x0000ffff
- adds r5, r0, 0
-_080E67CA:
- movs r2, 0
- lsls r0, r3, 3
- adds r0, r3
- lsls r4, r0, 2
-_080E67D2:
- lsls r0, r2, 1
- adds r0, r4
- adds r0, r6
- ldrh r1, [r0]
- orrs r1, r5
- strh r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x8
- bls _080E67D2
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0xF
- bls _080E67CA
- movs r3, 0
- ldr r2, _080E6828 @ =gSaveBlock1 + 0x2D8C
- movs r1, 0
-_080E67F8:
- adds r0, r3, r2
- strb r1, [r0]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3F
- bls _080E67F8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E680C: .4byte gSaveBlock1 + 0x2B1C
-_080E6810: .4byte gUnknown_083DB7EC
-_080E6814: .4byte gSaveBlock1 + 0x2B28
-_080E6818: .4byte gUnknown_083DB7F4
-_080E681C: .4byte gSaveBlock1 + 0x2B34
-_080E6820: .4byte 0x0000ffff
-_080E6824: .4byte gSaveBlock1 + 0x2B4C
-_080E6828: .4byte gSaveBlock1 + 0x2D8C
- thumb_func_end InitEasyChatPhrases
-
- thumb_func_start sub_80E682C
-sub_80E682C: @ 80E682C
- ldr r1, _080E6838 @ =gSharedMem + 0x1000
- str r0, [r1, 0x20]
- movs r0, 0
- strh r0, [r1, 0x24]
- bx lr
- .align 2, 0
-_080E6838: .4byte gSharedMem + 0x1000
- thumb_func_end sub_80E682C
-
- thumb_func_start sub_80E683C
-sub_80E683C: @ 80E683C
- push {r4,r5,lr}
- ldr r1, _080E6890 @ =gSharedMem + 0x1000
- adds r0, r1, 0
- adds r0, 0x26
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0
- bne _080E6898
- movs r1, 0
- movs r0, 0xDB
- lsls r0, 1
- adds r3, r2, r0
- movs r0, 0
- ldrsb r0, [r3, r0]
- cmp r1, r0
- bge _080E6876
- movs r0, 0xD5
- lsls r0, 1
- adds r5, r2, r0
- movs r4, 0x2
-_080E6864:
- adds r0, r1, r5
- strb r4, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0
- ldrsb r0, [r3, r0]
- cmp r1, r0
- blt _080E6864
-_080E6876:
- adds r0, r2, r1
- ldr r1, _080E6894 @ =0x000001a9
- adds r3, r0, r1
- ldrh r0, [r2, 0x28]
- movs r1, 0x1
- ands r0, r1
- strb r0, [r3]
- cmp r0, 0
- bne _080E68B8
- movs r0, 0x2
- strb r0, [r3]
- b _080E68B8
- .align 2, 0
-_080E6890: .4byte gSharedMem + 0x1000
-_080E6894: .4byte 0x000001a9
-_080E6898:
- movs r3, 0xD5
- lsls r3, 1
- adds r1, r2, r3
- movs r0, 0x7
- strb r0, [r1]
- ldr r1, _080E68E0 @ =0x000001ab
- adds r3, r2, r1
- movs r1, 0x6
- strb r1, [r3]
- movs r3, 0xD6
- lsls r3, 1
- adds r1, r2, r3
- strb r0, [r1]
- adds r3, 0x1
- adds r1, r2, r3
- strb r0, [r1]
-_080E68B8:
- movs r0, 0xD4
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0
- strb r0, [r1]
- ldr r3, _080E68E4 @ =0x000001a9
- adds r1, r2, r3
- strb r0, [r1]
- adds r3, 0xC
- adds r1, r2, r3
- strb r0, [r1]
- adds r3, 0x2
- adds r1, r2, r3
- strb r0, [r1]
- bl sub_80E9A4C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E68E0: .4byte 0x000001ab
-_080E68E4: .4byte 0x000001a9
- thumb_func_end sub_80E683C
-
- thumb_func_start sub_80E68E8
-sub_80E68E8: @ 80E68E8
- push {r4-r6,lr}
- bl sub_80EB0B0
- ldr r3, _080E694C @ =gSharedMem + 0x1000
- adds r0, r3, 0
- adds r0, 0x26
- ldrb r0, [r0]
- cmp r0, 0
- bne _080E695C
- movs r1, 0xDC
- lsls r1, 1
- adds r0, r3, r1
- ldrb r6, [r0]
- lsls r0, r6, 1
- ldr r2, _080E6950 @ =0x00004178
- adds r1, r3, r2
- adds r0, r1
- ldrh r0, [r0]
- adds r0, 0x1
- asrs r0, 1
- ldr r1, _080E6954 @ =0x00009a28
- adds r2, r3, r1
- strb r0, [r2]
- movs r1, 0
- movs r0, 0
- ldrsb r0, [r2, r0]
- adds r5, r3, 0
- cmp r1, r0
- bge _080E693A
- ldr r3, _080E6958 @ =0x000099a6
- adds r4, r5, r3
- movs r3, 0x2
-_080E6928:
- adds r0, r1, r4
- strb r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r1, r0
- blt _080E6928
-_080E693A:
- subs r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r2, _080E6958 @ =0x000099a6
- adds r0, r5, r2
- adds r2, r1, r0
- lsls r0, r6, 1
- ldr r3, _080E6950 @ =0x00004178
- b _080E69AC
- .align 2, 0
-_080E694C: .4byte gSharedMem + 0x1000
-_080E6950: .4byte 0x00004178
-_080E6954: .4byte 0x00009a28
-_080E6958: .4byte 0x000099a6
-_080E695C:
- movs r1, 0xDC
- lsls r1, 1
- adds r0, r3, r1
- ldrb r6, [r0]
- lsls r0, r6, 1
- ldr r2, _080E69E0 @ =0x00004142
- adds r1, r3, r2
- adds r0, r1
- ldrh r0, [r0]
- adds r0, 0x1
- asrs r0, 1
- ldr r1, _080E69E4 @ =0x00009a28
- adds r2, r3, r1
- strb r0, [r2]
- movs r1, 0
- movs r0, 0
- ldrsb r0, [r2, r0]
- adds r5, r3, 0
- cmp r1, r0
- bge _080E699C
- ldr r3, _080E69E8 @ =0x000099a6
- adds r4, r5, r3
- movs r3, 0x2
-_080E698A:
- adds r0, r1, r4
- strb r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r1, r0
- blt _080E698A
-_080E699C:
- subs r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r2, _080E69E8 @ =0x000099a6
- adds r0, r5, r2
- adds r2, r1, r0
- lsls r0, r6, 1
- ldr r3, _080E69E0 @ =0x00004142
-_080E69AC:
- adds r1, r5, r3
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x1
- ands r0, r1
- strb r0, [r2]
- cmp r0, 0
- bne _080E69C0
- movs r0, 0x2
- strb r0, [r2]
-_080E69C0:
- ldr r1, _080E69EC @ =0x000099a4
- adds r0, r5, r1
- movs r1, 0
- strb r1, [r0]
- ldr r2, _080E69F0 @ =0x000099a5
- adds r0, r5, r2
- strb r1, [r0]
- ldr r3, _080E69F4 @ =0x00009a29
- adds r0, r5, r3
- strb r1, [r0]
- bl sub_80E9A4C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E69E0: .4byte 0x00004142
-_080E69E4: .4byte 0x00009a28
-_080E69E8: .4byte 0x000099a6
-_080E69EC: .4byte 0x000099a4
-_080E69F0: .4byte 0x000099a5
-_080E69F4: .4byte 0x00009a29
- thumb_func_end sub_80E68E8
-
- thumb_func_start sub_80E69F8
-sub_80E69F8: @ 80E69F8
- push {r4,lr}
- ldr r0, _080E6A10 @ =gSharedMem + 0x1000
- ldrb r1, [r0, 0x8]
- adds r4, r0, 0
- cmp r1, 0xD
- bhi _080E6A50
- lsls r0, r1, 2
- ldr r1, _080E6A14 @ =_080E6A18
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E6A10: .4byte gSharedMem + 0x1000
-_080E6A14: .4byte _080E6A18
- .align 2, 0
-_080E6A18:
- .4byte _080E6A50
- .4byte _080E6A50
- .4byte _080E6A50
- .4byte _080E6A50
- .4byte _080E6A50
- .4byte _080E6A58
- .4byte _080E6A50
- .4byte _080E6A58
- .4byte _080E6A58
- .4byte _080E6A50
- .4byte _080E6A58
- .4byte _080E6A58
- .4byte _080E6A58
- .4byte _080E6A50
-_080E6A50:
- ldrb r0, [r4, 0x8]
- bl sub_80E9368
- b _080E6A66
-_080E6A58:
- ldrb r0, [r4, 0x8]
- bl sub_80E9368
- ldrb r0, [r4, 0xB]
- ldrb r1, [r4, 0x9]
- bl sub_80E8BF4
-_080E6A66:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80E69F8
-
- thumb_func_start sub_80E6A6C
-sub_80E6A6C: @ 80E6A6C
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl sub_80EAC5C
- bl TransferPlttBuffer
- bl sub_8089668
- pop {r0}
- bx r0
- thumb_func_end sub_80E6A6C
-
- thumb_func_start sub_80E6A88
-sub_80E6A88: @ 80E6A88
- push {lr}
- ldr r0, _080E6AA4 @ =gSharedMem + 0x1000
- ldr r0, [r0, 0x20]
- bl _call_via_r0
- bl AnimateSprites
- bl BuildOamBuffer
- bl sub_80EAD08
- pop {r0}
- bx r0
- .align 2, 0
-_080E6AA4: .4byte gSharedMem + 0x1000
- thumb_func_end sub_80E6A88
-
- thumb_func_start sub_80E6AA8
-sub_80E6AA8: @ 80E6AA8
- push {lr}
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080E6ABA
- ldr r0, _080E6AC0 @ =sub_80E6AC4
- bl sub_80E682C
-_080E6ABA:
- pop {r0}
- bx r0
- .align 2, 0
-_080E6AC0: .4byte sub_80E6AC4
- thumb_func_end sub_80E6AA8
-
- thumb_func_start sub_80E6AC4
-sub_80E6AC4: @ 80E6AC4
- push {lr}
- bl sub_80E88F0
- movs r0, 0
- bl sub_80E8398
- movs r0, 0
- bl sub_80E91D4
- ldr r0, _080E6AE0 @ =sub_80E6AE4
- bl sub_80E682C
- pop {r0}
- bx r0
- .align 2, 0
-_080E6AE0: .4byte sub_80E6AE4
- thumb_func_end sub_80E6AC4
-
- thumb_func_start sub_80E6AE4
-sub_80E6AE4: @ 80E6AE4
- push {r4,r5,lr}
- bl sub_80E75D8
- ldr r4, _080E6B44 @ =gSharedMem + 0x1000
- adds r1, r4, 0
- adds r1, 0x87
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- beq _080E6AFE
- movs r0, 0x5
- bl PlaySE
-_080E6AFE:
- ldr r2, _080E6B48 @ =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- adds r5, r2, 0
- cmp r0, 0
- beq _080E6BA4
- movs r0, 0x5
- bl PlaySE
- adds r1, r4, 0
- adds r1, 0x86
- adds r0, r4, 0
- adds r0, 0x84
- ldrb r2, [r1]
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- bne _080E6B78
- adds r0, r4, 0
- adds r0, 0x85
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- beq _080E6B60
- cmp r0, 0x1
- bgt _080E6B4C
- cmp r0, 0
- beq _080E6B52
- b _080E6BA4
- .align 2, 0
-_080E6B44: .4byte gSharedMem + 0x1000
-_080E6B48: .4byte gMain
-_080E6B4C:
- cmp r0, 0x2
- beq _080E6B6C
- b _080E6BA4
-_080E6B52:
- ldr r0, _080E6B5C @ =sub_80E6BC0
- bl sub_80E682C
- b _080E6BB4
- .align 2, 0
-_080E6B5C: .4byte sub_80E6BC0
-_080E6B60:
- ldr r0, _080E6B68 @ =sub_80E6C84
- bl sub_80E682C
- b _080E6BB4
- .align 2, 0
-_080E6B68: .4byte sub_80E6C84
-_080E6B6C:
- ldr r0, _080E6B74 @ =sub_80E6D7C
- bl sub_80E682C
- b _080E6BB4
- .align 2, 0
-_080E6B74: .4byte sub_80E6D7C
-_080E6B78:
- adds r0, r4, 0
- adds r0, 0x83
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r1, 0x85
- adds r3, r0, 0
- muls r3, r2
- adds r0, r3, 0
- ldrb r1, [r1]
- adds r0, r1
- adds r1, r4, 0
- adds r1, 0x27
- strb r0, [r1]
- bl sub_80E7574
- ldr r0, _080E6BA0 @ =sub_80E6F68
- bl sub_80E682C
- b _080E6BB4
- .align 2, 0
-_080E6BA0: .4byte sub_80E6F68
-_080E6BA4:
- ldrh r1, [r5, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080E6BB4
- ldr r0, _080E6BBC @ =sub_80E6C84
- bl sub_80E682C
-_080E6BB4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E6BBC: .4byte sub_80E6C84
- thumb_func_end sub_80E6AE4
-
- thumb_func_start sub_80E6BC0
-sub_80E6BC0: @ 80E6BC0
- push {r4,lr}
- ldr r4, _080E6BD4 @ =gSharedMem + 0x1000
- ldrh r0, [r4, 0x24]
- cmp r0, 0x1
- beq _080E6C12
- cmp r0, 0x1
- bgt _080E6BD8
- cmp r0, 0
- beq _080E6BE2
- b _080E6C76
- .align 2, 0
-_080E6BD4: .4byte gSharedMem + 0x1000
-_080E6BD8:
- cmp r0, 0x2
- beq _080E6C54
- cmp r0, 0x64
- beq _080E6C64
- b _080E6C76
-_080E6BE2:
- movs r0, 0x2
- bl sub_80E8398
- ldrb r0, [r4, 0x8]
- cmp r0, 0x6
- bne _080E6BFA
- movs r0, 0x6
- bl sub_80E91D4
- movs r0, 0x64
- strh r0, [r4, 0x24]
- b _080E6C76
-_080E6BFA:
- movs r0, 0x2
- bl sub_80E91D4
- movs r0, 0x17
- movs r1, 0x8
- movs r2, 0x1
- bl DisplayYesNoMenu
- movs r0, 0x1
- bl MoveMenuCursor
- b _080E6C3E
-_080E6C12:
- bl ProcessMenuInputNoWrap_
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080E6C32
- cmp r1, 0
- bgt _080E6C2C
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080E6C46
- b _080E6C76
-_080E6C2C:
- cmp r1, 0x1
- beq _080E6C46
- b _080E6C76
-_080E6C32:
- bl sub_80E7D6C
- bl sub_80E98C4
- bl sub_80E95A4
-_080E6C3E:
- ldrh r0, [r4, 0x24]
- adds r0, 0x1
- strh r0, [r4, 0x24]
- b _080E6C76
-_080E6C46:
- ldr r1, _080E6C50 @ =gSharedMem + 0x1000
- ldrh r0, [r1, 0x24]
- adds r0, 0x1
- strh r0, [r1, 0x24]
- b _080E6C76
- .align 2, 0
-_080E6C50: .4byte gSharedMem + 0x1000
-_080E6C54:
- bl sub_80E81FC
- ldr r0, _080E6C60 @ =sub_80E6AC4
- bl sub_80E682C
- b _080E6C76
- .align 2, 0
-_080E6C60: .4byte sub_80E6AC4
-_080E6C64:
- ldr r0, _080E6C7C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _080E6C76
- ldr r0, _080E6C80 @ =sub_80E6AC4
- bl sub_80E682C
-_080E6C76:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E6C7C: .4byte gMain
-_080E6C80: .4byte sub_80E6AC4
- thumb_func_end sub_80E6BC0
-
- thumb_func_start sub_80E6C84
-sub_80E6C84: @ 80E6C84
- push {r4,lr}
- ldr r4, _080E6C98 @ =gSharedMem + 0x1000
- ldrh r0, [r4, 0x24]
- cmp r0, 0x1
- beq _080E6CF4
- cmp r0, 0x1
- bgt _080E6C9C
- cmp r0, 0
- beq _080E6CA6
- b _080E6D72
- .align 2, 0
-_080E6C98: .4byte gSharedMem + 0x1000
-_080E6C9C:
- cmp r0, 0x2
- beq _080E6D24
- cmp r0, 0xFF
- beq _080E6D64
- b _080E6D72
-_080E6CA6:
- movs r0, 0x2
- bl sub_80E8398
- movs r0, 0x3
- bl sub_80E91D4
- movs r0, 0x17
- movs r1, 0x8
- movs r2, 0
- bl DisplayYesNoMenu
- movs r0, 0x1
- bl MoveMenuCursor
- ldrb r0, [r4, 0x8]
- cmp r0, 0x9
- beq _080E6CE8
- cmp r0, 0x4
- beq _080E6CE8
- cmp r0, 0x7
- beq _080E6CE8
- cmp r0, 0x8
- beq _080E6CE8
- cmp r0, 0xA
- beq _080E6CE8
- cmp r0, 0xB
- beq _080E6CE8
- cmp r0, 0xC
- beq _080E6CE8
- cmp r0, 0x5
- beq _080E6CE8
- cmp r0, 0xD
- bne _080E6D1C
-_080E6CE8:
- ldr r1, _080E6CF0 @ =gSharedMem + 0x1000
- movs r0, 0x2
- strh r0, [r1, 0x24]
- b _080E6D72
- .align 2, 0
-_080E6CF0: .4byte gSharedMem + 0x1000
-_080E6CF4:
- bl ProcessMenuInputNoWrap_
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080E6D06
- cmp r1, 0
- ble _080E6D34
- b _080E6D3E
-_080E6D06:
- movs r0, 0x4
- bl sub_80E91D4
- movs r0, 0x17
- movs r1, 0x8
- movs r2, 0
- bl DisplayYesNoMenu
- movs r0, 0x1
- bl MoveMenuCursor
-_080E6D1C:
- ldrh r0, [r4, 0x24]
- adds r0, 0x1
- strh r0, [r4, 0x24]
- b _080E6D72
-_080E6D24:
- bl ProcessMenuInputNoWrap_
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080E6D44
- cmp r1, 0
- bgt _080E6D3E
-_080E6D34:
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080E6D58
- b _080E6D72
-_080E6D3E:
- cmp r1, 0x1
- beq _080E6D58
- b _080E6D72
-_080E6D44:
- ldr r0, _080E6D50 @ =gSpecialVar_Result
- strh r1, [r0]
- ldr r0, _080E6D54 @ =sub_80E752C
- bl sub_80E682C
- b _080E6D72
- .align 2, 0
-_080E6D50: .4byte gSpecialVar_Result
-_080E6D54: .4byte sub_80E752C
-_080E6D58:
- ldr r1, _080E6D60 @ =gSharedMem + 0x1000
- movs r0, 0xFF
- strh r0, [r1, 0x24]
- b _080E6D72
- .align 2, 0
-_080E6D60: .4byte gSharedMem + 0x1000
-_080E6D64:
- bl HandleDestroyMenuCursors
- bl sub_80E81FC
- ldr r0, _080E6D78 @ =sub_80E6AC4
- bl sub_80E682C
-_080E6D72:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E6D78: .4byte sub_80E6AC4
- thumb_func_end sub_80E6C84
-
- thumb_func_start sub_80E6D7C
-sub_80E6D7C: @ 80E6D7C
- push {r4-r7,lr}
- ldr r5, _080E6D98 @ =gSharedMem + 0x1000
- ldrh r0, [r5, 0x24]
- cmp r0, 0xA
- bne _080E6D88
- b _080E6F06
-_080E6D88:
- cmp r0, 0xA
- bgt _080E6D9C
- cmp r0, 0
- beq _080E6DB6
- cmp r0, 0x1
- beq _080E6E3C
- b _080E6F5E
- .align 2, 0
-_080E6D98: .4byte gSharedMem + 0x1000
-_080E6D9C:
- cmp r0, 0x65
- bne _080E6DA2
- b _080E6F30
-_080E6DA2:
- cmp r0, 0x65
- bgt _080E6DAE
- cmp r0, 0x64
- bne _080E6DAC
- b _080E6F24
-_080E6DAC:
- b _080E6F5E
-_080E6DAE:
- cmp r0, 0x66
- bne _080E6DB4
- b _080E6F50
-_080E6DB4:
- b _080E6F5E
-_080E6DB6:
- movs r0, 0x2
- bl sub_80E8398
- bl sub_80E8054
- lsls r0, 24
- cmp r0, 0
- beq _080E6DCA
- movs r0, 0x5
- b _080E6DEE
-_080E6DCA:
- ldrb r0, [r5, 0x8]
- cmp r0, 0x9
- bne _080E6DFC
- bl sub_80E7FA8
- lsls r0, 24
- cmp r0, 0
- bne _080E6DDE
- movs r0, 0x8
- b _080E6DEE
-_080E6DDE:
- ldrh r0, [r5, 0xC]
- ldr r1, _080E6DF8 @ =0x0000ffff
- cmp r0, r1
- beq _080E6DEC
- ldrh r0, [r5, 0xE]
- cmp r0, r1
- bne _080E6DFC
-_080E6DEC:
- movs r0, 0x9
-_080E6DEE:
- bl sub_80E91D4
- movs r0, 0xA
- strh r0, [r5, 0x24]
- b _080E6F5E
- .align 2, 0
-_080E6DF8: .4byte 0x0000ffff
-_080E6DFC:
- ldr r0, _080E6E18 @ =gSharedMem + 0x1000
- ldrb r0, [r0, 0x8]
- cmp r0, 0x4
- bne _080E6E20
- bl sub_80E7FA8
- lsls r0, 24
- cmp r0, 0
- bne _080E6E20
- ldr r0, _080E6E1C @ =sub_80E6C84
- bl sub_80E682C
- b _080E6F5E
- .align 2, 0
-_080E6E18: .4byte gSharedMem + 0x1000
-_080E6E1C: .4byte sub_80E6C84
-_080E6E20:
- movs r0, 0x1
- bl sub_80E91D4
- bl sub_80E9744
- movs r0, 0x17
- movs r1, 0x8
- movs r2, 0
- bl DisplayYesNoMenu
- movs r0, 0
- bl MoveMenuCursor
- b _080E6F3C
-_080E6E3C:
- bl ProcessMenuInputNoWrap_
- lsls r0, 24
- asrs r6, r0, 24
- cmp r6, 0
- beq _080E6E5C
- cmp r6, 0
- bgt _080E6E56
- movs r0, 0x1
- negs r0, r0
- cmp r6, r0
- beq _080E6EDC
- b _080E6F5E
-_080E6E56:
- cmp r6, 0x1
- beq _080E6EDC
- b _080E6F5E
-_080E6E5C:
- ldr r7, _080E6EC8 @ =gSpecialVar_Result
- bl sub_80E7FA8
- lsls r0, 24
- lsrs r0, 24
- negs r0, r0
- lsrs r0, 31
- strh r0, [r7]
- bl sub_80E7D9C
- ldrb r0, [r5, 0x8]
- cmp r0, 0
- bne _080E6E82
- ldr r4, _080E6ECC @ =gSpecialVar_0x8004
- bl sub_80E8094
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
-_080E6E82:
- ldrb r0, [r5, 0x8]
- cmp r0, 0x9
- bne _080E6E9C
- bl sub_80E81C0
- ldr r4, _080E6ECC @ =gSpecialVar_0x8004
- ldr r1, _080E6ED0 @ =0x00009c7c
- adds r0, r5, r1
- bl sub_80FA364
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
-_080E6E9C:
- ldrb r0, [r5, 0x8]
- cmp r0, 0xD
- bne _080E6EBE
- ldrh r0, [r5, 0xC]
- ldr r1, _080E6ED4 @ =0x0000ffff
- cmp r0, r1
- beq _080E6EB0
- ldrh r0, [r5, 0xE]
- cmp r0, r1
- bne _080E6EB2
-_080E6EB0:
- strh r6, [r7]
-_080E6EB2:
- ldr r4, _080E6ECC @ =gSpecialVar_0x8004
- bl sub_80E810C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
-_080E6EBE:
- ldr r0, _080E6ED8 @ =sub_80E752C
- bl sub_80E682C
- b _080E6F5E
- .align 2, 0
-_080E6EC8: .4byte gSpecialVar_Result
-_080E6ECC: .4byte gSpecialVar_0x8004
-_080E6ED0: .4byte 0x00009c7c
-_080E6ED4: .4byte 0x0000ffff
-_080E6ED8: .4byte sub_80E752C
-_080E6EDC:
- bl HandleDestroyMenuCursors
- bl sub_80E81FC
- ldr r4, _080E6EFC @ =gSharedMem + 0x1000
- ldrb r0, [r4, 0x8]
- cmp r0, 0x6
- bne _080E6F00
- bl sub_80E7FA8
- lsls r0, 24
- cmp r0, 0
- beq _080E6F00
- movs r0, 0x64
- strh r0, [r4, 0x24]
- b _080E6F5E
- .align 2, 0
-_080E6EFC: .4byte gSharedMem + 0x1000
-_080E6F00:
- bl sub_80E95A4
- b _080E6F12
-_080E6F06:
- ldr r0, _080E6F1C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _080E6F5E
-_080E6F12:
- ldr r0, _080E6F20 @ =sub_80E6AC4
- bl sub_80E682C
- b _080E6F5E
- .align 2, 0
-_080E6F1C: .4byte gMain
-_080E6F20: .4byte sub_80E6AC4
-_080E6F24:
- movs r0, 0x7
- bl sub_80E91D4
- ldrh r0, [r5, 0x24]
- adds r0, 0x1
- strh r0, [r5, 0x24]
-_080E6F30:
- ldr r0, _080E6F48 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080E6F5E
-_080E6F3C:
- ldr r1, _080E6F4C @ =gSharedMem + 0x1000
- ldrh r0, [r1, 0x24]
- adds r0, 0x1
- strh r0, [r1, 0x24]
- b _080E6F5E
- .align 2, 0
-_080E6F48: .4byte gMain
-_080E6F4C: .4byte gSharedMem + 0x1000
-_080E6F50:
- bl sub_80E7E50
- bl sub_80E95A4
- ldr r0, _080E6F64 @ =sub_80E6AC4
- bl sub_80E682C
-_080E6F5E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E6F64: .4byte sub_80E6AC4
- thumb_func_end sub_80E6D7C
-
- thumb_func_start sub_80E6F68
-sub_80E6F68: @ 80E6F68
- push {r4,lr}
- ldr r4, _080E6F78 @ =gSharedMem + 0x1000
- ldrh r0, [r4, 0x24]
- cmp r0, 0
- beq _080E6F7C
- cmp r0, 0x1
- beq _080E6F9C
- b _080E6FBC
- .align 2, 0
-_080E6F78: .4byte gSharedMem + 0x1000
-_080E6F7C:
- movs r0, 0x1
- bl sub_80E8398
- movs r0, 0xA
- bl sub_80E91D4
- bl sub_80E683C
- bl sub_80E9974
- bl sub_80E9E98
- ldrh r0, [r4, 0x24]
- adds r0, 0x1
- strh r0, [r4, 0x24]
- b _080E6FBC
-_080E6F9C:
- bl sub_80E9EA8
- lsls r0, 24
- cmp r0, 0
- beq _080E6FBC
- movs r0, 0x1
- bl sub_80E8D8C
- bl sub_80E8420
- movs r0, 0
- bl sub_80E8958
- ldr r0, _080E6FC4 @ =sub_80E6FC8
- bl sub_80E682C
-_080E6FBC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E6FC4: .4byte sub_80E6FC8
- thumb_func_end sub_80E6F68
-
- thumb_func_start sub_80E6FC8
-sub_80E6FC8: @ 80E6FC8
- push {r4,lr}
- bl sub_80E77C8
- adds r1, r0, 0
- ldr r4, _080E7000 @ =gSharedMem + 0x1000
- adds r0, r4, 0
- adds r0, 0x96
- strb r1, [r0]
- movs r2, 0xE0
- lsls r2, 1
- adds r0, r4, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _080E700C
- movs r0, 0x5
- bl PlaySE
- movs r1, 0xE2
- lsls r1, 1
- adds r0, r4, r1
- ldr r1, _080E7004 @ =sub_80E6FC8
- str r1, [r0]
- ldr r0, _080E7008 @ =sub_80E7458
- bl sub_80E682C
- b _080E710A
- .align 2, 0
-_080E7000: .4byte gSharedMem + 0x1000
-_080E7004: .4byte sub_80E6FC8
-_080E7008: .4byte sub_80E7458
-_080E700C:
- lsls r0, r1, 24
- cmp r0, 0
- beq _080E7018
- movs r0, 0x5
- bl PlaySE
-_080E7018:
- ldr r0, _080E7054 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080E70E8
- ldr r2, _080E7058 @ =0x000001b7
- adds r0, r4, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _080E7090
- movs r0, 0x5
- bl PlaySE
- movs r1, 0xD4
- lsls r1, 1
- adds r0, r4, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x2
- beq _080E7070
- cmp r0, 0x2
- bgt _080E705C
- cmp r0, 0x1
- beq _080E7062
- b _080E710A
- .align 2, 0
-_080E7054: .4byte gMain
-_080E7058: .4byte 0x000001b7
-_080E705C:
- cmp r0, 0x3
- beq _080E70F0
- b _080E710A
-_080E7062:
- ldr r0, _080E706C @ =sub_80E718C
- bl sub_80E682C
- b _080E710A
- .align 2, 0
-_080E706C: .4byte sub_80E718C
-_080E7070:
- ldrb r0, [r4, 0x8]
- cmp r0, 0x6
- beq _080E710A
- adds r0, r4, 0
- adds r0, 0x27
- ldrb r0, [r0]
- ldr r1, _080E708C @ =0x0000ffff
- bl sub_80E7F00
- bl sub_80E7574
- bl sub_80E95A4
- b _080E710A
- .align 2, 0
-_080E708C: .4byte 0x0000ffff
-_080E7090:
- adds r0, r4, 0
- adds r0, 0x26
- ldrb r0, [r0]
- cmp r0, 0
- beq _080E70CA
- ldr r2, _080E70DC @ =0x000001a9
- adds r0, r4, r2
- movs r2, 0
- ldrsb r2, [r0, r2]
- movs r1, 0xD4
- lsls r1, 1
- adds r0, r4, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 1
- adds r2, r0
- adds r0, r4, 0
- adds r0, 0x40
- adds r2, r0
- ldrb r0, [r2]
- lsls r0, 1
- ldr r2, _080E70E0 @ =0x00004142
- adds r1, r4, r2
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _080E710A
-_080E70CA:
- movs r0, 0x5
- bl PlaySE
- bl sub_80E7AD4
- ldr r0, _080E70E4 @ =sub_80E7218
- bl sub_80E682C
- b _080E710A
- .align 2, 0
-_080E70DC: .4byte 0x000001a9
-_080E70E0: .4byte 0x00004142
-_080E70E4: .4byte sub_80E7218
-_080E70E8:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080E70FC
-_080E70F0:
- ldr r0, _080E70F8 @ =sub_80E7114
- bl sub_80E682C
- b _080E710A
- .align 2, 0
-_080E70F8: .4byte sub_80E7114
-_080E70FC:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080E710A
- ldr r0, _080E7110 @ =sub_80E718C
- bl sub_80E682C
-_080E710A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7110: .4byte sub_80E718C
- thumb_func_end sub_80E6FC8
-
- thumb_func_start sub_80E7114
-sub_80E7114: @ 80E7114
- push {lr}
- ldr r0, _080E712C @ =gSharedMem + 0x1000
- ldrh r1, [r0, 0x24]
- adds r2, r0, 0
- cmp r1, 0x4
- bhi _080E7182
- lsls r0, r1, 2
- ldr r1, _080E7130 @ =_080E7134
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E712C: .4byte gSharedMem + 0x1000
-_080E7130: .4byte _080E7134
- .align 2, 0
-_080E7134:
- .4byte _080E7148
- .4byte _080E715C
- .4byte _080E715C
- .4byte _080E7164
- .4byte _080E717C
-_080E7148:
- bl sub_80E8504
- bl sub_80E9E98
- bl sub_80E88F0
- movs r0, 0
- bl sub_80E8D8C
- b _080E716E
-_080E715C:
- ldrh r0, [r2, 0x24]
- adds r0, 0x1
- strh r0, [r2, 0x24]
- b _080E7182
-_080E7164:
- bl sub_80E9F50
- lsls r0, 24
- cmp r0, 0
- beq _080E7182
-_080E716E:
- ldr r1, _080E7178 @ =gSharedMem + 0x1000
- ldrh r0, [r1, 0x24]
- adds r0, 0x1
- strh r0, [r1, 0x24]
- b _080E7182
- .align 2, 0
-_080E7178: .4byte gSharedMem + 0x1000
-_080E717C:
- ldr r0, _080E7188 @ =sub_80E6AC4
- bl sub_80E682C
-_080E7182:
- pop {r0}
- bx r0
- .align 2, 0
-_080E7188: .4byte sub_80E6AC4
- thumb_func_end sub_80E7114
-
- thumb_func_start sub_80E718C
-sub_80E718C: @ 80E718C
- push {r4,lr}
- ldr r0, _080E71A4 @ =gSharedMem + 0x1000
- ldrh r1, [r0, 0x24]
- adds r4, r0, 0
- cmp r1, 0x1
- beq _080E71C6
- cmp r1, 0x1
- bgt _080E71A8
- cmp r1, 0
- beq _080E71AE
- b _080E71EC
- .align 2, 0
-_080E71A4: .4byte gSharedMem + 0x1000
-_080E71A8:
- cmp r1, 0x8
- beq _080E71F4
- b _080E71EC
-_080E71AE:
- bl sub_80E8504
- bl sub_80E9E98
- bl sub_80E88F0
- ldrh r0, [r4, 0x24]
- adds r0, 0x1
- strh r0, [r4, 0x24]
- bl sub_80E8D54
- b _080E720E
-_080E71C6:
- bl sub_80E9FD4
- lsls r0, 24
- cmp r0, 0
- beq _080E720E
- movs r2, 0
- adds r1, r4, 0
- adds r1, 0x26
- ldrb r0, [r1]
- cmp r0, 0
- bne _080E71DE
- movs r2, 0x1
-_080E71DE:
- strb r2, [r1]
- bl sub_80E683C
- bl sub_80E9974
- bl sub_80E9E98
-_080E71EC:
- ldrh r0, [r4, 0x24]
- adds r0, 0x1
- strh r0, [r4, 0x24]
- b _080E720E
-_080E71F4:
- bl sub_80EA014
- lsls r0, 24
- cmp r0, 0
- beq _080E720E
- bl sub_80E8420
- movs r0, 0
- bl sub_80E8958
- ldr r0, _080E7214 @ =sub_80E6FC8
- bl sub_80E682C
-_080E720E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7214: .4byte sub_80E6FC8
- thumb_func_end sub_80E718C
-
- thumb_func_start sub_80E7218
-sub_80E7218: @ 80E7218
- push {r4,lr}
- ldr r4, _080E7230 @ =gSharedMem + 0x1000
- ldrh r0, [r4, 0x24]
- adds r1, r4, 0
- cmp r0, 0x9
- beq _080E7260
- cmp r0, 0x9
- bgt _080E7234
- cmp r0, 0x8
- beq _080E7244
- b _080E723C
- .align 2, 0
-_080E7230: .4byte gSharedMem + 0x1000
-_080E7234:
- cmp r0, 0xA
- beq _080E7276
- cmp r0, 0xB
- beq _080E7288
-_080E723C:
- ldrh r0, [r1, 0x24]
- adds r0, 0x1
- strh r0, [r1, 0x24]
- b _080E7288
-_080E7244:
- movs r0, 0
- bl sub_80E8D8C
- bl sub_80E8504
- bl sub_80E9AD4
- bl sub_80E68E8
- bl sub_80E88F0
- bl sub_80E9E98
- b _080E726E
-_080E7260:
- bl sub_80EA050
- lsls r0, 24
- cmp r0, 0
- beq _080E7288
- bl sub_80E9C94
-_080E726E:
- ldrh r0, [r4, 0x24]
- adds r0, 0x1
- strh r0, [r4, 0x24]
- b _080E7288
-_080E7276:
- movs r0, 0x1
- bl sub_80E87CC
- movs r0, 0x1
- bl sub_80E8958
- ldr r0, _080E7290 @ =sub_80E7294
- bl sub_80E682C
-_080E7288:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7290: .4byte sub_80E7294
- thumb_func_end sub_80E7218
-
- thumb_func_start sub_80E7294
-sub_80E7294: @ 80E7294
- push {r4,lr}
- bl sub_80E7B40
- adds r1, r0, 0
- ldr r4, _080E72CC @ =gSharedMem + 0x1000
- ldr r2, _080E72D0 @ =0x000001b9
- adds r0, r4, r2
- strb r1, [r0]
- adds r2, 0x7
- adds r0, r4, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _080E72DC
- movs r0, 0x5
- bl PlaySE
- movs r1, 0xE2
- lsls r1, 1
- adds r0, r4, r1
- ldr r1, _080E72D4 @ =sub_80E7294
- str r1, [r0]
- ldr r0, _080E72D8 @ =sub_80E7458
- bl sub_80E682C
- b _080E731A
- .align 2, 0
-_080E72CC: .4byte gSharedMem + 0x1000
-_080E72D0: .4byte 0x000001b9
-_080E72D4: .4byte sub_80E7294
-_080E72D8: .4byte sub_80E7458
-_080E72DC:
- lsls r0, r1, 24
- cmp r0, 0
- beq _080E72E8
- movs r0, 0x5
- bl PlaySE
-_080E72E8:
- ldr r0, _080E7304 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080E730C
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080E7308 @ =sub_80E7324
- bl sub_80E682C
- b _080E731A
- .align 2, 0
-_080E7304: .4byte gMain
-_080E7308: .4byte sub_80E7324
-_080E730C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080E731A
- ldr r0, _080E7320 @ =sub_80E73D0
- bl sub_80E682C
-_080E731A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7320: .4byte sub_80E73D0
- thumb_func_end sub_80E7294
-
- thumb_func_start sub_80E7324
-sub_80E7324: @ 80E7324
- push {lr}
- ldr r0, _080E733C @ =gSharedMem + 0x1000
- ldrh r1, [r0, 0x24]
- adds r2, r0, 0
- cmp r1, 0x4
- bhi _080E73C6
- lsls r0, r1, 2
- ldr r1, _080E7340 @ =_080E7344
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E733C: .4byte gSharedMem + 0x1000
-_080E7340: .4byte _080E7344
- .align 2, 0
-_080E7344:
- .4byte _080E7358
- .4byte _080E737C
- .4byte _080E7384
- .4byte _080E738A
- .4byte _080E73A4
-_080E7358:
- bl sub_80E7DD0
- lsls r0, 24
- cmp r0, 0
- bne _080E7370
- ldr r0, _080E736C @ =sub_80E7294
- bl sub_80E682C
- b _080E73C6
- .align 2, 0
-_080E736C: .4byte sub_80E7294
-_080E7370:
- bl sub_80E88F0
- movs r0, 0
- bl sub_80E87CC
- b _080E7394
-_080E737C:
- ldrh r0, [r2, 0x24]
- adds r0, 0x1
- strh r0, [r2, 0x24]
- b _080E73C6
-_080E7384:
- bl sub_80E9E98
- b _080E7394
-_080E738A:
- bl sub_80EA184
- lsls r0, 24
- cmp r0, 0
- beq _080E73C6
-_080E7394:
- ldr r1, _080E73A0 @ =gSharedMem + 0x1000
- ldrh r0, [r1, 0x24]
- adds r0, 0x1
- strh r0, [r1, 0x24]
- b _080E73C6
- .align 2, 0
-_080E73A0: .4byte gSharedMem + 0x1000
-_080E73A4:
- ldrb r0, [r2, 0x8]
- cmp r0, 0x6
- bne _080E73C0
- bl sub_80E7FA8
- lsls r0, 24
- cmp r0, 0
- beq _080E73C0
- ldr r0, _080E73BC @ =sub_80E6D7C
- bl sub_80E682C
- b _080E73C6
- .align 2, 0
-_080E73BC: .4byte sub_80E6D7C
-_080E73C0:
- ldr r0, _080E73CC @ =sub_80E6AC4
- bl sub_80E682C
-_080E73C6:
- pop {r0}
- bx r0
- .align 2, 0
-_080E73CC: .4byte sub_80E6AC4
- thumb_func_end sub_80E7324
-
- thumb_func_start sub_80E73D0
-sub_80E73D0: @ 80E73D0
- push {lr}
- ldr r0, _080E73E4 @ =gSharedMem + 0x1000
- ldrh r0, [r0, 0x24]
- cmp r0, 0x4
- bhi _080E744E
- lsls r0, 2
- ldr r1, _080E73E8 @ =_080E73EC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E73E4: .4byte gSharedMem + 0x1000
-_080E73E8: .4byte _080E73EC
- .align 2, 0
-_080E73EC:
- .4byte _080E7400
- .4byte _080E740C
- .4byte _080E7416
- .4byte _080E742C
- .4byte _080E7444
-_080E7400:
- movs r0, 0
- bl sub_80E87CC
- bl sub_80E88F0
- b _080E7436
-_080E740C:
- bl sub_80E9AD4
- bl sub_80E9E98
- b _080E7436
-_080E7416:
- bl sub_80EA0E4
- lsls r0, 24
- cmp r0, 0
- beq _080E744E
- movs r0, 0x1
- bl sub_80E8D8C
- bl sub_80E9A14
- b _080E7436
-_080E742C:
- bl sub_80E8420
- movs r0, 0
- bl sub_80E8958
-_080E7436:
- ldr r1, _080E7440 @ =gSharedMem + 0x1000
- ldrh r0, [r1, 0x24]
- adds r0, 0x1
- strh r0, [r1, 0x24]
- b _080E744E
- .align 2, 0
-_080E7440: .4byte gSharedMem + 0x1000
-_080E7444:
- bl sub_80E9974
- ldr r0, _080E7454 @ =sub_80E6FC8
- bl sub_80E682C
-_080E744E:
- pop {r0}
- bx r0
- .align 2, 0
-_080E7454: .4byte sub_80E6FC8
- thumb_func_end sub_80E73D0
-
- thumb_func_start sub_80E7458
-sub_80E7458: @ 80E7458
- push {r4,r5,lr}
- ldr r4, _080E7468 @ =gSharedMem + 0x1000
- ldrh r5, [r4, 0x24]
- cmp r5, 0
- beq _080E746C
- cmp r5, 0x1
- beq _080E74A4
- b _080E7518
- .align 2, 0
-_080E7468: .4byte gSharedMem + 0x1000
-_080E746C:
- movs r1, 0xE2
- lsls r1, 1
- adds r0, r4, r1
- ldr r1, [r0]
- ldr r0, _080E7480 @ =sub_80E6FC8
- cmp r1, r0
- bne _080E7484
- bl sub_80E9D7C
- b _080E7488
- .align 2, 0
-_080E7480: .4byte sub_80E6FC8
-_080E7484:
- bl sub_80E9D00
-_080E7488:
- ldr r4, _080E74A0 @ =gSharedMem + 0x1000
- movs r2, 0xDF
- lsls r2, 1
- adds r0, r4, r2
- ldrb r0, [r0]
- bl sub_80E9E08
- ldrh r0, [r4, 0x24]
- adds r0, 0x1
- strh r0, [r4, 0x24]
- b _080E7518
- .align 2, 0
-_080E74A0: .4byte gSharedMem + 0x1000
-_080E74A4:
- bl sub_80E9E54
- lsls r0, 24
- cmp r0, 0
- beq _080E7518
- movs r1, 0xE2
- lsls r1, 1
- adds r0, r4, r1
- ldr r1, [r0]
- ldr r0, _080E74DC @ =sub_80E6FC8
- cmp r1, r0
- bne _080E74E4
- bl sub_80E9D7C
- ldr r2, _080E74E0 @ =0x000001b5
- adds r1, r4, r2
- adds r2, 0xB
- adds r0, r4, r2
- ldrb r0, [r0]
- ldrb r2, [r1]
- adds r0, r2
- strb r0, [r1]
- bl sub_80E7A98
- adds r0, r4, 0
- adds r0, 0x96
- b _080E74FE
- .align 2, 0
-_080E74DC: .4byte sub_80E6FC8
-_080E74E0: .4byte 0x000001b5
-_080E74E4:
- ldr r0, _080E7520 @ =0x00009a29
- adds r1, r4, r0
- movs r2, 0xE0
- lsls r2, 1
- adds r0, r4, r2
- ldrb r0, [r0]
- ldrb r2, [r1]
- adds r0, r2
- strb r0, [r1]
- bl sub_80E7D30
- ldr r1, _080E7524 @ =0x000001b9
- adds r0, r4, r1
-_080E74FE:
- strb r5, [r0]
- ldr r1, _080E7528 @ =gSharedMem + 0x1000
- movs r0, 0xDF
- lsls r0, 1
- adds r2, r1, r0
- movs r0, 0x2
- strb r0, [r2]
- movs r2, 0xE2
- lsls r2, 1
- adds r0, r1, r2
- ldr r0, [r0]
- bl sub_80E682C
-_080E7518:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7520: .4byte 0x00009a29
-_080E7524: .4byte 0x000001b9
-_080E7528: .4byte gSharedMem + 0x1000
- thumb_func_end sub_80E7458
-
- thumb_func_start sub_80E752C
-sub_80E752C: @ 80E752C
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _080E7540 @ =gSharedMem + 0x1000
- ldrh r1, [r4, 0x24]
- cmp r1, 0
- beq _080E7544
- cmp r1, 0x1
- beq _080E755C
- b _080E756C
- .align 2, 0
-_080E7540: .4byte gSharedMem + 0x1000
-_080E7544:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldrh r0, [r4, 0x24]
- adds r0, 0x1
- strh r0, [r4, 0x24]
- b _080E756C
-_080E755C:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080E756C
- ldr r0, [r4]
- bl SetMainCallback2
-_080E756C:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80E752C
-
- thumb_func_start sub_80E7574
-sub_80E7574: @ 80E7574
- push {r4,r5,lr}
- ldr r4, _080E75B8 @ =gSharedMem + 0x1000
- ldrb r5, [r4, 0x8]
- cmp r5, 0x1
- bne _080E75BC
- adds r0, r4, 0
- adds r0, 0x86
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r1, r4, 0
- adds r1, 0x7E
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080E75BC
- adds r0, r4, 0
- adds r0, 0x27
- ldrb r0, [r0]
- lsls r0, 1
- subs r1, 0x72
- adds r0, r1
- ldrh r0, [r0]
- bl sub_80EB2D4
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7
- beq _080E75BC
- adds r0, r4, 0
- adds r0, 0x7D
- strb r5, [r0]
- adds r1, r4, 0
- b _080E75C6
- .align 2, 0
-_080E75B8: .4byte gSharedMem + 0x1000
-_080E75BC:
- ldr r1, _080E75D4 @ =gSharedMem + 0x1000
- adds r2, r1, 0
- adds r2, 0x7D
- movs r0, 0
- strb r0, [r2]
-_080E75C6:
- adds r1, 0x7D
- movs r0, 0
- strb r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E75D4: .4byte gSharedMem + 0x1000
- thumb_func_end sub_80E7574
-
- thumb_func_start sub_80E75D8
-sub_80E75D8: @ 80E75D8
- push {r4-r6,lr}
- movs r4, 0
- ldr r2, _080E75FC @ =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080E7604
- ldr r1, _080E7600 @ =gSharedMem + 0x1000
- adds r0, r1, 0
- adds r0, 0x84
- ldrb r0, [r0]
- adds r2, r1, 0
- adds r2, 0x86
- strb r0, [r2]
- adds r1, 0x85
- movs r0, 0x2
- b _080E768E
- .align 2, 0
-_080E75FC: .4byte gMain
-_080E7600: .4byte gSharedMem + 0x1000
-_080E7604:
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080E7630
- ldr r2, _080E762C @ =gSharedMem + 0x1000
- adds r1, r2, 0
- adds r1, 0x86
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- bge _080E765C
- adds r0, r2, 0
- adds r0, 0x84
- ldrb r0, [r0]
- strb r0, [r1]
- b _080E765C
- .align 2, 0
-_080E762C: .4byte gSharedMem + 0x1000
-_080E7630:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080E7658
- ldr r0, _080E7684 @ =gSharedMem + 0x1000
- adds r3, r0, 0
- adds r3, 0x86
- ldrb r1, [r3]
- adds r1, 0x1
- strb r1, [r3]
- adds r0, 0x84
- lsls r1, 24
- asrs r1, 24
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- ble _080E7656
- strb r4, [r3]
-_080E7656:
- movs r4, 0x1
-_080E7658:
- cmp r4, 0
- beq _080E76EA
-_080E765C:
- ldr r2, _080E7684 @ =gSharedMem + 0x1000
- ldrb r3, [r2, 0x9]
- cmp r3, 0x2
- bne _080E7692
- adds r1, r2, 0
- adds r1, 0x86
- adds r0, r2, 0
- adds r0, 0x84
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- bne _080E7688
- adds r0, r2, 0
- adds r0, 0x85
- strb r3, [r0]
- b _080E77BC
- .align 2, 0
-_080E7684: .4byte gSharedMem + 0x1000
-_080E7688:
- adds r1, r2, 0
- adds r1, 0x85
- movs r0, 0
-_080E768E:
- strb r0, [r1]
- b _080E77BC
-_080E7692:
- movs r0, 0x85
- adds r0, r2
- mov r12, r0
- adds r4, r2, 0
- adds r4, 0x83
- movs r1, 0
- ldrsb r1, [r0, r1]
- ldrb r3, [r4]
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r1, r0
- blt _080E76B0
- subs r0, r3, 0x1
- mov r1, r12
- strb r0, [r1]
-_080E76B0:
- adds r1, r2, 0
- adds r1, 0x86
- adds r0, r2, 0
- adds r0, 0x84
- ldrb r3, [r1]
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- beq _080E77BC
- ldrb r0, [r4]
- adds r4, r0, 0
- muls r4, r3
- adds r0, r4, 0
- mov r5, r12
- ldrb r5, [r5]
- adds r0, r5
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r2, 0xA]
- cmp r0, r1
- bcc _080E77BC
- subs r0, r1
- mov r6, r12
- strb r0, [r6]
- b _080E77BC
-_080E76EA:
- ldrh r2, [r2, 0x30]
- movs r0, 0x20
- ands r0, r2
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _080E7744
- ldr r2, _080E7728 @ =gSharedMem + 0x1000
- adds r3, r2, 0
- adds r3, 0x85
- ldrb r0, [r3]
- subs r0, 0x1
- strb r0, [r3]
- lsls r0, 24
- cmp r0, 0
- bge _080E77BC
- adds r1, r2, 0
- adds r1, 0x86
- adds r0, r2, 0
- adds r0, 0x84
- ldrb r4, [r1]
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- bne _080E772C
- movs r0, 0x2
- b _080E77BA
- .align 2, 0
-_080E7728: .4byte gSharedMem + 0x1000
-_080E772C:
- adds r0, r2, 0
- adds r0, 0x83
- ldrb r0, [r0]
- subs r1, r0, 0x1
- strb r1, [r3]
- adds r5, r4, 0
- muls r5, r0
- adds r0, r5, 0
- adds r1, r0
- lsls r1, 24
- lsrs r0, r1, 24
- b _080E77B2
-_080E7744:
- movs r0, 0x10
- ands r0, r2
- cmp r0, 0
- beq _080E77C0
- ldr r2, _080E777C @ =gSharedMem + 0x1000
- adds r5, r2, 0
- adds r5, 0x86
- adds r0, r2, 0
- adds r0, 0x84
- movs r1, 0
- ldrsb r1, [r5, r1]
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- bne _080E7780
- adds r1, r2, 0
- adds r1, 0x85
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x2
- ble _080E77BC
- strb r4, [r1]
- b _080E77BC
- .align 2, 0
-_080E777C: .4byte gSharedMem + 0x1000
-_080E7780:
- adds r3, r2, 0
- adds r3, 0x85
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r3]
- movs r6, 0x83
- adds r6, r2
- mov r12, r6
- lsls r0, 24
- asrs r0, 24
- movs r1, 0
- ldrsb r1, [r6, r1]
- cmp r0, r1
- blt _080E779E
- strb r4, [r3]
-_080E779E:
- ldrb r1, [r5]
- mov r4, r12
- ldrb r0, [r4]
- adds r5, r0, 0
- muls r5, r1
- adds r0, r5, 0
- ldrb r6, [r3]
- adds r0, r6
- lsls r0, 24
- lsrs r0, 24
-_080E77B2:
- ldrb r1, [r2, 0xA]
- cmp r0, r1
- bcc _080E77BC
- subs r0, r1
-_080E77BA:
- strb r0, [r3]
-_080E77BC:
- movs r0, 0x1
- b _080E77C2
-_080E77C0:
- movs r0, 0
-_080E77C2:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80E75D8
-
- thumb_func_start sub_80E77C8
-sub_80E77C8: @ 80E77C8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r7, 0
- ldr r1, _080E780C @ =gSharedMem + 0x1000
- ldr r2, _080E7810 @ =0x000001b7
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r3, r1, 0
- cmp r0, 0
- beq _080E783E
- ldr r1, _080E7814 @ =gMain
- ldrh r2, [r1, 0x30]
- movs r0, 0x40
- ands r0, r2
- adds r6, r1, 0
- cmp r0, 0
- beq _080E7818
- movs r4, 0xD4
- lsls r4, 1
- adds r1, r3, r4
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- ble _080E7806
- b _080E7948
-_080E7806:
- movs r0, 0x3
- strb r0, [r1]
- b _080E7948
- .align 2, 0
-_080E780C: .4byte gSharedMem + 0x1000
-_080E7810: .4byte 0x000001b7
-_080E7814: .4byte gMain
-_080E7818:
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- bne _080E7822
- b _080E7950
-_080E7822:
- movs r5, 0xD4
- lsls r5, 1
- adds r1, r3, r5
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x3
- bgt _080E7838
- b _080E7948
-_080E7838:
- movs r0, 0x1
- strb r0, [r1]
- b _080E7948
-_080E783E:
- adds r0, r3, 0
- adds r0, 0x26
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080E789A
- movs r4, 0
- ldr r1, _080E7870 @ =gMain
- ldrh r2, [r1, 0x30]
- movs r0, 0x40
- ands r0, r2
- adds r6, r1, 0
- cmp r0, 0
- beq _080E7874
- movs r6, 0xD4
- lsls r6, 1
- adds r1, r3, r6
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- bge _080E7944
- movs r0, 0x3
- strb r0, [r1]
- b _080E7944
- .align 2, 0
-_080E7870: .4byte gMain
-_080E7874:
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _080E7894
- movs r0, 0xD4
- lsls r0, 1
- adds r1, r3, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x3
- ble _080E7892
- strb r7, [r1]
-_080E7892:
- movs r4, 0x1
-_080E7894:
- cmp r4, 0
- beq _080E7950
- b _080E7944
-_080E789A:
- movs r4, 0
- movs r1, 0xE0
- lsls r1, 1
- adds r5, r3, r1
- strb r7, [r5]
- ldr r1, _080E78E0 @ =gMain
- ldrh r2, [r1, 0x30]
- movs r0, 0x40
- ands r0, r2
- adds r6, r1, 0
- cmp r0, 0
- beq _080E78E8
- movs r2, 0xD4
- lsls r2, 1
- adds r1, r3, r2
- ldrb r2, [r1]
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, 0
- bne _080E78C4
- b _080E7A88
-_080E78C4:
- subs r0, r2, 0x1
- strb r0, [r1]
- ldr r4, _080E78E4 @ =0x000001b5
- adds r1, r3, r4
- lsls r0, 24
- asrs r0, 24
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- cmp r0, r1
- bge _080E7932
- movs r0, 0xFF
- strb r0, [r5]
- b _080E7932
- .align 2, 0
-_080E78E0: .4byte gMain
-_080E78E4: .4byte 0x000001b5
-_080E78E8:
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _080E792E
- movs r0, 0xD4
- lsls r0, 1
- adds r2, r3, r0
- movs r1, 0
- ldrsb r1, [r2, r1]
- movs r4, 0xDB
- lsls r4, 1
- adds r0, r3, r4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- subs r0, 0x1
- cmp r1, r0
- blt _080E790E
- b _080E7A88
-_080E790E:
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- movs r1, 0
- ldrsb r1, [r2, r1]
- ldr r2, _080E794C @ =0x000001b5
- adds r0, r3, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r0, 0x3
- cmp r1, r0
- ble _080E792C
- movs r0, 0x1
- strb r0, [r5]
-_080E792C:
- movs r4, 0x1
-_080E792E:
- cmp r4, 0
- beq _080E7950
-_080E7932:
- movs r4, 0xE0
- lsls r4, 1
- adds r0, r3, r4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _080E7944
- b _080E7A88
-_080E7944:
- bl sub_80E7A98
-_080E7948:
- movs r0, 0x1
- b _080E7A8A
- .align 2, 0
-_080E794C: .4byte 0x000001b5
-_080E7950:
- ldrh r1, [r6, 0x30]
- movs r0, 0x20
- ands r0, r1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0
- beq _080E7992
- ldr r5, _080E7974 @ =0x000001a9
- adds r2, r3, r5
- ldrb r1, [r2]
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r0, 0
- beq _080E7978
- subs r0, r1, 0x1
- strb r0, [r2]
- b _080E79E6
- .align 2, 0
-_080E7974: .4byte 0x000001a9
-_080E7978:
- movs r6, 0xD4
- lsls r6, 1
- adds r0, r3, r6
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- movs r4, 0xD5
- lsls r4, 1
- adds r1, r3, r4
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- b _080E79E6
-_080E7992:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080E79E2
- ldr r5, _080E79D4 @ =0x000001b7
- adds r0, r3, r5
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _080E79CC
- ldr r0, _080E79D8 @ =0x000001a9
- adds r4, r3, r0
- movs r1, 0xD4
- lsls r1, 1
- adds r0, r3, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r2, 0xD5
- lsls r2, 1
- adds r0, r3, r2
- adds r1, r0
- ldrb r5, [r4]
- movs r2, 0
- ldrsb r2, [r4, r2]
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r2, r0
- bne _080E79DC
-_080E79CC:
- ldr r4, _080E79D8 @ =0x000001a9
- adds r0, r3, r4
- strb r6, [r0]
- b _080E79E0
- .align 2, 0
-_080E79D4: .4byte 0x000001b7
-_080E79D8: .4byte 0x000001a9
-_080E79DC:
- adds r0, r5, 0x1
- strb r0, [r4]
-_080E79E0:
- movs r7, 0x1
-_080E79E2:
- cmp r7, 0
- beq _080E7A88
-_080E79E6:
- adds r2, r3, 0
- ldr r5, _080E7A48 @ =0x000001b7
- adds r7, r2, r5
- ldrb r6, [r7]
- mov r9, r6
- movs r1, 0
- ldr r0, _080E7A4C @ =0x000001a9
- adds r0, r2
- mov r12, r0
- subs r5, 0xF
- adds r4, r2, r5
- movs r0, 0
- ldrsb r0, [r4, r0]
- movs r6, 0xD5
- lsls r6, 1
- adds r6, r2
- mov r8, r6
- add r0, r8
- mov r6, r12
- movs r5, 0
- ldrsb r5, [r6, r5]
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r5, r0
- bne _080E7A1C
- movs r1, 0x1
-_080E7A1C:
- strb r1, [r7]
- cmp r1, 0
- beq _080E7A58
- ldr r0, _080E7A50 @ =0x000001b5
- adds r1, r2, r0
- ldrb r0, [r4]
- ldrb r1, [r1]
- subs r0, r1
- strb r0, [r4]
- lsls r0, 24
- cmp r0, 0
- beq _080E7A36
- b _080E7948
-_080E7A36:
- movs r0, 0x1
- strb r0, [r4]
- ldr r1, _080E7A54 @ =0x000001ab
- adds r0, r2, r1
- ldrb r0, [r0]
- mov r2, r12
- strb r0, [r2]
- b _080E7948
- .align 2, 0
-_080E7A48: .4byte 0x000001b7
-_080E7A4C: .4byte 0x000001a9
-_080E7A50: .4byte 0x000001b5
-_080E7A54: .4byte 0x000001ab
-_080E7A58:
- mov r6, r9
- cmp r6, 0
- bne _080E7A60
- b _080E7948
-_080E7A60:
- ldr r1, _080E7A84 @ =0x000001b5
- adds r0, r3, r1
- ldrb r0, [r0]
- ldrb r2, [r4]
- adds r0, r2
- strb r0, [r4]
- cmp r5, 0
- bne _080E7A72
- b _080E7948
-_080E7A72:
- movs r0, 0
- ldrsb r0, [r4, r0]
- add r0, r8
- ldrb r0, [r0]
- subs r0, 0x1
- mov r4, r12
- strb r0, [r4]
- b _080E7948
- .align 2, 0
-_080E7A84: .4byte 0x000001b5
-_080E7A88:
- movs r0, 0
-_080E7A8A:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80E77C8
-
- thumb_func_start sub_80E7A98
-sub_80E7A98: @ 80E7A98
- push {lr}
- ldr r1, _080E7ACC @ =gSharedMem + 0x1000
- ldr r0, _080E7AD0 @ =0x000001a9
- adds r3, r1, r0
- movs r2, 0xD4
- lsls r2, 1
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r2, 0x2
- adds r1, r2
- adds r0, r1
- movs r1, 0
- ldrsb r1, [r3, r1]
- ldrb r2, [r0]
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- blt _080E7AC6
- subs r0, r2, 0x1
- strb r0, [r3]
-_080E7AC6:
- pop {r0}
- bx r0
- .align 2, 0
-_080E7ACC: .4byte gSharedMem + 0x1000
-_080E7AD0: .4byte 0x000001a9
- thumb_func_end sub_80E7A98
-
- thumb_func_start sub_80E7AD4
-sub_80E7AD4: @ 80E7AD4
- push {lr}
- ldr r3, _080E7B08 @ =gSharedMem + 0x1000
- adds r0, r3, 0
- adds r0, 0x26
- ldrb r0, [r0]
- cmp r0, 0
- bne _080E7B10
- ldr r1, _080E7B0C @ =0x000001a9
- adds r0, r3, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r2, 0xD4
- lsls r2, 1
- adds r0, r3, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 1
- adds r1, r0
- adds r0, r3, 0
- adds r0, 0x2A
- adds r1, r0
- ldrb r1, [r1]
- adds r2, 0x10
- b _080E7B34
- .align 2, 0
-_080E7B08: .4byte gSharedMem + 0x1000
-_080E7B0C: .4byte 0x000001a9
-_080E7B10:
- ldr r1, _080E7B3C @ =0x000001a9
- adds r0, r3, r1
- movs r2, 0
- ldrsb r2, [r0, r2]
- subs r1, 0x1
- adds r0, r3, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 1
- adds r2, r0
- adds r0, r3, 0
- adds r0, 0x40
- adds r2, r0
- ldrb r1, [r2]
- movs r2, 0xDC
- lsls r2, 1
-_080E7B34:
- adds r0, r3, r2
- strb r1, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_080E7B3C: .4byte 0x000001a9
- thumb_func_end sub_80E7AD4
-
- thumb_func_start sub_80E7B40
-sub_80E7B40: @ 80E7B40
- push {r4-r7,lr}
- movs r5, 0
- ldr r2, _080E7B8C @ =gSharedMem + 0x1000
- movs r0, 0xE0
- lsls r0, 1
- adds r6, r2, r0
- strb r5, [r6]
- ldr r1, _080E7B90 @ =gMain
- ldrh r4, [r1, 0x30]
- movs r0, 0x40
- ands r0, r4
- adds r3, r2, 0
- adds r7, r1, 0
- cmp r0, 0
- beq _080E7B9C
- ldr r2, _080E7B94 @ =0x000099a4
- adds r1, r3, r2
- ldrb r2, [r1]
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, 0
- bne _080E7B6E
- b _080E7D1A
-_080E7B6E:
- subs r0, r2, 0x1
- strb r0, [r1]
- ldr r4, _080E7B98 @ =0x00009a29
- adds r1, r3, r4
- lsls r0, 24
- asrs r0, 24
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- cmp r0, r1
- bge _080E7BF2
- movs r0, 0xFF
- strb r0, [r6]
- b _080E7D1A
- .align 2, 0
-_080E7B8C: .4byte gSharedMem + 0x1000
-_080E7B90: .4byte gMain
-_080E7B94: .4byte 0x000099a4
-_080E7B98: .4byte 0x00009a29
-_080E7B9C:
- movs r0, 0x80
- ands r0, r4
- cmp r0, 0
- beq _080E7BEE
- ldr r0, _080E7BE0 @ =0x000099a4
- adds r2, r3, r0
- movs r1, 0
- ldrsb r1, [r2, r1]
- ldr r4, _080E7BE4 @ =0x00009a28
- adds r0, r3, r4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- subs r0, 0x1
- cmp r1, r0
- blt _080E7BBE
- b _080E7D1A
-_080E7BBE:
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- movs r1, 0
- ldrsb r1, [r2, r1]
- ldr r2, _080E7BE8 @ =0x00009a29
- adds r0, r3, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r0, 0x4
- cmp r1, r0
- blt _080E7BEC
- movs r0, 0x1
- strb r0, [r6]
- b _080E7D1A
- .align 2, 0
-_080E7BE0: .4byte 0x000099a4
-_080E7BE4: .4byte 0x00009a28
-_080E7BE8: .4byte 0x00009a29
-_080E7BEC:
- movs r5, 0x1
-_080E7BEE:
- cmp r5, 0
- beq _080E7BFA
-_080E7BF2:
- bl sub_80E7D30
-_080E7BF6:
- movs r0, 0x1
- b _080E7D1C
-_080E7BFA:
- ldrh r1, [r7, 0x30]
- movs r0, 0x20
- ands r0, r1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- beq _080E7C38
- ldr r4, _080E7C30 @ =0x000099a5
- adds r2, r3, r4
- ldrb r0, [r2]
- subs r0, 0x1
- strb r0, [r2]
- lsls r0, 24
- cmp r0, 0
- bge _080E7BF6
- ldr r6, _080E7C34 @ =0x000099a4
- adds r0, r3, r6
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r4, 0x1
- adds r1, r3, r4
- adds r0, r1
- ldrb r0, [r0]
- subs r0, 0x1
- strb r0, [r2]
- b _080E7BF6
- .align 2, 0
-_080E7C30: .4byte 0x000099a5
-_080E7C34: .4byte 0x000099a4
-_080E7C38:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080E7C70
- ldr r6, _080E7C68 @ =0x000099a5
- adds r4, r3, r6
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- ldr r2, _080E7C6C @ =0x000099a4
- adds r1, r3, r2
- movs r2, 0
- ldrsb r2, [r1, r2]
- adds r6, 0x1
- adds r1, r3, r6
- adds r2, r1
- lsls r0, 24
- asrs r0, 24
- movs r1, 0
- ldrsb r1, [r2, r1]
- cmp r0, r1
- blt _080E7BF6
- strb r5, [r4]
- b _080E7BF6
- .align 2, 0
-_080E7C68: .4byte 0x000099a5
-_080E7C6C: .4byte 0x000099a4
-_080E7C70:
- ldrh r1, [r7, 0x2E]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080E7CC4
- ldr r1, _080E7CBC @ =0x00009a29
- adds r0, r3, r1
- ldrb r1, [r0]
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _080E7CA2
- negs r0, r1
- movs r4, 0xE0
- lsls r4, 1
- adds r2, r3, r4
- strb r0, [r2]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x4
- negs r1, r1
- cmp r0, r1
- bge _080E7CA2
- strb r1, [r2]
-_080E7CA2:
- ldr r6, _080E7CC0 @ =0x000099a4
- adds r1, r3, r6
- movs r2, 0xE0
- lsls r2, 1
- adds r0, r3, r2
- ldrb r0, [r0]
- ldrb r4, [r1]
- adds r0, r4
- strb r0, [r1]
- movs r6, 0xDF
- lsls r6, 1
- adds r1, r3, r6
- b _080E7D16
- .align 2, 0
-_080E7CBC: .4byte 0x00009a29
-_080E7CC0: .4byte 0x000099a4
-_080E7CC4:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080E7D1A
- ldr r0, _080E7D24 @ =0x00009a29
- adds r4, r3, r0
- movs r1, 0
- ldrsb r1, [r4, r1]
- ldr r6, _080E7D28 @ =0x00009a28
- adds r2, r3, r6
- movs r0, 0
- ldrsb r0, [r2, r0]
- subs r0, 0x4
- cmp r1, r0
- bge _080E7CFE
- ldrb r1, [r4]
- adds r1, 0x4
- ldrb r0, [r2]
- subs r0, r1
- movs r2, 0xE0
- lsls r2, 1
- adds r1, r3, r2
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x4
- ble _080E7CFE
- movs r0, 0x4
- strb r0, [r1]
-_080E7CFE:
- ldr r4, _080E7D2C @ =0x000099a4
- adds r1, r3, r4
- movs r6, 0xE0
- lsls r6, 1
- adds r0, r3, r6
- ldrb r0, [r0]
- ldrb r2, [r1]
- adds r0, r2
- strb r0, [r1]
- movs r4, 0xDF
- lsls r4, 1
- adds r1, r3, r4
-_080E7D16:
- movs r0, 0x4
- strb r0, [r1]
-_080E7D1A:
- movs r0, 0
-_080E7D1C:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080E7D24: .4byte 0x00009a29
-_080E7D28: .4byte 0x00009a28
-_080E7D2C: .4byte 0x000099a4
- thumb_func_end sub_80E7B40
-
- thumb_func_start sub_80E7D30
-sub_80E7D30: @ 80E7D30
- push {r4,lr}
- ldr r0, _080E7D60 @ =gSharedMem + 0x1000
- ldr r1, _080E7D64 @ =0x000099a5
- adds r4, r0, r1
- ldr r2, _080E7D68 @ =0x000099a4
- adds r1, r0, r2
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- adds r2, 0x2
- adds r0, r2
- adds r1, r0
- movs r2, 0
- ldrsb r2, [r4, r2]
- ldrb r3, [r1]
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r2, r0
- blt _080E7D5A
- subs r0, r3, 0x1
- strb r0, [r4]
-_080E7D5A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7D60: .4byte gSharedMem + 0x1000
-_080E7D64: .4byte 0x000099a5
-_080E7D68: .4byte 0x000099a4
- thumb_func_end sub_80E7D30
-
- thumb_func_start sub_80E7D6C
-sub_80E7D6C: @ 80E7D6C
- push {r4,r5,lr}
- movs r4, 0
- ldr r0, _080E7D94 @ =gSharedMem + 0x1000
- ldrb r1, [r0, 0xA]
- cmp r4, r1
- bcs _080E7D8E
- adds r5, r0, 0
-_080E7D7A:
- adds r0, r4, 0
- ldr r1, _080E7D98 @ =0x0000ffff
- bl sub_80E7F00
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldrb r0, [r5, 0xA]
- cmp r4, r0
- bcc _080E7D7A
-_080E7D8E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7D94: .4byte gSharedMem + 0x1000
-_080E7D98: .4byte 0x0000ffff
- thumb_func_end sub_80E7D6C
-
- thumb_func_start sub_80E7D9C
-sub_80E7D9C: @ 80E7D9C
- push {r4,r5,lr}
- movs r2, 0
- ldr r0, _080E7DCC @ =gSharedMem + 0x1000
- ldrb r1, [r0, 0xA]
- cmp r2, r1
- bcs _080E7DC6
- adds r3, r0, 0
- ldr r4, [r3, 0x4]
- adds r5, r3, 0
- adds r5, 0xC
-_080E7DB0:
- lsls r0, r2, 1
- adds r1, r0, r4
- adds r0, r5
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldrb r0, [r3, 0xA]
- cmp r2, r0
- bcc _080E7DB0
-_080E7DC6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7DCC: .4byte gSharedMem + 0x1000
- thumb_func_end sub_80E7D9C
-
- thumb_func_start sub_80E7DD0
-sub_80E7DD0: @ 80E7DD0
- push {r4,lr}
- ldr r2, _080E7E28 @ =gSharedMem + 0x1000
- ldr r1, _080E7E2C @ =0x000099a5
- adds r0, r2, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r1, 1
- ldr r3, _080E7E30 @ =0x000099a4
- adds r0, r2, r3
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r1, r0
- adds r3, 0x86
- adds r0, r2, r3
- adds r1, r0
- ldrh r4, [r1]
- adds r0, r2, 0
- adds r0, 0x7D
- ldrb r0, [r0]
- cmp r0, 0
- beq _080E7E34
- adds r0, r2, 0
- adds r0, 0x86
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r1, r2, 0
- adds r1, 0x7E
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bls _080E7E34
- adds r0, r4, 0
- bl sub_80EB2D4
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7
- bne _080E7E34
- movs r0, 0
- b _080E7E46
- .align 2, 0
-_080E7E28: .4byte gSharedMem + 0x1000
-_080E7E2C: .4byte 0x000099a5
-_080E7E30: .4byte 0x000099a4
-_080E7E34:
- ldr r0, _080E7E4C @ =gSharedMem + 0x1000
- adds r0, 0x27
- ldrb r0, [r0]
- adds r1, r4, 0
- bl sub_80E7F00
- bl sub_80E95A4
- movs r0, 0x1
-_080E7E46:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080E7E4C: .4byte gSharedMem + 0x1000
- thumb_func_end sub_80E7DD0
-
- thumb_func_start sub_80E7E50
-sub_80E7E50: @ 80E7E50
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- movs r5, 0
- movs r2, 0
- ldr r1, _080E7EF0 @ =gSharedMem + 0x1000
- adds r3, r1, 0
- adds r3, 0x84
- movs r0, 0
- ldrsb r0, [r3, r0]
- cmp r2, r0
- bge _080E7EDE
- mov r8, r1
- adds r0, r1, 0
- str r0, [sp]
-_080E7E74:
- mov r0, r8
- adds r0, 0x7E
- adds r0, r2, r0
- movs r1, 0
- strb r1, [r0]
- movs r3, 0
- ldr r6, _080E7EF4 @ =gSharedMem + 0x1083
- movs r0, 0
- ldrsb r0, [r6, r0]
- adds r1, r2, 0x1
- str r1, [sp, 0x4]
- cmp r3, r0
- bge _080E7ECE
- ldr r6, [sp]
- mov r12, r6
- movs r0, 0
- mov r10, r0
- ldr r1, _080E7EF4 @ =gSharedMem + 0x1083
- mov r9, r1
- ldr r7, _080E7EF8 @ =gSharedMem + 0x100C
- lsls r4, r2, 1
-_080E7E9E:
- lsls r1, r5, 1
- adds r2, r1, r7
- mov r6, r12
- ldr r0, [r6, 0x4]
- adds r1, r0
- ldrh r0, [r1]
- strh r0, [r2]
- adds r0, r3, r4
- mov r1, r12
- adds r1, 0x8C
- adds r0, r1
- mov r1, r10
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- mov r6, r9
- movs r0, 0
- ldrsb r0, [r6, r0]
- cmp r3, r0
- blt _080E7E9E
-_080E7ECE:
- ldr r1, [sp, 0x4]
- lsls r0, r1, 16
- lsrs r2, r0, 16
- ldr r6, _080E7EFC @ =gSharedMem + 0x1084
- movs r0, 0
- ldrsb r0, [r6, r0]
- cmp r2, r0
- blt _080E7E74
-_080E7EDE:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7EF0: .4byte gSharedMem + 0x1000
-_080E7EF4: .4byte gSharedMem + 0x1083
-_080E7EF8: .4byte gSharedMem + 0x100C
-_080E7EFC: .4byte gSharedMem + 0x1084
- thumb_func_end sub_80E7E50
-
- thumb_func_start sub_80E7F00
-sub_80E7F00: @ 80E7F00
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- ldr r7, _080E7F68 @ =gSharedMem + 0x1000
- adds r0, r7, 0
- adds r0, 0x83
- movs r4, 0
- ldrsb r4, [r0, r4]
- adds r0, r6, 0
- adds r1, r4, 0
- bl __divsi3
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r6, 0
- adds r1, r4, 0
- bl __modsi3
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r0, r6, 1
- adds r1, r7, 0
- adds r1, 0xC
- adds r0, r1
- ldrh r0, [r0]
- bl sub_80EB2D4
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r9
- bl sub_80EB2D4
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r4, 0x7
- bne _080E7F6C
- cmp r3, 0x7
- beq _080E7F7C
- adds r1, r7, 0
- adds r1, 0x7E
- adds r1, r5, r1
- ldrb r0, [r1]
- subs r0, 0x1
- b _080E7F7A
- .align 2, 0
-_080E7F68: .4byte gSharedMem + 0x1000
-_080E7F6C:
- cmp r3, 0x7
- bne _080E7F7C
- adds r1, r7, 0
- adds r1, 0x7E
- adds r1, r5, r1
- ldrb r0, [r1]
- adds r0, 0x1
-_080E7F7A:
- strb r0, [r1]
-_080E7F7C:
- movs r3, 0
- ldr r2, _080E7FA4 @ =gSharedMem + 0x1000
- lsls r0, r5, 1
- add r0, r8
- adds r1, r2, 0
- adds r1, 0x8C
- adds r0, r1
- strb r3, [r0]
- lsls r0, r6, 1
- adds r2, 0xC
- adds r0, r2
- mov r1, r9
- strh r1, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7FA4: .4byte gSharedMem + 0x1000
- thumb_func_end sub_80E7F00
-
- thumb_func_start sub_80E7FA8
-sub_80E7FA8: @ 80E7FA8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r0, 0
- mov r8, r0
- movs r5, 0
- ldr r0, _080E8040 @ =gSharedMem + 0x1000
- ldrb r1, [r0, 0xA]
- cmp r8, r1
- bcs _080E802E
- ldr r3, _080E8044 @ =0x00009e14
- adds r6, r0, r3
- ldr r1, _080E8048 @ =0x00009e41
- adds r1, r0
- mov r9, r1
-_080E7FC8:
- ldr r3, _080E804C @ =0xffff61ec
- adds r7, r6, r3
- ldr r0, [r7, 0x4]
- lsls r4, r5, 1
- adds r0, r4, r0
- ldrh r1, [r0]
- adds r0, r6, 0
- movs r2, 0
- bl sub_80EB218
- ldr r1, _080E8050 @ =0xffff61f8
- adds r0, r6, r1
- adds r0, r4
- ldrh r1, [r0]
- mov r0, r9
- movs r2, 0
- bl sub_80EB218
- adds r1, r6, 0
- mov r2, r9
- ldrb r0, [r1]
- adds r4, r5, 0x1
- ldrb r3, [r2]
- cmp r0, r3
- bne _080E8018
- adds r3, r7, 0
- cmp r0, 0xFF
- beq _080E8010
-_080E8000:
- adds r1, 0x1
- adds r2, 0x1
- ldrb r0, [r1]
- ldrb r5, [r2]
- cmp r0, r5
- bne _080E8018
- cmp r0, 0xFF
- bne _080E8000
-_080E8010:
- ldrb r0, [r1]
- ldrb r2, [r2]
- cmp r0, r2
- beq _080E8024
-_080E8018:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r3, _080E8040 @ =gSharedMem + 0x1000
-_080E8024:
- lsls r0, r4, 16
- lsrs r5, r0, 16
- ldrb r3, [r3, 0xA]
- cmp r5, r3
- bcc _080E7FC8
-_080E802E:
- mov r1, r8
- lsls r0, r1, 24
- lsrs r0, 24
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080E8040: .4byte gSharedMem + 0x1000
-_080E8044: .4byte 0x00009e14
-_080E8048: .4byte 0x00009e41
-_080E804C: .4byte 0xffff61ec
-_080E8050: .4byte 0xffff61f8
- thumb_func_end sub_80E7FA8
-
- thumb_func_start sub_80E8054
-sub_80E8054: @ 80E8054
- push {r4,lr}
- movs r1, 0
- ldr r2, _080E8078 @ =gSharedMem + 0x1000
- ldrb r0, [r2, 0xA]
- cmp r1, r0
- bcs _080E808A
- adds r4, r2, 0
- adds r4, 0xC
- ldr r3, _080E807C @ =0x0000ffff
- adds r2, r0, 0
-_080E8068:
- lsls r0, r1, 1
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, r3
- beq _080E8080
- movs r0, 0
- b _080E808C
- .align 2, 0
-_080E8078: .4byte gSharedMem + 0x1000
-_080E807C: .4byte 0x0000ffff
-_080E8080:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r2
- bcc _080E8068
-_080E808A:
- movs r0, 0x1
-_080E808C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80E8054
-
- thumb_func_start sub_80E8094
-sub_80E8094: @ 80E8094
- push {r4-r7,lr}
- movs r5, 0
- ldr r6, _080E80C4 @ =gSharedMem + 0xAE14
- adds r7, r6, 0
- adds r7, 0x2D
-_080E809E:
- lsls r4, r5, 1
- ldr r1, _080E80C8 @ =0xffff61f8
- adds r0, r6, r1
- adds r0, r4
- ldrh r1, [r0]
- adds r0, r6, 0
- movs r2, 0
- bl sub_80EB218
- ldr r0, _080E80CC @ =gMysteryEventPhrase
- adds r4, r0
- ldrh r1, [r4]
- adds r0, r7, 0
- movs r2, 0
- bl sub_80EB218
- adds r3, r6, 0
- adds r4, r7, 0
- b _080E80D8
- .align 2, 0
-_080E80C4: .4byte gSharedMem + 0xAE14
-_080E80C8: .4byte 0xffff61f8
-_080E80CC: .4byte gMysteryEventPhrase
-_080E80D0:
- adds r4, 0x1
- adds r3, 0x1
- cmp r2, r1
- bne _080E80F4
-_080E80D8:
- ldrb r2, [r3]
- adds r0, r2, 0
- cmp r0, 0xFF
- beq _080E80EE
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _080E80D0
- ldrb r0, [r3]
- cmp r0, 0xFF
- bne _080E80F4
-_080E80EE:
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _080E80F8
-_080E80F4:
- movs r0, 0
- b _080E8104
-_080E80F8:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _080E809E
- movs r0, 0x1
-_080E8104:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80E8094
-
- thumb_func_start sub_80E810C
-sub_80E810C: @ 80E810C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r5, 0
- ldr r6, _080E8198 @ =gSharedMem + 0xAE6E
- ldr r0, _080E819C @ =0xffff6192
- adds r0, r6
- mov r9, r0
- movs r1, 0
- mov r8, r1
- adds r7, r6, 0
- adds r7, 0x80
- ldr r2, _080E81A0 @ =gBerryMasterWifePhrases
- mov r10, r2
-_080E812C:
- mov r0, r9
- ldrh r1, [r0, 0xC]
- adds r0, r6, 0
- movs r2, 0
- bl sub_80EB218
- mov r1, r8
- strb r1, [r0]
- adds r0, 0x1
- mov r2, r9
- ldrh r1, [r2, 0xE]
- movs r2, 0
- bl sub_80EB218
- lsls r4, r5, 2
- mov r1, r10
- adds r0, r4, r1
- ldrh r1, [r0]
- adds r0, r7, 0
- movs r2, 0
- bl sub_80EB218
- mov r2, r8
- strb r2, [r0]
- adds r0, 0x1
- ldr r1, _080E81A4 @ =gBerryMasterWifePhrases + 0x2
- adds r4, r1
- ldrh r1, [r4]
- movs r2, 0
- bl sub_80EB218
- adds r0, r6, 0
- adds r3, r7, 0
- adds r4, r5, 0x1
-_080E8170:
- ldrb r2, [r0]
- cmp r2, 0xFF
- beq _080E818A
- ldrb r1, [r3]
- cmp r1, 0xFF
- beq _080E8184
- adds r3, 0x1
- adds r0, 0x1
- cmp r2, r1
- beq _080E8170
-_080E8184:
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _080E81A8
-_080E818A:
- ldrb r0, [r3]
- cmp r0, 0xFF
- bne _080E81A8
- lsls r0, r4, 24
- lsrs r0, 24
- b _080E81B2
- .align 2, 0
-_080E8198: .4byte gSharedMem + 0xAE6E
-_080E819C: .4byte 0xffff6192
-_080E81A0: .4byte gBerryMasterWifePhrases
-_080E81A4: .4byte gBerryMasterWifePhrases + 0x2
-_080E81A8:
- lsls r0, r4, 16
- lsrs r5, r0, 16
- cmp r5, 0x4
- bls _080E812C
- movs r0, 0
-_080E81B2:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80E810C
-
- thumb_func_start sub_80E81C0
-sub_80E81C0: @ 80E81C0
- push {r4,lr}
- ldr r0, _080E81EC @ =gStringVar2
- ldr r4, _080E81F0 @ =gSharedMem + 0x1000
- ldr r2, _080E81F4 @ =0x00009c7c
- adds r1, r4, r2
- ldrh r1, [r1]
- movs r2, 0
- bl sub_80EB218
- movs r1, 0
- strb r1, [r0]
- adds r0, 0x1
- ldr r1, _080E81F8 @ =0x00009c7e
- adds r4, r1
- ldrh r1, [r4]
- movs r2, 0
- bl sub_80EB218
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E81EC: .4byte gStringVar2
-_080E81F0: .4byte gSharedMem + 0x1000
-_080E81F4: .4byte 0x00009c7c
-_080E81F8: .4byte 0x00009c7e
- thumb_func_end sub_80E81C0
-
- thumb_func_start sub_80E81FC
-sub_80E81FC: @ 80E81FC
- push {lr}
- movs r0, 0x5
- bl PlaySE
- bl sub_80E95A4
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- pop {r0}
- bx r0
- thumb_func_end sub_80E81FC
-
- thumb_func_start sub_80E8218
-sub_80E8218: @ 80E8218
- push {r4,r5,lr}
- sub sp, 0x40
- mov r1, sp
- ldr r0, _080E8260 @ =gSpriteSheets_Interview
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r4,r5}
- stm r1!, {r2,r4,r5}
- ldr r0, [r0]
- str r0, [r1]
- add r4, sp, 0x28
- adds r1, r4, 0
- ldr r0, _080E8264 @ =gSpritePalettes_Interview
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- mov r0, sp
- bl LoadSpriteSheets
- adds r0, r4, 0
- bl LoadSpritePalettes
- bl sub_80E8268
- bl sub_80E8818
- bl sub_80E8A7C
- add sp, 0x40
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E8260: .4byte gSpriteSheets_Interview
-_080E8264: .4byte gSpritePalettes_Interview
- thumb_func_end sub_80E8218
-
- thumb_func_start sub_80E8268
-sub_80E8268: @ 80E8268
- push {lr}
- ldr r0, _080E82B0 @ =gSpriteTemplate_83DBBFC
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080E82B4 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldr r0, _080E82B8 @ =gUnknown_083DB694
- ldr r3, [r0]
- adds r0, r3, 0
- adds r0, 0x8A
- ldrh r0, [r0]
- lsls r0, 3
- adds r0, 0x8
- movs r2, 0
- strh r0, [r1, 0x22]
- adds r0, r3, 0
- adds r0, 0x88
- ldrh r0, [r0]
- lsls r0, 3
- adds r0, 0x4
- strh r0, [r1, 0x20]
- strh r2, [r1, 0x2E]
- strh r2, [r1, 0x30]
- adds r0, r3, 0
- adds r0, 0x98
- str r1, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_080E82B0: .4byte gSpriteTemplate_83DBBFC
-_080E82B4: .4byte gSprites
-_080E82B8: .4byte gUnknown_083DB694
- thumb_func_end sub_80E8268
-
- thumb_func_start sub_80E82BC
-sub_80E82BC: @ 80E82BC
- push {r4-r7,lr}
- adds r3, r0, 0
- movs r1, 0x30
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _080E838C
- ldr r0, _080E8334 @ =gUnknown_083DB694
- ldr r2, [r0]
- adds r1, r2, 0
- adds r1, 0x87
- ldrb r1, [r1]
- mov r12, r0
- cmp r1, 0
- beq _080E836C
- adds r0, r2, 0
- adds r0, 0x86
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r2, 0
- adds r0, 0x85
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 16
- lsrs r4, r0, 16
- movs r7, 0
- movs r1, 0
- cmp r7, r4
- bcs _080E8316
- lsls r6, r5, 1
- adds r2, 0x8C
-_080E8300:
- adds r0, r1, r6
- adds r0, r2, r0
- ldrb r0, [r0]
- adds r0, r7, r0
- lsls r0, 16
- lsrs r7, r0, 16
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r4
- bcc _080E8300
-_080E8316:
- mov r0, r12
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x84
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r5, r0
- bne _080E8338
- movs r0, 0x60
- strh r0, [r3, 0x22]
- lsls r0, r4, 3
- subs r0, r4
- adds r0, 0x3
- b _080E8356
- .align 2, 0
-_080E8334: .4byte gUnknown_083DB694
-_080E8338:
- adds r1, r2, 0
- adds r1, 0x8A
- lsls r0, r5, 1
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 3
- adds r0, 0x8
- strh r0, [r3, 0x22]
- adds r0, r2, 0
- adds r0, 0x88
- ldrh r0, [r0]
- adds r0, r7
- movs r1, 0xB
- muls r1, r4
- adds r0, r1
-_080E8356:
- lsls r0, 3
- adds r0, 0x4
- strh r0, [r3, 0x20]
- movs r1, 0
- ldr r0, _080E8368 @ =0x0000fffa
- strh r0, [r3, 0x24]
- strh r1, [r3, 0x2E]
- b _080E838C
- .align 2, 0
-_080E8368: .4byte 0x0000fffa
-_080E836C:
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080E838C
- strh r1, [r3, 0x2E]
- ldrh r0, [r3, 0x24]
- adds r0, 0x1
- strh r0, [r3, 0x24]
- lsls r0, 16
- cmp r0, 0
- ble _080E838C
- ldr r0, _080E8394 @ =0x0000fffa
- strh r0, [r3, 0x24]
-_080E838C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E8394: .4byte 0x0000fffa
- thumb_func_end sub_80E82BC
-
- thumb_func_start sub_80E8398
-sub_80E8398: @ 80E8398
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x1
- beq _080E83D4
- cmp r3, 0x1
- bgt _080E83AC
- cmp r3, 0
- beq _080E83B2
- b _080E8416
-_080E83AC:
- cmp r3, 0x2
- beq _080E83F8
- b _080E8416
-_080E83B2:
- ldr r0, _080E83D0 @ =gUnknown_083DB694
- ldr r0, [r0]
- adds r0, 0x98
- ldr r1, [r0]
- strh r3, [r1, 0x30]
- ldr r1, [r0]
- strh r3, [r1, 0x24]
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- b _080E8414
- .align 2, 0
-_080E83D0: .4byte gUnknown_083DB694
-_080E83D4:
- ldr r0, _080E83F4 @ =gUnknown_083DB694
- ldr r1, [r0]
- adds r1, 0x98
- ldr r0, [r1]
- movs r2, 0
- strh r3, [r0, 0x30]
- ldr r0, [r1]
- strh r2, [r0, 0x24]
- ldr r1, [r1]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- b _080E8414
- .align 2, 0
-_080E83F4: .4byte gUnknown_083DB694
-_080E83F8:
- ldr r0, _080E841C @ =gUnknown_083DB694
- ldr r1, [r0]
- adds r1, 0x98
- ldr r2, [r1]
- movs r3, 0
- movs r0, 0x1
- strh r0, [r2, 0x30]
- ldr r0, [r1]
- strh r3, [r0, 0x24]
- ldr r1, [r1]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
-_080E8414:
- strb r0, [r1]
-_080E8416:
- pop {r0}
- bx r0
- .align 2, 0
-_080E841C: .4byte gUnknown_083DB694
- thumb_func_end sub_80E8398
-
- thumb_func_start sub_80E8420
-sub_80E8420: @ 80E8420
- push {r4-r7,lr}
- sub sp, 0x18
- mov r1, sp
- ldr r0, _080E84E0 @ =gSpriteTemplate_83DBCAC
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- mov r0, sp
- movs r1, 0
- movs r2, 0
- movs r3, 0x3
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080E84E4 @ =gUnknown_083DB694
- ldr r7, [r1]
- adds r5, r7, 0
- adds r5, 0x9C
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r4, _080E84E8 @ =gSprites
- adds r1, r4
- str r1, [r5]
- ldr r0, _080E84EC @ =gSpriteAnimTable_83DBC8C
- str r0, [sp, 0x8]
- ldr r0, _080E84F0 @ =sub_80E872C
- str r0, [sp, 0x14]
- mov r0, sp
- movs r1, 0
- movs r2, 0
- movs r3, 0x4
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- adds r6, r7, 0
- adds r6, 0xA0
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- str r1, [r6]
- ldr r0, _080E84F4 @ =gSpriteAnimTable_83DBC9C
- str r0, [sp, 0x8]
- ldr r0, _080E84F8 @ =sub_80E8760
- str r0, [sp, 0x14]
- mov r0, sp
- movs r1, 0
- movs r2, 0
- movs r3, 0x5
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- adds r2, r7, 0
- adds r2, 0xA4
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- str r1, [r2]
- ldr r0, [r5]
- movs r1, 0
- strh r1, [r0, 0x2E]
- ldr r0, [r6]
- strh r1, [r0, 0x2E]
- ldr r0, [r2]
- strh r1, [r0, 0x2E]
- movs r0, 0x1
- bl IndexOfSpritePaletteTag
- ldr r1, [r5]
- lsls r0, 24
- lsrs r0, 20
- ldr r2, _080E84FC @ =0x00000101
- adds r0, r2
- strh r0, [r1, 0x34]
- bl sub_80E8534
- adds r1, r7, 0
- adds r1, 0x96
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, _080E8500 @ =REG_BLDCNT
- movs r3, 0xFD
- lsls r3, 6
- adds r0, r3, 0
- strh r0, [r1]
- add sp, 0x18
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E84E0: .4byte gSpriteTemplate_83DBCAC
-_080E84E4: .4byte gUnknown_083DB694
-_080E84E8: .4byte gSprites
-_080E84EC: .4byte gSpriteAnimTable_83DBC8C
-_080E84F0: .4byte sub_80E872C
-_080E84F4: .4byte gSpriteAnimTable_83DBC9C
-_080E84F8: .4byte sub_80E8760
-_080E84FC: .4byte 0x00000101
-_080E8500: .4byte REG_BLDCNT
- thumb_func_end sub_80E8420
-
- thumb_func_start sub_80E8504
-sub_80E8504: @ 80E8504
- push {r4,lr}
- ldr r0, _080E8530 @ =gUnknown_083DB694
- ldr r4, [r0]
- adds r0, r4, 0
- adds r0, 0x9C
- ldr r0, [r0]
- bl DestroySprite
- adds r0, r4, 0
- adds r0, 0xA0
- ldr r0, [r0]
- bl DestroySprite
- adds r0, r4, 0
- adds r0, 0xA4
- ldr r0, [r0]
- bl DestroySprite
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E8530: .4byte gUnknown_083DB694
- thumb_func_end sub_80E8504
-
- thumb_func_start sub_80E8534
-sub_80E8534: @ 80E8534
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r1, _080E8554 @ =gUnknown_083DB694
- ldr r3, [r1]
- ldr r2, _080E8558 @ =0x000001b7
- adds r0, r3, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r4, r1, 0
- cmp r0, 0
- beq _080E8560
- ldr r1, _080E855C @ =gUnknown_020388AC
- movs r0, 0x1
- b _080E8598
- .align 2, 0
-_080E8554: .4byte gUnknown_083DB694
-_080E8558: .4byte 0x000001b7
-_080E855C: .4byte gUnknown_020388AC
-_080E8560:
- adds r0, r3, 0
- adds r0, 0x26
- ldrb r2, [r0]
- cmp r2, 0
- bne _080E8578
- ldr r0, _080E8574 @ =gUnknown_020388AC
- strb r2, [r0]
- adds r7, r0, 0
- b _080E859C
- .align 2, 0
-_080E8574: .4byte gUnknown_020388AC
-_080E8578:
- movs r1, 0xD4
- lsls r1, 1
- adds r0, r3, r1
- ldrh r1, [r0]
- movs r0, 0xC0
- lsls r0, 3
- cmp r1, r0
- bne _080E8594
- ldr r1, _080E8590 @ =gUnknown_020388AC
- movs r0, 0x2
- b _080E8598
- .align 2, 0
-_080E8590: .4byte gUnknown_020388AC
-_080E8594:
- ldr r1, _080E85F4 @ =gUnknown_020388AC
- movs r0, 0x3
-_080E8598:
- strb r0, [r1]
- adds r7, r1, 0
-_080E859C:
- ldr r2, [r4]
- adds r4, r2, 0
- adds r4, 0x9C
- ldr r1, [r4]
- ldrb r0, [r7]
- movs r3, 0
- mov r8, r3
- strh r0, [r1, 0x32]
- adds r5, r2, 0
- adds r5, 0xA0
- ldr r1, [r5]
- ldrb r0, [r7]
- strh r0, [r1, 0x32]
- adds r6, r2, 0
- adds r6, 0xA4
- ldr r1, [r6]
- ldrb r0, [r7]
- strh r0, [r1, 0x32]
- ldr r0, [r4]
- ldrb r1, [r7]
- bl StartSpriteAnim
- ldr r0, [r5]
- ldrb r1, [r7]
- bl StartSpriteAnim
- ldr r0, [r6]
- ldrb r1, [r7]
- bl StartSpriteAnim
- ldr r0, [r4]
- movs r1, 0x8
- strh r1, [r0, 0x38]
- ldr r0, [r4]
- strh r1, [r0, 0x3A]
- ldr r0, [r4]
- mov r1, r8
- strh r1, [r0, 0x30]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E85F4: .4byte gUnknown_020388AC
- thumb_func_end sub_80E8534
-
- thumb_func_start sub_80E85F8
-sub_80E85F8: @ 80E85F8
- push {r4-r6,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080E8624
- ldr r1, _080E8620 @ =gSineTable
- movs r2, 0x30
- ldrsh r0, [r5, r2]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 21
- adds r0, 0x8
- strh r0, [r5, 0x38]
- b _080E863A
- .align 2, 0
-_080E8620: .4byte gSineTable
-_080E8624:
- ldr r1, _080E8688 @ =gSineTable
- movs r2, 0x30
- ldrsh r0, [r5, r2]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- lsls r1, 16
- asrs r1, 21
- movs r0, 0x8
- subs r0, r1
- strh r0, [r5, 0x3A]
-_080E863A:
- ldrh r0, [r5, 0x30]
- adds r0, 0x5
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r5, 0x30]
- ldr r2, _080E868C @ =REG_BLDALPHA
- ldrh r0, [r5, 0x3A]
- lsls r0, 8
- ldrh r1, [r5, 0x38]
- orrs r0, r1
- strh r0, [r2]
- ldr r0, _080E8690 @ =gUnknown_083DB694
- ldr r6, [r0]
- adds r0, r6, 0
- adds r0, 0x96
- ldrb r0, [r0]
- cmp r0, 0
- beq _080E871A
- bl sub_80E8534
- adds r1, r6, 0
- adds r1, 0x9C
- ldr r0, [r1]
- movs r2, 0x8
- strh r2, [r0, 0x38]
- ldr r0, [r1]
- strh r2, [r0, 0x3A]
- ldr r1, [r1]
- movs r0, 0
- strh r0, [r1, 0x30]
- movs r1, 0x32
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _080E86C4
- cmp r0, 0x1
- bgt _080E8694
- cmp r0, 0
- beq _080E869E
- b _080E871A
- .align 2, 0
-_080E8688: .4byte gSineTable
-_080E868C: .4byte REG_BLDALPHA
-_080E8690: .4byte gUnknown_083DB694
-_080E8694:
- cmp r0, 0x2
- beq _080E86D6
- cmp r0, 0x3
- beq _080E86DE
- b _080E871A
-_080E869E:
- ldr r2, _080E86C0 @ =0x000001a9
- adds r0, r6, r2
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x58
- muls r0, r1
- adds r0, 0x20
- strh r0, [r5, 0x20]
- movs r1, 0xD4
- lsls r1, 1
- adds r0, r6, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r2, 0xC
- b _080E870A
- .align 2, 0
-_080E86C0: .4byte 0x000001a9
-_080E86C4:
- movs r0, 0xD8
- strh r0, [r5, 0x20]
- movs r1, 0xD4
- lsls r1, 1
- adds r0, r6, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- b _080E8714
-_080E86D6:
- movs r0, 0x97
- strh r0, [r5, 0x20]
- movs r0, 0x60
- b _080E8718
-_080E86DE:
- ldr r4, _080E8720 @ =gUnknown_083DBCC4
- ldr r2, _080E8724 @ =0x000001a9
- adds r0, r6, r2
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0xD4
- lsls r0, 1
- adds r3, r6, r0
- movs r2, 0
- ldrsb r2, [r3, r2]
- lsls r0, r2, 3
- subs r0, r2
- adds r1, r0
- adds r1, r4
- movs r0, 0
- ldrsb r0, [r1, r0]
- lsls r0, 3
- adds r0, 0x1F
- strh r0, [r5, 0x20]
- movs r0, 0
- ldrsb r0, [r3, r0]
- ldr r2, _080E8728 @ =0x000001b5
-_080E870A:
- adds r1, r6, r2
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- subs r0, r1
-_080E8714:
- lsls r0, 4
- adds r0, 0x60
-_080E8718:
- strh r0, [r5, 0x22]
-_080E871A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E8720: .4byte gUnknown_083DBCC4
-_080E8724: .4byte 0x000001a9
-_080E8728: .4byte 0x000001b5
- thumb_func_end sub_80E85F8
-
- thumb_func_start sub_80E872C
-sub_80E872C: @ 80E872C
- push {lr}
- adds r2, r0, 0
- ldr r0, _080E875C @ =gUnknown_083DB694
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x96
- ldrb r0, [r0]
- cmp r0, 0
- beq _080E8756
- movs r3, 0x32
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bne _080E8756
- adds r1, 0x9C
- ldr r0, [r1]
- ldrh r0, [r0, 0x20]
- adds r0, 0x20
- strh r0, [r2, 0x20]
- ldr r0, [r1]
- ldrh r0, [r0, 0x22]
- strh r0, [r2, 0x22]
-_080E8756:
- pop {r0}
- bx r0
- .align 2, 0
-_080E875C: .4byte gUnknown_083DB694
- thumb_func_end sub_80E872C
-
- thumb_func_start sub_80E8760
-sub_80E8760: @ 80E8760
- push {lr}
- adds r2, r0, 0
- ldr r0, _080E8780 @ =gUnknown_083DB694
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x96
- ldrb r0, [r0]
- cmp r0, 0
- beq _080E879E
- movs r3, 0x32
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _080E8784
- cmp r0, 0x2
- beq _080E878E
- b _080E879E
- .align 2, 0
-_080E8780: .4byte gUnknown_083DB694
-_080E8784:
- adds r1, 0x9C
- ldr r0, [r1]
- ldrh r0, [r0, 0x20]
- adds r0, 0x40
- b _080E8796
-_080E878E:
- adds r1, 0x9C
- ldr r0, [r1]
- ldrh r0, [r0, 0x20]
- adds r0, 0x15
-_080E8796:
- strh r0, [r2, 0x20]
- ldr r0, [r1]
- ldrh r0, [r0, 0x22]
- strh r0, [r2, 0x22]
-_080E879E:
- pop {r0}
- bx r0
- thumb_func_end sub_80E8760
-
- thumb_func_start sub_80E87A4
-sub_80E87A4: @ 80E87A4
- push {r4,lr}
- lsls r0, 24
- ldr r1, _080E87C8 @ =gUnknown_083DB694
- ldr r1, [r1]
- adds r2, r1, 0
- adds r2, 0xA8
- ldr r3, [r2]
- movs r4, 0
- cmp r0, 0
- bne _080E87BA
- movs r4, 0x1
-_080E87BA:
- movs r1, 0
- strh r4, [r3, 0x30]
- ldr r0, [r2]
- strh r1, [r0, 0x24]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E87C8: .4byte gUnknown_083DB694
- thumb_func_end sub_80E87A4
-
- thumb_func_start sub_80E87CC
-sub_80E87CC: @ 80E87CC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- ldr r0, _080E8810 @ =gUnknown_083DB694
- ldr r5, [r0]
- adds r0, r5, 0
- adds r0, 0xA8
- ldr r0, [r0]
- movs r3, 0
- cmp r4, 0
- bne _080E87E6
- movs r3, 0x1
-_080E87E6:
- adds r2, r0, 0
- adds r2, 0x3E
- lsls r3, 2
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- orrs r0, r3
- strb r0, [r2]
- adds r0, r4, 0
- bl sub_80E87A4
- cmp r4, 0
- beq _080E880A
- ldr r0, _080E8814 @ =0x000001b9
- adds r1, r5, r0
- movs r0, 0x1
- strb r0, [r1]
-_080E880A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E8810: .4byte gUnknown_083DB694
-_080E8814: .4byte 0x000001b9
- thumb_func_end sub_80E87CC
-
- thumb_func_start sub_80E8818
-sub_80E8818: @ 80E8818
- push {lr}
- ldr r0, _080E8850 @ =gSpriteTemplate_83DBBFC
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080E8854 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0
- strh r0, [r1, 0x2E]
- strh r0, [r1, 0x30]
- ldr r0, _080E8858 @ =gUnknown_083DB694
- ldr r0, [r0]
- adds r0, 0xA8
- str r1, [r0]
- ldr r0, _080E885C @ =sub_80E8860
- str r0, [r1, 0x1C]
- movs r0, 0
- bl sub_80E87CC
- pop {r0}
- bx r0
- .align 2, 0
-_080E8850: .4byte gSpriteTemplate_83DBBFC
-_080E8854: .4byte gSprites
-_080E8858: .4byte gUnknown_083DB694
-_080E885C: .4byte sub_80E8860
- thumb_func_end sub_80E8818
-
- thumb_func_start sub_80E8860
-sub_80E8860: @ 80E8860
- push {r4,r5,lr}
- adds r2, r0, 0
- movs r0, 0x30
- ldrsh r4, [r2, r0]
- cmp r4, 0
- bne _080E88E4
- ldr r0, _080E88B0 @ =gUnknown_083DB694
- ldr r3, [r0]
- ldr r1, _080E88B4 @ =0x000001b9
- adds r0, r3, r1
- ldrb r1, [r0]
- cmp r1, 0
- beq _080E88C4
- ldr r5, _080E88B8 @ =0x000099a5
- adds r0, r3, r5
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x58
- muls r0, r1
- adds r0, 0x2C
- strh r0, [r2, 0x20]
- ldr r1, _080E88BC @ =0x000099a4
- adds r0, r3, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r5, 0x84
- adds r1, r3, r5
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- subs r0, r1
- lsls r0, 4
- adds r0, 0x60
- strh r0, [r2, 0x22]
- ldr r0, _080E88C0 @ =0x0000fffa
- strh r0, [r2, 0x24]
- strh r4, [r2, 0x2E]
- b _080E88E4
- .align 2, 0
-_080E88B0: .4byte gUnknown_083DB694
-_080E88B4: .4byte 0x000001b9
-_080E88B8: .4byte 0x000099a5
-_080E88BC: .4byte 0x000099a4
-_080E88C0: .4byte 0x0000fffa
-_080E88C4:
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080E88E4
- strh r1, [r2, 0x2E]
- ldrh r0, [r2, 0x24]
- adds r0, 0x1
- strh r0, [r2, 0x24]
- lsls r0, 16
- cmp r0, 0
- ble _080E88E4
- ldr r0, _080E88EC @ =0x0000fffa
- strh r0, [r2, 0x24]
-_080E88E4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E88EC: .4byte 0x0000fffa
- thumb_func_end sub_80E8860
-
- thumb_func_start sub_80E88F0
-sub_80E88F0: @ 80E88F0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r4, 0
- ldr r0, _080E8950 @ =gUnknown_083DB694
- mov r8, r0
- ldr r0, [r0]
- movs r6, 0x4
- movs r5, 0
- movs r1, 0xB4
- adds r1, r0
- mov r12, r1
- adds r7, r0, 0
- adds r7, 0xAC
-_080E890C:
- lsls r2, r4, 2
- adds r3, r7, r2
- ldr r1, [r3]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r6
- strb r0, [r1]
- ldr r0, [r3]
- strh r5, [r0, 0x30]
- add r2, r12
- ldr r1, [r2]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r6
- strb r0, [r1]
- ldr r0, [r2]
- strh r5, [r0, 0x30]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _080E890C
- mov r1, r8
- ldr r0, [r1]
- ldr r1, _080E8954 @ =0x00009c70
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E8950: .4byte gUnknown_083DB694
-_080E8954: .4byte 0x00009c70
- thumb_func_end sub_80E88F0
-
- thumb_func_start sub_80E8958
-sub_80E8958: @ 80E8958
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0
- bne _080E89B4
- movs r0, 0x64
- mov r9, r0
- ldr r0, _080E8998 @ =gUnknown_083DB694
- ldr r2, [r0]
- ldr r3, _080E899C @ =0x00009c6c
- adds r1, r2, r3
- ldr r3, _080E89A0 @ =0x000001b5
- adds r0, r2, r3
- str r0, [r1]
- adds r0, r2, 0
- adds r0, 0x26
- ldrb r0, [r0]
- cmp r0, 0
- bne _080E89A8
- movs r1, 0xDB
- lsls r1, 1
- adds r0, r2, r1
- ldrb r0, [r0]
- subs r0, 0x4
- ldr r3, _080E89A4 @ =0x00009c71
- adds r1, r2, r3
- strb r0, [r1]
- b _080E8A00
- .align 2, 0
-_080E8998: .4byte gUnknown_083DB694
-_080E899C: .4byte 0x00009c6c
-_080E89A0: .4byte 0x000001b5
-_080E89A4: .4byte 0x00009c71
-_080E89A8:
- ldr r1, _080E89B0 @ =0x00009c71
- adds r0, r2, r1
- strb r7, [r0]
- b _080E8A00
- .align 2, 0
-_080E89B0: .4byte 0x00009c71
-_080E89B4:
- movs r3, 0x78
- mov r9, r3
- ldr r0, _080E8A64 @ =gUnknown_083DB694
- ldr r2, [r0]
- ldr r0, _080E8A68 @ =0x00009c6c
- adds r1, r2, r0
- ldr r3, _080E8A6C @ =0x00009a29
- adds r0, r2, r3
- str r0, [r1]
- ldr r1, _080E8A70 @ =0x00009a28
- adds r0, r2, r1
- ldrb r0, [r0]
- subs r0, 0x4
- ldr r3, _080E8A74 @ =0x00009c71
- adds r1, r2, r3
- strb r0, [r1]
- movs r4, 0
- adds r5, r2, 0
- adds r5, 0xB4
- movs r0, 0x5
- negs r0, r0
- mov r12, r0
- movs r6, 0x1
-_080E89E2:
- lsls r3, r4, 2
- adds r3, r5, r3
- ldr r1, [r3]
- adds r1, 0x3E
- ldrb r2, [r1]
- mov r0, r12
- ands r0, r2
- strb r0, [r1]
- ldr r0, [r3]
- strh r6, [r0, 0x30]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _080E89E2
-_080E8A00:
- ldr r0, _080E8A64 @ =gUnknown_083DB694
- ldr r2, [r0]
- ldr r3, _080E8A74 @ =0x00009c71
- adds r1, r2, r3
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, 0
- bge _080E8A14
- movs r0, 0
- strb r0, [r1]
-_080E8A14:
- movs r4, 0
- adds r6, r2, 0
- adds r6, 0xAC
- movs r0, 0x5
- negs r0, r0
- mov r8, r0
-_080E8A20:
- lsls r2, r4, 2
- adds r2, r6, r2
- ldr r0, [r2]
- mov r1, r9
- strh r1, [r0, 0x20]
- ldr r1, [r2]
- adds r1, 0x3E
- ldrb r0, [r1]
- mov r3, r8
- ands r0, r3
- strb r0, [r1]
- ldr r0, [r2]
- movs r5, 0x1
- strh r5, [r0, 0x30]
- ldr r0, [r2]
- adds r1, r7, 0
- bl StartSpriteAnim
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _080E8A20
- ldr r0, _080E8A64 @ =gUnknown_083DB694
- ldr r0, [r0]
- ldr r1, _080E8A78 @ =0x00009c70
- adds r0, r1
- strb r5, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E8A64: .4byte gUnknown_083DB694
-_080E8A68: .4byte 0x00009c6c
-_080E8A6C: .4byte 0x00009a29
-_080E8A70: .4byte 0x00009a28
-_080E8A74: .4byte 0x00009c71
-_080E8A78: .4byte 0x00009c70
- thumb_func_end sub_80E8958
-
- thumb_func_start sub_80E8A7C
-sub_80E8A7C: @ 80E8A7C
- push {r4-r7,lr}
- sub sp, 0x18
- mov r1, sp
- ldr r0, _080E8B68 @ =gSpriteTemplate_83DBD18
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- movs r5, 0
-_080E8A8E:
- lsls r2, r5, 3
- adds r2, r5
- lsls r2, 19
- movs r0, 0xA8
- lsls r0, 15
- adds r2, r0
- asrs r2, 16
- mov r0, sp
- movs r1, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _080E8B6C @ =gUnknown_083DB694
- ldr r2, [r0]
- lsls r0, r5, 2
- adds r2, 0xAC
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E8B70 @ =gSprites
- adds r0, r1
- str r0, [r2]
- strh r5, [r0, 0x2E]
- ldr r3, [r2]
- adds r3, 0x3F
- movs r0, 0x1
- adds r2, r5, 0
- ands r2, r0
- lsls r2, 1
- ldrb r0, [r3]
- movs r4, 0x3
- negs r4, r4
- adds r1, r4, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _080E8A8E
- mov r0, sp
- movs r1, 0x3
- strh r1, [r0]
- ldr r0, _080E8B74 @ =gSpriteAnimTable_83DBD10
- str r0, [sp, 0x8]
- movs r5, 0
- movs r7, 0x3F
- movs r6, 0x40
-_080E8AF6:
- lsls r4, r5, 2
- adds r1, r4, r5
- lsls r1, 19
- movs r0, 0x8E
- lsls r0, 16
- adds r1, r0
- asrs r1, 16
- mov r0, sp
- movs r2, 0x58
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _080E8B6C @ =gUnknown_083DB694
- ldr r2, [r0]
- adds r2, 0xB4
- adds r2, r4
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E8B70 @ =gSprites
- adds r0, r1
- str r0, [r2]
- strh r5, [r0, 0x2E]
- ldr r3, [r2]
- ldrb r1, [r3, 0x1]
- adds r0, r7, 0
- ands r0, r1
- orrs r0, r6
- strb r0, [r3, 0x1]
- ldr r3, [r2]
- ldrb r1, [r3, 0x3]
- adds r0, r7, 0
- ands r0, r1
- orrs r0, r6
- strb r0, [r3, 0x3]
- ldr r0, [r2]
- lsls r1, r5, 24
- lsrs r1, 24
- bl StartSpriteAnim
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _080E8AF6
- movs r0, 0
- bl sub_80E8958
- bl sub_80E88F0
- add sp, 0x18
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E8B68: .4byte gSpriteTemplate_83DBD18
-_080E8B6C: .4byte gUnknown_083DB694
-_080E8B70: .4byte gSprites
-_080E8B74: .4byte gSpriteAnimTable_83DBD10
- thumb_func_end sub_80E8A7C
-
- thumb_func_start sub_80E8B78
-sub_80E8B78: @ 80E8B78
- push {r4,lr}
- adds r3, r0, 0
- ldr r0, _080E8BB0 @ =gUnknown_083DB694
- ldr r1, [r0]
- ldr r2, _080E8BB4 @ =0x00009c70
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080E8BE8
- movs r2, 0x30
- ldrsh r0, [r3, r2]
- cmp r0, 0
- beq _080E8BE8
- movs r2, 0x2E
- ldrsh r0, [r3, r2]
- cmp r0, 0
- bne _080E8BBC
- movs r4, 0
- ldr r2, _080E8BB8 @ =0x00009c6c
- adds r0, r1, r2
- ldr r0, [r0]
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _080E8BD6
- b _080E8BD4
- .align 2, 0
-_080E8BB0: .4byte gUnknown_083DB694
-_080E8BB4: .4byte 0x00009c70
-_080E8BB8: .4byte 0x00009c6c
-_080E8BBC:
- movs r4, 0
- ldr r2, _080E8BF0 @ =0x00009c6c
- adds r0, r1, r2
- ldr r0, [r0]
- adds r2, 0x5
- adds r1, r2
- movs r2, 0
- ldrsb r2, [r0, r2]
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r2, r0
- bne _080E8BD6
-_080E8BD4:
- movs r4, 0x1
-_080E8BD6:
- adds r2, r3, 0
- adds r2, 0x3E
- lsls r3, r4, 2
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- orrs r0, r3
- strb r0, [r2]
-_080E8BE8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E8BF0: .4byte 0x00009c6c
- thumb_func_end sub_80E8B78
-
- thumb_func_start sub_80E8BF4
-sub_80E8BF4: @ 80E8BF4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r2, r1, 24
- ldr r0, _080E8C28 @ =gUnknown_083DBD30
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- ldr r0, _080E8C2C @ =gUnknown_083DBD38
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0xC]
- str r1, [sp, 0x10]
- cmp r2, 0x2
- beq _080E8C20
- cmp r2, 0x5
- beq _080E8C30
-_080E8C20:
- movs r4, 0x40
- movs r5, 0x28
- b _080E8C34
- .align 2, 0
-_080E8C28: .4byte gUnknown_083DBD30
-_080E8C2C: .4byte gUnknown_083DBD38
-_080E8C30:
- movs r4, 0x24
- movs r5, 0x30
-_080E8C34:
- cmp r3, 0
- beq _080E8C3C
- cmp r3, 0x1
- beq _080E8C40
-_080E8C3C:
- movs r0, 0x43
- b _080E8C42
-_080E8C40:
- movs r0, 0x44
-_080E8C42:
- mov r8, r0
- add r0, sp, 0x4
- bl LoadCompressedObjectPic
- add r0, sp, 0xC
- bl LoadSpritePalette
- ldr r0, _080E8CDC @ =gSpriteTemplate_83DBD48
- adds r1, r4, 0
- adds r2, r5, 0
- movs r3, 0x1
- bl CreateSprite
- ldr r0, _080E8CE0 @ =gSaveBlock2
- ldrb r0, [r0, 0x8]
- movs r1, 0x69
- cmp r0, 0
- bne _080E8C68
- movs r1, 0x64
-_080E8C68:
- ldr r7, _080E8CE4 @ =SpriteCallbackDummy
- adds r2, r4, 0
- subs r2, 0xC
- movs r6, 0
- str r6, [sp]
- adds r0, r1, 0
- adds r1, r7, 0
- adds r3, r5, 0
- bl AddPseudoFieldObject
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _080E8C9E
- ldr r1, _080E8CE8 @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- strb r1, [r0, 0x5]
- movs r1, 0x3
- bl StartSpriteAnim
-_080E8C9E:
- adds r2, r4, 0
- adds r2, 0xC
- str r6, [sp]
- mov r0, r8
- adds r1, r7, 0
- adds r3, r5, 0
- bl AddPseudoFieldObject
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _080E8CD0
- ldr r1, _080E8CE8 @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- strb r1, [r0, 0x5]
- movs r1, 0x2
- bl StartSpriteAnim
-_080E8CD0:
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E8CDC: .4byte gSpriteTemplate_83DBD48
-_080E8CE0: .4byte gSaveBlock2
-_080E8CE4: .4byte SpriteCallbackDummy
-_080E8CE8: .4byte gSprites
- thumb_func_end sub_80E8BF4
-
- thumb_func_start sub_80E8CEC
-sub_80E8CEC: @ 80E8CEC
- push {lr}
- ldr r0, _080E8D24 @ =gUnknown_083DBD60
- bl LoadCompressedObjectPic
- ldr r0, _080E8D28 @ =gUnknown_083DBD68
- bl LoadSpritePalette
- ldr r0, _080E8D2C @ =gSpriteTemplate_83DBDE4
- movs r1, 0xE0
- movs r2, 0x58
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080E8D3C
- ldr r0, _080E8D30 @ =gUnknown_083DB694
- ldr r2, [r0]
- ldr r0, _080E8D34 @ =0x00009c74
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E8D38 @ =gSprites
- adds r0, r1
- str r0, [r2]
- b _080E8D48
- .align 2, 0
-_080E8D24: .4byte gUnknown_083DBD60
-_080E8D28: .4byte gUnknown_083DBD68
-_080E8D2C: .4byte gSpriteTemplate_83DBDE4
-_080E8D30: .4byte gUnknown_083DB694
-_080E8D34: .4byte 0x00009c74
-_080E8D38: .4byte gSprites
-_080E8D3C:
- ldr r0, _080E8D4C @ =gUnknown_083DB694
- ldr r0, [r0]
- ldr r1, _080E8D50 @ =0x00009c74
- adds r0, r1
- movs r1, 0
- str r1, [r0]
-_080E8D48:
- pop {r0}
- bx r0
- .align 2, 0
-_080E8D4C: .4byte gUnknown_083DB694
-_080E8D50: .4byte 0x00009c74
- thumb_func_end sub_80E8CEC
-
- thumb_func_start sub_80E8D54
-sub_80E8D54: @ 80E8D54
- push {lr}
- ldr r0, _080E8D78 @ =gUnknown_083DB694
- ldr r2, [r0]
- ldr r1, _080E8D7C @ =0x00009c74
- adds r0, r2, r1
- ldr r1, [r0]
- cmp r1, 0
- beq _080E8D88
- adds r0, r2, 0
- adds r0, 0x26
- ldrb r0, [r0]
- cmp r0, 0
- bne _080E8D80
- adds r0, r1, 0
- movs r1, 0x1
- bl StartSpriteAnim
- b _080E8D88
- .align 2, 0
-_080E8D78: .4byte gUnknown_083DB694
-_080E8D7C: .4byte 0x00009c74
-_080E8D80:
- adds r0, r1, 0
- movs r1, 0x2
- bl StartSpriteAnim
-_080E8D88:
- pop {r0}
- bx r0
- thumb_func_end sub_80E8D54
-
- thumb_func_start sub_80E8D8C
-sub_80E8D8C: @ 80E8D8C
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r0, _080E8DB8 @ =gUnknown_083DB694
- ldr r2, [r0]
- ldr r1, _080E8DBC @ =0x00009c74
- adds r0, r2, r1
- ldr r1, [r0]
- cmp r1, 0
- beq _080E8DD2
- cmp r3, 0
- beq _080E8DCA
- adds r0, r2, 0
- adds r0, 0x26
- ldrb r0, [r0]
- cmp r0, 0
- bne _080E8DC0
- adds r0, r1, 0
- movs r1, 0x3
- bl StartSpriteAnim
- b _080E8DD2
- .align 2, 0
-_080E8DB8: .4byte gUnknown_083DB694
-_080E8DBC: .4byte 0x00009c74
-_080E8DC0:
- adds r0, r1, 0
- movs r1, 0x4
- bl StartSpriteAnim
- b _080E8DD2
-_080E8DCA:
- adds r0, r1, 0
- movs r1, 0x5
- bl StartSpriteAnim
-_080E8DD2:
- pop {r0}
- bx r0
- thumb_func_end sub_80E8D8C
-
- thumb_func_start sub_80E8DD8
-sub_80E8DD8: @ 80E8DD8
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x8
- ldr r0, _080E8F2C @ =REG_BG0HOFS
- movs r6, 0
- strh r6, [r0]
- adds r0, 0x2
- strh r6, [r0]
- adds r0, 0x2
- strh r6, [r0]
- adds r0, 0x2
- strh r6, [r0]
- adds r0, 0x4
- strh r6, [r0]
- subs r0, 0x2
- strh r6, [r0]
- adds r0, 0x4
- strh r6, [r0]
- adds r0, 0x2
- strh r6, [r0]
- ldr r1, _080E8F30 @ =REG_BG0CNT
- movs r2, 0x8B
- lsls r2, 8
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _080E8F34 @ =0x00000d09
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _080E8F38 @ =gUnknown_08E945D0
- ldr r1, _080E8F3C @ =gUnknown_083DB694
- ldr r1, [r1]
- mov r8, r1
- movs r4, 0xE4
- lsls r4, 1
- add r4, r8
- movs r5, 0xA0
- lsls r5, 2
- adds r1, r4, 0
- adds r2, r5, 0
- bl CpuSet
- ldr r0, _080E8F40 @ =gUnknown_08E953D0
- movs r1, 0xD9
- lsls r1, 3
- add r1, r8
- bl LZ77UnCompWram
- ldr r0, _080E8F44 @ =gMenuWordGroupFrame_Gfx
- ldr r1, _080E8F48 @ =0x06008000
- bl LZ77UnCompVram
- ldr r1, _080E8F4C @ =0x06006800
- adds r0, r4, 0
- adds r2, r5, 0
- bl CpuSet
- ldr r0, _080E8F50 @ =gMenuWordGroupFrame1_Pal
- movs r1, 0x40
- movs r2, 0x40
- bl LoadPalette
- ldr r1, _080E8F54 @ =REG_BG2CNT
- ldr r2, _080E8F58 @ =0x00000e02
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _080E8F5C @ =0x06007000
- movs r5, 0x80
- lsls r5, 4
- mov r0, sp
- strh r6, [r0]
- ldr r4, _080E8F60 @ =0x040000d4
- str r0, [r4]
- str r1, [r4, 0x4]
- lsrs r0, r5, 1
- movs r2, 0x81
- lsls r2, 24
- orrs r0, r2
- str r0, [r4, 0x8]
- ldr r0, [r4, 0x8]
- ldr r0, _080E8F64 @ =gUnknown_08E9AB00
- ldr r2, _080E8F68 @ =0x06006000
- str r0, [r4]
- str r2, [r4, 0x4]
- ldr r0, _080E8F6C @ =0x80000020
- str r0, [r4, 0x8]
- ldr r0, [r4, 0x8]
- ldr r0, _080E8F70 @ =gUnknown_08E9AB60
- bl LZ77UnCompVram
- ldr r0, _080E8F74 @ =gUnknown_08E9AB40
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _080E8F78 @ =gUnknown_083DBDFC
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- ldr r1, _080E8F7C @ =REG_BG3CNT
- ldr r2, _080E8F80 @ =0x00000f0f
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _080E8F84 @ =0x06007800
- movs r0, 0
- mov r9, r0
- str r0, [sp, 0x4]
- add r0, sp, 0x4
- str r0, [r4]
- str r1, [r4, 0x4]
- lsrs r5, 2
- movs r0, 0x85
- lsls r0, 24
- orrs r5, r0
- str r5, [r4, 0x8]
- ldr r0, [r4, 0x8]
- ldr r0, _080E8F88 @ =gUnknown_083DBE40
- movs r1, 0x20
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _080E8F8C @ =gPlttBufferUnfaded
- adds r1, r0, 0
- adds r1, 0x7E
- ldr r3, _080E8F90 @ =0x00007fff
- strh r3, [r1]
- subs r1, 0x1C
- ldr r2, _080E8F94 @ =0x00006f5b
- strh r2, [r1]
- adds r0, 0x70
- ldr r1, _080E8F98 @ =0x0000739c
- strh r1, [r0]
- ldr r0, _080E8F9C @ =gPlttBufferFaded
- adds r4, r0, 0
- adds r4, 0x7E
- strh r3, [r4]
- adds r3, r0, 0
- adds r3, 0x62
- strh r2, [r3]
- adds r0, 0x70
- strh r1, [r0]
- movs r1, 0xBC
- add r8, r1
- mov r2, r8
- strb r6, [r2]
- bl sub_80E8FA4
- bl sub_80E948C
- movs r0, 0xA
- bl sub_80E9198
- movs r0, 0
- bl sub_80E91D4
- bl sub_80E95A4
- ldr r0, _080E8FA0 @ =REG_BLDCNT
- mov r1, r9
- strh r1, [r0]
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E8F2C: .4byte REG_BG0HOFS
-_080E8F30: .4byte REG_BG0CNT
-_080E8F34: .4byte 0x00000d09
-_080E8F38: .4byte gUnknown_08E945D0
-_080E8F3C: .4byte gUnknown_083DB694
-_080E8F40: .4byte gUnknown_08E953D0
-_080E8F44: .4byte gMenuWordGroupFrame_Gfx
-_080E8F48: .4byte 0x06008000
-_080E8F4C: .4byte 0x06006800
-_080E8F50: .4byte gMenuWordGroupFrame1_Pal
-_080E8F54: .4byte REG_BG2CNT
-_080E8F58: .4byte 0x00000e02
-_080E8F5C: .4byte 0x06007000
-_080E8F60: .4byte 0x040000d4
-_080E8F64: .4byte gUnknown_08E9AB00
-_080E8F68: .4byte 0x06006000
-_080E8F6C: .4byte 0x80000020
-_080E8F70: .4byte gUnknown_08E9AB60
-_080E8F74: .4byte gUnknown_08E9AB40
-_080E8F78: .4byte gUnknown_083DBDFC
-_080E8F7C: .4byte REG_BG3CNT
-_080E8F80: .4byte 0x00000f0f
-_080E8F84: .4byte 0x06007800
-_080E8F88: .4byte gUnknown_083DBE40
-_080E8F8C: .4byte gPlttBufferUnfaded
-_080E8F90: .4byte 0x00007fff
-_080E8F94: .4byte 0x00006f5b
-_080E8F98: .4byte 0x0000739c
-_080E8F9C: .4byte gPlttBufferFaded
-_080E8FA0: .4byte REG_BLDCNT
- thumb_func_end sub_80E8DD8
-
- thumb_func_start sub_80E8FA4
-sub_80E8FA4: @ 80E8FA4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- movs r0, 0
- mov r9, r0
- mov r1, sp
- adds r1, 0x18
- str r1, [sp, 0x24]
- add r2, sp, 0xC
- mov r12, r2
-_080E8FBE:
- mov r3, r9
- lsls r1, r3, 1
- ldr r4, _080E90F4 @ =gMenuWordGroupFrame2_Pal + 0x2
- adds r0, r1, r4
- ldrh r2, [r0]
- movs r0, 0x1F
- ands r0, r2
- lsls r0, 8
- str r0, [sp]
- ldr r5, _080E90F8 @ =gMenuWordGroupFrame2_Pal + 0x8
- adds r1, r5
- ldrh r1, [r1]
- movs r0, 0x1F
- ands r0, r1
- lsls r0, 8
- str r0, [sp, 0xC]
- lsls r2, 16
- lsrs r0, r2, 21
- movs r3, 0x1F
- ands r0, r3
- lsls r0, 8
- str r0, [sp, 0x4]
- lsls r1, 16
- lsrs r0, r1, 21
- ands r0, r3
- lsls r0, 8
- mov r4, r12
- str r0, [r4, 0x4]
- lsrs r2, 26
- ands r2, r3
- lsls r2, 8
- str r2, [sp, 0x8]
- lsrs r1, 26
- ands r1, r3
- lsls r1, 8
- str r1, [r4, 0x8]
- movs r3, 0
- mov r5, r9
- lsls r5, 3
- mov r10, r5
- mov r0, r9
- adds r0, 0x1
- str r0, [sp, 0x28]
- ldr r4, [sp, 0x24]
-_080E9016:
- lsls r0, r3, 2
- adds r2, r4, r0
- mov r5, r12
- adds r1, r5, r0
- add r0, sp
- ldr r1, [r1]
- ldr r0, [r0]
- subs r0, r1, r0
- cmp r0, 0
- bge _080E902C
- adds r0, 0x7
-_080E902C:
- asrs r0, 3
- str r0, [r2]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x2
- bls _080E9016
- movs r4, 0
- ldr r0, _080E90FC @ =gUnknown_083DB694
- ldr r1, [r0]
- mov r0, r10
- add r0, r9
- lsls r0, 1
- mov r8, r0
- movs r5, 0x1F
- ldr r6, [sp, 0x24]
- ldr r0, _080E9100 @ =0x00009c34
- adds r7, r1, r0
-_080E9050:
- lsls r2, r4, 1
- add r2, r8
- adds r2, r7, r2
- ldr r1, [sp, 0x8]
- asrs r1, 8
- ands r1, r5
- lsls r1, 10
- ldr r0, [sp, 0x4]
- asrs r0, 8
- ands r0, r5
- lsls r0, 5
- orrs r1, r0
- ldr r0, [sp]
- asrs r0, 8
- ands r0, r5
- orrs r1, r0
- strh r1, [r2]
- movs r3, 0
- adds r4, 0x1
-_080E9076:
- lsls r0, r3, 2
- mov r1, sp
- adds r2, r1, r0
- adds r0, r6, r0
- ldr r1, [r2]
- ldr r0, [r0]
- adds r1, r0
- str r1, [r2]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x2
- bls _080E9076
- lsls r0, r4, 16
- lsrs r4, r0, 16
- cmp r4, 0x7
- bls _080E9050
- ldr r2, _080E90FC @ =gUnknown_083DB694
- ldr r3, [r2]
- mov r0, r10
- add r0, r9
- adds r0, r4
- lsls r0, 1
- ldr r4, _080E9100 @ =0x00009c34
- adds r2, r3, r4
- adds r2, r0
- mov r5, r12
- ldr r1, [r5, 0x8]
- asrs r1, 8
- movs r0, 0x1F
- ands r1, r0
- lsls r1, 10
- ldr r0, [r5, 0x4]
- asrs r0, 8
- movs r4, 0x1F
- ands r0, r4
- lsls r0, 5
- orrs r1, r0
- ldr r0, [sp, 0xC]
- asrs r0, 8
- ands r0, r4
- orrs r1, r0
- strh r1, [r2]
- ldr r5, [sp, 0x28]
- lsls r0, r5, 16
- lsrs r0, 16
- mov r9, r0
- cmp r0, 0x2
- bhi _080E90DA
- b _080E8FBE
-_080E90DA:
- ldr r0, _080E9104 @ =0x00009c32
- adds r1, r3, r0
- movs r0, 0
- strb r0, [r1]
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E90F4: .4byte gMenuWordGroupFrame2_Pal + 0x2
-_080E90F8: .4byte gMenuWordGroupFrame2_Pal + 0x8
-_080E90FC: .4byte gUnknown_083DB694
-_080E9100: .4byte 0x00009c34
-_080E9104: .4byte 0x00009c32
- thumb_func_end sub_80E8FA4
-
- thumb_func_start sub_80E9108
-sub_80E9108: @ 80E9108
- push {r4-r7,lr}
- lsls r0, 24
- ldr r1, _080E9164 @ =gUnknown_083DB694
- ldr r2, [r1]
- ldr r3, _080E9168 @ =0x00009c32
- adds r1, r2, r3
- lsrs r0, 24
- ldrb r3, [r1]
- adds r0, r3
- strb r0, [r1]
- movs r4, 0
- ldr r0, _080E916C @ =gPlttBufferUnfaded
- mov r12, r0
- adds r6, r1, 0
- ldr r3, _080E9170 @ =0x00009c34
- adds r5, r2, r3
- ldr r7, _080E9174 @ =gPlttBufferFaded
-_080E912A:
- adds r2, r4, 0
- adds r2, 0x51
- lsls r2, 1
- mov r0, r12
- adds r3, r2, r0
- ldrb r0, [r6]
- lsls r0, 1
- lsls r1, r4, 3
- adds r1, r4
- lsls r1, 1
- adds r0, r1
- adds r0, r5, r0
- ldrh r0, [r0]
- strh r0, [r3]
- adds r2, r7
- ldrb r0, [r6]
- lsls r0, 1
- adds r0, r1
- adds r0, r5, r0
- ldrh r0, [r0]
- strh r0, [r2]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x2
- bls _080E912A
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E9164: .4byte gUnknown_083DB694
-_080E9168: .4byte 0x00009c32
-_080E916C: .4byte gPlttBufferUnfaded
-_080E9170: .4byte 0x00009c34
-_080E9174: .4byte gPlttBufferFaded
- thumb_func_end sub_80E9108
-
- thumb_func_start sub_80E9178
-sub_80E9178: @ 80E9178
- push {lr}
- ldr r0, _080E9190 @ =gUnknown_083DB694
- ldr r0, [r0]
- ldr r1, _080E9194 @ =0x00009c32
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- movs r0, 0
- bl sub_80E9108
- pop {r0}
- bx r0
- .align 2, 0
-_080E9190: .4byte gUnknown_083DB694
-_080E9194: .4byte 0x00009c32
- thumb_func_end sub_80E9178
-
- thumb_func_start sub_80E9198
-sub_80E9198: @ 80E9198
- ldr r1, _080E91A0 @ =gUnknown_03000740
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080E91A0: .4byte gUnknown_03000740
- thumb_func_end sub_80E9198
-
- thumb_func_start sub_80E91A4
-sub_80E91A4: @ 80E91A4
- ldr r0, _080E91AC @ =gUnknown_03000740
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080E91AC: .4byte gUnknown_03000740
- thumb_func_end sub_80E91A4
-
- thumb_func_start sub_80E91B0
-sub_80E91B0: @ 80E91B0
- push {lr}
- sub sp, 0x8
- lsls r2, 24
- lsls r1, 27
- lsrs r1, 24
- lsrs r2, 21
- lsls r3, 27
- lsrs r3, 24
- str r3, [sp]
- movs r3, 0x1
- str r3, [sp, 0x4]
- movs r3, 0xB0
- bl sub_8072AB0
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_80E91B0
-
- thumb_func_start sub_80E91D4
-sub_80E91D4: @ 80E91D4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- ldr r0, _080E91FC @ =gWindowConfig_81E6DA8
- bl BasicInitMenuWindow
- cmp r4, 0xA
- bne _080E9200
- movs r0, 0x3
- movs r1, 0xE
- movs r2, 0x1A
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- movs r0, 0xA
- bl sub_80E9198
- b _080E935C
- .align 2, 0
-_080E91FC: .4byte gWindowConfig_81E6DA8
-_080E9200:
- bl sub_80E91A4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xA
- bne _080E9218
- movs r0, 0x3
- movs r1, 0xE
- movs r2, 0x1A
- movs r3, 0x13
- bl MenuDrawTextWindow
-_080E9218:
- adds r0, r4, 0
- bl sub_80E9198
- cmp r4, 0x9
- bls _080E9224
- b _080E935C
-_080E9224:
- lsls r0, r4, 2
- ldr r1, _080E9230 @ =_080E9234
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E9230: .4byte _080E9234
- .align 2, 0
-_080E9234:
- .4byte _080E925C
- .4byte _080E9284
- .4byte _080E92AC
- .4byte _080E92C4
- .4byte _080E92F0
- .4byte _080E9308
- .4byte _080E9310
- .4byte _080E9318
- .4byte _080E933C
- .4byte _080E9350
-_080E925C:
- ldr r0, _080E9278 @ =gUnknown_083DB694
- ldr r4, [r0]
- ldr r1, _080E927C @ =0x00009c80
- adds r0, r4, r1
- movs r1, 0x4
- movs r2, 0xF
- movs r3, 0x2
- bl sub_80E91B0
- ldr r0, _080E9280 @ =0x00009cc9
- adds r4, r0
- adds r0, r4, 0
- b _080E9326
- .align 2, 0
-_080E9278: .4byte gUnknown_083DB694
-_080E927C: .4byte 0x00009c80
-_080E9280: .4byte 0x00009cc9
-_080E9284:
- ldr r0, _080E92A0 @ =gUnknown_083DB694
- ldr r4, [r0]
- ldr r1, _080E92A4 @ =0x00009d12
- adds r0, r4, r1
- movs r1, 0x4
- movs r2, 0xF
- movs r3, 0x2
- bl sub_80E91B0
- ldr r0, _080E92A8 @ =0x00009d5b
- adds r4, r0
- adds r0, r4, 0
- b _080E9326
- .align 2, 0
-_080E92A0: .4byte gUnknown_083DB694
-_080E92A4: .4byte 0x00009d12
-_080E92A8: .4byte 0x00009d5b
-_080E92AC:
- ldr r0, _080E92BC @ =gOtherText_TextDeletedConfirmPage1
- movs r1, 0x4
- movs r2, 0xF
- movs r3, 0x2
- bl sub_80E91B0
- ldr r0, _080E92C0 @ =gOtherText_TextDeletedConfirmPage2
- b _080E9326
- .align 2, 0
-_080E92BC: .4byte gOtherText_TextDeletedConfirmPage1
-_080E92C0: .4byte gOtherText_TextDeletedConfirmPage2
-_080E92C4:
- ldr r0, _080E92D8 @ =gUnknown_083DB694
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0x4
- beq _080E92E0
- cmp r0, 0x9
- bne _080E92E8
- ldr r0, _080E92DC @ =gOtherText_QuitGivingInfo
- b _080E933E
- .align 2, 0
-_080E92D8: .4byte gUnknown_083DB694
-_080E92DC: .4byte gOtherText_QuitGivingInfo
-_080E92E0:
- ldr r0, _080E92E4 @ =gOtherText_StopGivingMail
- b _080E933E
- .align 2, 0
-_080E92E4: .4byte gOtherText_StopGivingMail
-_080E92E8:
- ldr r0, _080E92EC @ =gOtherText_QuitEditing
- b _080E933E
- .align 2, 0
-_080E92EC: .4byte gOtherText_QuitEditing
-_080E92F0:
- ldr r0, _080E9300 @ =gOtherText_EditedTextNoSavePage1
- movs r1, 0x4
- movs r2, 0xF
- movs r3, 0x2
- bl sub_80E91B0
- ldr r0, _080E9304 @ =gOtherText_EditedTextNoSavePage2
- b _080E9326
- .align 2, 0
-_080E9300: .4byte gOtherText_EditedTextNoSavePage1
-_080E9304: .4byte gOtherText_EditedTextNoSavePage2
-_080E9308:
- ldr r0, _080E930C @ =gOtherText_EnterAPhraseOrWord
- b _080E933E
- .align 2, 0
-_080E930C: .4byte gOtherText_EnterAPhraseOrWord
-_080E9310:
- ldr r0, _080E9314 @ =gOtherText_TextNoDelete
- b _080E933E
- .align 2, 0
-_080E9314: .4byte gOtherText_TextNoDelete
-_080E9318:
- ldr r0, _080E9334 @ =gOtherText_OnlyOnePhrase
- movs r1, 0x4
- movs r2, 0xF
- movs r3, 0x2
- bl sub_80E91B0
- ldr r0, _080E9338 @ =gOtherText_OriginalSongRestored
-_080E9326:
- movs r1, 0x4
- movs r2, 0x11
- movs r3, 0x2
- bl sub_80E91B0
- b _080E935C
- .align 2, 0
-_080E9334: .4byte gOtherText_OnlyOnePhrase
-_080E9338: .4byte gOtherText_OriginalSongRestored
-_080E933C:
- ldr r0, _080E934C @ =gOtherText_TrendyAlready
-_080E933E:
- movs r1, 0x4
- movs r2, 0xF
- movs r3, 0x4
- bl sub_80E91B0
- b _080E935C
- .align 2, 0
-_080E934C: .4byte gOtherText_TrendyAlready
-_080E9350:
- ldr r0, _080E9364 @ =gOtherText_CombineTwoPhrases
- movs r1, 0x4
- movs r2, 0xF
- movs r3, 0x4
- bl sub_80E91B0
-_080E935C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E9364: .4byte gOtherText_CombineTwoPhrases
- thumb_func_end sub_80E91D4
-
- thumb_func_start sub_80E9368
-sub_80E9368: @ 80E9368
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD
- bhi _080E93F8
- lsls r0, 2
- ldr r1, _080E937C @ =_080E9380
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E937C: .4byte _080E9380
- .align 2, 0
-_080E9380:
- .4byte _080E93B8
- .4byte _080E93C0
- .4byte _080E93C8
- .4byte _080E93D0
- .4byte _080E93F8
- .4byte _080E93E8
- .4byte _080E93D8
- .4byte _080E93E8
- .4byte _080E93E8
- .4byte _080E93E0
- .4byte _080E93E8
- .4byte _080E93E8
- .4byte _080E93E8
- .4byte _080E93F0
-_080E93B8:
- ldr r4, _080E93BC @ =gOtherText_Profile
- b _080E93FA
- .align 2, 0
-_080E93BC: .4byte gOtherText_Profile
-_080E93C0:
- ldr r4, _080E93C4 @ =gOtherText_AtBattleStart
- b _080E93FA
- .align 2, 0
-_080E93C4: .4byte gOtherText_AtBattleStart
-_080E93C8:
- ldr r4, _080E93CC @ =gOtherText_UponWinningBattle
- b _080E93FA
- .align 2, 0
-_080E93CC: .4byte gOtherText_UponWinningBattle
-_080E93D0:
- ldr r4, _080E93D4 @ =gOtherText_UponLosingBattle
- b _080E93FA
- .align 2, 0
-_080E93D4: .4byte gOtherText_UponLosingBattle
-_080E93D8:
- ldr r4, _080E93DC @ =gOtherText_TheBardsSong
- b _080E93FA
- .align 2, 0
-_080E93DC: .4byte gOtherText_TheBardsSong
-_080E93E0:
- ldr r4, _080E93E4 @ =gOtherText_WhatsHipHappening
- b _080E93FA
- .align 2, 0
-_080E93E4: .4byte gOtherText_WhatsHipHappening
-_080E93E8:
- ldr r4, _080E93EC @ =gOtherText_Interview
- b _080E93FA
- .align 2, 0
-_080E93EC: .4byte gOtherText_Interview
-_080E93F0:
- ldr r4, _080E93F4 @ =gOtherText_GoodSaying
- b _080E93FA
- .align 2, 0
-_080E93F4: .4byte gOtherText_GoodSaying
-_080E93F8:
- movs r4, 0
-_080E93FA:
- ldr r0, _080E943C @ =gWindowConfig_81E6D8C
- bl BasicInitMenuWindow
- ldr r0, _080E9440 @ =gUnknown_083DB694
- ldr r2, [r0]
- ldr r0, _080E9444 @ =0x00009f8e
- adds r5, r2, r0
- movs r3, 0xFC
- strb r3, [r5]
- adds r0, 0x1
- adds r1, r2, r0
- movs r0, 0x5
- strb r0, [r1]
- ldr r0, _080E9448 @ =0x00009f90
- adds r1, r2, r0
- movs r0, 0x1
- strb r0, [r1]
- cmp r4, 0
- beq _080E9450
- ldr r1, _080E944C @ =0x00009f91
- adds r0, r2, r1
- adds r1, r4, 0
- movs r2, 0xF0
- movs r3, 0x2
- bl sub_8072C74
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0
- bl MenuPrint
- b _080E9476
- .align 2, 0
-_080E943C: .4byte gWindowConfig_81E6D8C
-_080E9440: .4byte gUnknown_083DB694
-_080E9444: .4byte 0x00009f8e
-_080E9448: .4byte 0x00009f90
-_080E944C: .4byte 0x00009f91
-_080E9450:
- ldr r0, _080E9484 @ =0x00009f91
- adds r1, r2, r0
- strb r3, [r1]
- movs r0, 0x11
- strb r0, [r1, 0x1]
- movs r0, 0x10
- strb r0, [r1, 0x2]
- movs r0, 0xFF
- strb r0, [r1, 0x3]
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0
- bl MenuPrint
- adds r0, r5, 0
- movs r1, 0x1C
- movs r2, 0
- bl MenuPrint
-_080E9476:
- ldr r0, _080E9488 @ =gWindowConfig_81E6DA8
- bl BasicInitMenuWindow
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E9484: .4byte 0x00009f91
-_080E9488: .4byte gWindowConfig_81E6DA8
- thumb_func_end sub_80E9368
-
- thumb_func_start sub_80E948C
-sub_80E948C: @ 80E948C
- push {lr}
- sub sp, 0x10
- ldr r0, _080E94A8 @ =gUnknown_083DB694
- ldr r0, [r0]
- ldrb r0, [r0, 0x9]
- cmp r0, 0x5
- bls _080E949C
- b _080E9594
-_080E949C:
- lsls r0, 2
- ldr r1, _080E94AC @ =_080E94B0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E94A8: .4byte gUnknown_083DB694
-_080E94AC: .4byte _080E94B0
- .align 2, 0
-_080E94B0:
- .4byte _080E9508
- .4byte _080E9530
- .4byte _080E9554
- .4byte _080E9578
- .4byte _080E94C8
- .4byte _080E94E8
-_080E94C8:
- ldr r0, _080E94E0 @ =0x06006800
- ldr r3, _080E94E4 @ =gUnknown_08E94AD0
- movs r1, 0
- str r1, [sp]
- movs r1, 0x1A
- str r1, [sp, 0x4]
- movs r1, 0x18
- str r1, [sp, 0x8]
- movs r1, 0x6
- str r1, [sp, 0xC]
- movs r1, 0x3
- b _080E9568
- .align 2, 0
-_080E94E0: .4byte 0x06006800
-_080E94E4: .4byte gUnknown_08E94AD0
-_080E94E8:
- ldr r0, _080E9500 @ =0x06006800
- ldr r3, _080E9504 @ =gUnknown_08E94AD0
- movs r1, 0
- str r1, [sp]
- movs r1, 0x12
- str r1, [sp, 0x4]
- movs r1, 0xD
- str r1, [sp, 0x8]
- movs r1, 0x8
- str r1, [sp, 0xC]
- movs r1, 0xE
- b _080E951E
- .align 2, 0
-_080E9500: .4byte 0x06006800
-_080E9504: .4byte gUnknown_08E94AD0
-_080E9508:
- ldr r0, _080E9528 @ =0x06006800
- ldr r3, _080E952C @ =gUnknown_08E94AD0
- movs r1, 0
- str r1, [sp]
- movs r1, 0xA
- str r1, [sp, 0x4]
- movs r1, 0x1A
- str r1, [sp, 0x8]
- movs r1, 0x8
- str r1, [sp, 0xC]
- movs r1, 0x2
-_080E951E:
- movs r2, 0x2
- bl sub_809D104
- b _080E9594
- .align 2, 0
-_080E9528: .4byte 0x06006800
-_080E952C: .4byte gUnknown_08E94AD0
-_080E9530:
- ldr r0, _080E954C @ =0x06006800
- ldr r3, _080E9550 @ =gUnknown_08E94AD0
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- movs r1, 0x1A
- str r1, [sp, 0x8]
- movs r1, 0xA
- str r1, [sp, 0xC]
- movs r1, 0x2
- movs r2, 0
- bl sub_809D104
- b _080E9594
- .align 2, 0
-_080E954C: .4byte 0x06006800
-_080E9550: .4byte gUnknown_08E94AD0
-_080E9554:
- ldr r0, _080E9570 @ =0x06006800
- ldr r3, _080E9574 @ =gUnknown_08E94AD0
- movs r2, 0xD
- str r2, [sp]
- movs r1, 0x12
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- movs r1, 0x4
- str r1, [sp, 0xC]
- movs r1, 0xE
-_080E9568:
- movs r2, 0x3
- bl sub_809D104
- b _080E9594
- .align 2, 0
-_080E9570: .4byte 0x06006800
-_080E9574: .4byte gUnknown_08E94AD0
-_080E9578:
- ldr r0, _080E959C @ =0x06006800
- ldr r3, _080E95A0 @ =gUnknown_08E94AD0
- movs r1, 0
- str r1, [sp]
- movs r1, 0x20
- str r1, [sp, 0x4]
- movs r1, 0x18
- str r1, [sp, 0x8]
- movs r1, 0x4
- str r1, [sp, 0xC]
- movs r1, 0x3
- movs r2, 0x2
- bl sub_809D104
-_080E9594:
- add sp, 0x10
- pop {r0}
- bx r0
- .align 2, 0
-_080E959C: .4byte 0x06006800
-_080E95A0: .4byte gUnknown_08E94AD0
- thumb_func_end sub_80E948C
-
- thumb_func_start sub_80E95A4
-sub_80E95A4: @ 80E95A4
- push {lr}
- ldr r0, _080E95C0 @ =gWindowConfig_81E6D8C
- bl BasicInitMenuWindow
- ldr r0, _080E95C4 @ =gUnknown_083DB694
- ldr r0, [r0]
- ldrb r0, [r0, 0x9]
- cmp r0, 0x5
- bhi _080E9612
- lsls r0, 2
- ldr r1, _080E95C8 @ =_080E95CC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E95C0: .4byte gWindowConfig_81E6D8C
-_080E95C4: .4byte gUnknown_083DB694
-_080E95C8: .4byte _080E95CC
- .align 2, 0
-_080E95CC:
- .4byte _080E95F2
- .4byte _080E95F6
- .4byte _080E9600
- .4byte _080E960A
- .4byte _080E95E4
- .4byte _080E95EE
-_080E95E4:
- movs r0, 0x4
- movs r1, 0x6
- bl sub_80E9620
- b _080E9612
-_080E95EE:
- movs r0, 0x2
- b _080E9602
-_080E95F2:
- movs r0, 0x3
- b _080E95F8
-_080E95F6:
- movs r0, 0
-_080E95F8:
- movs r1, 0x5
- bl sub_80E9620
- b _080E9612
-_080E9600:
- movs r0, 0x4
-_080E9602:
- movs r1, 0x11
- bl sub_80E9620
- b _080E9612
-_080E960A:
- movs r0, 0x3
- movs r1, 0x6
- bl sub_80E9620
-_080E9612:
- ldr r0, _080E961C @ =gWindowConfig_81E6DA8
- bl BasicInitMenuWindow
- pop {r0}
- bx r0
- .align 2, 0
-_080E961C: .4byte gWindowConfig_81E6DA8
- thumb_func_end sub_80E95A4
-
- thumb_func_start sub_80E9620
-sub_80E9620: @ 80E9620
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- lsls r0, 16
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp, 0x14]
- movs r1, 0
- mov r10, r1
- lsrs r7, r0, 16
- mov r9, r1
- ldr r0, _080E9644 @ =gUnknown_083DB694
- ldr r0, [r0]
- b _080E971A
- .align 2, 0
-_080E9644: .4byte gUnknown_083DB694
-_080E9648:
- ldr r6, [sp, 0x14]
- movs r2, 0
- mov r8, r2
- adds r0, r7, 0x2
- str r0, [sp, 0x1C]
- mov r1, r9
- adds r1, 0x1
- str r1, [sp, 0x18]
- b _080E96E4
-_080E965A:
- mov r2, r10
- lsls r0, r2, 1
- adds r1, r5, 0
- adds r1, 0xC
- adds r1, r0
- ldrh r0, [r1]
- ldr r2, _080E9690 @ =0x0000ffff
- cmp r0, r2
- bne _080E969C
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r1, 0x9
- str r1, [sp, 0x8]
- movs r0, 0x2
- str r0, [sp, 0xC]
- str r1, [sp, 0x10]
- ldr r0, _080E9694 @ =0x06007000
- adds r1, r6, 0
- adds r2, r7, 0
- ldr r3, _080E9698 @ =gUnknown_083DBE1C
- bl sub_8095C8C
- adds r0, r6, 0
- adds r0, 0xB
- b _080E96CC
- .align 2, 0
-_080E9690: .4byte 0x0000ffff
-_080E9694: .4byte 0x06007000
-_080E9698: .4byte gUnknown_083DBE1C
-_080E969C:
- ldr r0, _080E9738 @ =0x00009e14
- adds r4, r5, r0
- ldrh r1, [r1]
- adds r0, r4, 0
- movs r2, 0xB
- bl sub_80EB218
- lsls r1, r6, 24
- lsrs r1, 24
- lsls r2, r7, 24
- lsrs r2, 24
- adds r0, r4, 0
- bl MenuPrint
- mov r1, r9
- lsls r0, r1, 1
- add r0, r8
- adds r1, r5, 0
- adds r1, 0x8C
- adds r1, r0
- adds r0, r6, 0
- adds r0, 0xB
- ldrb r1, [r1]
- adds r0, r1
-_080E96CC:
- lsls r0, 16
- lsrs r6, r0, 16
- mov r0, r10
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
-_080E96E4:
- ldr r0, _080E973C @ =gUnknown_083DB694
- ldr r5, [r0]
- adds r0, r5, 0
- adds r0, 0x83
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r8, r0
- bge _080E970A
- ldrb r2, [r5, 0xA]
- cmp r10, r2
- bcc _080E965A
- lsls r1, r6, 24
- lsrs r1, 24
- lsls r2, r7, 24
- lsrs r2, 24
- ldr r0, _080E9740 @ =gUnknown_083DBEA8
- bl MenuPrint
-_080E970A:
- ldr r1, [sp, 0x1C]
- lsls r0, r1, 16
- lsrs r7, r0, 16
- ldr r2, [sp, 0x18]
- lsls r0, r2, 16
- lsrs r0, 16
- mov r9, r0
- adds r0, r5, 0
-_080E971A:
- adds r0, 0x84
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r9, r0
- blt _080E9648
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E9738: .4byte 0x00009e14
-_080E973C: .4byte gUnknown_083DB694
-_080E9740: .4byte gUnknown_083DBEA8
- thumb_func_end sub_80E9620
-
- thumb_func_start sub_80E9744
-sub_80E9744: @ 80E9744
- push {lr}
- ldr r0, _080E9760 @ =gWindowConfig_81E6D8C
- bl BasicInitMenuWindow
- ldr r0, _080E9764 @ =gUnknown_083DB694
- ldr r0, [r0]
- ldrb r0, [r0, 0x9]
- cmp r0, 0x5
- bhi _080E97B2
- lsls r0, 2
- ldr r1, _080E9768 @ =_080E976C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E9760: .4byte gWindowConfig_81E6D8C
-_080E9764: .4byte gUnknown_083DB694
-_080E9768: .4byte _080E976C
- .align 2, 0
-_080E976C:
- .4byte _080E9792
- .4byte _080E9796
- .4byte _080E97A0
- .4byte _080E97AA
- .4byte _080E9784
- .4byte _080E978E
-_080E9784:
- movs r0, 0x4
- movs r1, 0x6
- bl sub_80E97C0
- b _080E97B2
-_080E978E:
- movs r0, 0x2
- b _080E97A2
-_080E9792:
- movs r0, 0x3
- b _080E9798
-_080E9796:
- movs r0, 0
-_080E9798:
- movs r1, 0x5
- bl sub_80E97C0
- b _080E97B2
-_080E97A0:
- movs r0, 0x4
-_080E97A2:
- movs r1, 0x11
- bl sub_80E97C0
- b _080E97B2
-_080E97AA:
- movs r0, 0x3
- movs r1, 0x6
- bl sub_80E97C0
-_080E97B2:
- ldr r0, _080E97BC @ =gWindowConfig_81E6DA8
- bl BasicInitMenuWindow
- pop {r0}
- bx r0
- .align 2, 0
-_080E97BC: .4byte gWindowConfig_81E6DA8
- thumb_func_end sub_80E9744
-
- thumb_func_start sub_80E97C0
-sub_80E97C0: @ 80E97C0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp]
- movs r7, 0
- movs r3, 0
- ldr r1, _080E98B8 @ =gUnknown_083DB694
- ldr r0, [r1]
- adds r0, 0x84
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r3, r0
- bge _080E98A6
-_080E97EA:
- ldr r1, [r1]
- ldr r0, _080E98BC @ =0x00009e6e
- adds r2, r1, r0
- movs r6, 0
- adds r0, r1, 0
- adds r0, 0x83
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldr r4, [sp]
- lsls r4, 24
- mov r8, r4
- lsls r4, r5, 24
- mov r9, r4
- adds r5, 0x2
- mov r10, r5
- adds r3, 0x1
- str r3, [sp, 0x4]
- cmp r6, r0
- bge _080E985E
- ldrb r1, [r1, 0xA]
- cmp r7, r1
- bcs _080E985E
- ldr r0, _080E98B8 @ =gUnknown_083DB694
- ldr r4, [r0]
- ldr r5, _080E98C0 @ =0x0000ffff
-_080E981E:
- lsls r0, r7, 1
- adds r1, r4, 0
- adds r1, 0xC
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, r5
- beq _080E983E
- adds r1, r0, 0
- adds r0, r2, 0
- movs r2, 0
- bl sub_80EB218
- adds r2, r0, 0
- movs r0, 0
- strb r0, [r2]
- adds r2, 0x1
-_080E983E:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r4, 0
- adds r0, 0x83
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r6, r0
- bge _080E985E
- ldrb r0, [r4, 0xA]
- cmp r7, r0
- bcc _080E981E
-_080E985E:
- ldr r1, _080E98B8 @ =gUnknown_083DB694
- ldr r4, [r1]
- adds r0, r4, 0
- adds r0, 0x83
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0xB
- muls r1, r0
- movs r0, 0xFC
- strb r0, [r2]
- movs r0, 0x13
- strb r0, [r2, 0x1]
- lsls r1, 3
- strb r1, [r2, 0x2]
- movs r0, 0xFF
- strb r0, [r2, 0x3]
- ldr r2, _080E98BC @ =0x00009e6e
- adds r0, r4, r2
- mov r3, r8
- lsrs r1, r3, 24
- mov r3, r9
- lsrs r2, r3, 24
- bl MenuPrint
- mov r1, r10
- lsls r0, r1, 16
- lsrs r5, r0, 16
- ldr r2, [sp, 0x4]
- lsls r0, r2, 24
- lsrs r3, r0, 24
- ldr r1, _080E98B8 @ =gUnknown_083DB694
- adds r4, 0x84
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r3, r0
- blt _080E97EA
-_080E98A6:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E98B8: .4byte gUnknown_083DB694
-_080E98BC: .4byte 0x00009e6e
-_080E98C0: .4byte 0x0000ffff
- thumb_func_end sub_80E97C0
-
- thumb_func_start sub_80E98C4
-sub_80E98C4: @ 80E98C4
- push {lr}
- ldr r0, _080E98E0 @ =gWindowConfig_81E6D8C
- bl BasicInitMenuWindow
- ldr r0, _080E98E4 @ =gUnknown_083DB694
- ldr r0, [r0]
- ldrb r0, [r0, 0x9]
- cmp r0, 0x5
- bhi _080E9936
- lsls r0, 2
- ldr r1, _080E98E8 @ =_080E98EC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E98E0: .4byte gWindowConfig_81E6D8C
-_080E98E4: .4byte gUnknown_083DB694
-_080E98E8: .4byte _080E98EC
- .align 2, 0
-_080E98EC:
- .4byte _080E990A
- .4byte _080E9910
- .4byte _080E9916
- .4byte _080E991A
- .4byte _080E9904
- .4byte _080E990A
-_080E9904:
- movs r1, 0x4
- movs r3, 0x2
- b _080E991E
-_080E990A:
- movs r1, 0x3
- movs r3, 0x2
- b _080E991E
-_080E9910:
- movs r1, 0x1
- movs r3, 0x3
- b _080E991E
-_080E9916:
- movs r1, 0x4
- b _080E991C
-_080E991A:
- movs r1, 0x3
-_080E991C:
- movs r3, 0x1
-_080E991E:
- lsls r3, 1
- adds r3, r1, r3
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x2
- movs r2, 0x1B
- bl MenuFillWindowRectWithBlankTile
- ldr r0, _080E993C @ =gWindowConfig_81E6DA8
- bl BasicInitMenuWindow
-_080E9936:
- pop {r0}
- bx r0
- .align 2, 0
-_080E993C: .4byte gWindowConfig_81E6DA8
- thumb_func_end sub_80E98C4
-
- thumb_func_start sub_80E9940
-sub_80E9940: @ 80E9940
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r5, r1, 24
- lsrs r5, 24
- movs r4, 0x7
- ands r4, r5
- lsls r3, r4, 1
- adds r1, r3, 0
- adds r3, 0x1
- movs r0, 0x2
- movs r2, 0x1F
- bl MenuFillWindowRectWithBlankTile
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80E9A7C
- lsls r4, 1
- adds r0, r6, 0
- movs r1, 0x2
- adds r2, r4, 0
- bl sub_80E9A60
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80E9940
-
- thumb_func_start sub_80E9974
-sub_80E9974: @ 80E9974
- push {r4-r6,lr}
- ldr r0, _080E99C4 @ =gWindowConfig_81E6D54
- bl BasicInitMenuWindow
- ldr r0, _080E99C8 @ =gUnknown_083DB694
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x26
- ldrb r0, [r0]
- cmp r0, 0
- bne _080E99D4
- ldr r1, _080E99CC @ =0x000001b5
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r1, r0, 16
- lsrs r4, r1, 16
- adds r0, 0x4
- cmp r4, r0
- bge _080E9A08
- adds r5, r2, 0
- ldr r2, _080E99CC @ =0x000001b5
- adds r6, r5, r2
-_080E99A4:
- lsls r1, r4, 24
- lsrs r1, 24
- ldr r2, _080E99D0 @ =0x00009dc9
- adds r0, r5, r2
- bl sub_80E9940
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0
- ldrsb r0, [r6, r0]
- adds r0, 0x4
- cmp r4, r0
- blt _080E99A4
- b _080E9A08
- .align 2, 0
-_080E99C4: .4byte gWindowConfig_81E6D54
-_080E99C8: .4byte gUnknown_083DB694
-_080E99CC: .4byte 0x000001b5
-_080E99D0: .4byte 0x00009dc9
-_080E99D4:
- bl sub_80E9AD4
- ldr r4, _080E9A10 @ =gUnknown_083DBEAC
- adds r0, r4, 0
- movs r1, 0x2
- movs r2, 0
- bl sub_80E9A60
- adds r0, r4, 0
- adds r0, 0x20
- movs r1, 0x2
- movs r2, 0x2
- bl sub_80E9A60
- adds r0, r4, 0
- adds r0, 0x40
- movs r1, 0x2
- movs r2, 0x4
- bl sub_80E9A60
- adds r4, 0x60
- adds r0, r4, 0
- movs r1, 0x2
- movs r2, 0x6
- bl sub_80E9A60
-_080E9A08:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E9A10: .4byte gUnknown_083DBEAC
- thumb_func_end sub_80E9974
-
- thumb_func_start sub_80E9A14
-sub_80E9A14: @ 80E9A14
- push {lr}
- bl sub_80E9A4C
- ldr r0, _080E9A44 @ =gUnknown_083DB694
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x26
- ldrb r0, [r0]
- cmp r0, 0
- bne _080E9A40
- movs r0, 0xDD
- lsls r0, 1
- adds r2, r1, r0
- ldr r3, _080E9A48 @ =0x000001b5
- adds r0, r1, r3
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 4
- ldrh r1, [r2]
- adds r0, r1
- strh r0, [r2]
-_080E9A40:
- pop {r0}
- bx r0
- .align 2, 0
-_080E9A44: .4byte gUnknown_083DB694
-_080E9A48: .4byte 0x000001b5
- thumb_func_end sub_80E9A14
-
- thumb_func_start sub_80E9A4C
-sub_80E9A4C: @ 80E9A4C
- ldr r0, _080E9A5C @ =gUnknown_083DB694
- ldr r0, [r0]
- movs r2, 0xDD
- lsls r2, 1
- adds r1, r0, r2
- movs r0, 0
- strh r0, [r1]
- bx lr
- .align 2, 0
-_080E9A5C: .4byte gUnknown_083DB694
- thumb_func_end sub_80E9A4C
-
- thumb_func_start sub_80E9A60
-sub_80E9A60: @ 80E9A60
- push {lr}
- lsls r2, 16
- movs r3, 0xF0
- lsls r3, 12
- ands r3, r2
- lsls r1, 24
- lsrs r1, 24
- lsrs r3, 16
- adds r2, r3, 0
- bl MenuPrint
- pop {r0}
- bx r0
- thumb_func_end sub_80E9A60
-
- thumb_func_start sub_80E9A7C
-sub_80E9A7C: @ 80E9A7C
- push {r4-r7,lr}
- adds r2, r0, 0
- lsls r1, 16
- lsrs r7, r1, 16
- lsls r0, r7, 17
- lsrs r5, r0, 16
- movs r4, 0
- ldr r0, _080E9AD0 @ =gUnknown_083DB694
- ldr r6, [r0]
-_080E9A8E:
- movs r0, 0xFC
- strb r0, [r2]
- movs r0, 0x12
- strb r0, [r2, 0x1]
- movs r0, 0x58
- muls r0, r4
- strb r0, [r2, 0x2]
- adds r2, 0x3
- lsls r1, r7, 1
- adds r1, r4, r1
- adds r0, r6, 0
- adds r0, 0x2A
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r2, 0
- movs r2, 0xB
- bl sub_80EAD64
- adds r2, r0, 0
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldrh r0, [r6, 0x28]
- cmp r5, r0
- bcs _080E9ACA
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _080E9A8E
-_080E9ACA:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E9AD0: .4byte gUnknown_083DB694
- thumb_func_end sub_80E9A7C
-
- thumb_func_start sub_80E9AD4
-sub_80E9AD4: @ 80E9AD4
- push {r4,lr}
- ldr r0, _080E9AF4 @ =gWindowConfig_81E6D54
- bl BasicInitMenuWindow
- movs r4, 0
-_080E9ADE:
- adds r0, r4, 0
- bl sub_80E9C74
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0xF
- bls _080E9ADE
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E9AF4: .4byte gWindowConfig_81E6D54
- thumb_func_end sub_80E9AD4
-
- thumb_func_start sub_80E9AF8
-sub_80E9AF8: @ 80E9AF8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 16
- lsrs r7, r0, 16
- adds r0, r7, 0
- bl sub_80E9C74
- ldr r4, _080E9B7C @ =gUnknown_083DB694
- ldr r5, [r4]
- ldr r0, _080E9B80 @ =0x00009e14
- adds r0, r5
- mov r8, r0
- movs r0, 0xFC
- mov r1, r8
- strb r0, [r1]
- movs r0, 0x11
- strb r0, [r1, 0x1]
- movs r0, 0x10
- strb r0, [r1, 0x2]
- ldr r2, _080E9B84 @ =0x00009e17
- adds r2, r5
- mov r8, r2
- adds r0, r5, 0
- adds r0, 0x7D
- ldrb r0, [r0]
- cmp r0, 0
- beq _080E9BF4
- movs r6, 0
- ldr r3, _080E9B88 @ =0x000099a6
- adds r0, r5, r3
- adds r0, r7
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r6, r0
- blt _080E9B4A
- b _080E9C52
-_080E9B4A:
- lsls r0, r7, 2
- mov r9, r0
- ldr r1, _080E9B8C @ =0x00009a2a
- adds r1, r5, r1
- str r1, [sp]
- lsls r2, r7, 17
- mov r10, r2
-_080E9B58:
- lsls r4, r6, 1
- mov r3, r9
- adds r0, r4, r3
- ldr r1, [sp]
- adds r0, r1, r0
- ldrh r0, [r0]
- bl sub_80EB2D4
- lsls r0, 16
- lsrs r0, 16
- adds r5, r4, 0
- cmp r0, 0x7
- bne _080E9B94
- ldr r0, _080E9B90 @ =gWindowConfig_81E6D70
- bl BasicInitMenuWindow
- b _080E9B9A
- .align 2, 0
-_080E9B7C: .4byte gUnknown_083DB694
-_080E9B80: .4byte 0x00009e14
-_080E9B84: .4byte 0x00009e17
-_080E9B88: .4byte 0x000099a6
-_080E9B8C: .4byte 0x00009a2a
-_080E9B90: .4byte gWindowConfig_81E6D70
-_080E9B94:
- ldr r0, _080E9BE0 @ =gWindowConfig_81E6D54
- bl BasicInitMenuWindow
-_080E9B9A:
- ldr r2, _080E9BE4 @ =gUnknown_083DB694
- ldr r4, [r2]
- mov r3, r9
- adds r1, r5, r3
- ldr r2, _080E9BE8 @ =0x00009a2a
- adds r0, r4, r2
- adds r0, r1
- ldrh r1, [r0]
- mov r0, r8
- movs r2, 0x9
- bl sub_80EB218
- ldr r3, _080E9BEC @ =0x00009e14
- adds r0, r4, r3
- movs r1, 0xB
- muls r1, r6
- adds r1, 0x4
- lsls r1, 16
- lsrs r1, 16
- mov r3, r10
- lsrs r2, r3, 16
- bl sub_80E9A60
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, _080E9BF0 @ =0x000099a6
- adds r4, r0
- adds r4, r7
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r6, r0
- blt _080E9B58
- b _080E9C52
- .align 2, 0
-_080E9BE0: .4byte gWindowConfig_81E6D54
-_080E9BE4: .4byte gUnknown_083DB694
-_080E9BE8: .4byte 0x00009a2a
-_080E9BEC: .4byte 0x00009e14
-_080E9BF0: .4byte 0x000099a6
-_080E9BF4:
- ldr r0, _080E9C64 @ =gWindowConfig_81E6D54
- bl BasicInitMenuWindow
- movs r6, 0
- ldr r1, _080E9C68 @ =0x000099a6
- adds r0, r5, r1
- adds r0, r7
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r6, r0
- bge _080E9C52
- adds r4, r5, 0
- adds r0, r4, r1
- adds r0, r7
- mov r9, r0
- lsls r5, r7, 17
-_080E9C16:
- lsls r1, r6, 1
- lsls r0, r7, 2
- adds r1, r0
- ldr r2, _080E9C6C @ =0x00009a2a
- adds r0, r4, r2
- adds r0, r1
- ldrh r1, [r0]
- mov r0, r8
- movs r2, 0x9
- bl sub_80EB218
- movs r0, 0xB
- adds r1, r6, 0
- muls r1, r0
- adds r1, 0x4
- lsls r1, 16
- lsrs r1, 16
- ldr r3, _080E9C70 @ =0x00009e14
- adds r0, r4, r3
- lsrs r2, r5, 16
- bl sub_80E9A60
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- mov r1, r9
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r6, r0
- blt _080E9C16
-_080E9C52:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E9C64: .4byte gWindowConfig_81E6D54
-_080E9C68: .4byte 0x000099a6
-_080E9C6C: .4byte 0x00009a2a
-_080E9C70: .4byte 0x00009e14
- thumb_func_end sub_80E9AF8
-
- thumb_func_start sub_80E9C74
-sub_80E9C74: @ 80E9C74
- push {lr}
- lsls r0, 16
- movs r1, 0xE0
- lsls r1, 11
- ands r1, r0
- lsrs r1, 16
- lsls r3, r1, 1
- adds r1, r3, 0
- adds r3, 0x1
- movs r0, 0
- movs r2, 0x1D
- bl MenuFillWindowRectWithBlankTile
- pop {r0}
- bx r0
- thumb_func_end sub_80E9C74
-
- thumb_func_start sub_80E9C94
-sub_80E9C94: @ 80E9C94
- push {r4-r6,lr}
- ldr r0, _080E9CAC @ =gUnknown_083DB694
- ldr r0, [r0]
- ldr r2, _080E9CB0 @ =0x00009a28
- adds r1, r0, r2
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, 0x3
- bgt _080E9CB4
- lsls r0, 16
- lsrs r0, 16
- b _080E9CB6
- .align 2, 0
-_080E9CAC: .4byte gUnknown_083DB694
-_080E9CB0: .4byte 0x00009a28
-_080E9CB4:
- movs r0, 0x4
-_080E9CB6:
- adds r5, r0, 0
- movs r4, 0
- cmp r4, r5
- bcs _080E9CF4
- ldr r0, _080E9CE0 @ =gUnknown_083DB694
- ldr r0, [r0]
- ldr r1, _080E9CE4 @ =0x00009a29
- adds r6, r0, r1
-_080E9CC6:
- movs r0, 0
- ldrsb r0, [r6, r0]
- adds r0, r4, r0
- lsls r0, 16
- lsrs r0, 16
- bl sub_80E9AF8
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r5
- bcc _080E9CC6
- b _080E9CF4
- .align 2, 0
-_080E9CE0: .4byte gUnknown_083DB694
-_080E9CE4: .4byte 0x00009a29
-_080E9CE8:
- adds r0, r4, 0
- adds r1, r0, 0x1
- lsls r1, 16
- lsrs r4, r1, 16
- bl sub_80E9C74
-_080E9CF4:
- cmp r4, 0x3
- bls _080E9CE8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80E9C94
-
- thumb_func_start sub_80E9D00
-sub_80E9D00: @ 80E9D00
- push {r4-r6,lr}
- ldr r0, _080E9D28 @ =gUnknown_083DB694
- ldr r2, [r0]
- movs r0, 0xE0
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, 0
- ble _080E9D30
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r1, _080E9D2C @ =0x00009a29
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r0, 0x4
- b _080E9D46
- .align 2, 0
-_080E9D28: .4byte gUnknown_083DB694
-_080E9D2C: .4byte 0x00009a29
-_080E9D30:
- movs r0, 0
- ldrsb r0, [r1, r0]
- negs r0, r0
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r1, _080E9D74 @ =0x00009a29
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- subs r0, r4
-_080E9D46:
- lsls r0, 16
- lsrs r5, r0, 16
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, _080E9D78 @ =0x0000ffff
- cmp r4, r0
- beq _080E9D6E
- adds r6, r0, 0
-_080E9D58:
- adds r0, r5, 0
- adds r1, r0, 0x1
- lsls r1, 16
- lsrs r5, r1, 16
- bl sub_80E9AF8
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r6
- bne _080E9D58
-_080E9D6E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E9D74: .4byte 0x00009a29
-_080E9D78: .4byte 0x0000ffff
- thumb_func_end sub_80E9D00
-
- thumb_func_start sub_80E9D7C
-sub_80E9D7C: @ 80E9D7C
- push {r4-r7,lr}
- ldr r0, _080E9DAC @ =gWindowConfig_81E6D54
- bl BasicInitMenuWindow
- ldr r0, _080E9DB0 @ =gUnknown_083DB694
- ldr r2, [r0]
- movs r0, 0xE0
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, 0
- bge _080E9DB8
- negs r0, r0
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r1, _080E9DB4 @ =0x000001b5
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- subs r0, r6
- b _080E9DCC
- .align 2, 0
-_080E9DAC: .4byte gWindowConfig_81E6D54
-_080E9DB0: .4byte gUnknown_083DB694
-_080E9DB4: .4byte 0x000001b5
-_080E9DB8:
- movs r0, 0
- ldrsb r0, [r1, r0]
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r1, _080E9DFC @ =0x000001b5
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r0, 0x4
-_080E9DCC:
- lsls r0, 16
- lsrs r4, r0, 16
- movs r5, 0
- cmp r5, r6
- bcs _080E9DF6
- ldr r0, _080E9E00 @ =gUnknown_083DB694
- ldr r7, [r0]
-_080E9DDA:
- lsls r1, r4, 24
- lsrs r1, 24
- ldr r2, _080E9E04 @ =0x00009dc9
- adds r0, r7, r2
- bl sub_80E9940
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r6
- bcc _080E9DDA
-_080E9DF6:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E9DFC: .4byte 0x000001b5
-_080E9E00: .4byte gUnknown_083DB694
-_080E9E04: .4byte 0x00009dc9
- thumb_func_end sub_80E9D7C
-
- thumb_func_start sub_80E9E08
-sub_80E9E08: @ 80E9E08
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080E9E4C @ =gUnknown_083DB694
- ldr r3, [r0]
- movs r0, 0xDD
- lsls r0, 1
- adds r1, r3, r0
- movs r5, 0xE0
- lsls r5, 1
- adds r2, r3, r5
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 4
- ldrh r1, [r1]
- adds r0, r1
- movs r1, 0x7F
- ands r0, r1
- subs r5, 0x4
- adds r1, r3, r5
- strh r0, [r1]
- adds r1, r4, 0
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r0, 0
- bge _080E9E3E
- negs r1, r4
-_080E9E3E:
- ldr r2, _080E9E50 @ =0x000001bf
- adds r0, r3, r2
- strb r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E9E4C: .4byte gUnknown_083DB694
-_080E9E50: .4byte 0x000001bf
- thumb_func_end sub_80E9E08
-
- thumb_func_start sub_80E9E54
-sub_80E9E54: @ 80E9E54
- push {r4,lr}
- ldr r0, _080E9E8C @ =gUnknown_083DB694
- ldr r2, [r0]
- movs r0, 0xDD
- lsls r0, 1
- adds r3, r2, r0
- ldr r1, _080E9E90 @ =0x000001bf
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldrh r4, [r3]
- adds r0, r4
- movs r1, 0x7F
- ands r0, r1
- strh r0, [r3]
- movs r3, 0
- movs r4, 0xDE
- lsls r4, 1
- adds r1, r2, r4
- ldrh r1, [r1]
- cmp r0, r1
- bne _080E9E84
- movs r3, 0x1
-_080E9E84:
- adds r0, r3, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080E9E8C: .4byte gUnknown_083DB694
-_080E9E90: .4byte 0x000001bf
- thumb_func_end sub_80E9E54
-
- thumb_func_start nullsub_23
-nullsub_23: @ 80E9E94
- bx lr
- thumb_func_end nullsub_23
-
- thumb_func_start sub_80E9E98
-sub_80E9E98: @ 80E9E98
- ldr r0, _080E9EA4 @ =gUnknown_083DB694
- ldr r0, [r0]
- adds r0, 0xBE
- movs r1, 0
- strh r1, [r0]
- bx lr
- .align 2, 0
-_080E9EA4: .4byte gUnknown_083DB694
- thumb_func_end sub_80E9E98
-
- thumb_func_start sub_80E9EA8
-sub_80E9EA8: @ 80E9EA8
- push {lr}
- ldr r1, _080E9EC4 @ =gUnknown_083DB694
- ldr r0, [r1]
- adds r0, 0xBE
- ldrh r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x5
- bhi _080E9F48
- lsls r0, 2
- ldr r1, _080E9EC8 @ =_080E9ECC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E9EC4: .4byte gUnknown_083DB694
-_080E9EC8: .4byte _080E9ECC
- .align 2, 0
-_080E9ECC:
- .4byte _080E9EE4
- .4byte _080E9EF4
- .4byte _080E9F0C
- .4byte _080E9F24
- .4byte _080E9F38
- .4byte _080E9F44
-_080E9EE4:
- bl sub_80EA24C
- ldr r0, _080E9F08 @ =gUnknown_083DB694
- ldr r1, [r0]
- adds r1, 0xBE
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080E9EF4:
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080E9F48
- bl sub_80EA4A4
- ldr r0, _080E9F08 @ =gUnknown_083DB694
- ldr r1, [r0]
- b _080E9F3A
- .align 2, 0
-_080E9F08: .4byte gUnknown_083DB694
-_080E9F0C:
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080E9F48
- bl sub_80EA704
- ldr r0, _080E9F20 @ =gUnknown_083DB694
- ldr r1, [r0]
- b _080E9F3A
- .align 2, 0
-_080E9F20: .4byte gUnknown_083DB694
-_080E9F24:
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080E9F48
- ldr r0, _080E9F34 @ =gUnknown_083DB694
- ldr r1, [r0]
- b _080E9F3A
- .align 2, 0
-_080E9F34: .4byte gUnknown_083DB694
-_080E9F38:
- ldr r1, [r2]
-_080E9F3A:
- adds r1, 0xBE
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080E9F48
-_080E9F44:
- movs r0, 0x1
- b _080E9F4A
-_080E9F48:
- movs r0, 0
-_080E9F4A:
- pop {r1}
- bx r1
- thumb_func_end sub_80E9EA8
-
- thumb_func_start sub_80E9F50
-sub_80E9F50: @ 80E9F50
- push {lr}
- ldr r0, _080E9F68 @ =gUnknown_083DB694
- ldr r0, [r0]
- adds r0, 0xBE
- ldrh r0, [r0]
- cmp r0, 0x6
- bhi _080E9FCC
- lsls r0, 2
- ldr r1, _080E9F6C @ =_080E9F70
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E9F68: .4byte gUnknown_083DB694
-_080E9F6C: .4byte _080E9F70
- .align 2, 0
-_080E9F70:
- .4byte _080E9F8C
- .4byte _080E9FAC
- .4byte _080E9F96
- .4byte _080E9FAC
- .4byte _080E9F9C
- .4byte _080E9FAC
- .4byte _080E9FC8
-_080E9F8C:
- bl nullsub_23
- bl sub_80EA764
- b _080E9FA0
-_080E9F96:
- bl sub_80EA5A0
- b _080E9FA0
-_080E9F9C:
- bl sub_80EA348
-_080E9FA0:
- ldr r0, _080E9FC4 @ =gUnknown_083DB694
- ldr r1, [r0]
- adds r1, 0xBE
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080E9FAC:
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080E9FCC
- ldr r0, _080E9FC4 @ =gUnknown_083DB694
- ldr r1, [r0]
- adds r1, 0xBE
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080E9FCC
- .align 2, 0
-_080E9FC4: .4byte gUnknown_083DB694
-_080E9FC8:
- movs r0, 0x1
- b _080E9FCE
-_080E9FCC:
- movs r0, 0
-_080E9FCE:
- pop {r1}
- bx r1
- thumb_func_end sub_80E9F50
-
- thumb_func_start sub_80E9FD4
-sub_80E9FD4: @ 80E9FD4
- push {r4,lr}
- ldr r0, _080E9FEC @ =gUnknown_083DB694
- ldr r0, [r0]
- adds r4, r0, 0
- adds r4, 0xBE
- ldrh r0, [r4]
- cmp r0, 0
- beq _080E9FF0
- cmp r0, 0x1
- beq _080E9FFE
- b _080EA00C
- .align 2, 0
-_080E9FEC: .4byte gUnknown_083DB694
-_080E9FF0:
- bl nullsub_23
- bl sub_80EA5A0
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_080E9FFE:
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080EA00C
- movs r0, 0x1
- b _080EA00E
-_080EA00C:
- movs r0, 0
-_080EA00E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80E9FD4
-
- thumb_func_start sub_80EA014
-sub_80EA014: @ 80EA014
- push {r4,lr}
- ldr r0, _080EA02C @ =gUnknown_083DB694
- ldr r0, [r0]
- adds r4, r0, 0
- adds r4, 0xBE
- ldrh r0, [r4]
- cmp r0, 0
- beq _080EA030
- cmp r0, 0x1
- beq _080EA03A
- b _080EA048
- .align 2, 0
-_080EA02C: .4byte gUnknown_083DB694
-_080EA030:
- bl sub_80EA4A4
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_080EA03A:
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080EA048
- movs r0, 0x1
- b _080EA04A
-_080EA048:
- movs r0, 0
-_080EA04A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80EA014
-
- thumb_func_start sub_80EA050
-sub_80EA050: @ 80EA050
- push {lr}
- ldr r0, _080EA068 @ =gUnknown_083DB694
- ldr r0, [r0]
- adds r0, 0xBE
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _080EA0DC
- lsls r0, 2
- ldr r1, _080EA06C @ =_080EA070
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EA068: .4byte gUnknown_083DB694
-_080EA06C: .4byte _080EA070
- .align 2, 0
-_080EA070:
- .4byte _080EA084
- .4byte _080EA08E
- .4byte _080EA09E
- .4byte _080EA0B4
- .4byte _080EA0D8
-_080EA084:
- bl nullsub_23
- bl sub_80EA764
- b _080EA0C4
-_080EA08E:
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080EA0DC
- bl sub_80EA7F4
- b _080EA0C4
-_080EA09E:
- movs r0, 0x1
- bl sub_80E9108
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080EA0DC
- bl sub_80EA8BC
- b _080EA0C4
-_080EA0B4:
- movs r0, 0x1
- bl sub_80E9108
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080EA0DC
-_080EA0C4:
- ldr r0, _080EA0D4 @ =gUnknown_083DB694
- ldr r1, [r0]
- adds r1, 0xBE
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080EA0DC
- .align 2, 0
-_080EA0D4: .4byte gUnknown_083DB694
-_080EA0D8:
- movs r0, 0x1
- b _080EA0DE
-_080EA0DC:
- movs r0, 0
-_080EA0DE:
- pop {r1}
- bx r1
- thumb_func_end sub_80EA050
-
- thumb_func_start sub_80EA0E4
-sub_80EA0E4: @ 80EA0E4
- push {lr}
- ldr r0, _080EA0FC @ =gUnknown_083DB694
- ldr r0, [r0]
- adds r0, 0xBE
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _080EA17C
- lsls r0, 2
- ldr r1, _080EA100 @ =_080EA104
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EA0FC: .4byte gUnknown_083DB694
-_080EA100: .4byte _080EA104
- .align 2, 0
-_080EA104:
- .4byte _080EA118
- .4byte _080EA128
- .4byte _080EA144
- .4byte _080EA15C
- .4byte _080EA178
-_080EA118:
- bl sub_80EA948
- ldr r0, _080EA140 @ =gUnknown_083DB694
- ldr r1, [r0]
- adds r1, 0xBE
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EA128:
- movs r0, 0x1
- negs r0, r0
- bl sub_80E9108
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080EA17C
- bl sub_80EAA44
- b _080EA166
- .align 2, 0
-_080EA140: .4byte gUnknown_083DB694
-_080EA144:
- movs r0, 0x1
- negs r0, r0
- bl sub_80E9108
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080EA17C
- bl sub_80EA704
- b _080EA166
-_080EA15C:
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080EA17C
-_080EA166:
- ldr r0, _080EA174 @ =gUnknown_083DB694
- ldr r1, [r0]
- adds r1, 0xBE
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080EA17C
- .align 2, 0
-_080EA174: .4byte gUnknown_083DB694
-_080EA178:
- movs r0, 0x1
- b _080EA17E
-_080EA17C:
- movs r0, 0
-_080EA17E:
- pop {r1}
- bx r1
- thumb_func_end sub_80EA0E4
-
- thumb_func_start sub_80EA184
-sub_80EA184: @ 80EA184
- push {r4,lr}
- ldr r0, _080EA1A0 @ =gUnknown_083DB694
- ldr r0, [r0]
- adds r4, r0, 0
- adds r4, 0xBE
- ldrh r0, [r4]
- cmp r0, 0x1
- beq _080EA1B4
- cmp r0, 0x1
- bgt _080EA1A4
- cmp r0, 0
- beq _080EA1AA
- b _080EA1D8
- .align 2, 0
-_080EA1A0: .4byte gUnknown_083DB694
-_080EA1A4:
- cmp r0, 0x2
- beq _080EA1D0
- b _080EA1D8
-_080EA1AA:
- bl sub_80EAAD4
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_080EA1B4:
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080EA1D8
- ldr r0, _080EA1CC @ =gUnknown_083DB694
- ldr r1, [r0]
- adds r1, 0xBE
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080EA1D8
- .align 2, 0
-_080EA1CC: .4byte gUnknown_083DB694
-_080EA1D0:
- bl sub_80E9178
- movs r0, 0x1
- b _080EA1DA
-_080EA1D8:
- movs r0, 0
-_080EA1DA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80EA184
-
- thumb_func_start sub_80EA1E0
-sub_80EA1E0: @ 80EA1E0
- push {r4-r6,lr}
- ldr r0, _080EA240 @ =gUnknown_083DB694
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xC4
- ldrh r0, [r0]
- cmp r0, 0
- beq _080EA244
- movs r4, 0
- adds r0, r1, 0
- adds r0, 0xC2
- ldrh r2, [r0]
- cmp r4, r2
- bcs _080EA228
- adds r5, r1, 0
- adds r6, r0, 0
-_080EA200:
- lsls r0, r4, 4
- adds r0, 0xC8
- adds r0, r5, r0
- bl sub_80EAC0C
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r1
- adds r0, r5, r0
- bl sub_80EAC48
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldrh r2, [r6]
- cmp r4, r2
- bcc _080EA200
-_080EA228:
- ldr r0, _080EA240 @ =gUnknown_083DB694
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0xBC
- movs r0, 0x1
- strb r0, [r2]
- adds r1, 0xC4
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- movs r0, 0
- b _080EA246
- .align 2, 0
-_080EA240: .4byte gUnknown_083DB694
-_080EA244:
- movs r0, 0x1
-_080EA246:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80EA1E0
-
- thumb_func_start sub_80EA24C
-sub_80EA24C: @ 80EA24C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- ldr r0, _080EA340 @ =gUnknown_083DB694
- ldr r7, [r0]
- adds r0, r7, 0
- adds r0, 0xC8
- movs r6, 0xF
- str r6, [sp]
- ldr r1, _080EA344 @ =0x0000fffe
- mov r8, r1
- str r1, [sp, 0x4]
- movs r4, 0
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0xD
- movs r2, 0xE
- movs r3, 0xD
- bl sub_80EABD4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- movs r1, 0xD9
- lsls r1, 3
- adds r5, r7, r1
- str r5, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xD8
- str r6, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- mov r9, r1
- str r1, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0xC
- movs r2, 0xE
- movs r3, 0xC
- bl sub_80EABD4
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r1, 0x1E
- movs r2, 0
- mov r3, r8
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xE8
- movs r6, 0x10
- str r6, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0xD
- movs r2, 0xF
- movs r3, 0xD
- bl sub_80EABD4
- movs r1, 0xB0
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r1, 0
- movs r2, 0x9
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xF8
- str r6, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- mov r1, r9
- str r1, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0xC
- movs r2, 0xF
- movs r3, 0xC
- bl sub_80EABD4
- movs r1, 0xB6
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r1, 0x1E
- movs r2, 0x9
- mov r3, r8
- bl sub_80EAC30
- adds r1, r7, 0
- adds r1, 0xC2
- movs r0, 0x4
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x6
- strh r0, [r1]
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EA340: .4byte gUnknown_083DB694
-_080EA344: .4byte 0x0000fffe
- thumb_func_end sub_80EA24C
-
- thumb_func_start sub_80EA348
-sub_80EA348: @ 80EA348
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- ldr r0, _080EA49C @ =gUnknown_083DB694
- ldr r7, [r0]
- adds r0, r7, 0
- adds r0, 0xC8
- movs r5, 0xF
- str r5, [sp]
- movs r1, 0x2
- mov r9, r1
- str r1, [sp, 0x4]
- movs r4, 0
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x1
- movs r2, 0xE
- movs r3, 0xD
- bl sub_80EABD4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- movs r1, 0xD9
- lsls r1, 3
- adds r6, r7, r1
- str r6, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xD8
- str r5, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- ldr r1, _080EA4A0 @ =0x0000fffe
- mov r8, r1
- str r1, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0xC
- movs r2, 0xE
- movs r3, 0x18
- bl sub_80EABD4
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- str r6, [sp, 0x4]
- movs r1, 0x12
- movs r2, 0
- movs r3, 0x2
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xE8
- movs r5, 0x10
- str r5, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x1
- movs r2, 0xF
- movs r3, 0xD
- bl sub_80EABD4
- movs r1, 0xB0
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- str r6, [sp, 0x4]
- movs r1, 0
- movs r2, 0x9
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xF8
- str r5, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- mov r1, r8
- str r1, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0xC
- movs r2, 0xF
- movs r3, 0x18
- bl sub_80EABD4
- movs r1, 0xB6
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- str r6, [sp, 0x4]
- movs r1, 0x12
- movs r2, 0x9
- movs r3, 0x2
- bl sub_80EAC30
- movs r1, 0x84
- lsls r1, 1
- adds r0, r7, r1
- str r5, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- mov r1, r9
- str r1, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x1
- movs r2, 0xE
- movs r3, 0x1
- bl sub_80EABD4
- movs r1, 0xBC
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- adds r1, 0x50
- adds r6, r7, r1
- str r6, [sp, 0x4]
- movs r1, 0x1
- movs r2, 0xE
- movs r3, 0
- bl sub_80EAC30
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r7, r1
- str r5, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x18
- movs r2, 0xE
- movs r3, 0x18
- bl sub_80EABD4
- movs r1, 0xC2
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- str r6, [sp, 0x4]
- movs r1, 0x18
- movs r2, 0xE
- mov r3, r8
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xC2
- movs r1, 0x6
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EA49C: .4byte gUnknown_083DB694
-_080EA4A0: .4byte 0x0000fffe
- thumb_func_end sub_80EA348
-
- thumb_func_start sub_80EA4A4
-sub_80EA4A4: @ 80EA4A4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- ldr r0, _080EA598 @ =gUnknown_083DB694
- ldr r7, [r0]
- adds r0, r7, 0
- adds r0, 0xC8
- movs r6, 0xF
- str r6, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r1, _080EA59C @ =0x0000ffff
- mov r8, r1
- str r1, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x1
- movs r2, 0xE
- movs r3, 0xD
- bl sub_80EABD4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- movs r1, 0xD9
- lsls r1, 3
- adds r5, r7, r1
- str r5, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xD8
- str r6, [sp]
- str r4, [sp, 0x4]
- mov r1, r8
- str r1, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0xC
- movs r2, 0xE
- movs r3, 0x18
- bl sub_80EABD4
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r1, 0x12
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xE8
- movs r1, 0x10
- mov r9, r1
- str r1, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r6, 0x1
- str r6, [sp, 0x10]
- movs r1, 0x1
- movs r2, 0xF
- movs r3, 0xD
- bl sub_80EABD4
- movs r1, 0xB0
- lsls r1, 1
- adds r0, r7, r1
- mov r1, r8
- str r1, [sp]
- str r5, [sp, 0x4]
- movs r1, 0
- movs r2, 0x9
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xF8
- mov r1, r9
- str r1, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r6, [sp, 0x10]
- movs r1, 0xC
- movs r2, 0xF
- movs r3, 0x18
- bl sub_80EABD4
- movs r1, 0xB6
- lsls r1, 1
- adds r0, r7, r1
- mov r1, r8
- str r1, [sp]
- str r5, [sp, 0x4]
- movs r1, 0x12
- movs r2, 0x9
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xC2
- movs r1, 0x4
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EA598: .4byte gUnknown_083DB694
-_080EA59C: .4byte 0x0000ffff
- thumb_func_end sub_80EA4A4
-
- thumb_func_start sub_80EA5A0
-sub_80EA5A0: @ 80EA5A0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- ldr r0, _080EA6FC @ =gUnknown_083DB694
- ldr r7, [r0]
- adds r0, r7, 0
- adds r0, 0xC8
- movs r6, 0xF
- str r6, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- movs r1, 0x1
- mov r8, r1
- str r1, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r2, 0xA
- movs r3, 0xD
- bl sub_80EABD4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- movs r1, 0xD9
- lsls r1, 3
- adds r5, r7, r1
- str r5, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xD8
- str r6, [sp]
- str r4, [sp, 0x4]
- mov r1, r8
- str r1, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0xC
- movs r2, 0xA
- movs r3, 0x18
- bl sub_80EABD4
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r1, 0x12
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xE8
- movs r1, 0x14
- mov r9, r1
- str r1, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- ldr r6, _080EA700 @ =0x0000ffff
- str r6, [sp, 0x10]
- movs r1, 0x1
- movs r2, 0xF
- movs r3, 0xD
- bl sub_80EABD4
- movs r1, 0xB0
- lsls r1, 1
- adds r0, r7, r1
- mov r1, r8
- str r1, [sp]
- str r5, [sp, 0x4]
- movs r1, 0
- movs r2, 0x5
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xF8
- mov r1, r9
- str r1, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r6, [sp, 0x10]
- movs r1, 0xC
- movs r2, 0xF
- movs r3, 0x18
- bl sub_80EABD4
- movs r1, 0xB6
- lsls r1, 1
- adds r0, r7, r1
- mov r1, r8
- str r1, [sp]
- str r5, [sp, 0x4]
- movs r1, 0x12
- movs r2, 0x5
- movs r3, 0
- bl sub_80EAC30
- movs r1, 0x84
- lsls r1, 1
- adds r0, r7, r1
- movs r1, 0xA
- str r1, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- mov r1, r8
- str r1, [sp, 0x10]
- movs r1, 0x1
- movs r2, 0xA
- movs r3, 0x18
- bl sub_80EABD4
- movs r1, 0xBC
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- adds r1, 0x50
- adds r5, r7, r1
- str r5, [sp, 0x4]
- movs r1, 0x1
- movs r2, 0xA
- movs r3, 0
- bl sub_80EAC30
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r7, r1
- mov r1, r9
- str r1, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x1
- movs r2, 0x14
- movs r3, 0x18
- bl sub_80EABD4
- movs r1, 0xC2
- lsls r1, 1
- adds r0, r7, r1
- str r6, [sp]
- str r5, [sp, 0x4]
- movs r1, 0x1
- movs r2, 0x14
- movs r3, 0
- bl sub_80EAC30
- adds r1, r7, 0
- adds r1, 0xC2
- movs r0, 0x6
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x4
- strh r0, [r1]
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EA6FC: .4byte gUnknown_083DB694
-_080EA700: .4byte 0x0000ffff
- thumb_func_end sub_80EA5A0
-
- thumb_func_start sub_80EA704
-sub_80EA704: @ 80EA704
- push {r4-r6,lr}
- sub sp, 0x14
- ldr r0, _080EA75C @ =gUnknown_083DB694
- ldr r6, [r0]
- adds r0, r6, 0
- adds r0, 0xC8
- movs r1, 0x14
- str r1, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r5, 0x1
- str r5, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x18
- movs r2, 0xC
- movs r3, 0x19
- bl sub_80EABD4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r6, r1
- ldr r3, _080EA760 @ =0x0000ffff
- str r4, [sp]
- movs r2, 0xD9
- lsls r2, 3
- adds r1, r6, r2
- str r1, [sp, 0x4]
- movs r1, 0x5
- movs r2, 0xA
- bl sub_80EAC30
- adds r0, r6, 0
- adds r0, 0xC2
- strh r5, [r0]
- adds r1, r6, 0
- adds r1, 0xC4
- movs r0, 0x5
- strh r0, [r1]
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080EA75C: .4byte gUnknown_083DB694
-_080EA760: .4byte 0x0000ffff
- thumb_func_end sub_80EA704
-
- thumb_func_start sub_80EA764
-sub_80EA764: @ 80EA764
- push {r4-r7,lr}
- sub sp, 0x14
- ldr r0, _080EA7EC @ =gUnknown_083DB694
- ldr r7, [r0]
- adds r0, r7, 0
- adds r0, 0xC8
- movs r6, 0x14
- str r6, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- ldr r5, _080EA7F0 @ =0x0000ffff
- str r5, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x18
- movs r2, 0xC
- movs r3, 0x1E
- bl sub_80EABD4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- movs r2, 0xD9
- lsls r2, 3
- adds r1, r7, r2
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x1
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xD8
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x1E
- movs r2, 0xC
- movs r3, 0x1F
- bl sub_80EABD4
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- movs r2, 0xE4
- lsls r2, 1
- adds r1, r7, r2
- str r1, [sp, 0x4]
- movs r1, 0x1E
- movs r2, 0xC
- adds r3, r5, 0
- bl sub_80EAC30
- adds r1, r7, 0
- adds r1, 0xC2
- movs r0, 0x2
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x6
- strh r0, [r1]
- add sp, 0x14
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EA7EC: .4byte gUnknown_083DB694
-_080EA7F0: .4byte 0x0000ffff
- thumb_func_end sub_80EA764
-
- thumb_func_start sub_80EA7F4
-sub_80EA7F4: @ 80EA7F4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- ldr r0, _080EA8B4 @ =gUnknown_083DB694
- ldr r7, [r0]
- adds r0, r7, 0
- adds r0, 0xC8
- movs r6, 0x14
- str r6, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r5, 0x1
- str r5, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x14
- movs r2, 0xA
- movs r3, 0x19
- bl sub_80EABD4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r7, r1
- ldr r3, _080EA8B8 @ =0x0000ffff
- str r4, [sp]
- movs r2, 0xD9
- lsls r2, 3
- adds r2, r7
- mov r8, r2
- str r2, [sp, 0x4]
- movs r1, 0x19
- movs r2, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xD8
- str r6, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r5, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x1
- bl sub_80EABD4
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- movs r2, 0xE4
- lsls r2, 1
- adds r1, r7, r2
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xE8
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x1
- movs r2, 0xA
- movs r3, 0x4
- bl sub_80EABD4
- movs r1, 0xB0
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- mov r2, r8
- str r2, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r1, r7, 0
- adds r1, 0xC2
- movs r0, 0x3
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x2
- strh r0, [r1]
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EA8B4: .4byte gUnknown_083DB694
-_080EA8B8: .4byte 0x0000ffff
- thumb_func_end sub_80EA7F4
-
- thumb_func_start sub_80EA8BC
-sub_80EA8BC: @ 80EA8BC
- push {r4-r6,lr}
- sub sp, 0x14
- ldr r0, _080EA944 @ =gUnknown_083DB694
- ldr r6, [r0]
- adds r0, r6, 0
- adds r0, 0xC8
- movs r5, 0x14
- str r5, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x3
- movs r2, 0xA
- movs r3, 0x4
- bl sub_80EABD4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r6, r1
- str r4, [sp]
- movs r2, 0xD9
- lsls r2, 3
- adds r1, r6, r2
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r0, r6, 0
- adds r0, 0xD8
- str r5, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x2
- bl sub_80EABD4
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r6, r1
- str r4, [sp]
- movs r2, 0xE4
- lsls r2, 1
- adds r1, r6, r2
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0
- bl sub_80EAC30
- adds r1, r6, 0
- adds r1, 0xC2
- movs r0, 0x2
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x1
- strh r0, [r1]
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080EA944: .4byte gUnknown_083DB694
- thumb_func_end sub_80EA8BC
-
- thumb_func_start sub_80EA948
-sub_80EA948: @ 80EA948
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- ldr r0, _080EAA3C @ =gUnknown_083DB694
- ldr r7, [r0]
- adds r0, r7, 0
- adds r0, 0xC8
- movs r6, 0x14
- str r6, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- ldr r5, _080EAA40 @ =0x0000ffff
- str r5, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x2
- bl sub_80EABD4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- adds r1, 0x80
- adds r1, r7
- mov r9, r1
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xD8
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x3
- movs r2, 0xA
- movs r3, 0x5
- bl sub_80EABD4
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- movs r1, 0xD9
- lsls r1, 3
- adds r1, r7
- mov r8, r1
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xE8
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x1A
- movs r2, 0xA
- movs r3, 0x1E
- bl sub_80EABD4
- movs r1, 0xB0
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- movs r1, 0x1A
- movs r2, 0xA
- adds r3, r5, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xF8
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- str r5, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x19
- movs r2, 0xA
- movs r3, 0x1A
- bl sub_80EABD4
- movs r1, 0xB6
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- movs r1, 0x1D
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r1, r7, 0
- adds r1, 0xC2
- movs r0, 0x4
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x2
- strh r0, [r1]
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EAA3C: .4byte gUnknown_083DB694
-_080EAA40: .4byte 0x0000ffff
- thumb_func_end sub_80EA948
-
- thumb_func_start sub_80EAA44
-sub_80EAA44: @ 80EAA44
- push {r4-r6,lr}
- sub sp, 0x14
- ldr r0, _080EAACC @ =gUnknown_083DB694
- ldr r6, [r0]
- adds r0, r6, 0
- adds r0, 0xC8
- movs r5, 0x14
- str r5, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x18
- movs r2, 0xA
- movs r3, 0x1E
- bl sub_80EABD4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r6, r1
- str r4, [sp]
- movs r2, 0xE4
- lsls r2, 1
- adds r1, r6, r2
- str r1, [sp, 0x4]
- movs r1, 0x18
- movs r2, 0xA
- movs r3, 0
- bl sub_80EAC30
- adds r0, r6, 0
- adds r0, 0xD8
- str r5, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- ldr r1, _080EAAD0 @ =0x0000ffff
- str r1, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x17
- movs r2, 0xA
- movs r3, 0x18
- bl sub_80EABD4
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r6, r1
- str r4, [sp]
- movs r2, 0xD9
- lsls r2, 3
- adds r1, r6, r2
- str r1, [sp, 0x4]
- movs r1, 0x1D
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r1, r6, 0
- adds r1, 0xC2
- movs r0, 0x2
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x1
- strh r0, [r1]
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080EAACC: .4byte gUnknown_083DB694
-_080EAAD0: .4byte 0x0000ffff
- thumb_func_end sub_80EAA44
-
- thumb_func_start sub_80EAAD4
-sub_80EAAD4: @ 80EAAD4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- ldr r0, _080EABCC @ =gUnknown_083DB694
- ldr r7, [r0]
- adds r0, r7, 0
- adds r0, 0xC8
- movs r1, 0xF
- str r1, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- movs r5, 0x1
- str r5, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x1E
- bl sub_80EABD4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- movs r1, 0xD9
- lsls r1, 3
- adds r1, r7
- mov r8, r1
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xD8
- movs r1, 0x14
- mov r9, r1
- str r1, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- ldr r6, _080EABD0 @ =0x0000ffff
- str r6, [sp, 0x10]
- movs r1, 0
- movs r2, 0xF
- movs r3, 0x1E
- bl sub_80EABD4
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r7, r1
- str r5, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0x5
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xE8
- movs r1, 0xA
- str r1, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r5, [sp, 0x10]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x1E
- bl sub_80EABD4
- movs r1, 0xB0
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- adds r1, 0x68
- adds r5, r7, r1
- str r5, [sp, 0x4]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xF8
- mov r1, r9
- str r1, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0
- movs r2, 0x14
- movs r3, 0x1E
- bl sub_80EABD4
- movs r1, 0xB6
- lsls r1, 1
- adds r0, r7, r1
- str r6, [sp]
- str r5, [sp, 0x4]
- movs r1, 0
- movs r2, 0x14
- movs r3, 0
- bl sub_80EAC30
- adds r1, r7, 0
- adds r1, 0xC2
- movs r0, 0x4
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x5
- strh r0, [r1]
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EABCC: .4byte gUnknown_083DB694
-_080EABD0: .4byte 0x0000ffff
- thumb_func_end sub_80EAAD4
-
- thumb_func_start sub_80EABD4
-sub_80EABD4: @ 80EABD4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r5, [sp, 0x1C]
- ldr r6, [sp, 0x20]
- ldr r4, [sp, 0x24]
- mov r9, r4
- ldr r4, [sp, 0x28]
- ldr r7, [sp, 0x2C]
- mov r8, r7
- strh r1, [r0]
- strh r3, [r0, 0x2]
- strh r2, [r0, 0x4]
- strh r5, [r0, 0x6]
- strh r6, [r0, 0x8]
- strh r4, [r0, 0xA]
- mov r1, r9
- strh r1, [r0, 0xC]
- mov r4, r8
- strh r4, [r0, 0xE]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80EABD4
-
- thumb_func_start sub_80EAC0C
-sub_80EAC0C: @ 80EAC0C
- ldrh r1, [r0, 0x8]
- ldrh r2, [r0]
- adds r1, r2
- strh r1, [r0]
- ldrh r1, [r0, 0xA]
- ldrh r2, [r0, 0x2]
- adds r1, r2
- strh r1, [r0, 0x2]
- ldrh r1, [r0, 0xC]
- ldrh r2, [r0, 0x4]
- adds r1, r2
- strh r1, [r0, 0x4]
- ldrh r1, [r0, 0xE]
- ldrh r2, [r0, 0x6]
- adds r1, r2
- strh r1, [r0, 0x6]
- bx lr
- thumb_func_end sub_80EAC0C
-
- thumb_func_start sub_80EAC30
-sub_80EAC30: @ 80EAC30
- push {r4,r5,lr}
- ldr r4, [sp, 0xC]
- ldr r5, [sp, 0x10]
- strh r1, [r0]
- strh r2, [r0, 0x2]
- strh r3, [r0, 0x4]
- strh r4, [r0, 0x6]
- str r5, [r0, 0x8]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80EAC30
-
- thumb_func_start sub_80EAC48
-sub_80EAC48: @ 80EAC48
- ldrh r1, [r0, 0x4]
- ldrh r2, [r0]
- adds r1, r2
- strh r1, [r0]
- ldrh r1, [r0, 0x6]
- ldrh r2, [r0, 0x2]
- adds r1, r2
- strh r1, [r0, 0x2]
- bx lr
- thumb_func_end sub_80EAC48
-
- thumb_func_start sub_80EAC5C
-sub_80EAC5C: @ 80EAC5C
- push {r4-r6,lr}
- ldr r0, _080EACB4 @ =gUnknown_083DB694
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0
- beq _080EACAC
- movs r4, 0
- adds r0, r1, 0
- adds r0, 0xC2
- ldrh r2, [r0]
- cmp r4, r2
- bcs _080EACA2
- adds r5, r1, 0
- adds r6, r0, 0
-_080EAC7C:
- lsls r1, r4, 4
- adds r1, 0xC8
- adds r1, r5, r1
- lsls r2, r4, 1
- adds r2, r4
- lsls r2, 2
- movs r0, 0xA4
- lsls r0, 1
- adds r2, r0
- adds r2, r5, r2
- ldr r0, _080EACB8 @ =0x06006800
- bl sub_80EACBC
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldrh r2, [r6]
- cmp r4, r2
- bcc _080EAC7C
-_080EACA2:
- ldr r0, _080EACB4 @ =gUnknown_083DB694
- ldr r0, [r0]
- adds r0, 0xBC
- movs r1, 0
- strb r1, [r0]
-_080EACAC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080EACB4: .4byte gUnknown_083DB694
-_080EACB8: .4byte 0x06006800
- thumb_func_end sub_80EAC5C
-
- thumb_func_start sub_80EACBC
-sub_80EACBC: @ 80EACBC
- push {r4-r7,lr}
- sub sp, 0x10
- adds r7, r0, 0
- adds r3, r1, 0
- adds r4, r2, 0
- ldrh r2, [r3, 0x2]
- ldrh r0, [r3]
- subs r2, r0
- ldrh r0, [r3, 0x6]
- ldrh r1, [r3, 0x4]
- subs r0, r1
- lsls r0, 16
- lsrs r0, 16
- lsls r6, r2, 16
- cmp r6, 0
- ble _080EACFE
- lsls r5, r0, 16
- cmp r5, 0
- ble _080EACFE
- ldrh r1, [r3]
- ldrh r2, [r3, 0x4]
- ldr r3, [r4, 0x8]
- ldrh r0, [r4]
- str r0, [sp]
- ldrh r0, [r4, 0x2]
- str r0, [sp, 0x4]
- lsrs r0, r6, 16
- str r0, [sp, 0x8]
- lsrs r0, r5, 16
- str r0, [sp, 0xC]
- adds r0, r7, 0
- bl sub_809D104
-_080EACFE:
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80EACBC
-
- thumb_func_start sub_80EAD08
-sub_80EAD08: @ 80EAD08
- push {r4,r5,lr}
- ldr r0, _080EAD58 @ =gUnknown_03004DC0
- ldrb r1, [r0, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- ldr r1, _080EAD5C @ =gUnknown_03004DE0
- adds r4, r0, r1
- adds r4, 0xB0
- ldr r0, _080EAD60 @ =gUnknown_083DB694
- ldr r1, [r0]
- movs r0, 0xDD
- lsls r0, 1
- adds r1, r0
- ldrh r0, [r1]
- adds r2, r0, 0
- subs r2, 0x58
- movs r0, 0xFF
- ands r2, r0
- movs r3, 0
- movs r5, 0xFF
-_080EAD32:
- ldrh r0, [r1]
- adds r0, r3
- cmp r0, 0x80
- bne _080EAD42
- negs r0, r3
- adds r2, r0, 0
- subs r2, 0x58
- ands r2, r5
-_080EAD42:
- strh r2, [r4]
- adds r4, 0x2
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3F
- bls _080EAD32
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080EAD58: .4byte gUnknown_03004DC0
-_080EAD5C: .4byte gUnknown_03004DE0
-_080EAD60: .4byte gUnknown_083DB694
- thumb_func_end sub_80EAD08
-
- thumb_func_start sub_80EAD64
-sub_80EAD64: @ 80EAD64
- push {lr}
- lsls r1, 24
- ldr r2, _080EAD78 @ =gEasyChatGroupNames
- lsrs r1, 22
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- pop {r1}
- bx r1
- .align 2, 0
-_080EAD78: .4byte gEasyChatGroupNames
- thumb_func_end sub_80EAD64
-
- thumb_func_start sub_80EAD7C
-sub_80EAD7C: @ 80EAD7C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x14
- beq _080EADA2
- cmp r0, 0x14
- bgt _080EAD9C
- cmp r0, 0x11
- blt _080EADBA
- ldr r0, _080EAD98 @ =0x00000804
- bl FlagGet
- b _080EADB4
- .align 2, 0
-_080EAD98: .4byte 0x00000804
-_080EAD9C:
- cmp r1, 0x15
- beq _080EADB0
- b _080EADBA
-_080EADA2:
- ldr r0, _080EADAC @ =0x00000806
- bl FlagGet
- b _080EADB4
- .align 2, 0
-_080EADAC: .4byte 0x00000806
-_080EADB0:
- bl sub_80EB9C8
-_080EADB4:
- lsls r0, 24
- lsrs r0, 24
- b _080EADBC
-_080EADBA:
- movs r0, 0x1
-_080EADBC:
- pop {r1}
- bx r1
- thumb_func_end sub_80EAD7C
-
- thumb_func_start sub_80EADC0
-sub_80EADC0: @ 80EADC0
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 16
- lsrs r3, r1, 16
- cmp r2, 0x15
- bhi _080EAE82
- lsls r0, r2, 2
- ldr r1, _080EADD8 @ =_080EADDC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EADD8: .4byte _080EADDC
- .align 2, 0
-_080EADDC:
- .4byte _080EAE50
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE62
- .4byte _080EAE62
- .4byte _080EAE62
- .4byte _080EAE34
- .4byte _080EAE78
-_080EAE34:
- ldr r0, _080EAE4C @ =gUnknown_083DB694
- ldr r0, [r0]
- adds r0, r2
- adds r0, 0x67
- ldrb r0, [r0]
- cmp r0, 0
- beq _080EAE70
- lsls r0, r3, 24
- lsrs r0, 24
- bl sub_80EB868
- b _080EAE7C
- .align 2, 0
-_080EAE4C: .4byte gUnknown_083DB694
-_080EAE50:
- adds r0, r3, 0
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- bl GetSetPokedexFlag
- b _080EAE7C
-_080EAE62:
- ldr r0, _080EAE74 @ =gUnknown_083DB694
- ldr r0, [r0]
- adds r0, r2
- adds r0, 0x67
- ldrb r0, [r0]
- cmp r0, 0
- bne _080EAE82
-_080EAE70:
- movs r0, 0
- b _080EAE84
- .align 2, 0
-_080EAE74: .4byte gUnknown_083DB694
-_080EAE78:
- bl sub_80EB9C8
-_080EAE7C:
- lsls r0, 24
- lsrs r0, 24
- b _080EAE84
-_080EAE82:
- movs r0, 0x1
-_080EAE84:
- pop {r1}
- bx r1
- thumb_func_end sub_80EADC0
-
- thumb_func_start sub_80EAE88
-sub_80EAE88: @ 80EAE88
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _080EAEA6
- cmp r4, 0x14
- beq _080EAEB2
- adds r0, r4, 0
- bl sub_80EAD7C
- lsls r0, 24
- cmp r0, 0
- bne _080EAEBC
- movs r0, 0
- b _080EAEC2
-_080EAEA6:
- movs r0, 0
- bl GetHoennPokedexCount
- lsls r0, 16
- lsrs r0, 16
- b _080EAEC2
-_080EAEB2:
- bl sub_80EB8C0
- lsls r0, 24
- lsrs r0, 24
- b _080EAEC2
-_080EAEBC:
- ldr r0, _080EAEC8 @ =gEasyChatGroupSizes
- adds r0, r4, r0
- ldrb r0, [r0]
-_080EAEC2:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080EAEC8: .4byte gEasyChatGroupSizes
- thumb_func_end sub_80EAE88
-
- thumb_func_start sub_80EAECC
-sub_80EAECC: @ 80EAECC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- movs r0, 0
- mov r8, r0
- ldr r1, _080EAF10 @ =gUnknown_083DB694
- ldr r0, [r1]
- ldr r3, _080EAF14 @ =0x00004142
- adds r3, r0, r3
- str r3, [sp, 0x4]
-_080EAEE6:
- ldr r1, _080EAF18 @ =gEasyChatWordsByLetter
- mov r7, r8
- lsls r2, r7, 1
- adds r0, r2, r1
- ldrh r4, [r0]
- mov r3, r8
- adds r3, 0x1
- lsls r0, r3, 1
- adds r0, r1
- ldrh r0, [r0]
- str r0, [sp]
- ldr r0, [sp, 0x4]
- adds r1, r0, r2
- movs r0, 0
- strh r0, [r1]
- mov r9, r0
- adds r6, r4, 0
- mov r10, r2
- str r3, [sp, 0x8]
- b _080EB00C
- .align 2, 0
-_080EAF10: .4byte gUnknown_083DB694
-_080EAF14: .4byte 0x00004142
-_080EAF18: .4byte gEasyChatWordsByLetter
-_080EAF1C:
- ldr r2, _080EAFB0 @ =gEasyChatWordsAlphabetized
- adds r0, r6, 0
- adds r1, r0, 0x1
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r0, 1
- adds r0, r2
- ldrh r1, [r0]
- adds r4, r1, 0
- ldr r0, _080EAFB4 @ =0x0000feff
- cmp r1, r0
- bls _080EAFCC
- movs r0, 0xFF
- ands r1, r0
- movs r7, 0
- subs r0, r1, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r3, _080EAFB8 @ =0x0000ffff
- cmp r5, r3
- beq _080EB00C
- mov r1, r8
- lsls r0, r1, 8
- subs r0, r1
- lsls r3, r0, 1
-_080EAF4E:
- adds r1, r6, 0
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 1
- ldr r0, _080EAFB0 @ =gEasyChatWordsAlphabetized
- adds r1, r0
- ldrh r4, [r1]
- lsrs r0, r4, 9
- ldr r1, _080EAFBC @ =0x000001ff
- adds r2, r1, 0
- adds r1, r4, 0
- ands r1, r2
- str r3, [sp, 0xC]
- bl sub_80EADC0
- lsls r0, 24
- ldr r3, [sp, 0xC]
- cmp r0, 0
- beq _080EAFA2
- cmp r7, 0
- bne _080EAFA2
- ldr r7, _080EAFC0 @ =gUnknown_083DB694
- ldr r2, [r7]
- mov r1, r9
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- lsls r1, 1
- adds r1, r3
- ldr r7, _080EAFC4 @ =0x00000b78
- adds r0, r2, r7
- adds r0, r1
- strh r4, [r0]
- ldr r0, _080EAFC8 @ =0x00004142
- adds r2, r0
- add r2, r10
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- movs r7, 0x1
-_080EAFA2:
- subs r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r1, _080EAFB8 @ =0x0000ffff
- cmp r5, r1
- bne _080EAF4E
- b _080EB00C
- .align 2, 0
-_080EAFB0: .4byte gEasyChatWordsAlphabetized
-_080EAFB4: .4byte 0x0000feff
-_080EAFB8: .4byte 0x0000ffff
-_080EAFBC: .4byte 0x000001ff
-_080EAFC0: .4byte gUnknown_083DB694
-_080EAFC4: .4byte 0x00000b78
-_080EAFC8: .4byte 0x00004142
-_080EAFCC:
- lsrs r0, r4, 9
- ldr r3, _080EB030 @ =0x000001ff
- adds r2, r3, 0
- adds r1, r4, 0
- ands r1, r2
- bl sub_80EADC0
- lsls r0, 24
- cmp r0, 0
- beq _080EB00C
- ldr r7, _080EB034 @ =gUnknown_083DB694
- ldr r2, [r7]
- mov r1, r9
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- mov r3, r8
- lsls r0, r3, 8
- subs r0, r3
- adds r0, r1
- lsls r0, 1
- ldr r7, _080EB038 @ =0x00000b78
- adds r1, r2, r7
- adds r1, r0
- strh r4, [r1]
- ldr r0, _080EB03C @ =0x00004142
- adds r2, r0
- add r2, r10
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
-_080EB00C:
- ldr r1, [sp]
- cmp r6, r1
- bcc _080EAF1C
- ldr r3, [sp, 0x8]
- lsls r0, r3, 16
- lsrs r0, 16
- mov r8, r0
- cmp r0, 0x1A
- bhi _080EB020
- b _080EAEE6
-_080EB020:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EB030: .4byte 0x000001ff
-_080EB034: .4byte gUnknown_083DB694
-_080EB038: .4byte 0x00000b78
-_080EB03C: .4byte 0x00004142
- thumb_func_end sub_80EAECC
-
- thumb_func_start sub_80EB040
-sub_80EB040: @ 80EB040
- push {r4-r6,lr}
- movs r3, 0
-_080EB044:
- adds r6, r3, 0x1
- cmp r3, 0
- beq _080EB094
- cmp r3, 0x15
- beq _080EB094
- cmp r3, 0x12
- beq _080EB094
- cmp r3, 0x13
- beq _080EB094
- ldr r0, _080EB0A4 @ =gEasyChatGroupWords
- lsls r1, r3, 2
- adds r1, r0
- ldr r2, [r1]
- movs r4, 0
- ldrb r0, [r2]
- cmp r0, 0xFF
- beq _080EB094
- ldr r0, _080EB0A8 @ =gUnknown_083DB694
- ldr r0, [r0]
- ldr r1, _080EB0AC @ =0x000041a4
- adds r5, r0, r1
-_080EB06E:
- lsls r0, r4, 2
- lsls r1, r3, 10
- adds r0, r1
- adds r0, r5, r0
- str r2, [r0]
- ldrb r0, [r2]
- adds r1, r4, 0x1
- cmp r0, 0xFF
- beq _080EB088
-_080EB080:
- adds r2, 0x1
- ldrb r0, [r2]
- cmp r0, 0xFF
- bne _080EB080
-_080EB088:
- adds r2, 0x1
- lsls r0, r1, 16
- lsrs r4, r0, 16
- ldrb r0, [r2]
- cmp r0, 0xFF
- bne _080EB06E
-_080EB094:
- lsls r0, r6, 16
- lsrs r3, r0, 16
- cmp r3, 0x15
- bls _080EB044
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080EB0A4: .4byte gEasyChatGroupWords
-_080EB0A8: .4byte gUnknown_083DB694
-_080EB0AC: .4byte 0x000041a4
- thumb_func_end sub_80EB040
-
- thumb_func_start sub_80EB0B0
-sub_80EB0B0: @ 80EB0B0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- ldr r3, _080EB184 @ =gUnknown_083DB694
- ldr r4, [r3]
- adds r0, r4, 0
- adds r0, 0x26
- ldrb r5, [r0]
- cmp r5, 0
- bne _080EB19C
- movs r0, 0xDC
- lsls r0, 1
- adds r2, r4, r0
- ldrb r6, [r2]
- lsls r1, r6, 1
- ldr r7, _080EB188 @ =0x00004178
- adds r0, r4, r7
- adds r0, r1
- strh r5, [r0]
- movs r7, 0
- movs r0, 0
- mov r9, r0
- ldr r1, _080EB18C @ =gEasyChatGroupOrders
- lsls r0, r6, 2
- adds r0, r1
- ldr r0, [r0]
- str r0, [sp]
- movs r1, 0
- mov r8, r1
- ldr r1, _080EB190 @ =gEasyChatGroupSizes
- ldrb r0, [r2]
- adds r0, r1
- ldrb r0, [r0]
- cmp r8, r0
- bcc _080EB0FE
- b _080EB1FA
-_080EB0FE:
- movs r2, 0xDC
- lsls r2, 1
- adds r2, r4, r2
- str r2, [sp, 0x4]
- lsls r5, r6, 24
- mov r10, r5
-_080EB10A:
- mov r1, r8
- lsls r0, r1, 1
- ldr r2, [sp]
- adds r5, r0, r2
- ldrh r1, [r5]
- mov r2, r10
- lsrs r0, r2, 24
- bl sub_80EADC0
- lsls r0, 24
- cmp r0, 0
- beq _080EB16A
- ldr r0, _080EB184 @ =gUnknown_083DB694
- ldr r3, [r0]
- lsls r1, r7, 1
- mov r2, r9
- lsls r0, r2, 2
- adds r1, r0
- ldr r0, _080EB194 @ =0x00009a2a
- adds r4, r3, r0
- adds r4, r1
- movs r0, 0x7F
- ands r0, r6
- lsls r0, 9
- ldrh r1, [r5]
- ldr r5, _080EB198 @ =0x000001ff
- adds r2, r5, 0
- ands r1, r2
- orrs r0, r1
- strh r0, [r4]
- lsls r0, r6, 1
- ldr r1, _080EB188 @ =0x00004178
- adds r3, r1
- adds r3, r0
- ldrh r0, [r3]
- adds r0, 0x1
- strh r0, [r3]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0x1
- bls _080EB16A
- movs r7, 0
- mov r0, r9
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
-_080EB16A:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r1, _080EB190 @ =gEasyChatGroupSizes
- ldr r2, [sp, 0x4]
- ldrb r0, [r2]
- adds r0, r1
- ldrb r0, [r0]
- cmp r8, r0
- bcc _080EB10A
- b _080EB1FA
- .align 2, 0
-_080EB184: .4byte gUnknown_083DB694
-_080EB188: .4byte 0x00004178
-_080EB18C: .4byte gEasyChatGroupOrders
-_080EB190: .4byte gEasyChatGroupSizes
-_080EB194: .4byte 0x00009a2a
-_080EB198: .4byte 0x000001ff
-_080EB19C:
- movs r5, 0xDC
- lsls r5, 1
- adds r0, r4, r5
- ldrb r2, [r0]
- movs r3, 0
- movs r6, 0
- movs r5, 0
- lsls r1, r2, 1
- ldr r7, _080EB20C @ =0x00004142
- adds r0, r4, r7
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r5, r0
- bcs _080EB1FA
- ldr r7, _080EB210 @ =0x00009a2a
- adds r7, r4
- mov r8, r7
- lsls r0, r2, 8
- subs r0, r2
- lsls r7, r0, 1
- ldr r0, _080EB214 @ =0x00000b78
- adds r2, r4, r0
- adds r4, r1, 0
-_080EB1CA:
- lsls r1, r3, 1
- lsls r0, r6, 2
- adds r1, r0
- add r1, r8
- lsls r0, r5, 1
- adds r0, r7
- adds r0, r2, r0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x1
- bls _080EB1EE
- movs r3, 0
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_080EB1EE:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldrh r1, [r4]
- cmp r5, r1
- bcc _080EB1CA
-_080EB1FA:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EB20C: .4byte 0x00004142
-_080EB210: .4byte 0x00009a2a
-_080EB214: .4byte 0x00000b78
- thumb_func_end sub_80EB0B0
-
- thumb_func_start sub_80EB218
-sub_80EB218: @ 80EB218
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- lsls r6, r1, 16
- lsrs r4, r6, 16
- adds r7, r4, 0
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- adds r0, r4, 0
- bl sub_80EB37C
- lsls r0, 24
- cmp r0, 0
- beq _080EB240
- ldr r1, _080EB23C @ =gOtherText_ThreeQuestions
- b _080EB2A2
- .align 2, 0
-_080EB23C: .4byte gOtherText_ThreeQuestions
-_080EB240:
- ldr r0, _080EB250 @ =0x0000ffff
- cmp r4, r0
- bne _080EB254
- adds r1, r5, 0
- movs r0, 0xFF
- strb r0, [r1]
- b _080EB2AA
- .align 2, 0
-_080EB250: .4byte 0x0000ffff
-_080EB254:
- lsrs r2, r6, 25
- ldr r1, _080EB268 @ =0x000001ff
- ands r1, r7
- cmp r2, 0x13
- bgt _080EB26C
- cmp r2, 0x12
- bge _080EB280
- cmp r2, 0
- beq _080EB270
- b _080EB290
- .align 2, 0
-_080EB268: .4byte 0x000001ff
-_080EB26C:
- cmp r2, 0x15
- bne _080EB290
-_080EB270:
- movs r0, 0xB
- muls r1, r0
- ldr r0, _080EB27C @ =gSpeciesNames
- adds r1, r0
- b _080EB2A2
- .align 2, 0
-_080EB27C: .4byte gSpeciesNames
-_080EB280:
- movs r0, 0xD
- muls r1, r0
- ldr r0, _080EB28C @ =gMoveNames
- adds r1, r0
- b _080EB2A2
- .align 2, 0
-_080EB28C: .4byte gMoveNames
-_080EB290:
- ldr r0, _080EB2CC @ =gUnknown_083DB694
- ldr r0, [r0]
- lsls r1, 2
- lsls r2, 10
- adds r1, r2
- ldr r2, _080EB2D0 @ =0x000041a4
- adds r0, r2
- adds r0, r1
- ldr r1, [r0]
-_080EB2A2:
- adds r0, r5, 0
- bl StringCopy
- adds r1, r0, 0
-_080EB2AA:
- movs r0, 0xFC
- strb r0, [r1]
- movs r0, 0x13
- strb r0, [r1, 0x1]
- mov r2, r8
- lsls r0, r2, 3
- strb r0, [r1, 0x2]
- adds r1, 0x3
- movs r0, 0xFF
- strb r0, [r1]
- adds r0, r1, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080EB2CC: .4byte gUnknown_083DB694
-_080EB2D0: .4byte 0x000041a4
- thumb_func_end sub_80EB218
-
- thumb_func_start sub_80EB2D4
-sub_80EB2D4: @ 80EB2D4
- push {r4-r6,lr}
- lsls r5, r0, 16
- lsrs r4, r5, 16
- adds r6, r4, 0
- adds r0, r4, 0
- bl sub_80EB37C
- lsls r0, 24
- cmp r0, 0
- beq _080EB2F8
- ldr r0, _080EB2F4 @ =gOtherText_ThreeQuestions
- bl StringLength
- lsls r0, 16
- lsrs r0, 16
- b _080EB374
- .align 2, 0
-_080EB2F4: .4byte gOtherText_ThreeQuestions
-_080EB2F8:
- ldr r0, _080EB304 @ =0x0000ffff
- cmp r4, r0
- bne _080EB308
- movs r0, 0
- b _080EB374
- .align 2, 0
-_080EB304: .4byte 0x0000ffff
-_080EB308:
- lsrs r2, r5, 25
- ldr r1, _080EB31C @ =0x000001ff
- ands r1, r6
- cmp r2, 0x13
- bgt _080EB320
- cmp r2, 0x12
- bge _080EB334
- cmp r2, 0
- beq _080EB324
- b _080EB344
- .align 2, 0
-_080EB31C: .4byte 0x000001ff
-_080EB320:
- cmp r2, 0x15
- bne _080EB344
-_080EB324:
- movs r0, 0xB
- muls r1, r0
- ldr r0, _080EB330 @ =gSpeciesNames
- adds r1, r0
- b _080EB356
- .align 2, 0
-_080EB330: .4byte gSpeciesNames
-_080EB334:
- movs r0, 0xD
- muls r1, r0
- ldr r0, _080EB340 @ =gMoveNames
- adds r1, r0
- b _080EB356
- .align 2, 0
-_080EB340: .4byte gMoveNames
-_080EB344:
- ldr r0, _080EB35C @ =gUnknown_083DB694
- ldr r0, [r0]
- lsls r1, 2
- lsls r2, 10
- adds r1, r2
- ldr r2, _080EB360 @ =0x000041a4
- adds r0, r2
- adds r0, r1
- ldr r1, [r0]
-_080EB356:
- movs r2, 0
- b _080EB36C
- .align 2, 0
-_080EB35C: .4byte gUnknown_083DB694
-_080EB360: .4byte 0x000041a4
-_080EB364:
- adds r1, 0x1
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
-_080EB36C:
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _080EB364
- adds r0, r2, 0
-_080EB374:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80EB2D4
-
- thumb_func_start sub_80EB37C
-sub_80EB37C: @ 80EB37C
- push {r4,r5,lr}
- lsls r1, r0, 16
- lsrs r3, r1, 16
- ldr r0, _080EB3A0 @ =0x0000ffff
- cmp r3, r0
- beq _080EB3EA
- lsrs r2, r1, 25
- ldr r5, _080EB3A4 @ =0x000001ff
- ands r5, r3
- cmp r2, 0x15
- bhi _080EB3F4
- cmp r2, 0x13
- bgt _080EB3A8
- cmp r2, 0x12
- bge _080EB3AC
- cmp r2, 0
- beq _080EB3AC
- b _080EB3E0
- .align 2, 0
-_080EB3A0: .4byte 0x0000ffff
-_080EB3A4: .4byte 0x000001ff
-_080EB3A8:
- cmp r2, 0x15
- bne _080EB3E0
-_080EB3AC:
- ldr r0, _080EB3D8 @ =gEasyChatGroupWords
- lsls r1, r2, 2
- adds r1, r0
- ldr r4, [r1]
- movs r3, 0
- ldr r0, _080EB3DC @ =gEasyChatGroupSizes
- adds r0, r2, r0
- ldrb r0, [r0]
- cmp r3, r0
- bcs _080EB3F4
- adds r1, r0, 0
-_080EB3C2:
- lsls r0, r3, 1
- adds r0, r4
- ldrh r0, [r0]
- cmp r5, r0
- beq _080EB3EA
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r1
- bcc _080EB3C2
- b _080EB3F4
- .align 2, 0
-_080EB3D8: .4byte gEasyChatGroupWords
-_080EB3DC: .4byte gEasyChatGroupSizes
-_080EB3E0:
- ldr r0, _080EB3F0 @ =gEasyChatGroupSizes
- adds r0, r2, r0
- ldrb r0, [r0]
- cmp r5, r0
- bcs _080EB3F4
-_080EB3EA:
- movs r0, 0
- b _080EB3F6
- .align 2, 0
-_080EB3F0: .4byte gEasyChatGroupSizes
-_080EB3F4:
- movs r0, 0x1
-_080EB3F6:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80EB37C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/macros/event.inc b/asm/macros/event.inc
index cf4c9628a..fcbd3a055 100644
--- a/asm/macros/event.inc
+++ b/asm/macros/event.inc
@@ -1361,10 +1361,94 @@
@ Supplementary
- .macro goto_if_eq dest
+ .macro goto_if_trainer_not_defeated opponent, dest
+ checktrainerflag \opponent
+ goto_if 0, \dest
+ .endm
+
+ .macro goto_if_trainer_defeated opponent, dest
+ checktrainerflag \opponent
+ goto_if 1, \dest
+ .endm
+
+ .macro call_if_trainer_not_defeated opponent, dest
+ checktrainerflag \opponent
+ call_if 0, \dest
+ .endm
+
+ .macro call_if_trainer_defeated opponent, dest
+ checktrainerflag \opponent
+ call_if 1, \dest
+ .endm
+
+ .macro goto_if_unset flag, dest
+ checkflag \flag
+ goto_if 0, \dest
+ .endm
+
+ .macro goto_if_set flag, dest
+ checkflag \flag
+ goto_if 1, \dest
+ .endm
+
+ .macro goto_if_lt dest @ LESS THAN
+ goto_if 0, \dest
+ .endm
+
+ .macro goto_if_eq dest @ EQUAL
goto_if 1, \dest
.endm
+ .macro goto_if_gt dest @ GREATER THAN
+ goto_if 2, \dest
+ .endm
+
+ .macro goto_if_le dest @ LESS THAN OR EQUAL
+ goto_if 3, \dest
+ .endm
+
+ .macro goto_if_ge dest @ GREATER THAN OR EQUAL
+ goto_if 4, \dest
+ .endm
+
+ .macro goto_if_ne dest @ NOT EQUAL
+ goto_if 5, \dest
+ .endm
+
+ .macro call_if_unset flag, dest
+ checkflag \flag
+ call_if 0, \dest
+ .endm
+
+ .macro call_if_set flag, dest
+ checkflag \flag
+ call_if 1, \dest
+ .endm
+
+ .macro call_if_lt dest @ LESS THAN
+ call_if 0, \dest
+ .endm
+
+ .macro call_if_eq dest @ EQUAL
+ call_if 1, \dest
+ .endm
+
+ .macro call_if_gt dest @ GREATER THAN
+ call_if 2, \dest
+ .endm
+
+ .macro call_if_le dest @ LESS THAN OR EQUAL
+ call_if 3, \dest
+ .endm
+
+ .macro call_if_ge dest @ GREATER THAN OR EQUAL
+ call_if 4, \dest
+ .endm
+
+ .macro call_if_ne dest @ NOT EQUAL
+ call_if 5, \dest
+ .endm
+
.macro switch var
copyvar VAR_SPECIAL_0, \var
.endm
diff --git a/data-de/event_scripts.s b/data-de/event_scripts.s
index 020c9a97d..18fb0a64d 100644
--- a/data-de/event_scripts.s
+++ b/data-de/event_scripts.s
@@ -410,8 +410,7 @@ gUnknown_0815F36C:: @ 815F36C
EventScript_15F384:
message UnknownString_81A3A87
waitmessage
- checkflag FLAG_DECORATION_16
- goto_if_eq EventScript_15F3A0
+ goto_if_set FLAG_DECORATION_16, EventScript_15F3A0
goto EventScript_15F3E2
end
@@ -954,7 +953,7 @@ gUnknown_0819F818:: @ 819F818
waitmovement 0
specialvar RESULT, ScrSpecial_HasTrainerBeenFought
compare RESULT, 0
- goto_if 5, EventScript_19F83F
+ goto_if_ne EventScript_19F83F
special PlayTrainerEncounterMusic
special sub_8082524
goto EventScript_19F8F2
@@ -968,10 +967,10 @@ gUnknown_0819F840:: @ 819F840
call EventScript_19F8E5
specialvar RESULT, ScrSpecial_HasTrainerBeenFought
compare RESULT, 0
- goto_if 5, EventScript_19F877
+ goto_if_ne EventScript_19F877
special CheckForAlivePartyMons
compare RESULT, 0
- goto_if 5, EventScript_19F870
+ goto_if_ne EventScript_19F870
special PlayTrainerEncounterMusic
special sub_8082524
goto EventScript_19F8F2
@@ -1017,7 +1016,7 @@ gUnknown_0819F8AE:: @ 819F8AE
goto_if_eq EventScript_19F8DD
special CheckForAlivePartyMons
compare RESULT, 0
- goto_if 5, EventScript_19F8DE
+ goto_if_ne EventScript_19F8DE
special PlayTrainerEncounterMusic
special sub_8082524
special ScrSpecial_ShowTrainerIntroSpeech
@@ -1308,14 +1307,10 @@ EverGrandeCity_HallOfFame_EventScript_19FC13:: @ 819FC13
clearflag FLAG_HIDE_SS_TIDAL_SLATEPORT_HARBOR
clearflag FLAG_HIDE_SS_TIDAL_LILYCOVE_HARBOR
special sub_810FAA0
- checkflag FLAG_RECEIVED_SS_TICKET
- call_if 0, EverGrandeCity_HallOfFame_EventScript_19FC62
- checkflag FLAG_LATIOS_OR_LATIAS_ROAMING
- call_if 0, EverGrandeCity_HallOfFame_EventScript_19FC70
- checkflag FLAG_RECEIVED_BELDUM
- call_if 0, EverGrandeCity_HallOfFame_EventScript_19FC5A
- checkflag FLAG_RECEIVED_HM08
- call_if 0, EverGrandeCity_HallOfFame_EventScript_19FC5E
+ call_if_unset FLAG_RECEIVED_SS_TICKET, EverGrandeCity_HallOfFame_EventScript_19FC62
+ call_if_unset FLAG_LATIOS_OR_LATIAS_ROAMING, EverGrandeCity_HallOfFame_EventScript_19FC70
+ call_if_unset FLAG_RECEIVED_BELDUM, EverGrandeCity_HallOfFame_EventScript_19FC5A
+ call_if_unset FLAG_RECEIVED_HM08, EverGrandeCity_HallOfFame_EventScript_19FC5E
return
EverGrandeCity_HallOfFame_EventScript_19FC5A:: @ 819FC5A
@@ -1343,10 +1338,8 @@ S_WhiteOut:: @ 819FC74
end
EventScript_19FC84:
- checkflag FLAG_RECEIVED_GO_GOGGLES
- goto_if_eq Route101_EventScript_1A14DC
- checkflag FLAG_DEFEATED_LAVARIDGE_GYM
- goto_if 0, Route101_EventScript_1A14DC
+ goto_if_set FLAG_RECEIVED_GO_GOGGLES, Route101_EventScript_1A14DC
+ goto_if_unset FLAG_DEFEATED_LAVARIDGE_GYM, Route101_EventScript_1A14DC
clearflag FLAG_HIDE_RIVAL_LAVARIDGE_1
setvar VAR_LAVARIDGE_RIVAL_STATE, 2
return
@@ -1409,16 +1402,11 @@ PetalburgCity_PokemonCenter_1F_EventScript_19FD1B:: @ 819FD1B
RustboroCity_PokemonCenter_1F_EventScript_19FD1B:: @ 819FD1B
SlateportCity_PokemonCenter_1F_EventScript_19FD1B:: @ 819FD1B
VerdanturfTown_PokemonCenter_1F_EventScript_19FD1B:: @ 819FD1B
- checkflag FLAG_RECEIVED_POKENAV
- goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_1A14DC
- checkflag FLAG_DEFEATED_PETALBURG_GYM
- goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_1A14DC
- checkflag FLAG_HIDE_MR_BRINEY_BOAT_ROUTE104
- goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_19FD49
- checkflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN
- goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_19FD4F
- checkflag FLAG_HIDE_MR_BRINEY_ROUTE109
- goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_19FD55
+ goto_if_unset FLAG_RECEIVED_POKENAV, OldaleTown_PokemonCenter_1F_EventScript_1A14DC
+ goto_if_set FLAG_DEFEATED_PETALBURG_GYM, OldaleTown_PokemonCenter_1F_EventScript_1A14DC
+ goto_if_unset FLAG_HIDE_MR_BRINEY_BOAT_ROUTE104, OldaleTown_PokemonCenter_1F_EventScript_19FD49
+ goto_if_unset FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN, OldaleTown_PokemonCenter_1F_EventScript_19FD4F
+ goto_if_unset FLAG_HIDE_MR_BRINEY_ROUTE109, OldaleTown_PokemonCenter_1F_EventScript_19FD55
return
OldaleTown_PokemonCenter_1F_EventScript_19FD49:: @ 819FD49
@@ -1467,8 +1455,7 @@ OldaleTown_PokemonCenter_1F_EventScript_19FD7C:: @ 819FD7C
applymovement VAR_SPECIAL_B, OldaleTown_PokemonCenter_1F_Movement_1A0845
waitmovement 0
special ScrSpecial_HealPlayerParty
- checkflag FLAG_POKERUS_EXPLAINED
- goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_19FDCE
+ goto_if_unset FLAG_POKERUS_EXPLAINED, OldaleTown_PokemonCenter_1F_EventScript_19FDCE
goto OldaleTown_PokemonCenter_1F_EventScript_19FDB0
end
@@ -1516,9 +1503,9 @@ Std_ObtainItem_: @ 819FE07
checkitemtype VAR_SPECIAL_0
call GetItem_HandlePocket
compare VAR_SPECIAL_7, 0x1
- call_if 1, Std_ObtainItem_Success
+ call_if_eq Std_ObtainItem_Success
compare VAR_SPECIAL_7, 0x0
- call_if 1, Std_ObtainItem_Fail
+ call_if_eq Std_ObtainItem_Fail
return
GetItem_HandlePocket:
@@ -1533,31 +1520,31 @@ GetItem_HandlePocket:
GetItem_HandlePocket_Items:
bufferstdstring 2, 0xE
compare VAR_SPECIAL_7, 1
- call_if 1, PlayGetItemFanfare
+ call_if_eq PlayGetItemFanfare
return
GetItem_HandlePocket_KeyItems:
bufferstdstring 2, 0xF
compare VAR_SPECIAL_7, 1
- call_if 1, PlayGetItemFanfare
+ call_if_eq PlayGetItemFanfare
return
GetItem_HandlePocket_PokeBalls:
bufferstdstring 2, 0x10
compare VAR_SPECIAL_7, 1
- call_if 1, PlayGetItemFanfare
+ call_if_eq PlayGetItemFanfare
return
GetItem_HandlePocket_TMsHMs:
bufferstdstring 2, 0x11
compare VAR_SPECIAL_7, 1
- call_if 1, PlayGetTMHMFanfare
+ call_if_eq PlayGetTMHMFanfare
return
GetItem_HandlePocket_Berries:
bufferstdstring 2, 0x12
compare VAR_SPECIAL_7, 1
- call_if 1, PlayGetItemFanfare
+ call_if_eq PlayGetItemFanfare
return
Std_ObtainItem_Success: @ 819FEB7
@@ -1589,9 +1576,9 @@ Std_ObtainDecoration: @ 819FEDA
Std_ObtainDecoration_: @ 819FEE8
bufferdecorationname 1, VAR_SPECIAL_0
compare VAR_SPECIAL_7, 1
- call_if 1, Std_ObtainDecoration_Success
+ call_if_eq Std_ObtainDecoration_Success
compare VAR_SPECIAL_7, 0
- call_if 1, Std_ObtainDecoration_Fail
+ call_if_eq Std_ObtainDecoration_Fail
return
Std_ObtainDecoration_Success: @ 819FF03
@@ -1617,9 +1604,9 @@ Std_FindItem: @ 819FF21
checkitemtype VAR_SPECIAL_0
call GetItem_HandlePocket
compare VAR_SPECIAL_7, 1
- call_if 1, Std_FindItem_Success
+ call_if_eq Std_FindItem_Success
compare VAR_SPECIAL_7, 0
- call_if 1, Std_FindItem_Fail
+ call_if_eq Std_FindItem_Fail
release
return
@@ -1724,10 +1711,8 @@ EventScript_1A0070:
EventScript_1A0085:
playse SE_PC_LOGON
- checkflag FLAG_SYS_PC_LANETTE
- call_if 0, EventScript_1A00AC
- checkflag FLAG_SYS_PC_LANETTE
- call_if 1, EventScript_1A00B5
+ call_if_unset FLAG_SYS_PC_LANETTE, EventScript_1A00AC
+ call_if_set FLAG_SYS_PC_LANETTE, EventScript_1A00B5
msgbox UnknownString_81A0A35, 4
special ShowPokemonStorageSystem
waitstate
@@ -1750,8 +1735,7 @@ EventScript_1A00BE:
end
EventScript_1A00CB:
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, EventScript_1A00BE
+ goto_if_unset FLAG_SYS_GAME_CLEAR, EventScript_1A00BE
playse SE_PC_LOGON
special AccessHallOfFamePC
waitstate
@@ -2156,21 +2140,21 @@ Route103_EventScript_1A02F4:: @ 81A02F4
compare VAR_PETALBURG_GYM_STATE, 0
goto_if_eq Route101_EventScript_1A14DC
compare VAR_BIRCH_STATE, 0
- call_if 1, Route101_EventScript_1A0358
+ call_if_eq Route101_EventScript_1A0358
compare VAR_BIRCH_STATE, 1
- call_if 1, Route101_EventScript_1A0358
+ call_if_eq Route101_EventScript_1A0358
compare VAR_BIRCH_STATE, 2
- call_if 1, Route101_EventScript_1A0365
+ call_if_eq Route101_EventScript_1A0365
compare VAR_BIRCH_STATE, 3
- call_if 1, Route101_EventScript_1A0365
+ call_if_eq Route101_EventScript_1A0365
compare VAR_BIRCH_STATE, 4
- call_if 1, Route101_EventScript_1A0372
+ call_if_eq Route101_EventScript_1A0372
compare VAR_BIRCH_STATE, 5
- call_if 1, Route101_EventScript_1A0372
+ call_if_eq Route101_EventScript_1A0372
compare VAR_BIRCH_STATE, 6
- call_if 1, Route101_EventScript_1A0358
+ call_if_eq Route101_EventScript_1A0358
compare VAR_BIRCH_STATE, 7
- call_if 1, Route101_EventScript_1A0358
+ call_if_eq Route101_EventScript_1A0358
return
Route101_EventScript_1A0358:: @ 81A0358
@@ -2297,9 +2281,9 @@ Movement_1A047A:
BattleTower_Outside_EventScript_1A047C:: @ 81A047C
SouthernIsland_Exterior_EventScript_1A047C:: @ 81A047C
compare FACING, 1
- call_if 1, BattleTower_Outside_EventScript_160B2F
+ call_if_eq BattleTower_Outside_EventScript_160B2F
compare FACING, 3
- call_if 1, BattleTower_Outside_EventScript_160B3A
+ call_if_eq BattleTower_Outside_EventScript_160B3A
delay 30
hideobjectat 255, MAP_PETALBURG_CITY
call BattleTower_Outside_EventScript_1A040E
@@ -2467,19 +2451,19 @@ Route119_EventScript_1A05C3:: @ 81A05C3
waitmoncry
setwildbattle SPECIES_KECLEON, 30, ITEM_NONE
compare VAR_SPECIAL_4, 1
- call_if 1, Route119_EventScript_1A0646
+ call_if_eq Route119_EventScript_1A0646
compare VAR_SPECIAL_4, 2
- call_if 1, Route119_EventScript_1A064A
+ call_if_eq Route119_EventScript_1A064A
compare VAR_SPECIAL_4, 3
- call_if 1, Route119_EventScript_1A064E
+ call_if_eq Route119_EventScript_1A064E
compare VAR_SPECIAL_4, 4
- call_if 1, Route119_EventScript_1A0652
+ call_if_eq Route119_EventScript_1A0652
compare VAR_SPECIAL_4, 5
- call_if 1, Route119_EventScript_1A0656
+ call_if_eq Route119_EventScript_1A0656
compare VAR_SPECIAL_4, 6
- call_if 1, Route119_EventScript_1A065A
+ call_if_eq Route119_EventScript_1A065A
compare VAR_SPECIAL_4, 7
- call_if 1, Route119_EventScript_1A065E
+ call_if_eq Route119_EventScript_1A065E
setflag FLAG_SYS_CTRL_OBJ_DELETE
dowildbattle
clearflag FLAG_SYS_CTRL_OBJ_DELETE
@@ -3965,8 +3949,7 @@ SecretBase_YellowCave4_EventScript_1A2FC0:: @ 81A2FC0
end
SecretBase_RedCave1_EventScript_1A3032:: @ 81A3032
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, SecretBase_RedCave1_EventScript_1A3086
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A3086
compare RESULT, 1
goto_if_eq SecretBase_RedCave1_EventScript_1A30A5
lock
@@ -4000,8 +3983,7 @@ SecretBase_RedCave1_EventScript_1A30A5:: @ 81A30A5
end
SecretBase_RedCave1_EventScript_1A30AE:: @ 81A30AE
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, SecretBase_RedCave1_EventScript_1A3102
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A3102
compare RESULT, 1
goto_if_eq SecretBase_RedCave1_EventScript_1A3121
lock
@@ -4035,8 +4017,7 @@ SecretBase_RedCave1_EventScript_1A3121:: @ 81A3121
end
SecretBase_RedCave1_EventScript_1A312A:: @ 81A312A
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, SecretBase_RedCave1_EventScript_1A317E
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A317E
compare RESULT, 1
goto_if_eq SecretBase_RedCave1_EventScript_1A319D
lock
@@ -4070,8 +4051,7 @@ SecretBase_RedCave1_EventScript_1A319D:: @ 81A319D
end
SecretBase_RedCave1_EventScript_1A31A6:: @ 81A31A6
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, SecretBase_RedCave1_EventScript_1A31FA
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A31FA
compare RESULT, 1
goto_if_eq SecretBase_RedCave1_EventScript_1A3219
lock
@@ -4105,8 +4085,7 @@ SecretBase_RedCave1_EventScript_1A3219:: @ 81A3219
end
SecretBase_RedCave1_EventScript_1A3222:: @ 81A3222
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, SecretBase_RedCave1_EventScript_1A3276
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A3276
compare RESULT, 1
goto_if_eq SecretBase_RedCave1_EventScript_1A3295
lock
@@ -4140,8 +4119,7 @@ SecretBase_RedCave1_EventScript_1A3295:: @ 81A3295
end
SecretBase_RedCave1_EventScript_1A329E:: @ 81A329E
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, SecretBase_RedCave1_EventScript_1A32F2
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A32F2
compare RESULT, 1
goto_if_eq SecretBase_RedCave1_EventScript_1A3311
lock
@@ -4175,8 +4153,7 @@ SecretBase_RedCave1_EventScript_1A3311:: @ 81A3311
end
SecretBase_RedCave1_EventScript_1A331A:: @ 81A331A
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, SecretBase_RedCave1_EventScript_1A336E
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A336E
compare RESULT, 1
goto_if_eq SecretBase_RedCave1_EventScript_1A338D
lock
@@ -4210,8 +4187,7 @@ SecretBase_RedCave1_EventScript_1A338D:: @ 81A338D
end
SecretBase_RedCave1_EventScript_1A3396:: @ 81A3396
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, SecretBase_RedCave1_EventScript_1A33EA
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A33EA
compare RESULT, 1
goto_if_eq SecretBase_RedCave1_EventScript_1A3409
lock
@@ -4245,8 +4221,7 @@ SecretBase_RedCave1_EventScript_1A3409:: @ 81A3409
end
SecretBase_RedCave1_EventScript_1A3412:: @ 81A3412
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, SecretBase_RedCave1_EventScript_1A3466
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A3466
compare RESULT, 1
goto_if_eq SecretBase_RedCave1_EventScript_1A3485
lock
@@ -4280,8 +4255,7 @@ SecretBase_RedCave1_EventScript_1A3485:: @ 81A3485
end
SecretBase_RedCave1_EventScript_1A348E:: @ 81A348E
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, SecretBase_RedCave1_EventScript_1A34E2
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A34E2
compare RESULT, 1
goto_if_eq SecretBase_RedCave1_EventScript_1A3501
lock
@@ -4472,8 +4446,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_1ADEE0:: @ 81ADEE0
compare RESULT, 1
goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF96
copyvar VAR_SPECIAL_9, VAR_SPECIAL_6
- checkflag FLAG_OCEANIC_MUSEUM_MET_REPORTER
- goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF25
+ goto_if_set FLAG_OCEANIC_MUSEUM_MET_REPORTER, SlateportCity_OceanicMuseum_1F_EventScript_1ADF25
setflag FLAG_OCEANIC_MUSEUM_MET_REPORTER
msgbox SlateportCity_OceanicMuseum_1F_Text_1A927F, MSGBOX_YESNO
compare RESULT, YES
@@ -4601,8 +4574,7 @@ SlateportCity_ContestLobby_EventScript_1AE0B6:: @ 81AE0B6
VerdanturfTown_ContestLobby_EventScript_1AE0B6:: @ 81AE0B6
lock
faceplayer
- checkflag FLAG_TEMP_2
- goto_if_eq FallarborTown_ContestLobby_EventScript_1AE17E
+ goto_if_set FLAG_TEMP_2, FallarborTown_ContestLobby_EventScript_1AE17E
setvar VAR_SPECIAL_5, 6
special InterviewBefore
compare RESULT, 1
@@ -4662,7 +4634,7 @@ LilycoveCity_ContestLobby_EventScript_1AE188:: @ 81AE188
SlateportCity_ContestLobby_EventScript_1AE188:: @ 81AE188
VerdanturfTown_ContestLobby_EventScript_1AE188:: @ 81AE188
compare VAR_LINK_CONTEST_ROOM_STATE, 2
- goto_if 5, FallarborTown_ContestLobby_EventScript_1AE1FE
+ goto_if_ne FallarborTown_ContestLobby_EventScript_1AE1FE
setvar VAR_SPECIAL_5, 6
special InterviewBefore
compare RESULT, 1
@@ -4698,8 +4670,7 @@ FallarborTown_ContestLobby_EventScript_1AE1FE:: @ 81AE1FE
BattleTower_Lobby_EventScript_1AE1FF:: @ 81AE1FF
lock
faceplayer
- checkflag FLAG_TEMP_2
- goto_if_eq BattleTower_Lobby_EventScript_1AE2E3
+ goto_if_set FLAG_TEMP_2, BattleTower_Lobby_EventScript_1AE2E3
setvar VAR_SPECIAL_5, 7
special InterviewBefore
compare RESULT, 1
@@ -4718,9 +4689,9 @@ BattleTower_Lobby_EventScript_1AE241:: @ 81AE241
multichoice 19, 8, 45, 1
copyvar VAR_SPECIAL_8, RESULT
compare RESULT, 0
- call_if 1, BattleTower_Lobby_EventScript_1AE2A1
+ call_if_eq BattleTower_Lobby_EventScript_1AE2A1
compare RESULT, 1
- call_if 1, BattleTower_Lobby_EventScript_1AE2AA
+ call_if_eq BattleTower_Lobby_EventScript_1AE2AA
msgbox BattleTower_Lobby_Text_1A79EB, 4
setvar VAR_SPECIAL_4, 12
copyvar VAR_SPECIAL_5, VAR_SPECIAL_9
diff --git a/data-de/field_move_scripts.inc b/data-de/field_move_scripts.inc
index 91f6ca620..86a4d1b24 100644
--- a/data-de/field_move_scripts.inc
+++ b/data-de/field_move_scripts.inc
@@ -1,7 +1,6 @@
S_CuttableTree:: @ 81B0DCC
lockall
- checkflag FLAG_BADGE01_GET
- goto_if 0, CannotUseCut
+ goto_if_unset FLAG_BADGE01_GET, CannotUseCut
checkpartymove MOVE_CUT
compare RESULT, 6
goto_if_eq CannotUseCut
@@ -61,8 +60,7 @@ CannotUseCutText: @ 81B0E8E
S_BreakableRock:: @ 81B0EB7
lockall
- checkflag FLAG_BADGE03_GET
- goto_if 0, CannotUseRockSmash
+ goto_if_unset FLAG_BADGE03_GET, CannotUseRockSmash
checkpartymove MOVE_ROCK_SMASH
compare RESULT, 6
goto_if_eq CannotUseRockSmash
@@ -128,10 +126,8 @@ CannotUseRockSmashText: @ 81B0F90
S_PushableBoulder:: @ 81B0FCB
lockall
- checkflag FLAG_BADGE04_GET
- goto_if 0, CannotUseStrength
- checkflag FLAG_SYS_USE_STRENGTH
- goto_if_eq AlreadyUsedStrength
+ goto_if_unset FLAG_BADGE04_GET, CannotUseStrength
+ goto_if_set FLAG_SYS_USE_STRENGTH, AlreadyUsedStrength
checkpartymove 70
compare RESULT, 6
goto_if_eq CannotUseStrength
diff --git a/data/cable_car.s b/data/cable_car.s
deleted file mode 100644
index 775e53b6a..000000000
--- a/data/cable_car.s
+++ /dev/null
@@ -1,102 +0,0 @@
-#include "constants/map_objects.h"
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
- .align 2
-gCableCarMtChimneyTilemap:: @ 8401820
- .incbin "graphics/misc/cable_car_mt_chimney_map.bin.lz"
-
- .align 2
-gCableCarTreeTilemap:: @ 8401978
- .incbin "graphics/misc/cable_car_tree_map.bin.lz"
-
- .align 2
-gCableCarMountainTilemap:: @ 8401AFC
- .incbin "graphics/misc/cable_car_mountain_map.bin.lz"
-
- .align 2
-gCableCarPylonHookTilemapEntries:: @ 8401CC0
- .2byte 0x3000
- .2byte 0x3001
- .2byte 0x3002
- .2byte 0x3003
- .2byte 0x3004
- .2byte 0x3005
- .2byte 0x3006
- .2byte 0x3007
- .2byte 0x3008
- .2byte 0x3009
-
- .align 2
-gCableCarPylonStemTilemap:: @ 8401CD4
- .incbin "graphics/misc/cable_car_pylon_stem_map.bin.lz"
-
- .align 2
-gUnknown_08401CF8:: @ 8401CF8
- obj_tiles gCableCar_Gfx, 0x800, 1
- obj_tiles gCableCarDoor_Gfx, 0x40, 2
- obj_tiles gCableCarCord_Gfx, 0x80, 3
- .space 8
-
- .align 2
-gUnknown_08401D18:: @ 8401D18
- obj_pal gCableCar_Pal, 1
- .space 8
-
- .align 2
-gOamData_8401D28:: @ 8401D28
- .2byte 0x0300
- .2byte 0xC000
- .2byte 0x0800
-
- .align 2
-gOamData_8401D30:: @ 8401D30
- .2byte 0x4300
- .2byte 0x0000
- .2byte 0x0800
-
- .align 2
-gOamData_8401D38:: @ 8401D38
- .2byte 0x0300
- .2byte 0x4000
- .2byte 0x0800
-
- .align 2
-gSpriteTemplate_8401D40:: @ 8401D40
- spr_template 1, 1, gOamData_8401D28, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8123CB8
-
- .align 2
-gSpriteTemplate_8401D58:: @ 8401D58
- spr_template 2, 1, gOamData_8401D30, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8123CB8
-
- .align 2
-gSpriteTemplate_8401D70:: @ 8401D70
- spr_template 3, 1, gOamData_8401D38, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, nullsub_76
-
-gCableCarPlayerGraphicsIDs:: @ 8401D88
- .byte MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL
- .byte MAP_OBJ_GFX_RIVAL_MAY_NORMAL
-
-gMtChimneyHikerGraphicsIDs:: @ 8401D8A
- .byte MAP_OBJ_GFX_HIKER
- .byte MAP_OBJ_GFX_CAMPER
- .byte MAP_OBJ_GFX_PICNICKER
- .byte MAP_OBJ_GFX_POOCHYENA @ not used
-
- .align 1
-gMtChimneyHikerCoords:: @ 8401D8E
- .2byte 0, 80
- .2byte 240, 146
-
-gMtChimneyHikerMovementDelayTable:: @ 8401D96
- .byte 0
- .byte 60
- .byte 120
- .byte 170
-
- .align 2
-gUnknown_08401D9C:: @ 8401D9C
- .4byte sub_8123EB8
- .4byte sub_8123F44
diff --git a/data/easy_chat.s b/data/easy_chat.s
index 99a03f8f5..d41ffccce 100644
--- a/data/easy_chat.s
+++ b/data/easy_chat.s
@@ -8,483 +8,6 @@
.section .rodata
- .align 1
-gMysteryEventPhrase:: @ 83DB678
- .2byte EC_WORD_MYSTERY
- .2byte EC_WORD_EVENT
- .2byte EC_WORD_IS
- .2byte EC_WORD_EXCITING
-
- .align 1
-gBerryMasterWifePhrases:: @ 83DB680
-.ifdef ENGLISH
- .2byte EC_WORD_GREAT
- .2byte EC_WORD_BATTLE
-
- .2byte EC_WORD_CHALLENGE
- .2byte EC_WORD_CONTEST
-
- .2byte EC_WORD_OVERWHELMING
- .2byte EC_POKEMON(LATIAS)
-
- .2byte EC_WORD_COOL
- .2byte EC_POKEMON(LATIOS)
-
- .2byte EC_WORD_SUPER
- .2byte EC_WORD_HUSTLE
-.else
- .2byte EC_WORD_GREAT
- .2byte EC_WORD_FIGHT
-
- .2byte EC_WORD_CONTEST
- .2byte EC_WORD_CHALLENGE
-
- .2byte EC_POKEMON(LATIAS)
- .2byte EC_WORD_OVERWHELMING
-
- .2byte EC_POKEMON(LATIOS)
- .2byte EC_WORD_COOL
-
- .2byte EC_WORD_SUPER
- .2byte 0xFFFF
-.endif
-
-gUnknown_083DB694:: @ 83DB694
- .4byte gSharedMem + 0x1000
-
- .align 2
-gUnknown_083DB698:: @ 83DB698
- .4byte REG_BG3VOFS
- .4byte ((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1
- .4byte 1
-
-gUnknown_083DB6A4:: @ 83DB6A4
- .byte 4
- .byte 0
- .byte 0
- .byte 0
- .byte 1
- .byte 5
- .byte 0
- .byte 2
- .byte 2
- .byte 3
- .byte 2
- .byte 2
- .byte 2
- .byte 3
-
-gUnknown_083DB6B2:: @ 83DB6B2
- .string "ABCDEF $ "
- .string "GHIJKL$ "
- .string "MNOPQRS$ "
- .string "TUVWXYZ$ "
-
- .align 2
-gUnknown_083DB6F4:: @ 83DB6F4
- .4byte OtherText_MakeProfilePage1, OtherText_MakeProfilePage2, 0x1
- .4byte OtherText_MakeMessagePage1, OtherText_MakeMessagePage2, 0x1
- .4byte OtherText_CombineNinePhrasesPage1, OtherText_CombineNinePhrasesPage2, 0x1
- .4byte OtherText_DescribeFeelingsPage1, OtherText_DescribeFeelingsPage2, 0x1
- .4byte OtherText_ImproveBardSongPage1, OtherText_ImproveBardSongPage2, 0x1
- .4byte OtherText_CombineTwoPhrasesPage1, OtherText_CombineTwoPhrasesPage2, 0x1
- .4byte OtherText_YourProfile, OtherText_ConfirmTrendyPage2, 0x0
- .4byte OtherText_YourFeelingBattle, OtherText_ConfirmTrendyPage2, 0x1
- .4byte OtherText_SetWinMessage, OtherText_ConfirmTrendyPage2, 0x1
- .4byte OtherText_SetLossMessage, OtherText_ConfirmTrendyPage2, 0x1
- .4byte OtherText_MailMessage, OtherText_ConfirmTrendyPage2, 0x1
- .4byte OtherText_MailSalutation, OtherText_ConfirmTrendyPage2, 0x1
- .4byte OtherText_NewSong, OtherText_ConfirmTrendyPage2, 0x0
- .4byte OtherText_TheAnswer, OtherText_ConfirmTrendyPage2, 0x0
- .4byte OtherText_ConfirmTrendyPage1, OtherText_ConfirmTrendyPage2, 0x1
- .4byte OtherText_HipsterPage1, OtherText_HipsterPage2, 0x1
- .4byte OtherText_WithFourPhrases, OtherText_CombineNinePhrasesPage2, 0x1
-
-gUnknown_083DB7C0:: @ 83DB7C0
- .byte 0, 6
- .byte 1, 7
- .byte 1, 8
- .byte 1, 9
- .byte 2, 10
- .byte 16, 13
- .byte 4, 12
- .byte 3, 13
- .byte 3, 13
- .byte 5, 14
- .byte 3, 13
- .byte 3, 13
- .byte 3, 13
- .byte 15, 13
-
- .align 2
-gUnknown_083DB7DC:: @ 83DB7DC
-.ifdef ENGLISH
- .4byte gSharedMem + 0xAC80
- .4byte gSharedMem + 0xACC9
- .4byte gSharedMem + 0xAD12
- .4byte gSharedMem + 0xAD5B
-.else
- .4byte gSharedMem + 0xAFAC
- .4byte gSharedMem + 0xAFF5
- .4byte gSharedMem + 0xB03E
- .4byte gSharedMem + 0xB087
-.endif
-
- .align 1
-gUnknown_083DB7EC:: @ 83DB7EC
-.ifdef ENGLISH
- .2byte EC_WORD_I_AM
- .2byte EC_WORD_A
- .2byte EC_WORD_POKEMON
- .2byte EC_WORD_GREAT
-.else
- .2byte EC_WORD_I_AM
- .2byte EC_WORD_BIG
- .2byte EC_WORD_IN
- .2byte EC_WORD_POKEMON
-.endif
-
- .align 1
-gUnknown_083DB7F4:: @ 83DB7F4
- .2byte EC_WORD_ARE
- .2byte EC_WORD_YOU
- .2byte EC_WORD_READY
- .2byte EC_WORD_QUES
- .2byte EC_WORD_HERE_I_COME
- .2byte EC_WORD_EXCL
-
- .align 2
-InterviewPalette_0:: @ 83DB800
- .incbin "graphics/misc/interview_pal0.gbapal"
-
- .align 2
-InterviewPalette_1:: @ 83DB820
- .incbin "graphics/misc/interview_pal1.gbapal"
-
- .align 2
-InterviewArrowTiles: @ 83DB840
- .incbin "graphics/misc/interview_arrow.4bpp"
-
- .align 2
-InterviewButtonTiles: @ 83DB940
- .incbin "graphics/misc/interview_buttons.4bpp"
-
- .align 2
-gMenuInterviewFrame_Pal::
- .incbin "graphics/misc/interview_frame.gbapal"
-
- .align 2
-gMenuInterviewFrame_Gfx::
- .incbin "graphics/misc/interview_frame.4bpp.lz"
-
- .align 2
-InterviewTriangleCursorTiles: @ 83DBB94
- .incbin "graphics/misc/interview_triangle_cursor.4bpp"
-
- .align 2
-gSpriteSheets_Interview:: @ 83DBBB4
- obj_tiles InterviewTriangleCursorTiles, 0x20, 0
- obj_tiles gInterviewOutlineCursorTiles, 0x700, 1
- obj_tiles InterviewArrowTiles, 0x100, 2
- obj_tiles InterviewButtonTiles, 0x100, 3
- null_obj_tiles
-
- .align 2
-gSpritePalettes_Interview:: @ 83DBBDC
- obj_pal InterviewPalette_0, 0
- obj_pal InterviewPalette_1, 1
- null_obj_pal
-
- .align 2
-gOamData_83DBBF4:: @ 83DBBF4
- .2byte 0x0000
- .2byte 0x0000
- .2byte 0x0000
-
- .align 2
-gSpriteTemplate_83DBBFC:: @ 83DBBFC
- spr_template 0, 0, gOamData_83DBBF4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E82BC
-
- .align 2
-gOamData_83DBC14:: @ 83DBC14
- .2byte 0x4400
- .2byte 0x8000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_83DBC1C:: @ 83DBC1C
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBC24:: @ 83DBC24
-.ifdef ENGLISH
- obj_image_anim_frame 8, 5
-.else
- obj_image_anim_frame 0, 5
-.endif
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBC2C:: @ 83DBC2C
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBC34:: @ 83DBC34
- obj_image_anim_frame 24, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBC3C:: @ 83DBC3C
- obj_image_anim_frame 32, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBC44:: @ 83DBC44
- obj_image_anim_frame 40, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBC4C:: @ 83DBC4C
- obj_image_anim_frame 40, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBC54:: @ 83DBC54
- obj_image_anim_frame 40, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBC5C:: @ 83DBC5C
- obj_image_anim_frame 48, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBC64:: @ 83DBC64
-.ifdef ENGLISH
- obj_image_anim_frame 40, 5
-.else
- obj_image_anim_frame 16, 5
-.endif
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBC6C:: @ 83DBC6C
- obj_image_anim_frame 48, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBC74:: @ 83DBC74
- obj_image_anim_frame 40, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83DBC7C:: @ 83DBC7C
- .4byte gSpriteAnim_83DBC1C
- .4byte gSpriteAnim_83DBC24
- .4byte gSpriteAnim_83DBC2C
- .4byte gSpriteAnim_83DBC34
-
- .align 2
-gSpriteAnimTable_83DBC8C:: @ 83DBC8C
- .4byte gSpriteAnim_83DBC3C
- .4byte gSpriteAnim_83DBC44
- .4byte gSpriteAnim_83DBC4C
- .4byte gSpriteAnim_83DBC54
-
- .align 2
-gSpriteAnimTable_83DBC9C:: @ 83DBC9C
- .4byte gSpriteAnim_83DBC5C
- .4byte gSpriteAnim_83DBC64
- .4byte gSpriteAnim_83DBC6C
- .4byte gSpriteAnim_83DBC74
-
- .align 2
-gSpriteTemplate_83DBCAC:: @ 83DBCAC
- spr_template 1, 1, gOamData_83DBC14, gSpriteAnimTable_83DBC7C, NULL, gDummySpriteAffineAnimTable, sub_80E85F8
-
- .align 2
-gUnknown_083DBCC4:: @ 83DBCC4
- .byte 1, 3, 5, 8, 10, 12, 15
- .byte 1, 3, 5, 8, 10, 12, 0
- .byte 1, 3, 5, 8, 10, 12, 14
- .byte 1, 3, 5, 8, 10, 12, 14
-
- .align 2
-gOamData_83DBCE0:: @ 83DBCE0
- .2byte 0x0000
- .2byte 0x4000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_83DBCE8:: @ 83DBCE8
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBCF0:: @ 83DBCF0
- obj_image_anim_frame 4, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83DBCF8:: @ 83DBCF8
- .4byte gSpriteAnim_83DBCE8
- .4byte gSpriteAnim_83DBCF0
-
- .align 2
-gSpriteAnim_83DBD00:: @ 83DBD00
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBD08:: @ 83DBD08
- obj_image_anim_frame 4, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83DBD10:: @ 83DBD10
- .4byte gSpriteAnim_83DBD00
- .4byte gSpriteAnim_83DBD08
-
- .align 2
-gSpriteTemplate_83DBD18:: @ 83DBD18
- spr_template 2, 0, gOamData_83DBCE0, gSpriteAnimTable_83DBCF8, NULL, gDummySpriteAffineAnimTable, sub_80E8B78
-
- .align 2
-gUnknown_083DBD30:: @ 83DBD30
- obj_tiles gMenuInterviewFrame_Gfx, 2048, 0x0006
-
- .align 2
-gUnknown_083DBD38:: @ 83DBD38
- obj_pal gMenuInterviewFrame_Pal, 0x0004
-
- .align 2
-gOamData_83DBD40:: @ 83DBD40
- .2byte 0x0000
- .2byte 0xC000
- .2byte 0x0000
-
- .align 2
-gSpriteTemplate_83DBD48:: @ 83DBD48
- spr_template 6, 4, gOamData_83DBD40, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_083DBD60:: @ 83DBD60
- obj_tiles gMenuWordGroupIndicator_Gfx, 4096, 0x0007
-
- .align 2
-gUnknown_083DBD68:: @ 83DBD68
- obj_pal gMenuWordGroupIndicator_Pal, 0x0005
-
- .align 2
-gOamData_83DBD70:: @ 83DBD70
- .2byte 0x4000
- .2byte 0xC000
- .2byte 0x0000
-
- .align 2
-gSpriteAnim_83DBD78:: @ 83DBD78
- obj_image_anim_frame 96, 3
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBD80:: @ 83DBD80
- obj_image_anim_frame 64, 4
- obj_image_anim_frame 96, 4
- obj_image_anim_frame 64, 4
- obj_image_anim_frame 0, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBD94:: @ 83DBD94
- obj_image_anim_frame 64, 4
- obj_image_anim_frame 96, 4
- obj_image_anim_frame 64, 4
- obj_image_anim_frame 32, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBDA8:: @ 83DBDA8
- obj_image_anim_frame 64, 2
- obj_image_anim_frame 32, 2
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBDB4:: @ 83DBDB4
- obj_image_anim_frame 64, 2
- obj_image_anim_frame 0, 2
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBDC0:: @ 83DBDC0
- obj_image_anim_frame 64, 2
- obj_image_anim_frame 96, 2
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83DBDCC:: @ 83DBDCC
- .4byte gSpriteAnim_83DBD78
- .4byte gSpriteAnim_83DBD80
- .4byte gSpriteAnim_83DBD94
- .4byte gSpriteAnim_83DBDA8
- .4byte gSpriteAnim_83DBDB4
- .4byte gSpriteAnim_83DBDC0
-
- .align 2
-gSpriteTemplate_83DBDE4:: @ 83DBDE4
- spr_template 7, 5, gOamData_83DBD70, gSpriteAnimTable_83DBDCC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
-gUnknown_083DBDFC:: @ 83DBDFC
- .incbin "graphics/unknown/unknown_3DBDFC.gbapal"
-
- .align 1
-gUnknown_083DBE1C:: @ 83DBE1C
- .2byte 0x300, 0x300, 0x300, 0x300, 0x300, 0x300, 0x300, 0x300, 0x300
- .2byte 0x301, 0x301, 0x301, 0x301, 0x301, 0x300, 0x300, 0x300, 0x300
-
-gUnknown_083DBE40:: @ 83DBE40
- .incbin "graphics/unknown/unknown_3DBE40.gbapal"
-
-@ unused tilemap?
- .2byte 0x5036, 0x5037, 0x5038, 0x5039, 0x503A, 0x503B
- .2byte 0x5046, 0x5047, 0x5048, 0x5049, 0x504A, 0x504B
- .2byte 0x5056, 0x5057, 0x5058, 0x5059, 0x505A, 0x505B
- .2byte 0x5030, 0x5031, 0x5032, 0x5033, 0x5034, 0x5035
- .2byte 0x5040, 0x5041, 0x5042, 0x5043, 0x5044, 0x5045
- .2byte 0x5050, 0x5051, 0x5052, 0x5053, 0x5054, 0x5055
-
-gUnknown_083DBEA8:: @ 83DBEA8
- .string "{CLEAR_TO 88}$"
-
-.ifdef GERMAN
-unk_83E7EB0:
- .string "{UNKNOWN_14 8} A B C D E F {UNKNOWN_14 0}"
-unk_83E7EC5:
- .string "mehr$"
-unk_83E7ECA::
- .string "{UNKNOWN_14 8} G H I J K L $"
-unk_83E7EE1:
- .string "{UNKNOWN_14 8} M N O P Q R S $"
-unk_83E7EF8:
- .string "{UNKNOWN_14 8} T U V W X Y Z $"
-.endif
-
- .align 2
-gUnknown_083DBEAC:: @ 83DBEAC
-.ifdef ENGLISH
- .string "{UNKNOWN_14 8} A B C D E F {UNKNOWN_14 0}others$", 0x20
- .string "{UNKNOWN_14 8} G H I J K L $", 0x20
- .string "{UNKNOWN_14 8} M N O P Q R S $", 0x20
- .string "{UNKNOWN_14 8} T U V W X Y Z $", 0x20
-.else
- .4byte unk_83E7EB0
- .4byte unk_83E7ECA
- .4byte unk_83E7EE1
- .4byte unk_83E7EF8
- .4byte unk_83E7EC5
-.endif
-
@ 83DBF2C
.include "data/text/easy_chat/group_words.inc"
diff --git a/data/event_scripts.s b/data/event_scripts.s
index 1ed419b52..1c8cff8d6 100644
--- a/data/event_scripts.s
+++ b/data/event_scripts.s
@@ -410,8 +410,7 @@ gUnknown_0815F36C:: @ 815F36C
EventScript_15F384:
message UnknownString_81A3A87
waitmessage
- checkflag FLAG_DECORATION_16
- goto_if_eq EventScript_15F3A0
+ goto_if_set FLAG_DECORATION_16, EventScript_15F3A0
goto EventScript_15F3E2
end
@@ -948,7 +947,7 @@ gUnknown_0819F818:: @ 819F818
waitmovement 0
specialvar RESULT, ScrSpecial_HasTrainerBeenFought
compare RESULT, 0
- goto_if 5, EventScript_19F83F
+ goto_if_ne EventScript_19F83F
special PlayTrainerEncounterMusic
special sub_8082524
goto EventScript_19F8F2
@@ -962,10 +961,10 @@ gUnknown_0819F840:: @ 819F840
call EventScript_19F8E5
specialvar RESULT, ScrSpecial_HasTrainerBeenFought
compare RESULT, 0
- goto_if 5, EventScript_19F877
+ goto_if_ne EventScript_19F877
special CheckForAlivePartyMons
compare RESULT, 0
- goto_if 5, EventScript_19F870
+ goto_if_ne EventScript_19F870
special PlayTrainerEncounterMusic
special sub_8082524
goto EventScript_19F8F2
@@ -1011,7 +1010,7 @@ gUnknown_0819F8AE:: @ 819F8AE
goto_if_eq EventScript_19F8DD
special CheckForAlivePartyMons
compare RESULT, 0
- goto_if 5, EventScript_19F8DE
+ goto_if_ne EventScript_19F8DE
special PlayTrainerEncounterMusic
special sub_8082524
special ScrSpecial_ShowTrainerIntroSpeech
@@ -1302,14 +1301,10 @@ EverGrandeCity_HallOfFame_EventScript_19FC13:: @ 819FC13
clearflag FLAG_HIDE_SS_TIDAL_SLATEPORT_HARBOR
clearflag FLAG_HIDE_SS_TIDAL_LILYCOVE_HARBOR
special sub_810FAA0
- checkflag FLAG_RECEIVED_SS_TICKET
- call_if 0, EverGrandeCity_HallOfFame_EventScript_19FC62
- checkflag FLAG_LATIOS_OR_LATIAS_ROAMING
- call_if 0, EverGrandeCity_HallOfFame_EventScript_19FC70
- checkflag FLAG_RECEIVED_BELDUM
- call_if 0, EverGrandeCity_HallOfFame_EventScript_19FC5A
- checkflag FLAG_RECEIVED_HM08
- call_if 0, EverGrandeCity_HallOfFame_EventScript_19FC5E
+ call_if_unset FLAG_RECEIVED_SS_TICKET, EverGrandeCity_HallOfFame_EventScript_19FC62
+ call_if_unset FLAG_LATIOS_OR_LATIAS_ROAMING, EverGrandeCity_HallOfFame_EventScript_19FC70
+ call_if_unset FLAG_RECEIVED_BELDUM, EverGrandeCity_HallOfFame_EventScript_19FC5A
+ call_if_unset FLAG_RECEIVED_HM08, EverGrandeCity_HallOfFame_EventScript_19FC5E
return
EverGrandeCity_HallOfFame_EventScript_19FC5A:: @ 819FC5A
@@ -1337,10 +1332,8 @@ S_WhiteOut:: @ 819FC74
end
EventScript_19FC84:
- checkflag FLAG_RECEIVED_GO_GOGGLES
- goto_if_eq Route101_EventScript_1A14DC
- checkflag FLAG_DEFEATED_LAVARIDGE_GYM
- goto_if 0, Route101_EventScript_1A14DC
+ goto_if_set FLAG_RECEIVED_GO_GOGGLES, Route101_EventScript_1A14DC
+ goto_if_unset FLAG_DEFEATED_LAVARIDGE_GYM, Route101_EventScript_1A14DC
clearflag FLAG_HIDE_RIVAL_LAVARIDGE_1
setvar VAR_LAVARIDGE_RIVAL_STATE, 2
return
@@ -1403,16 +1396,11 @@ PetalburgCity_PokemonCenter_1F_EventScript_19FD1B:: @ 819FD1B
RustboroCity_PokemonCenter_1F_EventScript_19FD1B:: @ 819FD1B
SlateportCity_PokemonCenter_1F_EventScript_19FD1B:: @ 819FD1B
VerdanturfTown_PokemonCenter_1F_EventScript_19FD1B:: @ 819FD1B
- checkflag FLAG_RECEIVED_POKENAV
- goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_1A14DC
- checkflag FLAG_DEFEATED_PETALBURG_GYM
- goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_1A14DC
- checkflag FLAG_HIDE_MR_BRINEY_BOAT_ROUTE104
- goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_19FD49
- checkflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN
- goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_19FD4F
- checkflag FLAG_HIDE_MR_BRINEY_ROUTE109
- goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_19FD55
+ goto_if_unset FLAG_RECEIVED_POKENAV, OldaleTown_PokemonCenter_1F_EventScript_1A14DC
+ goto_if_set FLAG_DEFEATED_PETALBURG_GYM, OldaleTown_PokemonCenter_1F_EventScript_1A14DC
+ goto_if_unset FLAG_HIDE_MR_BRINEY_BOAT_ROUTE104, OldaleTown_PokemonCenter_1F_EventScript_19FD49
+ goto_if_unset FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN, OldaleTown_PokemonCenter_1F_EventScript_19FD4F
+ goto_if_unset FLAG_HIDE_MR_BRINEY_ROUTE109, OldaleTown_PokemonCenter_1F_EventScript_19FD55
return
OldaleTown_PokemonCenter_1F_EventScript_19FD49:: @ 819FD49
@@ -1461,8 +1449,7 @@ do_heal_party:: @ 819FD7C
applymovement VAR_SPECIAL_B, OldaleTown_PokemonCenter_1F_Movement_1A0845
waitmovement 0
special ScrSpecial_HealPlayerParty
- checkflag FLAG_POKERUS_EXPLAINED
- goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_19FDCE
+ goto_if_unset FLAG_POKERUS_EXPLAINED, OldaleTown_PokemonCenter_1F_EventScript_19FDCE
goto OldaleTown_PokemonCenter_1F_EventScript_19FDB0
end
@@ -1510,9 +1497,9 @@ Std_ObtainItem_: @ 819FE07
checkitemtype VAR_SPECIAL_0
call GetItem_HandlePocket
compare VAR_SPECIAL_7, 0x1
- call_if 1, Std_ObtainItem_Success
+ call_if_eq Std_ObtainItem_Success
compare VAR_SPECIAL_7, 0x0
- call_if 1, Std_ObtainItem_Fail
+ call_if_eq Std_ObtainItem_Fail
return
GetItem_HandlePocket:
@@ -1527,31 +1514,31 @@ GetItem_HandlePocket:
GetItem_HandlePocket_Items:
bufferstdstring 2, 0xE
compare VAR_SPECIAL_7, 1
- call_if 1, PlayGetItemFanfare
+ call_if_eq PlayGetItemFanfare
return
GetItem_HandlePocket_KeyItems:
bufferstdstring 2, 0xF
compare VAR_SPECIAL_7, 1
- call_if 1, PlayGetItemFanfare
+ call_if_eq PlayGetItemFanfare
return
GetItem_HandlePocket_PokeBalls:
bufferstdstring 2, 0x10
compare VAR_SPECIAL_7, 1
- call_if 1, PlayGetItemFanfare
+ call_if_eq PlayGetItemFanfare
return
GetItem_HandlePocket_TMsHMs:
bufferstdstring 2, 0x11
compare VAR_SPECIAL_7, 1
- call_if 1, PlayGetTMHMFanfare
+ call_if_eq PlayGetTMHMFanfare
return
GetItem_HandlePocket_Berries:
bufferstdstring 2, 0x12
compare VAR_SPECIAL_7, 1
- call_if 1, PlayGetItemFanfare
+ call_if_eq PlayGetItemFanfare
return
Std_ObtainItem_Success: @ 819FEB7
@@ -1583,9 +1570,9 @@ Std_ObtainDecoration: @ 819FEDA
Std_ObtainDecoration_: @ 819FEE8
bufferdecorationname 1, VAR_SPECIAL_0
compare VAR_SPECIAL_7, 1
- call_if 1, Std_ObtainDecoration_Success
+ call_if_eq Std_ObtainDecoration_Success
compare VAR_SPECIAL_7, 0
- call_if 1, Std_ObtainDecoration_Fail
+ call_if_eq Std_ObtainDecoration_Fail
return
Std_ObtainDecoration_Success: @ 819FF03
@@ -1611,9 +1598,9 @@ Std_FindItem: @ 819FF21
checkitemtype VAR_SPECIAL_0
call GetItem_HandlePocket
compare VAR_SPECIAL_7, 1
- call_if 1, Std_FindItem_Success
+ call_if_eq Std_FindItem_Success
compare VAR_SPECIAL_7, 0
- call_if 1, Std_FindItem_Fail
+ call_if_eq Std_FindItem_Fail
release
return
@@ -1718,10 +1705,8 @@ EventScript_1A0070:
EventScript_1A0085:
playse SE_PC_LOGON
- checkflag FLAG_SYS_PC_LANETTE
- call_if 0, EventScript_1A00AC
- checkflag FLAG_SYS_PC_LANETTE
- call_if 1, EventScript_1A00B5
+ call_if_unset FLAG_SYS_PC_LANETTE, EventScript_1A00AC
+ call_if_set FLAG_SYS_PC_LANETTE, EventScript_1A00B5
msgbox UnknownString_81A0A35, 4
special ShowPokemonStorageSystem
waitstate
@@ -1744,8 +1729,7 @@ EventScript_1A00BE:
end
EventScript_1A00CB:
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, EventScript_1A00BE
+ goto_if_unset FLAG_SYS_GAME_CLEAR, EventScript_1A00BE
playse SE_PC_LOGON
special AccessHallOfFamePC
waitstate
@@ -2150,21 +2134,21 @@ Route103_EventScript_1A02F4:: @ 81A02F4
compare VAR_PETALBURG_GYM_STATE, 0
goto_if_eq Route101_EventScript_1A14DC
compare VAR_BIRCH_STATE, 0
- call_if 1, Route101_EventScript_1A0358
+ call_if_eq Route101_EventScript_1A0358
compare VAR_BIRCH_STATE, 1
- call_if 1, Route101_EventScript_1A0358
+ call_if_eq Route101_EventScript_1A0358
compare VAR_BIRCH_STATE, 2
- call_if 1, Route101_EventScript_1A0365
+ call_if_eq Route101_EventScript_1A0365
compare VAR_BIRCH_STATE, 3
- call_if 1, Route101_EventScript_1A0365
+ call_if_eq Route101_EventScript_1A0365
compare VAR_BIRCH_STATE, 4
- call_if 1, Route101_EventScript_1A0372
+ call_if_eq Route101_EventScript_1A0372
compare VAR_BIRCH_STATE, 5
- call_if 1, Route101_EventScript_1A0372
+ call_if_eq Route101_EventScript_1A0372
compare VAR_BIRCH_STATE, 6
- call_if 1, Route101_EventScript_1A0358
+ call_if_eq Route101_EventScript_1A0358
compare VAR_BIRCH_STATE, 7
- call_if 1, Route101_EventScript_1A0358
+ call_if_eq Route101_EventScript_1A0358
return
Route101_EventScript_1A0358:: @ 81A0358
@@ -2291,9 +2275,9 @@ Movement_1A047A:
BattleTower_Outside_EventScript_1A047C:: @ 81A047C
SouthernIsland_Exterior_EventScript_1A047C:: @ 81A047C
compare FACING, 1
- call_if 1, BattleTower_Outside_EventScript_160B2F
+ call_if_eq BattleTower_Outside_EventScript_160B2F
compare FACING, 3
- call_if 1, BattleTower_Outside_EventScript_160B3A
+ call_if_eq BattleTower_Outside_EventScript_160B3A
delay 30
hideobjectat 255, MAP_PETALBURG_CITY
call BattleTower_Outside_EventScript_1A040E
@@ -2461,19 +2445,19 @@ Route119_EventScript_1A05C3:: @ 81A05C3
waitmoncry
setwildbattle SPECIES_KECLEON, 30, ITEM_NONE
compare VAR_SPECIAL_4, 1
- call_if 1, Route119_EventScript_1A0646
+ call_if_eq Route119_EventScript_1A0646
compare VAR_SPECIAL_4, 2
- call_if 1, Route119_EventScript_1A064A
+ call_if_eq Route119_EventScript_1A064A
compare VAR_SPECIAL_4, 3
- call_if 1, Route119_EventScript_1A064E
+ call_if_eq Route119_EventScript_1A064E
compare VAR_SPECIAL_4, 4
- call_if 1, Route119_EventScript_1A0652
+ call_if_eq Route119_EventScript_1A0652
compare VAR_SPECIAL_4, 5
- call_if 1, Route119_EventScript_1A0656
+ call_if_eq Route119_EventScript_1A0656
compare VAR_SPECIAL_4, 6
- call_if 1, Route119_EventScript_1A065A
+ call_if_eq Route119_EventScript_1A065A
compare VAR_SPECIAL_4, 7
- call_if 1, Route119_EventScript_1A065E
+ call_if_eq Route119_EventScript_1A065E
setflag FLAG_SYS_CTRL_OBJ_DELETE
dowildbattle
clearflag FLAG_SYS_CTRL_OBJ_DELETE
@@ -3944,8 +3928,7 @@ SecretBase_YellowCave4_EventScript_1A2FC0:: @ 81A2FC0
end
SecretBase_RedCave1_EventScript_1A3032:: @ 81A3032
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, SecretBase_RedCave1_EventScript_1A3086
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A3086
compare RESULT, 1
goto_if_eq SecretBase_RedCave1_EventScript_1A30A5
lock
@@ -3979,8 +3962,7 @@ SecretBase_RedCave1_EventScript_1A30A5:: @ 81A30A5
end
SecretBase_RedCave1_EventScript_1A30AE:: @ 81A30AE
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, SecretBase_RedCave1_EventScript_1A3102
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A3102
compare RESULT, 1
goto_if_eq SecretBase_RedCave1_EventScript_1A3121
lock
@@ -4014,8 +3996,7 @@ SecretBase_RedCave1_EventScript_1A3121:: @ 81A3121
end
SecretBase_RedCave1_EventScript_1A312A:: @ 81A312A
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, SecretBase_RedCave1_EventScript_1A317E
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A317E
compare RESULT, 1
goto_if_eq SecretBase_RedCave1_EventScript_1A319D
lock
@@ -4049,8 +4030,7 @@ SecretBase_RedCave1_EventScript_1A319D:: @ 81A319D
end
SecretBase_RedCave1_EventScript_1A31A6:: @ 81A31A6
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, SecretBase_RedCave1_EventScript_1A31FA
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A31FA
compare RESULT, 1
goto_if_eq SecretBase_RedCave1_EventScript_1A3219
lock
@@ -4084,8 +4064,7 @@ SecretBase_RedCave1_EventScript_1A3219:: @ 81A3219
end
SecretBase_RedCave1_EventScript_1A3222:: @ 81A3222
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, SecretBase_RedCave1_EventScript_1A3276
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A3276
compare RESULT, 1
goto_if_eq SecretBase_RedCave1_EventScript_1A3295
lock
@@ -4119,8 +4098,7 @@ SecretBase_RedCave1_EventScript_1A3295:: @ 81A3295
end
SecretBase_RedCave1_EventScript_1A329E:: @ 81A329E
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, SecretBase_RedCave1_EventScript_1A32F2
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A32F2
compare RESULT, 1
goto_if_eq SecretBase_RedCave1_EventScript_1A3311
lock
@@ -4154,8 +4132,7 @@ SecretBase_RedCave1_EventScript_1A3311:: @ 81A3311
end
SecretBase_RedCave1_EventScript_1A331A:: @ 81A331A
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, SecretBase_RedCave1_EventScript_1A336E
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A336E
compare RESULT, 1
goto_if_eq SecretBase_RedCave1_EventScript_1A338D
lock
@@ -4189,8 +4166,7 @@ SecretBase_RedCave1_EventScript_1A338D:: @ 81A338D
end
SecretBase_RedCave1_EventScript_1A3396:: @ 81A3396
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, SecretBase_RedCave1_EventScript_1A33EA
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A33EA
compare RESULT, 1
goto_if_eq SecretBase_RedCave1_EventScript_1A3409
lock
@@ -4224,8 +4200,7 @@ SecretBase_RedCave1_EventScript_1A3409:: @ 81A3409
end
SecretBase_RedCave1_EventScript_1A3412:: @ 81A3412
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, SecretBase_RedCave1_EventScript_1A3466
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A3466
compare RESULT, 1
goto_if_eq SecretBase_RedCave1_EventScript_1A3485
lock
@@ -4259,8 +4234,7 @@ SecretBase_RedCave1_EventScript_1A3485:: @ 81A3485
end
SecretBase_RedCave1_EventScript_1A348E:: @ 81A348E
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, SecretBase_RedCave1_EventScript_1A34E2
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A34E2
compare RESULT, 1
goto_if_eq SecretBase_RedCave1_EventScript_1A3501
lock
@@ -4440,8 +4414,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_1ADEE0:: @ 81ADEE0
compare RESULT, 1
goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF96
copyvar VAR_SPECIAL_9, VAR_SPECIAL_6
- checkflag FLAG_OCEANIC_MUSEUM_MET_REPORTER
- goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF25
+ goto_if_set FLAG_OCEANIC_MUSEUM_MET_REPORTER, SlateportCity_OceanicMuseum_1F_EventScript_1ADF25
setflag FLAG_OCEANIC_MUSEUM_MET_REPORTER
msgbox SlateportCity_OceanicMuseum_1F_Text_1A927F, MSGBOX_YESNO
compare RESULT, YES
@@ -4569,8 +4542,7 @@ SlateportCity_ContestLobby_EventScript_1AE0B6:: @ 81AE0B6
VerdanturfTown_ContestLobby_EventScript_1AE0B6:: @ 81AE0B6
lock
faceplayer
- checkflag FLAG_TEMP_2
- goto_if_eq FallarborTown_ContestLobby_EventScript_1AE17E
+ goto_if_set FLAG_TEMP_2, FallarborTown_ContestLobby_EventScript_1AE17E
setvar VAR_SPECIAL_5, 6
special InterviewBefore
compare RESULT, 1
@@ -4630,7 +4602,7 @@ LilycoveCity_ContestLobby_EventScript_1AE188:: @ 81AE188
SlateportCity_ContestLobby_EventScript_1AE188:: @ 81AE188
VerdanturfTown_ContestLobby_EventScript_1AE188:: @ 81AE188
compare VAR_LINK_CONTEST_ROOM_STATE, 2
- goto_if 5, FallarborTown_ContestLobby_EventScript_1AE1FE
+ goto_if_ne FallarborTown_ContestLobby_EventScript_1AE1FE
setvar VAR_SPECIAL_5, 6
special InterviewBefore
compare RESULT, 1
@@ -4666,8 +4638,7 @@ FallarborTown_ContestLobby_EventScript_1AE1FE:: @ 81AE1FE
BattleTower_Lobby_EventScript_1AE1FF:: @ 81AE1FF
lock
faceplayer
- checkflag FLAG_TEMP_2
- goto_if_eq BattleTower_Lobby_EventScript_1AE2E3
+ goto_if_set FLAG_TEMP_2, BattleTower_Lobby_EventScript_1AE2E3
setvar VAR_SPECIAL_5, 7
special InterviewBefore
compare RESULT, 1
@@ -4686,9 +4657,9 @@ BattleTower_Lobby_EventScript_1AE241:: @ 81AE241
multichoice 19, 8, 45, 1
copyvar VAR_SPECIAL_8, RESULT
compare RESULT, 0
- call_if 1, BattleTower_Lobby_EventScript_1AE2A1
+ call_if_eq BattleTower_Lobby_EventScript_1AE2A1
compare RESULT, 1
- call_if 1, BattleTower_Lobby_EventScript_1AE2AA
+ call_if_eq BattleTower_Lobby_EventScript_1AE2AA
msgbox BattleTower_Lobby_Text_1A79EB, 4
setvar VAR_SPECIAL_4, 12
copyvar VAR_SPECIAL_5, VAR_SPECIAL_9
diff --git a/data/field_move_scripts.inc b/data/field_move_scripts.inc
index a4a7513e5..f5ba25643 100644
--- a/data/field_move_scripts.inc
+++ b/data/field_move_scripts.inc
@@ -1,7 +1,6 @@
S_CuttableTree:: @ 81B0DCC
lockall
- checkflag FLAG_BADGE01_GET
- goto_if 0, CannotUseCut
+ goto_if_unset FLAG_BADGE01_GET, CannotUseCut
checkpartymove MOVE_CUT
compare RESULT, 6
goto_if_eq CannotUseCut
@@ -58,8 +57,7 @@ CannotUseCutText: @ 81B0E8E
S_BreakableRock:: @ 81B0EB7
lockall
- checkflag FLAG_BADGE03_GET
- goto_if 0, CannotUseRockSmash
+ goto_if_unset FLAG_BADGE03_GET, CannotUseRockSmash
checkpartymove MOVE_ROCK_SMASH
compare RESULT, 6
goto_if_eq CannotUseRockSmash
@@ -125,10 +123,8 @@ CannotUseRockSmashText: @ 81B0F90
S_PushableBoulder:: @ 81B0FCB
lockall
- checkflag FLAG_BADGE04_GET
- goto_if 0, CannotUseStrength
- checkflag FLAG_SYS_USE_STRENGTH
- goto_if_eq AlreadyUsedStrength
+ goto_if_unset FLAG_BADGE04_GET, CannotUseStrength
+ goto_if_set FLAG_SYS_USE_STRENGTH, AlreadyUsedStrength
checkpartymove 70
compare RESULT, 6
goto_if_eq CannotUseStrength
diff --git a/data/scripts/cable_club.inc b/data/scripts/cable_club.inc
index 334a52382..0e2012de9 100644
--- a/data/scripts/cable_club.inc
+++ b/data/scripts/cable_club.inc
@@ -174,8 +174,7 @@ RustboroCity_PokemonCenter_2F_EventScript_1A3EA6:: @ 81A3EA6
SlateportCity_PokemonCenter_2F_EventScript_1A3EA6:: @ 81A3EA6
SootopolisCity_PokemonCenter_2F_EventScript_1A3EA6:: @ 81A3EA6
VerdanturfTown_PokemonCenter_2F_EventScript_1A3EA6:: @ 81A3EA6
- checkflag FLAG_SYS_POKEDEX_GET
- goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_1A4342
+ goto_if_unset FLAG_SYS_POKEDEX_GET, OldaleTown_PokemonCenter_2F_EventScript_1A4342
copyvar VAR_SPECIAL_7, LAST_TALKED
lock
faceplayer
@@ -282,7 +281,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A403C:: @ 81A403C
OldaleTown_PokemonCenter_2F_EventScript_1A4042:: @ 81A4042
special CheckForAlivePartyMons
compare RESULT, 0
- goto_if 5, OldaleTown_PokemonCenter_2F_EventScript_1A4056
+ goto_if_ne OldaleTown_PokemonCenter_2F_EventScript_1A4056
setvar VAR_SPECIAL_4, 2
return
@@ -346,8 +345,7 @@ RustboroCity_PokemonCenter_2F_EventScript_1A40CC:: @ 81A40CC
SlateportCity_PokemonCenter_2F_EventScript_1A40CC:: @ 81A40CC
SootopolisCity_PokemonCenter_2F_EventScript_1A40CC:: @ 81A40CC
VerdanturfTown_PokemonCenter_2F_EventScript_1A40CC:: @ 81A40CC
- checkflag FLAG_SYS_POKEDEX_GET
- goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_1A4339
+ goto_if_unset FLAG_SYS_POKEDEX_GET, OldaleTown_PokemonCenter_2F_EventScript_1A4339
copyvar VAR_SPECIAL_7, LAST_TALKED
lock
faceplayer
@@ -407,7 +405,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A4166:: @ 81A4166
OldaleTown_PokemonCenter_2F_EventScript_1A41BB:: @ 81A41BB
specialvar RESULT, CalculatePlayerPartyCount
compare RESULT, 2
- goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_1A41E1
+ goto_if_lt OldaleTown_PokemonCenter_2F_EventScript_1A41E1
specialvar RESULT, GetNameOfEnigmaBerryInPlayerParty
compare RESULT, 1
goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A41EE
@@ -443,8 +441,7 @@ RustboroCity_PokemonCenter_2F_EventScript_1A41FB:: @ 81A41FB
SlateportCity_PokemonCenter_2F_EventScript_1A41FB:: @ 81A41FB
SootopolisCity_PokemonCenter_2F_EventScript_1A41FB:: @ 81A41FB
VerdanturfTown_PokemonCenter_2F_EventScript_1A41FB:: @ 81A41FB
- checkflag FLAG_VISITED_MAUVILLE_CITY
- goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_1A434B
+ goto_if_unset FLAG_VISITED_MAUVILLE_CITY, OldaleTown_PokemonCenter_2F_EventScript_1A434B
copyvar VAR_SPECIAL_7, LAST_TALKED
lock
faceplayer
@@ -691,7 +688,7 @@ RecordCorner_EventScript_1A4418:: @ 81A4418
special sub_80B929C
waitstate
compare VAR_TEMP_1, 0
- goto_if 5, RecordCorner_EventScript_1A446C
+ goto_if_ne RecordCorner_EventScript_1A446C
end
RecordCorner_EventScript_1A442D:: @ 81A442D
@@ -699,7 +696,7 @@ RecordCorner_EventScript_1A442D:: @ 81A442D
special sub_80B929C
waitstate
compare VAR_TEMP_1, 0
- goto_if 5, RecordCorner_EventScript_1A446C
+ goto_if_ne RecordCorner_EventScript_1A446C
end
RecordCorner_EventScript_1A4442:: @ 81A4442
@@ -707,7 +704,7 @@ RecordCorner_EventScript_1A4442:: @ 81A4442
special sub_80B929C
waitstate
compare VAR_TEMP_1, 0
- goto_if 5, RecordCorner_EventScript_1A446C
+ goto_if_ne RecordCorner_EventScript_1A446C
end
RecordCorner_EventScript_1A4457:: @ 81A4457
@@ -715,7 +712,7 @@ RecordCorner_EventScript_1A4457:: @ 81A4457
special sub_80B929C
waitstate
compare VAR_TEMP_1, 0
- goto_if 5, RecordCorner_EventScript_1A446C
+ goto_if_ne RecordCorner_EventScript_1A446C
end
RecordCorner_EventScript_1A446C:: @ 81A446C
@@ -771,7 +768,7 @@ TradeCenter_EventScript_1A44AD:: @ 81A44AD
RecordCorner_EventScript_1A44BC:: @ 81A44BC
compare VAR_TEMP_0, 0
- goto_if 5, RecordCorner_EventScript_1A44D6
+ goto_if_ne RecordCorner_EventScript_1A44D6
special sub_8064EAC
message RecordCorner_Text_1A4DD7
waitmessage
diff --git a/data/scripts/contest_hall.inc b/data/scripts/contest_hall.inc
index af2c39979..7f0f6b710 100644
--- a/data/scripts/contest_hall.inc
+++ b/data/scripts/contest_hall.inc
@@ -6,11 +6,10 @@ VerdanturfTown_ContestLobby_EventScript_1A4E92:: @ 81A4E92
faceplayer
checkitem ITEM_CONTEST_PASS, 1
compare RESULT, 0
- call_if 1, FallarborTown_ContestLobby_EventScript_1A4EDD
+ call_if_eq FallarborTown_ContestLobby_EventScript_1A4EDD
compare VAR_CONTEST_PRIZE_PICKUP, 0
- goto_if 5, FallarborTown_ContestLobby_EventScript_1A4F4E
- checkflag FLAG_TEMP_1
- goto_if_eq FallarborTown_ContestLobby_EventScript_1A4F8F
+ goto_if_ne FallarborTown_ContestLobby_EventScript_1A4F4E
+ goto_if_set FLAG_TEMP_1, FallarborTown_ContestLobby_EventScript_1A4F8F
bufferstdstring 0, VAR_SPECIAL_B
msgbox FallarborTown_ContestLobby_Text_1A5DFC, 4
checkitem ITEM_CONTEST_PASS, 1
@@ -40,8 +39,7 @@ FallarborTown_ContestLobby_EventScript_1A4EF6:: @ 81A4EF6
end
FallarborTown_ContestLobby_EventScript_1A4F13:: @ 81A4F13
- checkflag FLAG_RECEIVED_CONTEST_PASS
- goto_if_eq FallarborTown_ContestLobby_EventScript_1A4F44
+ goto_if_set FLAG_RECEIVED_CONTEST_PASS, FallarborTown_ContestLobby_EventScript_1A4F44
msgbox FallarborTown_ContestLobby_Text_1A6583, 4
giveitem_std ITEM_CONTEST_PASS
setflag FLAG_RECEIVED_CONTEST_PASS
@@ -288,7 +286,7 @@ LinkContestRoom1_EventScript_1A527A:: @ 81A527A
call LinkContestRoom1_EventScript_1A5880
addvar VAR_SPECIAL_6, 1
compare VAR_SPECIAL_6, 4
- goto_if 5, LinkContestRoom1_EventScript_1A527A
+ goto_if_ne LinkContestRoom1_EventScript_1A527A
call LinkContestRoom1_EventScript_1A5377
setvar VAR_TEMP_1, 6
return
@@ -432,15 +430,15 @@ LinkContestRoom1_EventScript_1A53E5:: @ 81A53E5
LinkContestRoom1_EventScript_1A5455:: @ 81A5455
special sub_80C47A0
compare VAR_CONTEST_LOCATION, 1
- call_if 1, LinkContestRoom1_EventScript_1A555A
+ call_if_eq LinkContestRoom1_EventScript_1A555A
compare VAR_CONTEST_LOCATION, 2
- call_if 1, LinkContestRoom1_EventScript_1A55B8
+ call_if_eq LinkContestRoom1_EventScript_1A55B8
compare VAR_CONTEST_LOCATION, 3
- call_if 1, LinkContestRoom1_EventScript_1A5616
+ call_if_eq LinkContestRoom1_EventScript_1A5616
compare VAR_CONTEST_LOCATION, 4
- call_if 1, LinkContestRoom1_EventScript_1A5674
+ call_if_eq LinkContestRoom1_EventScript_1A5674
compare VAR_CONTEST_LOCATION, 5
- call_if 1, LinkContestRoom1_EventScript_1A56D2
+ call_if_eq LinkContestRoom1_EventScript_1A56D2
setvar VAR_TEMP_1, 9
setvar VAR_TEMP_2, 9
setvar VAR_TEMP_3, 9
@@ -450,7 +448,7 @@ LinkContestRoom1_EventScript_1A5455:: @ 81A5455
setvar VAR_TEMP_7, 9
setvar VAR_TEMP_8, 9
compare VAR_TEMP_0, 0
- call_if 2, LinkContestRoom1_EventScript_1A54EB
+ call_if_gt LinkContestRoom1_EventScript_1A54EB
setvar VAR_TEMP_1, 0
setvar VAR_TEMP_2, 0
setvar VAR_TEMP_3, 0
@@ -465,123 +463,123 @@ LinkContestRoom1_EventScript_1A54EB:: @ 81A54EB
setvar RESULT, 8
special ScriptRandom
compare RESULT, 0
- call_if 1, LinkContestRoom1_EventScript_1A5760
+ call_if_eq LinkContestRoom1_EventScript_1A5760
compare RESULT, 1
- call_if 1, LinkContestRoom1_EventScript_1A5784
+ call_if_eq LinkContestRoom1_EventScript_1A5784
compare RESULT, 2
- call_if 1, LinkContestRoom1_EventScript_1A57A8
+ call_if_eq LinkContestRoom1_EventScript_1A57A8
compare RESULT, 3
- call_if 1, LinkContestRoom1_EventScript_1A57CC
+ call_if_eq LinkContestRoom1_EventScript_1A57CC
compare RESULT, 4
- call_if 1, LinkContestRoom1_EventScript_1A57F0
+ call_if_eq LinkContestRoom1_EventScript_1A57F0
compare RESULT, 5
- call_if 1, LinkContestRoom1_EventScript_1A5814
+ call_if_eq LinkContestRoom1_EventScript_1A5814
compare RESULT, 6
- call_if 1, LinkContestRoom1_EventScript_1A5838
+ call_if_eq LinkContestRoom1_EventScript_1A5838
compare RESULT, 7
- call_if 1, LinkContestRoom1_EventScript_1A585C
+ call_if_eq LinkContestRoom1_EventScript_1A585C
compare VAR_TEMP_0, 0
- goto_if 2, LinkContestRoom1_EventScript_1A54EB
+ goto_if_gt LinkContestRoom1_EventScript_1A54EB
waitmovement 0
return
LinkContestRoom1_EventScript_1A555A:: @ 81A555A
compare VAR_SPECIAL_4, 80
- goto_if 2, LinkContestRoom1_EventScript_1A575A
+ goto_if_gt LinkContestRoom1_EventScript_1A575A
compare VAR_SPECIAL_4, 70
- goto_if 2, LinkContestRoom1_EventScript_1A5754
+ goto_if_gt LinkContestRoom1_EventScript_1A5754
compare VAR_SPECIAL_4, 60
- goto_if 2, LinkContestRoom1_EventScript_1A574E
+ goto_if_gt LinkContestRoom1_EventScript_1A574E
compare VAR_SPECIAL_4, 50
- goto_if 2, LinkContestRoom1_EventScript_1A5748
+ goto_if_gt LinkContestRoom1_EventScript_1A5748
compare VAR_SPECIAL_4, 40
- goto_if 2, LinkContestRoom1_EventScript_1A5742
+ goto_if_gt LinkContestRoom1_EventScript_1A5742
compare VAR_SPECIAL_4, 30
- goto_if 2, LinkContestRoom1_EventScript_1A573C
+ goto_if_gt LinkContestRoom1_EventScript_1A573C
compare VAR_SPECIAL_4, 20
- goto_if 2, LinkContestRoom1_EventScript_1A5736
+ goto_if_gt LinkContestRoom1_EventScript_1A5736
compare VAR_SPECIAL_4, 10
- goto_if 2, LinkContestRoom1_EventScript_1A5730
+ goto_if_gt LinkContestRoom1_EventScript_1A5730
setvar VAR_TEMP_0, 0
return
LinkContestRoom1_EventScript_1A55B8:: @ 81A55B8
compare VAR_SPECIAL_4, 230
- goto_if 2, LinkContestRoom1_EventScript_1A575A
+ goto_if_gt LinkContestRoom1_EventScript_1A575A
compare VAR_SPECIAL_4, 210
- goto_if 2, LinkContestRoom1_EventScript_1A5754
+ goto_if_gt LinkContestRoom1_EventScript_1A5754
compare VAR_SPECIAL_4, 190
- goto_if 2, LinkContestRoom1_EventScript_1A574E
+ goto_if_gt LinkContestRoom1_EventScript_1A574E
compare VAR_SPECIAL_4, 170
- goto_if 2, LinkContestRoom1_EventScript_1A5748
+ goto_if_gt LinkContestRoom1_EventScript_1A5748
compare VAR_SPECIAL_4, 150
- goto_if 2, LinkContestRoom1_EventScript_1A5742
+ goto_if_gt LinkContestRoom1_EventScript_1A5742
compare VAR_SPECIAL_4, 130
- goto_if 2, LinkContestRoom1_EventScript_1A573C
+ goto_if_gt LinkContestRoom1_EventScript_1A573C
compare VAR_SPECIAL_4, 110
- goto_if 2, LinkContestRoom1_EventScript_1A5736
+ goto_if_gt LinkContestRoom1_EventScript_1A5736
compare VAR_SPECIAL_4, 90
- goto_if 2, LinkContestRoom1_EventScript_1A5730
+ goto_if_gt LinkContestRoom1_EventScript_1A5730
setvar VAR_TEMP_0, 0
return
LinkContestRoom1_EventScript_1A5616:: @ 81A5616
compare VAR_SPECIAL_4, 380
- goto_if 2, LinkContestRoom1_EventScript_1A575A
+ goto_if_gt LinkContestRoom1_EventScript_1A575A
compare VAR_SPECIAL_4, 350
- goto_if 2, LinkContestRoom1_EventScript_1A5754
+ goto_if_gt LinkContestRoom1_EventScript_1A5754
compare VAR_SPECIAL_4, 320
- goto_if 2, LinkContestRoom1_EventScript_1A574E
+ goto_if_gt LinkContestRoom1_EventScript_1A574E
compare VAR_SPECIAL_4, 290
- goto_if 2, LinkContestRoom1_EventScript_1A5748
+ goto_if_gt LinkContestRoom1_EventScript_1A5748
compare VAR_SPECIAL_4, 260
- goto_if 2, LinkContestRoom1_EventScript_1A5742
+ goto_if_gt LinkContestRoom1_EventScript_1A5742
compare VAR_SPECIAL_4, 230
- goto_if 2, LinkContestRoom1_EventScript_1A573C
+ goto_if_gt LinkContestRoom1_EventScript_1A573C
compare VAR_SPECIAL_4, 200
- goto_if 2, LinkContestRoom1_EventScript_1A5736
+ goto_if_gt LinkContestRoom1_EventScript_1A5736
compare VAR_SPECIAL_4, 170
- goto_if 2, LinkContestRoom1_EventScript_1A5730
+ goto_if_gt LinkContestRoom1_EventScript_1A5730
setvar VAR_TEMP_0, 0
return
LinkContestRoom1_EventScript_1A5674:: @ 81A5674
compare VAR_SPECIAL_4, 600
- goto_if 2, LinkContestRoom1_EventScript_1A575A
+ goto_if_gt LinkContestRoom1_EventScript_1A575A
compare VAR_SPECIAL_4, 560
- goto_if 2, LinkContestRoom1_EventScript_1A5754
+ goto_if_gt LinkContestRoom1_EventScript_1A5754
compare VAR_SPECIAL_4, 520
- goto_if 2, LinkContestRoom1_EventScript_1A574E
+ goto_if_gt LinkContestRoom1_EventScript_1A574E
compare VAR_SPECIAL_4, 480
- goto_if 2, LinkContestRoom1_EventScript_1A5748
+ goto_if_gt LinkContestRoom1_EventScript_1A5748
compare VAR_SPECIAL_4, 440
- goto_if 2, LinkContestRoom1_EventScript_1A5742
+ goto_if_gt LinkContestRoom1_EventScript_1A5742
compare VAR_SPECIAL_4, 400
- goto_if 2, LinkContestRoom1_EventScript_1A573C
+ goto_if_gt LinkContestRoom1_EventScript_1A573C
compare VAR_SPECIAL_4, 360
- goto_if 2, LinkContestRoom1_EventScript_1A5736
+ goto_if_gt LinkContestRoom1_EventScript_1A5736
compare VAR_SPECIAL_4, 320
- goto_if 2, LinkContestRoom1_EventScript_1A5730
+ goto_if_gt LinkContestRoom1_EventScript_1A5730
setvar VAR_TEMP_0, 0
return
LinkContestRoom1_EventScript_1A56D2:: @ 81A56D2
compare VAR_SPECIAL_4, 600
- goto_if 2, LinkContestRoom1_EventScript_1A575A
+ goto_if_gt LinkContestRoom1_EventScript_1A575A
compare VAR_SPECIAL_4, 550
- goto_if 2, LinkContestRoom1_EventScript_1A5754
+ goto_if_gt LinkContestRoom1_EventScript_1A5754
compare VAR_SPECIAL_4, 500
- goto_if 2, LinkContestRoom1_EventScript_1A574E
+ goto_if_gt LinkContestRoom1_EventScript_1A574E
compare VAR_SPECIAL_4, 450
- goto_if 2, LinkContestRoom1_EventScript_1A5748
+ goto_if_gt LinkContestRoom1_EventScript_1A5748
compare VAR_SPECIAL_4, 400
- goto_if 2, LinkContestRoom1_EventScript_1A5742
+ goto_if_gt LinkContestRoom1_EventScript_1A5742
compare VAR_SPECIAL_4, 300
- goto_if 2, LinkContestRoom1_EventScript_1A573C
+ goto_if_gt LinkContestRoom1_EventScript_1A573C
compare VAR_SPECIAL_4, 200
- goto_if 2, LinkContestRoom1_EventScript_1A5736
+ goto_if_gt LinkContestRoom1_EventScript_1A5736
compare VAR_SPECIAL_4, 100
- goto_if 2, LinkContestRoom1_EventScript_1A5730
+ goto_if_gt LinkContestRoom1_EventScript_1A5730
setvar VAR_TEMP_0, 0
return
@@ -909,7 +907,7 @@ LinkContestRoom1_EventScript_1A5A90:: @ 81A5A90
addvar VAR_TEMP_1, 1
lockall
compare VAR_CONTEST_LOCATION, 1
- call_if 2, LinkContestRoom1_EventScript_1A5AE4
+ call_if_gt LinkContestRoom1_EventScript_1A5AE4
applymovement 9, LinkContestRoom1_Movement_1A5DB7
applymovement 12, LinkContestRoom1_Movement_1A5DBB
applymovement 7, LinkContestRoom1_Movement_1A5DB7
@@ -919,7 +917,7 @@ LinkContestRoom1_EventScript_1A5A90:: @ 81A5A90
applymovement 6, LinkContestRoom1_Movement_1A5DB3
applymovement 8, LinkContestRoom1_Movement_1A5DAF
compare VAR_TEMP_1, 4
- goto_if 5, LinkContestRoom1_EventScript_1A5A90
+ goto_if_ne LinkContestRoom1_EventScript_1A5A90
delay 30
return
@@ -996,8 +994,7 @@ LinkContestRoom1_EventScript_1A5BAB:: @ 81A5BAB
compare VAR_CONTEST_LOCATION, 5
goto_if_eq LinkContestRoom1_EventScript_1A5C4C
call LinkContestRoom1_EventScript_1A5C12
- checkflag FLAG_TEMP_2
- goto_if_eq LinkContestRoom1_EventScript_1A5BF6
+ goto_if_set FLAG_TEMP_2, LinkContestRoom1_EventScript_1A5BF6
msgbox LinkContestRoom1_Text_1A6DC5, 3
waitmessage
call LinkContestRoom1_EventScript_1A5C7F
@@ -1118,7 +1115,7 @@ LinkContestRoom1_EventScript_1A5CE5:: @ 81A5CE5
LinkContestRoom1_EventScript_1A5CFC:: @ 81A5CFC
compare VAR_CONTEST_LOCATION, 2
- call_if 1, LinkContestRoom1_EventScript_1A5C42
+ call_if_eq LinkContestRoom1_EventScript_1A5C42
incrementgamestat GAME_STAT_WON_CONTEST
specialvar RESULT, sub_80C4440
compare RESULT, 0
diff --git a/data/scripts/day_care.inc b/data/scripts/day_care.inc
index 0d0d83801..fc5df6abe 100644
--- a/data/scripts/day_care.inc
+++ b/data/scripts/day_care.inc
@@ -29,7 +29,7 @@ Route117_EventScript_1B2262:: @ 81B2262
Route117_EventScript_1B2298:: @ 81B2298
specialvar RESULT, CalculatePlayerPartyCount
compare RESULT, 6
- goto_if 5, Route117_EventScript_1B22B2
+ goto_if_ne Route117_EventScript_1B22B2
msgbox Route117_Text_1B2766, 4
release
end
@@ -49,7 +49,7 @@ Route117_EventScript_1B22B2:: @ 81B22B2
Route117_EventScript_1B22CD:: @ 81B22CD
specialvar RESULT, sub_8042B4C
compare RESULT, 1
- call_if 1, Route117_EventScript_1B22DE
+ call_if_eq Route117_EventScript_1B22DE
return
Route117_EventScript_1B22DE:: @ 81B22DE
@@ -155,7 +155,7 @@ Route117_PokemonDayCare_EventScript_1B2411:: @ 81B2411
Route117_PokemonDayCare_EventScript_1B241A:: @ 81B241A
specialvar RESULT, GetNumLevelsGainedFromDaycare
compare RESULT, 0
- call_if 5, Route117_PokemonDayCare_EventScript_1B2411
+ call_if_ne Route117_PokemonDayCare_EventScript_1B2411
return
Route117_PokemonDayCare_EventScript_1B242B:: @ 81B242B
diff --git a/data/scripts/gabby_and_ty.inc b/data/scripts/gabby_and_ty.inc
index ad7a3d3c5..5ddcf4a65 100644
--- a/data/scripts/gabby_and_ty.inc
+++ b/data/scripts/gabby_and_ty.inc
@@ -203,13 +203,12 @@ Route111_EventScript_1AE5A2:: @ 81AE5A2
special GabbyAndTyBeforeInterview
special GabbyAndTySetScriptVarsToFieldObjectLocalIds
compare FACING, 2
- call_if 1, Route111_EventScript_1AE5E0
+ call_if_eq Route111_EventScript_1AE5E0
compare FACING, 1
- call_if 1, Route111_EventScript_1AE5EB
+ call_if_eq Route111_EventScript_1AE5EB
compare FACING, 4
- call_if 1, Route111_EventScript_1AE5FD
- checkflag FLAG_TEMP_1
- goto_if_eq Route111_EventScript_1AE73A
+ call_if_eq Route111_EventScript_1AE5FD
+ goto_if_set FLAG_TEMP_1, Route111_EventScript_1AE73A
msgbox Route111_Text_1AC015, MSGBOX_YESNO
goto Route111_EventScript_1AE6F3
end
@@ -237,13 +236,12 @@ Route120_EventScript_1AE60F:: @ 81AE60F
special GabbyAndTyBeforeInterview
special GabbyAndTySetScriptVarsToFieldObjectLocalIds
compare FACING, 2
- call_if 1, Route111_EventScript_1AE5E0
+ call_if_eq Route111_EventScript_1AE5E0
compare FACING, 1
- call_if 1, Route111_EventScript_1AE5EB
+ call_if_eq Route111_EventScript_1AE5EB
compare FACING, 4
- call_if 1, Route111_EventScript_1AE5FD
- checkflag FLAG_TEMP_1
- goto_if_eq Route111_EventScript_1AE73A
+ call_if_eq Route111_EventScript_1AE5FD
+ goto_if_set FLAG_TEMP_1, Route111_EventScript_1AE73A
specialvar RESULT, GabbyAndTyGetLastQuote
compare RESULT, 0
goto_if_eq Route111_EventScript_1AE69F
diff --git a/data/scripts/magma_chimney.inc b/data/scripts/magma_chimney.inc
index 11f42daf0..ed81e6628 100644
--- a/data/scripts/magma_chimney.inc
+++ b/data/scripts/magma_chimney.inc
@@ -1,10 +1,8 @@
MtChimney_EventScript_1B2C95:: @ 81B2C95
lock
faceplayer
- checkflag FLAG_EVIL_LEADER_PLEASE_STOP
- call_if 0, MtChimney_EventScript_1B2CB9
- checkflag FLAG_EVIL_LEADER_PLEASE_STOP
- call_if 1, MtChimney_EventScript_1B2CC2
+ call_if_unset FLAG_EVIL_LEADER_PLEASE_STOP, MtChimney_EventScript_1B2CB9
+ call_if_set FLAG_EVIL_LEADER_PLEASE_STOP, MtChimney_EventScript_1B2CC2
closemessage
applymovement 1, MtChimney_Movement_1A083D
waitmovement 0
@@ -68,9 +66,9 @@ MtChimney_EventScript_1B2CCB:: @ 81B2CCB
setobjectxyperm 1, 10, 12
addobject 1
compare FACING, 4
- call_if 1, MtChimney_EventScript_1B2D7D
+ call_if_eq MtChimney_EventScript_1B2D7D
compare FACING, 2
- call_if 1, MtChimney_EventScript_1B2D88
+ call_if_eq MtChimney_EventScript_1B2D88
applymovement 255, MtChimney_Movement_1A083F
waitmovement 0
.ifdef SAPPHIRE
@@ -80,9 +78,9 @@ MtChimney_EventScript_1B2CCB:: @ 81B2CCB
.endif
closemessage
compare FACING, 4
- call_if 1, MtChimney_EventScript_1B2D93
+ call_if_eq MtChimney_EventScript_1B2D93
compare FACING, 2
- call_if 1, MtChimney_EventScript_1B2D9E
+ call_if_eq MtChimney_EventScript_1B2D9E
removeobject 1
setflag FLAG_HIDE_OTEHR_TEAM_MT_CHIMNEY
setflag FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY
diff --git a/data/scripts/maps/AbandonedShip_CaptainsOffice.inc b/data/scripts/maps/AbandonedShip_CaptainsOffice.inc
index 2430ba4af..22c76847a 100644
--- a/data/scripts/maps/AbandonedShip_CaptainsOffice.inc
+++ b/data/scripts/maps/AbandonedShip_CaptainsOffice.inc
@@ -4,13 +4,11 @@ AbandonedShip_CaptainsOffice_MapScripts:: @ 815EAF4
AbandonedShip_CaptainsOffice_EventScript_15EAF5:: @ 815EAF5
lock
faceplayer
- checkflag FLAG_EXCHANGED_SCANNER
- goto_if_eq AbandonedShip_CaptainsOffice_EventScript_15EB2D
+ goto_if_set FLAG_EXCHANGED_SCANNER, AbandonedShip_CaptainsOffice_EventScript_15EB2D
checkitem ITEM_SCANNER, 1
compare RESULT, 1
goto_if_eq AbandonedShip_CaptainsOffice_EventScript_15EB23
- checkflag FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS_2
- goto_if_eq AbandonedShip_CaptainsOffice_EventScript_15EB2D
+ goto_if_set FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS_2, AbandonedShip_CaptainsOffice_EventScript_15EB2D
msgbox AbandonedShip_CaptainsOffice_Text_198C85, 4
release
end
diff --git a/data/scripts/maps/AbandonedShip_Corridors_B1F.inc b/data/scripts/maps/AbandonedShip_Corridors_B1F.inc
index b4d29632e..c34f2c28b 100644
--- a/data/scripts/maps/AbandonedShip_Corridors_B1F.inc
+++ b/data/scripts/maps/AbandonedShip_Corridors_B1F.inc
@@ -8,10 +8,8 @@ AbandonedShip_Corridors_B1F_MapScript1_15E99A:: @ 815E99A
end
AbandonedShip_Corridors_B1F_MapScript1_15E9A3:: @ 815E9A3
- checkflag FLAG_USED_STORAGE_KEY
- call_if 0, AbandonedShip_Corridors_B1F_EventScript_15E9B6
- checkflag FLAG_USED_STORAGE_KEY
- call_if 1, AbandonedShip_Corridors_B1F_EventScript_15E9C0
+ call_if_unset FLAG_USED_STORAGE_KEY, AbandonedShip_Corridors_B1F_EventScript_15E9B6
+ call_if_set FLAG_USED_STORAGE_KEY, AbandonedShip_Corridors_B1F_EventScript_15E9C0
end
AbandonedShip_Corridors_B1F_EventScript_15E9B6:: @ 815E9B6
@@ -28,8 +26,7 @@ AbandonedShip_Corridors_B1F_EventScript_15E9CA:: @ 815E9CA
AbandonedShip_Corridors_B1F_EventScript_15E9D3:: @ 815E9D3
lockall
- checkflag FLAG_USED_STORAGE_KEY
- goto_if_eq AbandonedShip_Corridors_B1F_EventScript_15EA14
+ goto_if_set FLAG_USED_STORAGE_KEY, AbandonedShip_Corridors_B1F_EventScript_15EA14
checkitem ITEM_STORAGE_KEY, 1
compare RESULT, 0
goto_if_eq AbandonedShip_Corridors_B1F_EventScript_15EA0A
diff --git a/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc b/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc
index 7b61190e5..e8e48a6f6 100644
--- a/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc
+++ b/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc
@@ -8,22 +8,14 @@ AbandonedShip_HiddenFloorCorridors_MapScript1_15EB51:: @ 815EB51
end
AbandonedShip_HiddenFloorCorridors_MapScript1_15EB5A:: @ 815EB5A
- checkflag FLAG_USED_ROOM_1_KEY
- call_if 0, AbandonedShip_HiddenFloorCorridors_EventScript_15EBCB
- checkflag FLAG_USED_ROOM_2_KEY
- call_if 0, AbandonedShip_HiddenFloorCorridors_EventScript_15EBD5
- checkflag FLAG_USED_ROOM_4_KEY
- call_if 0, AbandonedShip_HiddenFloorCorridors_EventScript_15EBDF
- checkflag FLAG_USED_ROOM_6_KEY
- call_if 0, AbandonedShip_HiddenFloorCorridors_EventScript_15EBE9
- checkflag FLAG_USED_ROOM_1_KEY
- call_if 1, AbandonedShip_HiddenFloorCorridors_EventScript_15EBA3
- checkflag FLAG_USED_ROOM_2_KEY
- call_if 1, AbandonedShip_HiddenFloorCorridors_EventScript_15EBAD
- checkflag FLAG_USED_ROOM_4_KEY
- call_if 1, AbandonedShip_HiddenFloorCorridors_EventScript_15EBB7
- checkflag FLAG_USED_ROOM_6_KEY
- call_if 1, AbandonedShip_HiddenFloorCorridors_EventScript_15EBC1
+ call_if_unset FLAG_USED_ROOM_1_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_15EBCB
+ call_if_unset FLAG_USED_ROOM_2_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_15EBD5
+ call_if_unset FLAG_USED_ROOM_4_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_15EBDF
+ call_if_unset FLAG_USED_ROOM_6_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_15EBE9
+ call_if_set FLAG_USED_ROOM_1_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_15EBA3
+ call_if_set FLAG_USED_ROOM_2_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_15EBAD
+ call_if_set FLAG_USED_ROOM_4_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_15EBB7
+ call_if_set FLAG_USED_ROOM_6_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_15EBC1
end
AbandonedShip_HiddenFloorCorridors_EventScript_15EBA3:: @ 815EBA3
@@ -60,8 +52,7 @@ AbandonedShip_HiddenFloorCorridors_EventScript_15EBE9:: @ 815EBE9
AbandonedShip_HiddenFloorCorridors_EventScript_15EBF3:: @ 815EBF3
lockall
- checkflag FLAG_USED_ROOM_1_KEY
- goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECF7
+ goto_if_set FLAG_USED_ROOM_1_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_15ECF7
checkitem ITEM_ROOM_1_KEY, 1
compare RESULT, 0
goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECCF
@@ -76,8 +67,7 @@ AbandonedShip_HiddenFloorCorridors_EventScript_15EBF3:: @ 815EBF3
AbandonedShip_HiddenFloorCorridors_EventScript_15EC2A:: @ 815EC2A
lockall
- checkflag FLAG_USED_ROOM_2_KEY
- goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECF7
+ goto_if_set FLAG_USED_ROOM_2_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_15ECF7
checkitem ITEM_ROOM_2_KEY, 1
compare RESULT, 0
goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECD9
@@ -92,8 +82,7 @@ AbandonedShip_HiddenFloorCorridors_EventScript_15EC2A:: @ 815EC2A
AbandonedShip_HiddenFloorCorridors_EventScript_15EC61:: @ 815EC61
lockall
- checkflag FLAG_USED_ROOM_4_KEY
- goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECF7
+ goto_if_set FLAG_USED_ROOM_4_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_15ECF7
checkitem ITEM_ROOM_4_KEY, 1
compare RESULT, 0
goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECE3
@@ -108,8 +97,7 @@ AbandonedShip_HiddenFloorCorridors_EventScript_15EC61:: @ 815EC61
AbandonedShip_HiddenFloorCorridors_EventScript_15EC98:: @ 815EC98
lockall
- checkflag FLAG_USED_ROOM_6_KEY
- goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECF7
+ goto_if_set FLAG_USED_ROOM_6_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_15ECF7
checkitem ITEM_ROOM_6_KEY, 1
compare RESULT, 0
goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECED
diff --git a/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc b/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc
index 9ad419da1..7f9b06500 100644
--- a/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc
+++ b/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc
@@ -11,11 +11,11 @@ AbandonedShip_HiddenFloorRooms_EventScript_15ED11:: @ 815ED11
getplayerxy VAR_TEMP_2, VAR_TEMP_3
setvar VAR_TEMP_4, 1
compare VAR_TEMP_2, 21
- call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_15ED89
+ call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_15ED89
compare VAR_TEMP_2, 36
- call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_15ED8F
+ call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_15ED8F
compare VAR_TEMP_3, 2
- call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_15ED95
+ call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_15ED95
switch VAR_TEMP_4
case 1, AbandonedShip_HiddenFloorRooms_EventScript_15ED9B
case 2, AbandonedShip_HiddenFloorRooms_EventScript_15EDC4
@@ -45,7 +45,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_15ED9B:: @ 815ED9B
dofieldeffect 54
specialvar RESULT, FoundAbandonedShipRoom4Key
compare RESULT, 0
- call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_15EE8B
+ call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_15EE8B
waitfieldeffect 54
delay 10
end
@@ -59,7 +59,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_15EDC5:: @ 815EDC5
goto_if_eq AbandonedShip_HiddenFloorRooms_EventScript_15EDEA
delay 20
compare RESULT, 0
- call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_15EE6B
+ call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_15EE6B
waitfieldeffect 54
delay 10
end
@@ -79,7 +79,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_15EDEB:: @ 815EDEB
dofieldeffect 54
specialvar RESULT, FoundAbandonedShipRoom6Key
compare RESULT, 0
- call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_15EE9B
+ call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_15EE9B
waitfieldeffect 54
delay 10
end
@@ -100,7 +100,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_15EE23:: @ 815EE23
dofieldeffect 54
specialvar RESULT, FoundAbandonedShipRoom2Key
compare RESULT, 0
- call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_15EE7B
+ call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_15EE7B
waitfieldeffect 54
delay 10
end
diff --git a/data/scripts/maps/AncientTomb.inc b/data/scripts/maps/AncientTomb.inc
index b849f41ba..8ff39c0a4 100644
--- a/data/scripts/maps/AncientTomb.inc
+++ b/data/scripts/maps/AncientTomb.inc
@@ -5,8 +5,7 @@ AncientTomb_MapScripts:: @ 815EFBE
.byte 0
AncientTomb_MapScript1_15EFCE:: @ 815EFCE
- checkflag FLAG_SYS_CTRL_OBJ_DELETE
- call_if 1, AncientTomb_EventScript_15EFD8
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, AncientTomb_EventScript_15EFD8
end
AncientTomb_EventScript_15EFD8:: @ 815EFD8
@@ -18,8 +17,7 @@ AncientTomb_MapScript1_15EFDC:: @ 815EFDC
end
AncientTomb_MapScript1_15EFE0:: @ 815EFE0
- checkflag FLAG_SYS_BRAILLE_FLY
- call_if 0, AncientTomb_EventScript_15EFEA
+ call_if_unset FLAG_SYS_BRAILLE_FLY, AncientTomb_EventScript_15EFEA
end
AncientTomb_EventScript_15EFEA:: @ 815EFEA
@@ -33,8 +31,7 @@ AncientTomb_EventScript_15EFEA:: @ 815EFEA
AncientTomb_EventScript_15F021:: @ 815F021
lockall
- checkflag FLAG_SYS_BRAILLE_FLY
- goto_if_eq AncientTomb_EventScript_15F038
+ goto_if_set FLAG_SYS_BRAILLE_FLY, AncientTomb_EventScript_15F038
braillemessage AncientTomb_Braille_1C552E
waitbuttonpress
erasebox 0, 0, 29, 19
diff --git a/data/scripts/maps/AquaHideout_1F.inc b/data/scripts/maps/AquaHideout_1F.inc
index 028a0ee7b..ee49ba695 100644
--- a/data/scripts/maps/AquaHideout_1F.inc
+++ b/data/scripts/maps/AquaHideout_1F.inc
@@ -10,8 +10,7 @@ AquaHideout_1F_EventScript_15D7CE:: @ 815D7CE
MagmaHideout_1F_EventScript_15D7CE:: @ 815D7CE
lock
faceplayer
- checkflag FLAG_MT_PYRE_ORB_STOLEN
- goto_if_eq AquaHideout_1F_EventScript_15D7E3
+ goto_if_set FLAG_MT_PYRE_ORB_STOLEN, AquaHideout_1F_EventScript_15D7E3
msgbox AquaHideout_1F_Text_196AFD, 4
release
end
@@ -25,8 +24,7 @@ AquaHideout_1F_EventScript_15D7ED:: @ 815D7ED
MagmaHideout_1F_EventScript_15D7ED:: @ 815D7ED
lock
faceplayer
- checkflag FLAG_MT_PYRE_ORB_STOLEN
- goto_if_eq AquaHideout_1F_EventScript_15D802
+ goto_if_set FLAG_MT_PYRE_ORB_STOLEN, AquaHideout_1F_EventScript_15D802
msgbox AquaHideout_1F_Text_196C83, 4
release
end
diff --git a/data/scripts/maps/AquaHideout_B1F.inc b/data/scripts/maps/AquaHideout_B1F.inc
index 82d0c10c5..3be8d487d 100644
--- a/data/scripts/maps/AquaHideout_B1F.inc
+++ b/data/scripts/maps/AquaHideout_B1F.inc
@@ -4,8 +4,7 @@ AquaHideout_B1F_MapScripts:: @ 815D831
.byte 0
AquaHideout_B1F_MapScript1_15D83C:: @ 815D83C
- checkflag FLAG_SYS_CTRL_OBJ_DELETE
- call_if 1, AquaHideout_B1F_EventScript_15D846
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, AquaHideout_B1F_EventScript_15D846
end
AquaHideout_B1F_EventScript_15D846:: @ 815D846
diff --git a/data/scripts/maps/BattleTower_Lobby.inc b/data/scripts/maps/BattleTower_Lobby.inc
index 14b85c5b0..57eb62dfe 100644
--- a/data/scripts/maps/BattleTower_Lobby.inc
+++ b/data/scripts/maps/BattleTower_Lobby.inc
@@ -13,13 +13,11 @@ BattleTower_Lobby_MapScript1_160293:: @ 8160293
BattleTower_Lobby_EventScript_16029C:: @ 816029C
setvar VAR_SPECIAL_4, 10
special SetBattleTowerProperty
- checkflag FLAG_RECEIVED_GOLD_SHIELD
- goto_if_eq BattleTower_Lobby_EventScript_1602E4
- checkflag FLAG_RECEIVED_SILVER_SHIELD
- goto_if_eq BattleTower_Lobby_EventScript_1602CD
+ goto_if_set FLAG_RECEIVED_GOLD_SHIELD, BattleTower_Lobby_EventScript_1602E4
+ goto_if_set FLAG_RECEIVED_SILVER_SHIELD, BattleTower_Lobby_EventScript_1602CD
specialvar VAR_SPECIAL_7, GetBestBattleTowerStreak
compare VAR_SPECIAL_7, 50
- goto_if 0, BattleTower_Lobby_EventScript_1602E4
+ goto_if_lt BattleTower_Lobby_EventScript_1602E4
clearflag FLAG_HIDE_AWARD_MAN_BATTLE_TOWER
special sub_810F8FC
return
@@ -27,7 +25,7 @@ BattleTower_Lobby_EventScript_16029C:: @ 816029C
BattleTower_Lobby_EventScript_1602CD:: @ 81602CD
specialvar VAR_SPECIAL_7, GetBestBattleTowerStreak
compare VAR_SPECIAL_7, 100
- goto_if 0, BattleTower_Lobby_EventScript_1602E4
+ goto_if_lt BattleTower_Lobby_EventScript_1602E4
clearflag FLAG_HIDE_AWARD_MAN_BATTLE_TOWER
special sub_810F8FC
return
@@ -119,7 +117,7 @@ BattleTower_Lobby_EventScript_1603AD:: @ 81603AD
setvar VAR_SPECIAL_4, 9
special BattleTowerUtil
compare RESULT, 49
- goto_if 5, BattleTower_Lobby_EventScript_1603F8
+ goto_if_ne BattleTower_Lobby_EventScript_1603F8
msgbox BattleTower_Lobby_Text_19A617, 4
BattleTower_Lobby_EventScript_1603F8:: @ 81603F8
@@ -387,10 +385,8 @@ BattleTower_Lobby_EventScript_160727:: @ 8160727
BattleTower_Lobby_EventScript_160733:: @ 8160733
lock
faceplayer
- checkflag FLAG_RECEIVED_GOLD_SHIELD
- goto_if_eq BattleTower_Lobby_EventScript_1607C5
- checkflag FLAG_RECEIVED_SILVER_SHIELD
- goto_if_eq BattleTower_Lobby_EventScript_160773
+ goto_if_set FLAG_RECEIVED_GOLD_SHIELD, BattleTower_Lobby_EventScript_1607C5
+ goto_if_set FLAG_RECEIVED_SILVER_SHIELD, BattleTower_Lobby_EventScript_160773
msgbox BattleTower_Lobby_Text_19A9EE, 4
setvar VAR_SPECIAL_8, DECOR_SILVER_SHIELD
givedecoration_std DECOR_SILVER_SHIELD
@@ -404,7 +400,7 @@ BattleTower_Lobby_EventScript_160733:: @ 8160733
BattleTower_Lobby_EventScript_160773:: @ 8160773
specialvar RESULT, GetBestBattleTowerStreak
compare RESULT, 100
- goto_if 0, BattleTower_Lobby_EventScript_1607C5
+ goto_if_lt BattleTower_Lobby_EventScript_1607C5
msgbox BattleTower_Lobby_Text_19AAC4, 4
setvar VAR_SPECIAL_8, DECOR_GOLD_SHIELD
givedecoration_std DECOR_GOLD_SHIELD
diff --git a/data/scripts/maps/CaveOfOrigin_1F.inc b/data/scripts/maps/CaveOfOrigin_1F.inc
index 6411aad49..58c6563f6 100644
--- a/data/scripts/maps/CaveOfOrigin_1F.inc
+++ b/data/scripts/maps/CaveOfOrigin_1F.inc
@@ -3,6 +3,5 @@ CaveOfOrigin_1F_MapScripts:: @ 815DD6C
.byte 0
CaveOfOrigin_1F_MapScript1_15DD72:: @ 815DD72
- checkflag FLAG_LEGENDARY_BATTLE_COMPLETED
- call_if 1, CaveOfOrigin_1F_EventScript_1A04E3
+ call_if_set FLAG_LEGENDARY_BATTLE_COMPLETED, CaveOfOrigin_1F_EventScript_1A04E3
end
diff --git a/data/scripts/maps/CaveOfOrigin_B1F.inc b/data/scripts/maps/CaveOfOrigin_B1F.inc
index b8d4149b6..c79eb088e 100644
--- a/data/scripts/maps/CaveOfOrigin_B1F.inc
+++ b/data/scripts/maps/CaveOfOrigin_B1F.inc
@@ -3,6 +3,5 @@ CaveOfOrigin_B1F_MapScripts:: @ 815DD7C
.byte 0
CaveOfOrigin_B1F_MapScript1_15DD82:: @ 815DD82
- checkflag FLAG_LEGENDARY_BATTLE_COMPLETED
- call_if 1, CaveOfOrigin_B1F_EventScript_1A04E3
+ call_if_set FLAG_LEGENDARY_BATTLE_COMPLETED, CaveOfOrigin_B1F_EventScript_1A04E3
end
diff --git a/data/scripts/maps/CaveOfOrigin_B2F.inc b/data/scripts/maps/CaveOfOrigin_B2F.inc
index 9b014d0e9..66b02ee9f 100644
--- a/data/scripts/maps/CaveOfOrigin_B2F.inc
+++ b/data/scripts/maps/CaveOfOrigin_B2F.inc
@@ -3,6 +3,5 @@ CaveOfOrigin_B2F_MapScripts:: @ 815DD8C
.byte 0
CaveOfOrigin_B2F_MapScript1_15DD92:: @ 815DD92
- checkflag FLAG_LEGENDARY_BATTLE_COMPLETED
- call_if 1, CaveOfOrigin_B2F_EventScript_1A04E3
+ call_if_set FLAG_LEGENDARY_BATTLE_COMPLETED, CaveOfOrigin_B2F_EventScript_1A04E3
end
diff --git a/data/scripts/maps/CaveOfOrigin_B3F.inc b/data/scripts/maps/CaveOfOrigin_B3F.inc
index d6f7bdaf1..8084ceb43 100644
--- a/data/scripts/maps/CaveOfOrigin_B3F.inc
+++ b/data/scripts/maps/CaveOfOrigin_B3F.inc
@@ -3,6 +3,5 @@ CaveOfOrigin_B3F_MapScripts:: @ 815DD9C
.byte 0
CaveOfOrigin_B3F_MapScript1_15DDA2:: @ 815DDA2
- checkflag FLAG_LEGENDARY_BATTLE_COMPLETED
- call_if 1, CaveOfOrigin_B3F_EventScript_1A04E3
+ call_if_set FLAG_LEGENDARY_BATTLE_COMPLETED, CaveOfOrigin_B3F_EventScript_1A04E3
end
diff --git a/data/scripts/maps/CaveOfOrigin_B4F.inc b/data/scripts/maps/CaveOfOrigin_B4F.inc
index 315dda886..aa79e1213 100644
--- a/data/scripts/maps/CaveOfOrigin_B4F.inc
+++ b/data/scripts/maps/CaveOfOrigin_B4F.inc
@@ -4,8 +4,7 @@ CaveOfOrigin_B4F_MapScripts:: @ 815DDAC
.byte 0
CaveOfOrigin_B4F_MapScript1_15DDB7:: @ 815DDB7
- checkflag FLAG_SYS_CTRL_OBJ_DELETE
- call_if 1, CaveOfOrigin_B4F_EventScript_15DDC1
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, CaveOfOrigin_B4F_EventScript_15DDC1
end
CaveOfOrigin_B4F_EventScript_15DDC1:: @ 815DDC1
@@ -19,8 +18,7 @@ CaveOfOrigin_B4F_MapScript1_15DDC5:: @ 815DDC5
setmaplayoutindex 313
.endif
call CaveOfOrigin_B4F_EventScript_1A01B5
- checkflag FLAG_LEGENDARY_BATTLE_COMPLETED
- call_if 1, CaveOfOrigin_B4F_EventScript_1A04E3
+ call_if_set FLAG_LEGENDARY_BATTLE_COMPLETED, CaveOfOrigin_B4F_EventScript_1A04E3
end
CaveOfOrigin_B4F_EventScript_15DDD7:: @ 815DDD7
@@ -67,7 +65,7 @@ CaveOfOrigin_B4F_EventScript_15DDD7:: @ 815DDD7
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar RESULT, GetBattleOutcome
compare RESULT, 1
- call_if 1, CaveOfOrigin_B4F_EventScript_15DE73
+ call_if_eq CaveOfOrigin_B4F_EventScript_15DE73
setflag FLAG_HIDE_WALLACE_SOOTOPOLIS
setflag FLAG_HIDE_CAVE_OF_ORIGIN_ENTRANCE_WOMAN_1
setflag FLAG_HIDE_CAVE_OF_ORIGIN_ENTRANCE_WOMAN_2
diff --git a/data/scripts/maps/DesertRuins.inc b/data/scripts/maps/DesertRuins.inc
index 7aa56a82d..2627a8261 100644
--- a/data/scripts/maps/DesertRuins.inc
+++ b/data/scripts/maps/DesertRuins.inc
@@ -5,8 +5,7 @@ DesertRuins_MapScripts:: @ 815CAF3
.byte 0
DesertRuins_MapScript1_15CB03:: @ 815CB03
- checkflag FLAG_SYS_CTRL_OBJ_DELETE
- call_if 1, DesertRuins_EventScript_15CB0D
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, DesertRuins_EventScript_15CB0D
end
DesertRuins_EventScript_15CB0D:: @ 815CB0D
@@ -14,8 +13,7 @@ DesertRuins_EventScript_15CB0D:: @ 815CB0D
return
DesertRuins_MapScript1_15CB11:: @ 815CB11
- checkflag FLAG_SYS_BRAILLE_STRENGTH
- call_if 0, DesertRuins_EventScript_15CB1B
+ call_if_unset FLAG_SYS_BRAILLE_STRENGTH, DesertRuins_EventScript_15CB1B
end
DesertRuins_EventScript_15CB1B:: @ 815CB1B
@@ -33,8 +31,7 @@ DesertRuins_MapScript1_15CB52:: @ 815CB52
DesertRuins_EventScript_15CB56:: @ 815CB56
lockall
- checkflag FLAG_SYS_BRAILLE_STRENGTH
- goto_if_eq DesertRuins_EventScript_15CB6D
+ goto_if_set FLAG_SYS_BRAILLE_STRENGTH, DesertRuins_EventScript_15CB6D
braillemessage DesertRuins_Braille_1C54C8
waitbuttonpress
erasebox 0, 0, 29, 19
diff --git a/data/scripts/maps/DewfordTown.inc b/data/scripts/maps/DewfordTown.inc
index 50c9d8991..e7aeccbd0 100644
--- a/data/scripts/maps/DewfordTown.inc
+++ b/data/scripts/maps/DewfordTown.inc
@@ -9,8 +9,7 @@ DewfordTown_MapScript1_14DFFE:: @ 814DFFE
DewfordTown_EventScript_14E002:: @ 814E002
lock
faceplayer
- checkflag FLAG_DELIVERED_STEVEN_LETTER
- goto_if 0, DewfordTown_EventScript_14E076
+ goto_if_unset FLAG_DELIVERED_STEVEN_LETTER, DewfordTown_EventScript_14E076
message DewfordTown_Text_16B522
waitmessage
multichoicedefault 21, 6, 0, 2, 0
@@ -74,8 +73,7 @@ DewfordTown_EventScript_14E0BD:: @ 814E0BD
DewfordTown_EventScript_14E0C6:: @ 814E0C6
lock
faceplayer
- checkflag FLAG_RECEIVED_OLD_ROD
- goto_if_eq DewfordTown_EventScript_14E11B
+ goto_if_set FLAG_RECEIVED_OLD_ROD, DewfordTown_EventScript_14E11B
msgbox DewfordTown_Text_16B665, MSGBOX_YESNO
compare RESULT, YES
goto_if_eq DewfordTown_EventScript_14E0F0
@@ -176,10 +174,8 @@ DewfordTown_EventScript_14E1D8:: @ 814E1D8
clearflag FLAG_HIDE_MR_BRINEY_BOAT_ROUTE109
setflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD
hideobjectat 4, MAP_DEWFORD_TOWN
- checkflag FLAG_DELIVERED_DEVON_GOODS
- call_if 0, DewfordTown_EventScript_14E281
- checkflag FLAG_DELIVERED_DEVON_GOODS
- call_if 1, DewfordTown_EventScript_14E28A
+ call_if_unset FLAG_DELIVERED_DEVON_GOODS, DewfordTown_EventScript_14E281
+ call_if_set FLAG_DELIVERED_DEVON_GOODS, DewfordTown_EventScript_14E28A
closemessage
copyvar VAR_BRINEY_LOCATION, VAR_SPECIAL_8
resetobjectpriority 255, MAP_DEWFORD_TOWN
diff --git a/data/scripts/maps/DewfordTown_Gym.inc b/data/scripts/maps/DewfordTown_Gym.inc
index ba933dbe9..7cdf3dd6a 100644
--- a/data/scripts/maps/DewfordTown_Gym.inc
+++ b/data/scripts/maps/DewfordTown_Gym.inc
@@ -7,8 +7,7 @@ DewfordTown_Gym_MapScript1_15306B:: @ 815306B
end
DewfordTown_Gym_EventScript_153071:: @ 8153071
- checktrainerflag OPPONENT_BRAWLY
- goto_if_eq DewfordTown_Gym_EventScript_1530AA
+ goto_if_trainer_defeated OPPONENT_BRAWLY, DewfordTown_Gym_EventScript_1530AA
call DewfordTown_Gym_EventScript_153122
copyvar VAR_SPECIAL_1, VAR_SPECIAL_0
compare VAR_SPECIAL_0, 0
@@ -81,18 +80,15 @@ DewfordTown_Gym_EventScript_153117:: @ 8153117
DewfordTown_Gym_EventScript_153122:: @ 8153122
setvar VAR_SPECIAL_0, 0
- checktrainerflag OPPONENT_HIDEKI
- goto_if 0, DewfordTown_Gym_EventScript_153135
+ goto_if_trainer_not_defeated OPPONENT_HIDEKI, DewfordTown_Gym_EventScript_153135
addvar VAR_SPECIAL_0, 1
DewfordTown_Gym_EventScript_153135:: @ 8153135
- checktrainerflag OPPONENT_TESSA
- goto_if 0, DewfordTown_Gym_EventScript_153143
+ goto_if_trainer_not_defeated OPPONENT_TESSA, DewfordTown_Gym_EventScript_153143
addvar VAR_SPECIAL_0, 1
DewfordTown_Gym_EventScript_153143:: @ 8153143
- checktrainerflag OPPONENT_LAURA
- goto_if 0, DewfordTown_Gym_EventScript_153151
+ goto_if_trainer_not_defeated OPPONENT_LAURA, DewfordTown_Gym_EventScript_153151
addvar VAR_SPECIAL_0, 1
DewfordTown_Gym_EventScript_153151:: @ 8153151
@@ -100,8 +96,7 @@ DewfordTown_Gym_EventScript_153151:: @ 8153151
DewfordTown_Gym_EventScript_153152:: @ 8153152
trainerbattle 1, OPPONENT_BRAWLY, 0, DewfordTown_Gym_Text_175182, DewfordTown_Gym_Text_175246, DewfordTown_Gym_EventScript_153177
- checkflag FLAG_RECEIVED_TM08
- goto_if 0, DewfordTown_Gym_EventScript_1531B5
+ goto_if_unset FLAG_RECEIVED_TM08, DewfordTown_Gym_EventScript_1531B5
msgbox DewfordTown_Gym_Text_175412, 4
release
end
@@ -116,7 +111,7 @@ DewfordTown_Gym_EventScript_153177:: @ 8153177
setflag FLAG_BADGE02_GET
addvar VAR_PETALBURG_GYM_STATE, 1
compare VAR_PETALBURG_GYM_STATE, 6
- call_if 1, DewfordTown_Gym_EventScript_1A00FB
+ call_if_eq DewfordTown_Gym_EventScript_1A00FB
setvar VAR_SPECIAL_8, 2
call DewfordTown_Gym_EventScript_1A01C0
goto DewfordTown_Gym_EventScript_1531B5
@@ -164,8 +159,7 @@ DewfordTown_Gym_EventScript_153238:: @ 8153238
DewfordTown_Gym_EventScript_15323F:: @ 815323F
lock
faceplayer
- checkflag FLAG_DEFEATED_DEWFORD_GYM
- goto_if_eq DewfordTown_Gym_EventScript_153254
+ goto_if_set FLAG_DEFEATED_DEWFORD_GYM, DewfordTown_Gym_EventScript_153254
msgbox DewfordTown_Gym_Text_174D98, 4
release
end
@@ -177,15 +171,13 @@ DewfordTown_Gym_EventScript_153254:: @ 8153254
DewfordTown_Gym_EventScript_15325E:: @ 815325E
lockall
- checkflag FLAG_BADGE02_GET
- goto_if_eq DewfordTown_Gym_EventScript_15327E
+ goto_if_set FLAG_BADGE02_GET, DewfordTown_Gym_EventScript_15327E
goto DewfordTown_Gym_EventScript_153288
end
DewfordTown_Gym_EventScript_15326E:: @ 815326E
lockall
- checkflag FLAG_BADGE02_GET
- goto_if_eq DewfordTown_Gym_EventScript_15327E
+ goto_if_set FLAG_BADGE02_GET, DewfordTown_Gym_EventScript_15327E
goto DewfordTown_Gym_EventScript_153288
end
diff --git a/data/scripts/maps/DewfordTown_Hall.inc b/data/scripts/maps/DewfordTown_Hall.inc
index c4ccc769c..84334068e 100644
--- a/data/scripts/maps/DewfordTown_Hall.inc
+++ b/data/scripts/maps/DewfordTown_Hall.inc
@@ -218,9 +218,9 @@ DewfordTown_Hall_EventScript_153535:: @ 8153535
DewfordTown_Hall_EventScript_153556:: @ 8153556
compare FACING, 2
- call_if 1, DewfordTown_Hall_EventScript_15356D
+ call_if_eq DewfordTown_Hall_EventScript_15356D
compare FACING, 1
- call_if 1, DewfordTown_Hall_EventScript_153578
+ call_if_eq DewfordTown_Hall_EventScript_153578
return
DewfordTown_Hall_EventScript_15356D:: @ 815356D
@@ -252,8 +252,7 @@ DewfordTown_Hall_EventScript_15359D:: @ 815359D
lock
faceplayer
call DewfordTown_Hall_EventScript_1A0102
- checkflag FLAG_RECEIVED_TM36
- goto_if_eq DewfordTown_Hall_EventScript_1535D1
+ goto_if_set FLAG_RECEIVED_TM36, DewfordTown_Hall_EventScript_1535D1
msgbox DewfordTown_Hall_Text_175E13, 4
giveitem_std ITEM_TM36
compare RESULT, 0
diff --git a/data/scripts/maps/DewfordTown_House2.inc b/data/scripts/maps/DewfordTown_House2.inc
index e704efa50..a2341bc76 100644
--- a/data/scripts/maps/DewfordTown_House2.inc
+++ b/data/scripts/maps/DewfordTown_House2.inc
@@ -4,8 +4,7 @@ DewfordTown_House2_MapScripts:: @ 81535DB
DewfordTown_House2_EventScript_1535DC:: @ 81535DC
lock
faceplayer
- checkflag FLAG_RECEIVED_SILK_SCARF
- goto_if_eq DewfordTown_House2_EventScript_153615
+ goto_if_set FLAG_RECEIVED_SILK_SCARF, DewfordTown_House2_EventScript_153615
msgbox DewfordTown_House2_Text_175EFE, 4
giveitem_std ITEM_SILK_SCARF
compare RESULT, 0
diff --git a/data/scripts/maps/EverGrandeCity.inc b/data/scripts/maps/EverGrandeCity.inc
index 9a1bd9fa7..293780716 100644
--- a/data/scripts/maps/EverGrandeCity.inc
+++ b/data/scripts/maps/EverGrandeCity.inc
@@ -3,8 +3,7 @@ EverGrandeCity_MapScripts:: @ 814D4D5
.byte 0
EverGrandeCity_MapScript1_14D4DB:: @ 814D4DB
- checkflag FLAG_SYS_WEATHER_CTRL
- call_if 1, EverGrandeCity_EventScript_1A02C1
+ call_if_set FLAG_SYS_WEATHER_CTRL, EverGrandeCity_EventScript_1A02C1
end
EverGrandeCity_EventScript_14D4E5:: @ 814D4E5
diff --git a/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc b/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc
index 29c29c80b..78009271b 100644
--- a/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc
+++ b/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc
@@ -54,9 +54,9 @@ EverGrandeCity_ChampionsRoom_EventScript_15B821:: @ 815B821
playse SE_DOOR
checkplayergender
compare RESULT, 0
- call_if 1, EverGrandeCity_ChampionsRoom_EventScript_15B87C
+ call_if_eq EverGrandeCity_ChampionsRoom_EventScript_15B87C
compare RESULT, 1
- call_if 1, EverGrandeCity_ChampionsRoom_EventScript_15B881
+ call_if_eq EverGrandeCity_ChampionsRoom_EventScript_15B881
addobject 2
call EverGrandeCity_ChampionsRoom_EventScript_15B9BD
checkplayergender
@@ -129,9 +129,9 @@ EverGrandeCity_ChampionsRoom_EventScript_15B8F0:: @ 815B8F0
msgbox EverGrandeCity_ChampionsRoom_Text_191546, 4
checkplayergender
compare RESULT, 0
- call_if 1, EverGrandeCity_ChampionsRoom_EventScript_15B9AB
+ call_if_eq EverGrandeCity_ChampionsRoom_EventScript_15B9AB
compare RESULT, 1
- call_if 1, EverGrandeCity_ChampionsRoom_EventScript_15B9B4
+ call_if_eq EverGrandeCity_ChampionsRoom_EventScript_15B9B4
closemessage
applymovement 1, EverGrandeCity_ChampionsRoom_Movement_15B9FF
applymovement 255, EverGrandeCity_ChampionsRoom_Movement_15B9E0
diff --git a/data/scripts/maps/EverGrandeCity_DrakesRoom.inc b/data/scripts/maps/EverGrandeCity_DrakesRoom.inc
index a738264fe..8eb7bbc45 100644
--- a/data/scripts/maps/EverGrandeCity_DrakesRoom.inc
+++ b/data/scripts/maps/EverGrandeCity_DrakesRoom.inc
@@ -24,10 +24,9 @@ EverGrandeCity_DrakesRoom_EventScript_15B736:: @ 815B736
end
EverGrandeCity_DrakesRoom_MapScript1_15B743:: @ 815B743
- checkflag FLAG_DEFEATED_ELITE_4_DRAKE
- call_if 1, EverGrandeCity_DrakesRoom_EventScript_15B758
+ call_if_set FLAG_DEFEATED_ELITE_4_DRAKE, EverGrandeCity_DrakesRoom_EventScript_15B758
compare VAR_ELITE_4_STATE, 4
- call_if 1, EverGrandeCity_DrakesRoom_EventScript_15B75E
+ call_if_eq EverGrandeCity_DrakesRoom_EventScript_15B75E
end
EverGrandeCity_DrakesRoom_EventScript_15B758:: @ 815B758
@@ -41,8 +40,7 @@ EverGrandeCity_DrakesRoom_EventScript_15B75E:: @ 815B75E
EverGrandeCity_DrakesRoom_EventScript_15B764:: @ 815B764
lock
faceplayer
- checkflag FLAG_DEFEATED_ELITE_4_DRAKE
- goto_if_eq EverGrandeCity_DrakesRoom_EventScript_15B78B
+ goto_if_set FLAG_DEFEATED_ELITE_4_DRAKE, EverGrandeCity_DrakesRoom_EventScript_15B78B
playbgm BGM_SITENNOU, FALSE
msgbox EverGrandeCity_DrakesRoom_Text_190CEB, 4
trainerbattle 3, OPPONENT_DRAKE, 0, EverGrandeCity_DrakesRoom_Text_190E42
diff --git a/data/scripts/maps/EverGrandeCity_GlaciasRoom.inc b/data/scripts/maps/EverGrandeCity_GlaciasRoom.inc
index e3a4145d6..a72b84440 100644
--- a/data/scripts/maps/EverGrandeCity_GlaciasRoom.inc
+++ b/data/scripts/maps/EverGrandeCity_GlaciasRoom.inc
@@ -24,10 +24,9 @@ EverGrandeCity_GlaciasRoom_EventScript_15B69C:: @ 815B69C
end
EverGrandeCity_GlaciasRoom_MapScript1_15B6A9:: @ 815B6A9
- checkflag FLAG_DEFEATED_ELITE_4_GLACIA
- call_if 1, EverGrandeCity_GlaciasRoom_EventScript_15B6BE
+ call_if_set FLAG_DEFEATED_ELITE_4_GLACIA, EverGrandeCity_GlaciasRoom_EventScript_15B6BE
compare VAR_ELITE_4_STATE, 3
- call_if 1, EverGrandeCity_GlaciasRoom_EventScript_15B6C4
+ call_if_eq EverGrandeCity_GlaciasRoom_EventScript_15B6C4
end
EverGrandeCity_GlaciasRoom_EventScript_15B6BE:: @ 815B6BE
@@ -41,8 +40,7 @@ EverGrandeCity_GlaciasRoom_EventScript_15B6C4:: @ 815B6C4
EverGrandeCity_GlaciasRoom_EventScript_15B6CA:: @ 815B6CA
lock
faceplayer
- checkflag FLAG_DEFEATED_ELITE_4_GLACIA
- goto_if_eq EverGrandeCity_GlaciasRoom_EventScript_15B6F1
+ goto_if_set FLAG_DEFEATED_ELITE_4_GLACIA, EverGrandeCity_GlaciasRoom_EventScript_15B6F1
playbgm BGM_SITENNOU, FALSE
msgbox EverGrandeCity_GlaciasRoom_Text_190AF9, 4
trainerbattle 3, OPPONENT_GLACIA, 0, EverGrandeCity_GlaciasRoom_Text_190C01
diff --git a/data/scripts/maps/EverGrandeCity_PhoebesRoom.inc b/data/scripts/maps/EverGrandeCity_PhoebesRoom.inc
index d23f234db..2d09f1ebb 100644
--- a/data/scripts/maps/EverGrandeCity_PhoebesRoom.inc
+++ b/data/scripts/maps/EverGrandeCity_PhoebesRoom.inc
@@ -24,10 +24,9 @@ EverGrandeCity_PhoebesRoom_EventScript_15B602:: @ 815B602
end
EverGrandeCity_PhoebesRoom_MapScript1_15B60F:: @ 815B60F
- checkflag FLAG_DEFEATED_ELITE_4_PHOEBE
- call_if 1, EverGrandeCity_PhoebesRoom_EventScript_15B624
+ call_if_set FLAG_DEFEATED_ELITE_4_PHOEBE, EverGrandeCity_PhoebesRoom_EventScript_15B624
compare VAR_ELITE_4_STATE, 2
- call_if 1, EverGrandeCity_PhoebesRoom_EventScript_15B62A
+ call_if_eq EverGrandeCity_PhoebesRoom_EventScript_15B62A
end
EverGrandeCity_PhoebesRoom_EventScript_15B624:: @ 815B624
@@ -41,8 +40,7 @@ EverGrandeCity_PhoebesRoom_EventScript_15B62A:: @ 815B62A
EverGrandeCity_PhoebesRoom_EventScript_15B630:: @ 815B630
lock
faceplayer
- checkflag FLAG_DEFEATED_ELITE_4_PHOEBE
- goto_if_eq EverGrandeCity_PhoebesRoom_EventScript_15B657
+ goto_if_set FLAG_DEFEATED_ELITE_4_PHOEBE, EverGrandeCity_PhoebesRoom_EventScript_15B657
playbgm BGM_SITENNOU, FALSE
msgbox EverGrandeCity_PhoebesRoom_Text_1908F5, 4
trainerbattle 3, OPPONENT_PHOEBE, 0, EverGrandeCity_PhoebesRoom_Text_190A0C
diff --git a/data/scripts/maps/EverGrandeCity_PokemonLeague.inc b/data/scripts/maps/EverGrandeCity_PokemonLeague.inc
index a787b0f90..a8eb820ea 100644
--- a/data/scripts/maps/EverGrandeCity_PokemonLeague.inc
+++ b/data/scripts/maps/EverGrandeCity_PokemonLeague.inc
@@ -5,8 +5,7 @@ EverGrandeCity_PokemonLeague_MapScripts:: @ 815BA75
EverGrandeCity_PokemonLeague_MapScript1_15BA7B:: @ 815BA7B
setrespawn 20
setflag FLAG_SYS_POKEMON_LEAGUE_FLY
- checkflag FLAG_ENTERED_ELITE_FOUR
- call_if 0, EverGrandeCity_PokemonLeague_EventScript_15BA8B
+ call_if_unset FLAG_ENTERED_ELITE_FOUR, EverGrandeCity_PokemonLeague_EventScript_15BA8B
end
EverGrandeCity_PokemonLeague_EventScript_15BA8B:: @ 815BA8B
@@ -47,18 +46,16 @@ EverGrandeCity_PokemonLeague_Items:: @ 815BAC0
EverGrandeCity_PokemonLeague_EventScript_15BAD2:: @ 815BAD2
lockall
- checkflag FLAG_ENTERED_ELITE_FOUR
- goto_if_eq EverGrandeCity_PokemonLeague_EventScript_15BB57
+ goto_if_set FLAG_ENTERED_ELITE_FOUR, EverGrandeCity_PokemonLeague_EventScript_15BB57
getplayerxy VAR_TEMP_0, VAR_TEMP_1
compare VAR_TEMP_0, 11
- call_if 4, EverGrandeCity_PokemonLeague_EventScript_15BB34
+ call_if_ge EverGrandeCity_PokemonLeague_EventScript_15BB34
compare VAR_TEMP_0, 8
- call_if 3, EverGrandeCity_PokemonLeague_EventScript_15BB3F
+ call_if_le EverGrandeCity_PokemonLeague_EventScript_15BB3F
message EverGrandeCity_PokemonLeague_Text_1916FD
waitmessage
delay 75
- checkflag FLAG_BADGE06_GET
- goto_if 0, EverGrandeCity_PokemonLeague_EventScript_15BB4A
+ goto_if_unset FLAG_BADGE06_GET, EverGrandeCity_PokemonLeague_EventScript_15BB4A
closemessage
applymovement 3, EverGrandeCity_PokemonLeague_Movement_15BB7E
applymovement 4, EverGrandeCity_PokemonLeague_Movement_15BB81
diff --git a/data/scripts/maps/EverGrandeCity_SidneysRoom.inc b/data/scripts/maps/EverGrandeCity_SidneysRoom.inc
index 4531845ab..45a729c0a 100644
--- a/data/scripts/maps/EverGrandeCity_SidneysRoom.inc
+++ b/data/scripts/maps/EverGrandeCity_SidneysRoom.inc
@@ -5,10 +5,9 @@ EverGrandeCity_SidneysRoom_MapScripts:: @ 815B53F
.byte 0
EverGrandeCity_SidneysRoom_MapScript1_15B54F:: @ 815B54F
- checkflag FLAG_DEFEATED_ELITE_4_SYDNEY
- call_if 1, EverGrandeCity_SidneysRoom_EventScript_15B564
+ call_if_set FLAG_DEFEATED_ELITE_4_SYDNEY, EverGrandeCity_SidneysRoom_EventScript_15B564
compare VAR_ELITE_4_STATE, 1
- call_if 1, EverGrandeCity_SidneysRoom_EventScript_15B56A
+ call_if_eq EverGrandeCity_SidneysRoom_EventScript_15B56A
end
EverGrandeCity_SidneysRoom_EventScript_15B564:: @ 815B564
@@ -42,8 +41,7 @@ EverGrandeCity_SidneysRoom_EventScript_15B589:: @ 815B589
EverGrandeCity_SidneysRoom_EventScript_15B596:: @ 815B596
lock
faceplayer
- checkflag FLAG_DEFEATED_ELITE_4_SYDNEY
- goto_if_eq EverGrandeCity_SidneysRoom_EventScript_15B5BD
+ goto_if_set FLAG_DEFEATED_ELITE_4_SYDNEY, EverGrandeCity_SidneysRoom_EventScript_15B5BD
playbgm BGM_SITENNOU, FALSE
msgbox EverGrandeCity_SidneysRoom_Text_190728, 4
trainerbattle 3, OPPONENT_SIDNEY, 0, EverGrandeCity_SidneysRoom_Text_190823
diff --git a/data/scripts/maps/FallarborTown.inc b/data/scripts/maps/FallarborTown.inc
index 23295f778..a168a0ef5 100644
--- a/data/scripts/maps/FallarborTown.inc
+++ b/data/scripts/maps/FallarborTown.inc
@@ -12,8 +12,7 @@ FallarborTown_MapScript1_14E7E6:: @ 814E7E6
FallarborTown_EventScript_14E7F5:: @ 814E7F5
lock
faceplayer
- checkflag FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY
- goto_if_eq FallarborTown_EventScript_14E80A
+ goto_if_set FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, FallarborTown_EventScript_14E80A
msgbox FallarborTown_Text_16C7FF, 4
release
end
diff --git a/data/scripts/maps/FallarborTown_ContestLobby.inc b/data/scripts/maps/FallarborTown_ContestLobby.inc
index 641a201e3..11dd6159e 100644
--- a/data/scripts/maps/FallarborTown_ContestLobby.inc
+++ b/data/scripts/maps/FallarborTown_ContestLobby.inc
@@ -92,8 +92,7 @@ FallarborTown_ContestLobby_EventScript_153A8E:: @ 8153A8E
end
FallarborTown_ContestLobby_EventScript_153A97:: @ 8153A97
- checkflag FLAG_CONTEST_SKETCH_CREATED
- goto_if_eq FallarborTown_ContestLobby_EventScript_153AA9
+ goto_if_set FLAG_CONTEST_SKETCH_CREATED, FallarborTown_ContestLobby_EventScript_153AA9
msgbox FallarborTown_ContestLobby_Text_177246, 2
end
diff --git a/data/scripts/maps/FallarborTown_House1.inc b/data/scripts/maps/FallarborTown_House1.inc
index d2b27f478..f62a2da37 100644
--- a/data/scripts/maps/FallarborTown_House1.inc
+++ b/data/scripts/maps/FallarborTown_House1.inc
@@ -8,8 +8,7 @@ FallarborTown_House1_MapScript1_153BB4:: @ 8153BB4
FallarborTown_House1_EventScript_153BB5:: @ 8153BB5
lock
faceplayer
- checkflag FLAG_RECEIVED_TM27
- goto_if_eq FallarborTown_House1_EventScript_153C54
+ goto_if_set FLAG_RECEIVED_TM27, FallarborTown_House1_EventScript_153C54
checkitem ITEM_METEORITE, 1
compare RESULT, 1
goto_if_eq FallarborTown_House1_EventScript_153BDA
@@ -18,10 +17,8 @@ FallarborTown_House1_EventScript_153BB5:: @ 8153BB5
end
FallarborTown_House1_EventScript_153BDA:: @ 8153BDA
- checkflag FLAG_TEMP_2
- call_if 0, FallarborTown_House1_EventScript_153C2D
- checkflag FLAG_TEMP_2
- call_if 1, FallarborTown_House1_EventScript_153C3E
+ call_if_unset FLAG_TEMP_2, FallarborTown_House1_EventScript_153C2D
+ call_if_set FLAG_TEMP_2, FallarborTown_House1_EventScript_153C3E
compare RESULT, NO
goto_if_eq FallarborTown_House1_EventScript_153C47
msgbox FallarborTown_House1_Text_1778C4, 4
@@ -58,10 +55,8 @@ FallarborTown_House1_EventScript_153C54:: @ 8153C54
FallarborTown_House1_EventScript_153C5E:: @ 8153C5E
lock
faceplayer
- checkflag FLAG_RECEIVED_TM27
- goto_if_eq FallarborTown_House1_EventScript_153C86
- checkflag FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY
- goto_if_eq FallarborTown_House1_EventScript_153C7C
+ goto_if_set FLAG_RECEIVED_TM27, FallarborTown_House1_EventScript_153C86
+ goto_if_set FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, FallarborTown_House1_EventScript_153C7C
msgbox FallarborTown_House1_Text_177A2B, 4
release
end
diff --git a/data/scripts/maps/FallarborTown_House2.inc b/data/scripts/maps/FallarborTown_House2.inc
index 7ceaabdef..bb1656fc2 100644
--- a/data/scripts/maps/FallarborTown_House2.inc
+++ b/data/scripts/maps/FallarborTown_House2.inc
@@ -5,8 +5,7 @@ FallarborTown_House2_EventScript_153C91:: @ 8153C91
lockall
applymovement 1, FallarborTown_House2_Movement_1A0839
waitmovement 0
- checkflag FLAG_TEMP_1
- goto_if_eq FallarborTown_House2_EventScript_153CB6
+ goto_if_set FLAG_TEMP_1, FallarborTown_House2_EventScript_153CB6
msgbox FallarborTown_House2_Text_177AF4, 4
setflag FLAG_TEMP_1
goto FallarborTown_House2_EventScript_153CB6
diff --git a/data/scripts/maps/FortreeCity.inc b/data/scripts/maps/FortreeCity.inc
index 937b435a6..e576df5bd 100644
--- a/data/scripts/maps/FortreeCity.inc
+++ b/data/scripts/maps/FortreeCity.inc
@@ -18,8 +18,7 @@ FortreeCity_EventScript_14C955:: @ 814C955
FortreeCity_EventScript_14C95E:: @ 814C95E
lock
faceplayer
- checkflag FLAG_KECLEON_FLED_FORTREE
- goto_if_eq FortreeCity_EventScript_14C973
+ goto_if_set FLAG_KECLEON_FLED_FORTREE, FortreeCity_EventScript_14C973
msgbox FortreeCity_Text_1675C2, 4
release
end
diff --git a/data/scripts/maps/FortreeCity_Gym.inc b/data/scripts/maps/FortreeCity_Gym.inc
index 9217ba8f4..94df378f8 100644
--- a/data/scripts/maps/FortreeCity_Gym.inc
+++ b/data/scripts/maps/FortreeCity_Gym.inc
@@ -17,8 +17,7 @@ FortreeCity_Gym_EventScript_157EEC:: @ 8157EEC
FortreeCity_Gym_EventScript_157EF0:: @ 8157EF0
trainerbattle 1, OPPONENT_WINONA, 0, FortreeCity_Gym_Text_185CCB, FortreeCity_Gym_Text_185DBA, FortreeCity_Gym_EventScript_157F15
- checkflag FLAG_RECEIVED_TM40
- goto_if 0, FortreeCity_Gym_EventScript_157F3E
+ goto_if_unset FLAG_RECEIVED_TM40, FortreeCity_Gym_EventScript_157F3E
msgbox FortreeCity_Gym_Text_185F98, 4
release
end
@@ -67,8 +66,7 @@ FortreeCity_Gym_EventScript_157FA7:: @ 8157FA7
FortreeCity_Gym_EventScript_157FBE:: @ 8157FBE
lock
faceplayer
- checkflag FLAG_DEFEATED_FORTREE_GYM
- goto_if_eq FortreeCity_Gym_EventScript_157FD3
+ goto_if_set FLAG_DEFEATED_FORTREE_GYM, FortreeCity_Gym_EventScript_157FD3
msgbox FortreeCity_Gym_Text_18589C, 4
release
end
@@ -80,15 +78,13 @@ FortreeCity_Gym_EventScript_157FD3:: @ 8157FD3
FortreeCity_Gym_EventScript_157FDD:: @ 8157FDD
lockall
- checkflag FLAG_BADGE06_GET
- goto_if_eq FortreeCity_Gym_EventScript_157FFD
+ goto_if_set FLAG_BADGE06_GET, FortreeCity_Gym_EventScript_157FFD
goto FortreeCity_Gym_EventScript_158007
end
FortreeCity_Gym_EventScript_157FED:: @ 8157FED
lockall
- checkflag FLAG_BADGE06_GET
- goto_if_eq FortreeCity_Gym_EventScript_157FFD
+ goto_if_set FLAG_BADGE06_GET, FortreeCity_Gym_EventScript_157FFD
goto FortreeCity_Gym_EventScript_158007
end
diff --git a/data/scripts/maps/FortreeCity_House1.inc b/data/scripts/maps/FortreeCity_House1.inc
index b308aa836..443cc3a5c 100644
--- a/data/scripts/maps/FortreeCity_House1.inc
+++ b/data/scripts/maps/FortreeCity_House1.inc
@@ -4,8 +4,7 @@ FortreeCity_House1_MapScripts:: @ 8157E12
FortreeCity_House1_EventScript_157E13:: @ 8157E13
lock
faceplayer
- checkflag FLAG_FORTREE_NPC_TRADE_COMPLETED
- goto_if_eq FortreeCity_House1_EventScript_157EAD
+ goto_if_set FLAG_FORTREE_NPC_TRADE_COMPLETED, FortreeCity_House1_EventScript_157EAD
setvar VAR_SPECIAL_8, 1
copyvar VAR_SPECIAL_4, VAR_SPECIAL_8
specialvar RESULT, GetInGameTradeSpeciesInfo
@@ -22,7 +21,7 @@ FortreeCity_House1_EventScript_157E13:: @ 8157E13
specialvar RESULT, GetTradeSpecies
copyvar VAR_SPECIAL_B, RESULT
compare RESULT, VAR_SPECIAL_9
- goto_if 5, FortreeCity_House1_EventScript_157E9F
+ goto_if_ne FortreeCity_House1_EventScript_157E9F
copyvar VAR_SPECIAL_4, VAR_SPECIAL_8
copyvar VAR_SPECIAL_5, VAR_SPECIAL_A
special CreateInGameTradePokemon
diff --git a/data/scripts/maps/FortreeCity_House2.inc b/data/scripts/maps/FortreeCity_House2.inc
index ae70b8644..107c3708c 100644
--- a/data/scripts/maps/FortreeCity_House2.inc
+++ b/data/scripts/maps/FortreeCity_House2.inc
@@ -4,10 +4,8 @@ FortreeCity_House2_MapScripts:: @ 81580B3
FortreeCity_House2_EventScript_1580B4:: @ 81580B4
lock
faceplayer
- checkflag FLAG_RECEIVED_TM10
- goto_if_eq FortreeCity_House2_EventScript_158157
- checkflag FLAG_MET_HIDDEN_POWER_GIVER
- call_if 0, FortreeCity_House2_EventScript_15814B
+ goto_if_set FLAG_RECEIVED_TM10, FortreeCity_House2_EventScript_158157
+ call_if_unset FLAG_MET_HIDDEN_POWER_GIVER, FortreeCity_House2_EventScript_15814B
msgbox FortreeCity_House2_Text_186360, 4
multichoice 21, 8, 54, 1
switch RESULT
diff --git a/data/scripts/maps/FortreeCity_House4.inc b/data/scripts/maps/FortreeCity_House4.inc
index 1b1b41877..490ef0c9b 100644
--- a/data/scripts/maps/FortreeCity_House4.inc
+++ b/data/scripts/maps/FortreeCity_House4.inc
@@ -7,12 +7,9 @@ FortreeCity_House4_EventScript_15817F:: @ 815817F
FortreeCity_House4_EventScript_158188:: @ 8158188
lockall
- checkflag FLAG_RECEIVED_MENTAL_HERB
- goto_if_eq FortreeCity_House4_EventScript_158204
- checkflag FLAG_WINGULL_DELIVERED_MAIL
- goto_if_eq FortreeCity_House4_EventScript_1581D6
- checkflag FLAG_WINGULL_SENT_ON_ERRAND
- goto_if_eq FortreeCity_House4_EventScript_1581C2
+ goto_if_set FLAG_RECEIVED_MENTAL_HERB, FortreeCity_House4_EventScript_158204
+ goto_if_set FLAG_WINGULL_DELIVERED_MAIL, FortreeCity_House4_EventScript_1581D6
+ goto_if_set FLAG_WINGULL_SENT_ON_ERRAND, FortreeCity_House4_EventScript_1581C2
msgbox FortreeCity_House4_Text_186835, 4
closemessage
setflag FLAG_WINGULL_SENT_ON_ERRAND
diff --git a/data/scripts/maps/GraniteCave_1F.inc b/data/scripts/maps/GraniteCave_1F.inc
index 33296e510..7419b5866 100644
--- a/data/scripts/maps/GraniteCave_1F.inc
+++ b/data/scripts/maps/GraniteCave_1F.inc
@@ -4,8 +4,7 @@ GraniteCave_1F_MapScripts:: @ 815CBA6
GraniteCave_1F_EventScript_15CBA7:: @ 815CBA7
lock
faceplayer
- checkflag FLAG_RECEIVED_HM05
- goto_if_eq GraniteCave_1F_EventScript_15CBD3
+ goto_if_set FLAG_RECEIVED_HM05, GraniteCave_1F_EventScript_15CBD3
msgbox GraniteCave_1F_Text_194917, 4
giveitem_std ITEM_HM05
setflag FLAG_RECEIVED_HM05
diff --git a/data/scripts/maps/GraniteCave_StevensRoom.inc b/data/scripts/maps/GraniteCave_StevensRoom.inc
index c9616266e..9c69e649e 100644
--- a/data/scripts/maps/GraniteCave_StevensRoom.inc
+++ b/data/scripts/maps/GraniteCave_StevensRoom.inc
@@ -11,17 +11,17 @@ GraniteCave_StevensRoom_EventScript_15CBFA:: @ 815CBFA
msgbox GraniteCave_StevensRoom_Text_194BDD, 4
giveitem_std ITEM_TM47
compare RESULT, 0
- call_if 1, GraniteCave_StevensRoom_EventScript_15CC83
+ call_if_eq GraniteCave_StevensRoom_EventScript_15CC83
msgbox GraniteCave_StevensRoom_Text_194C8D, 4
closemessage
compare FACING, 2
- call_if 1, GraniteCave_StevensRoom_EventScript_15CC6D
+ call_if_eq GraniteCave_StevensRoom_EventScript_15CC6D
compare FACING, 1
- call_if 1, GraniteCave_StevensRoom_EventScript_15CC78
+ call_if_eq GraniteCave_StevensRoom_EventScript_15CC78
compare FACING, 3
- call_if 1, GraniteCave_StevensRoom_EventScript_15CC6D
+ call_if_eq GraniteCave_StevensRoom_EventScript_15CC6D
compare FACING, 4
- call_if 1, GraniteCave_StevensRoom_EventScript_15CC6D
+ call_if_eq GraniteCave_StevensRoom_EventScript_15CC6D
playse SE_KAIDAN
removeobject 1
release
diff --git a/data/scripts/maps/IslandCave.inc b/data/scripts/maps/IslandCave.inc
index dbc71b6bb..d8576e883 100644
--- a/data/scripts/maps/IslandCave.inc
+++ b/data/scripts/maps/IslandCave.inc
@@ -5,8 +5,7 @@ IslandCave_MapScripts:: @ 815EEB6
.byte 0
IslandCave_MapScript1_15EEC6:: @ 815EEC6
- checkflag FLAG_SYS_CTRL_OBJ_DELETE
- call_if 1, IslandCave_EventScript_15EED0
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, IslandCave_EventScript_15EED0
end
IslandCave_EventScript_15EED0:: @ 815EED0
@@ -14,8 +13,7 @@ IslandCave_EventScript_15EED0:: @ 815EED0
return
IslandCave_MapScript1_15EED4:: @ 815EED4
- checkflag FLAG_SYS_BRAILLE_WAIT
- call_if 0, IslandCave_EventScript_15EEDE
+ call_if_unset FLAG_SYS_BRAILLE_WAIT, IslandCave_EventScript_15EEDE
end
IslandCave_EventScript_15EEDE:: @ 815EEDE
@@ -45,8 +43,7 @@ S_OpenRegiceChamber:: @ 815EF19
IslandCave_EventScript_15EF59:: @ 815EF59
lockall
- checkflag FLAG_SYS_BRAILLE_WAIT
- goto_if_eq IslandCave_EventScript_15EF72
+ goto_if_set FLAG_SYS_BRAILLE_WAIT, IslandCave_EventScript_15EF72
braillemessage IslandCave_Braille_1C54FC
special DoBrailleWait
waitstate
@@ -61,8 +58,7 @@ IslandCave_EventScript_15EF72:: @ 815EF72
IslandCave_EventScript_15EF7C:: @ 815EF7C
lockall
braillemessage IslandCave_Braille_1C54FC
- checkflag FLAG_SYS_BRAILLE_WAIT
- goto_if_eq IslandCave_EventScript_15EF95
+ goto_if_set FLAG_SYS_BRAILLE_WAIT, IslandCave_EventScript_15EF95
special DoBrailleWait
waitstate
goto IslandCave_EventScript_15EF95
diff --git a/data/scripts/maps/JaggedPass.inc b/data/scripts/maps/JaggedPass.inc
index efe5d6a6e..d75420e88 100644
--- a/data/scripts/maps/JaggedPass.inc
+++ b/data/scripts/maps/JaggedPass.inc
@@ -9,7 +9,7 @@ JaggedPass_MapScript1_15D271:: @ 815D271
JaggedPass_MapScript1_15D274:: @ 815D274
compare VAR_JAGGED_PASS_ASH_WEATHER, 1
- call_if 1, JaggedPass_EventScript_15D280
+ call_if_eq JaggedPass_EventScript_15D280
end
JaggedPass_EventScript_15D280:: @ 815D280
diff --git a/data/scripts/maps/LavaridgeTown.inc b/data/scripts/maps/LavaridgeTown.inc
index 44a1e141b..a7f71baf6 100644
--- a/data/scripts/maps/LavaridgeTown.inc
+++ b/data/scripts/maps/LavaridgeTown.inc
@@ -5,12 +5,11 @@ LavaridgeTown_MapScripts:: @ 814E4A3
LavaridgeTown_MapScript1_14E4AE:: @ 814E4AE
setflag FLAG_VISITED_LAVARIDGE_TOWN
- checkflag FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY
- call_if 1, LavaridgeTown_EventScript_14E4DF
+ call_if_set FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, LavaridgeTown_EventScript_14E4DF
call LavaridgeTown_EventScript_1A014E
call LavaridgeTown_EventScript_1A0172
compare VAR_LAVARIDGE_RIVAL_STATE, 2
- call_if 1, LavaridgeTown_EventScript_14E4D0
+ call_if_eq LavaridgeTown_EventScript_14E4D0
end
LavaridgeTown_EventScript_14E4D0:: @ 814E4D0
@@ -45,11 +44,11 @@ LavaridgeTown_EventScript_14E4ED:: @ 814E4ED
waitmovement 0
checkplayergender
compare RESULT, 0
- call_if 1, LavaridgeTown_EventScript_14E56B
+ call_if_eq LavaridgeTown_EventScript_14E56B
compare RESULT, 1
- call_if 1, LavaridgeTown_EventScript_14E570
+ call_if_eq LavaridgeTown_EventScript_14E570
compare VAR_SPECIAL_8, 1
- call_if 1, LavaridgeTown_EventScript_14E68F
+ call_if_eq LavaridgeTown_EventScript_14E68F
checkplayergender
compare RESULT, 0
goto_if_eq LavaridgeTown_EventScript_14E5AB
@@ -71,9 +70,9 @@ LavaridgeTown_EventScript_14E575:: @ 814E575
setvar VAR_SPECIAL_8, 0
checkplayergender
compare RESULT, 0
- call_if 1, LavaridgeTown_EventScript_14E56B
+ call_if_eq LavaridgeTown_EventScript_14E56B
compare RESULT, 1
- call_if 1, LavaridgeTown_EventScript_14E570
+ call_if_eq LavaridgeTown_EventScript_14E570
checkplayergender
compare RESULT, 0
goto_if_eq LavaridgeTown_EventScript_14E5AB
@@ -100,16 +99,16 @@ LavaridgeTown_EventScript_14E5D0:: @ 814E5D0
LavaridgeTown_EventScript_14E5F5:: @ 814E5F5
closemessage
compare VAR_SPECIAL_8, 1
- call_if 1, LavaridgeTown_EventScript_14E646
+ call_if_eq LavaridgeTown_EventScript_14E646
compare VAR_SPECIAL_8, 0
- call_if 1, LavaridgeTown_EventScript_14E64E
+ call_if_eq LavaridgeTown_EventScript_14E64E
removeobject 8
addobject 7
delay 30
compare VAR_SPECIAL_8, 1
- call_if 1, LavaridgeTown_EventScript_14E69A
+ call_if_eq LavaridgeTown_EventScript_14E69A
compare VAR_SPECIAL_8, 0
- call_if 1, LavaridgeTown_EventScript_14E6A5
+ call_if_eq LavaridgeTown_EventScript_14E6A5
removeobject 7
setvar VAR_LAVARIDGE_RIVAL_STATE, 2
savebgm 0
@@ -129,13 +128,13 @@ LavaridgeTown_EventScript_14E646:: @ 814E646
LavaridgeTown_EventScript_14E64E:: @ 814E64E
compare FACING, 2
- call_if 1, LavaridgeTown_EventScript_14E67B
+ call_if_eq LavaridgeTown_EventScript_14E67B
compare FACING, 1
- call_if 1, LavaridgeTown_EventScript_14E680
+ call_if_eq LavaridgeTown_EventScript_14E680
compare FACING, 3
- call_if 1, LavaridgeTown_EventScript_14E685
+ call_if_eq LavaridgeTown_EventScript_14E685
compare FACING, 4
- call_if 1, LavaridgeTown_EventScript_14E68A
+ call_if_eq LavaridgeTown_EventScript_14E68A
return
LavaridgeTown_EventScript_14E67B:: @ 814E67B
@@ -166,13 +165,13 @@ LavaridgeTown_EventScript_14E69A:: @ 814E69A
LavaridgeTown_EventScript_14E6A5:: @ 814E6A5
compare FACING, 2
- call_if 1, LavaridgeTown_EventScript_14E6D2
+ call_if_eq LavaridgeTown_EventScript_14E6D2
compare FACING, 1
- call_if 1, LavaridgeTown_EventScript_14E6D2
+ call_if_eq LavaridgeTown_EventScript_14E6D2
compare FACING, 3
- call_if 1, LavaridgeTown_EventScript_14E6DD
+ call_if_eq LavaridgeTown_EventScript_14E6DD
compare FACING, 4
- call_if 1, LavaridgeTown_EventScript_14E6D2
+ call_if_eq LavaridgeTown_EventScript_14E6D2
return
LavaridgeTown_EventScript_14E6D2:: @ 814E6D2
@@ -272,8 +271,7 @@ LavaridgeTown_EventScript_14E751:: @ 814E751
LavaridgeTown_EventScript_14E75A:: @ 814E75A
lock
faceplayer
- checkflag FLAG_RECEIVED_LAVARIDGE_EGG
- goto_if_eq LavaridgeTown_EventScript_14E79E
+ goto_if_set FLAG_RECEIVED_LAVARIDGE_EGG, LavaridgeTown_EventScript_14E79E
msgbox LavaridgeTown_Text_16C174, MSGBOX_YESNO
compare RESULT, NO
goto_if_eq LavaridgeTown_EventScript_14E7B2
diff --git a/data/scripts/maps/LavaridgeTown_Gym_1F.inc b/data/scripts/maps/LavaridgeTown_Gym_1F.inc
index 1bbad53bf..c0604400e 100644
--- a/data/scripts/maps/LavaridgeTown_Gym_1F.inc
+++ b/data/scripts/maps/LavaridgeTown_Gym_1F.inc
@@ -13,56 +13,46 @@ LavaridgeTown_Gym_1F_EventScript_15369F:: @ 815369F
setvar VAR_TEMP_D, 0
setvar VAR_TEMP_E, 0
setvar VAR_TEMP_F, 0
- checktrainerflag OPPONENT_COLE
- goto_if_eq LavaridgeTown_Gym_1F_EventScript_1536C6
+ goto_if_trainer_defeated OPPONENT_COLE, LavaridgeTown_Gym_1F_EventScript_1536C6
setvar VAR_TEMP_B, 1
LavaridgeTown_Gym_1F_EventScript_1536C6:: @ 81536C6
- checktrainerflag OPPONENT_ZANE
- goto_if_eq LavaridgeTown_Gym_1F_EventScript_1536D4
+ goto_if_trainer_defeated OPPONENT_ZANE, LavaridgeTown_Gym_1F_EventScript_1536D4
setvar VAR_TEMP_C, 1
LavaridgeTown_Gym_1F_EventScript_1536D4:: @ 81536D4
- checktrainerflag OPPONENT_AXLE
- goto_if_eq LavaridgeTown_Gym_1F_EventScript_1536E2
+ goto_if_trainer_defeated OPPONENT_AXLE, LavaridgeTown_Gym_1F_EventScript_1536E2
setvar VAR_TEMP_D, 1
LavaridgeTown_Gym_1F_EventScript_1536E2:: @ 81536E2
- checktrainerflag OPPONENT_SADIE
- goto_if_eq LavaridgeTown_Gym_1F_EventScript_1536F0
+ goto_if_trainer_defeated OPPONENT_SADIE, LavaridgeTown_Gym_1F_EventScript_1536F0
setvar VAR_TEMP_E, 1
LavaridgeTown_Gym_1F_EventScript_1536F0:: @ 81536F0
- checktrainerflag OPPONENT_ANDY
- goto_if_eq LavaridgeTown_Gym_1F_EventScript_1536FE
+ goto_if_trainer_defeated OPPONENT_ANDY, LavaridgeTown_Gym_1F_EventScript_1536FE
setvar VAR_TEMP_F, 1
LavaridgeTown_Gym_1F_EventScript_1536FE:: @ 81536FE
return
LavaridgeTown_Gym_1F_EventScript_1536FF:: @ 81536FF
- checktrainerflag OPPONENT_COLE
- goto_if_eq LavaridgeTown_Gym_1F_EventScript_15370C
+ goto_if_trainer_defeated OPPONENT_COLE, LavaridgeTown_Gym_1F_EventScript_15370C
setobjectmovementtype 2, 63
LavaridgeTown_Gym_1F_EventScript_15370C:: @ 815370C
- checktrainerflag OPPONENT_ZANE
- goto_if_eq LavaridgeTown_Gym_1F_EventScript_153719
+ goto_if_trainer_defeated OPPONENT_ZANE, LavaridgeTown_Gym_1F_EventScript_153719
setobjectmovementtype 3, 63
LavaridgeTown_Gym_1F_EventScript_153719:: @ 8153719
- checktrainerflag OPPONENT_AXLE
- goto_if_eq LavaridgeTown_Gym_1F_EventScript_153726
+ goto_if_trainer_defeated OPPONENT_AXLE, LavaridgeTown_Gym_1F_EventScript_153726
setobjectmovementtype 4, 63
LavaridgeTown_Gym_1F_EventScript_153726:: @ 8153726
- checktrainerflag OPPONENT_SADIE
- goto_if_eq LavaridgeTown_Gym_1F_EventScript_153733
+ goto_if_trainer_defeated OPPONENT_SADIE, LavaridgeTown_Gym_1F_EventScript_153733
setobjectmovementtype 5, 63
LavaridgeTown_Gym_1F_EventScript_153733:: @ 8153733
- checktrainerflag OPPONENT_ANDY
- goto_if_eq LavaridgeTown_Gym_1F_EventScript_153740
+ goto_if_trainer_defeated OPPONENT_ANDY, LavaridgeTown_Gym_1F_EventScript_153740
setobjectmovementtype 7, 63
LavaridgeTown_Gym_1F_EventScript_153740:: @ 8153740
@@ -70,8 +60,7 @@ LavaridgeTown_Gym_1F_EventScript_153740:: @ 8153740
LavaridgeTown_Gym_1F_EventScript_153741:: @ 8153741
trainerbattle 1, OPPONENT_FLANNERY, 0, LavaridgeTown_Gym_1F_Text_176801, LavaridgeTown_Gym_1F_Text_176960, LavaridgeTown_Gym_1F_EventScript_153766
- checkflag FLAG_RECEIVED_TM50
- goto_if 0, LavaridgeTown_Gym_1F_EventScript_1537A7
+ goto_if_unset FLAG_RECEIVED_TM50, LavaridgeTown_Gym_1F_EventScript_1537A7
msgbox LavaridgeTown_Gym_1F_Text_176C4A, 4
release
end
@@ -85,7 +74,7 @@ LavaridgeTown_Gym_1F_EventScript_153766:: @ 8153766
setflag FLAG_BADGE04_GET
addvar VAR_PETALBURG_GYM_STATE, 1
compare VAR_PETALBURG_GYM_STATE, 6
- call_if 1, LavaridgeTown_Gym_1F_EventScript_1A00FB
+ call_if_eq LavaridgeTown_Gym_1F_EventScript_1A00FB
setvar VAR_SPECIAL_8, 4
call LavaridgeTown_Gym_1F_EventScript_1A01C0
setflag FLAG_HIDE_WALLY_WANDAS_HOUSE
@@ -135,8 +124,7 @@ LavaridgeTown_Gym_1F_EventScript_15383E:: @ 815383E
LavaridgeTown_Gym_1F_EventScript_153859:: @ 8153859
lock
faceplayer
- checkflag FLAG_DEFEATED_LAVARIDGE_GYM
- goto_if_eq LavaridgeTown_Gym_1F_EventScript_15386E
+ goto_if_set FLAG_DEFEATED_LAVARIDGE_GYM, LavaridgeTown_Gym_1F_EventScript_15386E
msgbox LavaridgeTown_Gym_1F_Text_176312, 4
release
end
@@ -148,15 +136,13 @@ LavaridgeTown_Gym_1F_EventScript_15386E:: @ 815386E
LavaridgeTown_Gym_1F_EventScript_153878:: @ 8153878
lockall
- checkflag FLAG_BADGE04_GET
- goto_if_eq LavaridgeTown_Gym_1F_EventScript_153898
+ goto_if_set FLAG_BADGE04_GET, LavaridgeTown_Gym_1F_EventScript_153898
goto LavaridgeTown_Gym_1F_EventScript_1538A2
end
LavaridgeTown_Gym_1F_EventScript_153888:: @ 8153888
lockall
- checkflag FLAG_BADGE04_GET
- goto_if_eq LavaridgeTown_Gym_1F_EventScript_153898
+ goto_if_set FLAG_BADGE04_GET, LavaridgeTown_Gym_1F_EventScript_153898
goto LavaridgeTown_Gym_1F_EventScript_1538A2
end
diff --git a/data/scripts/maps/LavaridgeTown_HerbShop.inc b/data/scripts/maps/LavaridgeTown_HerbShop.inc
index 913734dd5..71fc2cbfe 100644
--- a/data/scripts/maps/LavaridgeTown_HerbShop.inc
+++ b/data/scripts/maps/LavaridgeTown_HerbShop.inc
@@ -28,8 +28,7 @@ LavaridgeTown_HerbShop_EventScript_15364C:: @ 815364C
LavaridgeTown_HerbShop_EventScript_153655:: @ 8153655
lock
faceplayer
- checkflag FLAG_RECEIVED_CHARCOAL
- goto_if_eq LavaridgeTown_HerbShop_EventScript_153684
+ goto_if_set FLAG_RECEIVED_CHARCOAL, LavaridgeTown_HerbShop_EventScript_153684
msgbox LavaridgeTown_HerbShop_Text_1761A2, 4
giveitem_std ITEM_CHARCOAL
compare RESULT, 0
diff --git a/data/scripts/maps/LilycoveCity.inc b/data/scripts/maps/LilycoveCity.inc
index 6ed8054f8..ee29b0f05 100644
--- a/data/scripts/maps/LilycoveCity.inc
+++ b/data/scripts/maps/LilycoveCity.inc
@@ -7,8 +7,7 @@ LilycoveCity_MapScript1_14CA20:: @ 814CA20
setflag FLAG_VISITED_LILYCOVE_CITY
setvar VAR_LINK_CONTEST_ROOM_STATE, 0
setflag FLAG_HIDE_CONTEST_REPORTER_LILYCOVE
- checkflag FLAG_SYS_WEATHER_CTRL
- call_if 1, LilycoveCity_EventScript_1A02C1
+ call_if_set FLAG_SYS_WEATHER_CTRL, LilycoveCity_EventScript_1A02C1
call LilycoveCity_EventScript_1A0196
call LilycoveCity_EventScript_1A014E
end
@@ -28,10 +27,8 @@ LilycoveCity_MapScript1_14CA3F:: @ 814CA3F
setmetatile 71, 6, 368, 0
setmetatile 72, 6, 445, 0
.endif
- checkflag FLAG_EVIL_TEAM_ESCAPED_IN_SUBMARINE
- call_if 0, LilycoveCity_EventScript_14CABE
- checkflag FLAG_BADGE07_GET
- call_if 1, LilycoveCity_EventScript_14CB2B
+ call_if_unset FLAG_EVIL_TEAM_ESCAPED_IN_SUBMARINE, LilycoveCity_EventScript_14CABE
+ call_if_set FLAG_BADGE07_GET, LilycoveCity_EventScript_14CB2B
end
LilycoveCity_EventScript_14CABE:: @ 814CABE
@@ -64,8 +61,7 @@ LilycoveCity_EventScript_14CB74:: @ 814CB74
lock
faceplayer
dodailyevents
- checkflag FLAG_DAILY_RECEIVED_BERRY_LILYCOVE
- goto_if_eq LilycoveCity_EventScript_14CBB4
+ goto_if_set FLAG_DAILY_RECEIVED_BERRY_LILYCOVE, LilycoveCity_EventScript_14CBB4
msgbox LilycoveCity_Text_1C5A7A, 4
random 10
addvar RESULT, ITEM_CHERI_BERRY
@@ -89,8 +85,7 @@ LilycoveCity_EventScript_14CBBE:: @ 814CBBE
LilycoveCity_EventScript_14CBC7:: @ 814CBC7
lock
faceplayer
- checkflag FLAG_BADGE07_GET
- goto_if_eq LilycoveCity_EventScript_14CBDC
+ goto_if_set FLAG_BADGE07_GET, LilycoveCity_EventScript_14CBDC
msgbox LilycoveCity_Text_168750, 4
release
end
@@ -107,8 +102,7 @@ LilycoveCity_EventScript_14CBE6:: @ 814CBE6
LilycoveCity_EventScript_14CBEF:: @ 814CBEF
lock
faceplayer
- checkflag FLAG_EVIL_TEAM_ESCAPED_IN_SUBMARINE
- goto_if_eq LilycoveCity_EventScript_14CC04
+ goto_if_set FLAG_EVIL_TEAM_ESCAPED_IN_SUBMARINE, LilycoveCity_EventScript_14CC04
msgbox LilycoveCity_Text_1688C1, 4
release
end
@@ -121,8 +115,7 @@ LilycoveCity_EventScript_14CC04:: @ 814CC04
LilycoveCity_EventScript_14CC0E:: @ 814CC0E
lock
faceplayer
- checkflag FLAG_EVIL_TEAM_ESCAPED_IN_SUBMARINE
- goto_if_eq LilycoveCity_EventScript_14CC23
+ goto_if_set FLAG_EVIL_TEAM_ESCAPED_IN_SUBMARINE, LilycoveCity_EventScript_14CC23
msgbox LilycoveCity_Text_1689BF, 4
release
end
@@ -147,8 +140,7 @@ LilycoveCity_EventScript_14CC3F:: @ 814CC3F
LilycoveCity_EventScript_14CC48:: @ 814CC48
lock
faceplayer
- checkflag FLAG_BADGE07_GET
- goto_if_eq LilycoveCity_EventScript_14CC5D
+ goto_if_set FLAG_BADGE07_GET, LilycoveCity_EventScript_14CC5D
msgbox LilycoveCity_Text_168C16, 4
release
end
@@ -186,8 +178,7 @@ LilycoveCity_EventScript_14CCA2:: @ 814CCA2
LilycoveCity_EventScript_14CCAC:: @ 814CCAC
lockall
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if_eq LilycoveCity_EventScript_14CCC0
+ goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_EventScript_14CCC0
msgbox LilycoveCity_Text_168EDA, 4
releaseall
end
@@ -211,8 +202,7 @@ LilycoveCity_EventScript_14CCDC:: @ 814CCDC
LilycoveCity_EventScript_14CCE5:: @ 814CCE5
lockall
- checkflag FLAG_MET_WAILMER_TRAINER
- goto_if_eq LilycoveCity_EventScript_14CD18
+ goto_if_set FLAG_MET_WAILMER_TRAINER, LilycoveCity_EventScript_14CD18
msgbox LilycoveCity_Text_16864A, 4
applymovement LAST_TALKED, LilycoveCity_Movement_1A0839
waitmovement 0
@@ -256,10 +246,8 @@ LilycoveCity_EventScript_14CD46:: @ 814CD46
LilycoveCity_EventScript_14CD60:: @ 814CD60
playbgm BGM_GIRL_SUP, TRUE
- checkflag FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE
- call_if 1, LilycoveCity_EventScript_14CDB0
- checkflag FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE
- call_if 0, LilycoveCity_EventScript_14CDB9
+ call_if_set FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE, LilycoveCity_EventScript_14CDB0
+ call_if_unset FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE, LilycoveCity_EventScript_14CDB9
compare RESULT, NO
goto_if_eq LilycoveCity_EventScript_14CDC2
msgbox LilycoveCity_Text_167B94, 4
@@ -287,10 +275,8 @@ LilycoveCity_EventScript_14CDC2:: @ 814CDC2
LilycoveCity_EventScript_14CDD3:: @ 814CDD3
playbgm BGM_BOY_SUP, TRUE
- checkflag FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE
- call_if 1, LilycoveCity_EventScript_14CE23
- checkflag FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE
- call_if 0, LilycoveCity_EventScript_14CE2C
+ call_if_set FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE, LilycoveCity_EventScript_14CE23
+ call_if_unset FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE, LilycoveCity_EventScript_14CE2C
compare RESULT, NO
goto_if_eq LilycoveCity_EventScript_14CE35
msgbox LilycoveCity_Text_1680A9, 4
@@ -349,20 +335,18 @@ LilycoveCity_EventScript_14CE96:: @ 814CE96
LilycoveCity_EventScript_14CEA6:: @ 814CEA6
msgbox LilycoveCity_Text_167C6B, 4
setvar RESULT, 0
- checkflag FLAG_BADGE06_GET
- call_if 1, LilycoveCity_EventScript_14CEDE
+ call_if_set FLAG_BADGE06_GET, LilycoveCity_EventScript_14CEDE
compare RESULT, 0
- call_if 1, LilycoveCity_EventScript_14CEEE
+ call_if_eq LilycoveCity_EventScript_14CEEE
compare RESULT, 1
- call_if 1, LilycoveCity_EventScript_14CEF7
+ call_if_eq LilycoveCity_EventScript_14CEF7
clearflag FLAG_HIDE_MAY_UPSTAIRS
clearflag FLAG_HIDE_MAY_PICHU_DOLL
goto LilycoveCity_EventScript_14CF6B
end
LilycoveCity_EventScript_14CEDE:: @ 814CEDE
- checkflag FLAG_BADGE08_GET
- goto_if_eq LilycoveCity_EventScript_14CEE8
+ goto_if_set FLAG_BADGE08_GET, LilycoveCity_EventScript_14CEE8
return
LilycoveCity_EventScript_14CEE8:: @ 814CEE8
@@ -374,8 +358,7 @@ LilycoveCity_EventScript_14CEEE:: @ 814CEEE
return
LilycoveCity_EventScript_14CEF7:: @ 814CEF7
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if_eq LilycoveCity_EventScript_14CF09
+ goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_EventScript_14CF09
msgbox LilycoveCity_Text_167DDD, 4
return
@@ -386,12 +369,11 @@ LilycoveCity_EventScript_14CF09:: @ 814CF09
LilycoveCity_EventScript_14CF12:: @ 814CF12
msgbox LilycoveCity_Text_168149, 4
setvar RESULT, 0
- checkflag FLAG_BADGE06_GET
- call_if 1, LilycoveCity_EventScript_14CEDE
+ call_if_set FLAG_BADGE06_GET, LilycoveCity_EventScript_14CEDE
compare RESULT, 0
- call_if 1, LilycoveCity_EventScript_14CF47
+ call_if_eq LilycoveCity_EventScript_14CF47
compare RESULT, 1
- call_if 1, LilycoveCity_EventScript_14CF50
+ call_if_eq LilycoveCity_EventScript_14CF50
clearflag FLAG_HIDE_BRENDAN_UPSTAIRS
goto LilycoveCity_EventScript_14CF6B
end
@@ -401,8 +383,7 @@ LilycoveCity_EventScript_14CF47:: @ 814CF47
return
LilycoveCity_EventScript_14CF50:: @ 814CF50
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if_eq LilycoveCity_EventScript_14CF62
+ goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_EventScript_14CF62
msgbox LilycoveCity_Text_168282, 4
return
diff --git a/data/scripts/maps/LilycoveCity_ContestLobby.inc b/data/scripts/maps/LilycoveCity_ContestLobby.inc
index 7aceecef6..a04629903 100644
--- a/data/scripts/maps/LilycoveCity_ContestLobby.inc
+++ b/data/scripts/maps/LilycoveCity_ContestLobby.inc
@@ -13,8 +13,7 @@ LilycoveCity_ContestLobby_MapScript2_158877:: @ 8158877
.2byte 0
LilycoveCity_ContestLobby_EventScript_158889:: @ 8158889
- checkflag FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR
- goto_if_eq LilycoveCity_ContestLobby_EventScript_158898
+ goto_if_set FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR, LilycoveCity_ContestLobby_EventScript_158898
setvar VAR_LILYCOVE_CONTEST_LOBBY_STATE, 0
end
@@ -45,7 +44,7 @@ LilycoveCity_ContestLobby_EventScript_1588DE:: @ 81588DE
setvar VAR_LILYCOVE_CONTEST_LOBBY_STATE, 0
specialvar RESULT, GiveMonArtistRibbon
compare RESULT, 1
- call_if 1, LilycoveCity_ContestLobby_EventScript_158948
+ call_if_eq LilycoveCity_ContestLobby_EventScript_158948
applymovement 4, LilycoveCity_ContestLobby_Movement_158A43
waitmovement 0
removeobject 4
@@ -188,8 +187,7 @@ LilycoveCity_ContestLobby_Movement_158A52:: @ 8158A52
step_end
LilycoveCity_ContestLobby_EventScript_158A5B:: @ 8158A5B
- checkflag FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR
- goto_if_eq LilycoveCity_ContestLobby_EventScript_158A6A
+ goto_if_set FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR, LilycoveCity_ContestLobby_EventScript_158A6A
setvar VAR_LILYCOVE_CONTEST_LOBBY_STATE, 0
end
@@ -218,7 +216,7 @@ LilycoveCity_ContestLobby_EventScript_158AAE:: @ 8158AAE
setvar VAR_LILYCOVE_CONTEST_LOBBY_STATE, 0
specialvar RESULT, GiveMonArtistRibbon
compare RESULT, 1
- call_if 1, LilycoveCity_ContestLobby_EventScript_158B18
+ call_if_eq LilycoveCity_ContestLobby_EventScript_158B18
applymovement 11, LilycoveCity_ContestLobby_Movement_158B6D
waitmovement 0
removeobject 11
@@ -307,8 +305,7 @@ LilycoveCity_ContestLobby_EventScript_158B85:: @ 8158B85
checkitem ITEM_CONTEST_PASS, 1
compare RESULT, 0
goto_if_eq LilycoveCity_ContestLobby_EventScript_158BBA
- checkflag FLAG_TEMP_2
- goto_if_eq LilycoveCity_ContestLobby_EventScript_158BAE
+ goto_if_set FLAG_TEMP_2, LilycoveCity_ContestLobby_EventScript_158BAE
message LilycoveCity_ContestLobby_Text_18848C
waitmessage
setflag FLAG_TEMP_2
@@ -402,8 +399,7 @@ LilycoveCity_ContestLobby_EventScript_158CC0:: @ 8158CC0
end
LilycoveCity_ContestLobby_EventScript_158CEA:: @ 8158CEA
- checkflag FLAG_TEMP_3
- call_if 0, LilycoveCity_ContestLobby_EventScript_158BC4
+ call_if_unset FLAG_TEMP_3, LilycoveCity_ContestLobby_EventScript_158BC4
message LilycoveCity_ContestLobby_Text_1886DC
waitmessage
multichoice 0, 0, 4, 0
@@ -707,8 +703,7 @@ LilycoveCity_ContestLobby_EventScript_15901E:: @ 815901E
end
LilycoveCity_ContestLobby_EventScript_159027:: @ 8159027
- checkflag FLAG_RECEIVED_CONTEST_PASS
- goto_if 0, LilycoveCity_ContestLobby_EventScript_159039
+ goto_if_unset FLAG_RECEIVED_CONTEST_PASS, LilycoveCity_ContestLobby_EventScript_159039
msgbox LilycoveCity_ContestLobby_Text_188DDA, 2
end
diff --git a/data/scripts/maps/LilycoveCity_CoveLilyMotel_1F.inc b/data/scripts/maps/LilycoveCity_CoveLilyMotel_1F.inc
index c8a3dcab9..b80b0873b 100644
--- a/data/scripts/maps/LilycoveCity_CoveLilyMotel_1F.inc
+++ b/data/scripts/maps/LilycoveCity_CoveLilyMotel_1F.inc
@@ -3,10 +3,8 @@ LilycoveCity_CoveLilyMotel_1F_MapScripts:: @ 81582C4
LilycoveCity_CoveLilyMotel_1F_EventScript_1582C5:: @ 81582C5
lockall
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if_eq LilycoveCity_CoveLilyMotel_1F_EventScript_158326
- checkflag FLAG_BADGE07_GET
- goto_if_eq LilycoveCity_CoveLilyMotel_1F_EventScript_1582FF
+ goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_CoveLilyMotel_1F_EventScript_158326
+ goto_if_set FLAG_BADGE07_GET, LilycoveCity_CoveLilyMotel_1F_EventScript_1582FF
msgbox LilycoveCity_CoveLilyMotel_1F_Text_186B71, 4
applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A0839
waitmovement 0
diff --git a/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc b/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc
index 4878cc6bc..06b982610 100644
--- a/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc
+++ b/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc
@@ -4,10 +4,8 @@ LilycoveCity_CoveLilyMotel_2F_MapScripts:: @ 81583A0
LilycoveCity_CoveLilyMotel_2F_EventScript_1583A1:: @ 81583A1
lock
faceplayer
- checkflag FLAG_TEMP_2
- call_if 0, LilycoveCity_CoveLilyMotel_2F_EventScript_1583C7
- checkflag FLAG_TEMP_2
- call_if 1, LilycoveCity_CoveLilyMotel_2F_EventScript_1583DD
+ call_if_unset FLAG_TEMP_2, LilycoveCity_CoveLilyMotel_2F_EventScript_1583C7
+ call_if_set FLAG_TEMP_2, LilycoveCity_CoveLilyMotel_2F_EventScript_1583DD
specialvar RESULT, CompletedHoennPokedex
compare RESULT, 1
goto_if_eq LilycoveCity_CoveLilyMotel_2F_EventScript_1583D0
diff --git a/data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc b/data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc
index 1198054f0..f895ea99d 100644
--- a/data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc
+++ b/data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc
@@ -4,8 +4,7 @@ LilycoveCity_DepartmentStoreElevator_MapScripts:: @ 815A39B
LilycoveCity_DepartmentStoreElevator_EventScript_15A39C:: @ 815A39C
lock
faceplayer
- checkflag FLAG_TEMP_2
- call_if 0, LilycoveCity_DepartmentStoreElevator_EventScript_15A4CF
+ call_if_unset FLAG_TEMP_2, LilycoveCity_DepartmentStoreElevator_EventScript_15A4CF
copyvar VAR_SPECIAL_5, VAR_DEPT_STORE_FLOOR
special DisplayCurrentElevatorFloor
message LilycoveCity_DepartmentStoreElevator_Text_1A0EF6
diff --git a/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc b/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc
index cd5e0d980..e2274110c 100644
--- a/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc
+++ b/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc
@@ -5,9 +5,9 @@ LilycoveCity_DepartmentStoreRooftop_MapScripts:: @ 815A13F
LilycoveCity_DepartmentStoreRooftop_MapScript1_15A145:: @ 815A145
getpricereduction 3
compare RESULT, 1
- call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A15F
+ call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A15F
compare RESULT, 0
- call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A163
+ call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A163
end
LilycoveCity_DepartmentStoreRooftop_EventScript_15A15F:: @ 815A15F
@@ -53,7 +53,7 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_15A1A0:: @ 815A1A0
faceplayer
getpricereduction 3
compare RESULT, 1
- call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A1BA
+ call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A1BA
msgbox LilycoveCity_DepartmentStoreRooftop_Text_18C61F, 4
release
end
@@ -128,22 +128,22 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_15A260:: @ 815A260
LilycoveCity_DepartmentStoreRooftop_EventScript_15A267:: @ 815A267
compare VAR_TEMP_1, 0
- call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A23D
+ call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A23D
compare VAR_TEMP_1, 1
- call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A244
+ call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A244
compare VAR_TEMP_1, 2
- call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A24B
+ call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A24B
compare RESULT, 0
goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A37A
checkitemspace VAR_TEMP_0, 1
compare RESULT, 0
goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A388
compare VAR_TEMP_1, 0
- call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A252
+ call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A252
compare VAR_TEMP_1, 1
- call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A259
+ call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A259
compare VAR_TEMP_1, 2
- call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A260
+ call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A260
updatemoneybox 0, 0
nop
bufferitemname 0, VAR_TEMP_0
@@ -155,7 +155,7 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_15A267:: @ 815A267
msgbox LilycoveCity_DepartmentStoreRooftop_Text_1A0C8C, 4
random 64
compare RESULT, 0
- goto_if 5, LilycoveCity_DepartmentStoreRooftop_EventScript_15A36E
+ goto_if_ne LilycoveCity_DepartmentStoreRooftop_EventScript_15A36E
checkitemspace VAR_TEMP_0, 1
compare RESULT, 0
goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A388
@@ -167,7 +167,7 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_15A267:: @ 815A267
msgbox LilycoveCity_DepartmentStoreRooftop_Text_1A0C8C, 4
random 64
compare RESULT, 0
- goto_if 5, LilycoveCity_DepartmentStoreRooftop_EventScript_15A36E
+ goto_if_ne LilycoveCity_DepartmentStoreRooftop_EventScript_15A36E
checkitemspace VAR_TEMP_0, 1
compare RESULT, 0
goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A388
diff --git a/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc b/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc
index db2b8edf9..f6b23bc05 100644
--- a/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc
+++ b/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc
@@ -10,9 +10,8 @@ LilycoveCity_DepartmentStore_1F_EventScript_159D5E:: @ 8159D5E
faceplayer
dodailyevents
compare VAR_LOTTERY_PRIZE, 0
- goto_if 5, LilycoveCity_DepartmentStore_1F_EventScript_159EB1
- checkflag FLAG_DAILY_PICKED_LOTTO_TICKET
- goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_159E4C
+ goto_if_ne LilycoveCity_DepartmentStore_1F_EventScript_159EB1
+ goto_if_set FLAG_DAILY_PICKED_LOTTO_TICKET, LilycoveCity_DepartmentStore_1F_EventScript_159E4C
msgbox LilycoveCity_DepartmentStore_1F_Text_1C4B5E, MSGBOX_YESNO
compare RESULT, NO
goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_159E56
@@ -37,18 +36,18 @@ LilycoveCity_DepartmentStore_1F_EventScript_159D5E:: @ 8159D5E
goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_159E60
incrementgamestat GAME_STAT_WON_POKEMON_LOTTERY
compare VAR_SPECIAL_6, 0
- call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_159E3A
+ call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_159E3A
compare VAR_SPECIAL_6, 1
- call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_159E43
+ call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_159E43
bufferitemname 0, VAR_SPECIAL_5
compare VAR_SPECIAL_4, 1
- call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_159E78
+ call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_159E78
compare VAR_SPECIAL_4, 2
- call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_159E81
+ call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_159E81
compare VAR_SPECIAL_4, 3
- call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_159E8A
+ call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_159E8A
compare VAR_SPECIAL_4, 4
- call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_159E93
+ call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_159E93
giveitem_std VAR_SPECIAL_5
compare RESULT, 0
goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_159E9C
diff --git a/data/scripts/maps/LilycoveCity_Harbor.inc b/data/scripts/maps/LilycoveCity_Harbor.inc
index 3b884c233..5dc217585 100644
--- a/data/scripts/maps/LilycoveCity_Harbor.inc
+++ b/data/scripts/maps/LilycoveCity_Harbor.inc
@@ -16,8 +16,7 @@ LilycoveCity_Harbor_EventScript_1598A2:: @ 81598A2
end
LilycoveCity_Harbor_EventScript_1598BA:: @ 81598BA
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if_eq LilycoveCity_Harbor_EventScript_1598CD
+ goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_Harbor_EventScript_1598CD
msgbox LilycoveCity_Harbor_Text_18B306, 4
release
end
@@ -81,9 +80,9 @@ LilycoveCity_Harbor_EventScript_15998A:: @ 815998A
delay 30
hideobjectat LAST_TALKED, MAP_LILYCOVE_CITY_HARBOR
compare FACING, 2
- call_if 1, LilycoveCity_Harbor_EventScript_1599D9
+ call_if_eq LilycoveCity_Harbor_EventScript_1599D9
compare FACING, 4
- call_if 1, LilycoveCity_Harbor_EventScript_1599CE
+ call_if_eq LilycoveCity_Harbor_EventScript_1599CE
delay 30
hideobjectat 255, MAP_PETALBURG_CITY
setvar VAR_SPECIAL_4, 2
@@ -106,12 +105,9 @@ LilycoveCity_Harbor_EventScript_1599E4:: @ 81599E4
end
LilycoveCity_Harbor_EventScript_1599EE:: @ 81599EE
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, LilycoveCity_Harbor_EventScript_1598BA
- checkflag FLAG_ECOUNTERED_LATIAS_OR_LATIOS
- goto_if_eq LilycoveCity_Harbor_EventScript_1598BA
- checkflag FLAG_SYS_HAS_EON_TICKET
- goto_if 0, LilycoveCity_Harbor_EventScript_1598BA
+ goto_if_unset FLAG_SYS_GAME_CLEAR, LilycoveCity_Harbor_EventScript_1598BA
+ goto_if_set FLAG_ECOUNTERED_LATIAS_OR_LATIOS, LilycoveCity_Harbor_EventScript_1598BA
+ goto_if_unset FLAG_SYS_HAS_EON_TICKET, LilycoveCity_Harbor_EventScript_1598BA
msgbox LilycoveCity_Harbor_Text_1C50F2, 4
closemessage
applymovement LAST_TALKED, LilycoveCity_Harbor_Movement_1A0841
@@ -130,9 +126,9 @@ LilycoveCity_Harbor_EventScript_1599EE:: @ 81599EE
delay 30
removeobject 4
compare FACING, 2
- call_if 1, LilycoveCity_Harbor_EventScript_1599D9
+ call_if_eq LilycoveCity_Harbor_EventScript_1599D9
compare FACING, 4
- call_if 1, LilycoveCity_Harbor_EventScript_1599CE
+ call_if_eq LilycoveCity_Harbor_EventScript_1599CE
delay 30
hideobjectat 255, MAP_PETALBURG_CITY
special ScrSpecial_HealPlayerParty
@@ -159,8 +155,7 @@ LilycoveCity_Harbor_Movement_159A89:: @ 8159A89
LilycoveCity_Harbor_EventScript_159A8D:: @ 8159A8D
lock
faceplayer
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if_eq LilycoveCity_Harbor_EventScript_159AA2
+ goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_Harbor_EventScript_159AA2
msgbox LilycoveCity_Harbor_Text_18B504, 4
release
end
diff --git a/data/scripts/maps/LilycoveCity_House2.inc b/data/scripts/maps/LilycoveCity_House2.inc
index d0065c9e8..0572c23cc 100644
--- a/data/scripts/maps/LilycoveCity_House2.inc
+++ b/data/scripts/maps/LilycoveCity_House2.inc
@@ -4,8 +4,7 @@ LilycoveCity_House2_MapScripts:: @ 8159BA2
LilycoveCity_House2_EventScript_159BA3:: @ 8159BA3
lock
faceplayer
- checkflag FLAG_RECEIVED_TM44
- goto_if_eq LilycoveCity_House2_EventScript_159BDA
+ goto_if_set FLAG_RECEIVED_TM44, LilycoveCity_House2_EventScript_159BDA
msgbox LilycoveCity_House2_Text_18B83C, 4
giveitem_std ITEM_TM44
compare RESULT, 0
diff --git a/data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc b/data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc
index 120054e91..9cf3ecbd7 100644
--- a/data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc
+++ b/data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc
@@ -4,32 +4,27 @@ LilycoveCity_LilycoveMuseum_2F_MapScripts:: @ 81585AC
.byte 0
LilycoveCity_LilycoveMuseum_2F_MapScript1_1585B7:: @ 81585B7
- checkflag FLAG_COOL_PAINTING_MADE
- goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_1585FD
+ goto_if_set FLAG_COOL_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_1585FD
goto LilycoveCity_LilycoveMuseum_2F_EventScript_1585C6
end
LilycoveCity_LilycoveMuseum_2F_EventScript_1585C6:: @ 81585C6
- checkflag FLAG_BEAUTY_PAINTING_MADE
- goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_158615
+ goto_if_set FLAG_BEAUTY_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_158615
goto LilycoveCity_LilycoveMuseum_2F_EventScript_1585D5
end
LilycoveCity_LilycoveMuseum_2F_EventScript_1585D5:: @ 81585D5
- checkflag FLAG_CUTE_PAINTING_MADE
- goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_15862D
+ goto_if_set FLAG_CUTE_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_15862D
goto LilycoveCity_LilycoveMuseum_2F_EventScript_1585E4
end
LilycoveCity_LilycoveMuseum_2F_EventScript_1585E4:: @ 81585E4
- checkflag FLAG_SMART_PAINTING_MADE
- goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_158645
+ goto_if_set FLAG_SMART_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_158645
goto LilycoveCity_LilycoveMuseum_2F_EventScript_1585F3
end
LilycoveCity_LilycoveMuseum_2F_EventScript_1585F3:: @ 81585F3
- checkflag FLAG_TOUGH_PAINTING_MADE
- goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_15865D
+ goto_if_set FLAG_TOUGH_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_15865D
end
LilycoveCity_LilycoveMuseum_2F_EventScript_1585FD:: @ 81585FD
@@ -96,8 +91,7 @@ LilycoveCity_LilycoveMuseum_2F_Movement_1586D5:: @ 81586D5
LilycoveCity_LilycoveMuseum_2F_EventScript_1586D8:: @ 81586D8
lockall
- checkflag FLAG_RECEIVED_GLASS_ORNAMENT
- goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_158793
+ goto_if_set FLAG_RECEIVED_GLASS_ORNAMENT, LilycoveCity_LilycoveMuseum_2F_EventScript_158793
specialvar VAR_SPECIAL_4, sub_80C4D50
switch VAR_SPECIAL_4
case 1, LilycoveCity_LilycoveMuseum_2F_EventScript_15872C
@@ -146,36 +140,31 @@ LilycoveCity_LilycoveMuseum_2F_EventScript_158793:: @ 8158793
LilycoveCity_LilycoveMuseum_2F_EventScript_15879D:: @ 815879D
lockall
- checkflag FLAG_CUTE_PAINTING_MADE
- goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_15883C
+ goto_if_set FLAG_CUTE_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_15883C
msgbox LilycoveCity_LilycoveMuseum_2F_Text_188219, 3
end
LilycoveCity_LilycoveMuseum_2F_EventScript_1587B0:: @ 81587B0
lockall
- checkflag FLAG_TOUGH_PAINTING_MADE
- goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_158858
+ goto_if_set FLAG_TOUGH_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_158858
msgbox LilycoveCity_LilycoveMuseum_2F_Text_18824C, 3
end
LilycoveCity_LilycoveMuseum_2F_EventScript_1587C3:: @ 81587C3
lockall
- checkflag FLAG_COOL_PAINTING_MADE
- goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_158820
+ goto_if_set FLAG_COOL_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_158820
msgbox LilycoveCity_LilycoveMuseum_2F_Text_1882B4, 3
end
LilycoveCity_LilycoveMuseum_2F_EventScript_1587D6:: @ 81587D6
lockall
- checkflag FLAG_BEAUTY_PAINTING_MADE
- goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_15882E
+ goto_if_set FLAG_BEAUTY_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_15882E
msgbox LilycoveCity_LilycoveMuseum_2F_Text_188281, 3
end
LilycoveCity_LilycoveMuseum_2F_EventScript_1587E9:: @ 81587E9
lockall
- checkflag FLAG_SMART_PAINTING_MADE
- goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_15884A
+ goto_if_set FLAG_SMART_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_15884A
msgbox LilycoveCity_LilycoveMuseum_2F_Text_1882E6, 3
end
diff --git a/data/scripts/maps/LilycoveCity_PokemonCenter_1F.inc b/data/scripts/maps/LilycoveCity_PokemonCenter_1F.inc
index f6eb35c98..cff88caf0 100644
--- a/data/scripts/maps/LilycoveCity_PokemonCenter_1F.inc
+++ b/data/scripts/maps/LilycoveCity_PokemonCenter_1F.inc
@@ -21,8 +21,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_15933F:: @ 815933F
LilycoveCity_PokemonCenter_1F_EventScript_159348:: @ 8159348
lock
faceplayer
- checkflag FLAG_BADGE07_GET
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_15935D
+ goto_if_set FLAG_BADGE07_GET, LilycoveCity_PokemonCenter_1F_EventScript_15935D
msgbox LilycoveCity_PokemonCenter_1F_Text_18A048, 4
release
end
diff --git a/data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc b/data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc
index 4656f0182..85ee953ac 100644
--- a/data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc
+++ b/data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc
@@ -72,35 +72,35 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_159429:: @ 8159429
setvar VAR_SPECIAL_4, 8
specialvar RESULT, ShouldMoveLilycoveFanClubMember
compare RESULT, 0
- call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594D5
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_1594D5
setvar VAR_SPECIAL_4, 9
specialvar RESULT, ShouldMoveLilycoveFanClubMember
compare RESULT, 0
- call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594DD
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_1594DD
setvar VAR_SPECIAL_4, 10
specialvar RESULT, ShouldMoveLilycoveFanClubMember
compare RESULT, 0
- call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594E5
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_1594E5
setvar VAR_SPECIAL_4, 11
specialvar RESULT, ShouldMoveLilycoveFanClubMember
compare RESULT, 0
- call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594ED
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_1594ED
setvar VAR_SPECIAL_4, 12
specialvar RESULT, ShouldMoveLilycoveFanClubMember
compare RESULT, 0
- call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594F5
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_1594F5
setvar VAR_SPECIAL_4, 13
specialvar RESULT, ShouldMoveLilycoveFanClubMember
compare RESULT, 0
- call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594FD
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_1594FD
setvar VAR_SPECIAL_4, 14
specialvar RESULT, ShouldMoveLilycoveFanClubMember
compare RESULT, 0
- call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_159505
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_159505
setvar VAR_SPECIAL_4, 15
specialvar RESULT, ShouldMoveLilycoveFanClubMember
compare RESULT, 0
- call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_15950D
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_15950D
end
LilycoveCity_PokemonTrainerFanClub_EventScript_1594D5:: @ 81594D5
diff --git a/data/scripts/maps/LittlerootTown.inc b/data/scripts/maps/LittlerootTown.inc
index ef2145bbb..57ad9aae5 100644
--- a/data/scripts/maps/LittlerootTown.inc
+++ b/data/scripts/maps/LittlerootTown.inc
@@ -6,19 +6,18 @@ LittlerootTown_MapScripts:: @ 814D509
LittlerootTown_MapScript1_14D514:: @ 814D514
setflag FLAG_VISITED_LITTLEROOT_TOWN
compare VAR_LITTLEROOT_INTRO_STATE, 2
- call_if 1, LittlerootTown_EventScript_14D57B
- checkflag FLAG_RESCUED_BIRCH
- call_if 0, LittlerootTown_EventScript_14D583
+ call_if_eq LittlerootTown_EventScript_14D57B
+ call_if_unset FLAG_RESCUED_BIRCH, LittlerootTown_EventScript_14D583
compare VAR_LITTLEROOT_STATE, 3
- call_if 1, LittlerootTown_EventScript_14D5A6
+ call_if_eq LittlerootTown_EventScript_14D5A6
compare VAR_LITTLEROOT_HOUSES_STATE, 4
- call_if 1, LittlerootTown_EventScript_14D570
+ call_if_eq LittlerootTown_EventScript_14D570
compare VAR_LITTLEROOT_HOUSES_STATE_2, 4
- call_if 1, LittlerootTown_EventScript_14D570
+ call_if_eq LittlerootTown_EventScript_14D570
compare VAR_OLDALE_STATE, 1
- call_if 1, LittlerootTown_EventScript_14D567
+ call_if_eq LittlerootTown_EventScript_14D567
compare VAR_LITTLEROOT_RIVAL_STATE, 3
- call_if 1, LittlerootTown_EventScript_14D563
+ call_if_eq LittlerootTown_EventScript_14D563
end
LittlerootTown_EventScript_14D563:: @ 814D563
@@ -56,9 +55,9 @@ LittlerootTown_EventScript_14D5A6:: @ 814D5A6
setobjectmovementtype 4, 8
checkplayergender
compare RESULT, 0
- call_if 1, LittlerootTown_EventScript_14D5C5
+ call_if_eq LittlerootTown_EventScript_14D5C5
compare RESULT, 1
- call_if 1, LittlerootTown_EventScript_14D5CD
+ call_if_eq LittlerootTown_EventScript_14D5CD
return
LittlerootTown_EventScript_14D5C5:: @ 814D5C5
@@ -187,12 +186,10 @@ LittlerootTown_EventScript_14D6D6:: @ 814D6D6
LittlerootTown_EventScript_14D6DF:: @ 814D6DF
lock
faceplayer
- checkflag FLAG_ADVENTURE_STARTED
- goto_if_eq LittlerootTown_EventScript_14D72F
- checkflag FLAG_RESCUED_BIRCH
- goto_if_eq LittlerootTown_EventScript_14D722
+ goto_if_set FLAG_ADVENTURE_STARTED, LittlerootTown_EventScript_14D72F
+ goto_if_set FLAG_RESCUED_BIRCH, LittlerootTown_EventScript_14D722
compare VAR_LITTLEROOT_STATE, 0
- goto_if 5, LittlerootTown_EventScript_14D708
+ goto_if_ne LittlerootTown_EventScript_14D708
msgbox LittlerootTown_Text_16ACEB, 4
release
end
@@ -335,9 +332,9 @@ LittlerootTown_EventScript_14D808:: @ 814D808
lockall
checkplayergender
compare RESULT, 0
- call_if 1, LittlerootTown_EventScript_14D822
+ call_if_eq LittlerootTown_EventScript_14D822
compare RESULT, 1
- call_if 1, LittlerootTown_EventScript_14D82B
+ call_if_eq LittlerootTown_EventScript_14D82B
releaseall
end
@@ -353,9 +350,9 @@ LittlerootTown_EventScript_14D834:: @ 814D834
lockall
checkplayergender
compare RESULT, 0
- call_if 1, LittlerootTown_EventScript_14D84E
+ call_if_eq LittlerootTown_EventScript_14D84E
compare RESULT, 1
- call_if 1, LittlerootTown_EventScript_14D857
+ call_if_eq LittlerootTown_EventScript_14D857
releaseall
end
@@ -408,27 +405,27 @@ LittlerootTown_EventScript_14D8AA:: @ 814D8AA
LittlerootTown_EventScript_14D8B6:: @ 814D8B6
checkplayergender
compare RESULT, 0
- call_if 1, LittlerootTown_EventScript_14D93C
+ call_if_eq LittlerootTown_EventScript_14D93C
compare RESULT, 1
- call_if 1, LittlerootTown_EventScript_14D947
+ call_if_eq LittlerootTown_EventScript_14D947
checkplayergender
compare RESULT, 0
- call_if 1, LittlerootTown_EventScript_14D926
+ call_if_eq LittlerootTown_EventScript_14D926
compare RESULT, 1
- call_if 1, LittlerootTown_EventScript_14D931
+ call_if_eq LittlerootTown_EventScript_14D931
msgbox LittlerootTown_Text_16A8EE, 4
closemessage
checkplayergender
compare RESULT, 0
- call_if 1, LittlerootTown_EventScript_14D952
+ call_if_eq LittlerootTown_EventScript_14D952
compare RESULT, 1
- call_if 1, LittlerootTown_EventScript_14D995
+ call_if_eq LittlerootTown_EventScript_14D995
call LittlerootTown_EventScript_14DD38
checkplayergender
compare RESULT, 0
- call_if 1, LittlerootTown_EventScript_14DAAA
+ call_if_eq LittlerootTown_EventScript_14DAAA
compare RESULT, 1
- call_if 1, LittlerootTown_EventScript_14DAED
+ call_if_eq LittlerootTown_EventScript_14DAED
goto LittlerootTown_EventScript_14DD2B
end
@@ -454,32 +451,32 @@ LittlerootTown_EventScript_14D947:: @ 814D947
LittlerootTown_EventScript_14D952:: @ 814D952
compare VAR_SPECIAL_8, 0
- call_if 1, LittlerootTown_EventScript_14D9D8
+ call_if_eq LittlerootTown_EventScript_14D9D8
compare VAR_SPECIAL_8, 1
- call_if 1, LittlerootTown_EventScript_14D9ED
+ call_if_eq LittlerootTown_EventScript_14D9ED
compare VAR_SPECIAL_8, 2
- call_if 1, LittlerootTown_EventScript_14DA02
+ call_if_eq LittlerootTown_EventScript_14DA02
compare VAR_SPECIAL_8, 3
- call_if 1, LittlerootTown_EventScript_14DA17
+ call_if_eq LittlerootTown_EventScript_14DA17
compare VAR_SPECIAL_8, 4
- call_if 1, LittlerootTown_EventScript_14DA2C
+ call_if_eq LittlerootTown_EventScript_14DA2C
compare VAR_SPECIAL_8, 5
- call_if 1, LittlerootTown_EventScript_14DA41
+ call_if_eq LittlerootTown_EventScript_14DA41
return
LittlerootTown_EventScript_14D995:: @ 814D995
compare VAR_SPECIAL_8, 0
- call_if 1, LittlerootTown_EventScript_14D9D8
+ call_if_eq LittlerootTown_EventScript_14D9D8
compare VAR_SPECIAL_8, 1
- call_if 1, LittlerootTown_EventScript_14D9ED
+ call_if_eq LittlerootTown_EventScript_14D9ED
compare VAR_SPECIAL_8, 2
- call_if 1, LittlerootTown_EventScript_14DA56
+ call_if_eq LittlerootTown_EventScript_14DA56
compare VAR_SPECIAL_8, 3
- call_if 1, LittlerootTown_EventScript_14DA6B
+ call_if_eq LittlerootTown_EventScript_14DA6B
compare VAR_SPECIAL_8, 4
- call_if 1, LittlerootTown_EventScript_14DA80
+ call_if_eq LittlerootTown_EventScript_14DA80
compare VAR_SPECIAL_8, 5
- call_if 1, LittlerootTown_EventScript_14DA95
+ call_if_eq LittlerootTown_EventScript_14DA95
return
LittlerootTown_EventScript_14D9D8:: @ 814D9D8
@@ -554,32 +551,32 @@ LittlerootTown_EventScript_14DA95:: @ 814DA95
LittlerootTown_EventScript_14DAAA:: @ 814DAAA
compare VAR_SPECIAL_8, 0
- call_if 1, LittlerootTown_EventScript_14DB30
+ call_if_eq LittlerootTown_EventScript_14DB30
compare VAR_SPECIAL_8, 1
- call_if 1, LittlerootTown_EventScript_14DB3B
+ call_if_eq LittlerootTown_EventScript_14DB3B
compare VAR_SPECIAL_8, 2
- call_if 1, LittlerootTown_EventScript_14DB46
+ call_if_eq LittlerootTown_EventScript_14DB46
compare VAR_SPECIAL_8, 3
- call_if 1, LittlerootTown_EventScript_14DB6C
+ call_if_eq LittlerootTown_EventScript_14DB6C
compare VAR_SPECIAL_8, 4
- call_if 1, LittlerootTown_EventScript_14DB92
+ call_if_eq LittlerootTown_EventScript_14DB92
compare VAR_SPECIAL_8, 5
- call_if 1, LittlerootTown_EventScript_14DBB8
+ call_if_eq LittlerootTown_EventScript_14DBB8
return
LittlerootTown_EventScript_14DAED:: @ 814DAED
compare VAR_SPECIAL_8, 0
- call_if 1, LittlerootTown_EventScript_14DB30
+ call_if_eq LittlerootTown_EventScript_14DB30
compare VAR_SPECIAL_8, 1
- call_if 1, LittlerootTown_EventScript_14DB3B
+ call_if_eq LittlerootTown_EventScript_14DB3B
compare VAR_SPECIAL_8, 2
- call_if 1, LittlerootTown_EventScript_14DBDE
+ call_if_eq LittlerootTown_EventScript_14DBDE
compare VAR_SPECIAL_8, 3
- call_if 1, LittlerootTown_EventScript_14DC04
+ call_if_eq LittlerootTown_EventScript_14DC04
compare VAR_SPECIAL_8, 4
- call_if 1, LittlerootTown_EventScript_14DC2A
+ call_if_eq LittlerootTown_EventScript_14DC2A
compare VAR_SPECIAL_8, 5
- call_if 1, LittlerootTown_EventScript_14DC50
+ call_if_eq LittlerootTown_EventScript_14DC50
return
LittlerootTown_EventScript_14DB30:: @ 814DB30
@@ -843,9 +840,9 @@ LittlerootTown_EventScript_14DCE2:: @ 814DCE2
faceplayer
checkplayergender
compare RESULT, 0
- call_if 1, LittlerootTown_EventScript_14D926
+ call_if_eq LittlerootTown_EventScript_14D926
compare RESULT, 1
- call_if 1, LittlerootTown_EventScript_14D931
+ call_if_eq LittlerootTown_EventScript_14D931
call LittlerootTown_EventScript_14DD38
applymovement 4, LittlerootTown_Movement_1A0841
waitmovement 0
diff --git a/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc b/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc
index 8a86cd946..1de2e91a4 100644
--- a/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc
+++ b/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc
@@ -6,9 +6,8 @@ LittlerootTown_BrendansHouse_1F_MapScripts:: @ 815263B
LittlerootTown_BrendansHouse_1F_MapScript1_15264B:: @ 815264B
compare VAR_LITTLEROOT_INTRO_STATE, 6
- call_if 0, LittlerootTown_BrendansHouse_1F_EventScript_152660
- checkflag FLAG_RECEIVED_RUNNING_SHOES
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_152673
+ call_if_lt LittlerootTown_BrendansHouse_1F_EventScript_152660
+ call_if_set FLAG_RECEIVED_RUNNING_SHOES, LittlerootTown_BrendansHouse_1F_EventScript_152673
end
LittlerootTown_BrendansHouse_1F_EventScript_152660:: @ 8152660
@@ -28,11 +27,11 @@ LittlerootTown_BrendansHouse_1F_EventScript_152680:: @ 8152680
LittlerootTown_BrendansHouse_1F_MapScript1_15268A:: @ 815268A
compare VAR_LITTLEROOT_INTRO_STATE, 3
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1526C4
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1526C4
compare VAR_LITTLEROOT_INTRO_STATE, 5
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1526AC
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1526AC
compare VAR_LITTLEROOT_INTRO_STATE, 6
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1526B8
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1526B8
end
LittlerootTown_BrendansHouse_1F_EventScript_1526AC:: @ 81526AC
diff --git a/data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc b/data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc
index e0e1a1086..ed6818fa0 100644
--- a/data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc
+++ b/data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc
@@ -4,10 +4,9 @@ LittlerootTown_BrendansHouse_2F_MapScripts:: @ 81527A4
.byte 0
LittlerootTown_BrendansHouse_2F_MapScript1_1527AF:: @ 81527AF
- checkflag FLAG_DEFEATED_RIVAL_ROUTE103
- call_if 0, LittlerootTown_BrendansHouse_2F_EventScript_1527CE
+ call_if_unset FLAG_DEFEATED_RIVAL_ROUTE103, LittlerootTown_BrendansHouse_2F_EventScript_1527CE
compare VAR_LITTLEROOT_INTRO_STATE, 4
- call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1B6950
+ call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1B6950
call LittlerootTown_BrendansHouse_2F_EventScript_1A2F3D
setvar VAR_0x4089, 0
end
diff --git a/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc b/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc
index 45e9e0783..8096589aa 100644
--- a/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc
+++ b/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc
@@ -6,9 +6,8 @@ LittlerootTown_MaysHouse_1F_MapScripts:: @ 8152879
LittlerootTown_MaysHouse_1F_MapScript1_152889:: @ 8152889
compare VAR_LITTLEROOT_INTRO_STATE, 6
- call_if 0, LittlerootTown_MaysHouse_1F_EventScript_15289E
- checkflag FLAG_RECEIVED_RUNNING_SHOES
- call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1528B1
+ call_if_lt LittlerootTown_MaysHouse_1F_EventScript_15289E
+ call_if_set FLAG_RECEIVED_RUNNING_SHOES, LittlerootTown_MaysHouse_1F_EventScript_1528B1
end
LittlerootTown_MaysHouse_1F_EventScript_15289E:: @ 815289E
@@ -28,11 +27,11 @@ LittlerootTown_MaysHouse_1F_EventScript_1528BE:: @ 81528BE
LittlerootTown_MaysHouse_1F_MapScript1_1528C8:: @ 81528C8
compare VAR_LITTLEROOT_INTRO_STATE, 3
- call_if 1, LittlerootTown_MaysHouse_1F_EventScript_152902
+ call_if_eq LittlerootTown_MaysHouse_1F_EventScript_152902
compare VAR_LITTLEROOT_INTRO_STATE, 5
- call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1528EA
+ call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1528EA
compare VAR_LITTLEROOT_INTRO_STATE, 6
- call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1528F6
+ call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1528F6
end
LittlerootTown_MaysHouse_1F_EventScript_1528EA:: @ 81528EA
@@ -118,9 +117,9 @@ LittlerootTown_MaysHouse_1F_Movement_1529C0:: @ 81529C0
lockall
checkplayergender
compare RESULT, 0
- call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1529E1
+ call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1529E1
compare RESULT, 1
- call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1529E2
+ call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1529E2
releaseall
end
@@ -135,10 +134,8 @@ LittlerootTown_BrendansHouse_1F_EventScript_1529EB:: @ 81529EB
LittlerootTown_MaysHouse_1F_EventScript_1529EB:: @ 81529EB
lock
faceplayer
- checkflag FLAG_DEFEATED_RIVAL_ROUTE103
- goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_152A21
- checkflag FLAG_RIVAL_LEFT_FOR_ROUTE103
- goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_152A17
+ goto_if_set FLAG_DEFEATED_RIVAL_ROUTE103, LittlerootTown_BrendansHouse_1F_EventScript_152A21
+ goto_if_set FLAG_RIVAL_LEFT_FOR_ROUTE103, LittlerootTown_BrendansHouse_1F_EventScript_152A17
compare VAR_LITTLEROOT_RIVAL_STATE, 3
goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_152A2B
special GetRivalSonDaughterString
diff --git a/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc b/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc
index 34300b13e..ede58e7a5 100644
--- a/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc
+++ b/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc
@@ -4,10 +4,9 @@ LittlerootTown_MaysHouse_2F_MapScripts:: @ 8152A50
.byte 0
LittlerootTown_MaysHouse_2F_MapScript1_152A5B:: @ 8152A5B
- checkflag FLAG_DEFEATED_RIVAL_ROUTE103
- call_if 0, LittlerootTown_MaysHouse_2F_EventScript_152A7A
+ call_if_unset FLAG_DEFEATED_RIVAL_ROUTE103, LittlerootTown_MaysHouse_2F_EventScript_152A7A
compare VAR_LITTLEROOT_INTRO_STATE, 4
- call_if 1, LittlerootTown_MaysHouse_2F_EventScript_1B6950
+ call_if_eq LittlerootTown_MaysHouse_2F_EventScript_1B6950
call LittlerootTown_MaysHouse_2F_EventScript_1A2F3D
setvar VAR_0x4089, 0
end
@@ -30,13 +29,12 @@ LittlerootTown_MaysHouse_2F_EventScript_152A90:: @ 8152A90
LittlerootTown_BrendansHouse_2F_EventScript_152A9D:: @ 8152A9D
LittlerootTown_MaysHouse_2F_EventScript_152A9D:: @ 8152A9D
lockall
- checkflag FLAG_MET_RIVAL_LILYCOVE
- goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152BB5
+ goto_if_set FLAG_MET_RIVAL_LILYCOVE, LittlerootTown_BrendansHouse_2F_EventScript_152BB5
checkplayergender
compare RESULT, 0
- call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152AD4
+ call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152AD4
compare RESULT, 1
- call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152B4A
+ call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152B4A
playse SE_KAIDAN
removeobject LAST_TALKED
setvar VAR_LITTLEROOT_RIVAL_STATE, 3
@@ -58,11 +56,11 @@ LittlerootTown_BrendansHouse_2F_EventScript_152AD4:: @ 8152AD4
msgbox LittlerootTown_BrendansHouse_2F_Text_1733AF, 4
closemessage
compare FACING, 4
- call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152B29
+ call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152B29
compare FACING, 2
- call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152B34
+ call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152B34
compare FACING, 3
- call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152B3F
+ call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152B3F
return
LittlerootTown_BrendansHouse_2F_EventScript_152B29:: @ 8152B29
@@ -92,11 +90,11 @@ LittlerootTown_BrendansHouse_2F_EventScript_152B4A:: @ 8152B4A
msgbox LittlerootTown_BrendansHouse_2F_Text_1735FC, 4
closemessage
compare FACING, 4
- call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152B9F
+ call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152B9F
compare FACING, 2
- call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152B9F
+ call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152B9F
compare FACING, 3
- call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152BAA
+ call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152BAA
return
LittlerootTown_BrendansHouse_2F_EventScript_152B9F:: @ 8152B9F
@@ -114,22 +112,20 @@ LittlerootTown_BrendansHouse_2F_EventScript_152BB5:: @ 8152BB5
waitmovement 0
checkplayergender
compare RESULT, 0
- call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152BDB
+ call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152BDB
compare RESULT, 1
- call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152BED
+ call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152BED
setflag FLAG_MET_RIVAL_IN_HOUSE_AFTER_LILYCOVE
releaseall
end
LittlerootTown_BrendansHouse_2F_EventScript_152BDB:: @ 8152BDB
- checkflag FLAG_MET_RIVAL_IN_HOUSE_AFTER_LILYCOVE
- goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152BFF
+ goto_if_set FLAG_MET_RIVAL_IN_HOUSE_AFTER_LILYCOVE, LittlerootTown_BrendansHouse_2F_EventScript_152BFF
msgbox LittlerootTown_BrendansHouse_2F_Text_1737AE, 4
return
LittlerootTown_BrendansHouse_2F_EventScript_152BED:: @ 8152BED
- checkflag FLAG_MET_RIVAL_IN_HOUSE_AFTER_LILYCOVE
- goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152C08
+ goto_if_set FLAG_MET_RIVAL_IN_HOUSE_AFTER_LILYCOVE, LittlerootTown_BrendansHouse_2F_EventScript_152C08
msgbox LittlerootTown_BrendansHouse_2F_Text_1738F2, 4
return
diff --git a/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc b/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc
index 10e4712bb..7608ba65d 100644
--- a/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc
+++ b/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc
@@ -86,9 +86,8 @@ LittlerootTown_ProfessorBirchsLab_EventScript_152D63:: @ 8152D63
lock
faceplayer
compare VAR_BIRCH_LAB_STATE, 3
- goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_152D90
- checkflag FLAG_BIRCH_AIDE_MET
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152D86
+ goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_152D90
+ goto_if_set FLAG_BIRCH_AIDE_MET, LittlerootTown_ProfessorBirchsLab_EventScript_152D86
msgbox LittlerootTown_ProfessorBirchsLab_Text_173B29, 4
setflag FLAG_BIRCH_AIDE_MET
release
@@ -107,8 +106,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_152D90:: @ 8152D90
LittlerootTown_ProfessorBirchsLab_EventScript_152D9A:: @ 8152D9A
lock
faceplayer
- checkflag FLAG_UNKNOWN_BIRCH_380
- goto_if 0, LittlerootTown_ProfessorBirchsLab_EventScript_1A037F
+ goto_if_unset FLAG_UNKNOWN_BIRCH_380, LittlerootTown_ProfessorBirchsLab_EventScript_1A037F
compare VAR_BIRCH_LAB_STATE, 5
goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152E7B
msgbox LittlerootTown_ProfessorBirchsLab_Text_1740B4, 4
@@ -125,9 +123,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_152DBA:: @ 8152DBA
waitmovement 0
checkplayergender
compare RESULT, 0
- call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_152E13
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152E13
compare RESULT, 1
- call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_152E40
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152E40
setvar VAR_BIRCH_LAB_STATE, 5
setflag FLAG_ADVENTURE_STARTED
setvar VAR_ROUTE102_ACCESSIBLE, 1
@@ -140,7 +138,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_152E13:: @ 8152E13
msgbox LittlerootTown_ProfessorBirchsLab_Text_1743D4, 4
giveitem_std ITEM_POKE_BALL, 5
compare RESULT, 0
- call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_152E85
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152E85
msgbox LittlerootTown_ProfessorBirchsLab_Text_17443D, 4
setvar RESULT, 0
return
@@ -149,7 +147,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_152E40:: @ 8152E40
msgbox LittlerootTown_ProfessorBirchsLab_Text_17453C, 4
giveitem_std ITEM_POKE_BALL, 5
compare RESULT, 0
- call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_152E8E
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152E8E
msgbox LittlerootTown_ProfessorBirchsLab_Text_17458C, 4
setvar RESULT, 1
return
@@ -189,9 +187,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_152EA3:: @ 8152EA3
faceplayer
checkplayergender
compare RESULT, 0
- call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_152EBE
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152EBE
compare RESULT, 1
- call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_152EC7
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152EC7
release
end
diff --git a/data/scripts/maps/MagmaHideout_B1F.inc b/data/scripts/maps/MagmaHideout_B1F.inc
index 6dbdc0461..a55d260ab 100644
--- a/data/scripts/maps/MagmaHideout_B1F.inc
+++ b/data/scripts/maps/MagmaHideout_B1F.inc
@@ -3,8 +3,7 @@ MagmaHideout_B1F_MapScripts:: @ 815F2A8
.byte 0
MagmaHideout_B1F_MapScript1_15F2AE:: @ 815F2AE
- checkflag FLAG_SYS_CTRL_OBJ_DELETE
- call_if 1, MagmaHideout_B1F_EventScript_15F2B8
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, MagmaHideout_B1F_EventScript_15F2B8
end
MagmaHideout_B1F_EventScript_15F2B8:: @ 815F2B8
diff --git a/data/scripts/maps/MauvilleCity.inc b/data/scripts/maps/MauvilleCity.inc
index 652a25f6f..03974ddae 100644
--- a/data/scripts/maps/MauvilleCity.inc
+++ b/data/scripts/maps/MauvilleCity.inc
@@ -8,8 +8,7 @@ MauvilleCity_MapScript1_14C038:: @ 814C038
setflag FLAG_SYS_TV_START
clearflag FLAG_MAUVILLE_GYM_BARRIERS_STATE
setvar VAR_MAUVILLE_GYM_STATE, 0
- checkflag FLAG_RECEIVED_TM24
- call_if 1, MauvilleCity_EventScript_14C053
+ call_if_set FLAG_RECEIVED_TM24, MauvilleCity_EventScript_14C053
end
MauvilleCity_EventScript_14C053:: @ 814C053
@@ -52,8 +51,7 @@ MauvilleCity_EventScript_14C099:: @ 814C099
MauvilleCity_EventScript_14C0A2:: @ 814C0A2
lock
faceplayer
- checkflag FLAG_TV_EXPLAINED
- goto_if_eq MauvilleCity_EventScript_14C0BA
+ goto_if_set FLAG_TV_EXPLAINED, MauvilleCity_EventScript_14C0BA
msgbox MauvilleCity_Text_16674A, 4
setflag FLAG_TV_EXPLAINED
release
@@ -67,8 +65,7 @@ MauvilleCity_EventScript_14C0BA:: @ 814C0BA
MauvilleCity_EventScript_14C0C4:: @ 814C0C4
lock
faceplayer
- checkflag FLAG_DECLINED_WALLY_BATTLE_MAUVILLE
- goto_if_eq MauvilleCity_EventScript_14C0E4
+ goto_if_set FLAG_DECLINED_WALLY_BATTLE_MAUVILLE, MauvilleCity_EventScript_14C0E4
msgbox MauvilleCity_Text_165B76, 4
closemessage
applymovement 7, MauvilleCity_Movement_1A083D
@@ -86,8 +83,7 @@ MauvilleCity_EventScript_14C0E4:: @ 814C0E4
MauvilleCity_EventScript_14C0F9:: @ 814C0F9
lockall
- checkflag FLAG_DECLINED_WALLY_BATTLE_MAUVILLE
- goto_if_eq MauvilleCity_EventScript_14C292
+ goto_if_set FLAG_DECLINED_WALLY_BATTLE_MAUVILLE, MauvilleCity_EventScript_14C292
applymovement 6, MauvilleCity_Movement_1A0843
waitmovement 0
msgbox MauvilleCity_Text_165BE3, 4
@@ -106,7 +102,7 @@ MauvilleCity_EventScript_14C0F9:: @ 814C0F9
MauvilleCity_EventScript_14C154:: @ 814C154
compare RESULT, YES
- call_if 1, MauvilleCity_EventScript_14C23C
+ call_if_eq MauvilleCity_EventScript_14C23C
compare RESULT, NO
goto_if_eq MauvilleCity_EventScript_14C285
closemessage
@@ -284,12 +280,10 @@ MauvilleCity_Movement_14C2E8:: @ 814C2E8
MauvilleCity_EventScript_14C2F2:: @ 814C2F2
lock
faceplayer
- checkflag FLAG_RECEIVED_TM24
- goto_if_eq MauvilleCity_EventScript_14C368
+ goto_if_set FLAG_RECEIVED_TM24, MauvilleCity_EventScript_14C368
compare VAR_NEW_MAUVILLE_STATE, 2
goto_if_eq MauvilleCity_EventScript_14C33C
- checkflag FLAG_RECEIVED_BASEMENT_KEY
- goto_if_eq MauvilleCity_EventScript_14C332
+ goto_if_set FLAG_RECEIVED_BASEMENT_KEY, MauvilleCity_EventScript_14C332
msgbox MauvilleCity_Text_1661C1, 4
giveitem_std ITEM_BASEMENT_KEY
setflag FLAG_RECEIVED_BASEMENT_KEY
diff --git a/data/scripts/maps/MauvilleCity_BikeShop.inc b/data/scripts/maps/MauvilleCity_BikeShop.inc
index 6bd7f0f4f..08f11d641 100644
--- a/data/scripts/maps/MauvilleCity_BikeShop.inc
+++ b/data/scripts/maps/MauvilleCity_BikeShop.inc
@@ -4,10 +4,8 @@ MauvilleCity_BikeShop_MapScripts:: @ 8156795
MauvilleCity_BikeShop_EventScript_156796:: @ 8156796
lock
faceplayer
- checkflag FLAG_RECEIVED_BIKE
- goto_if_eq MauvilleCity_BikeShop_EventScript_15686E
- checkflag FLAG_DECLINED_BIKE
- goto_if_eq MauvilleCity_BikeShop_EventScript_1567D1
+ goto_if_set FLAG_RECEIVED_BIKE, MauvilleCity_BikeShop_EventScript_15686E
+ goto_if_set FLAG_DECLINED_BIKE, MauvilleCity_BikeShop_EventScript_1567D1
msgbox MauvilleCity_BikeShop_Text_180F9F, 4
msgbox MauvilleCity_BikeShop_Text_181016, MSGBOX_YESNO
compare RESULT, YES
diff --git a/data/scripts/maps/MauvilleCity_GameCorner.inc b/data/scripts/maps/MauvilleCity_GameCorner.inc
index e938a1b4c..2b784aeb9 100644
--- a/data/scripts/maps/MauvilleCity_GameCorner.inc
+++ b/data/scripts/maps/MauvilleCity_GameCorner.inc
@@ -34,7 +34,7 @@ MauvilleCity_GameCorner_EventScript_156A60:: @ 8156A60
MauvilleCity_GameCorner_EventScript_156AAE:: @ 8156AAE
checkcoins VAR_TEMP_1
compare VAR_TEMP_1, 9950
- goto_if 4, MauvilleCity_GameCorner_EventScript_156B5C
+ goto_if_ge MauvilleCity_GameCorner_EventScript_156B5C
checkmoney 0x3e8, 0
compare RESULT, 0
goto_if_eq MauvilleCity_GameCorner_EventScript_156B3C
@@ -53,7 +53,7 @@ MauvilleCity_GameCorner_EventScript_156AAE:: @ 8156AAE
MauvilleCity_GameCorner_EventScript_156AF0:: @ 8156AF0
checkcoins VAR_TEMP_1
compare VAR_TEMP_1, 9500
- goto_if 4, MauvilleCity_GameCorner_EventScript_156B5C
+ goto_if_ge MauvilleCity_GameCorner_EventScript_156B5C
checkmoney 0x2710, 0
compare RESULT, 0
goto_if_eq MauvilleCity_GameCorner_EventScript_156B3C
@@ -155,7 +155,7 @@ MauvilleCity_GameCorner_EventScript_156C0C:: @ 8156C0C
MauvilleCity_GameCorner_EventScript_156C46:: @ 8156C46
checkcoins VAR_TEMP_2
compare VAR_TEMP_2, 1000
- goto_if 0, MauvilleCity_GameCorner_EventScript_156CF4
+ goto_if_lt MauvilleCity_GameCorner_EventScript_156CF4
bufferdecorationname 1, DECOR_TREECKO_DOLL
checkdecorspace DECOR_TREECKO_DOLL
compare RESULT, 0
@@ -171,7 +171,7 @@ MauvilleCity_GameCorner_EventScript_156C46:: @ 8156C46
MauvilleCity_GameCorner_EventScript_156C80:: @ 8156C80
checkcoins VAR_TEMP_2
compare VAR_TEMP_2, 1000
- goto_if 0, MauvilleCity_GameCorner_EventScript_156CF4
+ goto_if_lt MauvilleCity_GameCorner_EventScript_156CF4
bufferdecorationname 1, DECOR_TORCHIC_DOLL
checkdecorspace DECOR_TORCHIC_DOLL
compare RESULT, 0
@@ -187,7 +187,7 @@ MauvilleCity_GameCorner_EventScript_156C80:: @ 8156C80
MauvilleCity_GameCorner_EventScript_156CBA:: @ 8156CBA
checkcoins VAR_TEMP_2
compare VAR_TEMP_2, 1000
- goto_if 0, MauvilleCity_GameCorner_EventScript_156CF4
+ goto_if_lt MauvilleCity_GameCorner_EventScript_156CF4
bufferdecorationname 1, DECOR_MUDKIP_DOLL
checkdecorspace DECOR_MUDKIP_DOLL
compare RESULT, 0
@@ -290,7 +290,7 @@ MauvilleCity_GameCorner_EventScript_156DEC:: @ 8156DEC
MauvilleCity_GameCorner_EventScript_156E3C:: @ 8156E3C
checkcoins VAR_TEMP_2
compare VAR_TEMP_2, 1500
- goto_if 0, MauvilleCity_GameCorner_EventScript_156F5E
+ goto_if_lt MauvilleCity_GameCorner_EventScript_156F5E
checkitemspace ITEM_TM32, 1
compare RESULT, 0
goto_if_eq MauvilleCity_GameCorner_EventScript_156F6C
@@ -305,7 +305,7 @@ MauvilleCity_GameCorner_EventScript_156E3C:: @ 8156E3C
MauvilleCity_GameCorner_EventScript_156E76:: @ 8156E76
checkcoins VAR_TEMP_2
compare VAR_TEMP_2, 3500
- goto_if 0, MauvilleCity_GameCorner_EventScript_156F5E
+ goto_if_lt MauvilleCity_GameCorner_EventScript_156F5E
checkitemspace ITEM_TM29, 1
compare RESULT, 0
goto_if_eq MauvilleCity_GameCorner_EventScript_156F6C
@@ -320,7 +320,7 @@ MauvilleCity_GameCorner_EventScript_156E76:: @ 8156E76
MauvilleCity_GameCorner_EventScript_156EB0:: @ 8156EB0
checkcoins VAR_TEMP_2
compare VAR_TEMP_2, 4000
- goto_if 0, MauvilleCity_GameCorner_EventScript_156F5E
+ goto_if_lt MauvilleCity_GameCorner_EventScript_156F5E
checkitemspace ITEM_TM35, 1
compare RESULT, 0
goto_if_eq MauvilleCity_GameCorner_EventScript_156F6C
@@ -335,7 +335,7 @@ MauvilleCity_GameCorner_EventScript_156EB0:: @ 8156EB0
MauvilleCity_GameCorner_EventScript_156EEA:: @ 8156EEA
checkcoins VAR_TEMP_2
compare VAR_TEMP_2, 4000
- goto_if 0, MauvilleCity_GameCorner_EventScript_156F5E
+ goto_if_lt MauvilleCity_GameCorner_EventScript_156F5E
checkitemspace ITEM_TM24, 1
compare RESULT, 0
goto_if_eq MauvilleCity_GameCorner_EventScript_156F6C
@@ -350,7 +350,7 @@ MauvilleCity_GameCorner_EventScript_156EEA:: @ 8156EEA
MauvilleCity_GameCorner_EventScript_156F24:: @ 8156F24
checkcoins VAR_TEMP_2
compare VAR_TEMP_2, 4000
- goto_if 0, MauvilleCity_GameCorner_EventScript_156F5E
+ goto_if_lt MauvilleCity_GameCorner_EventScript_156F5E
checkitemspace ITEM_TM13, 1
compare RESULT, 0
goto_if_eq MauvilleCity_GameCorner_EventScript_156F6C
@@ -389,8 +389,7 @@ MauvilleCity_GameCorner_EventScript_156F8D:: @ 8156F8D
MauvilleCity_GameCorner_EventScript_156F96:: @ 8156F96
lock
faceplayer
- checkflag FLAG_RECEIVED_STARTER_DOLL
- goto_if_eq MauvilleCity_GameCorner_EventScript_157072
+ goto_if_set FLAG_RECEIVED_STARTER_DOLL, MauvilleCity_GameCorner_EventScript_157072
msgbox MauvilleCity_GameCorner_Text_181F3D, MSGBOX_YESNO
compare RESULT, NO
goto_if_eq MauvilleCity_GameCorner_EventScript_157068
@@ -460,11 +459,10 @@ MauvilleCity_GameCorner_EventScript_15707C:: @ 815707C
end
MauvilleCity_GameCorner_EventScript_15709C:: @ 815709C
- checkflag FLAG_RECEIVED_20_COINS
- goto_if_eq MauvilleCity_GameCorner_EventScript_1570CA
+ goto_if_set FLAG_RECEIVED_20_COINS, MauvilleCity_GameCorner_EventScript_1570CA
checkcoins VAR_TEMP_1
compare VAR_TEMP_1, 1
- goto_if 4, MauvilleCity_GameCorner_EventScript_1570CA
+ goto_if_ge MauvilleCity_GameCorner_EventScript_1570CA
setflag FLAG_RECEIVED_20_COINS
givecoins 20
msgbox MauvilleCity_GameCorner_Text_18208E, 4
diff --git a/data/scripts/maps/MauvilleCity_Gym.inc b/data/scripts/maps/MauvilleCity_Gym.inc
index fd9c673dc..1dc7fc0c7 100644
--- a/data/scripts/maps/MauvilleCity_Gym.inc
+++ b/data/scripts/maps/MauvilleCity_Gym.inc
@@ -3,8 +3,7 @@ MauvilleCity_Gym_MapScripts:: @ 8156450
.byte 0
MauvilleCity_Gym_MapScript1_156456:: @ 8156456
- checkflag FLAG_DEFEATED_MAUVILLE_GYM
- goto_if_eq MauvilleCity_Gym_EventScript_1565A7
+ goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_1565A7
switch VAR_MAUVILLE_GYM_STATE
case 0, MauvilleCity_Gym_EventScript_156491
case 1, MauvilleCity_Gym_EventScript_15657D
@@ -13,8 +12,7 @@ MauvilleCity_Gym_MapScript1_156456:: @ 8156456
end
MauvilleCity_Gym_EventScript_156491:: @ 8156491
- checkflag FLAG_MAUVILLE_GYM_BARRIERS_STATE
- goto_if_eq MauvilleCity_Gym_EventScript_15649B
+ goto_if_set FLAG_MAUVILLE_GYM_BARRIERS_STATE, MauvilleCity_Gym_EventScript_15649B
end
MauvilleCity_Gym_EventScript_15649B:: @ 815649B
@@ -69,8 +67,7 @@ MauvilleCity_Gym_EventScript_1565A7:: @ 81565A7
MauvilleCity_Gym_EventScript_1565AB:: @ 81565AB
trainerbattle 1, OPPONENT_WATTSON, 0, MauvilleCity_Gym_Text_180C32, MauvilleCity_Gym_Text_180D64, MauvilleCity_Gym_EventScript_1565DB
- checkflag FLAG_RECEIVED_TM34
- goto_if 0, MauvilleCity_Gym_EventScript_15661D
+ goto_if_unset FLAG_RECEIVED_TM34, MauvilleCity_Gym_EventScript_15661D
compare VAR_NEW_MAUVILLE_STATE, 2
goto_if_eq MauvilleCity_Gym_EventScript_156641
msgbox MauvilleCity_Gym_Text_180EDB, 4
@@ -86,7 +83,7 @@ MauvilleCity_Gym_EventScript_1565DB:: @ 81565DB
setflag FLAG_BADGE03_GET
addvar VAR_PETALBURG_GYM_STATE, 1
compare VAR_PETALBURG_GYM_STATE, 6
- call_if 1, MauvilleCity_Gym_EventScript_1A00FB
+ call_if_eq MauvilleCity_Gym_EventScript_1A00FB
setvar VAR_SPECIAL_8, 3
call MauvilleCity_Gym_EventScript_1A01C0
special MauvilleGymSpecial3
@@ -111,8 +108,7 @@ MauvilleCity_Gym_EventScript_156641:: @ 8156641
MauvilleCity_Gym_EventScript_15664B:: @ 815664B
lockall
- checkflag FLAG_DEFEATED_MAUVILLE_GYM
- goto_if_eq MauvilleCity_Gym_EventScript_1566DA
+ goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_1566DA
compare VAR_MAUVILLE_GYM_STATE, 1
goto_if_eq MauvilleCity_Gym_EventScript_1566DA
setvar VAR_MAUVILLE_GYM_STATE, 1
@@ -122,8 +118,7 @@ MauvilleCity_Gym_EventScript_15664B:: @ 815664B
MauvilleCity_Gym_EventScript_156670:: @ 8156670
lockall
- checkflag FLAG_DEFEATED_MAUVILLE_GYM
- goto_if_eq MauvilleCity_Gym_EventScript_1566DA
+ goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_1566DA
compare VAR_MAUVILLE_GYM_STATE, 2
goto_if_eq MauvilleCity_Gym_EventScript_1566DA
setvar VAR_MAUVILLE_GYM_STATE, 2
@@ -133,8 +128,7 @@ MauvilleCity_Gym_EventScript_156670:: @ 8156670
MauvilleCity_Gym_EventScript_156695:: @ 8156695
lockall
- checkflag FLAG_DEFEATED_MAUVILLE_GYM
- goto_if_eq MauvilleCity_Gym_EventScript_1566DA
+ goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_1566DA
compare VAR_MAUVILLE_GYM_STATE, 3
goto_if_eq MauvilleCity_Gym_EventScript_1566DA
setvar VAR_MAUVILLE_GYM_STATE, 3
@@ -147,10 +141,8 @@ MauvilleCity_Gym_EventScript_1566BA:: @ 81566BA
special MauvilleGymSpecial1
special DrawWholeMapView
playse SE_KI_GASYAN
- checkflag FLAG_MAUVILLE_GYM_BARRIERS_STATE
- goto_if_eq MauvilleCity_Gym_EventScript_1566E1
- checkflag FLAG_MAUVILLE_GYM_BARRIERS_STATE
- goto_if 0, MauvilleCity_Gym_EventScript_1566DC
+ goto_if_set FLAG_MAUVILLE_GYM_BARRIERS_STATE, MauvilleCity_Gym_EventScript_1566E1
+ goto_if_unset FLAG_MAUVILLE_GYM_BARRIERS_STATE, MauvilleCity_Gym_EventScript_1566DC
releaseall
end
@@ -191,8 +183,7 @@ MauvilleCity_Gym_EventScript_15672B:: @ 815672B
MauvilleCity_Gym_EventScript_156742:: @ 8156742
lock
faceplayer
- checkflag FLAG_DEFEATED_MAUVILLE_GYM
- goto_if_eq MauvilleCity_Gym_EventScript_156757
+ goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_156757
msgbox MauvilleCity_Gym_Text_180815, 4
release
end
@@ -204,15 +195,13 @@ MauvilleCity_Gym_EventScript_156757:: @ 8156757
MauvilleCity_Gym_EventScript_156761:: @ 8156761
lockall
- checkflag FLAG_BADGE03_GET
- goto_if_eq MauvilleCity_Gym_EventScript_156781
+ goto_if_set FLAG_BADGE03_GET, MauvilleCity_Gym_EventScript_156781
goto MauvilleCity_Gym_EventScript_15678B
end
MauvilleCity_Gym_EventScript_156771:: @ 8156771
lockall
- checkflag FLAG_BADGE03_GET
- goto_if_eq MauvilleCity_Gym_EventScript_156781
+ goto_if_set FLAG_BADGE03_GET, MauvilleCity_Gym_EventScript_156781
goto MauvilleCity_Gym_EventScript_15678B
end
diff --git a/data/scripts/maps/MauvilleCity_House1.inc b/data/scripts/maps/MauvilleCity_House1.inc
index 210288517..eb21a49e9 100644
--- a/data/scripts/maps/MauvilleCity_House1.inc
+++ b/data/scripts/maps/MauvilleCity_House1.inc
@@ -4,8 +4,7 @@ MauvilleCity_House1_MapScripts:: @ 81569FC
MauvilleCity_House1_EventScript_1569FD:: @ 81569FD
lock
faceplayer
- checkflag FLAG_RECEIVED_HM06
- goto_if_eq MauvilleCity_House1_EventScript_156A29
+ goto_if_set FLAG_RECEIVED_HM06, MauvilleCity_House1_EventScript_156A29
msgbox MauvilleCity_House1_Text_181B1A, 4
giveitem_std ITEM_HM06
setflag FLAG_RECEIVED_HM06
diff --git a/data/scripts/maps/MauvilleCity_House2.inc b/data/scripts/maps/MauvilleCity_House2.inc
index 9d3bce68a..f18d278b5 100644
--- a/data/scripts/maps/MauvilleCity_House2.inc
+++ b/data/scripts/maps/MauvilleCity_House2.inc
@@ -4,8 +4,7 @@ MauvilleCity_House2_MapScripts:: @ 81572BF
MauvilleCity_House2_EventScript_1572C0:: @ 81572C0
lock
faceplayer
- checkflag FLAG_RECEIVED_COIN_CASE
- goto_if_eq MauvilleCity_House2_EventScript_15733D
+ goto_if_set FLAG_RECEIVED_COIN_CASE, MauvilleCity_House2_EventScript_15733D
msgbox MauvilleCity_House2_Text_18244E, 4
checkitem ITEM_HARBOR_MAIL, 1
compare RESULT, 1
diff --git a/data/scripts/maps/MeteorFalls_1F_1R.inc b/data/scripts/maps/MeteorFalls_1F_1R.inc
index bf51408b8..272d7ed6e 100644
--- a/data/scripts/maps/MeteorFalls_1F_1R.inc
+++ b/data/scripts/maps/MeteorFalls_1F_1R.inc
@@ -215,8 +215,7 @@ MeteorFalls_1F_1R_Movement_15C64F:: @ 815C64F
MeteorFalls_1F_1R_EventScript_15C656:: @ 815C656
lock
faceplayer
- checkflag FLAG_MET_PROF_COSMO
- goto_if_eq MeteorFalls_1F_1R_EventScript_15C66E
+ goto_if_set FLAG_MET_PROF_COSMO, MeteorFalls_1F_1R_EventScript_15C66E
setflag FLAG_MET_PROF_COSMO
msgbox MeteorFalls_1F_1R_Text_1937EB, 4
release
diff --git a/data/scripts/maps/MossdeepCity.inc b/data/scripts/maps/MossdeepCity.inc
index 3d1baf143..7ec338927 100644
--- a/data/scripts/maps/MossdeepCity.inc
+++ b/data/scripts/maps/MossdeepCity.inc
@@ -7,8 +7,7 @@ MossdeepCity_MapScript1_14CF98:: @ 814CF98
clearflag FLAG_MOSSDEEP_GYM_SWITCH_2
clearflag FLAG_MOSSDEEP_GYM_SWITCH_3
clearflag FLAG_MOSSDEEP_GYM_SWITCH_4
- checkflag FLAG_SYS_WEATHER_CTRL
- call_if 1, MossdeepCity_EventScript_1A02C1
+ call_if_set FLAG_SYS_WEATHER_CTRL, MossdeepCity_EventScript_1A02C1
end
MossdeepCity_EventScript_14CFAE:: @ 814CFAE
@@ -68,8 +67,7 @@ MossdeepCity_EventScript_14D011:: @ 814D011
MossdeepCity_EventScript_14D027:: @ 814D027
lock
faceplayer
- checkflag FLAG_RECEIVED_KINGS_ROCK
- goto_if_eq MossdeepCity_EventScript_14D069
+ goto_if_set FLAG_RECEIVED_KINGS_ROCK, MossdeepCity_EventScript_14D069
msgbox MossdeepCity_Text_1690A9, MSGBOX_YESNO
compare RESULT, NO
goto_if_eq MossdeepCity_EventScript_14D073
diff --git a/data/scripts/maps/MossdeepCity_GameCorner_1F.inc b/data/scripts/maps/MossdeepCity_GameCorner_1F.inc
index eac7f4adb..364778613 100644
--- a/data/scripts/maps/MossdeepCity_GameCorner_1F.inc
+++ b/data/scripts/maps/MossdeepCity_GameCorner_1F.inc
@@ -7,7 +7,7 @@ MossdeepCity_GameCorner_1F_MapScripts:: @ 815AC52
MossdeepCity_GameCorner_1F_MapScript1_15AC62:: @ 815AC62
special ValidateEReaderTrainer
compare RESULT, 1
- call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AC71
+ call_if_eq MossdeepCity_GameCorner_1F_EventScript_15AC71
end
MossdeepCity_GameCorner_1F_EventScript_15AC71:: @ 815AC71
@@ -18,9 +18,9 @@ MossdeepCity_GameCorner_1F_EventScript_15AC71:: @ 815AC71
MossdeepCity_GameCorner_1F_MapScript1_15AC84:: @ 815AC84
special ValidateEReaderTrainer
compare RESULT, 0
- call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AC9E
+ call_if_eq MossdeepCity_GameCorner_1F_EventScript_15AC9E
compare VAR_GAME_CORNER_STATE, 0
- call_if 5, MossdeepCity_GameCorner_1F_EventScript_15ACAF
+ call_if_ne MossdeepCity_GameCorner_1F_EventScript_15ACAF
end
MossdeepCity_GameCorner_1F_EventScript_15AC9E:: @ 815AC9E
@@ -50,11 +50,11 @@ MossdeepCity_GameCorner_1F_EventScript_15ACD5:: @ 815ACD5
applymovement 255, MossdeepCity_GameCorner_1F_Movement_1A0841
waitmovement 0
compare VAR_GAME_CORNER_STATE, 1
- call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AD22
+ call_if_eq MossdeepCity_GameCorner_1F_EventScript_15AD22
compare VAR_GAME_CORNER_STATE, 2
- call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AD2B
+ call_if_eq MossdeepCity_GameCorner_1F_EventScript_15AD2B
compare VAR_GAME_CORNER_STATE, 3
- call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AD34
+ call_if_eq MossdeepCity_GameCorner_1F_EventScript_15AD34
special LoadPlayerParty
setvar VAR_GAME_CORNER_STATE, 0
releaseall
@@ -101,7 +101,7 @@ MossdeepCity_GameCorner_1F_EventScript_15AD59:: @ 815AD59
goto_if_eq MossdeepCity_GameCorner_1F_EventScript_15ADE8
msgbox MossdeepCity_GameCorner_1F_Text_18E741, MSGBOX_YESNO
compare RESULT, NO
- call_if 1, MossdeepCity_GameCorner_1F_EventScript_15ADE8
+ call_if_eq MossdeepCity_GameCorner_1F_EventScript_15ADE8
special LoadPlayerParty
call S_DoSaveDialog
compare RESULT, 0
@@ -112,11 +112,11 @@ MossdeepCity_GameCorner_1F_EventScript_15AD59:: @ 815AD59
msgbox MossdeepCity_GameCorner_1F_Text_18E777, 4
closemessage
compare FACING, 2
- call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AE04
+ call_if_eq MossdeepCity_GameCorner_1F_EventScript_15AE04
compare FACING, 4
- call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AE16
+ call_if_eq MossdeepCity_GameCorner_1F_EventScript_15AE16
compare FACING, 3
- call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AE28
+ call_if_eq MossdeepCity_GameCorner_1F_EventScript_15AE28
warp MAP_MOSSDEEP_CITY_GAME_CORNER_B1F, 255, 3, 1
waitstate
release
diff --git a/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc b/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc
index 9f20b6310..f62693756 100644
--- a/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc
+++ b/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc
@@ -23,11 +23,11 @@ MossdeepCity_GameCorner_B1F_EventScript_15AE6E:: @ 815AE6E
special StartSpecialBattle
waitstate
compare RESULT, 3
- call_if 1, MossdeepCity_GameCorner_B1F_EventScript_15AED5
+ call_if_eq MossdeepCity_GameCorner_B1F_EventScript_15AED5
compare RESULT, 1
- call_if 1, MossdeepCity_GameCorner_B1F_EventScript_15AEE3
+ call_if_eq MossdeepCity_GameCorner_B1F_EventScript_15AEE3
compare RESULT, 2
- call_if 1, MossdeepCity_GameCorner_B1F_EventScript_15AEEE
+ call_if_eq MossdeepCity_GameCorner_B1F_EventScript_15AEEE
closemessage
special ScrSpecial_HealPlayerParty
applymovement 255, MossdeepCity_GameCorner_B1F_Movement_15AEFF
diff --git a/data/scripts/maps/MossdeepCity_Gym.inc b/data/scripts/maps/MossdeepCity_Gym.inc
index bc22ce3fe..341962431 100644
--- a/data/scripts/maps/MossdeepCity_Gym.inc
+++ b/data/scripts/maps/MossdeepCity_Gym.inc
@@ -3,26 +3,22 @@ MossdeepCity_Gym_MapScripts:: @ 815A4D3
.byte 0
MossdeepCity_Gym_MapScript1_15A4D9:: @ 815A4D9
- checkflag FLAG_MOSSDEEP_GYM_SWITCH_1
- goto_if_eq MossdeepCity_Gym_EventScript_15A510
+ goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_1, MossdeepCity_Gym_EventScript_15A510
goto MossdeepCity_Gym_EventScript_15A4E8
end
MossdeepCity_Gym_EventScript_15A4E8:: @ 815A4E8
- checkflag FLAG_MOSSDEEP_GYM_SWITCH_2
- goto_if_eq MossdeepCity_Gym_EventScript_15A528
+ goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_2, MossdeepCity_Gym_EventScript_15A528
goto MossdeepCity_Gym_EventScript_15A4F7
end
MossdeepCity_Gym_EventScript_15A4F7:: @ 815A4F7
- checkflag FLAG_MOSSDEEP_GYM_SWITCH_3
- goto_if_eq MossdeepCity_Gym_EventScript_15A540
+ goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_3, MossdeepCity_Gym_EventScript_15A540
goto MossdeepCity_Gym_EventScript_15A506
end
MossdeepCity_Gym_EventScript_15A506:: @ 815A506
- checkflag FLAG_MOSSDEEP_GYM_SWITCH_4
- goto_if_eq MossdeepCity_Gym_EventScript_15A558
+ goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_4, MossdeepCity_Gym_EventScript_15A558
end
MossdeepCity_Gym_EventScript_15A510:: @ 815A510
@@ -50,8 +46,7 @@ MossdeepCity_Gym_EventScript_15A558:: @ 815A558
MossdeepCity_Gym_EventScript_15A56B:: @ 815A56B
trainerbattle 8, OPPONENT_TATE_AND_LIZA, 0, MossdeepCity_Gym_Text_18CF02, MossdeepCity_Gym_Text_18D077, MossdeepCity_Gym_Text_18D324, MossdeepCity_Gym_EventScript_15A594
- checkflag FLAG_RECEIVED_TM04
- goto_if 0, MossdeepCity_Gym_EventScript_15A5C6
+ goto_if_unset FLAG_RECEIVED_TM04, MossdeepCity_Gym_EventScript_15A5C6
msgbox MossdeepCity_Gym_Text_18D273, 4
release
end
@@ -82,8 +77,7 @@ MossdeepCity_Gym_EventScript_15A5C6:: @ 815A5C6
MossdeepCity_Gym_EventScript_15A5EA:: @ 815A5EA
lockall
- checkflag FLAG_MOSSDEEP_GYM_SWITCH_1
- goto_if_eq MossdeepCity_Gym_EventScript_15A621
+ goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_1, MossdeepCity_Gym_EventScript_15A621
setflag FLAG_MOSSDEEP_GYM_SWITCH_1
applymovement 255, MossdeepCity_Gym_Movement_15A7F7
waitmovement 0
@@ -109,8 +103,7 @@ MossdeepCity_Gym_EventScript_15A621:: @ 815A621
MossdeepCity_Gym_EventScript_15A646:: @ 815A646
lockall
- checkflag FLAG_MOSSDEEP_GYM_SWITCH_2
- goto_if_eq MossdeepCity_Gym_EventScript_15A675
+ goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_2, MossdeepCity_Gym_EventScript_15A675
setflag FLAG_MOSSDEEP_GYM_SWITCH_2
applymovement 255, MossdeepCity_Gym_Movement_15A7F7
waitmovement 0
@@ -130,8 +123,7 @@ MossdeepCity_Gym_EventScript_15A675:: @ 815A675
MossdeepCity_Gym_EventScript_15A69A:: @ 815A69A
lockall
- checkflag FLAG_MOSSDEEP_GYM_SWITCH_3
- goto_if_eq MossdeepCity_Gym_EventScript_15A6C9
+ goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_3, MossdeepCity_Gym_EventScript_15A6C9
setflag FLAG_MOSSDEEP_GYM_SWITCH_3
applymovement 255, MossdeepCity_Gym_Movement_15A7F7
waitmovement 0
@@ -151,8 +143,7 @@ MossdeepCity_Gym_EventScript_15A6C9:: @ 815A6C9
MossdeepCity_Gym_EventScript_15A6EE:: @ 815A6EE
lockall
- checkflag FLAG_MOSSDEEP_GYM_SWITCH_4
- goto_if_eq MossdeepCity_Gym_EventScript_15A71D
+ goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_4, MossdeepCity_Gym_EventScript_15A71D
setflag FLAG_MOSSDEEP_GYM_SWITCH_4
applymovement 255, MossdeepCity_Gym_Movement_15A7F7
waitmovement 0
@@ -210,8 +201,7 @@ MossdeepCity_Gym_EventScript_15A7C1:: @ 815A7C1
MossdeepCity_Gym_EventScript_15A7D8:: @ 815A7D8
lock
faceplayer
- checkflag FLAG_DEFEATED_MOSSDEEP_GYM
- goto_if_eq MossdeepCity_Gym_EventScript_15A7ED
+ goto_if_set FLAG_DEFEATED_MOSSDEEP_GYM, MossdeepCity_Gym_EventScript_15A7ED
msgbox MossdeepCity_Gym_Text_18C7E3, 4
release
end
@@ -228,15 +218,13 @@ MossdeepCity_Gym_Movement_15A7F7:: @ 815A7F7
MossdeepCity_Gym_EventScript_15A7FA:: @ 815A7FA
lockall
- checkflag FLAG_BADGE07_GET
- goto_if_eq MossdeepCity_Gym_EventScript_15A81A
+ goto_if_set FLAG_BADGE07_GET, MossdeepCity_Gym_EventScript_15A81A
goto MossdeepCity_Gym_EventScript_15A824
end
MossdeepCity_Gym_EventScript_15A80A:: @ 815A80A
lockall
- checkflag FLAG_BADGE07_GET
- goto_if_eq MossdeepCity_Gym_EventScript_15A81A
+ goto_if_set FLAG_BADGE07_GET, MossdeepCity_Gym_EventScript_15A81A
goto MossdeepCity_Gym_EventScript_15A824
end
diff --git a/data/scripts/maps/MossdeepCity_House2.inc b/data/scripts/maps/MossdeepCity_House2.inc
index 1da204ff0..415dbfc33 100644
--- a/data/scripts/maps/MossdeepCity_House2.inc
+++ b/data/scripts/maps/MossdeepCity_House2.inc
@@ -20,9 +20,9 @@ MossdeepCity_House2_EventScript_15A87B:: @ 815A87B
setflag FLAG_WINGULL_DELIVERED_MAIL
clearflag FLAG_HIDE_WINGULL_FORTREE_HOUSE
compare FACING, 2
- call_if 1, MossdeepCity_House2_EventScript_15A8AE
+ call_if_eq MossdeepCity_House2_EventScript_15A8AE
compare FACING, 3
- call_if 1, MossdeepCity_House2_EventScript_15A8B9
+ call_if_eq MossdeepCity_House2_EventScript_15A8B9
removeobject 3
release
end
diff --git a/data/scripts/maps/MossdeepCity_House3.inc b/data/scripts/maps/MossdeepCity_House3.inc
index fb44685d8..4c4d6cbdd 100644
--- a/data/scripts/maps/MossdeepCity_House3.inc
+++ b/data/scripts/maps/MossdeepCity_House3.inc
@@ -4,8 +4,7 @@ MossdeepCity_House3_MapScripts:: @ 815A971
MossdeepCity_House3_EventScript_15A972:: @ 815A972
lock
faceplayer
- checkflag FLAG_RECEIVED_SUPER_ROD
- goto_if_eq MossdeepCity_House3_EventScript_15A9B1
+ goto_if_set FLAG_RECEIVED_SUPER_ROD, MossdeepCity_House3_EventScript_15A9B1
msgbox MossdeepCity_House3_Text_18D909, MSGBOX_YESNO
compare RESULT, NO
goto_if_eq MossdeepCity_House3_EventScript_15A9BB
diff --git a/data/scripts/maps/MossdeepCity_House4.inc b/data/scripts/maps/MossdeepCity_House4.inc
index 856ee1287..5fb0f97ff 100644
--- a/data/scripts/maps/MossdeepCity_House4.inc
+++ b/data/scripts/maps/MossdeepCity_House4.inc
@@ -4,8 +4,7 @@ MossdeepCity_House4_MapScripts:: @ 815AB30
MossdeepCity_House4_EventScript_15AB31:: @ 815AB31
lock
faceplayer
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if_eq MossdeepCity_House4_EventScript_15AB46
+ goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_House4_EventScript_15AB46
msgbox MossdeepCity_House4_Text_18E0E3, 4
release
end
diff --git a/data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc b/data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc
index 884124567..83b859c26 100644
--- a/data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc
+++ b/data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc
@@ -8,9 +8,9 @@ MossdeepCity_SpaceCenter_1F_EventScript_15AB8B:: @ 815AB8B
specialvar RESULT, GetWeekCount
buffernumberstring 0, RESULT
compare RESULT, 0
- call_if 1, MossdeepCity_SpaceCenter_1F_EventScript_15ABBA
+ call_if_eq MossdeepCity_SpaceCenter_1F_EventScript_15ABBA
compare RESULT, 1
- call_if 4, MossdeepCity_SpaceCenter_1F_EventScript_15ABC3
+ call_if_ge MossdeepCity_SpaceCenter_1F_EventScript_15ABC3
closemessage
applymovement LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_1A083D
waitmovement 0
@@ -32,8 +32,7 @@ MossdeepCity_SpaceCenter_1F_EventScript_15ABCC:: @ 815ABCC
MossdeepCity_SpaceCenter_1F_EventScript_15ABD5:: @ 815ABD5
lock
faceplayer
- checkflag FLAG_RECEIVED_SUN_STONE_MOSSDEEP
- goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_15AC0C
+ goto_if_set FLAG_RECEIVED_SUN_STONE_MOSSDEEP, MossdeepCity_SpaceCenter_1F_EventScript_15AC0C
msgbox MossdeepCity_SpaceCenter_1F_Text_18E335, 4
giveitem_std ITEM_SUN_STONE
compare RESULT, 0
diff --git a/data/scripts/maps/MossdeepCity_StevensHouse.inc b/data/scripts/maps/MossdeepCity_StevensHouse.inc
index ce2f2aad5..d9ad70f70 100644
--- a/data/scripts/maps/MossdeepCity_StevensHouse.inc
+++ b/data/scripts/maps/MossdeepCity_StevensHouse.inc
@@ -5,8 +5,7 @@ MossdeepCity_StevensHouse_MapScripts:: @ 815A9C5
.byte 0
MossdeepCity_StevensHouse_MapScript1_15A9D5:: @ 815A9D5
- checkflag FLAG_SYS_GAME_CLEAR
- call_if 0, MossdeepCity_StevensHouse_EventScript_15A9DF
+ call_if_unset FLAG_SYS_GAME_CLEAR, MossdeepCity_StevensHouse_EventScript_15A9DF
end
MossdeepCity_StevensHouse_EventScript_15A9DF:: @ 815A9DF
@@ -15,7 +14,7 @@ MossdeepCity_StevensHouse_EventScript_15A9DF:: @ 815A9DF
MossdeepCity_StevensHouse_MapScript1_15A9E9:: @ 815A9E9
compare VAR_STEVENS_HOUSE_STATE, 1
- call_if 1, MossdeepCity_StevensHouse_EventScript_15A9F5
+ call_if_eq MossdeepCity_StevensHouse_EventScript_15A9F5
end
MossdeepCity_StevensHouse_EventScript_15A9F5:: @ 815A9F5
@@ -87,7 +86,7 @@ MossdeepCity_StevensHouse_EventScript_15AA7C:: @ 815AA7C
bufferspeciesname 1, SPECIES_BELDUM
msgbox MossdeepCity_StevensHouse_Text_1A1102, MSGBOX_YESNO
compare RESULT, YES
- call_if 1, MossdeepCity_StevensHouse_EventScript_1A0678
+ call_if_eq MossdeepCity_StevensHouse_EventScript_1A0678
setflag FLAG_HIDE_BELDUM_BALL_STEVENS_HOUSE
setflag FLAG_RECEIVED_BELDUM
releaseall
@@ -113,8 +112,7 @@ MossdeepCity_StevensHouse_EventScript_15AAF9:: @ 815AAF9
MossdeepCity_StevensHouse_EventScript_15AB02:: @ 815AB02
lockall
- checkflag FLAG_OMIT_DIVE_FROM_STEVEN_LETTER
- goto_if_eq MossdeepCity_StevensHouse_EventScript_15AB16
+ goto_if_set FLAG_OMIT_DIVE_FROM_STEVEN_LETTER, MossdeepCity_StevensHouse_EventScript_15AB16
msgbox MossdeepCity_StevensHouse_Text_18DF1A, 4
releaseall
end
diff --git a/data/scripts/maps/MtChimney.inc b/data/scripts/maps/MtChimney.inc
index be4799a45..ac7c00013 100644
--- a/data/scripts/maps/MtChimney.inc
+++ b/data/scripts/maps/MtChimney.inc
@@ -26,7 +26,7 @@ MtChimney_EventScript_15CF95:: @ 815CF95
msgbox MtChimney_Text_1957A9, 4
checkitemspace ITEM_LAVA_COOKIE, 1
compare RESULT, 1
- call_if 1, MtChimney_EventScript_15D000
+ call_if_eq MtChimney_EventScript_15D000
giveitem_std ITEM_LAVA_COOKIE
compare RESULT, 0
goto_if_eq MtChimney_EventScript_15CFF3
@@ -406,10 +406,8 @@ MtChimney_EventScript_15D174:: @ 815D174
MtChimney_EventScript_15D17D:: @ 815D17D
lockall
- checkflag FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY
- goto_if 0, MtChimney_EventScript_15D1D0
- checkflag FLAG_RECEIVED_METEORITE
- goto_if_eq MtChimney_EventScript_15D1C6
+ goto_if_unset FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, MtChimney_EventScript_15D1D0
+ goto_if_set FLAG_RECEIVED_METEORITE, MtChimney_EventScript_15D1C6
msgbox MtChimney_Text_195870, MSGBOX_YESNO
compare RESULT, NO
goto_if_eq MtChimney_EventScript_15D1BC
diff --git a/data/scripts/maps/MtChimney_CableCarStation.inc b/data/scripts/maps/MtChimney_CableCarStation.inc
index aefc68bda..1f98778d6 100644
--- a/data/scripts/maps/MtChimney_CableCarStation.inc
+++ b/data/scripts/maps/MtChimney_CableCarStation.inc
@@ -5,7 +5,7 @@ MtChimney_CableCarStation_MapScripts:: @ 815C0FA
MtChimney_CableCarStation_MapScript1_15C105:: @ 815C105
compare VAR_CABLE_CAR_STATION_STATE, 1
- call_if 1, MtChimney_CableCarStation_EventScript_15C111
+ call_if_eq MtChimney_CableCarStation_EventScript_15C111
end
MtChimney_CableCarStation_EventScript_15C111:: @ 815C111
@@ -48,7 +48,7 @@ MtChimney_CableCarStation_EventScript_15C16C:: @ 815C16C
setvar VAR_CABLE_CAR_STATION_STATE, 2
incrementgamestat GAME_STAT_RODE_CABLE_CAR
special CableCarWarp
- special sub_8123218
+ special CableCar
waitstate
release
end
diff --git a/data/scripts/maps/MtPyre_1F.inc b/data/scripts/maps/MtPyre_1F.inc
index 7073000d5..f34c31da0 100644
--- a/data/scripts/maps/MtPyre_1F.inc
+++ b/data/scripts/maps/MtPyre_1F.inc
@@ -4,8 +4,7 @@ MtPyre_1F_MapScripts:: @ 815D322
MtPyre_1F_EventScript_15D323:: @ 815D323
lock
faceplayer
- checkflag FLAG_RECEIVED_CLEANSE_TAG
- goto_if_eq MtPyre_1F_EventScript_15D352
+ goto_if_set FLAG_RECEIVED_CLEANSE_TAG, MtPyre_1F_EventScript_15D352
msgbox MtPyre_1F_Text_196151, 4
giveitem_std ITEM_CLEANSE_TAG
compare RESULT, 0
diff --git a/data/scripts/maps/MtPyre_Exterior.inc b/data/scripts/maps/MtPyre_Exterior.inc
index ec5864df5..f8b4141d7 100644
--- a/data/scripts/maps/MtPyre_Exterior.inc
+++ b/data/scripts/maps/MtPyre_Exterior.inc
@@ -9,7 +9,7 @@ MtPyre_Exterior_MapScript1_15D48C:: @ 815D48C
MtPyre_Exterior_EventScript_15D492:: @ 815D492
getplayerxy VAR_TEMP_0, VAR_TEMP_1
compare VAR_TEMP_1, 12
- goto_if 0, MtPyre_Exterior_EventScript_15D4A3
+ goto_if_lt MtPyre_Exterior_EventScript_15D4A3
return
MtPyre_Exterior_EventScript_15D4A3:: @ 815D4A3
diff --git a/data/scripts/maps/MtPyre_Summit.inc b/data/scripts/maps/MtPyre_Summit.inc
index 56ef5db79..d37100938 100644
--- a/data/scripts/maps/MtPyre_Summit.inc
+++ b/data/scripts/maps/MtPyre_Summit.inc
@@ -31,11 +31,11 @@ MtPyre_Summit_EventScript_15D4E1:: @ 815D4E1
waitmovement 0
delay 50
compare VAR_SPECIAL_8, 0
- call_if 1, MtPyre_Summit_EventScript_15D593
+ call_if_eq MtPyre_Summit_EventScript_15D593
compare VAR_SPECIAL_8, 1
- call_if 1, MtPyre_Summit_EventScript_15D59E
+ call_if_eq MtPyre_Summit_EventScript_15D59E
compare VAR_SPECIAL_8, 2
- call_if 1, MtPyre_Summit_EventScript_15D59F
+ call_if_eq MtPyre_Summit_EventScript_15D59F
.ifdef SAPPHIRE
msgbox UnknownString_81B52B0, 4
.else
@@ -53,11 +53,11 @@ MtPyre_Summit_EventScript_15D4E1:: @ 815D4E1
delay 20
call MtPyre_Summit_EventScript_15D57A
compare VAR_SPECIAL_8, 0
- call_if 1, MtPyre_Summit_EventScript_15D5AA
+ call_if_eq MtPyre_Summit_EventScript_15D5AA
compare VAR_SPECIAL_8, 1
- call_if 1, MtPyre_Summit_EventScript_15D5BF
+ call_if_eq MtPyre_Summit_EventScript_15D5BF
compare VAR_SPECIAL_8, 2
- call_if 1, MtPyre_Summit_EventScript_15D5CA
+ call_if_eq MtPyre_Summit_EventScript_15D5CA
.ifdef SAPPHIRE
msgbox UnknownString_81B53AB, 4
.else
@@ -144,9 +144,9 @@ MtPyre_Summit_EventScript_15D5EF:: @ 815D5EF
msgbox MtPyre_Summit_Text_1B64B3, MSGBOX_YESNO
.endif
compare RESULT, YES
- call_if 1, MtPyre_Summit_EventScript_15D611
+ call_if_eq MtPyre_Summit_EventScript_15D611
compare RESULT, NO
- call_if 1, MtPyre_Summit_EventScript_15D61A
+ call_if_eq MtPyre_Summit_EventScript_15D61A
release
end
@@ -169,12 +169,9 @@ MtPyre_Summit_EventScript_15D61A:: @ 815D61A
MtPyre_Summit_EventScript_15D623:: @ 815D623
lock
faceplayer
- checkflag FLAG_RETURNED_RED_OR_BLUE_ORB
- goto_if_eq MtPyre_Summit_EventScript_15D6C4
- checkflag FLAG_LEGENDARY_BATTLE_COMPLETED
- goto_if_eq MtPyre_Summit_EventScript_15D64A
- checkflag FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN
- goto_if_eq MtPyre_Summit_EventScript_15D6BA
+ goto_if_set FLAG_RETURNED_RED_OR_BLUE_ORB, MtPyre_Summit_EventScript_15D6C4
+ goto_if_set FLAG_LEGENDARY_BATTLE_COMPLETED, MtPyre_Summit_EventScript_15D64A
+ goto_if_set FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN, MtPyre_Summit_EventScript_15D6BA
.ifdef SAPPHIRE
msgbox UnknownString_81B54BE, 4
.else
@@ -269,11 +266,11 @@ MtPyre_Summit_EventScript_15D6F2:: @ 815D6F2
waitmovement 0
delay 50
compare VAR_SPECIAL_8, 0
- call_if 1, MtPyre_Summit_EventScript_15D75E
+ call_if_eq MtPyre_Summit_EventScript_15D75E
compare VAR_SPECIAL_8, 1
- call_if 1, MtPyre_Summit_EventScript_15D769
+ call_if_eq MtPyre_Summit_EventScript_15D769
compare VAR_SPECIAL_8, 2
- call_if 1, MtPyre_Summit_EventScript_15D774
+ call_if_eq MtPyre_Summit_EventScript_15D774
.ifdef SAPPHIRE
msgbox UnknownString_81B5BFC, 4
.else
@@ -281,11 +278,11 @@ MtPyre_Summit_EventScript_15D6F2:: @ 815D6F2
.endif
closemessage
compare VAR_SPECIAL_8, 0
- call_if 1, MtPyre_Summit_EventScript_15D77F
+ call_if_eq MtPyre_Summit_EventScript_15D77F
compare VAR_SPECIAL_8, 1
- call_if 1, MtPyre_Summit_EventScript_15D78A
+ call_if_eq MtPyre_Summit_EventScript_15D78A
compare VAR_SPECIAL_8, 2
- call_if 1, MtPyre_Summit_EventScript_15D795
+ call_if_eq MtPyre_Summit_EventScript_15D795
removeobject 2
setvar VAR_MT_PYRE_STATE, 3
releaseall
diff --git a/data/scripts/maps/NewMauville_Entrance.inc b/data/scripts/maps/NewMauville_Entrance.inc
index 2a4d8afce..1c8bdfb3f 100644
--- a/data/scripts/maps/NewMauville_Entrance.inc
+++ b/data/scripts/maps/NewMauville_Entrance.inc
@@ -5,7 +5,7 @@ NewMauville_Entrance_MapScripts:: @ 815E48A
NewMauville_Entrance_MapScript1_15E495:: @ 815E495
compare VAR_NEW_MAUVILLE_STATE, 0
- call_if 1, NewMauville_Entrance_EventScript_15E4A1
+ call_if_eq NewMauville_Entrance_EventScript_15E4A1
end
NewMauville_Entrance_EventScript_15E4A1:: @ 815E4A1
diff --git a/data/scripts/maps/NewMauville_Inside.inc b/data/scripts/maps/NewMauville_Inside.inc
index ae33d7978..e045cda5d 100644
--- a/data/scripts/maps/NewMauville_Inside.inc
+++ b/data/scripts/maps/NewMauville_Inside.inc
@@ -6,11 +6,10 @@ NewMauville_Inside_MapScripts:: @ 815E55F
NewMauville_Inside_MapScript1_15E56F:: @ 815E56F
compare VAR_TEMP_1, 1
- call_if 1, NewMauville_Inside_EventScript_15E5DA
+ call_if_eq NewMauville_Inside_EventScript_15E5DA
compare VAR_TEMP_2, 1
- call_if 1, NewMauville_Inside_EventScript_15E728
- checkflag FLAG_SYS_CTRL_OBJ_DELETE
- call_if 1, NewMauville_Inside_EventScript_15E58F
+ call_if_eq NewMauville_Inside_EventScript_15E728
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, NewMauville_Inside_EventScript_15E58F
end
NewMauville_Inside_EventScript_15E58F:: @ 815E58F
@@ -24,7 +23,7 @@ NewMauville_Inside_MapScript1_15E593:: @ 815E593
NewMauville_Inside_MapScript1_15E59E:: @ 815E59E
compare VAR_NEW_MAUVILLE_STATE, 2
- call_if 1, NewMauville_Inside_EventScript_15E88B
+ call_if_eq NewMauville_Inside_EventScript_15E88B
end
NewMauville_Inside_EventScript_15E5AA:: @ 815E5AA
diff --git a/data/scripts/maps/OldaleTown.inc b/data/scripts/maps/OldaleTown.inc
index a2d2616d3..9b1c9dd80 100644
--- a/data/scripts/maps/OldaleTown.inc
+++ b/data/scripts/maps/OldaleTown.inc
@@ -5,12 +5,9 @@ OldaleTown_MapScripts:: @ 814DD62
OldaleTown_MapScript1_14DD68:: @ 814DD68
call OldaleTown_EventScript_1A014E
setflag FLAG_VISITED_OLDALE_TOWN
- checkflag FLAG_ADVENTURE_STARTED
- call_if 0, OldaleTown_EventScript_14DD92
- checkflag FLAG_RECEIVED_POTION_OLDALE
- call_if 0, OldaleTown_EventScript_14DD9E
- checkflag FLAG_ADVENTURE_STARTED
- call_if 1, OldaleTown_EventScript_14DD8C
+ call_if_unset FLAG_ADVENTURE_STARTED, OldaleTown_EventScript_14DD92
+ call_if_unset FLAG_RECEIVED_POTION_OLDALE, OldaleTown_EventScript_14DD9E
+ call_if_set FLAG_ADVENTURE_STARTED, OldaleTown_EventScript_14DD8C
end
OldaleTown_EventScript_14DD8C:: @ 814DD8C
@@ -38,10 +35,8 @@ OldaleTown_EventScript_14DDB3:: @ 814DDB3
OldaleTown_EventScript_14DDBC:: @ 814DDBC
lock
faceplayer
- checkflag FLAG_RECEIVED_POTION_OLDALE
- goto_if_eq OldaleTown_EventScript_14DE79
- checkflag FLAG_TEMP_1
- goto_if_eq OldaleTown_EventScript_14DE79
+ goto_if_set FLAG_RECEIVED_POTION_OLDALE, OldaleTown_EventScript_14DE79
+ goto_if_set FLAG_TEMP_1, OldaleTown_EventScript_14DE79
setflag FLAG_TEMP_1
playbgm BGM_TSURETEK, FALSE
msgbox OldaleTown_Text_16AEF2, 4
@@ -195,8 +190,7 @@ OldaleTown_Movement_14DECB:: @ 814DECB
OldaleTown_EventScript_14DEDF:: @ 814DEDF
lock
faceplayer
- checkflag FLAG_ADVENTURE_STARTED
- goto_if_eq OldaleTown_EventScript_14DF26
+ goto_if_set FLAG_ADVENTURE_STARTED, OldaleTown_EventScript_14DF26
msgbox OldaleTown_Text_16B0CC, 4
closemessage
applymovement 3, OldaleTown_Movement_1A083D
diff --git a/data/scripts/maps/OldaleTown_Mart.inc b/data/scripts/maps/OldaleTown_Mart.inc
index f90c787c2..15cf40027 100644
--- a/data/scripts/maps/OldaleTown_Mart.inc
+++ b/data/scripts/maps/OldaleTown_Mart.inc
@@ -6,8 +6,7 @@ OldaleTown_Mart_EventScript_152F79:: @ 8152F79
faceplayer
message OldaleTown_Mart_Text_1A0BE4
waitmessage
- checkflag FLAG_ADVENTURE_STARTED
- goto_if_eq OldaleTown_Mart_EventScript_152FA8
+ goto_if_set FLAG_ADVENTURE_STARTED, OldaleTown_Mart_EventScript_152FA8
pokemart OldaleTown_Mart_Items1
msgbox OldaleTown_Mart_Text_1A0C02, 4
release
@@ -43,8 +42,7 @@ OldaleTown_Mart_Items2:: @ 8152FB8
OldaleTown_Mart_EventScript_152FC6:: @ 8152FC6
lock
faceplayer
- checkflag FLAG_ADVENTURE_STARTED
- goto_if_eq OldaleTown_Mart_EventScript_152FDB
+ goto_if_set FLAG_ADVENTURE_STARTED, OldaleTown_Mart_EventScript_152FDB
msgbox OldaleTown_Mart_Text_174A8A, 4
release
end
diff --git a/data/scripts/maps/OldaleTown_PokemonCenter_1F.inc b/data/scripts/maps/OldaleTown_PokemonCenter_1F.inc
index d94e02227..c993807c6 100644
--- a/data/scripts/maps/OldaleTown_PokemonCenter_1F.inc
+++ b/data/scripts/maps/OldaleTown_PokemonCenter_1F.inc
@@ -26,8 +26,7 @@ OldaleTown_PokemonCenter_1F_EventScript_152F2E:: @ 8152F2E
OldaleTown_PokemonCenter_1F_EventScript_152F37:: @ 8152F37
lock
faceplayer
- checkflag FLAG_SYS_POKEDEX_GET
- goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_152F4C
+ goto_if_set FLAG_SYS_POKEDEX_GET, OldaleTown_PokemonCenter_1F_EventScript_152F4C
msgbox OldaleTown_PokemonCenter_1F_Text_1749C0, 4
release
end
diff --git a/data/scripts/maps/PacifidlogTown_House2.inc b/data/scripts/maps/PacifidlogTown_House2.inc
index df7f42a8b..8ad949bf2 100644
--- a/data/scripts/maps/PacifidlogTown_House2.inc
+++ b/data/scripts/maps/PacifidlogTown_House2.inc
@@ -6,28 +6,24 @@ PacifidlogTown_House2_EventScript_154168:: @ 8154168
faceplayer
dodailyevents
call PacifidlogTown_House2_EventScript_1541B4
- checkflag FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK
- goto_if_eq PacifidlogTown_House2_EventScript_154254
- checkflag FLAG_MET_FANCLUB_YOUNGER_BROTHER
- call_if 1, PacifidlogTown_House2_EventScript_1541CE
- checkflag FLAG_MET_FANCLUB_YOUNGER_BROTHER
- call_if 0, PacifidlogTown_House2_EventScript_1541D7
+ goto_if_set FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK, PacifidlogTown_House2_EventScript_154254
+ call_if_set FLAG_MET_FANCLUB_YOUNGER_BROTHER, PacifidlogTown_House2_EventScript_1541CE
+ call_if_unset FLAG_MET_FANCLUB_YOUNGER_BROTHER, PacifidlogTown_House2_EventScript_1541D7
setflag FLAG_MET_FANCLUB_YOUNGER_BROTHER
specialvar RESULT, GetLeadMonFriendshipScore
compare RESULT, 4
- goto_if 4, PacifidlogTown_House2_EventScript_1541EC
+ goto_if_ge PacifidlogTown_House2_EventScript_1541EC
specialvar RESULT, GetLeadMonFriendshipScore
compare RESULT, 2
- goto_if 4, PacifidlogTown_House2_EventScript_15421B
+ goto_if_ge PacifidlogTown_House2_EventScript_15421B
goto PacifidlogTown_House2_EventScript_154225
end
PacifidlogTown_House2_EventScript_1541B4:: @ 81541B4
- checkflag FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK
- goto_if 0, PacifidlogTown_House2_EventScript_1A14DC
+ goto_if_unset FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK, PacifidlogTown_House2_EventScript_1A14DC
specialvar RESULT, GetDaysUntilPacifidlogTMAvailable
compare RESULT, 0
- call_if 1, PacifidlogTown_House2_EventScript_1541E8
+ call_if_eq PacifidlogTown_House2_EventScript_1541E8
return
PacifidlogTown_House2_EventScript_1541CE:: @ 81541CE
diff --git a/data/scripts/maps/PacifidlogTown_House3.inc b/data/scripts/maps/PacifidlogTown_House3.inc
index f51aea6f7..3b21ac996 100644
--- a/data/scripts/maps/PacifidlogTown_House3.inc
+++ b/data/scripts/maps/PacifidlogTown_House3.inc
@@ -4,8 +4,7 @@ PacifidlogTown_House3_MapScripts:: @ 815429D
PacifidlogTown_House3_EventScript_15429E:: @ 815429E
lock
faceplayer
- checkflag FLAG_PACIFIDLOG_NPC_TRADE_COMPLETED
- goto_if_eq PacifidlogTown_House3_EventScript_154338
+ goto_if_set FLAG_PACIFIDLOG_NPC_TRADE_COMPLETED, PacifidlogTown_House3_EventScript_154338
setvar VAR_SPECIAL_8, 2
copyvar VAR_SPECIAL_4, VAR_SPECIAL_8
specialvar RESULT, GetInGameTradeSpeciesInfo
@@ -22,7 +21,7 @@ PacifidlogTown_House3_EventScript_15429E:: @ 815429E
specialvar RESULT, GetTradeSpecies
copyvar VAR_SPECIAL_B, RESULT
compare RESULT, VAR_SPECIAL_9
- goto_if 5, PacifidlogTown_House3_EventScript_15432A
+ goto_if_ne PacifidlogTown_House3_EventScript_15432A
copyvar VAR_SPECIAL_4, VAR_SPECIAL_8
copyvar VAR_SPECIAL_5, VAR_SPECIAL_A
special CreateInGameTradePokemon
diff --git a/data/scripts/maps/PetalburgCity.inc b/data/scripts/maps/PetalburgCity.inc
index ea58f50c6..cb47a0edd 100644
--- a/data/scripts/maps/PetalburgCity.inc
+++ b/data/scripts/maps/PetalburgCity.inc
@@ -6,9 +6,9 @@ PetalburgCity_MapScripts:: @ 814B70C
PetalburgCity_MapScript1_14B717:: @ 814B717
setflag FLAG_VISITED_PETALBURG_CITY
compare VAR_PETALBURG_STATE, 0
- call_if 1, PetalburgCity_EventScript_14B731
+ call_if_eq PetalburgCity_EventScript_14B731
compare VAR_PETALBURG_STATE, 2
- call_if 1, PetalburgCity_EventScript_14B739
+ call_if_eq PetalburgCity_EventScript_14B739
end
PetalburgCity_EventScript_14B731:: @ 814B731
@@ -188,23 +188,23 @@ PetalburgCity_EventScript_14B866:: @ 814B866
applymovement 9, PetalburgCity_Movement_1A0835
waitmovement 0
compare VAR_SPECIAL_8, 0
- call_if 1, PetalburgCity_EventScript_14B91B
+ call_if_eq PetalburgCity_EventScript_14B91B
compare VAR_SPECIAL_8, 1
- call_if 1, PetalburgCity_EventScript_14B930
+ call_if_eq PetalburgCity_EventScript_14B930
compare VAR_SPECIAL_8, 2
- call_if 1, PetalburgCity_EventScript_14B93B
+ call_if_eq PetalburgCity_EventScript_14B93B
compare VAR_SPECIAL_8, 3
- call_if 1, PetalburgCity_EventScript_14B950
+ call_if_eq PetalburgCity_EventScript_14B950
msgbox PetalburgCity_Text_16438A, 4
closemessage
compare VAR_SPECIAL_8, 0
- call_if 1, PetalburgCity_EventScript_14B965
+ call_if_eq PetalburgCity_EventScript_14B965
compare VAR_SPECIAL_8, 1
- call_if 1, PetalburgCity_EventScript_14B977
+ call_if_eq PetalburgCity_EventScript_14B977
compare VAR_SPECIAL_8, 2
- call_if 1, PetalburgCity_EventScript_14B989
+ call_if_eq PetalburgCity_EventScript_14B989
compare VAR_SPECIAL_8, 3
- call_if 1, PetalburgCity_EventScript_14B99B
+ call_if_eq PetalburgCity_EventScript_14B99B
msgbox PetalburgCity_Text_164426, 4
applymovement 9, PetalburgCity_Movement_1A0843
applymovement 255, PetalburgCity_Movement_1A0843
diff --git a/data/scripts/maps/PetalburgCity_Gym.inc b/data/scripts/maps/PetalburgCity_Gym.inc
index 406f260b0..1199b3571 100644
--- a/data/scripts/maps/PetalburgCity_Gym.inc
+++ b/data/scripts/maps/PetalburgCity_Gym.inc
@@ -9,26 +9,19 @@ PetalburgCity_Gym_MapScript1_15448C:: @ 815448C
compare VAR_PETALBURG_GYM_STATE, 6
goto_if_eq PetalburgCity_Gym_EventScript_1544A3
compare VAR_PETALBURG_GYM_STATE, 7
- call_if 4, PetalburgCity_Gym_EventScript_1544ED
+ call_if_ge PetalburgCity_Gym_EventScript_1544ED
end
PetalburgCity_Gym_EventScript_1544A3:: @ 81544A3
setvar VAR_SPECIAL_5, 1
call PetalburgCity_Gym_EventScript_154F9A
- checktrainerflag OPPONENT_RANDALL
- call_if 1, PetalburgCity_Gym_EventScript_154FBB
- checktrainerflag OPPONENT_MARY
- call_if 1, PetalburgCity_Gym_EventScript_154FDC
- checktrainerflag OPPONENT_PARKER
- call_if 1, PetalburgCity_Gym_EventScript_154FFD
- checktrainerflag OPPONENT_LORI
- call_if 1, PetalburgCity_Gym_EventScript_15501E
- checktrainerflag OPPONENT_GEORGE
- call_if 1, PetalburgCity_Gym_EventScript_15503F
- checktrainerflag OPPONENT_JODY
- call_if 1, PetalburgCity_Gym_EventScript_155060
- checktrainerflag OPPONENT_BERKE
- call_if 1, PetalburgCity_Gym_EventScript_155081
+ call_if_trainer_defeated OPPONENT_RANDALL, PetalburgCity_Gym_EventScript_154FBB
+ call_if_trainer_defeated OPPONENT_MARY, PetalburgCity_Gym_EventScript_154FDC
+ call_if_trainer_defeated OPPONENT_PARKER, PetalburgCity_Gym_EventScript_154FFD
+ call_if_trainer_defeated OPPONENT_LORI, PetalburgCity_Gym_EventScript_15501E
+ call_if_trainer_defeated OPPONENT_GEORGE, PetalburgCity_Gym_EventScript_15503F
+ call_if_trainer_defeated OPPONENT_JODY, PetalburgCity_Gym_EventScript_155060
+ call_if_trainer_defeated OPPONENT_BERKE, PetalburgCity_Gym_EventScript_155081
end
PetalburgCity_Gym_EventScript_1544ED:: @ 81544ED
@@ -45,11 +38,10 @@ PetalburgCity_Gym_EventScript_1544ED:: @ 81544ED
PetalburgCity_Gym_MapScript1_15451B:: @ 815451B
compare VAR_PETALBURG_GYM_STATE, 1
- call_if 1, PetalburgCity_Gym_EventScript_15453B
+ call_if_eq PetalburgCity_Gym_EventScript_15453B
compare VAR_PETALBURG_GYM_STATE, 6
- call_if 0, PetalburgCity_Gym_EventScript_154543
- checkflag FLAG_SYS_GAME_CLEAR
- call_if 1, PetalburgCity_Gym_EventScript_15454B
+ call_if_lt PetalburgCity_Gym_EventScript_154543
+ call_if_set FLAG_SYS_GAME_CLEAR, PetalburgCity_Gym_EventScript_15454B
end
PetalburgCity_Gym_EventScript_15453B:: @ 815453B
@@ -145,65 +137,65 @@ PetalburgCity_Gym_EventScript_154669:: @ 8154669
addobject 10
playse SE_DOOR
compare VAR_SPECIAL_8, 0
- call_if 1, PetalburgCity_Gym_EventScript_1547EE
+ call_if_eq PetalburgCity_Gym_EventScript_1547EE
compare VAR_SPECIAL_8, 1
- call_if 1, PetalburgCity_Gym_EventScript_154800
+ call_if_eq PetalburgCity_Gym_EventScript_154800
compare VAR_SPECIAL_8, 2
- call_if 1, PetalburgCity_Gym_EventScript_15481C
+ call_if_eq PetalburgCity_Gym_EventScript_15481C
compare VAR_SPECIAL_8, 3
- call_if 1, PetalburgCity_Gym_EventScript_15481C
+ call_if_eq PetalburgCity_Gym_EventScript_15481C
msgbox PetalburgCity_Gym_Text_179F07, 4
msgbox PetalburgCity_Gym_Text_179F37, 4
msgbox PetalburgCity_Gym_Text_179F70, 4
msgbox PetalburgCity_Gym_Text_17A03A, 4
compare VAR_SPECIAL_8, 0
- call_if 1, PetalburgCity_Gym_EventScript_154884
+ call_if_eq PetalburgCity_Gym_EventScript_154884
compare VAR_SPECIAL_8, 1
- call_if 1, PetalburgCity_Gym_EventScript_15488F
+ call_if_eq PetalburgCity_Gym_EventScript_15488F
compare VAR_SPECIAL_8, 2
- call_if 1, PetalburgCity_Gym_EventScript_1548A1
+ call_if_eq PetalburgCity_Gym_EventScript_1548A1
compare VAR_SPECIAL_8, 3
- call_if 1, PetalburgCity_Gym_EventScript_1548B3
+ call_if_eq PetalburgCity_Gym_EventScript_1548B3
msgbox PetalburgCity_Gym_Text_17A04A, 4
compare VAR_SPECIAL_8, 0
- call_if 1, PetalburgCity_Gym_EventScript_1548C5
+ call_if_eq PetalburgCity_Gym_EventScript_1548C5
compare VAR_SPECIAL_8, 1
- call_if 1, PetalburgCity_Gym_EventScript_1548D0
+ call_if_eq PetalburgCity_Gym_EventScript_1548D0
compare VAR_SPECIAL_8, 2
- call_if 1, PetalburgCity_Gym_EventScript_1548DB
+ call_if_eq PetalburgCity_Gym_EventScript_1548DB
compare VAR_SPECIAL_8, 3
- call_if 1, PetalburgCity_Gym_EventScript_1548E6
+ call_if_eq PetalburgCity_Gym_EventScript_1548E6
msgbox PetalburgCity_Gym_Text_17A0A8, 4
msgbox PetalburgCity_Gym_Text_17A0EB, 4
msgbox PetalburgCity_Gym_Text_17A156, 4
compare VAR_SPECIAL_8, 0
- call_if 1, PetalburgCity_Gym_EventScript_15492F
+ call_if_eq PetalburgCity_Gym_EventScript_15492F
compare VAR_SPECIAL_8, 1
- call_if 1, PetalburgCity_Gym_EventScript_154930
+ call_if_eq PetalburgCity_Gym_EventScript_154930
compare VAR_SPECIAL_8, 2
- call_if 1, PetalburgCity_Gym_EventScript_15493B
+ call_if_eq PetalburgCity_Gym_EventScript_15493B
compare VAR_SPECIAL_8, 3
- call_if 1, PetalburgCity_Gym_EventScript_15493C
+ call_if_eq PetalburgCity_Gym_EventScript_15493C
compare VAR_SPECIAL_8, 0
- call_if 1, PetalburgCity_Gym_EventScript_1548F1
+ call_if_eq PetalburgCity_Gym_EventScript_1548F1
compare VAR_SPECIAL_8, 1
- call_if 1, PetalburgCity_Gym_EventScript_1548FC
+ call_if_eq PetalburgCity_Gym_EventScript_1548FC
compare VAR_SPECIAL_8, 2
- call_if 1, PetalburgCity_Gym_EventScript_1548F1
+ call_if_eq PetalburgCity_Gym_EventScript_1548F1
compare VAR_SPECIAL_8, 3
- call_if 1, PetalburgCity_Gym_EventScript_1548F1
+ call_if_eq PetalburgCity_Gym_EventScript_1548F1
msgbox PetalburgCity_Gym_Text_17A171, 4
closemessage
setflag FLAG_SPECIAL_FLAG_1
playbgm BGM_TSURETEK, FALSE
compare VAR_SPECIAL_8, 0
- call_if 1, PetalburgCity_Gym_EventScript_154835
+ call_if_eq PetalburgCity_Gym_EventScript_154835
compare VAR_SPECIAL_8, 1
- call_if 1, PetalburgCity_Gym_EventScript_15484E
+ call_if_eq PetalburgCity_Gym_EventScript_15484E
compare VAR_SPECIAL_8, 2
- call_if 1, PetalburgCity_Gym_EventScript_154860
+ call_if_eq PetalburgCity_Gym_EventScript_154860
compare VAR_SPECIAL_8, 3
- call_if 1, PetalburgCity_Gym_EventScript_154872
+ call_if_eq PetalburgCity_Gym_EventScript_154872
removeobject 10
setflag FLAG_HIDE_WALLY_MOM_PETALBURG_1
setvar VAR_PETALBURG_GYM_STATE, 1
@@ -354,10 +346,8 @@ PetalburgCity_Gym_EventScript_15493D:: @ 815493D
call PetalburgCity_Gym_EventScript_154969
compare RESULT, 1
goto_if_eq PetalburgCity_Gym_EventScript_1549B8
- checkflag FLAG_RECEIVED_TM42
- goto_if 0, PetalburgCity_Gym_EventScript_154A2C
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if_eq PetalburgCity_Gym_EventScript_154B69
+ goto_if_unset FLAG_RECEIVED_TM42, PetalburgCity_Gym_EventScript_154A2C
+ goto_if_set FLAG_SYS_GAME_CLEAR, PetalburgCity_Gym_EventScript_154B69
msgbox PetalburgCity_Gym_Text_17AA6B, 4
release
end
@@ -420,22 +410,22 @@ PetalburgCity_Gym_EventScript_154A2C:: @ 8154A2C
msgbox PetalburgCity_Gym_Text_17A976, 4
closemessage
compare FACING, 2
- call_if 1, PetalburgCity_Gym_EventScript_154ABC
+ call_if_eq PetalburgCity_Gym_EventScript_154ABC
compare FACING, 1
- call_if 1, PetalburgCity_Gym_EventScript_154AC7
+ call_if_eq PetalburgCity_Gym_EventScript_154AC7
compare FACING, 3
- call_if 1, PetalburgCity_Gym_EventScript_154AD2
+ call_if_eq PetalburgCity_Gym_EventScript_154AD2
compare FACING, 4
- call_if 1, PetalburgCity_Gym_EventScript_154ADD
+ call_if_eq PetalburgCity_Gym_EventScript_154ADD
delay 70
compare FACING, 2
- call_if 1, PetalburgCity_Gym_EventScript_154AE8
+ call_if_eq PetalburgCity_Gym_EventScript_154AE8
compare FACING, 1
- call_if 1, PetalburgCity_Gym_EventScript_154AF3
+ call_if_eq PetalburgCity_Gym_EventScript_154AF3
compare FACING, 3
- call_if 1, PetalburgCity_Gym_EventScript_154AFE
+ call_if_eq PetalburgCity_Gym_EventScript_154AFE
compare FACING, 4
- call_if 1, PetalburgCity_Gym_EventScript_154B09
+ call_if_eq PetalburgCity_Gym_EventScript_154B09
msgbox PetalburgCity_Gym_Text_17A9F6, 4
release
end
@@ -593,7 +583,7 @@ PetalburgCity_Gym_EventScript_154B69:: @ 8154B69
PetalburgCity_Gym_EventScript_154B73:: @ 8154B73
lockall
compare VAR_PETALBURG_GYM_STATE, 6
- goto_if 0, PetalburgCity_Gym_EventScript_154BB9
+ goto_if_lt PetalburgCity_Gym_EventScript_154BB9
setvar VAR_SPECIAL_8, 7
setvar VAR_SPECIAL_9, 85
msgbox PetalburgCity_Gym_Text_17B870, MSGBOX_YESNO
@@ -623,7 +613,7 @@ PetalburgCity_Gym_EventScript_154BB9:: @ 8154BB9
PetalburgCity_Gym_EventScript_154BC3:: @ 8154BC3
lockall
compare VAR_PETALBURG_GYM_STATE, 6
- goto_if 0, PetalburgCity_Gym_EventScript_154BB9
+ goto_if_lt PetalburgCity_Gym_EventScript_154BB9
setvar VAR_SPECIAL_8, 1
setvar VAR_SPECIAL_9, 98
msgbox PetalburgCity_Gym_Text_17B8D4, MSGBOX_YESNO
@@ -635,8 +625,7 @@ PetalburgCity_Gym_EventScript_154BC3:: @ 8154BC3
PetalburgCity_Gym_EventScript_154BF8:: @ 8154BF8
lockall
- checktrainerflag OPPONENT_RANDALL
- goto_if 0, PetalburgCity_Gym_EventScript_154BB9
+ goto_if_trainer_not_defeated OPPONENT_RANDALL, PetalburgCity_Gym_EventScript_154BB9
setvar VAR_SPECIAL_8, 7
setvar VAR_SPECIAL_9, 46
msgbox PetalburgCity_Gym_Text_17B90F, MSGBOX_YESNO
@@ -648,8 +637,7 @@ PetalburgCity_Gym_EventScript_154BF8:: @ 8154BF8
PetalburgCity_Gym_EventScript_154C2B:: @ 8154C2B
lockall
- checktrainerflag OPPONENT_RANDALL
- goto_if 0, PetalburgCity_Gym_EventScript_154BB9
+ goto_if_trainer_not_defeated OPPONENT_RANDALL, PetalburgCity_Gym_EventScript_154BB9
setvar VAR_SPECIAL_8, 1
setvar VAR_SPECIAL_9, 59
msgbox PetalburgCity_Gym_Text_17B950, MSGBOX_YESNO
@@ -661,8 +649,7 @@ PetalburgCity_Gym_EventScript_154C2B:: @ 8154C2B
PetalburgCity_Gym_EventScript_154C5E:: @ 8154C5E
lockall
- checktrainerflag OPPONENT_MARY
- goto_if 0, PetalburgCity_Gym_EventScript_154BB9
+ goto_if_trainer_not_defeated OPPONENT_MARY, PetalburgCity_Gym_EventScript_154BB9
setvar VAR_SPECIAL_8, 7
setvar VAR_SPECIAL_9, 59
msgbox PetalburgCity_Gym_Text_17B950, MSGBOX_YESNO
@@ -674,8 +661,7 @@ PetalburgCity_Gym_EventScript_154C5E:: @ 8154C5E
PetalburgCity_Gym_EventScript_154C91:: @ 8154C91
lockall
- checktrainerflag OPPONENT_MARY
- goto_if 0, PetalburgCity_Gym_EventScript_154BB9
+ goto_if_trainer_not_defeated OPPONENT_MARY, PetalburgCity_Gym_EventScript_154BB9
setvar VAR_SPECIAL_8, 1
setvar VAR_SPECIAL_9, 72
msgbox PetalburgCity_Gym_Text_17B98A, MSGBOX_YESNO
@@ -687,8 +673,7 @@ PetalburgCity_Gym_EventScript_154C91:: @ 8154C91
PetalburgCity_Gym_EventScript_154CC4:: @ 8154CC4
lockall
- checktrainerflag OPPONENT_PARKER
- goto_if 0, PetalburgCity_Gym_EventScript_154BB9
+ goto_if_trainer_not_defeated OPPONENT_PARKER, PetalburgCity_Gym_EventScript_154BB9
setvar VAR_SPECIAL_8, 1
setvar VAR_SPECIAL_9, 20
msgbox PetalburgCity_Gym_Text_17B9C5, MSGBOX_YESNO
@@ -700,8 +685,7 @@ PetalburgCity_Gym_EventScript_154CC4:: @ 8154CC4
PetalburgCity_Gym_EventScript_154CF7:: @ 8154CF7
lockall
- checktrainerflag OPPONENT_LORI
- goto_if 0, PetalburgCity_Gym_EventScript_154BB9
+ goto_if_trainer_not_defeated OPPONENT_LORI, PetalburgCity_Gym_EventScript_154BB9
setvar VAR_SPECIAL_8, 7
setvar VAR_SPECIAL_9, 20
msgbox PetalburgCity_Gym_Text_17B9C5, MSGBOX_YESNO
@@ -713,8 +697,7 @@ PetalburgCity_Gym_EventScript_154CF7:: @ 8154CF7
PetalburgCity_Gym_EventScript_154D2A:: @ 8154D2A
lockall
- checktrainerflag OPPONENT_LORI
- goto_if 0, PetalburgCity_Gym_EventScript_154BB9
+ goto_if_trainer_not_defeated OPPONENT_LORI, PetalburgCity_Gym_EventScript_154BB9
setvar VAR_SPECIAL_8, 1
setvar VAR_SPECIAL_9, 33
msgbox PetalburgCity_Gym_Text_17BA00, MSGBOX_YESNO
@@ -726,8 +709,7 @@ PetalburgCity_Gym_EventScript_154D2A:: @ 8154D2A
PetalburgCity_Gym_EventScript_154D5D:: @ 8154D5D
lockall
- checktrainerflag OPPONENT_GEORGE
- goto_if 0, PetalburgCity_Gym_EventScript_154BB9
+ goto_if_trainer_not_defeated OPPONENT_GEORGE, PetalburgCity_Gym_EventScript_154BB9
setvar VAR_SPECIAL_8, 7
setvar VAR_SPECIAL_9, 33
msgbox PetalburgCity_Gym_Text_17BA00, MSGBOX_YESNO
@@ -739,8 +721,7 @@ PetalburgCity_Gym_EventScript_154D5D:: @ 8154D5D
PetalburgCity_Gym_EventScript_154D90:: @ 8154D90
lockall
- checktrainerflag OPPONENT_JODY
- goto_if 0, PetalburgCity_Gym_EventScript_154BB9
+ goto_if_trainer_not_defeated OPPONENT_JODY, PetalburgCity_Gym_EventScript_154BB9
setvar VAR_SPECIAL_8, 1
setvar VAR_SPECIAL_9, 7
msgbox PetalburgCity_Gym_Text_17BA3D, MSGBOX_YESNO
@@ -752,8 +733,7 @@ PetalburgCity_Gym_EventScript_154D90:: @ 8154D90
PetalburgCity_Gym_EventScript_154DC3:: @ 8154DC3
lockall
- checktrainerflag OPPONENT_BERKE
- goto_if 0, PetalburgCity_Gym_EventScript_154BB9
+ goto_if_trainer_not_defeated OPPONENT_BERKE, PetalburgCity_Gym_EventScript_154BB9
setvar VAR_SPECIAL_8, 7
setvar VAR_SPECIAL_9, 7
msgbox PetalburgCity_Gym_Text_17BA3D, MSGBOX_YESNO
@@ -765,8 +745,7 @@ PetalburgCity_Gym_EventScript_154DC3:: @ 8154DC3
PetalburgCity_Gym_EventScript_154DF6:: @ 8154DF6
trainerbattle 2, OPPONENT_RANDALL, 0, PetalburgCity_Gym_Text_17ADA5, PetalburgCity_Gym_Text_17AE11, PetalburgCity_Gym_EventScript_154E1A
- checkflag FLAG_DEFEATED_PETALBURG_GYM
- goto_if_eq PetalburgCity_Gym_EventScript_154E29
+ goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_154E29
msgbox PetalburgCity_Gym_Text_17AE30, 6
end
@@ -783,8 +762,7 @@ PetalburgCity_Gym_EventScript_154E29:: @ 8154E29
PetalburgCity_Gym_EventScript_154E32:: @ 8154E32
trainerbattle 2, OPPONENT_PARKER, 0, PetalburgCity_Gym_Text_17AF5A, PetalburgCity_Gym_Text_17AF98, PetalburgCity_Gym_EventScript_154E56
- checkflag FLAG_DEFEATED_PETALBURG_GYM
- goto_if_eq PetalburgCity_Gym_EventScript_154E65
+ goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_154E65
msgbox PetalburgCity_Gym_Text_17AFD3, 6
end
@@ -801,8 +779,7 @@ PetalburgCity_Gym_EventScript_154E65:: @ 8154E65
PetalburgCity_Gym_EventScript_154E6E:: @ 8154E6E
trainerbattle 2, OPPONENT_GEORGE, 0, PetalburgCity_Gym_Text_17B058, PetalburgCity_Gym_Text_17B0F7, PetalburgCity_Gym_EventScript_154E92
- checkflag FLAG_DEFEATED_PETALBURG_GYM
- goto_if_eq PetalburgCity_Gym_EventScript_154EA1
+ goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_154EA1
msgbox PetalburgCity_Gym_Text_17B12C, 6
end
@@ -819,8 +796,7 @@ PetalburgCity_Gym_EventScript_154EA1:: @ 8154EA1
PetalburgCity_Gym_EventScript_154EAA:: @ 8154EAA
trainerbattle 2, OPPONENT_BERKE, 0, PetalburgCity_Gym_Text_17B237, PetalburgCity_Gym_Text_17B2C0, PetalburgCity_Gym_EventScript_154ECE
- checkflag FLAG_DEFEATED_PETALBURG_GYM
- goto_if_eq PetalburgCity_Gym_EventScript_154EDD
+ goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_154EDD
msgbox PetalburgCity_Gym_Text_17B2E4, 6
end
@@ -837,8 +813,7 @@ PetalburgCity_Gym_EventScript_154EDD:: @ 8154EDD
PetalburgCity_Gym_EventScript_154EE6:: @ 8154EE6
trainerbattle 2, OPPONENT_MARY, 0, PetalburgCity_Gym_Text_17B3F7, PetalburgCity_Gym_Text_17B454, PetalburgCity_Gym_EventScript_154F0A
- checkflag FLAG_DEFEATED_PETALBURG_GYM
- goto_if_eq PetalburgCity_Gym_EventScript_154F19
+ goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_154F19
msgbox PetalburgCity_Gym_Text_17B46F, 6
end
@@ -855,8 +830,7 @@ PetalburgCity_Gym_EventScript_154F19:: @ 8154F19
PetalburgCity_Gym_EventScript_154F22:: @ 8154F22
trainerbattle 2, OPPONENT_LORI, 0, PetalburgCity_Gym_Text_17B58D, PetalburgCity_Gym_Text_17B5CB, PetalburgCity_Gym_EventScript_154F46
- checkflag FLAG_DEFEATED_PETALBURG_GYM
- goto_if_eq PetalburgCity_Gym_EventScript_154F55
+ goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_154F55
msgbox PetalburgCity_Gym_Text_17B5EA, 6
end
@@ -873,8 +847,7 @@ PetalburgCity_Gym_EventScript_154F55:: @ 8154F55
PetalburgCity_Gym_EventScript_154F5E:: @ 8154F5E
trainerbattle 2, OPPONENT_JODY, 0, PetalburgCity_Gym_Text_17B6D4, PetalburgCity_Gym_Text_17B732, PetalburgCity_Gym_EventScript_154F82
- checkflag FLAG_DEFEATED_PETALBURG_GYM
- goto_if_eq PetalburgCity_Gym_EventScript_154F91
+ goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_154F91
msgbox PetalburgCity_Gym_Text_17B749, 6
end
@@ -892,72 +865,72 @@ PetalburgCity_Gym_EventScript_154F91:: @ 8154F91
PetalburgCity_Gym_EventScript_154F9A:: @ 8154F9A
setvar VAR_SPECIAL_4, 1
compare VAR_SPECIAL_5, 0
- call_if 1, PetalburgCity_Gym_EventScript_155182
+ call_if_eq PetalburgCity_Gym_EventScript_155182
compare VAR_SPECIAL_5, 1
- call_if 1, PetalburgCity_Gym_EventScript_155187
+ call_if_eq PetalburgCity_Gym_EventScript_155187
call PetalburgCity_Gym_EventScript_1550A2
return
PetalburgCity_Gym_EventScript_154FBB:: @ 8154FBB
setvar VAR_SPECIAL_4, 2
compare VAR_SPECIAL_5, 0
- call_if 1, PetalburgCity_Gym_EventScript_155182
+ call_if_eq PetalburgCity_Gym_EventScript_155182
compare VAR_SPECIAL_5, 1
- call_if 1, PetalburgCity_Gym_EventScript_155187
+ call_if_eq PetalburgCity_Gym_EventScript_155187
call PetalburgCity_Gym_EventScript_1550C7
return
PetalburgCity_Gym_EventScript_154FDC:: @ 8154FDC
setvar VAR_SPECIAL_4, 3
compare VAR_SPECIAL_5, 0
- call_if 1, PetalburgCity_Gym_EventScript_155182
+ call_if_eq PetalburgCity_Gym_EventScript_155182
compare VAR_SPECIAL_5, 1
- call_if 1, PetalburgCity_Gym_EventScript_155187
+ call_if_eq PetalburgCity_Gym_EventScript_155187
call PetalburgCity_Gym_EventScript_1550EC
return
PetalburgCity_Gym_EventScript_154FFD:: @ 8154FFD
setvar VAR_SPECIAL_4, 4
compare VAR_SPECIAL_5, 0
- call_if 1, PetalburgCity_Gym_EventScript_155182
+ call_if_eq PetalburgCity_Gym_EventScript_155182
compare VAR_SPECIAL_5, 1
- call_if 1, PetalburgCity_Gym_EventScript_155187
+ call_if_eq PetalburgCity_Gym_EventScript_155187
call PetalburgCity_Gym_EventScript_155111
return
PetalburgCity_Gym_EventScript_15501E:: @ 815501E
setvar VAR_SPECIAL_4, 5
compare VAR_SPECIAL_5, 0
- call_if 1, PetalburgCity_Gym_EventScript_155182
+ call_if_eq PetalburgCity_Gym_EventScript_155182
compare VAR_SPECIAL_5, 1
- call_if 1, PetalburgCity_Gym_EventScript_155187
+ call_if_eq PetalburgCity_Gym_EventScript_155187
call PetalburgCity_Gym_EventScript_155124
return
PetalburgCity_Gym_EventScript_15503F:: @ 815503F
setvar VAR_SPECIAL_4, 6
compare VAR_SPECIAL_5, 0
- call_if 1, PetalburgCity_Gym_EventScript_155182
+ call_if_eq PetalburgCity_Gym_EventScript_155182
compare VAR_SPECIAL_5, 1
- call_if 1, PetalburgCity_Gym_EventScript_155187
+ call_if_eq PetalburgCity_Gym_EventScript_155187
call PetalburgCity_Gym_EventScript_155149
return
PetalburgCity_Gym_EventScript_155060:: @ 8155060
setvar VAR_SPECIAL_4, 7
compare VAR_SPECIAL_5, 0
- call_if 1, PetalburgCity_Gym_EventScript_155182
+ call_if_eq PetalburgCity_Gym_EventScript_155182
compare VAR_SPECIAL_5, 1
- call_if 1, PetalburgCity_Gym_EventScript_155187
+ call_if_eq PetalburgCity_Gym_EventScript_155187
call PetalburgCity_Gym_EventScript_15515C
return
PetalburgCity_Gym_EventScript_155081:: @ 8155081
setvar VAR_SPECIAL_4, 8
compare VAR_SPECIAL_5, 0
- call_if 1, PetalburgCity_Gym_EventScript_155182
+ call_if_eq PetalburgCity_Gym_EventScript_155182
compare VAR_SPECIAL_5, 1
- call_if 1, PetalburgCity_Gym_EventScript_155187
+ call_if_eq PetalburgCity_Gym_EventScript_155187
call PetalburgCity_Gym_EventScript_15516F
return
@@ -1021,8 +994,7 @@ PetalburgCity_Gym_EventScript_155187:: @ 8155187
PetalburgCity_Gym_EventScript_15518B:: @ 815518B
lock
faceplayer
- checkflag FLAG_DEFEATED_PETALBURG_GYM
- goto_if_eq PetalburgCity_Gym_EventScript_1551A0
+ goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_1551A0
msgbox PetalburgCity_Gym_Text_17AB96, 4
release
end
@@ -1034,15 +1006,13 @@ PetalburgCity_Gym_EventScript_1551A0:: @ 81551A0
PetalburgCity_Gym_EventScript_1551AA:: @ 81551AA
lockall
- checkflag FLAG_BADGE05_GET
- goto_if_eq PetalburgCity_Gym_EventScript_1551CA
+ goto_if_set FLAG_BADGE05_GET, PetalburgCity_Gym_EventScript_1551CA
goto PetalburgCity_Gym_EventScript_1551D4
end
PetalburgCity_Gym_EventScript_1551BA:: @ 81551BA
lockall
- checkflag FLAG_BADGE05_GET
- goto_if_eq PetalburgCity_Gym_EventScript_1551CA
+ goto_if_set FLAG_BADGE05_GET, PetalburgCity_Gym_EventScript_1551CA
goto PetalburgCity_Gym_EventScript_1551D4
end
diff --git a/data/scripts/maps/PetalburgCity_Mart.inc b/data/scripts/maps/PetalburgCity_Mart.inc
index 66e247323..7584f6f19 100644
--- a/data/scripts/maps/PetalburgCity_Mart.inc
+++ b/data/scripts/maps/PetalburgCity_Mart.inc
@@ -6,8 +6,7 @@ PetalburgCity_Mart_EventScript_1552B0:: @ 81552B0
faceplayer
message PetalburgCity_Mart_Text_1A0BE4
waitmessage
- checkflag FLAG_PETALBURG_MART_EXPANDED_ITEMS
- goto_if_eq PetalburgCity_Mart_EventScript_1552EA
+ goto_if_set FLAG_PETALBURG_MART_EXPANDED_ITEMS, PetalburgCity_Mart_EventScript_1552EA
pokemart PetalburgCity_Mart_Items1
msgbox PetalburgCity_Mart_Text_1A0C02, 4
release
diff --git a/data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc b/data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc
index 8dda62ea1..136cc11c5 100644
--- a/data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc
+++ b/data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc
@@ -35,11 +35,11 @@ PetalburgCity_PokemonCenter_1F_EventScript_155233:: @ 8155233
PetalburgCity_PokemonCenter_1F_EventScript_15524F:: @ 815524F
compare VAR_STARTER_MON, 0
- call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_155272
+ call_if_eq PetalburgCity_PokemonCenter_1F_EventScript_155272
compare VAR_STARTER_MON, 1
- call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_15527B
+ call_if_eq PetalburgCity_PokemonCenter_1F_EventScript_15527B
compare VAR_STARTER_MON, 2
- call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_155284
+ call_if_eq PetalburgCity_PokemonCenter_1F_EventScript_155284
release
end
diff --git a/data/scripts/maps/PetalburgCity_WallysHouse.inc b/data/scripts/maps/PetalburgCity_WallysHouse.inc
index 08bbcb0c7..d642d70ed 100644
--- a/data/scripts/maps/PetalburgCity_WallysHouse.inc
+++ b/data/scripts/maps/PetalburgCity_WallysHouse.inc
@@ -4,22 +4,17 @@ PetalburgCity_WallysHouse_MapScripts:: @ 81543C3
PetalburgCity_WallysHouse_EventScript_1543C4:: @ 81543C4
lock
faceplayer
- checkflag FLAG_DEFEATED_WALLY_VICTORY_ROAD
- goto_if_eq PetalburgCity_WallysHouse_EventScript_1543F7
- checkflag FLAG_RECEIVED_HM03
- goto_if_eq PetalburgCity_WallysHouse_EventScript_154427
- checkflag FLAG_DEFEATED_PETALBURG_GYM
- goto_if_eq PetalburgCity_WallysHouse_EventScript_154406
- checkflag FLAG_THANKED_FOR_PLAYING_WITH_WALLY
- goto_if_eq PetalburgCity_WallysHouse_EventScript_15443B
+ goto_if_set FLAG_DEFEATED_WALLY_VICTORY_ROAD, PetalburgCity_WallysHouse_EventScript_1543F7
+ goto_if_set FLAG_RECEIVED_HM03, PetalburgCity_WallysHouse_EventScript_154427
+ goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_WallysHouse_EventScript_154406
+ goto_if_set FLAG_THANKED_FOR_PLAYING_WITH_WALLY, PetalburgCity_WallysHouse_EventScript_15443B
msgbox PetalburgCity_WallysHouse_Text_179805, 4
setflag FLAG_THANKED_FOR_PLAYING_WITH_WALLY
release
end
PetalburgCity_WallysHouse_EventScript_1543F7:: @ 81543F7
- checkflag FLAG_RECEIVED_HM03
- goto_if_eq PetalburgCity_WallysHouse_EventScript_154431
+ goto_if_set FLAG_RECEIVED_HM03, PetalburgCity_WallysHouse_EventScript_154431
goto PetalburgCity_WallysHouse_EventScript_154406
end
@@ -49,10 +44,8 @@ PetalburgCity_WallysHouse_EventScript_15443B:: @ 815443B
PetalburgCity_WallysHouse_EventScript_154445:: @ 8154445
lock
faceplayer
- checkflag FLAG_RECEIVED_HM03
- goto_if_eq PetalburgCity_WallysHouse_EventScript_15446D
- checkflag FLAG_DEFEATED_PETALBURG_GYM
- goto_if_eq PetalburgCity_WallysHouse_EventScript_154463
+ goto_if_set FLAG_RECEIVED_HM03, PetalburgCity_WallysHouse_EventScript_15446D
+ goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_WallysHouse_EventScript_154463
msgbox PetalburgCity_WallysHouse_Text_179C2C, 4
release
end
diff --git a/data/scripts/maps/PetalburgWoods.inc b/data/scripts/maps/PetalburgWoods.inc
index 149fd4e46..17908440c 100644
--- a/data/scripts/maps/PetalburgWoods.inc
+++ b/data/scripts/maps/PetalburgWoods.inc
@@ -241,8 +241,7 @@ PetalburgWoods_EventScript_15CED3:: @ 815CED3
PetalburgWoods_EventScript_15CEDC:: @ 815CEDC
lock
faceplayer
- checkflag FLAG_RECEIVED_MIRACLE_SEED
- goto_if_eq PetalburgWoods_EventScript_15CF0B
+ goto_if_set FLAG_RECEIVED_MIRACLE_SEED, PetalburgWoods_EventScript_15CF0B
msgbox PetalburgWoods_Text_19549E, 4
giveitem_std ITEM_MIRACLE_SEED
compare RESULT, 0
diff --git a/data/scripts/maps/Route104.inc b/data/scripts/maps/Route104.inc
index c90a97531..a3824efcf 100644
--- a/data/scripts/maps/Route104.inc
+++ b/data/scripts/maps/Route104.inc
@@ -17,10 +17,8 @@ Route104_MapScript1_14EEA8:: @ 814EEA8
end
Route104_EventScript_14EEAE:: @ 814EEAE
- checkflag FLAG_MET_PRETTY_PETAL_SHOP_OWNER
- goto_if 0, Route104_EventScript_14EEC4
- checkflag FLAG_BADGE03_GET
- goto_if 0, Route104_EventScript_14EEC4
+ goto_if_unset FLAG_MET_PRETTY_PETAL_SHOP_OWNER, Route104_EventScript_14EEC4
+ goto_if_unset FLAG_BADGE03_GET, Route104_EventScript_14EEC4
clearflag FLAG_HIDE_FLOWER_SHOP_WORKER_OUTSIDE
return
@@ -31,8 +29,7 @@ Route104_EventScript_14EEC4:: @ 814EEC4
Route104_EventScript_14EEC8:: @ 814EEC8
lock
faceplayer
- checkflag FLAG_RECEIVED_CHESTO_BERRY_ROUTE104
- goto_if_eq Route104_EventScript_14EEFF
+ goto_if_set FLAG_RECEIVED_CHESTO_BERRY_ROUTE104, Route104_EventScript_14EEFF
msgbox Route104_Text_1C55B9, 4
giveitem_std ITEM_CHESTO_BERRY
compare RESULT, 0
@@ -50,8 +47,7 @@ Route104_EventScript_14EEFF:: @ 814EEFF
Route104_EventScript_14EF09:: @ 814EF09
lock
faceplayer
- checkflag FLAG_RECEIVED_WHITE_HERB
- goto_if_eq Route104_EventScript_14EF38
+ goto_if_set FLAG_RECEIVED_WHITE_HERB, Route104_EventScript_14EF38
msgbox Route104_Text_16DD91, 4
giveitem_std ITEM_WHITE_HERB
compare RESULT, 0
@@ -104,8 +100,7 @@ Route104_EventScript_14EF8A:: @ 814EF8A
Route104_EventScript_14EF93:: @ 814EF93
lock
faceplayer
- checkflag FLAG_RECEIVED_TM09
- goto_if_eq Route104_EventScript_14EFC2
+ goto_if_set FLAG_RECEIVED_TM09, Route104_EventScript_14EFC2
msgbox Route104_Text_16DC5F, 4
giveitem_std ITEM_TM09
compare RESULT, 0
@@ -158,10 +153,8 @@ Route104_EventScript_14EFD5:: @ 814EFD5
resetobjectpriority 2, MAP_DEWFORD_TOWN
moveobjectoffscreen 2
setvar VAR_BOARD_BRINEY_BOAT_ROUTE104_STATE, 0
- checkflag FLAG_DELIVERED_STEVEN_LETTER
- goto_if 0, Route104_EventScript_14F08B
- checkflag FLAG_DELIVERED_STEVEN_LETTER
- goto_if_eq Route104_EventScript_14F095
+ goto_if_unset FLAG_DELIVERED_STEVEN_LETTER, Route104_EventScript_14F08B
+ goto_if_set FLAG_DELIVERED_STEVEN_LETTER, Route104_EventScript_14F095
end
Route104_EventScript_14F08B:: @ 814F08B
diff --git a/data/scripts/maps/Route104_MrBrineysHouse.inc b/data/scripts/maps/Route104_MrBrineysHouse.inc
index 4718f9bb9..514b1b9cc 100644
--- a/data/scripts/maps/Route104_MrBrineysHouse.inc
+++ b/data/scripts/maps/Route104_MrBrineysHouse.inc
@@ -5,9 +5,8 @@ Route104_MrBrineysHouse_MapScripts:: @ 815BCB2
Route104_MrBrineysHouse_MapScript1_15BCB8:: @ 815BCB8
setflag FLAG_LANDMARK_MR_BRINEY_HOUSE
compare VAR_BRINEY_HOUSE_STATE, 1
- call_if 1, Route104_MrBrineysHouse_EventScript_15BCD4
- checkflag FLAG_RECEIVED_POKENAV
- call_if 1, Route104_MrBrineysHouse_EventScript_15BCD0
+ call_if_eq Route104_MrBrineysHouse_EventScript_15BCD4
+ call_if_set FLAG_RECEIVED_POKENAV, Route104_MrBrineysHouse_EventScript_15BCD0
end
Route104_MrBrineysHouse_EventScript_15BCD0:: @ 815BCD0
@@ -24,12 +23,9 @@ Route104_MrBrineysHouse_EventScript_15BCD4:: @ 815BCD4
Route104_MrBrineysHouse_EventScript_15BCEB:: @ 815BCEB
lock
faceplayer
- checkflag FLAG_MR_BRINEY_SAILING_INTRO
- call_if 0, Route104_MrBrineysHouse_EventScript_15BD0E
- checkflag FLAG_DELIVERED_STEVEN_LETTER
- goto_if 0, Route104_MrBrineysHouse_EventScript_15BD65
- checkflag FLAG_DELIVERED_DEVON_GOODS
- goto_if 0, Route104_MrBrineysHouse_EventScript_15BD7E
+ call_if_unset FLAG_MR_BRINEY_SAILING_INTRO, Route104_MrBrineysHouse_EventScript_15BD0E
+ goto_if_unset FLAG_DELIVERED_STEVEN_LETTER, Route104_MrBrineysHouse_EventScript_15BD65
+ goto_if_unset FLAG_DELIVERED_DEVON_GOODS, Route104_MrBrineysHouse_EventScript_15BD7E
goto Route104_MrBrineysHouse_EventScript_15BD32
end
diff --git a/data/scripts/maps/Route104_PrettyPetalFlowerShop.inc b/data/scripts/maps/Route104_PrettyPetalFlowerShop.inc
index f7fbb58b5..5e70a8ec2 100644
--- a/data/scripts/maps/Route104_PrettyPetalFlowerShop.inc
+++ b/data/scripts/maps/Route104_PrettyPetalFlowerShop.inc
@@ -4,10 +4,8 @@ Route104_PrettyPetalFlowerShop_MapScripts:: @ 815BDE4
Route104_PrettyPetalFlowerShop_MapScript1_15BDEA:: @ 815BDEA
setflag FLAG_LANDMARK_FLOWER_SHOP
- checkflag FLAG_MET_PRETTY_PETAL_SHOP_OWNER
- goto_if 0, Route104_PrettyPetalFlowerShop_EventScript_15BE03
- checkflag FLAG_BADGE03_GET
- goto_if 0, Route104_PrettyPetalFlowerShop_EventScript_15BE03
+ goto_if_unset FLAG_MET_PRETTY_PETAL_SHOP_OWNER, Route104_PrettyPetalFlowerShop_EventScript_15BE03
+ goto_if_unset FLAG_BADGE03_GET, Route104_PrettyPetalFlowerShop_EventScript_15BE03
setflag FLAG_TEMP_1
end
@@ -18,26 +16,24 @@ Route104_PrettyPetalFlowerShop_EventScript_15BE03:: @ 815BE03
Route104_PrettyPetalFlowerShop_EventScript_15BE0B:: @ 815BE0B
lock
faceplayer
- checkflag FLAG_TEMP_1
- goto_if_eq Route104_PrettyPetalFlowerShop_EventScript_15BE7C
+ goto_if_set FLAG_TEMP_1, Route104_PrettyPetalFlowerShop_EventScript_15BE7C
msgbox Route104_PrettyPetalFlowerShop_Text_1C5EC6, 4
- checkflag FLAG_MET_PRETTY_PETAL_SHOP_OWNER
- goto_if_eq Route104_PrettyPetalFlowerShop_EventScript_15BE4A
+ goto_if_set FLAG_MET_PRETTY_PETAL_SHOP_OWNER, Route104_PrettyPetalFlowerShop_EventScript_15BE4A
setflag FLAG_MET_PRETTY_PETAL_SHOP_OWNER
msgbox Route104_PrettyPetalFlowerShop_Text_1C5F48, MSGBOX_YESNO
compare RESULT, YES
- call_if 1, Route104_PrettyPetalFlowerShop_EventScript_15BE6A
+ call_if_eq Route104_PrettyPetalFlowerShop_EventScript_15BE6A
compare RESULT, NO
- call_if 1, Route104_PrettyPetalFlowerShop_EventScript_15BE73
+ call_if_eq Route104_PrettyPetalFlowerShop_EventScript_15BE73
release
end
Route104_PrettyPetalFlowerShop_EventScript_15BE4A:: @ 815BE4A
msgbox Route104_PrettyPetalFlowerShop_Text_1C5F1B, MSGBOX_YESNO
compare RESULT, YES
- call_if 1, Route104_PrettyPetalFlowerShop_EventScript_15BE6A
+ call_if_eq Route104_PrettyPetalFlowerShop_EventScript_15BE6A
compare RESULT, NO
- call_if 1, Route104_PrettyPetalFlowerShop_EventScript_15BE73
+ call_if_eq Route104_PrettyPetalFlowerShop_EventScript_15BE73
release
end
@@ -72,8 +68,7 @@ Route104_PrettyPetalFlowerShop_Items:: @ 815BE94
Route104_PrettyPetalFlowerShop_EventScript_15BEA4:: @ 815BEA4
lock
faceplayer
- checkflag FLAG_RECEIVED_WAILMER_PAIL
- goto_if 0, Route104_PrettyPetalFlowerShop_EventScript_15BEB9
+ goto_if_unset FLAG_RECEIVED_WAILMER_PAIL, Route104_PrettyPetalFlowerShop_EventScript_15BEB9
msgbox Route104_PrettyPetalFlowerShop_Text_1C61E8, 4
release
end
@@ -90,8 +85,7 @@ Route104_PrettyPetalFlowerShop_EventScript_15BEDA:: @ 815BEDA
lock
faceplayer
dodailyevents
- checkflag FLAG_DAILY_RECEIVED_BERRY_FLOWER_SHOP
- goto_if_eq Route104_PrettyPetalFlowerShop_EventScript_15BF1A
+ goto_if_set FLAG_DAILY_RECEIVED_BERRY_FLOWER_SHOP, Route104_PrettyPetalFlowerShop_EventScript_15BF1A
msgbox Route104_PrettyPetalFlowerShop_Text_1C62DA, 4
random 8
addvar RESULT, ITEM_CHERI_BERRY
diff --git a/data/scripts/maps/Route104_Prototype.inc b/data/scripts/maps/Route104_Prototype.inc
index b3b256d79..e0aba01c9 100644
--- a/data/scripts/maps/Route104_Prototype.inc
+++ b/data/scripts/maps/Route104_Prototype.inc
@@ -4,22 +4,15 @@ Route104_Prototype_MapScripts:: @ 8160C4A
Route104_Prototype_EventScript_160C4B:: @ 8160C4B
lock
faceplayer
- checktrainerflag OPPONENT_BRIANNA_1
- goto_if 0, Route104_Prototype_EventScript_160C99
- checktrainerflag OPPONENT_CINDY_2
- goto_if 0, Route104_Prototype_EventScript_160C99
- checktrainerflag OPPONENT_AMY_AND_LIV_3
- goto_if 0, Route104_Prototype_EventScript_160C99
- checktrainerflag OPPONENT_GINA_AND_MIA_2
- goto_if 0, Route104_Prototype_EventScript_160C99
- checktrainerflag OPPONENT_LUCAS_2
- goto_if 0, Route104_Prototype_EventScript_160C99
- checktrainerflag OPPONENT_MIKE_1
- goto_if 0, Route104_Prototype_EventScript_160C99
+ goto_if_trainer_not_defeated OPPONENT_BRIANNA_1, Route104_Prototype_EventScript_160C99
+ goto_if_trainer_not_defeated OPPONENT_CINDY_2, Route104_Prototype_EventScript_160C99
+ goto_if_trainer_not_defeated OPPONENT_AMY_AND_LIV_3, Route104_Prototype_EventScript_160C99
+ goto_if_trainer_not_defeated OPPONENT_GINA_AND_MIA_2, Route104_Prototype_EventScript_160C99
+ goto_if_trainer_not_defeated OPPONENT_LUCAS_2, Route104_Prototype_EventScript_160C99
+ goto_if_trainer_not_defeated OPPONENT_MIKE_1, Route104_Prototype_EventScript_160C99
setflag FLAG_ROUTE104_PROTOTYPE_COMPLETED_1
msgbox Route104_Prototype_Text_19B267, 4
- checkflag FLAG_ROUTE104_PROTOTYPE_COMPLETED_2
- goto_if_eq Route104_Prototype_EventScript_160CFB
+ goto_if_set FLAG_ROUTE104_PROTOTYPE_COMPLETED_2, Route104_Prototype_EventScript_160CFB
release
end
@@ -31,22 +24,15 @@ Route104_Prototype_EventScript_160C99:: @ 8160C99
Route104_Prototype_EventScript_160CA3:: @ 8160CA3
lock
faceplayer
- checktrainerflag OPPONENT_BRIANNA_1
- goto_if 0, Route104_Prototype_EventScript_160CF1
- checktrainerflag OPPONENT_CINDY_2
- goto_if 0, Route104_Prototype_EventScript_160CF1
- checktrainerflag OPPONENT_AMY_AND_LIV_3
- goto_if 0, Route104_Prototype_EventScript_160CF1
- checktrainerflag OPPONENT_GINA_AND_MIA_2
- goto_if 0, Route104_Prototype_EventScript_160CF1
- checktrainerflag OPPONENT_LUCAS_2
- goto_if 0, Route104_Prototype_EventScript_160CF1
- checktrainerflag OPPONENT_MIKE_1
- goto_if 0, Route104_Prototype_EventScript_160CF1
+ goto_if_trainer_not_defeated OPPONENT_BRIANNA_1, Route104_Prototype_EventScript_160CF1
+ goto_if_trainer_not_defeated OPPONENT_CINDY_2, Route104_Prototype_EventScript_160CF1
+ goto_if_trainer_not_defeated OPPONENT_AMY_AND_LIV_3, Route104_Prototype_EventScript_160CF1
+ goto_if_trainer_not_defeated OPPONENT_GINA_AND_MIA_2, Route104_Prototype_EventScript_160CF1
+ goto_if_trainer_not_defeated OPPONENT_LUCAS_2, Route104_Prototype_EventScript_160CF1
+ goto_if_trainer_not_defeated OPPONENT_MIKE_1, Route104_Prototype_EventScript_160CF1
setflag FLAG_ROUTE104_PROTOTYPE_COMPLETED_2
msgbox Route104_Prototype_Text_19B2E9, 4
- checkflag FLAG_ROUTE104_PROTOTYPE_COMPLETED_1
- goto_if_eq Route104_Prototype_EventScript_160CFB
+ goto_if_set FLAG_ROUTE104_PROTOTYPE_COMPLETED_1, Route104_Prototype_EventScript_160CFB
release
end
diff --git a/data/scripts/maps/Route105.inc b/data/scripts/maps/Route105.inc
index 30157e52f..305a2e9af 100644
--- a/data/scripts/maps/Route105.inc
+++ b/data/scripts/maps/Route105.inc
@@ -3,8 +3,7 @@ Route105_MapScripts:: @ 814F298
.byte 0
Route105_MapScript1_14F29E:: @ 814F29E
- checkflag FLAG_REGI_DOORS_OPENED
- call_if 0, Route105_EventScript_14F2A8
+ call_if_unset FLAG_REGI_DOORS_OPENED, Route105_EventScript_14F2A8
end
Route105_EventScript_14F2A8:: @ 814F2A8
diff --git a/data/scripts/maps/Route109.inc b/data/scripts/maps/Route109.inc
index c0344f150..c70365b6a 100644
--- a/data/scripts/maps/Route109.inc
+++ b/data/scripts/maps/Route109.inc
@@ -271,8 +271,7 @@ Route109_Movement_14F67D:: @ 814F67D
Route109_EventScript_14F680:: @ 814F680
lock
faceplayer
- checkflag FLAG_DELIVERED_DEVON_GOODS
- goto_if 0, Route109_EventScript_14F691
+ goto_if_unset FLAG_DELIVERED_DEVON_GOODS, Route109_EventScript_14F691
goto Route109_EventScript_14F6AF
end
@@ -328,8 +327,7 @@ Route109_EventScript_14F725:: @ 814F725
lock
faceplayer
special GetPlayerBigGuyGirlString
- checkflag FLAG_RECEIVED_SOFT_SAND
- goto_if_eq Route109_EventScript_14F762
+ goto_if_set FLAG_RECEIVED_SOFT_SAND, Route109_EventScript_14F762
msgbox Route109_Text_16E433, 4
giveitem_std ITEM_SOFT_SAND
compare RESULT, 0
diff --git a/data/scripts/maps/Route109_SeashoreHouse.inc b/data/scripts/maps/Route109_SeashoreHouse.inc
index 4c1574824..13d37e7bd 100644
--- a/data/scripts/maps/Route109_SeashoreHouse.inc
+++ b/data/scripts/maps/Route109_SeashoreHouse.inc
@@ -9,12 +9,9 @@ Route109_SeashoreHouse_MapScript1_160DD0:: @ 8160DD0
Route109_SeashoreHouse_EventScript_160DD4:: @ 8160DD4
lock
faceplayer
- checkflag FLAG_RECEIVED_6_SODA_POP
- goto_if_eq Route109_SeashoreHouse_EventScript_160E36
- checkflag FLAG_DEFEATED_SEASHORE_HOUSE_TRAINERS
- goto_if_eq Route109_SeashoreHouse_EventScript_160E08
- checkflag FLAG_TEMP_2
- goto_if_eq Route109_SeashoreHouse_EventScript_160DFE
+ goto_if_set FLAG_RECEIVED_6_SODA_POP, Route109_SeashoreHouse_EventScript_160E36
+ goto_if_set FLAG_DEFEATED_SEASHORE_HOUSE_TRAINERS, Route109_SeashoreHouse_EventScript_160E08
+ goto_if_set FLAG_TEMP_2, Route109_SeashoreHouse_EventScript_160DFE
msgbox Route109_SeashoreHouse_Text_19B4D9, 4
setflag FLAG_TEMP_2
release
@@ -94,12 +91,9 @@ Route109_SeashoreHouse_EventScript_160EEE:: @ 8160EEE
end
Route109_SeashoreHouse_EventScript_160F09:: @ 8160F09
- checktrainerflag OPPONENT_DWAYNE
- goto_if 0, Route109_SeashoreHouse_EventScript_160F29
- checktrainerflag OPPONENT_JOHANNA
- goto_if 0, Route109_SeashoreHouse_EventScript_160F29
- checktrainerflag OPPONENT_SIMON
- goto_if 0, Route109_SeashoreHouse_EventScript_160F29
+ goto_if_trainer_not_defeated OPPONENT_DWAYNE, Route109_SeashoreHouse_EventScript_160F29
+ goto_if_trainer_not_defeated OPPONENT_JOHANNA, Route109_SeashoreHouse_EventScript_160F29
+ goto_if_trainer_not_defeated OPPONENT_SIMON, Route109_SeashoreHouse_EventScript_160F29
setflag FLAG_DEFEATED_SEASHORE_HOUSE_TRAINERS
release
end
diff --git a/data/scripts/maps/Route110.inc b/data/scripts/maps/Route110.inc
index d5219582c..070340760 100644
--- a/data/scripts/maps/Route110.inc
+++ b/data/scripts/maps/Route110.inc
@@ -13,7 +13,7 @@ Route110_MapScript1_14F914:: @ 814F914
call Route110_EventScript_1A014E
call Route110_EventScript_1A0172
compare VAR_CYCLING_CHALLENGE_STATE, 1
- call_if 1, Route110_EventScript_14F92F
+ call_if_eq Route110_EventScript_14F92F
end
Route110_EventScript_14F92F:: @ 814F92F
@@ -327,9 +327,9 @@ Route110_EventScript_14FD34:: @ 814FD34
lockall
checkplayergender
compare RESULT, 0
- call_if 1, Route110_EventScript_14FDA7
+ call_if_eq Route110_EventScript_14FDA7
compare RESULT, 1
- call_if 1, Route110_EventScript_14FDAC
+ call_if_eq Route110_EventScript_14FDAC
applymovement 28, Route110_Movement_1A0845
waitmovement 0
applymovement 28, Route110_Movement_1A0833
@@ -338,11 +338,11 @@ Route110_EventScript_14FD34:: @ 814FD34
waitmovement 0
delay 30
compare VAR_SPECIAL_8, 1
- call_if 1, Route110_EventScript_14FF14
+ call_if_eq Route110_EventScript_14FF14
compare VAR_SPECIAL_8, 2
- call_if 1, Route110_EventScript_14FF1F
+ call_if_eq Route110_EventScript_14FF1F
compare VAR_SPECIAL_8, 3
- call_if 1, Route110_EventScript_14FF2A
+ call_if_eq Route110_EventScript_14FF2A
checkplayergender
compare RESULT, 0
goto_if_eq Route110_EventScript_14FDB1
@@ -426,22 +426,22 @@ Route110_EventScript_14FEA5:: @ 814FEA5
Route110_EventScript_14FEB2:: @ 814FEB2
closemessage
compare VAR_SPECIAL_8, 1
- call_if 1, Route110_EventScript_14FF56
+ call_if_eq Route110_EventScript_14FF56
compare VAR_SPECIAL_8, 2
- call_if 1, Route110_EventScript_14FF5E
+ call_if_eq Route110_EventScript_14FF5E
compare VAR_SPECIAL_8, 3
- call_if 1, Route110_EventScript_14FF66
+ call_if_eq Route110_EventScript_14FF66
setobjectmovementtype 28, 10
setobjectmovementtype 29, 10
removeobject 28
addobject 29
delay 45
compare VAR_SPECIAL_8, 1
- call_if 1, Route110_EventScript_14FF35
+ call_if_eq Route110_EventScript_14FF35
compare VAR_SPECIAL_8, 2
- call_if 1, Route110_EventScript_14FF40
+ call_if_eq Route110_EventScript_14FF40
compare VAR_SPECIAL_8, 3
- call_if 1, Route110_EventScript_14FF4B
+ call_if_eq Route110_EventScript_14FF4B
removeobject 29
setvar VAR_ROUTE110_STATE, 1
savebgm 0
diff --git a/data/scripts/maps/Route110_SeasideCyclingRoadNorthEntrance.inc b/data/scripts/maps/Route110_SeasideCyclingRoadNorthEntrance.inc
index af72dedd0..f05e2caa2 100644
--- a/data/scripts/maps/Route110_SeasideCyclingRoadNorthEntrance.inc
+++ b/data/scripts/maps/Route110_SeasideCyclingRoadNorthEntrance.inc
@@ -4,9 +4,9 @@ Route110_SeasideCyclingRoadNorthEntrance_MapScripts:: @ 81634C8
Route110_SeasideCyclingRoadNorthEntrance_MapScript1_1634CE:: @ 81634CE
compare VAR_CYCLING_CHALLENGE_STATE, 3
- call_if 1, Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634E5
+ call_if_eq Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634E5
compare VAR_CYCLING_CHALLENGE_STATE, 2
- call_if 1, Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634E5
+ call_if_eq Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634E5
end
Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634E5:: @ 81634E5
@@ -25,7 +25,7 @@ Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634F7:: @ 81634F7
lockall
specialvar RESULT, GetPlayerAvatarBike @ player state?
compare RESULT, 2
- call_if 1, Route110_SeasideCyclingRoadNorthEntrance_EventScript_16351D
+ call_if_eq Route110_SeasideCyclingRoadNorthEntrance_EventScript_16351D
compare RESULT, 0
goto_if_eq Route110_SeasideCyclingRoadNorthEntrance_EventScript_163523
setflag FLAG_SYS_CYCLING_ROAD
diff --git a/data/scripts/maps/Route110_TrickHouseEnd.inc b/data/scripts/maps/Route110_TrickHouseEnd.inc
index 68ce0f5a7..020c61258 100644
--- a/data/scripts/maps/Route110_TrickHouseEnd.inc
+++ b/data/scripts/maps/Route110_TrickHouseEnd.inc
@@ -7,7 +7,7 @@ Route110_TrickHouseEnd_MapScripts:: @ 8161936
Route110_TrickHouseEnd_MapScript1_16194B:: @ 816194B
compare VAR_TEMP_1, 1
- call_if 1, Route110_TrickHouseEnd_EventScript_161994
+ call_if_eq Route110_TrickHouseEnd_EventScript_161994
end
Route110_TrickHouseEnd_MapScript1_161957:: @ 8161957
@@ -62,7 +62,7 @@ Route110_TrickHouseEnd_EventScript_161A0B:: @ 8161A0B
setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0
giveitem_std ITEM_RARE_CANDY
compare RESULT, 0
- call_if 1, Route110_TrickHouseEnd_EventScript_161C4E
+ call_if_eq Route110_TrickHouseEnd_EventScript_161C4E
msgbox Route110_TrickHouseEnd_Text_19C9BD, 4
closemessage
call Route110_TrickHouseEnd_EventScript_161C2E
@@ -75,7 +75,7 @@ Route110_TrickHouseEnd_EventScript_161A47:: @ 8161A47
setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0
giveitem_std ITEM_TIMER_BALL
compare RESULT, 0
- call_if 1, Route110_TrickHouseEnd_EventScript_161C4E
+ call_if_eq Route110_TrickHouseEnd_EventScript_161C4E
msgbox Route110_TrickHouseEnd_Text_19C9BD, 4
closemessage
call Route110_TrickHouseEnd_EventScript_161C2E
@@ -88,7 +88,7 @@ Route110_TrickHouseEnd_EventScript_161A83:: @ 8161A83
setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0
giveitem_std ITEM_HARD_STONE
compare RESULT, 0
- call_if 1, Route110_TrickHouseEnd_EventScript_161C4E
+ call_if_eq Route110_TrickHouseEnd_EventScript_161C4E
msgbox Route110_TrickHouseEnd_Text_19C9BD, 4
closemessage
call Route110_TrickHouseEnd_EventScript_161C2E
@@ -101,7 +101,7 @@ Route110_TrickHouseEnd_EventScript_161ABF:: @ 8161ABF
setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0
giveitem_std ITEM_SMOKE_BALL
compare RESULT, 0
- call_if 1, Route110_TrickHouseEnd_EventScript_161C4E
+ call_if_eq Route110_TrickHouseEnd_EventScript_161C4E
msgbox Route110_TrickHouseEnd_Text_19C9BD, 4
closemessage
call Route110_TrickHouseEnd_EventScript_161C2E
@@ -114,7 +114,7 @@ Route110_TrickHouseEnd_EventScript_161AFB:: @ 8161AFB
setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0
giveitem_std ITEM_TM12
compare RESULT, 0
- call_if 1, Route110_TrickHouseEnd_EventScript_161C4E
+ call_if_eq Route110_TrickHouseEnd_EventScript_161C4E
msgbox Route110_TrickHouseEnd_Text_19C9BD, 4
closemessage
call Route110_TrickHouseEnd_EventScript_161C2E
@@ -127,7 +127,7 @@ Route110_TrickHouseEnd_EventScript_161B37:: @ 8161B37
setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0
giveitem_std ITEM_MAGNET
compare RESULT, 0
- call_if 1, Route110_TrickHouseEnd_EventScript_161C4E
+ call_if_eq Route110_TrickHouseEnd_EventScript_161C4E
msgbox Route110_TrickHouseEnd_Text_19C9BD, 4
closemessage
call Route110_TrickHouseEnd_EventScript_161C2E
@@ -140,7 +140,7 @@ Route110_TrickHouseEnd_EventScript_161B73:: @ 8161B73
setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0
giveitem_std ITEM_PP_MAX
compare RESULT, 0
- call_if 1, Route110_TrickHouseEnd_EventScript_161C4E
+ call_if_eq Route110_TrickHouseEnd_EventScript_161C4E
msgbox Route110_TrickHouseEnd_Text_19C9BD, 4
closemessage
call Route110_TrickHouseEnd_EventScript_161C2E
@@ -151,13 +151,13 @@ Route110_TrickHouseEnd_EventScript_161BAF:: @ 8161BAF
msgbox Route110_TrickHouseEnd_Text_19C5AF, 4
closemessage
compare FACING, 1
- call_if 1, Route110_TrickHouseEnd_EventScript_161C74
+ call_if_eq Route110_TrickHouseEnd_EventScript_161C74
compare FACING, 2
- call_if 1, Route110_TrickHouseEnd_EventScript_161C7F
+ call_if_eq Route110_TrickHouseEnd_EventScript_161C7F
compare FACING, 3
- call_if 1, Route110_TrickHouseEnd_EventScript_161C8A
+ call_if_eq Route110_TrickHouseEnd_EventScript_161C8A
compare FACING, 4
- call_if 1, Route110_TrickHouseEnd_EventScript_161C95
+ call_if_eq Route110_TrickHouseEnd_EventScript_161C95
delay 30
msgbox Route110_TrickHouseEnd_Text_19C602, 4
closemessage
@@ -172,7 +172,7 @@ Route110_TrickHouseEnd_EventScript_161BAF:: @ 8161BAF
givedecoration_std DECOR_RED_TENT
.endc
compare RESULT, 0
- call_if 1, Route110_TrickHouseEnd_EventScript_161C61
+ call_if_eq Route110_TrickHouseEnd_EventScript_161C61
msgbox Route110_TrickHouseEnd_Text_19C85C, 4
call Route110_TrickHouseEnd_EventScript_161C2E
special ResetTrickHouseEndRoomFlag
diff --git a/data/scripts/maps/Route110_TrickHouseEntrance.inc b/data/scripts/maps/Route110_TrickHouseEntrance.inc
index 232d324a4..527f09d27 100644
--- a/data/scripts/maps/Route110_TrickHouseEntrance.inc
+++ b/data/scripts/maps/Route110_TrickHouseEntrance.inc
@@ -13,11 +13,11 @@ Route110_TrickHouseEntrance_MapScript1_160F3B:: @ 8160F3B
compare VAR_TRICK_HOUSE_ENTRANCE_STATE_2, 1
goto_if_eq Route110_TrickHouseEntrance_EventScript_16108E
compare VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 5
- call_if 1, Route110_TrickHouseEntrance_EventScript_160FDE
+ call_if_eq Route110_TrickHouseEntrance_EventScript_160FDE
compare VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 3
- call_if 1, Route110_TrickHouseEntrance_EventScript_160FDE
+ call_if_eq Route110_TrickHouseEntrance_EventScript_160FDE
compare VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 0
- call_if 1, Route110_TrickHouseEntrance_EventScript_160FDE
+ call_if_eq Route110_TrickHouseEntrance_EventScript_160FDE
switch VAR_TRICK_HOUSE_ENTRANCE_STATE_3
case 0, Route110_TrickHouseEntrance_EventScript_16109A
case 1, Route110_TrickHouseEntrance_EventScript_1610A0
@@ -45,56 +45,49 @@ Route110_TrickHouseEntrance_EventScript_160FCE:: @ 8160FCE
Route110_TrickHouseEntrance_EventScript_160FDE:: @ 8160FDE
setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 0
compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 1
- call_if 1, Route110_TrickHouseEntrance_EventScript_16103C
+ call_if_eq Route110_TrickHouseEntrance_EventScript_16103C
compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 2
- call_if 1, Route110_TrickHouseEntrance_EventScript_161046
+ call_if_eq Route110_TrickHouseEntrance_EventScript_161046
compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 3
- call_if 1, Route110_TrickHouseEntrance_EventScript_161050
+ call_if_eq Route110_TrickHouseEntrance_EventScript_161050
compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 4
- call_if 1, Route110_TrickHouseEntrance_EventScript_16105A
+ call_if_eq Route110_TrickHouseEntrance_EventScript_16105A
compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 5
- call_if 1, Route110_TrickHouseEntrance_EventScript_161064
+ call_if_eq Route110_TrickHouseEntrance_EventScript_161064
compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 6
- call_if 1, Route110_TrickHouseEntrance_EventScript_16106E
+ call_if_eq Route110_TrickHouseEntrance_EventScript_16106E
compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 7
- call_if 1, Route110_TrickHouseEntrance_EventScript_161078
+ call_if_eq Route110_TrickHouseEntrance_EventScript_161078
compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 8
- call_if 1, Route110_TrickHouseEntrance_EventScript_161082
+ call_if_eq Route110_TrickHouseEntrance_EventScript_161082
return
Route110_TrickHouseEntrance_EventScript_16103C:: @ 816103C
- checkflag FLAG_BADGE03_GET
- call_if 0, Route110_TrickHouseEntrance_EventScript_161088
+ call_if_unset FLAG_BADGE03_GET, Route110_TrickHouseEntrance_EventScript_161088
return
Route110_TrickHouseEntrance_EventScript_161046:: @ 8161046
- checkflag FLAG_BADGE04_GET
- call_if 0, Route110_TrickHouseEntrance_EventScript_161088
+ call_if_unset FLAG_BADGE04_GET, Route110_TrickHouseEntrance_EventScript_161088
return
Route110_TrickHouseEntrance_EventScript_161050:: @ 8161050
- checkflag FLAG_BADGE05_GET
- call_if 0, Route110_TrickHouseEntrance_EventScript_161088
+ call_if_unset FLAG_BADGE05_GET, Route110_TrickHouseEntrance_EventScript_161088
return
Route110_TrickHouseEntrance_EventScript_16105A:: @ 816105A
- checkflag FLAG_BADGE06_GET
- call_if 0, Route110_TrickHouseEntrance_EventScript_161088
+ call_if_unset FLAG_BADGE06_GET, Route110_TrickHouseEntrance_EventScript_161088
return
Route110_TrickHouseEntrance_EventScript_161064:: @ 8161064
- checkflag FLAG_BADGE07_GET
- call_if 0, Route110_TrickHouseEntrance_EventScript_161088
+ call_if_unset FLAG_BADGE07_GET, Route110_TrickHouseEntrance_EventScript_161088
return
Route110_TrickHouseEntrance_EventScript_16106E:: @ 816106E
- checkflag FLAG_BADGE08_GET
- call_if 0, Route110_TrickHouseEntrance_EventScript_161088
+ call_if_unset FLAG_BADGE08_GET, Route110_TrickHouseEntrance_EventScript_161088
return
Route110_TrickHouseEntrance_EventScript_161078:: @ 8161078
- checkflag FLAG_SYS_GAME_CLEAR
- call_if 0, Route110_TrickHouseEntrance_EventScript_161088
+ call_if_unset FLAG_SYS_GAME_CLEAR, Route110_TrickHouseEntrance_EventScript_161088
return
Route110_TrickHouseEntrance_EventScript_161082:: @ 8161082
@@ -214,7 +207,7 @@ Route110_TrickHouseEntrance_EventScript_1611D7:: @ 81611D7
lockall
delay 20
compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 0
- call_if 1, Route110_TrickHouseEntrance_EventScript_161327
+ call_if_eq Route110_TrickHouseEntrance_EventScript_161327
msgbox Route110_TrickHouseEntrance_Text_19BD82, 4
closemessage
delay 20
@@ -249,21 +242,21 @@ Route110_TrickHouseEntrance_EventScript_16124D:: @ 816124D
applymovement 255, Route110_TrickHouseEntrance_Movement_1A0835
waitmovement 0
compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 0
- call_if 1, Route110_TrickHouseEntrance_EventScript_1612CD
+ call_if_eq Route110_TrickHouseEntrance_EventScript_1612CD
compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 1
- call_if 1, Route110_TrickHouseEntrance_EventScript_1612D6
+ call_if_eq Route110_TrickHouseEntrance_EventScript_1612D6
compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 2
- call_if 1, Route110_TrickHouseEntrance_EventScript_1612DF
+ call_if_eq Route110_TrickHouseEntrance_EventScript_1612DF
compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 3
- call_if 1, Route110_TrickHouseEntrance_EventScript_1612E8
+ call_if_eq Route110_TrickHouseEntrance_EventScript_1612E8
compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 4
- call_if 1, Route110_TrickHouseEntrance_EventScript_1612F1
+ call_if_eq Route110_TrickHouseEntrance_EventScript_1612F1
compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 5
- call_if 1, Route110_TrickHouseEntrance_EventScript_1612FA
+ call_if_eq Route110_TrickHouseEntrance_EventScript_1612FA
compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 6
- call_if 1, Route110_TrickHouseEntrance_EventScript_161303
+ call_if_eq Route110_TrickHouseEntrance_EventScript_161303
compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 7
- call_if 1, Route110_TrickHouseEntrance_EventScript_16130C
+ call_if_eq Route110_TrickHouseEntrance_EventScript_16130C
closemessage
setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_2, 1
warp MAP_ROUTE110_TRICK_HOUSE_ENTRANCE, 255, 6, 2
@@ -372,7 +365,7 @@ Route110_TrickHouseEntrance_EventScript_1613CE:: @ 81613CE
compare RESULT, 1
goto_if_eq Route110_TrickHouseEntrance_EventScript_161502
compare RESULT, 0
- call_if 1, Route110_TrickHouseEntrance_EventScript_1A02A5
+ call_if_eq Route110_TrickHouseEntrance_EventScript_1A02A5
msgbox Route110_TrickHouseEntrance_Text_19C0FC, 4
releaseall
end
@@ -382,7 +375,7 @@ Route110_TrickHouseEntrance_EventScript_1613FA:: @ 81613FA
compare RESULT, 1
goto_if_eq Route110_TrickHouseEntrance_EventScript_161502
compare RESULT, 0
- call_if 1, Route110_TrickHouseEntrance_EventScript_1A02A5
+ call_if_eq Route110_TrickHouseEntrance_EventScript_1A02A5
msgbox Route110_TrickHouseEntrance_Text_19C0FC, 4
releaseall
end
@@ -392,7 +385,7 @@ Route110_TrickHouseEntrance_EventScript_161426:: @ 8161426
compare RESULT, 1
goto_if_eq Route110_TrickHouseEntrance_EventScript_161502
compare RESULT, 0
- call_if 1, Route110_TrickHouseEntrance_EventScript_1A02A5
+ call_if_eq Route110_TrickHouseEntrance_EventScript_1A02A5
msgbox Route110_TrickHouseEntrance_Text_19C0FC, 4
releaseall
end
@@ -402,7 +395,7 @@ Route110_TrickHouseEntrance_EventScript_161452:: @ 8161452
compare RESULT, 1
goto_if_eq Route110_TrickHouseEntrance_EventScript_161502
compare RESULT, 0
- call_if 1, Route110_TrickHouseEntrance_EventScript_1A02A5
+ call_if_eq Route110_TrickHouseEntrance_EventScript_1A02A5
msgbox Route110_TrickHouseEntrance_Text_19C0FC, 4
releaseall
end
@@ -412,7 +405,7 @@ Route110_TrickHouseEntrance_EventScript_16147E:: @ 816147E
compare RESULT, 1
goto_if_eq Route110_TrickHouseEntrance_EventScript_161502
compare RESULT, 0
- call_if 1, Route110_TrickHouseEntrance_EventScript_1A02A5
+ call_if_eq Route110_TrickHouseEntrance_EventScript_1A02A5
msgbox Route110_TrickHouseEntrance_Text_19C0FC, 4
releaseall
end
@@ -422,7 +415,7 @@ Route110_TrickHouseEntrance_EventScript_1614AA:: @ 81614AA
compare RESULT, 1
goto_if_eq Route110_TrickHouseEntrance_EventScript_161502
compare RESULT, 0
- call_if 1, Route110_TrickHouseEntrance_EventScript_1A02A5
+ call_if_eq Route110_TrickHouseEntrance_EventScript_1A02A5
msgbox Route110_TrickHouseEntrance_Text_19C0FC, 4
releaseall
end
@@ -432,7 +425,7 @@ Route110_TrickHouseEntrance_EventScript_1614D6:: @ 81614D6
compare RESULT, 1
goto_if_eq Route110_TrickHouseEntrance_EventScript_161502
compare RESULT, 0
- call_if 1, Route110_TrickHouseEntrance_EventScript_1A02A5
+ call_if_eq Route110_TrickHouseEntrance_EventScript_1A02A5
msgbox Route110_TrickHouseEntrance_Text_19C0FC, 4
releaseall
end
@@ -457,7 +450,7 @@ Route110_TrickHouseEntrance_EventScript_161518:: @ 8161518
compare RESULT, 1
goto_if_eq Route110_TrickHouseEntrance_EventScript_161551
compare RESULT, 0
- call_if 1, Route110_TrickHouseEntrance_EventScript_1A02B8
+ call_if_eq Route110_TrickHouseEntrance_EventScript_1A02B8
msgbox Route110_TrickHouseEntrance_Text_19C18D, 4
releaseall
end
@@ -727,11 +720,11 @@ Route110_TrickHouseEntrance_EventScript_1618B0:: @ 81618B0
msgbox Route110_TrickHouseEntrance_Text_19BA56, 4
releaseall
compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 0
- call_if 1, Route110_TrickHouseEntrance_EventScript_1618E1
+ call_if_eq Route110_TrickHouseEntrance_EventScript_1618E1
compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 1
- call_if 1, Route110_TrickHouseEntrance_EventScript_1618F6
+ call_if_eq Route110_TrickHouseEntrance_EventScript_1618F6
compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 2
- call_if 1, Route110_TrickHouseEntrance_EventScript_16190B
+ call_if_eq Route110_TrickHouseEntrance_EventScript_16190B
setvar VAR_TRICK_HOUSE_ENTRANCE_STATE, 1
end
diff --git a/data/scripts/maps/Route110_TrickHousePuzzle2.inc b/data/scripts/maps/Route110_TrickHousePuzzle2.inc
index b1cb0c9df..cdde15d1a 100644
--- a/data/scripts/maps/Route110_TrickHousePuzzle2.inc
+++ b/data/scripts/maps/Route110_TrickHousePuzzle2.inc
@@ -5,13 +5,13 @@ Route110_TrickHousePuzzle2_MapScripts:: @ 8161D76
Route110_TrickHousePuzzle2_MapScript1_161D81:: @ 8161D81
compare VAR_TEMP_1, 1
- call_if 1, Route110_TrickHousePuzzle2_EventScript_161E2C
+ call_if_eq Route110_TrickHousePuzzle2_EventScript_161E2C
compare VAR_TEMP_2, 1
- call_if 1, Route110_TrickHousePuzzle2_EventScript_161E3F
+ call_if_eq Route110_TrickHousePuzzle2_EventScript_161E3F
compare VAR_TEMP_3, 1
- call_if 1, Route110_TrickHousePuzzle2_EventScript_161E52
+ call_if_eq Route110_TrickHousePuzzle2_EventScript_161E52
compare VAR_TEMP_4, 1
- call_if 1, Route110_TrickHousePuzzle2_EventScript_161E65
+ call_if_eq Route110_TrickHousePuzzle2_EventScript_161E65
end
Route110_TrickHousePuzzle2_MapScript1_161DAE:: @ 8161DAE
diff --git a/data/scripts/maps/Route110_TrickHousePuzzle3.inc b/data/scripts/maps/Route110_TrickHousePuzzle3.inc
index 8d5392ae8..14a021e8d 100644
--- a/data/scripts/maps/Route110_TrickHousePuzzle3.inc
+++ b/data/scripts/maps/Route110_TrickHousePuzzle3.inc
@@ -6,9 +6,9 @@ Route110_TrickHousePuzzle3_MapScripts:: @ 8161EBD
Route110_TrickHousePuzzle3_MapScript1_161EC8:: @ 8161EC8
call Route110_TrickHousePuzzle3_EventScript_161F12
compare VAR_TEMP_9, 0
- call_if 1, Route110_TrickHousePuzzle3_EventScript_161FE5
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_161FE5
compare VAR_TEMP_9, 1
- call_if 1, Route110_TrickHousePuzzle3_EventScript_1622C8
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_1622C8
end
Route110_TrickHousePuzzle3_MapScript1_161EE4:: @ 8161EE4
@@ -32,19 +32,19 @@ Route110_TrickHousePuzzle3_EventScript_161F12:: @ 8161F12
setmetatile 1, 3, 600, 0
setmetatile 10, 2, 600, 0
compare VAR_TEMP_8, 1
- call_if 1, Route110_TrickHousePuzzle3_EventScript_161F9F
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_161F9F
compare VAR_TEMP_8, 2
- call_if 1, Route110_TrickHousePuzzle3_EventScript_161FA9
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_161FA9
compare VAR_TEMP_8, 3
- call_if 1, Route110_TrickHousePuzzle3_EventScript_161FB3
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_161FB3
compare VAR_TEMP_8, 4
- call_if 1, Route110_TrickHousePuzzle3_EventScript_161FBD
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_161FBD
compare VAR_TEMP_8, 5
- call_if 1, Route110_TrickHousePuzzle3_EventScript_161FC7
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_161FC7
compare VAR_TEMP_8, 6
- call_if 1, Route110_TrickHousePuzzle3_EventScript_161FD1
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_161FD1
compare VAR_TEMP_8, 7
- call_if 1, Route110_TrickHousePuzzle3_EventScript_161FDB
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_161FDB
return
Route110_TrickHousePuzzle3_EventScript_161F9F:: @ 8161F9F
@@ -303,19 +303,19 @@ Route110_TrickHousePuzzle3_EventScript_162612:: @ 8162612
setvar VAR_TEMP_6, 0
setvar VAR_TEMP_7, 0
compare VAR_TEMP_8, 1
- call_if 1, Route110_TrickHousePuzzle3_EventScript_162683
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_162683
compare VAR_TEMP_8, 2
- call_if 1, Route110_TrickHousePuzzle3_EventScript_162689
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_162689
compare VAR_TEMP_8, 3
- call_if 1, Route110_TrickHousePuzzle3_EventScript_16268F
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_16268F
compare VAR_TEMP_8, 4
- call_if 1, Route110_TrickHousePuzzle3_EventScript_162695
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_162695
compare VAR_TEMP_8, 5
- call_if 1, Route110_TrickHousePuzzle3_EventScript_16269B
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_16269B
compare VAR_TEMP_8, 6
- call_if 1, Route110_TrickHousePuzzle3_EventScript_1626A1
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_1626A1
compare VAR_TEMP_8, 7
- call_if 1, Route110_TrickHousePuzzle3_EventScript_1626A7
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_1626A7
return
Route110_TrickHousePuzzle3_EventScript_162683:: @ 8162683
@@ -348,9 +348,9 @@ Route110_TrickHousePuzzle3_EventScript_1626A7:: @ 81626A7
Route110_TrickHousePuzzle3_EventScript_1626AD:: @ 81626AD
compare VAR_TEMP_9, 1
- call_if 1, Route110_TrickHousePuzzle3_EventScript_161FE5
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_161FE5
compare VAR_TEMP_9, 0
- call_if 1, Route110_TrickHousePuzzle3_EventScript_1622C8
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_1622C8
special DrawWholeMapView
compare VAR_TEMP_9, 1
goto_if_eq Route110_TrickHousePuzzle3_EventScript_1626DD
diff --git a/data/scripts/maps/Route110_TrickHousePuzzle5.inc b/data/scripts/maps/Route110_TrickHousePuzzle5.inc
index 1bcdb8087..5ec1a4d64 100644
--- a/data/scripts/maps/Route110_TrickHousePuzzle5.inc
+++ b/data/scripts/maps/Route110_TrickHousePuzzle5.inc
@@ -166,11 +166,11 @@ Route110_TrickHousePuzzle5_EventScript_16293F:: @ 816293F
applymovement 1, Route110_TrickHousePuzzle5_Movement_1A0835
waitmovement 0
compare VAR_TEMP_9, 1
- call_if 1, Route110_TrickHousePuzzle5_EventScript_162DF3
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_162DF3
compare VAR_TEMP_9, 2
- call_if 1, Route110_TrickHousePuzzle5_EventScript_162E2B
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_162E2B
compare VAR_TEMP_9, 3
- call_if 1, Route110_TrickHousePuzzle5_EventScript_162E63
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_162E63
msgbox Route110_TrickHousePuzzle5_Text_19D423, 4
random 3
switch RESULT
@@ -188,11 +188,11 @@ Route110_TrickHousePuzzle5_EventScript_1629B3:: @ 81629B3
applymovement 2, Route110_TrickHousePuzzle5_Movement_1A0835
waitmovement 0
compare VAR_TEMP_9, 1
- call_if 1, Route110_TrickHousePuzzle5_EventScript_162E9B
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_162E9B
compare VAR_TEMP_9, 2
- call_if 1, Route110_TrickHousePuzzle5_EventScript_162ED3
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_162ED3
compare VAR_TEMP_9, 3
- call_if 1, Route110_TrickHousePuzzle5_EventScript_162F0B
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_162F0B
msgbox Route110_TrickHousePuzzle5_Text_19D636, 4
random 3
switch RESULT
@@ -210,11 +210,11 @@ Route110_TrickHousePuzzle5_EventScript_162A27:: @ 8162A27
applymovement 3, Route110_TrickHousePuzzle5_Movement_1A0835
waitmovement 0
compare VAR_TEMP_9, 1
- call_if 1, Route110_TrickHousePuzzle5_EventScript_162DF3
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_162DF3
compare VAR_TEMP_9, 2
- call_if 1, Route110_TrickHousePuzzle5_EventScript_162E2B
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_162E2B
compare VAR_TEMP_9, 3
- call_if 1, Route110_TrickHousePuzzle5_EventScript_162E63
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_162E63
msgbox Route110_TrickHousePuzzle5_Text_19D7D3, 4
random 3
switch RESULT
@@ -232,11 +232,11 @@ Route110_TrickHousePuzzle5_EventScript_162A9B:: @ 8162A9B
applymovement 4, Route110_TrickHousePuzzle5_Movement_1A0835
waitmovement 0
compare VAR_TEMP_9, 1
- call_if 1, Route110_TrickHousePuzzle5_EventScript_162DF3
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_162DF3
compare VAR_TEMP_9, 2
- call_if 1, Route110_TrickHousePuzzle5_EventScript_162E2B
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_162E2B
compare VAR_TEMP_9, 3
- call_if 1, Route110_TrickHousePuzzle5_EventScript_162E63
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_162E63
msgbox Route110_TrickHousePuzzle5_Text_19D93D, 4
random 3
switch RESULT
@@ -254,11 +254,11 @@ Route110_TrickHousePuzzle5_EventScript_162B0F:: @ 8162B0F
applymovement 5, Route110_TrickHousePuzzle5_Movement_1A0835
waitmovement 0
compare VAR_TEMP_9, 1
- call_if 1, Route110_TrickHousePuzzle5_EventScript_162E9B
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_162E9B
compare VAR_TEMP_9, 2
- call_if 1, Route110_TrickHousePuzzle5_EventScript_162ED3
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_162ED3
compare VAR_TEMP_9, 3
- call_if 1, Route110_TrickHousePuzzle5_EventScript_162F0B
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_162F0B
msgbox Route110_TrickHousePuzzle5_Text_19DA9A, 4
random 3
switch RESULT
@@ -419,80 +419,80 @@ Route110_TrickHousePuzzle5_EventScript_162DE9:: @ 8162DE9
Route110_TrickHousePuzzle5_EventScript_162DF3:: @ 8162DF3
compare VAR_TEMP_8, 1
- call_if 1, Route110_TrickHousePuzzle5_EventScript_162F43
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_162F43
compare VAR_TEMP_8, 2
- call_if 1, Route110_TrickHousePuzzle5_EventScript_162F4E
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_162F4E
compare VAR_TEMP_8, 3
- call_if 1, Route110_TrickHousePuzzle5_EventScript_162F59
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_162F59
compare VAR_TEMP_8, 4
- call_if 1, Route110_TrickHousePuzzle5_EventScript_162F64
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_162F64
compare VAR_TEMP_8, 5
- call_if 1, Route110_TrickHousePuzzle5_EventScript_162F6F
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_162F6F
return
Route110_TrickHousePuzzle5_EventScript_162E2B:: @ 8162E2B
compare VAR_TEMP_8, 1
- call_if 1, Route110_TrickHousePuzzle5_EventScript_162F7A
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_162F7A
compare VAR_TEMP_8, 2
- call_if 1, Route110_TrickHousePuzzle5_EventScript_162F85
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_162F85
compare VAR_TEMP_8, 3
- call_if 1, Route110_TrickHousePuzzle5_EventScript_162F90
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_162F90
compare VAR_TEMP_8, 4
- call_if 1, Route110_TrickHousePuzzle5_EventScript_162F9B
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_162F9B
compare VAR_TEMP_8, 5
- call_if 1, Route110_TrickHousePuzzle5_EventScript_162FA6
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_162FA6
return
Route110_TrickHousePuzzle5_EventScript_162E63:: @ 8162E63
compare VAR_TEMP_8, 1
- call_if 1, Route110_TrickHousePuzzle5_EventScript_162FB1
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_162FB1
compare VAR_TEMP_8, 2
- call_if 1, Route110_TrickHousePuzzle5_EventScript_162FBC
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_162FBC
compare VAR_TEMP_8, 3
- call_if 1, Route110_TrickHousePuzzle5_EventScript_162FC7
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_162FC7
compare VAR_TEMP_9, 4
- call_if 1, Route110_TrickHousePuzzle5_EventScript_162FD2
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_162FD2
compare VAR_TEMP_9, 5
- call_if 1, Route110_TrickHousePuzzle5_EventScript_162FDD
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_162FDD
return
Route110_TrickHousePuzzle5_EventScript_162E9B:: @ 8162E9B
compare VAR_TEMP_8, 1
- call_if 1, Route110_TrickHousePuzzle5_EventScript_162FE8
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_162FE8
compare VAR_TEMP_8, 2
- call_if 1, Route110_TrickHousePuzzle5_EventScript_162FF3
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_162FF3
compare VAR_TEMP_8, 3
- call_if 1, Route110_TrickHousePuzzle5_EventScript_162FFE
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_162FFE
compare VAR_TEMP_8, 4
- call_if 1, Route110_TrickHousePuzzle5_EventScript_163009
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_163009
compare VAR_TEMP_8, 5
- call_if 1, Route110_TrickHousePuzzle5_EventScript_163014
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_163014
return
Route110_TrickHousePuzzle5_EventScript_162ED3:: @ 8162ED3
compare VAR_TEMP_8, 1
- call_if 1, Route110_TrickHousePuzzle5_EventScript_16301F
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_16301F
compare VAR_TEMP_8, 2
- call_if 1, Route110_TrickHousePuzzle5_EventScript_16302A
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_16302A
compare VAR_TEMP_8, 3
- call_if 1, Route110_TrickHousePuzzle5_EventScript_163035
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_163035
compare VAR_TEMP_8, 4
- call_if 1, Route110_TrickHousePuzzle5_EventScript_163040
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_163040
compare VAR_TEMP_8, 5
- call_if 1, Route110_TrickHousePuzzle5_EventScript_16304B
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_16304B
return
Route110_TrickHousePuzzle5_EventScript_162F0B:: @ 8162F0B
compare VAR_TEMP_8, 1
- call_if 1, Route110_TrickHousePuzzle5_EventScript_163056
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_163056
compare VAR_TEMP_8, 2
- call_if 1, Route110_TrickHousePuzzle5_EventScript_163061
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_163061
compare VAR_TEMP_8, 3
- call_if 1, Route110_TrickHousePuzzle5_EventScript_16306C
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_16306C
compare VAR_TEMP_8, 4
- call_if 1, Route110_TrickHousePuzzle5_EventScript_163077
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_163077
compare VAR_TEMP_8, 5
- call_if 1, Route110_TrickHousePuzzle5_EventScript_163082
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_163082
return
Route110_TrickHousePuzzle5_EventScript_162F43:: @ 8162F43
diff --git a/data/scripts/maps/Route110_TrickHousePuzzle7.inc b/data/scripts/maps/Route110_TrickHousePuzzle7.inc
index d1de7682f..1ee608166 100644
--- a/data/scripts/maps/Route110_TrickHousePuzzle7.inc
+++ b/data/scripts/maps/Route110_TrickHousePuzzle7.inc
@@ -10,16 +10,11 @@ Route110_TrickHousePuzzle7_MapScript1_163161:: @ 8163161
end
Route110_TrickHousePuzzle7_EventScript_163167:: @ 8163167
- checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1
- call_if 1, Route110_TrickHousePuzzle7_EventScript_163195
- checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2
- call_if 1, Route110_TrickHousePuzzle7_EventScript_1631A8
- checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3
- call_if 1, Route110_TrickHousePuzzle7_EventScript_1631BB
- checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4
- call_if 1, Route110_TrickHousePuzzle7_EventScript_1631CE
- checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5
- call_if 1, Route110_TrickHousePuzzle7_EventScript_1631E1
+ call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_163195
+ call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_1631A8
+ call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_1631BB
+ call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_1631CE
+ call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_1631E1
return
Route110_TrickHousePuzzle7_EventScript_163195:: @ 8163195
@@ -87,7 +82,7 @@ Route110_TrickHousePuzzle7_EventScript_16326E:: @ 816326E
Route110_TrickHousePuzzle7_MapScript1_16326F:: @ 816326F
compare VAR_TRICK_HOUSE_PUZZLE_7_STATE_2, 1
- call_if 1, Route110_TrickHousePuzzle7_EventScript_163167
+ call_if_eq Route110_TrickHousePuzzle7_EventScript_163167
end
Route110_TrickHousePuzzle7_MapScript2_16327B:: @ 816327B
@@ -121,76 +116,56 @@ Route110_TrickHousePuzzle7_EventScript_1632A8:: @ 81632A8
Route110_TrickHousePuzzle7_EventScript_1632B9:: @ 81632B9
lockall
delay 32
- checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1
- call_if 0, Route110_TrickHousePuzzle7_EventScript_163195
- checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1
- call_if 1, Route110_TrickHousePuzzle7_EventScript_1631F4
+ call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_163195
+ call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_1631F4
special DrawWholeMapView
playse SE_TK_KASYA
- checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1
- goto_if 0, Route110_TrickHousePuzzle7_EventScript_1633A4
- checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1
- goto_if_eq Route110_TrickHousePuzzle7_EventScript_1633A9
+ goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_1633A4
+ goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_1633A9
end
Route110_TrickHousePuzzle7_EventScript_1632E8:: @ 81632E8
lockall
delay 32
- checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2
- call_if 0, Route110_TrickHousePuzzle7_EventScript_1631A8
- checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2
- call_if 1, Route110_TrickHousePuzzle7_EventScript_163207
+ call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_1631A8
+ call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_163207
special DrawWholeMapView
playse SE_TK_KASYA
- checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2
- goto_if 0, Route110_TrickHousePuzzle7_EventScript_1633AE
- checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2
- goto_if_eq Route110_TrickHousePuzzle7_EventScript_1633B3
+ goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_1633AE
+ goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_1633B3
end
Route110_TrickHousePuzzle7_EventScript_163317:: @ 8163317
lockall
delay 32
- checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3
- call_if 0, Route110_TrickHousePuzzle7_EventScript_1631BB
- checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3
- call_if 1, Route110_TrickHousePuzzle7_EventScript_16321A
+ call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_1631BB
+ call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_16321A
special DrawWholeMapView
playse SE_TK_KASYA
- checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3
- goto_if 0, Route110_TrickHousePuzzle7_EventScript_1633B8
- checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3
- goto_if_eq Route110_TrickHousePuzzle7_EventScript_1633BD
+ goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_1633B8
+ goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_1633BD
end
Route110_TrickHousePuzzle7_EventScript_163346:: @ 8163346
lockall
delay 32
- checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4
- call_if 0, Route110_TrickHousePuzzle7_EventScript_1631CE
- checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4
- call_if 1, Route110_TrickHousePuzzle7_EventScript_16322D
+ call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_1631CE
+ call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_16322D
special DrawWholeMapView
playse SE_TK_KASYA
- checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4
- goto_if 0, Route110_TrickHousePuzzle7_EventScript_1633C2
- checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4
- goto_if_eq Route110_TrickHousePuzzle7_EventScript_1633C7
+ goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_1633C2
+ goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_1633C7
end
Route110_TrickHousePuzzle7_EventScript_163375:: @ 8163375
lockall
delay 32
- checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5
- call_if 0, Route110_TrickHousePuzzle7_EventScript_1631E1
- checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5
- call_if 1, Route110_TrickHousePuzzle7_EventScript_163240
+ call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_1631E1
+ call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_163240
special DrawWholeMapView
playse SE_TK_KASYA
- checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5
- goto_if 0, Route110_TrickHousePuzzle7_EventScript_1633CC
- checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5
- goto_if_eq Route110_TrickHousePuzzle7_EventScript_1633D1
+ goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_1633CC
+ goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_1633D1
end
Route110_TrickHousePuzzle7_EventScript_1633A4:: @ 81633A4
diff --git a/data/scripts/maps/Route111.inc b/data/scripts/maps/Route111.inc
index c338091a0..99fa29efb 100644
--- a/data/scripts/maps/Route111.inc
+++ b/data/scripts/maps/Route111.inc
@@ -4,8 +4,7 @@ Route111_MapScripts:: @ 814FF91
.byte 0
Route111_MapScript1_14FF9C:: @ 814FF9C
- checkflag FLAG_REGI_DOORS_OPENED
- call_if 0, Route111_EventScript_14FFA6
+ call_if_unset FLAG_REGI_DOORS_OPENED, Route111_EventScript_14FFA6
end
Route111_EventScript_14FFA6:: @ 814FFA6
@@ -16,22 +15,21 @@ Route111_EventScript_14FFA6:: @ 814FFA6
Route111_MapScript1_14FFB9:: @ 814FFB9
call Route111_EventScript_14FFCD
call Route111_EventScript_1AE313
- checktrainerflag OPPONENT_VICKY
- goto_if 0, Route111_EventScript_15000D
+ goto_if_trainer_not_defeated OPPONENT_VICKY, Route111_EventScript_15000D
end
Route111_EventScript_14FFCD:: @ 814FFCD
getplayerxy VAR_TEMP_0, VAR_TEMP_1
compare VAR_TEMP_1, 34
- goto_if 0, Route111_EventScript_15000C
+ goto_if_lt Route111_EventScript_15000C
compare VAR_TEMP_1, 107
- goto_if 2, Route111_EventScript_15000C
+ goto_if_gt Route111_EventScript_15000C
compare VAR_TEMP_1, 72
- goto_if 2, Route111_EventScript_150009
+ goto_if_gt Route111_EventScript_150009
compare VAR_TEMP_0, 2000
- goto_if 2, Route111_EventScript_15000C
+ goto_if_gt Route111_EventScript_15000C
compare VAR_TEMP_0, 8
- goto_if 0, Route111_EventScript_15000C
+ goto_if_lt Route111_EventScript_15000C
Route111_EventScript_150009:: @ 8150009
setweather WEATHER_SANDSTORM
@@ -121,8 +119,7 @@ Route111_EventScript_1500C5:: @ 81500C5
lock
faceplayer
dodailyevents
- checkflag FLAG_DAILY_RECEIVED_BERRY_ROUTE111
- goto_if_eq Route111_EventScript_150100
+ goto_if_set FLAG_DAILY_RECEIVED_BERRY_ROUTE111, Route111_EventScript_150100
msgbox Route111_Text_1C56F0, 4
giveitem_std ITEM_RAZZ_BERRY
compare RESULT, 0
@@ -174,13 +171,13 @@ Route111_EventScript_150151:: @ 8150151
msgbox Route111_Text_1A0F93, 4
closemessage
compare VAR_SPECIAL_4, 0
- call_if 1, Route111_EventScript_150188
+ call_if_eq Route111_EventScript_150188
compare VAR_SPECIAL_4, 1
- call_if 1, Route111_EventScript_150193
+ call_if_eq Route111_EventScript_150193
compare VAR_SPECIAL_4, 2
- call_if 1, Route111_EventScript_15019E
+ call_if_eq Route111_EventScript_15019E
compare VAR_SPECIAL_4, 3
- call_if 1, Route111_EventScript_1501A9
+ call_if_eq Route111_EventScript_1501A9
releaseall
end
diff --git a/data/scripts/maps/Route111_WinstrateFamilysHouse.inc b/data/scripts/maps/Route111_WinstrateFamilysHouse.inc
index 8352db786..020b51791 100644
--- a/data/scripts/maps/Route111_WinstrateFamilysHouse.inc
+++ b/data/scripts/maps/Route111_WinstrateFamilysHouse.inc
@@ -13,8 +13,7 @@ Route111_WinstrateFamilysHouse_EventScript_15BF3A:: @ 815BF3A
lock
faceplayer
setvar VAR_SPECIAL_8, 3
- checkflag FLAG_RECEIVED_MACHO_BRACE
- goto_if_eq Route111_WinstrateFamilysHouse_EventScript_15BF72
+ goto_if_set FLAG_RECEIVED_MACHO_BRACE, Route111_WinstrateFamilysHouse_EventScript_15BF72
msgbox Route111_WinstrateFamilysHouse_Text_19208A, 4
giveitem_std ITEM_MACHO_BRACE
compare RESULT, 0
@@ -40,8 +39,7 @@ Route111_WinstrateFamilysHouse_EventScript_15BF95:: @ 815BF95
lock
faceplayer
setvar VAR_SPECIAL_8, 4
- checkflag FLAG_TEMP_4
- goto_if_eq Route111_WinstrateFamilysHouse_EventScript_15BFB6
+ goto_if_set FLAG_TEMP_4, Route111_WinstrateFamilysHouse_EventScript_15BFB6
msgbox Route111_WinstrateFamilysHouse_Text_192219, 4
setflag FLAG_TEMP_4
goto Route111_WinstrateFamilysHouse_EventScript_15BFC4
diff --git a/data/scripts/maps/Route112_CableCarStation.inc b/data/scripts/maps/Route112_CableCarStation.inc
index adbea780e..570075078 100644
--- a/data/scripts/maps/Route112_CableCarStation.inc
+++ b/data/scripts/maps/Route112_CableCarStation.inc
@@ -6,7 +6,7 @@ Route112_CableCarStation_MapScripts:: @ 815C033
Route112_CableCarStation_MapScript1_15C03E:: @ 815C03E
setescapewarp MAP_ROUTE112, 255, 28, 28
compare VAR_CABLE_CAR_STATION_STATE, 2
- call_if 1, Route112_CableCarStation_EventScript_15C052
+ call_if_eq Route112_CableCarStation_EventScript_15C052
end
Route112_CableCarStation_EventScript_15C052:: @ 815C052
@@ -49,7 +49,7 @@ Route112_CableCarStation_EventScript_15C0AD:: @ 815C0AD
setvar VAR_CABLE_CAR_STATION_STATE, 1
incrementgamestat GAME_STAT_RODE_CABLE_CAR
special CableCarWarp
- special sub_8123218
+ special CableCar
waitstate
release
end
diff --git a/data/scripts/maps/Route113.inc b/data/scripts/maps/Route113.inc
index a1593ba1e..41b289db0 100644
--- a/data/scripts/maps/Route113.inc
+++ b/data/scripts/maps/Route113.inc
@@ -15,9 +15,9 @@ Route113_MapScript1_1505DA:: @ 81505DA
Route113_EventScript_1505E5:: @ 81505E5
getplayerxy VAR_TEMP_0, VAR_TEMP_1
compare VAR_TEMP_0, 19
- goto_if 0, Route113_EventScript_150604
+ goto_if_lt Route113_EventScript_150604
compare VAR_TEMP_0, 84
- goto_if 2, Route113_EventScript_150604
+ goto_if_gt Route113_EventScript_150604
setweather WEATHER_ASH
return
diff --git a/data/scripts/maps/Route113_GlassWorkshop.inc b/data/scripts/maps/Route113_GlassWorkshop.inc
index 3f991277f..e42a6f89a 100644
--- a/data/scripts/maps/Route113_GlassWorkshop.inc
+++ b/data/scripts/maps/Route113_GlassWorkshop.inc
@@ -5,7 +5,7 @@ Route113_GlassWorkshop_MapScripts:: @ 816354A
Route113_GlassWorkshop_MapScript1_163550:: @ 8163550
setflag FLAG_LANDMARK_GLASS_WORKSHOP
compare VAR_GLASS_WORKSHOP_STATE, 1
- call_if 1, Route113_GlassWorkshop_EventScript_16355F
+ call_if_eq Route113_GlassWorkshop_EventScript_16355F
end
Route113_GlassWorkshop_EventScript_16355F:: @ 816355F
@@ -16,7 +16,7 @@ Route113_GlassWorkshop_EventScript_163565:: @ 8163565
lock
faceplayer
compare VAR_GLASS_WORKSHOP_STATE, 10
- goto_if 4, Route113_GlassWorkshop_EventScript_1638D2
+ goto_if_ge Route113_GlassWorkshop_EventScript_1638D2
compare VAR_GLASS_WORKSHOP_STATE, 2
goto_if_eq Route113_GlassWorkshop_EventScript_1635B5
compare VAR_GLASS_WORKSHOP_STATE, 1
@@ -39,7 +39,7 @@ Route113_GlassWorkshop_EventScript_1635B5:: @ 81635B5
goto_if_eq Route113_GlassWorkshop_EventScript_1635E4
msgbox Route113_GlassWorkshop_Text_19E65B, 4
compare VAR_ASH_GATHER_COUNT, 250
- goto_if 0, Route113_GlassWorkshop_EventScript_163818
+ goto_if_lt Route113_GlassWorkshop_EventScript_163818
message Route113_GlassWorkshop_Text_19E757
waitmessage
goto Route113_GlassWorkshop_EventScript_1635EE
@@ -71,7 +71,7 @@ Route113_GlassWorkshop_EventScript_163660:: @ 8163660
bufferitemname 0, VAR_SPECIAL_8
setvar VAR_SPECIAL_A, 250
compare VAR_ASH_GATHER_COUNT, 250
- goto_if 0, Route113_GlassWorkshop_EventScript_163830
+ goto_if_lt Route113_GlassWorkshop_EventScript_163830
msgbox Route113_GlassWorkshop_Text_19E7CD, MSGBOX_YESNO
compare RESULT, NO
goto_if_eq Route113_GlassWorkshop_EventScript_163845
@@ -85,7 +85,7 @@ Route113_GlassWorkshop_EventScript_16369C:: @ 816369C
bufferitemname 0, VAR_SPECIAL_8
setvar VAR_SPECIAL_A, 500
compare VAR_ASH_GATHER_COUNT, 500
- goto_if 0, Route113_GlassWorkshop_EventScript_163830
+ goto_if_lt Route113_GlassWorkshop_EventScript_163830
msgbox Route113_GlassWorkshop_Text_19E7CD, MSGBOX_YESNO
compare RESULT, NO
goto_if_eq Route113_GlassWorkshop_EventScript_163845
@@ -99,7 +99,7 @@ Route113_GlassWorkshop_EventScript_1636D8:: @ 81636D8
bufferitemname 0, VAR_SPECIAL_8
setvar VAR_SPECIAL_A, 500
compare VAR_ASH_GATHER_COUNT, 500
- goto_if 0, Route113_GlassWorkshop_EventScript_163830
+ goto_if_lt Route113_GlassWorkshop_EventScript_163830
msgbox Route113_GlassWorkshop_Text_19E7CD, MSGBOX_YESNO
compare RESULT, NO
goto_if_eq Route113_GlassWorkshop_EventScript_163845
@@ -113,7 +113,7 @@ Route113_GlassWorkshop_EventScript_163714:: @ 8163714
bufferitemname 0, VAR_SPECIAL_8
setvar VAR_SPECIAL_A, 1000
compare VAR_ASH_GATHER_COUNT, 1000
- goto_if 0, Route113_GlassWorkshop_EventScript_163830
+ goto_if_lt Route113_GlassWorkshop_EventScript_163830
msgbox Route113_GlassWorkshop_Text_19E7CD, MSGBOX_YESNO
compare RESULT, NO
goto_if_eq Route113_GlassWorkshop_EventScript_163845
@@ -127,7 +127,7 @@ Route113_GlassWorkshop_EventScript_163750:: @ 8163750
bufferitemname 0, VAR_SPECIAL_8
setvar VAR_SPECIAL_A, 1000
compare VAR_ASH_GATHER_COUNT, 1000
- goto_if 0, Route113_GlassWorkshop_EventScript_163830
+ goto_if_lt Route113_GlassWorkshop_EventScript_163830
msgbox Route113_GlassWorkshop_Text_19E7CD, MSGBOX_YESNO
compare RESULT, NO
goto_if_eq Route113_GlassWorkshop_EventScript_163845
@@ -142,7 +142,7 @@ Route113_GlassWorkshop_EventScript_16378C:: @ 816378C
bufferdecorationname 0, VAR_SPECIAL_8
setvar VAR_SPECIAL_A, 6000
compare VAR_ASH_GATHER_COUNT, 6000
- goto_if 0, Route113_GlassWorkshop_EventScript_163830
+ goto_if_lt Route113_GlassWorkshop_EventScript_163830
msgbox Route113_GlassWorkshop_Text_19E7CD, MSGBOX_YESNO
compare RESULT, NO
goto_if_eq Route113_GlassWorkshop_EventScript_163845
@@ -157,7 +157,7 @@ Route113_GlassWorkshop_EventScript_1637CD:: @ 81637CD
bufferdecorationname 0, VAR_SPECIAL_8
setvar VAR_SPECIAL_A, 8000
compare VAR_ASH_GATHER_COUNT, 8000
- goto_if 0, Route113_GlassWorkshop_EventScript_163830
+ goto_if_lt Route113_GlassWorkshop_EventScript_163830
msgbox Route113_GlassWorkshop_Text_19E7CD, MSGBOX_YESNO
compare RESULT, NO
goto_if_eq Route113_GlassWorkshop_EventScript_163845
@@ -202,9 +202,9 @@ Route113_GlassWorkshop_EventScript_163851:: @ 8163851
fadescreen 0
msgbox Route113_GlassWorkshop_Text_19E9D7, 4
compare VAR_SPECIAL_9, 0
- call_if 1, Route113_GlassWorkshop_EventScript_163889
+ call_if_eq Route113_GlassWorkshop_EventScript_163889
compare VAR_SPECIAL_9, 1
- call_if 1, Route113_GlassWorkshop_EventScript_1638A1
+ call_if_eq Route113_GlassWorkshop_EventScript_1638A1
setvar VAR_GLASS_WORKSHOP_STATE, 2
release
end
@@ -296,9 +296,9 @@ Route113_GlassWorkshop_EventScript_16399D:: @ 816399D
Route113_GlassWorkshop_EventScript_1639B1:: @ 81639B1
msgbox Route113_GlassWorkshop_Text_19E9D7, 4
compare VAR_SPECIAL_9, 0
- call_if 1, Route113_GlassWorkshop_EventScript_163889
+ call_if_eq Route113_GlassWorkshop_EventScript_163889
compare VAR_SPECIAL_9, 1
- call_if 1, Route113_GlassWorkshop_EventScript_1638A1
+ call_if_eq Route113_GlassWorkshop_EventScript_1638A1
setvar VAR_GLASS_WORKSHOP_STATE, 2
release
end
diff --git a/data/scripts/maps/Route114.inc b/data/scripts/maps/Route114.inc
index f6bb6d8ba..30ab8c572 100644
--- a/data/scripts/maps/Route114.inc
+++ b/data/scripts/maps/Route114.inc
@@ -5,8 +5,7 @@ Route114_EventScript_150733:: @ 8150733
lock
faceplayer
dodailyevents
- checkflag FLAG_DAILY_RECEIVED_BERRY_ROUTE114
- goto_if_eq Route114_EventScript_150778
+ goto_if_set FLAG_DAILY_RECEIVED_BERRY_ROUTE114, Route114_EventScript_150778
msgbox Route114_Text_1C5803, 4
random 5
addvar RESULT, 15
@@ -27,8 +26,7 @@ Route114_EventScript_150778:: @ 8150778
Route114_EventScript_150782:: @ 8150782
lock
faceplayer
- checkflag FLAG_RECEIVED_TM05
- goto_if_eq Route114_EventScript_1507B9
+ goto_if_set FLAG_RECEIVED_TM05, Route114_EventScript_1507B9
msgbox Route114_Text_170154, 4
giveitem_std ITEM_TM05
compare RESULT, 0
diff --git a/data/scripts/maps/Route114_FossilManiacsHouse.inc b/data/scripts/maps/Route114_FossilManiacsHouse.inc
index 1a1445fde..b191db5f6 100644
--- a/data/scripts/maps/Route114_FossilManiacsHouse.inc
+++ b/data/scripts/maps/Route114_FossilManiacsHouse.inc
@@ -9,8 +9,7 @@ Route114_FossilManiacsHouse_MapScript1_15C1BF:: @ 815C1BF
Route114_FossilManiacsHouse_EventScript_15C1C3:: @ 815C1C3
lock
faceplayer
- checkflag FLAG_RECEIVED_TM28
- goto_if_eq Route114_FossilManiacsHouse_EventScript_15C1F2
+ goto_if_set FLAG_RECEIVED_TM28, Route114_FossilManiacsHouse_EventScript_15C1F2
msgbox Route114_FossilManiacsHouse_Text_1925E1, 4
giveitem_std ITEM_TM28
compare RESULT, 0
diff --git a/data/scripts/maps/Route114_FossilManiacsTunnel.inc b/data/scripts/maps/Route114_FossilManiacsTunnel.inc
index 2ce9c1bfa..740a48314 100644
--- a/data/scripts/maps/Route114_FossilManiacsTunnel.inc
+++ b/data/scripts/maps/Route114_FossilManiacsTunnel.inc
@@ -4,8 +4,7 @@ Route114_FossilManiacsTunnel_MapScripts:: @ 815C20E
Route114_FossilManiacsTunnel_EventScript_15C20F:: @ 815C20F
lock
faceplayer
- checkflag FLAG_RECEIVED_FOSSIL_MON
- goto_if_eq Route114_FossilManiacsTunnel_EventScript_15C24E
+ goto_if_set FLAG_RECEIVED_FOSSIL_MON, Route114_FossilManiacsTunnel_EventScript_15C24E
checkitem ITEM_ROOT_FOSSIL, 1
compare RESULT, 1
goto_if_eq Route114_FossilManiacsTunnel_EventScript_15C244
diff --git a/data/scripts/maps/Route114_LanettesHouse.inc b/data/scripts/maps/Route114_LanettesHouse.inc
index c34d4fc7e..30eb844ac 100644
--- a/data/scripts/maps/Route114_LanettesHouse.inc
+++ b/data/scripts/maps/Route114_LanettesHouse.inc
@@ -9,8 +9,7 @@ Route114_LanettesHouse_MapScript1_15C25E:: @ 815C25E
Route114_LanettesHouse_EventScript_15C262:: @ 815C262
lock
faceplayer
- checkflag FLAG_RECEIVED_DOLL_LANETTE
- goto_if_eq Route114_LanettesHouse_EventScript_15C28F
+ goto_if_set FLAG_RECEIVED_DOLL_LANETTE, Route114_LanettesHouse_EventScript_15C28F
setflag FLAG_SYS_PC_LANETTE
msgbox Route114_LanettesHouse_Text_192A0D, 4
.ifdef SAPPHIRE
@@ -41,7 +40,7 @@ Route114_LanettesHouse_EventScript_15C299:: @ 815C299
Route114_LanettesHouse_EventScript_15C2B7:: @ 815C2B7
msgbox Route114_LanettesHouse_Text_192C01, MSGBOX_YESNO
compare RESULT, YES
- call_if 1, Route114_LanettesHouse_EventScript_15C2CC
+ call_if_eq Route114_LanettesHouse_EventScript_15C2CC
releaseall
end
diff --git a/data/scripts/maps/Route116.inc b/data/scripts/maps/Route116.inc
index 4e08705cf..eea14e25d 100644
--- a/data/scripts/maps/Route116.inc
+++ b/data/scripts/maps/Route116.inc
@@ -3,8 +3,7 @@ Route116_MapScripts:: @ 8150A31
.byte 0
Route116_MapScript1_150A37:: @ 8150A37
- checkflag FLAG_RECOVERED_DEVON_GOODS
- call_if 1, Route116_EventScript_150A41
+ call_if_set FLAG_RECOVERED_DEVON_GOODS, Route116_EventScript_150A41
end
Route116_EventScript_150A41:: @ 8150A41
@@ -14,10 +13,8 @@ Route116_EventScript_150A41:: @ 8150A41
Route116_EventScript_150A49:: @ 8150A49
lock
faceplayer
- checkflag FLAG_RECOVERED_DEVON_GOODS
- goto_if_eq Route116_EventScript_150A67
- checkflag FLAG_DEVON_GOODS_STOLEN
- goto_if_eq Route116_EventScript_150A71
+ goto_if_set FLAG_RECOVERED_DEVON_GOODS, Route116_EventScript_150A67
+ goto_if_set FLAG_DEVON_GOODS_STOLEN, Route116_EventScript_150A71
msgbox Route116_Text_1703CF, 4
release
end
@@ -35,8 +32,7 @@ Route116_EventScript_150A71:: @ 8150A71
Route116_EventScript_150A7B:: @ 8150A7B
lock
faceplayer
- checkflag FLAG_MET_DEVON_EMPLOYEE
- goto_if_eq Route116_EventScript_150B04
+ goto_if_set FLAG_MET_DEVON_EMPLOYEE, Route116_EventScript_150B04
msgbox Route116_Text_1705AE, 4
goto Route116_EventScript_150A94
end
@@ -49,13 +45,13 @@ Route116_EventScript_150A94:: @ 8150A94
msgbox Route116_Text_1707B8, 4
closemessage
compare FACING, 2
- call_if 1, Route116_EventScript_150AEE
+ call_if_eq Route116_EventScript_150AEE
compare FACING, 1
- call_if 1, Route116_EventScript_150AEE
+ call_if_eq Route116_EventScript_150AEE
compare FACING, 3
- call_if 1, Route116_EventScript_150AEE
+ call_if_eq Route116_EventScript_150AEE
compare FACING, 4
- call_if 1, Route116_EventScript_150AF9
+ call_if_eq Route116_EventScript_150AF9
removeobject LAST_TALKED
clearflag FLAG_HIDE_EMPLOYEE_DEVON_CORP_3F
setflag FLAG_RECEIVED_REPEAT_BALL
@@ -182,13 +178,13 @@ Route116_EventScript_150BF4:: @ 8150BF4
Route116_EventScript_150C03:: @ 8150C03
delay 20
compare FACING, 2
- call_if 1, Route116_EventScript_150C37
+ call_if_eq Route116_EventScript_150C37
compare FACING, 1
- call_if 1, Route116_EventScript_150C37
+ call_if_eq Route116_EventScript_150C37
compare FACING, 3
- call_if 1, Route116_EventScript_150C37
+ call_if_eq Route116_EventScript_150C37
compare FACING, 4
- call_if 1, Route116_EventScript_150C42
+ call_if_eq Route116_EventScript_150C42
removeobject LAST_TALKED
release
end
diff --git a/data/scripts/maps/Route116_TunnelersRestHouse.inc b/data/scripts/maps/Route116_TunnelersRestHouse.inc
index 24091c4ac..5ec6ef642 100644
--- a/data/scripts/maps/Route116_TunnelersRestHouse.inc
+++ b/data/scripts/maps/Route116_TunnelersRestHouse.inc
@@ -17,8 +17,7 @@ Route116_TunnelersRestHouse_EventScript_15C2F1:: @ 815C2F1
Route116_TunnelersRestHouse_EventScript_15C2FA:: @ 815C2FA
lock
faceplayer
- checkflag FLAG_RUSTURF_TUNNEL_OPENED
- goto_if_eq Route116_TunnelersRestHouse_EventScript_15C30F
+ goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, Route116_TunnelersRestHouse_EventScript_15C30F
msgbox Route116_TunnelersRestHouse_Text_193135, 4
release
end
diff --git a/data/scripts/maps/Route117.inc b/data/scripts/maps/Route117.inc
index fa648f79e..9f42412ab 100644
--- a/data/scripts/maps/Route117.inc
+++ b/data/scripts/maps/Route117.inc
@@ -7,8 +7,7 @@ Route117_MapScript1_150D40:: @ 8150D40
end
Route117_EventScript_150D46:: @ 8150D46
- checkflag FLAG_PENDING_DAYCARE_EGG
- goto_if 0, Route117_EventScript_150D56
+ goto_if_unset FLAG_PENDING_DAYCARE_EGG, Route117_EventScript_150D56
setobjectxyperm 3, 47, 6
Route117_EventScript_150D56:: @ 8150D56
diff --git a/data/scripts/maps/Route118.inc b/data/scripts/maps/Route118.inc
index a4452d989..569a7103e 100644
--- a/data/scripts/maps/Route118.inc
+++ b/data/scripts/maps/Route118.inc
@@ -9,8 +9,7 @@ Route118_MapScript1_150F2E:: @ 8150F2E
Route118_EventScript_150F34:: @ 8150F34
lock
faceplayer
- checkflag FLAG_RECEIVED_GOOD_ROD
- goto_if_eq Route118_EventScript_150F89
+ goto_if_set FLAG_RECEIVED_GOOD_ROD, Route118_EventScript_150F89
msgbox Route118_Text_170F12, MSGBOX_YESNO
compare RESULT, YES
goto_if_eq Route118_EventScript_150F5E
@@ -84,11 +83,11 @@ Route118_EventScript_151004:: @ 8151004
msgbox Route118_Text_170D66, 4
closemessage
compare VAR_SPECIAL_8, 0
- call_if 1, Route118_EventScript_151048
+ call_if_eq Route118_EventScript_151048
compare VAR_SPECIAL_8, 1
- call_if 1, Route118_EventScript_151053
+ call_if_eq Route118_EventScript_151053
compare VAR_SPECIAL_8, 2
- call_if 1, Route118_EventScript_15105E
+ call_if_eq Route118_EventScript_15105E
setvar VAR_ROUTE118_STATE, 1
removeobject 19
releaseall
diff --git a/data/scripts/maps/Route119.inc b/data/scripts/maps/Route119.inc
index 8d9f88474..4b9f3ce5f 100644
--- a/data/scripts/maps/Route119.inc
+++ b/data/scripts/maps/Route119.inc
@@ -4,15 +4,14 @@ Route119_MapScripts:: @ 8151167
.byte 0
Route119_MapScript1_151172:: @ 8151172
- checkflag FLAG_SYS_CTRL_OBJ_DELETE
- call_if 1, Route119_EventScript_15117C
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, Route119_EventScript_15117C
end
Route119_EventScript_15117C:: @ 815117C
compare VAR_SPECIAL_4, 6
- call_if 1, Route119_EventScript_151193
+ call_if_eq Route119_EventScript_151193
compare VAR_SPECIAL_4, 7
- call_if 1, Route119_EventScript_151197
+ call_if_eq Route119_EventScript_151197
return
Route119_EventScript_151193:: @ 8151193
@@ -28,7 +27,7 @@ Route119_MapScript1_15119B:: @ 815119B
call Route119_EventScript_1A0172
call Route119_EventScript_1A0196
compare VAR_WEATHER_INSTITUTE_STATE, 1
- call_if 1, Route119_EventScript_1511B9
+ call_if_eq Route119_EventScript_1511B9
special SetRoute119Weather
end
@@ -53,21 +52,21 @@ Route119_EventScript_1511DB:: @ 81511DB
addobject 25
checkplayergender
compare RESULT, 0
- call_if 1, Route119_EventScript_151254
+ call_if_eq Route119_EventScript_151254
compare RESULT, 1
- call_if 1, Route119_EventScript_151259
+ call_if_eq Route119_EventScript_151259
delay 65
compare VAR_TEMP_1, 1
- call_if 1, Route119_EventScript_1513A6
+ call_if_eq Route119_EventScript_1513A6
compare VAR_TEMP_1, 2
- call_if 1, Route119_EventScript_1513B1
+ call_if_eq Route119_EventScript_1513B1
applymovement 255, Route119_Movement_1A0845
waitmovement 0
delay 30
compare VAR_TEMP_1, 1
- call_if 1, Route119_EventScript_1513D2
+ call_if_eq Route119_EventScript_1513D2
compare VAR_TEMP_1, 2
- call_if 1, Route119_EventScript_1513E1
+ call_if_eq Route119_EventScript_1513E1
removeobject 25
addobject 16
delay 30
@@ -155,16 +154,16 @@ Route119_EventScript_151352:: @ 8151352
Route119_EventScript_151362:: @ 8151362
closemessage
compare VAR_TEMP_1, 1
- call_if 1, Route119_EventScript_1513D2
+ call_if_eq Route119_EventScript_1513D2
compare VAR_TEMP_1, 2
- call_if 1, Route119_EventScript_1513E1
+ call_if_eq Route119_EventScript_1513E1
removeobject 16
addobject 25
delay 30
compare VAR_TEMP_1, 1
- call_if 1, Route119_EventScript_1513BC
+ call_if_eq Route119_EventScript_1513BC
compare VAR_TEMP_1, 2
- call_if 1, Route119_EventScript_1513C7
+ call_if_eq Route119_EventScript_1513C7
removeobject 25
setvar VAR_ROUTE119_STATE, 1
savebgm 0
diff --git a/data/scripts/maps/Route119_WeatherInstitute_1F.inc b/data/scripts/maps/Route119_WeatherInstitute_1F.inc
index 8a5c1033f..e5ca6550b 100644
--- a/data/scripts/maps/Route119_WeatherInstitute_1F.inc
+++ b/data/scripts/maps/Route119_WeatherInstitute_1F.inc
@@ -5,7 +5,7 @@ Route119_WeatherInstitute_1F_MapScripts:: @ 8163C2A
Route119_WeatherInstitute_1F_MapScript1_163C30:: @ 8163C30
call Route119_WeatherInstitute_1F_EventScript_1A0196
compare VAR_WEATHER_INSTITUTE_STATE, 0
- call_if 1, Route119_WeatherInstitute_1F_EventScript_163C41
+ call_if_eq Route119_WeatherInstitute_1F_EventScript_163C41
end
Route119_WeatherInstitute_1F_EventScript_163C41:: @ 8163C41
diff --git a/data/scripts/maps/Route119_WeatherInstitute_2F.inc b/data/scripts/maps/Route119_WeatherInstitute_2F.inc
index b36500345..81037941f 100644
--- a/data/scripts/maps/Route119_WeatherInstitute_2F.inc
+++ b/data/scripts/maps/Route119_WeatherInstitute_2F.inc
@@ -5,9 +5,9 @@ Route119_WeatherInstitute_2F_MapScripts:: @ 8163CC2
Route119_WeatherInstitute_2F_MapScript1_163CC8:: @ 8163CC8
call Route119_WeatherInstitute_2F_EventScript_1A0196
compare VAR_WEATHER_INSTITUTE_STATE, 0
- call_if 1, Route119_WeatherInstitute_2F_EventScript_163CE4
+ call_if_eq Route119_WeatherInstitute_2F_EventScript_163CE4
compare VAR_WEATHER_INSTITUTE_STATE, 1
- call_if 1, Route119_WeatherInstitute_2F_EventScript_163CF0
+ call_if_eq Route119_WeatherInstitute_2F_EventScript_163CF0
end
Route119_WeatherInstitute_2F_EventScript_163CE4:: @ 8163CE4
@@ -87,7 +87,6 @@ Route119_WeatherInstitute_2F_Movement_163DC8:: @ 8163DC8
Route119_WeatherInstitute_2F_EventScript_163DCC:: @ 8163DCC
lock
faceplayer
- checkflag FLAG_RECEIVED_CASTFORM
- goto_if_eq Route119_WeatherInstitute_2F_EventScript_163DBE
+ goto_if_set FLAG_RECEIVED_CASTFORM, Route119_WeatherInstitute_2F_EventScript_163DBE
goto Route119_WeatherInstitute_2F_EventScript_163D7A
end
diff --git a/data/scripts/maps/Route120.inc b/data/scripts/maps/Route120.inc
index bacdcd7dd..b49834564 100644
--- a/data/scripts/maps/Route120.inc
+++ b/data/scripts/maps/Route120.inc
@@ -5,23 +5,22 @@ Route120_MapScripts:: @ 815160E
.byte 0
Route120_MapScript1_15161E:: @ 815161E
- checkflag FLAG_SYS_CTRL_OBJ_DELETE
- call_if 1, Route120_EventScript_151628
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, Route120_EventScript_151628
end
Route120_EventScript_151628:: @ 8151628
compare VAR_SPECIAL_4, 0
- call_if 1, Route120_EventScript_15166B
+ call_if_eq Route120_EventScript_15166B
compare VAR_SPECIAL_4, 1
- call_if 1, Route120_EventScript_151672
+ call_if_eq Route120_EventScript_151672
compare VAR_SPECIAL_4, 2
- call_if 1, Route120_EventScript_151676
+ call_if_eq Route120_EventScript_151676
compare VAR_SPECIAL_4, 3
- call_if 1, Route120_EventScript_15167A
+ call_if_eq Route120_EventScript_15167A
compare VAR_SPECIAL_4, 4
- call_if 1, Route120_EventScript_15167E
+ call_if_eq Route120_EventScript_15167E
compare VAR_SPECIAL_4, 5
- call_if 1, Route120_EventScript_151682
+ call_if_eq Route120_EventScript_151682
return
Route120_EventScript_15166B:: @ 815166B
@@ -50,12 +49,9 @@ Route120_EventScript_151682:: @ 8151682
return
Route120_MapScript1_151686:: @ 8151686
- checkflag FLAG_REGI_DOORS_OPENED
- call_if 0, Route120_EventScript_1516A2
- checkflag FLAG_RECEIVED_DEVON_SCOPE
- call_if 1, Route120_EventScript_1516B5
- checkflag FLAG_RECEIVED_DEVON_SCOPE
- call_if 0, Route120_EventScript_1516DA
+ call_if_unset FLAG_REGI_DOORS_OPENED, Route120_EventScript_1516A2
+ call_if_set FLAG_RECEIVED_DEVON_SCOPE, Route120_EventScript_1516B5
+ call_if_unset FLAG_RECEIVED_DEVON_SCOPE, Route120_EventScript_1516DA
end
Route120_EventScript_1516A2:: @ 81516A2
@@ -82,11 +78,11 @@ Route120_MapScript1_1516DF:: @ 81516DF
Route120_EventScript_1516EA:: @ 81516EA
getplayerxy VAR_TEMP_0, VAR_TEMP_1
compare VAR_TEMP_1, 14
- goto_if 3, Route120_EventScript_151715
+ goto_if_le Route120_EventScript_151715
compare VAR_TEMP_1, 60
- goto_if 3, Route120_EventScript_151719
+ goto_if_le Route120_EventScript_151719
compare VAR_TEMP_1, 61
- goto_if 4, Route120_EventScript_151711
+ goto_if_ge Route120_EventScript_151711
return
Route120_EventScript_151711:: @ 8151711
@@ -99,9 +95,9 @@ Route120_EventScript_151715:: @ 8151715
Route120_EventScript_151719:: @ 8151719
compare VAR_TEMP_0, 7
- goto_if 3, Route120_EventScript_151735
+ goto_if_le Route120_EventScript_151735
compare VAR_TEMP_0, 19
- goto_if 3, Route120_EventScript_151715
+ goto_if_le Route120_EventScript_151715
goto Route120_EventScript_151735
end
@@ -113,13 +109,12 @@ Route120_EventScript_151739:: @ 8151739
lock
faceplayer
dodailyevents
- checkflag FLAG_DAILY_RECEIVED_BERRY_ROUTE120
- goto_if_eq Route120_EventScript_151837
+ goto_if_set FLAG_DAILY_RECEIVED_BERRY_ROUTE120, Route120_EventScript_151837
msgbox Route120_Text_1C58F1, MSGBOX_YESNO
compare RESULT, YES
- call_if 1, Route120_EventScript_151841
+ call_if_eq Route120_EventScript_151841
compare RESULT, NO
- call_if 1, Route120_EventScript_15184A
+ call_if_eq Route120_EventScript_15184A
specialvar RESULT, GetPlayerTrainerIdOnesDigit
switch RESULT
case 0, Route120_EventScript_1517DC
@@ -184,8 +179,7 @@ Route120_EventScript_15184A:: @ 815184A
Route120_EventScript_151853:: @ 8151853
lock
faceplayer
- checkflag FLAG_NOT_READY_FOR_BATTLE_ROUTE120
- goto_if_eq Route120_EventScript_151884
+ goto_if_set FLAG_NOT_READY_FOR_BATTLE_ROUTE120, Route120_EventScript_151884
msgbox Route120_Text_171827, MSGBOX_YESNO
compare RESULT, NO
goto_if_eq Route120_EventScript_151877
@@ -209,9 +203,9 @@ Route120_EventScript_15189D:: @ 815189D
msgbox Route120_Text_1719A0, 4
closemessage
compare FACING, 2
- call_if 1, Route120_EventScript_15197F
+ call_if_eq Route120_EventScript_15197F
compare FACING, 3
- call_if 1, Route120_EventScript_15198A
+ call_if_eq Route120_EventScript_15198A
applymovement 31, Route120_Movement_1A083F
waitmovement 0
delay 20
diff --git a/data/scripts/maps/Route121_SafariZoneEntrance.inc b/data/scripts/maps/Route121_SafariZoneEntrance.inc
index ded372aa6..2648e19ce 100644
--- a/data/scripts/maps/Route121_SafariZoneEntrance.inc
+++ b/data/scripts/maps/Route121_SafariZoneEntrance.inc
@@ -89,7 +89,7 @@ Route121_SafariZoneEntrance_EventScript_15C3B3:: @ 815C3B3
Route121_SafariZoneEntrance_EventScript_15C425:: @ 815C425
getpartysize
compare RESULT, 6
- goto_if 5, Route121_SafariZoneEntrance_EventScript_15C44F
+ goto_if_ne Route121_SafariZoneEntrance_EventScript_15C44F
specialvar RESULT, CheckFreePokemonStorageSpace
compare RESULT, 1
goto_if_eq Route121_SafariZoneEntrance_EventScript_15C44F
diff --git a/data/scripts/maps/Route123.inc b/data/scripts/maps/Route123.inc
index a25c306cc..5f77ea023 100644
--- a/data/scripts/maps/Route123.inc
+++ b/data/scripts/maps/Route123.inc
@@ -9,8 +9,7 @@ Route123_MapScript1_151C59:: @ 8151C59
Route123_EventScript_151C5D:: @ 8151C5D
lock
faceplayer
- checkflag FLAG_RECEIVED_TM19
- goto_if_eq Route123_EventScript_151CAC
+ goto_if_set FLAG_RECEIVED_TM19, Route123_EventScript_151CAC
msgbox Route123_Text_171D83, 4
special IsGrassTypeInParty
compare RESULT, 0
diff --git a/data/scripts/maps/Route123_BerryMastersHouse.inc b/data/scripts/maps/Route123_BerryMastersHouse.inc
index 26edb6fbb..3356df83b 100644
--- a/data/scripts/maps/Route123_BerryMastersHouse.inc
+++ b/data/scripts/maps/Route123_BerryMastersHouse.inc
@@ -10,8 +10,7 @@ Route123_BerryMastersHouse_EventScript_1639E9:: @ 81639E9
lock
faceplayer
dodailyevents
- checkflag FLAG_DAILY_RECEIVED_BERRY_FROM_BERRYMASTER
- goto_if_eq Route123_BerryMastersHouse_EventScript_163A5A
+ goto_if_set FLAG_DAILY_RECEIVED_BERRY_FROM_BERRYMASTER, Route123_BerryMastersHouse_EventScript_163A5A
msgbox Route123_BerryMastersHouse_Text_1C5BC4, 4
random 10
addvar RESULT, 20
@@ -40,8 +39,7 @@ Route123_BerryMastersHouse_EventScript_163A64:: @ 8163A64
lock
faceplayer
dodailyevents
- checkflag FLAG_DAILY_RECEIVED_BERRY_FROM_BERRYMASTER_WIFE
- goto_if_eq Route123_BerryMastersHouse_EventScript_163C13
+ goto_if_set FLAG_DAILY_RECEIVED_BERRY_FROM_BERRYMASTER_WIFE, Route123_BerryMastersHouse_EventScript_163C13
msgbox Route123_BerryMastersHouse_Text_1C5D24, 4
setvar VAR_SPECIAL_4, 13
call Route123_BerryMastersHouse_EventScript_1A00F3
@@ -86,8 +84,7 @@ Route123_BerryMastersHouse_EventScript_163AF0:: @ 8163AF0
end
Route123_BerryMastersHouse_EventScript_163B1E:: @ 8163B1E
- checkflag FLAG_RECEIVED_SPELON_BERRY
- goto_if_eq Route123_BerryMastersHouse_EventScript_163AF0
+ goto_if_set FLAG_RECEIVED_SPELON_BERRY, Route123_BerryMastersHouse_EventScript_163AF0
msgbox Route123_BerryMastersHouse_Text_1C5DC1, 4
giveitem_std ITEM_SPELON_BERRY
compare RESULT, 0
@@ -97,8 +94,7 @@ Route123_BerryMastersHouse_EventScript_163B1E:: @ 8163B1E
end
Route123_BerryMastersHouse_EventScript_163B4F:: @ 8163B4F
- checkflag FLAG_RECEIVED_PAMTRE_BERRY
- goto_if_eq Route123_BerryMastersHouse_EventScript_163AF0
+ goto_if_set FLAG_RECEIVED_PAMTRE_BERRY, Route123_BerryMastersHouse_EventScript_163AF0
msgbox Route123_BerryMastersHouse_Text_1C5DC1, 4
giveitem_std ITEM_PAMTRE_BERRY
compare RESULT, 0
@@ -108,8 +104,7 @@ Route123_BerryMastersHouse_EventScript_163B4F:: @ 8163B4F
end
Route123_BerryMastersHouse_EventScript_163B80:: @ 8163B80
- checkflag FLAG_RECEIVED_WATMEL_BERRY
- goto_if_eq Route123_BerryMastersHouse_EventScript_163AF0
+ goto_if_set FLAG_RECEIVED_WATMEL_BERRY, Route123_BerryMastersHouse_EventScript_163AF0
msgbox Route123_BerryMastersHouse_Text_1C5DC1, 4
giveitem_std ITEM_WATMEL_BERRY
compare RESULT, 0
@@ -119,8 +114,7 @@ Route123_BerryMastersHouse_EventScript_163B80:: @ 8163B80
end
Route123_BerryMastersHouse_EventScript_163BB1:: @ 8163BB1
- checkflag FLAG_RECEIVED_DURIN_BERRY
- goto_if_eq Route123_BerryMastersHouse_EventScript_163AF0
+ goto_if_set FLAG_RECEIVED_DURIN_BERRY, Route123_BerryMastersHouse_EventScript_163AF0
msgbox Route123_BerryMastersHouse_Text_1C5DC1, 4
giveitem_std ITEM_DURIN_BERRY
compare RESULT, 0
@@ -130,8 +124,7 @@ Route123_BerryMastersHouse_EventScript_163BB1:: @ 8163BB1
end
Route123_BerryMastersHouse_EventScript_163BE2:: @ 8163BE2
- checkflag FLAG_RECEIVED_BELUE_BERRY
- goto_if_eq Route123_BerryMastersHouse_EventScript_163AF0
+ goto_if_set FLAG_RECEIVED_BELUE_BERRY, Route123_BerryMastersHouse_EventScript_163AF0
msgbox Route123_BerryMastersHouse_Text_1C5DC1, 4
giveitem_std ITEM_BELUE_BERRY
compare RESULT, 0
diff --git a/data/scripts/maps/Route124.inc b/data/scripts/maps/Route124.inc
index 289ea2d29..3f02fc6e3 100644
--- a/data/scripts/maps/Route124.inc
+++ b/data/scripts/maps/Route124.inc
@@ -3,8 +3,7 @@ Route124_MapScripts:: @ 8151DDF
.byte 0
Route124_MapScript1_151DE5:: @ 8151DE5
- checkflag FLAG_SYS_WEATHER_CTRL
- call_if 1, Route124_EventScript_1A02C1
+ call_if_set FLAG_SYS_WEATHER_CTRL, Route124_EventScript_1A02C1
end
Route124_EventScript_151DEF:: @ 8151DEF
diff --git a/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc b/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc
index 9423cf845..7bcddfe19 100644
--- a/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc
+++ b/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc
@@ -9,8 +9,7 @@ Route124_DivingTreasureHuntersHouse_MapScript1_163E00:: @ 8163E00
Route124_DivingTreasureHuntersHouse_EventScript_163E04:: @ 8163E04
lock
faceplayer
- checkflag FLAG_MET_DIVING_TREASURE_HUNTER
- goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_163E20
+ goto_if_set FLAG_MET_DIVING_TREASURE_HUNTER, Route124_DivingTreasureHuntersHouse_EventScript_163E20
msgbox Route124_DivingTreasureHuntersHouse_Text_19F416, 4
setflag FLAG_MET_DIVING_TREASURE_HUNTER
goto Route124_DivingTreasureHuntersHouse_EventScript_163E2E
@@ -32,16 +31,16 @@ Route124_DivingTreasureHuntersHouse_EventScript_163E44:: @ 8163E44
setvar VAR_TEMP_1, 0
checkitem ITEM_RED_SHARD, 1
compare RESULT, 1
- call_if 1, Route124_DivingTreasureHuntersHouse_EventScript_163E8A
+ call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_163E8A
checkitem ITEM_YELLOW_SHARD, 1
compare RESULT, 1
- call_if 1, Route124_DivingTreasureHuntersHouse_EventScript_163E90
+ call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_163E90
checkitem ITEM_BLUE_SHARD, 1
compare RESULT, 1
- call_if 1, Route124_DivingTreasureHuntersHouse_EventScript_163E96
+ call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_163E96
checkitem ITEM_GREEN_SHARD, 1
compare RESULT, 1
- call_if 1, Route124_DivingTreasureHuntersHouse_EventScript_163E9C
+ call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_163E9C
return
Route124_DivingTreasureHuntersHouse_EventScript_163E8A:: @ 8163E8A
diff --git a/data/scripts/maps/Route125.inc b/data/scripts/maps/Route125.inc
index 58bf75c51..a1495ac83 100644
--- a/data/scripts/maps/Route125.inc
+++ b/data/scripts/maps/Route125.inc
@@ -3,8 +3,7 @@ Route125_MapScripts:: @ 8151F1E
.byte 0
Route125_MapScript1_151F24:: @ 8151F24
- checkflag FLAG_SYS_WEATHER_CTRL
- call_if 1, Route125_EventScript_1A02C1
+ call_if_set FLAG_SYS_WEATHER_CTRL, Route125_EventScript_1A02C1
end
Route125_EventScript_151F2E:: @ 8151F2E
diff --git a/data/scripts/maps/Route126.inc b/data/scripts/maps/Route126.inc
index a89087994..4a28abfb7 100644
--- a/data/scripts/maps/Route126.inc
+++ b/data/scripts/maps/Route126.inc
@@ -3,8 +3,7 @@ Route126_MapScripts:: @ 8151FFE
.byte 0
Route126_MapScript1_152004:: @ 8152004
- checkflag FLAG_SYS_WEATHER_CTRL
- call_if 1, Route126_EventScript_1A02C1
+ call_if_set FLAG_SYS_WEATHER_CTRL, Route126_EventScript_1A02C1
end
Route126_EventScript_15200E:: @ 815200E
diff --git a/data/scripts/maps/Route127.inc b/data/scripts/maps/Route127.inc
index 5fb122821..7552f7c5d 100644
--- a/data/scripts/maps/Route127.inc
+++ b/data/scripts/maps/Route127.inc
@@ -3,8 +3,7 @@ Route127_MapScripts:: @ 815206A
.byte 0
Route127_MapScript1_152070:: @ 8152070
- checkflag FLAG_SYS_WEATHER_CTRL
- call_if 1, Route127_EventScript_1A02C1
+ call_if_set FLAG_SYS_WEATHER_CTRL, Route127_EventScript_1A02C1
end
Route127_EventScript_15207A:: @ 815207A
diff --git a/data/scripts/maps/Route128.inc b/data/scripts/maps/Route128.inc
index a97a1e93f..6550db979 100644
--- a/data/scripts/maps/Route128.inc
+++ b/data/scripts/maps/Route128.inc
@@ -4,8 +4,7 @@ Route128_MapScripts:: @ 815211B
.byte 0
Route128_MapScript1_152126:: @ 8152126
- checkflag FLAG_SYS_WEATHER_CTRL
- call_if 1, Route128_EventScript_1A02C1
+ call_if_set FLAG_SYS_WEATHER_CTRL, Route128_EventScript_1A02C1
call Route128_EventScript_1A0196
end
diff --git a/data/scripts/maps/Route131.inc b/data/scripts/maps/Route131.inc
index efa26ecd2..ffd204bb9 100644
--- a/data/scripts/maps/Route131.inc
+++ b/data/scripts/maps/Route131.inc
@@ -3,8 +3,7 @@ Route131_MapScripts:: @ 815243E
.byte 0
Route131_MapScript1_152444:: @ 8152444
- checkflag FLAG_SYS_GAME_CLEAR
- call_if 1, Route131_EventScript_15244E
+ call_if_set FLAG_SYS_GAME_CLEAR, Route131_EventScript_15244E
end
Route131_EventScript_15244E:: @ 815244E
diff --git a/data/scripts/maps/RustboroCity.inc b/data/scripts/maps/RustboroCity.inc
index c6bdbbdb7..415138d67 100644
--- a/data/scripts/maps/RustboroCity.inc
+++ b/data/scripts/maps/RustboroCity.inc
@@ -11,8 +11,7 @@ RustboroCity_MapScript1_14C378:: @ 814C378
RustboroCity_EventScript_14C386:: @ 814C386
lock
faceplayer
- checkflag FLAG_DEVON_GOODS_STOLEN
- goto_if_eq RustboroCity_EventScript_14C39B
+ goto_if_set FLAG_DEVON_GOODS_STOLEN, RustboroCity_EventScript_14C39B
msgbox RustboroCity_Text_16689D, 4
release
end
@@ -36,8 +35,7 @@ RustboroCity_EventScript_14C3B1:: @ 814C3B1
RustboroCity_EventScript_14C3BA:: @ 814C3BA
lock
faceplayer
- checkflag FLAG_BADGE01_GET
- goto_if_eq RustboroCity_EventScript_14C3CF
+ goto_if_set FLAG_BADGE01_GET, RustboroCity_EventScript_14C3CF
msgbox RustboroCity_Text_16696D, 4
release
end
@@ -50,8 +48,7 @@ RustboroCity_EventScript_14C3CF:: @ 814C3CF
RustboroCity_EventScript_14C3D9:: @ 814C3D9
lock
faceplayer
- checkflag FLAG_RECEIVED_POKENAV
- goto_if_eq RustboroCity_EventScript_14C3EE
+ goto_if_set FLAG_RECEIVED_POKENAV, RustboroCity_EventScript_14C3EE
msgbox RustboroCity_Text_166B86, 4
release
end
@@ -326,8 +323,7 @@ RustboroCity_Movement_14C5F7:: @ 814C5F7
RustboroCity_EventScript_14C5FF:: @ 814C5FF
lock
faceplayer
- checkflag FLAG_RECOVERED_DEVON_GOODS
- goto_if_eq RustboroCity_EventScript_14C614
+ goto_if_set FLAG_RECOVERED_DEVON_GOODS, RustboroCity_EventScript_14C614
msgbox RustboroCity_Text_166F6B, 4
release
end
@@ -364,13 +360,13 @@ RustboroCity_EventScript_14C644:: @ 814C644
RustboroCity_EventScript_14C650:: @ 814C650
compare VAR_TEMP_1, 0
- call_if 1, RustboroCity_EventScript_14C691
+ call_if_eq RustboroCity_EventScript_14C691
compare VAR_TEMP_1, 1
- call_if 1, RustboroCity_EventScript_14C6BD
+ call_if_eq RustboroCity_EventScript_14C6BD
compare VAR_TEMP_1, 2
- call_if 1, RustboroCity_EventScript_14C6E9
+ call_if_eq RustboroCity_EventScript_14C6E9
compare VAR_TEMP_1, 3
- call_if 1, RustboroCity_EventScript_14C715
+ call_if_eq RustboroCity_EventScript_14C715
setflag FLAG_UNKNOWN_9F
setvar VAR_RUSTBORO_STATE, 3
moveobjectoffscreen 9
@@ -458,19 +454,19 @@ RustboroCity_EventScript_14C771:: @ 814C771
RustboroCity_EventScript_14C77D:: @ 814C77D
compare VAR_TEMP_1, 0
- call_if 1, RustboroCity_EventScript_14C7FE
+ call_if_eq RustboroCity_EventScript_14C7FE
compare VAR_TEMP_1, 1
- call_if 1, RustboroCity_EventScript_14C82A
+ call_if_eq RustboroCity_EventScript_14C82A
compare VAR_TEMP_1, 2
- call_if 1, RustboroCity_EventScript_14C856
+ call_if_eq RustboroCity_EventScript_14C856
compare VAR_TEMP_1, 3
- call_if 1, RustboroCity_EventScript_14C882
+ call_if_eq RustboroCity_EventScript_14C882
compare VAR_TEMP_1, 4
- call_if 1, RustboroCity_EventScript_14C8B8
+ call_if_eq RustboroCity_EventScript_14C8B8
msgbox RustboroCity_Text_166FB4, 4
giveitem_std ITEM_GREAT_BALL
compare RESULT, 0
- call_if 1, RustboroCity_EventScript_14C7F5
+ call_if_eq RustboroCity_EventScript_14C7F5
msgbox RustboroCity_Text_16707F, 4
closemessage
setflag FLAG_RETURNED_DEVON_GOODS
@@ -549,8 +545,7 @@ RustboroCity_EventScript_14C8B8:: @ 814C8B8
RustboroCity_EventScript_14C8DA:: @ 814C8DA
lock
faceplayer
- checkflag FLAG_MET_RIVAL_RUSTBORO
- goto_if_eq RustboroCity_EventScript_14C917
+ goto_if_set FLAG_MET_RIVAL_RUSTBORO, RustboroCity_EventScript_14C917
checkplayergender
compare RESULT, 0
goto_if_eq RustboroCity_EventScript_14C8FD
diff --git a/data/scripts/maps/RustboroCity_CuttersHouse.inc b/data/scripts/maps/RustboroCity_CuttersHouse.inc
index 3371005c0..e18a1e029 100644
--- a/data/scripts/maps/RustboroCity_CuttersHouse.inc
+++ b/data/scripts/maps/RustboroCity_CuttersHouse.inc
@@ -4,8 +4,7 @@ RustboroCity_CuttersHouse_MapScripts:: @ 8157D26
RustboroCity_CuttersHouse_EventScript_157D27:: @ 8157D27
lock
faceplayer
- checkflag FLAG_RECEIVED_HM01
- goto_if_eq RustboroCity_CuttersHouse_EventScript_157D53
+ goto_if_set FLAG_RECEIVED_HM01, RustboroCity_CuttersHouse_EventScript_157D53
msgbox RustboroCity_CuttersHouse_Text_18509C, 4
giveitem_std ITEM_HM01
setflag FLAG_RECEIVED_HM01
diff --git a/data/scripts/maps/RustboroCity_DevonCorp_1F.inc b/data/scripts/maps/RustboroCity_DevonCorp_1F.inc
index f9e902763..7b56c72a2 100644
--- a/data/scripts/maps/RustboroCity_DevonCorp_1F.inc
+++ b/data/scripts/maps/RustboroCity_DevonCorp_1F.inc
@@ -3,8 +3,7 @@ RustboroCity_DevonCorp_1F_MapScripts:: @ 8157406
.byte 0
RustboroCity_DevonCorp_1F_MapScript1_15740C:: @ 815740C
- checkflag FLAG_RETURNED_DEVON_GOODS
- call_if 0, RustboroCity_DevonCorp_1F_EventScript_157416
+ call_if_unset FLAG_RETURNED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_157416
end
RustboroCity_DevonCorp_1F_EventScript_157416:: @ 8157416
@@ -15,10 +14,8 @@ RustboroCity_DevonCorp_1F_EventScript_157416:: @ 8157416
RustboroCity_DevonCorp_1F_EventScript_157422:: @ 8157422
lock
faceplayer
- checkflag FLAG_RETURNED_DEVON_GOODS
- goto_if_eq RustboroCity_DevonCorp_1F_EventScript_15744A
- checkflag FLAG_DEVON_GOODS_STOLEN
- goto_if_eq RustboroCity_DevonCorp_1F_EventScript_157440
+ goto_if_set FLAG_RETURNED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_15744A
+ goto_if_set FLAG_DEVON_GOODS_STOLEN, RustboroCity_DevonCorp_1F_EventScript_157440
msgbox RustboroCity_DevonCorp_1F_Text_1829A4, 4
release
end
@@ -36,12 +33,9 @@ RustboroCity_DevonCorp_1F_EventScript_15744A:: @ 815744A
RustboroCity_DevonCorp_1F_EventScript_157454:: @ 8157454
lock
faceplayer
- checkflag FLAG_RETURNED_DEVON_GOODS
- goto_if_eq RustboroCity_DevonCorp_1F_EventScript_15747B
- checkflag FLAG_RECOVERED_DEVON_GOODS
- goto_if_eq RustboroCity_DevonCorp_1F_EventScript_157485
- checkflag FLAG_DEVON_GOODS_STOLEN
- goto_if_eq RustboroCity_DevonCorp_1F_EventScript_157485
+ goto_if_set FLAG_RETURNED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_15747B
+ goto_if_set FLAG_RECOVERED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_157485
+ goto_if_set FLAG_DEVON_GOODS_STOLEN, RustboroCity_DevonCorp_1F_EventScript_157485
msgbox RustboroCity_DevonCorp_1F_Text_182AF0, 4
release
end
@@ -59,12 +53,9 @@ RustboroCity_DevonCorp_1F_EventScript_157485:: @ 8157485
RustboroCity_DevonCorp_1F_EventScript_15748F:: @ 815748F
lock
faceplayer
- checkflag FLAG_RETURNED_DEVON_GOODS
- goto_if_eq RustboroCity_DevonCorp_1F_EventScript_1574B6
- checkflag FLAG_RECOVERED_DEVON_GOODS
- goto_if_eq RustboroCity_DevonCorp_1F_EventScript_1574C0
- checkflag FLAG_DEVON_GOODS_STOLEN
- goto_if_eq RustboroCity_DevonCorp_1F_EventScript_1574C0
+ goto_if_set FLAG_RETURNED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_1574B6
+ goto_if_set FLAG_RECOVERED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_1574C0
+ goto_if_set FLAG_DEVON_GOODS_STOLEN, RustboroCity_DevonCorp_1F_EventScript_1574C0
msgbox RustboroCity_DevonCorp_1F_Text_1828EE, 4
release
end
diff --git a/data/scripts/maps/RustboroCity_DevonCorp_2F.inc b/data/scripts/maps/RustboroCity_DevonCorp_2F.inc
index 179140378..b7b36dd6d 100644
--- a/data/scripts/maps/RustboroCity_DevonCorp_2F.inc
+++ b/data/scripts/maps/RustboroCity_DevonCorp_2F.inc
@@ -4,7 +4,7 @@ RustboroCity_DevonCorp_2F_MapScripts:: @ 81574CA
RustboroCity_DevonCorp_2F_MapScript1_1574D0:: @ 81574D0
compare VAR_FOSSIL_RESURRECTION_STATE, 1
- call_if 1, RustboroCity_DevonCorp_2F_EventScript_1574DC
+ call_if_eq RustboroCity_DevonCorp_2F_EventScript_1574DC
end
RustboroCity_DevonCorp_2F_EventScript_1574DC:: @ 81574DC
@@ -15,7 +15,7 @@ RustboroCity_DevonCorp_2F_EventScript_1574E2:: @ 81574E2
lock
faceplayer
compare VAR_FOSSIL_RESURRECTION_STATE, 1
- call_if 1, RustboroCity_DevonCorp_2F_EventScript_1574DC
+ call_if_eq RustboroCity_DevonCorp_2F_EventScript_1574DC
msgbox RustboroCity_DevonCorp_2F_Text_182B81, 4
release
end
@@ -24,9 +24,8 @@ RustboroCity_DevonCorp_2F_EventScript_1574F9:: @ 81574F9
lock
faceplayer
compare VAR_FOSSIL_RESURRECTION_STATE, 1
- call_if 1, RustboroCity_DevonCorp_2F_EventScript_1574DC
- checkflag FLAG_MET_DEVON_EMPLOYEE
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_157519
+ call_if_eq RustboroCity_DevonCorp_2F_EventScript_1574DC
+ goto_if_set FLAG_MET_DEVON_EMPLOYEE, RustboroCity_DevonCorp_2F_EventScript_157519
msgbox RustboroCity_DevonCorp_2F_Text_182BD8, 4
release
end
@@ -40,9 +39,8 @@ RustboroCity_DevonCorp_2F_EventScript_157523:: @ 8157523
lock
faceplayer
compare VAR_FOSSIL_RESURRECTION_STATE, 1
- call_if 1, RustboroCity_DevonCorp_2F_EventScript_1574DC
- checkflag FLAG_RECEIVED_POKENAV
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_157543
+ call_if_eq RustboroCity_DevonCorp_2F_EventScript_1574DC
+ goto_if_set FLAG_RECEIVED_POKENAV, RustboroCity_DevonCorp_2F_EventScript_157543
msgbox RustboroCity_DevonCorp_2F_Text_182D2A, 4
release
end
@@ -56,7 +54,7 @@ RustboroCity_DevonCorp_2F_EventScript_15754D:: @ 815754D
lock
faceplayer
compare VAR_FOSSIL_RESURRECTION_STATE, 1
- call_if 1, RustboroCity_DevonCorp_2F_EventScript_1574DC
+ call_if_eq RustboroCity_DevonCorp_2F_EventScript_1574DC
msgbox RustboroCity_DevonCorp_2F_Text_182E6B, 4
release
end
@@ -147,7 +145,7 @@ RustboroCity_DevonCorp_2F_EventScript_157661:: @ 8157661
givemon SPECIES_LILEEP, 20, ITEM_NONE, 0x0, 0x0, 0
msgbox RustboroCity_DevonCorp_2F_Text_1A1102, MSGBOX_YESNO
compare RESULT, YES
- call_if 1, RustboroCity_DevonCorp_2F_EventScript_1A0678
+ call_if_eq RustboroCity_DevonCorp_2F_EventScript_1A0678
release
end
@@ -167,7 +165,7 @@ RustboroCity_DevonCorp_2F_EventScript_1576B4:: @ 81576B4
givemon SPECIES_ANORITH, 20, ITEM_NONE, 0x0, 0x0, 0
msgbox RustboroCity_DevonCorp_2F_Text_1A1102, MSGBOX_YESNO
compare RESULT, YES
- call_if 1, RustboroCity_DevonCorp_2F_EventScript_1A0678
+ call_if_eq RustboroCity_DevonCorp_2F_EventScript_1A0678
release
end
diff --git a/data/scripts/maps/RustboroCity_DevonCorp_3F.inc b/data/scripts/maps/RustboroCity_DevonCorp_3F.inc
index ff854d7ef..0b71effee 100644
--- a/data/scripts/maps/RustboroCity_DevonCorp_3F.inc
+++ b/data/scripts/maps/RustboroCity_DevonCorp_3F.inc
@@ -6,7 +6,7 @@ RustboroCity_DevonCorp_3F_MapScripts:: @ 8157711
RustboroCity_DevonCorp_3F_MapScript1_157721:: @ 8157721
compare VAR_DEVON_CORP_3F_STATE, 0
- call_if 1, RustboroCity_DevonCorp_3F_EventScript_15772D
+ call_if_eq RustboroCity_DevonCorp_3F_EventScript_15772D
end
RustboroCity_DevonCorp_3F_EventScript_15772D:: @ 815772D
@@ -146,10 +146,8 @@ RustboroCity_DevonCorp_3F_Movement_157835:: @ 8157835
RustboroCity_DevonCorp_3F_EventScript_15783B:: @ 815783B
lock
faceplayer
- checkflag FLAG_RECEIVED_EXP_SHARE
- goto_if_eq RustboroCity_DevonCorp_3F_EventScript_15789B
- checkflag FLAG_DELIVERED_STEVEN_LETTER
- goto_if_eq RustboroCity_DevonCorp_3F_EventScript_157864
+ goto_if_set FLAG_RECEIVED_EXP_SHARE, RustboroCity_DevonCorp_3F_EventScript_15789B
+ goto_if_set FLAG_DELIVERED_STEVEN_LETTER, RustboroCity_DevonCorp_3F_EventScript_157864
msgbox RustboroCity_DevonCorp_3F_Text_18351E, 4
closemessage
applymovement LAST_TALKED, RustboroCity_DevonCorp_3F_Movement_1A083D
@@ -181,8 +179,7 @@ RustboroCity_DevonCorp_3F_EventScript_15789B:: @ 815789B
RustboroCity_DevonCorp_3F_EventScript_1578B0:: @ 81578B0
lock
faceplayer
- checkflag FLAG_RECEIVED_REPEAT_BALL
- goto_if_eq RustboroCity_DevonCorp_3F_EventScript_1578C5
+ goto_if_set FLAG_RECEIVED_REPEAT_BALL, RustboroCity_DevonCorp_3F_EventScript_1578C5
msgbox RustboroCity_DevonCorp_3F_Text_18395C, 4
release
end
diff --git a/data/scripts/maps/RustboroCity_Flat2_2F.inc b/data/scripts/maps/RustboroCity_Flat2_2F.inc
index 3a2242c7a..5ed9ac0ef 100644
--- a/data/scripts/maps/RustboroCity_Flat2_2F.inc
+++ b/data/scripts/maps/RustboroCity_Flat2_2F.inc
@@ -8,8 +8,7 @@ RustboroCity_Flat2_2F_EventScript_157D97:: @ 8157D97
RustboroCity_Flat2_2F_EventScript_157DA0:: @ 8157DA0
lock
faceplayer
- checkflag FLAG_RECEIVED_PREMIER_BALL_RUSTBORO
- goto_if_eq RustboroCity_Flat2_2F_EventScript_157DCF
+ goto_if_set FLAG_RECEIVED_PREMIER_BALL_RUSTBORO, RustboroCity_Flat2_2F_EventScript_157DCF
msgbox RustboroCity_Flat2_2F_Text_185461, 4
giveitem_std ITEM_PREMIER_BALL
compare RESULT, 0
diff --git a/data/scripts/maps/RustboroCity_Gym.inc b/data/scripts/maps/RustboroCity_Gym.inc
index 1e2256b47..bcd597541 100644
--- a/data/scripts/maps/RustboroCity_Gym.inc
+++ b/data/scripts/maps/RustboroCity_Gym.inc
@@ -3,8 +3,7 @@ RustboroCity_Gym_MapScripts:: @ 81578D8
RustboroCity_Gym_EventScript_1578D9:: @ 81578D9
trainerbattle 1, OPPONENT_ROXANNE, 0, RustboroCity_Gym_Text_183EE5, RustboroCity_Gym_Text_183FC4, RustboroCity_Gym_EventScript_1578FE
- checkflag FLAG_RECEIVED_TM39
- goto_if 0, RustboroCity_Gym_EventScript_15793C
+ goto_if_unset FLAG_RECEIVED_TM39, RustboroCity_Gym_EventScript_15793C
msgbox RustboroCity_Gym_Text_184252, 4
release
end
@@ -21,7 +20,7 @@ RustboroCity_Gym_EventScript_1578FE:: @ 81578FE
setvar VAR_SPECIAL_8, 1
call RustboroCity_Gym_EventScript_1A01C0
compare VAR_PETALBURG_GYM_STATE, 6
- call_if 1, RustboroCity_Gym_EventScript_1A00FB
+ call_if_eq RustboroCity_Gym_EventScript_1A00FB
goto RustboroCity_Gym_EventScript_15793C
end
@@ -47,8 +46,7 @@ RustboroCity_Gym_EventScript_157977:: @ 8157977
RustboroCity_Gym_EventScript_15798E:: @ 815798E
lock
faceplayer
- checkflag FLAG_DEFEATED_RUSTBORO_GYM
- goto_if_eq RustboroCity_Gym_EventScript_1579A3
+ goto_if_set FLAG_DEFEATED_RUSTBORO_GYM, RustboroCity_Gym_EventScript_1579A3
msgbox RustboroCity_Gym_Text_183A4B, 4
release
end
@@ -60,15 +58,13 @@ RustboroCity_Gym_EventScript_1579A3:: @ 81579A3
RustboroCity_Gym_EventScript_1579AD:: @ 81579AD
lockall
- checkflag FLAG_BADGE01_GET
- goto_if_eq RustboroCity_Gym_EventScript_1579CD
+ goto_if_set FLAG_BADGE01_GET, RustboroCity_Gym_EventScript_1579CD
goto RustboroCity_Gym_EventScript_1579D7
end
RustboroCity_Gym_EventScript_1579BD:: @ 81579BD
lockall
- checkflag FLAG_BADGE01_GET
- goto_if_eq RustboroCity_Gym_EventScript_1579CD
+ goto_if_set FLAG_BADGE01_GET, RustboroCity_Gym_EventScript_1579CD
goto RustboroCity_Gym_EventScript_1579D7
end
diff --git a/data/scripts/maps/RustboroCity_House1.inc b/data/scripts/maps/RustboroCity_House1.inc
index c0f1bc689..abbac505b 100644
--- a/data/scripts/maps/RustboroCity_House1.inc
+++ b/data/scripts/maps/RustboroCity_House1.inc
@@ -4,8 +4,7 @@ RustboroCity_House1_MapScripts:: @ 8157C7C
RustboroCity_House1_EventScript_157C7D:: @ 8157C7D
lock
faceplayer
- checkflag FLAG_RUSTBORO_NPC_TRADE_COMPLETED
- goto_if_eq RustboroCity_House1_EventScript_157D13
+ goto_if_set FLAG_RUSTBORO_NPC_TRADE_COMPLETED, RustboroCity_House1_EventScript_157D13
setvar VAR_SPECIAL_8, 0
copyvar VAR_SPECIAL_4, VAR_SPECIAL_8
specialvar RESULT, GetInGameTradeSpeciesInfo
@@ -22,7 +21,7 @@ RustboroCity_House1_EventScript_157C7D:: @ 8157C7D
specialvar RESULT, GetTradeSpecies
copyvar VAR_SPECIAL_B, RESULT
compare RESULT, VAR_SPECIAL_9
- goto_if 5, RustboroCity_House1_EventScript_157D05
+ goto_if_ne RustboroCity_House1_EventScript_157D05
copyvar VAR_SPECIAL_4, VAR_SPECIAL_8
copyvar VAR_SPECIAL_5, VAR_SPECIAL_A
special CreateInGameTradePokemon
diff --git a/data/scripts/maps/RustboroCity_Mart.inc b/data/scripts/maps/RustboroCity_Mart.inc
index 69f977e79..c8e3f3a43 100644
--- a/data/scripts/maps/RustboroCity_Mart.inc
+++ b/data/scripts/maps/RustboroCity_Mart.inc
@@ -6,10 +6,8 @@ RustboroCity_Mart_EventScript_157BD4:: @ 8157BD4
faceplayer
message RustboroCity_Mart_Text_1A0BE4
waitmessage
- checkflag FLAG_MET_DEVON_EMPLOYEE
- goto_if 0, RustboroCity_Mart_EventScript_157BEF
- checkflag FLAG_MET_DEVON_EMPLOYEE
- goto_if_eq RustboroCity_Mart_EventScript_157C18
+ goto_if_unset FLAG_MET_DEVON_EMPLOYEE, RustboroCity_Mart_EventScript_157BEF
+ goto_if_set FLAG_MET_DEVON_EMPLOYEE, RustboroCity_Mart_EventScript_157C18
end
RustboroCity_Mart_EventScript_157BEF:: @ 8157BEF
diff --git a/data/scripts/maps/RustboroCity_PokemonSchool.inc b/data/scripts/maps/RustboroCity_PokemonSchool.inc
index 21fdf3d3b..155df8de5 100644
--- a/data/scripts/maps/RustboroCity_PokemonSchool.inc
+++ b/data/scripts/maps/RustboroCity_PokemonSchool.inc
@@ -77,12 +77,11 @@ RustboroCity_PokemonSchool_EventScript_157AC5:: @ 8157AC5
RustboroCity_PokemonSchool_EventScript_157ACE:: @ 8157ACE
lock
faceplayer
- checkflag FLAG_RECEIVED_QUICK_CLAW
- goto_if_eq RustboroCity_PokemonSchool_EventScript_157B34
+ goto_if_set FLAG_RECEIVED_QUICK_CLAW, RustboroCity_PokemonSchool_EventScript_157B34
compare FACING, 4
- call_if 1, RustboroCity_PokemonSchool_EventScript_157B1E
+ call_if_eq RustboroCity_PokemonSchool_EventScript_157B1E
compare FACING, 3
- call_if 1, RustboroCity_PokemonSchool_EventScript_157B29
+ call_if_eq RustboroCity_PokemonSchool_EventScript_157B29
msgbox RustboroCity_PokemonSchool_Text_1846A2, 4
giveitem_std ITEM_QUICK_CLAW
compare RESULT, 0
diff --git a/data/scripts/maps/RusturfTunnel.inc b/data/scripts/maps/RusturfTunnel.inc
index 050cf28c2..7c715b6c2 100644
--- a/data/scripts/maps/RusturfTunnel.inc
+++ b/data/scripts/maps/RusturfTunnel.inc
@@ -11,7 +11,7 @@ RusturfTunnel_MapScript2_15C750:: @ 815C750
RusturfTunnel_MapScript1_15C762:: @ 815C762
call RusturfTunnel_EventScript_1A0196
compare VAR_RUSTURF_TUNNEL_STATE, 2
- call_if 1, RusturfTunnel_EventScript_15C773
+ call_if_eq RusturfTunnel_EventScript_15C773
end
RusturfTunnel_EventScript_15C773:: @ 815C773
@@ -32,8 +32,7 @@ RusturfTunnel_EventScript_15C782:: @ 815C782
RusturfTunnel_EventScript_15C799:: @ 815C799
lock
faceplayer
- checkflag FLAG_TEMP_1
- goto_if_eq RusturfTunnel_EventScript_15C7BC
+ goto_if_set FLAG_TEMP_1, RusturfTunnel_EventScript_15C7BC
setflag FLAG_TEMP_1
msgbox RusturfTunnel_Text_1944C5, 4
closemessage
@@ -53,35 +52,35 @@ RusturfTunnel_EventScript_15C7BC:: @ 815C7BC
RusturfTunnel_EventScript_15C7D1:: @ 815C7D1
lockall
compare VAR_TEMP_1, 1
- call_if 1, RusturfTunnel_EventScript_15C8CA
+ call_if_eq RusturfTunnel_EventScript_15C8CA
compare VAR_TEMP_1, 2
- call_if 1, RusturfTunnel_EventScript_15C8DF
+ call_if_eq RusturfTunnel_EventScript_15C8DF
compare VAR_TEMP_1, 3
- call_if 1, RusturfTunnel_EventScript_15C8EA
+ call_if_eq RusturfTunnel_EventScript_15C8EA
call RusturfTunnel_EventScript_15C92D
msgbox RusturfTunnel_Text_19461D, 4
compare VAR_TEMP_1, 2
- call_if 1, RusturfTunnel_EventScript_15C8EB
+ call_if_eq RusturfTunnel_EventScript_15C8EB
compare VAR_TEMP_1, 3
- call_if 1, RusturfTunnel_EventScript_15C8EB
+ call_if_eq RusturfTunnel_EventScript_15C8EB
giveitem_std ITEM_HM04
setflag FLAG_RECEIVED_HM04
msgbox RusturfTunnel_Text_194693, 4
closemessage
compare VAR_TEMP_1, 1
- call_if 1, RusturfTunnel_EventScript_15C880
+ call_if_eq RusturfTunnel_EventScript_15C880
compare VAR_TEMP_1, 2
- call_if 1, RusturfTunnel_EventScript_15C892
+ call_if_eq RusturfTunnel_EventScript_15C892
compare VAR_TEMP_1, 3
- call_if 1, RusturfTunnel_EventScript_15C8AE
+ call_if_eq RusturfTunnel_EventScript_15C8AE
msgbox RusturfTunnel_Text_194706, 4
closemessage
compare VAR_TEMP_1, 1
- call_if 1, RusturfTunnel_EventScript_15C8F7
+ call_if_eq RusturfTunnel_EventScript_15C8F7
compare VAR_TEMP_1, 2
- call_if 1, RusturfTunnel_EventScript_15C909
+ call_if_eq RusturfTunnel_EventScript_15C909
compare VAR_TEMP_1, 3
- call_if 1, RusturfTunnel_EventScript_15C91B
+ call_if_eq RusturfTunnel_EventScript_15C91B
call RusturfTunnel_EventScript_1A0442
releaseall
end
diff --git a/data/scripts/maps/SSTidalCorridor.inc b/data/scripts/maps/SSTidalCorridor.inc
index dd5aee95c..7bc5a7fdd 100644
--- a/data/scripts/maps/SSTidalCorridor.inc
+++ b/data/scripts/maps/SSTidalCorridor.inc
@@ -124,8 +124,7 @@ SSTidalCorridor_EventScript_15FDD6:: @ 815FDD6
SSTidalCorridor_EventScript_15FDF8:: @ 815FDF8
setrespawn 8
msgbox SSTidalCorridor_Text_1991F4, 4
- checkflag FLAG_RECEIVED_TM49
- call_if 1, SSTidalCorridor_EventScript_15FE36
+ call_if_set FLAG_RECEIVED_TM49, SSTidalCorridor_EventScript_15FE36
warp MAP_LILYCOVE_CITY_HARBOR, 255, 8, 11
waitstate
release
@@ -134,8 +133,7 @@ SSTidalCorridor_EventScript_15FDF8:: @ 815FDF8
SSTidalCorridor_EventScript_15FE17:: @ 815FE17
setrespawn 4
msgbox SSTidalCorridor_Text_1991F4, 4
- checkflag FLAG_RECEIVED_TM49
- call_if 1, SSTidalCorridor_EventScript_15FE36
+ call_if_set FLAG_RECEIVED_TM49, SSTidalCorridor_EventScript_15FE36
warp MAP_SLATEPORT_CITY_HARBOR, 255, 8, 11
waitstate
release
@@ -163,8 +161,7 @@ SSTidalCorridor_EventScript_15FE5B:: @ 815FE5B
SSTidalCorridor_EventScript_15FE60:: @ 815FE60
lock
faceplayer
- checkflag FLAG_DEFEATED_SS_TIDAL_TRAINERS
- goto_if_eq SSTidalCorridor_EventScript_15FE7A
+ goto_if_set FLAG_DEFEATED_SS_TIDAL_TRAINERS, SSTidalCorridor_EventScript_15FE7A
call SSTidalCorridor_EventScript_15FE84
msgbox SSTidalCorridor_Text_199203, 4
release
@@ -176,22 +173,14 @@ SSTidalCorridor_EventScript_15FE7A:: @ 815FE7A
end
SSTidalCorridor_EventScript_15FE84:: @ 815FE84
- checktrainerflag OPPONENT_PHILLIP
- goto_if 0, SSTidalCorridor_EventScript_15FED5
- checktrainerflag OPPONENT_LEONARD
- goto_if 0, SSTidalCorridor_EventScript_15FED5
- checktrainerflag OPPONENT_COLTON
- goto_if 0, SSTidalCorridor_EventScript_15FED5
- checktrainerflag OPPONENT_TUCKER
- goto_if 0, SSTidalCorridor_EventScript_15FED5
- checktrainerflag OPPONENT_THOMAS
- goto_if 0, SSTidalCorridor_EventScript_15FED5
- checktrainerflag OPPONENT_LEA_AND_JED
- goto_if 0, SSTidalCorridor_EventScript_15FED5
- checktrainerflag OPPONENT_GARRET
- goto_if 0, SSTidalCorridor_EventScript_15FED5
- checktrainerflag OPPONENT_ANETTE
- goto_if 0, SSTidalCorridor_EventScript_15FED5
+ goto_if_trainer_not_defeated OPPONENT_PHILLIP, SSTidalCorridor_EventScript_15FED5
+ goto_if_trainer_not_defeated OPPONENT_LEONARD, SSTidalCorridor_EventScript_15FED5
+ goto_if_trainer_not_defeated OPPONENT_COLTON, SSTidalCorridor_EventScript_15FED5
+ goto_if_trainer_not_defeated OPPONENT_TUCKER, SSTidalCorridor_EventScript_15FED5
+ goto_if_trainer_not_defeated OPPONENT_THOMAS, SSTidalCorridor_EventScript_15FED5
+ goto_if_trainer_not_defeated OPPONENT_LEA_AND_JED, SSTidalCorridor_EventScript_15FED5
+ goto_if_trainer_not_defeated OPPONENT_GARRET, SSTidalCorridor_EventScript_15FED5
+ goto_if_trainer_not_defeated OPPONENT_ANETTE, SSTidalCorridor_EventScript_15FED5
setflag FLAG_DEFEATED_SS_TIDAL_TRAINERS
goto SSTidalCorridor_EventScript_15FE7A
return
diff --git a/data/scripts/maps/SSTidalRooms.inc b/data/scripts/maps/SSTidalRooms.inc
index 0390177de..58e7c3235 100644
--- a/data/scripts/maps/SSTidalRooms.inc
+++ b/data/scripts/maps/SSTidalRooms.inc
@@ -4,8 +4,7 @@ SSTidalRooms_MapScripts:: @ 815FF05
SSTidalRooms_EventScript_15FF06:: @ 815FF06
lock
faceplayer
- checkflag FLAG_RECEIVED_TM49
- goto_if_eq SSTidalRooms_EventScript_15FF3D
+ goto_if_set FLAG_RECEIVED_TM49, SSTidalRooms_EventScript_15FF3D
msgbox SSTidalRooms_Text_199B65, 4
giveitem_std ITEM_TM49
compare RESULT, 0
diff --git a/data/scripts/maps/SafariZone_Southeast.inc b/data/scripts/maps/SafariZone_Southeast.inc
index b3eb297e9..493aa55a1 100644
--- a/data/scripts/maps/SafariZone_Southeast.inc
+++ b/data/scripts/maps/SafariZone_Southeast.inc
@@ -21,7 +21,7 @@ SafariZone_Southeast_EventScript_16004B:: @ 816004B
SafariZone_Southeast_MapScript1_160073:: @ 8160073
compare VAR_SAFARI_ZONE_STATE, 2
- call_if 1, SafariZone_Southeast_EventScript_16007F
+ call_if_eq SafariZone_Southeast_EventScript_16007F
end
SafariZone_Southeast_EventScript_16007F:: @ 816007F
diff --git a/data/scripts/maps/SealedChamber_InnerRoom.inc b/data/scripts/maps/SealedChamber_InnerRoom.inc
index d788be9b3..11aba3ac8 100644
--- a/data/scripts/maps/SealedChamber_InnerRoom.inc
+++ b/data/scripts/maps/SealedChamber_InnerRoom.inc
@@ -6,8 +6,7 @@ SealedChamber_InnerRoom_EventScript_15F1E8:: @ 815F1E8
braillemessage SealedChamber_InnerRoom_Braille_1C53C1
waitbuttonpress
erasebox 0, 0, 29, 19
- checkflag FLAG_REGI_DOORS_OPENED
- goto_if_eq SealedChamber_InnerRoom_EventScript_15F247
+ goto_if_set FLAG_REGI_DOORS_OPENED, SealedChamber_InnerRoom_EventScript_15F247
specialvar RESULT, CheckRelicanthWailord
compare RESULT, 0
goto_if_eq SealedChamber_InnerRoom_EventScript_15F247
diff --git a/data/scripts/maps/SealedChamber_OuterRoom.inc b/data/scripts/maps/SealedChamber_OuterRoom.inc
index ad17819c2..1f2159010 100644
--- a/data/scripts/maps/SealedChamber_OuterRoom.inc
+++ b/data/scripts/maps/SealedChamber_OuterRoom.inc
@@ -14,8 +14,7 @@ SealedChamber_OuterRoom_MapScript1_15F0E7:: @ 815F0E7
end
SealedChamber_OuterRoom_MapScript1_15F0EB:: @ 815F0EB
- checkflag FLAG_SYS_BRAILLE_DIG
- call_if 0, SealedChamber_OuterRoom_EventScript_15F0F5
+ call_if_unset FLAG_SYS_BRAILLE_DIG, SealedChamber_OuterRoom_EventScript_15F0F5
end
SealedChamber_OuterRoom_EventScript_15F0F5:: @ 815F0F5
@@ -109,8 +108,7 @@ SealedChamber_OuterRoom_EventScript_15F1AA:: @ 815F1AA
SealedChamber_OuterRoom_EventScript_15F1B8:: @ 815F1B8
lockall
- checkflag FLAG_SYS_BRAILLE_DIG
- goto_if_eq SealedChamber_OuterRoom_EventScript_15F1CF
+ goto_if_set FLAG_SYS_BRAILLE_DIG, SealedChamber_OuterRoom_EventScript_15F1CF
braillemessage SealedChamber_OuterRoom_Braille_1C53B1
waitbuttonpress
erasebox 0, 0, 29, 19
diff --git a/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc b/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc
index 4dcd88761..2005cb67b 100644
--- a/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc
+++ b/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc
@@ -4,8 +4,7 @@ ShoalCave_LowTideEntranceRoom_MapScripts:: @ 815E057
ShoalCave_LowTideEntranceRoom_MapScript1_15E05D:: @ 815E05D
special UpdateShoalTideFlag
- checkflag FLAG_SYS_SHOAL_TIDE
- goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_15E06E
+ goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideEntranceRoom_EventScript_15E06E
goto ShoalCave_LowTideEntranceRoom_EventScript_15E072
ShoalCave_LowTideEntranceRoom_EventScript_15E06E:: @ 815E06E
@@ -20,8 +19,7 @@ ShoalCave_LowTideEntranceRoom_EventScript_15E076:: @ 815E076
lock
faceplayer
dodailyevents
- checkflag FLAG_SYS_SHOAL_ITEM
- call_if 1, ShoalCave_LowTideEntranceRoom_EventScript_15E176
+ call_if_set FLAG_SYS_SHOAL_ITEM, ShoalCave_LowTideEntranceRoom_EventScript_15E176
checkitem ITEM_SHOAL_SALT, 4
compare RESULT, 0
goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_15E138
@@ -33,7 +31,7 @@ ShoalCave_LowTideEntranceRoom_EventScript_15E076:: @ 815E076
goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_15E16C
checkitemspace ITEM_SHELL_BELL, 1
compare RESULT, 0
- call_if 1, ShoalCave_LowTideEntranceRoom_EventScript_15E106
+ call_if_eq ShoalCave_LowTideEntranceRoom_EventScript_15E106
compare RESULT, 2
goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_15E12E
msgbox ShoalCave_LowTideEntranceRoom_Text_1C6808, 4
diff --git a/data/scripts/maps/ShoalCave_LowTideInnerRoom.inc b/data/scripts/maps/ShoalCave_LowTideInnerRoom.inc
index b6aba9523..21997d076 100644
--- a/data/scripts/maps/ShoalCave_LowTideInnerRoom.inc
+++ b/data/scripts/maps/ShoalCave_LowTideInnerRoom.inc
@@ -4,8 +4,7 @@ ShoalCave_LowTideInnerRoom_MapScripts:: @ 815E192
.byte 0
ShoalCave_LowTideInnerRoom_MapScript1_15E19D:: @ 815E19D
- checkflag FLAG_SYS_SHOAL_TIDE
- goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E1AB
+ goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideInnerRoom_EventScript_15E1AB
goto ShoalCave_LowTideInnerRoom_EventScript_15E1AF
ShoalCave_LowTideInnerRoom_EventScript_15E1AB:: @ 815E1AB
@@ -21,47 +20,39 @@ ShoalCave_LowTideInnerRoom_MapScript1_15E1B3:: @ 815E1B3
end
ShoalCave_LowTideInnerRoom_EventScript_15E1B9:: @ 815E1B9
- checkflag FLAG_HIDE_TOOK_SHOAL_SALT_1
- goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E1DA
- checkflag FLAG_SYS_SHOAL_TIDE
- goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E1DA
+ goto_if_set FLAG_HIDE_TOOK_SHOAL_SALT_1, ShoalCave_LowTideInnerRoom_EventScript_15E1DA
+ goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideInnerRoom_EventScript_15E1DA
setmetatile 31, 8, 856, 1
goto ShoalCave_LowTideInnerRoom_EventScript_15E1DA
end
ShoalCave_LowTideInnerRoom_EventScript_15E1DA:: @ 815E1DA
- checkflag FLAG_HIDE_TOOK_SHOAL_SALT_2
- goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E1FB
- checkflag FLAG_SYS_SHOAL_TIDE
- goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E1FB
+ goto_if_set FLAG_HIDE_TOOK_SHOAL_SALT_2, ShoalCave_LowTideInnerRoom_EventScript_15E1FB
+ goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideInnerRoom_EventScript_15E1FB
setmetatile 14, 26, 856, 1
goto ShoalCave_LowTideInnerRoom_EventScript_15E1FB
end
ShoalCave_LowTideInnerRoom_EventScript_15E1FB:: @ 815E1FB
- checkflag FLAG_HIDE_TOOK_SHOAL_SHELL_1
- goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E213
+ goto_if_set FLAG_HIDE_TOOK_SHOAL_SHELL_1, ShoalCave_LowTideInnerRoom_EventScript_15E213
setmetatile 41, 20, 857, 1
goto ShoalCave_LowTideInnerRoom_EventScript_15E213
end
ShoalCave_LowTideInnerRoom_EventScript_15E213:: @ 815E213
- checkflag FLAG_HIDE_TOOK_SHOAL_SHELL_2
- goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E22B
+ goto_if_set FLAG_HIDE_TOOK_SHOAL_SHELL_2, ShoalCave_LowTideInnerRoom_EventScript_15E22B
setmetatile 41, 10, 857, 1
goto ShoalCave_LowTideInnerRoom_EventScript_15E22B
end
ShoalCave_LowTideInnerRoom_EventScript_15E22B:: @ 815E22B
- checkflag FLAG_HIDE_TOOK_SHOAL_SHELL_3
- goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E243
+ goto_if_set FLAG_HIDE_TOOK_SHOAL_SHELL_3, ShoalCave_LowTideInnerRoom_EventScript_15E243
setmetatile 6, 9, 857, 1
goto ShoalCave_LowTideInnerRoom_EventScript_15E243
end
ShoalCave_LowTideInnerRoom_EventScript_15E243:: @ 815E243
- checkflag FLAG_HIDE_TOOK_SHOAL_SHELL_4
- goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E256
+ goto_if_set FLAG_HIDE_TOOK_SHOAL_SHELL_4, ShoalCave_LowTideInnerRoom_EventScript_15E256
setmetatile 16, 13, 857, 1
return
@@ -70,8 +61,7 @@ ShoalCave_LowTideInnerRoom_EventScript_15E256:: @ 815E256
ShoalCave_LowTideInnerRoom_EventScript_15E257:: @ 815E257
lockall
- checkflag FLAG_HIDE_TOOK_SHOAL_SHELL_1
- goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E289
+ goto_if_set FLAG_HIDE_TOOK_SHOAL_SHELL_1, ShoalCave_LowTideInnerRoom_EventScript_15E289
giveitem_std ITEM_SHOAL_SHELL
compare RESULT, 0
goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_1A029B
@@ -88,8 +78,7 @@ ShoalCave_LowTideInnerRoom_EventScript_15E289:: @ 815E289
ShoalCave_LowTideInnerRoom_EventScript_15E293:: @ 815E293
lockall
- checkflag FLAG_HIDE_TOOK_SHOAL_SHELL_2
- goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E289
+ goto_if_set FLAG_HIDE_TOOK_SHOAL_SHELL_2, ShoalCave_LowTideInnerRoom_EventScript_15E289
giveitem_std ITEM_SHOAL_SHELL
compare RESULT, 0
goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_1A029B
@@ -101,8 +90,7 @@ ShoalCave_LowTideInnerRoom_EventScript_15E293:: @ 815E293
ShoalCave_LowTideInnerRoom_EventScript_15E2C5:: @ 815E2C5
lockall
- checkflag FLAG_HIDE_TOOK_SHOAL_SHELL_3
- goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E289
+ goto_if_set FLAG_HIDE_TOOK_SHOAL_SHELL_3, ShoalCave_LowTideInnerRoom_EventScript_15E289
giveitem_std ITEM_SHOAL_SHELL
compare RESULT, 0
goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_1A029B
@@ -114,8 +102,7 @@ ShoalCave_LowTideInnerRoom_EventScript_15E2C5:: @ 815E2C5
ShoalCave_LowTideInnerRoom_EventScript_15E2F7:: @ 815E2F7
lockall
- checkflag FLAG_HIDE_TOOK_SHOAL_SHELL_4
- goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E289
+ goto_if_set FLAG_HIDE_TOOK_SHOAL_SHELL_4, ShoalCave_LowTideInnerRoom_EventScript_15E289
giveitem_std ITEM_SHOAL_SHELL
compare RESULT, 0
goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_1A029B
@@ -127,8 +114,7 @@ ShoalCave_LowTideInnerRoom_EventScript_15E2F7:: @ 815E2F7
ShoalCave_LowTideInnerRoom_EventScript_15E329:: @ 815E329
lockall
- checkflag FLAG_HIDE_TOOK_SHOAL_SALT_1
- goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E35B
+ goto_if_set FLAG_HIDE_TOOK_SHOAL_SALT_1, ShoalCave_LowTideInnerRoom_EventScript_15E35B
giveitem_std ITEM_SHOAL_SALT
compare RESULT, 0
goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_1A029B
@@ -145,8 +131,7 @@ ShoalCave_LowTideInnerRoom_EventScript_15E35B:: @ 815E35B
ShoalCave_LowTideInnerRoom_EventScript_15E365:: @ 815E365
lockall
- checkflag FLAG_HIDE_TOOK_SHOAL_SALT_2
- goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E35B
+ goto_if_set FLAG_HIDE_TOOK_SHOAL_SALT_2, ShoalCave_LowTideInnerRoom_EventScript_15E35B
giveitem_std ITEM_SHOAL_SALT
compare RESULT, 0
goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_1A029B
diff --git a/data/scripts/maps/ShoalCave_LowTideLowerRoom.inc b/data/scripts/maps/ShoalCave_LowTideLowerRoom.inc
index c7cb08a9b..19223a499 100644
--- a/data/scripts/maps/ShoalCave_LowTideLowerRoom.inc
+++ b/data/scripts/maps/ShoalCave_LowTideLowerRoom.inc
@@ -7,8 +7,7 @@ ShoalCave_LowTideLowerRoom_MapScript1_15E3F9:: @ 815E3F9
end
ShoalCave_LowTideLowerRoom_EventScript_15E3FF:: @ 815E3FF
- checkflag FLAG_HIDE_TOOK_SHOAL_SALT_4
- goto_if_eq ShoalCave_LowTideLowerRoom_EventScript_15E412
+ goto_if_set FLAG_HIDE_TOOK_SHOAL_SALT_4, ShoalCave_LowTideLowerRoom_EventScript_15E412
setmetatile 18, 2, 856, 1
return
@@ -17,8 +16,7 @@ ShoalCave_LowTideLowerRoom_EventScript_15E412:: @ 815E412
ShoalCave_LowTideLowerRoom_EventScript_15E413:: @ 815E413
lockall
- checkflag FLAG_HIDE_TOOK_SHOAL_SALT_4
- goto_if_eq ShoalCave_LowTideLowerRoom_EventScript_15E445
+ goto_if_set FLAG_HIDE_TOOK_SHOAL_SALT_4, ShoalCave_LowTideLowerRoom_EventScript_15E445
giveitem_std ITEM_SHOAL_SALT
compare RESULT, 0
goto_if_eq ShoalCave_LowTideLowerRoom_EventScript_1A029B
@@ -36,8 +34,7 @@ ShoalCave_LowTideLowerRoom_EventScript_15E445:: @ 815E445
ShoalCave_LowTideLowerRoom_EventScript_15E44F:: @ 815E44F
lock
faceplayer
- checkflag FLAG_RECEIVED_FOCUS_BAND
- goto_if_eq ShoalCave_LowTideLowerRoom_EventScript_15E47E
+ goto_if_set FLAG_RECEIVED_FOCUS_BAND, ShoalCave_LowTideLowerRoom_EventScript_15E47E
msgbox ShoalCave_LowTideLowerRoom_Text_198200, 4
giveitem_std ITEM_FOCUS_BAND
compare RESULT, 0
diff --git a/data/scripts/maps/ShoalCave_LowTideStairsRoom.inc b/data/scripts/maps/ShoalCave_LowTideStairsRoom.inc
index efcad59d3..5f9726038 100644
--- a/data/scripts/maps/ShoalCave_LowTideStairsRoom.inc
+++ b/data/scripts/maps/ShoalCave_LowTideStairsRoom.inc
@@ -7,8 +7,7 @@ ShoalCave_LowTideStairsRoom_MapScript1_15E39D:: @ 815E39D
end
ShoalCave_LowTideStairsRoom_EventScript_15E3A3:: @ 815E3A3
- checkflag FLAG_HIDE_TOOK_SHOAL_SALT_3
- goto_if_eq ShoalCave_LowTideStairsRoom_EventScript_15E3B6
+ goto_if_set FLAG_HIDE_TOOK_SHOAL_SALT_3, ShoalCave_LowTideStairsRoom_EventScript_15E3B6
setmetatile 11, 11, 856, 1
return
@@ -17,8 +16,7 @@ ShoalCave_LowTideStairsRoom_EventScript_15E3B6:: @ 815E3B6
ShoalCave_LowTideStairsRoom_EventScript_15E3B7:: @ 815E3B7
lockall
- checkflag FLAG_HIDE_TOOK_SHOAL_SALT_3
- goto_if_eq ShoalCave_LowTideStairsRoom_EventScript_15E3E9
+ goto_if_set FLAG_HIDE_TOOK_SHOAL_SALT_3, ShoalCave_LowTideStairsRoom_EventScript_15E3E9
giveitem_std ITEM_SHOAL_SALT
compare RESULT, 0
goto_if_eq ShoalCave_LowTideStairsRoom_EventScript_1A029B
diff --git a/data/scripts/maps/SkyPillar_Top.inc b/data/scripts/maps/SkyPillar_Top.inc
index 07a78d2c4..82149a4bc 100644
--- a/data/scripts/maps/SkyPillar_Top.inc
+++ b/data/scripts/maps/SkyPillar_Top.inc
@@ -3,8 +3,7 @@ SkyPillar_Top_MapScripts:: @ 815F302
.byte 0
SkyPillar_Top_MapScript1_15F308:: @ 815F308
- checkflag FLAG_SYS_CTRL_OBJ_DELETE
- call_if 1, SkyPillar_Top_EventScript_15F312
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, SkyPillar_Top_EventScript_15F312
end
SkyPillar_Top_EventScript_15F312:: @ 815F312
diff --git a/data/scripts/maps/SlateportCity.inc b/data/scripts/maps/SlateportCity.inc
index ae8534ad9..4af912ed3 100644
--- a/data/scripts/maps/SlateportCity.inc
+++ b/data/scripts/maps/SlateportCity.inc
@@ -13,7 +13,7 @@ SlateportCity_MapScript1_14BA3C:: @ 814BA3C
setvar VAR_SLATEPORT_MUSEUM_1F_STATE, 0
call SlateportCity_EventScript_14BA5C
compare VAR_SLATEPORT_STATE, 1
- call_if 1, SlateportCity_EventScript_14BA68
+ call_if_eq SlateportCity_EventScript_14BA68
end
SlateportCity_EventScript_14BA5C:: @ 814BA5C
@@ -68,10 +68,10 @@ SlateportCity_EventScript_14BAE0:: @ 814BAE0
msgbox SlateportCity_Text_164682, 4
specialvar RESULT, LeadMonHasEffortRibbon
compare RESULT, 1
- call_if 1, SlateportCity_EventScript_14BB35
+ call_if_eq SlateportCity_EventScript_14BB35
specialvar RESULT, ScrSpecial_AreLeadMonEVsMaxedOut
compare RESULT, 0
- call_if 1, SlateportCity_EventScript_14BB2B
+ call_if_eq SlateportCity_EventScript_14BB2B
msgbox SlateportCity_Text_164691, 4
playfanfare BGM_FANFA4
message SlateportCity_Text_1646DD
@@ -96,7 +96,7 @@ SlateportCity_EventScript_14BB3F:: @ 814BB3F
lock
faceplayer
compare VAR_SLATEPORT_STATE, 1
- call_if 1, SlateportCity_EventScript_14BB56
+ call_if_eq SlateportCity_EventScript_14BB56
msgbox SlateportCity_Text_164814, 4
release
end
@@ -110,7 +110,7 @@ SlateportCity_EventScript_14BB60:: @ 814BB60
lock
faceplayer
compare VAR_SLATEPORT_STATE, 1
- call_if 1, SlateportCity_EventScript_14BB77
+ call_if_eq SlateportCity_EventScript_14BB77
msgbox SlateportCity_Text_1648A0, 4
release
end
@@ -124,9 +124,8 @@ SlateportCity_EventScript_14BB81:: @ 814BB81
lock
faceplayer
compare VAR_SLATEPORT_STATE, 1
- call_if 1, SlateportCity_EventScript_14BBA1
- checkflag FLAG_RECEIVED_SECRET_POWER
- goto_if_eq SlateportCity_EventScript_14BBAB
+ call_if_eq SlateportCity_EventScript_14BBA1
+ goto_if_set FLAG_RECEIVED_SECRET_POWER, SlateportCity_EventScript_14BBAB
msgbox SlateportCity_Text_164937, 4
release
end
@@ -145,7 +144,7 @@ SlateportCity_EventScript_14BBB5:: @ 814BBB5
lock
faceplayer
compare VAR_SLATEPORT_STATE, 1
- call_if 1, SlateportCity_EventScript_14BBCC
+ call_if_eq SlateportCity_EventScript_14BBCC
msgbox SlateportCity_Text_164A30, 4
release
end
@@ -169,7 +168,7 @@ SlateportCity_EventScript_14BBF3:: @ 814BBF3
lock
faceplayer
compare VAR_SLATEPORT_STATE, 1
- call_if 1, SlateportCity_EventScript_14BC0A
+ call_if_eq SlateportCity_EventScript_14BC0A
msgbox SlateportCity_Text_164B34, 4
release
end
@@ -182,8 +181,7 @@ SlateportCity_EventScript_14BC0A:: @ 814BC0A
SlateportCity_EventScript_14BC14:: @ 814BC14
lock
faceplayer
- checkflag FLAG_DOCK_REJECTED_DEVON_GOODS
- goto_if_eq SlateportCity_EventScript_14BC29
+ goto_if_set FLAG_DOCK_REJECTED_DEVON_GOODS, SlateportCity_EventScript_14BC29
msgbox SlateportCity_Text_164BBF, 4
release
end
@@ -199,10 +197,8 @@ SlateportCity_EventScript_14BC33:: @ 814BC33
SlateportCity_EventScript_14BC3C:: @ 814BC3C
lockall
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if_eq SlateportCity_EventScript_14BC63
- checkflag FLAG_BADGE07_GET
- goto_if_eq SlateportCity_EventScript_14BC59
+ goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_EventScript_14BC63
+ goto_if_set FLAG_BADGE07_GET, SlateportCity_EventScript_14BC59
msgbox SlateportCity_Text_1658A0, 4
releaseall
end
@@ -235,8 +231,7 @@ SlateportCity_EventScript_14BC88:: @ 814BC88
SlateportCity_EventScript_14BC91:: @ 814BC91
lockall
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if_eq SlateportCity_EventScript_14BCA5
+ goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_EventScript_14BCA5
msgbox SlateportCity_Text_165A8B, 4
releaseall
end
@@ -254,7 +249,7 @@ SlateportCity_EventScript_14BCB8:: @ 814BCB8
lock
faceplayer
compare VAR_SLATEPORT_STATE, 1
- call_if 1, SlateportCity_EventScript_14BCCF
+ call_if_eq SlateportCity_EventScript_14BCCF
msgbox SlateportCity_Text_164F9E, 4
release
end
@@ -289,9 +284,9 @@ SlateportCity_EventScript_14BD06:: @ 814BD06
faceplayer
msgbox SlateportCity_Text_1650F1, MSGBOX_YESNO
compare RESULT, YES
- call_if 1, SlateportCity_EventScript_14BD28
+ call_if_eq SlateportCity_EventScript_14BD28
compare RESULT, NO
- call_if 1, SlateportCity_EventScript_14BD31
+ call_if_eq SlateportCity_EventScript_14BD31
release
end
@@ -410,8 +405,7 @@ SlateportCity_EventScript_14BE16:: @ 814BE16
SlateportCity_EventScript_14BE20:: @ 814BE20
lock
faceplayer
- checkflag FLAG_RECEIVED_SECRET_POWER
- goto_if 0, SlateportCity_EventScript_14BE16
+ goto_if_unset FLAG_RECEIVED_SECRET_POWER, SlateportCity_EventScript_14BE16
message SlateportCity_Text_1A0BE4
waitmessage
pokemartdecoration SlateportCity_Decorations2
@@ -442,8 +436,7 @@ SlateportCity_Decorations2:: @ 814BE40
@ 814BE60
lock
faceplayer
- checkflag FLAG_RECEIVED_SECRET_POWER
- goto_if 0, SlateportCity_EventScript_14BE16
+ goto_if_unset FLAG_RECEIVED_SECRET_POWER, SlateportCity_EventScript_14BE16
message SlateportCity_Text_1A0BE4
waitmessage
pokemartdecoration SlateportCity_Decorations3
diff --git a/data/scripts/maps/SlateportCity_ContestHall.inc b/data/scripts/maps/SlateportCity_ContestHall.inc
index 0a6f40c75..4151579a2 100644
--- a/data/scripts/maps/SlateportCity_ContestHall.inc
+++ b/data/scripts/maps/SlateportCity_ContestHall.inc
@@ -12,8 +12,7 @@ SlateportCity_ContestHall_EventScript_155555:: @ 8155555
SlateportCity_ContestHall_EventScript_15555E:: @ 815555E
lock
faceplayer
- checkflag FLAG_RECEIVED_TM41
- goto_if_eq SlateportCity_ContestHall_EventScript_155595
+ goto_if_set FLAG_RECEIVED_TM41, SlateportCity_ContestHall_EventScript_155595
msgbox SlateportCity_ContestHall_Text_17CCE2, 4
giveitem_std ITEM_TM41
compare RESULT, 0
diff --git a/data/scripts/maps/SlateportCity_ContestLobby.inc b/data/scripts/maps/SlateportCity_ContestLobby.inc
index 59c5b13fc..22f797968 100644
--- a/data/scripts/maps/SlateportCity_ContestLobby.inc
+++ b/data/scripts/maps/SlateportCity_ContestLobby.inc
@@ -101,8 +101,7 @@ SlateportCity_ContestLobby_EventScript_1554F0:: @ 81554F0
SlateportCity_ContestLobby_EventScript_1554F9:: @ 81554F9
lockall
- checkflag FLAG_RECEIVED_POKEBLOCK_CASE
- goto_if_eq SlateportCity_ContestLobby_EventScript_155526
+ goto_if_set FLAG_RECEIVED_POKEBLOCK_CASE, SlateportCity_ContestLobby_EventScript_155526
applymovement 7, SlateportCity_ContestLobby_Movement_1A0839
waitmovement 0
msgbox SlateportCity_ContestLobby_Text_17CA67, 4
diff --git a/data/scripts/maps/SlateportCity_Harbor.inc b/data/scripts/maps/SlateportCity_Harbor.inc
index 4be5c6daf..82a17b0a6 100644
--- a/data/scripts/maps/SlateportCity_Harbor.inc
+++ b/data/scripts/maps/SlateportCity_Harbor.inc
@@ -6,9 +6,8 @@ SlateportCity_Harbor_MapScript1_155F63:: @ 8155F63
setescapewarp MAP_SLATEPORT_CITY, 255, 28, 13
setvar VAR_TEMP_1, 0
compare VAR_SLATEPORT_HARBOR_STATE, 1
- call_if 1, SlateportCity_Harbor_EventScript_155F89
- checkflag FLAG_SYS_GAME_CLEAR
- call_if 1, SlateportCity_Harbor_EventScript_155F85
+ call_if_eq SlateportCity_Harbor_EventScript_155F89
+ call_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_Harbor_EventScript_155F85
end
SlateportCity_Harbor_EventScript_155F85:: @ 8155F85
@@ -64,13 +63,13 @@ SlateportCity_Harbor_EventScript_155FD5:: @ 8155FD5
removeobject 8
setvar VAR_SLATEPORT_HARBOR_STATE, 2
compare VAR_SPECIAL_8, 0
- call_if 1, SlateportCity_Harbor_EventScript_15605C
+ call_if_eq SlateportCity_Harbor_EventScript_15605C
compare VAR_SPECIAL_8, 1
- call_if 1, SlateportCity_Harbor_EventScript_156071
+ call_if_eq SlateportCity_Harbor_EventScript_156071
compare VAR_SPECIAL_8, 2
- call_if 1, SlateportCity_Harbor_EventScript_156086
+ call_if_eq SlateportCity_Harbor_EventScript_156086
compare VAR_SPECIAL_8, 3
- call_if 1, SlateportCity_Harbor_EventScript_156086
+ call_if_eq SlateportCity_Harbor_EventScript_156086
msgbox SlateportCity_Harbor_Text_17FE60, 4
closemessage
setflag FLAG_HIDE_GRUNT_1_BLOCKING_HIDEOUT
@@ -159,8 +158,7 @@ SlateportCity_Harbor_Movement_1560C2:: @ 81560C2
SlateportCity_Harbor_EventScript_1560C4:: @ 81560C4
lock
faceplayer
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if_eq SlateportCity_Harbor_EventScript_1560D9
+ goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_Harbor_EventScript_1560D9
msgbox SlateportCity_Harbor_Text_17FA0A, 4
release
end
@@ -224,9 +222,9 @@ SlateportCity_Harbor_EventScript_156196:: @ 8156196
delay 30
hideobjectat LAST_TALKED, MAP_SLATEPORT_CITY_HARBOR
compare FACING, 2
- call_if 1, SlateportCity_Harbor_EventScript_1561EF
+ call_if_eq SlateportCity_Harbor_EventScript_1561EF
compare FACING, 4
- call_if 1, SlateportCity_Harbor_EventScript_1561E4
+ call_if_eq SlateportCity_Harbor_EventScript_1561E4
delay 30
hideobjectat 255, MAP_PETALBURG_CITY
setvar VAR_SPECIAL_4, 5
@@ -268,12 +266,9 @@ SlateportCity_Harbor_EventScript_156208:: @ 8156208
SlateportCity_Harbor_EventScript_156211:: @ 8156211
lock
faceplayer
- checkflag FLAG_BADGE07_GET
- goto_if_eq SlateportCity_Harbor_EventScript_15626F
- checkflag FLAG_EVIL_TEAM_ESCAPED_STERN_SPOKE
- goto_if_eq SlateportCity_Harbor_EventScript_156265
- checkflag FLAG_EVIL_TEAM_ESCAPED_IN_SUBMARINE
- goto_if_eq SlateportCity_Harbor_EventScript_156258
+ goto_if_set FLAG_BADGE07_GET, SlateportCity_Harbor_EventScript_15626F
+ goto_if_set FLAG_EVIL_TEAM_ESCAPED_STERN_SPOKE, SlateportCity_Harbor_EventScript_156265
+ goto_if_set FLAG_EVIL_TEAM_ESCAPED_IN_SUBMARINE, SlateportCity_Harbor_EventScript_156258
compare VAR_SLATEPORT_HARBOR_STATE, 2
goto_if_eq SlateportCity_Harbor_EventScript_15624E
msgbox SlateportCity_Harbor_Text_17FD1C, 4
@@ -305,8 +300,7 @@ SlateportCity_Harbor_EventScript_15626F:: @ 815626F
checkitem ITEM_SCANNER, 1
compare RESULT, 1
goto_if_eq SlateportCity_Harbor_EventScript_1562A7
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if_eq SlateportCity_Harbor_EventScript_15629D
+ goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_Harbor_EventScript_15629D
msgbox SlateportCity_Harbor_Text_18017B, 4
release
end
diff --git a/data/scripts/maps/SlateportCity_House1.inc b/data/scripts/maps/SlateportCity_House1.inc
index 13de091cb..be2955937 100644
--- a/data/scripts/maps/SlateportCity_House1.inc
+++ b/data/scripts/maps/SlateportCity_House1.inc
@@ -16,7 +16,7 @@ SlateportCity_House1_EventScript_15569C:: @ 815569C
special SelectMonForNPCTrade
waitstate
compare VAR_SPECIAL_4, 255
- goto_if 5, SlateportCity_House1_EventScript_1556C9
+ goto_if_ne SlateportCity_House1_EventScript_1556C9
compare VAR_SPECIAL_4, 255
goto_if_eq SlateportCity_House1_EventScript_1556BF
end
diff --git a/data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc b/data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc
index 5d0fdb411..c8ece697d 100644
--- a/data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc
+++ b/data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc
@@ -57,8 +57,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_155B2D:: @ 8155B2D
end
SlateportCity_OceanicMuseum_1F_EventScript_155B5A:: @ 8155B5A
- checkflag FLAG_DELIVERED_DEVON_GOODS
- goto_if 0, SlateportCity_OceanicMuseum_1F_EventScript_155B7B
+ goto_if_unset FLAG_DELIVERED_DEVON_GOODS, SlateportCity_OceanicMuseum_1F_EventScript_155B7B
msgbox SlateportCity_OceanicMuseum_1F_Text_17E1F5, 4
closemessage
hidemoneybox 0, 0
@@ -173,7 +172,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_155C3A:: @ 8155C3A
compare FACING, 2
goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_155C98
compare FACING, 2
- goto_if 5, SlateportCity_OceanicMuseum_1F_EventScript_155CAD
+ goto_if_ne SlateportCity_OceanicMuseum_1F_EventScript_155CAD
end
SlateportCity_OceanicMuseum_1F_EventScript_155C98:: @ 8155C98
diff --git a/data/scripts/maps/SlateportCity_OceanicMuseum_2F.inc b/data/scripts/maps/SlateportCity_OceanicMuseum_2F.inc
index 5dae0bc6b..d84982e2e 100644
--- a/data/scripts/maps/SlateportCity_OceanicMuseum_2F.inc
+++ b/data/scripts/maps/SlateportCity_OceanicMuseum_2F.inc
@@ -22,21 +22,21 @@ SlateportCity_OceanicMuseum_2F_EventScript_155CE6:: @ 8155CE6
applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_155EC5
waitmovement 0
compare FACING, 1
- call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_155E62
+ call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_155E62
compare FACING, 4
- call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_155E62
+ call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_155E62
msgbox SlateportCity_OceanicMuseum_2F_Text_17EDAE, 4
compare FACING, 4
- call_if 5, SlateportCity_OceanicMuseum_2F_EventScript_155E6D
+ call_if_ne SlateportCity_OceanicMuseum_2F_EventScript_155E6D
msgbox SlateportCity_OceanicMuseum_2F_Text_17EDD7, 4
msgbox SlateportCity_OceanicMuseum_2F_Text_17EE01, 4
closemessage
applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_155EB2
waitmovement 0
compare FACING, 1
- call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_155E78
+ call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_155E78
compare FACING, 3
- call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_155E83
+ call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_155E83
trainerbattle 3, OPPONENT_MUSEUM_2F_GRUNT_1, 0, SlateportCity_OceanicMuseum_2F_Text_17EE4E
msgbox SlateportCity_OceanicMuseum_2F_Text_17EE66, 4
closemessage
diff --git a/data/scripts/maps/SlateportCity_PokemonFanClub.inc b/data/scripts/maps/SlateportCity_PokemonFanClub.inc
index f7cc67236..6a8c88e1e 100644
--- a/data/scripts/maps/SlateportCity_PokemonFanClub.inc
+++ b/data/scripts/maps/SlateportCity_PokemonFanClub.inc
@@ -23,18 +23,13 @@ SlateportCity_PokemonFanClub_EventScript_155795:: @ 8155795
SlateportCity_PokemonFanClub_EventScript_1557A8:: @ 81557A8
setvar VAR_TEMP_2, 0
- checkflag FLAG_RECEIVED_YELLOW_SCARF
- call_if 1, SlateportCity_PokemonFanClub_EventScript_155893
- checkflag FLAG_RECEIVED_GREEN_SCARF
- call_if 1, SlateportCity_PokemonFanClub_EventScript_155893
- checkflag FLAG_RECEIVED_PINK_SCARF
- call_if 1, SlateportCity_PokemonFanClub_EventScript_155893
- checkflag FLAG_RECEIVED_BLUE_SCARF
- call_if 1, SlateportCity_PokemonFanClub_EventScript_155893
- checkflag FLAG_RECEIVED_RED_SCARF
- call_if 1, SlateportCity_PokemonFanClub_EventScript_155893
+ call_if_set FLAG_RECEIVED_YELLOW_SCARF, SlateportCity_PokemonFanClub_EventScript_155893
+ call_if_set FLAG_RECEIVED_GREEN_SCARF, SlateportCity_PokemonFanClub_EventScript_155893
+ call_if_set FLAG_RECEIVED_PINK_SCARF, SlateportCity_PokemonFanClub_EventScript_155893
+ call_if_set FLAG_RECEIVED_BLUE_SCARF, SlateportCity_PokemonFanClub_EventScript_155893
+ call_if_set FLAG_RECEIVED_RED_SCARF, SlateportCity_PokemonFanClub_EventScript_155893
compare VAR_TEMP_2, 5
- call_if 1, SlateportCity_PokemonFanClub_EventScript_15588D
+ call_if_eq SlateportCity_PokemonFanClub_EventScript_15588D
compare VAR_SLATEPORT_FAN_CLUB_STATE, 2
goto_if_eq SlateportCity_PokemonFanClub_EventScript_1557FE
msgbox SlateportCity_PokemonFanClub_Text_17DA14, 4
@@ -49,16 +44,11 @@ SlateportCity_PokemonFanClub_EventScript_1557FE:: @ 81557FE
SlateportCity_PokemonFanClub_EventScript_155808:: @ 8155808
msgbox SlateportCity_PokemonFanClub_Text_17DA49, 4
setvar VAR_TEMP_1, 0
- checkflag FLAG_RECEIVED_YELLOW_SCARF
- call_if 0, SlateportCity_PokemonFanClub_EventScript_1559FE
- checkflag FLAG_RECEIVED_GREEN_SCARF
- call_if 0, SlateportCity_PokemonFanClub_EventScript_1559E7
- checkflag FLAG_RECEIVED_PINK_SCARF
- call_if 0, SlateportCity_PokemonFanClub_EventScript_1559D0
- checkflag FLAG_RECEIVED_BLUE_SCARF
- call_if 0, SlateportCity_PokemonFanClub_EventScript_1559B9
- checkflag FLAG_RECEIVED_RED_SCARF
- call_if 0, SlateportCity_PokemonFanClub_EventScript_1559A2
+ call_if_unset FLAG_RECEIVED_YELLOW_SCARF, SlateportCity_PokemonFanClub_EventScript_1559FE
+ call_if_unset FLAG_RECEIVED_GREEN_SCARF, SlateportCity_PokemonFanClub_EventScript_1559E7
+ call_if_unset FLAG_RECEIVED_PINK_SCARF, SlateportCity_PokemonFanClub_EventScript_1559D0
+ call_if_unset FLAG_RECEIVED_BLUE_SCARF, SlateportCity_PokemonFanClub_EventScript_1559B9
+ call_if_unset FLAG_RECEIVED_RED_SCARF, SlateportCity_PokemonFanClub_EventScript_1559A2
bufferleadmonspeciesname 0
switch VAR_TEMP_1
case 0, SlateportCity_PokemonFanClub_EventScript_155899
@@ -146,7 +136,7 @@ SlateportCity_PokemonFanClub_EventScript_155998:: @ 8155998
SlateportCity_PokemonFanClub_EventScript_1559A2:: @ 81559A2
specialvar RESULT, CheckLeadMonCool
compare RESULT, 1
- call_if 1, SlateportCity_PokemonFanClub_EventScript_1559B3
+ call_if_eq SlateportCity_PokemonFanClub_EventScript_1559B3
return
SlateportCity_PokemonFanClub_EventScript_1559B3:: @ 81559B3
@@ -156,7 +146,7 @@ SlateportCity_PokemonFanClub_EventScript_1559B3:: @ 81559B3
SlateportCity_PokemonFanClub_EventScript_1559B9:: @ 81559B9
specialvar RESULT, CheckLeadMonBeauty
compare RESULT, 1
- call_if 1, SlateportCity_PokemonFanClub_EventScript_1559CA
+ call_if_eq SlateportCity_PokemonFanClub_EventScript_1559CA
return
SlateportCity_PokemonFanClub_EventScript_1559CA:: @ 81559CA
@@ -166,7 +156,7 @@ SlateportCity_PokemonFanClub_EventScript_1559CA:: @ 81559CA
SlateportCity_PokemonFanClub_EventScript_1559D0:: @ 81559D0
specialvar RESULT, CheckLeadMonCute
compare RESULT, 1
- call_if 1, SlateportCity_PokemonFanClub_EventScript_1559E1
+ call_if_eq SlateportCity_PokemonFanClub_EventScript_1559E1
return
SlateportCity_PokemonFanClub_EventScript_1559E1:: @ 81559E1
@@ -176,7 +166,7 @@ SlateportCity_PokemonFanClub_EventScript_1559E1:: @ 81559E1
SlateportCity_PokemonFanClub_EventScript_1559E7:: @ 81559E7
specialvar RESULT, CheckLeadMonSmart
compare RESULT, 1
- call_if 1, SlateportCity_PokemonFanClub_EventScript_1559F8
+ call_if_eq SlateportCity_PokemonFanClub_EventScript_1559F8
return
SlateportCity_PokemonFanClub_EventScript_1559F8:: @ 81559F8
@@ -186,7 +176,7 @@ SlateportCity_PokemonFanClub_EventScript_1559F8:: @ 81559F8
SlateportCity_PokemonFanClub_EventScript_1559FE:: @ 81559FE
specialvar RESULT, CheckLeadMonTough
compare RESULT, 1
- call_if 1, SlateportCity_PokemonFanClub_EventScript_155A0F
+ call_if_eq SlateportCity_PokemonFanClub_EventScript_155A0F
return
SlateportCity_PokemonFanClub_EventScript_155A0F:: @ 8155A0F
@@ -196,12 +186,11 @@ SlateportCity_PokemonFanClub_EventScript_155A0F:: @ 8155A0F
SlateportCity_PokemonFanClub_EventScript_155A15:: @ 8155A15
lock
faceplayer
- checkflag FLAG_RECEIVED_SOOTHE_BELL
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_155A75
+ goto_if_set FLAG_RECEIVED_SOOTHE_BELL, SlateportCity_PokemonFanClub_EventScript_155A75
msgbox SlateportCity_PokemonFanClub_Text_17DE6B, 4
specialvar RESULT, GetLeadMonFriendshipScore
compare RESULT, 4
- goto_if 4, SlateportCity_PokemonFanClub_EventScript_155A3A
+ goto_if_ge SlateportCity_PokemonFanClub_EventScript_155A3A
release
end
diff --git a/data/scripts/maps/SlateportCity_SternsShipyard_1F.inc b/data/scripts/maps/SlateportCity_SternsShipyard_1F.inc
index 46dc8419c..dd31e8e26 100644
--- a/data/scripts/maps/SlateportCity_SternsShipyard_1F.inc
+++ b/data/scripts/maps/SlateportCity_SternsShipyard_1F.inc
@@ -3,14 +3,10 @@ SlateportCity_SternsShipyard_1F_MapScripts:: @ 8155335
SlateportCity_SternsShipyard_1F_EventScript_155336:: @ 8155336
lockall
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if_eq SlateportCity_SternsShipyard_1F_EventScript_155388
- checkflag FLAG_BADGE07_GET
- goto_if_eq SlateportCity_SternsShipyard_1F_EventScript_15539C
- checkflag FLAG_DELIVERED_DEVON_GOODS
- goto_if_eq SlateportCity_SternsShipyard_1F_EventScript_1553CF
- checkflag FLAG_DOCK_REJECTED_DEVON_GOODS
- goto_if_eq SlateportCity_SternsShipyard_1F_EventScript_1553B0
+ goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_SternsShipyard_1F_EventScript_155388
+ goto_if_set FLAG_BADGE07_GET, SlateportCity_SternsShipyard_1F_EventScript_15539C
+ goto_if_set FLAG_DELIVERED_DEVON_GOODS, SlateportCity_SternsShipyard_1F_EventScript_1553CF
+ goto_if_set FLAG_DOCK_REJECTED_DEVON_GOODS, SlateportCity_SternsShipyard_1F_EventScript_1553B0
msgbox SlateportCity_SternsShipyard_1F_Text_17C14B, 4
applymovement 1, SlateportCity_SternsShipyard_1F_Movement_1A0839
waitmovement 0
diff --git a/data/scripts/maps/SootopolisCity.inc b/data/scripts/maps/SootopolisCity.inc
index 367677751..669d4ecfa 100644
--- a/data/scripts/maps/SootopolisCity.inc
+++ b/data/scripts/maps/SootopolisCity.inc
@@ -5,10 +5,8 @@ SootopolisCity_MapScripts:: @ 814D07D
.byte 0
SootopolisCity_MapScript1_14D08D:: @ 814D08D
- checkflag FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN
- call_if 0, SootopolisCity_EventScript_14D0A0
- checkflag FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN
- call_if 1, SootopolisCity_EventScript_14D0B1
+ call_if_unset FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_EventScript_14D0A0
+ call_if_set FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_EventScript_14D0B1
end
SootopolisCity_EventScript_14D0A0:: @ 814D0A0
@@ -17,8 +15,7 @@ SootopolisCity_EventScript_14D0A0:: @ 814D0A0
return
SootopolisCity_EventScript_14D0B1:: @ 814D0B1
- checkflag FLAG_LEGENDARY_BATTLE_COMPLETED
- call_if 0, SootopolisCity_EventScript_14D0BB
+ call_if_unset FLAG_LEGENDARY_BATTLE_COMPLETED, SootopolisCity_EventScript_14D0BB
return
SootopolisCity_EventScript_14D0BB:: @ 814D0BB
@@ -35,10 +32,8 @@ SootopolisCity_EventScript_14D0BB:: @ 814D0BB
SootopolisCity_MapScript1_14D10D:: @ 814D10D
setflag FLAG_VISITED_SOOTOPOLIS_CITY
- checkflag FLAG_LEGENDARY_BATTLE_COMPLETED
- call_if 1, SootopolisCity_EventScript_14D159
- checkflag FLAG_SYS_WEATHER_CTRL
- call_if 1, SootopolisCity_EventScript_14D123
+ call_if_set FLAG_LEGENDARY_BATTLE_COMPLETED, SootopolisCity_EventScript_14D159
+ call_if_set FLAG_SYS_WEATHER_CTRL, SootopolisCity_EventScript_14D123
end
SootopolisCity_EventScript_14D123:: @ 814D123
@@ -46,7 +41,7 @@ SootopolisCity_EventScript_14D123:: @ 814D123
setobjectxyperm 1, 29, 19
setobjectxyperm 2, 33, 19
compare VAR_SOOTOPOLIS_STATE, 1
- call_if 1, SootopolisCity_EventScript_14D142
+ call_if_eq SootopolisCity_EventScript_14D142
return
SootopolisCity_EventScript_14D142:: @ 814D142
@@ -68,8 +63,7 @@ SootopolisCity_MapScript1_14D165:: @ 814D165
SootopolisCity_EventScript_14D16E:: @ 814D16E
lock
faceplayer
- checkflag FLAG_LEGENDARY_BATTLE_COMPLETED
- goto_if_eq SootopolisCity_EventScript_14D183
+ goto_if_set FLAG_LEGENDARY_BATTLE_COMPLETED, SootopolisCity_EventScript_14D183
msgbox SootopolisCity_Text_1696A4, 4
release
end
@@ -92,8 +86,7 @@ SootopolisCity_EventScript_14D19F:: @ 814D19F
faceplayer
dodailyevents
special GetPlayerBigGuyGirlString
- checkflag FLAG_DAILY_RECEIVED_BERRY_SOOTOPOLIS
- goto_if_eq SootopolisCity_EventScript_14D241
+ goto_if_set FLAG_DAILY_RECEIVED_BERRY_SOOTOPOLIS, SootopolisCity_EventScript_14D241
msgbox SootopolisCity_Text_1C63F2, 4
random 10
addvar RESULT, 20
@@ -142,8 +135,7 @@ SootopolisCity_EventScript_14D25E:: @ 814D25E
SootopolisCity_EventScript_14D268:: @ 814D268
lock
faceplayer
- checkflag FLAG_DEFEATED_SOOTOPOLIS_GYM
- goto_if_eq SootopolisCity_EventScript_14D27D
+ goto_if_set FLAG_DEFEATED_SOOTOPOLIS_GYM, SootopolisCity_EventScript_14D27D
msgbox SootopolisCity_Text_16A4D6, 4
release
end
@@ -156,8 +148,7 @@ SootopolisCity_EventScript_14D27D:: @ 814D27D
SootopolisCity_EventScript_14D287:: @ 814D287
lock
faceplayer
- checkflag FLAG_LEGENDARY_BATTLE_COMPLETED
- goto_if_eq SootopolisCity_EventScript_14D29C
+ goto_if_set FLAG_LEGENDARY_BATTLE_COMPLETED, SootopolisCity_EventScript_14D29C
msgbox SootopolisCity_Text_169813, 4
release
end
@@ -170,8 +161,7 @@ SootopolisCity_EventScript_14D29C:: @ 814D29C
SootopolisCity_EventScript_14D2A6:: @ 814D2A6
lock
faceplayer
- checkflag FLAG_LEGENDARY_BATTLE_COMPLETED
- goto_if_eq SootopolisCity_EventScript_14D2BB
+ goto_if_set FLAG_LEGENDARY_BATTLE_COMPLETED, SootopolisCity_EventScript_14D2BB
msgbox SootopolisCity_Text_1698A0, 4
release
end
@@ -184,8 +174,7 @@ SootopolisCity_EventScript_14D2BB:: @ 814D2BB
SootopolisCity_EventScript_14D2C5:: @ 814D2C5
lock
faceplayer
- checkflag FLAG_LEGENDARY_BATTLE_COMPLETED
- goto_if_eq SootopolisCity_EventScript_14D2DA
+ goto_if_set FLAG_LEGENDARY_BATTLE_COMPLETED, SootopolisCity_EventScript_14D2DA
msgbox SootopolisCity_Text_1697A7, 4
release
end
@@ -445,8 +434,7 @@ SootopolisCity_EventScript_14D48F:: @ 814D48F
SootopolisCity_EventScript_14D498:: @ 814D498
lock
faceplayer
- checkflag FLAG_LEGENDARY_BATTLE_COMPLETED
- goto_if_eq SootopolisCity_EventScript_14D4AD
+ goto_if_set FLAG_LEGENDARY_BATTLE_COMPLETED, SootopolisCity_EventScript_14D4AD
.ifdef SAPPHIRE
msgbox SootopolisCity_Text_169DA6, 4
.else
diff --git a/data/scripts/maps/SootopolisCity_Gym_1F.inc b/data/scripts/maps/SootopolisCity_Gym_1F.inc
index 35fa306e6..44bcda12f 100644
--- a/data/scripts/maps/SootopolisCity_Gym_1F.inc
+++ b/data/scripts/maps/SootopolisCity_Gym_1F.inc
@@ -20,11 +20,11 @@ SootopolisCity_Gym_1F_MapScript1_15AF25:: @ 815AF25
SootopolisCity_Gym_1F_EventScript_15AF2E:: @ 815AF2E
compare VAR_ICE_STEP_COUNT, 8
- goto_if 0, SootopolisCity_Gym_1F_EventScript_15AF85
+ goto_if_lt SootopolisCity_Gym_1F_EventScript_15AF85
compare VAR_ICE_STEP_COUNT, 28
- goto_if 0, SootopolisCity_Gym_1F_EventScript_15AF73
+ goto_if_lt SootopolisCity_Gym_1F_EventScript_15AF73
compare VAR_ICE_STEP_COUNT, 69
- goto_if 0, SootopolisCity_Gym_1F_EventScript_15AF61
+ goto_if_lt SootopolisCity_Gym_1F_EventScript_15AF61
setmetatile 8, 4, 519, 0
setmetatile 8, 5, 519, 0
@@ -87,10 +87,8 @@ SootopolisCity_Gym_1F_Movement_15AFFD:: @ 815AFFD
SootopolisCity_Gym_1F_EventScript_15AFFF:: @ 815AFFF
trainerbattle 1, OPPONENT_WALLACE, 0, SootopolisCity_Gym_1F_Text_18F0CA, SootopolisCity_Gym_1F_Text_18F282, SootopolisCity_Gym_1F_EventScript_15B02D
- checkflag FLAG_RECEIVED_TM03
- goto_if 0, SootopolisCity_Gym_1F_EventScript_15B056
- checkflag FLAG_BADGE06_GET
- goto_if 0, SootopolisCity_Gym_1F_EventScript_15B07A
+ goto_if_unset FLAG_RECEIVED_TM03, SootopolisCity_Gym_1F_EventScript_15B056
+ goto_if_unset FLAG_BADGE06_GET, SootopolisCity_Gym_1F_EventScript_15B07A
msgbox SootopolisCity_Gym_1F_Text_18F4D7, 4
release
end
@@ -124,8 +122,7 @@ SootopolisCity_Gym_1F_EventScript_15B07A:: @ 815B07A
SootopolisCity_Gym_1F_EventScript_15B084:: @ 815B084
lock
faceplayer
- checkflag FLAG_DEFEATED_SOOTOPOLIS_GYM
- goto_if_eq SootopolisCity_Gym_1F_EventScript_15B099
+ goto_if_set FLAG_DEFEATED_SOOTOPOLIS_GYM, SootopolisCity_Gym_1F_EventScript_15B099
msgbox SootopolisCity_Gym_1F_Text_18E8A5, 4
release
end
@@ -137,15 +134,13 @@ SootopolisCity_Gym_1F_EventScript_15B099:: @ 815B099
SootopolisCity_Gym_1F_EventScript_15B0A3:: @ 815B0A3
lockall
- checkflag FLAG_BADGE08_GET
- goto_if_eq SootopolisCity_Gym_1F_EventScript_15B0C3
+ goto_if_set FLAG_BADGE08_GET, SootopolisCity_Gym_1F_EventScript_15B0C3
goto SootopolisCity_Gym_1F_EventScript_15B0CD
end
SootopolisCity_Gym_1F_EventScript_15B0B3:: @ 815B0B3
lockall
- checkflag FLAG_BADGE08_GET
- goto_if_eq SootopolisCity_Gym_1F_EventScript_15B0C3
+ goto_if_set FLAG_BADGE08_GET, SootopolisCity_Gym_1F_EventScript_15B0C3
goto SootopolisCity_Gym_1F_EventScript_15B0CD
end
diff --git a/data/scripts/maps/SootopolisCity_House1.inc b/data/scripts/maps/SootopolisCity_House1.inc
index 074c9a179..67be3738b 100644
--- a/data/scripts/maps/SootopolisCity_House1.inc
+++ b/data/scripts/maps/SootopolisCity_House1.inc
@@ -4,8 +4,7 @@ SootopolisCity_House1_MapScripts:: @ 815B29A
SootopolisCity_House1_EventScript_15B29B:: @ 815B29B
lock
faceplayer
- checkflag FLAG_RECEIVED_TM31
- goto_if_eq SootopolisCity_House1_EventScript_15B2C7
+ goto_if_set FLAG_RECEIVED_TM31, SootopolisCity_House1_EventScript_15B2C7
msgbox SootopolisCity_House1_Text_18F991, 4
giveitem_std ITEM_TM31
setflag FLAG_RECEIVED_TM31
diff --git a/data/scripts/maps/SootopolisCity_House2.inc b/data/scripts/maps/SootopolisCity_House2.inc
index e32e993dd..d714993d4 100644
--- a/data/scripts/maps/SootopolisCity_House2.inc
+++ b/data/scripts/maps/SootopolisCity_House2.inc
@@ -6,9 +6,9 @@ SootopolisCity_House2_EventScript_15B2E5:: @ 815B2E5
faceplayer
msgbox SootopolisCity_House2_Text_18FA66, MSGBOX_YESNO
compare RESULT, YES
- call_if 1, SootopolisCity_House2_EventScript_15B307
+ call_if_eq SootopolisCity_House2_EventScript_15B307
compare RESULT, NO
- call_if 1, SootopolisCity_House2_EventScript_15B310
+ call_if_eq SootopolisCity_House2_EventScript_15B310
release
end
diff --git a/data/scripts/maps/SootopolisCity_House6.inc b/data/scripts/maps/SootopolisCity_House6.inc
index d2fb4ed7b..24c59500a 100644
--- a/data/scripts/maps/SootopolisCity_House6.inc
+++ b/data/scripts/maps/SootopolisCity_House6.inc
@@ -4,11 +4,10 @@ SootopolisCity_House6_MapScripts:: @ 815B385
SootopolisCity_House6_EventScript_15B386:: @ 815B386
lock
faceplayer
- checkflag FLAG_RECEIVED_WAILMER_DOLL
- goto_if_eq SootopolisCity_House6_EventScript_15B3CD
+ goto_if_set FLAG_RECEIVED_WAILMER_DOLL, SootopolisCity_House6_EventScript_15B3CD
msgbox SootopolisCity_House6_Text_18FEA1, MSGBOX_YESNO
compare RESULT, NO
- call_if 1, SootopolisCity_House6_EventScript_15B3C3
+ call_if_eq SootopolisCity_House6_EventScript_15B3C3
msgbox SootopolisCity_House6_Text_18FF12, 4
givedecoration_std DECOR_WAILMER_DOLL
compare RESULT, 0
diff --git a/data/scripts/maps/SootopolisCity_Mart.inc b/data/scripts/maps/SootopolisCity_Mart.inc
index 115ed0453..1687bd91e 100644
--- a/data/scripts/maps/SootopolisCity_Mart.inc
+++ b/data/scripts/maps/SootopolisCity_Mart.inc
@@ -29,10 +29,8 @@ SootopolisCity_Mart_Items:: @ 815B234
SootopolisCity_Mart_EventScript_15B24A:: @ 815B24A
lock
faceplayer
- checkflag FLAG_LEGENDARY_BATTLE_COMPLETED
- goto_if_eq SootopolisCity_Mart_EventScript_15B268
- checkflag FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN
- goto_if 0, SootopolisCity_Mart_EventScript_15B268
+ goto_if_set FLAG_LEGENDARY_BATTLE_COMPLETED, SootopolisCity_Mart_EventScript_15B268
+ goto_if_unset FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_Mart_EventScript_15B268
msgbox SootopolisCity_Mart_Text_18F8D7, 4
release
end
@@ -45,10 +43,8 @@ SootopolisCity_Mart_EventScript_15B268:: @ 815B268
SootopolisCity_Mart_EventScript_15B272:: @ 815B272
lock
faceplayer
- checkflag FLAG_LEGENDARY_BATTLE_COMPLETED
- goto_if_eq SootopolisCity_Mart_EventScript_15B290
- checkflag FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN
- goto_if 0, SootopolisCity_Mart_EventScript_15B290
+ goto_if_set FLAG_LEGENDARY_BATTLE_COMPLETED, SootopolisCity_Mart_EventScript_15B290
+ goto_if_unset FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_Mart_EventScript_15B290
msgbox SootopolisCity_Mart_Text_18F96B, 4
release
end
diff --git a/data/scripts/maps/SootopolisCity_PokemonCenter_1F.inc b/data/scripts/maps/SootopolisCity_PokemonCenter_1F.inc
index 9eb5b4a57..820dd4858 100644
--- a/data/scripts/maps/SootopolisCity_PokemonCenter_1F.inc
+++ b/data/scripts/maps/SootopolisCity_PokemonCenter_1F.inc
@@ -17,10 +17,8 @@ SootopolisCity_PokemonCenter_1F_MapScript1_15B196:: @ 815B196
SootopolisCity_PokemonCenter_1F_EventScript_15B1A8:: @ 815B1A8
lock
faceplayer
- checkflag FLAG_LEGENDARY_BATTLE_COMPLETED
- goto_if_eq SootopolisCity_PokemonCenter_1F_EventScript_15B1C6
- checkflag FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN
- goto_if 0, SootopolisCity_PokemonCenter_1F_EventScript_15B1C6
+ goto_if_set FLAG_LEGENDARY_BATTLE_COMPLETED, SootopolisCity_PokemonCenter_1F_EventScript_15B1C6
+ goto_if_unset FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_PokemonCenter_1F_EventScript_15B1C6
msgbox SootopolisCity_PokemonCenter_1F_Text_18F770, 4
release
end
@@ -33,10 +31,8 @@ SootopolisCity_PokemonCenter_1F_EventScript_15B1C6:: @ 815B1C6
SootopolisCity_PokemonCenter_1F_EventScript_15B1D0:: @ 815B1D0
lock
faceplayer
- checkflag FLAG_LEGENDARY_BATTLE_COMPLETED
- goto_if_eq SootopolisCity_PokemonCenter_1F_EventScript_15B1EE
- checkflag FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN
- goto_if 0, SootopolisCity_PokemonCenter_1F_EventScript_15B1EE
+ goto_if_set FLAG_LEGENDARY_BATTLE_COMPLETED, SootopolisCity_PokemonCenter_1F_EventScript_15B1EE
+ goto_if_unset FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_PokemonCenter_1F_EventScript_15B1EE
msgbox SootopolisCity_PokemonCenter_1F_Text_18F860, 4
release
end
diff --git a/data/scripts/maps/SouthernIsland_Interior.inc b/data/scripts/maps/SouthernIsland_Interior.inc
index cbc451a18..5878a43d5 100644
--- a/data/scripts/maps/SouthernIsland_Interior.inc
+++ b/data/scripts/maps/SouthernIsland_Interior.inc
@@ -4,8 +4,7 @@ SouthernIsland_Interior_MapScripts:: @ 8160B53
.byte 0
SouthernIsland_Interior_MapScript1_160B5E:: @ 8160B5E
- checkflag FLAG_SYS_CTRL_OBJ_DELETE
- call_if 1, SouthernIsland_Interior_EventScript_160B68
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, SouthernIsland_Interior_EventScript_160B68
end
SouthernIsland_Interior_EventScript_160B68:: @ 8160B68
@@ -44,10 +43,8 @@ SouthernIsland_Interior_EventScript_160B9B:: @ 8160B9B
end
SouthernIsland_Interior_EventScript_160BA7:: @ 8160BA7
- checkflag FLAG_ECOUNTERED_LATIAS_OR_LATIOS
- goto_if_eq SouthernIsland_Interior_EventScript_160C08
- checkflag FLAG_SYS_HAS_EON_TICKET
- goto_if 0, SouthernIsland_Interior_EventScript_160C08
+ goto_if_set FLAG_ECOUNTERED_LATIAS_OR_LATIOS, SouthernIsland_Interior_EventScript_160C08
+ goto_if_unset FLAG_SYS_HAS_EON_TICKET, SouthernIsland_Interior_EventScript_160C08
setflag FLAG_ECOUNTERED_LATIAS_OR_LATIOS
special SpawnCameraDummy
applymovement 127, SouthernIsland_Interior_Movement_160C12
diff --git a/data/scripts/maps/Underwater_SeafloorCavern.inc b/data/scripts/maps/Underwater_SeafloorCavern.inc
index d991a7096..d34558e40 100644
--- a/data/scripts/maps/Underwater_SeafloorCavern.inc
+++ b/data/scripts/maps/Underwater_SeafloorCavern.inc
@@ -6,8 +6,7 @@ Underwater_SeafloorCavern_MapScripts:: @ 815D99E
Underwater_SeafloorCavern_MapScript1_15D9AE:: @ 815D9AE
setflag FLAG_LANDMARK_SEAFLOOR_CAVERN
- checkflag FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN
- goto_if_eq Underwater_SeafloorCavern_EventScript_15D9BB
+ goto_if_set FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN, Underwater_SeafloorCavern_EventScript_15D9BB
end
Underwater_SeafloorCavern_EventScript_15D9BB:: @ 815D9BB
@@ -15,8 +14,7 @@ Underwater_SeafloorCavern_EventScript_15D9BB:: @ 815D9BB
end
Underwater_SeafloorCavern_MapScript1_15D9BF:: @ 815D9BF
- checkflag FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN
- call_if 1, Underwater_SeafloorCavern_EventScript_15D9C9
+ call_if_set FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN, Underwater_SeafloorCavern_EventScript_15D9C9
end
Underwater_SeafloorCavern_EventScript_15D9C9:: @ 815D9C9
diff --git a/data/scripts/maps/Underwater_SealedChamber.inc b/data/scripts/maps/Underwater_SealedChamber.inc
index 8d3e8e723..3151c4575 100644
--- a/data/scripts/maps/Underwater_SealedChamber.inc
+++ b/data/scripts/maps/Underwater_SealedChamber.inc
@@ -5,9 +5,9 @@ Underwater_SealedChamber_MapScripts:: @ 815F080
Underwater_SealedChamber_MapScript1_15F086:: @ 815F086
getplayerxy VAR_SPECIAL_4, VAR_SPECIAL_5
compare VAR_SPECIAL_4, 12
- goto_if 5, Underwater_SealedChamber_EventScript_15F0A6
+ goto_if_ne Underwater_SealedChamber_EventScript_15F0A6
compare VAR_SPECIAL_5, 44
- goto_if 5, Underwater_SealedChamber_EventScript_15F0A6
+ goto_if_ne Underwater_SealedChamber_EventScript_15F0A6
goto Underwater_SealedChamber_EventScript_15F0AF
Underwater_SealedChamber_EventScript_15F0A6:: @ 815F0A6
diff --git a/data/scripts/maps/UnknownMap_25_34.inc b/data/scripts/maps/UnknownMap_25_34.inc
index ffd184ddf..44b9463b4 100644
--- a/data/scripts/maps/UnknownMap_25_34.inc
+++ b/data/scripts/maps/UnknownMap_25_34.inc
@@ -14,15 +14,15 @@ LinkContestRoom1_MapScript1_15F595:: @ 815F595
LinkContestRoom1_EventScript_15F5A5:: @ 815F5A5
special ScriptGetMultiplayerId
compare RESULT, 0
- call_if 1, LinkContestRoom1_EventScript_15F5E0
+ call_if_eq LinkContestRoom1_EventScript_15F5E0
compare RESULT, 1
- call_if 1, LinkContestRoom1_EventScript_15F5E4
+ call_if_eq LinkContestRoom1_EventScript_15F5E4
compare RESULT, 2
- call_if 1, LinkContestRoom1_EventScript_15F5E8
+ call_if_eq LinkContestRoom1_EventScript_15F5E8
compare RESULT, 3
- call_if 1, LinkContestRoom1_EventScript_15F5EC
+ call_if_eq LinkContestRoom1_EventScript_15F5EC
compare RESULT, 4
- call_if 1, LinkContestRoom1_EventScript_15F5F0
+ call_if_eq LinkContestRoom1_EventScript_15F5F0
return
LinkContestRoom1_EventScript_15F5E0:: @ 815F5E0
@@ -47,7 +47,7 @@ LinkContestRoom1_EventScript_15F5F0:: @ 815F5F0
LinkContestRoom1_MapScript1_15F5F4:: @ 815F5F4
compare VAR_TEMP_9, 1
- call_if 1, LinkContestRoom1_EventScript_15F600
+ call_if_eq LinkContestRoom1_EventScript_15F600
end
LinkContestRoom1_EventScript_15F600:: @ 815F600
@@ -76,7 +76,7 @@ LinkContestRoom1_EventScript_15F630:: @ 815F630
call LinkContestRoom1_EventScript_15F6E6
call LinkContestRoom1_EventScript_15F646
compare VAR_TEMP_0, 8
- goto_if 0, LinkContestRoom1_EventScript_15F630
+ goto_if_lt LinkContestRoom1_EventScript_15F630
return
LinkContestRoom1_EventScript_15F646:: @ 815F646
diff --git a/data/scripts/maps/VerdanturfTown.inc b/data/scripts/maps/VerdanturfTown.inc
index ca2a3c245..c8adf85c3 100644
--- a/data/scripts/maps/VerdanturfTown.inc
+++ b/data/scripts/maps/VerdanturfTown.inc
@@ -11,8 +11,7 @@ VerdanturfTown_MapScript1_14E85A:: @ 814E85A
VerdanturfTown_EventScript_14E866:: @ 814E866
lock
faceplayer
- checkflag FLAG_RUSTURF_TUNNEL_OPENED
- goto_if_eq VerdanturfTown_EventScript_14E885
+ goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, VerdanturfTown_EventScript_14E885
msgbox VerdanturfTown_Text_16CAEB, 4
applymovement 2, VerdanturfTown_Movement_1A083D
waitmovement 0
@@ -37,8 +36,7 @@ VerdanturfTown_EventScript_14E8A2:: @ 814E8A2
VerdanturfTown_EventScript_14E8AB:: @ 814E8AB
lock
faceplayer
- checkflag FLAG_RUSTURF_TUNNEL_OPENED
- goto_if_eq VerdanturfTown_EventScript_14E8C0
+ goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, VerdanturfTown_EventScript_14E8C0
msgbox VerdanturfTown_Text_16CD4D, 4
release
end
diff --git a/data/scripts/maps/VerdanturfTown_ContestLobby.inc b/data/scripts/maps/VerdanturfTown_ContestLobby.inc
index 37811dbc1..85b524c99 100644
--- a/data/scripts/maps/VerdanturfTown_ContestLobby.inc
+++ b/data/scripts/maps/VerdanturfTown_ContestLobby.inc
@@ -101,8 +101,7 @@ VerdanturfTown_ContestLobby_EventScript_153E3E:: @ 8153E3E
VerdanturfTown_ContestLobby_EventScript_153E47:: @ 8153E47
lock
faceplayer
- checkflag FLAG_RECEIVED_TM45
- goto_if_eq VerdanturfTown_ContestLobby_EventScript_153E76
+ goto_if_set FLAG_RECEIVED_TM45, VerdanturfTown_ContestLobby_EventScript_153E76
msgbox VerdanturfTown_ContestLobby_Text_177DEC, 4
giveitem_std ITEM_TM45
compare RESULT, 0
diff --git a/data/scripts/maps/VerdanturfTown_WandasHouse.inc b/data/scripts/maps/VerdanturfTown_WandasHouse.inc
index 205a4315c..4410beaba 100644
--- a/data/scripts/maps/VerdanturfTown_WandasHouse.inc
+++ b/data/scripts/maps/VerdanturfTown_WandasHouse.inc
@@ -4,8 +4,7 @@ VerdanturfTown_WandasHouse_MapScripts:: @ 8153F5A
VerdanturfTown_WandasHouse_EventScript_153F5B:: @ 8153F5B
lock
faceplayer
- checkflag FLAG_WALLY_SPEECH
- goto_if_eq VerdanturfTown_WandasHouse_EventScript_153F73
+ goto_if_set FLAG_WALLY_SPEECH, VerdanturfTown_WandasHouse_EventScript_153F73
msgbox VerdanturfTown_WandasHouse_Text_1783F6, 4
setflag FLAG_WALLY_SPEECH
release
@@ -19,10 +18,8 @@ VerdanturfTown_WandasHouse_EventScript_153F73:: @ 8153F73
VerdanturfTown_WandasHouse_EventScript_153F7D:: @ 8153F7D
lock
faceplayer
- checkflag FLAG_DEFEATED_WALLY_VICTORY_ROAD
- goto_if_eq VerdanturfTown_WandasHouse_EventScript_153FA5
- checkflag FLAG_DEFEATED_LAVARIDGE_GYM
- goto_if_eq VerdanturfTown_WandasHouse_EventScript_153F9B
+ goto_if_set FLAG_DEFEATED_WALLY_VICTORY_ROAD, VerdanturfTown_WandasHouse_EventScript_153FA5
+ goto_if_set FLAG_DEFEATED_LAVARIDGE_GYM, VerdanturfTown_WandasHouse_EventScript_153F9B
msgbox VerdanturfTown_WandasHouse_Text_17859A, 4
release
end
@@ -44,10 +41,8 @@ VerdanturfTown_WandasHouse_EventScript_153FAF:: @ 8153FAF
VerdanturfTown_WandasHouse_EventScript_153FB8:: @ 8153FB8
lock
faceplayer
- checkflag FLAG_DEFEATED_LAVARIDGE_GYM
- goto_if_eq VerdanturfTown_WandasHouse_EventScript_153FE0
- checkflag FLAG_DEFEATED_WALLY_MAUVILLE
- goto_if_eq VerdanturfTown_WandasHouse_EventScript_153FD6
+ goto_if_set FLAG_DEFEATED_LAVARIDGE_GYM, VerdanturfTown_WandasHouse_EventScript_153FE0
+ goto_if_set FLAG_DEFEATED_WALLY_MAUVILLE, VerdanturfTown_WandasHouse_EventScript_153FD6
msgbox VerdanturfTown_WandasHouse_Text_1787FB, 4
release
end
@@ -65,12 +60,9 @@ VerdanturfTown_WandasHouse_EventScript_153FE0:: @ 8153FE0
VerdanturfTown_WandasHouse_EventScript_153FEA:: @ 8153FEA
lock
faceplayer
- checkflag FLAG_DEFEATED_WALLY_VICTORY_ROAD
- goto_if_eq VerdanturfTown_WandasHouse_EventScript_154025
- checkflag FLAG_DEFEATED_LAVARIDGE_GYM
- goto_if_eq VerdanturfTown_WandasHouse_EventScript_15401B
- checkflag FLAG_RUSTURF_TUNNEL_OPENED
- goto_if_eq VerdanturfTown_WandasHouse_EventScript_154011
+ goto_if_set FLAG_DEFEATED_WALLY_VICTORY_ROAD, VerdanturfTown_WandasHouse_EventScript_154025
+ goto_if_set FLAG_DEFEATED_LAVARIDGE_GYM, VerdanturfTown_WandasHouse_EventScript_15401B
+ goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, VerdanturfTown_WandasHouse_EventScript_154011
msgbox VerdanturfTown_WandasHouse_Text_1788B1, 4
release
end
diff --git a/data/scripts/maps/VictoryRoad_1F.inc b/data/scripts/maps/VictoryRoad_1F.inc
index ed0440343..4f3180318 100644
--- a/data/scripts/maps/VictoryRoad_1F.inc
+++ b/data/scripts/maps/VictoryRoad_1F.inc
@@ -3,8 +3,7 @@ VictoryRoad_1F_MapScripts:: @ 815DE83
.byte 0
VictoryRoad_1F_MapScript1_15DE89:: @ 815DE89
- checkflag FLAG_DEFEATED_WALLY_VICTORY_ROAD
- call_if 1, VictoryRoad_1F_EventScript_15DE93
+ call_if_set FLAG_DEFEATED_WALLY_VICTORY_ROAD, VictoryRoad_1F_EventScript_15DE93
end
VictoryRoad_1F_EventScript_15DE93:: @ 815DE93
diff --git a/data/scripts/mystery_event_club.inc b/data/scripts/mystery_event_club.inc
index b02ab4faa..4813caa68 100644
--- a/data/scripts/mystery_event_club.inc
+++ b/data/scripts/mystery_event_club.inc
@@ -1,8 +1,7 @@
PetalburgCity_PokemonCenter_1F_EventScript_1B1B14:: @ 81B1B14
lock
faceplayer
- checkflag FLAG_SYS_CHAT_USED
- goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_1B1BDB
+ goto_if_set FLAG_SYS_CHAT_USED, PetalburgCity_PokemonCenter_1F_EventScript_1B1BDB
msgbox PetalburgCity_PokemonCenter_1F_Text_1B1C97, 4
goto PetalburgCity_PokemonCenter_1F_EventScript_1B1B2D
end
@@ -30,7 +29,7 @@ PetalburgCity_PokemonCenter_1F_EventScript_1B1B7A:: @ 81B1B7A
lock
faceplayer
compare VAR_SPECIAL_4, 1
- call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_1B1C77
+ call_if_eq PetalburgCity_PokemonCenter_1F_EventScript_1B1C77
compare RESULT, 0
goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_1B1BB1
compare RESULT, 1
@@ -84,7 +83,7 @@ PetalburgCity_PokemonCenter_1F_EventScript_1B1C36:: @ 81B1C36
lock
faceplayer
compare VAR_SPECIAL_4, 1
- call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_1B1C77
+ call_if_eq PetalburgCity_PokemonCenter_1F_EventScript_1B1C77
compare RESULT, 0
goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_1B1BB1
compare RESULT, 1
@@ -97,10 +96,8 @@ PetalburgCity_PokemonCenter_1F_EventScript_1B1C6D:: @ 81B1C6D
end
PetalburgCity_PokemonCenter_1F_EventScript_1B1C77:: @ 81B1C77
- checkflag FLAG_BADGE05_GET
- goto_if 0, PetalburgCity_PokemonCenter_1F_EventScript_1B1C96
- checkflag FLAG_SYS_EXDATA_ENABLE
- goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_1B1C96
+ goto_if_unset FLAG_BADGE05_GET, PetalburgCity_PokemonCenter_1F_EventScript_1B1C96
+ goto_if_set FLAG_SYS_EXDATA_ENABLE, PetalburgCity_PokemonCenter_1F_EventScript_1B1C96
setflag FLAG_SYS_EXDATA_ENABLE
msgbox PetalburgCity_PokemonCenter_1F_Text_1B21CC, 3
release
diff --git a/data/scripts/players_house.inc b/data/scripts/players_house.inc
index b1ead4060..3d8f5532f 100644
--- a/data/scripts/players_house.inc
+++ b/data/scripts/players_house.inc
@@ -9,9 +9,9 @@ LittlerootTown_MaysHouse_1F_EventScript_1B6956:: @ 81B6956
applymovement VAR_SPECIAL_4, LittlerootTown_BrendansHouse_1F_Movement_1A0839
waitmovement 0
compare VAR_SPECIAL_5, 0
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B699F
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B699F
compare VAR_SPECIAL_5, 1
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B69AA
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B69AA
msgbox LittlerootTown_BrendansHouse_1F_Text_172453, 4
closemessage
setvar VAR_LITTLEROOT_INTRO_STATE, 4
@@ -59,8 +59,7 @@ LittlerootTown_MaysHouse_2F_EventScript_1B69DF:: @ 81B69DF
LittlerootTown_BrendansHouse_2F_EventScript_1B69EB:: @ 81B69EB
LittlerootTown_MaysHouse_2F_EventScript_1B69EB:: @ 81B69EB
- checkflag FLAG_SET_WALL_CLOCK
- goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1B6A91
+ goto_if_set FLAG_SET_WALL_CLOCK, LittlerootTown_BrendansHouse_2F_EventScript_1B6A91
msgbox LittlerootTown_BrendansHouse_2F_Text_172E18, 4
call LittlerootTown_BrendansHouse_2F_EventScript_1B6A9B
delay 30
@@ -70,9 +69,9 @@ LittlerootTown_MaysHouse_2F_EventScript_1B69EB:: @ 81B69EB
setflag FLAG_HIDE_MACHOKE_MOVER_2
checkplayergender
compare RESULT, 0
- call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1B6A31
+ call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1B6A31
compare RESULT, 1
- call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1B6A61
+ call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1B6A61
playse SE_KAIDAN
removeobject VAR_SPECIAL_8
releaseall
@@ -256,14 +255,12 @@ LittlerootTown_MaysHouse_1F_EventScript_1B6BE9:: @ 81B6BE9
goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6C33
compare VAR_LITTLEROOT_HOUSES_STATE_2, 4
goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6C33
- checkflag FLAG_BADGE05_GET
- goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6C3D
- checkflag FLAG_RESCUED_BIRCH
- goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6C72
+ goto_if_set FLAG_BADGE05_GET, LittlerootTown_BrendansHouse_1F_EventScript_1B6C3D
+ goto_if_set FLAG_RESCUED_BIRCH, LittlerootTown_BrendansHouse_1F_EventScript_1B6C72
compare VAR_TEMP_1, 1
goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6C80
compare VAR_LITTLEROOT_INTRO_STATE, 7
- goto_if 4, LittlerootTown_BrendansHouse_1F_EventScript_1B6C9C
+ goto_if_ge LittlerootTown_BrendansHouse_1F_EventScript_1B6C9C
msgbox LittlerootTown_BrendansHouse_1F_Text_172429, 4
release
end
@@ -274,8 +271,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_1B6C33:: @ 81B6C33
end
LittlerootTown_BrendansHouse_1F_EventScript_1B6C3D:: @ 81B6C3D
- checkflag FLAG_RECEIVED_AMULET_COIN
- goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6C72
+ goto_if_set FLAG_RECEIVED_AMULET_COIN, LittlerootTown_BrendansHouse_1F_EventScript_1B6C72
msgbox LittlerootTown_BrendansHouse_1F_Text_172782, 4
giveitem_std ITEM_AMULET_COIN
compare RESULT, 0
@@ -363,13 +359,13 @@ LittlerootTown_MaysHouse_1F_EventScript_1B6CDE:: @ 81B6CDE
lockall
checkplayergender
compare RESULT, 0
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DAD
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6DAD
compare RESULT, 1
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DBD
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6DBD
compare VAR_SPECIAL_8, 0
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6E1D
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6E1D
compare VAR_SPECIAL_8, 1
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6E28
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6E28
applymovement VAR_SPECIAL_9, LittlerootTown_BrendansHouse_1F_Movement_1A0839
waitmovement 0
playse SE_PIN
@@ -379,23 +375,23 @@ LittlerootTown_MaysHouse_1F_EventScript_1B6CDE:: @ 81B6CDE
waitmovement 0
delay 20
compare VAR_SPECIAL_8, 0
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DCD
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6DCD
compare VAR_SPECIAL_8, 1
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DD8
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6DD8
msgbox LittlerootTown_BrendansHouse_1F_Text_17298B, 4
giveitem_std ITEM_SS_TICKET
msgbox LittlerootTown_BrendansHouse_1F_Text_172A7D, 4
closemessage
compare VAR_SPECIAL_8, 0
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DE3
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6DE3
compare VAR_SPECIAL_8, 1
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DEE
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6DEE
msgbox LittlerootTown_BrendansHouse_1F_Text_172B5E, 4
closemessage
compare VAR_SPECIAL_8, 0
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DF9
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6DF9
compare VAR_SPECIAL_8, 1
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6E0B
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6E0B
playse SE_DOOR
removeobject VAR_SPECIAL_9
setflag FLAG_RECEIVED_SS_TICKET
diff --git a/data/scripts/pokeblocks.inc b/data/scripts/pokeblocks.inc
index 589d4e21c..4b21aa99b 100644
--- a/data/scripts/pokeblocks.inc
+++ b/data/scripts/pokeblocks.inc
@@ -55,7 +55,7 @@ FallarborTown_ContestLobby_EventScript_1B76A1:: @ 81B76A1
msgbox FallarborTown_ContestLobby_Text_1B6E9D, 4
specialvar RESULT, GetFirstFreePokeblockSlot
compare RESULT, -1
- goto_if 5, FallarborTown_ContestLobby_EventScript_1B76EF
+ goto_if_ne FallarborTown_ContestLobby_EventScript_1B76EF
compare RESULT, -1
goto_if_eq FallarborTown_ContestLobby_EventScript_1B7776
end
@@ -76,8 +76,7 @@ FallarborTown_ContestLobby_EventScript_1B76EF:: @ 81B76EF
FallarborTown_ContestLobby_EventScript_1B770E:: @ 81B770E
msgbox FallarborTown_ContestLobby_Text_1B6FF0, 4
dodailyevents
- checkflag FLAG_DAILY_RECEIVED_BERRY_FALLARBOR
- goto_if_eq FallarborTown_ContestLobby_EventScript_1B774F
+ goto_if_set FLAG_DAILY_RECEIVED_BERRY_FALLARBOR, FallarborTown_ContestLobby_EventScript_1B774F
goto FallarborTown_ContestLobby_EventScript_1B7759
end
@@ -162,8 +161,7 @@ FallarborTown_ContestLobby_EventScript_1B77DC:: @ 81B77DC
FallarborTown_ContestLobby_EventScript_1B77E6:: @ 81B77E6
dodailyevents
- checkflag FLAG_DAILY_RECEIVED_BERRY_FALLARBOR
- goto_if_eq FallarborTown_ContestLobby_EventScript_1B77F6
+ goto_if_set FLAG_DAILY_RECEIVED_BERRY_FALLARBOR, FallarborTown_ContestLobby_EventScript_1B77F6
goto FallarborTown_ContestLobby_EventScript_1B7800
end
@@ -216,7 +214,7 @@ VerdanturfTown_ContestLobby_EventScript_1B783B:: @ 81B783B
goto_if_eq FallarborTown_ContestLobby_EventScript_1B7942
specialvar RESULT, GetFirstFreePokeblockSlot
compare RESULT, -1
- goto_if 5, FallarborTown_ContestLobby_EventScript_1B7878
+ goto_if_ne FallarborTown_ContestLobby_EventScript_1B7878
compare RESULT, -1
goto_if_eq FallarborTown_ContestLobby_EventScript_1B7938
end
diff --git a/data/scripts/safari_zone.inc b/data/scripts/safari_zone.inc
index f41fd1f8c..d34b357ea 100644
--- a/data/scripts/safari_zone.inc
+++ b/data/scripts/safari_zone.inc
@@ -44,7 +44,7 @@ gUnknown_081C346A:: @ 81C346A
lockall
special SafariZoneGetPokeblockNameInFeeder
compare RESULT, 0xFFFF
- goto_if 5, EventScript_1C34A9
+ goto_if_ne EventScript_1C34A9
msgbox UnknownString_81C354E, MSGBOX_YESNO
compare RESULT, YES
goto_if_eq EventScript_1C348E
@@ -56,7 +56,7 @@ EventScript_1C348E:
special OpenPokeblockCaseOnFeeder
waitstate
compare RESULT, 0xFFFF
- goto_if 5, EventScript_1C34A0
+ goto_if_ne EventScript_1C34A0
end
EventScript_1C34A0:
diff --git a/data/scripts/secret_power_tm.inc b/data/scripts/secret_power_tm.inc
index 2a5905191..1f5e074d9 100644
--- a/data/scripts/secret_power_tm.inc
+++ b/data/scripts/secret_power_tm.inc
@@ -17,11 +17,11 @@ Route111_EventScript_1A3877:: @ 81A3877
setflag FLAG_RECEIVED_SECRET_POWER
clearflag FLAG_HIDE_TM_SALESMAN_SLATEPORT
compare FACING, 3
- call_if 1, Route111_EventScript_1A38C3
+ call_if_eq Route111_EventScript_1A38C3
compare FACING, 4
- call_if 1, Route111_EventScript_1A38C3
+ call_if_eq Route111_EventScript_1A38C3
compare FACING, 2
- call_if 1, Route111_EventScript_1A38CE
+ call_if_eq Route111_EventScript_1A38CE
removeobject LAST_TALKED
release
end
diff --git a/data/scripts/tv.inc b/data/scripts/tv.inc
index cf82cf943..5a84a1b48 100644
--- a/data/scripts/tv.inc
+++ b/data/scripts/tv.inc
@@ -7,10 +7,8 @@ Event_TV:: @ 81A6E72
goto_if_eq EventScript_1A6F01
compare RESULT, 1
goto_if_eq EventScript_1A6F0B
- checkflag FLAG_SYS_TV_START
- goto_if 0, EventScript_1A6EF1
- checkflag FLAG_SYS_TV_WATCH
- goto_if_eq EventScript_1A6EF1
+ goto_if_unset FLAG_SYS_TV_START, EventScript_1A6EF1
+ goto_if_set FLAG_SYS_TV_WATCH, EventScript_1A6EF1
specialvar RESULT, IsTVShowInSearchOfTrainersAiring
compare RESULT, 1
goto_if_eq EventScript_1A6F66
@@ -27,7 +25,7 @@ EventScript_1A6EBB:
copyvar VAR_SPECIAL_4, RESULT
specialvar RESULT, GetTVShowType
compare RESULT, 0
- goto_if 5, EventScript_1A6F21
+ goto_if_ne EventScript_1A6F21
end
EventScript_1A6EF1:
@@ -60,7 +58,7 @@ EventScript_1A6F21:
waitmessage
waitbuttonpress
compare RESULT, 1
- goto_if 5, EventScript_1A6F21
+ goto_if_ne EventScript_1A6F21
goto EventScript_1A6F37
end
diff --git a/data/specials.inc b/data/specials.inc
index 032a3884c..6904a2b6b 100644
--- a/data/specials.inc
+++ b/data/specials.inc
@@ -159,7 +159,7 @@ gSpecials::
def_special GetRivalSonDaughterString
def_special SetFlagInVar
def_special CableCarWarp
- def_special sub_8123218
+ def_special CableCar
def_special Overworld_PlaySpecialMapMusic
def_special StartWallClock
def_special ScrSpecial_ViewWallClock
diff --git a/de_after.sh b/de_after.sh
index 8c39f765a..8c39f765a 100644..100755
--- a/de_after.sh
+++ b/de_after.sh
diff --git a/de_before.sh b/de_before.sh
index a68790143..392726948 100644..100755
--- a/de_before.sh
+++ b/de_before.sh
@@ -1,4 +1,3 @@
-cp override-de.mk
-rsync -avhI asm-de/ asm/
+cp override-de.mk override.mk
rsync -avhI data-de/ data/
rsync -avhI graphics-de/ graphics/
diff --git a/include/battle.h b/include/battle.h
index 0881cf82c..0824fc46c 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -368,16 +368,6 @@ struct Struct2017100
u32 arr[4];
};
-struct Struct2019348
-{
- u16 unk0;
- u16 unk2;
- u8 unk4;
- u32 unk8;
- u32 unkC;
- u32 unk10;
-};
-
struct Struct2017800
{
u8 invisible:1;
diff --git a/include/cable_car_util.h b/include/cable_car_util.h
new file mode 100644
index 000000000..7126331a1
--- /dev/null
+++ b/include/cable_car_util.h
@@ -0,0 +1,13 @@
+#ifndef GUARD_CABLE_CAR_UTIL_H
+#define GUARD_CABLE_CAR_UTIL_H
+
+// Exported type declarations
+
+// Exported RAM declarations
+
+// Exported ROM declarations
+
+void CableCarUtil_FillWrapped(void *dest, u16 value, u8 x, u8 y, u8 width, u8 height);
+void CableCarUtil_CopyWrapped(void *dest, const u16 *src, u8 x, u8 y, u8 width, u8 height);
+
+#endif //GUARD_CABLE_CAR_UTIL_H
diff --git a/include/constants/easy_chat.h b/include/constants/easy_chat.h
index 12350aebe..215dac48c 100644
--- a/include/constants/easy_chat.h
+++ b/include/constants/easy_chat.h
@@ -1,7 +1,7 @@
#ifndef GUARD_CONSTANTS_EASY_CHAT_H
#define GUARD_CONSTANTS_EASY_CHAT_H
-#define EC_GROUP_POKEMON 0x0
+#define EC_GROUP_POKEMON_1 0x0
#define EC_GROUP_TRAINER 0x1
#define EC_GROUP_STATUS 0x2
#define EC_GROUP_BATTLE 0x3
@@ -1053,7 +1053,7 @@
#define EC_WORD_YOUNG (EC_GROUP_TRENDY_SAYING << 9) | 0x1f
#define EC_WORD_UGLY (EC_GROUP_TRENDY_SAYING << 9) | 0x20
-#define EC_POKEMON(mon) ((EC_GROUP_POKEMON << 9) | SPECIES_##mon)
+#define EC_POKEMON(mon) ((EC_GROUP_POKEMON_1 << 9) | SPECIES_##mon)
#define EC_POKEMON2(mon) ((EC_GROUP_POKEMON_2 << 9) | SPECIES_##mon)
#define EC_MOVE(move) ((EC_GROUP_MOVE_1 << 9) | MOVE_##move)
#define EC_MOVE2(move) ((EC_GROUP_MOVE_2 << 9) | MOVE_##move)
diff --git a/include/contest.h b/include/contest.h
index 10392c00e..6e71358a2 100644
--- a/include/contest.h
+++ b/include/contest.h
@@ -87,4 +87,171 @@ bool8 Contest_SaveWinner(u8);
u8 sub_80B2C4C(u8, u8);
void Contest_ResetWinners(void);
+// Contest Shared EWRAM
+
+struct Shared18000
+{
+ /*0x18000*/ u8 unk18000;
+ /*0x18001*/ u8 filler18001[3];
+ /*0x18004*/ u16 unk18004[16][16];
+ /*0x18204*/ u16 unk18204[0x200];
+ /*0x18604*/ u16 unk18604[0x200];
+ /*0x18A04*/ u8 unk18A04[0x800];
+};
+
+struct Contest
+{
+ /*0x19204*/ u8 playerMoveChoice;
+ /*0x19205*/ u8 turnNumber;
+ /*0x19206*/ u8 unk19206[4]; // seems to only be used by an unref function
+ /*0x1920A*/ u16 unk1920A_0:1; // Task active flags?
+ u16 unk1920A_1:1;
+ u16 unk1920A_2:1;
+ u16 unk1920A_3:1;
+ u16 unk1920A_4:1;
+ u16 unk1920A_5:1;
+ u16 unk1920A_6:1;
+ u16 unk1920A_7:1;
+ /*0x1920B*/ u16 unk1920B_0:1;
+ u16 unk1920B_1:1;
+ u16 unk1920B_2:1;
+ /*0x1920C*/ u8 mainTaskId;
+ /*0x1920D*/ u8 unk1920D[4];
+ /*0x19211*/ u8 unk19211;
+ /*0x19212*/ u8 unk19212;
+ /*0x19213*/ u8 filler19213;
+ /*0x19214*/ u8 unk19214;
+ /*0x19215*/ u8 unk19215;
+ /*0x19216*/ u8 unk19216; // sprite ID
+ /*0x19217*/ s8 applauseLevel;
+ /*0x19218*/ u8 unk19218[4];
+ /*0x1921C*/ u32 unk1921C; // saved RNG value?
+ u16 unk19220[5][4]; // move history?
+ u8 unk19248[5][4]; // excitement history
+ u8 applauseMeterSpriteId; // sprite ID
+ /*0x1925D*/ u8 unk1925D;
+ /*0x1925E*/ u8 unk1925E;
+};
+
+struct ContestantStatus
+{
+ s16 appeal1; // move appeal?
+ s16 appeal2; // final appeal after end of turn, maybe?
+ s16 unk4;
+ u16 currMove;
+ u16 prevMove;
+ u8 moveCategory;
+ u8 unkB_0:2;
+ u8 unkB_2:2;
+ u8 moveRepeatCount:3;
+ u8 unkB_7:1; // used a one-time move?
+ u8 unkC_0:1;
+ u8 unkC_1:2;
+ s8 unkD;
+ u8 unkE;
+ u8 unkF;
+ u8 unk10_0:1;
+ u8 unk10_1:1;
+ u8 unk10_2:1;
+ u8 unk10_3:1;
+ u8 unk10_4:2;
+ u8 unk10_6:2;
+ u8 unk11_0:2;
+ u8 unk11_2:1;
+ u8 unk11_3:1;
+ u8 unk11_4:1;
+ u8 unk11_5:1;
+ u8 unk12;
+ u8 unk13; // status action?
+ u8 unk14;
+ u8 disappointedRepeat:1;
+ u8 unk15_1:1;
+ u8 unk15_2:1;
+ u8 unk15_3:1;
+ u8 unk15_4:1;
+ u8 unk15_5:1;
+ u8 unk15_6:1;
+ u8 unk16;
+ u8 unk17;
+ u8 unk18;
+ u8 unk19; // turn position
+ u8 attentionLevel; // How much the Pokemon "stood out"
+ u8 unk1B;
+};
+
+struct UnknownContestStruct3
+{
+ u8 unk0;
+ u8 unk1;
+ //u8 unk2_0:1;
+ //u8 unk2_1:1;
+ u8 unk2; // maybe a bitfield
+ u8 filler3;
+};
+
+// possibly the same as UnknownContestStruct3?
+struct UnknownContestStruct4
+{
+ u8 unk0; // sprite ID
+ u8 unk1; // sprite ID
+ u8 unk2_0:1;
+ u8 unk2_1:1;
+ u8 unk2_2:1;
+ u8 filler3;
+};
+
+struct UnknownContestStruct5
+{
+ s8 bits_0; // current move excitement?
+ u8 bits_8:1;
+ u8 bits_9:3;
+ u8 bits_C:4;
+ s8 unk2;
+ u8 filler3;
+};
+
+struct UnknownContestStruct7
+{
+ u8 unk0[4];
+ u16 unk4;
+ u16 unk6;
+ u8 filler8[0xD-8];
+ u8 unkD[4];
+ u8 unk11;
+ u8 filler12[2];
+};
+
+struct UnknownContestStruct8
+{
+ u16 unk0;
+ u16 unk2;
+ u8 unk4_0:1;
+ u8 unk5;
+ u8 filler6[2];
+ u32 unk8;
+ u32 unkC;
+ u32 unk10;
+};
+
+struct UnknownContestStruct6
+{
+ s32 unk0;
+ s32 unk4;
+ s32 unk8;
+ s32 unkC;
+};
+
+#define shared15800 (gSharedMem + 0x15800)
+#define shared15DE0 (*(struct ContestWinner *)(gSharedMem + 0x15DE0))
+#define shared16800 (gSharedMem + 0x16800)
+#define shared18000 (*(struct Shared18000 *)(gSharedMem + 0x18000))
+#define shared18004 ((u16 *)(gSharedMem + 0x18004))
+#define sContest (*(struct Contest *)(gSharedMem + 0x19204))
+#define sContestantStatus ((struct ContestantStatus *)(gSharedMem + 0x19260))
+#define shared192D0 (*(struct UnknownContestStruct7 *)(gSharedMem + 0x192D0))
+#define shared192E4 (gSharedMem + 0x192E4)
+#define shared19328 (*(struct UnknownContestStruct5 *)(gSharedMem + 0x19328))
+#define shared19338 ((struct UnknownContestStruct4 *)(gSharedMem + 0x19338))
+#define shared19348 (*(struct UnknownContestStruct8 *)(gSharedMem + 0x19348))
+
#endif // GUARD_CONTEST_H
diff --git a/include/dewford_trend.h b/include/dewford_trend.h
index c12d0d740..16b2bdd75 100644
--- a/include/dewford_trend.h
+++ b/include/dewford_trend.h
@@ -2,6 +2,7 @@
#define GUARD_DEWFORDTREND_H
void InitDewfordTrend(void);
+bool8 sub_80FA364(u16 *a);
void sub_80FA4E4(void *, u32, u8);
void UpdateDewfordTrendPerDay(u16);
diff --git a/include/easy_chat.h b/include/easy_chat.h
index a6277fba8..a70d7ad0c 100644
--- a/include/easy_chat.h
+++ b/include/easy_chat.h
@@ -1,8 +1,126 @@
#ifndef GUARD_EASYCHAT_H
#define GUARD_EASYCHAT_H
+struct Sprite;
+
+struct UnknownEasyChatStruct1
+{
+ u16 unk0;
+ u16 unk2;
+ u16 unk4;
+ u16 unk6;
+ void *unk8;
+};
+
+struct Shared1000
+{
+ void (*unk0)(void); // main cb 2
+ u16 *unk4;
+ u8 unk8;
+ u8 unk9;
+ u8 unkA; // length of unkC array
+ u8 unkB; // reporter talked to (Gabby or Ty)
+ u16 unkC[9];
+ void (*unk20)(void);
+ u16 unk24;
+ u8 unk26;
+ u8 unk27;
+ u16 unk28;
+ u8 unk2A[11][2];
+ u8 unk40[4][14];
+ u8 unk78[5];
+ u8 unk7D;
+ u8 unk7E[5];
+ s8 unk83;
+ s8 unk84;
+ s8 unk85;
+ s8 unk86;
+ bool8 unk87;
+ u16 unk88;
+ u16 unk8A;
+ u8 unk8C[(0x96-0x8C)/2][2];
+ u8 unk96;
+ u8 filler97;
+ struct Sprite *unk98;
+ struct Sprite *unk9C;
+ struct Sprite *unkA0;
+ struct Sprite *unkA4;
+ struct Sprite *unkA8;
+ struct Sprite *unkAC[2];
+ struct Sprite *unkB4[2];
+ u8 unkBC;
+ u8 fillerBD;
+ u16 unkBE;
+ u8 fillerC0[2];
+ u16 unkC2; // length of unkC8 and unk148 arrays
+ u16 unkC4;
+ u8 fillerC6[2];
+ u16 unkC8[(0x148-0xC8)/16][8];
+ struct UnknownEasyChatStruct1 unk148[(0x1A8-0x148)/12];
+ s8 unk1A8;
+ s8 unk1A9;
+ s8 unk1AA[0xB5-0xAA];
+ s8 unk1B5;
+ s8 unk1B6;
+ s8 unk1B7;
+ u8 unk1B8;
+ u8 unk1B9;
+ u16 unk1BA;
+ u16 unk1BC;
+ u8 unk1BE;
+ s8 unk1BF;
+ s8 unk1C0;
+ u8 filler1C1[3];
+ void (*unk1C4)(void);
+ u8 unk1C8[0x500];
+ u8 unk6C8[0xB78-0x6C8];
+#if GERMAN
+ u16 unkB78[27][270];
+#else
+ u16 unkB78[27][255];
+#endif
+ u16 unk4142[(0x78-0x42)/2]; //0x446C
+ u16 unk4178[(0x41A4-0x4178)/2]; // unknown length
+ const u8 *ecWordStrings[0x16][0x100]; //0x44CE in german
+ s8 unk99A4;
+ s8 unk99A5;
+ s8 unk99A6[130];
+ s8 unk9A28;
+ s8 unk9A29;
+ u16 unk9A2A[(0x9C32-0x9A2A)/4][2]; // unknown length
+ u8 unk9C32;
+ u8 filler9C33;
+ u16 unk9C34[3][9];
+ u8 filler9C6A[2];
+ s8 *unk9C6C;
+ u8 unk9C70;
+ s8 unk9C71;
+ u8 filler9C72[2];
+ struct Sprite *unk9C74;
+ u8 filler9C78[4];
+ u16 unk9C7C; // this is at 0x9FA8 in German
+ s16 unk9C7E;
+ u8 unk9C80[0xC9-0x80];
+ u8 unk9CC9[0xD12-0xCC9];
+ u8 unk9D12[0x5B-0x12];
+ u8 unk9D5B[0xA4-0x5B];
+ u8 unk9DA4[0xC9-0xA4];
+ u8 unk9DC9[0xE14 - 0xDC9];
+ u8 unk9E14[0xE41 - 0xE14];
+ u8 unk9E41[0x6E - 0x41];
+ u8 unk9E6E[0xEE - 0x6E];
+ u8 unk9EEE[0xF6E - 0xEEE];
+ u8 unk9F6E[0x8E - 0x6E]; // unknown length
+ u8 unk9F8E[7]; // unknown length
+};
+
extern u8 gUnknown_020388AC;
+extern u8 gUnknown_03000740;
+
+// const pointer to shared1000. easy_chat might be two separate files.
+extern struct Shared1000 *const gEasyChatStruct;
+void sub_80E62A0(u8 arg0, u16 *arg1, void (*arg2)(void), u8 arg3);
u16 sub_80EB72C(u16 group);
void sub_80EB6FC(u16 *, u16);
void InitEasyChatPhrases(void);
@@ -19,7 +137,7 @@ u16 sub_80EB8EC(void);
u8 *sub_80EB544(u8 *dst, u16 *words, u16 arg2, u16 arg3);
#if GERMAN
-u32 de_sub_80EB748(u32, u32);
+u32 de_sub_80EB748(s32, s32);
#endif
#endif // GUARD_EASYCHAT_H
diff --git a/include/ewram.h b/include/ewram.h
index 5a350840a..07f9d1ad2 100755
--- a/include/ewram.h
+++ b/include/ewram.h
@@ -185,6 +185,7 @@ extern u8 gSharedMem[];
#define ewram17000 (&gSharedMem[0x17000])
#define eLearnMoveStruct (struct LearnMoveStruct *)(gSharedMem + 0x17000)
#define eSecretBaseRecord ((struct SecretBaseRecord *)(gSharedMem + 0x17000))
+#define eCableCar1 ((struct CableCarEwramStruct1 *)(gSharedMem + 0x17000))
#define ewram17002 (&gSharedMem[0x17002])
#define eFlashFireArr (*(struct Struct2017100 *)(gSharedMem + 0x17100))
#define B_BATTLESCRIPTS_STACK ((struct scriptsStack *) (gSharedMem + 0x17110))
@@ -213,9 +214,9 @@ extern u8 gSharedMem[];
#define ewram18800 (&gSharedMem[0x18800])
#define ePokedexView2 (struct PokedexView *)(gSharedMem + 0x18800)
#define ewram19000 (&gSharedMem[0x19000])
+#define eCableCar2 ((struct CableCarEwramStruct2 *)(gSharedMem + 0x19000))
#define ePokedexView3 (struct PokedexView *)(gSharedMem + 0x19000)
#define EWRAM_19348 (*(u16 *)(gSharedMem + 0x19348))
-#define ewram19348 (*(struct Struct2019348 *)(gSharedMem + 0x19348))
#define ewram19800 (&gSharedMem[0x19800])
#define ePokedexView4 (struct PokedexView *)(gSharedMem + 0x19800)
#define ewram1A000 (&gSharedMem[0x1A000])
diff --git a/include/field_map_obj.h b/include/field_map_obj.h
index f0b0bb5ab..cf3be36b2 100644
--- a/include/field_map_obj.h
+++ b/include/field_map_obj.h
@@ -337,7 +337,7 @@ void RemoveFieldObjectInternal(struct MapObject *);
u8 SpawnSpecialFieldObject(struct MapObjectTemplate *);
u8 show_sprite(u8, u8, u8);
void MakeObjectTemplateFromFieldObjectTemplate(struct MapObjectTemplate *mapObjTemplate, struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables);
-u8 AddPseudoFieldObject(u16 graphicsId, void (*callback)(struct Sprite *), s16 c, s16 d, u8 subpriority);
+u8 AddPseudoFieldObject(u16 graphicsId, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority);
u8 sub_805B410(u8, u8, s16, s16, u8, u8);
void sub_805B55C(s16 a, s16 b);
void sub_805B710(u16 i, u16 i1);
diff --git a/include/field_weather.h b/include/field_weather.h
index c96d4055e..267650a2a 100644
--- a/include/field_weather.h
+++ b/include/field_weather.h
@@ -163,4 +163,8 @@ bool8 sub_807DDFC(void);
void SetWeather(u32);
void UpdateWeatherPerDay(u16);
+extern struct Weather gWeather;
+
+extern struct Weather *const gWeatherPtr;
+
#endif // GUARD_WEATHER_H
diff --git a/include/gba/macro.h b/include/gba/macro.h
index d9e6739b3..dcad009e1 100644
--- a/include/gba/macro.h
+++ b/include/gba/macro.h
@@ -87,7 +87,7 @@
#define DmaCopyLarge(dmaNum, src, dest, size, block, bit) \
{ \
const void *_src = src; \
- void *_dest = dest; \
+ void *_dest = (void *)(dest); \
u32 _size = size; \
while (1) \
{ \
@@ -129,7 +129,7 @@
#define DmaCopyDefvars(dmaNum, src, dest, size, bit) \
{ \
const void *_src = src; \
- void *_dest = dest; \
+ void *_dest = (void *)(dest); \
u32 _size = size; \
DmaCopy##bit(dmaNum, _src, _dest, _size); \
}
@@ -137,4 +137,34 @@
#define DmaCopy16Defvars(dmaNum, src, dest, size) DmaCopyDefvars(dmaNum, src, dest, size, 16)
#define DmaCopy32Defvars(dmaNum, src, dest, size) DmaCopyDefvars(dmaNum, src, dest, size, 32)
+#define DmaFillLarge(dmaNum, fillval, dest, size, block, bit) \
+{ \
+ void *_dest = (void *)(dest); \
+ u32 _size = (u32)(size); \
+ while (1) \
+ { \
+ DmaFill##bit(dmaNum, fillval, _dest, (block)); \
+ _dest += (block); \
+ _size -= (block); \
+ if (_size <= (block)) \
+ { \
+ DmaFill##bit(dmaNum, fillval, _dest, _size); \
+ break; \
+ } \
+ } \
+}
+
+#define DmaFill16Large(dmaNum, fillval, dest, size, block) DmaFillLarge(dmaNum, fillval, dest, size, block, 16)
+#define DmaFill32Large(dmaNum, fillval, dest, size, block) DmaFillLarge(dmaNum, fillval, dest, size, block, 32)
+
+#define DmaFillDefvars(dmaNum, fillval, dest, size, bit) \
+{ \
+ void *_dest = (void *)(dest); \
+ u32 _size = (u##bit)(size); \
+ DmaFill##bit(dmaNum, fillval, _dest, _size); \
+}
+
+#define DmaFill16Defvars(dmaNum, fillval, dest, size) DmaFillDefvars(dmaNum, fillval, dest, size, 16)
+#define DmaFill32Defvars(dmaNum, fillval, dest, size) DmaFillDefvars(dmaNum, fillval, dest, size, 32)
+
#endif // GUARD_GBA_MACRO_H
diff --git a/include/global.h b/include/global.h
index 9c7a4fc08..4c118db13 100644
--- a/include/global.h
+++ b/include/global.h
@@ -15,9 +15,9 @@
#define INCBIN_S8 {0}
#define INCBIN_S16 {0}
#define INCBIN_S32 {0}
-void * memcpy (void *, const void *, size_t);
-void * memset (void *, int, size_t);
-int strcmp (const char *, const char *);
+void *memcpy (void *, const void *, size_t);
+void *memset (void *, int, size_t);
+int strcmp (const char *, const char *);
#endif
// Prevent cross-jump optimization.
@@ -34,7 +34,7 @@ int strcmp (const char *, const char *);
#define POKEMON_NAME_LENGTH 10
#define OT_NAME_LENGTH 7
-#define min(a, b) ((a) <= (b) ? (a) : (b))
+#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) >= (b) ? (a) : (b))
// why does GF hate 2d arrays
@@ -683,7 +683,7 @@ struct SaveBlock1 /* 0x02025734 */
/*0x2B40*/ u16 unk2B40[6];
} easyChats;
/*0x2B4C*/ struct MailStruct mail[16];
- /*0x2D8C*/ u8 unk2D8C[4];
+ /*0x2D8C*/ u8 unk2D8C[4]; // What is this? Apparently it's supposed to be 64 bytes in size.
/*0x2D90*/ u8 filler_2D90[0x4];
/*0x2D94*/ union MauvilleMan mauvilleMan;
/*0x2DD4*/ struct EasyChatPair easyChatPairs[5]; //Dewford trend [0] and some other stuff
@@ -844,5 +844,6 @@ struct HallOfFame
extern struct HallOfFame gHallOfFame;
extern struct SaveBlock2 gSaveBlock2;
+extern u8 ewram[];
#endif // GUARD_GLOBAL_H
diff --git a/include/graphics.h b/include/graphics.h
index 17abb840e..00a210350 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -2656,22 +2656,33 @@ extern const u8 gNamingScreenRightPointingTriangleTiles[];
extern const u8 gNamingScreenUnderscoreTiles[];
extern const u16 gNamingScreenPalettes[][16];
-extern const u8 gSpriteImage_8E988E8[];
-extern const u8 gSpriteImage_8E98968[];
-extern const u8 gSpriteImage_8E989E8[];
-extern const u8 gSpriteImage_8E98A68[];
-extern const u8 gSpriteImage_8E98AE8[];
-extern const u8 gSpriteImage_8E98B68[];
-extern const u8 gSpriteImage_8E991E8[];
-extern const u8 gSpriteImage_8E99808[];
-extern const u8 gSpriteImage_8E98BE8[];
-extern const u8 gSpriteImage_8E98CE8[];
-extern const u8 gSpriteImage_8E993E8[];
-extern const u8 gSpriteImage_8E98DE8[];
-extern const u8 gSpriteImage_8E98FE8[];
-extern const u8 gSpriteImage_8E98848[];
-extern const u8 gSpriteImage_8E98868[];
-extern const u8 gSpriteImage_8E98828[];
+extern const u8 gMenuWordGroupIndicator_Gfx[];
+extern const u8 gMenuWordGroupFrame_Gfx[];
+extern const u16 gMenuWordGroupIndicator_Pal[];
+extern const u16 gMenuWordGroupFrame1_Pal[];
+extern const u16 gMenuWordGroupFrame2_Pal[];
+
+extern const u8 gUnknown_08E94510[];
+extern const u8 gUnknown_08E94550[];
+extern const u8 gUnknown_08E94590[];
+extern const u8 gUnknown_08E945D0[];
+extern const u8 gUnknown_08E94AD0[];
+extern const u8 gUnknown_08E953D0[];
+extern const u8 gUnknown_08E954B0[];
+extern const u8 gUnknown_08E95774[];
+extern const u16 gUnknown_08E95A18[];
+extern const u16 gUnknown_08E95AB8[];
+extern const u16 gUnknown_08E95FB8[];
+
+extern const u16 gSlotMachineSpritePalette0[];
+extern const u16 gSlotMachineSpritePalette1[];
+extern const u16 gSlotMachineSpritePalette2[];
+extern const u16 gSlotMachineSpritePalette3[];
+extern const u16 gSlotMachineSpritePalette4[];
+extern const u16 gSlotMachineSpritePalette5[];
+extern const u16 gSlotMachineSpritePalette6[];
+extern const u8 gSlotMachine_Gfx[];
+
extern const u8 gSlotMachineReelSymbol1Tiles[];
extern const u8 gSlotMachineReelSymbol2Tiles[];
extern const u8 gSlotMachineReelSymbol3Tiles[];
@@ -2689,18 +2700,47 @@ extern const u8 gSlotMachineNumber6Tiles[];
extern const u8 gSlotMachineNumber7Tiles[];
extern const u8 gSlotMachineNumber8Tiles[];
extern const u8 gSlotMachineNumber9Tiles[];
+extern const u8 gSpriteImage_8E98828[];
+extern const u8 gSpriteImage_8E98848[];
+extern const u8 gSpriteImage_8E98868[];
+extern const u8 gSpriteImage_8E988E8[];
+extern const u8 gSpriteImage_8E98968[];
+extern const u8 gSpriteImage_8E989E8[];
+extern const u8 gSpriteImage_8E98A68[];
+extern const u8 gSpriteImage_8E98AE8[];
+extern const u8 gSpriteImage_8E98B68[];
+extern const u8 gSpriteImage_8E98BE8[];
+extern const u8 gSpriteImage_8E98CE8[];
+extern const u8 gSpriteImage_8E98DE8[];
+extern const u8 gSpriteImage_8E98FE8[];
+extern const u8 gSpriteImage_8E991E8[];
+extern const u8 gSpriteImage_8E993E8[];
extern const u8 gUnknownPalette_08E997E8[];
-extern const u16 gSlotMachineSpritePalette0[];
-extern const u16 gSlotMachineSpritePalette1[];
-extern const u16 gSlotMachineSpritePalette2[];
-extern const u16 gSlotMachineSpritePalette3[];
-extern const u16 gSlotMachineSpritePalette4[];
-extern const u16 gSlotMachineSpritePalette5[];
-extern const u16 gSlotMachineSpritePalette6[];
-extern const u8 gSlotMachine_Gfx[];
+extern const u8 gSpriteImage_8E99808[];
extern const u8 gSlotMachineReelTimeLights_Gfx[];
-extern const u16 gUnknown_08E95A18[];
-extern const u16 gUnknown_08E95AB8[];
-extern const u16 gUnknown_08E95FB8[];
+extern const u8 gUnknown_08E99FB0[];
+extern const u8 gUnknown_08E9A100[];
+extern const u8 gUnknown_08E9A300[];
+extern const u8 gUnknown_08E9AB00[];
+extern const u8 gUnknown_08E9AB40[];
+extern const u8 gUnknown_08E9AB60[];
+extern const u8 gUnknown_08E9ABB4[];
+extern const u8 gUnknown_08E9AC2C[];
+extern const u8 gUnknown_08E9AC4C[];
+
+extern const u8 gInterviewOutlineCursorTiles[];
+extern const u8 gTitleScreenPressStart_Gfx[];
+extern const u16 gTitleScreenLogoShinePalette[];
+extern const u8 gUnknown_08E9D8CC[];
+extern const u8 gVersionTiles[];
+extern const u16 gUnknown_08E9F624[];
+extern const u8 gUnknown_08E9F7E4[];
+
+extern const u8 gCableCar_Gfx[];
+extern const u8 gCableCarDoor_Gfx[];
+extern const u8 gCableCarCord_Gfx[];
+extern const u16 gCableCar_Pal[];
+extern const u16 gCableCarBG_Pal[];
+extern const u8 gCableCarBG_Gfx[];
#endif // GUARD_GRAPHICS_H
diff --git a/ld_script.txt b/ld_script.txt
index aac5e8028..ba9ccddb9 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -342,8 +342,8 @@ SECTIONS {
asm/normal.o(.text);
asm/battle_intro.o(.text);
src/field/bike.o(.text);
- asm/easy_chat.o(.text);
- src/field/easy_chat.o(.text);
+ src/easy_chat_1.o(.text);
+ src/easy_chat_2.o(.text);
src/pokenav_before.o(.text);
asm/pokenav.o(.text);
src/pokenav_after.o(.text);
@@ -387,9 +387,9 @@ SECTIONS {
src/battle/battle_controller_linkpartner.o(.text);
src/battle/battle_message.o(.text);
src/field/choose_party.o(.text);
- asm/cable_car.o(.text);
+ src/scene/cable_car.o(.text);
asm/roulette_util.o(.text);
- asm/cable_car_util.o(.text);
+ src/engine/cable_car_util.o(.text);
src/unused_8124F94.o(.text);
src/engine/save.o(.text);
src/engine/mystery_event_script.o(.text);
@@ -613,6 +613,8 @@ SECTIONS {
src/field/item_use.o(.rodata);
data/battle_anim_80CA710.o(.rodata);
src/field/bike.o(.rodata);
+ src/easy_chat_1.o(.rodata);
+ src/easy_chat_2.o(.rodata);
data/easy_chat.o(.rodata);
data/pokenav.o(.rodata);
src/pokemon/mon_markings.o(.rodata);
@@ -642,7 +644,7 @@ SECTIONS {
src/battle/battle_controller_linkpartner.o(.rodata);
src/battle/battle_message.o(.rodata);
src/field/choose_party.o(.rodata);
- data/cable_car.o(.rodata);
+ src/scene/cable_car.o(.rodata);
src/engine/save.o(.rodata);
src/field/field_effect_helpers.o(.rodata);
data/contest_ai.o(.rodata);
diff --git a/src/battle/battle_7.c b/src/battle/battle_7.c
index 7ca9ac3c4..e11971606 100644
--- a/src/battle/battle_7.c
+++ b/src/battle/battle_7.c
@@ -3,6 +3,7 @@
#include "battle_anim.h"
#include "battle_interface.h"
#include "blend_palette.h"
+#include "contest.h"
#include "data2.h"
#include "decompress.h"
#include "main.h"
@@ -629,9 +630,9 @@ void sub_8031FC4(u8 a, u8 b, bool8 c)
if (IsContest())
{
r10 = 0;
- species = ewram19348.unk2;
- personalityValue = ewram19348.unk8;
- otId = ewram19348.unkC;
+ species = shared19348.unk2;
+ personalityValue = shared19348.unk8;
+ otId = shared19348.unkC;
HandleLoadSpecialPokePic(
&gMonBackPicTable[species],
gMonBackPicCoords[species].coords,
@@ -639,7 +640,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c)
eVoidSharedArr2,
gUnknown_081FAF4C[0],
species,
- ewram19348.unk10);
+ shared19348.unk10);
}
else
{
diff --git a/src/battle/contest_link_80C857C.c b/src/battle/contest_link_80C857C.c
index 0ae98af09..616a72d27 100644
--- a/src/battle/contest_link_80C857C.c
+++ b/src/battle/contest_link_80C857C.c
@@ -3,52 +3,33 @@
#if GERMAN
-void de_sub_80C9274(bool32 arg0) {
- if (deUnkValue2 != 1)
- {
- return;
- }
-
- if (arg0)
- {
- deUnkValue2 = 3;
- }
- else
+void de_sub_80C9274(bool32 arg0)
+{
+ if (deUnkValue2 == 1)
{
- deUnkValue2 = 2;
+ if (arg0)
+ deUnkValue2 = 3;
+ else
+ deUnkValue2 = 2;
}
}
-void de_sub_80C9294(bool32 arg0) {
+void de_sub_80C9294(bool32 arg0)
+{
if (deUnkValue2 == 1)
{
if (arg0)
- {
deUnkValue2 = 3;
- }
else
- {
deUnkValue2 = 2;
- }
-
- return;
}
-
-
- if (deUnkValue2 == 2)
+ else if (deUnkValue2 == 2)
{
SendBlock(0, sBlockRequestLookupTable[deUnkValue1].address, sBlockRequestLookupTable[deUnkValue1].size);
-
if (arg0)
- {
deUnkValue2 = 0;
- }
else
- {
deUnkValue2 = 1;
- }
-
- return;
}
}
diff --git a/src/contest.c b/src/contest.c
index f5aab709d..365f92538 100644
--- a/src/contest.c
+++ b/src/contest.c
@@ -39,171 +39,6 @@ extern void sub_80C8C80(u8);
extern void sub_81288F4();
extern u8 sub_8128944(void);
-struct Shared18000
-{
- /*0x18000*/ u8 unk18000;
- /*0x18001*/ u8 filler18001[3];
- /*0x18004*/ u16 unk18004[16][16];
- /*0x18204*/ u16 unk18204[0x200];
- /*0x18604*/ u16 unk18604[0x200];
- /*0x18A04*/ u8 unk18A04[0x800];
-};
-
-struct Contest
-{
- /*0x19204*/ u8 playerMoveChoice;
- /*0x19205*/ u8 turnNumber;
- /*0x19206*/ u8 unk19206[4]; // seems to only be used by an unref function
- /*0x1920A*/ u16 unk1920A_0:1; // Task active flags?
- u16 unk1920A_1:1;
- u16 unk1920A_2:1;
- u16 unk1920A_3:1;
- u16 unk1920A_4:1;
- u16 unk1920A_5:1;
- u16 unk1920A_6:1;
- u16 unk1920A_7:1;
- /*0x1920B*/ u16 unk1920B_0:1;
- u16 unk1920B_1:1;
- u16 unk1920B_2:1;
- /*0x1920C*/ u8 mainTaskId;
- /*0x1920D*/ u8 unk1920D[4];
- /*0x19211*/ u8 unk19211;
- /*0x19212*/ u8 unk19212;
- /*0x19213*/ u8 filler19213;
- /*0x19214*/ u8 unk19214;
- /*0x19215*/ u8 unk19215;
- /*0x19216*/ u8 unk19216; // sprite ID
- /*0x19217*/ s8 applauseLevel;
- /*0x19218*/ u8 unk19218[4];
- /*0x1921C*/ u32 unk1921C; // saved RNG value?
- u16 unk19220[5][4]; // move history?
- u8 unk19248[5][4]; // excitement history
- u8 applauseMeterSpriteId; // sprite ID
- /*0x1925D*/ u8 unk1925D;
- /*0x1925E*/ u8 unk1925E;
-};
-
-struct ContestantStatus
-{
- s16 appeal1; // move appeal?
- s16 appeal2; // final appeal after end of turn, maybe?
- s16 unk4;
- u16 currMove;
- u16 prevMove;
- u8 moveCategory;
- u8 unkB_0:2;
- u8 unkB_2:2;
- u8 moveRepeatCount:3;
- u8 unkB_7:1; // used a one-time move?
- u8 unkC_0:1;
- u8 unkC_1:2;
- s8 unkD;
- u8 unkE;
- u8 unkF;
- u8 unk10_0:1;
- u8 unk10_1:1;
- u8 unk10_2:1;
- u8 unk10_3:1;
- u8 unk10_4:2;
- u8 unk10_6:2;
- u8 unk11_0:2;
- u8 unk11_2:1;
- u8 unk11_3:1;
- u8 unk11_4:1;
- u8 unk11_5:1;
- u8 unk12;
- u8 unk13; // status action?
- u8 unk14;
- u8 disappointedRepeat:1;
- u8 unk15_1:1;
- u8 unk15_2:1;
- u8 unk15_3:1;
- u8 unk15_4:1;
- u8 unk15_5:1;
- u8 unk15_6:1;
- u8 unk16;
- u8 unk17;
- u8 unk18;
- u8 unk19; // turn position
- u8 attentionLevel; // How much the Pokemon "stood out"
- u8 unk1B;
-};
-
-struct UnknownContestStruct3
-{
- u8 unk0;
- u8 unk1;
- //u8 unk2_0:1;
- //u8 unk2_1:1;
- u8 unk2; // maybe a bitfield
- u8 filler3;
-};
-
-// possibly the same as UnknownContestStruct3?
-struct UnknownContestStruct4
-{
- u8 unk0; // sprite ID
- u8 unk1; // sprite ID
- u8 unk2_0:1;
- u8 unk2_1:1;
- u8 unk2_2:1;
- u8 filler3;
-};
-
-struct UnknownContestStruct5
-{
- s8 bits_0; // current move excitement?
- u8 bits_8:1;
- u8 bits_9:3;
- u8 bits_C:4;
- s8 unk2;
- u8 filler3;
-};
-
-struct UnknownContestStruct7
-{
- u8 unk0[4];
- u16 unk4;
- u16 unk6;
- u8 filler8[0xD-8];
- u8 unkD[4];
- u8 unk11;
- u8 filler12[2];
-};
-
-struct UnknownContestStruct8
-{
- u16 unk0;
- u16 unk2;
- u8 unk4_0:1;
- u8 unk5;
- u8 filler6[2];
- u32 unk8;
- u32 unkC;
- u32 unk10;
-};
-
-struct UnknownContestStruct6
-{
- s32 unk0;
- s32 unk4;
- s32 unk8;
- s32 unkC;
-};
-
-#define shared15800 (gSharedMem + 0x15800)
-#define shared15DE0 (*(struct ContestWinner *)(gSharedMem + 0x15DE0))
-#define shared16800 (gSharedMem + 0x16800)
-#define shared18000 (*(struct Shared18000 *)(gSharedMem + 0x18000))
-#define shared18004 ((u16 *)(gSharedMem + 0x18004))
-#define sContest (*(struct Contest *)(gSharedMem + 0x19204))
-#define sContestantStatus ((struct ContestantStatus *)(gSharedMem + 0x19260))
-#define shared192D0_ (*(struct UnknownContestStruct7 *)(gSharedMem + 0x192D0))
-#define shared192E4 (gSharedMem + 0x192E4)
-#define shared19328 (*(struct UnknownContestStruct5 *)(gSharedMem + 0x19328))
-#define shared19338 ((struct UnknownContestStruct4 *)(gSharedMem + 0x19338))
-#define shared19348_ (*(struct UnknownContestStruct8 *)(gSharedMem + 0x19348))
-
extern struct MusicPlayerInfo gMPlay_SE1;
extern u16 gSpecialVar_ContestCategory;
extern u16 gSpecialVar_ContestRank;
@@ -555,7 +390,7 @@ void ClearContestVars(void)
sContestantStatus[i].unk14 = 0xFF;
}
- memset(&shared192D0_, 0, sizeof(shared192D0_));
+ memset(&shared192D0, 0, sizeof(shared192D0));
memset(shared192E4, 0, 0x44 * sizeof(*shared192E4));
memset(&shared19328, 0, sizeof(shared19328));
memset(shared19338, 0, 4 * sizeof(*shared19338));
@@ -1063,7 +898,7 @@ void sub_80AC2CC(u8 taskId)
{
case 0:
sub_80B0D7C();
- for (i = 0; sContest.unk19214 != shared192D0_.unk0[i]; i++)
+ for (i = 0; sContest.unk19214 != shared192D0.unk0[i]; i++)
;
sContest.unk19215 = i;
r7 = sContest.unk19215;
@@ -1106,7 +941,7 @@ void sub_80AC2CC(u8 taskId)
case 3:
for (i = 0; i < 4; i++)
gBattleMonForms[i] = 0;
- memset(&shared19348_, 0, sizeof(shared19348_));
+ memset(&shared19348, 0, sizeof(shared19348));
sub_80B28F0(sContest.unk19215);
spriteId = sub_80AE9FC(
gContestMons[sContest.unk19215].species,
@@ -4528,13 +4363,13 @@ void sub_80B114C(u8 contestant)
}
sContestantStatus[contestant].appeal1 = gContestEffects[effect].appeal;
sContestantStatus[contestant].appeal2 = gContestEffects[effect].appeal;
- shared192D0_.unk4 = gContestEffects[effect].jam;
- shared192D0_.unk6 = gContestEffects[effect].jam;
- shared192D0_.unk11 = contestant;
+ shared192D0.unk4 = gContestEffects[effect].jam;
+ shared192D0.unk6 = gContestEffects[effect].jam;
+ shared192D0.unk11 = contestant;
for (i = 0; i < 4; i++)
{
sContestantStatus[i].unkE = 0;
- shared192D0_.unkD[i] = 0;
+ shared192D0.unkD[i] = 0;
}
if (sContestantStatus[contestant].unk15_4 && AreMovesContestCombo(sContestantStatus[contestant].prevMove, sContestantStatus[contestant].currMove) == 0)
sContestantStatus[contestant].unk15_4 = 0;
@@ -4637,13 +4472,13 @@ void sub_80B146C(u8 a, u8 b)
{
StringCopy(gStringVar1, gContestMons[a].nickname);
StringCopy(gStringVar2, gMoveNames[sContestantStatus[a].currMove]);
- if (gContestMoves[sContestantStatus[shared192D0_.unk11].currMove].contestCategory == CONTEST_CATEGORY_COOL)
+ if (gContestMoves[sContestantStatus[shared192D0.unk11].currMove].contestCategory == CONTEST_CATEGORY_COOL)
StringCopy(gStringVar3, gText_Contest_Shyness);
- else if (gContestMoves[sContestantStatus[shared192D0_.unk11].currMove].contestCategory == CONTEST_CATEGORY_BEAUTY)
+ else if (gContestMoves[sContestantStatus[shared192D0.unk11].currMove].contestCategory == CONTEST_CATEGORY_BEAUTY)
StringCopy(gStringVar3, gText_Contest_Anxiety);
- else if (gContestMoves[sContestantStatus[shared192D0_.unk11].currMove].contestCategory == CONTEST_CATEGORY_CUTE)
+ else if (gContestMoves[sContestantStatus[shared192D0.unk11].currMove].contestCategory == CONTEST_CATEGORY_CUTE)
StringCopy(gStringVar3, gText_Contest_Laziness);
- else if (gContestMoves[sContestantStatus[shared192D0_.unk11].currMove].contestCategory == CONTEST_CATEGORY_SMART)
+ else if (gContestMoves[sContestantStatus[shared192D0.unk11].currMove].contestCategory == CONTEST_CATEGORY_SMART)
StringCopy(gStringVar3, gText_Contest_Hesitancy);
else
StringCopy(gStringVar3, gText_Contest_Fear);
@@ -4708,7 +4543,7 @@ void sub_80B159C(void)
for (i = 0; i < 4; i++)
{
- shared192D0_.unk0[i] = sp0[i];
+ shared192D0.unk0[i] = sp0[i];
sContestantStatus[i].unk19 = 0xFF;
sContestantStatus[i].unk10_6 = 0;
gUnknown_02038696[i] = sp0[i];
@@ -5083,7 +4918,7 @@ void sub_80B20C4(void)
for (i = 0; i < 4; i++)
{
- if (shared192D0_.unkD[i] != 0 && !Contest_IsMonsTurnDisabled(i))
+ if (shared192D0.unkD[i] != 0 && !Contest_IsMonsTurnDisabled(i))
{
u8 r4 = gUnknown_02038696[i] * 5 + 2;
u16 r0 = sub_80AEFE8(i, 3);
@@ -5339,7 +5174,7 @@ void sub_80B2790(u8 a)
u16 species = SanitizeSpecies(gContestMons[a].species);
u8 r5_2;
- memset(&shared19348_, 0, sizeof(shared19348_));
+ memset(&shared19348, 0, sizeof(shared19348));
ClearBattleAnimationVars();
for (i = 0; i < 4; i++)
gBattleMonForms[i] = 0;
@@ -5354,9 +5189,9 @@ void sub_80B2790(u8 a)
case MOVE_TRANSFORM:
case MOVE_ROLE_PLAY:
r5_2 = sContestantStatus[a].unk1B;
- shared19348_.unk2 = SanitizeSpecies(gContestMons[r5_2].species);
- shared19348_.unk10 = gContestMons[r5_2].personality;
- shared19348_.unk4_0 = 1;
+ shared19348.unk2 = SanitizeSpecies(gContestMons[r5_2].species);
+ shared19348.unk10 = gContestMons[r5_2].personality;
+ shared19348.unk4_0 = 1;
break;
case MOVE_RETURN:
gAnimFriendship = 0xFF;
@@ -5384,17 +5219,17 @@ void sub_80B2790(u8 a)
void sub_80B28CC(int unused)
{
- memset(&shared19348_, 0, sizeof(shared19348_));
+ memset(&shared19348, 0, sizeof(shared19348));
if (sContest.unk1925E != 0)
sContest.unk1925E--;
}
void sub_80B28F0(u8 a)
{
- shared19348_.unk5 = a;
- shared19348_.unk0 = SanitizeSpecies(gContestMons[a].species);
- shared19348_.unk8 = gContestMons[a].personality;
- shared19348_.unkC = gContestMons[a].otId;
+ shared19348.unk5 = a;
+ shared19348.unk0 = SanitizeSpecies(gContestMons[a].species);
+ shared19348.unk8 = gContestMons[a].personality;
+ shared19348.unkC = gContestMons[a].otId;
}
void sub_80B292C(void)
diff --git a/src/de_rom_8040FE0.c b/src/de_rom_8040FE0.c
index 53ad4a806..ad1cbf473 100644
--- a/src/de_rom_8040FE0.c
+++ b/src/de_rom_8040FE0.c
@@ -2,54 +2,33 @@
#include "battle.h"
#include "battle_tower.h"
#include "ewram.h"
+#include "trainer.h"
#if GERMAN
-enum {
- TRAINER_CLASS_NAME_LEADER = 25,
- TRAINER_CLASS_NAME_SCHOOL_KID = 26,
- TRAINER_CLASS_NAME_EXPERT = 30,
- TRAINER_CLASS_NAME_POKEMON_TRAINER_3 = 46,
-};
-
-enum {
- TRAINER_CLASS_LEADER_F = 26,
- TRAINER_CLASS_ELITE_FOUR_F = 25,
- TRAINER_CLASS_SCHOOL_KID_F = 30,
- TRAINER_CLASS_BIRD_KEEPER = 46,
- TRAINER_CLASS_MAY_1 = 61,
- TRAINER_CLASS_MAY_2 = 62,
- TRAINER_CLASS_MAY_3 = 63,
-};
-
extern u8 gTrainerClassNames[][13];
extern struct Trainer gTrainers[];
-u8 *de_sub_8040FE0(u8 gender) {
+u8 *de_sub_8040FE0(u8 gender)
+{
if (gender)
- {
gender++;
-
- }
-
gender = TRAINER_CLASS_NAME_SCHOOL_KID;
return gTrainerClassNames[gender];
}
-u8 *de_sub_8040FF4(u8 gender) {
- if (gender) {
+u8 *de_sub_8040FF4(u8 gender)
+{
+ if (gender)
gender++;
- }
-
gender = TRAINER_CLASS_NAME_POKEMON_TRAINER_3;
return gTrainerClassNames[gender];
}
-u8 *de_sub_804100C(u8 gender) {
- if (gender) {
+u8 *de_sub_804100C(u8 gender)
+{
+ if (gender)
gender++;
- }
-
gender = TRAINER_CLASS_NAME_LEADER;
return gTrainerClassNames[gender];
}
@@ -60,7 +39,8 @@ u8 de_sub_81364AC(void);
u8 get_trainer_class_name_index(void);
u8 de_sub_81364F8(void);
-u8 *de_sub_8041024(s32 arg0, u32 arg1) {
+u8 *de_sub_8041024(s32 arg0, u32 arg1)
+{
u8 nameIndex, trainerClass, gender;
struct Trainer *trainer;
u8 local2;
@@ -71,68 +51,39 @@ u8 *de_sub_8041024(s32 arg0, u32 arg1) {
nameIndex = GetSecretBaseTrainerNameIndex();
gender = eSecretBaseRecord.gender;
if (nameIndex == TRAINER_CLASS_NAME_SCHOOL_KID)
- {
return de_sub_8040FE0(gender);
- }
-
return gTrainerClassNames[nameIndex];
-
case 0x100:
trainerClass = de_sub_81364AC();
nameIndex = get_trainer_class_name_index();
if (trainerClass == TRAINER_CLASS_SCHOOL_KID_F)
- {
return de_sub_8040FE0(FEMALE);
- }
if (trainerClass == TRAINER_CLASS_MAY_1 || trainerClass == TRAINER_CLASS_MAY_2 || trainerClass == TRAINER_CLASS_MAY_3)
- {
return de_sub_8040FF4(FEMALE);
- }
-
return gTrainerClassNames[nameIndex];
-
case 0x800:
trainerClass = de_sub_81364F8();
nameIndex = GetEReaderTrainerClassNameIndex();
if (trainerClass == TRAINER_CLASS_SCHOOL_KID_F)
- {
return de_sub_8040FE0(FEMALE);
- }
if (trainerClass == TRAINER_CLASS_MAY_1 || trainerClass == TRAINER_CLASS_MAY_2 || trainerClass == TRAINER_CLASS_MAY_3)
- {
return de_sub_8040FF4(FEMALE);
- }
-
return gTrainerClassNames[nameIndex];
-
default:
trainer = &gTrainers[arg1];
trainerClass = trainer->trainerClass;
local2 = sub_803FC58(arg1);
-
if (trainerClass == TRAINER_CLASS_LEADER_F)
- {
return de_sub_8040FE0(local2);
- }
-
if (trainerClass == TRAINER_CLASS_BIRD_KEEPER && local2 == FEMALE)
- {
return de_sub_8040FF4(FEMALE);
- }
-
if (trainerClass == TRAINER_CLASS_ELITE_FOUR_F)
{
if (gTrainers[arg1].doubleBattle == TRUE)
- {
return de_sub_804100C(FEMALE);
- }
else
- {
return de_sub_804100C(MALE);
- }
}
-
-
return gTrainerClassNames[trainerClass];
}
}
@@ -264,7 +215,8 @@ _08041108: .4byte gTrainerClassNames\n\
}
#endif
-u32 de_sub_804110C(u32 arg0, u32 arg1) {
+u32 de_sub_804110C(u32 arg0, u32 arg1)
+{
return arg1;
}
diff --git a/src/easy_chat_1.c b/src/easy_chat_1.c
new file mode 100644
index 000000000..e5b6cf7c3
--- /dev/null
+++ b/src/easy_chat_1.c
@@ -0,0 +1,1742 @@
+#include "global.h"
+#include "constants/easy_chat.h"
+#include "constants/songs.h"
+#include "constants/species.h"
+#include "dewford_trend.h"
+#include "easy_chat.h"
+#include "event_data.h"
+#include "ewram.h"
+#include "graphics.h"
+#include "main.h"
+#include "menu.h"
+#include "palette.h"
+#include "sound.h"
+#include "sprite.h"
+#include "string_util.h"
+#include "strings.h"
+#include "unknown_task.h"
+
+extern const struct WindowConfig gWindowConfig_81E6D54;
+extern const struct WindowConfig gWindowConfig_81E6DA8;
+
+extern void sub_80546B8(void);
+
+const u16 gMysteryEventPhrase[] = {EC_WORD_MYSTERY, EC_WORD_EVENT, EC_WORD_IS, EC_WORD_EXCITING};
+
+const u16 gBerryMasterWifePhrases[][2] =
+{
+#if ENGLISH
+ {EC_WORD_GREAT, EC_WORD_BATTLE},
+ {EC_WORD_CHALLENGE, EC_WORD_CONTEST},
+ {EC_WORD_OVERWHELMING, EC_POKEMON(LATIAS)},
+ {EC_WORD_COOL, EC_POKEMON(LATIOS)},
+ {EC_WORD_SUPER, EC_WORD_HUSTLE},
+#else
+ {EC_WORD_GREAT, EC_WORD_FIGHT},
+ {EC_WORD_CONTEST, EC_WORD_CHALLENGE},
+ {EC_POKEMON(LATIAS), EC_WORD_OVERWHELMING},
+ {EC_POKEMON(LATIOS), EC_WORD_COOL},
+ {EC_WORD_SUPER, 0xFFFF},
+#endif
+};
+
+// const pointer to gEasyChatStruct-> easy_chat might be two separate files.
+struct Shared1000 *const gEasyChatStruct = (struct Shared1000 *)(gSharedMem + 0x1000);
+
+const struct UnknownTaskStruct gUnknown_083DB698 =
+{
+ &REG_BG3VOFS,
+ ((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1,
+ 1
+};
+
+const u8 gUnknown_083DB6A4[] = {4, 0, 0, 0, 1, 5, 0, 2, 2, 3, 2, 2, 2, 3};
+
+// choose by alphabet keyboard
+const u8 gUnknown_083DB6B2[][16] =
+{
+ _("ABCDEF "),
+ _("GHIJKL"),
+ _("MNOPQRS"),
+ _("TUVWXYZ"),
+};
+
+struct EasyChatPrompt
+{
+ const u8 *text1;
+ const u8 *text2;
+ bool8 unk8;
+};
+
+const struct EasyChatPrompt gUnknown_083DB6F4[] =
+{
+ {OtherText_MakeProfilePage1, OtherText_MakeProfilePage2, TRUE},
+ {OtherText_MakeMessagePage1, OtherText_MakeMessagePage2, TRUE},
+ {OtherText_CombineNinePhrasesPage1, OtherText_CombineNinePhrasesPage2, TRUE},
+ {OtherText_DescribeFeelingsPage1, OtherText_DescribeFeelingsPage2, TRUE},
+ {OtherText_ImproveBardSongPage1, OtherText_ImproveBardSongPage2, TRUE},
+ {OtherText_CombineTwoPhrasesPage1, OtherText_CombineTwoPhrasesPage2, TRUE},
+ {OtherText_YourProfile, OtherText_ConfirmTrendyPage2, FALSE},
+ {OtherText_YourFeelingBattle, OtherText_ConfirmTrendyPage2, TRUE},
+ {OtherText_SetWinMessage, OtherText_ConfirmTrendyPage2, TRUE},
+ {OtherText_SetLossMessage, OtherText_ConfirmTrendyPage2, TRUE},
+ {OtherText_MailMessage, OtherText_ConfirmTrendyPage2, TRUE},
+ {OtherText_MailSalutation, OtherText_ConfirmTrendyPage2, TRUE},
+ {OtherText_NewSong, OtherText_ConfirmTrendyPage2, FALSE},
+ {OtherText_TheAnswer, OtherText_ConfirmTrendyPage2, FALSE},
+ {OtherText_ConfirmTrendyPage1, OtherText_ConfirmTrendyPage2, TRUE},
+ {OtherText_HipsterPage1, OtherText_HipsterPage2, TRUE},
+ {OtherText_WithFourPhrases, OtherText_CombineNinePhrasesPage2, TRUE},
+};
+
+const u8 gUnknown_083DB7C0[][2] =
+{
+ { 0, 6},
+ { 1, 7},
+ { 1, 8},
+ { 1, 9},
+ { 2, 10},
+ {16, 13},
+ { 4, 12},
+ { 3, 13},
+ { 3, 13},
+ { 5, 14},
+ { 3, 13},
+ { 3, 13},
+ { 3, 13},
+ {15, 13},
+};
+
+void sub_80E62F8(void);
+void sub_80E6424(void);
+void sub_80E6554(void);
+void sub_80E6630(void);
+void sub_80E6690(void);
+void sub_80E682C(void (*)(void));
+void sub_80E69F8(void);
+void sub_80E6A6C(void);
+void sub_80E6A88(void);
+void sub_80E6AA8(void);
+void sub_80E6AC4(void);
+void sub_80E6AE4(void);
+void sub_80E6BC0(void);
+void sub_80E6C84(void);
+void sub_80E6D7C(void);
+void sub_80E6F68(void);
+void sub_80E6FC8(void);
+void sub_80E7114(void);
+void sub_80E718C(void);
+void sub_80E7218(void);
+void sub_80E7294(void);
+void sub_80E7324(void);
+void sub_80E73D0(void);
+void sub_80E7458(void);
+void sub_80E752C(void);
+void sub_80E7574(void);
+bool8 sub_80E75D8(void);
+bool8 sub_80E77C8(void);
+void sub_80E7A98(void);
+void sub_80E7AD4(void);
+bool8 sub_80E7B40(void);
+void sub_80E7D30(void);
+void sub_80E7D6C(void);
+void sub_80E7D9C(void);
+bool8 sub_80E7DD0(void);
+void sub_80E7E50(void);
+void sub_80E7F00(u16, u16);
+u8 sub_80E7FA8(void);
+bool8 sub_80E8054(void);
+u8 sub_80E8094(void);
+u8 sub_80E810C(void);
+void sub_80E81C0(void);
+void sub_80E81FC(void);
+void sub_80E8218(void);
+
+void sub_80E8398();
+void sub_80E8420(void);
+void sub_80E8504(void);
+void sub_80E87CC();
+
+void sub_80E88F0(void);
+void sub_80E8958();
+
+void sub_80E8BF4();
+void sub_80E8CEC(void);
+void sub_80E8D54(void);
+void sub_80E8D8C();
+void sub_80E8DD8(void);
+void sub_80E91D4();
+void sub_80E9368();
+void sub_80E95A4(void);
+void sub_80E9744(void);
+void sub_80E98C4(void);
+void sub_80E9974(void);
+void sub_80E9A14(void);
+void sub_80E9A4C(void);
+void sub_80E9AD4(void);
+void sub_80E9C94(void);
+void sub_80E9D00(void);
+void sub_80E9D7C(void);
+void sub_80E9E08();
+bool8 sub_80E9E54(void);
+void sub_80E9E98(void);
+u8 sub_80E9EA8(void);
+u8 sub_80E9F50(void);
+u8 sub_80E9FD4(void);
+u8 sub_80EA014(void);
+u8 sub_80EA050(void);
+u8 sub_80EA0E4(void);
+u8 sub_80EA184(void);
+void sub_80EAC5C(void);
+void sub_80EAD08(void);
+u8 sub_80EAD7C(u8);
+void sub_80EAECC(void);
+void LoadEasyChatStrings(void);
+void sub_80EB0B0(void);
+u8 *sub_80EB218(u8 *, u16, u16);
+u16 sub_80EB2D4();
+bool8 sub_80EB680(u16 *, u16, u16, u16);
+
+void sub_80E60D8(void)
+{
+ u8 r4 = 3;
+ u16 *r1;
+
+ switch (gSpecialVar_0x8004)
+ {
+ case 0:
+ r1 = gSaveBlock1.easyChats.unk2B1C;
+ break;
+ case 1:
+ r1 = gSaveBlock1.easyChats.unk2B28;
+ break;
+ case 2:
+ r1 = gSaveBlock1.easyChats.unk2B34;
+ break;
+ case 3:
+ r1 = gSaveBlock1.easyChats.unk2B40;
+ break;
+ case 4:
+ r1 = gSaveBlock1.mail[gSpecialVar_0x8005].words;
+ break;
+ case 6:
+ {
+ struct MauvilleManBard *bard = &gSaveBlock1.mauvilleMan.bard;
+ u16 i;
+ for (i = 0; i < 6; i++)
+ bard->temporaryLyrics[i] = bard->songLyrics[i];
+ r1 = bard->temporaryLyrics;
+ }
+ break;
+ case 5:
+ // TODO: Is this the right TV show?
+ r1 = gSaveBlock1.tvShows[gSpecialVar_0x8005].fanclubLetter.pad04;
+ r4 = gSpecialVar_0x8006;
+ break;
+ case 7:
+ // TODO: Is this the right TV show?
+ r1 = &gSaveBlock1.tvShows[gSpecialVar_0x8005].fanclubOpinions.var1C[gSpecialVar_0x8006];
+ r4 = 1;
+ break;
+ case 8:
+ // TODO: Is this the right TV show?
+ r1 = &gSaveBlock1.tvShows[gSpecialVar_0x8005].fanclubOpinions.var02;
+ r4 = 0;
+ break;
+ case 9:
+ r1 = NULL;
+ break;
+ case 10:
+ r1 = &gSaveBlock1.gabbyAndTyData.quote;
+ *r1 = 0xFFFF;
+ r4 = 1;
+ break;
+ case 11:
+ // TODO: Is this the right TV show?
+ r1 = &gSaveBlock1.tvShows[gSpecialVar_0x8005].bravoTrainer.var04[gSpecialVar_0x8006];
+ r4 = 0;
+ break;
+ case 12:
+ // TODO: Is this the right TV show?
+ r1 = gSaveBlock1.tvShows[gSpecialVar_0x8005].bravoTrainerTower.var18;
+ r4 = 1;
+ break;
+ case 13:
+ gEasyChatStruct->unk9C7C = 0xFFFF;
+ gEasyChatStruct->unk9C7E = -1;
+ r1 = &gEasyChatStruct->unk9C7C;
+ break;
+ default:
+ return;
+ }
+ sub_80E62A0(gSpecialVar_0x8004, r1, sub_80546B8, r4);
+}
+
+void sub_80E62A0(u8 a, u16 *b, void (*c)(void), u8 d)
+{
+ gEasyChatStruct->unk0 = c;
+ gEasyChatStruct->unk4 = b;
+ gEasyChatStruct->unk8 = a;
+ gEasyChatStruct->unkB = d;
+ if (a == 9)
+ {
+ gEasyChatStruct->unk4 = &gEasyChatStruct->unk9C7C;
+ gEasyChatStruct->unk9C7C = gSaveBlock1.easyChatPairs[0].words[0];
+ gEasyChatStruct->unk9C7E = gSaveBlock1.easyChatPairs[0].words[1];
+ }
+ SetMainCallback2(sub_80E62F8);
+}
+
+void sub_80E62F8(void)
+{
+ switch (gMain.state)
+ {
+ case 0:
+ default:
+ REG_DISPCNT = 0;
+ SetVBlankCallback(0);
+ ResetPaletteFade();
+ ResetSpriteData();
+ dp12_8087EA4();
+ remove_some_task();
+ sub_80EAD08();
+ sub_80895F8(gUnknown_083DB698);
+ FreeSpriteTileRanges();
+ FreeAllSpritePalettes();
+ break;
+ case 1:
+ SetUpWindowConfig(&gWindowConfig_81E6DA8);
+ break;
+ case 2:
+ InitMenuWindow(&gWindowConfig_81E6D54);
+ InitMenuWindow(&gWindowConfig_81E6DA8);
+ MenuZeroFillScreen();
+ break;
+ case 3:
+ sub_80E6424();
+ break;
+ case 4:
+ sub_80E8DD8();
+ break;
+ case 5:
+ sub_80E8218();
+ sub_80E8CEC();
+ break;
+ case 6:
+ sub_80E69F8();
+ sub_80E682C(sub_80E6AA8);
+ SetVBlankCallback(sub_80E6A6C);
+ break;
+ case 7:
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ break;
+ case 8:
+ REG_DISPCNT = 0x1F40;
+ SetMainCallback2(sub_80E6A88);
+ FlagSet(FLAG_SYS_CHAT_USED);
+ break;
+ }
+ gMain.state++;
+}
+
+void sub_80E6424(void)
+{
+ gEasyChatStruct->unk9 = gUnknown_083DB6A4[gEasyChatStruct->unk8];
+ switch (gEasyChatStruct->unk9)
+ {
+ case 4:
+ gEasyChatStruct->unkA = 4;
+ gEasyChatStruct->unk83 = 2;
+ gEasyChatStruct->unk84 = 2;
+ gEasyChatStruct->unk88 = 5;
+ gEasyChatStruct->unk8A = 4;
+ break;
+ case 5:
+ gEasyChatStruct->unkA = 4;
+ gEasyChatStruct->unk83 = 1;
+ gEasyChatStruct->unk84 = 4;
+ gEasyChatStruct->unk88 = 16;
+ gEasyChatStruct->unk8A = 2;
+ break;
+ case 0:
+ gEasyChatStruct->unkA = 6;
+ gEasyChatStruct->unk83 = 2;
+ gEasyChatStruct->unk84 = 3;
+ gEasyChatStruct->unk88 = 4;
+ gEasyChatStruct->unk8A = 3;
+ break;
+ case 1:
+ gEasyChatStruct->unkA = 9;
+ gEasyChatStruct->unk83 = 2;
+ gEasyChatStruct->unk84 = 5;
+ gEasyChatStruct->unk88 = 4;
+ gEasyChatStruct->unk8A = 0;
+ break;
+ case 2:
+ gEasyChatStruct->unkA = 1;
+ gEasyChatStruct->unk83 = 1;
+ gEasyChatStruct->unk84 = 1;
+ gEasyChatStruct->unk88 = 16;
+ gEasyChatStruct->unk8A = 4;
+ break;
+ case 3:
+ gEasyChatStruct->unkA = 2;
+ gEasyChatStruct->unk83 = 2;
+ gEasyChatStruct->unk84 = 1;
+ gEasyChatStruct->unk88 = 5;
+ gEasyChatStruct->unk8A = 3;
+ break;
+ }
+ gEasyChatStruct->unk86 = 0;
+ gEasyChatStruct->unk85 = 0;
+ gEasyChatStruct->unk87 = 0;
+ gEasyChatStruct->unk26 = 0;
+ gEasyChatStruct->unk1BA = 0;
+ gEasyChatStruct->unk1BE = 2;
+ sub_80E6554();
+ sub_80EAECC();
+ LoadEasyChatStrings();
+ sub_80E7E50();
+ sub_80E6630();
+ sub_80E6690();
+}
+
+void sub_80E6554(void)
+{
+ u16 r4 = 0;
+ u16 r7;
+ u16 r5;
+
+ for (r7 = 0; ; r7++)
+ {
+ for (r5 = 0; r5 < 2; r5++)
+ {
+ gEasyChatStruct->unk2A[r7][r5] = r4++;
+ if (r4 == 17)
+ break;
+ }
+ if (r4 == 17)
+ break;
+ }
+ gEasyChatStruct->unk28 = 17;
+ while (r4 < 22)
+ {
+ if (sub_80EAD7C(r4) != 0)
+ {
+ r5++;
+ if (r5 > 1)
+ {
+ r7++;
+ r5 = 0;
+ }
+ gEasyChatStruct->unk2A[r7][r5] = r4;
+ gEasyChatStruct->unk78[r4 - 17] = 1; // hmm...
+ gEasyChatStruct->unk28++;
+ }
+ else
+ {
+ gEasyChatStruct->unk78[r4 - 17] = 0;
+ }
+ r4++;
+ }
+ gEasyChatStruct->unk1B6 = (gEasyChatStruct->unk28 + 1) / 2;
+}
+
+void sub_80E6630(void)
+{
+ u8 i;
+ u8 r3;
+
+ for (i = 0; i < 4; i++)
+ {
+ const u8 *row = gUnknown_083DB6B2[i];
+
+ for (r3 = 0; row[r3] != EOS; r3++)
+ {
+ if (row[r3] != CHAR_SPACE)
+ gEasyChatStruct->unk40[i][r3] = row[r3] + 0x46;
+ else
+ gEasyChatStruct->unk40[i][r3] = CHAR_SPACE;
+ }
+ }
+}
+
+void sub_80E6690(void)
+{
+ u8 *pointers[] =
+ {
+ gEasyChatStruct->unk9C80, gEasyChatStruct->unk9CC9,
+ gEasyChatStruct->unk9D12, gEasyChatStruct->unk9D5B,
+ };
+ u8 *r3;
+ u16 i;
+
+ for (i = 0; i < 2; i++)
+ {
+ const struct EasyChatPrompt *prompt = &gUnknown_083DB6F4[gUnknown_083DB7C0[gEasyChatStruct->unk8][i]];
+
+ r3 = StringCopy(pointers[i * 2 + 0], prompt->text1);
+ if (prompt->unk8)
+ {
+ StringCopy(pointers[i * 2 + 1], prompt->text2);
+ }
+ else
+ {
+ *r3++ = CHAR_SPACE;
+ StringCopy(r3, prompt->text2);
+ *pointers[i * 2 + 1] = EOS;
+ }
+ }
+
+ for (i = 0; i < 0x24; i++)
+ gEasyChatStruct->unk9DA4[i] = 0;
+ gEasyChatStruct->unk9DA4[i] = 0xFF;
+
+ r3 = gEasyChatStruct->unk9F6E;
+ r3[0] = EXT_CTRL_CODE_BEGIN;
+ r3[1] = 0x11;
+ r3[2] = 0xE0;
+ r3[3] = 0xFF;
+}
+
+// Default profile phrase
+const u16 gUnknown_083DB7EC[] =
+{
+#if ENGLISH
+ EC_WORD_I_AM,
+ EC_WORD_A,
+ EC_WORD_POKEMON,
+ EC_WORD_GREAT,
+#else
+ EC_WORD_I_AM,
+ EC_WORD_BIG,
+ EC_WORD_IN,
+ EC_WORD_POKEMON,
+#endif
+};
+
+const u16 gUnknown_083DB7F4[] =
+{
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ EC_WORD_READY,
+ EC_WORD_QUES,
+ EC_WORD_HERE_I_COME,
+ EC_WORD_EXCL,
+};
+
+// ResetDefaultEasyChatPhrases
+void InitEasyChatPhrases(void)
+{
+ u16 i;
+ u16 j;
+
+ for (i = 0; i < 4; i++)
+ gSaveBlock1.easyChats.unk2B1C[i] = gUnknown_083DB7EC[i];
+
+ for (i = 0; i < 6; i++)
+ gSaveBlock1.easyChats.unk2B28[i] = gUnknown_083DB7F4[i];
+
+ for (i = 0; i < 6; i++)
+ {
+ gSaveBlock1.easyChats.unk2B34[i] = 0xFFFF;
+ gSaveBlock1.easyChats.unk2B40[i] = 0xFFFF;
+ }
+
+ for (i = 0; i < 16; i++)
+ {
+ for (j = 0; j < 9; j++)
+ gSaveBlock1.mail[i].words[j] = 0xFFFF;
+ }
+
+ for (i = 0; i < 64; i++)
+ gSaveBlock1.unk2D8C[i] = 0;
+}
+
+void sub_80E682C(void (*func)(void))
+{
+ gEasyChatStruct->unk20 = func;
+ gEasyChatStruct->unk24 = 0;
+}
+
+void sub_80E683C(void)
+{
+ u16 i;
+
+ if (gEasyChatStruct->unk26 == 0)
+ {
+ for (i = 0; i < gEasyChatStruct->unk1B6; i++)
+ gEasyChatStruct->unk1AA[i] = 2;
+ gEasyChatStruct->unk1AA[i - 1] = gEasyChatStruct->unk28 % 2;
+ if (gEasyChatStruct->unk1AA[i - 1] == 0)
+ gEasyChatStruct->unk1AA[i - 1] = 2;
+ }
+ else
+ {
+ gEasyChatStruct->unk1AA[0] = 7;
+ gEasyChatStruct->unk1AA[1] = 6;
+ gEasyChatStruct->unk1AA[2] = 7;
+ gEasyChatStruct->unk1AA[3] = 7;
+ }
+ gEasyChatStruct->unk1A8 = 0;
+ gEasyChatStruct->unk1A9 = 0;
+ gEasyChatStruct->unk1B5 = 0;
+ gEasyChatStruct->unk1B7 = 0;
+ sub_80E9A4C();
+}
+
+void sub_80E68E8(void)
+{
+ sub_80EB0B0();
+ if (gEasyChatStruct->unk26 == 0)
+ {
+ u16 i;
+ u8 r6;
+
+ r6 = gEasyChatStruct->unk1B8;
+ gEasyChatStruct->unk9A28 = (gEasyChatStruct->unk4178[r6] + 1) / 2;
+ for (i = 0; i < gEasyChatStruct->unk9A28; i++)
+ gEasyChatStruct->unk99A6[i] = 2;
+ i--;
+ gEasyChatStruct->unk99A6[i] = gEasyChatStruct->unk4178[r6] % 2;
+ if (gEasyChatStruct->unk99A6[i] == 0)
+ gEasyChatStruct->unk99A6[i] = 2;
+ }
+ else
+ {
+ u16 i;
+ u8 r6;
+
+ r6 = gEasyChatStruct->unk1B8;
+ gEasyChatStruct->unk9A28 = (gEasyChatStruct->unk4142[r6] + 1) / 2;
+ for (i = 0; i < gEasyChatStruct->unk9A28; i++)
+ gEasyChatStruct->unk99A6[i] = 2;
+ i--;
+ gEasyChatStruct->unk99A6[i] = gEasyChatStruct->unk4142[r6] % 2;
+ if (gEasyChatStruct->unk99A6[i] == 0)
+ gEasyChatStruct->unk99A6[i] = 2;
+ }
+ gEasyChatStruct->unk99A4 = 0;
+ gEasyChatStruct->unk99A5 = 0;
+ gEasyChatStruct->unk9A29 = 0;
+ sub_80E9A4C();
+}
+
+void sub_80E69F8(void)
+{
+ switch (gEasyChatStruct->unk8)
+ {
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 6:
+ case 9:
+ case 13:
+ default:
+ sub_80E9368(gEasyChatStruct->unk8);
+ break;
+ case 5:
+ case 7:
+ case 8:
+ case 10:
+ case 11:
+ case 12:
+ sub_80E9368(gEasyChatStruct->unk8);
+ sub_80E8BF4(gEasyChatStruct->unkB, gEasyChatStruct->unk9);
+ break;
+ }
+}
+
+void sub_80E6A6C(void)
+{
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ sub_80EAC5C();
+ TransferPlttBuffer();
+ sub_8089668();
+}
+
+void sub_80E6A88(void)
+{
+ gEasyChatStruct->unk20();
+ AnimateSprites();
+ BuildOamBuffer();
+ sub_80EAD08();
+}
+
+void sub_80E6AA8(void)
+{
+ if (!UpdatePaletteFade())
+ sub_80E682C(sub_80E6AC4);
+}
+
+void sub_80E6AC4(void)
+{
+ sub_80E88F0();
+ sub_80E8398(0);
+ sub_80E91D4(0);
+ sub_80E682C(sub_80E6AE4);
+}
+
+void sub_80E6AE4(void)
+{
+ gEasyChatStruct->unk87 = sub_80E75D8();
+ if (gEasyChatStruct->unk87)
+ PlaySE(SE_SELECT);
+ if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ if (gEasyChatStruct->unk86 == gEasyChatStruct->unk84)
+ {
+ switch (gEasyChatStruct->unk85)
+ {
+ case 0:
+ sub_80E682C(sub_80E6BC0);
+ return;
+ case 1:
+ sub_80E682C(sub_80E6C84);
+ return;
+ case 2:
+ sub_80E682C(sub_80E6D7C);
+ return;
+ }
+ }
+ else
+ {
+ gEasyChatStruct->unk27 = gEasyChatStruct->unk86 * gEasyChatStruct->unk83 + gEasyChatStruct->unk85;
+ sub_80E7574();
+ sub_80E682C(sub_80E6F68);
+ return;
+ }
+ }
+ if (gMain.newKeys & B_BUTTON)
+ {
+ sub_80E682C(sub_80E6C84);
+ }
+}
+
+void sub_80E6BC0(void)
+{
+ switch (gEasyChatStruct->unk24)
+ {
+ case 0:
+ sub_80E8398(2);
+ if (gEasyChatStruct->unk8 == 6)
+ {
+ sub_80E91D4(6);
+ gEasyChatStruct->unk24 = 100;
+ }
+ else
+ {
+ sub_80E91D4(2);
+ DisplayYesNoMenu(23, 8, 1);
+ MoveMenuCursor(1);
+ gEasyChatStruct->unk24++;
+ }
+ break;
+ case 1:
+ switch (ProcessMenuInputNoWrap_())
+ {
+ case 0:
+ sub_80E7D6C();
+ sub_80E98C4();
+ sub_80E95A4();
+ gEasyChatStruct->unk24++;
+ break;
+ case -1:
+ case 1:
+ gEasyChatStruct->unk24++;
+ break;
+ }
+ break;
+ case 2:
+ sub_80E81FC();
+ sub_80E682C(sub_80E6AC4);
+ break;
+ case 100:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON))
+ sub_80E682C(sub_80E6AC4);
+ break;
+ }
+}
+
+void sub_80E6C84(void)
+{
+ switch (gEasyChatStruct->unk24)
+ {
+ case 0:
+ sub_80E8398(2);
+ sub_80E91D4(3);
+ DisplayYesNoMenu(23, 8, 0);
+ MoveMenuCursor(1);
+ if (gEasyChatStruct->unk8 == 9
+ || gEasyChatStruct->unk8 == 4
+ || gEasyChatStruct->unk8 == 7
+ || gEasyChatStruct->unk8 == 8
+ || gEasyChatStruct->unk8 == 10
+ || gEasyChatStruct->unk8 == 11
+ || gEasyChatStruct->unk8 == 12
+ || gEasyChatStruct->unk8 == 5
+ || gEasyChatStruct->unk8 == 13)
+ gEasyChatStruct->unk24 = 2;
+ else
+ gEasyChatStruct->unk24++;
+ break;
+ case 1:
+ switch (ProcessMenuInputNoWrap_())
+ {
+ case 0:
+ sub_80E91D4(4);
+ DisplayYesNoMenu(23, 8, 0);
+ MoveMenuCursor(1);
+ gEasyChatStruct->unk24++;
+ break;
+ case -1:
+ case 1:
+ gEasyChatStruct->unk24 = 0xFF;
+ break;
+ }
+ break;
+ case 2:
+ switch (ProcessMenuInputNoWrap_())
+ {
+ case 0:
+ gSpecialVar_Result = 0;
+ sub_80E682C(sub_80E752C);
+ break;
+ case -1:
+ case 1:
+ gEasyChatStruct->unk24 = 0xFF;
+ break;
+ }
+ break;
+ case 0xFF:
+ HandleDestroyMenuCursors();
+ sub_80E81FC();
+ sub_80E682C(sub_80E6AC4);
+ break;
+ }
+}
+
+void sub_80E6D7C(void)
+{
+ switch (gEasyChatStruct->unk24)
+ {
+ case 0:
+ sub_80E8398(2);
+ if (sub_80E8054())
+ {
+ sub_80E91D4(5);
+ gEasyChatStruct->unk24 = 10;
+ break;
+ }
+ if (gEasyChatStruct->unk8 == 9)
+ {
+ if (sub_80E7FA8() == 0)
+ {
+ sub_80E91D4(8);
+ gEasyChatStruct->unk24 = 10;
+ break;
+ }
+ if (gEasyChatStruct->unkC[0] == 0xFFFF || gEasyChatStruct->unkC[1] == 0xFFFF)
+ {
+ sub_80E91D4(9);
+ gEasyChatStruct->unk24 = 10;
+ break;
+ }
+ }
+ if (gEasyChatStruct->unk8 == 4 && sub_80E7FA8() == 0)
+ {
+ sub_80E682C(sub_80E6C84);
+ }
+ else
+ {
+ sub_80E91D4(1);
+ sub_80E9744();
+ DisplayYesNoMenu(23, 8, 0);
+ MoveMenuCursor(0);
+ gEasyChatStruct->unk24++;
+ }
+ break;
+ case 1:
+ switch (ProcessMenuInputNoWrap_())
+ {
+ case 0:
+ gSpecialVar_Result = (sub_80E7FA8() != 0);
+ sub_80E7D9C();
+ if (gEasyChatStruct->unk8 == 0)
+ gSpecialVar_0x8004 = sub_80E8094();
+ if (gEasyChatStruct->unk8 == 9) // dewford trend?
+ {
+ sub_80E81C0();
+ gSpecialVar_0x8004 = sub_80FA364(&gEasyChatStruct->unk9C7C);
+ }
+ if (gEasyChatStruct->unk8 == 13)
+ {
+ if (gEasyChatStruct->unkC[0] == 0xFFFF || gEasyChatStruct->unkC[1] == 0xFFFF)
+ gSpecialVar_Result = 0;
+ gSpecialVar_0x8004 = sub_80E810C();
+ }
+ sub_80E682C(sub_80E752C);
+ break;
+ case -1:
+ case 1:
+ HandleDestroyMenuCursors();
+ sub_80E81FC();
+ if (gEasyChatStruct->unk8 == 6 && sub_80E7FA8() != 0)
+ {
+ gEasyChatStruct->unk24 = 100;
+ }
+ else
+ {
+ sub_80E95A4();
+ sub_80E682C(sub_80E6AC4);
+ }
+ break;
+ }
+ break;
+ case 10:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON))
+ sub_80E682C(sub_80E6AC4);
+ break;
+ case 100:
+ sub_80E91D4(7);
+ gEasyChatStruct->unk24++;
+ // fall through
+ case 101:
+ if (gMain.newKeys & A_BUTTON)
+ gEasyChatStruct->unk24++;
+ break;
+ case 102:
+ sub_80E7E50();
+ sub_80E95A4();
+ sub_80E682C(sub_80E6AC4);
+ break;
+ }
+}
+
+void sub_80E6F68(void)
+{
+ switch (gEasyChatStruct->unk24)
+ {
+ case 0:
+ sub_80E8398(1);
+ sub_80E91D4(10);
+ sub_80E683C();
+ sub_80E9974();
+ sub_80E9E98();
+ gEasyChatStruct->unk24++;
+ break;
+ case 1:
+ if (sub_80E9EA8() != 0)
+ {
+ sub_80E8D8C(1);
+ sub_80E8420();
+ sub_80E8958(0);
+ sub_80E682C(sub_80E6FC8);
+ }
+ break;
+ }
+}
+
+void sub_80E6FC8(void)
+{
+ gEasyChatStruct->unk96 = sub_80E77C8();
+ if (gEasyChatStruct->unk1C0 != 0)
+ {
+ PlaySE(SE_SELECT);
+ gEasyChatStruct->unk1C4 = sub_80E6FC8;
+ sub_80E682C(sub_80E7458);
+ }
+ else
+ {
+ if (gEasyChatStruct->unk96)
+ PlaySE(SE_SELECT);
+ if (gMain.newKeys & A_BUTTON)
+ {
+ if (gEasyChatStruct->unk1B7 != 0)
+ {
+ PlaySE(SE_SELECT);
+ switch (gEasyChatStruct->unk1A8)
+ {
+ case 1:
+ sub_80E682C(sub_80E718C);
+ break;
+ case 2:
+ if (gEasyChatStruct->unk8 != 6)
+ {
+ sub_80E7F00(gEasyChatStruct->unk27, 0xFFFF);
+ sub_80E7574();
+ sub_80E95A4();
+ }
+ break;
+ case 3:
+ sub_80E682C(sub_80E7114);
+ break;
+ }
+ }
+ else
+ {
+ if (gEasyChatStruct->unk26 == 0
+ || gEasyChatStruct->unk4142[gEasyChatStruct->unk40[gEasyChatStruct->unk1A8][gEasyChatStruct->unk1A9]] != 0)
+ {
+ PlaySE(SE_SELECT);
+ sub_80E7AD4();
+ sub_80E682C(sub_80E7218);
+ }
+ }
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ sub_80E682C(sub_80E7114);
+ }
+ else if (gMain.newKeys & SELECT_BUTTON)
+ {
+ sub_80E682C(sub_80E718C);
+ }
+ }
+}
+
+void sub_80E7114(void)
+{
+ switch (gEasyChatStruct->unk24)
+ {
+ case 0:
+ sub_80E8504();
+ sub_80E9E98();
+ sub_80E88F0();
+ sub_80E8D8C(0);
+ gEasyChatStruct->unk24++;
+ break;
+ case 1:
+ case 2:
+ gEasyChatStruct->unk24++;
+ break;
+ case 3:
+ if (sub_80E9F50() != 0)
+ gEasyChatStruct->unk24++;
+ break;
+ case 4:
+ sub_80E682C(sub_80E6AC4);
+ break;
+ }
+}
+
+void sub_80E718C(void)
+{
+ switch (gEasyChatStruct->unk24)
+ {
+ case 0:
+ sub_80E8504();
+ sub_80E9E98();
+ sub_80E88F0();
+ gEasyChatStruct->unk24++;
+ sub_80E8D54();
+ break;
+ case 1:
+ if (sub_80E9FD4() != 0)
+ {
+ gEasyChatStruct->unk26 = !gEasyChatStruct->unk26;
+ sub_80E683C();
+ sub_80E9974();
+ sub_80E9E98();
+ gEasyChatStruct->unk24++;
+ }
+ break;
+ default:
+ gEasyChatStruct->unk24++;
+ break;
+ case 8:
+ if (sub_80EA014() != 0)
+ {
+ sub_80E8420();
+ sub_80E8958(0);
+ sub_80E682C(sub_80E6FC8);
+ }
+ break;
+ }
+}
+
+void sub_80E7218(void)
+{
+ switch (gEasyChatStruct->unk24)
+ {
+ default:
+ gEasyChatStruct->unk24++;
+ break;
+ case 8:
+ sub_80E8D8C(0);
+ sub_80E8504();
+ sub_80E9AD4();
+ sub_80E68E8();
+ sub_80E88F0();
+ sub_80E9E98();
+ gEasyChatStruct->unk24++;
+ break;
+ case 9:
+ if (sub_80EA050() != 0)
+ {
+ sub_80E9C94();
+ gEasyChatStruct->unk24++;
+ }
+ break;
+ case 10:
+ sub_80E87CC(1);
+ sub_80E8958(1);
+ sub_80E682C(sub_80E7294);
+ break;
+ case 11:
+ break;
+ }
+}
+
+void sub_80E7294(void)
+{
+ gEasyChatStruct->unk1B9 = sub_80E7B40();
+ if (gEasyChatStruct->unk1C0 != 0)
+ {
+ PlaySE(SE_SELECT);
+ gEasyChatStruct->unk1C4 = sub_80E7294;
+ sub_80E682C(sub_80E7458);
+ }
+ else
+ {
+ if (gEasyChatStruct->unk1B9)
+ PlaySE(SE_SELECT);
+ if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_80E682C(sub_80E7324);
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ sub_80E682C(sub_80E73D0);
+ }
+ }
+}
+
+void sub_80E7324(void)
+{
+ switch (gEasyChatStruct->unk24)
+ {
+ case 0:
+ if (!sub_80E7DD0())
+ {
+ sub_80E682C(sub_80E7294);
+ }
+ else
+ {
+ sub_80E88F0();
+ sub_80E87CC(0);
+ gEasyChatStruct->unk24++;
+ }
+ break;
+ case 1:
+ gEasyChatStruct->unk24++;
+ break;
+ case 2:
+ sub_80E9E98();
+ gEasyChatStruct->unk24++;
+ break;
+ case 3:
+ if (sub_80EA184() != 0)
+ gEasyChatStruct->unk24++;
+ break;
+ case 4:
+ if (gEasyChatStruct->unk8 == 6 && sub_80E7FA8() != 0)
+ sub_80E682C(sub_80E6D7C);
+ else
+ sub_80E682C(sub_80E6AC4);
+ break;
+ }
+}
+
+void sub_80E73D0(void)
+{
+ switch (gEasyChatStruct->unk24)
+ {
+ case 0:
+ sub_80E87CC(0);
+ sub_80E88F0();
+ gEasyChatStruct->unk24++;
+ break;
+ case 1:
+ sub_80E9AD4();
+ sub_80E9E98();
+ gEasyChatStruct->unk24++;
+ break;
+ case 2:
+ if (sub_80EA0E4() != 0)
+ {
+ sub_80E8D8C(1);
+ sub_80E9A14();
+ gEasyChatStruct->unk24++;
+ }
+ break;
+ case 3:
+ sub_80E8420();
+ sub_80E8958(0);
+ gEasyChatStruct->unk24++;
+ break;
+ case 4:
+ sub_80E9974();
+ sub_80E682C(sub_80E6FC8);
+ break;
+ }
+}
+
+void sub_80E7458(void)
+{
+ switch (gEasyChatStruct->unk24)
+ {
+ case 0:
+ if (gEasyChatStruct->unk1C4 == sub_80E6FC8)
+ sub_80E9D7C();
+ else
+ sub_80E9D00();
+ sub_80E9E08(gEasyChatStruct->unk1BE);
+ gEasyChatStruct->unk24++;
+ break;
+ case 1:
+ if (sub_80E9E54())
+ {
+ if (gEasyChatStruct->unk1C4 == sub_80E6FC8)
+ {
+ sub_80E9D7C();
+ gEasyChatStruct->unk1B5 += gEasyChatStruct->unk1C0;
+ sub_80E7A98();
+ gEasyChatStruct->unk96 = TRUE;
+ }
+ else
+ {
+ gEasyChatStruct->unk9A29 += gEasyChatStruct->unk1C0;
+ sub_80E7D30();
+ gEasyChatStruct->unk1B9 = 1;
+ }
+ gEasyChatStruct->unk1BE = 2;
+ sub_80E682C(gEasyChatStruct->unk1C4);
+ }
+ break;
+ }
+}
+
+void sub_80E752C(void)
+{
+ switch (gEasyChatStruct->unk24)
+ {
+ case 0:
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ gEasyChatStruct->unk24++;
+ break;
+ case 1:
+ if (!UpdatePaletteFade())
+ SetMainCallback2(gEasyChatStruct->unk0);
+ break;
+ }
+}
+
+void sub_80E7574(void)
+{
+ if (gEasyChatStruct->unk8 == 1
+ && gEasyChatStruct->unk7E[gEasyChatStruct->unk86] == 2
+ && sub_80EB2D4(gEasyChatStruct->unkC[gEasyChatStruct->unk27]) != 7)
+ gEasyChatStruct->unk7D = 1;
+ else
+ gEasyChatStruct->unk7D = 0;
+ gEasyChatStruct->unk7D = 0; // What the hell?
+}
+
+bool8 sub_80E75D8(void)
+{
+ bool8 pressedUpDown = FALSE;
+ u8 r0;
+
+ if (gMain.newKeys & START_BUTTON)
+ {
+ gEasyChatStruct->unk86 = gEasyChatStruct->unk84;
+ gEasyChatStruct->unk85 = 2;
+ return TRUE;
+ }
+
+ if (gMain.newAndRepeatedKeys & DPAD_UP)
+ {
+ gEasyChatStruct->unk86--;
+ if (gEasyChatStruct->unk86 < 0)
+ gEasyChatStruct->unk86 = gEasyChatStruct->unk84;
+ pressedUpDown = TRUE;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
+ {
+ gEasyChatStruct->unk86++;
+ if (gEasyChatStruct->unk86 > gEasyChatStruct->unk84)
+ gEasyChatStruct->unk86 = 0;
+ pressedUpDown = TRUE;
+ }
+
+ if (pressedUpDown)
+ {
+ if (gEasyChatStruct->unk9 == 2)
+ {
+ if (gEasyChatStruct->unk86 == gEasyChatStruct->unk84)
+ gEasyChatStruct->unk85 = 2;
+ else
+ gEasyChatStruct->unk85 = 0;
+ return TRUE;
+ }
+ else
+ {
+ if (gEasyChatStruct->unk85 >= gEasyChatStruct->unk83)
+ gEasyChatStruct->unk85 = gEasyChatStruct->unk83 - 1;
+ if (gEasyChatStruct->unk86 != gEasyChatStruct->unk84)
+ {
+ r0 = gEasyChatStruct->unk86 * gEasyChatStruct->unk83 + gEasyChatStruct->unk85;
+ if (r0 >= gEasyChatStruct->unkA)
+ gEasyChatStruct->unk85 = r0 - gEasyChatStruct->unkA;
+ }
+ return TRUE;
+ }
+ }
+ else
+ {
+ if (gMain.newAndRepeatedKeys & DPAD_LEFT)
+ {
+ if (--gEasyChatStruct->unk85 < 0)
+ {
+ if (gEasyChatStruct->unk86 == gEasyChatStruct->unk84)
+ {
+ gEasyChatStruct->unk85 = 2;
+ }
+ else
+ {
+ gEasyChatStruct->unk85 = gEasyChatStruct->unk83 - 1;
+ r0 = gEasyChatStruct->unk86 * gEasyChatStruct->unk83 + gEasyChatStruct->unk85;
+ if (r0 >= gEasyChatStruct->unkA)
+ gEasyChatStruct->unk85 = r0 - gEasyChatStruct->unkA;
+ }
+ }
+ return TRUE;
+ }
+ if (gMain.newAndRepeatedKeys & DPAD_RIGHT)
+ {
+ if (gEasyChatStruct->unk86 == gEasyChatStruct->unk84)
+ {
+ if (++gEasyChatStruct->unk85 > 2)
+ gEasyChatStruct->unk85 = 0;
+ }
+ else
+ {
+ if (++gEasyChatStruct->unk85 >= gEasyChatStruct->unk83)
+ gEasyChatStruct->unk85 = 0;
+ r0 = gEasyChatStruct->unk86 * gEasyChatStruct->unk83 + gEasyChatStruct->unk85;
+ if (r0 >= gEasyChatStruct->unkA)
+ gEasyChatStruct->unk85 = r0 - gEasyChatStruct->unkA;
+ }
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+
+bool8 sub_80E77C8(void)
+{
+ bool8 pressedLeftRight = FALSE;
+ bool8 pressedUpDown;
+
+ if (gEasyChatStruct->unk1B7 != 0)
+ {
+ if (gMain.newAndRepeatedKeys & DPAD_UP)
+ {
+ gEasyChatStruct->unk1A8--;
+ if (gEasyChatStruct->unk1A8 < 1)
+ gEasyChatStruct->unk1A8 = 3;
+ return TRUE;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
+ {
+ gEasyChatStruct->unk1A8++;
+ if (gEasyChatStruct->unk1A8 > 3)
+ gEasyChatStruct->unk1A8 = 1;
+ return TRUE;
+ }
+ }
+ else
+ {
+ if (gEasyChatStruct->unk26 == 1)
+ {
+ pressedUpDown = FALSE;
+
+ if (gMain.newAndRepeatedKeys & DPAD_UP)
+ {
+ gEasyChatStruct->unk1A8--;
+ if (gEasyChatStruct->unk1A8 < 0)
+ gEasyChatStruct->unk1A8 = 3;
+ pressedUpDown = TRUE;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
+ {
+ gEasyChatStruct->unk1A8++;
+ if (gEasyChatStruct->unk1A8 > 3)
+ gEasyChatStruct->unk1A8 = 0;
+ pressedUpDown = TRUE;
+ }
+
+ if (pressedUpDown)
+ {
+ sub_80E7A98();
+ return TRUE;
+ }
+ }
+ else
+ {
+ pressedUpDown = FALSE;
+ gEasyChatStruct->unk1C0 = 0;
+
+ if (gMain.newAndRepeatedKeys & DPAD_UP)
+ {
+ if (gEasyChatStruct->unk1A8 == 0)
+ return FALSE;
+ gEasyChatStruct->unk1A8--;
+ if (gEasyChatStruct->unk1A8 < gEasyChatStruct->unk1B5)
+ gEasyChatStruct->unk1C0 = -1;
+ pressedUpDown = TRUE;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
+ {
+ if (gEasyChatStruct->unk1A8 >= gEasyChatStruct->unk1B6 - 1)
+ return FALSE;
+ gEasyChatStruct->unk1A8++;
+ if (gEasyChatStruct->unk1A8 > gEasyChatStruct->unk1B5 + 3)
+ gEasyChatStruct->unk1C0 = 1;
+ pressedUpDown = TRUE;
+ }
+
+ if (pressedUpDown)
+ {
+ if (gEasyChatStruct->unk1C0 == 0)
+ {
+ sub_80E7A98();
+ return TRUE;
+ }
+ return FALSE;
+ }
+ }
+ }
+
+ if (gMain.newAndRepeatedKeys & DPAD_LEFT)
+ {
+ if (gEasyChatStruct->unk1A9 != 0)
+ gEasyChatStruct->unk1A9--;
+ else
+ gEasyChatStruct->unk1A9 = gEasyChatStruct->unk1AA[gEasyChatStruct->unk1A8];
+ pressedLeftRight = TRUE;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_RIGHT)
+ {
+ if (gEasyChatStruct->unk1B7 != 0
+ || gEasyChatStruct->unk1A9 == gEasyChatStruct->unk1AA[gEasyChatStruct->unk1A8])
+ gEasyChatStruct->unk1A9 = 0;
+ else
+ gEasyChatStruct->unk1A9++;
+ pressedLeftRight = TRUE;
+ }
+
+ if (pressedLeftRight)
+ {
+ s8 r9 = gEasyChatStruct->unk1B7;
+
+ gEasyChatStruct->unk1B7 = (gEasyChatStruct->unk1A9 == gEasyChatStruct->unk1AA[gEasyChatStruct->unk1A8]);
+ if (gEasyChatStruct->unk1B7 != 0)
+ {
+ gEasyChatStruct->unk1A8 -= gEasyChatStruct->unk1B5;
+ if (gEasyChatStruct->unk1A8 == 0)
+ {
+ gEasyChatStruct->unk1A8 = 1;
+ gEasyChatStruct->unk1A9 = gEasyChatStruct->unk1AA[gEasyChatStruct->unk1A8];
+ }
+ }
+ else if (r9 != 0)
+ {
+ gEasyChatStruct->unk1A8 += gEasyChatStruct->unk1B5;
+ if (gEasyChatStruct->unk1A9 != 0)
+ gEasyChatStruct->unk1A9 = gEasyChatStruct->unk1AA[gEasyChatStruct->unk1A8] - 1;
+ }
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+void sub_80E7A98(void)
+{
+ if (gEasyChatStruct->unk1A9 >= gEasyChatStruct->unk1AA[gEasyChatStruct->unk1A8])
+ gEasyChatStruct->unk1A9 = gEasyChatStruct->unk1AA[gEasyChatStruct->unk1A8] - 1;
+}
+
+void sub_80E7AD4(void)
+{
+ if (gEasyChatStruct->unk26 == 0)
+ gEasyChatStruct->unk1B8 = gEasyChatStruct->unk2A[gEasyChatStruct->unk1A8][gEasyChatStruct->unk1A9];
+ else
+ gEasyChatStruct->unk1B8 = gEasyChatStruct->unk40[gEasyChatStruct->unk1A8][gEasyChatStruct->unk1A9];
+}
+
+bool8 sub_80E7B40(void)
+{
+ bool8 pressedUpDown = FALSE;
+
+ gEasyChatStruct->unk1C0 = 0;
+ if (gMain.newAndRepeatedKeys & DPAD_UP)
+ {
+ if (gEasyChatStruct->unk99A4 == 0)
+ return FALSE;
+ gEasyChatStruct->unk99A4--;
+ if (gEasyChatStruct->unk99A4 < gEasyChatStruct->unk9A29)
+ {
+ gEasyChatStruct->unk1C0 = -1;
+ return FALSE;
+ }
+ pressedUpDown = TRUE;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
+ {
+ if (gEasyChatStruct->unk99A4 >= gEasyChatStruct->unk9A28 - 1)
+ return FALSE;
+ gEasyChatStruct->unk99A4++;
+ if (gEasyChatStruct->unk99A4 >= gEasyChatStruct->unk9A29 + 4)
+ {
+ gEasyChatStruct->unk1C0 = 1;
+ return FALSE;
+ }
+ pressedUpDown = TRUE;
+ }
+
+ if (pressedUpDown)
+ {
+ sub_80E7D30();
+ return TRUE;
+ }
+
+ if (gMain.newAndRepeatedKeys & DPAD_LEFT)
+ {
+ gEasyChatStruct->unk99A5--;
+ if (gEasyChatStruct->unk99A5 < 0)
+ gEasyChatStruct->unk99A5 = gEasyChatStruct->unk99A6[gEasyChatStruct->unk99A4] - 1;
+ return TRUE;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_RIGHT)
+ {
+ gEasyChatStruct->unk99A5++;
+ if (gEasyChatStruct->unk99A5 >= gEasyChatStruct->unk99A6[gEasyChatStruct->unk99A4])
+ gEasyChatStruct->unk99A5 = 0;
+ return TRUE;
+ }
+
+ if (gMain.newKeys & START_BUTTON)
+ {
+ if (gEasyChatStruct->unk9A29 != 0)
+ {
+ gEasyChatStruct->unk1C0 = -gEasyChatStruct->unk9A29;
+ if (gEasyChatStruct->unk1C0 < -4)
+ gEasyChatStruct->unk1C0 = -4;
+ }
+ gEasyChatStruct->unk99A4 += gEasyChatStruct->unk1C0;
+ gEasyChatStruct->unk1BE = 4;
+ }
+ else if (gMain.newKeys & SELECT_BUTTON)
+ {
+ if (gEasyChatStruct->unk9A29 < gEasyChatStruct->unk9A28 - 4)
+ {
+ gEasyChatStruct->unk1C0 = gEasyChatStruct->unk9A28 - 4 - gEasyChatStruct->unk9A29;
+ if (gEasyChatStruct->unk1C0 > 4)
+ gEasyChatStruct->unk1C0 = 4;
+ }
+ gEasyChatStruct->unk99A4 += gEasyChatStruct->unk1C0;
+ gEasyChatStruct->unk1BE = 4;
+ }
+
+ return FALSE;
+}
+
+void sub_80E7D30(void)
+{
+ if (gEasyChatStruct->unk99A5 >= gEasyChatStruct->unk99A6[gEasyChatStruct->unk99A4])
+ gEasyChatStruct->unk99A5 = gEasyChatStruct->unk99A6[gEasyChatStruct->unk99A4] - 1;
+}
+
+void sub_80E7D6C(void)
+{
+ u16 i;
+
+ for (i = 0; i < gEasyChatStruct->unkA; i++)
+ sub_80E7F00(i, 0xFFFF);
+}
+
+void sub_80E7D9C(void)
+{
+ u16 i;
+
+ for (i = 0; i < gEasyChatStruct->unkA; i++)
+ gEasyChatStruct->unk4[i] = gEasyChatStruct->unkC[i];
+}
+
+bool8 sub_80E7DD0(void)
+{
+ u16 r4 = gEasyChatStruct->unk9A2A[gEasyChatStruct->unk99A4][gEasyChatStruct->unk99A5];
+
+ if (gEasyChatStruct->unk7D != 0
+ && gEasyChatStruct->unk7E[gEasyChatStruct->unk86] > 1
+ && sub_80EB2D4(r4) == 7)
+ return FALSE;
+
+ sub_80E7F00(gEasyChatStruct->unk27, r4);
+ sub_80E95A4();
+ return TRUE;
+}
+
+void sub_80E7E50(void)
+{
+ u16 r5 = 0;
+ u16 i;
+ u16 j;
+
+ for (i = 0; i < gEasyChatStruct->unk84; i++)
+ {
+ gEasyChatStruct->unk7E[i] = 0;
+ for (j = 0; j < gEasyChatStruct->unk83; j++)
+ {
+ gEasyChatStruct->unkC[r5] = gEasyChatStruct->unk4[r5];
+ gEasyChatStruct->unk8C[i][j] = 0;
+ r5++;
+ }
+ }
+}
+
+void sub_80E7F00(u16 a, u16 b)
+{
+ u16 r5 = a / gEasyChatStruct->unk83;
+ u16 r8 = a % gEasyChatStruct->unk83;
+ u16 r4 = sub_80EB2D4(gEasyChatStruct->unkC[a]);
+ u16 r3 = sub_80EB2D4(b);
+
+ if (r4 == 7)
+ {
+ if (r3 != 7)
+ gEasyChatStruct->unk7E[r5]--;
+ }
+ else
+ {
+ if (r3 == 7)
+ gEasyChatStruct->unk7E[r5]++;
+ }
+ r3 = 0;
+ gEasyChatStruct->unk8C[r5][r8] = r3;
+ gEasyChatStruct->unkC[a] = b;
+}
+
+u8 sub_80E7FA8(void)
+{
+ u16 r8 = 0;
+ u16 i;
+ u8 *r1;
+ u8 *r2;
+
+ for (i = 0; i < gEasyChatStruct->unkA; i++)
+ {
+ sub_80EB218(gEasyChatStruct->unk9E14, gEasyChatStruct->unk4[i], 0);
+ sub_80EB218(gEasyChatStruct->unk9E41, gEasyChatStruct->unkC[i], 0);
+ r1 = gEasyChatStruct->unk9E14;
+ r2 = gEasyChatStruct->unk9E41;
+ while (*r1 == *r2 && *r1 != 0xFF)
+ {
+ r1++;
+ r2++;
+ }
+ if (*r1 != *r2)
+ r8++;
+ }
+ return r8;
+}
+
+bool8 sub_80E8054(void)
+{
+ u16 i;
+
+ for (i = 0; i < gEasyChatStruct->unkA; i++)
+ {
+ if (gEasyChatStruct->unkC[i] != 0xFFFF)
+ return FALSE;
+ }
+ return TRUE;
+}
+
+// CheckMysteryEventPhrase
+bool8 sub_80E8094(void)
+{
+ u16 i;
+ u8 *r3;
+ u8 *r4;
+
+ for (i = 0; i < 4; i++)
+ {
+ sub_80EB218(gEasyChatStruct->unk9E14, gEasyChatStruct->unkC[i], 0);
+ sub_80EB218(gEasyChatStruct->unk9E41, gMysteryEventPhrase[i], 0);
+ r3 = gEasyChatStruct->unk9E14;
+ r4 = gEasyChatStruct->unk9E41;
+ while (*r3 != 0xFF && *r4 != 0xFF)
+ {
+ if (*r3++ != *r4++)
+ return FALSE;
+ }
+ if (*r3 != 0xFF || *r4 != 0xFF)
+ return FALSE;
+ }
+ return TRUE;
+}
+
+u8 sub_80E810C(void)
+{
+ u16 i;
+
+ for (i = 0; i < 5; i++)
+ {
+ u8 *ptr;
+ u8 *r3;
+
+ ptr = sub_80EB218(gEasyChatStruct->unk9E6E, gEasyChatStruct->unkC[0], 0);
+ *ptr++ = CHAR_SPACE;
+ sub_80EB218(ptr, gEasyChatStruct->unkC[1], 0);
+
+ ptr = sub_80EB218(gEasyChatStruct->unk9EEE, gBerryMasterWifePhrases[i][0], 0);
+ *ptr++ = CHAR_SPACE;
+ sub_80EB218(ptr, gBerryMasterWifePhrases[i][1], 0);
+
+ ptr = gEasyChatStruct->unk9E6E;
+ r3 = gEasyChatStruct->unk9EEE;
+ while (*ptr != EOS && *r3 != EOS)
+ {
+ if (*ptr++ != *r3++)
+ break;
+ }
+ if (*ptr == EOS && *r3 == EOS)
+ return i + 1;
+ }
+ return 0;
+}
+
+void sub_80E81C0(void)
+{
+ u8 *ptr;
+
+ ptr = sub_80EB218(gStringVar2, gEasyChatStruct->unk9C7C, 0);
+ *ptr++ = CHAR_SPACE;
+ sub_80EB218(ptr, gEasyChatStruct->unk9C7E, 0);
+}
+
+void sub_80E81FC(void)
+{
+ PlaySE(SE_SELECT);
+ sub_80E95A4();
+ MenuZeroFillWindowRect(0, 0, 29, 13);
+}
diff --git a/src/easy_chat_2.c b/src/easy_chat_2.c
new file mode 100644
index 000000000..8a3bb9ab9
--- /dev/null
+++ b/src/easy_chat_2.c
@@ -0,0 +1,3048 @@
+#include "global.h"
+#include "constants/easy_chat.h"
+#include "constants/map_objects.h"
+#include "data2.h"
+#include "decompress.h"
+#include "easy_chat.h"
+#include "event_data.h"
+#include "field_map_obj.h"
+#include "field_message_box.h"
+#include "graphics.h"
+#include "menu.h"
+#include "palette.h"
+#include "pokedex.h"
+#include "random.h"
+#include "sprite.h"
+#include "string_util.h"
+#include "strings.h"
+#include "strings2.h"
+#include "trig.h"
+#include "unknown_task.h"
+
+extern void sub_8095C8C();
+extern void sub_809D104(void *, u16, u16, const void *, u16, u16, u16, u16);
+
+void sub_80E8268(void);
+void sub_80E82BC(struct Sprite *);
+void sub_80E8534(void);
+void sub_80E85F8(struct Sprite *);
+void sub_80E872C(struct Sprite *);
+void sub_80E8760(struct Sprite *);
+void sub_80E8818(void);
+void sub_80E8860(struct Sprite *);
+void sub_80E8A7C(void);
+void sub_80E8B78(struct Sprite *);
+void sub_80E8FA4(void);
+void sub_80E9198(u8);
+void sub_80E91D4(u8);
+void sub_80E948C(void);
+void sub_80E95A4(void);
+void sub_80E9620(u16, u16);
+void sub_80E97C0(u16, u16);
+void sub_80E9A4C(void);
+void sub_80E9A60(const u8 *, u16, u16);
+void sub_80E9A7C(u8 *, u16);
+void sub_80E9AD4(void);
+void sub_80E9C74(u16);
+u8 sub_80EA1E0(void);
+void sub_80EA24C(void);
+void sub_80EA348(void);
+void sub_80EA4A4(void);
+void sub_80EA5A0(void);
+void sub_80EA704(void);
+void sub_80EA764(void);
+void sub_80EA7F4(void);
+void sub_80EA8BC(void);
+void sub_80EA948(void);
+void sub_80EAA44(void);
+void sub_80EAAD4(void);
+void sub_80EABD4(u16 *, u16, u16, u16, u16, u16, u16, u16, u16);
+void sub_80EAC0C(u16 *);
+void sub_80EAC30(struct UnknownEasyChatStruct1 *, u16, u16, u16, u16, void *);
+void sub_80EAC48(struct UnknownEasyChatStruct1 *);
+void sub_80EACBC(void *, u16 *, struct UnknownEasyChatStruct1 *);
+u8 *CopyEasyChatGroupName(u8 *, u8, int);
+u8 *sub_80EB218(u8 *, u16, u16);
+u16 sub_80EB2D4(u16);
+bool8 sub_80EB37C(u16);
+bool8 sub_80EB868(u8);
+static u16 sub_80EB960(void);
+u8 sub_80EB9C8(void);
+static u16 sub_80EB9D8(void);
+
+// put this in .bss, damnit!
+__attribute__((section(".bss"))) u8 gUnknown_03000740 = 0;
+
+const u16 InterviewPalette_0[] = INCBIN_U16("graphics/misc/interview_pal0.gbapal");
+const u16 InterviewPalette_1[] = INCBIN_U16("graphics/misc/interview_pal1.gbapal");
+const u8 InterviewArrowTiles[] = INCBIN_U8("graphics/misc/interview_arrow.4bpp");
+const u8 InterviewButtonTiles[] = INCBIN_U8("graphics/misc/interview_buttons.4bpp");
+const u16 gMenuInterviewFrame_Pal[] = INCBIN_U16("graphics/misc/interview_frame.gbapal");
+const u8 gMenuInterviewFrame_Gfx[] = INCBIN_U8("graphics/misc/interview_frame.4bpp.lz");
+const u8 InterviewTriangleCursorTiles[] = INCBIN_U8("graphics/misc/interview_triangle_cursor.4bpp");
+
+void sub_80E8218(void)
+{
+ struct SpriteSheet interviewSpriteSheets[] =
+ {
+ {InterviewTriangleCursorTiles, 0x20, 0},
+ {gInterviewOutlineCursorTiles, 0x700, 1},
+ {InterviewArrowTiles, 0x100, 2},
+ {InterviewButtonTiles, 0x100, 3},
+ {NULL, 0, 0},
+ };
+ struct SpritePalette interviewSpritePalettes[] =
+ {
+ {InterviewPalette_0, 0},
+ {InterviewPalette_1, 1},
+ {NULL, 0},
+ };
+
+ LoadSpriteSheets(interviewSpriteSheets);
+ LoadSpritePalettes(interviewSpritePalettes);
+ sub_80E8268();
+ sub_80E8818();
+ sub_80E8A7C();
+}
+
+const struct OamData gOamData_83DBBF4 =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 0,
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+const struct SpriteTemplate gSpriteTemplate_83DBBFC =
+{
+ .tileTag = 0,
+ .paletteTag = 0,
+ .oam = &gOamData_83DBBF4,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80E82BC,
+};
+
+void sub_80E8268(void)
+{
+ u8 spriteId;
+
+ spriteId = CreateSprite(&gSpriteTemplate_83DBBFC, 0, 0, 0);
+ gSprites[spriteId].pos1.y = gEasyChatStruct->unk8A * 8 + 8;
+ gSprites[spriteId].pos1.x = gEasyChatStruct->unk88 * 8 + 4;
+ gSprites[spriteId].data[0] = 0;
+ gSprites[spriteId].data[1] = 0;
+ gEasyChatStruct->unk98 = &gSprites[spriteId];
+}
+
+void sub_80E82BC(struct Sprite *sprite)
+{
+ if (sprite->data[1] == 0)
+ {
+ if (gEasyChatStruct->unk87)
+ {
+ u16 r5 = gEasyChatStruct->unk86;
+ u16 r4 = gEasyChatStruct->unk85;
+ u16 r7 = 0;
+ u16 i;
+
+ for (i = 0; i < r4; i++)
+ r7 += gEasyChatStruct->unk8C[r5][i];
+
+ if (r5 == gEasyChatStruct->unk84)
+ {
+ sprite->pos1.y = 96;
+ sprite->pos1.x = (r4 * 7 + 3) * 8 + 4;
+ }
+ else
+ {
+ sprite->pos1.y = (gEasyChatStruct->unk8A + r5 * 2) * 8 + 8;
+ sprite->pos1.x = (gEasyChatStruct->unk88 + r7 + r4 * 11) * 8 + 4;
+ }
+
+ sprite->pos2.x = -6;
+ sprite->data[0] = 0;
+ }
+ else
+ {
+ if (++sprite->data[0] > 2)
+ {
+ sprite->data[0] = 0;
+ if (++sprite->pos2.x > 0)
+ sprite->pos2.x = -6;
+ }
+ }
+ }
+}
+
+void sub_80E8398(u8 a)
+{
+ switch (a)
+ {
+ case 0:
+ gEasyChatStruct->unk98->data[1] = a;
+ gEasyChatStruct->unk98->pos2.x = a;
+ gEasyChatStruct->unk98->invisible = FALSE;
+ break;
+ case 1:
+ gEasyChatStruct->unk98->data[1] = a;
+ gEasyChatStruct->unk98->pos2.x = 0;
+ gEasyChatStruct->unk98->invisible = FALSE;
+ break;
+ case 2:
+ gEasyChatStruct->unk98->data[1] = 1;
+ gEasyChatStruct->unk98->pos2.x = 0;
+ gEasyChatStruct->unk98->invisible = TRUE;
+ break;
+ }
+}
+
+const struct OamData gOamData_83DBC14 =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 1,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 1,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 2,
+ .tileNum = 0,
+ .priority = 1,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+const union AnimCmd gSpriteAnim_83DBC1C[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83DBC24[] =
+{
+#if ENGLISH
+ ANIMCMD_FRAME(8, 5),
+#else
+ ANIMCMD_FRAME(0, 5),
+#endif
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83DBC2C[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83DBC34[] =
+{
+ ANIMCMD_FRAME(24, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83DBC3C[] =
+{
+ ANIMCMD_FRAME(32, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83DBC44[] =
+{
+ ANIMCMD_FRAME(40, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83DBC4C[] =
+{
+ ANIMCMD_FRAME(40, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83DBC54[] =
+{
+ ANIMCMD_FRAME(40, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83DBC5C[] =
+{
+ ANIMCMD_FRAME(48, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83DBC64[] =
+{
+#if ENGLISH
+ ANIMCMD_FRAME(40, 5),
+#else
+ ANIMCMD_FRAME(16, 5),
+#endif
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83DBC6C[] =
+{
+ ANIMCMD_FRAME(48, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83DBC74[] =
+{
+ ANIMCMD_FRAME(40, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gSpriteAnimTable_83DBC7C[] =
+{
+ gSpriteAnim_83DBC1C,
+ gSpriteAnim_83DBC24,
+ gSpriteAnim_83DBC2C,
+ gSpriteAnim_83DBC34,
+};
+
+const union AnimCmd *const gSpriteAnimTable_83DBC8C[] =
+{
+ gSpriteAnim_83DBC3C,
+ gSpriteAnim_83DBC44,
+ gSpriteAnim_83DBC4C,
+ gSpriteAnim_83DBC54,
+};
+
+const union AnimCmd *const gSpriteAnimTable_83DBC9C[] =
+{
+ gSpriteAnim_83DBC5C,
+ gSpriteAnim_83DBC64,
+ gSpriteAnim_83DBC6C,
+ gSpriteAnim_83DBC74,
+};
+
+/*
+const struct SpriteTemplate gSpriteTemplate_83DBCAC =
+{
+ .tileTag = 1,
+ .paletteTag = 1,
+ .oam = &gOamData_83DBC14,
+ .anims = gSpriteAnimTable_83DBC7C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80E85F8,
+};
+*/
+
+void sub_80E8420(void)
+{
+ struct SpriteTemplate spriteTemplate_83DBCAC =
+ {
+ .tileTag = 1,
+ .paletteTag = 1,
+ .oam = &gOamData_83DBC14,
+ .anims = gSpriteAnimTable_83DBC7C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80E85F8,
+ };
+ u8 spriteId;
+
+ spriteId = CreateSprite(&spriteTemplate_83DBCAC, 0, 0, 3);
+ gEasyChatStruct->unk9C = &gSprites[spriteId];
+
+ spriteTemplate_83DBCAC.anims = gSpriteAnimTable_83DBC8C;
+ spriteTemplate_83DBCAC.callback = sub_80E872C;
+ spriteId = CreateSprite(&spriteTemplate_83DBCAC, 0, 0, 4);
+ gEasyChatStruct->unkA0 = &gSprites[spriteId];
+
+ spriteTemplate_83DBCAC.anims = gSpriteAnimTable_83DBC9C;
+ spriteTemplate_83DBCAC.callback = sub_80E8760;
+ spriteId = CreateSprite(&spriteTemplate_83DBCAC, 0, 0, 5);
+ gEasyChatStruct->unkA4 = &gSprites[spriteId];
+
+ gEasyChatStruct->unk9C->data[0] = 0;
+ gEasyChatStruct->unkA0->data[0] = 0;
+ gEasyChatStruct->unkA4->data[0] = 0;
+
+ gEasyChatStruct->unk9C->data[3] = 0x0101 + IndexOfSpritePaletteTag(1) * 16;
+ sub_80E8534();
+ gEasyChatStruct->unk96 = 1;
+ REG_BLDCNT = 0x3F40;
+}
+
+void sub_80E8504(void)
+{
+ DestroySprite(gEasyChatStruct->unk9C);
+ DestroySprite(gEasyChatStruct->unkA0);
+ DestroySprite(gEasyChatStruct->unkA4);
+}
+
+void sub_80E8534(void)
+{
+ if (gEasyChatStruct->unk1B7 != 0)
+ gUnknown_020388AC = 1;
+ else if (gEasyChatStruct->unk26 == 0)
+ gUnknown_020388AC = 0;
+ else if (gEasyChatStruct->unk1A8 == 0 && gEasyChatStruct->unk1A9 == 6)
+ gUnknown_020388AC = 2;
+ else
+ gUnknown_020388AC = 3;
+
+ gEasyChatStruct->unk9C->data[2] = gUnknown_020388AC;
+ gEasyChatStruct->unkA0->data[2] = gUnknown_020388AC;
+ gEasyChatStruct->unkA4->data[2] = gUnknown_020388AC;
+
+ StartSpriteAnim(gEasyChatStruct->unk9C, gUnknown_020388AC);
+ StartSpriteAnim(gEasyChatStruct->unkA0, gUnknown_020388AC);
+ StartSpriteAnim(gEasyChatStruct->unkA4, gUnknown_020388AC);
+
+ gEasyChatStruct->unk9C->data[5] = 8;
+ gEasyChatStruct->unk9C->data[6] = 8;
+ gEasyChatStruct->unk9C->data[1] = 0;
+}
+
+const s8 gUnknown_083DBCC4[][7] =
+{
+ {1, 3, 5, 8, 10, 12, 15},
+ {1, 3, 5, 8, 10, 12, 0},
+ {1, 3, 5, 8, 10, 12, 14},
+ {1, 3, 5, 8, 10, 12, 14},
+};
+
+void sub_80E85F8(struct Sprite *sprite)
+{
+ sprite->data[0]++;
+ if (sprite->data[0] & 1)
+ sprite->data[5] = 8 + (gSineTable[sprite->data[1]] >> 5);
+ else
+ sprite->data[6] = 8 - (gSineTable[sprite->data[1]] >> 5);
+
+ sprite->data[1] = (sprite->data[1] + 5) & 0xFF;
+
+ REG_BLDALPHA = (sprite->data[6] << 8) | sprite->data[5];
+
+ if (gEasyChatStruct->unk96 != 0)
+ {
+ sub_80E8534();
+
+ gEasyChatStruct->unk9C->data[5] = 8;
+ gEasyChatStruct->unk9C->data[6] = 8;
+ gEasyChatStruct->unk9C->data[1] = 0;
+
+ switch (sprite->data[2])
+ {
+ case 0:
+ sprite->pos1.x = gEasyChatStruct->unk1A9 * 88 + 32;
+ sprite->pos1.y = (gEasyChatStruct->unk1A8 - gEasyChatStruct->unk1B5) * 16 + 96;
+ break;
+ case 1:
+#if ENGLISH
+ sprite->pos1.x = 216;
+#else
+ sprite->pos1.x = 214;
+#endif
+ sprite->pos1.y = gEasyChatStruct->unk1A8 * 16 + 96;
+ break;
+ case 2:
+ sprite->pos1.x = 151;
+ sprite->pos1.y = 96;
+ break;
+ case 3:
+ sprite->pos1.x = gUnknown_083DBCC4[gEasyChatStruct->unk1A8][gEasyChatStruct->unk1A9] * 8 + 31;
+ sprite->pos1.y = (gEasyChatStruct->unk1A8 - gEasyChatStruct->unk1B5) * 16 + 96;
+ break;
+ }
+ }
+}
+
+
+void sub_80E872C(struct Sprite *sprite)
+{
+ if (gEasyChatStruct->unk96 != 0 && sprite->data[2] == 0)
+ {
+ sprite->pos1.x = gEasyChatStruct->unk9C->pos1.x + 32;
+ sprite->pos1.y = gEasyChatStruct->unk9C->pos1.y;
+ }
+}
+
+void sub_80E8760(struct Sprite *sprite)
+{
+ if (gEasyChatStruct->unk96 != 0)
+ {
+ switch (sprite->data[2])
+ {
+ case 0:
+ sprite->pos1.x = gEasyChatStruct->unk9C->pos1.x + 64;
+ sprite->pos1.y = gEasyChatStruct->unk9C->pos1.y;
+ break;
+#if GERMAN
+ case 1:
+ sprite->pos1.x = gEasyChatStruct->unk9C->pos1.x + 28;
+ sprite->pos1.y = gEasyChatStruct->unk9C->pos1.y;
+ break;
+#endif
+ case 2:
+ sprite->pos1.x = gEasyChatStruct->unk9C->pos1.x + 21;
+ sprite->pos1.y = gEasyChatStruct->unk9C->pos1.y;
+ break;
+ }
+ }
+}
+
+void sub_80E87A4(u8 a)
+{
+ gEasyChatStruct->unkA8->data[1] = (a == 0);
+ gEasyChatStruct->unkA8->pos2.x = 0;
+}
+
+void sub_80E87CC(u8 a)
+{
+ gEasyChatStruct->unkA8->invisible = (a == 0);
+ sub_80E87A4(a);
+ if (a != 0)
+ gEasyChatStruct->unk1B9 = 1;
+}
+
+void sub_80E8818(void)
+{
+ u8 spriteId = CreateSprite(&gSpriteTemplate_83DBBFC, 0, 0, 0);
+
+ gSprites[spriteId].data[0] = 0;
+ gSprites[spriteId].data[1] = 0;
+ gEasyChatStruct->unkA8 = &gSprites[spriteId];
+ gEasyChatStruct->unkA8->callback = sub_80E8860;
+ sub_80E87CC(0);
+}
+
+void sub_80E8860(struct Sprite *sprite)
+{
+ if (sprite->data[1] == 0)
+ {
+ if (gEasyChatStruct->unk1B9 != 0)
+ {
+ sprite->pos1.x = gEasyChatStruct->unk99A5 * 88 + 44;
+ sprite->pos1.y = (gEasyChatStruct->unk99A4 - gEasyChatStruct->unk9A29) * 16 + 96;
+ sprite->pos2.x = -6;
+ sprite->data[0] = 0;
+ }
+ else
+ {
+ sprite->data[0]++;
+ if (sprite->data[0] > 2)
+ {
+ sprite->data[0] = 0;
+ sprite->pos2.x++;
+ if (sprite->pos2.x > 0)
+ sprite->pos2.x = -6;
+ }
+ }
+ }
+}
+
+void sub_80E88F0(void)
+{
+ u16 i;
+
+ for (i = 0; i < 2; i++)
+ {
+ gEasyChatStruct->unkAC[i]->invisible = TRUE;
+ gEasyChatStruct->unkAC[i]->data[1] = 0;
+ gEasyChatStruct->unkB4[i]->invisible = TRUE;
+ gEasyChatStruct->unkB4[i]->data[1] = 0;
+ }
+ gEasyChatStruct->unk9C70 = 0;
+}
+
+void sub_80E8958(u8 animNum)
+{
+ s16 r9;
+ u16 i;
+
+ if (animNum == 0)
+ {
+ r9 = 100;
+ gEasyChatStruct->unk9C6C = &gEasyChatStruct->unk1B5;
+ if (gEasyChatStruct->unk26 == 0)
+ gEasyChatStruct->unk9C71 = gEasyChatStruct->unk1B6 - 4;
+ else
+ gEasyChatStruct->unk9C71 = 0;
+ }
+ else
+ {
+ r9 = 120;
+ gEasyChatStruct->unk9C6C = &gEasyChatStruct->unk9A29;
+ gEasyChatStruct->unk9C71 = gEasyChatStruct->unk9A28 - 4;
+ for (i = 0; i < 2; i++)
+ {
+ gEasyChatStruct->unkB4[i]->invisible = FALSE;
+ gEasyChatStruct->unkB4[i]->data[1] = 1;
+ }
+ }
+
+ if (gEasyChatStruct->unk9C71 < 0)
+ gEasyChatStruct->unk9C71 = 0;
+
+ for (i = 0; i < 2; i++)
+ {
+ gEasyChatStruct->unkAC[i]->pos1.x = r9;
+ gEasyChatStruct->unkAC[i]->invisible = FALSE;
+ gEasyChatStruct->unkAC[i]->data[1] = 1;
+ StartSpriteAnim(gEasyChatStruct->unkAC[i], animNum);
+ }
+
+ gEasyChatStruct->unk9C70 = 1;
+}
+
+const struct OamData gOamData_83DBCE0 =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 1,
+ .tileNum = 0,
+ .priority = 1,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+const union AnimCmd gSpriteAnim_83DBCE8[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83DBCF0[] =
+{
+ ANIMCMD_FRAME(4, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gSpriteAnimTable_83DBCF8[] =
+{
+ gSpriteAnim_83DBCE8,
+ gSpriteAnim_83DBCF0,
+};
+
+const union AnimCmd gSpriteAnim_83DBD00[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83DBD08[] =
+{
+ ANIMCMD_FRAME(4, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gSpriteAnimTable_83DBD10[] =
+{
+ gSpriteAnim_83DBD00,
+ gSpriteAnim_83DBD08,
+};
+
+void sub_80E8A7C(void)
+{
+ struct SpriteTemplate spriteTemplate_83DBD18 =
+ {
+ .tileTag = 2,
+ .paletteTag = 0,
+ .oam = &gOamData_83DBCE0,
+ .anims = gSpriteAnimTable_83DBCF8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80E8B78,
+ };
+ u16 i;
+ u8 spriteId;
+
+ for (i = 0; i < 2; i++)
+ {
+ spriteId = CreateSprite(&spriteTemplate_83DBD18, 0, 84 + i * 72 , 0);
+ gEasyChatStruct->unkAC[i] = &gSprites[spriteId];
+ gEasyChatStruct->unkAC[i]->data[0] = i;
+ gEasyChatStruct->unkAC[i]->vFlip = i;
+ }
+
+ spriteTemplate_83DBD18.tileTag = 3;
+ spriteTemplate_83DBD18.anims = gSpriteAnimTable_83DBD10;
+
+ for (i = 0; i < 2; i++)
+ {
+ spriteId = CreateSprite(&spriteTemplate_83DBD18, 142 + i * 40, 88, 0);
+ gEasyChatStruct->unkB4[i] = &gSprites[spriteId];
+ gEasyChatStruct->unkB4[i]->data[0] = i;
+ gEasyChatStruct->unkB4[i]->oam.shape = 1;
+ gEasyChatStruct->unkB4[i]->oam.size = 1;
+ StartSpriteAnim(gEasyChatStruct->unkB4[i], i);
+ }
+
+ sub_80E8958(0);
+ sub_80E88F0();
+}
+
+void sub_80E8B78(struct Sprite *sprite)
+{
+ bool8 invisible;
+
+ if (gEasyChatStruct->unk9C70 != 0 && sprite->data[1] != 0)
+ {
+ if (sprite->data[0] == 0)
+ {
+ invisible = FALSE;
+ if (*gEasyChatStruct->unk9C6C == 0)
+ invisible = TRUE;
+ sprite->invisible = invisible;
+ }
+ else
+ {
+ invisible = FALSE;
+ if (*gEasyChatStruct->unk9C6C == gEasyChatStruct->unk9C71)
+ invisible = TRUE;
+ sprite->invisible = invisible;
+ }
+ }
+}
+
+// defined below
+extern const struct SpriteTemplate gSpriteTemplate_83DBD48;
+
+void sub_80E8BF4(u8 reporter, u8 b)
+{
+ struct CompressedSpriteSheet gUnknown_083DBD30 = {gMenuInterviewFrame_Gfx, 2048, 0x0006};
+ struct SpritePalette gUnknown_083DBD38 = {gMenuInterviewFrame_Pal, 0x0004};
+ s16 x;
+ s16 y;
+ u16 gabbyTyGfxId;
+ u8 spriteId;
+
+ switch (b)
+ {
+ case 2:
+ default:
+ x = 64;
+ y = 40;
+ break;
+ case 5:
+ x = 36;
+ y = 48;
+ break;
+ }
+
+ switch (reporter)
+ {
+ case 0: // Gabby
+ default:
+ gabbyTyGfxId = MAP_OBJ_GFX_REPORTER_M;
+ break;
+ case 1: // Ty
+ gabbyTyGfxId = MAP_OBJ_GFX_REPORTER_F;
+ break;
+ }
+
+ LoadCompressedObjectPic(&gUnknown_083DBD30);
+ LoadSpritePalette(&gUnknown_083DBD38);
+ CreateSprite(&gSpriteTemplate_83DBD48, x, y, 1);
+
+ spriteId = AddPseudoFieldObject(
+ (gSaveBlock2.playerGender == MALE) ? MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL : MAP_OBJ_GFX_RIVAL_MAY_NORMAL,
+ SpriteCallbackDummy, x - 12, y, 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].oam.priority = 0;
+ StartSpriteAnim(&gSprites[spriteId], 3);
+ }
+
+ spriteId = AddPseudoFieldObject(gabbyTyGfxId, SpriteCallbackDummy, x + 12, y, 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].oam.priority = 0;
+ StartSpriteAnim(&gSprites[spriteId], 2);
+ }
+}
+
+const struct OamData gOamData_83DBD40 =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 3,
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+const struct SpriteTemplate gSpriteTemplate_83DBD48 =
+{
+ .tileTag = 6,
+ .paletteTag = 4,
+ .oam = &gOamData_83DBD40,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+const struct CompressedSpriteSheet gUnknown_083DBD60 = {gMenuWordGroupIndicator_Gfx, 4096, 0x0007};
+
+const struct SpritePalette gUnknown_083DBD68 = {gMenuWordGroupIndicator_Pal, 0x0005};
+
+const struct OamData gOamData_83DBD70 =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 1,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 3,
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+const union AnimCmd gSpriteAnim_83DBD78[] =
+{
+ ANIMCMD_FRAME(96, 3),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83DBD80[] =
+{
+ ANIMCMD_FRAME(64, 4),
+ ANIMCMD_FRAME(96, 4),
+ ANIMCMD_FRAME(64, 4),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83DBD94[] =
+{
+ ANIMCMD_FRAME(64, 4),
+ ANIMCMD_FRAME(96, 4),
+ ANIMCMD_FRAME(64, 4),
+ ANIMCMD_FRAME(32, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83DBDA8[] =
+{
+ ANIMCMD_FRAME(64, 2),
+ ANIMCMD_FRAME(32, 2),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83DBDB4[] =
+{
+ ANIMCMD_FRAME(64, 2),
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83DBDC0[] =
+{
+ ANIMCMD_FRAME(64, 2),
+ ANIMCMD_FRAME(96, 2),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gSpriteAnimTable_83DBDCC[] =
+{
+ gSpriteAnim_83DBD78,
+ gSpriteAnim_83DBD80,
+ gSpriteAnim_83DBD94,
+ gSpriteAnim_83DBDA8,
+ gSpriteAnim_83DBDB4,
+ gSpriteAnim_83DBDC0,
+};
+
+const struct SpriteTemplate gSpriteTemplate_83DBDE4 =
+{
+ .tileTag = 7,
+ .paletteTag = 5,
+ .oam = &gOamData_83DBD70,
+ .anims = gSpriteAnimTable_83DBDCC,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+void sub_80E8CEC(void)
+{
+ u8 spriteId;
+
+ LoadCompressedObjectPic(&gUnknown_083DBD60);
+ LoadSpritePalette(&gUnknown_083DBD68);
+
+ spriteId = CreateSprite(&gSpriteTemplate_83DBDE4, 224, 88, 0);
+ if (spriteId != MAX_SPRITES)
+ gEasyChatStruct->unk9C74 = &gSprites[spriteId];
+ else
+ gEasyChatStruct->unk9C74 = NULL;
+}
+
+void sub_80E8D54(void)
+{
+ if (gEasyChatStruct->unk9C74 != NULL)
+ {
+ if (gEasyChatStruct->unk26 == 0)
+ StartSpriteAnim(gEasyChatStruct->unk9C74, 1);
+ else
+ StartSpriteAnim(gEasyChatStruct->unk9C74, 2);
+ }
+}
+
+void sub_80E8D8C(u8 a)
+{
+ if (gEasyChatStruct->unk9C74 != NULL)
+ {
+ if (a != 0)
+ {
+ if (gEasyChatStruct->unk26 == 0)
+ StartSpriteAnim(gEasyChatStruct->unk9C74, 3);
+ else
+ StartSpriteAnim(gEasyChatStruct->unk9C74, 4);
+ }
+ else
+ {
+ StartSpriteAnim(gEasyChatStruct->unk9C74, 5);
+ }
+ }
+}
+
+const u16 gUnknown_083DBDFC[] = INCBIN_U16("graphics/unknown/unknown_3DBDFC.gbapal");
+
+const u16 gUnknown_083DBE1C[] =
+{
+ 0x300, 0x300, 0x300, 0x300, 0x300, 0x300, 0x300, 0x300, 0x300,
+ 0x301, 0x301, 0x301, 0x301, 0x301, 0x300, 0x300, 0x300, 0x300,
+};
+
+const u16 gUnknown_083DBE40[] = INCBIN_U16("graphics/unknown/unknown_3DBE40.gbapal");
+
+// unused tilemap?
+const u16 gUnused_083DBE60[] =
+{
+ 0x5036, 0x5037, 0x5038, 0x5039, 0x503A, 0x503B,
+ 0x5046, 0x5047, 0x5048, 0x5049, 0x504A, 0x504B,
+ 0x5056, 0x5057, 0x5058, 0x5059, 0x505A, 0x505B,
+ 0x5030, 0x5031, 0x5032, 0x5033, 0x5034, 0x5035,
+ 0x5040, 0x5041, 0x5042, 0x5043, 0x5044, 0x5045,
+ 0x5050, 0x5051, 0x5052, 0x5053, 0x5054, 0x5055,
+};
+
+const u8 gUnknown_083DBEA8[] = _("{CLEAR_TO 88}");
+
+void sub_80E8DD8(void)
+{
+ REG_BG0HOFS = 0;
+ REG_BG0VOFS = 0;
+ REG_BG1HOFS = 0;
+ REG_BG1VOFS = 0;
+ REG_BG2VOFS = 0;
+ REG_BG2HOFS = 0;
+ REG_BG3HOFS = 0;
+ REG_BG3VOFS = 0;
+
+ REG_BG0CNT = 0x8B00;
+ REG_BG1CNT = 0x0D09;
+
+ CpuCopy16(gUnknown_08E945D0, gEasyChatStruct->unk1C8, 0x500);
+ LZ77UnCompWram(gUnknown_08E953D0, gEasyChatStruct->unk6C8);
+ LZ77UnCompVram(gMenuWordGroupFrame_Gfx, (void *)(VRAM + 0x8000));
+ CpuCopy16(gEasyChatStruct->unk1C8, (void *)(VRAM + 0x6800), 0x500);
+ LoadPalette(gMenuWordGroupFrame1_Pal, 64, 64);
+
+ REG_BG2CNT = 0x0E02;
+
+ DmaClear16(3, (void *)(VRAM + 0x7000), 0x800);
+ DmaCopy16Defvars(3, gUnknown_08E9AB00, (void *)(VRAM + 0x6000), 64);
+ LZ77UnCompVram(gUnknown_08E9AB60, (void *)(VRAM + 0x7000));
+ LoadPalette(gUnknown_08E9AB40, 0, 32);
+ LoadPalette(gUnknown_083DBDFC, 16, 32);
+
+ REG_BG3CNT = 0x0F0F;
+
+ DmaClear32(3, (void *)(VRAM + 0x7800), 0x800);
+ LoadPalette(gUnknown_083DBE40, 32, 32);
+ gPlttBufferUnfaded[63] = RGB(31, 31, 31);
+ gPlttBufferUnfaded[49] = RGB(27, 26, 27);
+ gPlttBufferUnfaded[56] = RGB(28, 28, 28);
+ gPlttBufferFaded[63] = RGB(31, 31, 31);
+ gPlttBufferFaded[49] = RGB(27, 26, 27);
+ gPlttBufferFaded[56] = RGB(28, 28, 28);
+
+ gEasyChatStruct->unkBC = 0;
+ sub_80E8FA4();
+ sub_80E948C();
+ sub_80E9198(10);
+ sub_80E91D4(0);
+ sub_80E95A4();
+
+ REG_BLDCNT = 0;
+}
+
+// The components are ORed in the reverse order from the normal RGB macro
+#define RGB_(r, g, b) ((((b) & 0x1F) << 10) | (((g) & 0x1F) << 5) | ((r) & 0x1F))
+
+#define R_VAL(color) ((color) & 0x1F)
+#define G_VAL(color) (((color) >> 5) & 0x1F)
+#define B_VAL(color) (((color) >> 10) & 0x1F)
+
+void sub_80E8FA4(void)
+{
+ u16 i;
+ u16 r3;
+ u16 r4;
+ s32 sp0[3];
+ s32 spC[3];
+ s32 sp18[3];
+
+ for (i = 0; i < 3; i++)
+ {
+ sp0[0] = R_VAL(*(gMenuWordGroupFrame2_Pal + i + 1)) << 8;
+ spC[0] = R_VAL(*(gMenuWordGroupFrame2_Pal + i + 4)) << 8;
+ sp0[1] = G_VAL(*(gMenuWordGroupFrame2_Pal + i + 1)) << 8;
+ spC[1] = G_VAL(*(gMenuWordGroupFrame2_Pal + i + 4)) << 8;
+ sp0[2] = B_VAL(*(gMenuWordGroupFrame2_Pal + i + 1)) << 8;
+ spC[2] = B_VAL(*(gMenuWordGroupFrame2_Pal + i + 4)) << 8;
+
+ for (r3 = 0; r3 < 3; r3++)
+ sp18[r3] = (spC[r3] - sp0[r3]) / 8;
+
+ for (r4 = 0; r4 < 8; r4++)
+ {
+ gEasyChatStruct->unk9C34[i][r4] = RGB_(sp0[0] >> 8, sp0[1] >> 8, sp0[2] >> 8);
+ for (r3 = 0; r3 < 3; r3++)
+ sp0[r3] += sp18[r3];
+ }
+ gEasyChatStruct->unk9C34[i][r4] = RGB_(spC[0] >> 8, spC[1] >> 8, spC[2] >> 8);
+ }
+ gEasyChatStruct->unk9C32 = 0;
+}
+
+void sub_80E9108(s8 a)
+{
+ u16 i;
+
+ gEasyChatStruct->unk9C32 += a;
+ for (i = 0; i < 3; i++)
+ {
+ gPlttBufferUnfaded[81 + i] = gEasyChatStruct->unk9C34[i][gEasyChatStruct->unk9C32];
+ gPlttBufferFaded[81 + i] = gEasyChatStruct->unk9C34[i][gEasyChatStruct->unk9C32];
+ }
+}
+
+void sub_80E9178(void)
+{
+ gEasyChatStruct->unk9C32 = 0;
+ sub_80E9108(0);
+}
+
+void sub_80E9198(u8 a)
+{
+ gUnknown_03000740 = a;
+}
+
+u8 sub_80E91A4(void)
+{
+ return gUnknown_03000740;
+}
+
+void sub_80E91B0(const u8 *a, u8 b, u8 c, u8 d)
+{
+ sub_8072AB0(a, b * 8, c * 8, 176, d * 8, 1);
+}
+
+void sub_80E91D4(u8 a)
+{
+ BasicInitMenuWindow(&gWindowConfig_81E6DA8);
+
+ if (a == 10)
+ {
+ MenuZeroFillWindowRect(3, 14, 26, 19);
+ sub_80E9198(10);
+ return;
+ }
+
+ if (sub_80E91A4() == 10)
+ MenuDrawTextWindow(3, 14, 26, 19);
+
+ sub_80E9198(a);
+ switch (a)
+ {
+ case 0:
+ sub_80E91B0(gEasyChatStruct->unk9C80, 4, 15, 2);
+ sub_80E91B0(gEasyChatStruct->unk9CC9, 4, 17, 2);
+ break;
+ case 1:
+ sub_80E91B0(gEasyChatStruct->unk9D12, 4, 15, 2);
+ sub_80E91B0(gEasyChatStruct->unk9D5B, 4, 17, 2);
+ break;
+ case 2:
+ sub_80E91B0(gOtherText_TextDeletedConfirmPage1, 4, 15, 2);
+ sub_80E91B0(gOtherText_TextDeletedConfirmPage2, 4, 17, 2);
+ break;
+ case 3:
+ switch (gEasyChatStruct->unk8)
+ {
+ case 9:
+ sub_80E91B0(gOtherText_QuitGivingInfo, 4, 15, 4);
+ break;
+ case 4:
+ sub_80E91B0(gOtherText_StopGivingMail, 4, 15, 4);
+ break;
+ default:
+ sub_80E91B0(gOtherText_QuitEditing, 4, 15, 4);
+ break;
+ }
+ break;
+ case 4:
+ sub_80E91B0(gOtherText_EditedTextNoSavePage1, 4, 15, 2);
+ sub_80E91B0(gOtherText_EditedTextNoSavePage2, 4, 17, 2);
+ break;
+ case 5:
+ sub_80E91B0(gOtherText_EnterAPhraseOrWord, 4, 15, 4);
+ break;
+ case 6:
+ sub_80E91B0(gOtherText_TextNoDelete, 4, 15, 4);
+ break;
+ case 7:
+ sub_80E91B0(gOtherText_OnlyOnePhrase, 4, 15, 2);
+ sub_80E91B0(gOtherText_OriginalSongRestored, 4, 17, 2);
+ break;
+ case 8:
+ sub_80E91B0(gOtherText_TrendyAlready, 4, 15, 4);
+ break;
+ case 9:
+ sub_80E91B0(gOtherText_CombineTwoPhrases, 4, 15, 4);
+ break;
+ }
+}
+
+void sub_80E9368(u8 a)
+{
+ const u8 *r4;
+
+ switch (a)
+ {
+ case 0:
+ r4 = gOtherText_Profile;
+ break;
+ case 1:
+ r4 = gOtherText_AtBattleStart;
+ break;
+ case 2:
+ r4 = gOtherText_UponWinningBattle;
+ break;
+ case 3:
+ r4 = gOtherText_UponLosingBattle;
+ break;
+ case 6:
+ r4 = gOtherText_TheBardsSong;
+ break;
+ case 9:
+ r4 = gOtherText_WhatsHipHappening;
+ break;
+ case 5:
+ case 7:
+ case 8:
+ case 10:
+ case 11:
+ case 12:
+ r4 = gOtherText_Interview;
+ break;
+ case 13:
+ r4 = gOtherText_GoodSaying;
+ break;
+ default:
+ r4 = NULL;
+ break;
+ }
+
+ BasicInitMenuWindow(&gWindowConfig_81E6D8C);
+ gEasyChatStruct->unk9F8E[0] = EXT_CTRL_CODE_BEGIN;
+ gEasyChatStruct->unk9F8E[1] = 5;
+ gEasyChatStruct->unk9F8E[2] = 1;
+ if (r4 != NULL)
+ {
+ sub_8072C74(gEasyChatStruct->unk9F8E + 3, r4, 240, 2);
+ MenuPrint(gEasyChatStruct->unk9F8E, 0, 0);
+ }
+ else
+ {
+ u8 *str = gEasyChatStruct->unk9F8E + 3;
+
+ str[0] = EXT_CTRL_CODE_BEGIN;
+ str[1] = 0x11;
+ str[2] = 0x10;
+ str[3] = EOS;
+
+ MenuPrint(gEasyChatStruct->unk9F8E, 0, 0);
+ MenuPrint(gEasyChatStruct->unk9F8E, 28, 0);
+ }
+ BasicInitMenuWindow(&gWindowConfig_81E6DA8);
+}
+
+void sub_80E948C(void)
+{
+ switch (gEasyChatStruct->unk9)
+ {
+ case 4:
+ sub_809D104((void *)(VRAM + 0x6800), 3, 3, gUnknown_08E94AD0, 0, 26, 24, 6);
+ break;
+ case 5:
+ sub_809D104((void *)(VRAM + 0x6800), 14, 2, gUnknown_08E94AD0, 0, 18, 13, 8);
+ break;
+ case 0:
+ sub_809D104((void *)(VRAM + 0x6800), 2, 2, gUnknown_08E94AD0, 0, 10, 26, 8);
+ break;
+ case 1:
+ sub_809D104((void *)(VRAM + 0x6800), 2, 0, gUnknown_08E94AD0, 0, 0, 26, 10);
+ break;
+ case 2:
+ sub_809D104((void *)(VRAM + 0x6800), 14, 3, gUnknown_08E94AD0, 13, 18, 13, 4);
+ break;
+ case 3:
+ sub_809D104((void *)(VRAM + 0x6800), 3, 2, gUnknown_08E94AD0, 0, 32, 24, 4);
+ break;
+ }
+}
+
+void sub_80E95A4(void)
+{
+ BasicInitMenuWindow(&gWindowConfig_81E6D8C);
+ switch (gEasyChatStruct->unk9)
+ {
+ case 4:
+ sub_80E9620(4, 6);
+ break;
+ case 5:
+ sub_80E9620(2, 17);
+ break;
+ case 0:
+ sub_80E9620(3, 5);
+ break;
+ case 1:
+ sub_80E9620(0, 5);
+ break;
+ case 2:
+ sub_80E9620(4, 17);
+ break;
+ case 3:
+ sub_80E9620(3, 6);
+ break;
+ }
+ BasicInitMenuWindow(&gWindowConfig_81E6DA8);
+}
+
+void sub_80E9620(u16 a, u16 b)
+{
+ u16 i;
+ u16 j;
+ u16 r10 = 0;
+ u16 r7 = a;
+
+ for (i = 0; i < gEasyChatStruct->unk84; i++)
+ {
+ u16 r6 = b;
+
+ for (j = 0; j < gEasyChatStruct->unk83; j++)
+ {
+ if (r10 >= gEasyChatStruct->unkA)
+ {
+ MenuPrint(gUnknown_083DBEA8, r6, r7);
+ break;
+ }
+ if (gEasyChatStruct->unkC[r10] == 0xFFFF)
+ {
+ sub_8095C8C((void *)(VRAM + 0x7000), r6, r7, gUnknown_083DBE1C, 0, 0, 9, 2, 9);
+ r6 += 11;
+ }
+ else
+ {
+ sub_80EB218(gEasyChatStruct->unk9E14, gEasyChatStruct->unkC[r10], 11);
+ MenuPrint(gEasyChatStruct->unk9E14, r6, r7);
+ r6 += gEasyChatStruct->unk8C[i][j] + 11;
+ }
+ r10++;
+ }
+ r7 += 2;
+ }
+}
+
+void sub_80E9744(void)
+{
+ BasicInitMenuWindow(&gWindowConfig_81E6D8C);
+ switch (gEasyChatStruct->unk9)
+ {
+ case 4:
+ sub_80E97C0(4, 6);
+ break;
+ case 5:
+ sub_80E97C0(2, 17);
+ break;
+ case 0:
+ sub_80E97C0(3, 5);
+ break;
+ case 1:
+ sub_80E97C0(0, 5);
+ break;
+ case 2:
+ sub_80E97C0(4, 17);
+ break;
+ case 3:
+ sub_80E97C0(3, 6);
+ break;
+ }
+ BasicInitMenuWindow(&gWindowConfig_81E6DA8);
+}
+
+void sub_80E97C0(u16 a, u16 b)
+{
+ u8 i;
+ u8 r7 = 0;
+
+ asm("":::"r9");
+
+ for (i = 0; i < gEasyChatStruct->unk84; i++)
+ {
+ u8 r6;
+ u8 *r2 = gEasyChatStruct->unk9E6E;
+ u32 r1;
+
+ for (r6 = 0; r6 < gEasyChatStruct->unk83; r6++)
+ {
+ if (r7 >= gEasyChatStruct->unkA)
+ break;
+ if (gEasyChatStruct->unkC[r7] != 0xFFFF)
+ {
+ r2 = sub_80EB218(r2, gEasyChatStruct->unkC[r7], 0);
+ *r2++ = CHAR_SPACE;
+ }
+ r7++;
+ }
+
+ r1 = gEasyChatStruct->unk83 * 11;
+ r2[0] = EXT_CTRL_CODE_BEGIN;
+ r2[1] = 0x13;
+ r2[2] = r1 * 8;
+ r2[3] = EOS;
+
+ MenuPrint(gEasyChatStruct->unk9E6E, b, a);
+
+ a += 2;
+ }
+}
+
+void sub_80E98C4(void)
+{
+ u8 r1;
+ u8 r3;
+
+ BasicInitMenuWindow(&gWindowConfig_81E6D8C);
+ switch (gEasyChatStruct->unk9)
+ {
+ case 4:
+ r1 = 4;
+ r3 = 2;
+ break;
+ case 5:
+ r1 = 3;
+ r3 = 2;
+ break;
+ case 0:
+ r1 = 3;
+ r3 = 2;
+ break;
+ case 1:
+ r1 = 1;
+ r3 = 3;
+ break;
+ case 2:
+ r1 = 4;
+ r3 = 1;
+ break;
+ case 3:
+ r1 = 3;
+ r3 = 1;
+ break;
+ default:
+ return;
+ }
+ MenuFillWindowRectWithBlankTile(2, r1, 27, r3 * 2 + r1 - 1);
+ BasicInitMenuWindow(&gWindowConfig_81E6DA8);
+}
+
+void sub_80E9940(u8 *a, u8 b)
+{
+ u8 r4 = (b & 7);
+
+ MenuFillWindowRectWithBlankTile(2, r4 * 2, 31, r4 * 2 + 1);
+ sub_80E9A7C(a, b);
+ sub_80E9A60(a, 2, r4 * 2);
+}
+
+#if ENGLISH
+
+const u8 gUnknown_083DBEAC[][32] =
+{
+ _("{UNKNOWN_14 8} A B C D E F {UNKNOWN_14 0}others"),
+ _("{UNKNOWN_14 8} G H I J K L "),
+ _("{UNKNOWN_14 8} M N O P Q R S "),
+ _("{UNKNOWN_14 8} T U V W X Y Z "),
+};
+
+#else
+
+const u8 unk_83E7EB0[] = _("{UNKNOWN_14 8} A B C D E F {UNKNOWN_14 0}mehr");
+const u8 unk_83E7ECA[] = _("{UNKNOWN_14 8} G H I J K L ");
+const u8 unk_83E7EE1[] = _("{UNKNOWN_14 8} M N O P Q R S ");
+const u8 unk_83E7EF8[] = _("{UNKNOWN_14 8} T U V W X Y Z ");
+const u8 *const gUnknown_083DBEAC[] =
+{
+ unk_83E7EB0,
+ unk_83E7ECA,
+ unk_83E7EE1,
+ unk_83E7EF8,
+ unk_83E7EB0 + 21, // pointer to "mehr". What is this for?
+};
+
+#endif
+
+void sub_80E9974(void)
+{
+ BasicInitMenuWindow(&gWindowConfig_81E6D54);
+ if (gEasyChatStruct->unk26 == 0)
+ {
+ u16 i;
+
+ for (i = gEasyChatStruct->unk1B5; i < gEasyChatStruct->unk1B5 + 4; i++)
+ sub_80E9940(gEasyChatStruct->unk9DC9, i);
+ }
+ else
+ {
+ sub_80E9AD4();
+ sub_80E9A60(gUnknown_083DBEAC[0], 2, 0);
+ sub_80E9A60(gUnknown_083DBEAC[1], 2, 2);
+ sub_80E9A60(gUnknown_083DBEAC[2], 2, 4);
+ sub_80E9A60(gUnknown_083DBEAC[3], 2, 6);
+ }
+}
+
+void sub_80E9A14(void)
+{
+ sub_80E9A4C();
+ if (gEasyChatStruct->unk26 == 0)
+ gEasyChatStruct->unk1BA += gEasyChatStruct->unk1B5 * 16;
+}
+
+void sub_80E9A4C(void)
+{
+ gEasyChatStruct->unk1BA = 0;
+}
+
+void sub_80E9A60(const u8 *a, u16 b, u16 c)
+{
+ c &= 0xF;
+ MenuPrint(a, b, c);
+}
+
+void sub_80E9A7C(u8 *dest, u16 b)
+{
+ u16 i;
+ u16 r5 = b * 2;
+
+ for (i = 0; i < 2; i++)
+ {
+ dest[0] = EXT_CTRL_CODE_BEGIN;
+ dest[1] = 0x12;
+ dest[2] = 88 * i;
+ dest += 3;
+
+ dest = CopyEasyChatGroupName(dest, gEasyChatStruct->unk2A[b][i], 11);
+ r5++;
+ if (r5 >= gEasyChatStruct->unk28)
+ break;
+ }
+}
+
+void sub_80E9AD4(void)
+{
+ u16 i;
+
+ BasicInitMenuWindow(&gWindowConfig_81E6D54);
+ for (i = 0; i < 16; i++)
+ sub_80E9C74(i);
+}
+
+void sub_80E9AF8(u16 a)
+{
+ u8 *r8;
+ u16 i;
+
+ sub_80E9C74(a);
+
+ r8 = gEasyChatStruct->unk9E14;
+ r8[0] = EXT_CTRL_CODE_BEGIN;
+ r8[1] = 0x11;
+ r8[2] = 0x10;
+ r8 += 3;
+
+ if (gEasyChatStruct->unk7D != 0)
+ {
+ for (i = 0; i < gEasyChatStruct->unk99A6[a]; i++)
+ {
+ if (sub_80EB2D4(gEasyChatStruct->unk9A2A[a][i]) == 7)
+ BasicInitMenuWindow(&gWindowConfig_81E6D70);
+ else
+ BasicInitMenuWindow(&gWindowConfig_81E6D54);
+ sub_80EB218(r8, gEasyChatStruct->unk9A2A[a][i], 9);
+ sub_80E9A60(gEasyChatStruct->unk9E14, i * 11 + 4, a * 2);
+ }
+ }
+ else
+ {
+ BasicInitMenuWindow(&gWindowConfig_81E6D54);
+ for (i = 0; i < gEasyChatStruct->unk99A6[a]; i++)
+ {
+ sub_80EB218(r8, gEasyChatStruct->unk9A2A[a][i], 9);
+ sub_80E9A60(gEasyChatStruct->unk9E14, i * 11 + 4, a * 2);
+ }
+ }
+}
+
+void sub_80E9C74(u16 a)
+{
+ a &= 7;
+ MenuFillWindowRectWithBlankTile(0, a * 2, 29, a * 2 + 1);
+}
+
+void sub_80E9C94(void)
+{
+ u16 r5 = min(gEasyChatStruct->unk9A28, 4);
+ u16 i;
+
+ for (i = 0; i < r5; i++)
+ sub_80E9AF8(gEasyChatStruct->unk9A29 + i);
+ while (i < 4)
+ sub_80E9C74(i++);
+}
+
+void sub_80E9D00(void)
+{
+ u16 r4;
+ u16 r5;
+
+ if (gEasyChatStruct->unk1C0 > 0)
+ {
+ r4 = gEasyChatStruct->unk1C0;
+ r5 = gEasyChatStruct->unk9A29 + 4;
+ }
+ else
+ {
+ r4 = -gEasyChatStruct->unk1C0;
+ r5 = gEasyChatStruct->unk9A29 - r4;
+ }
+ while (--r4 != 0xFFFF)
+ sub_80E9AF8(r5++);
+}
+
+void sub_80E9D7C(void)
+{
+ u16 r6;
+ u16 r4;
+ u16 i;
+
+ BasicInitMenuWindow(&gWindowConfig_81E6D54);
+ if (gEasyChatStruct->unk1C0 < 0)
+ {
+ r6 = -gEasyChatStruct->unk1C0;
+ r4 = gEasyChatStruct->unk1B5 - r6;
+ }
+ else
+ {
+ r6 = gEasyChatStruct->unk1C0;
+ r4 = gEasyChatStruct->unk1B5 + 4;
+ }
+ for (i = 0; i < r6; i++)
+ {
+ sub_80E9940(gEasyChatStruct->unk9DC9, r4);
+ r4++;
+ }
+}
+
+void sub_80E9E08(u8 a)
+{
+ gEasyChatStruct->unk1BC = (gEasyChatStruct->unk1BA + gEasyChatStruct->unk1C0 * 16) & 0x7F;
+ gEasyChatStruct->unk1BF = (gEasyChatStruct->unk1C0 < 0) ? -a : a;
+}
+
+bool8 sub_80E9E54(void)
+{
+ gEasyChatStruct->unk1BA = (gEasyChatStruct->unk1BA + gEasyChatStruct->unk1BF) & 0x7F;
+ return (gEasyChatStruct->unk1BA == gEasyChatStruct->unk1BC);
+}
+
+void nullsub_23(void)
+{
+}
+
+void sub_80E9E98(void)
+{
+ gEasyChatStruct->unkBE = 0;
+}
+
+bool8 sub_80E9EA8(void)
+{
+ switch (gEasyChatStruct->unkBE)
+ {
+ case 0:
+ sub_80EA24C();
+ gEasyChatStruct->unkBE++;
+ // fall through
+ case 1:
+ if (sub_80EA1E0() != 0)
+ {
+ sub_80EA4A4();
+ gEasyChatStruct->unkBE++;
+ }
+ break;
+ case 2:
+ if (sub_80EA1E0() != 0)
+ {
+ sub_80EA704();
+ gEasyChatStruct->unkBE++;
+ }
+ break;
+ case 3:
+ if (sub_80EA1E0() != 0)
+ gEasyChatStruct->unkBE++;
+ break;
+ case 4:
+ gEasyChatStruct->unkBE++;
+ break;
+ case 5:
+ return TRUE;
+ }
+ return FALSE;
+}
+
+bool8 sub_80E9F50(void)
+{
+ switch (gEasyChatStruct->unkBE)
+ {
+ case 0:
+ nullsub_23();
+ sub_80EA764();
+ gEasyChatStruct->unkBE++;
+ // fall through
+ case 1:
+ if (sub_80EA1E0() != 0)
+ gEasyChatStruct->unkBE++;
+ break;
+ case 2:
+ sub_80EA5A0();
+ gEasyChatStruct->unkBE++;
+ // fall through
+ case 3:
+ if (sub_80EA1E0() != 0)
+ gEasyChatStruct->unkBE++;
+ break;
+ case 4:
+ sub_80EA348();
+ gEasyChatStruct->unkBE++;
+ // fall through
+ case 5:
+ if (sub_80EA1E0() != 0)
+ gEasyChatStruct->unkBE++;
+ break;
+ case 6:
+ return TRUE;
+ }
+ return FALSE;
+}
+
+bool8 sub_80E9FD4(void)
+{
+ switch (gEasyChatStruct->unkBE)
+ {
+ case 0:
+ nullsub_23();
+ sub_80EA5A0();
+ gEasyChatStruct->unkBE++;
+ // fall through
+ case 1:
+ if (sub_80EA1E0() != 0)
+ return TRUE;
+ break;
+ }
+ return FALSE;
+}
+
+bool8 sub_80EA014(void)
+{
+ switch (gEasyChatStruct->unkBE)
+ {
+ case 0:
+ sub_80EA4A4();
+ gEasyChatStruct->unkBE++;
+ // fall through
+ case 1:
+ if (sub_80EA1E0() != 0)
+ return TRUE;
+ break;
+ }
+ return FALSE;
+}
+
+bool8 sub_80EA050(void)
+{
+ switch (gEasyChatStruct->unkBE)
+ {
+ case 0:
+ nullsub_23();
+ sub_80EA764();
+ gEasyChatStruct->unkBE++;
+ break;
+ case 1:
+ if (sub_80EA1E0() != 0)
+ {
+ sub_80EA7F4();
+ gEasyChatStruct->unkBE++;
+ }
+ break;
+ case 2:
+ sub_80E9108(1);
+ if (sub_80EA1E0() != 0)
+ {
+ sub_80EA8BC();
+ gEasyChatStruct->unkBE++;
+ }
+ break;
+ case 3:
+ sub_80E9108(1);
+ if (sub_80EA1E0() != 0)
+ gEasyChatStruct->unkBE++;
+ break;
+ case 4:
+ return TRUE;
+ }
+ return FALSE;
+}
+
+bool8 sub_80EA0E4(void)
+{
+ switch (gEasyChatStruct->unkBE)
+ {
+ case 0:
+ sub_80EA948();
+ gEasyChatStruct->unkBE++;
+ // fall through
+ case 1:
+ sub_80E9108(-1);
+ if (sub_80EA1E0() != 0)
+ {
+ sub_80EAA44();
+ gEasyChatStruct->unkBE++;
+ }
+ break;
+ case 2:
+ sub_80E9108(-1);
+ if (sub_80EA1E0() != 0)
+ {
+ sub_80EA704();
+ gEasyChatStruct->unkBE++;
+ }
+ break;
+ case 3:
+ if (sub_80EA1E0() != 0)
+ gEasyChatStruct->unkBE++;
+ break;
+ case 4:
+ return TRUE;
+ }
+ return FALSE;
+}
+
+bool8 sub_80EA184(void)
+{
+ switch (gEasyChatStruct->unkBE)
+ {
+ case 0:
+ sub_80EAAD4();
+ gEasyChatStruct->unkBE++;
+ // fall through
+ case 1:
+ if (sub_80EA1E0() != 0)
+ gEasyChatStruct->unkBE++;
+ break;
+ case 2:
+ sub_80E9178();
+ return TRUE;
+ }
+ return FALSE;
+}
+
+bool8 sub_80EA1E0(void)
+{
+ u16 i;
+
+ if (gEasyChatStruct->unkC4 != 0)
+ {
+ for (i = 0; i < gEasyChatStruct->unkC2; i++)
+ {
+ sub_80EAC0C(gEasyChatStruct->unkC8[i]);
+ sub_80EAC48(&gEasyChatStruct->unk148[i]);
+ }
+ gEasyChatStruct->unkBC = 1;
+ gEasyChatStruct->unkC4--;
+ return FALSE;
+ }
+ return TRUE;
+}
+
+void sub_80EA24C(void)
+{
+ sub_80EABD4(gEasyChatStruct->unkC8[0], 13, 14, 13, 15, -2, 0, 0, 0);
+ sub_80EAC30(&gEasyChatStruct->unk148[0], 0, 0, 0, 0, gEasyChatStruct->unk6C8);
+
+ sub_80EABD4(gEasyChatStruct->unkC8[1], 12, 14, 12, 15, 0, 0, 2, 0);
+ sub_80EAC30(&gEasyChatStruct->unk148[1], 30, 0, -2, 0, gEasyChatStruct->unk6C8);
+
+ sub_80EABD4(gEasyChatStruct->unkC8[2], 13, 15, 13, 16, -2, 0, 0, 0);
+ sub_80EAC30(&gEasyChatStruct->unk148[2], 0, 9, 0, 0, gEasyChatStruct->unk6C8);
+
+ sub_80EABD4(gEasyChatStruct->unkC8[3], 12, 15, 12, 16, 0, 0, 2, 0);
+ sub_80EAC30(&gEasyChatStruct->unk148[3], 30, 9, -2, 0, gEasyChatStruct->unk6C8);
+
+ gEasyChatStruct->unkC2 = 4;
+ gEasyChatStruct->unkC4 = 6;
+}
+
+void sub_80EA348(void)
+{
+ sub_80EABD4(gEasyChatStruct->unkC8[0], 1, 14, 13, 15, 2, 0, 0, 0);
+ sub_80EAC30(&gEasyChatStruct->unk148[0], 0, 0, 0, 0, gEasyChatStruct->unk6C8);
+
+ sub_80EABD4(gEasyChatStruct->unkC8[1], 12, 14, 24, 15, 0, 0, -2, 0);
+ sub_80EAC30(&gEasyChatStruct->unk148[1], 18, 0, 2, 0, gEasyChatStruct->unk6C8);
+
+ sub_80EABD4(gEasyChatStruct->unkC8[2], 1, 15, 13, 16, 2, 0, 0, 0);
+ sub_80EAC30(&gEasyChatStruct->unk148[2], 0, 9, 0, 0, gEasyChatStruct->unk6C8);
+
+ sub_80EABD4(gEasyChatStruct->unkC8[3], 12, 15, 24, 16, 0, 0, -2, 0);
+ sub_80EAC30(&gEasyChatStruct->unk148[3], 18, 9, 2, 0, gEasyChatStruct->unk6C8);
+
+ sub_80EABD4(gEasyChatStruct->unkC8[4], 1, 14, 1, 16, 0, 0, 2, 0);
+ sub_80EAC30(&gEasyChatStruct->unk148[4], 1, 14, 0, 0, gEasyChatStruct->unk1C8);
+
+ sub_80EABD4(gEasyChatStruct->unkC8[5], 24, 14, 24, 16, -2, 0, 0, 0);
+ sub_80EAC30(&gEasyChatStruct->unk148[5], 24, 14, -2, 0, gEasyChatStruct->unk1C8);
+
+ gEasyChatStruct->unkC2 = 6;
+ gEasyChatStruct->unkC4 = 6;
+}
+
+void sub_80EA4A4(void)
+{
+ sub_80EABD4(gEasyChatStruct->unkC8[0], 1, 14, 13, 15, 0, -1, 0, 0);
+ sub_80EAC30(&gEasyChatStruct->unk148[0], 0, 0, 0, 0, gEasyChatStruct->unk6C8);
+
+ sub_80EABD4(gEasyChatStruct->unkC8[1], 12, 14, 24, 15, 0, -1, 0, 0);
+ sub_80EAC30(&gEasyChatStruct->unk148[1], 18, 0, 0, 0, gEasyChatStruct->unk6C8);
+
+ sub_80EABD4(gEasyChatStruct->unkC8[2], 1, 15, 13, 16, 0, 0, 0, 1);
+ sub_80EAC30(&gEasyChatStruct->unk148[2], 0, 9, 0, -1, gEasyChatStruct->unk6C8);
+
+ sub_80EABD4(gEasyChatStruct->unkC8[3], 12, 15, 24, 16, 0, 0, 0, 1);
+ sub_80EAC30(&gEasyChatStruct->unk148[3], 18, 9, 0, -1, gEasyChatStruct->unk6C8);
+
+ gEasyChatStruct->unkC2 = 4;
+ gEasyChatStruct->unkC4 = 4;
+}
+
+void sub_80EA5A0(void)
+{
+ sub_80EABD4(gEasyChatStruct->unkC8[0], 1, 10, 13, 15, 0, 1, 0, 0);
+ sub_80EAC30(&gEasyChatStruct->unk148[0], 0, 0, 0, 0, gEasyChatStruct->unk6C8);
+
+ sub_80EABD4(gEasyChatStruct->unkC8[1], 12, 10, 24, 15, 0, 1, 0, 0);
+ sub_80EAC30(&gEasyChatStruct->unk148[1], 18, 0, 0, 0, gEasyChatStruct->unk6C8);
+
+ sub_80EABD4(gEasyChatStruct->unkC8[2], 1, 15, 13, 20, 0, 0, 0, -1);
+ sub_80EAC30(&gEasyChatStruct->unk148[2], 0, 5, 0, 1, gEasyChatStruct->unk6C8);
+
+ sub_80EABD4(gEasyChatStruct->unkC8[3], 12, 15, 24, 20, 0, 0, 0, -1);
+ sub_80EAC30(&gEasyChatStruct->unk148[3], 18, 5, 0, 1, gEasyChatStruct->unk6C8);
+
+ sub_80EABD4(gEasyChatStruct->unkC8[4], 1, 10, 24, 10, 0, 0, 0, 1);
+ sub_80EAC30(&gEasyChatStruct->unk148[4], 1, 10, 0, 0, gEasyChatStruct->unk1C8);
+
+ sub_80EABD4(gEasyChatStruct->unkC8[5], 1, 20, 24, 20, 0, -1, 0, 0);
+ sub_80EAC30(&gEasyChatStruct->unk148[5], 1, 20, 0, -1, gEasyChatStruct->unk1C8);
+
+ gEasyChatStruct->unkC2 = 6;
+ gEasyChatStruct->unkC4 = 4;
+}
+
+void sub_80EA704(void)
+{
+ sub_80EABD4(gEasyChatStruct->unkC8[0], 24, 12, 25, 20, 0, 0, 1, 0);
+ sub_80EAC30(&gEasyChatStruct->unk148[0], 5, 10, -1, 0, gEasyChatStruct->unk6C8);
+
+ gEasyChatStruct->unkC2 = 1;
+ gEasyChatStruct->unkC4 = 5;
+}
+
+void sub_80EA764(void)
+{
+ sub_80EABD4(gEasyChatStruct->unkC8[0], 24, 12, 30, 20, 0, 0, -1, 0);
+ sub_80EAC30(&gEasyChatStruct->unk148[0], 0, 10, 1, 0, gEasyChatStruct->unk6C8);
+
+ sub_80EABD4(gEasyChatStruct->unkC8[1], 30, 12, 31, 20, -1, 0, 0, 0);
+ sub_80EAC30(&gEasyChatStruct->unk148[1], 30, 12, -1, 0, gEasyChatStruct->unk1C8);
+
+ gEasyChatStruct->unkC2 = 2;
+ gEasyChatStruct->unkC4 = 6;
+}
+
+void sub_80EA7F4(void)
+{
+ sub_80EABD4(gEasyChatStruct->unkC8[0], 20, 10, 25, 20, 0, 0, 1, 0);
+ sub_80EAC30(&gEasyChatStruct->unk148[0], 25, 0, -1, 0, gEasyChatStruct->unk6C8);
+
+ sub_80EABD4(gEasyChatStruct->unkC8[1], 0, 10, 1, 20, 0, 0, 1, 0);
+ sub_80EAC30(&gEasyChatStruct->unk148[1], 0, 10, 0, 0, gEasyChatStruct->unk1C8);
+
+ sub_80EABD4(gEasyChatStruct->unkC8[2], 1, 10, 4, 20, 1, 0, 0, 0);
+ sub_80EAC30(&gEasyChatStruct->unk148[2], 0, 0, 0, 0, gEasyChatStruct->unk6C8);
+
+ gEasyChatStruct->unkC2 = 3;
+ gEasyChatStruct->unkC4 = 2;
+}
+
+void sub_80EA8BC(void)
+{
+ sub_80EABD4(gEasyChatStruct->unkC8[0], 3, 10, 4, 20, 0, 0, 0, 0);
+ sub_80EAC30(&gEasyChatStruct->unk148[0], 0, 0, 0, 0, gEasyChatStruct->unk6C8);
+
+ sub_80EABD4(gEasyChatStruct->unkC8[1], 0, 10, 2, 20, 0, 0, 0, 0);
+ sub_80EAC30(&gEasyChatStruct->unk148[1], 0, 10, 0, 0, gEasyChatStruct->unk1C8);
+
+ gEasyChatStruct->unkC2 = 2;
+ gEasyChatStruct->unkC4 = 1;
+}
+
+void sub_80EA948(void)
+{
+ sub_80EABD4(gEasyChatStruct->unkC8[0], 0, 10, 2, 20, 0, 0, -1, 0);
+ sub_80EAC30(&gEasyChatStruct->unk148[0], 0, 10, 0, 0, gEasyChatStruct->unk1C8);
+
+ sub_80EABD4(gEasyChatStruct->unkC8[1], 3, 10, 5, 20, -1, 0, 0, 0);
+ sub_80EAC30(&gEasyChatStruct->unk148[1], 0, 0, 0, 0, gEasyChatStruct->unk6C8);
+
+ sub_80EABD4(gEasyChatStruct->unkC8[2], 26, 10, 30, 20, -1, 0, 0, 0);
+ sub_80EAC30(&gEasyChatStruct->unk148[2], 26, 10, -1, 0, gEasyChatStruct->unk1C8);
+
+ sub_80EABD4(gEasyChatStruct->unkC8[3], 25, 10, 26, 20, -1, 0, -1, 0);
+ sub_80EAC30(&gEasyChatStruct->unk148[3], 29, 0, 0, 0, gEasyChatStruct->unk6C8);
+
+ gEasyChatStruct->unkC2 = 4;
+ gEasyChatStruct->unkC4 = 2;
+}
+
+void sub_80EAA44(void)
+{
+ sub_80EABD4(gEasyChatStruct->unkC8[0], 24, 10, 30, 20, 0, 0, 0, 0);
+ sub_80EAC30(&gEasyChatStruct->unk148[0], 24, 10, 0, 0, gEasyChatStruct->unk1C8);
+
+ sub_80EABD4(gEasyChatStruct->unkC8[1], 23, 10, 24, 20, 0, 0, -1, 0);
+ sub_80EAC30(&gEasyChatStruct->unk148[1], 29, 0, 0, 0, gEasyChatStruct->unk6C8);
+
+ gEasyChatStruct->unkC2 = 2;
+ gEasyChatStruct->unkC4 = 1;
+}
+
+void sub_80EAAD4(void)
+{
+ sub_80EABD4(gEasyChatStruct->unkC8[0], 0, 10, 30, 15, 0, 1, 0, 0);
+ sub_80EAC30(&gEasyChatStruct->unk148[0], 0, 0, 0, 0, gEasyChatStruct->unk6C8);
+
+ sub_80EABD4(gEasyChatStruct->unkC8[1], 0, 15, 30, 20, 0, 0, 0, -1);
+ sub_80EAC30(&gEasyChatStruct->unk148[1], 0, 5, 0, 1, gEasyChatStruct->unk6C8);
+
+ sub_80EABD4(gEasyChatStruct->unkC8[2], 0, 10, 30, 10, 0, 0, 0, 1);
+ sub_80EAC30(&gEasyChatStruct->unk148[2], 0, 10, 0, 0, gEasyChatStruct->unk1C8);
+
+ sub_80EABD4(gEasyChatStruct->unkC8[3], 0, 20, 30, 20, 0, -1, 0, 0);
+ sub_80EAC30(&gEasyChatStruct->unk148[3], 0, 20, 0, -1, gEasyChatStruct->unk1C8);
+
+ gEasyChatStruct->unkC2 = 4;
+ gEasyChatStruct->unkC4 = 5;
+}
+
+void sub_80EABD4(u16 *a, u16 b, u16 c, u16 d, u16 e, u16 f, u16 g, u16 h, u16 i)
+{
+ a[0] = b;
+ a[1] = d;
+ a[2] = c;
+ a[3] = e;
+ a[4] = f;
+ a[5] = h;
+ a[6] = g;
+ a[7] = i;
+}
+
+void sub_80EAC0C(u16 *a)
+{
+ a[0] += a[4];
+ a[1] += a[5];
+ a[2] += a[6];
+ a[3] += a[7];
+}
+
+void sub_80EAC30(struct UnknownEasyChatStruct1 *a, u16 b, u16 c, u16 d, u16 e, void *f)
+{
+ a->unk0 = b;
+ a->unk2 = c;
+ a->unk4 = d;
+ a->unk6 = e;
+ a->unk8 = f;
+}
+
+void sub_80EAC48(struct UnknownEasyChatStruct1 *a)
+{
+ a->unk0 += a->unk4;
+ a->unk2 += a->unk6;
+}
+
+void sub_80EAC5C(void)
+{
+ u16 i;
+
+ if (gEasyChatStruct->unkBC != 0)
+ {
+ for (i = 0; i < gEasyChatStruct->unkC2; i++)
+ sub_80EACBC((void *)(VRAM + 0x6800), gEasyChatStruct->unkC8[i], &gEasyChatStruct->unk148[i]);
+ gEasyChatStruct->unkBC = 0;
+ }
+}
+
+void sub_80EACBC(void *a, u16 *b, struct UnknownEasyChatStruct1 *c)
+{
+ s16 r6 = b[1] - b[0];
+ s16 r5 = b[3] - b[2];
+
+ if (r6 > 0 && r5 > 0)
+ sub_809D104(a, b[0], b[2], c->unk8, c->unk0, c->unk2, r6, r5);
+}
+
+// Strange...
+void sub_80EAD08(void)
+{
+ u16 *r4;
+ u16 r2;
+ u16 i;
+
+ r4 = gUnknown_03004DE0[gUnknown_03004DC0.srcBank];
+ r4 += 88;
+ r2 = (gEasyChatStruct->unk1BA - 88) & 0xFF;
+
+ for (i = 0; i < 64; i++)
+ {
+ if (gEasyChatStruct->unk1BA + i == 128)
+ r2 = (-i - 88) & 0xFF;
+ *r4++ = r2;
+ }
+}
+
+extern const u8 *const gEasyChatGroupNames[];
+extern const u8 gEasyChatGroupSizes[];
+extern const u16 gEasyChatWordsByLetter[];
+extern const u16 gEasyChatWordsAlphabetized[];
+
+u8 *CopyEasyChatGroupName(u8 *dest, u8 group, int unused)
+{
+ return StringCopy(dest, gEasyChatGroupNames[group]);
+}
+
+bool8 sub_80EAD7C(u8 group)
+{
+ switch (group)
+ {
+ case EC_GROUP_TRENDY_SAYING:
+ return FlagGet(FLAG_SYS_HIPSTER_MEET);
+ case EC_GROUP_EVENTS:
+ case EC_GROUP_MOVE_1:
+ case EC_GROUP_MOVE_2:
+ return FlagGet(FLAG_SYS_GAME_CLEAR);
+ case EC_GROUP_POKEMON_2:
+ return sub_80EB9C8();
+ default:
+ return TRUE;
+ }
+}
+
+bool8 sub_80EADC0(u8 group, u16 word)
+{
+ switch (group)
+ {
+ case EC_GROUP_TRENDY_SAYING:
+ if (gEasyChatStruct->unk40[2][11 + group] == 0)
+ return FALSE;
+ return sub_80EB868(word);
+ case EC_GROUP_POKEMON_1:
+ return GetSetPokedexFlag(SpeciesToNationalPokedexNum(word), 0);
+ case EC_GROUP_EVENTS:
+ case EC_GROUP_MOVE_1:
+ case EC_GROUP_MOVE_2:
+ if (gEasyChatStruct->unk40[2][11 + group] == 0)
+ return FALSE;
+ return TRUE;
+ case EC_GROUP_POKEMON_2:
+ return sub_80EB9C8();
+ default:
+ return TRUE;
+ }
+}
+
+u16 sub_80EAE88(u8 group)
+{
+ switch (group)
+ {
+ case EC_GROUP_POKEMON_1:
+ return GetHoennPokedexCount(0);
+ case EC_GROUP_TRENDY_SAYING:
+ return sub_80EB8C0();
+ default:
+ if (sub_80EAD7C(group))
+ return gEasyChatGroupSizes[group];
+ return FALSE;
+ }
+}
+
+#if GERMAN
+__attribute__((naked))
+void sub_80EAECC(void)
+{
+ asm(".syntax 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, 0x10\n\
+ movs r7, 0\n\
+ ldr r1, _080EAF08 @ =gEasyChatStruct\n\
+ ldr r0, [r1]\n\
+ ldr r3, _080EAF0C @ =0x0000446c\n\
+ adds r3, r0, r3\n\
+ str r3, [sp, 0x4]\n\
+_080EAEE4:\n\
+ ldr r1, _080EAF10 @ =gEasyChatWordsByLetter\n\
+ lsls r2, r7, 1\n\
+ adds r0, r2, r1\n\
+ ldrh r4, [r0]\n\
+ adds r3, r7, 0x1\n\
+ lsls r0, r3, 1\n\
+ adds r0, r1\n\
+ ldrh r0, [r0]\n\
+ str r0, [sp]\n\
+ ldr r0, [sp, 0x4]\n\
+ adds r1, r0, r2\n\
+ movs r0, 0\n\
+ strh r0, [r1]\n\
+ mov r9, r0\n\
+ adds r6, r4, 0\n\
+ mov r10, r2\n\
+ str r3, [sp, 0x8]\n\
+ b _080EB00C\n\
+ .align 2, 0\n\
+_080EAF08: .4byte gEasyChatStruct\n\
+_080EAF0C: .4byte 0x0000446c\n\
+_080EAF10: .4byte gEasyChatWordsByLetter\n\
+_080EAF14:\n\
+ ldr r2, _080EAFAC @ =gEasyChatWordsAlphabetized\n\
+ adds r0, r6, 0\n\
+ adds r1, r0, 0x1\n\
+ lsls r1, 16\n\
+ lsrs r6, r1, 16\n\
+ lsls r0, 1\n\
+ adds r0, r2\n\
+ ldrh r1, [r0]\n\
+ adds r4, r1, 0\n\
+ ldr r0, _080EAFB0 @ =0x0000feff\n\
+ cmp r1, r0\n\
+ bls _080EAFC8\n\
+ movs r0, 0xFF\n\
+ ands r1, r0\n\
+ movs r3, 0\n\
+ subs r0, r1, 0x1\n\
+ lsls r0, 16\n\
+ lsrs r5, r0, 16\n\
+ ldr r0, _080EAFB4 @ =0x0000ffff\n\
+ cmp r5, r0\n\
+ beq _080EB00C\n\
+ lsls r0, r7, 4\n\
+ adds r0, r7\n\
+ lsls r0, 3\n\
+ subs r0, r7\n\
+ lsls r0, 2\n\
+ mov r8, r0\n\
+_080EAF4A:\n\
+ adds r1, r6, 0\n\
+ adds r0, r1, 0x1\n\
+ lsls r0, 16\n\
+ lsrs r6, r0, 16\n\
+ lsls r1, 1\n\
+ ldr r0, _080EAFAC @ =gEasyChatWordsAlphabetized\n\
+ adds r1, r0\n\
+ ldrh r4, [r1]\n\
+ lsrs r0, r4, 9\n\
+ ldr r1, _080EAFB8 @ =0x000001ff\n\
+ adds r2, r1, 0\n\
+ adds r1, r4, 0\n\
+ ands r1, r2\n\
+ str r3, [sp, 0xC]\n\
+ bl sub_80EADC0\n\
+ lsls r0, 24\n\
+ ldr r3, [sp, 0xC]\n\
+ cmp r0, 0\n\
+ beq _080EAF9E\n\
+ cmp r3, 0\n\
+ bne _080EAF9E\n\
+ ldr r3, _080EAFBC @ =gEasyChatStruct\n\
+ ldr r2, [r3]\n\
+ mov r1, r9\n\
+ adds r0, r1, 0x1\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ mov r9, r0\n\
+ lsls r1, 1\n\
+ add r1, r8\n\
+ ldr r3, _080EAFC0 @ =0x00000b78\n\
+ adds r0, r2, r3\n\
+ adds r0, r1\n\
+ strh r4, [r0]\n\
+ ldr r0, _080EAFC4 @ =0x0000446c\n\
+ adds r2, r0\n\
+ add r2, r10\n\
+ ldrh r0, [r2]\n\
+ adds r0, 0x1\n\
+ strh r0, [r2]\n\
+ movs r3, 0x1\n\
+_080EAF9E:\n\
+ subs r0, r5, 0x1\n\
+ lsls r0, 16\n\
+ lsrs r5, r0, 16\n\
+ ldr r1, _080EAFB4 @ =0x0000ffff\n\
+ cmp r5, r1\n\
+ bne _080EAF4A\n\
+ b _080EB00C\n\
+ .align 2, 0\n\
+_080EAFAC: .4byte gEasyChatWordsAlphabetized\n\
+_080EAFB0: .4byte 0x0000feff\n\
+_080EAFB4: .4byte 0x0000ffff\n\
+_080EAFB8: .4byte 0x000001ff\n\
+_080EAFBC: .4byte gEasyChatStruct\n\
+_080EAFC0: .4byte 0x00000b78\n\
+_080EAFC4: .4byte 0x0000446c\n\
+_080EAFC8:\n\
+ lsrs r0, r4, 9\n\
+ ldr r3, _080EB030 @ =0x000001ff\n\
+ adds r2, r3, 0\n\
+ adds r1, r4, 0\n\
+ ands r1, r2\n\
+ bl sub_80EADC0\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _080EB00C\n\
+ ldr r0, _080EB034 @ =gEasyChatStruct\n\
+ ldr r2, [r0]\n\
+ mov r1, r9\n\
+ adds r0, r1, 0x1\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ mov r9, r0\n\
+ lsls r1, 1\n\
+ lsls r0, r7, 4\n\
+ adds r0, r7\n\
+ lsls r0, 3\n\
+ subs r0, r7\n\
+ lsls r0, 2\n\
+ adds r1, r0\n\
+ ldr r3, _080EB038 @ =0x00000b78\n\
+ adds r0, r2, r3\n\
+ adds r0, r1\n\
+ strh r4, [r0]\n\
+ ldr r0, _080EB03C @ =0x0000446c\n\
+ adds r2, r0\n\
+ add r2, r10\n\
+ ldrh r0, [r2]\n\
+ adds r0, 0x1\n\
+ strh r0, [r2]\n\
+_080EB00C:\n\
+ ldr r1, [sp]\n\
+ cmp r6, r1\n\
+ bcs _080EB014\n\
+ b _080EAF14\n\
+_080EB014:\n\
+ ldr r3, [sp, 0x8]\n\
+ lsls r0, r3, 16\n\
+ lsrs r7, r0, 16\n\
+ cmp r7, 0x1A\n\
+ bhi _080EB020\n\
+ b _080EAEE4\n\
+_080EB020:\n\
+ add sp, 0x10\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\
+ .align 2, 0\n\
+_080EB030: .4byte 0x000001ff\n\
+_080EB034: .4byte gEasyChatStruct\n\
+_080EB038: .4byte 0x00000b78\n\
+_080EB03C: .4byte 0x0000446c\n\
+ .syntax divided\n");
+}
+#else
+void sub_80EAECC(void)
+{
+ u16 i;
+ u16 r9;
+ u16 r6;
+ u16 r5;
+ bool8 r7;
+
+ for (i = 0; i < 27; i++)
+ {
+ u16 word = gEasyChatWordsByLetter[i];
+ u16 sp0 = gEasyChatWordsByLetter[i + 1];
+
+ gEasyChatStruct->unk4142[i] = 0;
+ r9 = 0;
+ r6 = word;
+ while (r6 < sp0)
+ {
+ u16 word = gEasyChatWordsAlphabetized[r6++];
+
+ if (word > 0xFEFF)
+ {
+ r5 = word & 0xFF;
+ r7 = FALSE;
+ while (--r5 != 0xFFFF)
+ {
+ word = gEasyChatWordsAlphabetized[r6++];
+ if (sub_80EADC0(EC_GROUP(word), EC_INDEX(word)) && !r7)
+ {
+ gEasyChatStruct->unkB78[i][r9++] = word;
+ gEasyChatStruct->unk4142[i]++;
+ r7 = TRUE;
+ }
+ }
+ }
+ else
+ {
+ if (sub_80EADC0(EC_GROUP(word), EC_INDEX(word)))
+ {
+ gEasyChatStruct->unkB78[i][r9++] = word;
+ gEasyChatStruct->unk4142[i]++;
+ }
+ }
+ }
+ }
+}
+#endif
+
+extern const u8 *const gEasyChatGroupWords[];
+extern const u16 *const gEasyChatGroupOrders[];
+extern const u8 gEasyChatGroupSizes[];
+
+// loads strings of all easy chat words except for the species and move names.
+void LoadEasyChatStrings(void)
+{
+ u16 group;
+ u16 index;
+
+ for (group = 0; group <= EC_GROUP_POKEMON_2; group++)
+ {
+ if (group != EC_GROUP_POKEMON_1
+ && group != EC_GROUP_POKEMON_2
+ && group != EC_GROUP_MOVE_1
+ && group != EC_GROUP_MOVE_2)
+ {
+ const u8 *wordText = gEasyChatGroupWords[group];
+
+ index = 0;
+ while (*wordText != EOS)
+ {
+ gEasyChatStruct->ecWordStrings[group][index] = wordText;
+
+ // Find the end of the current word
+ while (*wordText != EOS)
+ wordText++;
+ // Skip over the EOS
+ wordText++;
+
+ index++;
+ }
+ }
+ }
+}
+
+void sub_80EB0B0(void)
+{
+ const u16 *sp0;
+ u16 r7;
+ u16 r9;
+ u16 r8;
+
+ if (gEasyChatStruct->unk26 == 0)
+ {
+ u16 group = gEasyChatStruct->unk1B8;
+
+ gEasyChatStruct->unk4178[group] = 0;
+ r7 = 0;
+ r9 = 0;
+ sp0 = gEasyChatGroupOrders[group];
+ for (r8 = 0; r8 < gEasyChatGroupSizes[gEasyChatStruct->unk1B8]; r8++)
+ {
+ if (sub_80EADC0(group, sp0[r8]))
+ {
+ gEasyChatStruct->unk9A2A[r9][r7] = ((group & 0x7F) << 9) | (sp0[r8] & 0x1FF);
+ gEasyChatStruct->unk4178[group]++;
+ r7++;
+ if (r7 > 1)
+ {
+ r7 = 0;
+ r9++;
+ }
+ }
+ }
+ }
+ else
+ {
+ u8 r2 = gEasyChatStruct->unk1B8;
+ u16 r3 = 0;
+ u16 r6 = 0;
+ u16 r5;
+
+ for (r5 = 0; r5 < gEasyChatStruct->unk4142[r2]; r5++)
+ {
+ gEasyChatStruct->unk9A2A[r6][r3] = gEasyChatStruct->unkB78[r2][r5];
+ r3++;
+ if (r3 > 1)
+ {
+ r3 = 0;
+ r6++;
+ }
+ }
+ }
+}
+
+u8 *sub_80EB218(u8 *dest, u16 word, u16 c)
+{
+ u8 *wordText;
+
+ if (sub_80EB37C(word))
+ {
+ wordText = StringCopy(dest, gOtherText_ThreeQuestions);
+ }
+ else if (word == 0xFFFF)
+ {
+ wordText = dest;
+ wordText[0] = EOS; // Why? It's going to get overwritten.
+ }
+ else
+ {
+ u16 group = EC_GROUP(word);
+ u16 index = EC_INDEX(word);
+
+ switch (group)
+ {
+ case EC_GROUP_POKEMON_1:
+ case EC_GROUP_POKEMON_2:
+ wordText = StringCopy(dest, gSpeciesNames[index]);
+ break;
+ case EC_GROUP_MOVE_1:
+ case EC_GROUP_MOVE_2:
+ wordText = StringCopy(dest, gMoveNames[index]);
+ break;
+ default:
+ wordText = StringCopy(dest, gEasyChatStruct->ecWordStrings[group][index]);
+ break;
+ }
+ }
+
+ wordText[0] = EXT_CTRL_CODE_BEGIN;
+ wordText[1] = 0x13;
+ wordText[2] = c * 8;
+ wordText += 3;
+
+ *wordText = EOS;
+
+ return wordText;
+}
+
+u16 sub_80EB2D4(u16 word)
+{
+ const u8 *wordText;
+ u16 length;
+
+ if (sub_80EB37C(word))
+ {
+ return StringLength(gOtherText_ThreeQuestions);
+ }
+ else if (word == 0xFFFF)
+ {
+ return 0;
+ }
+ else
+ {
+ u16 group = EC_GROUP(word);
+ u16 index = EC_INDEX(word);
+
+ switch (group)
+ {
+ case EC_GROUP_POKEMON_1:
+ case EC_GROUP_POKEMON_2:
+ wordText = gSpeciesNames[index];
+ break;
+ case EC_GROUP_MOVE_1:
+ case EC_GROUP_MOVE_2:
+ wordText = gMoveNames[index];
+ break;
+ default:
+ wordText = gEasyChatStruct->ecWordStrings[group][index];
+ break;
+ }
+ }
+
+ length = 0;
+ while (*wordText != EOS)
+ {
+ wordText++;
+ length++;
+ }
+ return length;
+}
+
+bool8 sub_80EB37C(u16 word)
+{
+ const u16 *r4;
+ u16 i;
+
+ if (word == 0xFFFF)
+ {
+ return FALSE;
+ }
+ else
+ {
+ u16 group = EC_GROUP(word);
+ u16 index = EC_INDEX(word);
+
+ if (group <= EC_GROUP_POKEMON_2)
+ {
+ switch (group)
+ {
+ case EC_GROUP_POKEMON_1:
+ case EC_GROUP_POKEMON_2:
+ case EC_GROUP_MOVE_1:
+ case EC_GROUP_MOVE_2:
+ r4 = (u16 *)gEasyChatGroupWords[group];
+ for (i = 0; i < gEasyChatGroupSizes[group]; i++)
+ {
+ if (index == r4[i])
+ return FALSE;
+ }
+ break;
+ default:
+ if (index < gEasyChatGroupSizes[group])
+ return FALSE;
+ break;
+ }
+ }
+ return TRUE;
+ }
+}
+
+#if GERMAN
+u32 de_sub_80EB748(s32 group, s32 index)
+{
+ s32 i;
+ u16 *words;
+ u32 r7 = 0;
+
+ switch (group)
+ {
+ case EC_GROUP_POKEMON_1:
+ case EC_GROUP_POKEMON_2:
+ case EC_GROUP_MOVE_1:
+ case EC_GROUP_MOVE_2:
+ words = (u16 *)gEasyChatGroupWords[group];
+ for (i = 0; i < gEasyChatGroupSizes[group]; i++)
+ {
+ if (index == words[i])
+ {
+ r7 = i;
+ break;
+ }
+ }
+ break;
+ default:
+ r7 = index;
+ break;
+ }
+
+ return r7;
+}
+#endif
+
+// returns the end of the destination buffer text
+u8 *EasyChat_GetWordText(u8 *dst, u16 word)
+{
+ u16 group;
+ u16 wordIndex;
+ const u8 *src;
+ u16 i;
+
+ if (sub_80EB37C(word))
+ return StringCopy(dst, gOtherText_ThreeQuestions);
+
+ if (word == 0xFFFF)
+ {
+ *dst = EOS;
+ return dst;
+ }
+ else
+ {
+ group = EC_GROUP(word);
+ wordIndex = EC_INDEX(word);
+ switch (group)
+ {
+ case EC_GROUP_POKEMON_1: // 0
+ case EC_GROUP_POKEMON_2: // 21
+ dst = StringCopy(dst, gSpeciesNames[wordIndex]);
+ break;
+ case EC_GROUP_MOVE_1: // 18
+ case EC_GROUP_MOVE_2: // 19
+ dst = StringCopy(dst, gMoveNames[wordIndex]);
+ break;
+ default:
+ src = gEasyChatGroupWords[group];
+ for (i = wordIndex - 1; i != 0xFFFF; i--)
+ {
+ while (*src++ != EOS)
+ ;
+ }
+ dst = StringCopy(dst, src);
+ break;
+ }
+ *dst = EOS;
+ return dst;
+ }
+}
+
+u8 *ConvertEasyChatWordsToString(u8 *dst, u16 *words, u16 arg2, u16 arg3)
+{
+ u16 i;
+ u16 n;
+
+ const u16 i1 = arg2 - 1;
+
+ for (i = 0; i < arg3; i++)
+ {
+ u16 word;
+
+ for (n = 0; n < i1; n++)
+ {
+ dst = EasyChat_GetWordText(dst, words[0]);
+
+ if (words[0] != 0xFFFF)
+ {
+ dst[0] = CHAR_SPACE;
+ dst++;
+ }
+
+ words++;
+ }
+
+ word = words[0];
+ words++;
+ dst = EasyChat_GetWordText(dst, word);
+
+ dst[0] = CHAR_NEWLINE;
+ dst++;
+ }
+
+ dst--;
+ dst[0] = EOS;
+
+ return dst;
+}
+
+u8 *sub_80EB544(u8 *dst, u16 *words, u16 arg2, u16 arg3)
+{
+ u16 i;
+ u16 n;
+
+ const u16 i1 = arg2 - 1;
+
+ for (i = 0; i < arg3; i++)
+ {
+ u16 word;
+
+ for (n = 0; n < i1; n++)
+ {
+ dst = EasyChat_GetWordText(dst, words[0]);
+
+ if (words[0] != 0xFFFF)
+ {
+ dst[0] = CHAR_SPACE;
+ dst++;
+ }
+
+ words++;
+ }
+
+ word = words[0];
+ words++;
+ dst = EasyChat_GetWordText(dst, word);
+
+ // Only difference with ConvertEasyChatWordsToString
+ dst[0] = (i == 0) ? CHAR_NEWLINE : CHAR_PROMPT_SCROLL;
+ dst++;
+ }
+
+ dst--;
+ dst[0] = EOS;
+
+ return dst;
+}
+
+
+u16 unref_sub_80EB5E0(u16 arg0)
+{
+ const u8 *chars;
+ u16 i;
+ u16 length;
+ int group, word;
+
+
+ if (arg0 == 0xFFFF)
+ return 0;
+
+ group = EC_GROUP(arg0);
+ word = EC_INDEX(arg0);
+ switch (group)
+ {
+ case EC_GROUP_POKEMON_1: // 0
+ case EC_GROUP_POKEMON_2: // 21
+ chars = gSpeciesNames[word];
+ break;
+ case EC_GROUP_MOVE_1: // 18
+ case EC_GROUP_MOVE_2: // 19
+ chars = gMoveNames[word];
+ break;
+ default:
+ chars = gEasyChatGroupWords[group];
+ for (i = word - 1; i != 0xFFFF; i--)
+ {
+ while (*chars++ != EOS)
+ ;
+ }
+ break;
+ }
+
+ length = 0;
+ while (*chars != EOS)
+ {
+ chars++;
+ length++;
+ }
+
+ return length;
+}
+
+bool8 sub_80EB680(u16 *arg0, u16 arg1, u16 arg2, u16 arg3)
+{
+ return FALSE;
+}
+
+void unref_sub_80EB684(u8 arg0, u16 arg1)
+{
+ u16 *ptr;
+ u16 c;
+
+ // FIXME: find actual tv shows used
+ switch (arg0)
+ {
+ case 5:
+ c = 6;
+ ptr = (u16*)((void *)&gSaveBlock1.tvShows[arg1] + 0x04);
+ break;
+ case 7:
+ c = 2;
+ ptr = (u16*)((void *)&gSaveBlock1.tvShows[arg1] + 0x1C);
+ break;
+ case 8:
+ c = 1;
+ ptr = (u16*)((void *)&gSaveBlock1.tvShows[arg1] + 0x02);
+ break;
+ default:
+ return;
+ }
+
+ c -= 1;
+ while (c != 0xFFFF)
+ {
+ *ptr = -1;
+ ptr++;
+ c -= 1;
+ }
+}
+
+void sub_80EB6FC(u16 *arg0, u16 arg1)
+{
+ u16 i;
+
+ for (i = arg1 - 1; i != 0xFFFF; i--)
+ {
+ *arg0 = 0xFFFF;
+ arg0++;
+ }
+
+}
+
+u16 sub_80EB72C(u16 group)
+{
+ u16 local1 = Random() % gEasyChatGroupSizes[group];
+
+ if (group == EC_GROUP_POKEMON_1
+ || group == EC_GROUP_POKEMON_2
+ || group == EC_GROUP_MOVE_1
+ || group == EC_GROUP_MOVE_2)
+ {
+ local1 = ((u16 *) gEasyChatGroupWords[group])[local1];
+ }
+
+ return ((group & 0x7F) << 9) | (local1 & 0x1FF);
+}
+
+u16 sub_80EB784(u16 group)
+{
+ if (!sub_80EAD7C(group))
+ return -1;
+
+ if (group != EC_GROUP_POKEMON_1)
+ {
+ if (group == EC_GROUP_TRENDY_SAYING)
+ return sub_80EB960();
+ }
+ else
+ {
+ return sub_80EB9D8();
+ }
+
+ return sub_80EB72C(group);
+}
+
+void sub_80EB7C4(void)
+{
+ u16 *words;
+ u16 arg1, arg2;
+
+ switch (gSpecialVar_0x8004)
+ {
+ case 0:
+ words = gSaveBlock1.easyChats.unk2B1C;
+ arg1 = 2;
+ arg2 = 2;
+ break;
+ case 1:
+ words = gSaveBlock1.easyChats.unk2B28;
+ if (sub_80EB680(gSaveBlock1.easyChats.unk2B28, 3, 2, 20))
+ {
+ arg1 = 2;
+ arg2 = 3;
+ }
+ else
+ {
+ arg1 = 3;
+ arg2 = 2;
+ }
+ break;
+ case 2:
+ words = gSaveBlock1.easyChats.unk2B34;
+ arg1 = 3;
+ arg2 = 2;
+ break;
+ case 3:
+ words = gSaveBlock1.easyChats.unk2B40;
+ arg1 = 3;
+ arg2 = 2;
+ break;
+ default:
+ return;
+ }
+
+ ConvertEasyChatWordsToString(gStringVar4, words, arg1, arg2);
+ ShowFieldAutoScrollMessage(gStringVar4);
+}
+
+void BufferRandomHobbyOrLifestyleString(void)
+{
+ u16 group, local2;
+
+ if (Random() & 1)
+ group = EC_GROUP_HOBBIES;
+ else
+ group = EC_GROUP_LIFESTYLE;
+
+ local2 = sub_80EB784(group);
+ EasyChat_GetWordText(gStringVar2, local2);
+}
+
+u8 sub_80EB868(u8 arg0)
+{
+ int offset;
+ int index;
+
+ index = arg0 / 8;
+ offset = arg0 % 8;
+ return (gSaveBlock1.unk2D8C[index] >> offset) & 1;
+}
+
+void sub_80EB890(u8 arg0)
+{
+ int offset;
+ int index;
+
+ if (arg0 < 33)
+ {
+ index = arg0 / 8;
+ offset = arg0 % 8;
+ gSaveBlock1.unk2D8C[index] |= 1 << offset;
+ }
+}
+
+u8 sub_80EB8C0(void)
+{
+ u8 i, count;
+
+ for (i = 0, count = 0; i < 33; i++)
+ {
+ if (sub_80EB868(i))
+ count++;
+ }
+ return count;
+}
+
+u16 sub_80EB8EC(void)
+{
+ u16 i;
+ u16 local1, local2;
+
+ local1 = sub_80EB8C0();
+ if (local1 == 33)
+ return -1;
+
+ local2 = Random() % (33 - local1);
+ for (i = 0; i < 33; i++)
+ {
+ if (sub_80EB868(i) == 0)
+ {
+ if (local2 == 0)
+ {
+ sub_80EB890(i);
+ return (i & 0x1FF) | 0x2800;
+ }
+ local2--;
+ }
+ }
+ return -1;
+}
+
+static u16 sub_80EB960(void)
+{
+ u16 i;
+ u16 local1;
+
+ local1 = sub_80EB8C0();
+ if (local1 == 0)
+ return -1;
+
+ local1 = Random() % local1;
+ for (i = 0; i < 33; i++)
+ {
+ if (sub_80EB868(i))
+ {
+ if (local1 == 0)
+ return (i & 0x1FF) | 0x2800;
+ local1--;
+ }
+ }
+
+ return -1;
+}
+
+u8 sub_80EB9C8(void)
+{
+ return IsNationalPokedexEnabled();
+}
+
+static u16 sub_80EB9D8(void)
+{
+ u16 *speciesList;
+ u16 local1;
+ u16 i;
+
+ local1 = sub_80EAE88(0);
+
+ if (local1 == 0)
+ return -1;
+
+ local1 = Random() % local1;
+ speciesList = (u16 *)gEasyChatGroupWords[EC_GROUP_POKEMON_1];
+ for (i = 0; i < gEasyChatGroupSizes[EC_GROUP_POKEMON_1]; i++)
+ {
+ const u16 dexNum = SpeciesToNationalPokedexNum(*speciesList);
+ const u8 local2 = GetSetPokedexFlag(dexNum, 0);
+
+ if (local2)
+ {
+ if (local1 == 0)
+ return *speciesList & 0x1FF;
+ local1--;
+ }
+ speciesList++;
+ }
+ return -1;
+}
diff --git a/src/engine/cable_car_util.c b/src/engine/cable_car_util.c
new file mode 100644
index 000000000..02bfbc195
--- /dev/null
+++ b/src/engine/cable_car_util.c
@@ -0,0 +1,47 @@
+#include "global.h"
+#include "cable_car_util.h"
+
+// static types
+
+// static declarations
+
+// rodata
+
+// text
+
+void CableCarUtil_FillWrapped(void *dest, u16 value, u8 left, u8 top, u8 width, u8 height)
+{
+ u8 i;
+ u8 j;
+ u8 x;
+ u8 y;
+
+ for (i = 0, y = top; i < height; i++)
+ {
+ for (x = left, j = 0; j < width; j++)
+ {
+ *(u16 *)&((u8 *)dest)[y * 64 + x * 2] = value;
+ x = (x + 1) % 32;
+ }
+ y = (y + 1) % 32;
+ }
+}
+
+void CableCarUtil_CopyWrapped(void *dest, const u16 *src, u8 left, u8 top, u8 width, u8 height)
+{
+ u8 i;
+ u8 j;
+ u8 x;
+ u8 y;
+ const u16 *_src;
+
+ for (i = 0, _src = src, y = top; i < height; i++)
+ {
+ for (x = left, j = 0; j < width; j++)
+ {
+ *(u16 *)&((u8 *)dest)[y * 64 + x * 2] = *_src++;
+ x = (x + 1) % 32;
+ }
+ y = (y + 1) % 32;
+ }
+}
diff --git a/src/field/easy_chat.c b/src/field/easy_chat.c
deleted file mode 100644
index 94532506f..000000000
--- a/src/field/easy_chat.c
+++ /dev/null
@@ -1,445 +0,0 @@
-#include "global.h"
-#include "easy_chat.h"
-#include "constants/easy_chat.h"
-#include "data2.h"
-#include "event_data.h"
-#include "field_message_box.h"
-#include "pokedex.h"
-#include "random.h"
-#include "string_util.h"
-#include "strings.h"
-#include "strings2.h"
-#include "text.h"
-
-static bool8 sub_80EB680(u16 *, u16, u16, u16);
-static u16 sub_80EB9D8(void);
-static u16 sub_80EB960(void);
-
-extern void *gEasyChatGroupWords[];
-extern const u8 gEasyChatGroupSizes[];
-
-extern u16 gSpecialVar_0x8004;
-
-IWRAM_DATA u8 gUnknown_03000740;
-
-// returns the end of the destination buffer text
-u8 *EasyChat_GetWordText(u8 *dst, u16 word)
-{
- u16 group;
- u16 wordIndex;
- u8 *src;
- u16 i;
-
- if (sub_80EB37C(word))
- return StringCopy(dst, gOtherText_ThreeQuestions);
-
- if (word == 0xFFFF)
- {
- *dst = EOS;
- return dst;
- }
- else
- {
- group = EC_GROUP(word);
- wordIndex = EC_INDEX(word);
- switch (group)
- {
- case EC_GROUP_POKEMON: // 0
- case EC_GROUP_POKEMON_2: // 21
- dst = StringCopy(dst, gSpeciesNames[wordIndex]);
- break;
- case EC_GROUP_MOVE_1: // 18
- case EC_GROUP_MOVE_2: // 19
- dst = StringCopy(dst, gMoveNames[wordIndex]);
- break;
- default:
- src = gEasyChatGroupWords[group];
- for (i = wordIndex - 1; i != 0xFFFF; i--)
- {
- while (*src++ != EOS)
- ;
- }
- dst = StringCopy(dst, src);
- break;
- }
- *dst = EOS;
- return dst;
- }
-}
-
-u8 *ConvertEasyChatWordsToString(u8 *dst, u16 *words, u16 arg2, u16 arg3)
-{
- u16 i;
- u16 n;
-
- const u16 i1 = arg2 - 1;
-
- for (i = 0; i < arg3; i++)
- {
- u16 word;
-
- for (n = 0; n < i1; n++)
- {
- dst = EasyChat_GetWordText(dst, words[0]);
-
- if (words[0] != 0xFFFF)
- {
- dst[0] = CHAR_SPACE;
- dst++;
- }
-
- words++;
- }
-
- word = words[0];
- words++;
- dst = EasyChat_GetWordText(dst, word);
-
- dst[0] = CHAR_NEWLINE;
- dst++;
- }
-
- dst--;
- dst[0] = EOS;
-
- return dst;
-}
-
-u8 *sub_80EB544(u8 *dst, u16 *words, u16 arg2, u16 arg3)
-{
- u16 i;
- u16 n;
-
- const u16 i1 = arg2 - 1;
-
- for (i = 0; i < arg3; i++)
- {
- u16 word;
-
- for (n = 0; n < i1; n++)
- {
- dst = EasyChat_GetWordText(dst, words[0]);
-
- if (words[0] != 0xFFFF)
- {
- dst[0] = CHAR_SPACE;
- dst++;
- }
-
- words++;
- }
-
- word = words[0];
- words++;
- dst = EasyChat_GetWordText(dst, word);
-
- // Only difference with ConvertEasyChatWordsToString
- dst[0] = (i == 0) ? CHAR_NEWLINE : CHAR_PROMPT_SCROLL;
- dst++;
- }
-
- dst--;
- dst[0] = EOS;
-
- return dst;
-}
-
-
-u16 unref_sub_80EB5E0(u16 arg0)
-{
- const u8 *chars;
- u16 i;
- u16 length;
- int group, word;
-
-
- if (arg0 == 0xFFFF)
- return 0;
-
- group = EC_GROUP(arg0);
- word = EC_INDEX(arg0);
- switch (group)
- {
- case EC_GROUP_POKEMON: // 0
- case EC_GROUP_POKEMON_2: // 21
- chars = gSpeciesNames[word];
- break;
- case EC_GROUP_MOVE_1: // 18
- case EC_GROUP_MOVE_2: // 19
- chars = gMoveNames[word];
- break;
- default:
- chars = gEasyChatGroupWords[group];
- for (i = word - 1; i != 0xFFFF; i--)
- {
- while (*chars++ != EOS)
- ;
- }
- break;
- }
-
- length = 0;
- while (*chars != EOS)
- {
- chars++;
- length++;
- }
-
- return length;
-}
-
-static bool8 sub_80EB680(u16 *arg0, u16 arg1, u16 arg2, u16 arg3)
-{
- return FALSE;
-}
-
-void unref_sub_80EB684(u8 arg0, u16 arg1)
-{
- u16 *ptr;
- u16 c;
-
- // FIXME: find actual tv shows used
- switch (arg0)
- {
- case 5:
- c = 6;
- ptr = (u16*)((void *)&gSaveBlock1.tvShows[arg1] + 0x04);
- break;
- case 7:
- c = 2;
- ptr = (u16*)((void *)&gSaveBlock1.tvShows[arg1] + 0x1C);
- break;
- case 8:
- c = 1;
- ptr = (u16*)((void *)&gSaveBlock1.tvShows[arg1] + 0x02);
- break;
- default:
- return;
- }
-
- c -= 1;
- while (c != 0xFFFF)
- {
- *ptr = -1;
- ptr++;
- c -= 1;
- }
-}
-
-void sub_80EB6FC(u16 *arg0, u16 arg1)
-{
- u16 i;
-
- for (i = arg1 - 1; i != 0xFFFF; i--)
- {
- *arg0 = 0xFFFF;
- arg0++;
- }
-
-}
-
-u16 sub_80EB72C(u16 group)
-{
- u16 local1 = Random() % gEasyChatGroupSizes[group];
-
- if (group == EC_GROUP_POKEMON
- || group == EC_GROUP_POKEMON_2
- || group == EC_GROUP_MOVE_1
- || group == EC_GROUP_MOVE_2)
- {
- local1 = ((u16 *) gEasyChatGroupWords[group])[local1];
- }
-
- return ((group & 0x7F) << 9) | (local1 & 0x1FF);
-}
-
-u16 sub_80EB784(u16 group)
-{
- if (!sub_80EAD7C(group))
- return -1;
-
- if (group != EC_GROUP_POKEMON)
- {
- if (group == EC_GROUP_TRENDY_SAYING)
- return sub_80EB960();
- }
- else
- {
- return sub_80EB9D8();
- }
-
- return sub_80EB72C(group);
-}
-
-void sub_80EB7C4(void)
-{
- u16 *words;
- u16 arg1, arg2;
-
- switch (gSpecialVar_0x8004)
- {
- case 0:
- words = gSaveBlock1.easyChats.unk2B1C;
- arg1 = 2;
- arg2 = 2;
- break;
- case 1:
- words = gSaveBlock1.easyChats.unk2B28;
- if (sub_80EB680(gSaveBlock1.easyChats.unk2B28, 3, 2, 20))
- {
- arg1 = 2;
- arg2 = 3;
- }
- else
- {
- arg1 = 3;
- arg2 = 2;
- }
- break;
- case 2:
- words = gSaveBlock1.easyChats.unk2B34;
- arg1 = 3;
- arg2 = 2;
- break;
- case 3:
- words = gSaveBlock1.easyChats.unk2B40;
- arg1 = 3;
- arg2 = 2;
- break;
- default:
- return;
- }
-
- ConvertEasyChatWordsToString(gStringVar4, words, arg1, arg2);
- ShowFieldAutoScrollMessage(gStringVar4);
-}
-
-void BufferRandomHobbyOrLifestyleString(void)
-{
- u16 group, local2;
-
- if (Random() & 1)
- group = EC_GROUP_HOBBIES;
- else
- group = EC_GROUP_LIFESTYLE;
-
- local2 = sub_80EB784(group);
- EasyChat_GetWordText(gStringVar2, local2);
-}
-
-u8 sub_80EB868(u8 arg0)
-{
- int offset;
- int index;
-
- index = arg0 / 8;
- offset = arg0 % 8;
- return (gSaveBlock1.unk2D8C[index] >> offset) & 1;
-}
-
-void sub_80EB890(u8 arg0)
-{
- int offset;
- int index;
-
- if (arg0 < 33)
- {
- index = arg0 / 8;
- offset = arg0 % 8;
- gSaveBlock1.unk2D8C[index] |= 1 << offset;
- }
-}
-
-u8 sub_80EB8C0(void)
-{
- u8 i, count;
-
- for (i = 0, count = 0; i < 33; i++)
- {
- if (sub_80EB868(i))
- count++;
- }
- return count;
-}
-
-u16 sub_80EB8EC(void)
-{
- u16 i;
- u16 local1, local2;
-
- local1 = sub_80EB8C0();
- if (local1 == 33)
- return -1;
-
- local2 = Random() % (33 - local1);
- for (i = 0; i < 33; i++)
- {
- if (sub_80EB868(i) == 0)
- {
- if (local2 == 0)
- {
- sub_80EB890(i);
- return (i & 0x1FF) | 0x2800;
- }
- local2--;
- }
- }
- return -1;
-}
-
-static u16 sub_80EB960(void)
-{
- u16 i;
- u16 local1;
-
- local1 = sub_80EB8C0();
- if (local1 == 0)
- return -1;
-
- local1 = Random() % local1;
- for (i = 0; i < 33; i++)
- {
- if (sub_80EB868(i))
- {
- if (local1 == 0)
- return (i & 0x1FF) | 0x2800;
- local1--;
- }
- }
-
- return -1;
-}
-
-u8 sub_80EB9C8(void)
-{
- return IsNationalPokedexEnabled();
-}
-
-static u16 sub_80EB9D8(void)
-{
- u16 *speciesList;
- u16 local1;
- u16 i;
-
- local1 = sub_80EAE88(0);
-
- if (local1 == 0)
- return -1;
-
- local1 = Random() % local1;
- speciesList = (u16 *) gEasyChatGroupWords[EC_GROUP_POKEMON];
- for (i = 0; i < gEasyChatGroupSizes[EC_GROUP_POKEMON]; i++)
- {
- const u16 dexNum = SpeciesToNationalPokedexNum(*speciesList);
- const u8 local2 = GetSetPokedexFlag(dexNum, 0);
-
- if (local2)
- {
- if (local1 == 0)
- return *speciesList & 0x1FF;
- local1--;
- }
- speciesList++;
- }
- return -1;
-}
diff --git a/src/field/field_map_obj.c b/src/field/field_map_obj.c
index ba7c3d68e..77b4c8b5c 100644
--- a/src/field/field_map_obj.c
+++ b/src/field/field_map_obj.c
@@ -2440,7 +2440,7 @@ void MakeObjectTemplateFromFieldObjectTemplate(struct MapObjectTemplate *mapObjT
MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex(mapObjTemplate->graphicsId, mapObjTemplate->movementType, sprTemplate, subspriteTables);
}
-u8 AddPseudoFieldObject(u16 graphicsId, void (*callback)(struct Sprite *), s16 c, s16 d, u8 subpriority)
+u8 AddPseudoFieldObject(u16 graphicsId, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority)
{
struct SpriteTemplate spriteTemplate;
const struct SubspriteTable *subspriteTables;
@@ -2449,7 +2449,7 @@ u8 AddPseudoFieldObject(u16 graphicsId, void (*callback)(struct Sprite *), s16 c
MakeObjectTemplateFromFieldObjectGraphicsInfo(graphicsId, callback, &spriteTemplate, &subspriteTables);
if (spriteTemplate.paletteTag != 0xFFFF)
sub_805BDF8(spriteTemplate.paletteTag);
- spriteId = CreateSprite(&spriteTemplate, c, d, subpriority);
+ spriteId = CreateSprite(&spriteTemplate, x, y, subpriority);
if (spriteId != 64 && subspriteTables != NULL)
{
SetSubspriteTables(&gSprites[spriteId], subspriteTables);
diff --git a/src/field/field_weather.c b/src/field/field_weather.c
index 4a819bddf..c954242a1 100644
--- a/src/field/field_weather.c
+++ b/src/field/field_weather.c
@@ -46,6 +46,7 @@ const u8 DroughtPaletteData_2[] = INCBIN_U8("graphics/weather/drought2.bin.lz");
const u8 DroughtPaletteData_3[] = INCBIN_U8("graphics/weather/drought3.bin.lz");
const u8 DroughtPaletteData_4[] = INCBIN_U8("graphics/weather/drought4.bin.lz");
const u8 DroughtPaletteData_5[] = INCBIN_U8("graphics/weather/drought5.bin.lz");
+
extern u8 (*gUnknown_0202FC48)[32];
extern u8 gUnknown_0202F9E8[32];
diff --git a/src/pokemon/pokemon_menu.c b/src/pokemon/pokemon_menu.c
index d2a5197a0..6c3c6c2b8 100644
--- a/src/pokemon/pokemon_menu.c
+++ b/src/pokemon/pokemon_menu.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "easy_chat.h"
#include "pokemon.h"
#include "pokemon_menu.h"
#include "party_menu.h"
@@ -53,7 +54,6 @@ extern u16 gUnknown_0202E8F8;
extern void (*gUnknown_03004AE4)(u8 taskID, u16 itemID, TaskFunc func);
extern TaskFunc gUnknown_03005CF0;
-void sub_80E62A0(u8 arg0, struct MailStruct* arg1, void* arg2, u8 arg3);
void sub_808A520(void);
void sub_80A61D0(void);
void CB2_InitFlyRegionMap(void);
@@ -419,7 +419,7 @@ static void sub_808A180(u8 taskID)
{
u8 mailID = GetMonData(&gPlayerParty[sub_806CA38(taskID)], MON_DATA_MAIL);
DestroyTask(taskID);
- sub_80E62A0(4, &gSaveBlock1.mail[mailID], sub_808A520, 3);
+ sub_80E62A0(4, gSaveBlock1.mail[mailID].words, sub_808A520, 3);
}
}
@@ -458,7 +458,7 @@ static void sub_808A2DC(u8 taskID)
{
u8 mailID = GetMonData(&gPlayerParty[sub_806CA38(taskID)], MON_DATA_MAIL);
DestroyTask(taskID);
- sub_80E62A0(4, &gSaveBlock1.mail[mailID], sub_808A520, 3);
+ sub_80E62A0(4, gSaveBlock1.mail[mailID].words, sub_808A520, 3);
}
static void sub_808A330(u8 taskID)
@@ -1095,7 +1095,7 @@ static void sub_808B338(u8 taskID)
gLastFieldPokeMenuOpened = sub_806CA38(taskID);
mailID = GetMonData(&gPlayerParty[gLastFieldPokeMenuOpened], MON_DATA_MAIL);
DestroyTask(taskID);
- sub_80E62A0(4, &gSaveBlock1.mail[mailID], sub_808B3EC, 3);
+ sub_80E62A0(4, gSaveBlock1.mail[mailID].words, sub_808B3EC, 3);
}
}
diff --git a/src/pokenav_after.c b/src/pokenav_after.c
index 84ed7b14b..330305ea3 100644
--- a/src/pokenav_after.c
+++ b/src/pokenav_after.c
@@ -6,16 +6,10 @@
#include "de_rom_8040FE0.h"
#include "string_util.h"
-void sub_80F700C(u8 *arg0, u16 arg1) {
- struct Trainer *trainer;
- u8 *ptr;
-
-#if ENGLISH
- trainer = (struct Trainer *) &gTrainers[gUnknown_083DFEC4->unkCEE8[arg1].unk0];
-#elif GERMAN
- const u16 trainerIndex = gUnknown_083DFEC4->unkCEE8[arg1].unk0;
- trainer = (struct Trainer *) &gTrainers[trainerIndex];
-#endif
+void sub_80F700C(u8 *arg0, u16 arg1)
+{
+ const struct Trainer *trainer = &gTrainers[gUnknown_083DFEC4->unkCEE8[arg1].unk0];
+ u8 *ptr = arg0;
ptr = arg0;
if (arg1 < gUnknown_083DFEC4->unkD158)
@@ -23,7 +17,7 @@ void sub_80F700C(u8 *arg0, u16 arg1) {
#if ENGLISH
ptr = StringCopy(ptr, gTrainerClassNames[trainer->trainerClass]);
#elif GERMAN
- ptr = StringCopy(ptr, de_sub_8041024(0, trainerIndex));
+ ptr = StringCopy(ptr, de_sub_8041024(0, gUnknown_083DFEC4->unkCEE8[arg1].unk0));
#endif
ptr[0] = 0xFC;
diff --git a/src/pokenav_before.c b/src/pokenav_before.c
index 7693cba7d..8a67390ad 100644
--- a/src/pokenav_before.c
+++ b/src/pokenav_before.c
@@ -22,69 +22,70 @@
extern u8 ewram[];
-struct UnknownPokenav0 {
- /* 0x0000 */ u8 var0[0x0300];
- /* 0x0300 */ void (*var300)(void);
- /* 0x0304 */ u16 var304;
- /* 0x0306 */ u16 var306;
- /* 0x0308 */ u32 var308;
- /* 0x030C */ u8 fill030C[0x6a9f];
- /* 0x6dab */ u8 var6dab;
- /* 0x6dac */ u8 var6dac;
- /* 0x6dad */ u8 var6dad;
- /* 0x6dae */ u8 var6dae;
- /* 0x6daf */ u8 fill6daf[0x3];
- /* 0x6db2 */ u8 var6db2[5];
- /* 0x6db7 */ u8 fill6db7[0x25];
- /* 0x6ddc */ s8 var6ddc;
- /* 0x6ddd */ u8 fill6ddd[0x13];
- /* 0x6df0 */ s8 var6df0;
- /* 0x6df1 */ u8 fill6df1[0xB];
- /* 0x6dfc */ u8 var6dfc;
- /* 0x6dfd */ u8 fill6dfd[0x17];
- /* 0x6e14 */ u8 var6e14;
- /* 0x6e15 */ u8 var6e15;
- /* 0x6e16 */ u8 var6e16;
- /* 0x6e17 */ u8 var6e17;
- /* 0x6e18 */ u8 fill6e18[0x78];
- /* 0x6e90 */ u8 var6e90;
- /* 0x6e91 */ u8 fill6e91[0x4];
- /* 0x6e95 */ u8 var6e95;
- /* 0x6e96 */ u8 var6e96[0x814];
- /* 0x76AA */ u8 var76aa;
- /* 0x76AB */ u8 fill76AB[0x10BD];
- /* 0x8768 */ u32 var8768;
- /* 0x876C */ u8 fill876C[0x2];
- /* 0x876E */ u8 var876E;
- /* 0x876F */ u8 fill876F[0x5];
- /* 0x8774 */ s16 var8774;
- /* 0x8776 */ u8 fill8776[0x55];
- /* 0x87CB */ u8 var87CB;
- /* 0x87CC */ u8 fill87CC[0xC];
- /* 0x87D8 */ u8 var87D8;
- /* 0x87D9 */ u8 fill87D9[0x1];
- /* 0x87DA */ s16 var87DA;
- /* 0x87DC */ s16 var87DC;
- /* 0x87DE */ u8 fill87DE[0x4a];
- /* 0x8828 */ u8 playerPartyCount;
- /* 0x8829 */ u8 fill8829[0x07bf];
- /* 0x8FE8 */ s8 var8fe8;
- /* 0x8FE9 */ u8 fill8FE9[0x16];
- /* 0x8FFF */ u8 var8fff[5];
- /* 0x9004 */ u8 fill9004[0x340];
- /* 0x9344 */ u8 var9344;
- /* 0x9345 */ u8 fill9345[0x3b8b];
- /* 0xced0 */ u32 varCED0;
- /* 0xced4 */ u8 fillCED4[0x284];
- /* 0xD158 */ u16 varD158;
- /* 0xD15A */ u8 fillD15A[0x8];
- /* 0xD162 */ u8 varD162;
+struct UnknownPokenav0
+{
+ /* 0x0000 */ u8 var0[0x0300];
+ /* 0x0300 */ void (*var300)(void);
+ /* 0x0304 */ u16 var304;
+ /* 0x0306 */ u16 var306;
+ /* 0x0308 */ u32 var308;
+ /* 0x030C */ u8 fill030C[0x6a9f];
+ /* 0x6dab */ u8 var6dab;
+ /* 0x6dac */ u8 var6dac;
+ /* 0x6dad */ u8 var6dad;
+ /* 0x6dae */ u8 var6dae;
+ /* 0x6daf */ u8 fill6daf[0x3];
+ /* 0x6db2 */ u8 var6db2[5];
+ /* 0x6db7 */ u8 fill6db7[0x25];
+ /* 0x6ddc */ s8 var6ddc;
+ /* 0x6ddd */ u8 fill6ddd[0x13];
+ /* 0x6df0 */ s8 var6df0;
+ /* 0x6df1 */ u8 fill6df1[0xB];
+ /* 0x6dfc */ u8 var6dfc;
+ /* 0x6dfd */ u8 fill6dfd[0x17];
+ /* 0x6e14 */ u8 var6e14;
+ /* 0x6e15 */ u8 var6e15;
+ /* 0x6e16 */ u8 var6e16;
+ /* 0x6e17 */ u8 var6e17;
+ /* 0x6e18 */ u8 fill6e18[0x78];
+ /* 0x6e90 */ u8 var6e90;
+ /* 0x6e91 */ u8 fill6e91[0x4];
+ /* 0x6e95 */ u8 var6e95;
+ /* 0x6e96 */ u8 var6e96[0x814];
+ /* 0x76AA */ u8 var76aa;
+ /* 0x76AB */ u8 fill76AB[0x10BD];
+ /* 0x8768 */ u32 var8768;
+ /* 0x876C */ u8 fill876C[0x2];
+ /* 0x876E */ u8 var876E;
+ /* 0x876F */ u8 fill876F[0x5];
+ /* 0x8774 */ s16 var8774;
+ /* 0x8776 */ u8 fill8776[0x55];
+ /* 0x87CB */ u8 var87CB;
+ /* 0x87CC */ u8 fill87CC[0xC];
+ /* 0x87D8 */ u8 var87D8;
+ /* 0x87D9 */ u8 fill87D9[0x1];
+ /* 0x87DA */ s16 var87DA;
+ /* 0x87DC */ s16 var87DC;
+ /* 0x87DE */ u8 fill87DE[0x4a];
+ /* 0x8828 */ u8 playerPartyCount;
+ /* 0x8829 */ u8 fill8829[0x07bf];
+ /* 0x8FE8 */ s8 var8fe8;
+ /* 0x8FE9 */ u8 fill8FE9[0x16];
+ /* 0x8FFF */ u8 var8fff[5];
+ /* 0x9004 */ u8 fill9004[0x340];
+ /* 0x9344 */ u8 var9344;
+ /* 0x9345 */ u8 fill9345[0x3b8b];
+ /* 0xced0 */ u32 varCED0;
+ /* 0xced4 */ u8 fillCED4[0x284];
+ /* 0xD158 */ u16 varD158;
+ /* 0xD15A */ u8 fillD15A[0x8];
+ /* 0xD162 */ u8 varD162;
};
struct UnknownPokenav0_1 {
- u8 fill6dad[0x6dad];
- s8 var6dad;
- s8 var6dae;
+ u8 fill6dad[0x6dad];
+ s8 var6dad;
+ s8 var6dae;
};
IWRAM_DATA void (*gUnknown_03000744)(void);
@@ -297,1140 +298,1280 @@ extern void sub_80F19FC();
extern u16 gKeyRepeatStartDelay;
-void sub_80EBA5C() {
- switch (gMain.state) {
- default:
- gMain.state = 0;
- case 0:
- ewram0_10.var6dac = is_c1_link_related_active();
- if (!ewram0_10.var6dac) {
- ewram0_10.var6dab = 0;
- gMain.state++;
- SetMainCallback2(&sub_80EBBE8);
- break;
- }
- break;
- case 1:
- SetVBlankCallback(NULL);
- break;
- case 2:
- ResetPaletteFade();
- break;
- case 3:
- ResetSpriteData();
- break;
- case 4:
- FreeAllSpritePalettes();
- break;
- case 5:
- ResetTasks();
- break;
- case 6:
- remove_some_task();
- break;
- case 7:
- sub_80F1A90();
- gMain.state++;
- case 8:
- if (sub_80F1AC4()) return;
- break;
- case 9:
- sub_80F2688();
- gMain.state++;
-
- case 10:
- if (sub_80F26BC()) return;
- break;
- case 11:
- sub_80F36F0();
- gMain.state++;
- case 12:
- if (sub_80F3724()) return;
- break;
- case 13:
- sub_80EBC10();
- sub_80EBDBC(&sub_80EBDD8);
- break;
- case 14:
- ewram0_10.var6dab = 1;
- PlaySE(SE_PN_ON);
- SetMainCallback2(&sub_80EBD90);
- SetVBlankCallback(&sub_80EBD18);
- sub_80F1A74();
- break;
- }
-
- gMain.state++;
+void sub_80EBA5C()
+{
+ switch (gMain.state)
+ {
+ default:
+ gMain.state = 0;
+ case 0:
+ ewram0_10.var6dac = is_c1_link_related_active();
+ if (!ewram0_10.var6dac)
+ {
+ ewram0_10.var6dab = 0;
+ gMain.state++;
+ SetMainCallback2(&sub_80EBBE8);
+ }
+ break;
+ case 1:
+ SetVBlankCallback(NULL);
+ break;
+ case 2:
+ ResetPaletteFade();
+ break;
+ case 3:
+ ResetSpriteData();
+ break;
+ case 4:
+ FreeAllSpritePalettes();
+ break;
+ case 5:
+ ResetTasks();
+ break;
+ case 6:
+ remove_some_task();
+ break;
+ case 7:
+ sub_80F1A90();
+ gMain.state++;
+ case 8:
+ if (sub_80F1AC4())
+ return;
+ break;
+ case 9:
+ sub_80F2688();
+ gMain.state++;
+ // fall through
+ case 10:
+ if (sub_80F26BC())
+ return;
+ break;
+ case 11:
+ sub_80F36F0();
+ gMain.state++;
+ case 12:
+ if (sub_80F3724())
+ return;
+ break;
+ case 13:
+ sub_80EBC10();
+ sub_80EBDBC(&sub_80EBDD8);
+ break;
+ case 14:
+ ewram0_10.var6dab = 1;
+ PlaySE(SE_PN_ON);
+ SetMainCallback2(&sub_80EBD90);
+ SetVBlankCallback(&sub_80EBD18);
+ sub_80F1A74();
+ break;
+ }
+
+ gMain.state++;
}
-void sub_80EBBE8() {
- u8 var1;
- if (!ewram0_10.var6dab) {
- var1 = ewram0_10.var6dab;
- do {
- sub_80EBA5C();
- var1 = ewram0_10.var6dab;
- } while (!var1);
- }
+void sub_80EBBE8()
+{
+ while (!ewram0_10.var6dab)
+ sub_80EBA5C();
}
-void sub_80EBC10() {
- u16 i;
- u16 *var1;
-
- gKeyRepeatStartDelay = 0x14;
- ewram0_10.playerPartyCount = CalculatePlayerPartyCount();
- ewram0_10.var6ddc = 0;
- ewram0_10.var9344 = 0;
- ewram0_10.var8768 = 0;
- ewram0_10.varCED0 = 0;
-
- for (i = 0; i < 5; ++i) {
- ewram0_10.var8fff[i] = 0;
- var1 = (u16 *)ewram0_10.var0;
- var1[i*2 + 0x4820] = 0x9B;
- var1[i*2 + 0x4821] = 0x5B;
- }
-
- ewram0_10.var6e95 = 0;
- sub_80EBCA8();
+void sub_80EBC10()
+{
+ u16 i;
+ u16 *var1;
+
+ gKeyRepeatStartDelay = 0x14;
+ ewram0_10.playerPartyCount = CalculatePlayerPartyCount();
+ ewram0_10.var6ddc = 0;
+ ewram0_10.var9344 = 0;
+ ewram0_10.var8768 = 0;
+ ewram0_10.varCED0 = 0;
+
+ for (i = 0; i < 5; ++i)
+ {
+ ewram0_10.var8fff[i] = 0;
+ var1 = (u16 *)ewram0_10.var0;
+ var1[i*2 + 0x4820] = 0x9B;
+ var1[i*2 + 0x4821] = 0x5B;
+ }
+
+ ewram0_10.var6e95 = 0;
+ sub_80EBCA8();
}
-void sub_80EBCA8() {
- ewram0_10.var6db2[0] = 1;
- ewram0_10.var6db2[1] = 2;
- ewram0_10.var6db2[2] = 3;
+void sub_80EBCA8()
+{
+ ewram0_10.var6db2[0] = 1;
+ ewram0_10.var6db2[1] = 2;
+ ewram0_10.var6db2[2] = 3;
- if (FlagGet(FLAG_SYS_RIBBON_GET)) {
- ewram0_10.var6db2[3] = 4;
- }
- else {
- ewram0_10.var6db2[3] = 0;
- }
+ if (FlagGet(FLAG_SYS_RIBBON_GET))
+ ewram0_10.var6db2[3] = 4;
+ else
+ ewram0_10.var6db2[3] = 0;
- ewram0_10.var6db2[4] = 5;
+ ewram0_10.var6db2[4] = 5;
}
-void sub_80EBD18() {
- LoadOam();
- ProcessSpriteCopyRequests();
- TransferPlttBuffer();
- sub_80F1FF0();
+void sub_80EBD18()
+{
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+ sub_80F1FF0();
}
-void sub_80EBD30() {
- LoadOam();
- ProcessSpriteCopyRequests();
- TransferPlttBuffer();
- UpdateRegionMapVideoRegs();
- sub_80EFE7C();
+void sub_80EBD30()
+{
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+ UpdateRegionMapVideoRegs();
+ sub_80EFE7C();
}
-void sub_80EBD4C() {
- LoadOam();
- ProcessSpriteCopyRequests();
- TransferPlttBuffer();
- sub_80F5BF0();
- sub_8089668();
+void sub_80EBD4C()
+{
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+ sub_80F5BF0();
+ sub_8089668();
}
-void sub_80EBD68() {
- LoadOam();
- ProcessSpriteCopyRequests();
- TransferPlttBuffer();
- sub_80F6F64();
+void sub_80EBD68()
+{
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+ sub_80F6F64();
}
-void sub_80EBD80() {
- LoadOam();
- ProcessSpriteCopyRequests();
+void sub_80EBD80()
+{
+ LoadOam();
+ ProcessSpriteCopyRequests();
}
-void sub_80EBD90() {
- ewram0_10.var300();
- AnimateSprites();
- BuildOamBuffer();
- RunTasks();
- UpdatePaletteFade();
- sub_80F19FC();
+void sub_80EBD90()
+{
+ ewram0_10.var300();
+ AnimateSprites();
+ BuildOamBuffer();
+ RunTasks();
+ UpdatePaletteFade();
+ sub_80F19FC();
}
-void sub_80EBDBC(void (*func)(void)) {
- ewram0_10.var300 = func;
- ewram0_10.var304 = 0;
+void sub_80EBDBC(void (*func)(void))
+{
+ ewram0_10.var300 = func;
+ ewram0_10.var304 = 0;
}
-void sub_80EBDD8() {
- switch (ewram0_10.var304) {
- case 0:
- SetVBlankCallback(NULL);
- REG_DISPCNT = 0;
- ewram0_10.var6dad = ewram0_10.var6ddc;
- ewram0_10.var6dae = 5;
- ewram0_10.var304++;
- break;
- case 1:
- sub_80F3FF0();
- ewram0_10.var304++;
- case 2:
- if (sub_80F4024()) return;
- ewram0_10.var304++;
- break;
- case 3:
- sub_80F2598();
- ewram0_10.var304++;
- break;
- case 4:
- sub_80EEE20();
- ewram0_10.var304++;
- case 5:
- if (sub_80EEE54()) return;
- sub_80EEE08();
- ewram0_10.var304++;
- return;
- case 6:
- sub_80EF248(0);
- ewram0_10.var304++;
- case 7:
- if (sub_80EF284(0)) return;
- ewram0_10.var304++;
- break;
- case 8:
- sub_80F1B8C(0);
- ewram0_10.var304++;
- case 9:
- if (sub_80F1BC8(0)) return;
- ewram0_10.var304++;
- break;
- case 10:
- SetVBlankCallback(&sub_80EBD18);
- ewram0_10.var304++;
- break;
- case 11:
- BeginNormalPaletteFade(-1, 0, 0x10, 0, 0);
- ewram0_10.var304++;
- return;
- case 12:
- sub_80EED2C(0);
- ewram0_10.var304++;
- return;
- case 13:
- if (gPaletteFade.active) return;
- ewram0_10.var304++;
- return;
- case 14:
- sub_80F2C80(0);
- ewram0_10.var304++;
- case 15:
- if (sub_80F2CBC(0)) return;
- ewram0_10.var304++;
- break;
- case 16:
- sub_80F1DF0();
- ewram0_10.var304++;
- return;
- case 17:
- if (!sub_80F1E50()) {
- sub_80EF428(0, 0);
- sub_80EBDBC(&sub_80EC268);
+void sub_80EBDD8()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ SetVBlankCallback(NULL);
+ REG_DISPCNT = 0;
+ ewram0_10.var6dad = ewram0_10.var6ddc;
+ ewram0_10.var6dae = 5;
+ ewram0_10.var304++;
+ break;
+ case 1:
+ sub_80F3FF0();
+ ewram0_10.var304++;
+ // fall through
+ case 2:
+ if (!sub_80F4024())
+ ewram0_10.var304++;
+ break;
+ case 3:
+ sub_80F2598();
+ ewram0_10.var304++;
+ break;
+ case 4:
+ sub_80EEE20();
+ ewram0_10.var304++;
+ // fall through
+ case 5:
+ if (!sub_80EEE54())
+ {
+ sub_80EEE08();
+ ewram0_10.var304++;
}
- return;
-
- }
-
+ break;
+ case 6:
+ sub_80EF248(0);
+ ewram0_10.var304++;
+ // fall through
+ case 7:
+ if (!sub_80EF284(0))
+ ewram0_10.var304++;
+ break;
+ case 8:
+ sub_80F1B8C(0);
+ ewram0_10.var304++;
+ // fall through
+ case 9:
+ if (!sub_80F1BC8(0))
+ ewram0_10.var304++;
+ break;
+ case 10:
+ SetVBlankCallback(&sub_80EBD18);
+ ewram0_10.var304++;
+ break;
+ case 11:
+ BeginNormalPaletteFade(-1, 0, 0x10, 0, 0);
+ ewram0_10.var304++;
+ break;
+ case 12:
+ sub_80EED2C(0);
+ ewram0_10.var304++;
+ break;
+ case 13:
+ if (!gPaletteFade.active)
+ ewram0_10.var304++;
+ break;
+ case 14:
+ sub_80F2C80(0);
+ ewram0_10.var304++;
+ // fall through
+ case 15:
+ if (!sub_80F2CBC(0))
+ ewram0_10.var304++;
+ break;
+ case 16:
+ sub_80F1DF0();
+ ewram0_10.var304++;
+ break;
+ case 17:
+ if (!sub_80F1E50())
+ {
+ sub_80EF428(0, 0);
+ sub_80EBDBC(&sub_80EC268);
+ }
+ break;
+ }
}
-void sub_80EC00C() {
- switch (ewram0_10.var304) {
- case 0:
- if (!sub_80EEF78()) {
- SetVBlankCallback(&sub_80EBD80);
- sub_80EED1C();
- ewram0_10.var6dad = ewram0_10.var6ddc;
- ewram0_10.var6dae = 5;
- sub_80EEE08();
+void sub_80EC00C()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ if (!sub_80EEF78())
+ {
+ SetVBlankCallback(&sub_80EBD80);
+ sub_80EED1C();
+ ewram0_10.var6dad = ewram0_10.var6ddc;
+ ewram0_10.var6dae = 5;
+ sub_80EEE08();
+ ewram0_10.var304++;
+ }
+ break;
+ case 1:
+ sub_80EF248(0);
+ ewram0_10.var304++;
+ // fall through
+ case 2:
+ if (!sub_80EF284(0))
+ ewram0_10.var304++;
+ break;
+ case 3:
+ sub_80F1B8C(0);
+ ewram0_10.var304++;
+ // fall through
+ case 4:
+ if (!sub_80F1BC8(0))
+ ewram0_10.var304++;
+ break;
+ case 5:
+ if (!sub_8055870())
+ ewram0_10.var304++;
+ break;
+ case 6:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ SetVBlankCallback(&sub_80EBD18);
+ ewram0_10.var304++;
+ break;
+ case 7:
+ sub_80EED2C(0);
+ ewram0_10.var304++;
+ break;
+ case 8:
+ if (!gPaletteFade.active)
+ ewram0_10.var304++;
+ break;
+ case 9:
+ sub_80F2598();
+ ewram0_10.var304++;
+ break;
+ case 10:
+ sub_80F2C80(0);
+ ewram0_10.var304++;
+ // fall through
+ case 11:
+ if (!sub_80F2CBC(0))
ewram0_10.var304++;
+ break;
+ case 12:
+ sub_80F1DF0();
+ ewram0_10.var304++;
+ break;
+ case 13:
+ if (!sub_80F1E50())
+ {
+ sub_80EF428(0, ewram0_10.var6dad);
+ sub_80EBDBC(&sub_80EC268);
}
break;
- case 1:
- sub_80EF248(0);
- ewram0_10.var304++;
- case 2:
- if (sub_80EF284(0)) return;
- ewram0_10.var304++;
- break;
- case 3:
- sub_80F1B8C(0);
- ewram0_10.var304++;
- case 4:
- if (sub_80F1BC8(0)) return;
- ewram0_10.var304++;
- break;
- case 5:
- if (sub_8055870()) return;
- ewram0_10.var304++;
- break;
- case 6:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
- SetVBlankCallback(&sub_80EBD18);
- ewram0_10.var304++;
- break;
- case 7:
- sub_80EED2C(0);
- ewram0_10.var304++;
- break;
- case 8:
- if (gPaletteFade.active) return;
- ewram0_10.var304++;
- return;
- case 9:
- sub_80F2598();
- ewram0_10.var304++;
- break;
- case 10:
- sub_80F2C80(0);
- ewram0_10.var304++;
- case 11:
- if (sub_80F2CBC(0)) return;
- ewram0_10.var304++;
- return;
- case 12:
- sub_80F1DF0();
- ewram0_10.var304++;
- return;
- case 13:
- if (sub_80F1E50()) return;
- sub_80EF428(0, ewram0_10.var6dad);
- sub_80EBDBC(&sub_80EC268);
- }
+ }
}
-void sub_80EC210() {
- switch (ewram0_10.var304) {
- case 0:
- sub_80F2D04(1);
- sub_80EE9C0(0, ewram0_10.var6ddc, 0);
- ewram0_10.var304++;
+void sub_80EC210()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ sub_80F2D04(1);
+ sub_80EE9C0(0, ewram0_10.var6ddc, 0);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (!sub_80EEA0C())
+ sub_80EBDBC(&sub_80EC268);
break;
- case 1:
- if (sub_80EEA0C()) return;
- sub_80EBDBC(&sub_80EC268);
- }
+ }
}
-void sub_80EC268() {
- u8 var1;
- switch (ewram0_10.var304) {
- case 0:
- if (sub_80EEC10() != 0) {
- PlaySE(0x5);
- sub_80EF428(0, ewram0_10.var6dad);
- sub_80EED9C();
- break;
- }
- else {
- if (gMain.newKeys & A_BUTTON) {
- ewram0_10.var6ddc = ewram0_10.var6dad;
- switch (ewram0_10.var6db2[ewram0_10.var6ddc] - 1) {
- case 0:
- PlaySE(5);
- sub_80EBDBC(&sub_80EC4A0);
- break;
- case 1:
- PlaySE(5);
- sub_80EBDBC(&sub_80EC81C);
- break;
- case 4:
- ewram0_10.var304 = 1;
- break;
- case 3:
- ewram0_10.var304 = 2;
- break;
- case 2:
- ewram0_10.var304 = 6;
- break;
- }
+void sub_80EC268()
+{
+ u8 var1;
+
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ if (sub_80EEC10() != 0)
+ {
+ PlaySE(SE_SELECT);
+ sub_80EF428(0, ewram0_10.var6dad);
+ sub_80EED9C();
+ }
+ else
+ {
+ if (gMain.newKeys & A_BUTTON)
+ {
+ ewram0_10.var6ddc = ewram0_10.var6dad;
+ switch (ewram0_10.var6db2[ewram0_10.var6ddc] - 1)
+ {
+ case 0:
+ PlaySE(SE_SELECT);
+ sub_80EBDBC(&sub_80EC4A0);
+ break;
+ case 1:
+ PlaySE(SE_SELECT);
+ sub_80EBDBC(&sub_80EC81C);
+ break;
+ case 4:
+ ewram0_10.var304 = 1;
+ break;
+ case 3:
+ ewram0_10.var304 = 2;
+ break;
+ case 2:
+ ewram0_10.var304 = 6;
+ break;
+ }
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ ewram0_10.var304 = 1;
+ }
+ }
+ break;
+ case 1:
+ sub_80F208C();
+ sub_80EBDBC(&sub_80EE96C);
+ break;
+ case 2:
+ sub_80F6208();
+ ewram0_10.var304++;
+ // fall through
+ case 3:
+ if (!sub_80F6250())
+ ewram0_10.var304++;
+ break;
+ case 4:
+ if (!sub_8055870())
+ {
+ if (ewram0_10.var8fe8 != 0)
+ {
+ PlaySE(SE_SELECT);
+ sub_80EBDBC(&sub_80EDB88);
}
- else if (gMain.newKeys & B_BUTTON) {
- ewram0_10.var304 = 1;
+ else
+ {
+ PlaySE(0x20);
+ sub_80EF428(0, 5);
+ ewram0_10.var304 = 0xFF;
}
- break;
}
- case 1:
- sub_80F208C();
- sub_80EBDBC(&sub_80EE96C);
- break;
- case 2:
- sub_80F6208();
- ewram0_10.var304++;
- case 3:
- if (sub_80F6250()) return;
- ewram0_10.var304++;
break;
- case 4:
- if (sub_8055870()) return;
- if (ewram0_10.var8fe8 != 0) {
- PlaySE(0x5);
- sub_80EBDBC(&sub_80EDB88);
- break;
- }
- else {
- PlaySE(0x20);
- sub_80EF428(0, 5);
- ewram0_10.var304 = 0xFF;
- break;
- }
- case 6:
- sub_80F6C20();
- if (ewram0_10.varD158 != 0) {
- PlaySE(0x5);
- sub_80EBDBC(&sub_80EE3D8);
- break;
- }
- else {
- PlaySE(0x20);
- sub_80EF428(0, 6);
- ewram0_10.var304 = 0xFF;
- break;
- }
- case 0xFF:
- if ((var1 = sub_80EEC10()) != 0) {
- PlaySE(0x5);
- sub_80EF428(0, ewram0_10.var6dad);
- ewram0_10.var304 = 0;
- sub_80EED9C();
- }
- else {
- if (!(gMain.newKeys & (A_BUTTON | B_BUTTON))) return;
+ case 6:
+ sub_80F6C20();
+ if (ewram0_10.varD158 != 0)
+ {
+ PlaySE(SE_SELECT);
+ sub_80EBDBC(&sub_80EE3D8);
+ }
+ else
+ {
+ PlaySE(0x20);
+ sub_80EF428(0, 6);
+ ewram0_10.var304 = 0xFF;
+ }
+ break;
+ case 0xFF:
+ if ((var1 = sub_80EEC10()) != 0)
+ {
+ PlaySE(SE_SELECT);
+ sub_80EF428(0, ewram0_10.var6dad);
+ ewram0_10.var304 = 0;
+ sub_80EED9C();
+ }
+ else if (gMain.newKeys & (A_BUTTON | B_BUTTON))
+ {
sub_80EF428(0, ewram0_10.var6dad);
ewram0_10.var304 = var1;
- break;
}
- }
+ break;
+ }
}
-void sub_80EC4A0() {
- u32 var1;
- u32 var2;
- switch (ewram0_10.var304) {
- case 0:
- sub_80F1E84();
- sub_80F2D04(0);
- ewram0_10.var304++;
- break;
- case 1:
- if (!sub_80F1F10()) {
- if (gSaveBlock2.regionMapZoom) {
- var1 = 0x7;
- }
- else var1 = 0x8;
- sub_80EEFBC(var1);
+void sub_80EC4A0()
+{
+ u32 var1;
+
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ sub_80F1E84();
+ sub_80F2D04(0);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (!sub_80F1F10())
+ {
+ if (gSaveBlock2.regionMapZoom)
+ var1 = 0x7;
+ else
+ var1 = 0x8;
+ sub_80EEFBC(var1);
+ ewram0_10.var304++;
+ }
+ break;
+ case 2:
+ if (!sub_80EEF34())
+ {
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, 0);
+ ewram0_10.var304++;
+ }
+ break;
+ case 3:
+ if (!gPaletteFade.active)
+ {
+ SetVBlankCallback(NULL);
+ sub_80EED0C();
ewram0_10.var304++;
}
- break;
- case 2:
- if (!(var2 = sub_80EEF34())) {
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, var2);
+ break;
+ case 4:
+ sub_80F2620();
+ ewram0_10.var304++;
+ break;
+ case 5:
+ sub_80EF814();
+ ewram0_10.var304++;
+ break;
+ case 6:
+ sub_80EF840();
+ ewram0_10.var304++;
+ // fall through
+ case 7:
+ if (!sub_80EF874())
ewram0_10.var304++;
- }
- break;
- case 3:
- if (gPaletteFade.active) return;
- SetVBlankCallback(NULL);
- sub_80EED0C();
- ewram0_10.var304++;
- break;
- case 4:
- sub_80F2620();
- ewram0_10.var304++;
- break;
- case 5:
- sub_80EF814();
- ewram0_10.var304++;
- break;
- case 6:
- sub_80EF840();
- ewram0_10.var304++;
- case 7:
- if (sub_80EF874()) return;
- ewram0_10.var304++;
- break;
- case 8:
- sub_80F2C80(0x4);
- ewram0_10.var304++;
- case 9:
- if (sub_80F2CBC(0x4)) return;
- ewram0_10.var304++;
- break;
- case 0xA:
- sub_80F2DD8();
- SetVBlankCallback(&sub_80EBD30);
- ewram0_10.var304++;
- break;
- case 0xB:
- if (sub_8055870()) return;
- ewram0_10.var304++;
- break;
- case 0xC:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
- ewram0_10.var304++;
- break;
- case 0xD:
- sub_80EED2C(0x1);
- ewram0_10.var304++;
+ break;
+ case 8:
+ sub_80F2C80(0x4);
+ ewram0_10.var304++;
+ // fall through
+ case 9:
+ if (!sub_80F2CBC(0x4))
+ ewram0_10.var304++;
+ break;
+ case 0xA:
+ sub_80F2DD8();
+ SetVBlankCallback(&sub_80EBD30);
+ ewram0_10.var304++;
+ break;
+ case 0xB:
+ if (!sub_8055870())
+ ewram0_10.var304++;
+ break;
+ case 0xC:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ ewram0_10.var304++;
+ break;
+ case 0xD:
+ sub_80EED2C(0x1);
+ ewram0_10.var304++;
+ break;
+ case 0xE:
+ if (!gPaletteFade.active)
+ sub_80EBDBC(&sub_80EC67C);
break;
- case 0xE:
- if (gPaletteFade.active) return;
- sub_80EBDBC(&sub_80EC67C);
- }
+ }
}
-void sub_80EC67C() {
- u32 var1;
- u32 var2;
- switch (ewram0_10.var304) {
- case 0:
- switch (sub_80FAB60()) {
- case 1:
- sub_80EED9C();
- break;
- case 3:
- sub_80EF9F8();
- break;
- case 4:
- PlaySE(0x5);
- ewram0_10.var304 = 1;
- break;
- case 5:
- PlaySE(0x5);
- ewram0_10.var304 = 4;
- break;
- }
- break;
- case 1:
- if (!ewram0_10.var6e90) {
+void sub_80EC67C()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ switch (sub_80FAB60())
+ {
+ case 1:
+ sub_80EED9C();
+ break;
+ case 3:
+ sub_80EF9F8();
+ break;
+ case 4:
+ PlaySE(SE_SELECT);
+ ewram0_10.var304 = 1;
+ break;
+ case 5:
+ PlaySE(SE_SELECT);
+ ewram0_10.var304 = 4;
+ break;
+ }
+ break;
+ case 1:
+ if (!ewram0_10.var6e90)
+ {
+ sub_80FAEC4();
+ ewram0_10.var304++;
+ }
+ else if (!sub_80EFBDC(1))
+ {
sub_80FAEC4();
ewram0_10.var304++;
- break;
}
- if (sub_80EFBDC(1)) return;
- sub_80FAEC4();
- ewram0_10.var304++;
- break;
- case 2:
- if ((var2 = sub_80FAFC0())) return;
- if (!ewram0_10.var6e90) {
+ break;
+ case 2:
+ if (!sub_80FAFC0())
+ {
+ if (!ewram0_10.var6e90)
+ {
+ sub_80EFBB0();
+ ewram0_10.var304 = 0;
+ }
+ else
+ {
+ ewram0_10.var304++;
+ }
+ }
+ break;
+ case 3:
+ if (!sub_80EFBDC(0))
+ {
sub_80EFBB0();
- ewram0_10.var304 = var2;
- break;
+ ewram0_10.var304 = 0;
+ }
+ break;
+ case 4:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
+ ewram0_10.var304++;
+ break;
+ case 5:
+ if (!gPaletteFade.active)
+ {
+ sub_80F2DF4();
+ sub_80F2D04(0x4);
+ gSaveBlock2.regionMapZoom = (ewram0_10.var6e90 == 1) ? 1 : 0;
+ sub_80EBDBC(&sub_80EC00C);
}
- ewram0_10.var304++;
- break;
- case 3:
- if ((var1 = sub_80EFBDC(0))) return;
- sub_80EFBB0();
- ewram0_10.var304 = var1;
- break;
- case 4:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
- ewram0_10.var304++;
break;
- case 5:
- if (gPaletteFade.active) return;
- sub_80F2DF4();
- sub_80F2D04(0x4);
- gSaveBlock2.regionMapZoom = (ewram0_10.var6e90 == 1) ? 1 : 0;
- sub_80EBDBC(&sub_80EC00C);
- }
+ }
}
-void sub_80EC81C() {
- switch (ewram0_10.var304) {
- case 0:
- sub_80F2D04(0);
- sub_80EE9C0(1, 0, 1);
- ewram0_10.var304++;
+void sub_80EC81C()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ sub_80F2D04(0);
+ sub_80EE9C0(1, 0, 1);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (!sub_80EEA0C())
+ sub_80EBDBC(&sub_80EC86C);
break;
- case 1:
- if (sub_80EEA0C()) return;
- sub_80EBDBC(&sub_80EC86C);
- }
+ }
}
-void sub_80EC86C() {
- switch (ewram0_10.var304) {
- case 0:
- if (sub_80EEC90()) {
- PlaySE(0x5);
- sub_80EF428(1, ewram0_10.var6dad);
- sub_80EED9C();
- break;
- }
- if (gMain.newKeys & A_BUTTON) {
- PlaySE(0x5);
- ewram0_10.var6df0 = ewram0_10.var6dad;
- switch (ewram0_10.var6df0) {
- case 0:
- sub_80EBDBC(&sub_80ED620);
- break;
- case 1:
- sub_80EBDBC(&sub_80EC960);
- break;
- case 2:
- sub_80EBDBC(&sub_80EC210);
- break;
- }
- break;
- }
- else if (gMain.newKeys & B_BUTTON) {
- PlaySE(0x5);
- ewram0_10.var6df0 = 0x2;
- ewram0_10.var6dad = 0x2;
- ewram0_10.var304++;
- break;
- }
+void sub_80EC86C()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ if (sub_80EEC90())
+ {
+ PlaySE(SE_SELECT);
+ sub_80EF428(1, ewram0_10.var6dad);
+ sub_80EED9C();
+ }
+ else if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ ewram0_10.var6df0 = ewram0_10.var6dad;
+ switch (ewram0_10.var6df0)
+ {
+ case 0:
+ sub_80EBDBC(&sub_80ED620);
+ break;
+ case 1:
+ sub_80EBDBC(&sub_80EC960);
+ break;
+ case 2:
+ sub_80EBDBC(&sub_80EC210);
+ break;
+ }
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ ewram0_10.var6df0 = 0x2;
+ ewram0_10.var6dad = 0x2;
+ ewram0_10.var304++;
+ }
+ break;
+ case 1:
+ if (!sub_80F1E6C())
+ sub_80EBDBC(&sub_80EC210);
break;
- case 1:
- if (sub_80F1E6C()) return;
- sub_80EBDBC(&sub_80EC210);
- }
+ }
}
-void sub_80EC960() {
- switch (ewram0_10.var304) {
- case 0:
- sub_80EE9C0(2, 0, 5);
- ewram0_10.var304++;
+void sub_80EC960()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ sub_80EE9C0(2, 0, 5);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (!sub_80EEA0C())
+ sub_80EBDBC(&sub_80ECC08);
break;
- case 1:
- if (sub_80EEA0C()) return;
- sub_80EBDBC(&sub_80ECC08);
- }
+ }
}
-void sub_80EC9A8() {
- switch (ewram0_10.var304) {
- case 0:
- sub_80F2D04(5);
- sub_80EE9C0(1, ewram0_10.var6df0, 0xC);
- ewram0_10.var304++;
+void sub_80EC9A8()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ sub_80F2D04(5);
+ sub_80EE9C0(1, ewram0_10.var6df0, 0xC);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (!sub_80EEA0C())
+ {
+ sub_80EBDBC(&sub_80EC86C);
+ sub_80EF428(1, ewram0_10.var6dad);
+ }
break;
- case 1:
- if (sub_80EEA0C()) return;
- sub_80EBDBC(&sub_80EC86C);
- sub_80EF428(1, ewram0_10.var6dad);
- }
+ }
}
-void sub_80ECA10() {
- switch (ewram0_10.var304) {
- case 0:
- if (sub_80EEF78()) return;
- SetVBlankCallback(&sub_80EBD80);
- sub_80EED1C();
- ewram0_10.var6dad = ewram0_10.var6df0;
- ewram0_10.var6dae = 0x3;
- sub_80EEE08();
- ewram0_10.var304++;
- break;
- case 1:
- sub_80EF248(0x1);
- ewram0_10.var304++;
- case 2:
- if (sub_80EF284(0x1)) return;
- ewram0_10.var304++;
- break;
- case 3:
- sub_80F1B8C(0x1);
- ewram0_10.var304++;
- case 4:
- if (sub_80F1BC8(0x1)) return;
- ewram0_10.var304++;
- break;
- case 5:
- if (sub_8055870()) return;
- ewram0_10.var304++;
- break;
- case 6:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
- SetVBlankCallback(&sub_80EBD18);
- ewram0_10.var304++;
- break;
- case 7:
- sub_80EED2C(0);
- ewram0_10.var304++;
- break;
- case 8:
- sub_80F2598();
- ewram0_10.var304++;
- break;
- case 9:
- if (gPaletteFade.active) return;
- ewram0_10.var304++;
- break;
- case 0xA:
- sub_80F2C80(0x1);
- ewram0_10.var304++;
-
- case 0xB:
- if (sub_80F2CBC(0x1)) return;
- ewram0_10.var304++;
- break;
- case 0xC:
- sub_80F1DF0();
- ewram0_10.var304++;
+void sub_80ECA10()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ if (!sub_80EEF78())
+ {
+ SetVBlankCallback(&sub_80EBD80);
+ sub_80EED1C();
+ ewram0_10.var6dad = ewram0_10.var6df0;
+ ewram0_10.var6dae = 0x3;
+ sub_80EEE08();
+ ewram0_10.var304++;
+ }
+ break;
+ case 1:
+ sub_80EF248(0x1);
+ ewram0_10.var304++;
+ case 2:
+ if (!sub_80EF284(0x1))
+ ewram0_10.var304++;
+ break;
+ case 3:
+ sub_80F1B8C(0x1);
+ ewram0_10.var304++;
+ case 4:
+ if (!sub_80F1BC8(0x1))
+ ewram0_10.var304++;
+ break;
+ case 5:
+ if (sub_8055870()) return;
+ ewram0_10.var304++;
+ break;
+ case 6:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ SetVBlankCallback(&sub_80EBD18);
+ ewram0_10.var304++;
+ break;
+ case 7:
+ sub_80EED2C(0);
+ ewram0_10.var304++;
+ break;
+ case 8:
+ sub_80F2598();
+ ewram0_10.var304++;
+ break;
+ case 9:
+ if (!gPaletteFade.active)
+ ewram0_10.var304++;
+ break;
+ case 0xA:
+ sub_80F2C80(0x1);
+ ewram0_10.var304++;
+ // fall through
+ case 0xB:
+ if (!sub_80F2CBC(0x1))
+ ewram0_10.var304++;
+ break;
+ case 0xC:
+ sub_80F1DF0();
+ ewram0_10.var304++;
+ break;
+ case 0xD:
+ if (!sub_80F1E50())
+ {
+ sub_80EF428(1, ewram0_10.var6dad);
+ sub_80EBDBC(&sub_80EC86C);
+ }
break;
- case 0xD:
- if (sub_80F1E50()) return;
- sub_80EF428(1, ewram0_10.var6dad);
- sub_80EBDBC(&sub_80EC86C);
- }
+ }
}
-void sub_80ECC08() {
- switch (ewram0_10.var304) {
- case 0:
- if (sub_80EEC90()) {
- PlaySE(0x5);
- sub_80EF428(2, ewram0_10.var6dad);
- sub_80EED9C();
- break;
- }
+void sub_80ECC08()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ if (sub_80EEC90())
+ {
+ PlaySE(SE_SELECT);
+ sub_80EF428(2, ewram0_10.var6dad);
+ sub_80EED9C();
+ }
+ else if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ switch ((s8)ewram0_10.var6dad)
+ {
+ case 0:
+ ewram0_10.var87D8 = 22;
+ break;
+ case 1:
+ ewram0_10.var87D8 = 23;
+ break;
+ case 2:
+ ewram0_10.var87D8 = 24;
+ break;
+ case 3:
+ ewram0_10.var87D8 = 33;
+ break;
+ case 4:
+ ewram0_10.var87D8 = 47;
+ break;
+ case 5:
+ sub_80EBDBC(&sub_80EC9A8);
+ return;
+ }
- if (gMain.newKeys & A_BUTTON) {
- PlaySE(0x5);
- switch ((s8)ewram0_10.var6dad) {
- case 0:
- ewram0_10.var87D8 = 22;
- break;
- case 1:
- ewram0_10.var87D8 = 23;
- break;
- case 2:
- ewram0_10.var87D8 = 24;
- break;
- case 3:
- ewram0_10.var87D8 = 33;
- break;
- case 4:
- ewram0_10.var87D8 = 47;
- break;
- case 5:
- sub_80EBDBC(&sub_80EC9A8);
- return;
- }
+ ewram0_10.var6dfc = ewram0_10.var6dad;
+ ewram0_10.var76aa = 1;
+ sub_80EBDBC(&sub_80ED01C);
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ ewram0_10.var6dad = 0x5;
+ ewram0_10.var304++;
+ }
+ break;
+ case 1:
+ if (!sub_80F1E6C())
+ sub_80EBDBC(&sub_80EC9A8);
+ break;
+ }
+}
- ewram0_10.var6dfc = ewram0_10.var6dad;
- ewram0_10.var76aa = 1;
- sub_80EBDBC(&sub_80ED01C);
+void sub_80ECD80()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (!gPaletteFade.active)
+ ewram0_10.var304++;
+ break;
+ case 2:
+ if (!sub_80EEF78())
+ {
+ SetVBlankCallback(&sub_80EBD80);
+ ewram0_10.var304++;
}
- else if (gMain.newKeys & B_BUTTON) {
- PlaySE(0x5);
- ewram0_10.var6dad = 0x5;
+ break;
+ case 3:
+ sub_80EED1C();
+ sub_80F3130();
+ ewram0_10.var304++;
+ break;
+ case 4:
+ sub_80F2D6C(0x1);
+ ewram0_10.var304++;
+ break;
+ case 5:
+ sub_80F2D6C(0x5);
+ ewram0_10.var304++;
+ break;
+ case 6:
+ ewram0_10.var6dad = ewram0_10.var6dfc;
+ ewram0_10.var6dae = 0x6;
+ sub_80EEE08();
+ ewram0_10.var304++;
+ break;
+ case 7:
+ sub_80EF248(0x2);
+ ewram0_10.var304++;
+ // fall through
+ case 8:
+ if (!sub_80EF284(0x2))
+ ewram0_10.var304++;
+ break;
+ case 9:
+ sub_80F1B8C(0x2);
+ ewram0_10.var304++;
+ // fall through
+ case 10:
+ if (!sub_80F1BC8(0x2))
+ ewram0_10.var304++;
+ break;
+ case 11:
+ if (!sub_8055870())
+ ewram0_10.var304++;
+ break;
+ case 12:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ SetVBlankCallback(&sub_80EBD18);
+ ewram0_10.var304++;
+ break;
+ case 13:
+ sub_80EED2C(0);
+ ewram0_10.var304++;
+ break;
+ case 14:
+ sub_80F2598();
+ ewram0_10.var304++;
+ break;
+ case 15:
+ if (!gPaletteFade.active)
+ ewram0_10.var304++;
+ break;
+ case 16:
+ sub_80F2C80(0x1);
+ ewram0_10.var304++;
+ // fall through
+ case 17:
+ if (!sub_80F2CBC(0x1))
+ {
+ ewram0_10.var306 = 0;
ewram0_10.var304++;
}
+ break;
+ case 18:
+ sub_80F2C80(0x5);
+ ewram0_10.var304++;
+ // fall through
+ case 19:
+ if (!sub_80F2CBC(0x5))
+ {
+ sub_80F1DF0();
+ ewram0_10.var304++;
+ }
+ break;
+ case 20:
+ if (!sub_80F1E50())
+ {
+ sub_80EF428(2, ewram0_10.var6dad);
+ sub_80EBDBC(&sub_80ECC08);
+ }
break;
- case 1:
- if (sub_80F1E6C()) return;;
- sub_80EBDBC(&sub_80EC9A8);
- break;
- }
-}
-
-void sub_80ECD80() {
- u16 var1;
- switch (ewram0_10.var304) {
- case 0:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
- ewram0_10.var304++;
- break;
- case 1:
- if (gPaletteFade.active) return;
- ewram0_10.var304++;
- break;
- case 2:
- if (sub_80EEF78()) return;
- SetVBlankCallback(&sub_80EBD80);
- ewram0_10.var304++;
- break;
- case 3:
- sub_80EED1C();
- sub_80F3130();
- ewram0_10.var304++;
- break;
- case 4:
- sub_80F2D6C(0x1);
- ewram0_10.var304++;
- break;
- case 5:
- sub_80F2D6C(0x5);
- ewram0_10.var304++;
- break;
- case 6:
- ewram0_10.var6dad = ewram0_10.var6dfc;
- ewram0_10.var6dae = 0x6;
- sub_80EEE08();
- ewram0_10.var304++;
- break;
- case 7:
- sub_80EF248(0x2);
- ewram0_10.var304++;
- case 8:
- if (sub_80EF284(0x2)) return;
- ewram0_10.var304++;
- break;
- case 9:
- sub_80F1B8C(0x2);
- ewram0_10.var304++;
- case 10:
- if (sub_80F1BC8(0x2)) return;
- ewram0_10.var304++;
- break;
- case 11:
- if (sub_8055870()) return;
- ewram0_10.var304++;
- break;
- case 12:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
- SetVBlankCallback(&sub_80EBD18);
- ewram0_10.var304++;
- break;
- case 13:
- sub_80EED2C(0);
- ewram0_10.var304++;
- break;
- case 14:
- sub_80F2598();
- ewram0_10.var304++;
- break;
- case 15:
- if (gPaletteFade.active) return;
- ewram0_10.var304++;
- break;
- case 16:
- sub_80F2C80(0x1);
- ewram0_10.var304++;
- case 17:
- if ((var1 = sub_80F2CBC(0x1))) return;
- ewram0_10.var306 = var1;
- ewram0_10.var304++;
- break;
- case 18:
- sub_80F2C80(0x5);
- ewram0_10.var304++;
- case 19:
- if (sub_80F2CBC(0x5)) return;
- sub_80F1DF0();
- ewram0_10.var304++;
- break;
- case 20:
- if (sub_80F1E50()) return;
- sub_80EF428(2, ewram0_10.var6dad);
- sub_80EBDBC(&sub_80ECC08);
- }
+ }
}
-void sub_80ED01C() {
- u16 var1;
- u16 var3;
- switch (ewram0_10.var304) {
- case 0:
- sub_80F1E84();
- sub_80F2D04(0x1);
- sub_80F2D04(0x5);
- ewram0_10.var304++;
- break;
- case 1:
- if (sub_80F1F10()) return;
- sub_80EEFBC(0);
- ewram0_10.var304++;
- break;
- case 2:
- if ((var1 = sub_80EEF34())) return;
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, var1);
- ewram0_10.var304++;
- break;
- case 3:
- if (gPaletteFade.active) return;
- SetVBlankCallback(NULL);
- sub_80EED0C();
- sub_80EF814();
- ewram0_10.var304++;
- break;
- case 4:
- sub_80F2620();
- ewram0_10.var304++;
- break;
- case 5:
- sub_80F4D44();
- ewram0_10.var304++;
- case 6:
- if (!sub_80F4D88()) {
- ewram0_10.var304 += 2;
- break;
+void sub_80ED01C()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ sub_80F1E84();
+ sub_80F2D04(0x1);
+ sub_80F2D04(0x5);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (!sub_80F1F10())
+ {
+ sub_80EEFBC(0);
+ ewram0_10.var304++;
}
- ewram0_10.var304++;
- break;
- case 7:
- if (sub_8055870()) return;
- ewram0_10.var304--;
- break;
- case 8:
- if (sub_8055870()) return;
- ewram0_10.var304++;
- break;
- case 9:
- sub_80F0264(0);
- ewram0_10.var304++;
- case 10:
- if (sub_80F02A0()) return;
- ewram0_10.var304++;
- break;
- case 11:
- sub_80F3008(0);
- ewram0_10.var304++;
- break;
- case 12:
- if (sub_8055870()) return;
- ewram0_10.var304++;
- break;
- case 13:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
- SetVBlankCallback(&sub_80EBD18);
- ewram0_10.var304++;
- break;
- case 14:
- sub_80EED2C(0x4);
- ewram0_10.var304++;
- break;
- case 15:
- if (gPaletteFade.active) return;
- ewram0_10.var306 = (u8)(gPaletteFade.active << 24);
- ewram0_10.var304++;
- break;
- case 16:
- sub_80F2C80(0x1);
- ewram0_10.var304++;
- case 17:
- if ((var3 = sub_80F2CBC(0x1))) return;
- ewram0_10.var306 = var3;
- ewram0_10.var304++;
- break;
- case 18:
- sub_80F2C80(ewram0_10.var6dfc + 7);
- ewram0_10.var304++;
- case 19:
- if (sub_80F2CBC(ewram0_10.var6dfc + 7)) return;
- sub_80EBDBC(&sub_80ED31C);
- break;
- }
+ break;
+ case 2:
+ if (!sub_80EEF34())
+ {
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, 0);
+ ewram0_10.var304++;
+ }
+ break;
+ case 3:
+ if (!gPaletteFade.active)
+ {
+ SetVBlankCallback(NULL);
+ sub_80EED0C();
+ sub_80EF814();
+ ewram0_10.var304++;
+ }
+ break;
+ case 4:
+ sub_80F2620();
+ ewram0_10.var304++;
+ break;
+ case 5:
+ sub_80F4D44();
+ ewram0_10.var304++;
+ // fall through
+ case 6:
+ if (!sub_80F4D88())
+ ewram0_10.var304 += 2;
+ else
+ ewram0_10.var304 += 1;
+ break;
+ case 7:
+ if (!sub_8055870())
+ ewram0_10.var304--;
+ break;
+ case 8:
+ if (!sub_8055870())
+ ewram0_10.var304++;
+ break;
+ case 9:
+ sub_80F0264(0);
+ ewram0_10.var304++;
+ // fall through
+ case 10:
+ if (!sub_80F02A0())
+ ewram0_10.var304++;
+ break;
+ case 11:
+ sub_80F3008(0);
+ ewram0_10.var304++;
+ break;
+ case 12:
+ if (!sub_8055870())
+ ewram0_10.var304++;
+ break;
+ case 13:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ SetVBlankCallback(&sub_80EBD18);
+ ewram0_10.var304++;
+ break;
+ case 14:
+ sub_80EED2C(0x4);
+ ewram0_10.var304++;
+ break;
+ case 15:
+ if (!gPaletteFade.active)
+ {
+ ewram0_10.var306 = 0;
+ ewram0_10.var304++;
+ }
+ break;
+ case 16:
+ sub_80F2C80(0x1);
+ ewram0_10.var304++;
+ // fall through
+ case 17:
+ if (!sub_80F2CBC(0x1))
+ {
+ ewram0_10.var306 = 0;
+ ewram0_10.var304++;
+ }
+ break;
+ case 18:
+ sub_80F2C80(ewram0_10.var6dfc + 7);
+ ewram0_10.var304++;
+ // fall through
+ case 19:
+ if (!sub_80F2CBC(ewram0_10.var6dfc + 7))
+ sub_80EBDBC(&sub_80ED31C);
+ break;
+ }
}
-void sub_80ED31C() {
- switch (ewram0_10.var304) {
- case 0:
- switch (sub_80F5DD4()) {
- case 1:
- PlaySE(0x5);
+void sub_80ED31C()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ switch (sub_80F5DD4())
+ {
+ case 1:
+ PlaySE(SE_SELECT);
+ ShowMapNamePopUpWindow();
+ break;
+ case 2:
+ PlaySE(SE_SELECT);
+ ewram0_10.var304++;
+ break;
+ default:
+ if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_80EBDBC(&sub_80ED4D8);
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_80EBDBC(&sub_80ECD80);
+ }
+ break;
+ }
+ break;
+ case 1:
+ if (!sub_80F0718())
+ {
ShowMapNamePopUpWindow();
- break;
- case 2:
- PlaySE(0x5);
+ sub_80F3264();
ewram0_10.var304++;
- break;
- default:
- if (gMain.newKeys & A_BUTTON) {
- PlaySE(0x5);
- sub_80EBDBC(&sub_80ED4D8);
- }
- else if (gMain.newKeys & B_BUTTON) {
- PlaySE(0x5);
- sub_80EBDBC(&sub_80ECD80);
- }
- break;
}
- break;
- case 1:
- if (sub_80F0718()) return;
- ShowMapNamePopUpWindow();
- sub_80F3264();
- ewram0_10.var304++;
- break;
- case 2:
- if (sub_8055870()) return;
- ewram0_10.var304 = 0;
- break;
- }
+ break;
+ case 2:
+ if (!sub_8055870())
+ ewram0_10.var304 = 0;
+ break;
+ }
}
-void sub_80ED3D0() {
- switch (ewram0_10.var304) {
- case 0:
- SetVBlankCallback(NULL);
- ewram0_10.var304++;
- break;
- case 1:
- sub_80EED0C();
- sub_80F6134();
- ewram0_10.var304++;
- break;
- case 2:
- sub_80EEFBC(0);
- ewram0_10.var304++;
- break;
- case 3:
- sub_80F0264(0);
- ewram0_10.var304++;
- case 4:
- if (sub_80F02A0()) return;
- ewram0_10.var304++;
- break;
- case 5:
- if (sub_8055870()) return;
- ewram0_10.var304++;
- break;
- case 6:
- sub_80F3008(0);
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
- SetVBlankCallback(&sub_80EBD18);
- ewram0_10.var304++;
- break;
- case 7:
- sub_80EED2C(0x4);
- ewram0_10.var304++;
+void sub_80ED3D0()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ SetVBlankCallback(NULL);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ sub_80EED0C();
+ sub_80F6134();
+ ewram0_10.var304++;
+ break;
+ case 2:
+ sub_80EEFBC(0);
+ ewram0_10.var304++;
+ break;
+ case 3:
+ sub_80F0264(0);
+ ewram0_10.var304++;
+ // fall through
+ case 4:
+ if (!sub_80F02A0())
+ ewram0_10.var304++;
+ break;
+ case 5:
+ if (!sub_8055870())
+ ewram0_10.var304++;
+ break;
+ case 6:
+ sub_80F3008(0);
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ SetVBlankCallback(&sub_80EBD18);
+ ewram0_10.var304++;
+ break;
+ case 7:
+ sub_80EED2C(0x4);
+ ewram0_10.var304++;
+ break;
+ case 8:
+ if (!gPaletteFade.active)
+ sub_80EBDBC(&sub_80ED31C);
break;
- case 8:
- if (gPaletteFade.active) return;
- sub_80EBDBC(&sub_80ED31C);
- }
+ }
}
-void sub_80ED4D8() {
- switch (ewram0_10.var304) {
- case 0:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
- ewram0_10.var304++;
- break;
- case 1:
- if (gPaletteFade.active) return;
- SetVBlankCallback(NULL);
- sub_80EED0C();
- sub_80F3130();
- ewram0_10.var304++;
- break;
- case 2:
- if (sub_8055870()) return;
- ewram0_10.var304++;
- break;
- case 3:
- sub_80F4CF0();
- ewram0_10.var304++;
- break;
- case 4:
- sub_80EFF34();
- ewram0_10.var304++;
- case 5:
- if (sub_80EFF68()) return;
- ewram0_10.var304++;
- break;
- case 6:
- sub_80F35B4();
- sub_80EEFBC(0x2);
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
- SetVBlankCallback(sub_80EBD4C);
- ewram0_10.var304++;
- break;
- case 7:
- sub_80EED2C(0x2);
- ewram0_10.var304++;
- break;
- case 8:
- if (gPaletteFade.active) return;
- sub_80EBDBC(&sub_80ED858);
- break;
- }
+void sub_80ED4D8()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (!gPaletteFade.active)
+ {
+ SetVBlankCallback(NULL);
+ sub_80EED0C();
+ sub_80F3130();
+ ewram0_10.var304++;
+ }
+ break;
+ case 2:
+ if (!sub_8055870())
+ ewram0_10.var304++;
+ break;
+ case 3:
+ sub_80F4CF0();
+ ewram0_10.var304++;
+ break;
+ case 4:
+ sub_80EFF34();
+ ewram0_10.var304++;
+ // fall through
+ case 5:
+ if (!sub_80EFF68())
+ ewram0_10.var304++;
+ break;
+ case 6:
+ sub_80F35B4();
+ sub_80EEFBC(0x2);
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ SetVBlankCallback(sub_80EBD4C);
+ ewram0_10.var304++;
+ break;
+ case 7:
+ sub_80EED2C(0x2);
+ ewram0_10.var304++;
+ break;
+ case 8:
+ if (!gPaletteFade.active)
+ sub_80EBDBC(&sub_80ED858);
+ break;
+ }
}
-void sub_80ED620() {
- u8 var1;
- switch (ewram0_10.var304) {
- case 0:
- sub_80F1E84();
- sub_80F2D04(0x1);
- ewram0_10.var304++;
- break;
- case 1:
- if (sub_80F1F10()) return;
- sub_80EEFBC(0x1);
- ewram0_10.var304++;
- break;
- case 2:
- if (!(var1 = sub_80EEF34())) {
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, var1);
+void sub_80ED620()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ sub_80F1E84();
+ sub_80F2D04(0x1);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (!sub_80F1F10())
+ {
+ sub_80EEFBC(0x1);
ewram0_10.var304++;
}
- break;
- case 3:
- if (gPaletteFade.active) return;
- SetVBlankCallback(NULL);
- sub_80EED0C();
- sub_80EF814();
- ewram0_10.var76aa = (u8)(gPaletteFade.active << 24);
- ewram0_10.var304++;
- break;
- case 4:
- sub_80F2620();
- ewram0_10.var304++;
- break;
- case 5:
- ewram0_10.varD162 = 0x2;
- sub_80F4BD0();
- ewram0_10.var304++;
- break;
- case 6:
- sub_80EFF34();
- ewram0_10.var304++;
- case 7:
- if (sub_80EFF68()) return;
- ewram0_10.var304++;
- break;
- case 8:
- if (sub_8055870()) return;
- ewram0_10.var304++;
- break;
- case 9:
- if (sub_8055870()) return;
- ewram0_10.var304++;
- break;
- case 10:
- sub_80F33A8();
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
- SetVBlankCallback(&sub_80EBD4C);
- ewram0_10.var304++;
- break;
- case 11:
- sub_80EED2C(0x2);
- ewram0_10.var304++;
- break;
- case 12:
- if (gPaletteFade.active) return;
- ewram0_10.var304++;
- break;
- case 13:
- sub_80F2C80(0x1);
- ewram0_10.var304++;
- case 14:
- if (sub_80F2CBC(0x1)) return;
- ewram0_10.var304++;
- break;
- case 15:
- sub_80F2C80(0x6);
- ewram0_10.var304++;
- case 16:
- if (sub_80F2CBC(0x6)) return;
- sub_80EBDBC(&sub_80ED858);
- break;
- }
+ break;
+ case 2:
+ if (!sub_80EEF34())
+ {
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, 0);
+ ewram0_10.var304++;
+ }
+ break;
+ case 3:
+ if (!gPaletteFade.active)
+ {
+ SetVBlankCallback(NULL);
+ sub_80EED0C();
+ sub_80EF814();
+ ewram0_10.var76aa = 0;
+ ewram0_10.var304++;
+ }
+ break;
+ case 4:
+ sub_80F2620();
+ ewram0_10.var304++;
+ break;
+ case 5:
+ ewram0_10.varD162 = 0x2;
+ sub_80F4BD0();
+ ewram0_10.var304++;
+ break;
+ case 6:
+ sub_80EFF34();
+ ewram0_10.var304++;
+ // fall through
+ case 7:
+ if (!sub_80EFF68())
+ ewram0_10.var304++;
+ break;
+ case 8:
+ if (!sub_8055870())
+ ewram0_10.var304++;
+ break;
+ case 9:
+ if (!sub_8055870())
+ ewram0_10.var304++;
+ break;
+ case 10:
+ sub_80F33A8();
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ SetVBlankCallback(&sub_80EBD4C);
+ ewram0_10.var304++;
+ break;
+ case 11:
+ sub_80EED2C(0x2);
+ ewram0_10.var304++;
+ break;
+ case 12:
+ if (!gPaletteFade.active)
+ ewram0_10.var304++;
+ break;
+ case 13:
+ sub_80F2C80(0x1);
+ ewram0_10.var304++;
+ case 14:
+ if (!sub_80F2CBC(0x1))
+ ewram0_10.var304++;
+ break;
+ case 15:
+ sub_80F2C80(0x6);
+ ewram0_10.var304++;
+ // fall through
+ case 16:
+ if (!sub_80F2CBC(0x6))
+ sub_80EBDBC(&sub_80ED858);
+ break;
+ }
}
#if 0
@@ -1448,1834 +1589,1869 @@ void sub_80F357C();
void sub_80F4FDC();
void sub_80ED858() {
- u8 var1;
- switch (ewram0_10.var304) {
- case 0:
- sub_80F4F78();
- sub_80F5B38();
- ewram0_10.var304 = 0x1;
- break;
- case 1:
- if (sub_80F5B50()) return;
- ewram0_10.var304 = 0x2;
- break;
- case 2:
- sub_80F0174(0x1);
- ewram0_10.var304 = 0x3;
- break;
- case 3:
- if (sub_80F4FB4()) return;
- sub_80F3C94();
- sub_80F3D00();
- ewram0_10.var304 = 0x4;
- break;
- case 4:
- if ( (gMain.heldKeys & 0x40) && (ewram0_10.var87CB) && (!(ewram0_10.var76aa) || (ewram0_10.var87DC)) ) {
- PlaySE(0x5);
- sub_80F5060(0x1);
- move_anim_execute();
- ewram0_10.var304 = 0x5;
- }
- else if ( (gMain.heldKeys & 0x80) && (ewram0_10.var87CB) && (!(ewram0_10.var76aa) || (ewram0_10.var76aa >= ewram0_10.var87DC)) ) {
- PlaySE(0x5);
- sub_80F5060(0);
- move_anim_execute();
- ewram0_10.var304 = 0x5;
- }
- if (gMain.newKeys & B_BUTTON) {
- PlaySE(0x5);
- sub_80F4FDC();
- move_anim_execute();
- ewram0_10.var304 = 0x9;
- }
- else if (gMain.newKeys & A_BUTTON) {
- if (ewram0_10.var76aa) {
- if (ewram0_10.var6dac) {
- PlaySE(0x5);
- ewram0_10.var304 = 0x7;
- }
- }
- else if ((ewram0_10.var87DC == ewram0_10.var87DA - 1)) {
- PlaySE(0x5);
- ewram0_10.var304 = 0x9;
- }
- }
+ u8 var1;
+ switch (ewram0_10.var304) {
+ case 0:
+ sub_80F4F78();
+ sub_80F5B38();
+ ewram0_10.var304 = 0x1;
+ break;
+ case 1:
+ if (sub_80F5B50()) return;
+ ewram0_10.var304 = 0x2;
+ break;
+ case 2:
+ sub_80F0174(0x1);
+ ewram0_10.var304 = 0x3;
+ break;
+ case 3:
+ if (sub_80F4FB4()) return;
+ sub_80F3C94();
+ sub_80F3D00();
+ ewram0_10.var304 = 0x4;
+ break;
+ case 4:
+ if ( (gMain.heldKeys & 0x40) && (ewram0_10.var87CB) && (!(ewram0_10.var76aa) || (ewram0_10.var87DC)) ) {
+ PlaySE(SE_SELECT);
+ sub_80F5060(0x1);
+ move_anim_execute();
+ ewram0_10.var304 = 0x5;
+ }
+ else if ( (gMain.heldKeys & 0x80) && (ewram0_10.var87CB) && (!(ewram0_10.var76aa) || (ewram0_10.var76aa >= ewram0_10.var87DC)) ) {
+ PlaySE(SE_SELECT);
+ sub_80F5060(0);
+ move_anim_execute();
+ ewram0_10.var304 = 0x5;
+ }
+ if (gMain.newKeys & B_BUTTON) {
+ PlaySE(SE_SELECT);
+ sub_80F4FDC();
+ move_anim_execute();
+ ewram0_10.var304 = 0x9;
+ }
+ else if (gMain.newKeys & A_BUTTON) {
+ if (ewram0_10.var76aa) {
+ if (ewram0_10.var6dac) {
+ PlaySE(SE_SELECT);
+ ewram0_10.var304 = 0x7;
+ }
+ }
+ else if ((ewram0_10.var87DC == ewram0_10.var87DA - 1)) {
+ PlaySE(SE_SELECT);
+ ewram0_10.var304 = 0x9;
+ }
+ }
/*
- if (gMain.heldKeys & 0x40) {
- if (ewram0_10.var87CB) {
- if (ewram0_10.var76aa) {
- if (!ewram0_10.var87DC) goto label1;
- }
- PlaySE(0x5);
- sub_80F5060(0x1);
- move_anim_execute();
- ewram0_10.var304 = 0x5;
+ if (gMain.heldKeys & 0x40) {
+ if (ewram0_10.var87CB) {
+ if (ewram0_10.var76aa) {
+ if (!ewram0_10.var87DC) goto label1;
+ }
+ PlaySE(SE_SELECT);
+ sub_80F5060(0x1);
+ move_anim_execute();
+ ewram0_10.var304 = 0x5;
- }
- else goto label1;
- }
- else goto label1;
- break;
+ }
+ else goto label1;
+ }
+ else goto label1;
+ break;
label1:
- if (gMain.heldKeys & 0x80) {
- if (ewram0_10.var87CB) {
- if (ewram0_10.var76aa) {
- if (!(ewram0_10.var76aa < ewram0_10.var87DC)) goto label2;
- }
- PlaySE(0x5);
- sub_80F5060(0x1);
- move_anim_execute();
- ewram0_10.var304 = 0x5;
- }
- else goto label2;
- }
- else goto label2;
- break;
+ if (gMain.heldKeys & 0x80) {
+ if (ewram0_10.var87CB) {
+ if (ewram0_10.var76aa) {
+ if (!(ewram0_10.var76aa < ewram0_10.var87DC)) goto label2;
+ }
+ PlaySE(SE_SELECT);
+ sub_80F5060(0x1);
+ move_anim_execute();
+ ewram0_10.var304 = 0x5;
+ }
+ else goto label2;
+ }
+ else goto label2;
+ break;
label2:
- if (gMain.newKeys & B_BUTTON) {
- PlaySE(0x5);
- sub_80F4FDC();
- move_anim_execute();
- ewram0_10.var304 = 0x9;
- }
- else if (gMain.newKeys & A_BUTTON) {
- if (!ewram0_10.var76aa) {
- if ((ewram0_10.var87DC == ewram0_10.var87DA - 1)) {
- PlaySE(0x5);
- ewram0_10.var304 = 0x9;
- }
- }
- else {
- PlaySE(0x5);
- ewram0_10.var304 = 0x9;
- }
- }
+ if (gMain.newKeys & B_BUTTON) {
+ PlaySE(SE_SELECT);
+ sub_80F4FDC();
+ move_anim_execute();
+ ewram0_10.var304 = 0x9;
+ }
+ else if (gMain.newKeys & A_BUTTON) {
+ if (!ewram0_10.var76aa) {
+ if ((ewram0_10.var87DC == ewram0_10.var87DA - 1)) {
+ PlaySE(SE_SELECT);
+ ewram0_10.var304 = 0x9;
+ }
+ }
+ else {
+ PlaySE(SE_SELECT);
+ ewram0_10.var304 = 0x9;
+ }
+ }
*/
- break;
+ break;
- case 5:
- if (gpu_sync_bg_show()) return;
- sub_80F3D00();
- ewram0_10.var304 = 0x6;
- break;
- case 6:
- if (sub_8055870()) return;
- ewram0_10.var304 = 0x4;
- break;
- case 7:
- sub_80EEFBC(0x3);
- sub_80F3668();
- ewram0_10.var304 = 0x8;
- break;
- case 8:
- if (sub_80F7500()) return;
- sub_80EEFBC(0x2);
- sub_80F3698();
- ewram0_10.var304 = 0x4;
- break;
- case 9:
- if (!(var1 = sub_80F5038())) {
- sub_80F0174(0);
- sub_80F2F48();
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, var1);
- ewram0_10.var304 = 0xB;
- }
- break;
- case 0xA:
- if (gPaletteFade.active) return;
- sub_80F3CE8();
- sub_80F5BDC();
- if (!ewram0_10.var76aa) {
- sub_80F357C();
- sub_80F2D6C(0x1);
- sub_80F2D6C(0x6);
- sub_80EBDBC(&sub_80ECA10);
- }
- else {
- sub_80F3614();
- sub_80EBDBC(&sub_80ED3D0);
- }
- break;
- }
+ case 5:
+ if (gpu_sync_bg_show()) return;
+ sub_80F3D00();
+ ewram0_10.var304 = 0x6;
+ break;
+ case 6:
+ if (sub_8055870()) return;
+ ewram0_10.var304 = 0x4;
+ break;
+ case 7:
+ sub_80EEFBC(0x3);
+ sub_80F3668();
+ ewram0_10.var304 = 0x8;
+ break;
+ case 8:
+ if (sub_80F7500()) return;
+ sub_80EEFBC(0x2);
+ sub_80F3698();
+ ewram0_10.var304 = 0x4;
+ break;
+ case 9:
+ if (!(var1 = sub_80F5038())) {
+ sub_80F0174(0);
+ sub_80F2F48();
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, var1);
+ ewram0_10.var304 = 0xB;
+ }
+ break;
+ case 0xA:
+ if (gPaletteFade.active) return;
+ sub_80F3CE8();
+ sub_80F5BDC();
+ if (!ewram0_10.var76aa) {
+ sub_80F357C();
+ sub_80F2D6C(0x1);
+ sub_80F2D6C(0x6);
+ sub_80EBDBC(&sub_80ECA10);
+ }
+ else {
+ sub_80F3614();
+ sub_80EBDBC(&sub_80ED3D0);
+ }
+ break;
+ }
}
#else
__attribute__((naked))
void sub_80ED858() {
- asm_unified("push {r4,r5,lr}\n\
- sub sp, 0x4\n\
- ldr r1, _080ED878 @ =gSharedMem\n\
- movs r2, 0xC1\n\
- lsls r2, 2\n\
- adds r0, r1, r2\n\
- ldrh r0, [r0]\n\
- adds r5, r1, 0\n\
- cmp r0, 0xB\n\
- bls _080ED86E\n\
- b _080EDB7A\n\
+ asm_unified("push {r4,r5,lr}\n\
+ sub sp, 0x4\n\
+ ldr r1, _080ED878 @ =gSharedMem\n\
+ movs r2, 0xC1\n\
+ lsls r2, 2\n\
+ adds r0, r1, r2\n\
+ ldrh r0, [r0]\n\
+ adds r5, r1, 0\n\
+ cmp r0, 0xB\n\
+ bls _080ED86E\n\
+ b _080EDB7A\n\
_080ED86E:\n\
- lsls r0, 2\n\
- ldr r1, _080ED87C @ =_080ED880\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- mov pc, r0\n\
- .align 2, 0\n\
+ lsls r0, 2\n\
+ ldr r1, _080ED87C @ =_080ED880\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ mov pc, r0\n\
+ .align 2, 0\n\
_080ED878: .4byte gSharedMem\n\
_080ED87C: .4byte _080ED880\n\
- .align 2, 0\n\
+ .align 2, 0\n\
_080ED880:\n\
- .4byte _080ED8B0\n\
- .4byte _080ED8CC\n\
- .4byte _080ED8EC\n\
- .4byte _080ED904\n\
- .4byte _080ED91A\n\
- .4byte _080EDA68\n\
- .4byte _080EDA8C\n\
- .4byte _080EDAA4\n\
- .4byte _080EDAC0\n\
- .4byte _080EDAE8\n\
- .4byte _080EDB7A\n\
- .4byte _080EDB28\n\
+ .4byte _080ED8B0\n\
+ .4byte _080ED8CC\n\
+ .4byte _080ED8EC\n\
+ .4byte _080ED904\n\
+ .4byte _080ED91A\n\
+ .4byte _080EDA68\n\
+ .4byte _080EDA8C\n\
+ .4byte _080EDAA4\n\
+ .4byte _080EDAC0\n\
+ .4byte _080EDAE8\n\
+ .4byte _080EDB7A\n\
+ .4byte _080EDB28\n\
_080ED8B0:\n\
- bl sub_80F4F78\n\
- bl sub_80F5B38\n\
- ldr r0, _080ED8C8 @ =gSharedMem\n\
- movs r4, 0xC1\n\
- lsls r4, 2\n\
- adds r0, r4\n\
- movs r1, 0x1\n\
- strh r1, [r0]\n\
- b _080EDB7A\n\
- .align 2, 0\n\
+ bl sub_80F4F78\n\
+ bl sub_80F5B38\n\
+ ldr r0, _080ED8C8 @ =gSharedMem\n\
+ movs r4, 0xC1\n\
+ lsls r4, 2\n\
+ adds r0, r4\n\
+ movs r1, 0x1\n\
+ strh r1, [r0]\n\
+ b _080EDB7A\n\
+ .align 2, 0\n\
_080ED8C8: .4byte gSharedMem\n\
_080ED8CC:\n\
- bl sub_80F5B50\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _080ED8D8\n\
- b _080EDB7A\n\
+ bl sub_80F5B50\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _080ED8D8\n\
+ b _080EDB7A\n\
_080ED8D8:\n\
- ldr r0, _080ED8E8 @ =gSharedMem\n\
- movs r1, 0xC1\n\
- lsls r1, 2\n\
- adds r0, r1\n\
- movs r1, 0x2\n\
- strh r1, [r0]\n\
- b _080EDB7A\n\
- .align 2, 0\n\
+ ldr r0, _080ED8E8 @ =gSharedMem\n\
+ movs r1, 0xC1\n\
+ lsls r1, 2\n\
+ adds r0, r1\n\
+ movs r1, 0x2\n\
+ strh r1, [r0]\n\
+ b _080EDB7A\n\
+ .align 2, 0\n\
_080ED8E8: .4byte gSharedMem\n\
_080ED8EC:\n\
- movs r0, 0x1\n\
- bl sub_80F0174\n\
- ldr r0, _080ED900 @ =gSharedMem\n\
- movs r2, 0xC1\n\
- lsls r2, 2\n\
- adds r0, r2\n\
- movs r1, 0x3\n\
- strh r1, [r0]\n\
- b _080EDB7A\n\
- .align 2, 0\n\
+ movs r0, 0x1\n\
+ bl sub_80F0174\n\
+ ldr r0, _080ED900 @ =gSharedMem\n\
+ movs r2, 0xC1\n\
+ lsls r2, 2\n\
+ adds r0, r2\n\
+ movs r1, 0x3\n\
+ strh r1, [r0]\n\
+ b _080EDB7A\n\
+ .align 2, 0\n\
_080ED900: .4byte gSharedMem\n\
_080ED904:\n\
- bl sub_80F4FB4\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _080ED910\n\
- b _080EDB7A\n\
+ bl sub_80F4FB4\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _080ED910\n\
+ b _080EDB7A\n\
_080ED910:\n\
- bl sub_80F3C94\n\
- bl sub_80F3D00\n\
- b _080EDAD4\n\
+ bl sub_80F3C94\n\
+ bl sub_80F3D00\n\
+ b _080EDAD4\n\
_080ED91A:\n\
- ldr r2, _080ED960 @ =gMain\n\
- ldrh r1, [r2, 0x2C]\n\
- movs r0, 0x40\n\
- ands r0, r1\n\
- adds r3, r2, 0\n\
- cmp r0, 0\n\
- beq _080ED970\n\
- ldr r1, _080ED964 @ =0x000087cb\n\
- adds r0, r5, r1\n\
- ldrb r0, [r0]\n\
- cmp r0, 0\n\
- beq _080ED970\n\
- ldr r2, _080ED968 @ =0x000076aa\n\
- adds r0, r5, r2\n\
- ldrb r0, [r0]\n\
- cmp r0, 0\n\
- beq _080ED948\n\
- ldr r4, _080ED96C @ =0x000087dc\n\
- adds r0, r5, r4\n\
- movs r1, 0\n\
- ldrsh r0, [r0, r1]\n\
- cmp r0, 0\n\
- beq _080ED970\n\
+ ldr r2, _080ED960 @ =gMain\n\
+ ldrh r1, [r2, 0x2C]\n\
+ movs r0, 0x40\n\
+ ands r0, r1\n\
+ adds r3, r2, 0\n\
+ cmp r0, 0\n\
+ beq _080ED970\n\
+ ldr r1, _080ED964 @ =0x000087cb\n\
+ adds r0, r5, r1\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0\n\
+ beq _080ED970\n\
+ ldr r2, _080ED968 @ =0x000076aa\n\
+ adds r0, r5, r2\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0\n\
+ beq _080ED948\n\
+ ldr r4, _080ED96C @ =0x000087dc\n\
+ adds r0, r5, r4\n\
+ movs r1, 0\n\
+ ldrsh r0, [r0, r1]\n\
+ cmp r0, 0\n\
+ beq _080ED970\n\
_080ED948:\n\
- movs r0, 0x5\n\
- bl PlaySE\n\
- movs r0, 0x1\n\
- bl sub_80F5060\n\
- bl move_anim_execute\n\
- movs r2, 0xC1\n\
- lsls r2, 2\n\
- adds r1, r5, r2\n\
- b _080ED9B8\n\
- .align 2, 0\n\
+ movs r0, 0x5\n\
+ bl PlaySE\n\
+ movs r0, 0x1\n\
+ bl sub_80F5060\n\
+ bl move_anim_execute\n\
+ movs r2, 0xC1\n\
+ lsls r2, 2\n\
+ adds r1, r5, r2\n\
+ b _080ED9B8\n\
+ .align 2, 0\n\
_080ED960: .4byte gMain\n\
_080ED964: .4byte 0x000087cb\n\
_080ED968: .4byte 0x000076aa\n\
_080ED96C: .4byte 0x000087dc\n\
_080ED970:\n\
- ldrh r1, [r3, 0x2C]\n\
- movs r0, 0x80\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _080ED9CC\n\
- ldr r4, _080ED9C0 @ =0x000087cb\n\
- adds r0, r5, r4\n\
- ldrb r0, [r0]\n\
- cmp r0, 0\n\
- beq _080ED9CC\n\
- ldr r1, _080ED9C4 @ =0x000076aa\n\
- adds r0, r5, r1\n\
- ldrb r0, [r0]\n\
- cmp r0, 0\n\
- beq _080ED9A2\n\
- ldr r2, _080ED9C8 @ =0x000087dc\n\
- adds r0, r5, r2\n\
- subs r4, 0x57\n\
- adds r1, r5, r4\n\
- movs r4, 0\n\
- ldrsh r2, [r0, r4]\n\
- movs r4, 0\n\
- ldrsh r0, [r1, r4]\n\
- cmp r2, r0\n\
- bge _080ED9CC\n\
+ ldrh r1, [r3, 0x2C]\n\
+ movs r0, 0x80\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080ED9CC\n\
+ ldr r4, _080ED9C0 @ =0x000087cb\n\
+ adds r0, r5, r4\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0\n\
+ beq _080ED9CC\n\
+ ldr r1, _080ED9C4 @ =0x000076aa\n\
+ adds r0, r5, r1\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0\n\
+ beq _080ED9A2\n\
+ ldr r2, _080ED9C8 @ =0x000087dc\n\
+ adds r0, r5, r2\n\
+ subs r4, 0x57\n\
+ adds r1, r5, r4\n\
+ movs r4, 0\n\
+ ldrsh r2, [r0, r4]\n\
+ movs r4, 0\n\
+ ldrsh r0, [r1, r4]\n\
+ cmp r2, r0\n\
+ bge _080ED9CC\n\
_080ED9A2:\n\
- movs r0, 0x5\n\
- bl PlaySE\n\
- movs r0, 0\n\
- bl sub_80F5060\n\
- bl move_anim_execute\n\
- movs r0, 0xC1\n\
- lsls r0, 2\n\
- adds r1, r5, r0\n\
+ movs r0, 0x5\n\
+ bl PlaySE\n\
+ movs r0, 0\n\
+ bl sub_80F5060\n\
+ bl move_anim_execute\n\
+ movs r0, 0xC1\n\
+ lsls r0, 2\n\
+ adds r1, r5, r0\n\
_080ED9B8:\n\
- movs r0, 0x5\n\
- strh r0, [r1]\n\
- b _080EDB7A\n\
- .align 2, 0\n\
+ movs r0, 0x5\n\
+ strh r0, [r1]\n\
+ b _080EDB7A\n\
+ .align 2, 0\n\
_080ED9C0: .4byte 0x000087cb\n\
_080ED9C4: .4byte 0x000076aa\n\
_080ED9C8: .4byte 0x000087dc\n\
_080ED9CC:\n\
- ldrh r2, [r3, 0x2E]\n\
- movs r0, 0x2\n\
- ands r0, r2\n\
- cmp r0, 0\n\
- beq _080ED9F8\n\
- movs r0, 0x5\n\
- bl PlaySE\n\
- bl sub_80F4FDC\n\
- bl move_anim_execute\n\
- ldr r0, _080ED9F4 @ =gSharedMem\n\
- movs r1, 0xC1\n\
- lsls r1, 2\n\
- adds r0, r1\n\
- movs r1, 0x9\n\
- strh r1, [r0]\n\
- b _080EDB7A\n\
- .align 2, 0\n\
+ ldrh r2, [r3, 0x2E]\n\
+ movs r0, 0x2\n\
+ ands r0, r2\n\
+ cmp r0, 0\n\
+ beq _080ED9F8\n\
+ movs r0, 0x5\n\
+ bl PlaySE\n\
+ bl sub_80F4FDC\n\
+ bl move_anim_execute\n\
+ ldr r0, _080ED9F4 @ =gSharedMem\n\
+ movs r1, 0xC1\n\
+ lsls r1, 2\n\
+ adds r0, r1\n\
+ movs r1, 0x9\n\
+ strh r1, [r0]\n\
+ b _080EDB7A\n\
+ .align 2, 0\n\
_080ED9F4: .4byte gSharedMem\n\
_080ED9F8:\n\
- movs r0, 0x1\n\
- ands r0, r2\n\
- cmp r0, 0\n\
- bne _080EDA02\n\
- b _080EDB7A\n\
+ movs r0, 0x1\n\
+ ands r0, r2\n\
+ cmp r0, 0\n\
+ bne _080EDA02\n\
+ b _080EDB7A\n\
_080EDA02:\n\
- adds r4, r5, 0\n\
- ldr r2, _080EDA38 @ =0x000076aa\n\
- adds r0, r4, r2\n\
- ldrb r0, [r0]\n\
- cmp r0, 0\n\
- bne _080EDA44\n\
- ldr r1, _080EDA3C @ =0x000087dc\n\
- adds r0, r4, r1\n\
- movs r2, 0\n\
- ldrsh r1, [r0, r2]\n\
- ldr r2, _080EDA40 @ =0x000087da\n\
- adds r0, r4, r2\n\
- movs r2, 0\n\
- ldrsh r0, [r0, r2]\n\
- subs r0, 0x1\n\
- cmp r1, r0\n\
- beq _080EDA26\n\
- b _080EDB7A\n\
+ adds r4, r5, 0\n\
+ ldr r2, _080EDA38 @ =0x000076aa\n\
+ adds r0, r4, r2\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0\n\
+ bne _080EDA44\n\
+ ldr r1, _080EDA3C @ =0x000087dc\n\
+ adds r0, r4, r1\n\
+ movs r2, 0\n\
+ ldrsh r1, [r0, r2]\n\
+ ldr r2, _080EDA40 @ =0x000087da\n\
+ adds r0, r4, r2\n\
+ movs r2, 0\n\
+ ldrsh r0, [r0, r2]\n\
+ subs r0, 0x1\n\
+ cmp r1, r0\n\
+ beq _080EDA26\n\
+ b _080EDB7A\n\
_080EDA26:\n\
- movs r0, 0x5\n\
- bl PlaySE\n\
- movs r0, 0xC1\n\
- lsls r0, 2\n\
- adds r1, r4, r0\n\
- movs r0, 0x9\n\
- strh r0, [r1]\n\
- b _080EDB7A\n\
- .align 2, 0\n\
+ movs r0, 0x5\n\
+ bl PlaySE\n\
+ movs r0, 0xC1\n\
+ lsls r0, 2\n\
+ adds r1, r4, r0\n\
+ movs r0, 0x9\n\
+ strh r0, [r1]\n\
+ b _080EDB7A\n\
+ .align 2, 0\n\
_080EDA38: .4byte 0x000076aa\n\
_080EDA3C: .4byte 0x000087dc\n\
_080EDA40: .4byte 0x000087da\n\
_080EDA44:\n\
- ldr r1, _080EDA64 @ =0x00006dac\n\
- adds r0, r5, r1\n\
- ldrb r0, [r0]\n\
- cmp r0, 0\n\
- beq _080EDA50\n\
- b _080EDB7A\n\
+ ldr r1, _080EDA64 @ =0x00006dac\n\
+ adds r0, r5, r1\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0\n\
+ beq _080EDA50\n\
+ b _080EDB7A\n\
_080EDA50:\n\
- movs r0, 0x5\n\
- bl PlaySE\n\
- movs r2, 0xC1\n\
- lsls r2, 2\n\
- adds r1, r5, r2\n\
- movs r0, 0x7\n\
- strh r0, [r1]\n\
- b _080EDB7A\n\
- .align 2, 0\n\
+ movs r0, 0x5\n\
+ bl PlaySE\n\
+ movs r2, 0xC1\n\
+ lsls r2, 2\n\
+ adds r1, r5, r2\n\
+ movs r0, 0x7\n\
+ strh r0, [r1]\n\
+ b _080EDB7A\n\
+ .align 2, 0\n\
_080EDA64: .4byte 0x00006dac\n\
_080EDA68:\n\
- bl gpu_sync_bg_show\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _080EDA74\n\
- b _080EDB7A\n\
+ bl gpu_sync_bg_show\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _080EDA74\n\
+ b _080EDB7A\n\
_080EDA74:\n\
- bl sub_80F3D00\n\
- ldr r0, _080EDA88 @ =gSharedMem\n\
- movs r4, 0xC1\n\
- lsls r4, 2\n\
- adds r0, r4\n\
- movs r1, 0x6\n\
- strh r1, [r0]\n\
- b _080EDB7A\n\
- .align 2, 0\n\
+ bl sub_80F3D00\n\
+ ldr r0, _080EDA88 @ =gSharedMem\n\
+ movs r4, 0xC1\n\
+ lsls r4, 2\n\
+ adds r0, r4\n\
+ movs r1, 0x6\n\
+ strh r1, [r0]\n\
+ b _080EDB7A\n\
+ .align 2, 0\n\
_080EDA88: .4byte gSharedMem\n\
_080EDA8C:\n\
- bl sub_8055870\n\
- cmp r0, 0\n\
- bne _080EDB7A\n\
- ldr r0, _080EDAA0 @ =gSharedMem\n\
- movs r1, 0xC1\n\
- lsls r1, 2\n\
- adds r0, r1\n\
- b _080EDADC\n\
- .align 2, 0\n\
+ bl sub_8055870\n\
+ cmp r0, 0\n\
+ bne _080EDB7A\n\
+ ldr r0, _080EDAA0 @ =gSharedMem\n\
+ movs r1, 0xC1\n\
+ lsls r1, 2\n\
+ adds r0, r1\n\
+ b _080EDADC\n\
+ .align 2, 0\n\
_080EDAA0: .4byte gSharedMem\n\
_080EDAA4:\n\
- movs r0, 0x3\n\
- bl sub_80EEFBC\n\
- bl sub_80F3668\n\
- ldr r0, _080EDABC @ =gSharedMem\n\
- movs r2, 0xC1\n\
- lsls r2, 2\n\
- adds r0, r2\n\
- movs r1, 0x8\n\
- strh r1, [r0]\n\
- b _080EDB7A\n\
- .align 2, 0\n\
+ movs r0, 0x3\n\
+ bl sub_80EEFBC\n\
+ bl sub_80F3668\n\
+ ldr r0, _080EDABC @ =gSharedMem\n\
+ movs r2, 0xC1\n\
+ lsls r2, 2\n\
+ adds r0, r2\n\
+ movs r1, 0x8\n\
+ strh r1, [r0]\n\
+ b _080EDB7A\n\
+ .align 2, 0\n\
_080EDABC: .4byte gSharedMem\n\
_080EDAC0:\n\
- bl sub_80F7500\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- bne _080EDB7A\n\
- movs r0, 0x2\n\
- bl sub_80EEFBC\n\
- bl sub_80F3698\n\
+ bl sub_80F7500\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ bne _080EDB7A\n\
+ movs r0, 0x2\n\
+ bl sub_80EEFBC\n\
+ bl sub_80F3698\n\
_080EDAD4:\n\
- ldr r0, _080EDAE4 @ =gSharedMem\n\
- movs r4, 0xC1\n\
- lsls r4, 2\n\
- adds r0, r4\n\
+ ldr r0, _080EDAE4 @ =gSharedMem\n\
+ movs r4, 0xC1\n\
+ lsls r4, 2\n\
+ adds r0, r4\n\
_080EDADC:\n\
- movs r1, 0x4\n\
- strh r1, [r0]\n\
- b _080EDB7A\n\
- .align 2, 0\n\
+ movs r1, 0x4\n\
+ strh r1, [r0]\n\
+ b _080EDB7A\n\
+ .align 2, 0\n\
_080EDAE4: .4byte gSharedMem\n\
_080EDAE8:\n\
- bl sub_80F5038\n\
- lsls r0, 24\n\
- lsrs r4, r0, 24\n\
- cmp r4, 0\n\
- bne _080EDB7A\n\
- movs r0, 0\n\
- bl sub_80F0174\n\
- bl sub_80F2F48\n\
- ldr r5, _080EDB24 @ =gSharedMem\n\
- movs r1, 0xC2\n\
- lsls r1, 2\n\
- adds r0, r5, r1\n\
- ldr r0, [r0]\n\
- movs r1, 0x1\n\
- negs r1, r1\n\
- str r4, [sp]\n\
- movs r2, 0\n\
- movs r3, 0x10\n\
- bl BeginNormalPaletteFade\n\
- movs r2, 0xC1\n\
- lsls r2, 2\n\
- adds r1, r5, r2\n\
- movs r0, 0xB\n\
- strh r0, [r1]\n\
- b _080EDB7A\n\
- .align 2, 0\n\
+ bl sub_80F5038\n\
+ lsls r0, 24\n\
+ lsrs r4, r0, 24\n\
+ cmp r4, 0\n\
+ bne _080EDB7A\n\
+ movs r0, 0\n\
+ bl sub_80F0174\n\
+ bl sub_80F2F48\n\
+ ldr r5, _080EDB24 @ =gSharedMem\n\
+ movs r1, 0xC2\n\
+ lsls r1, 2\n\
+ adds r0, r5, r1\n\
+ ldr r0, [r0]\n\
+ movs r1, 0x1\n\
+ negs r1, r1\n\
+ str r4, [sp]\n\
+ movs r2, 0\n\
+ movs r3, 0x10\n\
+ bl BeginNormalPaletteFade\n\
+ movs r2, 0xC1\n\
+ lsls r2, 2\n\
+ adds r1, r5, r2\n\
+ movs r0, 0xB\n\
+ strh r0, [r1]\n\
+ b _080EDB7A\n\
+ .align 2, 0\n\
_080EDB24: .4byte gSharedMem\n\
_080EDB28:\n\
- ldr r0, _080EDB60 @ =gPaletteFade\n\
- ldrb r1, [r0, 0x7]\n\
- movs r0, 0x80\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _080EDB7A\n\
- bl sub_80F3CE8\n\
- bl sub_80F5BDC\n\
- ldr r0, _080EDB64 @ =gSharedMem\n\
- ldr r4, _080EDB68 @ =0x000076aa\n\
- adds r0, r4\n\
- ldrb r0, [r0]\n\
- cmp r0, 0\n\
- bne _080EDB70\n\
- bl sub_80F357C\n\
- movs r0, 0x1\n\
- bl sub_80F2D6C\n\
- movs r0, 0x6\n\
- bl sub_80F2D6C\n\
- ldr r0, _080EDB6C @ =sub_80ECA10\n\
- bl sub_80EBDBC\n\
- b _080EDB7A\n\
- .align 2, 0\n\
+ ldr r0, _080EDB60 @ =gPaletteFade\n\
+ ldrb r1, [r0, 0x7]\n\
+ movs r0, 0x80\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _080EDB7A\n\
+ bl sub_80F3CE8\n\
+ bl sub_80F5BDC\n\
+ ldr r0, _080EDB64 @ =gSharedMem\n\
+ ldr r4, _080EDB68 @ =0x000076aa\n\
+ adds r0, r4\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0\n\
+ bne _080EDB70\n\
+ bl sub_80F357C\n\
+ movs r0, 0x1\n\
+ bl sub_80F2D6C\n\
+ movs r0, 0x6\n\
+ bl sub_80F2D6C\n\
+ ldr r0, _080EDB6C @ =sub_80ECA10\n\
+ bl sub_80EBDBC\n\
+ b _080EDB7A\n\
+ .align 2, 0\n\
_080EDB60: .4byte gPaletteFade\n\
_080EDB64: .4byte gSharedMem\n\
_080EDB68: .4byte 0x000076aa\n\
_080EDB6C: .4byte sub_80ECA10\n\
_080EDB70:\n\
- bl sub_80F3614\n\
- ldr r0, _080EDB84 @ =sub_80ED3D0\n\
- bl sub_80EBDBC\n\
+ bl sub_80F3614\n\
+ ldr r0, _080EDB84 @ =sub_80ED3D0\n\
+ bl sub_80EBDBC\n\
_080EDB7A:\n\
- add sp, 0x4\n\
- pop {r4,r5}\n\
- pop {r0}\n\
- bx r0\n\
- .align 2, 0\n\
+ add sp, 0x4\n\
+ pop {r4,r5}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
_080EDB84: .4byte sub_80ED3D0\n");
}
#endif
-void sub_80EDB88() {
- u8 var1;
- switch (ewram0_10.var304) {
- case 0:
- sub_80F1E84();
- sub_80F2D04(0);
- ewram0_10.var304++;
- break;
- case 1:
- if (sub_80F1F10()) return;
- sub_80EEFBC(0x4);
- ewram0_10.var304++;
- break;
- case 2:
- if (!(var1 = sub_80EEF34())) {
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, var1);
+void sub_80EDB88()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ sub_80F1E84();
+ sub_80F2D04(0);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (!sub_80F1F10())
+ {
+ sub_80EEFBC(0x4);
ewram0_10.var304++;
}
- break;
- case 3:
- if (gPaletteFade.active) return;
- SetVBlankCallback(0);
- sub_80EED0C();
- sub_80EF814();
- ewram0_10.var304++;
- break;
- case 4:
- sub_80F2620();
- ewram0_10.var304++;
- break;
- case 5:
- sub_80F638C();
- ewram0_10.var304++;
- case 6:
- if (!sub_80F63D0()) {
- ewram0_10.var304 += 0x2;
- break;
+ break;
+ case 2:
+ if (!sub_80EEF34())
+ {
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, 0);
+ ewram0_10.var304++;
+ }
+ break;
+ case 3:
+ if (!gPaletteFade.active)
+ {
+ SetVBlankCallback(NULL);
+ sub_80EED0C();
+ sub_80EF814();
+ ewram0_10.var304++;
}
- ewram0_10.var304++;
- break;
- case 7:
- if (sub_8055870()) return;
- ewram0_10.var304--;
- break;
- case 8:
- if (sub_8055870()) return;
- ewram0_10.var304++;
- break;
- case 9:
- sub_80F0264(0x1);
- ewram0_10.var304++;
- case 10:
- if (sub_80F02A0()) return;
- ewram0_10.var304++;
- break;
- case 11:
- sub_80F2C80(0x2);
- ewram0_10.var304++;
- case 12:
- if (sub_80F2CBC(0x2)) return;
- ewram0_10.var304++;
- break;
- case 13:
- sub_80F3008(0x1);
- ewram0_10.var304++;
- break;
- case 14:
- if (sub_8055870()) return;
- ewram0_10.var304++;
- break;
- case 15:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
- SetVBlankCallback(&sub_80EBD18);
- ewram0_10.var304++;
- break;
- case 16:
- sub_80EED2C(0x4);
- ewram0_10.var304++;
- break;
- case 17:
- if (gPaletteFade.active) return;
- sub_80EBDBC(&sub_80EDDBC);
- break;
- }
+ break;
+ case 4:
+ sub_80F2620();
+ ewram0_10.var304++;
+ break;
+ case 5:
+ sub_80F638C();
+ ewram0_10.var304++;
+ case 6:
+ if (!sub_80F63D0())
+ ewram0_10.var304 += 2;
+ else
+ ewram0_10.var304 += 1;
+ break;
+ case 7:
+ if (!sub_8055870())
+ ewram0_10.var304--;
+ break;
+ case 8:
+ if (!sub_8055870())
+ ewram0_10.var304++;
+ break;
+ case 9:
+ sub_80F0264(0x1);
+ ewram0_10.var304++;
+ case 10:
+ if (!sub_80F02A0())
+ ewram0_10.var304++;
+ break;
+ case 11:
+ sub_80F2C80(0x2);
+ ewram0_10.var304++;
+ case 12:
+ if (!sub_80F2CBC(0x2))
+ ewram0_10.var304++;
+ break;
+ case 13:
+ sub_80F3008(0x1);
+ ewram0_10.var304++;
+ break;
+ case 14:
+ if (!sub_8055870())
+ ewram0_10.var304++;
+ break;
+ case 15:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ SetVBlankCallback(&sub_80EBD18);
+ ewram0_10.var304++;
+ break;
+ case 16:
+ sub_80EED2C(0x4);
+ ewram0_10.var304++;
+ break;
+ case 17:
+ if (!gPaletteFade.active)
+ sub_80EBDBC(&sub_80EDDBC);
+ break;
+ }
}
-void sub_80EDDBC() {
- switch (ewram0_10.var304) {
- case 0:
- switch (sub_80F5DD4()) {
- case 1:
- PlaySE(0x5);
+void sub_80EDDBC()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ switch (sub_80F5DD4())
+ {
+ case 1:
+ PlaySE(SE_SELECT);
+ ShowMapNamePopUpWindow();
+ break;
+ case 2:
+ PlaySE(SE_SELECT);
+ ewram0_10.var304++;
+ break;
+ default:
+ if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_80EBDBC(&sub_80EDEE4);
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_80EBDBC(&sub_80EDE70);
+ }
+ break;
+ }
+ break;
+ case 1:
+ if (!sub_80F0718())
+ {
ShowMapNamePopUpWindow();
- break;
- case 2:
- PlaySE(0x5);
+ sub_80F3264();
ewram0_10.var304++;
- break;
- default:
- if (gMain.newKeys & A_BUTTON) {
- PlaySE(0x5);
- sub_80EBDBC(&sub_80EDEE4);
- }
- else if (gMain.newKeys & B_BUTTON) {
- PlaySE(0x5);
- sub_80EBDBC(&sub_80EDE70);
- }
- break;
}
- break;
- case 1:
- if (sub_80F0718()) return;
- ShowMapNamePopUpWindow();
- sub_80F3264();
- ewram0_10.var304++;
- break;
- case 2:
- if (sub_8055870()) return;
- ewram0_10.var304 = 0;
- break;
+ break;
+ case 2:
+ if (!sub_8055870())
+ ewram0_10.var304 = 0;
+ break;
- }
+ }
}
-void sub_80EDE70() {
- switch (ewram0_10.var304) {
- case 0:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
- ewram0_10.var304++;
- break;
- case 1:
- if (gPaletteFade.active) return;
- sub_80F3130();
- sub_80F2D6C(0x2);
- ewram0_10.var304++;
- break;
- case 2:
- sub_80EBDBC(&sub_80EC00C);
- break;
- }
+void sub_80EDE70()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (!gPaletteFade.active)
+ {
+ sub_80F3130();
+ sub_80F2D6C(0x2);
+ ewram0_10.var304++;
+ }
+ break;
+ case 2:
+ sub_80EBDBC(&sub_80EC00C);
+ break;
+ }
}
-void sub_80EDEE4() {
- switch (ewram0_10.var304) {
- case 0:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
- ewram0_10.var304++;
- break;
- case 1:
- if (gPaletteFade.active) return;
- SetVBlankCallback(NULL);
- sub_80EED0C();
- sub_80F3130();
- ewram0_10.var304++;
- break;
- case 2:
- sub_80F66E0();
- sub_80EEE08();
- ewram0_10.var304++;
- break;
- case 3:
- if (sub_80F1080()) return;
- ewram0_10.var304++;
- break;
- case 4:
- sub_80EEFBC(0x5);
- sub_80F38B8();
- ewram0_10.var304++;
- case 5:
- if (sub_80F38EC()) return;
- ewram0_10.var304++;
- break;
- case 6:
- if (sub_8055870()) return;
- ewram0_10.var304++;
- break;
- case 7:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
- SetVBlankCallback(&sub_80EBD18);
- ewram0_10.var304++;
- break;
- case 8:
- sub_80EED2C(0x3);
- ewram0_10.var304++;
- break;
- case 9:
- if (gPaletteFade.active) return;
- ewram0_10.var304++;
- break;
- case 10:
- if (sub_80F170C()) return;
- sub_80EBDBC(&sub_80EE06C);
- break;
- }
+void sub_80EDEE4()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (!gPaletteFade.active)
+ {
+ SetVBlankCallback(NULL);
+ sub_80EED0C();
+ sub_80F3130();
+ ewram0_10.var304++;
+ }
+ break;
+ case 2:
+ sub_80F66E0();
+ sub_80EEE08();
+ ewram0_10.var304++;
+ break;
+ case 3:
+ if (!sub_80F1080())
+ ewram0_10.var304++;
+ break;
+ case 4:
+ sub_80EEFBC(0x5);
+ sub_80F38B8();
+ ewram0_10.var304++;
+ case 5:
+ if (!sub_80F38EC())
+ ewram0_10.var304++;
+ break;
+ case 6:
+ if (!sub_8055870())
+ ewram0_10.var304++;
+ break;
+ case 7:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ SetVBlankCallback(&sub_80EBD18);
+ ewram0_10.var304++;
+ break;
+ case 8:
+ sub_80EED2C(0x3);
+ ewram0_10.var304++;
+ break;
+ case 9:
+ if (!gPaletteFade.active)
+ ewram0_10.var304++;
+ break;
+ case 10:
+ if (!sub_80F170C())
+ sub_80EBDBC(&sub_80EE06C);
+ break;
+ }
}
-void sub_80EE06C() {
- u32 var1;
- u16 var2;
- switch (ewram0_10.var304) {
- case 0:
- sub_80F15A8();
- ewram0_10.var304++;
- break;
- case 1:
- if (gMain.newAndRepeatedKeys & 0x40) {
- if (ewram0_10.var87DC) {
- PlaySE(0x5);
- sub_80F6A4C(-1);
- ewram0_10.var304++;
- }
- else goto label1;
- }
- else goto label1;
- break;
-label1:
- if (gMain.newAndRepeatedKeys & 0x80) {
- if (ewram0_10.var87DC < ewram0_10.var8774) {
- PlaySE(0x5);
- sub_80F6A4C(1);
- ewram0_10.var304++;
- }
- else goto label2;
+void sub_80EE06C()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ sub_80F15A8();
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if ((gMain.newAndRepeatedKeys & 0x40) && (ewram0_10.var87DC))
+ {
+ PlaySE(SE_SELECT);
+ sub_80F6A4C(-1);
+ ewram0_10.var304++;
+ }
+ else if ((gMain.newAndRepeatedKeys & 0x80) && ewram0_10.var87DC < ewram0_10.var8774)
+ {
+ PlaySE(SE_SELECT);
+ sub_80F6A4C(1);
+ ewram0_10.var304++;
+ }
+ else if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_80EEFBC(0xB);
+ ewram0_10.var304 = 0x4;
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_80EBDBC(&sub_80EE294);
+ }
+ break;
+ case 2:
+ if (!sub_80F6AF0())
+ ewram0_10.var304++;
+ break;
+ case 3:
+ if (!sub_8055870())
+ ewram0_10.var304 = 0;
+ break;
+ case 4:
+ sub_80F3B00();
+ ewram0_10.var304++;
+ break;
+ case 5:
+ if (!sub_80F3B58())
+ {
+ sub_80F1494();
+ ewram0_10.var304++;
+ sub_80EED9C();
}
- else goto label2;
- break;
-label2:
- if (gMain.newKeys & A_BUTTON) {
- PlaySE(0x5);
- sub_80EEFBC(0xB);
+ break;
+ case 6:
+ switch (sub_80F68E8())
+ {
+ case 1:
+ PlaySE(SE_SELECT);
+ sub_80F3B94();
+ ewram0_10.var304 = 0x7;
+ break;
+ default:
+ case 0:
+ if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_80F3B94();
+ ewram0_10.var304 = 0x8;
+ }
+ break;
+ }
+ break;
+ case 7:
+ if (!sub_80F3BD4())
ewram0_10.var304 = 0x4;
+ break;
+ case 8:
+ if (!sub_80F3BD4())
+ {
+ sub_80EEFBC(0x5);
+ ewram0_10.var304 = 0;
}
- else if (gMain.newKeys & B_BUTTON) {
- PlaySE(0x5);
- sub_80EBDBC(&sub_80EE294);
- }
- break;
- case 2:
- if (sub_80F6AF0()) return;
- ewram0_10.var304++;
- break;
- case 3:
- var1 = sub_8055870();
- if (var1) return;
- ewram0_10.var304 = var1;
- break;
- case 4:
- sub_80F3B00();
- ewram0_10.var304++;
- break;
- case 5:
- if (sub_80F3B58()) return;
- sub_80F1494();
- ewram0_10.var304++;
- sub_80EED9C();
- break;
- case 6:
- switch (sub_80F68E8()) {
- case 1:
- PlaySE(0x5);
- sub_80F3B94();
- ewram0_10.var304 = 0x7;
- break;
- default:
- case 0:
- if (gMain.newKeys & B_BUTTON) {
- PlaySE(0x5);
- sub_80F3B94();
- ewram0_10.var304 = 0x8;
- }
- break;
- }
- break;
- case 7:
- if (sub_80F3BD4()) return;
- ewram0_10.var304 = 0x4;
- break;
- case 8:
- var2 = sub_80F3BD4();
- if (var2) return;
- sub_80EEFBC(0x5);
- ewram0_10.var304 = var2;
- break;
- }
+ break;
+ }
}
-void sub_80EE294() {
- switch (ewram0_10.var304) {
- case 0:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
- ewram0_10.var304++;
- break;
- case 1:
- if (gPaletteFade.active) return;
- SetVBlankCallback(NULL);
- sub_80EED0C();
- sub_80F3C2C();
- sub_80EEE08();
- ewram0_10.var304++;
- break;
- case 2:
- sub_80F6134();
- sub_80F0264(0x1);
- ewram0_10.var304++;
- case 3:
- if (sub_80F02A0()) return;
- ewram0_10.var304++;
- break;
- case 4:
- sub_80EEFBC(0x4);
- sub_80F3008(0x1);
- SetVBlankCallback(&sub_80EBD18);
- ewram0_10.var304++;
- break;
- case 5:
- if (sub_8055870()) return;
- ewram0_10.var304++;
- break;
- case 6:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
- ewram0_10.var304++;
- break;
- case 7:
- sub_80EED2C(0x4);
- ewram0_10.var304++;
- break;
- case 8:
- if (gPaletteFade.active) return;
- sub_80EBDBC(&sub_80EDDBC);
- break;
- }
+void sub_80EE294()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (!gPaletteFade.active)
+ {
+ SetVBlankCallback(NULL);
+ sub_80EED0C();
+ sub_80F3C2C();
+ sub_80EEE08();
+ ewram0_10.var304++;
+ }
+ break;
+ case 2:
+ sub_80F6134();
+ sub_80F0264(0x1);
+ ewram0_10.var304++;
+ case 3:
+ if (!sub_80F02A0())
+ ewram0_10.var304++;
+ break;
+ case 4:
+ sub_80EEFBC(0x4);
+ sub_80F3008(0x1);
+ SetVBlankCallback(&sub_80EBD18);
+ ewram0_10.var304++;
+ break;
+ case 5:
+ if (!sub_8055870())
+ ewram0_10.var304++;
+ break;
+ case 6:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ ewram0_10.var304++;
+ break;
+ case 7:
+ sub_80EED2C(0x4);
+ ewram0_10.var304++;
+ break;
+ case 8:
+ if (!gPaletteFade.active)
+ sub_80EBDBC(&sub_80EDDBC);
+ break;
+ }
}
-void sub_80EE3D8() {
- u8 var1;
- switch (ewram0_10.var304) {
- case 0:
- sub_80F1E84();
- sub_80F2D04(0);
- ewram0_10.var304++;
- break;
- case 1:
- if (sub_80F1F10()) return;
- sub_80EEFBC(0x9);
- ewram0_10.var304++;
- break;
- case 2:
- if (!(var1 = sub_80EEF34())) {
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, var1);
+void sub_80EE3D8()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ sub_80F1E84();
+ sub_80F2D04(0);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (!sub_80F1F10())
+ {
+ sub_80EEFBC(0x9);
ewram0_10.var304++;
}
- break;
- case 3:
- if (gPaletteFade.active) return;
- SetVBlankCallback(NULL);
- sub_80EED0C();
- sub_80EF814();
- sub_80EEE08();
- ewram0_10.var304++;
- break;
- case 4:
- sub_80F2620();
- ewram0_10.var304++;
- break;
- case 5:
- sub_80F0264(0x2);
- ewram0_10.var304++;
- case 6:
- if (sub_80F02A0()) return;
- ewram0_10.var304++;
- break;
- case 7:
- sub_80F2C80(0x3);
- ewram0_10.var304++;
- case 8:
- if (sub_80F2CBC(0x3)) return;
- ewram0_10.var304++;
- break;
- case 9:
- sub_80F3008(0x2);
- ewram0_10.var304++;
- break;
- case 10:
- if (sub_8055870()) return;
- ewram0_10.var304++;
- break;
- case 11:
- sub_80F6F10();
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
- SetVBlankCallback(&sub_80EBD68);
- ewram0_10.var304++;
- break;
- case 12:
- sub_80EED2C(0x5);
- ewram0_10.var304++;
- break;
- case 13:
- if (gPaletteFade.active) return;
- sub_80EBDBC(&sub_80EE58C);
- break;
- }
+ break;
+ case 2:
+ if (!sub_80EEF34())
+ {
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, 0);
+ ewram0_10.var304++;
+ }
+ break;
+ case 3:
+ if (!gPaletteFade.active)
+ {
+ SetVBlankCallback(NULL);
+ sub_80EED0C();
+ sub_80EF814();
+ sub_80EEE08();
+ ewram0_10.var304++;
+ }
+ break;
+ case 4:
+ sub_80F2620();
+ ewram0_10.var304++;
+ break;
+ case 5:
+ sub_80F0264(0x2);
+ ewram0_10.var304++;
+ case 6:
+ if (!sub_80F02A0())
+ ewram0_10.var304++;
+ break;
+ case 7:
+ sub_80F2C80(0x3);
+ ewram0_10.var304++;
+ case 8:
+ if (!sub_80F2CBC(0x3))
+ ewram0_10.var304++;
+ break;
+ case 9:
+ sub_80F3008(0x2);
+ ewram0_10.var304++;
+ break;
+ case 10:
+ if (!sub_8055870())
+ ewram0_10.var304++;
+ break;
+ case 11:
+ sub_80F6F10();
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ SetVBlankCallback(&sub_80EBD68);
+ ewram0_10.var304++;
+ break;
+ case 12:
+ sub_80EED2C(0x5);
+ ewram0_10.var304++;
+ break;
+ case 13:
+ if (!gPaletteFade.active)
+ sub_80EBDBC(&sub_80EE58C);
+ break;
+ }
}
-void sub_80EE58C() {
- switch (ewram0_10.var304) {
- case 0:
- switch (sub_80F5DD4()) {
- case 1:
- PlaySE(0x5);
+void sub_80EE58C()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ switch (sub_80F5DD4())
+ {
+ case 1:
+ PlaySE(SE_SELECT);
+ sub_80F0FFC(ewram0_10.var876E);
+ break;
+ case 2:
+ PlaySE(SE_SELECT);
+ ewram0_10.var304++;
+ break;
+ default:
+ if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_80EBDBC(&sub_80EE658);
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_80EBDBC(&sub_80EE8F4);
+ }
+ break;
+ }
+ break;
+ case 1:
+ if (!sub_80F0718())
+ {
sub_80F0FFC(ewram0_10.var876E);
- break;
- case 2:
- PlaySE(0x5);
+ sub_80F3264();
ewram0_10.var304++;
- break;
- default:
- if (gMain.newKeys & A_BUTTON) {
- PlaySE(0x5);
- sub_80EBDBC(&sub_80EE658);
- }
- else if (gMain.newKeys & B_BUTTON) {
- PlaySE(0x5);
- sub_80EBDBC(&sub_80EE8F4);
- }
- break;
}
- break;
- case 1:
- if (sub_80F0718()) return;
- sub_80F0FFC(ewram0_10.var876E);
- sub_80F3264();
- ewram0_10.var304++;
- break;
- case 2:
- if (sub_8055870()) return;
- ewram0_10.var304 = 0;
- break;
- }
+ break;
+ case 2:
+ if (!sub_8055870())
+ ewram0_10.var304 = 0;
+ break;
+ }
}
-void sub_80EE658() {
- switch (ewram0_10.var304) {
- case 0:
- sub_80F3294(0x1);
- sub_80EEFBC(0xA);
- sub_80F0B24();
- ewram0_10.var304++;
- break;
- case 1:
- if (sub_80F0B44()) return;
- ewram0_10.var304++;
- break;
- case 2:
- sub_80F0F64();
- ewram0_10.var304++;
- break;
- case 3:
- if (sub_80F0FEC()) return;
- sub_80F6FB8(0x1);
- ewram0_10.var304++;
- break;
- case 4:
- sub_80F6DB8();
- ewram0_10.var304++;
- break;
- case 5:
- sub_80F700C((u8 *)(gSharedMem + 0x8788), *(u16 *)(gSharedMem + 0x8788 - 0x1A));
- sub_80F42C4((u8 *)(gSharedMem + 0x8788));
- ewram0_10.var304++;
- break;
- case 6:
- sub_80F0CD8();
- ewram0_10.var304++;
- case 7:
- if (sub_80F6E9C()) return;
- if (sub_80F0D5C()) return;
- ewram0_10.var304++;
- break;
- case 8:
- if (gMain.heldKeys & 0x40) {
- if (ewram0_10.var87DC) {
- PlaySE(0x5);
- sub_80F708C(-1);
- ewram0_10.var304 = 0x10;
- }
- else goto label1;
- }
- else goto label1;
- break;
-label1:
- if (gMain.heldKeys & 0x80) {
- if (ewram0_10.var87DC < ewram0_10.var8774) {
- PlaySE(0x5);
- sub_80F708C(1);
- ewram0_10.var304 = 0x10;
- }
- else goto label2;
+void sub_80EE658()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ sub_80F3294(0x1);
+ sub_80EEFBC(0xA);
+ sub_80F0B24();
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (!sub_80F0B44())
+ ewram0_10.var304++;
+ break;
+ case 2:
+ sub_80F0F64();
+ ewram0_10.var304++;
+ break;
+ case 3:
+ if (!sub_80F0FEC())
+ {
+ sub_80F6FB8(0x1);
+ ewram0_10.var304++;
}
- else goto label2;
- break;
-label2:
- if (gMain.newKeys & B_BUTTON) {
- PlaySE(0x5);
- sub_80F4394();
- sub_80F0EC0();
+ break;
+ case 4:
+ sub_80F6DB8();
+ ewram0_10.var304++;
+ break;
+ case 5:
+ sub_80F700C((u8 *)(gSharedMem + 0x8788), *(u16 *)(gSharedMem + 0x8788 - 0x1A));
+ sub_80F42C4((u8 *)(gSharedMem + 0x8788));
+ ewram0_10.var304++;
+ break;
+ case 6:
+ sub_80F0CD8();
+ ewram0_10.var304++;
+ case 7:
+ if (!sub_80F6E9C() && !sub_80F0D5C())
+ ewram0_10.var304++;
+ break;
+ case 8:
+ if ((gMain.heldKeys & 0x40) && ewram0_10.var87DC)
+ {
+ PlaySE(SE_SELECT);
+ sub_80F708C(-1);
+ ewram0_10.var304 = 0x10;
+ }
+ else if ((gMain.heldKeys & 0x80) && ewram0_10.var87DC < ewram0_10.var8774)
+ {
+ PlaySE(SE_SELECT);
+ sub_80F708C(1);
+ ewram0_10.var304 = 0x10;
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_80F4394();
+ sub_80F0EC0();
+ ewram0_10.var304++;
+ }
+ break;
+ case 9:
+ if (!sub_80F6ED4() && !sub_80F0EF4())
+ {
+ sub_80F6FB8(0);
+ sub_80F2FB0();
ewram0_10.var304++;
}
- break;
- case 9:
- if (sub_80F6ED4()) return;
- if (sub_80F0EF4()) return;
- sub_80F6FB8(0);
- sub_80F2FB0();
- ewram0_10.var304++;
- break;
- case 10:
- sub_80F6134();
- ewram0_10.var304++;
- break;
- case 11:
- sub_80F0FA0();
- ewram0_10.var304++;
- break;
- case 12:
- if (sub_80F0FEC()) return;
- ewram0_10.var304++;
- break;
- case 13:
- sub_80F0C28();
- ewram0_10.var304++;
- break;
- case 14:
- if (sub_80F0C48()) return;
- ewram0_10.var304++;
- break;
- case 15:
- sub_80EEFBC(0x9);
- sub_80F3294(0);
- sub_80EBDBC(&sub_80EE58C);
- sub_80EED9C();
- break;
- case 16:
- if (sub_80F70FC()) return;
- ewram0_10.var304++;
- break;
- case 17:
- if (sub_8055870()) return;
- ewram0_10.var304 = 0x8;
- break;
- }
+ break;
+ case 10:
+ sub_80F6134();
+ ewram0_10.var304++;
+ break;
+ case 11:
+ sub_80F0FA0();
+ ewram0_10.var304++;
+ break;
+ case 12:
+ if (!sub_80F0FEC())
+ ewram0_10.var304++;
+ break;
+ case 13:
+ sub_80F0C28();
+ ewram0_10.var304++;
+ break;
+ case 14:
+ if (!sub_80F0C48())
+ ewram0_10.var304++;
+ break;
+ case 15:
+ sub_80EEFBC(0x9);
+ sub_80F3294(0);
+ sub_80EBDBC(&sub_80EE58C);
+ sub_80EED9C();
+ break;
+ case 16:
+ if (!sub_80F70FC())
+ ewram0_10.var304++;
+ break;
+ case 17:
+ if (!sub_8055870())
+ ewram0_10.var304 = 0x8;
+ break;
+ }
}
-void sub_80EE8F4() {
- switch (ewram0_10.var304) {
- case 0:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
- ewram0_10.var304++;
- break;
- case 1:
- if (gPaletteFade.active) return;
- sub_80F3130();
- sub_80F2D6C(0x2);
- sub_80F6FFC();
- ewram0_10.var304++;
- break;
- case 2:
- sub_80EBDBC(&sub_80EC00C);
- break;
- }
+void sub_80EE8F4()
+{
+ switch (ewram0_10.var304)
+ {
+ case 0:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (!gPaletteFade.active)
+ {
+ sub_80F3130();
+ sub_80F2D6C(0x2);
+ sub_80F6FFC();
+ ewram0_10.var304++;
+ }
+ break;
+ case 2:
+ sub_80EBDBC(&sub_80EC00C);
+ break;
+ }
}
-void sub_80EE96C() {
- u16 var1 = ewram0_10.var304;
- if (!var1) {
- PlaySE(0x6F);
- BeginNormalPaletteFade(-1, 0, 0, 0x10, var1);
- ewram0_10.var304++;
- }
- else {
- if (gPaletteFade.active) return;
- sub_80F5BDC();
- sub_805469C();
- }
+void sub_80EE96C()
+{
+ if (!ewram0_10.var304)
+ {
+ PlaySE(0x6F);
+ BeginNormalPaletteFade(-1, 0, 0, 0x10, 0);
+ ewram0_10.var304++;
+ }
+ else
+ {
+ if (!gPaletteFade.active)
+ {
+ sub_80F5BDC();
+ sub_805469C();
+ }
+ }
}
-void sub_80EE9C0(u8 param1, u8 param2, u8 param3) {
- sub_80F1E84();
- ewram0_10.var6e14 = param1;
- ewram0_10.var6e15 = param2;
- ewram0_10.var6e16 = 0;
- ewram0_10.var6e17 = param3;
+void sub_80EE9C0(u8 param1, u8 param2, u8 param3)
+{
+ sub_80F1E84();
+ ewram0_10.var6e14 = param1;
+ ewram0_10.var6e15 = param2;
+ ewram0_10.var6e16 = 0;
+ ewram0_10.var6e17 = param3;
}
#if 0
bool8 sub_80EEA0C() {
- switch (ewram0_10.var6e16) {
- case 0:
- if (sub_80F1F10()) return 1;
- if (ewram0_10.var6e17 != 0xC) {
- ewram0_10.var6e16 = 0x1;
- return 1;
- }
- else {
- ewram0_10.var6e16 = 0x3;
- return 1;
- }
- case 1:
- sub_80F2C80(ewram0_10.var6e17);
- ewram0_10.var6e16++;
- case 2:
- if (sub_80F2CBC(ewram0_10.var6e17)) return 1;
- ewram0_10.var6e16++;
- case 3:
-
- }
+ switch (ewram0_10.var6e16) {
+ case 0:
+ if (sub_80F1F10()) return 1;
+ if (ewram0_10.var6e17 != 0xC) {
+ ewram0_10.var6e16 = 0x1;
+ return 1;
+ }
+ else {
+ ewram0_10.var6e16 = 0x3;
+ return 1;
+ }
+ case 1:
+ sub_80F2C80(ewram0_10.var6e17);
+ ewram0_10.var6e16++;
+ case 2:
+ if (sub_80F2CBC(ewram0_10.var6e17)) return 1;
+ ewram0_10.var6e16++;
+ case 3:
+
+ }
}
#else
__attribute__((naked))
bool8 sub_80EEA0C() {
- asm_unified(
- "push {r4,lr}\n\
- ldr r1, _080EEA28 @ =gSharedMem\n\
- ldr r2, _080EEA2C @ =0x00006e16\n\
- adds r0, r1, r2\n\
- ldrb r0, [r0]\n\
- adds r3, r1, 0\n\
- cmp r0, 0x8\n\
- bls _080EEA1E\n\
- b _080EEBFA\n\
+ asm_unified(
+ "push {r4,lr}\n\
+ ldr r1, _080EEA28 @ =gSharedMem\n\
+ ldr r2, _080EEA2C @ =0x00006e16\n\
+ adds r0, r1, r2\n\
+ ldrb r0, [r0]\n\
+ adds r3, r1, 0\n\
+ cmp r0, 0x8\n\
+ bls _080EEA1E\n\
+ b _080EEBFA\n\
_080EEA1E:\n\
- lsls r0, 2\n\
- ldr r1, _080EEA30 @ =_080EEA34\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- mov pc, r0\n\
- .align 2, 0\n\
+ lsls r0, 2\n\
+ ldr r1, _080EEA30 @ =_080EEA34\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ mov pc, r0\n\
+ .align 2, 0\n\
_080EEA28: .4byte gSharedMem\n\
_080EEA2C: .4byte 0x00006e16\n\
_080EEA30: .4byte _080EEA34\n\
- .align 2, 0\n\
+ .align 2, 0\n\
_080EEA34:\n\
- .4byte _080EEA58\n\
- .4byte _080EEA98\n\
- .4byte _080EEAAE\n\
- .4byte _080EEAD4\n\
- .4byte _080EEB3E\n\
- .4byte _080EEB68\n\
- .4byte _080EEB88\n\
- .4byte _080EEBAC\n\
- .4byte _080EEBE4\n\
+ .4byte _080EEA58\n\
+ .4byte _080EEA98\n\
+ .4byte _080EEAAE\n\
+ .4byte _080EEAD4\n\
+ .4byte _080EEB3E\n\
+ .4byte _080EEB68\n\
+ .4byte _080EEB88\n\
+ .4byte _080EEBAC\n\
+ .4byte _080EEBE4\n\
_080EEA58:\n\
- bl sub_80F1F10\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _080EEA64\n\
- b _080EEC08\n\
+ bl sub_80F1F10\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _080EEA64\n\
+ b _080EEC08\n\
_080EEA64:\n\
- ldr r1, _080EEA7C @ =gSharedMem\n\
- ldr r4, _080EEA80 @ =0x00006e17\n\
- adds r0, r1, r4\n\
- ldrb r0, [r0]\n\
- cmp r0, 0xC\n\
- beq _080EEA88\n\
- ldr r0, _080EEA84 @ =0x00006e16\n\
- adds r1, r0\n\
- movs r0, 0x1\n\
- strb r0, [r1]\n\
- b _080EEC08\n\
- .align 2, 0\n\
+ ldr r1, _080EEA7C @ =gSharedMem\n\
+ ldr r4, _080EEA80 @ =0x00006e17\n\
+ adds r0, r1, r4\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0xC\n\
+ beq _080EEA88\n\
+ ldr r0, _080EEA84 @ =0x00006e16\n\
+ adds r1, r0\n\
+ movs r0, 0x1\n\
+ strb r0, [r1]\n\
+ b _080EEC08\n\
+ .align 2, 0\n\
_080EEA7C: .4byte gSharedMem\n\
_080EEA80: .4byte 0x00006e17\n\
_080EEA84: .4byte 0x00006e16\n\
_080EEA88:\n\
- ldr r2, _080EEA94 @ =0x00006e16\n\
- adds r1, r2\n\
- movs r0, 0x3\n\
- strb r0, [r1]\n\
- b _080EEC08\n\
- .align 2, 0\n\
+ ldr r2, _080EEA94 @ =0x00006e16\n\
+ adds r1, r2\n\
+ movs r0, 0x3\n\
+ strb r0, [r1]\n\
+ b _080EEC08\n\
+ .align 2, 0\n\
_080EEA94: .4byte 0x00006e16\n\
_080EEA98:\n\
- ldr r4, _080EEAC8 @ =gSharedMem\n\
- ldr r1, _080EEACC @ =0x00006e17\n\
- adds r0, r4, r1\n\
- ldrb r0, [r0]\n\
- bl sub_80F2C80\n\
- ldr r2, _080EEAD0 @ =0x00006e16\n\
- adds r4, r2\n\
- ldrb r0, [r4]\n\
- adds r0, 0x1\n\
- strb r0, [r4]\n\
+ ldr r4, _080EEAC8 @ =gSharedMem\n\
+ ldr r1, _080EEACC @ =0x00006e17\n\
+ adds r0, r4, r1\n\
+ ldrb r0, [r0]\n\
+ bl sub_80F2C80\n\
+ ldr r2, _080EEAD0 @ =0x00006e16\n\
+ adds r4, r2\n\
+ ldrb r0, [r4]\n\
+ adds r0, 0x1\n\
+ strb r0, [r4]\n\
_080EEAAE:\n\
- ldr r4, _080EEAC8 @ =gSharedMem\n\
- ldr r1, _080EEACC @ =0x00006e17\n\
- adds r0, r4, r1\n\
- ldrb r0, [r0]\n\
- bl sub_80F2CBC\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _080EEAC2\n\
- b _080EEC08\n\
+ ldr r4, _080EEAC8 @ =gSharedMem\n\
+ ldr r1, _080EEACC @ =0x00006e17\n\
+ adds r0, r4, r1\n\
+ ldrb r0, [r0]\n\
+ bl sub_80F2CBC\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _080EEAC2\n\
+ b _080EEC08\n\
_080EEAC2:\n\
- ldr r2, _080EEAD0 @ =0x00006e16\n\
- adds r1, r4, r2\n\
- b _080EEB76\n\
- .align 2, 0\n\
+ ldr r2, _080EEAD0 @ =0x00006e16\n\
+ adds r1, r4, r2\n\
+ b _080EEB76\n\
+ .align 2, 0\n\
_080EEAC8: .4byte gSharedMem\n\
_080EEACC: .4byte 0x00006e17\n\
_080EEAD0: .4byte 0x00006e16\n\
_080EEAD4:\n\
- adds r2, r3, 0\n\
- ldr r4, _080EEAF8 @ =0x00006e15\n\
- adds r0, r2, r4\n\
- ldrb r1, [r0]\n\
- subs r4, 0x68\n\
- adds r0, r2, r4\n\
- strb r1, [r0]\n\
- ldr r1, _080EEAFC @ =0x00006e14\n\
- adds r0, r2, r1\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x1\n\
- beq _080EEB14\n\
- cmp r0, 0x1\n\
- bgt _080EEB00\n\
- cmp r0, 0\n\
- beq _080EEB06\n\
- b _080EEB28\n\
- .align 2, 0\n\
+ adds r2, r3, 0\n\
+ ldr r4, _080EEAF8 @ =0x00006e15\n\
+ adds r0, r2, r4\n\
+ ldrb r1, [r0]\n\
+ subs r4, 0x68\n\
+ adds r0, r2, r4\n\
+ strb r1, [r0]\n\
+ ldr r1, _080EEAFC @ =0x00006e14\n\
+ adds r0, r2, r1\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x1\n\
+ beq _080EEB14\n\
+ cmp r0, 0x1\n\
+ bgt _080EEB00\n\
+ cmp r0, 0\n\
+ beq _080EEB06\n\
+ b _080EEB28\n\
+ .align 2, 0\n\
_080EEAF8: .4byte 0x00006e15\n\
_080EEAFC: .4byte 0x00006e14\n\
_080EEB00:\n\
- cmp r0, 0x2\n\
- beq _080EEB20\n\
- b _080EEB28\n\
+ cmp r0, 0x2\n\
+ beq _080EEB20\n\
+ b _080EEB28\n\
_080EEB06:\n\
- ldr r4, _080EEB10 @ =0x00006dae\n\
- adds r1, r2, r4\n\
- movs r0, 0x5\n\
- b _080EEB26\n\
- .align 2, 0\n\
+ ldr r4, _080EEB10 @ =0x00006dae\n\
+ adds r1, r2, r4\n\
+ movs r0, 0x5\n\
+ b _080EEB26\n\
+ .align 2, 0\n\
_080EEB10: .4byte 0x00006dae\n\
_080EEB14:\n\
- ldr r0, _080EEB1C @ =0x00006dae\n\
- adds r1, r2, r0\n\
- movs r0, 0x3\n\
- b _080EEB26\n\
- .align 2, 0\n\
+ ldr r0, _080EEB1C @ =0x00006dae\n\
+ adds r1, r2, r0\n\
+ movs r0, 0x3\n\
+ b _080EEB26\n\
+ .align 2, 0\n\
_080EEB1C: .4byte 0x00006dae\n\
_080EEB20:\n\
- ldr r2, _080EEB58 @ =0x00006dae\n\
- adds r1, r3, r2\n\
- movs r0, 0x6\n\
+ ldr r2, _080EEB58 @ =0x00006dae\n\
+ adds r1, r3, r2\n\
+ movs r0, 0x6\n\
_080EEB26:\n\
- strb r0, [r1]\n\
+ strb r0, [r1]\n\
_080EEB28:\n\
- ldr r4, _080EEB5C @ =gSharedMem\n\
- ldr r1, _080EEB60 @ =0x00006e14\n\
- adds r0, r4, r1\n\
- ldrb r0, [r0]\n\
- bl sub_80F1B8C\n\
- ldr r2, _080EEB64 @ =0x00006e16\n\
- adds r4, r2\n\
- ldrb r0, [r4]\n\
- adds r0, 0x1\n\
- strb r0, [r4]\n\
+ ldr r4, _080EEB5C @ =gSharedMem\n\
+ ldr r1, _080EEB60 @ =0x00006e14\n\
+ adds r0, r4, r1\n\
+ ldrb r0, [r0]\n\
+ bl sub_80F1B8C\n\
+ ldr r2, _080EEB64 @ =0x00006e16\n\
+ adds r4, r2\n\
+ ldrb r0, [r4]\n\
+ adds r0, 0x1\n\
+ strb r0, [r4]\n\
_080EEB3E:\n\
- ldr r4, _080EEB5C @ =gSharedMem\n\
- ldr r1, _080EEB60 @ =0x00006e14\n\
- adds r0, r4, r1\n\
- ldrb r0, [r0]\n\
- bl sub_80F1BC8\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- bne _080EEC08\n\
- ldr r2, _080EEB64 @ =0x00006e16\n\
- adds r1, r4, r2\n\
- b _080EEB76\n\
- .align 2, 0\n\
+ ldr r4, _080EEB5C @ =gSharedMem\n\
+ ldr r1, _080EEB60 @ =0x00006e14\n\
+ adds r0, r4, r1\n\
+ ldrb r0, [r0]\n\
+ bl sub_80F1BC8\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ bne _080EEC08\n\
+ ldr r2, _080EEB64 @ =0x00006e16\n\
+ adds r1, r4, r2\n\
+ b _080EEB76\n\
+ .align 2, 0\n\
_080EEB58: .4byte 0x00006dae\n\
_080EEB5C: .4byte gSharedMem\n\
_080EEB60: .4byte 0x00006e14\n\
_080EEB64: .4byte 0x00006e16\n\
_080EEB68:\n\
- bl sub_8055870\n\
- cmp r0, 0\n\
- bne _080EEC08\n\
- ldr r1, _080EEB80 @ =gSharedMem\n\
- ldr r4, _080EEB84 @ =0x00006e16\n\
- adds r1, r4\n\
+ bl sub_8055870\n\
+ cmp r0, 0\n\
+ bne _080EEC08\n\
+ ldr r1, _080EEB80 @ =gSharedMem\n\
+ ldr r4, _080EEB84 @ =0x00006e16\n\
+ adds r1, r4\n\
_080EEB76:\n\
- ldrb r0, [r1]\n\
- adds r0, 0x1\n\
- strb r0, [r1]\n\
- b _080EEC08\n\
- .align 2, 0\n\
+ ldrb r0, [r1]\n\
+ adds r0, 0x1\n\
+ strb r0, [r1]\n\
+ b _080EEC08\n\
+ .align 2, 0\n\
_080EEB80: .4byte gSharedMem\n\
_080EEB84: .4byte 0x00006e16\n\
_080EEB88:\n\
- bl sub_80F1DF0\n\
- ldr r4, _080EEBA0 @ =gSharedMem\n\
- ldr r1, _080EEBA4 @ =0x00006e14\n\
- adds r0, r4, r1\n\
- ldrb r0, [r0]\n\
- bl sub_80EF490\n\
- ldr r2, _080EEBA8 @ =0x00006e16\n\
- adds r4, r2\n\
- b _080EEBCC\n\
- .align 2, 0\n\
+ bl sub_80F1DF0\n\
+ ldr r4, _080EEBA0 @ =gSharedMem\n\
+ ldr r1, _080EEBA4 @ =0x00006e14\n\
+ adds r0, r4, r1\n\
+ ldrb r0, [r0]\n\
+ bl sub_80EF490\n\
+ ldr r2, _080EEBA8 @ =0x00006e16\n\
+ adds r4, r2\n\
+ b _080EEBCC\n\
+ .align 2, 0\n\
_080EEBA0: .4byte gSharedMem\n\
_080EEBA4: .4byte 0x00006e14\n\
_080EEBA8: .4byte 0x00006e16\n\
_080EEBAC:\n\
- bl sub_80F1E50\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- bne _080EEC08\n\
- ldr r4, _080EEBD4 @ =gSharedMem\n\
- ldr r1, _080EEBD8 @ =0x00006e14\n\
- adds r0, r4, r1\n\
- ldrb r0, [r0]\n\
- ldr r2, _080EEBDC @ =0x00006dad\n\
- adds r1, r4, r2\n\
- ldrb r1, [r1]\n\
- bl sub_80EF428\n\
- ldr r0, _080EEBE0 @ =0x00006e16\n\
- adds r4, r0\n\
+ bl sub_80F1E50\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ bne _080EEC08\n\
+ ldr r4, _080EEBD4 @ =gSharedMem\n\
+ ldr r1, _080EEBD8 @ =0x00006e14\n\
+ adds r0, r4, r1\n\
+ ldrb r0, [r0]\n\
+ ldr r2, _080EEBDC @ =0x00006dad\n\
+ adds r1, r4, r2\n\
+ ldrb r1, [r1]\n\
+ bl sub_80EF428\n\
+ ldr r0, _080EEBE0 @ =0x00006e16\n\
+ adds r4, r0\n\
_080EEBCC:\n\
- ldrb r0, [r4]\n\
- adds r0, 0x1\n\
- strb r0, [r4]\n\
- b _080EEC08\n\
- .align 2, 0\n\
+ ldrb r0, [r4]\n\
+ adds r0, 0x1\n\
+ strb r0, [r4]\n\
+ b _080EEC08\n\
+ .align 2, 0\n\
_080EEBD4: .4byte gSharedMem\n\
_080EEBD8: .4byte 0x00006e14\n\
_080EEBDC: .4byte 0x00006dad\n\
_080EEBE0: .4byte 0x00006e16\n\
_080EEBE4:\n\
- bl sub_80EF4F8\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- bne _080EEC08\n\
- ldr r1, _080EEC00 @ =gSharedMem\n\
- ldr r2, _080EEC04 @ =0x00006e16\n\
- adds r1, r2\n\
- ldrb r0, [r1]\n\
- adds r0, 0x1\n\
- strb r0, [r1]\n\
+ bl sub_80EF4F8\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ bne _080EEC08\n\
+ ldr r1, _080EEC00 @ =gSharedMem\n\
+ ldr r2, _080EEC04 @ =0x00006e16\n\
+ adds r1, r2\n\
+ ldrb r0, [r1]\n\
+ adds r0, 0x1\n\
+ strb r0, [r1]\n\
_080EEBFA:\n\
- movs r0, 0\n\
- b _080EEC0A\n\
- .align 2, 0\n\
+ movs r0, 0\n\
+ b _080EEC0A\n\
+ .align 2, 0\n\
_080EEC00: .4byte gSharedMem\n\
_080EEC04: .4byte 0x00006e16\n\
_080EEC08:\n\
- movs r0, 0x1\n\
+ movs r0, 0x1\n\
_080EEC0A:\n\
- pop {r4}\n\
- pop {r1}\n\
- bx r1\n"
+ pop {r4}\n\
+ pop {r1}\n\
+ bx r1\n"
- );
+ );
}
#endif
// var6dad and var6dae must be s8 in this func
-bool8 sub_80EEC10() {
- if (gMain.newKeys & 0x40) {
- do {
- if (--ewram0_11.var6dad < 0) {
- ewram0_11.var6dad = ewram0_11.var6dae - 1;
- }
-
- } while (!ewram0_10.var6db2[ewram0_11.var6dad]);
- return 1;
- }
- if (gMain.newKeys & 0x80) {
- do {
- if (++ewram0_11.var6dad >= ewram0_11.var6dae) {
- ewram0_11.var6dad = 0;
- }
- } while (!ewram0_10.var6db2[ewram0_11.var6dad]);
- return 1;
- }
- return 0;
+bool8 sub_80EEC10()
+{
+ if (gMain.newKeys & 0x40)
+ {
+ do
+ {
+ if (--ewram0_11.var6dad < 0)
+ ewram0_11.var6dad = ewram0_11.var6dae - 1;
+ } while (!ewram0_10.var6db2[ewram0_11.var6dad]);
+ return TRUE;
+ }
+ if (gMain.newKeys & 0x80)
+ {
+ do
+ {
+ if (++ewram0_11.var6dad >= ewram0_11.var6dae)
+ ewram0_11.var6dad = 0;
+ } while (!ewram0_10.var6db2[ewram0_11.var6dad]);
+ return TRUE;
+ }
+ return FALSE;
}
-bool8 sub_80EEC90() {
- if (gMain.newKeys & 0x40) {
- if (--ewram0_11.var6dad < 0) {
- ewram0_11.var6dad = ewram0_11.var6dae - 1;
- }
- return 1;
- }
- if (gMain.newKeys & 0x80) {
- if (++ewram0_11.var6dad >= ewram0_11.var6dae) {
- ewram0_11.var6dad = 0;
- }
- return 1;
- }
- return 0;
+bool8 sub_80EEC90()
+{
+ if (gMain.newKeys & 0x40)
+ {
+ if (--ewram0_11.var6dad < 0)
+ ewram0_11.var6dad = ewram0_11.var6dae - 1;
+ return TRUE;
+ }
+ if (gMain.newKeys & 0x80)
+ {
+ if (++ewram0_11.var6dad >= ewram0_11.var6dae)
+ ewram0_11.var6dad = 0;
+ return TRUE;
+ }
+ return FALSE;
}
-void sub_80EED0C() {
- REG_DISPCNT = 512;
+void sub_80EED0C()
+{
+ REG_DISPCNT = 512;
}
-void sub_80EED1C() {
- REG_DISPCNT = 0x92 << 5;
+void sub_80EED1C()
+{
+ REG_DISPCNT = 0x92 << 5;
}
-void sub_80EED2C(u8 param1) {
- switch (param1) {
- case 0:
- REG_DISPCNT = 0xFA << 5;
- break;
- case 1:
- REG_DISPCNT = 0x1741;
- break;
- case 3:
- case 4:
- REG_DISPCNT = 0xFA << 5;
- break;
- case 2:
- REG_DISPCNT = 0x7b40;
- break;
- case 5:
- REG_DISPCNT = 0xFD << 6;
- break;
- }
+void sub_80EED2C(u8 param1)
+{
+ switch (param1) {
+ case 0:
+ REG_DISPCNT = 0xFA << 5;
+ break;
+ case 1:
+ REG_DISPCNT = 0x1741;
+ break;
+ case 3:
+ case 4:
+ REG_DISPCNT = 0xFA << 5;
+ break;
+ case 2:
+ REG_DISPCNT = 0x7b40;
+ break;
+ case 5:
+ REG_DISPCNT = 0xFD << 6;
+ break;
+ }
}
-void sub_80EED9C(void) {
- gUnknown_03000744 = ewram0_10.var300;
- ewram0_10.var300 = &sub_80EEDC4;
- ewram0_10.var300();
+void sub_80EED9C(void)
+{
+ gUnknown_03000744 = ewram0_10.var300;
+ ewram0_10.var300 = &sub_80EEDC4;
+ ewram0_10.var300();
}
-void sub_80EEDC4(void) {
- if (sub_8055870() != 0x1) {
- ewram0_10.var300 = gUnknown_03000744;
- }
+void sub_80EEDC4(void)
+{
+ if (sub_8055870() != 0x1)
+ ewram0_10.var300 = gUnknown_03000744;
}
-void sub_80EEDE8(void) {
- REG_BG0HOFS = 0;
- REG_BG0VOFS = 0;
- REG_BG2VOFS = 0;
- REG_BG2HOFS = 0;
- REG_BG3HOFS = 0;
- REG_BG3VOFS = 0;
+void sub_80EEDE8(void)
+{
+ REG_BG0HOFS = 0;
+ REG_BG0VOFS = 0;
+ REG_BG2VOFS = 0;
+ REG_BG2HOFS = 0;
+ REG_BG3HOFS = 0;
+ REG_BG3VOFS = 0;
}
-void sub_80EEE08(void) {
- gUnknown_083DFEC4->unkD160 = 0;
+void sub_80EEE08(void)
+{
+ gUnknown_083DFEC4->unkD160 = 0;
}
-void sub_80EEE20(void) {
- gUnknown_083DFEC4->unkD160 = 0;
- if (!gUnknown_083DFEC4->unk6DAC) {
- while (sub_80EEE54());
- }
+void sub_80EEE20(void)
+{
+ gUnknown_083DFEC4->unkD160 = 0;
+ if (!gUnknown_083DFEC4->unk6DAC)
+ {
+ while (sub_80EEE54())
+ ;
+ }
}
-bool8 sub_80EEE54(void) {
- switch (gUnknown_083DFEC4->unkD160) {
- case 0:
- LZ77UnCompVram(gPokenavHoennMapMisc_Gfx, (void *)VRAM + 0xC000);
- break;
- case 1:
- LZ77UnCompVram(gUnknown_08E99FB0, (void *)VRAM + 0xD800);
- break;
- case 2:
- LoadPalette(gPokenavHoennMap1_Pal, 0x10, 0x20);
- break;
- case 3:
- sub_80EF58C(0);
- sub_80EF58C(1);
- sub_80EF58C(2);
- break;
- case 4:
- gUnknown_083DFEC4->unk030C.unk030C.unk0 = 0;
- REG_BG1HOFS = 0;
- REG_BG1VOFS = 0;
- REG_BG1CNT = 0x1B0C;
- gUnknown_083DFEC4->unkD160++;
- default:
- return 0;
- }
- gUnknown_083DFEC4->unkD160++;
- return 1;
+bool8 sub_80EEE54(void)
+{
+ switch (gUnknown_083DFEC4->unkD160)
+ {
+ case 0:
+ LZ77UnCompVram(gPokenavHoennMapMisc_Gfx, (void *)VRAM + 0xC000);
+ break;
+ case 1:
+ LZ77UnCompVram(gUnknown_08E99FB0, (void *)VRAM + 0xD800);
+ break;
+ case 2:
+ LoadPalette(gPokenavHoennMap1_Pal, 0x10, 0x20);
+ break;
+ case 3:
+ sub_80EF58C(0);
+ sub_80EF58C(1);
+ sub_80EF58C(2);
+ break;
+ case 4:
+ gUnknown_083DFEC4->unk030C.unk030C.unk0 = 0;
+ REG_BG1HOFS = 0;
+ REG_BG1VOFS = 0;
+ REG_BG1CNT = 0x1B0C;
+ gUnknown_083DFEC4->unkD160++;
+ default:
+ return FALSE;
+ }
+ gUnknown_083DFEC4->unkD160++;
+ return TRUE;
}
-bool8 sub_80EEF34(void) {
- bool8 retVal = TRUE;
+bool8 sub_80EEF34(void)
+{
+ bool8 retVal = TRUE;
- if (gUnknown_083DFEC4->unk030C.unk030C.unk0 == 32)
- {
- return FALSE;
- }
+ if (gUnknown_083DFEC4->unk030C.unk030C.unk0 == 32)
+ return FALSE;
- gUnknown_083DFEC4->unk030C.unk030C.unk0 += 2;
- if (gUnknown_083DFEC4->unk030C.unk030C.unk0 > 31)
- {
- gUnknown_083DFEC4->unk030C.unk030C.unk0 = 32;
- retVal = FALSE;
- }
+ gUnknown_083DFEC4->unk030C.unk030C.unk0 += 2;
+ if (gUnknown_083DFEC4->unk030C.unk030C.unk0 > 31)
+ {
+ gUnknown_083DFEC4->unk030C.unk030C.unk0 = 32;
+ retVal = FALSE;
+ }
- REG_BG1VOFS = gUnknown_083DFEC4->unk030C.unk030C.unk0;
- return retVal;
+ REG_BG1VOFS = gUnknown_083DFEC4->unk030C.unk030C.unk0;
+ return retVal;
}
bool8 sub_80EEF78(void)
{
- bool8 retVal = TRUE;
-
- if (gUnknown_083DFEC4->unk030C.unk030C.unk0 == 0)
- {
- return FALSE;
- }
-
- gUnknown_083DFEC4->unk030C.unk030C.unk0 -= 2;
- if (gUnknown_083DFEC4->unk030C.unk030C.unk0 <= 0)
- {
- gUnknown_083DFEC4->unk030C.unk030C.unk0 = 0;
- retVal = FALSE;
- }
-
- REG_BG1VOFS = gUnknown_083DFEC4->unk030C.unk030C.unk0;
- return retVal;
+ bool8 retVal = TRUE;
+
+ if (gUnknown_083DFEC4->unk030C.unk030C.unk0 == 0)
+ return FALSE;
+
+ gUnknown_083DFEC4->unk030C.unk030C.unk0 -= 2;
+ if (gUnknown_083DFEC4->unk030C.unk030C.unk0 <= 0)
+ {
+ gUnknown_083DFEC4->unk030C.unk030C.unk0 = 0;
+ retVal = FALSE;
+ }
+
+ REG_BG1VOFS = gUnknown_083DFEC4->unk030C.unk030C.unk0;
+ return retVal;
}
void sub_80EEFBC(u8 a)
{
- u8 var1;
+ u8 var1;
- sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 0, 0, 17, 2);
+ sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 0, 0, 17, 2);
- switch (a)
- {
- case 0:
- sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 17, 0, 10, 2);
- sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2);
- break;
- case 11:
- sub_809D104((void *)VRAM + 0xD800, 8, 22, gUnknown_08E9A100, 0, 6, 7, 2);
- break;
- case 2:
- var1 = gUnknown_083DFEC4->unk6DAC;
- if (!var1)
- {
- sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 10, 2, 10, 2);
- sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, var1, 6, 7, 2);
- }
- else
- {
- sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2);
- }
- break;
- case 3:
- sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 0, 4, 10, 2);
- sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2);
- break;
- case 4:
- sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 20, 2, 10, 2);
- sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2);
- break;
- case 7:
- sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 10, 4, 10, 2);
- sub_809D104((void *)VRAM + 0xD800, 7, 22, gUnknown_08E9A100, 0, 6, 7, 2);
- break;
- case 8:
- sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 20, 4, 10, 2);
- sub_809D104((void *)VRAM + 0xD800, 7, 22, gUnknown_08E9A100, 0, 6, 7, 2);
- break;
- case 5:
- case 9:
- sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 0, 2, 10, 2);
- sub_809D104((void *)VRAM + 0xD800, 8, 22, gUnknown_08E9A100, 0, 6, 7, 2);
- break;
- case 10:
- sub_809D104((void *)VRAM + 0xD800, 8, 22, gUnknown_08E9A100, 0, 6, 7, 2);
- break;
- }
+ switch (a)
+ {
+ case 0:
+ sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 17, 0, 10, 2);
+ sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ break;
+ case 11:
+ sub_809D104((void *)VRAM + 0xD800, 8, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ break;
+ case 2:
+ var1 = gUnknown_083DFEC4->unk6DAC;
+ if (!var1)
+ {
+ sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 10, 2, 10, 2);
+ sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, var1, 6, 7, 2);
+ }
+ else
+ {
+ sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ }
+ break;
+ case 3:
+ sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 0, 4, 10, 2);
+ sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ break;
+ case 4:
+ sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 20, 2, 10, 2);
+ sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ break;
+ case 7:
+ sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 10, 4, 10, 2);
+ sub_809D104((void *)VRAM + 0xD800, 7, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ break;
+ case 8:
+ sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 20, 4, 10, 2);
+ sub_809D104((void *)VRAM + 0xD800, 7, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ break;
+ case 5:
+ case 9:
+ sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 0, 2, 10, 2);
+ sub_809D104((void *)VRAM + 0xD800, 8, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ break;
+ case 10:
+ sub_809D104((void *)VRAM + 0xD800, 8, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ break;
+ }
}
void sub_80EF248(u8 a)
{
- gUnknown_083DFEC4->unkD160 = 0;
+ gUnknown_083DFEC4->unkD160 = 0;
- if (!gUnknown_083DFEC4->unk6DAC)
- {
- while (sub_80EF284(a));
- }
+ if (!gUnknown_083DFEC4->unk6DAC)
+ {
+ while (sub_80EF284(a))
+ ;
+ }
}
bool8 sub_80EF284(u8 a)
{
- switch (gUnknown_083DFEC4->unkD160)
- {
- case 0:
- sub_80EEDE8();
- break;
- case 1:
- SetUpWindowConfig(&gWindowConfig_81E7224);
- break;
- case 2:
- MultistepInitMenuWindowBegin(&gWindowConfig_81E7224);
- break;
- case 3:
- if (!MultistepInitMenuWindowContinue())
- {
- return TRUE;
- }
- break;
- case 4:
- DmaCopy16Defvars(3, gUnknown_083DFEEC, (void *)VRAM + 0x5000, 0xA0);
- break;
- case 5:
- LZ77UnCompVram(gUnknown_083DFF8C, (void *)VRAM + 0xF800);
- break;
- case 6:
- DmaCopy16Defvars(3, gUnknown_083E005C, (void *)VRAM + 0x8000, 0x20);
- break;
- case 7:
- LZ77UnCompVram(gUnknown_083E007C, (void *)VRAM + 0xE000);
- break;
- case 8:
- LZ77UnCompVram(gPokenavOutlineTilemap, (void *)VRAM + 0xE800);
- break;
- case 9:
- LZ77UnCompVram(gPokenavOutlineTiles, (void *)VRAM + 0x8020);
- break;
- case 10:
- sub_80EF54C(a);
- LoadPalette(gUnknown_083DFECC, 0xF0, 0x20);
- LoadPalette(gPokenavOutlinePalette, 0x40, 0x20);
- sub_80EF7D4();
- break;
- case 11:
- REG_BG0CNT = 0x1F01;
- REG_BG2CNT = 0x1D0A;
- REG_BG3CNT = 0x1C0B;
- REG_BLDCNT = 0;
-
- gUnknown_083DFEC4->unkD160++;
- return FALSE;
- default:
- return FALSE;
- }
-
- gUnknown_083DFEC4->unkD160++;
- return TRUE;
+ switch (gUnknown_083DFEC4->unkD160)
+ {
+ case 0:
+ sub_80EEDE8();
+ break;
+ case 1:
+ SetUpWindowConfig(&gWindowConfig_81E7224);
+ break;
+ case 2:
+ MultistepInitMenuWindowBegin(&gWindowConfig_81E7224);
+ break;
+ case 3:
+ if (!MultistepInitMenuWindowContinue())
+ return TRUE;
+ break;
+ case 4:
+ DmaCopy16Defvars(3, gUnknown_083DFEEC, (void *)VRAM + 0x5000, 0xA0);
+ break;
+ case 5:
+ LZ77UnCompVram(gUnknown_083DFF8C, (void *)VRAM + 0xF800);
+ break;
+ case 6:
+ DmaCopy16Defvars(3, gUnknown_083E005C, (void *)VRAM + 0x8000, 0x20);
+ break;
+ case 7:
+ LZ77UnCompVram(gUnknown_083E007C, (void *)VRAM + 0xE000);
+ break;
+ case 8:
+ LZ77UnCompVram(gPokenavOutlineTilemap, (void *)VRAM + 0xE800);
+ break;
+ case 9:
+ LZ77UnCompVram(gPokenavOutlineTiles, (void *)VRAM + 0x8020);
+ break;
+ case 10:
+ sub_80EF54C(a);
+ LoadPalette(gUnknown_083DFECC, 0xF0, 0x20);
+ LoadPalette(gPokenavOutlinePalette, 0x40, 0x20);
+ sub_80EF7D4();
+ break;
+ case 11:
+ REG_BG0CNT = 0x1F01;
+ REG_BG2CNT = 0x1D0A;
+ REG_BG3CNT = 0x1C0B;
+ REG_BLDCNT = 0;
+
+ gUnknown_083DFEC4->unkD160++;
+ return FALSE;
+ default:
+ return FALSE;
+ }
+
+ gUnknown_083DFEC4->unkD160++;
+ return TRUE;
}
void sub_80EF428(u8 a, u8 b)
{
- u8 *tileBuffer;
- const u8 *pcText = 0;
+ u8 *tileBuffer;
+ const u8 *pcText = 0;
- switch (a)
- {
- case 0:
- pcText = gUnknown_083E31B0[b];
- break;
- case 1:
- pcText = gUnknown_083E31CC[b];
- break;
- case 2:
- pcText = gUnknown_083E31D8[b];
- break;
- }
+ switch (a)
+ {
+ case 0:
+ pcText = gUnknown_083E31B0[b];
+ break;
+ case 1:
+ pcText = gUnknown_083E31CC[b];
+ break;
+ case 2:
+ pcText = gUnknown_083E31D8[b];
+ break;
+ }
- tileBuffer = gUnknown_083DFEC8;
- sub_8072C74(&tileBuffer[0x800], pcText, 0xC0, 2);
- MenuPrint(&tileBuffer[0x800], 3, 17);
+ tileBuffer = gUnknown_083DFEC8;
+ sub_8072C74(&tileBuffer[0x800], pcText, 0xC0, 2);
+ MenuPrint(&tileBuffer[0x800], 3, 17);
}
void sub_80EF490(u8 a)
{
- u16 var1, var2;
-
- if (a == 2)
- {
- a = 1;
- }
-
- gUnknown_083DFEC4->unkCE4E = a * 30;
- var1 = gUnknown_083DFEC4->unkCE4C;
- var2 = a * 30;
- if (var1 < var2)
- {
- gUnknown_083DFEC4->unkCE50 = 2;
- }
- else if (var1 > var2)
- {
- gUnknown_083DFEC4->unkCE50 = -2;
- }
- else
- {
- gUnknown_083DFEC4->unkCE50 = 0;
- }
+ u16 var1, var2;
+
+ if (a == 2)
+ a = 1;
+
+ gUnknown_083DFEC4->unkCE4E = a * 30;
+ var1 = gUnknown_083DFEC4->unkCE4C;
+ var2 = a * 30;
+ if (var1 < var2)
+ gUnknown_083DFEC4->unkCE50 = 2;
+ else if (var1 > var2)
+ gUnknown_083DFEC4->unkCE50 = -2;
+ else
+ gUnknown_083DFEC4->unkCE50 = 0;
}
bool8 sub_80EF4F8(void)
{
- u16 *palettes;
+ u16 *palettes;
- if (gUnknown_083DFEC4->unkCE4C == gUnknown_083DFEC4->unkCE4E)
- {
- return FALSE;
- }
- else
- {
- gUnknown_083DFEC4->unkCE4C = gUnknown_083DFEC4->unkCE50 + gUnknown_083DFEC4->unkCE4C;
+ if (gUnknown_083DFEC4->unkCE4C == gUnknown_083DFEC4->unkCE4E)
+ {
+ return FALSE;
+ }
+ else
+ {
+ gUnknown_083DFEC4->unkCE4C = gUnknown_083DFEC4->unkCE50 + gUnknown_083DFEC4->unkCE4C;
- palettes = gUnknown_083DFEC4->palettesCE52;
- LoadPalette(&palettes[gUnknown_083DFEC4->unkCE4C], 0x31, 4);
- return TRUE;
- }
+ palettes = gUnknown_083DFEC4->palettesCE52;
+ LoadPalette(&palettes[gUnknown_083DFEC4->unkCE4C], 0x31, 4);
+ return TRUE;
+ }
}
void sub_80EF54C(u8 a)
{
- if (a == 2)
- {
- a = 1;
- }
+ if (a == 2)
+ a = 1;
- gUnknown_083DFEC4->unkCE4C = a * 30;
- LoadPalette(&gUnknown_083DFEC4->palettesCE52[gUnknown_083DFEC4->unkCE4C], 0x31, 4);
+ gUnknown_083DFEC4->unkCE4C = a * 30;
+ LoadPalette(&gUnknown_083DFEC4->palettesCE52[gUnknown_083DFEC4->unkCE4C], 0x31, 4);
}
void sub_80EF58C(u8 a)
{
- u16 i;
- u16 * palettes;
- const u16 *var1;
-
- switch (a)
- {
- case 0:
- for (i = 0; i < 62; i++)
- {
- gUnknown_083DFEC4->palettesCE52[i] = 0;
- }
- break;
- case 1:
- palettes = gUnknown_083DFEC4->palettesCE52;
- var1 = gUnknown_083E003C;
- sub_80EF624(&var1[1], &var1[3], 16, 2, palettes);
- break;
- case 2:
- palettes = gUnknown_083DFEC4->palettesCE8E;
- var1 = gUnknown_083E003C;
- sub_80EF624(&var1[3], &var1[7], 16, 2, palettes);
- break;
- }
+ u16 i;
+ u16 * palettes;
+ const u16 *var1;
+
+ switch (a)
+ {
+ case 0:
+ for (i = 0; i < 62; i++)
+ gUnknown_083DFEC4->palettesCE52[i] = 0;
+ break;
+ case 1:
+ palettes = gUnknown_083DFEC4->palettesCE52;
+ var1 = gUnknown_083E003C;
+ sub_80EF624(&var1[1], &var1[3], 16, 2, palettes);
+ break;
+ case 2:
+ palettes = gUnknown_083DFEC4->palettesCE8E;
+ var1 = gUnknown_083E003C;
+ sub_80EF624(&var1[3], &var1[7], 16, 2, palettes);
+ break;
+ }
}
#ifdef NONMATCHING
void sub_80EF624(const u16 *a, const u16 *b, u8 c, u8 d, u16 *palettes)
{
- u16 red1, green1, blue1;
- u16 red2, green2, blue2;
- s32 redDiv, greenDiv, blueDiv;
- u16 *palettes2;
- u16 i, j;
-
- i = 0;
- while (i < d)
- {
- red1 = (*a & 0x1F) << 8;
- green1 = ((*a >> 5) & 0x1F) << 8;
- blue1 = ((*a >> 10) & 0x1F) << 8;
-
- red2 = (*b & 0x1F) << 8;
- green2 = ((*b >> 5) & 0x1F) << 8;
- blue2 = ((*b >> 10) & 0x1F) << 8;
-
- redDiv = (red2 - red1) / c;
- greenDiv = (green2 - green1) / c;
- blueDiv = (blue2 - blue1) / c;
-
- palettes2 = palettes;
- for (j = 0; j < c - 1; j++)
- {
- *palettes2 = (((blue1 << 8) >> 16) << 10) | (((green1 << 8) >> 16) << 5) | ((red1 << 8) >> 16);
- palettes2 += d;
- red1 += redDiv;
- green1 += greenDiv;
- blue1 += blueDiv;
- }
+ u16 red1, green1, blue1;
+ u16 red2, green2, blue2;
+ s32 redDiv, greenDiv, blueDiv;
+ u16 *palettes2;
+ u16 i, j;
+
+ i = 0;
+ while (i < d)
+ {
+ red1 = (*a & 0x1F) << 8;
+ green1 = ((*a >> 5) & 0x1F) << 8;
+ blue1 = ((*a >> 10) & 0x1F) << 8;
+
+ red2 = (*b & 0x1F) << 8;
+ green2 = ((*b >> 5) & 0x1F) << 8;
+ blue2 = ((*b >> 10) & 0x1F) << 8;
+
+ redDiv = (red2 - red1) / c;
+ greenDiv = (green2 - green1) / c;
+ blueDiv = (blue2 - blue1) / c;
+
+ palettes2 = palettes;
+ for (j = 0; j < c - 1; j++)
+ {
+ *palettes2 = (((blue1 << 8) >> 16) << 10) | (((green1 << 8) >> 16) << 5) | ((red1 << 8) >> 16);
+ palettes2 += d;
+ red1 += redDiv;
+ green1 += greenDiv;
+ blue1 += blueDiv;
+ }
- *palettes2 = (red2 >> 8) | (blue2 << 2) | (green2 >> 3);
- palettes++;
+ *palettes2 = (red2 >> 8) | (blue2 << 2) | (green2 >> 3);
+ palettes++;
- a++;
- b++;
- i++;
- }
+ a++;
+ b++;
+ i++;
+ }
}
#else
__attribute__((naked))
@@ -3430,151 +3606,142 @@ _080EF72E:\n\
void sub_80EF740(void)
{
- gUnknown_083DFEC4->unk6DA0 = (gUnknown_083DFEC4->unk6DA0 + 1) & 1;
- if (gUnknown_083DFEC4->unk6DA0)
- {
- gUnknown_083DFEC4->unk6DA2++;
- }
+ gUnknown_083DFEC4->unk6DA0 = (gUnknown_083DFEC4->unk6DA0 + 1) & 1;
+ if (gUnknown_083DFEC4->unk6DA0)
+ gUnknown_083DFEC4->unk6DA2++;
- REG_BG3HOFS = gUnknown_083DFEC4->unk6DA2;
+ REG_BG3HOFS = gUnknown_083DFEC4->unk6DA2;
}
void sub_80EF780(u8 taskId)
{
- if (gTasks[taskId].data[0] == 0 || (gUnknown_083DFEC4->unk6DA2 & 0x7) != 0)
- {
- sub_80EF740();
- }
- else
- {
- u16 value = gUnknown_083DFEC4->unk6DA2 & 0x7;
- gUnknown_083DFEC4->unk6DA2 = value;
- gUnknown_083DFEC4->unk6DA0 = value;
- REG_BG3HOFS = value;
- }
+ if (gTasks[taskId].data[0] == 0 || (gUnknown_083DFEC4->unk6DA2 & 0x7) != 0)
+ {
+ sub_80EF740();
+ }
+ else
+ {
+ u16 value = gUnknown_083DFEC4->unk6DA2 & 0x7;
+ gUnknown_083DFEC4->unk6DA2 = value;
+ gUnknown_083DFEC4->unk6DA0 = value;
+ REG_BG3HOFS = value;
+ }
}
void sub_80EF7D4(void)
{
- gUnknown_083DFEC4->unk6DA2 = 0;
- gUnknown_083DFEC4->unk6DA0 = 0;
- gUnknown_083DFEC4->taskId6DA4 = CreateTask(sub_80EF780, 80);
+ gUnknown_083DFEC4->unk6DA2 = 0;
+ gUnknown_083DFEC4->unk6DA0 = 0;
+ gUnknown_083DFEC4->taskId6DA4 = CreateTask(sub_80EF780, 80);
}
void sub_80EF814(void)
{
- if (FuncIsActiveTask(sub_80EF780))
- {
- DestroyTask(gUnknown_083DFEC4->taskId6DA4);
- }
+ if (FuncIsActiveTask(sub_80EF780))
+ DestroyTask(gUnknown_083DFEC4->taskId6DA4);
}
void sub_80EF840(void)
{
- gUnknown_083DFEC4->unkD160 = 0;
+ gUnknown_083DFEC4->unkD160 = 0;
- if (gUnknown_083DFEC4->unk6DAC == 0)
- {
- while (sub_80EF874() != 0);
- }
+ if (gUnknown_083DFEC4->unk6DAC == 0)
+ {
+ while (sub_80EF874() != 0)
+ ;
+ }
}
bool8 sub_80EF874(void)
{
- switch (gUnknown_083DFEC4->unkD160)
- {
- case 0:
- sub_80EEDE8();
- break;
- case 1:
- SetUpWindowConfig(&gWindowConfig_81E7224);
- break;
- case 2:
- MultistepInitMenuWindowBegin(&gWindowConfig_81E7224);
- break;
- case 3:
- if (!MultistepInitMenuWindowContinue())
- {
- return TRUE;
- }
- break;
- case 4:
- MenuZeroFillScreen();
- break;
- case 5:
- sub_80FA904(&gUnknown_083DFEC4->regionMap, gSaveBlock2.regionMapZoom ? TRUE : FALSE);
- break;
- case 6:
- if (sub_80FA940())
- {
- return TRUE;
- }
- break;
- case 7:
- LZ77UnCompVram(gPokenavHoennMapSquares_Gfx, (void *)VRAM + 0x5000);
- break;
- case 8:
- LoadPalette(gPokenavHoennMapSquares_Pal, 0x30, 0x20);
- sub_80EFC3C();
- break;
- case 9:
- if (sub_80EFC64())
- {
- return TRUE;
- }
- break;
- case 10:
- MenuDrawTextWindow(13, 3, 29, 17);
- sub_80EF9F8();
- break;
- case 11:
- if (!gUnknown_083DFEC4->regionMap.zoomed)
- {
- gUnknown_083DFEC4->unk7698 = 160;
- REG_BG0VOFS = 160;
- }
- else
- {
- gUnknown_083DFEC4->unk7698 = 256;
- REG_BG0VOFS = 0;
- }
+ switch (gUnknown_083DFEC4->unkD160)
+ {
+ case 0:
+ sub_80EEDE8();
+ break;
+ case 1:
+ SetUpWindowConfig(&gWindowConfig_81E7224);
+ break;
+ case 2:
+ MultistepInitMenuWindowBegin(&gWindowConfig_81E7224);
+ break;
+ case 3:
+ if (!MultistepInitMenuWindowContinue())
+ return TRUE;
+ break;
+ case 4:
+ MenuZeroFillScreen();
+ break;
+ case 5:
+ sub_80FA904(&gUnknown_083DFEC4->regionMap, gSaveBlock2.regionMapZoom ? TRUE : FALSE);
+ break;
+ case 6:
+ if (sub_80FA940())
+ return TRUE;
+ break;
+ case 7:
+ LZ77UnCompVram(gPokenavHoennMapSquares_Gfx, (void *)VRAM + 0x5000);
+ break;
+ case 8:
+ LoadPalette(gPokenavHoennMapSquares_Pal, 0x30, 0x20);
+ sub_80EFC3C();
+ break;
+ case 9:
+ if (sub_80EFC64())
+ return TRUE;
+ break;
+ case 10:
+ MenuDrawTextWindow(13, 3, 29, 17);
+ sub_80EF9F8();
+ break;
+ case 11:
+ if (!gUnknown_083DFEC4->regionMap.zoomed)
+ {
+ gUnknown_083DFEC4->unk7698 = 160;
+ REG_BG0VOFS = 160;
+ }
+ else
+ {
+ gUnknown_083DFEC4->unk7698 = 256;
+ REG_BG0VOFS = 0;
+ }
- REG_BG0CNT = REG_BG0CNT;
- REG_BG0CNT |= 1;
- REG_BLDCNT = 0;
- break;
- default:
- return FALSE;
- }
+ REG_BG0CNT = REG_BG0CNT;
+ REG_BG0CNT |= 1;
+ REG_BLDCNT = 0;
+ break;
+ default:
+ return FALSE;
+ }
- gUnknown_083DFEC4->unkD160++;
- return TRUE;
+ gUnknown_083DFEC4->unkD160++;
+ return TRUE;
}
asm(".include \"constants/gba_constants.inc\"\n");
void sub_80EF9F8(void)
{
- bool8 someBool = FALSE;
+ bool8 someBool = FALSE;
u16 top = 4;
- u16 mapSectionId;
- u8 b;
+ u16 mapSectionId;
+ u8 b;
- switch (gUnknown_083DFEC4->regionMap.unk16)
- {
+ switch (gUnknown_083DFEC4->regionMap.unk16)
+ {
case 0:
break;
- case 1:
- case 4:
- sub_8072A18(gUnknown_083DFEC4->regionMap.mapSectionName, 0x70, top * 8, 0x78, 1);
- top += 2;
- if (gLinkOpen == TRUE)
- {
- sub_80F1A80();
+ case 1:
+ case 4:
+ sub_8072A18(gUnknown_083DFEC4->regionMap.mapSectionName, 0x70, top * 8, 0x78, 1);
+ top += 2;
+ if (gLinkOpen == TRUE)
+ {
+ sub_80F1A80();
someBool = TRUE;
- }
- else
- {
+ }
+ else
+ {
u16 i;
for (i = 0; i < 4; i++)
@@ -3589,99 +3756,95 @@ void sub_80EF9F8(void)
sub_8072A18(secName, 0x70, top * 8, 0x78, 1);
top += 2;
}
- }
- break;
- case 2:
- sub_8072A18(gUnknown_083DFEC4->regionMap.mapSectionName, 0x70, top * 8, 0x78, 1);
- top += 2;
- mapSectionId = gUnknown_083DFEC4->regionMap.mapSectionId;
+ }
+ break;
+ case 2:
+ sub_8072A18(gUnknown_083DFEC4->regionMap.mapSectionName, 0x70, top * 8, 0x78, 1);
+ top += 2;
+ mapSectionId = gUnknown_083DFEC4->regionMap.mapSectionId;
b = gUnknown_083DFEC4->regionMap.everGrandeCityArea;
if (gUnknown_083DFEC4->unkCDCC[mapSectionId][b] != NULL)
- {
- MenuFillWindowRectWithBlankTile(14, top, 15, 15);
- MenuFillWindowRectWithBlankTile(26, top, 28, 15);
- sub_8095C8C((void *)(VRAM + 0xF800), 16, 6, gUnknown_083DFEC4->unkCDCC[mapSectionId][b], 0, 0, 10, 10, 10);
- top += 11;
- }
- break;
- case 3:
- sub_8072A18(gUnknown_083DFEC4->regionMap.mapSectionName, 0x70, top * 8, 0x78, 1);
- top += 2;
- break;
- }
+ {
+ MenuFillWindowRectWithBlankTile(14, top, 15, 15);
+ MenuFillWindowRectWithBlankTile(26, top, 28, 15);
+ sub_8095C8C((void *)(VRAM + 0xF800), 16, 6, gUnknown_083DFEC4->unkCDCC[mapSectionId][b], 0, 0, 10, 10, 10);
+ top += 11;
+ }
+ break;
+ case 3:
+ sub_8072A18(gUnknown_083DFEC4->regionMap.mapSectionName, 0x70, top * 8, 0x78, 1);
+ top += 2;
+ break;
+ }
// Epic fail by the compiler at optimizing this.
if (!someBool && top < 16)
MenuFillWindowRectWithBlankTile(14, top, 28, 15);
- if (gUnknown_083DFEC4->regionMap.unk16 == 2)
- sub_80EFD74();
- else
- sub_80EFDA0();
+ if (gUnknown_083DFEC4->regionMap.unk16 == 2)
+ sub_80EFD74();
+ else
+ sub_80EFDA0();
}
void sub_80EFBB0(void)
{
- if (!gUnknown_083DFEC4->regionMap.zoomed)
- {
- sub_80EEFBC(8);
- }
- else
- {
- sub_80EEFBC(7);
- }
+ if (!gUnknown_083DFEC4->regionMap.zoomed)
+ sub_80EEFBC(8);
+ else
+ sub_80EEFBC(7);
}
bool8 sub_80EFBDC(bool8 a)
{
- bool8 retVal = TRUE;
- u16 var1 = gUnknown_083DFEC4->unk7698;
+ bool8 retVal = TRUE;
+ u16 var1 = gUnknown_083DFEC4->unk7698;
- if (a)
- {
- if (var1 > 168)
- {
- var1 = var1 - 8;
- }
- else
- {
- var1 = 160;
- retVal = FALSE;
- }
- }
- else
- {
- if (var1 < 248)
- {
- var1 = var1 + 8;
- }
- else
- {
- var1 = 256;
- retVal = FALSE;
- }
- }
+ if (a)
+ {
+ if (var1 > 168)
+ {
+ var1 = var1 - 8;
+ }
+ else
+ {
+ var1 = 160;
+ retVal = FALSE;
+ }
+ }
+ else
+ {
+ if (var1 < 248)
+ {
+ var1 = var1 + 8;
+ }
+ else
+ {
+ var1 = 256;
+ retVal = FALSE;
+ }
+ }
- gUnknown_083DFEC4->unk7698 = var1;
- REG_BG0VOFS = var1 & 0xFF;
+ gUnknown_083DFEC4->unk7698 = var1;
+ REG_BG0VOFS = var1 & 0xFF;
- return retVal;
+ return retVal;
}
void sub_80EFC3C(void)
{
- gUnknown_083DFEC4->unkBC9A = 0;
- gUnknown_083DFEC4->unkBC9B = 0;
- sub_80EFD3C();
+ gUnknown_083DFEC4->unkBC9A = 0;
+ gUnknown_083DFEC4->unkBC9B = 0;
+ sub_80EFD3C();
}
bool8 sub_80EFC64(void)
{
- u16 i;
- u8 var1;
- u16 var2;
+ u16 i;
+ u8 var1;
+ u16 var2;
- if (gUnknown_083DFEC4->unkBC9A >= 16)
+ if (gUnknown_083DFEC4->unkBC9A >= 16)
return FALSE;
var1 = gUnknown_083DFEC4->unkBC9A;
@@ -3709,345 +3872,330 @@ bool8 sub_80EFC64(void)
void sub_80EFD3C(void)
{
- gUnknown_083DFEC4->unk769E = 0;
- gUnknown_083DFEC4->unk769C = 47;
- gUnknown_083DFEC4->unk769D = 0;
- gUnknown_083DFEC4->unk769A = 0;
+ gUnknown_083DFEC4->unk769E = 0;
+ gUnknown_083DFEC4->unk769C = 47;
+ gUnknown_083DFEC4->unk769D = 0;
+ gUnknown_083DFEC4->unk769A = 0;
}
void sub_80EFD74(void)
{
- gUnknown_083DFEC4->unk769E = 1;
-
- if (gUnknown_083DFEC4->unk769D == 1)
- {
- gUnknown_083DFEC4->unk769D = 2;
- }
+ gUnknown_083DFEC4->unk769E = 1;
+ if (gUnknown_083DFEC4->unk769D == 1)
+ gUnknown_083DFEC4->unk769D = 2;
}
void sub_80EFDA0(void)
{
- sub_8095C8C((void *)VRAM + 0xF800, 14, 16, gUnknown_08E9AC2C, 0, 0, 15, 1, 15);
- gUnknown_083DFEC4->unk769E = 0;
+ sub_8095C8C((void *)VRAM + 0xF800, 14, 16, gUnknown_08E9AC2C, 0, 0, 15, 1, 15);
+ gUnknown_083DFEC4->unk769E = 0;
}
void sub_80EFDE4(u8 param0)
{
- u16 var1 = 60 - gUnknown_083DFEC4->unk769C;
+ u16 var1 = 60 - gUnknown_083DFEC4->unk769C;
- if (var1 > 15)
- {
- var1 = 15;
- }
+ if (var1 > 15)
+ var1 = 15;
- if (gUnknown_083DFEC4->unk769E != 0)
- {
- sub_8095C8C((void *)VRAM + 0xF800, 14, 16, gUnknown_08E9ABB4, gUnknown_083DFEC4->unk769C, 0, var1, 1, 60);
+ if (gUnknown_083DFEC4->unk769E != 0)
+ {
+ sub_8095C8C((void *)VRAM + 0xF800, 14, 16, gUnknown_08E9ABB4, gUnknown_083DFEC4->unk769C, 0, var1, 1, 60);
- if (var1 < 15)
- {
- u16 var2 = var1 + 14;
+ if (var1 < 15)
+ {
+ u16 var2 = var1 + 14;
- sub_8095C8C((void *)VRAM + 0xF800, var2, 16, gUnknown_08E9ABB4, 0, 0, (u16)(15 - var1), 1, 60);
- }
- }
+ sub_8095C8C((void *)VRAM + 0xF800, var2, 16, gUnknown_08E9ABB4, 0, 0, (u16)(15 - var1), 1, 60);
+ }
+ }
}
void sub_80EFE7C(void)
{
- u16 var1;
- u8 var2 = gUnknown_083DFEC4->unk769D;
+ u16 var1;
+ u8 var2 = gUnknown_083DFEC4->unk769D;
- switch (var2)
- {
- case 0:
- var1 = ++gUnknown_083DFEC4->unk769C;
+ switch (var2)
+ {
+ case 0:
+ var1 = ++gUnknown_083DFEC4->unk769C;
- if (var1 > 59)
- {
- gUnknown_083DFEC4->unk769C = var2;
- }
+ if (var1 > 59)
+ gUnknown_083DFEC4->unk769C = var2;
- sub_80EFDE4(gUnknown_083DFEC4->unk769E);
+ sub_80EFDE4(gUnknown_083DFEC4->unk769E);
- switch (gUnknown_083DFEC4->unk769C)
- {
- case 0:
- case 15:
- case 30:
- case 45:
- gUnknown_083DFEC4->unk769D = 1;
- gUnknown_083DFEC4->unk769A = 0;
- break;
- }
- break;
- case 1:
- var1 = ++gUnknown_083DFEC4->unk769A;
- if (var1 > 120)
- {
- gUnknown_083DFEC4->unk769A = 0;
- gUnknown_083DFEC4->unk769D = 0;
- }
- break;
- case 2:
- sub_80EFDE4(1);
- gUnknown_083DFEC4->unk769D = 1;
- break;
- }
+ switch (gUnknown_083DFEC4->unk769C)
+ {
+ case 0:
+ case 15:
+ case 30:
+ case 45:
+ gUnknown_083DFEC4->unk769D = 1;
+ gUnknown_083DFEC4->unk769A = 0;
+ break;
+ }
+ break;
+ case 1:
+ var1 = ++gUnknown_083DFEC4->unk769A;
+ if (var1 > 120)
+ {
+ gUnknown_083DFEC4->unk769A = 0;
+ gUnknown_083DFEC4->unk769D = 0;
+ }
+ break;
+ case 2:
+ sub_80EFDE4(1);
+ gUnknown_083DFEC4->unk769D = 1;
+ break;
+ }
}
void sub_80EFF34(void)
{
- gUnknown_083DFEC4->unkD160 = 0;
+ gUnknown_083DFEC4->unkD160 = 0;
- if (gUnknown_083DFEC4->unk6DAC == 0)
- {
- while (sub_80EFF68());
- }
+ if (gUnknown_083DFEC4->unk6DAC == 0)
+ {
+ while (sub_80EFF68())
+ ;
+ }
}
bool8 sub_80EFF68(void)
{
- switch (gUnknown_083DFEC4->unkD160)
- {
- case 0:
- sub_80EEDE8();
- gUnknown_083DFEC4->unkD162[0] = 11;
- break;
- case 1:
- SetUpWindowConfig(&gWindowConfig_81E7080);
- break;
- case 2:
- MultistepInitMenuWindowBegin(&gWindowConfig_81E7080);
- break;
- case 3:
- if (!MultistepInitMenuWindowContinue())
- {
- return TRUE;
- }
- break;
- case 4:
- MenuZeroFillScreen();
- break;
- case 5:
- sub_80F1614();
- break;
- case 6:
- if (sub_80F162C(0))
- {
- return TRUE;
- }
- break;
- case 7:
- LZ77UnCompVram(gPokenavConditionView_Gfx, (void *)VRAM + 0x5000);
- break;
- case 8:
- LZ77UnCompVram(gUnknown_08E9AC4C, (void *)VRAM + 0xF000);
- LoadPalette(gPokenavConditionMenu2_Pal, 0x20, 0x20);
- break;
- case 9:
- if (gUnknown_083DFEC4->unk76AA == 1)
- {
- sub_8095C8C((void *)VRAM + 0xF000, 0, 5, gUnknown_083E01AC, 0, 0, 9, 4, 9);
- }
- break;
- case 10:
- LZ77UnCompVram(gUnknown_08E9FEB4, (void *)VRAM + 0xB800);
- break;
- case 11:
- LoadPalette(gUnknown_083E0254, 0x30, 0x20);
- LoadPalette(gUnknownPalette_81E6692, 0xB0, 0x20);
- LoadPalette(&gPokenavConditionMenu2_Pal[2], 0xB1, 0x2);
- LoadPalette(&gPokenavConditionMenu2_Pal[16], 0xB5, 0x2);
- LoadPalette(&gPokenavConditionMenu2_Pal[30], 0xBF, 0x2);
- sub_80F01A4();
- break;
- case 12:
- sub_80F01E0((u16)gUnknown_083DFEC4->unk8fe9);
- break;
- case 13:
- REG_BG3CNT = 0x1E03;
- REG_BG2CNT = 0x1702;
- REG_BLDCNT = 0x844;
- REG_BLDALPHA = 0x40B;
- break;
- default:
- return FALSE;
- }
+ switch (gUnknown_083DFEC4->unkD160)
+ {
+ case 0:
+ sub_80EEDE8();
+ gUnknown_083DFEC4->unkD162[0] = 11;
+ break;
+ case 1:
+ SetUpWindowConfig(&gWindowConfig_81E7080);
+ break;
+ case 2:
+ MultistepInitMenuWindowBegin(&gWindowConfig_81E7080);
+ break;
+ case 3:
+ if (!MultistepInitMenuWindowContinue())
+ return TRUE;
+ break;
+ case 4:
+ MenuZeroFillScreen();
+ break;
+ case 5:
+ sub_80F1614();
+ break;
+ case 6:
+ if (sub_80F162C(0))
+ return TRUE;
+ break;
+ case 7:
+ LZ77UnCompVram(gPokenavConditionView_Gfx, (void *)VRAM + 0x5000);
+ break;
+ case 8:
+ LZ77UnCompVram(gUnknown_08E9AC4C, (void *)VRAM + 0xF000);
+ LoadPalette(gPokenavConditionMenu2_Pal, 0x20, 0x20);
+ break;
+ case 9:
+ if (gUnknown_083DFEC4->unk76AA == 1)
+ sub_8095C8C((void *)VRAM + 0xF000, 0, 5, gUnknown_083E01AC, 0, 0, 9, 4, 9);
+ break;
+ case 10:
+ LZ77UnCompVram(gUnknown_08E9FEB4, (void *)VRAM + 0xB800);
+ break;
+ case 11:
+ LoadPalette(gUnknown_083E0254, 0x30, 0x20);
+ LoadPalette(gUnknownPalette_81E6692, 0xB0, 0x20);
+ LoadPalette(&gPokenavConditionMenu2_Pal[2], 0xB1, 0x2);
+ LoadPalette(&gPokenavConditionMenu2_Pal[16], 0xB5, 0x2);
+ LoadPalette(&gPokenavConditionMenu2_Pal[30], 0xBF, 0x2);
+ sub_80F01A4();
+ break;
+ case 12:
+ sub_80F01E0((u16)gUnknown_083DFEC4->unk8fe9);
+ break;
+ case 13:
+ REG_BG3CNT = 0x1E03;
+ REG_BG2CNT = 0x1702;
+ REG_BLDCNT = 0x844;
+ REG_BLDALPHA = 0x40B;
+ break;
+ default:
+ return FALSE;
+ }
- gUnknown_083DFEC4->unkD160++;
- return TRUE;
+ gUnknown_083DFEC4->unkD160++;
+ return TRUE;
}
-void sub_80F0174(bool8 a)
+void sub_80F0174(bool8 bg2on)
{
- if (a)
- {
- REG_DISPCNT |= DISPCNT_BG2_ON;
- }
- else
- {
- REG_DISPCNT &= ~DISPCNT_BG2_ON;
- }
+ if (bg2on)
+ REG_DISPCNT |= DISPCNT_BG2_ON;
+ else
+ REG_DISPCNT &= ~DISPCNT_BG2_ON;
}
void sub_80F01A4(void)
{
- REG_WIN0H = WIN_RANGE(0, 240);
- REG_WIN1H = WIN_RANGE(0, 155);
- REG_WIN0V = WIN_RANGE(56, 121);
- REG_WIN1V = WIN_RANGE(56, 121);
- REG_WININ = 0x3F3F;
- REG_WINOUT = 0x001B;
+ REG_WIN0H = WIN_RANGE(0, 240);
+ REG_WIN1H = WIN_RANGE(0, 155);
+ REG_WIN0V = WIN_RANGE(56, 121);
+ REG_WIN1V = WIN_RANGE(56, 121);
+ REG_WININ = 0x3F3F;
+ REG_WINOUT = 0x001B;
}
void sub_80F01E0(u16 a)
{
- MenuPrint(gUnknown_083DFEC4->unk8829[a], 13, 1);
-
- if (gUnknown_083DFEC4->unk76AA == 1)
- {
- MenuPrint(gUnknown_083DFEC4->unk88E9[a], 13, 3);
- sub_80F443C(gUnknown_083DFEC4->unk8788, gUnknown_083DFEC4->unk893c[gUnknown_083DFEC4->unk87DC].unk2);
- MenuPrint(gUnknown_083DFEC4->unk8788, 1, 6);
- }
+ MenuPrint(gUnknown_083DFEC4->unk8829[a], 13, 1);
+
+ if (gUnknown_083DFEC4->unk76AA == 1)
+ {
+ MenuPrint(gUnknown_083DFEC4->unk88E9[a], 13, 3);
+ sub_80F443C(gUnknown_083DFEC4->unk8788, gUnknown_083DFEC4->unk893c[gUnknown_083DFEC4->unk87DC].unk2);
+ MenuPrint(gUnknown_083DFEC4->unk8788, 1, 6);
+ }
}
void sub_80F0264(u8 a)
{
- gUnknown_083DFEC4->unk306 = 0;
- gUnknown_083DFEC4->unk87CA = a;
+ gUnknown_083DFEC4->unk306 = 0;
+ gUnknown_083DFEC4->unk87CA = a;
- if (gUnknown_083DFEC4->unk6DAC == 0)
- {
- while (sub_80F02A0());
- }
+ if (gUnknown_083DFEC4->unk6DAC == 0)
+ {
+ while (sub_80F02A0())
+ ;
+ }
}
#ifdef NONMATCHING // small nonmatching part is in the third else clause in case 7.
bool8 sub_80F02A0(void)
{
- const u16 *pointer;
+ const u16 *pointer;
- switch (gUnknown_083DFEC4->unk306)
- {
- case 0:
- sub_80EEDE8();
+ switch (gUnknown_083DFEC4->unk306)
+ {
+ case 0:
+ sub_80EEDE8();
- gUnknown_083DFEC4->unk87C8 = gUnknown_083DFEC4->unk87CA == 1;
- gUnknown_083DFEC4->unkD162[0] = 11;
- break;
- case 1:
- SetUpWindowConfig(&gWindowConfig_81E70D4);
- break;
- case 2:
- MultistepInitMenuWindowBegin(&gWindowConfig_81E70D4);
- break;
- case 3:
- if (!MultistepInitMenuWindowContinue())
- {
- return TRUE;
- }
- break;
- case 4:
- MenuZeroFillScreen();
- break;
- case 5:
- LZ77UnCompVram(gUnknown_08E9FC64, (void *)VRAM + 0xE800);
- break;
- case 6:
- LZ77UnCompVram(gPokenavConditionSearch2_Gfx, (void *)VRAM + 0x8000);
- break;
- case 7:
- LoadPalette(gUnknown_083E02B4, 0xB0, 0x20);
- LoadPalette(gUnknown_083E02B4, 0xF0, 0x20);
- LoadPalette(gUnknown_083E0334, 0x40, 0x20);
+ gUnknown_083DFEC4->unk87C8 = gUnknown_083DFEC4->unk87CA == 1;
+ gUnknown_083DFEC4->unkD162[0] = 11;
+ break;
+ case 1:
+ SetUpWindowConfig(&gWindowConfig_81E70D4);
+ break;
+ case 2:
+ MultistepInitMenuWindowBegin(&gWindowConfig_81E70D4);
+ break;
+ case 3:
+ if (!MultistepInitMenuWindowContinue())
+ {
+ return TRUE;
+ }
+ break;
+ case 4:
+ MenuZeroFillScreen();
+ break;
+ case 5:
+ LZ77UnCompVram(gUnknown_08E9FC64, (void *)VRAM + 0xE800);
+ break;
+ case 6:
+ LZ77UnCompVram(gPokenavConditionSearch2_Gfx, (void *)VRAM + 0x8000);
+ break;
+ case 7:
+ LoadPalette(gUnknown_083E02B4, 0xB0, 0x20);
+ LoadPalette(gUnknown_083E02B4, 0xF0, 0x20);
+ LoadPalette(gUnknown_083E0334, 0x40, 0x20);
- if (gUnknown_083DFEC4->unk87CA == 0)
- {
- LoadPalette(gPokenavConditionSearch2_Pal, 0x30, 0x20);
- gPlttBufferUnfaded[0] = gPokenavConditionSearch2_Pal[5];
- LoadPalette(gUnknownPalette_81E6692, 0xB0, 0x20);
- LoadPalette(&gUnknown_083E02B4[1], 0xB1, 0x2);
- LoadPalette(&gUnknown_083E02B4[8], 0xB5, 0x2);
- LoadPalette(&gPokenavConditionSearch2_Pal[5], 0xBF, 0x2);
- }
- else if (gUnknown_083DFEC4->unk87CA == 1)
- {
- LoadPalette(gUnknown_083E0274, 0x30, 0x20);
- gPlttBufferUnfaded[0] = gUnknown_083E0274[5];
- LoadPalette(gUnknownPalette_81E6692, 0xB0, 0x20);
- LoadPalette(&gUnknown_083E02B4[1], 0xB1, 0x2);
- LoadPalette(&gUnknown_083E02B4[8], 0xB5, 0x2);
- LoadPalette(&gUnknown_083E0274[5], 0xBF, 0x2);
- }
- else
- {
- LoadPalette(gUnknown_08E9F9E8, 0x30, 0x20);
- pointer = &gUnknown_08E9F9E8[5];
- gPlttBufferUnfaded[0] = gUnknown_08E9F9E8[5];
- LoadPalette(gUnknown_083E0314, 0x50, 0x20);
- LoadPalette(&gUnknown_083E02B4[1], 0xB1, 0x2);
- LoadPalette(&gUnknown_083E02B4[8], 0xB5, 0x2);
- LoadPalette(pointer, 0xBF, 0x2);
- LoadPalette(pointer, 0x5F, 0x2);
- }
- break;
- case 8:
- if (gUnknown_083DFEC4->unk87CA != 2)
- {
- sub_8095C8C((void *)VRAM + 0xE800, 0, 5, gUnknown_08E9FD1C, 0, 0, 9, 4, 9);
- }
- else
- {
- sub_8095C8C((void *)VRAM + 0xE800, 0, 4, gUnknown_08E9FE54, 0, 0, 12, 10, 12);
- sub_8095C8C((void *)VRAM + 0xE800, 0, 8, gUnknown_08E9FD64, 0, 0, 12, 10, 12);
- }
- break;
- case 9:
- LZ77UnCompVram(gUnknown_083E0354, (void *)VRAM + 0x5000);
- break;
- case 10:
- DmaClear16(3, (void *)VRAM + 0xF800, 0x800);
- break;
- case 11:
- sub_80F0900();
- break;
- case 12:
- if (sub_80F0944())
- {
- return TRUE;
- }
- break;
- case 13:
- if (gUnknown_083DFEC4->unk87CA != 2)
- {
- ShowMapNamePopUpWindow();
- }
- else
- {
- sub_80F081C(0);
- sub_80F0FFC(gUnknown_083DFEC4->unk876E);
- }
- break;
- case 14:
- REG_BG2CNT = 0x1D0A;
- REG_BG3CNT = 0x1E03;
- REG_BG0CNT = 0x1F01;
- REG_BG3VOFS = 0xF8;
-
- gUnknown_083DFEC4->unk8776 = 0xF8;
- gUnknown_083DFEC4->unk8778 = 0;
-
- REG_BLDCNT = 0;
- gUnknown_083DFEC4->unkD160++;
- return FALSE;
- default:
- return FALSE;
- }
-
- gUnknown_083DFEC4->unk306++;
- return TRUE;
+ if (gUnknown_083DFEC4->unk87CA == 0)
+ {
+ LoadPalette(gPokenavConditionSearch2_Pal, 0x30, 0x20);
+ gPlttBufferUnfaded[0] = gPokenavConditionSearch2_Pal[5];
+ LoadPalette(gUnknownPalette_81E6692, 0xB0, 0x20);
+ LoadPalette(&gUnknown_083E02B4[1], 0xB1, 0x2);
+ LoadPalette(&gUnknown_083E02B4[8], 0xB5, 0x2);
+ LoadPalette(&gPokenavConditionSearch2_Pal[5], 0xBF, 0x2);
+ }
+ else if (gUnknown_083DFEC4->unk87CA == 1)
+ {
+ LoadPalette(gUnknown_083E0274, 0x30, 0x20);
+ gPlttBufferUnfaded[0] = gUnknown_083E0274[5];
+ LoadPalette(gUnknownPalette_81E6692, 0xB0, 0x20);
+ LoadPalette(&gUnknown_083E02B4[1], 0xB1, 0x2);
+ LoadPalette(&gUnknown_083E02B4[8], 0xB5, 0x2);
+ LoadPalette(&gUnknown_083E0274[5], 0xBF, 0x2);
+ }
+ else
+ {
+ LoadPalette(gUnknown_08E9F9E8, 0x30, 0x20);
+ pointer = &gUnknown_08E9F9E8[5];
+ gPlttBufferUnfaded[0] = gUnknown_08E9F9E8[5];
+ LoadPalette(gUnknown_083E0314, 0x50, 0x20);
+ LoadPalette(&gUnknown_083E02B4[1], 0xB1, 0x2);
+ LoadPalette(&gUnknown_083E02B4[8], 0xB5, 0x2);
+ LoadPalette(pointer, 0xBF, 0x2);
+ LoadPalette(pointer, 0x5F, 0x2);
+ }
+ break;
+ case 8:
+ if (gUnknown_083DFEC4->unk87CA != 2)
+ {
+ sub_8095C8C((void *)VRAM + 0xE800, 0, 5, gUnknown_08E9FD1C, 0, 0, 9, 4, 9);
+ }
+ else
+ {
+ sub_8095C8C((void *)VRAM + 0xE800, 0, 4, gUnknown_08E9FE54, 0, 0, 12, 10, 12);
+ sub_8095C8C((void *)VRAM + 0xE800, 0, 8, gUnknown_08E9FD64, 0, 0, 12, 10, 12);
+ }
+ break;
+ case 9:
+ LZ77UnCompVram(gUnknown_083E0354, (void *)VRAM + 0x5000);
+ break;
+ case 10:
+ DmaClear16(3, (void *)VRAM + 0xF800, 0x800);
+ break;
+ case 11:
+ sub_80F0900();
+ break;
+ case 12:
+ if (sub_80F0944())
+ {
+ return TRUE;
+ }
+ break;
+ case 13:
+ if (gUnknown_083DFEC4->unk87CA != 2)
+ {
+ ShowMapNamePopUpWindow();
+ }
+ else
+ {
+ sub_80F081C(0);
+ sub_80F0FFC(gUnknown_083DFEC4->unk876E);
+ }
+ break;
+ case 14:
+ REG_BG2CNT = 0x1D0A;
+ REG_BG3CNT = 0x1E03;
+ REG_BG0CNT = 0x1F01;
+ REG_BG3VOFS = 0xF8;
+
+ gUnknown_083DFEC4->unk8776 = 0xF8;
+ gUnknown_083DFEC4->unk8778 = 0;
+
+ REG_BLDCNT = 0;
+ gUnknown_083DFEC4->unkD160++;
+ return FALSE;
+ default:
+ return FALSE;
+ }
+
+ gUnknown_083DFEC4->unk306++;
+ return TRUE;
}
#else
__attribute__((naked))
diff --git a/src/rom_8077ABC.c b/src/rom_8077ABC.c
index 9cf28a111..001cd85f6 100644
--- a/src/rom_8077ABC.c
+++ b/src/rom_8077ABC.c
@@ -1,13 +1,14 @@
#include "global.h"
+#include "constants/species.h"
#include "rom_8077ABC.h"
#include "battle.h"
#include "battle_anim.h"
#include "blend_palette.h"
+#include "contest.h"
#include "data2.h"
#include "decompress.h"
#include "palette.h"
#include "pokemon_icon.h"
-#include "constants/species.h"
#include "sprite.h"
#include "task.h"
#include "trig.h"
@@ -31,52 +32,28 @@
#define gTransformPersonalities gTransformedPersonalities
#define gBattleMonSprites gObjectBankIDs
-
-struct Struct_unk_2019348 {
- u16 field_0;
- u16 field_2;
- u8 field_4;
- u32 field_8;
- u32 field_c;
- u32 field_10;
-};
-
-struct TransformStatus {
+struct TransformStatus
+{
u16 unknown;
u16 species;
};
-struct Struct_gUnknown_0837F578 {
+struct Struct_gUnknown_0837F578
+{
u8 field_0;
u8 field_1;
};
-struct Struct_2017810 {
+struct Struct_2017810
+{
u8 filler_0[6];
u8 field_6;
u8 filler_7[5];
};
-struct Color {
- u16 r:5;
- u16 g:5;
- u16 b:5;
-};
-
-struct BGCnt {
- u16 priority:2;
- u16 charBase:2;
- u16 unused:2;
- u16 mosaic:1;
- u16 colorMode:1;
- u16 screenBase:5;
- u16 overflow:1;
- u16 size:2;
-};
-
-#define BG1CNT (*(volatile struct BGCnt*)REG_ADDR_BG1CNT)
-#define BG2CNT (*(volatile struct BGCnt*)REG_ADDR_BG2CNT)
-#define BG3CNT (*(volatile struct BGCnt*)REG_ADDR_BG3CNT)
+#define BG1CNT (*(vBgCnt *)REG_ADDR_BG1CNT)
+#define BG2CNT (*(vBgCnt *)REG_ADDR_BG2CNT)
+#define BG3CNT (*(vBgCnt *)REG_ADDR_BG3CNT)
extern struct OamData gOamData_837DF9C[];
extern const union AnimCmd *const gDummySpriteAnimTable[];
@@ -102,7 +79,8 @@ extern u8 UpdateMonIconFrame(struct Sprite *sprite);
EWRAM_DATA union AffineAnimCmd *gUnknown_0202F7D4 = NULL;
EWRAM_DATA u32 filler_0202F7D8[3] = {0};
-const struct Struct_gUnknown_0837F578 gUnknown_0837F578[][4] = {
+const struct Struct_gUnknown_0837F578 gUnknown_0837F578[][4] =
+{
{
{ 72, 80 },
{ 176, 40 },
@@ -120,14 +98,16 @@ const struct Struct_gUnknown_0837F578 gUnknown_0837F578[][4] = {
// One entry for each of the four Castform forms.
// Coords are probably front pic coords or back pic coords, but this data does not seem to be
// used during battle, party summary, or pokedex screens.
-const struct MonCoords gCastformFrontSpriteCoords[] = {
+const struct MonCoords gCastformFrontSpriteCoords[] =
+{
{ 0x44, 17 }, // NORMAL
{ 0x66, 9 }, // SUN
{ 0x46, 9 }, // RAIN
{ 0x86, 8 }, // HAIL
};
-const u8 gCastformElevations[] = {
+const u8 gCastformElevations[] =
+{
13, // NORMAL
14, // SUN
13, // RAIN
@@ -135,14 +115,16 @@ const u8 gCastformElevations[] = {
};
// Y position of the backsprite for each of the four Castform forms.
-const u8 gCastformBackSpriteYCoords[] = {
+const u8 gCastformBackSpriteYCoords[] =
+{
0, // NORMAL
0, // SUN
0, // RAIN
0, // HAIL
};
-const struct SpriteTemplate gSpriteTemplate_837F5B0[] = {
+const struct SpriteTemplate gSpriteTemplate_837F5B0[] =
+{
{
.tileTag = 55125,
.paletteTag = 55125,
@@ -151,7 +133,8 @@ const struct SpriteTemplate gSpriteTemplate_837F5B0[] = {
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
- }, {
+ },
+ {
.tileTag = 55126,
.paletteTag = 55126,
.oam = gOamData_837DF9C,
@@ -162,23 +145,26 @@ const struct SpriteTemplate gSpriteTemplate_837F5B0[] = {
}
};
-const struct SpriteSheet gUnknown_0837F5E0[] = {
+const struct SpriteSheet gUnknown_0837F5E0[] =
+{
{ gMiscBlank_Gfx, 0x800, 55125, },
{ gMiscBlank_Gfx, 0x800, 55126, },
};
-u8 GetBankPosition(u8 slot, u8 a2) {
+u8 GetBankPosition(u8 slot, u8 a2)
+{
u8 var;
u16 species;
struct TransformStatus *transform;
- if (IsContest()) {
- if (a2 == 3 && slot == 3) {
+ if (IsContest())
+ {
+ if (a2 == 3 && slot == 3)
a2 = 1;
- }
}
- switch (a2) {
+ switch (a2)
+ {
case 0:
case 2:
var = gUnknown_0837F578[IS_DOUBLE_BATTLE()][GetBankIdentity(slot)].field_0;
@@ -189,339 +175,402 @@ u8 GetBankPosition(u8 slot, u8 a2) {
case 3:
case 4:
default:
- if (IsContest()) {
- if (ewram19348.unk4 & 1) {
- species = ewram19348.unk2;
- } else {
- species = ewram19348.unk0;
- }
- } else {
- if (GetBankSide(slot)) {
+ if (IsContest())
+ {
+ if (shared19348.unk4_0)
+ species = shared19348.unk2;
+ else
+ species = shared19348.unk0;
+ }
+ else
+ {
+ if (GetBankSide(slot))
+ {
transform = &eTransformStatuses[slot];
- if (!transform->species) {
+ if (!transform->species)
species = GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_SPECIES);
- } else {
+ else
species = transform->species;
- }
- } else {
+ }
+ else
+ {
transform = &eTransformStatuses[slot];
- if (!transform->species) {
+ if (!transform->species)
species = GetMonData(&gPlayerParty[gBattleMonPartyPositions[slot]], MON_DATA_SPECIES);
- } else {
+ else
species = transform->species;
- }
}
}
- if (a2 == 3) {
+ if (a2 == 3)
var = sub_8077E44(slot, species, 1);
- } else {
+ else
var = sub_8077E44(slot, species, 0);
- }
break;
}
return var;
}
-u8 sub_8077BFC(u8 slot, u16 species) {
+u8 sub_8077BFC(u8 slot, u16 species)
+{
u16 letter;
u32 personality;
struct TransformStatus *transform;
u8 ret;
u16 var;
- if (!GetBankSide(slot) || IsContest()) {
- if (species == SPECIES_UNOWN) {
- if (IsContest()) {
- if (ewram19348.unk4 & 1) {
- personality = ewram19348.unk10;
- } else {
- personality = ewram19348.unk8;
- }
- } else {
+ if (GetBankSide(slot) == 0 || IsContest())
+ {
+ if (species == SPECIES_UNOWN)
+ {
+ if (IsContest())
+ {
+ if (shared19348.unk4_0)
+ personality = shared19348.unk10;
+ else
+ personality = shared19348.unk8;
+ }
+ else
+ {
transform = &eTransformStatuses[slot];
- if (!transform->species) {
+ if (!transform->species)
personality = GetMonData(&gPlayerParty[gBattleMonPartyPositions[slot]], MON_DATA_PERSONALITY);
- } else {
+ else
personality = gTransformPersonalities[slot];
- }
}
letter = GET_UNOWN_LETTER(personality);
- if (!letter) {
+ if (!letter)
var = species;
- } else {
+ else
var = letter + SPECIES_UNOWN_B - 1;
- }
ret = gMonBackPicCoords[var].y_offset;
- } else if (species == SPECIES_CASTFORM) {
+ }
+ else if (species == SPECIES_CASTFORM)
+ {
ret = gCastformBackSpriteYCoords[gBattleMonForms[slot]];
- } else if (species > NUM_SPECIES) {
+ }
+ else if (species > NUM_SPECIES)
+ {
ret = gMonBackPicCoords[0].y_offset;
- } else {
+ }
+ else
+ {
ret = gMonBackPicCoords[species].y_offset;
}
- } else {
- if (species == SPECIES_UNOWN) {
+ }
+ else
+ {
+ if (species == SPECIES_UNOWN)
+ {
transform = &eTransformStatuses[slot];
- if (!transform->species) {
+ if (!transform->species)
personality = GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_PERSONALITY);
- } else {
+ else
personality = gTransformPersonalities[slot];
- }
letter = GET_UNOWN_LETTER(personality);
- if (!letter) {
+ if (!letter)
var = species;
- } else {
+ else
var = letter + SPECIES_UNOWN_B - 1;
- }
ret = gMonFrontPicCoords[var].y_offset;
- } else if (species == SPECIES_CASTFORM) {
+ }
+ else if (species == SPECIES_CASTFORM)
+ {
ret = gCastformFrontSpriteCoords[gBattleMonForms[slot]].y_offset;
- } else if (species > NUM_SPECIES) {
+ }
+ else if (species > NUM_SPECIES)
+ {
ret = gMonFrontPicCoords[0].y_offset;
- } else {
+ }
+ else
+ {
ret = gMonFrontPicCoords[species].y_offset;
}
}
return ret;
}
-u8 sub_8077DD8(u8 slot, u16 species) {
+u8 sub_8077DD8(u8 slot, u16 species)
+{
u8 ret = 0;
- if (GetBankSide(slot) == 1) {
- if (!IsContest()) {
- if (species == SPECIES_CASTFORM) {
+ if (GetBankSide(slot) == 1)
+ {
+ if (!IsContest())
+ {
+ if (species == SPECIES_CASTFORM)
ret = gCastformElevations[gBattleMonForms[slot]];
- } else if (species > NUM_SPECIES) {
+ else if (species > NUM_SPECIES)
ret = gEnemyMonElevation[0];
- } else {
+ else
ret = gEnemyMonElevation[species];
- }
}
}
return ret;
}
-u8 sub_8077E44(u8 slot, u16 species, u8 a3) {
+u8 sub_8077E44(u8 slot, u16 species, u8 a3)
+{
u16 offset;
u8 y;
- if (GetBankSide(slot) == 0 || IsContest()) {
+
+ if (GetBankSide(slot) == 0 || IsContest())
+ {
offset = sub_8077BFC(slot, species);
- } else {
+ }
+ else
+ {
offset = sub_8077BFC(slot, species);
offset -= sub_8077DD8(slot, species);
}
y = offset + gUnknown_0837F578[IS_DOUBLE_BATTLE()][GetBankIdentity(slot)].field_1;
- if (a3) {
- if (GetBankSide(slot) == 0) {
+ if (a3)
+ {
+ if (GetBankSide(slot) == 0)
y += 8;
- }
- if (y > 104) y = 104;
+ if (y > 104)
+ y = 104;
}
return y;
}
-u8 sub_8077EE4(u8 slot, u8 a2) {
+u8 sub_8077EE4(u8 slot, u8 a2)
+{
u16 species;
struct TransformStatus *transform;
- if (a2 == 3 || a2 == 4) {
- if (IsContest()) {
- if (ewram19348.unk4 & 1) {
- species = ewram19348.unk2;
- } else {
- species = ewram19348.unk0;
- }
- } else {
+ if (a2 == 3 || a2 == 4)
+ {
+ if (IsContest())
+ {
+ if (shared19348.unk4_0)
+ species = shared19348.unk2;
+ else
+ species = shared19348.unk0;
+ }
+ else
+ {
transform = &eTransformStatuses[slot];
- if (!transform->species) {
+ if (!transform->species)
species = gAnimSpeciesByBanks[slot];
- } else {
+ else
species = transform->species;
- }
}
- if (a2 == 3) {
+ if (a2 == 3)
return sub_8077E44(slot, species, 1);
- } else {
+ else
return sub_8077E44(slot, species, 0);
- }
- } else {
+ }
+ else
+ {
return GetBankPosition(slot, a2);
}
}
-u8 sub_8077F68(u8 slot) {
+u8 sub_8077F68(u8 slot)
+{
return GetBankPosition(slot, 4);
}
-u8 sub_8077F7C(u8 slot) {
+u8 sub_8077F7C(u8 slot)
+{
u16 var;
- if (GetBankSide(slot)) {
+ if (GetBankSide(slot) != 0)
var = GetBankPosition(slot, 1) + 16;
- } else {
+ else
var = GetBankPosition(slot, 1) + 17;
- }
return var;
}
-u8 sub_8077FC0(u8 slot) {
+u8 sub_8077FC0(u8 slot)
+{
u16 var;
u8 r6;
struct TransformStatus *transform;
+
r6 = GetBankPosition(slot, 1);
- if (!IsContest()) {
- if (GetBankSide(slot)) {
+ if (!IsContest())
+ {
+ if (GetBankSide(slot) != 0)
+ {
transform = &eTransformStatuses[slot];
if (!transform->species) {
var = GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_SPECIES);
} else {
var = transform->species;
}
- } else {
+ }
+ else
+ {
transform = &eTransformStatuses[slot];
- if (!transform->species) {
+ if (!transform->species)
var = GetMonData(&gPlayerParty[gBattleMonPartyPositions[slot]], MON_DATA_SPECIES);
- } else {
+ else
var = transform->species;
- }
}
- if (GetBankSide(slot)) {
+ if (GetBankSide(slot) != 0)
r6 -= sub_8077DD8(slot, var);
- }
}
return r6;
}
-u8 GetAnimBankSpriteId(u8 whichBank) {
+u8 GetAnimBankSpriteId(u8 whichBank)
+{
u8 *sprites;
- if (whichBank == ANIM_BANK_ATTACKER) {
- if (IsBankSpritePresent(gAnimBankAttacker)) {
+
+ if (whichBank == ANIM_BANK_ATTACKER)
+ {
+ if (IsBankSpritePresent(gAnimBankAttacker))
+ {
sprites = gBattleMonSprites;
return sprites[gAnimBankAttacker];
- } else {
+ }
+ else
+ {
return 0xff;
}
- } else if (whichBank == ANIM_BANK_TARGET) {
- if (IsBankSpritePresent(gAnimBankTarget)) {
+ }
+ else if (whichBank == ANIM_BANK_TARGET)
+ {
+ if (IsBankSpritePresent(gAnimBankTarget))
+ {
sprites = gBattleMonSprites;
return sprites[gAnimBankTarget];
- } else {
+ }
+ else
+ {
return 0xff;
}
- } else if (whichBank == ANIM_BANK_ATK_PARTNER) {
- if (!IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2)) {
+ }
+ else if (whichBank == ANIM_BANK_ATK_PARTNER)
+ {
+ if (!IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2))
return 0xff;
- } else {
+ else
return gBattleMonSprites[gAnimBankAttacker ^ 2];
- }
- } else {
- if (IsAnimBankSpriteVisible(gAnimBankTarget ^ 2)) {
+ }
+ else
+ {
+ if (IsAnimBankSpriteVisible(gAnimBankTarget ^ 2))
return gBattleMonSprites[gAnimBankTarget ^ 2];
- } else {
+ else
return 0xff;
- }
}
}
-void StoreSpriteCallbackInData(struct Sprite *sprite, void (*callback)(struct Sprite*)) {
+void StoreSpriteCallbackInData(struct Sprite *sprite, void (*callback)(struct Sprite*))
+{
sprite->data[6] = (u32)(callback) & 0xffff;
sprite->data[7] = (u32)(callback) >> 16;
}
-void SetCallbackToStoredInData(struct Sprite *sprite) {
+void SetCallbackToStoredInData(struct Sprite *sprite)
+{
u32 callback = (u16)sprite->data[6] | (sprite->data[7] << 16);
sprite->callback = (void (*)(struct Sprite *))callback;
}
-void sub_8078114(struct Sprite *sprite) {
- if (sprite->data[3]) {
+void sub_8078114(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) {
+ if (sprite->data[0] >= 0x100)
sprite->data[0] -= 0x100;
- } else if (sprite->data[0] < 0) {
+ else if (sprite->data[0] < 0)
sprite->data[0] += 0x100;
- }
sprite->data[3]--;
- } else {
+ }
+ else
+ {
SetCallbackToStoredInData(sprite);
}
}
-void sub_8078174(struct Sprite *sprite) {
- if (sprite->data[3]) {
+void sub_8078174(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) {
+ if (sprite->data[0] >= 0x100)
sprite->data[0] -= 0x100;
- } else if (sprite->data[0] < 0) {
+ else if (sprite->data[0] < 0)
sprite->data[0] += 0x100;
- }
sprite->data[3]--;
- } else {
+ }
+ else
+ {
SetCallbackToStoredInData(sprite);
}
}
-void unref_sub_80781F0(struct Sprite *sprite) {
- if (sprite->data[3]) {
+void unref_sub_80781F0(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) {
+ if (sprite->data[0] >= 0x100)
sprite->data[0] -= 0x100;
- } else if (sprite->data[0] < 0) {
+ else if (sprite->data[0] < 0)
sprite->data[0] += 0x100;
- }
- if (sprite->data[4] >= 0x100) {
+ if (sprite->data[4] >= 0x100)
sprite->data[4] -= 0x100;
- } else if (sprite->data[4] < 0) {
+ else if (sprite->data[4] < 0)
sprite->data[4] += 0x100;
- }
sprite->data[3]--;
- } else {
+ }
+ else
+ {
SetCallbackToStoredInData(sprite);
}
}
-void sub_8078278(struct Sprite *sprite) {
- if (sprite->data[3]) {
+void sub_8078278(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) {
+ if (sprite->data[0] >= 0x100)
sprite->data[0] -= 0x100;
- } else if (sprite->data[0] < 0) {
+ else if (sprite->data[0] < 0)
sprite->data[0] += 0x100;
- }
sprite->data[3]--;
- } else {
+ }
+ else
+ {
SetCallbackToStoredInData(sprite);
}
}
-void sub_80782D8(struct Sprite *sprite) {
- if (sprite->data[0] > 0) {
+void sub_80782D8(struct Sprite *sprite)
+{
+ if (sprite->data[0] > 0)
sprite->data[0]--;
- } else {
+ else
SetCallbackToStoredInData(sprite);
- }
}
-void sub_80782F8(struct Sprite *sprite) {
+void sub_80782F8(struct Sprite *sprite)
+{
sub_8078314(sprite);
sprite->callback = sub_8078364;
sprite->callback(sprite);
}
-void sub_8078314(struct Sprite *sprite) {
+void sub_8078314(struct Sprite *sprite)
+{
s16 old;
int v1;
- if (sprite->data[1] > sprite->data[2]) {
+
+ if (sprite->data[1] > sprite->data[2])
sprite->data[0] = -sprite->data[0];
- }
v1 = sprite->data[2] - sprite->data[1];
old = sprite->data[0];
sprite->data[0] = abs(v1 / sprite->data[0]);
@@ -529,42 +578,55 @@ void sub_8078314(struct Sprite *sprite) {
sprite->data[1] = old;
}
-void sub_8078364(struct Sprite *sprite) {
- if (sprite->data[0] > 0) {
+void sub_8078364(struct Sprite *sprite)
+{
+ if (sprite->data[0] > 0)
+ {
sprite->data[0]--;
sprite->pos2.x += sprite->data[1];
sprite->pos2.y += sprite->data[2];
- } else {
+ }
+ else
+ {
SetCallbackToStoredInData(sprite);
}
}
-void sub_8078394(struct Sprite *sprite) {
- if (sprite->data[0] > 0) {
+void sub_8078394(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 {
+ }
+ else
+ {
SetCallbackToStoredInData(sprite);
}
}
-void sub_80783D0(struct Sprite *sprite) {
- if (sprite->data[0] > 0) {
+void sub_80783D0(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 {
+ }
+ else
+ {
SetCallbackToStoredInData(sprite);
}
UpdateMonIconFrame(sprite);
}
-void unref_sub_8078414(struct Sprite *sprite) {
+void unref_sub_8078414(struct Sprite *sprite)
+{
sprite->data[1] = sprite->pos1.x + sprite->pos2.x;
sprite->data[3] = sprite->pos1.y + sprite->pos2.y;
sprite->data[2] = GetBankPosition(gAnimBankTarget, 2);
@@ -572,51 +634,65 @@ void unref_sub_8078414(struct Sprite *sprite) {
sprite->callback = sub_80782F8;
}
-void sub_8078458(struct Sprite *sprite) {
- if (sprite->data[0] > 0) {
+void sub_8078458(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 {
+ }
+ else
+ {
SetCallbackToStoredInData(sprite);
}
}
-void sub_80784A8(struct Sprite *sprite) {
- if (sprite->data[0] > 0) {
+void sub_80784A8(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 {
+ }
+ else
+ {
SetCallbackToStoredInData(sprite);
}
}
-void sub_8078504(struct Sprite *sprite) {
- if (sprite->data[0] > 0) {
+void sub_8078504(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]) {
+ if (sprite->data[0] % sprite->data[5] == 0)
+ {
+ if (sprite->data[5])
sprite->invisible ^= 1;
- }
}
- } else {
+ }
+ else
+ {
SetCallbackToStoredInData(sprite);
}
}
-void move_anim_8074EE0(struct Sprite *sprite) {
+void move_anim_8074EE0(struct Sprite *sprite)
+{
FreeSpriteOamMatrix(sprite);
DestroyAnimSprite(sprite);
}
-void unref_sub_8078588(struct Sprite *sprite) {
+void unref_sub_8078588(struct Sprite *sprite)
+{
sprite->data[1] = sprite->pos1.x + sprite->pos2.x;
sprite->data[3] = sprite->pos1.y + sprite->pos2.y;
sprite->data[2] = GetBankPosition(gAnimBankAttacker, 2);
@@ -624,57 +700,68 @@ void unref_sub_8078588(struct Sprite *sprite) {
sprite->callback = sub_80782F8;
}
-void unref_sub_80785CC(struct Sprite *sprite) {
+void unref_sub_80785CC(struct Sprite *sprite)
+{
ResetPaletteStructByUid(sprite->data[5]);
move_anim_8074EE0(sprite);
}
-void sub_80785E4(struct Sprite *sprite) {
- if (sprite->affineAnimEnded) {
+void sub_80785E4(struct Sprite *sprite)
+{
+ if (sprite->affineAnimEnded)
SetCallbackToStoredInData(sprite);
- }
}
-void sub_8078600(struct Sprite *sprite) {
- if (sprite->animEnded) {
+void sub_8078600(struct Sprite *sprite)
+{
+ if (sprite->animEnded)
SetCallbackToStoredInData(sprite);
- }
}
-void sub_807861C(struct Sprite *sprite) {
+void sub_807861C(struct Sprite *sprite)
+{
REG_BLDCNT = 0;
REG_BLDALPHA = 0;
DestroyAnimSprite(sprite);
}
-void sub_8078634(u8 task) {
+void sub_8078634(u8 task)
+{
REG_BLDCNT = 0;
REG_BLDALPHA = 0;
DestroyAnimVisualTask(task);
}
-void sub_8078650(struct Sprite *sprite) {
+void sub_8078650(struct Sprite *sprite)
+{
sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2);
sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3);
}
-void sub_807867C(struct Sprite *sprite, s16 a2) {
+void sub_807867C(struct Sprite *sprite, s16 a2)
+{
u16 v1 = GetBankPosition(gAnimBankAttacker, 0);
u16 v2 = GetBankPosition(gAnimBankTarget, 0);
- if (v1 > v2) {
+
+ if (v1 > v2)
+ {
sprite->pos1.x -= a2;
- } else if (v1 < v2) {
+ }
+ else if (v1 < v2)
+ {
sprite->pos1.x += a2;
- } else {
- if (GetBankSide(gAnimBankAttacker)) {
+ }
+ else
+ {
+ if (GetBankSide(gAnimBankAttacker) != 0)
sprite->pos1.x -= a2;
- } else {
+ else
sprite->pos1.x += a2;
- }
}
}
-void sub_80786EC(struct Sprite *sprite) {
+void sub_80786EC(struct Sprite *sprite)
+{
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
obj_translate_based_on_private_1_2_3_4(sprite);
@@ -682,24 +769,27 @@ void sub_80786EC(struct Sprite *sprite) {
sprite->data[7] = 0;
}
-bool8 sub_8078718(struct Sprite *sprite) {
- if (sub_8078B5C(sprite)) {
+bool8 sub_8078718(struct Sprite *sprite)
+{
+ if (sub_8078B5C(sprite))
return TRUE;
- }
sprite->data[7] += sprite->data[6];
sprite->pos2.y += Sin((u8)(sprite->data[7] >> 8), sprite->data[5]);
return FALSE;
}
-void oamt_add_pos2_onto_pos1(struct Sprite *sprite) {
+void oamt_add_pos2_onto_pos1(struct Sprite *sprite)
+{
sprite->pos1.x += sprite->pos2.x;
sprite->pos1.y += sprite->pos2.y;
sprite->pos2.x = 0;
sprite->pos2.y = 0;
}
-void sub_8078764(struct Sprite *sprite, u8 a2) {
- if (!a2) {
+void sub_8078764(struct Sprite *sprite, u8 a2)
+{
+ if (!a2)
+ {
sprite->pos1.x = sub_8077EE4(gAnimBankTarget, 0);
sprite->pos1.y = sub_8077EE4(gAnimBankTarget, 1);
}
@@ -707,11 +797,15 @@ void sub_8078764(struct Sprite *sprite, u8 a2) {
sprite->pos1.y += gBattleAnimArgs[1];
}
-void sub_80787B0(struct Sprite *sprite, u8 a2) {
- if (!a2) {
+void sub_80787B0(struct Sprite *sprite, u8 a2)
+{
+ if (!a2)
+ {
sprite->pos1.x = sub_8077EE4(gAnimBankAttacker, 0);
sprite->pos1.y = sub_8077EE4(gAnimBankAttacker, 1);
- } else {
+ }
+ else
+ {
sprite->pos1.x = sub_8077EE4(gAnimBankAttacker, 2);
sprite->pos1.y = sub_8077EE4(gAnimBankAttacker, 3);
}
@@ -719,103 +813,127 @@ void sub_80787B0(struct Sprite *sprite, u8 a2) {
sprite->pos1.y += gBattleAnimArgs[1];
}
-u8 GetBankSide(u8 slot) {
+u8 GetBankSide(u8 slot)
+{
return gBanksBySide[slot] & 1;
}
-u8 GetBankIdentity(u8 slot) {
+u8 GetBankIdentity(u8 slot)
+{
return gBanksBySide[slot];
}
-u8 GetBankByPlayerAI(u8 slot) {
+u8 GetBankByPlayerAI(u8 slot)
+{
u8 i;
- for (i = 0; i < gNoOfAllBanks; i++) {
- if (gBanksBySide[i] == slot) {
+
+ for (i = 0; i < gNoOfAllBanks; i++)
+ {
+ if (gBanksBySide[i] == slot)
break;
- }
}
return i;
}
-bool8 IsBankSpritePresent(u8 slot) {
- if (IsContest()) {
- if (gAnimBankAttacker == slot) {
+bool8 IsBankSpritePresent(u8 slot)
+{
+ if (IsContest())
+ {
+ if (gAnimBankAttacker == slot)
return TRUE;
- }
- if (gAnimBankTarget == slot) {
+ if (gAnimBankTarget == slot)
return TRUE;
- }
return FALSE;
- } else {
- if (gBanksBySide[slot] == 0xff) {
+ }
+ else
+ {
+ if (gBanksBySide[slot] == 0xff)
return FALSE;
- }
- if (GetBankSide(slot)) {
- if (GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_HP) != 0) {
+ if (GetBankSide(slot))
+ {
+ if (GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_HP) != 0)
return TRUE;
- }
- } else {
- if (GetMonData(&gPlayerParty[gBattleMonPartyPositions[slot]], MON_DATA_HP) != 0) {
+ }
+ else
+ {
+ if (GetMonData(&gPlayerParty[gBattleMonPartyPositions[slot]], MON_DATA_HP) != 0)
return TRUE;
- }
}
return FALSE;
}
}
-bool8 IsDoubleBattle() {
+bool8 IsDoubleBattle()
+{
return IS_DOUBLE_BATTLE();
}
-void sub_8078914(struct Struct_sub_8078914 *unk) {
- if (IsContest()) {
- unk->field_0 = (u8 *)0x6008000;
- unk->field_4 = (u8 *)0x600f000;
+void sub_8078914(struct Struct_sub_8078914 *unk)
+{
+ if (IsContest())
+ {
+ unk->field_0 = (u8 *)(VRAM + 0x8000);
+ unk->field_4 = (u8 *)(VRAM + 0xf000);
unk->field_8 = 0xe;
- } else {
- unk->field_0 = (u8 *)0x6004000;
- unk->field_4 = (u8 *)0x600e000;
+ }
+ else
+ {
+ unk->field_0 = (u8 *)(VRAM + 0x4000);
+ unk->field_4 = (u8 *)(VRAM + 0xe000);
unk->field_8 = 0x8;
}
}
-void sub_8078954(struct Struct_sub_8078914 *unk) {
- if (IsContest()) {
- unk->field_0 = (u8 *)0x6008000;
- unk->field_4 = (u8 *)0x600f000;
+void sub_8078954(struct Struct_sub_8078914 *unk)
+{
+ if (IsContest())
+ {
+ unk->field_0 = (u8 *)(VRAM + 0x8000);
+ unk->field_4 = (u8 *)(VRAM + 0xf000);
unk->field_8 = 0xe;
- } else if (GetBankIdentity_permutated(gAnimBankAttacker) == 1) {
- unk->field_0 = (u8 *)0x6004000;
- unk->field_4 = (u8 *)0x600e000;
+ }
+ else if (GetBankIdentity_permutated(gAnimBankAttacker) == 1)
+ {
+ unk->field_0 = (u8 *)(VRAM + 0x4000);
+ unk->field_4 = (u8 *)(VRAM + 0xe000);
unk->field_8 = 0x8;
- } else {
- unk->field_0 = (u8 *)0x6006000;
- unk->field_4 = (u8 *)0x600f000;
+ }
+ else
+ {
+ unk->field_0 = (u8 *)(VRAM + 0x6000);
+ unk->field_4 = (u8 *)(VRAM + 0xf000);
unk->field_8 = 0x9;
}
}
-u8 sub_80789BC() {
- if (IsContest()) {
+u8 sub_80789BC()
+{
+ if (IsContest())
return 1;
- }
return 2;
}
-void sub_80789D4(bool8 a1) {
- if (!a1) {
- BG3CNT.size = 0;
- BG3CNT.overflow = 1;
- } else if (IsContest()) {
- BG3CNT.size = 0;
- BG3CNT.overflow = 1;
- } else {
- BG3CNT.size = 1;
- BG3CNT.overflow = 0;
+void sub_80789D4(bool8 a1)
+{
+ if (!a1)
+ {
+ BG3CNT.screenSize = 0;
+ BG3CNT.areaOverflowMode = 1;
+ }
+ else if (IsContest())
+ {
+ BG3CNT.screenSize = 0;
+ BG3CNT.areaOverflowMode = 1;
+ }
+ else
+ {
+ BG3CNT.screenSize = 1;
+ BG3CNT.areaOverflowMode = 0;
}
}
-void sub_8078A34(struct Sprite *sprite) {
+void sub_8078A34(struct Sprite *sprite)
+{
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
sub_8078A5C(sprite);
@@ -823,7 +941,8 @@ void sub_8078A34(struct Sprite *sprite) {
sprite->callback(sprite);
}
-void sub_8078A5C(struct Sprite *sprite) {
+void sub_8078A5C(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];
@@ -832,32 +951,36 @@ void sub_8078A5C(struct Sprite *sprite) {
sprite->data[3] = 0;
}
-void obj_translate_based_on_private_1_2_3_4(struct Sprite *sprite) {
+void obj_translate_based_on_private_1_2_3_4(struct Sprite *sprite)
+{
int x = sprite->data[2] - sprite->data[1];
int y = sprite->data[4] - sprite->data[3];
bool8 r8 = x < 0;
bool8 r9 = y < 0;
u16 x2 = abs(x) << 8;
u16 y2 = abs(y) << 8;
+
x2 = x2 / sprite->data[0];
y2 = y2 / sprite->data[0];
- if (r8) {
+
+ if (r8)
x2 |= 1;
- } else {
+ else
x2 &= ~1;
- }
- if (r9) {
+
+ if (r9)
y2 |= 1;
- } else {
+ else
y2 &= ~1;
- }
+
sprite->data[1] = x2;
sprite->data[2] = y2;
sprite->data[4] = 0;
sprite->data[3] = 0;
}
-void sub_8078B34(struct Sprite *sprite) {
+void sub_8078B34(struct Sprite *sprite)
+{
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
obj_translate_based_on_private_1_2_3_4(sprite);
@@ -865,46 +988,51 @@ void sub_8078B34(struct Sprite *sprite) {
sprite->callback(sprite);
}
-bool8 sub_8078B5C(struct Sprite *sprite) {
+bool8 sub_8078B5C(struct Sprite *sprite)
+{
u16 v1, v2, x, y;
- if (!sprite->data[0]) {
+
+ 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) {
+
+ if (v1 & 1)
sprite->pos2.x = -(x >> 8);
- } else {
+ else
sprite->pos2.x = x >> 8;
- }
- if (v2 & 1) {
+
+ if (v2 & 1)
sprite->pos2.y = -(y >> 8);
- } else {
+ else
sprite->pos2.y = y >> 8;
- }
+
sprite->data[3] = x;
sprite->data[4] = y;
sprite->data[0]--;
return FALSE;
}
-void sub_8078BB8(struct Sprite *sprite) {
- if (sub_8078B5C(sprite)) {
+void sub_8078BB8(struct Sprite *sprite)
+{
+ if (sub_8078B5C(sprite))
SetCallbackToStoredInData(sprite);
- }
}
-void sub_8078BD4(struct Sprite *sprite) {
+void sub_8078BD4(struct Sprite *sprite)
+{
int v1 = abs(sprite->data[2] - sprite->data[1]) << 8;
sprite->data[0] = v1 / sprite->data[0];
obj_translate_based_on_private_1_2_3_4(sprite);
}
-void sub_8078C00(struct Sprite *sprite) {
+void sub_8078C00(struct Sprite *sprite)
+{
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
sub_8078BD4(sprite);
@@ -912,32 +1040,36 @@ void sub_8078C00(struct Sprite *sprite) {
sprite->callback(sprite);
}
-void sub_8078C28(struct Sprite *sprite) {
+void sub_8078C28(struct Sprite *sprite)
+{
int x = sprite->data[2] - sprite->data[1];
int y = sprite->data[4] - sprite->data[3];
bool8 x_sign = x < 0;
bool8 y_sign = y < 0;
u16 x2 = abs(x) << 4;
u16 y2 = abs(y) << 4;
+
x2 /= sprite->data[0];
y2 /= sprite->data[0];
- if (x_sign) {
+
+ if (x_sign)
x2 |= 1;
- } else {
+ else
x2 &= ~1;
- }
- if (y_sign) {
+
+ if (y_sign)
y2 |= 1;
- } else {
+ else
y2 &= ~1;
- }
+
sprite->data[1] = x2;
sprite->data[2] = y2;
sprite->data[4] = 0;
sprite->data[3] = 0;
}
-void sub_8078CC0(struct Sprite *sprite) {
+void sub_8078CC0(struct Sprite *sprite)
+{
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
sub_8078C28(sprite);
@@ -945,46 +1077,51 @@ void sub_8078CC0(struct Sprite *sprite) {
sprite->callback(sprite);
}
-bool8 sub_8078CE8(struct Sprite *sprite) {
+bool8 sub_8078CE8(struct Sprite *sprite)
+{
u16 v1, v2, x, y;
- if (!sprite->data[0]) {
+
+ 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) {
+
+ if (v1 & 1)
sprite->pos2.x = -(x >> 4);
- } else {
+ else
sprite->pos2.x = x >> 4;
- }
- if (v2 & 1) {
+
+ if (v2 & 1)
sprite->pos2.y = -(y >> 4);
- } else {
+ else
sprite->pos2.y = y >> 4;
- }
+
sprite->data[3] = x;
sprite->data[4] = y;
sprite->data[0]--;
return FALSE;
}
-void sub_8078D44(struct Sprite *sprite) {
- if (sub_8078CE8(sprite)) {
+void sub_8078D44(struct Sprite *sprite)
+{
+ if (sub_8078CE8(sprite))
SetCallbackToStoredInData(sprite);
- }
}
-void sub_8078D60(struct Sprite *sprite) {
+void sub_8078D60(struct Sprite *sprite)
+{
int v1 = abs(sprite->data[2] - sprite->data[1]) << 4;
sprite->data[0] = v1 / sprite->data[0];
sub_8078C28(sprite);
}
-void sub_8078D8C(struct Sprite *sprite) {
+void sub_8078D8C(struct Sprite *sprite)
+{
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
sub_8078D60(sprite);
@@ -992,16 +1129,17 @@ void sub_8078D8C(struct Sprite *sprite) {
sprite->callback(sprite);
}
-void obj_id_set_rotscale(u8 sprite, s16 xScale, s16 yScale, u16 rotation) {
+void obj_id_set_rotscale(u8 sprite, 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_8078E38()) {
+ if (sub_8078E38())
src.xScale = -src.xScale;
- }
i = gSprites[sprite].oam.matrixNum;
ObjAffineSet(&src, &matrix, 1, 2);
gOamMatrices[i].a = matrix.a;
@@ -1010,31 +1148,33 @@ void obj_id_set_rotscale(u8 sprite, s16 xScale, s16 yScale, u16 rotation) {
gOamMatrices[i].d = matrix.d;
}
-bool8 sub_8078E38() {
- if (IsContest()) {
- if (gSprites[GetAnimBankSpriteId(0)].data[2] == 0xc9 /* XXX SPECIES_UNOWN? */) {
+bool8 sub_8078E38()
+{
+ if (IsContest())
+ {
+ if (gSprites[GetAnimBankSpriteId(0)].data[2] == 0xc9 /* XXX SPECIES_UNOWN? */)
return FALSE;
- }
return TRUE;
}
return FALSE;
}
-void sub_8078E70(u8 sprite, u8 a2) {
+void sub_8078E70(u8 sprite, u8 a2)
+{
u8 r7 = gSprites[sprite].data[0];
- if (IsContest() || IsAnimBankSpriteVisible(r7)) {
+
+ if (IsContest() || IsAnimBankSpriteVisible(r7))
gSprites[sprite].invisible = FALSE;
- }
gSprites[sprite].oam.objMode = a2;
gSprites[sprite].affineAnimPaused = TRUE;
- if (!IsContest() && !gSprites[sprite].oam.affineMode) {
+ if (!IsContest() && !gSprites[sprite].oam.affineMode)
gSprites[sprite].oam.matrixNum = ewram17810[r7].unk6;
- }
gSprites[sprite].oam.affineMode = 3;
CalcCenterToCornerVec(&gSprites[sprite], gSprites[sprite].oam.shape, gSprites[sprite].oam.size, gSprites[sprite].oam.affineMode);
}
-void sub_8078F40(u8 sprite) {
+void sub_8078F40(u8 sprite)
+{
obj_id_set_rotscale(sprite, 0x100, 0x100, 0);
gSprites[sprite].oam.affineMode = 1;
gSprites[sprite].oam.objMode = 0;
@@ -1042,31 +1182,33 @@ void sub_8078F40(u8 sprite) {
CalcCenterToCornerVec(&gSprites[sprite], gSprites[sprite].oam.shape, gSprites[sprite].oam.size, gSprites[sprite].oam.affineMode);
}
-void sub_8078F9C(u8 sprite) {
+void sub_8078F9C(u8 sprite)
+{
u16 matrix = gSprites[sprite].oam.matrixNum;
s16 c = gOamMatrices[matrix].c;
- if (c < 0) {
+
+ if (c < 0)
c = -c;
- }
gSprites[sprite].pos2.y = c >> 3;
}
// related to obj_id_set_rotscale
-void sub_8078FDC(struct Sprite *sprite, bool8 a2, s16 xScale, s16 yScale, u16 rotation) {
+void sub_8078FDC(struct Sprite *sprite, bool8 a2, s16 xScale, s16 yScale, u16 rotation)
+{
int i;
struct ObjAffineSrcData src;
struct OamMatrix matrix;
- if (sprite->oam.affineMode & 1) {
+
+ if (sprite->oam.affineMode & 1)
+ {
sprite->affineAnimPaused = TRUE;
- if (a2) {
+ if (a2)
CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, sprite->oam.affineMode);
- }
src.xScale = xScale;
src.yScale = yScale;
src.rotation = rotation;
- if (sub_8078E38()) {
+ if (sub_8078E38())
src.xScale = -src.xScale;
- }
i = sprite->oam.matrixNum;
ObjAffineSet(&src, &matrix, 1, 2);
gOamMatrices[i].a = matrix.a;
@@ -1076,56 +1218,67 @@ void sub_8078FDC(struct Sprite *sprite, bool8 a2, s16 xScale, s16 yScale, u16 ro
}
}
-void sub_8079098(struct Sprite *sprite) {
+void sub_8079098(struct Sprite *sprite)
+{
sub_8078FDC(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) {
+static u16 ArcTan2_(s16 a, s16 b)
+{
return ArcTan2(a, b);
}
-u16 sub_80790F0(s16 a, s16 b) {
+u16 sub_80790F0(s16 a, s16 b)
+{
u16 var = ArcTan2_(a, b);
return -var;
}
-void sub_8079108(u16 a1, bool8 a2) {
+void sub_8079108(u16 a1, bool8 a2)
+{
int i;
- struct Color *c;
- struct Color *c2;
+ struct PlttData *c;
+ struct PlttData *c2;
u16 average;
a1 *= 0x10;
- if (!a2) {
- for (i = 0; i < 0x10; i++) {
- c = (struct Color *)&gPlttBufferUnfaded[a1 + i];
+ if (!a2)
+ {
+ for (i = 0; i < 0x10; i++)
+ {
+ c = (struct PlttData *)&gPlttBufferUnfaded[a1 + i];
average = c->r + c->g + c->b;
average /= 3;
- c2 = (struct Color *)&gPlttBufferFaded[a1 + i];
+ c2 = (struct PlttData *)&gPlttBufferFaded[a1 + i];
c2->r = average;
c2->g = average;
c2->b = average;
}
- } else {
+ }
+ else
+ {
CpuCopy32(&gPlttBufferUnfaded[a1], &gPlttBufferFaded[a1], 0x20);
}
}
-u32 sub_80791A8(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7) {
+u32 sub_80791A8(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7)
+{
u32 var = 0;
u32 shift;
- if (a1) {
- if (!IsContest()) {
+
+ if (a1)
+ {
+ if (!IsContest())
var = 0xe;
- } else {
+ else
var = 1 << sub_80789BC();
- }
}
- if (a2) {
+ if (a2)
+ {
shift = gAnimBankAttacker + 16;
var |= 1 << shift;
}
@@ -1133,61 +1286,77 @@ u32 sub_80791A8(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7) {
shift = gAnimBankTarget + 16;
var |= 1 << shift;
}
- if (a4) {
- if (IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2)) {
+ if (a4)
+ {
+ if (IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2))
+ {
shift = (gAnimBankAttacker ^ 2) + 16;
var |= 1 << shift;
}
}
- if (a5) {
- if (IsAnimBankSpriteVisible(gAnimBankTarget ^ 2)) {
+ if (a5)
+ {
+ if (IsAnimBankSpriteVisible(gAnimBankTarget ^ 2))
+ {
shift = (gAnimBankTarget ^ 2) + 16;
var |= 1 << shift;
}
}
- if (a6) {
- if (!IsContest()) {
+ if (a6)
+ {
+ if (!IsContest())
var |= 0x100;
- } else {
+ else
var |= 0x4000;
- }
}
- if (a7) {
- if (!IsContest()) {
+ if (a7)
+ {
+ if (!IsContest())
var |= 0x200;
- }
}
return var;
}
-u32 sub_80792C0(u8 a1, u8 a2, u8 a3, u8 a4) {
+u32 sub_80792C0(u8 a1, u8 a2, u8 a3, u8 a4)
+{
u32 var = 0;
u32 shift;
- if (IsContest()) {
- if (a1) {
+
+ if (IsContest())
+ {
+ if (a1)
+ {
var |= 1 << 18;
return var;
}
- } else {
- if (a1) {
- if (IsAnimBankSpriteVisible(GetBankByPlayerAI(0))) {
+ }
+ else
+ {
+ if (a1)
+ {
+ if (IsAnimBankSpriteVisible(GetBankByPlayerAI(0)))
var |= 1 << (GetBankByPlayerAI(0) + 16);
- }
}
- if (a2) {
- if (IsAnimBankSpriteVisible(GetBankByPlayerAI(2))) {
+ if (a2)
+ {
+ if (IsAnimBankSpriteVisible(GetBankByPlayerAI(2)))
+ {
shift = GetBankByPlayerAI(2) + 16;
var |= 1 << shift;
}
}
- if (a3) {
- if (IsAnimBankSpriteVisible(GetBankByPlayerAI(1))) {
+ if (a3)
+ {
+ if (IsAnimBankSpriteVisible(GetBankByPlayerAI(1)))
+ {
shift = GetBankByPlayerAI(1) + 16;
var |= 1 << shift;
}
}
- if (a4) {
- if (IsAnimBankSpriteVisible(GetBankByPlayerAI(3))) {
+ if (a4)
+ {
+ if (IsAnimBankSpriteVisible(GetBankByPlayerAI(3)))
+ {
shift = GetBankByPlayerAI(3) + 16;
var |= 1 << shift;
}
@@ -1196,51 +1365,57 @@ u32 sub_80792C0(u8 a1, u8 a2, u8 a3, u8 a4) {
return var;
}
-u8 sub_80793A8(u8 a1) {
+u8 sub_80793A8(u8 a1)
+{
return a1;
}
-u8 unref_sub_80793B0(u8 a1) {
+u8 unref_sub_80793B0(u8 a1)
+{
return GetBankByPlayerAI(a1);
}
-void sub_80793C4(struct Sprite *sprite) {
+void sub_80793C4(struct Sprite *sprite)
+{
bool8 var;
- if (!sprite->data[0]) {
- if (!gBattleAnimArgs[3]) {
+
+ if (!sprite->data[0])
+ {
+ if (!gBattleAnimArgs[3])
var = TRUE;
- } else {
+ else
var = FALSE;
- }
- if (!gBattleAnimArgs[2]) {
+ if (!gBattleAnimArgs[2])
sub_80787B0(sprite, var);
- } else {
+ else
sub_8078764(sprite, var);
- }
sprite->data[0]++;
- } else if (sprite->animEnded || sprite->affineAnimEnded) {
+ }
+ else if (sprite->animEnded || sprite->affineAnimEnded)
+ {
move_anim_8074EE0(sprite);
}
}
-void sub_807941C(struct Sprite *sprite) {
+void sub_807941C(struct Sprite *sprite)
+{
bool8 v1;
u8 v2;
- if (!(gBattleAnimArgs[5] & 0xff00)) {
+
+ if (!(gBattleAnimArgs[5] & 0xff00))
v1 = TRUE;
- } else {
+ else
v1 = FALSE;
- }
- if (!(gBattleAnimArgs[5] & 0xff)) {
+
+ if (!(gBattleAnimArgs[5] & 0xff))
v2 = 3;
- } else {
+ else
v2 = 1;
- }
+
sub_80787B0(sprite, v1);
- if (GetBankSide(gAnimBankAttacker)) {
+ if (GetBankSide(gAnimBankAttacker))
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
- }
sprite->data[0] = gBattleAnimArgs[4];
sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2];
sprite->data[4] = GetBankPosition(gAnimBankTarget, v2) + gBattleAnimArgs[3];
@@ -1248,11 +1423,11 @@ void sub_807941C(struct Sprite *sprite) {
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
}
-void sub_80794A8(struct Sprite *sprite) {
+void sub_80794A8(struct Sprite *sprite)
+{
sub_80787B0(sprite, 1);
- if (GetBankSide(gAnimBankAttacker)) {
+ if (GetBankSide(gAnimBankAttacker))
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
- }
sprite->data[0] = gBattleAnimArgs[4];
sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2];
sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3];
@@ -1261,31 +1436,38 @@ void sub_80794A8(struct Sprite *sprite) {
sprite->callback = sub_8079518;
}
-void sub_8079518(struct Sprite *sprite) {
- if (sub_8078718(sprite)) {
+void sub_8079518(struct Sprite *sprite)
+{
+ if (sub_8078718(sprite))
DestroyAnimSprite(sprite);
- }
}
-void sub_8079534(struct Sprite *sprite) {
+void sub_8079534(struct Sprite *sprite)
+{
u8 r4, slot, r7;
- if (!gBattleAnimArgs[6]) {
+
+ if (!gBattleAnimArgs[6])
+ {
r4 = 1;
r7 = 3;
- } else {
+ }
+ else
+ {
r4 = 0;
r7 = 1;
}
- if (!gBattleAnimArgs[5]) {
+ if (!gBattleAnimArgs[5])
+ {
sub_80787B0(sprite, r4);
slot = gAnimBankAttacker;
- } else {
+ }
+ else
+ {
sub_8078764(sprite, r4);
slot = gAnimBankTarget;
}
- if (GetBankSide(gAnimBankAttacker)) {
+ if (GetBankSide(gAnimBankAttacker))
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
- }
sub_8078764(sprite, r4);
sprite->data[0] = gBattleAnimArgs[4];
sprite->data[2] = GetBankPosition(slot, 2) + gBattleAnimArgs[2];
@@ -1294,43 +1476,47 @@ void sub_8079534(struct Sprite *sprite) {
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
}
-s16 duplicate_obj_of_side_rel2move_in_transparent_mode(u8 a1) {
+s16 duplicate_obj_of_side_rel2move_in_transparent_mode(u8 a1)
+{
u16 i;
u8 sprite = GetAnimBankSpriteId(a1);
- if (sprite != 0xff) {
- for (i = 0; i < 0x40; i++) {
- if (gSprites[i].inUse) {
- continue;
+
+ if (sprite != 0xff)
+ {
+ for (i = 0; i < 0x40; i++)
+ {
+ if (!gSprites[i].inUse)
+ {
+ gSprites[i] = gSprites[sprite];
+ gSprites[i].oam.objMode = 1;
+ gSprites[i].invisible = FALSE;
+ return i;
}
- gSprites[i] = gSprites[sprite];
- gSprites[i].oam.objMode = 1;
- gSprites[i].invisible = FALSE;
- return i;
}
}
return -1;
}
-void obj_delete_but_dont_free_vram(struct Sprite *sprite) {
+void obj_delete_but_dont_free_vram(struct Sprite *sprite)
+{
sprite->usingSheet = TRUE;
DestroySprite(sprite);
}
-void sub_8079670(u8 task) {
+void sub_8079670(u8 task)
+{
s16 v1 = 0;
s16 v2 = 0;
- if (gBattleAnimArgs[2] > gBattleAnimArgs[0]) {
+
+ if (gBattleAnimArgs[2] > gBattleAnimArgs[0])
v2 = 1;
- }
- if (gBattleAnimArgs[2] < gBattleAnimArgs[0]) {
+ if (gBattleAnimArgs[2] < gBattleAnimArgs[0])
v2 = -1;
- }
- if (gBattleAnimArgs[3] > gBattleAnimArgs[1]) {
+ if (gBattleAnimArgs[3] > gBattleAnimArgs[1])
v1 = 1;
- }
- if (gBattleAnimArgs[3] < gBattleAnimArgs[1]) {
+ if (gBattleAnimArgs[3] < gBattleAnimArgs[1])
v1 = -1;
- }
+
gTasks[task].data[0] = 0;
gTasks[task].data[1] = gBattleAnimArgs[4];
gTasks[task].data[2] = 0;
@@ -1344,30 +1530,38 @@ void sub_8079670(u8 task) {
gTasks[task].func = sub_80796F8;
}
-void sub_80796F8(u8 taskId) {
+void sub_80796F8(u8 taskId)
+{
struct Task *task = &gTasks[taskId];
- if (++task->data[0] > task->data[1]) {
+
+ if (++task->data[0] > task->data[1])
+ {
task->data[0] = 0;
- if (++task->data[2] & 1) {
- if (task->data[3] != task->data[7]) {
+ 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]) {
+ }
+ else
+ {
+ if (task->data[4] != task->data[8])
task->data[4] += task->data[6];
- }
}
REG_BLDALPHA = (task->data[4] << 8) | task->data[3];
- if (task->data[3] == task->data[7] && task->data[4] == task->data[8]) {
+ if (task->data[3] == task->data[7] && task->data[4] == task->data[8])
+ {
DestroyAnimVisualTask(taskId);
return;
}
}
}
-void sub_8079790(u8 task) {
+void sub_8079790(u8 task)
+{
u8 sprite = GetAnimBankSpriteId(gBattleAnimArgs[0]);
- if (sprite == 0xff) {
+
+ if (sprite == 0xff)
+ {
DestroyAnimVisualTask(task);
return;
}
@@ -1375,7 +1569,8 @@ void sub_8079790(u8 task) {
sub_80797EC(&gTasks[task]);
}
-void sub_80797EC(struct Task *task) {
+void sub_80797EC(struct Task *task)
+{
task->data[1] = gBattleAnimArgs[1];
task->data[2] = 0;
task->data[3] = gBattleAnimArgs[2];
@@ -1386,24 +1581,33 @@ void sub_80797EC(struct Task *task) {
task->func = sub_8079814;
}
-void sub_8079814(u8 taskId) {
+void sub_8079814(u8 taskId)
+{
struct Task *task = &gTasks[taskId];
- if (++task->data[4] >= task->data[5]) {
+
+ if (++task->data[4] >= task->data[5])
+ {
task->data[4] = 0;
- if (!task->data[6]) {
+ if (!task->data[6])
+ {
task->data[2]++;
BlendPalette(task->data[0], 0xf, task->data[2], task->data[1]);
- if (task->data[2] == task->data[3]) {
+ if (task->data[2] == task->data[3])
task->data[6] = 1;
- }
- } else {
+ }
+ else
+ {
task->data[2]--;
BlendPalette(task->data[0], 0xf, task->data[2], task->data[1]);
- if (!task->data[2]) {
- if (--task->data[7]) {
+ if (!task->data[2])
+ {
+ if (--task->data[7])
+ {
task->data[4] = 0;
task->data[6] = 0;
- } else {
+ }
+ else
+ {
DestroyAnimVisualTask(taskId);
return;
}
@@ -1412,9 +1616,12 @@ void sub_8079814(u8 taskId) {
}
}
-void sub_80798AC(u8 task) {
+void sub_80798AC(u8 task)
+{
u8 palette = IndexOfSpritePaletteTag(gBattleAnimArgs[0]);
- if (palette == 0xff) {
+
+ if (palette == 0xff)
+ {
DestroyAnimVisualTask(task);
return;
}
@@ -1422,7 +1629,8 @@ void sub_80798AC(u8 task) {
sub_80797EC(&gTasks[task]);
}
-void sub_80798F4(struct Task *task, u8 a2, const void *a3) {
+void sub_80798F4(struct Task *task, u8 a2, const void *a3)
+{
task->data[7] = 0;
task->data[8] = 0;
task->data[9] = 0;
@@ -1434,11 +1642,14 @@ void sub_80798F4(struct Task *task, u8 a2, const void *a3) {
sub_8078E70(a2, 0);
}
-bool8 sub_807992C(struct Task *task) {
+bool8 sub_807992C(struct Task *task)
+{
gUnknown_0202F7D4 = sub_8079BFC(task->data[13], task->data[14]) + (task->data[7] << 3);
- switch (gUnknown_0202F7D4->type) {
+ switch (gUnknown_0202F7D4->type)
+ {
default:
- if (!gUnknown_0202F7D4->frame.duration) {
+ if (!gUnknown_0202F7D4->frame.duration)
+ {
task->data[10] = gUnknown_0202F7D4->frame.xScale;
task->data[11] = gUnknown_0202F7D4->frame.yScale;
task->data[12] = gUnknown_0202F7D4->frame.rotation;
@@ -1450,44 +1661,49 @@ bool8 sub_807992C(struct Task *task) {
task->data[12] += gUnknown_0202F7D4->frame.rotation;
obj_id_set_rotscale(task->data[15], task->data[10], task->data[11], task->data[12]);
sub_8079A64(task->data[15]);
- if (++task->data[8] >= gUnknown_0202F7D4->frame.duration) {
+ if (++task->data[8] >= gUnknown_0202F7D4->frame.duration)
+ {
task->data[8] = 0;
task->data[7]++;
}
break;
-
case AFFINEANIMCMDTYPE_JUMP:
task->data[7] = gUnknown_0202F7D4->jump.target;
break;
-
case AFFINEANIMCMDTYPE_LOOP:
- if (gUnknown_0202F7D4->loop.count) {
- if (task->data[9]) {
- if (!--task->data[9]) {
+ if (gUnknown_0202F7D4->loop.count)
+ {
+ if (task->data[9])
+ {
+ if (!--task->data[9])
+ {
task->data[7]++;
break;
}
- } else {
+ }
+ else
+ {
task->data[9] = gUnknown_0202F7D4->loop.count;
}
- if (!task->data[7]) {
+ if (!task->data[7])
+ {
break;
}
- for (;;) {
+ for (;;)
+ {
task->data[7]--;
gUnknown_0202F7D4--;
- if (gUnknown_0202F7D4->type == AFFINEANIMCMDTYPE_LOOP) {
+ if (gUnknown_0202F7D4->type == AFFINEANIMCMDTYPE_LOOP)
+ {
task->data[7]++;
return TRUE;
}
- if (!task->data[7]) {
+ if (!task->data[7])
return TRUE;
- }
}
}
task->data[7]++;
break;
-
case 0x7fff:
gSprites[task->data[15]].pos2.y = 0;
sub_8078F40(task->data[15]);
@@ -1497,52 +1713,62 @@ bool8 sub_807992C(struct Task *task) {
return TRUE;
}
-void sub_8079A64(u8 sprite) {
+void sub_8079A64(u8 sprite)
+{
int var = 0x40 - sub_8079B10(sprite) * 2;
u16 matrix = gSprites[sprite].oam.matrixNum;
int var2 = (var << 8) / gOamMatrices[matrix].d;
- if (var2 > 0x80) {
+
+ if (var2 > 0x80)
var2 = 0x80;
- }
gSprites[sprite].pos2.y = (var - var2) / 2;
}
-void sub_8079AB8(u8 sprite, u8 sprite2) {
+void sub_8079AB8(u8 sprite, u8 sprite2)
+{
int var = 0x40 - sub_8079B10(sprite2) * 2;
u16 matrix = gSprites[sprite].oam.matrixNum;
int var2 = (var << 8) / gOamMatrices[matrix].d;
- if (var2 > 0x80) {
+
+ if (var2 > 0x80)
var2 = 0x80;
- }
gSprites[sprite].pos2.y = (var - var2) / 2;
}
-u16 sub_8079B10(u8 sprite) {
+u16 sub_8079B10(u8 sprite)
+{
struct TransformStatus *transform;
u8 slot = gSprites[sprite].data[0];
u16 species;
u16 i;
- for (i = 0; i < (sizeof(gBattleMonSprites) / sizeof(u8)); i++) {
- if (gBattleMonSprites[i] == sprite) {
- if (IsContest()) {
- species = ewram19348.unk0;
+
+ for (i = 0; i < (sizeof(gBattleMonSprites) / sizeof(u8)); i++)
+ {
+ if (gBattleMonSprites[i] == sprite)
+ {
+ if (IsContest())
+ {
+ species = shared19348.unk0;
return gMonBackPicCoords[species].y_offset;
- } else {
- if (!GetBankSide(i)) {
+ }
+ else
+ {
+ if (!GetBankSide(i))
+ {
transform = &eTransformStatuses[slot];
- if (!transform->species) {
+ if (!transform->species)
species = GetMonData(&gPlayerParty[gBattleMonPartyPositions[i]], MON_DATA_SPECIES);
- } else {
+ else
species = transform->species;
- }
return gMonBackPicCoords[species].y_offset;
- } else {
+ }
+ else
+ {
transform = &eTransformStatuses[slot];
- if (!transform->species) {
+ if (!transform->species)
species = GetMonData(&gEnemyParty[gBattleMonPartyPositions[i]], MON_DATA_SPECIES);
- } else {
+ else
species = transform->species;
- }
return gMonFrontPicCoords[species].y_offset;
}
}
@@ -1551,19 +1777,22 @@ u16 sub_8079B10(u8 sprite) {
return 0x40;
}
-void sub_8079BF4(s16 *bottom, s16 *top, const void *ptr) {
+void sub_8079BF4(s16 *bottom, s16 *top, const void *ptr)
+{
*bottom = ((intptr_t) ptr) & 0xffff;
*top = (((intptr_t) ptr) >> 16) & 0xffff;
}
-void *sub_8079BFC(s16 bottom, s16 top) {
+void *sub_8079BFC(s16 bottom, s16 top)
+{
return (void *)((u16)bottom | ((u16)top << 16));
}
// possible new file
-void sub_8079C08(struct Task *task, u8 a2, s16 a3, s16 a4, s16 a5, s16 a6, u16 a7) {
+void sub_8079C08(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;
@@ -1574,124 +1803,133 @@ void sub_8079C08(struct Task *task, u8 a2, s16 a3, s16 a4, s16 a5, s16 a6, u16 a
task->data[12] = (a6 - a4) / a7;
}
-u8 sub_8079C74(struct Task *task) {
- if (!task->data[8]) {
+u8 sub_8079C74(struct Task *task)
+{
+ if (!task->data[8])
return 0;
- }
- if (--task->data[8]) {
+
+ if (--task->data[8] != 0)
+ {
task->data[9] += task->data[11];
task->data[10] += task->data[12];
- } else {
+ }
+ else
+ {
task->data[9] = task->data[13];
task->data[10] = task->data[14];
}
obj_id_set_rotscale(task->data[15], task->data[9], task->data[10], 0);
- if (task->data[8]) {
+ if (task->data[8])
sub_8079A64(task->data[15]);
- } else {
+ else
gSprites[task->data[15]].pos2.y = 0;
- }
return task->data[8];
}
-void sub_8079CEC(u8 task) {
+void sub_8079CEC(u8 task)
+{
u16 v1;
- if (gAnimFriendship <= 30) {
+
+ if (gAnimFriendship <= 30)
v1 = 0;
- } else if (gAnimFriendship <= 100) {
+ else if (gAnimFriendship <= 100)
v1 = 1;
- } else if (gAnimFriendship <= 200) {
+ else if (gAnimFriendship <= 200)
v1 = 2;
- } else {
+ else
v1 = 3;
- }
gBattleAnimArgs[7] = v1;
DestroyAnimVisualTask(task);
}
-void unref_sub_8079D20(u8 priority) {
- if (IsAnimBankSpriteVisible(gAnimBankTarget)) {
+void unref_sub_8079D20(u8 priority)
+{
+ if (IsAnimBankSpriteVisible(gAnimBankTarget))
gSprites[gBattleMonSprites[gAnimBankTarget]].oam.priority = priority;
- }
- if (IsAnimBankSpriteVisible(gAnimBankAttacker)) {
+ if (IsAnimBankSpriteVisible(gAnimBankAttacker))
gSprites[gBattleMonSprites[gAnimBankAttacker]].oam.priority = priority;
- }
- if (IsAnimBankSpriteVisible(gAnimBankTarget ^ 2)) {
+ if (IsAnimBankSpriteVisible(gAnimBankTarget ^ 2))
gSprites[gBattleMonSprites[gAnimBankTarget ^ 2]].oam.priority = priority;
- }
- if (IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2)) {
+ if (IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2))
gSprites[gBattleMonSprites[gAnimBankAttacker ^ 2]].oam.priority = priority;
- }
}
-void sub_8079E24() {
+void sub_8079E24()
+{
int i;
- for (i = 0; i < gNoOfAllBanks; i++) {
- if (IsAnimBankSpriteVisible(i)) {
+
+ for (i = 0; i < gNoOfAllBanks; i++)
+ {
+ if (IsAnimBankSpriteVisible(i))
+ {
gSprites[gBattleMonSprites[i]].subpriority = sub_8079E90(i);
gSprites[gBattleMonSprites[i]].oam.priority = 2;
}
}
}
-u8 sub_8079E90(u8 slot) {
+u8 sub_8079E90(u8 slot)
+{
u8 status;
u8 ret;
- if (IsContest()) {
- if (slot == 2) {
+
+ if (IsContest())
+ {
+ if (slot == 2)
return 30;
- } else {
+ else
return 40;
- }
- } else {
+ }
+ else
+ {
status = GetBankIdentity(slot);
- if (status == 0) {
+ if (status == 0)
ret = 30;
- } else if (status == 2) {
+ else if (status == 2)
ret = 20;
- } else if (status == 1) {
+ else if (status == 1)
ret = 40;
- } else {
+ else
ret = 50;
- }
}
return ret;
}
-u8 sub_8079ED4(u8 slot) {
+u8 sub_8079ED4(u8 slot)
+{
u8 status = GetBankIdentity(slot);
- if (IsContest()) {
+
+ if (IsContest())
return 2;
- }
- if (status == 0 || status == 3) {
+ if (status == 0 || status == 3)
return BG2CNT.priority;
- } else {
+ else
return BG1CNT.priority;
- }
}
-u8 GetBankIdentity_permutated(u8 slot) {
+u8 GetBankIdentity_permutated(u8 slot)
+{
u8 status;
- if (!IsContest()) {
+
+ if (!IsContest())
+ {
status = GetBankIdentity(slot);
- if (status == 0 || status == 3) {
+ if (status == 0 || status == 3)
return 2;
- } else {
+ else
return 1;
- }
}
return 1;
}
-u8 sub_8079F44(u16 species, u8 isBackpic, u8 a3, s16 a4, s16 a5, u8 a6, u32 a7, u32 a8) {
- void *src;
- void *dest;
- int size;
-
+u8 sub_8079F44(u16 species, u8 isBackpic, u8 a3, s16 a4, s16 a5, u8 a6, u32 a7, u32 a8)
+{
u8 sprite;
u16 sheet = LoadSpriteSheet(&gUnknown_0837F5E0[a3]);
u16 palette = AllocSpritePalette(gSpriteTemplate_837F5B0[a3].paletteTag);
- if (!isBackpic) {
+
+ if (!isBackpic)
+ {
LoadCompressedPalette(GetMonSpritePalFromOtIdPersonality(species, a8, a7), (palette * 0x10) + 0x100, 0x20);
LoadSpecialPokePic(
&gMonFrontPicTable[species],
@@ -1703,9 +1941,10 @@ u8 sub_8079F44(u16 species, u8 isBackpic, u8 a3, s16 a4, s16 a5, u8 a6, u32 a7,
a7,
1
);
- } else {
- LoadCompressedPalette(
- GetMonSpritePalFromOtIdPersonality(species, a8, a7), (palette * 0x10) + 0x100, 0x20);
+ }
+ else
+ {
+ LoadCompressedPalette(GetMonSpritePalFromOtIdPersonality(species, a8, a7), (palette * 0x10) + 0x100, 0x20);
LoadSpecialPokePic(
&gMonBackPicTable[species],
gMonBackPicCoords[species].coords,
@@ -1718,28 +1957,28 @@ u8 sub_8079F44(u16 species, u8 isBackpic, u8 a3, s16 a4, s16 a5, u8 a6, u32 a7,
);
}
- src = (void *)0x2000000;
- dest = (void *)(0x6010000 + (sheet * 0x20));
- size = 0x800;
- DmaCopy32(3, src, dest, size);
+ DmaCopy32Defvars(3, (void *)0x2000000, (void *)(VRAM + 0x10000 + (sheet * 0x20)), 0x800);
- if (!isBackpic) {
+ if (!isBackpic)
sprite = CreateSprite(&gSpriteTemplate_837F5B0[a3], a4, a5 + gMonFrontPicCoords[species].y_offset, a6);
- } else {
+ else
sprite = CreateSprite(&gSpriteTemplate_837F5B0[a3], a4, a5 + gMonBackPicCoords[species].y_offset, a6);
- }
- if (IsContest()) {
+
+ if (IsContest())
+ {
gSprites[sprite].affineAnims = gSpriteAffineAnimTable_81E7C18;
StartSpriteAffineAnim(&gSprites[sprite], 0);
}
return sprite;
}
-void sub_807A0F4(struct Sprite *sprite) {
+void sub_807A0F4(struct Sprite *sprite)
+{
DestroySpriteAndFreeResources(sprite);
}
-int sub_807A100(u8 slot, u8 a2) {
+int sub_807A100(u8 slot, u8 a2)
+{
u16 species;
u32 personality;
u16 letter;
@@ -1747,80 +1986,113 @@ int sub_807A100(u8 slot, u8 a2) {
int ret;
const struct MonCoords *coords;
struct TransformStatus *transform;
- if (IsContest()) {
- if (ewram19348.unk4 & 1) {
- species = ewram19348.unk2;
- personality = ewram19348.unk10;
- } else {
- species = ewram19348.unk0;
- personality = ewram19348.unk8;
+
+ if (IsContest())
+ {
+ if (shared19348.unk4_0)
+ {
+ species = shared19348.unk2;
+ personality = shared19348.unk10;
+ }
+ else
+ {
+ species = shared19348.unk0;
+ personality = shared19348.unk8;
}
- if (species == SPECIES_UNOWN) {
+ if (species == SPECIES_UNOWN)
+ {
letter = GET_UNOWN_LETTER(personality);
- if (!letter) {
+ if (!letter)
var = SPECIES_UNOWN;
- } else {
+ else
var = letter + SPECIES_UNOWN_B - 1;
- }
coords = &gMonBackPicCoords[var];
- } else if (species == SPECIES_CASTFORM) {
+ }
+ else if (species == SPECIES_CASTFORM)
+ {
coords = &gCastformFrontSpriteCoords[gBattleMonForms[slot]];
- } else if (species <= SPECIES_EGG) {
+ }
+ else if (species <= SPECIES_EGG)
+ {
coords = &gMonBackPicCoords[species];
- } else {
+ }
+ else
+ {
coords = &gMonBackPicCoords[0];
}
- } else {
- if (!GetBankSide(slot)) {
+ }
+ else
+ {
+ if (!GetBankSide(slot))
+ {
transform = &eTransformStatuses[slot];
- if (!transform->species) {
+ if (!transform->species)
+ {
species = GetMonData(&gPlayerParty[gBattleMonPartyPositions[slot]], MON_DATA_SPECIES);
personality = GetMonData(&gPlayerParty[gBattleMonPartyPositions[slot]], MON_DATA_PERSONALITY);
- } else {
+ }
+ else
+ {
species = transform->species;
personality = gTransformPersonalities[slot];
}
- if (species == SPECIES_UNOWN) {
+ if (species == SPECIES_UNOWN)
+ {
letter = GET_UNOWN_LETTER(personality);
- if (!letter) {
+ if (!letter)
var = SPECIES_UNOWN;
- } else {
+ else
var = letter + SPECIES_UNOWN_B - 1;
- }
coords = &gMonBackPicCoords[var];
- } else if (species > SPECIES_EGG) {
+ }
+ else if (species > SPECIES_EGG)
+ {
coords = &gMonBackPicCoords[0];
- } else {
+ }
+ else
+ {
coords = &gMonBackPicCoords[species];
}
- } else {
+ }
+ else
+ {
transform = &eTransformStatuses[slot];
- if (!transform->species) {
+ if (!transform->species)
+ {
species = GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_SPECIES);
personality = GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_PERSONALITY);
- } else {
+ }
+ else
+ {
species = transform->species;
personality = gTransformPersonalities[slot];
}
- if (species == SPECIES_UNOWN) {
+ if (species == SPECIES_UNOWN)
+ {
letter = GET_UNOWN_LETTER(personality);
- if (!letter) {
+ if (!letter)
var = SPECIES_UNOWN;
- } else {
+ else
var = letter + SPECIES_UNOWN_B - 1;
- }
coords = &gMonFrontPicCoords[var];
- } else if (species == SPECIES_CASTFORM) {
+ }
+ else if (species == SPECIES_CASTFORM)
+ {
coords = &gCastformFrontSpriteCoords[gBattleMonForms[slot]];
- } else if (species > SPECIES_EGG) {
+ }
+ else if (species > SPECIES_EGG)
+ {
coords = &gMonFrontPicCoords[0];
- } else {
+ }
+ else
+ {
coords = &gMonFrontPicCoords[species];
}
}
}
- switch (a2) {
+ switch (a2)
+ {
case 0:
return (coords->coords & 0xf) * 8;
case 1:
@@ -1841,23 +2113,31 @@ int sub_807A100(u8 slot, u8 a2) {
}
}
-void sub_807A3FC(u8 slot, u8 a2, s16 *a3, s16 *a4) {
+void sub_807A3FC(u8 slot, u8 a2, s16 *a3, s16 *a4)
+{
u8 v1, v2;
s16 v3, v4;
s16 v5, v6;
- if (!a2) {
+
+ if (!a2)
+ {
v1 = 0;
v2 = 1;
- } else {
+ }
+ else
+ {
v1 = 2;
v2 = 3;
}
v3 = GetBankPosition(slot, v1);
v4 = GetBankPosition(slot, v2);
- if (IsDoubleBattle() && !IsContest()) {
+ if (IsDoubleBattle() && !IsContest())
+ {
v5 = GetBankPosition(slot ^ 2, v1);
v6 = GetBankPosition(slot ^ 2, v2);
- } else {
+ }
+ else
+ {
v5 = v3;
v6 = v4;
}
@@ -1865,7 +2145,8 @@ void sub_807A3FC(u8 slot, u8 a2, s16 *a3, s16 *a4) {
*a4 = (v4 + v6) / 2;
}
-u8 sub_807A4A0(int a1, u8 sprite, int a3) {
+u8 sub_807A4A0(int a1, u8 sprite, int a3)
+{
u8 new_sprite = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy);
gSprites[new_sprite] = gSprites[sprite];
gSprites[new_sprite].usingSheet = TRUE;
@@ -1876,13 +2157,17 @@ u8 sub_807A4A0(int a1, u8 sprite, int a3) {
return new_sprite;
}
-void sub_807A544(struct Sprite *sprite) {
+void sub_807A544(struct Sprite *sprite)
+{
sub_8078650(sprite);
- if (GetBankSide(gAnimBankAttacker)) {
+ if (GetBankSide(gAnimBankAttacker))
+ {
sprite->pos1.x -= gBattleAnimArgs[0];
gBattleAnimArgs[3] = -gBattleAnimArgs[3];
sprite->hFlip = TRUE;
- } else {
+ }
+ else
+ {
sprite->pos1.x += gBattleAnimArgs[0];
}
sprite->pos1.y += gBattleAnimArgs[1];
@@ -1894,11 +2179,15 @@ void sub_807A544(struct Sprite *sprite) {
sprite->callback = sub_8078504;
}
-void sub_807A5C4(struct Sprite *sprite) {
- if (GetBankSide(gAnimBankAttacker)) {
+void sub_807A5C4(struct Sprite *sprite)
+{
+ if (GetBankSide(gAnimBankAttacker))
+ {
sprite->pos1.x -= gBattleAnimArgs[0];
gBattleAnimArgs[3] *= -1;
- } else {
+ }
+ else
+ {
sprite->pos1.x += gBattleAnimArgs[0];
}
sprite->pos1.y += gBattleAnimArgs[1];
@@ -1911,19 +2200,20 @@ void sub_807A5C4(struct Sprite *sprite) {
sprite->callback = sub_8078504;
}
-void sub_807A63C(struct Sprite *sprite) {
+void sub_807A63C(struct Sprite *sprite)
+{
sub_8078650(sprite);
- if (GetBankSide(gAnimBankAttacker)) {
+ if (GetBankSide(gAnimBankAttacker))
sprite->pos1.x -= gBattleAnimArgs[0];
- } else {
+ else
sprite->pos1.x += gBattleAnimArgs[0];
- }
sprite->pos1.y += gBattleAnimArgs[1];
sprite->callback = sub_8078600;
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
}
-void sub_807A69C(u8 taskId) {
+void sub_807A69C(u8 taskId)
+{
u16 src;
u16 dest;
struct Task *task = &gTasks[taskId];
@@ -1938,23 +2228,25 @@ void sub_807A69C(u8 taskId) {
dest = (task->data[4] + 0x10) * 0x10;
src = (gSprites[task->data[0]].oam.paletteNum + 0x10) * 0x10;
task->data[6] = sub_8079E90(gAnimBankAttacker);
- if (task->data[6] == 20 || task->data[6] == 40) {
+ if (task->data[6] == 20 || task->data[6] == 40)
task->data[6] = 2;
- } else {
+ else
task->data[6] = 3;
- }
CpuCopy32(&gPlttBufferUnfaded[src], &gPlttBufferFaded[dest], 0x20);
BlendPalette(dest, 0x10, gBattleAnimArgs[1], gBattleAnimArgs[0]);
task->func = sub_807A784;
}
-void sub_807A784(u8 taskId) {
+void sub_807A784(u8 taskId)
+{
struct Task *task = &gTasks[taskId];
- switch (task->data[2]) {
+ switch (task->data[2])
+ {
case 0:
sub_807A850(task, taskId);
gSprites[task->data[0]].pos2.x += task->data[1];
- if (++task->data[3] == 5) {
+ if (++task->data[3] == 5)
+ {
task->data[3]--;
task->data[2]++;
}
@@ -1962,13 +2254,15 @@ void sub_807A784(u8 taskId) {
case 1:
sub_807A850(task, taskId);
gSprites[task->data[0]].pos2.x -= task->data[1];
- if (--task->data[3] == 0) {
+ if (--task->data[3] == 0)
+ {
gSprites[task->data[0]].pos2.x = 0;
task->data[2]++;
}
break;
case 2:
- if (!task->data[5]) {
+ if (!task->data[5])
+ {
FreeSpritePaletteByTag(10097);
DestroyAnimVisualTask(taskId);
}
@@ -1976,9 +2270,11 @@ void sub_807A784(u8 taskId) {
}
}
-void sub_807A850(struct Task *task, u8 taskId) {
+void sub_807A850(struct Task *task, u8 taskId)
+{
s16 sprite = duplicate_obj_of_side_rel2move_in_transparent_mode(0);
- if (sprite >= 0) {
+ if (sprite >= 0)
+ {
gSprites[sprite].oam.priority = task->data[6];
gSprites[sprite].oam.paletteNum = task->data[4];
gSprites[sprite].data[0] = 8;
@@ -1990,8 +2286,10 @@ void sub_807A850(struct Task *task, u8 taskId) {
}
}
-void sub_807A8D4(struct Sprite *sprite) {
- if (--sprite->data[0] == 0) {
+void sub_807A8D4(struct Sprite *sprite)
+{
+ if (--sprite->data[0] == 0)
+ {
gTasks[sprite->data[1]].data[5]--;
obj_delete_but_dont_free_vram(sprite);
}
@@ -2000,38 +2298,40 @@ void sub_807A8D4(struct Sprite *sprite) {
void sub_807A908(struct Sprite *sprite) {
sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2);
sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3);
- if (!GetBankSide(gAnimBankAttacker)) {
+ if (!GetBankSide(gAnimBankAttacker))
sprite->data[0] = 5;
- } else {
+ else
sprite->data[0] = -10;
- }
sprite->data[1] = -40;
sprite->callback = sub_807A960;
}
-void sub_807A960(struct Sprite *sprite) {
+void sub_807A960(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) {
+ if (sprite->data[1] < -20)
sprite->data[1]++;
- }
- if ((sprite->pos1.y + sprite->pos2.y) < -32) {
+ if (sprite->pos1.y + sprite->pos2.y < -32)
DestroyAnimSprite(sprite);
- }
}
-void sub_807A9BC(struct Sprite *sprite) {
+void sub_807A9BC(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 (!GetBankSide(gAnimBankTarget)) {
+ if (!GetBankSide(gAnimBankTarget))
+ {
x = (u16)gBattleAnimArgs[4] + 30;
sprite->pos1.x += x;
sprite->pos1.y = gBattleAnimArgs[5] - 20;
- } else {
+ }
+ else
+ {
x = (u16)gBattleAnimArgs[4] - 30;
sprite->pos1.x += x;
sprite->pos1.y = gBattleAnimArgs[5] - 80;
diff --git a/src/scene/cable_car.c b/src/scene/cable_car.c
new file mode 100644
index 000000000..52a0aeebf
--- /dev/null
+++ b/src/scene/cable_car.c
@@ -0,0 +1,979 @@
+
+// Includes
+#include "global.h"
+#include "ewram.h"
+#include "overworld.h"
+#include "palette.h"
+#include "random.h"
+#include "main.h"
+#include "script.h"
+#include "task.h"
+#include "sound.h"
+#include "graphics.h"
+#include "constants/songs.h"
+#include "decompress.h"
+#include "field_weather.h"
+#include "field_map_obj.h"
+#include "unknown_task.h"
+#include "event_data.h"
+#include "cable_car_util.h"
+#include "constants/map_objects.h"
+
+// Static type declarations
+
+// Credits to Made (dolphin emoji)
+#define S16TOPOSFLOAT(val) \
+({ \
+ s16 v = (val); \
+ float f = (float)v; \
+ if(v < 0) f += 65536.0f; \
+ f; \
+})
+
+struct CableCarEwramStruct1 {
+ u8 unk_0000;
+ u8 unk_0001;
+ u8 unk_0002;
+ u8 unk_0003;
+ u16 unk_0004;
+ u16 unk_0006;
+ u8 unk_0008;
+ u8 unk_0009;
+ u8 filler_000a[2];
+ u8 unk_000c;
+ u8 unk_000d;
+ u8 filler_0000e[6];
+ u8 unk_0014;
+ u8 unk_0015;
+ u8 unk_0016;
+ u8 unk_0017;
+ u8 unk_0018;
+ u8 unk_0019;
+ u8 unk_001a;
+ u8 unk_001b;
+ u8 unk_001c;
+ u8 unk_001d;
+ u8 unk_001e;
+ u8 unk_001f;
+ u8 unk_0020;
+ u16 unk_0022[9][12];
+ u8 filler_00fa[2];
+ u16 unk_00fc[0x20][0x20];
+ u16 unk_08fc[0x20][0x20];
+}; // size 0x10FC
+
+struct CableCarEwramStruct2 {
+ /* 0x000 */ u16 mtChimneyTilemap[0xb4];
+ /* 0x168 */ u16 treeTilemap[0x1e0];
+ /* 0x528 */ u16 mountainTilemap[0x258];
+ /* 0x9d8 */ u16 pylonStemTilemap[0x628]; // size not actually known
+};
+
+// Static RAM declarations
+
+EWRAM_DATA struct CableCarEwramStruct1 *sCableCarPtr = NULL;
+EWRAM_DATA u8 gUnknown_02039278 = 0;
+EWRAM_DATA u8 gUnknown_02039279 = 0;
+EWRAM_DATA u8 gUnknown_0203927A = 0;
+EWRAM_DATA u8 gUnknown_0203927B = 0;
+EWRAM_DATA u8 gUnknown_0203927C = 0;
+EWRAM_DATA u8 gUnknown_0203927D = 0;
+EWRAM_DATA u32 filler_02039280 = 0;
+
+// Static ROM declarations
+
+static void CableCarMainCallback_Setup(void);
+static void CableCarMainCallback_Run(void);
+static void sub_8123878(u8 taskId);
+static void sub_81239E4(u8 taskId);
+static void sub_8123AF8(u8 taskId);
+static void CableCarVblankCallback(void);
+static void nullsub_76(struct Sprite *sprite);
+static void sub_8123CB8(struct Sprite *sprite);
+static void sub_8123EB8(struct Sprite *sprite);
+static void sub_8123F44(struct Sprite *sprite);
+static void sub_8123FBC(u8);
+static void LoadSprites(void);
+static void sub_812453C(void);
+static void sub_8124598(void);
+static void sub_81245F4(void);
+static void sub_812476C(void);
+static void sub_81248AC(u8);
+
+// .rodata
+
+static const u8 gCableCarMtChimneyTilemap[] = INCBIN_U8("graphics/misc/cable_car_mt_chimney_map.bin.lz");
+
+static const u8 gCableCarTreeTilemap[] = INCBIN_U8("graphics/misc/cable_car_tree_map.bin.lz");
+
+static const u8 gCableCarMountainTilemap[] = INCBIN_U8("graphics/misc/cable_car_mountain_map.bin.lz");
+
+static const u16 gCableCarPylonHookTilemapEntries[] = {
+ 0x3000,
+ 0x3001,
+ 0x3002,
+ 0x3003,
+ 0x3004,
+ 0x3005,
+ 0x3006,
+ 0x3007,
+ 0x3008,
+ 0x3009
+};
+
+static const u8 gCableCarPylonStemTilemap[] = INCBIN_U8("graphics/misc/cable_car_pylon_stem_map.bin.lz");
+
+static const struct CompressedSpriteSheet gUnknown_08401CF8[] = {
+ { gCableCar_Gfx, 0x800, 1 },
+ { gCableCarDoor_Gfx, 0x40, 2 },
+ { gCableCarCord_Gfx, 0x80, 3 },
+ { }
+};
+static const struct SpritePalette gUnknown_08401D18[] = {
+ { gCableCar_Pal, 1 },
+ { }
+};
+
+static const struct OamData gOamData_8401D28 = {
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .size = 3,
+ .priority = 2
+};
+
+static const struct OamData gOamData_8401D30 = {
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .shape = ST_OAM_H_RECTANGLE,
+ .priority = 2
+};
+
+static const struct OamData gOamData_8401D38 = {
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .size = 1,
+ .priority = 2
+};
+
+static const struct SpriteTemplate gSpriteTemplate_8401D40[] = {
+ {
+ 1,
+ 1,
+ &gOamData_8401D28,
+ gDummySpriteAnimTable,
+ NULL,
+ gDummySpriteAffineAnimTable,
+ sub_8123CB8
+ }, {
+ 2,
+ 1,
+ &gOamData_8401D30,
+ gDummySpriteAnimTable,
+ NULL,
+ gDummySpriteAffineAnimTable,
+ sub_8123CB8
+ }, {
+ 3,
+ 1,
+ &gOamData_8401D38,
+ gDummySpriteAnimTable,
+ NULL,
+ gDummySpriteAffineAnimTable,
+ nullsub_76
+ }
+};
+
+// .text
+
+static void CableCarTask1(u8 taskId)
+{
+ if (!gPaletteFade.active)
+ {
+ SetMainCallback2(CableCarMainCallback_Setup);
+ DestroyTask(taskId);
+ }
+}
+
+void CableCar(void)
+{
+ ScriptContext2_Enable();
+ CreateTask(CableCarTask1, 1);
+ BeginNormalPaletteFade(-1, 0, 0, 16, 0);
+}
+
+static void CableCarMainCallback_Setup(void)
+{
+ u8 i;
+ u16 imebak;
+
+ switch (gMain.state)
+ {
+ case 0:
+ default:
+ SetVBlankCallback(NULL);
+ remove_some_task();
+ DmaFill16Large(3, 0, VRAM, VRAM_SIZE, 0x1000);
+ DmaFill32Defvars(3, 0, OAM, OAM_SIZE);
+ DmaFill16Defvars(3, 0, PLTT, PLTT_SIZE);
+ sCableCarPtr = eCableCar1;
+ DmaFill16Large(3, 0, eCableCar1, 0x10FC, 0x1000);
+ gMain.state++;
+ break;
+ case 1:
+ ResetSpriteData();
+ ResetTasks();
+ FreeAllSpritePalettes();
+ ResetPaletteFade();
+ StartWeather();
+ for (i = 0; i < 20; i++)
+ {
+ gWeatherPtr->sprites.s2.ashSprites[i] = NULL;
+ }
+ InitMapMusic();
+ ResetMapMusic();
+ gSpriteCoordOffsetX = gSpriteCoordOffsetY = 0;
+ gMain.state++;
+ break;
+ case 2:
+ for (i = 0; i < 3; i++)
+ {
+ LoadCompressedObjectPic(&gUnknown_08401CF8[i]);
+ }
+ LoadSpritePalettes(gUnknown_08401D18);
+ LZDecompressWram(gCableCarMtChimneyTilemap, eCableCar2->mtChimneyTilemap);
+ LZDecompressWram(gCableCarTreeTilemap, eCableCar2->treeTilemap);
+ LZDecompressWram(gCableCarMountainTilemap, eCableCar2->mountainTilemap);
+ LZDecompressWram(gCableCarPylonStemTilemap, eCableCar2->pylonStemTilemap);
+ LoadPalette(gCableCarBG_Pal, 0, 0x80);
+ LZ77UnCompVram(gCableCarBG_Gfx, (u16 *)BG_VRAM);
+ gMain.state++;
+ break;
+ case 3:
+ LoadSprites();
+ RunTasks();
+ gMain.state++;
+ break;
+ case 4:
+ if (sCableCarPtr->unk_0002 == 7)
+ {
+ gMain.state++;
+ }
+ else if (gWeatherPtr->sprites.s2.ashSprites[0] != NULL)
+ {
+ for (i = 0; i < 20; i++)
+ {
+ if (gWeatherPtr->sprites.s2.ashSprites[i] != NULL)
+ {
+ gWeatherPtr->sprites.s2.ashSprites[i]->oam.priority = 0;
+ }
+ }
+ gMain.state++;
+ }
+ break;
+ case 5:
+ CableCarUtil_CopyWrapped((void *)BG_SCREEN_ADDR(29), eCableCar2->treeTilemap, 0, 17, 32, 15);
+ CableCarUtil_CopyWrapped((void *)BG_SCREEN_ADDR(30), eCableCar2->mountainTilemap, 0, 0, 30, 20);
+ CableCarUtil_CopyWrapped(sCableCarPtr->unk_08fc, gCableCarPylonHookTilemapEntries, 0, 0, 5, 2);
+ CableCarUtil_CopyWrapped(sCableCarPtr->unk_08fc, eCableCar2->pylonStemTilemap, 0, 2, 2, 20);
+ gMain.state++;
+ break;
+ case 6:
+ sub_81248AC(gSpecialVar_0x8004);
+ CableCarUtil_CopyWrapped(sCableCarPtr->unk_00fc, eCableCar2->mtChimneyTilemap + 0x48, 0, 14, 12, 3);
+ CableCarUtil_CopyWrapped(sCableCarPtr->unk_00fc, eCableCar2->mtChimneyTilemap + 0x6C, 12, 17, 12, 3);
+ CableCarUtil_CopyWrapped(sCableCarPtr->unk_00fc, eCableCar2->mtChimneyTilemap + 0x90, 24, 20, 12, 3);
+ CableCarUtil_CopyWrapped(sCableCarPtr->unk_00fc, eCableCar2->mtChimneyTilemap + 0x00, 0, 17, 12, 3);
+ CableCarUtil_CopyWrapped(sCableCarPtr->unk_00fc, eCableCar2->mtChimneyTilemap + 0x24, 0, 20, 12, 3);
+ CableCarUtil_CopyWrapped(sCableCarPtr->unk_00fc, eCableCar2->mtChimneyTilemap + 0x00, 12, 20, 12, 3);
+ CableCarUtil_CopyWrapped(sCableCarPtr->unk_00fc, eCableCar2->mtChimneyTilemap + 0x24, 12, 23, 12, 3);
+ CableCarUtil_CopyWrapped(sCableCarPtr->unk_00fc, eCableCar2->mtChimneyTilemap + 0x00, 24, 23, 12, 3);
+ gMain.state++;
+ break;
+ case 7:
+ BeginNormalPaletteFade(-1, 3, 16, 0, 0);
+ FadeInNewBGM(BGM_ROPEWAY, 1);
+ sub_8123FBC(1);
+ gMain.state++;
+ break;
+ case 8:
+ imebak = REG_IME;
+ REG_IME = 0;
+ REG_IE |= INTR_FLAG_VBLANK;
+ REG_IME = imebak;
+ SetVBlankCallback(CableCarVblankCallback);
+ SetMainCallback2(CableCarMainCallback_Run);
+ CreateTask(sub_8123878, 0);
+ if (gSpecialVar_0x8004 == 0)
+ {
+ sCableCarPtr->unk_0000 = CreateTask(sub_81239E4, 1);
+ }
+ else
+ {
+ sCableCarPtr->unk_0000 = CreateTask(sub_8123AF8, 1);
+ }
+ break;
+ }
+}
+
+static void CableCarMainCallback_Run(void)
+{
+ RunTasks();
+ AnimateSprites();
+ BuildOamBuffer();
+ UpdatePaletteFade();
+ MapMusicMain();
+}
+
+static void sub_8123740(void)
+{
+ u8 i;
+
+ i = 0;
+ sub_8123FBC(0);
+ gSpriteCoordOffsetX = 0;
+ sub_807C9B4(0);
+ for (; i < 20; i++)
+ {
+ gWeatherPtr->sprites.s2.ashSprites[i] = NULL;
+ }
+ ResetTasks();
+ ResetSpriteData();
+ ResetPaletteFade();
+ DmaFill32Large(3, 0, gSharedMem, 0x20000, 0x1000);
+ sCableCarPtr = NULL;
+ DmaFill16Large(3, 0, VRAM, VRAM_SIZE, 0x1000);
+ DmaFill32Defvars(3, 0, OAM, OAM_SIZE);
+ DmaFill16Defvars(3, 0, PLTT, PLTT_SIZE);
+ warp_in();
+ gFieldCallback = NULL;
+ SetMainCallback2(CB2_LoadMap);
+}
+
+static void sub_8123878(u8 taskId)
+{
+ u8 i;
+
+ i = 0;
+ sCableCarPtr->unk_0006++;
+ switch (sCableCarPtr->unk_0001)
+ {
+ case 0:
+ if (sCableCarPtr->unk_0006 == sCableCarPtr->unk_0004)
+ {
+ DoWeatherEffect(sCableCarPtr->unk_0002);
+ sCableCarPtr->unk_0001 = 1;
+ }
+ break;
+ case 1:
+ switch (sCableCarPtr->unk_0002)
+ {
+ case 7:
+ if (gWeatherPtr->sprites.s2.ashSprites[0] != NULL && gWeatherPtr->sprites.s2.ashSprites[0]->oam.priority != 0)
+ {
+ for (; i < 20; i++)
+ {
+ if (gWeatherPtr->sprites.s2.ashSprites[i] != NULL)
+ {
+ gWeatherPtr->sprites.s2.ashSprites[i]->oam.priority = 0;
+ }
+ }
+ sCableCarPtr->unk_0001 = 2;
+ }
+ break;
+ case 2:
+ if (gWeatherPtr->currWeather == 2)
+ {
+ sCableCarPtr->unk_0001 = 2;
+ }
+ else if (sCableCarPtr->unk_0006 >= sCableCarPtr->unk_0004 + 8)
+ {
+ for (; i < 20; i++)
+ {
+ if (gWeatherPtr->sprites.s2.ashSprites[i] != NULL)
+ {
+ gWeatherPtr->sprites.s2.ashSprites[i]->invisible ^= TRUE;
+ }
+ }
+ }
+ break;
+ }
+ break;
+ case 2:
+ if (sCableCarPtr->unk_0006 == 570)
+ {
+ sCableCarPtr->unk_0001 = 3;
+ BeginNormalPaletteFade(-1, 3, 0, 16, 0);
+ FadeOutBGM(4);
+ }
+ break;
+ case 3:
+ if (!gPaletteFade.active)
+ {
+ sCableCarPtr->unk_0001 = 255;
+ }
+ break;
+ case 255:
+ SetVBlankCallback(NULL);
+ DestroyTask(taskId);
+ DestroyTask(sCableCarPtr->unk_0000);
+ SetMainCallback2(sub_8123740);
+ break;
+ }
+}
+
+static void sub_81239E4(u8 taskId)
+{
+ if (sCableCarPtr->unk_0001 != 255)
+ {
+ sCableCarPtr->unk_0014--;
+ if ((sCableCarPtr->unk_0006 % 2) == 0)
+ {
+ sCableCarPtr->unk_0015--;
+ }
+ if ((sCableCarPtr->unk_0006 % 8) == 0)
+ {
+ sCableCarPtr->unk_000c--;
+ sCableCarPtr->unk_000d--;
+ }
+ switch (sCableCarPtr->unk_0014)
+ {
+ case 175:
+ CableCarUtil_FillWrapped(sCableCarPtr->unk_08fc, 0, 0, 22, 2, 10);
+ break;
+ case 40:
+ CableCarUtil_FillWrapped(sCableCarPtr->unk_08fc, 0, 3, 0, 2, 2);
+ break;
+ case 32:
+ CableCarUtil_FillWrapped(sCableCarPtr->unk_08fc, 0, 2, 0, 1, 2);
+ break;
+ case 16:
+ CableCarUtil_CopyWrapped(sCableCarPtr->unk_08fc, gCableCarPylonHookTilemapEntries, 0, 0, 5, 2);
+ CableCarUtil_CopyWrapped(sCableCarPtr->unk_08fc, eCableCar2->pylonStemTilemap, 0, 2, 2, 30);
+ sCableCarPtr->unk_0015 = 64;
+ break;
+ }
+ }
+ sub_812453C();
+ gSpriteCoordOffsetX = (gSpriteCoordOffsetX + 1) % 128;
+}
+
+static void sub_8123AF8(u8 taskId)
+{
+ if (sCableCarPtr->unk_0001 != 255)
+ {
+ sCableCarPtr->unk_0014++;
+ if ((sCableCarPtr->unk_0006 % 2) == 0)
+ {
+ sCableCarPtr->unk_0015++;
+ }
+ if ((sCableCarPtr->unk_0006 % 8) == 0)
+ {
+ sCableCarPtr->unk_000c++;
+ sCableCarPtr->unk_000d++;
+ }
+ switch (sCableCarPtr->unk_0014)
+ {
+ case 176:
+ CableCarUtil_CopyWrapped(sCableCarPtr->unk_08fc, eCableCar2->pylonStemTilemap, 0, 2, 2, 30);
+ break;
+ case 16:
+ CableCarUtil_FillWrapped(sCableCarPtr->unk_08fc, 0, 2, 0, 3, 2);
+ CableCarUtil_FillWrapped(sCableCarPtr->unk_08fc, 0, 0, 22, 2, 10);
+ sCableCarPtr->unk_0015 = 192;
+ break;
+ case 32:
+ sCableCarPtr->unk_08fc[0][2] = (gCableCarPylonHookTilemapEntries + 2)[0];
+ sCableCarPtr->unk_08fc[0][3] = (gCableCarPylonHookTilemapEntries + 2)[1];
+ sCableCarPtr->unk_08fc[1][2] = (gCableCarPylonHookTilemapEntries + 2)[5];
+ sCableCarPtr->unk_08fc[1][3] = (gCableCarPylonHookTilemapEntries + 2)[6];
+ break;
+ case 40:
+ sCableCarPtr->unk_08fc[0][4] = (gCableCarPylonHookTilemapEntries + 4)[0];
+ sCableCarPtr->unk_08fc[1][4] = (gCableCarPylonHookTilemapEntries + 4)[5];
+ break;
+ }
+ }
+ sub_8124598();
+ if (sCableCarPtr->unk_0006 < sCableCarPtr->unk_0004) {
+ gSpriteCoordOffsetX = (gSpriteCoordOffsetX + 247) % 248;
+ }
+ else
+ {
+ gWeatherPtr->unknown_6FC = (gWeatherPtr->unknown_6FC + 247) % 248;
+ }
+}
+
+static void CableCarVblankCallback(void)
+{
+ DmaCopy16(3, sCableCarPtr->unk_00fc, BG_SCREEN_ADDR(28), 0x800);
+ DmaCopy16(3, sCableCarPtr->unk_08fc, BG_SCREEN_ADDR(31), 0x800);
+ REG_BG3HOFS = sCableCarPtr->unk_0014;
+ REG_BG3VOFS = sCableCarPtr->unk_0015;
+ REG_BG1HOFS = sCableCarPtr->unk_000c;
+ REG_BG1VOFS = sCableCarPtr->unk_000d;
+ REG_BG0HOFS = sCableCarPtr->unk_0008;
+ REG_BG0VOFS = sCableCarPtr->unk_0009;
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+}
+
+static void nullsub_76(struct Sprite *sprite)
+{
+
+}
+
+static void sub_8123CB8(struct Sprite *sprite)
+{
+ if (sCableCarPtr->unk_0001 != 255)
+ {
+ if (gSpecialVar_0x8004 == 0)
+ {
+ sprite->pos1.x = sprite->data[0] - (u8)(0.14f * S16TOPOSFLOAT(sCableCarPtr->unk_0006));
+ sprite->pos1.y = sprite->data[1] - (u8)(0.067f * S16TOPOSFLOAT(sCableCarPtr->unk_0006));
+ }
+ else
+ {
+ sprite->pos1.x = sprite->data[0] + (u8)(0.14f * S16TOPOSFLOAT(sCableCarPtr->unk_0006));
+ sprite->pos1.y = sprite->data[1] + (u8)(0.067f * S16TOPOSFLOAT(sCableCarPtr->unk_0006));
+ }
+ }
+}
+
+static void sub_8123D98(struct Sprite *sprite)
+{
+ if (sCableCarPtr->unk_0001 != 255)
+ {
+ if (gSpecialVar_0x8004 == 0)
+ {
+ sprite->pos1.x = sprite->data[0] - (u8)(0.14f * S16TOPOSFLOAT(sCableCarPtr->unk_0006));
+ sprite->pos1.y = sprite->data[1] - (u8)(0.067f * S16TOPOSFLOAT(sCableCarPtr->unk_0006));
+ }
+ else
+ {
+ sprite->pos1.x = sprite->data[0] + (u8)(0.14f * S16TOPOSFLOAT(sCableCarPtr->unk_0006));
+ sprite->pos1.y = sprite->data[1] + (u8)(0.067f * S16TOPOSFLOAT(sCableCarPtr->unk_0006));
+ }
+ switch (sprite->data[2])
+ {
+ case 0:
+ sprite->pos2.y = 17;
+ if (sprite->data[3] ++ > 9)
+ {
+ sprite->data[3] = 0;
+ sprite->data[2] ++;
+ }
+ break;
+ default:
+ sprite->pos2.y = 16;
+ if (sprite->data[3] ++ > 9)
+ {
+ sprite->data[3] = 0;
+ sprite->data[2] = 0;
+ }
+ break;
+ }
+ }
+}
+
+static void sub_8123EB8(struct Sprite *sprite)
+{
+ if (sprite->data[0] == 0)
+ {
+ sprite->pos1.x += 2 * sprite->centerToCornerVecX;
+ sprite->pos1.y += 16 + sprite->centerToCornerVecY;
+ }
+ if (++sprite->data[0] >= sprite->data[2])
+ {
+ switch (sprite->data[1])
+ {
+ case 0:
+ sprite->pos1.x++;
+ if ((sprite->data[0] % 4) == 0)
+ {
+ sprite->pos1.y++;
+ }
+ break;
+ case 1:
+ if ((sprite->data[0] % 2) != 0)
+ {
+ sprite->pos1.x++;
+ if ((sprite->pos1.x % 4) == 0)
+ {
+ sprite->pos1.y++;
+ }
+ }
+ break;
+ }
+ if (sprite->pos1.y > 0xa0)
+ {
+ DestroySprite(sprite);
+ }
+ }
+}
+
+static void sub_8123F44(struct Sprite *sprite)
+{
+ if (sprite->data[0] == 0)
+ {
+ sprite->pos1.y += 16 + sprite->centerToCornerVecY;
+ }
+ if (++sprite->data[0] >= sprite->data[2])
+ {
+ switch (sprite->data[1])
+ {
+ case 0:
+ sprite->pos1.x--;
+ if ((sprite->data[0] % 4) == 0)
+ {
+ sprite->pos1.y--;
+ }
+ break;
+ case 1:
+ if ((sprite->data[0] % 2) != 0)
+ {
+ sprite->pos1.x--;
+ if ((sprite->pos1.x % 4) == 0)
+ {
+ sprite->pos1.y--;
+ }
+ }
+ break;
+ }
+ if (sprite->pos1.y < 0x50)
+ {
+ DestroySprite(sprite);
+ }
+ }
+}
+
+static void sub_8123FBC(bool8 which)
+{
+ switch (which)
+ {
+ case FALSE:
+ default:
+ REG_WININ = 0;
+ REG_WINOUT = 0;
+ REG_WIN0H = 0;
+ REG_WIN1H = 0;
+ REG_WIN0V = 0;
+ REG_WIN1V = 0;
+ REG_DISPCNT = 0;
+ REG_BG3CNT = 0;
+ REG_BG2CNT = 0;
+ REG_BG1CNT = 0;
+ REG_BG0CNT = 0;
+ REG_BG3HOFS = 0;
+ REG_BG3VOFS = 0;
+ REG_BG2HOFS = 0;
+ REG_BG2VOFS = 0;
+ REG_BG1HOFS = 0;
+ REG_BG1VOFS = 0;
+ REG_BG0HOFS = 0;
+ REG_BG0VOFS = 0;
+ REG_BLDCNT = 0;
+ break;
+ case TRUE:
+ REG_WININ = 0;
+ REG_WINOUT = 0;
+ REG_WIN0H = 0;
+ REG_WIN1H = 0;
+ REG_WIN0V = 0;
+ REG_WIN1V = 0;
+ if (gSpecialVar_0x8004 == 0)
+ {
+ sCableCarPtr->unk_0014 = 0xb0;
+ sCableCarPtr->unk_0015 = 0x10;
+ sCableCarPtr->unk_000c = 0x00;
+ sCableCarPtr->unk_000d = 0x50;
+ sCableCarPtr->unk_0009 = 0;
+ sCableCarPtr->unk_0009 = 0;
+ }
+ else
+ {
+ sCableCarPtr->unk_0014 = 0x60;
+ sCableCarPtr->unk_0015 = 0xe8;
+ sCableCarPtr->unk_000c = 0x00;
+ sCableCarPtr->unk_000d = 0x04;
+ sCableCarPtr->unk_0009 = 0;
+ sCableCarPtr->unk_0009 = 0;
+ }
+ REG_BG3HOFS = sCableCarPtr->unk_0014;
+ REG_BG3VOFS = sCableCarPtr->unk_0015;
+ REG_BG2HOFS = 0;
+ REG_BG2VOFS = 0;
+ REG_BG1HOFS = sCableCarPtr->unk_000c;
+ REG_BG1VOFS = sCableCarPtr->unk_000d;
+ REG_BG0HOFS = sCableCarPtr->unk_0008;
+ REG_BG0VOFS = sCableCarPtr->unk_0009;
+ REG_BG0CNT = BGCNT_PRIORITY(1) | BGCNT_SCREENBASE(28) | BGCNT_WRAP;
+ REG_BG1CNT = BGCNT_PRIORITY(2) | BGCNT_SCREENBASE(29) | BGCNT_WRAP;
+ REG_BG2CNT = BGCNT_PRIORITY(3) | BGCNT_SCREENBASE(30) | BGCNT_WRAP;
+ REG_BG3CNT = BGCNT_PRIORITY(0) | BGCNT_SCREENBASE(31) | BGCNT_WRAP;
+ REG_DISPCNT = DISPCNT_OBJ_1D_MAP | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_ON;
+ REG_BLDCNT = 0x3f00;
+ break;
+ }
+}
+
+static void LoadSprites(void)
+{
+ u8 spriteId;
+ u8 i;
+
+ u8 playerGraphicsIds[2] = {
+ MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL,
+ MAP_OBJ_GFX_RIVAL_MAY_NORMAL
+ };
+ u16 rval = Random();
+ u8 hikerGraphicsIds[4] = {
+ MAP_OBJ_GFX_HIKER,
+ MAP_OBJ_GFX_CAMPER,
+ MAP_OBJ_GFX_PICNICKER,
+ MAP_OBJ_GFX_POOCHYENA
+ };
+ s16 hikerCoords[2][2] = {
+ { 0, 80 },
+ { 240, 146 }
+ };
+ u8 hikerMovementDelayTable[4] = {
+ 0,
+ 60,
+ 120,
+ 170
+ };
+ void (*callbacks[2])(struct Sprite *) = {
+ sub_8123EB8,
+ sub_8123F44
+ };
+
+ switch (gSpecialVar_0x8004)
+ {
+ case 0:
+ default:
+ spriteId = AddPseudoFieldObject(playerGraphicsIds[gSaveBlock2.playerGender], sub_8123D98, 0xc8, 0x49, 0x66);
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].oam.priority = 2;
+ gSprites[spriteId].pos2.x = 0x08;
+ gSprites[spriteId].pos2.y = 0x10;
+ gSprites[spriteId].data[0] = 0xc8;
+ gSprites[spriteId].data[1] = 0x49;
+ }
+ spriteId = CreateSprite(&gSpriteTemplate_8401D40[0], 0xb0, 0x2b, 0x67);
+ gSprites[spriteId].pos2.x = gSprites[spriteId].pos2.y = 0x20;
+ gSprites[spriteId].data[0] = 0xb0;
+ gSprites[spriteId].data[1] = 0x2b;
+ spriteId = CreateSprite(&gSpriteTemplate_8401D40[1], 0xc8, 0x63, 0x65);
+ gSprites[spriteId].pos2.x = 8;
+ gSprites[spriteId].pos2.y = 4;
+ gSprites[spriteId].data[0] = 0xc8;
+ gSprites[spriteId].data[1] = 0x63;
+ sCableCarPtr->unk_0002 = 7;
+ sCableCarPtr->unk_0004 = 0x15e;
+ sub_807C9B4(2);
+ break;
+ case 1:
+ CableCarUtil_CopyWrapped(sCableCarPtr->unk_00fc, eCableCar2->mtChimneyTilemap + 0x24, 0x18, 0x1a, 0x0c, 0x03);
+ spriteId = AddPseudoFieldObject(playerGraphicsIds[gSaveBlock2.playerGender], sub_8123D98, 0x80, 0x27, 0x66);
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].oam.priority = 2;
+ gSprites[spriteId].pos2.x = 0x08;
+ gSprites[spriteId].pos2.y = 0x10;
+ gSprites[spriteId].data[0] = 0x80;
+ gSprites[spriteId].data[1] = 0x27;
+ }
+ spriteId = CreateSprite(&gSpriteTemplate_8401D40[0], 0x68, 0x09, 0x67);
+ gSprites[spriteId].pos2.x = gSprites[spriteId].pos2.y = 0x20;
+ gSprites[spriteId].data[0] = 0x68;
+ gSprites[spriteId].data[1] = 0x09;
+ spriteId = CreateSprite(&gSpriteTemplate_8401D40[1], 0x80, 0x41, 0x65);
+ gSprites[spriteId].pos2.x = 8;
+ gSprites[spriteId].pos2.y = 4;
+ gSprites[spriteId].data[0] = 0x80;
+ gSprites[spriteId].data[1] = 0x41;
+ sCableCarPtr->unk_0002 = 2;
+ sCableCarPtr->unk_0004 = 0x109;
+ sub_807C9B4(7);
+ break;
+ }
+ for (i = 0; i < 9; i++)
+ {
+ spriteId = CreateSprite(&gSpriteTemplate_8401D40[2], 16 * i + 0x60, 8 * i - 8, 0x68);
+ gSprites[spriteId].pos2.x = 8;
+ gSprites[spriteId].pos2.y = 8;
+ }
+ if ((rval % 64) == 0)
+ {
+ spriteId = AddPseudoFieldObject(hikerGraphicsIds[rval % 3], callbacks[gSpecialVar_0x8004], hikerCoords[gSpecialVar_0x8004][0], hikerCoords[gSpecialVar_0x8004][1], 0x6a);
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].oam.priority = 2;
+ gSprites[spriteId].pos2.x = -gSprites[spriteId].centerToCornerVecX;
+ gSprites[spriteId].pos2.y = -gSprites[spriteId].centerToCornerVecY;
+ if (gSpecialVar_0x8004 == 0)
+ {
+ if (rval % 2)
+ {
+ StartSpriteAnim(&gSprites[spriteId], 6);
+ gSprites[spriteId].data[1] = 1;
+ gSprites[spriteId].pos1.y += 2;
+ }
+ else
+ {
+ StartSpriteAnim(&gSprites[spriteId], 7);
+ gSprites[spriteId].data[1] = 0;
+ }
+ }
+ else
+ {
+ if (rval % 2)
+ {
+ StartSpriteAnim(&gSprites[spriteId], 7);
+ gSprites[spriteId].data[1] = 1;
+ gSprites[spriteId].pos1.y += 2;
+ }
+ else
+ {
+ StartSpriteAnim(&gSprites[spriteId], 6);
+ gSprites[spriteId].data[1] = 0;
+ }
+ }
+ gSprites[spriteId].data[2] = hikerMovementDelayTable[rval % 4];
+ }
+ }
+}
+
+static void sub_812446C(void)
+{
+ u8 i;
+ u8 j;
+ u8 k;
+ u8 offset;
+
+ for (i = 0, k = 0, offset = 0x24 * (sCableCarPtr->unk_001b + 2); i < 3; i++)
+ {
+ for (j = 0; j < 12; j++)
+ {
+ sCableCarPtr->unk_0022[i][j] = *(eCableCar2->mtChimneyTilemap + (offset++));
+ sCableCarPtr->unk_0022[i + 3][j] = eCableCar2->mtChimneyTilemap[k];
+ sCableCarPtr->unk_0022[i + 6][j] = (eCableCar2->mtChimneyTilemap + 0x24)[k];
+ k++;
+ }
+ }
+ sCableCarPtr->unk_001b = (sCableCarPtr->unk_001b + 1) % 3;
+}
+
+static void sub_812453C(void)
+{
+ sCableCarPtr->unk_001c = (sCableCarPtr->unk_001c + 1) % 0x60;
+ sCableCarPtr->unk_0008 = sCableCarPtr->unk_001f - sCableCarPtr->unk_001d;
+ sCableCarPtr->unk_0009 = sCableCarPtr->unk_0020 - sCableCarPtr->unk_001e;
+ sCableCarPtr->unk_001d++;
+ if ((sCableCarPtr->unk_001d % 4) == 0)
+ {
+ sCableCarPtr->unk_001e++;
+ }
+ if (sCableCarPtr->unk_001d > 16)
+ {
+ sub_81245F4();
+ }
+}
+
+static void sub_8124598(void)
+{
+ sCableCarPtr->unk_001c = (sCableCarPtr->unk_001c + 1) % 0x60;
+ sCableCarPtr->unk_0008 = sCableCarPtr->unk_001f + sCableCarPtr->unk_001d;
+ sCableCarPtr->unk_0009 = sCableCarPtr->unk_0020 + sCableCarPtr->unk_001e;
+ sCableCarPtr->unk_001d++;
+ if ((sCableCarPtr->unk_001d % 4) == 0)
+ {
+ sCableCarPtr->unk_001e++;
+ }
+ if (sCableCarPtr->unk_001d > 16)
+ {
+ sub_812476C();
+ }
+}
+
+static void sub_81245F4(void)
+{
+ u8 i = 0;
+
+ sCableCarPtr->unk_001d = sCableCarPtr->unk_001e = 0;
+ sCableCarPtr->unk_001f = sCableCarPtr->unk_0008;
+ sCableCarPtr->unk_0020 = sCableCarPtr->unk_0009;
+ sCableCarPtr->unk_0019 = (sCableCarPtr->unk_0019 + 30) % 32;
+ sCableCarPtr->unk_0018 -= 2;
+ gUnknown_0203927A = (sCableCarPtr->unk_001a + 23) % 32;
+ for (i = 0; i < 9; i++)
+ {
+ gUnknown_02039278 = sCableCarPtr->unk_0019;
+ gUnknown_02039279 = (gUnknown_0203927A + i) % 32;
+ sCableCarPtr->unk_00fc[gUnknown_02039279][gUnknown_02039278] = sCableCarPtr->unk_0022[i][sCableCarPtr->unk_0018];
+ gUnknown_02039278 = (gUnknown_02039278 + 1) % 32;
+ sCableCarPtr->unk_00fc[gUnknown_02039279][gUnknown_02039278] = sCableCarPtr->unk_0022[i][sCableCarPtr->unk_0018 + 1];
+ }
+ gUnknown_02039278 = (sCableCarPtr->unk_0019 + 30) % 32;
+ CableCarUtil_FillWrapped(sCableCarPtr->unk_00fc, 0, gUnknown_02039278, 0, 2, 32);
+ if (sCableCarPtr->unk_0018 == 0)
+ {
+ sCableCarPtr->unk_001a = (sCableCarPtr->unk_001a + 29) % 32;
+ sCableCarPtr->unk_0018 = 12;
+ sub_812446C();
+ gUnknown_02039278 = (sCableCarPtr->unk_001a + 1) % 32;
+ CableCarUtil_FillWrapped(sCableCarPtr->unk_00fc, 0, 0, gUnknown_02039278, 32, 9);
+ }
+}
+
+static void sub_812476C(void)
+{
+ u8 i = 0;
+
+ sCableCarPtr->unk_001d = sCableCarPtr->unk_001e = 0;
+ sCableCarPtr->unk_001f = sCableCarPtr->unk_0008;
+ sCableCarPtr->unk_0020 = sCableCarPtr->unk_0009;
+ sCableCarPtr->unk_0019 = (sCableCarPtr->unk_0019 + 2) % 32;
+ sCableCarPtr->unk_0018 += 2;
+ gUnknown_0203927D = sCableCarPtr->unk_001a;
+ for (i = 0; i < 9; i++)
+ {
+ gUnknown_0203927B = sCableCarPtr->unk_0019;
+ gUnknown_0203927C = (gUnknown_0203927D + i) % 32;
+ sCableCarPtr->unk_00fc[gUnknown_0203927C][gUnknown_0203927B] = sCableCarPtr->unk_0022[i][sCableCarPtr->unk_0018];
+ gUnknown_0203927B = (gUnknown_0203927B + 1) % 32;
+ sCableCarPtr->unk_00fc[gUnknown_0203927C][gUnknown_0203927B] = sCableCarPtr->unk_0022[i][sCableCarPtr->unk_0018 + 1];
+ }
+ gUnknown_0203927C = (sCableCarPtr->unk_001a + 23) % 32;
+ CableCarUtil_FillWrapped(sCableCarPtr->unk_00fc, 0, sCableCarPtr->unk_0019, gUnknown_0203927C, 2, 9);
+ if (sCableCarPtr->unk_0018 == 10)
+ {
+ sCableCarPtr->unk_001a = (sCableCarPtr->unk_001a + 3) % 32;
+ sCableCarPtr->unk_0018 = 0xfe;
+ sub_812446C();
+ }
+}
+
+static void sub_81248AC(u8 a0)
+{
+ switch (a0)
+ {
+ case 0:
+ default:
+ sCableCarPtr->unk_001b = 2;
+ sCableCarPtr->unk_0019 = 0;
+ sCableCarPtr->unk_001a = 20;
+ sCableCarPtr->unk_0018 = 12;
+ sub_812446C();
+ sub_81245F4();
+ break;
+ case 1:
+ sCableCarPtr->unk_001b = 2;
+ sCableCarPtr->unk_0019 = 28;
+ sCableCarPtr->unk_001a = 20;
+ sCableCarPtr->unk_0018 = 4;
+ sub_812446C();
+ sub_812476C();
+ break;
+ }
+ sCableCarPtr->unk_001c = 0;
+}
diff --git a/src/unknown_task.c b/src/unknown_task.c
index c9ba95d42..62245502a 100644
--- a/src/unknown_task.c
+++ b/src/unknown_task.c
@@ -20,6 +20,7 @@ extern u8 gUnknown_0202FFA4;
extern struct UnknownTaskStruct2 gUnknown_03004DC0;
+// Is this a struct?
extern u16 gUnknown_03004DE0[][0x3C0];
void remove_some_task(void)
diff --git a/sym_bss.txt b/sym_bss.txt
index ff3b3de01..6e96a604c 100644
--- a/sym_bss.txt
+++ b/sym_bss.txt
@@ -25,7 +25,7 @@
.include "src/engine/record_mixing.o"
.include "src/field/tv.o"
.include "src/battle/battle_anim_80CA710.o"
- .include "src/field/easy_chat.o"
+ .include "src/easy_chat_2.o"
.include "src/pokenav_before.o"
.include "src/field/mauville_man.o"
.include "src/field/menu_helpers.o"
diff --git a/sym_ewram.txt b/sym_ewram.txt
index 6f7be47c1..cffa8396d 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -580,31 +580,7 @@ gAbilitiesPerBank: @ 203926C
.space 0x4
.include "src/field/choose_party.o"
-
-@ cable_car
-
- .align 2
-gUnknown_02039274: @ 2039274
- .space 0x4
-
-gUnknown_02039278: @ 2039278
- .space 0x1
-
-gUnknown_02039279: @ 2039279
- .space 0x1
-
-gUnknown_0203927A: @ 203927A
- .space 0x1
-
-gUnknown_0203927B: @ 203927B
- .space 0x1
-
-gUnknown_0203927C: @ 203927C
- .space 0x1
-
-gUnknown_0203927D: @ 203927D
- .space 0x7
-
+ .include "src/scene/cable_car.o"
.include "src/engine/save.o"
.include "src/engine/mystery_event_script.o"
.include "src/field/roamer.o"