summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/battle_8.s5222
-rw-r--r--asm/field_fadetransition.s6
-rw-r--r--asm/fldeff_flash.s753
-rw-r--r--asm/m4a_1.s2
-rw-r--r--asm/macros/event.inc4
-rw-r--r--asm/mon_markings.s1008
-rw-r--r--asm/pokemon_icon.s788
-rw-r--r--asm/reset_rtc_screen.s1300
-rw-r--r--common_syms/battle_anim.txt3
-rw-r--r--common_syms/contest_painting.txt5
-rw-r--r--common_syms/field_camera.txt3
-rw-r--r--common_syms/field_control_avatar.txt1
-rw-r--r--common_syms/field_map_obj.txt1
-rw-r--r--common_syms/fieldmap.txt1
-rw-r--r--common_syms/intro.txt2
-rw-r--r--common_syms/mori_debug_menu.txt1
-rw-r--r--common_syms/pokedex.txt2
-rw-r--r--common_syms/pokemon_1.txt4
-rw-r--r--common_syms/record_mixing.txt1
-rw-r--r--common_syms/rom3.txt1
-rw-r--r--common_syms/rom4.txt4
-rw-r--r--common_syms/save.txt9
-rw-r--r--common_syms/sound.txt1
-rw-r--r--common_syms/sound_check_menu.txt1
-rw-r--r--common_syms/start_menu.txt1
-rw-r--r--common_syms/tv.txt1
-rw-r--r--data-de/event_scripts.s228
-rw-r--r--data-de/field_move_scripts.inc4
-rw-r--r--data/event_scripts.s228
-rw-r--r--data/field_move_scripts.inc4
-rw-r--r--data/graphics/pokemon/icon_palette_indices.inc442
-rw-r--r--data/graphics/pokemon/icon_palette_table.inc11
-rw-r--r--data/graphics/pokemon/icon_table.inc442
-rw-r--r--data/pokemon_icon.s92
-rw-r--r--data/scripts/bard.inc10
-rw-r--r--data/scripts/berry_tree.inc20
-rw-r--r--data/scripts/cable_club.inc134
-rw-r--r--data/scripts/contest_hall.inc40
-rw-r--r--data/scripts/day_care.inc58
-rw-r--r--data/scripts/gabby_and_ty.inc16
-rw-r--r--data/scripts/giddy.inc8
-rw-r--r--data/scripts/hipster.inc6
-rw-r--r--data/scripts/maps/AbandonedShip_Corridors_B1F.inc2
-rw-r--r--data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc8
-rw-r--r--data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc8
-rw-r--r--data/scripts/maps/AbandonedShip_Rooms2_1F.inc4
-rw-r--r--data/scripts/maps/AncientTomb.inc2
-rw-r--r--data/scripts/maps/BattleTower_BattleRoom.inc42
-rw-r--r--data/scripts/maps/BattleTower_Elevator.inc2
-rw-r--r--data/scripts/maps/BattleTower_Lobby.inc78
-rw-r--r--data/scripts/maps/CaveOfOrigin_B4F.inc10
-rw-r--r--data/scripts/maps/DesertRuins.inc2
-rw-r--r--data/scripts/maps/DewfordTown_Hall.inc8
-rw-r--r--data/scripts/maps/EverGrandeCity_ChampionsRoom.inc2
-rw-r--r--data/scripts/maps/EverGrandeCity_DrakesRoom.inc2
-rw-r--r--data/scripts/maps/EverGrandeCity_HallOfFame.inc4
-rw-r--r--data/scripts/maps/FallarborTown_ContestLobby.inc8
-rw-r--r--data/scripts/maps/FallarborTown_House2.inc6
-rw-r--r--data/scripts/maps/FortreeCity_Gym.inc4
-rw-r--r--data/scripts/maps/FortreeCity_House1.inc10
-rw-r--r--data/scripts/maps/IslandCave.inc8
-rw-r--r--data/scripts/maps/JaggedPass.inc4
-rw-r--r--data/scripts/maps/LavaridgeTown.inc2
-rw-r--r--data/scripts/maps/LilycoveCity.inc2
-rw-r--r--data/scripts/maps/LilycoveCity_ContestLobby.inc52
-rw-r--r--data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc4
-rw-r--r--data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc6
-rw-r--r--data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc10
-rw-r--r--data/scripts/maps/LilycoveCity_Harbor.inc2
-rw-r--r--data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc2
-rw-r--r--data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc14
-rw-r--r--data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc82
-rw-r--r--data/scripts/maps/LittlerootTown.inc2
-rw-r--r--data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc2
-rw-r--r--data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc6
-rw-r--r--data/scripts/maps/LittlerootTown_MaysHouse_1F.inc4
-rw-r--r--data/scripts/maps/LittlerootTown_MaysHouse_2F.inc6
-rw-r--r--data/scripts/maps/MauvilleCity_BikeShop.inc2
-rw-r--r--data/scripts/maps/MauvilleCity_GameCorner.inc24
-rw-r--r--data/scripts/maps/MauvilleCity_Gym.inc18
-rw-r--r--data/scripts/maps/MauvilleCity_PokemonCenter_1F.inc2
-rw-r--r--data/scripts/maps/MeteorFalls_1F_2R.inc6
-rw-r--r--data/scripts/maps/MossdeepCity_GameCorner_1F.inc20
-rw-r--r--data/scripts/maps/MossdeepCity_GameCorner_B1F.inc14
-rw-r--r--data/scripts/maps/MossdeepCity_Gym.inc2
-rw-r--r--data/scripts/maps/MossdeepCity_House1.inc2
-rw-r--r--data/scripts/maps/MossdeepCity_House4.inc4
-rw-r--r--data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc2
-rw-r--r--data/scripts/maps/MtChimney.inc2
-rw-r--r--data/scripts/maps/MtChimney_CableCarStation.inc4
-rw-r--r--data/scripts/maps/MtPyre_6F.inc2
-rw-r--r--data/scripts/maps/NewMauville_Entrance.inc2
-rw-r--r--data/scripts/maps/NewMauville_Inside.inc6
-rw-r--r--data/scripts/maps/PacifidlogTown_House2.inc12
-rw-r--r--data/scripts/maps/PacifidlogTown_House3.inc10
-rw-r--r--data/scripts/maps/PacifidlogTown_House5.inc2
-rw-r--r--data/scripts/maps/PetalburgCity.inc8
-rw-r--r--data/scripts/maps/PetalburgCity_Gym.inc24
-rw-r--r--data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc2
-rw-r--r--data/scripts/maps/PetalburgWoods.inc2
-rw-r--r--data/scripts/maps/Route101.inc4
-rw-r--r--data/scripts/maps/Route102.inc2
-rw-r--r--data/scripts/maps/Route103.inc6
-rw-r--r--data/scripts/maps/Route104.inc10
-rw-r--r--data/scripts/maps/Route104_Prototype.inc2
-rw-r--r--data/scripts/maps/Route106.inc2
-rw-r--r--data/scripts/maps/Route107.inc2
-rw-r--r--data/scripts/maps/Route109.inc6
-rw-r--r--data/scripts/maps/Route110.inc18
-rw-r--r--data/scripts/maps/Route110_SeasideCyclingRoadNorthEntrance.inc2
-rw-r--r--data/scripts/maps/Route110_SeasideCyclingRoadSouthEntrance.inc2
-rw-r--r--data/scripts/maps/Route110_TrickHouseEnd.inc6
-rw-r--r--data/scripts/maps/Route110_TrickHouseEntrance.inc18
-rw-r--r--data/scripts/maps/Route110_TrickHousePuzzle2.inc8
-rw-r--r--data/scripts/maps/Route110_TrickHousePuzzle3.inc2
-rw-r--r--data/scripts/maps/Route110_TrickHousePuzzle6.inc4
-rw-r--r--data/scripts/maps/Route110_TrickHousePuzzle7.inc10
-rw-r--r--data/scripts/maps/Route111.inc8
-rw-r--r--data/scripts/maps/Route112.inc2
-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.inc2
-rw-r--r--data/scripts/maps/Route114.inc4
-rw-r--r--data/scripts/maps/Route115.inc6
-rw-r--r--data/scripts/maps/Route116.inc8
-rw-r--r--data/scripts/maps/Route117.inc12
-rw-r--r--data/scripts/maps/Route118.inc4
-rw-r--r--data/scripts/maps/Route119.inc6
-rw-r--r--data/scripts/maps/Route119_WeatherInstitute_1F.inc2
-rw-r--r--data/scripts/maps/Route120.inc8
-rw-r--r--data/scripts/maps/Route121.inc4
-rw-r--r--data/scripts/maps/Route121_SafariZoneEntrance.inc6
-rw-r--r--data/scripts/maps/Route123.inc8
-rw-r--r--data/scripts/maps/Route124.inc6
-rw-r--r--data/scripts/maps/Route125.inc2
-rw-r--r--data/scripts/maps/Route128.inc6
-rw-r--r--data/scripts/maps/Route130.inc2
-rw-r--r--data/scripts/maps/RustboroCity_House1.inc10
-rw-r--r--data/scripts/maps/SSTidalCorridor.inc14
-rw-r--r--data/scripts/maps/SafariZone_Southeast.inc2
-rw-r--r--data/scripts/maps/SeafloorCavern_Room9.inc12
-rw-r--r--data/scripts/maps/SealedChamber_InnerRoom.inc10
-rw-r--r--data/scripts/maps/SecretBase_YellowCave4.inc2
-rw-r--r--data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc2
-rw-r--r--data/scripts/maps/ShoalCave_LowTideInnerRoom.inc12
-rw-r--r--data/scripts/maps/ShoalCave_LowTideLowerRoom.inc2
-rw-r--r--data/scripts/maps/ShoalCave_LowTideStairsRoom.inc2
-rw-r--r--data/scripts/maps/SkyPillar_Top.inc2
-rw-r--r--data/scripts/maps/SlateportCity.inc6
-rw-r--r--data/scripts/maps/SlateportCity_ContestLobby.inc8
-rw-r--r--data/scripts/maps/SlateportCity_House1.inc16
-rw-r--r--data/scripts/maps/SlateportCity_PokemonFanClub.inc12
-rw-r--r--data/scripts/maps/SootopolisCity.inc2
-rw-r--r--data/scripts/maps/SootopolisCity_Gym_1F.inc8
-rw-r--r--data/scripts/maps/SootopolisCity_House8.inc16
-rw-r--r--data/scripts/maps/SouthernIsland_Interior.inc6
-rw-r--r--data/scripts/maps/UnknownMap_25_34.inc4
-rw-r--r--data/scripts/maps/VerdanturfTown_ContestLobby.inc8
-rw-r--r--data/scripts/maps/VerdanturfTown_FriendshipRatersHouse.inc2
-rw-r--r--data/scripts/maps/VictoryRoad_1F.inc2
-rw-r--r--data/scripts/mystery_event_club.inc2
-rw-r--r--data/scripts/players_house.inc6
-rw-r--r--data/scripts/pokeblocks.inc28
-rw-r--r--data/scripts/safari_zone.inc8
-rw-r--r--data/scripts/storyteller.inc14
-rw-r--r--data/scripts/trader.inc12
-rw-r--r--data/scripts/tv.inc30
-rw-r--r--data/specials.inc693
-rw-r--r--include/battle_ai.h1
-rw-r--r--include/contest_painting.h5
-rw-r--r--include/event_data.h16
-rw-r--r--include/field_effect.h2
-rw-r--r--include/field_map_obj.h2
-rw-r--r--include/field_specials.h8
-rw-r--r--include/graphics.h4
-rw-r--r--include/libgncmultiboot.h1
-rw-r--r--include/pokeblock.h11
-rw-r--r--include/script.h2
-rw-r--r--include/use_pokeblock.h3
-rw-r--r--ld_script.txt12
-rw-r--r--src/battle_10.c3
-rw-r--r--src/battle_8.c1642
-rw-r--r--src/battle_ai.c2
-rw-r--r--src/battle_anim.c8
-rw-r--r--src/berry_tag_screen.c28
-rw-r--r--src/bike.c6
-rw-r--r--src/braille_puzzles.c2
-rw-r--r--src/cable_club.c1
-rw-r--r--src/choose_party.c3
-rw-r--r--src/contest_painting.c32
-rw-r--r--src/credits.c9
-rw-r--r--src/decoration.c21
-rw-r--r--src/event_data.c18
-rw-r--r--src/field_camera.c19
-rw-r--r--src/field_control_avatar.c9
-rw-r--r--src/field_effect.c2
-rw-r--r--src/field_map_obj.c9
-rw-r--r--src/field_map_obj_helpers.c2
-rw-r--r--src/field_message_box.c2
-rw-r--r--src/field_player_avatar.c2
-rw-r--r--src/field_screen_effect.c1
-rw-r--r--src/field_specials.c18
-rw-r--r--src/fieldmap.c2
-rw-r--r--src/fldeff_cut.c1
-rw-r--r--src/fldeff_flash.c306
-rw-r--r--src/fldeff_strength.c2
-rw-r--r--src/fldeff_sweetscent.c2
-rw-r--r--src/fldeff_teleport.c2
-rw-r--r--src/intro.c10
-rw-r--r--src/load_save.c29
-rw-r--r--src/menu_cursor.c13
-rw-r--r--src/mon_markings.c383
-rw-r--r--src/money.c3
-rw-r--r--src/mori_debug_menu.c3
-rw-r--r--src/mystery_event_menu.c3
-rw-r--r--src/mystery_event_script.c4
-rw-r--r--src/new_game.c3
-rw-r--r--src/player_pc.c5
-rw-r--r--src/pokeblock.c118
-rw-r--r--src/pokedex.c14
-rw-r--r--src/pokemon_1.c8
-rw-r--r--src/pokemon_2.c3
-rw-r--r--src/pokemon_icon.c1276
-rw-r--r--src/pokemon_storage_system.c2
-rw-r--r--src/record_mixing.c9
-rw-r--r--src/region_map.c2
-rw-r--r--src/reset_rtc_screen.c496
-rw-r--r--src/rom3.c10
-rw-r--r--src/rom4.c34
-rw-r--r--src/rom6.c4
-rw-r--r--src/rotating_gate.c6
-rw-r--r--src/save.c22
-rw-r--r--src/save_failed_screen.c26
-rw-r--r--src/scrcmd.c16
-rw-r--r--src/script.c3
-rw-r--r--src/script_movement.c2
-rw-r--r--src/sound.c8
-rw-r--r--src/sound_check_menu.c19
-rw-r--r--src/start_menu.c4
-rw-r--r--src/title_screen.c3
-rw-r--r--src/trainer_card.c3
-rw-r--r--src/trainer_see.c2
-rw-r--r--src/tv.c27
-rw-r--r--src/use_pokeblock.c9
-rw-r--r--sym_bss.txt96
-rw-r--r--sym_common.txt170
-rw-r--r--sym_ewram.txt485
247 files changed, 5979 insertions, 12186 deletions
diff --git a/asm/battle_8.s b/asm/battle_8.s
deleted file mode 100644
index 366c503f2..000000000
--- a/asm/battle_8.s
+++ /dev/null
@@ -1,5222 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start OpponentHandleGetAttributes
-OpponentHandleGetAttributes: @ 8033524
- push {r4-r6,lr}
- sub sp, 0x100
- movs r6, 0
- ldr r1, _08033550 @ =gBattleBufferA
- ldr r0, _08033554 @ =gActiveBank
- ldrb r2, [r0]
- lsls r0, r2, 9
- adds r1, 0x2
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0
- bne _0803355C
- ldr r0, _08033558 @ =gBattlePartyID
- lsls r1, r2, 1
- adds r1, r0
- ldrb r0, [r1]
- mov r1, sp
- bl sub_8033598
- adds r6, r0, 0
- b _0803357E
- .align 2, 0
-_08033550: .4byte gBattleBufferA
-_08033554: .4byte gActiveBank
-_08033558: .4byte gBattlePartyID
-_0803355C:
- ldrb r4, [r1]
- movs r5, 0
-_08033560:
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _08033576
- lsls r0, r5, 24
- lsrs r0, 24
- mov r2, sp
- adds r1, r2, r6
- bl sub_8033598
- adds r6, r0
-_08033576:
- lsrs r4, 1
- adds r5, 0x1
- cmp r5, 0x5
- ble _08033560
-_0803357E:
- lsls r1, r6, 16
- lsrs r1, 16
- movs r0, 0x1
- mov r2, sp
- bl dp01_build_cmdbuf_x1D_1D_numargs_varargs
- bl OpponentBufferExecCompleted
- add sp, 0x100
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end OpponentHandleGetAttributes
-
- thumb_func_start sub_8033598
-sub_8033598: @ 8033598
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x90
- adds r7, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0
- ldr r2, _080335CC @ =gBattleBufferA
- ldr r3, _080335D0 @ =gActiveBank
- ldrb r0, [r3]
- lsls r0, 9
- adds r1, r2, 0x1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x3B
- bls _080335C2
- bl _08033D2E
-_080335C2:
- lsls r0, 2
- ldr r1, _080335D4 @ =_080335D8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080335CC: .4byte gBattleBufferA
-_080335D0: .4byte gActiveBank
-_080335D4: .4byte _080335D8
- .align 2, 0
-_080335D8:
- .4byte _080336C8
- .4byte _080338EC
- .4byte _080338FC
- .4byte _0803390C
- .4byte _08033974
- .4byte _08033974
- .4byte _08033974
- .4byte _08033974
- .4byte _08033990
- .4byte _080339CC
- .4byte _080339CC
- .4byte _080339CC
- .4byte _080339CC
- .4byte _08033D2E
- .4byte _08033D2E
- .4byte _08033D2E
- .4byte _08033D2E
- .4byte _080339E8
- .4byte _080339F8
- .4byte _08033A28
- .4byte _08033A38
- .4byte _08033A48
- .4byte _08033A58
- .4byte _08033A68
- .4byte _08033A78
- .4byte _08033A88
- .4byte _08033A98
- .4byte _08033AA8
- .4byte _08033AB8
- .4byte _08033AC8
- .4byte _08033AD8
- .4byte _08033AE8
- .4byte _08033B38
- .4byte _08033B48
- .4byte _08033B58
- .4byte _08033B68
- .4byte _08033B78
- .4byte _08033B88
- .4byte _08033B98
- .4byte _08033BA8
- .4byte _08033BB8
- .4byte _08033BEC
- .4byte _08033BFC
- .4byte _08033C0C
- .4byte _08033C1C
- .4byte _08033C2C
- .4byte _08033C3C
- .4byte _08033C4C
- .4byte _08033C5C
- .4byte _08033C7C
- .4byte _08033C8C
- .4byte _08033C9C
- .4byte _08033CAC
- .4byte _08033CBC
- .4byte _08033CCC
- .4byte _08033CDC
- .4byte _08033CEC
- .4byte _08033CFC
- .4byte _08033D0C
- .4byte _08033D1C
-_080336C8:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _080338DC @ =gEnemyParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- mov r1, sp
- strh r0, [r1]
- adds r0, r4, 0
- movs r1, 0xC
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x2E]
- movs r6, 0
- add r0, sp, 0x24
- mov r9, r0
- movs r1, 0x3B
- add r1, sp
- mov r10, r1
- mov r2, sp
- adds r2, 0x2B
- str r2, [sp, 0x80]
- mov r0, sp
- adds r0, 0x2A
- str r0, [sp, 0x7C]
- mov r1, sp
- adds r1, 0x68
- str r1, [sp, 0x8C]
- adds r2, 0x5
- str r2, [sp, 0x84]
- adds r0, 0x12
- str r0, [sp, 0x88]
- mov r8, r4
- add r4, sp, 0xC
-_08033714:
- adds r1, r6, 0
- adds r1, 0xD
- mov r0, r8
- bl GetMonData
- strh r0, [r4]
- adds r1, r6, 0
- adds r1, 0x11
- mov r0, r8
- bl GetMonData
- mov r2, r9
- adds r1, r2, r6
- strb r0, [r1]
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0x3
- ble _08033714
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _080338DC @ =gEnemyParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x15
- bl GetMonData
- mov r1, r10
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- ldr r2, [sp, 0x80]
- strb r0, [r2]
- adds r0, r4, 0
- movs r1, 0x19
- bl GetMonData
- str r0, [sp, 0x44]
- adds r0, r4, 0
- movs r1, 0x27
- bl GetMonData
- mov r3, sp
- movs r5, 0x1F
- ands r0, r5
- ldrb r2, [r3, 0x14]
- movs r1, 0x20
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x14]
- adds r0, r4, 0
- movs r1, 0x28
- bl GetMonData
- mov r3, sp
- movs r6, 0x1F
- ands r0, r6
- lsls r0, 5
- ldrh r2, [r3, 0x14]
- ldr r1, _080338E0 @ =0xfffffc1f
- ands r1, r2
- orrs r1, r0
- strh r1, [r3, 0x14]
- adds r0, r4, 0
- movs r1, 0x29
- bl GetMonData
- mov r3, sp
- ands r0, r5
- lsls r0, 2
- ldrb r2, [r3, 0x15]
- movs r1, 0x7D
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x15]
- adds r0, r4, 0
- movs r1, 0x2A
- bl GetMonData
- movs r1, 0x1F
- ands r1, r0
- lsls r1, 15
- ldr r0, [sp, 0x14]
- ldr r2, _080338E4 @ =0xfff07fff
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x14]
- adds r0, r4, 0
- movs r1, 0x2B
- bl GetMonData
- mov r3, sp
- ands r0, r6
- lsls r0, 4
- ldrh r2, [r3, 0x16]
- ldr r1, _080338E8 @ =0xfffffe0f
- ands r1, r2
- orrs r1, r0
- strh r1, [r3, 0x16]
- adds r0, r4, 0
- movs r1, 0x2C
- bl GetMonData
- mov r3, sp
- ands r0, r5
- lsls r0, 1
- ldrb r2, [r3, 0x17]
- movs r1, 0x3F
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x17]
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- str r0, [sp, 0x48]
- adds r0, r4, 0
- movs r1, 0x37
- bl GetMonData
- str r0, [sp, 0x4C]
- adds r0, r4, 0
- movs r1, 0x38
- bl GetMonData
- ldr r1, [sp, 0x7C]
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x28]
- adds r0, r4, 0
- movs r1, 0x3A
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x2C]
- adds r0, r4, 0
- movs r1, 0x3B
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x2]
- adds r0, r4, 0
- movs r1, 0x3C
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x4]
- adds r0, r4, 0
- movs r1, 0x3D
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x6]
- adds r0, r4, 0
- movs r1, 0x3E
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x8]
- adds r0, r4, 0
- movs r1, 0x3F
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0xA]
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- mov r3, sp
- movs r1, 0x1
- ands r0, r1
- lsls r0, 6
- ldrb r2, [r3, 0x17]
- movs r1, 0x41
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x17]
- adds r0, r4, 0
- movs r1, 0x2E
- bl GetMonData
- mov r3, sp
- lsls r0, 7
- ldrb r2, [r3, 0x17]
- movs r1, 0x7F
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x17]
- adds r0, r4, 0
- movs r1, 0x1
- bl GetMonData
- str r0, [sp, 0x54]
- adds r0, r4, 0
- movs r1, 0x2
- ldr r2, [sp, 0x8C]
- bl GetMonData
- ldr r0, [sp, 0x84]
- ldr r1, [sp, 0x8C]
- bl StringCopy10
- adds r0, r4, 0
- movs r1, 0x7
- ldr r2, [sp, 0x88]
- bl GetMonData
- mov r2, sp
- movs r6, 0
-_080338CC:
- adds r0, r7, r6
- adds r1, r2, r6
- ldrb r1, [r1]
- strb r1, [r0]
- adds r6, 0x1
- cmp r6, 0x57
- bls _080338CC
- b _08033D2E
- .align 2, 0
-_080338DC: .4byte gEnemyParty
-_080338E0: .4byte 0xfffffc1f
-_080338E4: .4byte 0xfff07fff
-_080338E8: .4byte 0xfffffe0f
-_080338EC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080338F8 @ =gEnemyParty
- adds r0, r1
- movs r1, 0xB
- b _08033C66
- .align 2, 0
-_080338F8: .4byte gEnemyParty
-_080338FC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033908 @ =gEnemyParty
- adds r0, r1
- movs r1, 0xC
- b _08033C66
- .align 2, 0
-_08033908: .4byte gEnemyParty
-_0803390C:
- movs r6, 0
- add r2, sp, 0x58
- mov r9, r2
- add r0, sp, 0x60
- mov r10, r0
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _08033970 @ =gEnemyParty
- adds r4, r1, r0
- mov r8, r9
-_08033922:
- adds r1, r6, 0
- adds r1, 0xD
- adds r0, r4, 0
- bl GetMonData
- mov r1, r8
- strh r0, [r1]
- adds r1, r6, 0
- adds r1, 0x11
- adds r0, r4, 0
- bl GetMonData
- mov r2, r10
- adds r1, r2, r6
- strb r0, [r1]
- movs r0, 0x2
- add r8, r0
- adds r6, 0x1
- cmp r6, 0x3
- ble _08033922
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033970 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x15
- bl GetMonData
- mov r1, r9
- strb r0, [r1, 0xC]
- mov r2, r9
- movs r6, 0
-_08033960:
- adds r0, r7, r6
- adds r1, r2, r6
- ldrb r1, [r1]
- strb r1, [r0]
- adds r6, 0x1
- cmp r6, 0xF
- bls _08033960
- b _08033D2E
- .align 2, 0
-_08033970: .4byte gEnemyParty
-_08033974:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0803398C @ =gEnemyParty
- adds r0, r1
- ldrb r1, [r3]
- lsls r1, 9
- adds r2, 0x1
- adds r1, r2
- ldrb r1, [r1]
- adds r1, 0x9
- b _08033C66
- .align 2, 0
-_0803398C: .4byte gEnemyParty
-_08033990:
- movs r6, 0
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r2, _080339C8 @ =gEnemyParty
- mov r8, r2
-_0803399C:
- adds r1, r6, 0
- adds r1, 0x11
- mov r2, r8
- adds r0, r4, r2
- bl GetMonData
- adds r1, r7, r6
- strb r0, [r1]
- adds r6, 0x1
- cmp r6, 0x3
- ble _0803399C
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080339C8 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x15
- bl GetMonData
- adds r1, r7, r6
- strb r0, [r1]
- adds r6, 0x1
- b _08033D2E
- .align 2, 0
-_080339C8: .4byte gEnemyParty
-_080339CC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080339E4 @ =gEnemyParty
- adds r0, r1
- ldrb r1, [r3]
- lsls r1, 9
- adds r2, 0x1
- adds r1, r2
- ldrb r1, [r1]
- adds r1, 0x8
- b _08033D26
- .align 2, 0
-_080339E4: .4byte gEnemyParty
-_080339E8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080339F4 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x1
- b _08033A02
- .align 2, 0
-_080339F4: .4byte gEnemyParty
-_080339F8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033A24 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x19
-_08033A02:
- bl GetMonData
- adds r1, r0, 0
- strb r1, [r7]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- lsrs r0, 8
- strb r0, [r7, 0x1]
- movs r0, 0xFF
- lsls r0, 16
- ands r0, r1
- lsrs r0, 16
- strb r0, [r7, 0x2]
- movs r6, 0x3
- b _08033D2E
- .align 2, 0
-_08033A24: .4byte gEnemyParty
-_08033A28:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033A34 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x1A
- b _08033D26
- .align 2, 0
-_08033A34: .4byte gEnemyParty
-_08033A38:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033A44 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x1B
- b _08033D26
- .align 2, 0
-_08033A44: .4byte gEnemyParty
-_08033A48:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033A54 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x1C
- b _08033D26
- .align 2, 0
-_08033A54: .4byte gEnemyParty
-_08033A58:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033A64 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x1D
- b _08033D26
- .align 2, 0
-_08033A64: .4byte gEnemyParty
-_08033A68:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033A74 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x1E
- b _08033D26
- .align 2, 0
-_08033A74: .4byte gEnemyParty
-_08033A78:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033A84 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x1F
- b _08033D26
- .align 2, 0
-_08033A84: .4byte gEnemyParty
-_08033A88:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033A94 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x20
- b _08033D26
- .align 2, 0
-_08033A94: .4byte gEnemyParty
-_08033A98:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033AA4 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x22
- b _08033D26
- .align 2, 0
-_08033AA4: .4byte gEnemyParty
-_08033AA8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033AB4 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x23
- b _08033D26
- .align 2, 0
-_08033AB4: .4byte gEnemyParty
-_08033AB8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033AC4 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x24
- b _08033D26
- .align 2, 0
-_08033AC4: .4byte gEnemyParty
-_08033AC8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033AD4 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x25
- b _08033D26
- .align 2, 0
-_08033AD4: .4byte gEnemyParty
-_08033AD8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033AE4 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x26
- b _08033D26
- .align 2, 0
-_08033AE4: .4byte gEnemyParty
-_08033AE8:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _08033B34 @ =gEnemyParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x27
- bl GetMonData
- strb r0, [r7]
- adds r0, r4, 0
- movs r1, 0x28
- bl GetMonData
- strb r0, [r7, 0x1]
- adds r0, r4, 0
- movs r1, 0x29
- bl GetMonData
- strb r0, [r7, 0x2]
- adds r0, r4, 0
- movs r1, 0x2A
- bl GetMonData
- strb r0, [r7, 0x3]
- adds r0, r4, 0
- movs r1, 0x2B
- bl GetMonData
- strb r0, [r7, 0x4]
- adds r0, r4, 0
- movs r1, 0x2C
- bl GetMonData
- strb r0, [r7, 0x5]
- movs r6, 0x6
- b _08033D2E
- .align 2, 0
-_08033B34: .4byte gEnemyParty
-_08033B38:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033B44 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x27
- b _08033D26
- .align 2, 0
-_08033B44: .4byte gEnemyParty
-_08033B48:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033B54 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x28
- b _08033D26
- .align 2, 0
-_08033B54: .4byte gEnemyParty
-_08033B58:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033B64 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x29
- b _08033D26
- .align 2, 0
-_08033B64: .4byte gEnemyParty
-_08033B68:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033B74 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x2A
- b _08033D26
- .align 2, 0
-_08033B74: .4byte gEnemyParty
-_08033B78:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033B84 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x2B
- b _08033D26
- .align 2, 0
-_08033B84: .4byte gEnemyParty
-_08033B88:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033B94 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x2C
- b _08033D26
- .align 2, 0
-_08033B94: .4byte gEnemyParty
-_08033B98:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033BA4 @ =gEnemyParty
- adds r0, r1
- movs r1, 0
- b _08033BC2
- .align 2, 0
-_08033BA4: .4byte gEnemyParty
-_08033BA8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033BB4 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x9
- b _08033C66
- .align 2, 0
-_08033BB4: .4byte gEnemyParty
-_08033BB8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033BE8 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x37
-_08033BC2:
- bl GetMonData
- adds r1, r0, 0
- strb r1, [r7]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- lsrs r0, 8
- strb r0, [r7, 0x1]
- movs r0, 0xFF
- lsls r0, 16
- ands r0, r1
- lsrs r0, 16
- strb r0, [r7, 0x2]
- lsrs r0, r1, 24
- strb r0, [r7, 0x3]
- movs r6, 0x4
- b _08033D2E
- .align 2, 0
-_08033BE8: .4byte gEnemyParty
-_08033BEC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033BF8 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x38
- b _08033D26
- .align 2, 0
-_08033BF8: .4byte gEnemyParty
-_08033BFC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033C08 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x39
- b _08033C66
- .align 2, 0
-_08033C08: .4byte gEnemyParty
-_08033C0C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033C18 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x3A
- b _08033C66
- .align 2, 0
-_08033C18: .4byte gEnemyParty
-_08033C1C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033C28 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x3B
- b _08033C66
- .align 2, 0
-_08033C28: .4byte gEnemyParty
-_08033C2C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033C38 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x3C
- b _08033C66
- .align 2, 0
-_08033C38: .4byte gEnemyParty
-_08033C3C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033C48 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x3D
- b _08033C66
- .align 2, 0
-_08033C48: .4byte gEnemyParty
-_08033C4C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033C58 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x3E
- b _08033C66
- .align 2, 0
-_08033C58: .4byte gEnemyParty
-_08033C5C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033C78 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x3F
-_08033C66:
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- strb r0, [r7]
- lsrs r0, 8
- strb r0, [r7, 0x1]
- movs r6, 0x2
- b _08033D2E
- .align 2, 0
-_08033C78: .4byte gEnemyParty
-_08033C7C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033C88 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x16
- b _08033D26
- .align 2, 0
-_08033C88: .4byte gEnemyParty
-_08033C8C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033C98 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x17
- b _08033D26
- .align 2, 0
-_08033C98: .4byte gEnemyParty
-_08033C9C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033CA8 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x18
- b _08033D26
- .align 2, 0
-_08033CA8: .4byte gEnemyParty
-_08033CAC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033CB8 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x21
- b _08033D26
- .align 2, 0
-_08033CB8: .4byte gEnemyParty
-_08033CBC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033CC8 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x2F
- b _08033D26
- .align 2, 0
-_08033CC8: .4byte gEnemyParty
-_08033CCC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033CD8 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x30
- b _08033D26
- .align 2, 0
-_08033CD8: .4byte gEnemyParty
-_08033CDC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033CE8 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x32
- b _08033D26
- .align 2, 0
-_08033CE8: .4byte gEnemyParty
-_08033CEC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033CF8 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x33
- b _08033D26
- .align 2, 0
-_08033CF8: .4byte gEnemyParty
-_08033CFC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033D08 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x34
- b _08033D26
- .align 2, 0
-_08033D08: .4byte gEnemyParty
-_08033D0C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033D18 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x35
- b _08033D26
- .align 2, 0
-_08033D18: .4byte gEnemyParty
-_08033D1C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033D40 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x36
-_08033D26:
- bl GetMonData
- strb r0, [r7]
- movs r6, 0x1
-_08033D2E:
- adds r0, r6, 0
- add sp, 0x90
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08033D40: .4byte gEnemyParty
- thumb_func_end sub_8033598
-
- thumb_func_start dp01t_01_2_read_pokmon_data_slice
-dp01t_01_2_read_pokmon_data_slice: @ 8033D44
- push {r4-r7,lr}
- sub sp, 0x58
- ldr r2, _08033DBC @ =gBattlePartyID
- ldr r5, _08033DC0 @ =gActiveBank
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- adds r4, r2, 0
- muls r4, r0
- ldr r3, _08033DC4 @ =gBattleBufferA
- lsls r1, 9
- adds r0, r3, 0x1
- adds r0, r1, r0
- ldrb r2, [r0]
- ldr r0, _08033DC8 @ =gEnemyParty
- adds r0, r2, r0
- adds r6, r4, r0
- mov r0, sp
- adds r4, r0, r2
- movs r2, 0
- adds r0, r3, 0x2
- adds r1, r0
- adds r7, r5, 0
- mov r12, r3
- ldrb r1, [r1]
- cmp r2, r1
- bcs _08033D9A
- adds r3, r0, 0
-_08033D80:
- adds r1, r4, r2
- adds r0, r6, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- ldrb r0, [r5]
- lsls r0, 9
- adds r0, r3
- ldrb r0, [r0]
- cmp r2, r0
- bcc _08033D80
-_08033D9A:
- ldrb r0, [r7]
- lsls r0, 9
- mov r1, r12
- adds r1, 0x2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- adds r2, r4, 0
- bl dp01_build_cmdbuf_x1D_1D_numargs_varargs
- bl OpponentBufferExecCompleted
- add sp, 0x58
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08033DBC: .4byte gBattlePartyID
-_08033DC0: .4byte gActiveBank
-_08033DC4: .4byte gBattleBufferA
-_08033DC8: .4byte gEnemyParty
- thumb_func_end dp01t_01_2_read_pokmon_data_slice
-
- thumb_func_start OpponentHandleSetAttributes
-OpponentHandleSetAttributes: @ 8033DCC
- push {r4,r5,lr}
- ldr r1, _08033DF0 @ =gBattleBufferA
- ldr r0, _08033DF4 @ =gActiveBank
- ldrb r2, [r0]
- lsls r0, r2, 9
- adds r1, 0x2
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0
- bne _08033DFC
- ldr r0, _08033DF8 @ =gBattlePartyID
- lsls r1, r2, 1
- adds r1, r0
- ldrb r0, [r1]
- bl sub_8033E24
- b _08033E1A
- .align 2, 0
-_08033DF0: .4byte gBattleBufferA
-_08033DF4: .4byte gActiveBank
-_08033DF8: .4byte gBattlePartyID
-_08033DFC:
- ldrb r4, [r1]
- movs r5, 0
-_08033E00:
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _08033E0E
- adds r0, r5, 0
- bl sub_8033E24
-_08033E0E:
- lsrs r4, 1
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _08033E00
-_08033E1A:
- bl OpponentBufferExecCompleted
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end OpponentHandleSetAttributes
-
- thumb_func_start sub_8033E24
-sub_8033E24: @ 8033E24
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x38
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r3, _08033E5C @ =gActiveBank
- ldrb r0, [r3]
- lsls r0, 9
- ldr r2, _08033E60 @ =gUnknown_02023A63
- adds r4, r0, r2
- adds r7, r4, 0
- subs r1, r2, 0x2
- adds r0, r1
- ldrb r0, [r0]
- adds r6, r3, 0
- adds r3, r2, 0
- cmp r0, 0x3B
- bls _08033E52
- bl _08034730
-_08033E52:
- lsls r0, 2
- ldr r1, _08033E64 @ =_08033E68
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08033E5C: .4byte gActiveBank
-_08033E60: .4byte gUnknown_02023A63
-_08033E64: .4byte _08033E68
- .align 2, 0
-_08033E68:
- .4byte _08033F58
- .4byte _080340F0
- .4byte _0803410C
- .4byte _08034128
- .4byte _0803417C
- .4byte _0803417C
- .4byte _0803417C
- .4byte _0803417C
- .4byte _0803419C
- .4byte _08034204
- .4byte _08034204
- .4byte _08034204
- .4byte _08034204
- .4byte _08034730
- .4byte _08034730
- .4byte _08034730
- .4byte _08034730
- .4byte _0803422C
- .4byte _08034248
- .4byte _08034264
- .4byte _08034280
- .4byte _0803429C
- .4byte _080342B8
- .4byte _080342D4
- .4byte _080342F0
- .4byte _0803430C
- .4byte _08034328
- .4byte _08034344
- .4byte _08034360
- .4byte _0803437C
- .4byte _08034398
- .4byte _080343B4
- .4byte _08034428
- .4byte _08034444
- .4byte _08034460
- .4byte _0803447C
- .4byte _08034498
- .4byte _080344B4
- .4byte _080344D0
- .4byte _080344EC
- .4byte _08034508
- .4byte _08034524
- .4byte _08034540
- .4byte _0803455C
- .4byte _08034578
- .4byte _08034594
- .4byte _080345B0
- .4byte _080345CC
- .4byte _080345E8
- .4byte _08034604
- .4byte _08034620
- .4byte _0803463C
- .4byte _08034658
- .4byte _08034674
- .4byte _08034690
- .4byte _080346AC
- .4byte _080346C8
- .4byte _080346E4
- .4byte _08034700
- .4byte _0803471C
-_08033F58:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _080340EC @ =gEnemyParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xB
- adds r2, r7, 0
- bl SetMonData
- adds r2, r7, 0
- adds r2, 0x2E
- adds r0, r4, 0
- movs r1, 0xC
- bl SetMonData
- movs r0, 0
- mov r8, r0
- movs r0, 0x3B
- adds r0, r7
- mov r10, r0
- adds r0, r7, 0
- adds r0, 0x2B
- str r0, [sp, 0x20]
- adds r0, 0x19
- str r0, [sp, 0x28]
- adds r0, 0x4
- str r0, [sp, 0x2C]
- adds r0, 0x4
- str r0, [sp, 0x30]
- subs r0, 0x22
- str r0, [sp, 0x1C]
- subs r0, 0x2
- str r0, [sp, 0x18]
- adds r0, 0x4
- str r0, [sp, 0x24]
- adds r0, r7, 0x2
- str r0, [sp, 0x4]
- adds r0, r7, 0x4
- str r0, [sp, 0x8]
- adds r0, r7, 0x6
- str r0, [sp, 0xC]
- adds r0, 0x2
- str r0, [sp, 0x10]
- adds r0, 0x2
- str r0, [sp, 0x14]
- mov r9, r4
- adds r6, r7, 0
- adds r6, 0x24
- adds r4, r7, 0
- adds r4, 0xC
-_08033FBE:
- mov r1, r8
- adds r1, 0xD
- mov r0, r9
- adds r2, r4, 0
- bl SetMonData
- mov r1, r8
- adds r1, 0x11
- mov r0, r9
- adds r2, r6, 0
- bl SetMonData
- adds r6, 0x1
- adds r4, 0x2
- movs r0, 0x1
- add r8, r0
- mov r0, r8
- cmp r0, 0x3
- ble _08033FBE
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _080340EC @ =gEnemyParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x15
- mov r2, r10
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x20
- ldr r2, [sp, 0x20]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x19
- ldr r2, [sp, 0x28]
- bl SetMonData
- ldrb r0, [r7, 0x14]
- lsls r0, 27
- lsrs r0, 27
- mov r1, sp
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x27
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrh r0, [r7, 0x14]
- lsls r0, 22
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x28
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrb r0, [r7, 0x15]
- lsls r0, 25
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x29
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldr r0, [r7, 0x14]
- lsls r0, 12
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x2A
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrh r0, [r7, 0x16]
- lsls r0, 23
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x2B
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrb r0, [r7, 0x17]
- lsls r0, 26
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x2C
- mov r2, sp
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0
- ldr r2, [sp, 0x2C]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x37
- ldr r2, [sp, 0x30]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x38
- ldr r2, [sp, 0x1C]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x39
- ldr r2, [sp, 0x18]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3A
- ldr r2, [sp, 0x24]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3B
- ldr r2, [sp, 0x4]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3C
- ldr r2, [sp, 0x8]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3D
- ldr r2, [sp, 0xC]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3E
- ldr r2, [sp, 0x10]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3F
- ldr r2, [sp, 0x14]
- bl SetMonData
- b _08034730
- .align 2, 0
-_080340EC: .4byte gEnemyParty
-_080340F0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034108 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0xB
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034108: .4byte gEnemyParty
-_0803410C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034124 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0xC
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034124: .4byte gEnemyParty
-_08034128:
- movs r0, 0
- mov r8, r0
- movs r0, 0xC
- adds r0, r4
- mov r9, r0
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _08034178 @ =gEnemyParty
- adds r7, r1, r0
- adds r6, r4, 0
- adds r6, 0x8
-_08034140:
- mov r1, r8
- adds r1, 0xD
- adds r0, r7, 0
- adds r2, r4, 0
- bl SetMonData
- mov r1, r8
- adds r1, 0x11
- adds r0, r7, 0
- adds r2, r6, 0
- bl SetMonData
- adds r6, 0x1
- adds r4, 0x2
- movs r0, 0x1
- add r8, r0
- mov r0, r8
- cmp r0, 0x3
- ble _08034140
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034178 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x15
- mov r2, r9
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034178: .4byte gEnemyParty
-_0803417C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034194 @ =gEnemyParty
- adds r0, r1
- ldr r3, _08034198 @ =gBattleBufferA
- ldrb r2, [r6]
- lsls r2, 9
- adds r1, r3, 0x1
- adds r1, r2, r1
- ldrb r1, [r1]
- adds r1, 0x9
- b _0803421A
- .align 2, 0
-_08034194: .4byte gEnemyParty
-_08034198: .4byte gBattleBufferA
-_0803419C:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _08034200 @ =gEnemyParty
- adds r4, r0
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- adds r0, r4, 0
- movs r1, 0x11
- str r3, [sp, 0x34]
- bl SetMonData
- ldrb r2, [r6]
- lsls r2, 9
- ldr r3, [sp, 0x34]
- adds r0, r3, 0x1
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x12
- bl SetMonData
- ldrb r2, [r6]
- lsls r2, 9
- ldr r3, [sp, 0x34]
- adds r0, r3, 0x2
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x13
- bl SetMonData
- ldrb r2, [r6]
- lsls r2, 9
- ldr r3, [sp, 0x34]
- adds r0, r3, 0x3
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x14
- bl SetMonData
- ldrb r2, [r6]
- lsls r2, 9
- ldr r3, [sp, 0x34]
- adds r0, r3, 0x4
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x15
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034200: .4byte gEnemyParty
-_08034204:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034224 @ =gEnemyParty
- adds r0, r1
- ldr r3, _08034228 @ =gBattleBufferA
- ldrb r2, [r6]
- lsls r2, 9
- adds r1, r3, 0x1
- adds r1, r2, r1
- ldrb r1, [r1]
- adds r1, 0x8
-_0803421A:
- adds r3, 0x3
- adds r2, r3
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034224: .4byte gEnemyParty
-_08034228: .4byte gBattleBufferA
-_0803422C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034244 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x1
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034244: .4byte gEnemyParty
-_08034248:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034260 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x19
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034260: .4byte gEnemyParty
-_08034264:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0803427C @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x1A
- bl SetMonData
- b _08034730
- .align 2, 0
-_0803427C: .4byte gEnemyParty
-_08034280:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034298 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x1B
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034298: .4byte gEnemyParty
-_0803429C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080342B4 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x1C
- bl SetMonData
- b _08034730
- .align 2, 0
-_080342B4: .4byte gEnemyParty
-_080342B8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080342D0 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x1D
- bl SetMonData
- b _08034730
- .align 2, 0
-_080342D0: .4byte gEnemyParty
-_080342D4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080342EC @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x1E
- bl SetMonData
- b _08034730
- .align 2, 0
-_080342EC: .4byte gEnemyParty
-_080342F0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034308 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x1F
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034308: .4byte gEnemyParty
-_0803430C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034324 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x20
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034324: .4byte gEnemyParty
-_08034328:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034340 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x22
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034340: .4byte gEnemyParty
-_08034344:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0803435C @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x23
- bl SetMonData
- b _08034730
- .align 2, 0
-_0803435C: .4byte gEnemyParty
-_08034360:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034378 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x24
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034378: .4byte gEnemyParty
-_0803437C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034394 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x25
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034394: .4byte gEnemyParty
-_08034398:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080343B0 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x26
- bl SetMonData
- b _08034730
- .align 2, 0
-_080343B0: .4byte gEnemyParty
-_080343B4:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _08034424 @ =gEnemyParty
- adds r4, r0
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- adds r0, r4, 0
- movs r1, 0x27
- str r3, [sp, 0x34]
- bl SetMonData
- ldrb r2, [r6]
- lsls r2, 9
- ldr r3, [sp, 0x34]
- adds r0, r3, 0x1
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x28
- bl SetMonData
- ldrb r2, [r6]
- lsls r2, 9
- ldr r3, [sp, 0x34]
- adds r0, r3, 0x2
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x29
- bl SetMonData
- ldrb r2, [r6]
- lsls r2, 9
- ldr r3, [sp, 0x34]
- adds r0, r3, 0x3
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x2A
- bl SetMonData
- ldrb r2, [r6]
- lsls r2, 9
- ldr r3, [sp, 0x34]
- adds r0, r3, 0x4
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x2B
- bl SetMonData
- ldrb r2, [r6]
- lsls r2, 9
- ldr r3, [sp, 0x34]
- adds r0, r3, 0x5
- adds r2, r0
- adds r0, r4, 0
- b _080344C2
- .align 2, 0
-_08034424: .4byte gEnemyParty
-_08034428:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034440 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x27
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034440: .4byte gEnemyParty
-_08034444:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0803445C @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x28
- bl SetMonData
- b _08034730
- .align 2, 0
-_0803445C: .4byte gEnemyParty
-_08034460:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034478 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x29
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034478: .4byte gEnemyParty
-_0803447C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034494 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x2A
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034494: .4byte gEnemyParty
-_08034498:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080344B0 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x2B
- bl SetMonData
- b _08034730
- .align 2, 0
-_080344B0: .4byte gEnemyParty
-_080344B4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080344CC @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
-_080344C2:
- movs r1, 0x2C
- bl SetMonData
- b _08034730
- .align 2, 0
-_080344CC: .4byte gEnemyParty
-_080344D0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080344E8 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0
- bl SetMonData
- b _08034730
- .align 2, 0
-_080344E8: .4byte gEnemyParty
-_080344EC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034504 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x9
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034504: .4byte gEnemyParty
-_08034508:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034520 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x37
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034520: .4byte gEnemyParty
-_08034524:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0803453C @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x38
- bl SetMonData
- b _08034730
- .align 2, 0
-_0803453C: .4byte gEnemyParty
-_08034540:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034558 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x39
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034558: .4byte gEnemyParty
-_0803455C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034574 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x3A
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034574: .4byte gEnemyParty
-_08034578:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034590 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x3B
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034590: .4byte gEnemyParty
-_08034594:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080345AC @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x3C
- bl SetMonData
- b _08034730
- .align 2, 0
-_080345AC: .4byte gEnemyParty
-_080345B0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080345C8 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x3D
- bl SetMonData
- b _08034730
- .align 2, 0
-_080345C8: .4byte gEnemyParty
-_080345CC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080345E4 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x3E
- bl SetMonData
- b _08034730
- .align 2, 0
-_080345E4: .4byte gEnemyParty
-_080345E8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034600 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x3F
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034600: .4byte gEnemyParty
-_08034604:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0803461C @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x16
- bl SetMonData
- b _08034730
- .align 2, 0
-_0803461C: .4byte gEnemyParty
-_08034620:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034638 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x17
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034638: .4byte gEnemyParty
-_0803463C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034654 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x18
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034654: .4byte gEnemyParty
-_08034658:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034670 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x21
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034670: .4byte gEnemyParty
-_08034674:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0803468C @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x2F
- bl SetMonData
- b _08034730
- .align 2, 0
-_0803468C: .4byte gEnemyParty
-_08034690:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080346A8 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x30
- bl SetMonData
- b _08034730
- .align 2, 0
-_080346A8: .4byte gEnemyParty
-_080346AC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080346C4 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x32
- bl SetMonData
- b _08034730
- .align 2, 0
-_080346C4: .4byte gEnemyParty
-_080346C8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080346E0 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x33
- bl SetMonData
- b _08034730
- .align 2, 0
-_080346E0: .4byte gEnemyParty
-_080346E4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080346FC @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x34
- bl SetMonData
- b _08034730
- .align 2, 0
-_080346FC: .4byte gEnemyParty
-_08034700:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034718 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x35
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034718: .4byte gEnemyParty
-_0803471C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034740 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x36
- bl SetMonData
-_08034730:
- add sp, 0x38
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08034740: .4byte gEnemyParty
- thumb_func_end sub_8033E24
-
- thumb_func_start sub_8034744
-sub_8034744: @ 8034744
- push {r4-r7,lr}
- ldr r1, _080347A8 @ =gBattlePartyID
- ldr r7, _080347AC @ =gActiveBank
- ldrb r2, [r7]
- lsls r0, r2, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- adds r3, r1, 0
- muls r3, r0
- ldr r4, _080347B0 @ =gBattleBufferA
- lsls r2, 9
- adds r0, r4, 0x1
- adds r0, r2, r0
- ldrb r0, [r0]
- ldr r1, _080347B4 @ =gEnemyParty
- adds r0, r1
- adds r5, r3, r0
- movs r3, 0
- adds r0, r4, 0x2
- adds r2, r0
- ldrb r2, [r2]
- cmp r3, r2
- bcs _0803479C
- adds r6, r4, 0
- adds r2, r7, 0
- adds r4, r0, 0
-_0803477A:
- adds r1, r5, r3
- ldrb r0, [r2]
- lsls r0, 9
- adds r0, 0x3
- adds r0, r3, r0
- adds r0, r6
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- ldrb r0, [r2]
- lsls r0, 9
- adds r0, r4
- ldrb r0, [r0]
- cmp r3, r0
- bcc _0803477A
-_0803479C:
- bl OpponentBufferExecCompleted
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080347A8: .4byte gBattlePartyID
-_080347AC: .4byte gActiveBank
-_080347B0: .4byte gBattleBufferA
-_080347B4: .4byte gEnemyParty
- thumb_func_end sub_8034744
-
- thumb_func_start OpponentHandleLoadPokeSprite
-OpponentHandleLoadPokeSprite: @ 80347B8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r6, _080348E8 @ =gActiveBank
- ldrb r0, [r6]
- lsls r0, 1
- ldr r1, _080348EC @ =gBattlePartyID
- adds r0, r1
- ldrh r0, [r0]
- movs r7, 0x64
- muls r0, r7
- ldr r2, _080348F0 @ =gEnemyParty
- mov r10, r2
- add r0, r10
- movs r1, 0xB
- bl GetMonData
- mov r8, r0
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldrb r1, [r6]
- lsls r0, r1, 1
- ldr r2, _080348EC @ =gBattlePartyID
- adds r0, r2
- ldrh r0, [r0]
- muls r0, r7
- add r0, r10
- bl sub_8031794
- ldrb r0, [r6]
- bl GetBankIdentity
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, r8
- bl GetMonSpriteTemplate_803C56C
- ldr r0, _080348F4 @ =gUnknown_02024E8C
- mov r9, r0
- ldrb r0, [r6]
- movs r1, 0x2
- bl sub_8077ABC
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldrb r0, [r6]
- bl sub_8077F68
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldrb r0, [r6]
- bl sub_8079E90
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- mov r0, r9
- adds r1, r5, 0
- adds r2, r4, 0
- bl CreateSprite
- ldr r4, _080348F8 @ =gObjectBankIDs
- ldrb r1, [r6]
- adds r1, r4
- strb r0, [r1]
- ldr r5, _080348FC @ =gSprites
- ldrb r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _08034900 @ =0x0000ff10
- strh r1, [r0, 0x24]
- ldrb r2, [r6]
- adds r0, r2, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x2E]
- ldrb r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r8
- strh r1, [r0, 0x32]
- ldrb r3, [r6]
- adds r0, r3, r4
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- lsls r3, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldrb r2, [r6]
- adds r4, r2, r4
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _08034904 @ =gBattleMonForms
- adds r2, r1
- ldrb r1, [r2]
- bl StartSpriteAnim
- ldrb r4, [r6]
- lsls r0, r4, 1
- ldr r2, _080348EC @ =gBattlePartyID
- adds r0, r2
- ldrh r0, [r0]
- muls r0, r7
- add r0, r10
- movs r1, 0xB
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_8032984
- ldr r1, _08034908 @ =gBattleBankFunc
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0803490C @ =sub_8033018
- str r1, [r0]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080348E8: .4byte gActiveBank
-_080348EC: .4byte gBattlePartyID
-_080348F0: .4byte gEnemyParty
-_080348F4: .4byte gUnknown_02024E8C
-_080348F8: .4byte gObjectBankIDs
-_080348FC: .4byte gSprites
-_08034900: .4byte 0x0000ff10
-_08034904: .4byte gBattleMonForms
-_08034908: .4byte gBattleBankFunc
-_0803490C: .4byte sub_8033018
- thumb_func_end OpponentHandleLoadPokeSprite
-
- thumb_func_start OpponentHandleSendOutPoke
-OpponentHandleSendOutPoke: @ 8034910
- push {r4,lr}
- ldr r1, _08034948 @ =gBattlePartyID
- ldr r4, _0803494C @ =gActiveBank
- ldrb r0, [r4]
- lsls r2, r0, 1
- adds r2, r1
- ldr r3, _08034950 @ =gBattleBufferA
- lsls r0, 9
- adds r1, r3, 0x1
- adds r0, r1
- ldrb r0, [r0]
- strh r0, [r2]
- ldrb r0, [r4]
- lsls r1, r0, 9
- adds r3, 0x2
- adds r1, r3
- ldrb r1, [r1]
- bl sub_803495C
- ldr r1, _08034954 @ =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08034958 @ =sub_80333D4
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08034948: .4byte gBattlePartyID
-_0803494C: .4byte gActiveBank
-_08034950: .4byte gBattleBufferA
-_08034954: .4byte gBattleBankFunc
-_08034958: .4byte sub_80333D4
- thumb_func_end OpponentHandleSendOutPoke
-
- thumb_func_start sub_803495C
-sub_803495C: @ 803495C
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl sub_8032AA8
- ldr r0, _08034AB8 @ =gBattlePartyID
- lsls r4, r6, 1
- adds r4, r0
- ldr r0, _08034ABC @ =gBattleBufferA
- lsls r1, r6, 9
- adds r0, 0x1
- adds r1, r0
- ldrb r0, [r1]
- strh r0, [r4]
- ldrh r0, [r4]
- movs r1, 0x64
- mov r9, r1
- mov r1, r9
- muls r1, r0
- adds r0, r1, 0
- ldr r5, _08034AC0 @ =gEnemyParty
- adds r0, r5
- movs r1, 0xB
- bl GetMonData
- mov r8, r0
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r0, _08034AC4 @ =sub_80312F0
- bl CreateInvisibleSpriteWithCallback
- ldr r1, _08034AC8 @ =gUnknown_0300434C
- mov r10, r1
- add r10, r6
- mov r1, r10
- strb r0, [r1]
- ldrh r0, [r4]
- mov r1, r9
- muls r1, r0
- adds r0, r1, 0
- adds r0, r5
- adds r1, r6, 0
- bl sub_8031794
- adds r0, r6, 0
- bl GetBankIdentity
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, r8
- bl GetMonSpriteTemplate_803C56C
- ldr r0, _08034ACC @ =gUnknown_02024E8C
- mov r9, r0
- adds r0, r6, 0
- movs r1, 0x2
- bl sub_8077ABC
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r6, 0
- bl sub_8077F68
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- bl sub_8079E90
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- mov r0, r9
- adds r1, r5, 0
- adds r2, r4, 0
- bl CreateSprite
- ldr r4, _08034AD0 @ =gObjectBankIDs
- adds r4, r6, r4
- strb r0, [r4]
- ldr r5, _08034AD4 @ =gSprites
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r6, [r0, 0x2E]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r8
- strh r1, [r0, 0x32]
- mov r0, r10
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r1, [r4]
- strh r1, [r0, 0x30]
- ldrb r0, [r4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- lsls r3, r6, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _08034AD8 @ =gBattleMonForms
- adds r6, r1
- ldrb r1, [r6]
- bl StartSpriteAnim
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _08034ADC @ =SpriteCallbackDummy
- str r1, [r0]
- movs r0, 0
- movs r1, 0xFE
- bl sub_8046400
- mov r1, r10
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r5
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x2E]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08034AB8: .4byte gBattlePartyID
-_08034ABC: .4byte gBattleBufferA
-_08034AC0: .4byte gEnemyParty
-_08034AC4: .4byte sub_80312F0
-_08034AC8: .4byte gUnknown_0300434C
-_08034ACC: .4byte gUnknown_02024E8C
-_08034AD0: .4byte gObjectBankIDs
-_08034AD4: .4byte gSprites
-_08034AD8: .4byte gBattleMonForms
-_08034ADC: .4byte SpriteCallbackDummy
- thumb_func_end sub_803495C
-
- thumb_func_start OpponentHandleReturnPokeToBall
-OpponentHandleReturnPokeToBall: @ 8034AE0
- push {r4-r6,lr}
- ldr r1, _08034B10 @ =gBattleBufferA
- ldr r6, _08034B14 @ =gActiveBank
- ldrb r2, [r6]
- lsls r0, r2, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r3, [r0]
- cmp r3, 0
- bne _08034B24
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- ldr r1, _08034B18 @ =0x02017810
- adds r0, r1
- strb r3, [r0, 0x4]
- ldr r1, _08034B1C @ =gBattleBankFunc
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08034B20 @ =sub_8034B74
- str r1, [r0]
- b _08034B60
- .align 2, 0
-_08034B10: .4byte gBattleBufferA
-_08034B14: .4byte gActiveBank
-_08034B18: .4byte 0x02017810
-_08034B1C: .4byte gBattleBankFunc
-_08034B20: .4byte sub_8034B74
-_08034B24:
- ldr r5, _08034B68 @ =gObjectBankIDs
- adds r0, r2, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, _08034B6C @ =gSprites
- adds r0, r4
- bl FreeSpriteOamMatrix
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldrb r0, [r6]
- bl sub_8032A08
- ldr r1, _08034B70 @ =gHealthboxIDs
- ldrb r0, [r6]
- adds r0, r1
- ldrb r0, [r0]
- bl sub_8043DB0
- bl OpponentBufferExecCompleted
-_08034B60:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08034B68: .4byte gObjectBankIDs
-_08034B6C: .4byte gSprites
-_08034B70: .4byte gHealthboxIDs
- thumb_func_end OpponentHandleReturnPokeToBall
-
- thumb_func_start sub_8034B74
-sub_8034B74: @ 8034B74
- push {r4,r5,lr}
- ldr r5, _08034B90 @ =gActiveBank
- ldrb r2, [r5]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- ldr r4, _08034B94 @ =0x02017810
- adds r3, r0, r4
- ldrb r0, [r3, 0x4]
- cmp r0, 0
- beq _08034B98
- cmp r0, 0x1
- beq _08034BC4
- b _08034BEC
- .align 2, 0
-_08034B90: .4byte gActiveBank
-_08034B94: .4byte 0x02017810
-_08034B98:
- lsls r0, r2, 2
- adds r1, r4, 0
- subs r1, 0x10
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08034BB4
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x5
- bl move_anim_start_t4
-_08034BB4:
- ldrb r0, [r5]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- movs r0, 0x1
- strb r0, [r1, 0x4]
- b _08034BEC
-_08034BC4:
- ldrb r1, [r3]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _08034BEC
- strb r0, [r3, 0x4]
- ldrb r2, [r5]
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x2
- bl move_anim_start_t4
- ldr r1, _08034BF4 @ =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08034BF8 @ =sub_8033160
- str r1, [r0]
-_08034BEC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08034BF4: .4byte gBattleBankFunc
-_08034BF8: .4byte sub_8033160
- thumb_func_end sub_8034B74
-
- thumb_func_start OpponentHandleTrainerThrow
-OpponentHandleTrainerThrow: @ 8034BFC
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- ldr r3, _08034C18 @ =gTrainerBattleOpponent
- ldrh r1, [r3]
- movs r0, 0x80
- lsls r0, 3
- cmp r1, r0
- bne _08034C1C
- bl GetSecretBaseTrainerPicIndex
- b _08034C42
- .align 2, 0
-_08034C18: .4byte gTrainerBattleOpponent
-_08034C1C:
- ldr r0, _08034C30 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _08034C34
- bl get_trainer_class_pic_index
- b _08034C42
- .align 2, 0
-_08034C30: .4byte gBattleTypeFlags
-_08034C34:
- movs r0, 0x80
- lsls r0, 4
- ands r0, r1
- cmp r0, 0
- beq _08034C48
- bl sub_8135FBC
-_08034C42:
- lsls r0, 24
- lsrs r0, 24
- b _08034C56
-_08034C48:
- ldr r2, _08034D88 @ =gTrainers
- ldrh r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x3]
-_08034C56:
- mov r9, r0
- ldr r0, _08034D8C @ =gActiveBank
- mov r8, r0
- ldrb r1, [r0]
- mov r0, r9
- bl sub_8031A6C
- mov r1, r8
- ldrb r0, [r1]
- bl GetBankIdentity
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, r9
- bl GetMonSpriteTemplate_803C5A0
- ldr r5, _08034D90 @ =gUnknown_02024E8C
- ldr r1, _08034D94 @ =gTrainerFrontPicCoords
- mov r2, r9
- lsls r0, r2, 2
- adds r0, r1
- ldrb r0, [r0]
- movs r4, 0x8
- subs r4, r0
- lsls r4, 18
- movs r0, 0xA0
- lsls r0, 14
- adds r4, r0
- asrs r4, 16
- mov r1, r8
- ldrb r0, [r1]
- bl sub_8079E90
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r5, 0
- movs r1, 0xB0
- adds r2, r4, 0
- bl CreateSprite
- ldr r5, _08034D98 @ =gObjectBankIDs
- mov r2, r8
- ldrb r1, [r2]
- adds r1, r5
- strb r0, [r1]
- ldr r4, _08034D9C @ =gSprites
- ldrb r0, [r2]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, _08034DA0 @ =0x0000ff10
- strh r1, [r0, 0x24]
- ldrb r0, [r2]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x2
- strh r1, [r0, 0x2E]
- ldr r0, _08034DA4 @ =gTrainerFrontPicPaletteTable
- mov r1, r9
- lsls r6, r1, 3
- adds r0, r6, r0
- ldrh r0, [r0, 0x4]
- bl IndexOfSpritePaletteTag
- mov r2, r8
- ldrb r1, [r2]
- adds r1, r5
- ldrb r1, [r1]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r4
- lsls r0, 4
- ldrb r3, [r2, 0x5]
- movs r1, 0xF
- ands r1, r3
- orrs r1, r0
- strb r1, [r2, 0x5]
- mov r1, r8
- ldrb r0, [r1]
- adds r0, r5
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrh r0, [r1, 0x4]
- lsls r0, 22
- lsrs r0, 22
- strh r0, [r1, 0x38]
- ldr r0, _08034DA8 @ =gTrainerFrontPicTable
- adds r6, r0
- ldrh r0, [r6, 0x6]
- bl GetSpriteTileStartByTag
- mov r2, r8
- ldrb r1, [r2]
- adds r1, r5
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- ldr r2, _08034DAC @ =0x000003ff
- ands r2, r0
- ldrh r3, [r1, 0x4]
- ldr r0, _08034DB0 @ =0xfffffc00
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, 0x4]
- mov r1, r8
- ldrb r0, [r1]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- mov r2, r9
- strh r2, [r0, 0x6]
- mov r1, r8
- ldrb r0, [r1]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, 0x1C
- adds r0, r4
- ldr r1, _08034DB4 @ =sub_80313A0
- str r1, [r0]
- ldr r1, _08034DB8 @ =gBattleBankFunc
- mov r2, r8
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08034DBC @ =sub_8032B4C
- str r1, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08034D88: .4byte gTrainers
-_08034D8C: .4byte gActiveBank
-_08034D90: .4byte gUnknown_02024E8C
-_08034D94: .4byte gTrainerFrontPicCoords
-_08034D98: .4byte gObjectBankIDs
-_08034D9C: .4byte gSprites
-_08034DA0: .4byte 0x0000ff10
-_08034DA4: .4byte gTrainerFrontPicPaletteTable
-_08034DA8: .4byte gTrainerFrontPicTable
-_08034DAC: .4byte 0x000003ff
-_08034DB0: .4byte 0xfffffc00
-_08034DB4: .4byte sub_80313A0
-_08034DB8: .4byte gBattleBankFunc
-_08034DBC: .4byte sub_8032B4C
- thumb_func_end OpponentHandleTrainerThrow
-
- thumb_func_start OpponentHandleTrainerSlide
-OpponentHandleTrainerSlide: @ 8034DC0
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- ldr r3, _08034DDC @ =gTrainerBattleOpponent
- ldrh r1, [r3]
- movs r0, 0x80
- lsls r0, 3
- cmp r1, r0
- bne _08034DE0
- bl GetSecretBaseTrainerPicIndex
- b _08034E06
- .align 2, 0
-_08034DDC: .4byte gTrainerBattleOpponent
-_08034DE0:
- ldr r0, _08034DF4 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _08034DF8
- bl get_trainer_class_pic_index
- b _08034E06
- .align 2, 0
-_08034DF4: .4byte gBattleTypeFlags
-_08034DF8:
- movs r0, 0x80
- lsls r0, 4
- ands r0, r1
- cmp r0, 0
- beq _08034E0C
- bl sub_8135FBC
-_08034E06:
- lsls r0, 24
- lsrs r0, 24
- b _08034E1A
-_08034E0C:
- ldr r2, _08034F4C @ =gTrainers
- ldrh r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x3]
-_08034E1A:
- mov r9, r0
- ldr r0, _08034F50 @ =gActiveBank
- mov r8, r0
- ldrb r1, [r0]
- mov r0, r9
- bl sub_8031A6C
- mov r1, r8
- ldrb r0, [r1]
- bl GetBankIdentity
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, r9
- bl GetMonSpriteTemplate_803C5A0
- ldr r0, _08034F54 @ =gUnknown_02024E8C
- ldr r2, _08034F58 @ =gTrainerFrontPicCoords
- mov r3, r9
- lsls r1, r3, 2
- adds r1, r2
- ldrb r1, [r1]
- movs r2, 0x8
- subs r2, r1
- lsls r2, 18
- movs r1, 0xA0
- lsls r1, 14
- adds r2, r1
- asrs r2, 16
- movs r1, 0xB0
- movs r3, 0x1E
- bl CreateSprite
- ldr r5, _08034F5C @ =gObjectBankIDs
- mov r2, r8
- ldrb r1, [r2]
- adds r1, r5
- strb r0, [r1]
- ldr r4, _08034F60 @ =gSprites
- ldrb r0, [r2]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x60
- strh r1, [r0, 0x24]
- ldrb r0, [r2]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x20]
- adds r1, 0x20
- strh r1, [r0, 0x20]
- ldrb r0, [r2]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, _08034F64 @ =0x0000fffe
- strh r1, [r0, 0x2E]
- ldr r0, _08034F68 @ =gTrainerFrontPicPaletteTable
- mov r3, r9
- lsls r6, r3, 3
- adds r0, r6, r0
- ldrh r0, [r0, 0x4]
- bl IndexOfSpritePaletteTag
- mov r2, r8
- ldrb r1, [r2]
- adds r1, r5
- ldrb r1, [r1]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r4
- lsls r0, 4
- ldrb r3, [r2, 0x5]
- movs r1, 0xF
- ands r1, r3
- orrs r1, r0
- strb r1, [r2, 0x5]
- mov r3, r8
- ldrb r0, [r3]
- adds r0, r5
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrh r0, [r1, 0x4]
- lsls r0, 22
- lsrs r0, 22
- strh r0, [r1, 0x38]
- ldr r0, _08034F6C @ =gTrainerFrontPicTable
- adds r6, r0
- ldrh r0, [r6, 0x6]
- bl GetSpriteTileStartByTag
- mov r2, r8
- ldrb r1, [r2]
- adds r1, r5
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- ldr r2, _08034F70 @ =0x000003ff
- ands r2, r0
- ldrh r3, [r1, 0x4]
- ldr r0, _08034F74 @ =0xfffffc00
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, 0x4]
- mov r3, r8
- ldrb r0, [r3]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- mov r1, r9
- strh r1, [r0, 0x6]
- ldrb r0, [r3]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, 0x1C
- adds r0, r4
- ldr r1, _08034F78 @ =sub_80313A0
- str r1, [r0]
- ldr r1, _08034F7C @ =gBattleBankFunc
- ldrb r0, [r3]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08034F80 @ =sub_8032B84
- str r1, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08034F4C: .4byte gTrainers
-_08034F50: .4byte gActiveBank
-_08034F54: .4byte gUnknown_02024E8C
-_08034F58: .4byte gTrainerFrontPicCoords
-_08034F5C: .4byte gObjectBankIDs
-_08034F60: .4byte gSprites
-_08034F64: .4byte 0x0000fffe
-_08034F68: .4byte gTrainerFrontPicPaletteTable
-_08034F6C: .4byte gTrainerFrontPicTable
-_08034F70: .4byte 0x000003ff
-_08034F74: .4byte 0xfffffc00
-_08034F78: .4byte sub_80313A0
-_08034F7C: .4byte gBattleBankFunc
-_08034F80: .4byte sub_8032B84
- thumb_func_end OpponentHandleTrainerSlide
-
- thumb_func_start OpponentHandleTrainerSlideBack
-OpponentHandleTrainerSlideBack: @ 8034F84
- push {r4-r6,lr}
- ldr r6, _08035014 @ =gObjectBankIDs
- ldr r4, _08035018 @ =gActiveBank
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, _0803501C @ =gSprites
- adds r0, r5
- bl oamt_add_pos2_onto_pos1
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x23
- strh r1, [r0, 0x2E]
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x8C
- lsls r1, 1
- strh r1, [r0, 0x32]
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r0, 0x22]
- strh r1, [r0, 0x36]
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _08035020 @ =sub_8078B34
- str r1, [r0]
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _08035024 @ =SpriteCallbackDummy
- bl oamt_set_x3A_32
- ldr r1, _08035028 @ =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0803502C @ =sub_8032BBC
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08035014: .4byte gObjectBankIDs
-_08035018: .4byte gActiveBank
-_0803501C: .4byte gSprites
-_08035020: .4byte sub_8078B34
-_08035024: .4byte SpriteCallbackDummy
-_08035028: .4byte gBattleBankFunc
-_0803502C: .4byte sub_8032BBC
- thumb_func_end OpponentHandleTrainerSlideBack
-
- thumb_func_start sub_8035030
-sub_8035030: @ 8035030
- push {r4,r5,lr}
- ldr r5, _08035074 @ =gActiveBank
- ldrb r2, [r5]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- ldr r4, _08035078 @ =0x02017810
- adds r3, r0, r4
- ldrb r0, [r3, 0x4]
- cmp r0, 0
- bne _0803507C
- lsls r0, r2, 2
- adds r1, r4, 0
- subs r1, 0x10
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08035062
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x5
- bl move_anim_start_t4
-_08035062:
- ldrb r0, [r5]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r0, [r1, 0x4]
- adds r0, 0x1
- strb r0, [r1, 0x4]
- b _080350B8
- .align 2, 0
-_08035074: .4byte gActiveBank
-_08035078: .4byte 0x02017810
-_0803507C:
- ldrb r1, [r3]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080350B8
- strb r0, [r3, 0x4]
- movs r0, 0x10
- movs r1, 0x3F
- bl PlaySE12WithPanning
- ldr r2, _080350C0 @ =gSprites
- ldr r1, _080350C4 @ =gObjectBankIDs
- ldrb r0, [r5]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _080350C8 @ =sub_8010384
- str r1, [r0]
- ldr r1, _080350CC @ =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, _080350D0 @ =sub_803311C
- str r1, [r0]
-_080350B8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080350C0: .4byte gSprites
-_080350C4: .4byte gObjectBankIDs
-_080350C8: .4byte sub_8010384
-_080350CC: .4byte gBattleBankFunc
-_080350D0: .4byte sub_803311C
- thumb_func_end sub_8035030
-
- thumb_func_start sub_80350D4
-sub_80350D4: @ 80350D4
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80350D4
-
- thumb_func_start sub_80350E0
-sub_80350E0: @ 80350E0
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80350E0
-
- thumb_func_start OpponentHandleBallThrow
-OpponentHandleBallThrow: @ 80350EC
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end OpponentHandleBallThrow
-
- thumb_func_start OpponentHandlePause
-OpponentHandlePause: @ 80350F8
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end OpponentHandlePause
-
- thumb_func_start OpponentHandleMoveAnimation
-OpponentHandleMoveAnimation: @ 8035104
- push {r4-r6,lr}
- ldr r6, _080351E8 @ =gActiveBank
- ldrb r0, [r6]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- beq _08035116
- b _08035226
-_08035116:
- ldr r0, _080351EC @ =gBattleBufferA
- mov r12, r0
- ldrb r2, [r6]
- lsls r2, 9
- adds r0, 0x1
- adds r0, r2, r0
- ldrb r0, [r0]
- mov r1, r12
- adds r1, 0x2
- adds r1, r2, r1
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- ldr r5, _080351F0 @ =gUnknown_0202F7C4
- mov r1, r12
- adds r1, 0x3
- adds r2, r1
- ldrb r1, [r2]
- strb r1, [r5]
- ldr r4, _080351F4 @ =gMovePowerMoveAnim
- ldrb r2, [r6]
- lsls r2, 9
- mov r1, r12
- adds r1, 0x4
- adds r1, r2, r1
- ldrb r3, [r1]
- mov r1, r12
- adds r1, 0x5
- adds r2, r1
- ldrb r1, [r2]
- lsls r1, 8
- orrs r3, r1
- strh r3, [r4]
- ldr r4, _080351F8 @ =gMoveDmgMoveAnim
- ldrb r2, [r6]
- lsls r2, 9
- mov r1, r12
- adds r1, 0x6
- adds r1, r2, r1
- ldrb r3, [r1]
- mov r1, r12
- adds r1, 0x7
- adds r1, r2, r1
- ldrb r1, [r1]
- lsls r1, 8
- orrs r3, r1
- mov r1, r12
- adds r1, 0x8
- adds r1, r2, r1
- ldrb r1, [r1]
- lsls r1, 16
- orrs r3, r1
- mov r1, r12
- adds r1, 0x9
- adds r2, r1
- ldrb r1, [r2]
- lsls r1, 24
- orrs r3, r1
- str r3, [r4]
- ldr r3, _080351FC @ =gHappinessMoveAnim
- ldrb r1, [r6]
- lsls r1, 9
- mov r2, r12
- adds r2, 0xA
- adds r1, r2
- ldrb r1, [r1]
- strb r1, [r3]
- ldr r4, _08035200 @ =gWeatherMoveAnim
- ldrb r2, [r6]
- lsls r2, 9
- mov r1, r12
- adds r1, 0xC
- adds r1, r2, r1
- ldrb r3, [r1]
- mov r1, r12
- adds r1, 0xD
- adds r2, r1
- ldrb r1, [r2]
- lsls r1, 8
- orrs r3, r1
- strh r3, [r4]
- ldr r3, _08035204 @ =gDisableStructMoveAnim
- ldrb r2, [r6]
- lsls r2, 9
- mov r1, r12
- adds r1, 0x10
- adds r2, r1
- str r2, [r3]
- ldr r3, _08035208 @ =gPID_perBank
- ldrb r1, [r6]
- lsls r1, 2
- adds r1, r3
- ldr r2, [r2]
- str r2, [r1]
- ldrb r1, [r5]
- bl sub_8031720
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _0803520C
- bl OpponentBufferExecCompleted
- b _08035226
- .align 2, 0
-_080351E8: .4byte gActiveBank
-_080351EC: .4byte gBattleBufferA
-_080351F0: .4byte gUnknown_0202F7C4
-_080351F4: .4byte gMovePowerMoveAnim
-_080351F8: .4byte gMoveDmgMoveAnim
-_080351FC: .4byte gHappinessMoveAnim
-_08035200: .4byte gWeatherMoveAnim
-_08035204: .4byte gDisableStructMoveAnim
-_08035208: .4byte gPID_perBank
-_0803520C:
- ldrb r1, [r6]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, _0803522C @ =0x02017810
- adds r0, r1
- strb r2, [r0, 0x4]
- ldr r1, _08035230 @ =gBattleBankFunc
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08035234 @ =sub_8035238
- str r1, [r0]
-_08035226:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0803522C: .4byte 0x02017810
-_08035230: .4byte gBattleBankFunc
-_08035234: .4byte sub_8035238
- thumb_func_end OpponentHandleMoveAnimation
-
- thumb_func_start sub_8035238
-sub_8035238: @ 8035238
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r2, _0803527C @ =gBattleBufferA
- ldr r5, _08035280 @ =gActiveBank
- ldrb r3, [r5]
- lsls r1, r3, 9
- adds r0, r2, 0x1
- mov r9, r0
- adds r0, r1, r0
- ldrb r4, [r0]
- adds r6, r2, 0x2
- mov r8, r6
- adds r0, r1, r6
- ldrb r0, [r0]
- lsls r0, 8
- orrs r4, r0
- adds r2, 0xB
- adds r1, r2
- ldrb r7, [r1]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- ldr r6, _08035284 @ =0x02017810
- adds r0, r6
- ldrb r2, [r0, 0x4]
- cmp r2, 0x1
- beq _080352C6
- cmp r2, 0x1
- bgt _08035288
- cmp r2, 0
- beq _08035292
- b _08035390
- .align 2, 0
-_0803527C: .4byte gBattleBufferA
-_08035280: .4byte gActiveBank
-_08035284: .4byte 0x02017810
-_08035288:
- cmp r2, 0x2
- beq _080352EC
- cmp r2, 0x3
- beq _08035358
- b _08035390
-_08035292:
- lsls r1, r3, 2
- adds r0, r6, 0
- subs r0, 0x10
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0xC
- ands r0, r2
- cmp r0, 0x4
- bne _080352B6
- movs r0, 0x8
- orrs r0, r2
- strb r0, [r1]
- ldrb r2, [r5]
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x5
- bl move_anim_start_t4
-_080352B6:
- ldrb r0, [r5]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- movs r0, 0x1
- strb r0, [r1, 0x4]
- b _08035390
-_080352C6:
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _08035390
- movs r0, 0
- bl sub_80326EC
- adds r0, r4, 0
- bl ExecuteMoveAnim
- ldrb r0, [r5]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- movs r0, 0x2
- strb r0, [r1, 0x4]
- b _08035390
-_080352EC:
- ldr r0, _08035348 @ =gAnimScriptCallback
- ldr r0, [r0]
- bl _call_via_r0
- ldr r0, _0803534C @ =gAnimScriptActive
- ldrb r0, [r0]
- cmp r0, 0
- bne _08035390
- movs r0, 0x1
- bl sub_80326EC
- ldrb r2, [r5]
- lsls r0, r2, 2
- adds r4, r6, 0
- subs r4, 0x10
- adds r0, r4
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08035334
- cmp r7, 0x1
- bhi _08035334
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x6
- bl move_anim_start_t4
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r4
- ldrb r2, [r0]
- movs r1, 0x9
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
-_08035334:
- ldr r0, _08035350 @ =gActiveBank
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, _08035354 @ =0x02017810
- adds r0, r1
- movs r1, 0x3
- strb r1, [r0, 0x4]
- b _08035390
- .align 2, 0
-_08035348: .4byte gAnimScriptCallback
-_0803534C: .4byte gAnimScriptActive
-_08035350: .4byte gActiveBank
-_08035354: .4byte 0x02017810
-_08035358:
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _08035390
- bl sub_8031F24
- ldrb r0, [r5]
- lsls r2, r0, 9
- mov r3, r9
- adds r1, r2, r3
- ldrb r1, [r1]
- add r2, r8
- ldrb r2, [r2]
- lsls r2, 8
- orrs r1, r2
- bl sub_80324BC
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strb r4, [r0, 0x4]
- bl OpponentBufferExecCompleted
-_08035390:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8035238
-
- thumb_func_start OpponentHandlePrintString
-OpponentHandlePrintString: @ 803539C
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _080353E0 @ =gUnknown_030042A4
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080353E4 @ =gUnknown_030042A0
- strh r1, [r0]
- ldr r4, _080353E8 @ =gActiveBank
- ldrb r0, [r4]
- lsls r0, 9
- ldr r1, _080353EC @ =gUnknown_02023A62
- adds r0, r1
- ldrh r0, [r0]
- bl BufferStringBattle
- ldr r0, _080353F0 @ =gUnknown_03004210
- ldr r1, _080353F4 @ =gDisplayedStringBattle
- movs r2, 0xF
- str r2, [sp]
- movs r2, 0x90
- movs r3, 0x2
- bl sub_8002EB0
- ldr r1, _080353F8 @ =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _080353FC @ =sub_80331D0
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080353E0: .4byte gUnknown_030042A4
-_080353E4: .4byte gUnknown_030042A0
-_080353E8: .4byte gActiveBank
-_080353EC: .4byte gUnknown_02023A62
-_080353F0: .4byte gUnknown_03004210
-_080353F4: .4byte gDisplayedStringBattle
-_080353F8: .4byte gBattleBankFunc
-_080353FC: .4byte sub_80331D0
- thumb_func_end OpponentHandlePrintString
-
- thumb_func_start OpponentHandlePrintStringPlayerOnly
-OpponentHandlePrintStringPlayerOnly: @ 8035400
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end OpponentHandlePrintStringPlayerOnly
-
- thumb_func_start sub_803540C
-sub_803540C: @ 803540C
- push {lr}
- bl sub_8036B0C
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_803540C
-
- thumb_func_start sub_803541C
-sub_803541C: @ 803541C
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_803541C
-
- thumb_func_start sub_8035428
-sub_8035428: @ 8035428
- push {r4-r6,lr}
- ldr r6, _0803545C @ =gActiveBank
- ldrb r0, [r6]
- lsls r0, 9
- ldr r1, _08035460 @ =gUnknown_02023A64
- adds r5, r0, r1
- ldr r0, _08035464 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x93
- lsls r0, 3
- ands r0, r1
- cmp r0, 0
- beq _080354F8
- bl BattleAI_SetupAIData
- bl BattleAI_GetAIActionToUse
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- beq _08035468
- cmp r4, 0x5
- bne _08035474
- movs r0, 0x1
- movs r1, 0x4
- b _0803546C
- .align 2, 0
-_0803545C: .4byte gActiveBank
-_08035460: .4byte gUnknown_02023A64
-_08035464: .4byte gBattleTypeFlags
-_08035468:
- movs r0, 0x1
- movs r1, 0x3
-_0803546C:
- movs r2, 0
- bl dp01_build_cmdbuf_x21_a_bb
- b _080354E0
-_08035474:
- ldr r3, _080354E8 @ =gBattleMoves
- lsls r0, r4, 1
- adds r2, r5, r0
- ldrh r1, [r2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x6]
- movs r0, 0x12
- ands r0, r1
- cmp r0, 0
- beq _08035494
- ldr r1, _080354EC @ =gBankTarget
- ldrb r0, [r6]
- strb r0, [r1]
-_08035494:
- ldrh r1, [r2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x6]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080354CE
- movs r0, 0
- bl GetBankByPlayerAI
- ldr r5, _080354EC @ =gBankTarget
- strb r0, [r5]
- ldr r0, _080354F0 @ =gAbsentBankFlags
- ldrb r1, [r0]
- ldr r2, _080354F4 @ =gBitTable
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _080354CE
- movs r0, 0x2
- bl GetBankByPlayerAI
- strb r0, [r5]
-_080354CE:
- ldr r0, _080354EC @ =gBankTarget
- ldrb r0, [r0]
- lsls r0, 8
- orrs r4, r0
- movs r0, 0x1
- movs r1, 0xA
- adds r2, r4, 0
- bl dp01_build_cmdbuf_x21_a_bb
-_080354E0:
- bl OpponentBufferExecCompleted
- b _0803558A
- .align 2, 0
-_080354E8: .4byte gBattleMoves
-_080354EC: .4byte gBankTarget
-_080354F0: .4byte gAbsentBankFlags
-_080354F4: .4byte gBitTable
-_080354F8:
- movs r6, 0x3
-_080354FA:
- bl Random
- adds r4, r0, 0
- ands r4, r6
- lsls r0, r4, 1
- adds r0, r5, r0
- ldrh r2, [r0]
- cmp r2, 0
- beq _080354FA
- ldr r1, _08035534 @ =gBattleMoves
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x6]
- movs r0, 0x12
- ands r0, r1
- cmp r0, 0
- beq _0803553C
- ldr r0, _08035538 @ =gActiveBank
- ldrb r0, [r0]
- lsls r0, 8
- orrs r4, r0
- movs r0, 0x1
- movs r1, 0xA
- adds r2, r4, 0
- bl dp01_build_cmdbuf_x21_a_bb
- b _08035586
- .align 2, 0
-_08035534: .4byte gBattleMoves
-_08035538: .4byte gActiveBank
-_0803553C:
- ldr r0, _0803556C @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08035570
- bl Random
- movs r1, 0x2
- ands r1, r0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r1, 0
- bl GetBankByPlayerAI
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 16
- orrs r2, r4
- movs r0, 0x1
- movs r1, 0xA
- bl dp01_build_cmdbuf_x21_a_bb
- b _08035586
- .align 2, 0
-_0803556C: .4byte gBattleTypeFlags
-_08035570:
- movs r0, 0
- bl GetBankByPlayerAI
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 16
- orrs r2, r4
- movs r0, 0x1
- movs r1, 0xA
- bl dp01_build_cmdbuf_x21_a_bb
-_08035586:
- bl OpponentBufferExecCompleted
-_0803558A:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8035428
-
- thumb_func_start sub_8035590
-sub_8035590: @ 8035590
- push {lr}
- ldr r1, _080355B4 @ =0x02000000
- ldr r0, _080355B8 @ =gActiveBank
- ldrb r0, [r0]
- lsrs r0, 1
- lsls r0, 1
- ldr r2, _080355BC @ =0x000160d4
- adds r0, r2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- bl dp01_build_cmdbuf_x23_aa_0
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_080355B4: .4byte 0x02000000
-_080355B8: .4byte gActiveBank
-_080355BC: .4byte 0x000160d4
- thumb_func_end sub_8035590
-
- thumb_func_start sub_80355C0
-sub_80355C0: @ 80355C0
- push {r4-r6,lr}
- ldr r6, _08035604 @ =0x02000000
- ldr r5, _08035608 @ =gActiveBank
- ldrb r0, [r5]
- bl GetBankIdentity
- lsls r0, 24
- lsrs r0, 25
- ldr r1, _0803560C @ =0x000160c8
- adds r0, r1
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0x6
- bne _08035664
- bl sub_8036CD4
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x6
- bne _0803568A
- ldr r0, _08035610 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08035614
- movs r0, 0x1
- bl GetBankByPlayerAI
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- b _08035628
- .align 2, 0
-_08035604: .4byte 0x02000000
-_08035608: .4byte gActiveBank
-_0803560C: .4byte 0x000160c8
-_08035610: .4byte gBattleTypeFlags
-_08035614:
- movs r0, 0x1
- bl GetBankByPlayerAI
- lsls r0, 24
- lsrs r6, r0, 24
- movs r0, 0x3
- bl GetBankByPlayerAI
- lsls r0, 24
- lsrs r5, r0, 24
-_08035628:
- movs r4, 0
- b _0803562E
-_0803562C:
- adds r4, 0x1
-_0803562E:
- cmp r4, 0x5
- bgt _0803568A
- movs r0, 0x64
- muls r0, r4
- ldr r1, _0803565C @ =gEnemyParty
- adds r0, r1
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _0803562C
- ldr r1, _08035660 @ =gBattlePartyID
- lsls r0, r6, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r4, r0
- beq _0803562C
- lsls r0, r5, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r4, r0
- beq _0803562C
- b _0803568A
- .align 2, 0
-_0803565C: .4byte gEnemyParty
-_08035660: .4byte gBattlePartyID
-_08035664:
- ldrb r0, [r5]
- bl GetBankIdentity
- lsls r0, 24
- lsrs r0, 25
- ldr r2, _080356B0 @ =0x000160c8
- adds r0, r2
- adds r0, r6
- ldrb r4, [r0]
- ldrb r0, [r5]
- bl GetBankIdentity
- lsls r0, 24
- lsrs r0, 25
- ldr r1, _080356B0 @ =0x000160c8
- adds r0, r1
- adds r0, r6
- movs r1, 0x6
- strb r1, [r0]
-_0803568A:
- ldr r1, _080356B4 @ =0x02000000
- ldr r0, _080356B8 @ =gActiveBank
- ldrb r0, [r0]
- ldr r2, _080356BC @ =0x00016068
- adds r0, r2
- adds r0, r1
- strb r4, [r0]
- lsls r1, r4, 24
- lsrs r1, 24
- movs r0, 0x1
- movs r2, 0
- bl dp01_build_cmdbuf_x22_a_three_bytes
- bl OpponentBufferExecCompleted
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080356B0: .4byte 0x000160c8
-_080356B4: .4byte 0x02000000
-_080356B8: .4byte gActiveBank
-_080356BC: .4byte 0x00016068
- thumb_func_end sub_80355C0
-
- thumb_func_start sub_80356C0
-sub_80356C0: @ 80356C0
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80356C0
-
- thumb_func_start OpponentHandleHealthBarUpdate
-OpponentHandleHealthBarUpdate: @ 80356CC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- movs r0, 0
- bl load_gfxc_health_bar
- ldr r3, _08035744 @ =gBattleBufferA
- ldr r0, _08035748 @ =gActiveBank
- mov r9, r0
- ldrb r4, [r0]
- lsls r2, r4, 9
- adds r0, r3, 0x3
- adds r0, r2, r0
- ldrb r1, [r0]
- lsls r1, 8
- adds r3, 0x2
- adds r2, r3
- ldrb r0, [r2]
- orrs r0, r1
- lsls r0, 16
- asrs r7, r0, 16
- ldr r0, _0803574C @ =0x00007fff
- cmp r7, r0
- beq _0803575C
- ldr r6, _08035750 @ =gBattlePartyID
- lsls r0, r4, 1
- adds r0, r6
- ldrh r0, [r0]
- movs r5, 0x64
- muls r0, r5
- ldr r4, _08035754 @ =gEnemyParty
- adds r0, r4
- movs r1, 0x3A
- bl GetMonData
- mov r8, r0
- mov r1, r9
- ldrb r0, [r1]
- lsls r0, 1
- adds r0, r6
- ldrh r0, [r0]
- muls r0, r5
- adds r0, r4
- movs r1, 0x39
- bl GetMonData
- adds r3, r0, 0
- mov r1, r9
- ldrb r0, [r1]
- ldr r1, _08035758 @ =gHealthboxIDs
- adds r1, r0, r1
- ldrb r1, [r1]
- str r7, [sp]
- mov r2, r8
- bl sub_8043D84
- b _08035786
- .align 2, 0
-_08035744: .4byte gBattleBufferA
-_08035748: .4byte gActiveBank
-_0803574C: .4byte 0x00007fff
-_08035750: .4byte gBattlePartyID
-_08035754: .4byte gEnemyParty
-_08035758: .4byte gHealthboxIDs
-_0803575C:
- ldr r1, _080357A4 @ =gBattlePartyID
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080357A8 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x3A
- bl GetMonData
- adds r2, r0, 0
- mov r1, r9
- ldrb r0, [r1]
- ldr r1, _080357AC @ =gHealthboxIDs
- adds r1, r0, r1
- ldrb r1, [r1]
- str r7, [sp]
- movs r3, 0
- bl sub_8043D84
-_08035786:
- ldr r1, _080357B0 @ =gBattleBankFunc
- ldr r0, _080357B4 @ =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, _080357B8 @ =sub_80330C8
- str r1, [r0]
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080357A4: .4byte gBattlePartyID
-_080357A8: .4byte gEnemyParty
-_080357AC: .4byte gHealthboxIDs
-_080357B0: .4byte gBattleBankFunc
-_080357B4: .4byte gActiveBank
-_080357B8: .4byte sub_80330C8
- thumb_func_end OpponentHandleHealthBarUpdate
-
- thumb_func_start OpponentHandleExpBarUpdate
-OpponentHandleExpBarUpdate: @ 80357BC
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end OpponentHandleExpBarUpdate
-
- thumb_func_start OpponentHandleStatusIconUpdate
-OpponentHandleStatusIconUpdate: @ 80357C8
- push {r4,lr}
- ldr r4, _08035820 @ =gActiveBank
- ldrb r0, [r4]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- bne _08035818
- ldr r0, _08035824 @ =gHealthboxIDs
- ldrb r1, [r4]
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r2, _08035828 @ =gBattlePartyID
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0x64
- muls r1, r2
- ldr r2, _0803582C @ =gEnemyParty
- adds r1, r2
- movs r2, 0x9
- bl sub_8045A5C
- ldrb r0, [r4]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- ldr r0, _08035830 @ =0x02017810
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x11
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r1, _08035834 @ =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08035838 @ =sub_8033494
- str r1, [r0]
-_08035818:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08035820: .4byte gActiveBank
-_08035824: .4byte gHealthboxIDs
-_08035828: .4byte gBattlePartyID
-_0803582C: .4byte gEnemyParty
-_08035830: .4byte 0x02017810
-_08035834: .4byte gBattleBankFunc
-_08035838: .4byte sub_8033494
- thumb_func_end OpponentHandleStatusIconUpdate
-
- thumb_func_start OpponentHandleStatusAnimation
-OpponentHandleStatusAnimation: @ 803583C
- push {r4,r5,lr}
- ldr r5, _08035894 @ =gActiveBank
- ldrb r0, [r5]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- bne _0803588C
- ldr r4, _08035898 @ =gBattleBufferA
- ldrb r3, [r5]
- lsls r3, 9
- adds r0, r4, 0x1
- adds r0, r3, r0
- ldrb r0, [r0]
- adds r1, r4, 0x2
- adds r1, r3, r1
- ldrb r1, [r1]
- adds r2, r4, 0x3
- adds r2, r3, r2
- ldrb r2, [r2]
- lsls r2, 8
- orrs r1, r2
- adds r2, r4, 0x4
- adds r2, r3, r2
- ldrb r2, [r2]
- lsls r2, 16
- orrs r1, r2
- adds r4, 0x5
- adds r3, r4
- ldrb r2, [r3]
- lsls r2, 24
- orrs r1, r2
- bl move_anim_start_t2_for_situation
- ldr r1, _0803589C @ =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, _080358A0 @ =sub_8033494
- str r1, [r0]
-_0803588C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08035894: .4byte gActiveBank
-_08035898: .4byte gBattleBufferA
-_0803589C: .4byte gBattleBankFunc
-_080358A0: .4byte sub_8033494
- thumb_func_end OpponentHandleStatusAnimation
-
- thumb_func_start OpponentHandleStatusXor
-OpponentHandleStatusXor: @ 80358A4
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end OpponentHandleStatusXor
-
- thumb_func_start sub_80358B0
-sub_80358B0: @ 80358B0
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80358B0
-
- thumb_func_start OpponentHandleDMATransfer
-OpponentHandleDMATransfer: @ 80358BC
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end OpponentHandleDMATransfer
-
- thumb_func_start sub_80358C8
-sub_80358C8: @ 80358C8
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80358C8
-
- thumb_func_start sub_80358D4
-sub_80358D4: @ 80358D4
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80358D4
-
- thumb_func_start sub_80358E0
-sub_80358E0: @ 80358E0
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80358E0
-
- thumb_func_start sub_80358EC
-sub_80358EC: @ 80358EC
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80358EC
-
- thumb_func_start sub_80358F8
-sub_80358F8: @ 80358F8
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80358F8
-
- thumb_func_start sub_8035904
-sub_8035904: @ 8035904
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8035904
-
- thumb_func_start sub_8035910
-sub_8035910: @ 8035910
- push {lr}
- ldr r2, _08035928 @ =gUnknown_020238C8
- ldrb r1, [r2]
- movs r0, 0x80
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_08035928: .4byte gUnknown_020238C8
- thumb_func_end sub_8035910
-
- thumb_func_start sub_803592C
-sub_803592C: @ 803592C
- push {lr}
- ldr r3, _08035958 @ =gUnknown_020238C8
- ldr r1, _0803595C @ =gBattleBufferA
- ldr r0, _08035960 @ =gActiveBank
- ldrb r0, [r0]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x7F
- ands r1, r0
- ldrb r2, [r3]
- movs r0, 0x80
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_08035958: .4byte gUnknown_020238C8
-_0803595C: .4byte gBattleBufferA
-_08035960: .4byte gActiveBank
- thumb_func_end sub_803592C
-
- thumb_func_start sub_8035964
-sub_8035964: @ 8035964
- push {lr}
- ldr r2, _08035978 @ =gUnknown_020238C8
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_08035978: .4byte gUnknown_020238C8
- thumb_func_end sub_8035964
-
- thumb_func_start sub_803597C
-sub_803597C: @ 803597C
- push {lr}
- ldr r3, _080359A0 @ =gUnknown_020238C8
- ldr r1, [r3]
- lsls r1, 24
- lsrs r1, 31
- movs r0, 0x1
- eors r1, r0
- lsls r1, 7
- ldrb r2, [r3]
- movs r0, 0x7F
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_080359A0: .4byte gUnknown_020238C8
- thumb_func_end sub_803597C
-
- thumb_func_start OpponentHandleHitAnimation
-OpponentHandleHitAnimation: @ 80359A4
- push {r4,lr}
- ldr r3, _080359CC @ =gSprites
- ldr r2, _080359D0 @ =gObjectBankIDs
- ldr r4, _080359D4 @ =gActiveBank
- ldrb r0, [r4]
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- bge _080359D8
- bl OpponentBufferExecCompleted
- b _08035A02
- .align 2, 0
-_080359CC: .4byte gSprites
-_080359D0: .4byte gObjectBankIDs
-_080359D4: .4byte gActiveBank
-_080359D8:
- ldr r1, _08035A08 @ =gDoingBattleAnim
- movs r0, 0x1
- strb r0, [r1]
- ldrb r0, [r4]
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0
- strh r1, [r0, 0x30]
- ldrb r0, [r4]
- bl sub_8047858
- ldr r1, _08035A0C @ =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08035A10 @ =bx_blink_t7
- str r1, [r0]
-_08035A02:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08035A08: .4byte gDoingBattleAnim
-_08035A0C: .4byte gBattleBankFunc
-_08035A10: .4byte bx_blink_t7
- thumb_func_end OpponentHandleHitAnimation
-
- thumb_func_start sub_8035A14
-sub_8035A14: @ 8035A14
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8035A14
-
- thumb_func_start OpponentHandleEffectivenessSound
-OpponentHandleEffectivenessSound: @ 8035A20
- push {r4,lr}
- ldr r4, _08035A5C @ =gActiveBank
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- movs r3, 0x3F
- cmp r0, 0
- bne _08035A34
- movs r3, 0xC0
-_08035A34:
- ldr r2, _08035A60 @ =gBattleBufferA
- ldrb r1, [r4]
- lsls r1, 9
- adds r0, r2, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- adds r2, 0x2
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- lsls r1, r3, 24
- asrs r1, 24
- bl PlaySE12WithPanning
- bl OpponentBufferExecCompleted
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08035A5C: .4byte gActiveBank
-_08035A60: .4byte gBattleBufferA
- thumb_func_end OpponentHandleEffectivenessSound
-
- thumb_func_start sub_8035A64
-sub_8035A64: @ 8035A64
- push {lr}
- ldr r2, _08035A8C @ =gBattleBufferA
- ldr r0, _08035A90 @ =gActiveBank
- ldrb r1, [r0]
- lsls r1, 9
- adds r0, r2, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- adds r2, 0x2
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- bl PlayFanfare
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_08035A8C: .4byte gBattleBufferA
-_08035A90: .4byte gActiveBank
- thumb_func_end sub_8035A64
-
- thumb_func_start OpponentHandleFaintingCry
-OpponentHandleFaintingCry: @ 8035A94
- push {lr}
- ldr r1, _08035AC4 @ =gBattlePartyID
- ldr r0, _08035AC8 @ =gActiveBank
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08035ACC @ =gEnemyParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x19
- movs r2, 0x5
- bl PlayCry3
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_08035AC4: .4byte gBattlePartyID
-_08035AC8: .4byte gActiveBank
-_08035ACC: .4byte gEnemyParty
- thumb_func_end OpponentHandleFaintingCry
-
- thumb_func_start dp01t_2E_7_battle_intro
-dp01t_2E_7_battle_intro: @ 8035AD0
- push {lr}
- ldr r1, _08035AF8 @ =gBattleBufferA
- ldr r0, _08035AFC @ =gActiveBank
- ldrb r0, [r0]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80E43C0
- ldr r2, _08035B00 @ =gUnknown_02024DE8
- ldrh r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r2]
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_08035AF8: .4byte gBattleBufferA
-_08035AFC: .4byte gActiveBank
-_08035B00: .4byte gUnknown_02024DE8
- thumb_func_end dp01t_2E_7_battle_intro
-
- thumb_func_start sub_8035B04
-sub_8035B04: @ 8035B04
- push {r4-r6,lr}
- ldr r5, _08035BE0 @ =gObjectBankIDs
- ldr r6, _08035BE4 @ =gActiveBank
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, _08035BE8 @ =gSprites
- adds r0, r4
- bl oamt_add_pos2_onto_pos1
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x23
- strh r1, [r0, 0x2E]
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x8C
- lsls r1, 1
- strh r1, [r0, 0x32]
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x22]
- strh r1, [r0, 0x36]
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r4, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _08035BEC @ =sub_8078B34
- str r1, [r0]
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, _08035BF0 @ =sub_8035C10
- bl oamt_set_x3A_32
- ldr r0, _08035BF4 @ =sub_8035C44
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _08035BF8 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r4
- ldrb r0, [r6]
- strh r0, [r1, 0x8]
- ldrb r3, [r6]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- ldr r2, _08035BFC @ =0x02017810
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08035BC2
- ldr r0, _08035C00 @ =gUnknown_02024E68
- adds r0, r3, r0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- ldr r1, _08035C04 @ =sub_8044CA0
- str r1, [r0]
-_08035BC2:
- adds r2, 0x30
- ldrb r0, [r2, 0x9]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x9]
- ldr r1, _08035C08 @ =gBattleBankFunc
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08035C0C @ =nullsub_45
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08035BE0: .4byte gObjectBankIDs
-_08035BE4: .4byte gActiveBank
-_08035BE8: .4byte gSprites
-_08035BEC: .4byte sub_8078B34
-_08035BF0: .4byte sub_8035C10
-_08035BF4: .4byte sub_8035C44
-_08035BF8: .4byte gTasks
-_08035BFC: .4byte 0x02017810
-_08035C00: .4byte gUnknown_02024E68
-_08035C04: .4byte sub_8044CA0
-_08035C08: .4byte gBattleBankFunc
-_08035C0C: .4byte nullsub_45
- thumb_func_end sub_8035B04
-
- thumb_func_start sub_8035C10
-sub_8035C10: @ 8035C10
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x6]
- bl sub_8031B74
- ldrh r0, [r4, 0x38]
- ldr r1, _08035C3C @ =0x000003ff
- ands r1, r0
- ldrh r2, [r4, 0x4]
- ldr r0, _08035C40 @ =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, 0x4]
- adds r0, r4, 0
- bl FreeSpriteOamMatrix
- adds r0, r4, 0
- bl DestroySprite
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08035C3C: .4byte 0x000003ff
-_08035C40: .4byte 0xfffffc00
- thumb_func_end sub_8035C10
-
- thumb_func_start sub_8035C44
-sub_8035C44: @ 8035C44
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r7, _08035C9C @ =gActiveBank
- ldrb r0, [r7]
- mov r9, r0
- ldr r1, _08035CA0 @ =gTasks
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x8]
- strb r0, [r7]
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08035C7E
- ldr r0, _08035CA4 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08035CB0
-_08035C7E:
- ldr r0, _08035CA8 @ =gBattleBufferA
- ldrb r1, [r7]
- lsls r2, r1, 9
- adds r0, 0x1
- adds r2, r0
- ldr r0, _08035CAC @ =gBattlePartyID
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r1]
- strb r0, [r2]
- ldrb r0, [r7]
- movs r1, 0
- bl sub_803495C
- b _08035CF0
- .align 2, 0
-_08035C9C: .4byte gActiveBank
-_08035CA0: .4byte gTasks
-_08035CA4: .4byte gBattleTypeFlags
-_08035CA8: .4byte gBattleBufferA
-_08035CAC: .4byte gBattlePartyID
-_08035CB0:
- ldr r4, _08035D14 @ =gBattleBufferA
- ldrb r0, [r7]
- lsls r1, r0, 9
- adds r4, 0x1
- adds r1, r4
- ldr r6, _08035D18 @ =gBattlePartyID
- lsls r0, 1
- adds r0, r6
- ldrh r0, [r0]
- strb r0, [r1]
- ldrb r0, [r7]
- movs r1, 0
- bl sub_803495C
- ldrb r0, [r7]
- movs r5, 0x2
- eors r0, r5
- strb r0, [r7]
- ldrb r0, [r7]
- lsls r1, r0, 9
- adds r1, r4
- lsls r0, 1
- adds r0, r6
- ldrh r0, [r0]
- strb r0, [r1]
- ldrb r0, [r7]
- movs r1, 0
- bl sub_803495C
- ldrb r0, [r7]
- eors r0, r5
- strb r0, [r7]
-_08035CF0:
- ldr r1, _08035D1C @ =gBattleBankFunc
- ldr r2, _08035D20 @ =gActiveBank
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08035D24 @ =sub_8032E2C
- str r1, [r0]
- mov r0, r9
- strb r0, [r2]
- mov r0, r8
- bl DestroyTask
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08035D14: .4byte gBattleBufferA
-_08035D18: .4byte gBattlePartyID
-_08035D1C: .4byte gBattleBankFunc
-_08035D20: .4byte gActiveBank
-_08035D24: .4byte sub_8032E2C
- thumb_func_end sub_8035C44
-
- thumb_func_start dp01t_30_7_0803D67C
-dp01t_30_7_0803D67C: @ 8035D28
- push {r4-r6,lr}
- ldr r1, _08035D50 @ =gBattleBufferA
- ldr r0, _08035D54 @ =gActiveBank
- ldrb r2, [r0]
- lsls r0, r2, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08035D58
- adds r0, r2, 0
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _08035D58
- bl OpponentBufferExecCompleted
- b _08035E12
- .align 2, 0
-_08035D50: .4byte gBattleBufferA
-_08035D54: .4byte gActiveBank
-_08035D58:
- ldr r3, _08035DA8 @ =gActiveBank
- ldrb r1, [r3]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r4, _08035DAC @ =0x02017810
- adds r0, r4
- ldrb r1, [r0]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0]
- ldr r1, _08035DB0 @ =gBattleBufferA
- ldrb r2, [r3]
- lsls r0, r2, 9
- adds r1, 0x2
- adds r0, r1
- ldrb r0, [r0]
- adds r6, r3, 0
- cmp r0, 0
- beq _08035DBC
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r3, r0, r4
- ldrb r2, [r3, 0x1]
- lsls r1, r2, 26
- lsrs r0, r1, 27
- cmp r0, 0x1
- bhi _08035DB4
- adds r0, 0x1
- movs r1, 0x1F
- ands r0, r1
- lsls r0, 1
- movs r1, 0x3F
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x1]
- b _08035E12
- .align 2, 0
-_08035DA8: .4byte gActiveBank
-_08035DAC: .4byte 0x02017810
-_08035DB0: .4byte gBattleBufferA
-_08035DB4:
- movs r0, 0x3F
- negs r0, r0
- ands r0, r2
- strb r0, [r3, 0x1]
-_08035DBC:
- adds r5, r6, 0
- ldrb r0, [r5]
- lsls r3, r0, 9
- ldr r4, _08035E18 @ =gUnknown_02023A64
- adds r1, r3, r4
- subs r2, r4, 0x3
- adds r2, r3, r2
- ldrb r2, [r2]
- subs r4, 0x2
- adds r3, r4
- ldrb r3, [r3]
- bl sub_8044804
- ldr r2, _08035E1C @ =gUnknown_02024E68
- ldrb r1, [r5]
- adds r1, r2
- movs r2, 0
- strb r0, [r1]
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r3, _08035E20 @ =0x02017810
- adds r0, r3
- strb r2, [r0, 0x5]
- ldrb r1, [r5]
- lsls r0, r1, 9
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _08035E06
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0x5D
- strb r1, [r0, 0x5]
-_08035E06:
- ldr r0, _08035E24 @ =gBattleBankFunc
- ldrb r1, [r6]
- lsls r1, 2
- adds r1, r0
- ldr r0, _08035E28 @ =sub_8035E2C
- str r0, [r1]
-_08035E12:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08035E18: .4byte gUnknown_02023A64
-_08035E1C: .4byte gUnknown_02024E68
-_08035E20: .4byte 0x02017810
-_08035E24: .4byte gBattleBankFunc
-_08035E28: .4byte sub_8035E2C
- thumb_func_end dp01t_30_7_0803D67C
-
- thumb_func_start sub_8035E2C
-sub_8035E2C: @ 8035E2C
- push {r4,lr}
- ldr r4, _08035E64 @ =gActiveBank
- ldrb r1, [r4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r3, _08035E68 @ =0x02017810
- adds r0, r3
- ldrb r1, [r0, 0x5]
- adds r2, r1, 0x1
- strb r2, [r0, 0x5]
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x5C
- bls _08035E5C
- ldrb r0, [r4]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- movs r0, 0
- strb r0, [r1, 0x5]
- bl OpponentBufferExecCompleted
-_08035E5C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08035E64: .4byte gActiveBank
-_08035E68: .4byte 0x02017810
- thumb_func_end sub_8035E2C
-
- thumb_func_start sub_8035E6C
-sub_8035E6C: @ 8035E6C
- push {lr}
- ldr r0, _08035EA4 @ =gActiveBank
- ldrb r3, [r0]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- ldr r1, _08035EA8 @ =0x02017810
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08035E9A
- ldr r2, _08035EAC @ =gTasks
- ldr r0, _08035EB0 @ =gUnknown_02024E68
- adds r0, r3, r0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, _08035EB4 @ =sub_8044CA0
- str r1, [r0]
-_08035E9A:
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_08035EA4: .4byte gActiveBank
-_08035EA8: .4byte 0x02017810
-_08035EAC: .4byte gTasks
-_08035EB0: .4byte gUnknown_02024E68
-_08035EB4: .4byte sub_8044CA0
- thumb_func_end sub_8035E6C
-
- thumb_func_start sub_8035EB8
-sub_8035EB8: @ 8035EB8
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8035EB8
-
- thumb_func_start OpponentHandleSpriteInvisibility
-OpponentHandleSpriteInvisibility: @ 8035EC4
- push {r4,lr}
- ldr r4, _08035F14 @ =gActiveBank
- ldrb r0, [r4]
- bl sub_8078874
- lsls r0, 24
- cmp r0, 0
- beq _08035F0A
- ldr r3, _08035F18 @ =gSprites
- ldr r0, _08035F1C @ =gObjectBankIDs
- ldrb r1, [r4]
- adds r0, r1, r0
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- ldr r0, _08035F20 @ =gBattleBufferA
- lsls r1, 9
- adds r0, 0x1
- adds r1, r0
- adds r2, 0x3E
- movs r0, 0x1
- ldrb r1, [r1]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- ldrb r0, [r4]
- bl sub_8031F88
-_08035F0A:
- bl OpponentBufferExecCompleted
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08035F14: .4byte gActiveBank
-_08035F18: .4byte gSprites
-_08035F1C: .4byte gObjectBankIDs
-_08035F20: .4byte gBattleBufferA
- thumb_func_end OpponentHandleSpriteInvisibility
-
- thumb_func_start OpponentHandleBattleAnimation
-OpponentHandleBattleAnimation: @ 8035F24
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r6, _08035F68 @ =gActiveBank
- ldrb r0, [r6]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- bne _08035F7C
- ldr r5, _08035F6C @ =gBattleBufferA
- ldrb r2, [r6]
- lsls r1, r2, 9
- adds r0, r5, 0x1
- adds r0, r1, r0
- ldrb r3, [r0]
- adds r0, r5, 0x2
- adds r0, r1, r0
- ldrb r4, [r0]
- adds r5, 0x3
- adds r1, r5
- ldrb r0, [r1]
- lsls r0, 8
- orrs r4, r0
- str r4, [sp]
- adds r0, r2, 0
- adds r1, r2, 0
- bl move_anim_start_t3
- lsls r0, 24
- cmp r0, 0
- beq _08035F70
- bl OpponentBufferExecCompleted
- b _08035F7C
- .align 2, 0
-_08035F68: .4byte gActiveBank
-_08035F6C: .4byte gBattleBufferA
-_08035F70:
- ldr r0, _08035F84 @ =gBattleBankFunc
- ldrb r1, [r6]
- lsls r1, 2
- adds r1, r0
- ldr r0, _08035F88 @ =sub_80334C0
- str r0, [r1]
-_08035F7C:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08035F84: .4byte gBattleBankFunc
-_08035F88: .4byte sub_80334C0
- thumb_func_end OpponentHandleBattleAnimation
-
- thumb_func_start OpponentHandleLinkStandbyMsg
-OpponentHandleLinkStandbyMsg: @ 8035F8C
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end OpponentHandleLinkStandbyMsg
-
- thumb_func_start OpponentHandleResetActionMoveSelection
-OpponentHandleResetActionMoveSelection: @ 8035F98
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end OpponentHandleResetActionMoveSelection
-
- thumb_func_start sub_8035FA4
-sub_8035FA4: @ 8035FA4
- push {lr}
- ldr r0, _08035FD8 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x6
- ands r0, r1
- cmp r0, 0x2
- bne _08035FCE
- ldr r2, _08035FDC @ =gMain
- ldr r0, _08035FE0 @ =0x0000043d
- adds r3, r2, r0
- ldrb r1, [r3]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
- ldr r0, _08035FE4 @ =gPreBattleCallback1
- ldr r0, [r0]
- str r0, [r2]
- ldr r0, [r2, 0x8]
- bl SetMainCallback2
-_08035FCE:
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_08035FD8: .4byte gBattleTypeFlags
-_08035FDC: .4byte gMain
-_08035FE0: .4byte 0x0000043d
-_08035FE4: .4byte gPreBattleCallback1
- thumb_func_end sub_8035FA4
-
- thumb_func_start nullsub_46
-nullsub_46: @ 8035FE8
- bx lr
- thumb_func_end nullsub_46
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_fadetransition.s b/asm/field_fadetransition.s
index e882e7030..1f489ceb3 100644
--- a/asm/field_fadetransition.s
+++ b/asm/field_fadetransition.s
@@ -815,8 +815,8 @@ _08081022:
_08081028: .4byte sub_8054588
thumb_func_end sub_8080FC4
- thumb_func_start sub_808102C
-sub_808102C: @ 808102C
+ thumb_func_start DoCableClubWarp
+DoCableClubWarp: @ 808102C
push {lr}
bl ScriptContext2_Enable
bl sub_8053FF8
@@ -830,7 +830,7 @@ sub_808102C: @ 808102C
bx r0
.align 2, 0
_0808104C: .4byte sub_8080FC4
- thumb_func_end sub_808102C
+ thumb_func_end DoCableClubWarp
thumb_func_start sub_8081050
sub_8081050: @ 8081050
diff --git a/asm/fldeff_flash.s b/asm/fldeff_flash.s
deleted file mode 100644
index dcd485d9f..000000000
--- a/asm/fldeff_flash.s
+++ /dev/null
@@ -1,753 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start SetUpFieldMove_Flash
-SetUpFieldMove_Flash: @ 810CBB4
- push {lr}
- ldr r0, _0810CBDC @ =gMapHeader
- ldrb r0, [r0, 0x15]
- cmp r0, 0x1
- bne _0810CBF4
- ldr r0, _0810CBE0 @ =0x00000828
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _0810CBF4
- ldr r1, _0810CBE4 @ =gFieldCallback
- ldr r0, _0810CBE8 @ =sub_808AB90
- str r0, [r1]
- ldr r1, _0810CBEC @ =gUnknown_03005CE4
- ldr r0, _0810CBF0 @ =sub_810CBFC
- str r0, [r1]
- movs r0, 0x1
- b _0810CBF6
- .align 2, 0
-_0810CBDC: .4byte gMapHeader
-_0810CBE0: .4byte 0x00000828
-_0810CBE4: .4byte gFieldCallback
-_0810CBE8: .4byte sub_808AB90
-_0810CBEC: .4byte gUnknown_03005CE4
-_0810CBF0: .4byte sub_810CBFC
-_0810CBF4:
- movs r0, 0
-_0810CBF6:
- pop {r1}
- bx r1
- thumb_func_end SetUpFieldMove_Flash
-
- thumb_func_start sub_810CBFC
-sub_810CBFC: @ 810CBFC
- push {lr}
- bl oei_task_add
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0810CC24 @ =gUnknown_0202FF84
- ldr r1, _0810CC28 @ =gLastFieldPokeMenuOpened
- ldrb r1, [r1]
- str r1, [r2]
- ldr r2, _0810CC2C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, _0810CC30 @ =sub_810CC34
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- pop {r0}
- bx r0
- .align 2, 0
-_0810CC24: .4byte gUnknown_0202FF84
-_0810CC28: .4byte gLastFieldPokeMenuOpened
-_0810CC2C: .4byte gTasks
-_0810CC30: .4byte sub_810CC34
- thumb_func_end sub_810CBFC
-
- thumb_func_start sub_810CC34
-sub_810CC34: @ 810CC34
- push {lr}
- movs r0, 0xCF
- bl PlaySE
- ldr r0, _0810CC4C @ =0x00000828
- bl FlagSet
- ldr r0, _0810CC50 @ =gUnknown_081B694A
- bl ScriptContext1_SetupScript
- pop {r0}
- bx r0
- .align 2, 0
-_0810CC4C: .4byte 0x00000828
-_0810CC50: .4byte gUnknown_081B694A
- thumb_func_end sub_810CC34
-
- thumb_func_start sub_810CC54
-sub_810CC54: @ 810CC54
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_810CC54
-
- thumb_func_start sub_810CC6C
-sub_810CC6C: @ 810CC6C
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_810CC6C
-
- thumb_func_start sub_810CC80
-sub_810CC80: @ 810CC80
- push {r4,lr}
- sub sp, 0x8
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0x80
- lsls r0, 19
- movs r1, 0
- strh r1, [r0]
- adds r0, 0xC
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- adds r0, 0x10
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0x6
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0x6
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- mov r0, sp
- strh r1, [r0]
- ldr r1, _0810CD34 @ =0x040000d4
- str r0, [r1]
- movs r0, 0xC0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, _0810CD38 @ =0x8100c000
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r4, 0
- str r4, [sp, 0x4]
- add r0, sp, 0x4
- str r0, [r1]
- movs r0, 0xE0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, _0810CD3C @ =0x85000100
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- mov r0, sp
- strh r4, [r0]
- str r0, [r1]
- ldr r0, _0810CD40 @ =0x05000002
- str r0, [r1, 0x4]
- ldr r0, _0810CD44 @ =0x810001ff
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- bl ResetPaletteFade
- bl ResetTasks
- bl ResetSpriteData
- ldr r3, _0810CD48 @ =0x04000208
- ldrh r2, [r3]
- strh r4, [r3]
- ldr r4, _0810CD4C @ =0x04000200
- ldrh r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r0, _0810CD50 @ =sub_810CC6C
- bl SetVBlankCallback
- ldr r0, _0810CD54 @ =sub_810CC54
- bl SetMainCallback2
- bl sub_810CD5C
- lsls r0, 24
- cmp r0, 0
- bne _0810CD2A
- ldr r0, _0810CD58 @ =gMain
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
-_0810CD2A:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810CD34: .4byte 0x040000d4
-_0810CD38: .4byte 0x8100c000
-_0810CD3C: .4byte 0x85000100
-_0810CD40: .4byte 0x05000002
-_0810CD44: .4byte 0x810001ff
-_0810CD48: .4byte 0x04000208
-_0810CD4C: .4byte 0x04000200
-_0810CD50: .4byte sub_810CC6C
-_0810CD54: .4byte sub_810CC54
-_0810CD58: .4byte gMain
- thumb_func_end sub_810CC80
-
- thumb_func_start sub_810CD5C
-sub_810CD5C: @ 810CD5C
- push {r4-r7,lr}
- bl get_map_light_from_warp0
- lsls r0, 24
- lsrs r6, r0, 24
- bl sav1_map_get_light_level
- lsls r0, 24
- lsrs r5, r0, 24
- movs r3, 0
- ldr r4, _0810CD9C @ =gUnknown_083F7FC4
- ldrb r0, [r4]
- cmp r0, 0
- beq _0810CDB0
- adds r7, r4, 0
- adds r0, r4, 0x4
- mov r12, r0
-_0810CD7E:
- lsls r2, r3, 3
- adds r1, r2, r7
- ldrb r0, [r1]
- cmp r0, r6
- bne _0810CDA0
- ldrb r0, [r1, 0x1]
- cmp r0, r5
- bne _0810CDA0
- mov r1, r12
- adds r0, r2, r1
- ldr r0, [r0]
- bl _call_via_r0
- movs r0, 0x1
- b _0810CDB2
- .align 2, 0
-_0810CD9C: .4byte gUnknown_083F7FC4
-_0810CDA0:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 3
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _0810CD7E
-_0810CDB0:
- movs r0, 0
-_0810CDB2:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_810CD5C
-
- thumb_func_start sub_810CDB8
-sub_810CDB8: @ 810CDB8
- push {r4-r6,lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r5, r0, 24
- lsrs r4, r1, 24
- movs r3, 0
- ldr r1, _0810CDE4 @ =gUnknown_083F7FC4
- ldrb r0, [r1]
- cmp r0, 0
- beq _0810CDF8
- adds r6, r1, 0
-_0810CDCE:
- lsls r0, r3, 3
- adds r2, r0, r6
- ldrb r0, [r2]
- cmp r0, r5
- bne _0810CDE8
- ldrb r0, [r2, 0x1]
- cmp r0, r4
- bne _0810CDE8
- ldrb r0, [r2, 0x2]
- b _0810CDFA
- .align 2, 0
-_0810CDE4: .4byte gUnknown_083F7FC4
-_0810CDE8:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0810CDCE
-_0810CDF8:
- movs r0, 0
-_0810CDFA:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_810CDB8
-
- thumb_func_start fade_type_for_given_maplight_pair
-fade_type_for_given_maplight_pair: @ 810CE00
- push {r4-r6,lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r5, r0, 24
- lsrs r4, r1, 24
- movs r3, 0
- ldr r1, _0810CE2C @ =gUnknown_083F7FC4
- ldrb r0, [r1]
- cmp r0, 0
- beq _0810CE40
- adds r6, r1, 0
-_0810CE16:
- lsls r0, r3, 3
- adds r2, r0, r6
- ldrb r0, [r2]
- cmp r0, r5
- bne _0810CE30
- ldrb r0, [r2, 0x1]
- cmp r0, r4
- bne _0810CE30
- ldrb r0, [r2, 0x3]
- b _0810CE42
- .align 2, 0
-_0810CE2C: .4byte gUnknown_083F7FC4
-_0810CE30:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0810CE16
-_0810CE40:
- movs r0, 0
-_0810CE42:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end fade_type_for_given_maplight_pair
-
- thumb_func_start sub_810CE48
-sub_810CE48: @ 810CE48
- push {lr}
- ldr r0, _0810CE58 @ =sub_810CE5C
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_0810CE58: .4byte sub_810CE5C
- thumb_func_end sub_810CE48
-
- thumb_func_start sub_810CE5C
-sub_810CE5C: @ 810CE5C
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0810CE70 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _0810CE74 @ =sub_810CE78
- str r0, [r1]
- bx lr
- .align 2, 0
-_0810CE70: .4byte gTasks
-_0810CE74: .4byte sub_810CE78
- thumb_func_end sub_810CE5C
-
- thumb_func_start sub_810CE78
-sub_810CE78: @ 810CE78
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r6, 0x80
- lsls r6, 19
- movs r5, 0
- strh r5, [r6]
- ldr r0, _0810CEE8 @ =gCaveTransitionTiles
- ldr r1, _0810CEEC @ =0x0600c000
- bl LZ77UnCompVram
- ldr r0, _0810CEF0 @ =gCaveTransitionTilemap
- ldr r1, _0810CEF4 @ =0x0600f800
- bl LZ77UnCompVram
- ldr r0, _0810CEF8 @ =gCaveTransitionPalette_White
- movs r1, 0xE0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _0810CEFC @ =gUnknown_083F809C
- movs r1, 0xE0
- movs r2, 0x10
- bl LoadPalette
- ldr r1, _0810CF00 @ =REG_BLDCNT
- ldr r2, _0810CF04 @ =0x00003e41
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _0810CF08 @ =REG_BLDALPHA
- strh r5, [r0]
- adds r0, 0x2
- strh r5, [r0]
- subs r1, 0x48
- ldr r2, _0810CF0C @ =0x00001f0c
- adds r0, r2, 0
- strh r0, [r1]
- movs r1, 0x8A
- lsls r1, 5
- adds r0, r1, 0
- strh r0, [r6]
- ldr r1, _0810CF10 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0810CF14 @ =sub_810CF18
- str r1, [r0]
- movs r2, 0
- movs r1, 0x10
- strh r1, [r0, 0x8]
- strh r2, [r0, 0xA]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0810CEE8: .4byte gCaveTransitionTiles
-_0810CEEC: .4byte 0x0600c000
-_0810CEF0: .4byte gCaveTransitionTilemap
-_0810CEF4: .4byte 0x0600f800
-_0810CEF8: .4byte gCaveTransitionPalette_White
-_0810CEFC: .4byte gUnknown_083F809C
-_0810CF00: .4byte REG_BLDCNT
-_0810CF04: .4byte 0x00003e41
-_0810CF08: .4byte REG_BLDALPHA
-_0810CF0C: .4byte 0x00001f0c
-_0810CF10: .4byte gTasks
-_0810CF14: .4byte sub_810CF18
- thumb_func_end sub_810CE78
-
- thumb_func_start sub_810CF18
-sub_810CF18: @ 810CF18
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0810CF44 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r3, r1, r2
- ldrh r2, [r3, 0xA]
- movs r1, 0x80
- lsls r1, 5
- adds r0, r2, r1
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _0810CF48 @ =REG_BLDALPHA
- strh r0, [r1]
- cmp r2, 0x10
- bhi _0810CF4C
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- strh r0, [r3, 0xA]
- b _0810CF54
- .align 2, 0
-_0810CF44: .4byte gTasks
-_0810CF48: .4byte REG_BLDALPHA
-_0810CF4C:
- movs r0, 0
- strh r0, [r3, 0xC]
- ldr r0, _0810CF58 @ =sub_810CF5C
- str r0, [r3]
-_0810CF54:
- pop {r0}
- bx r0
- .align 2, 0
-_0810CF58: .4byte sub_810CF5C
- thumb_func_end sub_810CF18
-
- thumb_func_start sub_810CF5C
-sub_810CF5C: @ 810CF5C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0810CF94 @ =REG_BLDALPHA
- ldr r3, _0810CF98 @ =0x00001010
- adds r1, r3, 0
- strh r1, [r2]
- ldr r2, _0810CF9C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r1, [r4, 0xC]
- cmp r1, 0x7
- bhi _0810CFA4
- adds r0, r1, 0x1
- strh r0, [r4, 0xC]
- lsls r1, 1
- ldr r0, _0810CFA0 @ =gUnknown_083F809C
- adds r0, r1, r0
- movs r2, 0x10
- subs r2, r1
- lsls r2, 16
- lsrs r2, 16
- movs r1, 0xE0
- bl LoadPalette
- b _0810CFB6
- .align 2, 0
-_0810CF94: .4byte REG_BLDALPHA
-_0810CF98: .4byte 0x00001010
-_0810CF9C: .4byte gTasks
-_0810CFA0: .4byte gUnknown_083F809C
-_0810CFA4:
- ldr r0, _0810CFBC @ =gCaveTransitionPalette_White
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _0810CFC0 @ =sub_810CFC4
- str r0, [r4]
- movs r0, 0x8
- strh r0, [r4, 0xC]
-_0810CFB6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810CFBC: .4byte gCaveTransitionPalette_White
-_0810CFC0: .4byte sub_810CFC4
- thumb_func_end sub_810CF5C
-
- thumb_func_start sub_810CFC4
-sub_810CFC4: @ 810CFC4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0810CFE4 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrh r2, [r1, 0xC]
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _0810CFE8
- subs r0, r2, 0x1
- strh r0, [r1, 0xC]
- b _0810CFF0
- .align 2, 0
-_0810CFE4: .4byte gTasks
-_0810CFE8:
- ldr r0, _0810CFF4 @ =gMain
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
-_0810CFF0:
- pop {r0}
- bx r0
- .align 2, 0
-_0810CFF4: .4byte gMain
- thumb_func_end sub_810CFC4
-
- thumb_func_start sub_810CFF8
-sub_810CFF8: @ 810CFF8
- push {lr}
- ldr r0, _0810D008 @ =sub_810D00C
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_0810D008: .4byte sub_810D00C
- thumb_func_end sub_810CFF8
-
- thumb_func_start sub_810D00C
-sub_810D00C: @ 810D00C
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0810D020 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _0810D024 @ =sub_810D028
- str r0, [r1]
- bx lr
- .align 2, 0
-_0810D020: .4byte gTasks
-_0810D024: .4byte sub_810D028
- thumb_func_end sub_810D00C
-
- thumb_func_start sub_810D028
-sub_810D028: @ 810D028
- push {r4-r6,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r6, 0x80
- lsls r6, 19
- movs r4, 0
- strh r4, [r6]
- ldr r0, _0810D098 @ =gCaveTransitionTiles
- ldr r1, _0810D09C @ =0x0600c000
- bl LZ77UnCompVram
- ldr r0, _0810D0A0 @ =gCaveTransitionTilemap
- ldr r1, _0810D0A4 @ =0x0600f800
- bl LZ77UnCompVram
- ldr r0, _0810D0A8 @ =REG_BLDCNT
- strh r4, [r0]
- adds r0, 0x2
- strh r4, [r0]
- adds r0, 0x2
- strh r4, [r0]
- ldr r1, _0810D0AC @ =REG_BG0CNT
- ldr r2, _0810D0B0 @ =0x00001f0c
- adds r0, r2, 0
- strh r0, [r1]
- movs r1, 0x8A
- lsls r1, 5
- adds r0, r1, 0
- strh r0, [r6]
- ldr r0, _0810D0B4 @ =gCaveTransitionPalette_White
- movs r1, 0xE0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _0810D0B8 @ =gCaveTransitionPalette_Black
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r1, _0810D0BC @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _0810D0C0 @ =sub_810D0C4
- str r1, [r0]
- movs r2, 0
- movs r1, 0x10
- strh r1, [r0, 0x8]
- strh r2, [r0, 0xA]
- strh r2, [r0, 0xC]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0810D098: .4byte gCaveTransitionTiles
-_0810D09C: .4byte 0x0600c000
-_0810D0A0: .4byte gCaveTransitionTilemap
-_0810D0A4: .4byte 0x0600f800
-_0810D0A8: .4byte REG_BLDCNT
-_0810D0AC: .4byte REG_BG0CNT
-_0810D0B0: .4byte 0x00001f0c
-_0810D0B4: .4byte gCaveTransitionPalette_White
-_0810D0B8: .4byte gCaveTransitionPalette_Black
-_0810D0BC: .4byte gTasks
-_0810D0C0: .4byte sub_810D0C4
- thumb_func_end sub_810D028
-
- thumb_func_start sub_810D0C4
-sub_810D0C4: @ 810D0C4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0810D0F8 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r3, r1, r2
- ldrh r1, [r3, 0xC]
- cmp r1, 0xF
- bhi _0810D100
- adds r2, r1, 0x1
- adds r0, r2, 0x1
- strh r0, [r3, 0xC]
- movs r0, 0xF
- subs r0, r1
- lsls r0, 1
- ldr r1, _0810D0FC @ =gUnknown_083F808C
- adds r0, r1
- lsls r2, 17
- lsrs r2, 16
- movs r1, 0xE0
- bl LoadPalette
- b _0810D114
- .align 2, 0
-_0810D0F8: .4byte gTasks
-_0810D0FC: .4byte gUnknown_083F808C
-_0810D100:
- ldr r1, _0810D118 @ =REG_BLDALPHA
- ldr r2, _0810D11C @ =0x00001010
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0x2
- ldr r2, _0810D120 @ =0x00003e41
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _0810D124 @ =sub_810D128
- str r0, [r3]
-_0810D114:
- pop {r0}
- bx r0
- .align 2, 0
-_0810D118: .4byte REG_BLDALPHA
-_0810D11C: .4byte 0x00001010
-_0810D120: .4byte 0x00003e41
-_0810D124: .4byte sub_810D128
- thumb_func_end sub_810D0C4
-
- thumb_func_start sub_810D128
-sub_810D128: @ 810D128
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0810D158 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r3, r1, r2
- ldrh r0, [r3, 0xA]
- movs r1, 0x10
- subs r1, r0
- lsls r1, 16
- movs r2, 0x80
- lsls r2, 21
- adds r0, r1, r2
- lsrs r0, 16
- ldr r2, _0810D15C @ =REG_BLDALPHA
- strh r0, [r2]
- cmp r1, 0
- beq _0810D160
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- strh r0, [r3, 0xA]
- b _0810D172
- .align 2, 0
-_0810D158: .4byte gTasks
-_0810D15C: .4byte REG_BLDALPHA
-_0810D160:
- ldr r0, _0810D178 @ =gCaveTransitionPalette_Black
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _0810D17C @ =gMain
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
-_0810D172:
- pop {r0}
- bx r0
- .align 2, 0
-_0810D178: .4byte gCaveTransitionPalette_Black
-_0810D17C: .4byte gMain
- thumb_func_end sub_810D128
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/m4a_1.s b/asm/m4a_1.s
index ffe2ca885..849cf5c2d 100644
--- a/asm/m4a_1.s
+++ b/asm/m4a_1.s
@@ -4,6 +4,8 @@
.syntax unified
+ .lcomm gUnknown_030007B8, 0x770
+
.text
thumb_func_start umul3232H32
diff --git a/asm/macros/event.inc b/asm/macros/event.inc
index e3caa0c4f..cd2927c66 100644
--- a/asm/macros/event.inc
+++ b/asm/macros/event.inc
@@ -241,14 +241,14 @@
@ Calls a special function; that is, a piece of ASM code designed for use by scripts and listed in a table of pointers.
.macro special function
.byte 0x25
- .2byte \function
+ .2byte SPECIAL_\function
.endm
@ Calls a special function. That function's output (if any) will be written to the variable you specify.
.macro specialval output, function
.byte 0x26
.2byte \output
- .2byte \function
+ .2byte SPECIAL_\function
.endm
@ Blocks script execution until a command or ASM code manually unblocks it. Generally used with specific commands and specials. If this command runs, and a subsequent command or piece of ASM does not unblock state, the script will remain blocked indefinitely (essentially a hang).
diff --git a/asm/mon_markings.s b/asm/mon_markings.s
deleted file mode 100644
index d227b17c1..000000000
--- a/asm/mon_markings.s
+++ /dev/null
@@ -1,1008 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80F727C
-sub_80F727C: @ 80F727C
- ldr r1, _080F7288 @ =gUnknown_020388B8
- str r0, [r1]
- movs r1, 0
- strb r1, [r0, 0xB]
- bx lr
- .align 2, 0
-_080F7288: .4byte gUnknown_020388B8
- thumb_func_end sub_80F727C
-
- thumb_func_start sub_80F728C
-sub_80F728C: @ 80F728C
- push {lr}
- sub sp, 0x4
- ldr r0, _080F72C4 @ =gSaveBlock2
- ldrb r0, [r0, 0x14]
- lsrs r0, 3
- bl GetTextWindowFrameGraphics
- ldr r3, _080F72C8 @ =gUnknown_020388B8
- ldr r2, [r3]
- ldr r1, [r0]
- str r1, [r2, 0x28]
- ldr r0, [r0, 0x4]
- str r0, [r2, 0x2C]
- ldr r0, _080F72CC @ =0x000010b0
- adds r2, r0
- movs r1, 0
- strb r1, [r2]
- mov r0, sp
- strh r1, [r0]
- ldr r1, [r3]
- adds r1, 0x30
- ldr r2, _080F72D0 @ =0x01000800
- bl CpuSet
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080F72C4: .4byte gSaveBlock2
-_080F72C8: .4byte gUnknown_020388B8
-_080F72CC: .4byte 0x000010b0
-_080F72D0: .4byte 0x01000800
- thumb_func_end sub_80F728C
-
- thumb_func_start sub_80F72D4
-sub_80F72D4: @ 80F72D4
- push {r4-r7,lr}
- ldr r0, _080F72F4 @ =gUnknown_020388B8
- ldr r1, [r0]
- ldr r2, _080F72F8 @ =0x000010b0
- adds r0, r1, r2
- ldrb r2, [r0]
- lsls r0, r2, 8
- adds r0, 0x30
- adds r5, r1, r0
- cmp r2, 0xD
- beq _080F73A4
- cmp r2, 0xD
- bgt _080F72FC
- cmp r2, 0
- beq _080F7302
- b _080F734C
- .align 2, 0
-_080F72F4: .4byte gUnknown_020388B8
-_080F72F8: .4byte 0x000010b0
-_080F72FC:
- cmp r2, 0xE
- beq _080F73F0
- b _080F734C
-_080F7302:
- ldr r0, [r1, 0x28]
- adds r1, r5, 0
- movs r2, 0x8
- bl CpuFastSet
- movs r4, 0
- adds r7, r5, 0
- adds r7, 0xE0
-_080F7312:
- ldr r6, _080F7344 @ =gUnknown_020388B8
- ldr r0, [r6]
- ldr r0, [r0, 0x28]
- adds r0, 0x20
- adds r4, 0x1
- lsls r1, r4, 5
- adds r1, r5, r1
- movs r2, 0x8
- bl CpuFastSet
- lsls r4, 16
- lsrs r4, 16
- cmp r4, 0x5
- bls _080F7312
- ldr r0, [r6]
- ldr r0, [r0, 0x28]
- adds r0, 0x40
- adds r1, r7, 0
- movs r2, 0x8
- bl CpuFastSet
- ldr r1, [r6]
- ldr r0, _080F7348 @ =0x000010b0
- adds r1, r0
- b _080F7392
- .align 2, 0
-_080F7344: .4byte gUnknown_020388B8
-_080F7348: .4byte 0x000010b0
-_080F734C:
- ldr r0, _080F739C @ =gUnknown_020388B8
- ldr r0, [r0]
- ldr r0, [r0, 0x28]
- adds r0, 0x60
- adds r1, r5, 0
- movs r2, 0x8
- bl CpuFastSet
- movs r4, 0
- adds r7, r5, 0
- adds r7, 0xE0
-_080F7362:
- ldr r6, _080F739C @ =gUnknown_020388B8
- ldr r0, [r6]
- ldr r0, [r0, 0x28]
- adds r0, 0x80
- adds r4, 0x1
- lsls r1, r4, 5
- adds r1, r5, r1
- movs r2, 0x8
- bl CpuFastSet
- lsls r4, 16
- lsrs r4, 16
- cmp r4, 0x5
- bls _080F7362
- ldr r0, [r6]
- ldr r0, [r0, 0x28]
- adds r0, 0xA0
- adds r1, r7, 0
- movs r2, 0x8
- bl CpuFastSet
- ldr r1, [r6]
- ldr r2, _080F73A0 @ =0x000010b0
- adds r1, r2
-_080F7392:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080F73FC
- .align 2, 0
-_080F739C: .4byte gUnknown_020388B8
-_080F73A0: .4byte 0x000010b0
-_080F73A4:
- ldr r0, [r1, 0x28]
- adds r0, 0xC0
- adds r1, r5, 0
- movs r2, 0x8
- bl CpuFastSet
- movs r4, 0
- adds r7, r5, 0
- adds r7, 0xE0
-_080F73B6:
- ldr r6, _080F73F4 @ =gUnknown_020388B8
- ldr r0, [r6]
- ldr r0, [r0, 0x28]
- adds r0, 0xE0
- adds r4, 0x1
- lsls r1, r4, 5
- adds r1, r5, r1
- movs r2, 0x8
- bl CpuFastSet
- lsls r4, 16
- lsrs r4, 16
- cmp r4, 0x5
- bls _080F73B6
- ldr r0, [r6]
- ldr r0, [r0, 0x28]
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- adds r1, r7, 0
- movs r2, 0x8
- bl CpuFastSet
- ldr r1, [r6]
- ldr r2, _080F73F8 @ =0x000010b0
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080F73F0:
- movs r0, 0
- b _080F73FE
- .align 2, 0
-_080F73F4: .4byte gUnknown_020388B8
-_080F73F8: .4byte 0x000010b0
-_080F73FC:
- movs r0, 0x1
-_080F73FE:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80F72D4
-
- thumb_func_start sub_80F7404
-sub_80F7404: @ 80F7404
- push {lr}
- bl sub_80F728C
-_080F740A:
- bl sub_80F72D4
- lsls r0, 24
- cmp r0, 0
- bne _080F740A
- pop {r0}
- bx r0
- thumb_func_end sub_80F7404
-
- thumb_func_start sub_80F7418
-sub_80F7418: @ 80F7418
- push {r4-r6,lr}
- lsls r1, 16
- lsrs r5, r1, 16
- lsls r2, 16
- lsrs r6, r2, 16
- ldr r2, _080F746C @ =gUnknown_020388B8
- ldr r3, [r2]
- movs r1, 0
- strb r1, [r3, 0x5]
- ldr r1, [r2]
- strb r0, [r1, 0x4]
- movs r3, 0
- adds r4, r2, 0
- movs r2, 0x1
-_080F7434:
- ldr r0, [r4]
- adds r1, r0, 0x6
- adds r1, r3
- ldrb r0, [r0, 0x4]
- asrs r0, r3
- ands r0, r2
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _080F7434
- bl DestroyMenuCursor
- lsls r0, r5, 16
- asrs r0, 16
- lsls r1, r6, 16
- asrs r1, 16
- ldr r2, _080F746C @ =gUnknown_020388B8
- ldr r3, [r2]
- ldrh r2, [r3]
- ldrh r3, [r3, 0x2]
- bl sub_80F761C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080F746C: .4byte gUnknown_020388B8
- thumb_func_end sub_80F7418
-
- thumb_func_start sub_80F7470
-sub_80F7470: @ 80F7470
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _080F74FC @ =gUnknown_020388B8
-_080F7476:
- ldr r0, [r5]
- ldrh r0, [r0]
- adds r0, r4, r0
- lsls r0, 16
- lsrs r0, 16
- bl FreeSpriteTilesByTag
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x2
- bls _080F7476
- ldr r4, _080F74FC @ =gUnknown_020388B8
- ldr r0, [r4]
- ldrh r0, [r0, 0x2]
- bl FreeSpritePaletteByTag
- ldr r0, [r4]
- ldrh r0, [r0, 0x2]
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- bl FreeSpritePaletteByTag
- movs r4, 0
-_080F74A8:
- ldr r0, _080F74FC @ =gUnknown_020388B8
- ldr r0, [r0]
- lsls r1, r4, 2
- adds r0, 0xC
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _080F74F6
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _080F74A8
- movs r4, 0
-_080F74C8:
- ldr r5, _080F74FC @ =gUnknown_020388B8
- ldr r0, [r5]
- lsls r1, r4, 2
- adds r0, 0x14
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _080F74F6
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _080F74C8
- bl DestroyMenuCursor
- ldr r0, [r5]
- ldr r0, [r0, 0x24]
- cmp r0, 0
- beq _080F74F6
- bl DestroySprite
-_080F74F6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F74FC: .4byte gUnknown_020388B8
- thumb_func_end sub_80F7470
-
- thumb_func_start sub_80F7500
-sub_80F7500: @ 80F7500
- push {r4,r5,lr}
- sub sp, 0x30
- ldr r4, _080F7580 @ =gUnknown_020388B8
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x30
- str r0, [sp, 0x18]
- add r1, sp, 0x1C
- movs r5, 0
- movs r0, 0x80
- lsls r0, 5
- strh r0, [r1]
- ldrh r1, [r2]
- mov r0, sp
- adds r0, 0x1E
- strh r1, [r0]
- add r1, sp, 0x20
- ldr r0, _080F7584 @ =gPokenavConditionMenuMisc_Gfx
- str r0, [sp, 0x20]
- movs r0, 0xA4
- lsls r0, 3
- strh r0, [r1, 0x4]
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r1, 0x6]
- add r0, sp, 0x28
- movs r1, 0
- movs r2, 0x8
- bl memset
- add r1, sp, 0x18
- mov r0, sp
- movs r2, 0x18
- bl memcpy
- ldr r0, [r4]
- ldrb r0, [r0, 0xB]
- cmp r0, 0
- beq _080F7558
- mov r0, sp
- bl LoadTilesForSpriteSheets
- ldr r0, [r4]
- strb r5, [r0, 0xB]
-_080F7558:
- ldr r0, _080F7588 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080F758C
- movs r0, 0x5
- bl PlaySE
- ldr r1, [r4]
- ldrb r0, [r1, 0x5]
- subs r0, 0x1
- strb r0, [r1, 0x5]
- lsls r0, 24
- cmp r0, 0
- bge _080F75FE
- ldr r1, [r4]
- movs r0, 0x5
- strb r0, [r1, 0x5]
- b _080F75FE
- .align 2, 0
-_080F7580: .4byte gUnknown_020388B8
-_080F7584: .4byte gPokenavConditionMenuMisc_Gfx
-_080F7588: .4byte gMain
-_080F758C:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080F75B0
- movs r0, 0x5
- bl PlaySE
- ldr r1, [r4]
- ldrb r0, [r1, 0x5]
- adds r0, 0x1
- strb r0, [r1, 0x5]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x5
- ble _080F75FE
- ldr r0, [r4]
- strb r5, [r0, 0x5]
- b _080F75FE
-_080F75B0:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080F7602
- movs r0, 0x5
- bl PlaySE
- ldr r0, [r4]
- movs r1, 0x5
- ldrsb r1, [r0, r1]
- cmp r1, 0x4
- beq _080F75DC
- cmp r1, 0x5
- beq _080F7610
- adds r0, 0x6
- adds r1, r0, r1
- movs r2, 0
- ldrb r0, [r1]
- cmp r0, 0
- bne _080F75FC
- movs r2, 0x1
- b _080F75FC
-_080F75DC:
- strb r5, [r0, 0x4]
- movs r3, 0
-_080F75E0:
- ldr r2, [r4]
- adds r0, r2, 0x6
- adds r0, r3
- ldrb r0, [r0]
- lsls r0, r3
- ldrb r1, [r2, 0x4]
- orrs r0, r1
- strb r0, [r2, 0x4]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _080F75E0
- b _080F7610
-_080F75FC:
- strb r2, [r1]
-_080F75FE:
- movs r0, 0x1
- b _080F7612
-_080F7602:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080F75FE
- movs r0, 0x5
- bl PlaySE
-_080F7610:
- movs r0, 0
-_080F7612:
- add sp, 0x30
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80F7500
-
- thumb_func_start sub_80F761C
-sub_80F761C: @ 80F761C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x5C
- adds r5, r2, 0
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x4C]
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp, 0x50]
- lsls r5, 16
- lsrs r5, 16
- lsls r3, 16
- lsrs r3, 16
- str r3, [sp, 0x54]
- ldr r0, _080F7820 @ =gUnknown_020388B8
- mov r8, r0
- ldr r0, [r0]
- adds r0, 0x30
- str r0, [sp, 0x1C]
- add r1, sp, 0x20
- movs r2, 0
- mov r9, r2
- movs r0, 0x80
- lsls r0, 5
- strh r0, [r1]
- mov r0, sp
- adds r0, 0x22
- strh r5, [r0]
- add r1, sp, 0x24
- ldr r0, _080F7824 @ =gPokenavConditionMenuMisc_Gfx
- str r0, [sp, 0x24]
- movs r0, 0xA4
- lsls r0, 3
- strh r0, [r1, 0x4]
- adds r0, r5, 0x1
- strh r0, [r1, 0x6]
- add r0, sp, 0x2C
- movs r1, 0
- movs r2, 0x8
- bl memset
- add r6, sp, 0x1C
- add r0, sp, 0x4
- adds r1, r6, 0
- movs r2, 0x18
- bl memcpy
- mov r3, r8
- ldr r0, [r3]
- ldr r0, [r0, 0x2C]
- str r0, [sp, 0x34]
- add r0, sp, 0x38
- add r1, sp, 0x54
- ldrh r1, [r1]
- strh r1, [r0]
- add r1, sp, 0x3C
- ldr r0, _080F7828 @ =gUnknown_08E966B8
- str r0, [sp, 0x3C]
- ldr r0, [sp, 0x54]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- add r0, sp, 0x44
- movs r1, 0
- movs r2, 0x8
- bl memset
- add r4, sp, 0x34
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0x18
- bl memcpy
- strh r5, [r4]
- add r2, sp, 0x54
- ldrh r2, [r2]
- strh r2, [r4, 0x2]
- ldr r0, _080F782C @ =gOamData_83E5214
- str r0, [r4, 0x4]
- ldr r0, _080F7830 @ =gSpriteAnimTable_83E52AC
- str r0, [r4, 0x8]
- mov r3, r9
- str r3, [r4, 0xC]
- ldr r0, _080F7834 @ =gDummySpriteAffineAnimTable
- str r0, [r4, 0x10]
- ldr r0, _080F7838 @ =nullsub_65
- str r0, [r4, 0x14]
- mov r0, r8
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0xB]
- add r0, sp, 0x4
- bl AllocTilesForSpriteSheets
- adds r0, r6, 0
- bl LoadSpritePalettes
- movs r5, 0
- ldr r1, [sp, 0x4C]
- lsls r0, r1, 16
- movs r2, 0x80
- lsls r2, 14
- adds r2, r0
- mov r8, r2
- str r0, [sp, 0x58]
- ldr r3, [sp, 0x50]
- lsls r0, r3, 16
- movs r1, 0x80
- lsls r1, 14
- adds r7, r0, r1
- mov r9, r0
-_080F7700:
- adds r0, r4, 0
- mov r2, r8
- asrs r1, r2, 16
- asrs r2, r7, 16
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- bne _080F7718
- b _080F7850
-_080F7718:
- ldr r6, _080F7820 @ =gUnknown_020388B8
- ldr r2, [r6]
- lsls r0, r5, 2
- adds r2, 0xC
- adds r2, r0
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- ldr r1, _080F783C @ =gSprites
- adds r0, r1
- str 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 _080F7700
- ldr r0, [r6]
- ldr r1, [r0, 0x10]
- mov r3, r9
- asrs r0, r3, 16
- adds r0, 0x60
- strh r0, [r1, 0x22]
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- ldr r0, _080F7840 @ =gSpriteAnimTable_83E5274
- str r0, [r4, 0x8]
- ldr r0, _080F7844 @ =sub_80F78CC
- str r0, [r4, 0x14]
- ldr r0, _080F7848 @ =gOamData_83E521C
- str r0, [r4, 0x4]
- movs r5, 0
- ldr r0, [sp, 0x58]
- movs r1, 0x80
- lsls r1, 14
- adds r0, r1
- mov r10, r0
-_080F7770:
- lsls r2, r5, 4
- adds r2, 0x10
- mov r3, r9
- asrs r3, 16
- mov r8, r3
- add r2, r8
- lsls r2, 16
- asrs r2, 16
- adds r0, r4, 0
- mov r3, r10
- asrs r1, r3, 16
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- beq _080F7860
- ldr r6, _080F7820 @ =gUnknown_020388B8
- ldr r1, [r6]
- lsls r0, r5, 2
- adds r1, 0x14
- adds r1, r0
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- ldr r7, _080F783C @ =gSprites
- adds r0, r7
- str r0, [r1]
- strh r5, [r0, 0x2E]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _080F7770
- ldr r0, _080F784C @ =SpriteCallbackDummy
- str r0, [r4, 0x14]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- beq _080F7874
- ldr r1, [r6]
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- adds r0, r7
- str r0, [r1, 0x24]
- ldrb r2, [r0, 0x1]
- movs r1, 0x3F
- ands r1, r2
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0, 0x1]
- ldr r0, [r6]
- ldr r2, [r0, 0x24]
- ldrb r0, [r2, 0x3]
- movs r1, 0xC0
- orrs r0, r1
- strb r0, [r2, 0x3]
- ldr r0, [r6]
- ldr r0, [r0, 0x24]
- movs r1, 0x9
- bl StartSpriteAnim
- ldr r1, [r6]
- ldr r2, [r1, 0x24]
- ldr r3, [sp, 0x58]
- asrs r0, r3, 16
-.ifdef ENGLISH
- adds r0, 0x20
-.else
- adds r0, 0x18
-.endif
- strh r0, [r2, 0x20]
- ldr r2, [r1, 0x24]
- mov r0, r8
- adds r0, 0x50
- strh r0, [r2, 0x22]
- ldr r0, [r1, 0x24]
- movs r1, 0x1
- movs r2, 0x2
- movs r3, 0
- bl CalcCenterToCornerVec
- b _080F787A
- .align 2, 0
-_080F7820: .4byte gUnknown_020388B8
-_080F7824: .4byte gPokenavConditionMenuMisc_Gfx
-_080F7828: .4byte gUnknown_08E966B8
-_080F782C: .4byte gOamData_83E5214
-_080F7830: .4byte gSpriteAnimTable_83E52AC
-_080F7834: .4byte gDummySpriteAffineAnimTable
-_080F7838: .4byte nullsub_65
-_080F783C: .4byte gSprites
-_080F7840: .4byte gSpriteAnimTable_83E5274
-_080F7844: .4byte sub_80F78CC
-_080F7848: .4byte gOamData_83E521C
-_080F784C: .4byte SpriteCallbackDummy
-_080F7850:
- ldr r0, _080F785C @ =gUnknown_020388B8
- ldr r0, [r0]
- lsls r1, r5, 2
- adds r0, 0xC
- b _080F7868
- .align 2, 0
-_080F785C: .4byte gUnknown_020388B8
-_080F7860:
- ldr r0, _080F7870 @ =gUnknown_020388B8
- ldr r0, [r0]
- lsls r1, r5, 2
- adds r0, 0x14
-_080F7868:
- adds r0, r1
- movs r1, 0
- str r1, [r0]
- b _080F78B0
- .align 2, 0
-_080F7870: .4byte gUnknown_020388B8
-_080F7874:
- ldr r1, [r6]
- movs r0, 0
- str r0, [r1, 0x24]
-_080F787A:
- ldr r4, _080F78C0 @ =gUnknown_020388B8
- ldr r1, [r4]
- ldr r0, [sp, 0x50]
- adds r0, 0x8
- strb r0, [r1, 0xA]
- ldr r1, [sp, 0x54]
- adds r1, 0x1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x30
- str r0, [sp]
- movs r0, 0
- movs r2, 0xF
- movs r3, 0
- bl sub_814A5C0
- ldr r0, [sp, 0x4C]
- adds r0, 0x8
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [r4]
- ldrb r1, [r1, 0xA]
- bl sub_814A880
- ldr r0, _080F78C4 @ =sub_80F7908
- bl sub_814AABC
-_080F78B0:
- add sp, 0x5C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F78C0: .4byte gUnknown_020388B8
-_080F78C4: .4byte sub_80F7908
- thumb_func_end sub_80F761C
-
- thumb_func_start nullsub_65
-nullsub_65: @ 80F78C8
- bx lr
- thumb_func_end nullsub_65
-
- thumb_func_start sub_80F78CC
-sub_80F78CC: @ 80F78CC
- push {lr}
- adds r2, r0, 0
- ldr r0, _080F78F4 @ =gUnknown_020388B8
- ldr r0, [r0]
- movs r3, 0x2E
- ldrsh r1, [r2, r3]
- adds r0, 0x6
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F78F8
- lsls r1, 1
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- adds r0, r2, 0
- bl StartSpriteAnim
- b _080F7902
- .align 2, 0
-_080F78F4: .4byte gUnknown_020388B8
-_080F78F8:
- lsls r1, 25
- lsrs r1, 24
- adds r0, r2, 0
- bl StartSpriteAnim
-_080F7902:
- pop {r0}
- bx r0
- thumb_func_end sub_80F78CC
-
- thumb_func_start sub_80F7908
-sub_80F7908: @ 80F7908
- ldr r1, _080F791C @ =gUnknown_020388B8
- ldr r2, [r1]
- movs r1, 0x5
- ldrsb r1, [r2, r1]
- lsls r1, 4
- ldrb r2, [r2, 0xA]
- adds r1, r2
- strh r1, [r0, 0x22]
- bx lr
- .align 2, 0
-_080F791C: .4byte gUnknown_020388B8
- thumb_func_end sub_80F7908
-
- thumb_func_start sub_80F7920
-sub_80F7920: @ 80F7920
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- cmp r2, 0
- bne _080F7930
- ldr r2, _080F793C @ =gUnknown_083E49F4
-_080F7930:
- movs r3, 0x10
- bl sub_80F7960
- pop {r1}
- bx r1
- .align 2, 0
-_080F793C: .4byte gUnknown_083E49F4
- thumb_func_end sub_80F7920
-
- thumb_func_start sub_80F7940
-sub_80F7940: @ 80F7940
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- cmp r2, 0
- bne _080F7950
- ldr r2, _080F795C @ =gUnknown_083E49F4
-_080F7950:
- movs r3, 0x1
- bl sub_80F7960
- pop {r1}
- bx r1
- .align 2, 0
-_080F795C: .4byte gUnknown_083E49F4
- thumb_func_end sub_80F7940
-
- thumb_func_start sub_80F7960
-sub_80F7960: @ 80F7960
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x28
- lsls r0, 16
- lsls r1, 16
- lsrs r1, 16
- ldr r4, _080F79DC @ =gUnknown_083E4A14
- str r4, [sp, 0x18]
- movs r4, 0x80
- add r5, sp, 0x18
- lsrs r6, r0, 16
- orrs r0, r4
- str r0, [r5, 0x4]
- str r2, [sp, 0x20]
- ldr r0, _080F79E0 @ =0xffff0000
- mov r8, r0
- add r4, sp, 0x20
- ldr r0, [r4, 0x4]
- mov r2, r8
- ands r0, r2
- orrs r0, r1
- str r0, [r4, 0x4]
- mov r0, sp
- movs r2, 0
- strh r6, [r0]
- strh r1, [r0, 0x2]
- ldr r0, _080F79E4 @ =gOamData_83E52B4
- str r0, [sp, 0x4]
- ldr r0, _080F79E8 @ =gSpriteAnimTable_83E533C
- str r0, [sp, 0x8]
- str r2, [sp, 0xC]
- ldr r0, _080F79EC @ =gDummySpriteAffineAnimTable
- str r0, [sp, 0x10]
- ldr r0, _080F79F0 @ =nullsub_65
- str r0, [sp, 0x14]
- lsls r3, 23
- lsrs r3, 16
- ldr r0, [r5, 0x4]
- mov r1, r8
- ands r0, r1
- orrs r0, r3
- str r0, [r5, 0x4]
- adds r0, r5, 0
- bl LoadSpriteSheet
- adds r0, r4, 0
- bl LoadSpritePalette
- mov r0, sp
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- bne _080F79F4
- movs r0, 0
- b _080F79FE
- .align 2, 0
-_080F79DC: .4byte gUnknown_083E4A14
-_080F79E0: .4byte 0xffff0000
-_080F79E4: .4byte gOamData_83E52B4
-_080F79E8: .4byte gSpriteAnimTable_83E533C
-_080F79EC: .4byte gDummySpriteAffineAnimTable
-_080F79F0: .4byte nullsub_65
-_080F79F4:
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080F7A0C @ =gSprites
- adds r0, r1
-_080F79FE:
- add sp, 0x28
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080F7A0C: .4byte gSprites
- thumb_func_end sub_80F7960
-
- thumb_func_start sub_80F7A10
-sub_80F7A10: @ 80F7A10
- lsls r0, 24
- lsrs r0, 17
- ldr r2, _080F7A28 @ =gUnknown_083E4A14
- adds r0, r2
- ldr r2, _080F7A2C @ =0x040000d4
- str r0, [r2]
- str r1, [r2, 0x4]
- ldr r0, _080F7A30 @ =0x80000040
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- bx lr
- .align 2, 0
-_080F7A28: .4byte gUnknown_083E4A14
-_080F7A2C: .4byte 0x040000d4
-_080F7A30: .4byte 0x80000040
- thumb_func_end sub_80F7A10
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokemon_icon.s b/asm/pokemon_icon.s
deleted file mode 100644
index 5aa8b5901..000000000
--- a/asm/pokemon_icon.s
+++ /dev/null
@@ -1,788 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start unref_sub_809D26C
-unref_sub_809D26C: @ 809D26C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x18
- adds r6, r3, 0
- ldr r3, [sp, 0x2C]
- lsls r0, 16
- lsrs r0, 16
- lsls r3, 24
- lsrs r3, 24
- mov r8, sp
- ldr r4, _0809D2E0 @ =gOamData_83BC5E8
- str r4, [sp]
- ldr r5, _0809D2E4 @ =gMonIconTable
- lsls r4, r0, 2
- adds r4, r5
- ldr r4, [r4]
- str r4, [sp, 0x4]
- ldr r4, _0809D2E8 @ =gSpriteAnimTable_83BC62C
- str r4, [sp, 0x8]
- ldr r4, _0809D2EC @ =gSpriteAffineAnimTable_83BC660
- str r4, [sp, 0xC]
- str r1, [sp, 0x10]
- ldr r1, _0809D2F0 @ =gMonIconPaletteIndices
- adds r0, r1
- ldr r4, _0809D2F4 @ =0x0000dac0
- adds r1, r4, 0
- ldrb r0, [r0]
- adds r1, r0
- mov r0, r8
- strh r1, [r0, 0x14]
- lsls r2, 16
- asrs r2, 16
- lsls r6, 16
- asrs r6, 16
- mov r0, sp
- adds r1, r2, 0
- adds r2, r6, 0
- bl CreateMonIconSprite
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, _0809D2F8 @ =gSprites
- adds r0, r1
- bl UpdateMonIconFrame
- adds r0, r4, 0
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809D2E0: .4byte gOamData_83BC5E8
-_0809D2E4: .4byte gMonIconTable
-_0809D2E8: .4byte gSpriteAnimTable_83BC62C
-_0809D2EC: .4byte gSpriteAffineAnimTable_83BC660
-_0809D2F0: .4byte gMonIconPaletteIndices
-_0809D2F4: .4byte 0x0000dac0
-_0809D2F8: .4byte gSprites
- thumb_func_end unref_sub_809D26C
-
- thumb_func_start CreateMonIcon
-CreateMonIcon: @ 809D2FC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x30
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, [sp, 0x48]
- ldr r1, [sp, 0x4C]
- lsls r4, 16
- lsrs r4, 16
- lsls r2, 16
- lsrs r7, r2, 16
- lsls r3, 16
- lsrs r6, r3, 16
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, _0809D38C @ =gOamData_83BC5E8
- str r0, [sp, 0x18]
- adds r0, r4, 0
- bl GetMonIconPtr
- str r0, [sp, 0x1C]
- ldr r0, _0809D390 @ =gSpriteAnimTable_83BC62C
- str r0, [sp, 0x20]
- ldr r0, _0809D394 @ =gSpriteAffineAnimTable_83BC660
- str r0, [sp, 0x24]
- str r5, [sp, 0x28]
- ldr r0, _0809D398 @ =gMonIconPaletteIndices
- adds r0, r4, r0
- ldr r1, _0809D39C @ =0x0000dac0
- adds r5, r1, 0
- ldrb r0, [r0]
- adds r1, r5, r0
- add r0, sp, 0x2C
- strh r1, [r0]
- add r1, sp, 0x18
- mov r0, sp
- movs r2, 0x18
- bl memcpy
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- bls _0809D35A
- mov r0, sp
- strh r5, [r0, 0x14]
-_0809D35A:
- lsls r1, r7, 16
- asrs r1, 16
- lsls r2, r6, 16
- asrs r2, 16
- mov r0, sp
- mov r3, r8
- bl CreateMonIconSprite
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, _0809D3A0 @ =gSprites
- adds r0, r1
- bl UpdateMonIconFrame
- adds r0, r4, 0
- add sp, 0x30
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0809D38C: .4byte gOamData_83BC5E8
-_0809D390: .4byte gSpriteAnimTable_83BC62C
-_0809D394: .4byte gSpriteAffineAnimTable_83BC660
-_0809D398: .4byte gMonIconPaletteIndices
-_0809D39C: .4byte 0x0000dac0
-_0809D3A0: .4byte gSprites
- thumb_func_end CreateMonIcon
-
- thumb_func_start sub_809D3A4
-sub_809D3A4: @ 809D3A4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x18
- adds r6, r3, 0
- ldr r3, [sp, 0x2C]
- lsls r0, 16
- lsrs r0, 16
- lsls r3, 24
- lsrs r3, 24
- mov r8, sp
- ldr r4, _0809D418 @ =gOamData_83BC5E8
- str r4, [sp]
- ldr r5, _0809D41C @ =gMonIconTable
- lsls r4, r0, 2
- adds r4, r5
- ldr r4, [r4]
- str r4, [sp, 0x4]
- ldr r4, _0809D420 @ =gSpriteAnimTable_83BC62C
- str r4, [sp, 0x8]
- ldr r4, _0809D424 @ =gSpriteAffineAnimTable_83BC660
- str r4, [sp, 0xC]
- str r1, [sp, 0x10]
- ldr r1, _0809D428 @ =gMonIconPaletteIndices
- adds r0, r1
- ldr r4, _0809D42C @ =0x0000dac0
- adds r1, r4, 0
- ldrb r0, [r0]
- adds r1, r0
- mov r0, r8
- strh r1, [r0, 0x14]
- lsls r2, 16
- asrs r2, 16
- lsls r6, 16
- asrs r6, 16
- mov r0, sp
- adds r1, r2, 0
- adds r2, r6, 0
- bl CreateMonIconSprite
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, _0809D430 @ =gSprites
- adds r0, r1
- bl UpdateMonIconFrame
- adds r0, r4, 0
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809D418: .4byte gOamData_83BC5E8
-_0809D41C: .4byte gMonIconTable
-_0809D420: .4byte gSpriteAnimTable_83BC62C
-_0809D424: .4byte gSpriteAffineAnimTable_83BC660
-_0809D428: .4byte gMonIconPaletteIndices
-_0809D42C: .4byte 0x0000dac0
-_0809D430: .4byte gSprites
- thumb_func_end sub_809D3A4
-
- thumb_func_start mon_icon_convert_unown_species_id
-mon_icon_convert_unown_species_id: @ 809D434
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, SPECIES_UNOWN
- bne _0809D45E
- adds r0, r1, 0
- bl GetUnownLetterByPersonality
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _0809D450
- movs r0, SPECIES_UNOWN
- b _0809D45A
-_0809D450:
- movs r1, 0xCE
- lsls r1, 1
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
-_0809D45A:
- adds r1, r0, 0
- b _0809D46C
-_0809D45E:
- movs r0, 0xCE
- lsls r0, 1
- adds r1, r2, 0
- cmp r1, r0
- bls _0809D46C
- movs r1, 0x82
- lsls r1, 1
-_0809D46C:
- adds r0, r1, 0
- pop {r1}
- bx r1
- thumb_func_end mon_icon_convert_unown_species_id
-
- thumb_func_start GetUnownLetterByPersonality
-GetUnownLetterByPersonality: @ 809D474
- push {lr}
- adds r2, r0, 0
- movs r0, 0xC0
- lsls r0, 18
- ands r0, r2
- lsrs r0, 18
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r2
- lsrs r1, 12
- orrs r0, r1
- movs r1, 0xC0
- lsls r1, 2
- ands r1, r2
- lsrs r1, 6
- orrs r0, r1
- movs r1, 0x3
- ands r1, r2
- orrs r0, r1
- movs r1, 0x1C
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end GetUnownLetterByPersonality
-
- thumb_func_start sub_809D4A8
-sub_809D4A8: @ 809D4A8
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- mov r1, sp
- bl MailSpeciesToSpecies
- lsls r0, 16
- lsrs r0, 16
- cmp r0, SPECIES_UNOWN
- bne _0809D4DE
- mov r0, sp
- ldrh r0, [r0]
- cmp r0, 0
- bne _0809D4CE
- mov r1, sp
- adds r0, SPECIES_UNOWN
- b _0809D4D6
-_0809D4CE:
- mov r1, sp
- movs r2, 0xCE
- lsls r2, 1
- adds r0, r2
-_0809D4D6:
- strh r0, [r1]
- mov r0, sp
- ldrh r0, [r0]
- b _0809D4EA
-_0809D4DE:
- adds r0, r4, 0
- movs r1, 0
- bl mon_icon_convert_unown_species_id
- lsls r0, 16
- lsrs r0, 16
-_0809D4EA:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809D4A8
-
- thumb_func_start GetMonIconPtr
-GetMonIconPtr: @ 809D4F4
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- bl mon_icon_convert_unown_species_id
- lsls r0, 16
- ldr r1, _0809D50C @ =gMonIconTable
- lsrs r0, 14
- adds r0, r1
- ldr r0, [r0]
- pop {r1}
- bx r1
- .align 2, 0
-_0809D50C: .4byte gMonIconTable
- thumb_func_end GetMonIconPtr
-
- thumb_func_start sub_809D510
-sub_809D510: @ 809D510
- push {lr}
- bl sub_809D7E8
- pop {r0}
- bx r0
- thumb_func_end sub_809D510
-
- thumb_func_start sub_809D51C
-sub_809D51C: @ 809D51C
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _0809D53C @ =gMonIconPaletteTable
-_0809D522:
- lsls r0, r4, 3
- adds r0, r5
- bl LoadSpritePalette
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _0809D522
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D53C: .4byte gMonIconPaletteTable
- thumb_func_end sub_809D51C
-
- thumb_func_start unref_sub_809D540
-unref_sub_809D540: @ 809D540
- push {r4,lr}
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- bls _0809D552
- movs r1, 0x82
- lsls r1, 1
-_0809D552:
- ldr r0, _0809D578 @ =gMonIconPaletteIndices
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r1, _0809D57C @ =gMonIconPaletteTable
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x4]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _0809D572
- adds r0, r4, 0
- bl LoadSpritePalette
-_0809D572:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D578: .4byte gMonIconPaletteIndices
-_0809D57C: .4byte gMonIconPaletteTable
- thumb_func_end unref_sub_809D540
-
- thumb_func_start sub_809D580
-sub_809D580: @ 809D580
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _0809D5AC @ =gMonIconPaletteIndices
- adds r0, r1
- ldrb r0, [r0]
- ldr r1, _0809D5B0 @ =gMonIconPaletteTable
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x4]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _0809D5A6
- adds r0, r4, 0
- bl LoadSpritePalette
-_0809D5A6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D5AC: .4byte gMonIconPaletteIndices
-_0809D5B0: .4byte gMonIconPaletteTable
- thumb_func_end sub_809D580
-
- thumb_func_start unref_sub_809D5B4
-unref_sub_809D5B4: @ 809D5B4
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _0809D5D4 @ =gMonIconPaletteTable
-_0809D5BA:
- lsls r0, r4, 3
- adds r0, r5
- ldrh r0, [r0, 0x4]
- bl FreeSpritePaletteByTag
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _0809D5BA
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D5D4: .4byte gMonIconPaletteTable
- thumb_func_end unref_sub_809D5B4
-
- thumb_func_start unref_sub_809D5D8
-unref_sub_809D5D8: @ 809D5D8
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- bls _0809D5EA
- movs r1, 0x82
- lsls r1, 1
-_0809D5EA:
- ldr r0, _0809D600 @ =gMonIconPaletteIndices
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r1, _0809D604 @ =gMonIconPaletteTable
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x4]
- bl FreeSpritePaletteByTag
- pop {r0}
- bx r0
- .align 2, 0
-_0809D600: .4byte gMonIconPaletteIndices
-_0809D604: .4byte gMonIconPaletteTable
- thumb_func_end unref_sub_809D5D8
-
- thumb_func_start sub_809D608
-sub_809D608: @ 809D608
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _0809D624 @ =gMonIconPaletteIndices
- adds r0, r1
- ldrb r0, [r0]
- ldr r1, _0809D628 @ =gMonIconPaletteTable
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x4]
- bl FreeSpritePaletteByTag
- pop {r0}
- bx r0
- .align 2, 0
-_0809D624: .4byte gMonIconPaletteIndices
-_0809D628: .4byte gMonIconPaletteTable
- thumb_func_end sub_809D608
-
- thumb_func_start sub_809D62C
-sub_809D62C: @ 809D62C
- push {lr}
- bl UpdateMonIconFrame
- pop {r0}
- bx r0
- thumb_func_end sub_809D62C
-
- thumb_func_start UpdateMonIconFrame
-UpdateMonIconFrame: @ 809D638
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r4, r0, 0
- movs r7, 0
- adds r6, r4, 0
- adds r6, 0x2C
- ldrb r2, [r6]
- movs r0, 0x3F
- mov r9, r0
- ands r0, r2
- cmp r0, 0
- bne _0809D6EC
- movs r1, 0x2A
- adds r1, r4
- mov r8, r1
- ldrb r1, [r1]
- ldr r0, [r4, 0x8]
- lsls r1, 2
- adds r1, r0
- adds r5, r4, 0
- adds r5, 0x2B
- ldrb r0, [r5]
- ldr r1, [r1]
- lsls r0, 2
- adds r0, r1
- movs r1, 0
- ldrsh r3, [r0, r1]
- movs r0, 0x2
- negs r0, r0
- cmp r3, r0
- beq _0809D682
- adds r0, 0x1
- cmp r3, r0
- bne _0809D686
- b _0809D700
-_0809D682:
- strb r7, [r5]
- b _0809D700
-_0809D686:
- ldr r2, _0809D6E4 @ =gSpriteImageSizes
- ldrb r1, [r4, 0x3]
- lsrs r1, 6
- lsls r1, 1
- ldrb r0, [r4, 0x1]
- lsrs r0, 6
- lsls r0, 3
- adds r1, r0
- adds r1, r2
- ldrh r2, [r1]
- adds r1, r2, 0
- muls r1, r3
- ldr r0, [r4, 0xC]
- adds r0, r1
- ldrh r1, [r4, 0x4]
- lsls r1, 22
- lsrs r1, 17
- ldr r3, _0809D6E8 @ =0x06010000
- adds r1, r3
- bl RequestSpriteCopy
- mov r0, r8
- ldrb r1, [r0]
- ldr r0, [r4, 0x8]
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r5]
- ldr r1, [r1]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- lsls r0, 10
- lsrs r0, 26
- mov r1, r9
- ands r1, r0
- ldrb r2, [r6]
- movs r0, 0x40
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r6]
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- ldrb r7, [r5]
- b _0809D700
- .align 2, 0
-_0809D6E4: .4byte gSpriteImageSizes
-_0809D6E8: .4byte 0x06010000
-_0809D6EC:
- lsls r0, r2, 26
- lsrs r0, 26
- subs r0, 0x1
- movs r1, 0x3F
- ands r0, r1
- movs r1, 0x40
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r6]
-_0809D700:
- adds r0, r7, 0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end UpdateMonIconFrame
-
- thumb_func_start CreateMonIconSprite
-CreateMonIconSprite: @ 809D710
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x38
- mov r9, r0
- adds r4, r1, 0
- adds r5, r2, 0
- mov r8, r3
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r0, 0
- str r0, [sp, 0x30]
- ldr r2, _0809D7D8 @ =gSpriteImageSizes
- mov r0, r9
- ldr r6, [r0]
- ldrb r1, [r6, 0x3]
- lsrs r1, 6
- lsls r1, 1
- ldrb r0, [r6, 0x1]
- lsrs r0, 6
- lsls r0, 3
- adds r1, r0
- adds r1, r2
- ldrh r2, [r1]
- ldr r1, _0809D7DC @ =0xffff0000
- add r3, sp, 0x30
- ldr r0, [r3, 0x4]
- ands r0, r1
- orrs r0, r2
- str r0, [r3, 0x4]
- add r1, sp, 0x18
- ldr r0, _0809D7E0 @ =0x0000ffff
- strh r0, [r1]
- mov r0, r9
- ldrh r2, [r0, 0x14]
- mov r0, sp
- adds r0, 0x1A
- strh r2, [r0]
- str r6, [sp, 0x1C]
- mov r2, r9
- ldr r0, [r2, 0x8]
- str r0, [sp, 0x20]
- str r3, [sp, 0x24]
- ldr r0, [r2, 0xC]
- str r0, [sp, 0x28]
- ldr r0, [r2, 0x10]
- str r0, [sp, 0x2C]
- mov r0, sp
- movs r2, 0x18
- bl memcpy
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- mov r0, sp
- adds r1, r4, 0
- adds r2, r5, 0
- mov r3, r8
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r6, _0809D7E4 @ =gSprites
- lsls r3, r0, 4
- adds r3, r0
- lsls r3, 2
- adds r4, r3, r6
- adds r5, r4, 0
- adds r5, 0x2C
- ldrb r1, [r5]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r5]
- adds r4, 0x3F
- ldrb r2, [r4]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r4]
- adds r6, 0xC
- adds r3, r6
- mov r2, r9
- ldr r1, [r2, 0x4]
- str r1, [r3]
- add sp, 0x38
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809D7D8: .4byte gSpriteImageSizes
-_0809D7DC: .4byte 0xffff0000
-_0809D7E0: .4byte 0x0000ffff
-_0809D7E4: .4byte gSprites
- thumb_func_end CreateMonIconSprite
-
- thumb_func_start sub_809D7E8
-sub_809D7E8: @ 809D7E8
- push {lr}
- sub sp, 0x8
- movs r1, 0
- str r1, [sp]
- ldr r3, _0809D81C @ =gSpriteImageSizes
- ldrb r2, [r0, 0x3]
- lsrs r2, 6
- lsls r2, 1
- ldrb r1, [r0, 0x1]
- lsrs r1, 6
- lsls r1, 3
- adds r2, r1
- adds r2, r3
- ldrh r3, [r2]
- ldr r2, _0809D820 @ =0xffff0000
- ldr r1, [sp, 0x4]
- ands r1, r2
- orrs r1, r3
- str r1, [sp, 0x4]
- mov r1, sp
- str r1, [r0, 0xC]
- bl DestroySprite
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_0809D81C: .4byte gSpriteImageSizes
-_0809D820: .4byte 0xffff0000
- thumb_func_end sub_809D7E8
-
- thumb_func_start sub_809D824
-sub_809D824: @ 809D824
- mov r12, r0
- adds r0, 0x2A
- movs r3, 0
- strb r1, [r0]
- mov r2, r12
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x40
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- mov r0, r12
- adds r0, 0x2B
- strb r3, [r0]
- bx lr
- thumb_func_end sub_809D824
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/reset_rtc_screen.s b/asm/reset_rtc_screen.s
deleted file mode 100644
index 2fbc559c8..000000000
--- a/asm/reset_rtc_screen.s
+++ /dev/null
@@ -1,1300 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start SpriteCB_ResetRtcCusor0
-SpriteCB_ResetRtcCusor0: @ 806A480
- push {lr}
- adds r3, r0, 0
- ldr r2, _0806A4B0 @ =gTasks
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0xC
- ldrsh r1, [r0, r2]
- movs r2, 0x30
- ldrsh r0, [r3, r2]
- cmp r1, r0
- beq _0806A596
- strh r1, [r3, 0x30]
- subs r0, r1, 0x1
- cmp r0, 0x5
- bhi _0806A596
- lsls r0, 2
- ldr r1, _0806A4B4 @ =_0806A4B8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0806A4B0: .4byte gTasks
-_0806A4B4: .4byte _0806A4B8
- .align 2, 0
-_0806A4B8:
- .4byte _0806A4D0
- .4byte _0806A4F4
- .4byte _0806A518
- .4byte _0806A53C
- .4byte _0806A566
- .4byte _0806A590
-_0806A4D0:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r1, r3, 0
- adds r1, 0x2A
- movs r0, 0x1
- strb r0, [r1]
- subs r2, 0x12
- ldrb r1, [r2]
- subs r0, 0x41
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x35
- b _0806A55E
-_0806A4F4:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r1, r3, 0
- adds r1, 0x2A
- movs r0, 0x1
- strb r0, [r1]
- subs r2, 0x12
- ldrb r1, [r2]
- subs r0, 0x41
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x56
- b _0806A55E
-_0806A518:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r1, r3, 0
- adds r1, 0x2A
- movs r0, 0x1
- strb r0, [r1]
- subs r2, 0x12
- ldrb r1, [r2]
- subs r0, 0x41
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x6B
- b _0806A55E
-_0806A53C:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r1, r3, 0
- adds r1, 0x2A
- movs r0, 0x1
- strb r0, [r1]
- subs r2, 0x12
- ldrb r1, [r2]
- subs r0, 0x41
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x80
-_0806A55E:
- strh r0, [r3, 0x20]
- movs r0, 0x44
- strh r0, [r3, 0x22]
- b _0806A596
-_0806A566:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r1, r3, 0
- adds r1, 0x2A
- movs r0, 0x2
- strb r0, [r1]
- subs r2, 0x12
- ldrb r1, [r2]
- subs r0, 0x42
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x9B
- strh r0, [r3, 0x20]
- movs r0, 0x50
- strh r0, [r3, 0x22]
- b _0806A596
-_0806A590:
- adds r0, r3, 0
- bl DestroySprite
-_0806A596:
- pop {r0}
- bx r0
- thumb_func_end SpriteCB_ResetRtcCusor0
-
- thumb_func_start SpriteCB_ResetRtcCusor1
-SpriteCB_ResetRtcCusor1: @ 806A59C
- push {lr}
- adds r3, r0, 0
- ldr r2, _0806A5CC @ =gTasks
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0xC
- ldrsh r1, [r0, r2]
- movs r2, 0x30
- ldrsh r0, [r3, r2]
- cmp r1, r0
- beq _0806A696
- strh r1, [r3, 0x30]
- subs r0, r1, 0x1
- cmp r0, 0x5
- bhi _0806A696
- lsls r0, 2
- ldr r1, _0806A5D0 @ =_0806A5D4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0806A5CC: .4byte gTasks
-_0806A5D0: .4byte _0806A5D4
- .align 2, 0
-_0806A5D4:
- .4byte _0806A5EC
- .4byte _0806A610
- .4byte _0806A634
- .4byte _0806A658
- .4byte _0806A682
- .4byte _0806A690
-_0806A5EC:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r1, r3, 0
- adds r1, 0x2A
- movs r0, 0
- strb r0, [r1]
- subs r2, 0x12
- ldrb r1, [r2]
- subs r0, 0x40
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x35
- b _0806A67A
-_0806A610:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r1, r3, 0
- adds r1, 0x2A
- movs r0, 0
- strb r0, [r1]
- subs r2, 0x12
- ldrb r1, [r2]
- subs r0, 0x40
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x56
- b _0806A67A
-_0806A634:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r1, r3, 0
- adds r1, 0x2A
- movs r0, 0
- strb r0, [r1]
- subs r2, 0x12
- ldrb r1, [r2]
- subs r0, 0x40
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x6B
- b _0806A67A
-_0806A658:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r1, r3, 0
- adds r1, 0x2A
- movs r0, 0
- strb r0, [r1]
- subs r2, 0x12
- ldrb r1, [r2]
- subs r0, 0x40
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x80
-_0806A67A:
- strh r0, [r3, 0x20]
- movs r0, 0x5C
- strh r0, [r3, 0x22]
- b _0806A696
-_0806A682:
- adds r0, r3, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _0806A696
-_0806A690:
- adds r0, r3, 0
- bl DestroySprite
-_0806A696:
- pop {r0}
- bx r0
- thumb_func_end SpriteCB_ResetRtcCusor1
-
- thumb_func_start ResetRtcScreen_CreateCursor
-ResetRtcScreen_CreateCursor: @ 806A69C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _0806A70C @ =gUnknown_083764BC
- bl LoadSpritePalette
- ldr r0, _0806A710 @ =gSpriteTemplate_83764E8
- mov r8, r0
- movs r1, 0x35
- movs r2, 0x44
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r6, _0806A714 @ =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, r6, 0
- adds r4, 0x1C
- adds r2, r0, r4
- ldr r1, _0806A718 @ =SpriteCB_ResetRtcCusor0
- str r1, [r2]
- adds r0, r6
- strh r5, [r0, 0x2E]
- ldr r1, _0806A71C @ =0x0000ffff
- strh r1, [r0, 0x30]
- mov r0, r8
- movs r1, 0x35
- movs r2, 0x44
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, r0, r4
- ldr r1, _0806A720 @ =SpriteCB_ResetRtcCusor1
- str r1, [r4]
- adds r0, r6
- strh r5, [r0, 0x2E]
- movs r1, 0x1
- negs r1, r1
- strh r1, [r0, 0x30]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806A70C: .4byte gUnknown_083764BC
-_0806A710: .4byte gSpriteTemplate_83764E8
-_0806A714: .4byte gSprites
-_0806A718: .4byte SpriteCB_ResetRtcCusor0
-_0806A71C: .4byte 0x0000ffff
-_0806A720: .4byte SpriteCB_ResetRtcCusor1
- thumb_func_end ResetRtcScreen_CreateCursor
-
- thumb_func_start ResetRtcScreen_FreeCursorPalette
-ResetRtcScreen_FreeCursorPalette: @ 806A724
- push {lr}
- ldr r0, _0806A734 @ =gUnknown_083764BC
- ldrh r0, [r0, 0x4]
- bl FreeSpritePaletteByTag
- pop {r0}
- bx r0
- .align 2, 0
-_0806A734: .4byte gUnknown_083764BC
- thumb_func_end ResetRtcScreen_FreeCursorPalette
-
- thumb_func_start ResetRtcScreen_HideChooseTimeWindow
-ResetRtcScreen_HideChooseTimeWindow: @ 806A738
- push {lr}
- movs r0, 0x3
- movs r1, 0x8
- movs r2, 0x19
- movs r3, 0xB
- bl MenuZeroFillWindowRect
- pop {r0}
- bx r0
- thumb_func_end ResetRtcScreen_HideChooseTimeWindow
-
- thumb_func_start ResetRtcScreen_PrintTime
-ResetRtcScreen_PrintTime: @ 806A74C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r10, r0
- adds r0, r2, 0
- adds r4, r3, 0
- ldr r6, [sp, 0x24]
- ldr r2, [sp, 0x28]
- mov r9, r2
- mov r2, r10
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 24
- lsrs r4, 24
- lsls r6, 24
- lsrs r6, 24
- mov r1, r9
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- ldr r7, _0806A83C @ =gStringVar4
- ldr r1, _0806A840 @ =0x00002710
- bl __umodsi3
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r4, 0
- movs r1, 0x18
- bl __umodsi3
- mov r8, r0
- mov r2, r8
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- adds r0, r6, 0
- movs r1, 0x3C
- bl __umodsi3
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- mov r0, r9
- movs r1, 0x3C
- bl __umodsi3
- mov r9, r0
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r4, _0806A844 @ =gStringVar1
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x18
- movs r3, 0x1
- bl sub_8072C44
- adds r0, r7, 0
- adds r1, r4, 0
- bl StringCopy
- adds r7, r0, 0
- ldr r1, _0806A848 @ =gOtherText_Day
- bl StringCopy
- adds r7, r0, 0
- adds r0, r4, 0
- mov r1, r8
- movs r2, 0x12
- movs r3, 0x1
- bl sub_8072C44
- adds r0, r7, 0
- adds r1, r4, 0
- bl StringCopy
- adds r7, r0, 0
- ldr r4, _0806A84C @ =gUnknown_08376500
- adds r1, r4, 0
- bl StringCopy
- adds r7, r0, 0
- adds r1, r6, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- adds r7, r0, 0
- adds r1, r4, 0
- bl StringCopy
- adds r7, r0, 0
- mov r1, r9
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, _0806A83C @ =gStringVar4
- mov r1, r10
- ldr r2, [sp]
- bl MenuPrint
- 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
-_0806A83C: .4byte gStringVar4
-_0806A840: .4byte 0x00002710
-_0806A844: .4byte gStringVar1
-_0806A848: .4byte gOtherText_Day
-_0806A84C: .4byte gUnknown_08376500
- thumb_func_end ResetRtcScreen_PrintTime
-
- thumb_func_start ResetRtcScreen_ShowChooseTimeWindow
-ResetRtcScreen_ShowChooseTimeWindow: @ 806A850
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x8
- adds r6, r0, 0
- mov r8, r1
- adds r4, r2, 0
- adds r5, r3, 0
- lsls r6, 16
- lsrs r6, 16
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0x3
- movs r1, 0x8
- movs r2, 0x19
- movs r3, 0xB
- bl MenuDrawTextWindow
- ldr r0, _0806A8A8 @ =gOtherText_OK
- movs r1, 0x14
- movs r2, 0x9
- bl MenuPrint
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r0, 0x4
- movs r1, 0x9
- adds r2, r6, 0
- mov r3, r8
- bl ResetRtcScreen_PrintTime
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806A8A8: .4byte gOtherText_OK
- thumb_func_end ResetRtcScreen_ShowChooseTimeWindow
-
- thumb_func_start ResetRtcScreen_MoveTimeUpDown
-ResetRtcScreen_MoveTimeUpDown: @ 806A8AC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r3, 16
- lsrs r3, 16
- adds r1, r3, 0
- movs r0, 0x80
- ands r0, r3
- cmp r0, 0
- beq _0806A8C6
- ldrh r0, [r4]
- subs r0, 0x1
- b _0806A8E0
-_0806A8C6:
- movs r0, 0x40
- ands r0, r3
- cmp r0, 0
- beq _0806A8D4
- ldrh r0, [r4]
- adds r0, 0x1
- b _0806A8FE
-_0806A8D4:
- movs r0, 0x20
- ands r0, r3
- cmp r0, 0
- beq _0806A8EE
- ldrh r0, [r4]
- subs r0, 0xA
-_0806A8E0:
- strh r0, [r4]
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, r5
- bge _0806A90A
- strh r2, [r4]
- b _0806A90A
-_0806A8EE:
- movs r0, 0x10
- ands r1, r0
- cmp r1, 0
- bne _0806A8FA
- movs r0, 0
- b _0806A90C
-_0806A8FA:
- ldrh r0, [r4]
- adds r0, 0xA
-_0806A8FE:
- strh r0, [r4]
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, r2
- ble _0806A90A
- strh r5, [r4]
-_0806A90A:
- movs r0, 0x1
-_0806A90C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end ResetRtcScreen_MoveTimeUpDown
-
- thumb_func_start Task_ResetRtc_3
-Task_ResetRtc_3: @ 806A914
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0806A928 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0x1
- strh r0, [r1, 0x8]
- bx lr
- .align 2, 0
-_0806A928: .4byte gTasks
- thumb_func_end Task_ResetRtc_3
-
- thumb_func_start Task_ResetRtc_2
-Task_ResetRtc_2: @ 806A92C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl ResetRtcScreen_HideChooseTimeWindow
- bl ResetRtcScreen_FreeCursorPalette
- ldr r1, _0806A950 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0806A954 @ =Task_ResetRtc_3
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0806A950: .4byte gTasks
-_0806A954: .4byte Task_ResetRtc_3
- thumb_func_end Task_ResetRtc_2
-
- thumb_func_start Task_ResetRtc_1
-Task_ResetRtc_1: @ 806A958
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r7, r0, 3
- ldr r0, _0806A99C @ =gTasks + 0x8
- mov r8, r0
- adds r5, r7, r0
- ldrb r4, [r5, 0x4]
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- ldr r1, _0806A9A0 @ =gUnknown_08376420 - 0xC
- adds r2, r0, r1
- ldr r1, _0806A9A4 @ =gMain
- ldrh r3, [r1, 0x2E]
- movs r0, 0x2
- ands r0, r3
- mov r12, r1
- cmp r0, 0
- beq _0806A9AC
- mov r0, r8
- subs r0, 0x8
- adds r0, r7, r0
- ldr r1, _0806A9A8 @ =Task_ResetRtc_2
- str r1, [r0]
- movs r0, 0
- strh r0, [r5, 0x2]
- movs r0, 0x6
- b _0806A9CC
- .align 2, 0
-_0806A99C: .4byte gTasks + 0x8
-_0806A9A0: .4byte gUnknown_08376420 - 0xC
-_0806A9A4: .4byte gMain
-_0806A9A8: .4byte Task_ResetRtc_2
-_0806A9AC:
- movs r0, 0x10
- ands r0, r3
- cmp r0, 0
- beq _0806A9BA
- ldrb r0, [r2, 0x7]
- cmp r0, 0
- bne _0806A9CC
-_0806A9BA:
- mov r3, r12
- ldrh r1, [r3, 0x2E]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0806A9D6
- ldrb r0, [r2, 0x6]
- cmp r0, 0
- beq _0806A9D6
-_0806A9CC:
- strh r0, [r5, 0x4]
- movs r0, 0x5
- bl PlaySE
- b _0806AA58
-_0806A9D6:
- cmp r4, 0x5
- bne _0806AA24
- mov r0, r12
- ldrh r1, [r0, 0x2E]
- movs r4, 0x1
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _0806AA58
- ldr r1, _0806AA18 @ =gLocalTime
- ldrh r0, [r5, 0x6]
- strh r0, [r1]
- ldrh r0, [r5, 0x8]
- strb r0, [r1, 0x2]
- ldrh r0, [r5, 0xA]
- strb r0, [r1, 0x3]
- ldrh r0, [r5, 0xC]
- strb r0, [r1, 0x4]
- movs r0, 0x5
- bl PlaySE
- ldr r1, _0806AA1C @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _0806AA20 @ =Task_ResetRtc_2
- str r1, [r0]
- strh r4, [r5, 0x2]
- movs r0, 0x6
- strh r0, [r5, 0x4]
- b _0806AA58
- .align 2, 0
-_0806AA18: .4byte gLocalTime
-_0806AA1C: .4byte gTasks
-_0806AA20: .4byte Task_ResetRtc_2
-_0806AA24:
- ldrb r0, [r2]
- lsls r0, 1
- adds r0, r5, r0
- ldrh r1, [r2, 0x2]
- ldrh r2, [r2, 0x4]
- mov r3, r12
- ldrh r4, [r3, 0x30]
- movs r3, 0xC0
- ands r3, r4
- bl ResetRtcScreen_MoveTimeUpDown
- cmp r0, 0
- beq _0806AA58
- movs r0, 0x5
- bl PlaySE
- ldrh r2, [r5, 0x6]
- ldrb r3, [r5, 0x8]
- ldrb r0, [r5, 0xA]
- str r0, [sp]
- ldrb r0, [r5, 0xC]
- str r0, [sp, 0x4]
- movs r0, 0x4
- movs r1, 0x9
- bl ResetRtcScreen_PrintTime
-_0806AA58:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end Task_ResetRtc_1
-
- thumb_func_start Task_ResetRtc_0
-Task_ResetRtc_0: @ 806AA64
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r6, r5, 2
- adds r6, r5
- lsls r6, 3
- ldr r0, _0806AACC @ =gTasks + 0x8
- mov r8, r0
- adds r4, r6, r0
- movs r0, 0
- strh r0, [r4]
- ldr r3, _0806AAD0 @ =gLocalTime
- ldrh r0, [r3]
- strh r0, [r4, 0x6]
- movs r1, 0x2
- ldrsb r1, [r3, r1]
- strh r1, [r4, 0x8]
- movs r2, 0x3
- ldrsb r2, [r3, r2]
- strh r2, [r4, 0xA]
- ldrb r3, [r3, 0x4]
- lsls r3, 24
- asrs r3, 24
- strh r3, [r4, 0xC]
- ldrh r0, [r4, 0x6]
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- bl ResetRtcScreen_ShowChooseTimeWindow
- adds r0, r5, 0
- bl ResetRtcScreen_CreateCursor
- movs r0, 0x2
- strh r0, [r4, 0x4]
- movs r0, 0x8
- negs r0, r0
- add r8, r0
- add r6, r8
- ldr r0, _0806AAD4 @ =Task_ResetRtc_1
- str r0, [r6]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806AACC: .4byte gTasks + 0x8
-_0806AAD0: .4byte gLocalTime
-_0806AAD4: .4byte Task_ResetRtc_1
- thumb_func_end Task_ResetRtc_0
-
- thumb_func_start CB2_InitResetRtcScreen
-CB2_InitResetRtcScreen: @ 806AAD8
- push {r4-r7,lr}
- sub sp, 0x4
- movs r0, 0x80
- lsls r0, 19
- movs r4, 0
- strh r4, [r0]
- movs r0, 0
- bl SetVBlankCallback
- movs r2, 0xA0
- lsls r2, 19
- mov r0, sp
- strh r4, [r0]
- ldr r1, _0806AB94 @ =0x040000d4
- str r0, [r1]
- str r2, [r1, 0x4]
- ldr r0, _0806AB98 @ =0x81000200
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r2, 0xC0
- lsls r2, 19
- movs r3, 0xC0
- lsls r3, 9
- mov r4, sp
- movs r6, 0
- movs r5, 0x80
- lsls r5, 5
- ldr r7, _0806AB9C @ =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_0806AB16:
- strh r6, [r4]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r5
- subs r3, r5
- cmp r3, r5
- bhi _0806AB16
- strh r6, [r4]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 1
- mov r2, r12
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0
- movs r1, 0x80
- bl ResetOamRange
- bl LoadOam
- bl remove_some_task
- bl dp12_8087EA4
- bl ResetSpriteData
- bl ResetTasks
- bl ResetPaletteFade
- ldr r4, _0806ABA0 @ =gWindowConfig_81E6CE4
- adds r0, r4, 0
- bl SetUpWindowConfig
- adds r0, r4, 0
- bl InitMenuWindow
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0x88
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _0806ABA4 @ =VBlankCB_ResetRtcScreen
- bl SetVBlankCallback
- ldr r0, _0806ABA8 @ =CB2_ResetRtcScreen
- bl SetMainCallback2
- ldr r0, _0806ABAC @ =Task_ResetRtcScreen
- movs r1, 0x50
- bl CreateTask
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806AB94: .4byte 0x040000d4
-_0806AB98: .4byte 0x81000200
-_0806AB9C: .4byte 0x81000800
-_0806ABA0: .4byte gWindowConfig_81E6CE4
-_0806ABA4: .4byte VBlankCB_ResetRtcScreen
-_0806ABA8: .4byte CB2_ResetRtcScreen
-_0806ABAC: .4byte Task_ResetRtcScreen
- thumb_func_end CB2_InitResetRtcScreen
-
- thumb_func_start CB2_ResetRtcScreen
-CB2_ResetRtcScreen: @ 806ABB0
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end CB2_ResetRtcScreen
-
- thumb_func_start VBlankCB_ResetRtcScreen
-VBlankCB_ResetRtcScreen: @ 806ABC8
- push {lr}
- bl ProcessSpriteCopyRequests
- bl LoadOam
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end VBlankCB_ResetRtcScreen
-
- thumb_func_start ResetRtcScreen_ShowMessage
-ResetRtcScreen_ShowMessage: @ 806ABDC
- push {r4,lr}
- adds r4, r0, 0
- bl MenuDisplayMessageBox
- adds r0, r4, 0
- movs r1, 0x2
- movs r2, 0xF
- bl MenuPrint
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end ResetRtcScreen_ShowMessage
-
- thumb_func_start Task_ShowResetRtcPrompt
-Task_ShowResetRtcPrompt: @ 806ABF4
- push {r4,r5,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _0806AC14 @ =gTasks + 0x8
- adds r4, r0, r1
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0806AC18
- cmp r0, 0x1
- beq _0806AC80
- b _0806ACC4
- .align 2, 0
-_0806AC14: .4byte gTasks + 0x8
-_0806AC18:
- bl MenuZeroFillScreen
- movs r0, 0
- movs r1, 0
- movs r2, 0x14
- movs r3, 0xA
- bl MenuDrawTextWindow
- ldr r0, _0806AC98 @ =gSystemText_PresentTime
- movs r1, 0x1
- movs r2, 0x1
- bl MenuPrint
- ldr r0, _0806AC9C @ =gLocalTime
- ldrh r2, [r0]
- ldrb r3, [r0, 0x2]
- ldrb r1, [r0, 0x3]
- str r1, [sp]
- ldrb r0, [r0, 0x4]
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0x3
- bl ResetRtcScreen_PrintTime
- ldr r0, _0806ACA0 @ =gSystemText_PreviousTime
- movs r1, 0x1
- movs r2, 0x5
- bl MenuPrint
- ldr r1, _0806ACA4 @ =gSaveBlock2
- adds r0, r1, 0
- adds r0, 0xA0
- ldrh r2, [r0]
- adds r0, 0x2
- ldrb r3, [r0]
- adds r0, 0x1
- ldrb r0, [r0]
- str r0, [sp]
- adds r0, r1, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0x7
- bl ResetRtcScreen_PrintTime
- ldr r0, _0806ACA8 @ =gSystemText_ResetRTCPrompt
- bl ResetRtcScreen_ShowMessage
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_0806AC80:
- ldr r0, _0806ACAC @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0806ACB0
- adds r0, r5, 0
- bl DestroyTask
- bl DoSoftReset
- b _0806ACC4
- .align 2, 0
-_0806AC98: .4byte gSystemText_PresentTime
-_0806AC9C: .4byte gLocalTime
-_0806ACA0: .4byte gSystemText_PreviousTime
-_0806ACA4: .4byte gSaveBlock2
-_0806ACA8: .4byte gSystemText_ResetRTCPrompt
-_0806ACAC: .4byte gMain
-_0806ACB0:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0806ACC4
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- bl DestroyTask
-_0806ACC4:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end Task_ShowResetRtcPrompt
-
- thumb_func_start Task_ResetRtcScreen
-Task_ResetRtcScreen: @ 806ACCC
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _0806ACF4 @ =gTasks + 0x8
- adds r5, r0, r1
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0x6
- bls _0806ACE8
- b _0806AEC4
-_0806ACE8:
- lsls r0, 2
- ldr r1, _0806ACF8 @ =_0806ACFC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0806ACF4: .4byte gTasks + 0x8
-_0806ACF8: .4byte _0806ACFC
- .align 2, 0
-_0806ACFC:
- .4byte _0806AD18
- .4byte _0806AD34
- .4byte _0806AD80
- .4byte _0806ADD8
- .4byte _0806AE5C
- .4byte _0806AE8C
- .4byte _0806AEAE
-_0806AD18:
- movs r0, 0x1
- negs r0, r0
- ldr r1, _0806AD30 @ =0x0000ffff
- str r1, [sp]
- movs r1, 0x1
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r0, 0x1
- strh r0, [r5]
- b _0806AEC4
- .align 2, 0
-_0806AD30: .4byte 0x0000ffff
-_0806AD34:
- ldr r0, _0806AD5C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0806AD42
- b _0806AEC4
-_0806AD42:
- ldr r0, _0806AD60 @ =gSaveFileStatus
- ldrh r0, [r0]
- cmp r0, 0
- beq _0806AD4E
- cmp r0, 0x2
- bne _0806AD68
-_0806AD4E:
- ldr r0, _0806AD64 @ =gSystemText_NoSaveFileNoTime
- bl ResetRtcScreen_ShowMessage
- movs r0, 0x5
- strh r0, [r5]
- b _0806AEC4
- .align 2, 0
-_0806AD5C: .4byte gPaletteFade
-_0806AD60: .4byte gSaveFileStatus
-_0806AD64: .4byte gSystemText_NoSaveFileNoTime
-_0806AD68:
- bl RtcCalcLocalTime
- ldr r0, _0806AD7C @ =Task_ShowResetRtcPrompt
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x2]
- b _0806ADFC
- .align 2, 0
-_0806AD7C: .4byte Task_ShowResetRtcPrompt
-_0806AD80:
- ldr r2, _0806ADC4 @ =gTasks
- movs r0, 0x2
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x4]
- cmp r0, 0x1
- bne _0806AD96
- b _0806AEC4
-_0806AD96:
- bl MenuZeroFillScreen
- ldr r0, _0806ADC8 @ =gSystemText_PleaseResetTime
- bl ResetRtcScreen_ShowMessage
- ldr r2, _0806ADCC @ =gLocalTime
- ldr r0, _0806ADD0 @ =gSaveBlock2
- adds r0, 0xA0
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- ldr r0, _0806ADD4 @ =Task_ResetRtc_0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x2]
- movs r0, 0x3
- strh r0, [r5]
- b _0806AEC4
- .align 2, 0
-_0806ADC4: .4byte gTasks
-_0806ADC8: .4byte gSystemText_PleaseResetTime
-_0806ADCC: .4byte gLocalTime
-_0806ADD0: .4byte gSaveBlock2
-_0806ADD4: .4byte Task_ResetRtc_0
-_0806ADD8:
- ldr r2, _0806AE04 @ =gTasks
- movs r0, 0x2
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r1, r0, r2
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _0806AEC4
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _0806AE08
- ldrb r0, [r5, 0x2]
- bl DestroyTask
-_0806ADFC:
- movs r0, 0x2
- strh r0, [r5]
- b _0806AEC4
- .align 2, 0
-_0806AE04: .4byte gTasks
-_0806AE08:
- ldrb r0, [r5, 0x2]
- bl DestroyTask
- bl RtcReset
- ldr r4, _0806AE4C @ =gLocalTime
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0x2
- ldrsb r1, [r4, r1]
- movs r2, 0x3
- ldrsb r2, [r4, r2]
- movs r3, 0x4
- ldrsb r3, [r4, r3]
- bl RtcCalcLocalTimeOffset
- ldr r2, _0806AE50 @ =gSaveBlock2
- adds r2, 0xA0
- ldr r0, [r4]
- ldr r1, [r4, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- ldr r0, _0806AE54 @ =0x00004040
- ldrh r1, [r4]
- bl VarSet
- bl DisableResetRTC
- ldr r0, _0806AE58 @ =gSystemText_ClockResetDataSave
- bl ResetRtcScreen_ShowMessage
- movs r0, 0x4
- strh r0, [r5]
- b _0806AEC4
- .align 2, 0
-_0806AE4C: .4byte gLocalTime
-_0806AE50: .4byte gSaveBlock2
-_0806AE54: .4byte 0x00004040
-_0806AE58: .4byte gSystemText_ClockResetDataSave
-_0806AE5C:
- movs r0, 0
- bl TrySavingData
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806AE7C
- ldr r0, _0806AE78 @ =gSystemText_SaveCompleted
- bl ResetRtcScreen_ShowMessage
- movs r0, 0x49
- bl PlaySE
- b _0806AE88
- .align 2, 0
-_0806AE78: .4byte gSystemText_SaveCompleted
-_0806AE7C:
- ldr r0, _0806AECC @ =gSystemText_SaveFailed
- bl ResetRtcScreen_ShowMessage
- movs r0, 0x16
- bl PlaySE
-_0806AE88:
- movs r0, 0x5
- strh r0, [r5]
-_0806AE8C:
- ldr r0, _0806AED0 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0806AEC4
- movs r0, 0x1
- negs r0, r0
- ldr r1, _0806AED4 @ =0x0000ffff
- str r1, [sp]
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- movs r0, 0x6
- strh r0, [r5]
-_0806AEAE:
- ldr r0, _0806AED8 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0806AEC4
- adds r0, r4, 0
- bl DestroyTask
- bl DoSoftReset
-_0806AEC4:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806AECC: .4byte gSystemText_SaveFailed
-_0806AED0: .4byte gMain
-_0806AED4: .4byte 0x0000ffff
-_0806AED8: .4byte gPaletteFade
- thumb_func_end Task_ResetRtcScreen
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/common_syms/battle_anim.txt b/common_syms/battle_anim.txt
new file mode 100644
index 000000000..a93ac9b5d
--- /dev/null
+++ b/common_syms/battle_anim.txt
@@ -0,0 +1,3 @@
+gSoundAnimFramesToWait
+gBattleAnimArgs
+gAnimSpriteIndexArray
diff --git a/common_syms/contest_painting.txt b/common_syms/contest_painting.txt
new file mode 100644
index 000000000..2e8490348
--- /dev/null
+++ b/common_syms/contest_painting.txt
@@ -0,0 +1,5 @@
+gUnknown_03005E10
+gUnknown_03005E20
+gUnknown_03005E40
+gUnknown_03005E8C
+gUnknown_03005E90
diff --git a/common_syms/field_camera.txt b/common_syms/field_camera.txt
new file mode 100644
index 000000000..7aad967f8
--- /dev/null
+++ b/common_syms/field_camera.txt
@@ -0,0 +1,3 @@
+gUnknown_03004880
+gUnknown_03004898
+gUnknown_0300489C
diff --git a/common_syms/field_control_avatar.txt b/common_syms/field_control_avatar.txt
new file mode 100644
index 000000000..040a9e6c1
--- /dev/null
+++ b/common_syms/field_control_avatar.txt
@@ -0,0 +1 @@
+gSelectedMapObject
diff --git a/common_syms/field_map_obj.txt b/common_syms/field_map_obj.txt
new file mode 100644
index 000000000..32d8b1915
--- /dev/null
+++ b/common_syms/field_map_obj.txt
@@ -0,0 +1 @@
+gMapObjects
diff --git a/common_syms/fieldmap.txt b/common_syms/fieldmap.txt
new file mode 100644
index 000000000..7819b3b40
--- /dev/null
+++ b/common_syms/fieldmap.txt
@@ -0,0 +1 @@
+gUnknown_03004870
diff --git a/common_syms/intro.txt b/common_syms/intro.txt
new file mode 100644
index 000000000..d069b1014
--- /dev/null
+++ b/common_syms/intro.txt
@@ -0,0 +1,2 @@
+gIntroFrameCounter
+gMultibootProgramStruct
diff --git a/common_syms/mori_debug_menu.txt b/common_syms/mori_debug_menu.txt
new file mode 100644
index 000000000..77ab5531c
--- /dev/null
+++ b/common_syms/mori_debug_menu.txt
@@ -0,0 +1 @@
+gUnknown_03004DA0
diff --git a/common_syms/pokedex.txt b/common_syms/pokedex.txt
new file mode 100644
index 000000000..18b14f3ed
--- /dev/null
+++ b/common_syms/pokedex.txt
@@ -0,0 +1,2 @@
+gUnknown_03005CE8
+gUnknown_03005CEC
diff --git a/common_syms/pokemon_1.txt b/common_syms/pokemon_1.txt
new file mode 100644
index 000000000..c588d53a7
--- /dev/null
+++ b/common_syms/pokemon_1.txt
@@ -0,0 +1,4 @@
+gPlayerPartyCount
+gPlayerParty
+gEnemyPartyCount
+gEnemyParty
diff --git a/common_syms/record_mixing.txt b/common_syms/record_mixing.txt
new file mode 100644
index 000000000..a6f4f8df3
--- /dev/null
+++ b/common_syms/record_mixing.txt
@@ -0,0 +1 @@
+gUnknown_03005D2C
diff --git a/common_syms/rom3.txt b/common_syms/rom3.txt
new file mode 100644
index 000000000..06a965ff6
--- /dev/null
+++ b/common_syms/rom3.txt
@@ -0,0 +1 @@
+gBattleBuffersTransferData
diff --git a/common_syms/rom4.txt b/common_syms/rom4.txt
new file mode 100644
index 000000000..ecdb190b2
--- /dev/null
+++ b/common_syms/rom4.txt
@@ -0,0 +1,4 @@
+word_3004858
+gFieldCallback
+gUnknown_03004860
+gFieldLinkPlayerCount
diff --git a/common_syms/save.txt b/common_syms/save.txt
new file mode 100644
index 000000000..d09a52bcf
--- /dev/null
+++ b/common_syms/save.txt
@@ -0,0 +1,9 @@
+gLastWrittenSector
+gLastSaveCounter
+gLastKnownGoodSector
+gDamagedSaveSectors
+gSaveCounter
+gFastSaveSection
+gUnknown_03005EB4
+gSaveFileStatus
+gGameContinueCallback
diff --git a/common_syms/sound.txt b/common_syms/sound.txt
new file mode 100644
index 000000000..0f6f2fc75
--- /dev/null
+++ b/common_syms/sound.txt
@@ -0,0 +1 @@
+gDisableMusic
diff --git a/common_syms/sound_check_menu.txt b/common_syms/sound_check_menu.txt
new file mode 100644
index 000000000..ba350ad8e
--- /dev/null
+++ b/common_syms/sound_check_menu.txt
@@ -0,0 +1 @@
+gUnknown_03005D30
diff --git a/common_syms/start_menu.txt b/common_syms/start_menu.txt
new file mode 100644
index 000000000..bc0c247d1
--- /dev/null
+++ b/common_syms/start_menu.txt
@@ -0,0 +1 @@
+gCallback_03004AE8
diff --git a/common_syms/tv.txt b/common_syms/tv.txt
new file mode 100644
index 000000000..829139f8f
--- /dev/null
+++ b/common_syms/tv.txt
@@ -0,0 +1 @@
+gUnknown_03005D38
diff --git a/data-de/event_scripts.s b/data-de/event_scripts.s
index c06a4073a..4d809241c 100644
--- a/data-de/event_scripts.s
+++ b/data-de/event_scripts.s
@@ -433,16 +433,16 @@ EventScript_15F419:
compare RESULT, 0
jumpeq EventScript_15F384
closebutton
- special 10
+ special SecretBasePC_PackUp
releaseall
end
EventScript_15F432:
- special 14
+ special SecretBasePC_Decoration
end
EventScript_15F436:
- special 15
+ special SecretBasePC_Registry
end
gUnknown_0815F43A:: @ 815F43A
@@ -475,18 +475,18 @@ gUnknown_0815F49A:: @ 815F49A
end
EventScript_15F4A1:
- special 12
+ special sub_80BC56C
compare RESULT, 1
jumpeq EventScript_15F4E0
compare RESULT, 2
jumpeq EventScript_15F503
- special 303
+ special sub_80BC224
msgbox UnknownString_81A3958, 5
compare RESULT, 0
jumpeq EventScript_15F452
msgbox UnknownString_81A3A22, 3
- special 13
- special 26
+ special sub_80BC5BC
+ special sub_80C683C
releaseall
end
@@ -495,14 +495,14 @@ EventScript_15F4E0:
compare RESULT, 0
jumpeq EventScript_15F452
msgbox UnknownString_81A3A3A, 3
- special 13
- special 26
+ special sub_80BC5BC
+ special sub_80C683C
releaseall
end
EventScript_15F503:
msgbox UnknownString_81A39C0, 3
- special 26
+ special sub_80C683C
closebutton
releaseall
end
@@ -514,7 +514,7 @@ EventScript_15F511:
end
EventScript_15F51D:
- special 26
+ special sub_80C683C
closebutton
releaseall
end
@@ -525,7 +525,7 @@ gUnknown_0815F523:: @ 815F523
end
gUnknown_0815F528:: @ 815F528
- special 307
+ special GetShieldToyTVDecorationInfo
compare RESULT, 0
jumpeq EventScript_15F558
compare RESULT, 1
@@ -925,14 +925,14 @@ LilycoveCity_ContestLobby_EventScript_19F806:: @ 819F806
MossdeepCity_GameCorner_1F_EventScript_19F806:: @ 819F806
OldaleTown_PokemonCenter_2F_EventScript_19F806:: @ 819F806
SecretBase_RedCave1_EventScript_19F806:: @ 819F806
- special 93
+ special InitSaveDialog
waitstate
return
gUnknown_0819F80B:: @ 819F80B
lock
- special 56
- special 55
+ special PlayTrainerEncounterMusic
+ special sub_80847C8
waitstate
jump EventScript_19F8F2
@@ -941,11 +941,11 @@ gUnknown_0819F818:: @ 819F818
faceplayer
move LAST_TALKED, Movement_19F8F0
waitmove 0
- specialval RESULT, 54
+ specialval RESULT, sub_8082564
compare RESULT, 0
jumpif 5, EventScript_19F83F
- special 56
- special 314
+ special PlayTrainerEncounterMusic
+ special sub_8082524
jump EventScript_19F8F2
EventScript_19F83F:
@@ -955,18 +955,18 @@ gUnknown_0819F840:: @ 819F840
lock
faceplayer
call EventScript_19F8E5
- specialval RESULT, 54
+ specialval RESULT, sub_8082564
compare RESULT, 0
jumpif 5, EventScript_19F877
- special 61
+ special CheckForAlivePartyMons
compare RESULT, 0
jumpif 5, EventScript_19F870
- special 56
- special 314
+ special PlayTrainerEncounterMusic
+ special sub_8082524
jump EventScript_19F8F2
EventScript_19F870:
- special 53
+ special sub_8082718
waittext
waitbutton
release
@@ -978,21 +978,21 @@ EventScript_19F877:
gUnknown_0819F878:: @ 819F878
move LAST_TALKED, Movement_19F8F0
waitmove 0
- special 56
+ special PlayTrainerEncounterMusic
reptrainerbattle
endtrainerbattle
gUnknown_0819F887:: @ 819F887
call EventScript_19F8E5
- specialval RESULT, 58
+ specialval RESULT, sub_8082C9C
compare RESULT, 0
jumpeq EventScript_19F8AD
- special 56
- special 314
- special 52
+ special PlayTrainerEncounterMusic
+ special sub_8082524
+ special sub_80826D8
waittext
waitbutton
- special 59
+ special sub_80826B0
waitstate
releaseall
end
@@ -1001,18 +1001,18 @@ EventScript_19F8AD:
endtrainerbattle
gUnknown_0819F8AE:: @ 819F8AE
- specialval RESULT, 58
+ specialval RESULT, sub_8082C9C
compare RESULT, 0
jumpeq EventScript_19F8DD
- special 61
+ special CheckForAlivePartyMons
compare RESULT, 0
jumpif 5, EventScript_19F8DE
- special 56
- special 314
- special 52
+ special PlayTrainerEncounterMusic
+ special sub_8082524
+ special sub_80826D8
waittext
waitbutton
- special 59
+ special sub_80826B0
waitstate
releaseall
end
@@ -1021,7 +1021,7 @@ EventScript_19F8DD:
endtrainerbattle
EventScript_19F8DE:
- special 53
+ special sub_8082718
waittext
waitbutton
release
@@ -1037,11 +1037,11 @@ Movement_19F8F0::
step_end
EventScript_19F8F2:
- special 52
+ special sub_80826D8
waittext
waitbutton
reptrainerbattle
- specialval RESULT, 51
+ specialval RESULT, sub_8082558
compare RESULT, 0
jumpeq EventScript_19F934
compare RESULT, 2
@@ -1296,7 +1296,7 @@ EverGrandeCity_HallOfFame_EventScript_19FC13:: @ 819FC13
clearflag 751
clearflag 860
clearflag 861
- special 169
+ special sub_810FAA0
checkflag 291
callif 0, EverGrandeCity_HallOfFame_EventScript_19FC62
checkflag 255
@@ -1455,7 +1455,7 @@ OldaleTown_PokemonCenter_1F_EventScript_19FD7C:: @ 819FD7C
checkanimation 25
move 0x800b, OldaleTown_PokemonCenter_1F_Movement_1A0845
waitmove 0
- special 0
+ special HealPlayerParty
checkflag 273
jumpif 0, OldaleTown_PokemonCenter_1F_EventScript_19FDCE
jump OldaleTown_PokemonCenter_1F_EventScript_19FDB0
@@ -1476,7 +1476,7 @@ OldaleTown_PokemonCenter_1F_EventScript_19FDC7:: @ 819FDC7
return
OldaleTown_PokemonCenter_1F_EventScript_19FDCE:: @ 819FDCE
- specialval RESULT, 308
+ specialval RESULT, IsPokerusInParty
compare RESULT, 1
jumpeq OldaleTown_PokemonCenter_1F_EventScript_19FDEA
compare RESULT, 0
@@ -1645,7 +1645,7 @@ HiddenItemScript_Success:
waitfanfare
waittext
msgbox Message_PutAwayItem
- special 0x96
+ special SetFlagInVar
releaseall
end
@@ -1666,7 +1666,7 @@ UnusedMixRecordsScript: @ 819FFD5
jumpeq UnusedMixRecordsScript_Done
jump UnusedMixRecordsScript_Done
UnusedMixRecordsScript_Yes: @ 819FFFA
- special 0x1B
+ special sub_80B929C
waitstate
lock
faceplayer
@@ -1680,7 +1680,7 @@ UnusedMixRecordsScript_Done: @ 81A0000
gUnknown_081A0009:: @ 81A0009
lockall
setvar 0x8004, 0
- special 214
+ special DoPCTurnOnEffect
playsfx 4
msgbox UnknownString_81A09EC, 4
jump EventScript_1A0023
@@ -1689,7 +1689,7 @@ gUnknown_081A0009:: @ 81A0009
EventScript_1A0023:
message gPCText_WhichPCShouldBeAccessed
waittext
- special 262
+ special TryCreatePCMenu
waitstate
jump EventScript_1A0033
end
@@ -1706,7 +1706,7 @@ EventScript_1A0033:
EventScript_1A0070:
playsfx 2
msgbox UnknownString_81A0A54, 4
- special 250
+ special PlayerPC
waitstate
jump EventScript_1A0023
end
@@ -1718,7 +1718,7 @@ EventScript_1A0085:
checkflag 2123
callif 1, EventScript_1A00B5
msgbox UnknownString_81A0A35, 4
- special 60
+ special ShowPokemonStorageSystem
waitstate
jump EventScript_1A0023
end
@@ -1734,7 +1734,7 @@ EventScript_1A00B5:
EventScript_1A00BE:
setvar 0x8004, 0
playsfx 3
- special 215
+ special DoPCTurnOffEffect
releaseall
end
@@ -1742,7 +1742,7 @@ EventScript_1A00CB:
checkflag 2052
jumpif 0, EventScript_1A00BE
playsfx 2
- special 263
+ special AccessHallOfFamePC
waitstate
jump EventScript_1A0033
end
@@ -1789,7 +1789,7 @@ Route123_BerryMastersHouse_EventScript_1A00F3:: @ 81A00F3
SlateportCity_OceanicMuseum_1F_EventScript_1A00F3:: @ 81A00F3
SlateportCity_PokemonFanClub_EventScript_1A00F3:: @ 81A00F3
fadescreen 1
- special 95
+ special sub_80E60D8
fadescreen 0
return
@@ -1805,7 +1805,7 @@ DewfordTown_EventScript_1A0102:: @ 81A0102
DewfordTown_Hall_EventScript_1A0102:: @ 81A0102
checkdailyflags
setvar 0x8004, 0
- special 126
+ special sub_80FA5BC
return
DewfordTown_EventScript_1A010C:: @ 81A010C
@@ -2112,7 +2112,7 @@ SSTidalRooms_EventScript_1A02CA:: @ 81A02CA
fadescreen 1
fanfare 368
waitfanfare
- special 0
+ special HealPlayerParty
fadescreen 0
return
@@ -2120,7 +2120,7 @@ Event_WorldMap:: @ 81A02D6
lockall
msgbox UnknownString_817303D, 4
fadescreen 1
- special 251
+ special FieldShowRegionMap
waitstate
releaseall
end
@@ -2202,7 +2202,7 @@ Route101_EventScript_1A039B:: @ 81A039B
Route101_EventScript_1A03A5:: @ 81A03A5
copyvar 0x8004, 0x8009
- special 213
+ special ShowPokedexRatingMessage
waittext
waitbutton
return
@@ -2210,7 +2210,7 @@ Route101_EventScript_1A03A5:: @ 81A03A5
EverGrandeCity_ChampionsRoom_EventScript_1A03B0:: @ 81A03B0
Route101_EventScript_1A03B0:: @ 81A03B0
setvar 0x8004, 0
- specialval RESULT, 212
+ specialval RESULT, ScriptGetPokedexInfo
copyvar 0x8008, 0x8005
copyvar 0x8009, 0x8006
copyvar 0x800a, RESULT
@@ -2221,7 +2221,7 @@ Route101_EventScript_1A03B0:: @ 81A03B0
compare 0x800a, 0
jumpeq Route101_EventScript_1A14DC
setvar 0x8004, 1
- specialval RESULT, 212
+ specialval RESULT, ScriptGetPokedexInfo
copyvar 0x8008, 0x8005
copyvar 0x8009, 0x8006
buffernum 0, 0x8008
@@ -2329,7 +2329,7 @@ CaveOfOrigin_1F_EventScript_1A04D3:: @ 81A04D3
CaveOfOrigin_B2F_EventScript_1A04D3:: @ 81A04D3
setvar 0x8004, 1
setvar 0x8005, 1
- special 310
+ special sub_810F758
waitstate
releaseall
end
@@ -2534,7 +2534,7 @@ MossdeepCity_StevensHouse_EventScript_1A0678:: @ 81A0678
RustboroCity_DevonCorp_2F_EventScript_1A0678:: @ 81A0678
SlateportCity_House1_EventScript_1A0678:: @ 81A0678
fadescreen 1
- special 158
+ special sub_80BF9F8
waitstate
return
@@ -2569,7 +2569,7 @@ EverGrandeCity_SidneysRoom_EventScript_1A0693:: @ 81A0693
setmaptile 10, 2, 733, 1
setmaptile 11, 2, 734, 1
setmaptile 12, 2, 733, 1
- special 142
+ special DrawWholeMapView
return
EverGrandeCity_DrakesRoom_EventScript_1A0710:: @ 81A0710
@@ -2585,7 +2585,7 @@ EverGrandeCity_SidneysRoom_EventScript_1A0710:: @ 81A0710
setmaptile 5, 13, 526, 1
setmaptile 6, 13, 526, 1
setmaptile 7, 13, 526, 1
- special 142
+ special DrawWholeMapView
return
EverGrandeCity_DrakesRoom_EventScript_1A0757:: @ 81A0757
@@ -3261,7 +3261,7 @@ Event_NoRegisteredItem:: @ 81A14AF
gUnknown_081A14B8:: @ 81A14B8
lockall
- special 199
+ special ExecuteWhiteOut
waitstate
compare RESULT, 1
jumpeq EventScript_1A14CA
@@ -3272,10 +3272,10 @@ EventScript_1A14CA::
message UnknownString_81A1141
waittext
waitbutton
- special 332
+ special sub_8081924
waitstate
fadescreen 1
- special 200
+ special sp0C8_whiteout_maybe
waitstate
end
@@ -3616,8 +3616,8 @@ SecretBase_RedCave1_Text_1A2BA4:: @ 81A2BA4
.string "Bist du sprachlos? Hihihi...$"
gUnknown_081A2C51:: @ 81A2C51
- special 21
- special 7
+ special sub_80BB70C
+ special sub_80BB63C
compare RESULT, 1
jumpeq EventScript_1A2E45
checkattack MOVE_SECRET_POWER
@@ -3735,11 +3735,11 @@ EventScript_1A2DB8:
playsfx 9
setvar 0x4097, 0
setflag 173
- special 6
- special 8
+ special sub_80BB8CC
+ special sub_80BBAF0
setvar 0x8004, 0
setvar 0x8005, 0
- special 18
+ special sub_80BBDD0
setvar 0x4089, 1
waitstate
end
@@ -3753,13 +3753,13 @@ SecretBase_RedCave1_EventScript_1A2DDE:: @ 81A2DDE
jumpeq SecretBase_RedCave1_EventScript_1A2E08
closebutton
playsfx 9
- special 9
+ special sub_80BC440
end
SecretBase_RedCave1_EventScript_1A2E08:: @ 81A2E08
closebutton
setflag 96
- special 24
+ special sub_80BBC78
waitstate
end
@@ -3772,18 +3772,18 @@ gUnknown_081A2E14:: @ 81A2E14
lockall
setvar 0x4097, 1
playsfx 9
- special 11
+ special sub_80BC114
compare RESULT, 0
jumpeq EventScript_1A2E38
clearflag 173
- special 8
+ special sub_80BBAF0
setvar 0x4089, 0
waitstate
end
EventScript_1A2E38:
setflag 173
- special 8
+ special sub_80BBAF0
setvar 0x4089, 0
waitstate
end
@@ -3795,7 +3795,7 @@ EventScript_1A2E45:
setanimation 0, RESULT
setorcopyvar 0x8004, RESULT
lockall
- special 278
+ special GetSecretBaseNearbyMapName
msgbox UnknownString_81A3C71, 5
compare RESULT, 0
jumpeq EventScript_1A2F3A
@@ -3803,7 +3803,7 @@ EventScript_1A2E45:
compare RESULT, 0
jumpeq EventScript_1A2F3A
fadescreen 1
- special 330
+ special sub_80BC50C
closebutton
fadescreen 0
msgbox UnknownString_81A3CC9, 5
@@ -3873,7 +3873,7 @@ LittlerootTown_MaysHouse_2F_EventScript_1A2F68:: @ 81A2F68
SecretBase_RedCave1_EventScript_1A2F68:: @ 81A2F68
setvar 0x8004, 0
setvar 0x8005, 0
- special 18
+ special sub_80BBDD0
setvar 0x4089, 1
end
@@ -3883,7 +3883,7 @@ gUnknown_081A2F7B:: @ 81A2F7B
end
EventScript_1A2F86:
- special 19
+ special sub_80FF474
end
gUnknown_081A2F8A:: @ 81A2F8A
@@ -3892,7 +3892,7 @@ gUnknown_081A2F8A:: @ 81A2F8A
end
EventScript_1A2F95:
- special 23
+ special sub_8100A7C
compare RESULT, 1
jumpeq EventScript_1A2FBF
addvar 0x8004, 1
@@ -3930,7 +3930,7 @@ SecretBase_YellowCave1_EventScript_1A2FC0:: @ 81A2FC0
SecretBase_YellowCave2_EventScript_1A2FC0:: @ 81A2FC0
SecretBase_YellowCave3_EventScript_1A2FC0:: @ 81A2FC0
SecretBase_YellowCave4_EventScript_1A2FC0:: @ 81A2FC0
- special 17
+ special sub_80BCE90
compare 0x8004, 0
jumpeq SecretBase_RedCave1_EventScript_1A3032
compare 0x8004, 1
@@ -3964,7 +3964,7 @@ SecretBase_RedCave1_EventScript_1A3032:: @ 81A3032
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A308F
setvar RESULT, 1
- special 25
+ special sub_80BCE4C
call SecretBase_RedCave1_EventScript_19F806
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A308F
@@ -3979,7 +3979,7 @@ SecretBase_RedCave1_EventScript_1A3086:: @ 81A3086
SecretBase_RedCave1_EventScript_1A308F:: @ 81A308F
setvar RESULT, 0
- special 25
+ special sub_80BCE4C
hidebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A1B97, 2
end
@@ -3999,7 +3999,7 @@ SecretBase_RedCave1_EventScript_1A30AE:: @ 81A30AE
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A310B
setvar RESULT, 1
- special 25
+ special sub_80BCE4C
call SecretBase_RedCave1_EventScript_19F806
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A310B
@@ -4014,7 +4014,7 @@ SecretBase_RedCave1_EventScript_1A3102:: @ 81A3102
SecretBase_RedCave1_EventScript_1A310B:: @ 81A310B
setvar RESULT, 0
- special 25
+ special sub_80BCE4C
hidebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A1F2E, 2
end
@@ -4034,7 +4034,7 @@ SecretBase_RedCave1_EventScript_1A312A:: @ 81A312A
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A3187
setvar RESULT, 1
- special 25
+ special sub_80BCE4C
call SecretBase_RedCave1_EventScript_19F806
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A3187
@@ -4049,7 +4049,7 @@ SecretBase_RedCave1_EventScript_1A317E:: @ 81A317E
SecretBase_RedCave1_EventScript_1A3187:: @ 81A3187
setvar RESULT, 0
- special 25
+ special sub_80BCE4C
hidebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A2230, 2
end
@@ -4069,7 +4069,7 @@ SecretBase_RedCave1_EventScript_1A31A6:: @ 81A31A6
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A3203
setvar RESULT, 1
- special 25
+ special sub_80BCE4C
call SecretBase_RedCave1_EventScript_19F806
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A3203
@@ -4084,7 +4084,7 @@ SecretBase_RedCave1_EventScript_1A31FA:: @ 81A31FA
SecretBase_RedCave1_EventScript_1A3203:: @ 81A3203
setvar RESULT, 0
- special 25
+ special sub_80BCE4C
hidebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A258A, 2
end
@@ -4104,7 +4104,7 @@ SecretBase_RedCave1_EventScript_1A3222:: @ 81A3222
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A327F
setvar RESULT, 1
- special 25
+ special sub_80BCE4C
call SecretBase_RedCave1_EventScript_19F806
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A327F
@@ -4119,7 +4119,7 @@ SecretBase_RedCave1_EventScript_1A3276:: @ 81A3276
SecretBase_RedCave1_EventScript_1A327F:: @ 81A327F
setvar RESULT, 0
- special 25
+ special sub_80BCE4C
hidebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A28F4, 2
end
@@ -4139,7 +4139,7 @@ SecretBase_RedCave1_EventScript_1A329E:: @ 81A329E
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A32FB
setvar RESULT, 1
- special 25
+ special sub_80BCE4C
call SecretBase_RedCave1_EventScript_19F806
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A32FB
@@ -4154,7 +4154,7 @@ SecretBase_RedCave1_EventScript_1A32F2:: @ 81A32F2
SecretBase_RedCave1_EventScript_1A32FB:: @ 81A32FB
setvar RESULT, 0
- special 25
+ special sub_80BCE4C
hidebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A1D59, 2
end
@@ -4174,7 +4174,7 @@ SecretBase_RedCave1_EventScript_1A331A:: @ 81A331A
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A3377
setvar RESULT, 1
- special 25
+ special sub_80BCE4C
call SecretBase_RedCave1_EventScript_19F806
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A3377
@@ -4189,7 +4189,7 @@ SecretBase_RedCave1_EventScript_1A336E:: @ 81A336E
SecretBase_RedCave1_EventScript_1A3377:: @ 81A3377
setvar RESULT, 0
- special 25
+ special sub_80BCE4C
hidebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A20AE, 2
end
@@ -4209,7 +4209,7 @@ SecretBase_RedCave1_EventScript_1A3396:: @ 81A3396
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A33F3
setvar RESULT, 1
- special 25
+ special sub_80BCE4C
call SecretBase_RedCave1_EventScript_19F806
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A33F3
@@ -4224,7 +4224,7 @@ SecretBase_RedCave1_EventScript_1A33EA:: @ 81A33EA
SecretBase_RedCave1_EventScript_1A33F3:: @ 81A33F3
setvar RESULT, 0
- special 25
+ special sub_80BCE4C
hidebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A2420, 2
end
@@ -4244,7 +4244,7 @@ SecretBase_RedCave1_EventScript_1A3412:: @ 81A3412
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A346F
setvar RESULT, 1
- special 25
+ special sub_80BCE4C
call SecretBase_RedCave1_EventScript_19F806
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A346F
@@ -4259,7 +4259,7 @@ SecretBase_RedCave1_EventScript_1A3466:: @ 81A3466
SecretBase_RedCave1_EventScript_1A346F:: @ 81A346F
setvar RESULT, 0
- special 25
+ special sub_80BCE4C
hidebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A2736, 2
end
@@ -4279,7 +4279,7 @@ SecretBase_RedCave1_EventScript_1A348E:: @ 81A348E
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A34EB
setvar RESULT, 1
- special 25
+ special sub_80BCE4C
call SecretBase_RedCave1_EventScript_19F806
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A34EB
@@ -4294,7 +4294,7 @@ SecretBase_RedCave1_EventScript_1A34E2:: @ 81A34E2
SecretBase_RedCave1_EventScript_1A34EB:: @ 81A34EB
setvar RESULT, 0
- special 25
+ special sub_80BCE4C
hidebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A2AFB, 2
end
@@ -4304,12 +4304,12 @@ SecretBase_RedCave1_EventScript_1A3501:: @ 81A3501
end
SecretBase_RedCave1_EventScript_1A350A:: @ 81A350A
- special 16
+ special sub_80BCE1C
setvar 0x8004, 1
setvar 0x8005, 0
- special 236
+ special sub_813556C
waitstate
- special 0
+ special HealPlayerParty
release
end
@@ -4405,14 +4405,14 @@ BattleTower_Lobby_EventScript_1ADE46:: @ 81ADE46
FallarborTown_ContestLobby_EventScript_1ADE46:: @ 81ADE46
SlateportCity_OceanicMuseum_1F_EventScript_1ADE46:: @ 81ADE46
SlateportCity_PokemonFanClub_EventScript_1ADE46:: @ 81ADE46
- special 68
+ special sub_80BDE48
inccounter GAME_STAT_GOT_INTERVIEWED
release
end
SlateportCity_PokemonFanClub_EventScript_1ADE4D:: @ 81ADE4D
setvar 0x8005, 1
- special 67
+ special sub_80BF2C4
compare RESULT, 1
jumpeq SlateportCity_PokemonFanClub_EventScript_1ADED6
copyvar 0x8009, 0x8006
@@ -4457,7 +4457,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_1ADEE0:: @ 81ADEE0
lock
faceplayer
setvar 0x8005, 2
- special 67
+ special sub_80BF2C4
compare RESULT, 1
jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF96
copyvar 0x8009, 0x8006
@@ -4512,11 +4512,11 @@ SlateportCity_OceanicMuseum_1F_EventScript_1ADF96:: @ 81ADF96
SlateportCity_PokemonFanClub_EventScript_1ADFA0:: @ 81ADFA0
lock
faceplayer
- specialval RESULT, 69
+ specialval RESULT, sub_80BF544
compare RESULT, 0
jumpeq SlateportCity_PokemonFanClub_EventScript_1ADE4D
setvar 0x8005, 3
- special 67
+ special sub_80BF2C4
compare RESULT, 1
jumpeq SlateportCity_PokemonFanClub_EventScript_1AE0AC
copyvar 0x8009, 0x8006
@@ -4593,7 +4593,7 @@ VerdanturfTown_ContestLobby_EventScript_1AE0B6:: @ 81AE0B6
checkflag 2
jumpeq FallarborTown_ContestLobby_EventScript_1AE17E
setvar 0x8005, 6
- special 67
+ special sub_80BF2C4
compare RESULT, 1
jumpeq FallarborTown_ContestLobby_EventScript_1AE17E
copyvar 0x8009, 0x8006
@@ -4625,7 +4625,7 @@ FallarborTown_ContestLobby_EventScript_1AE12D:: @ 81AE12D
FallarborTown_ContestLobby_EventScript_1AE137:: @ 81AE137
setvar 0x8004, 24
- special 70
+ special SetContestCategoryStringVarForInterview
msgbox FallarborTown_ContestLobby_Text_1A70A5, 4
setvar 0x8004, 11
copyvar 0x8005, 0x8009
@@ -4653,7 +4653,7 @@ VerdanturfTown_ContestLobby_EventScript_1AE188:: @ 81AE188
compare 0x4086, 2
jumpif 5, FallarborTown_ContestLobby_EventScript_1AE1FE
setvar 0x8005, 6
- special 67
+ special sub_80BF2C4
compare RESULT, 1
jumpeq FallarborTown_ContestLobby_EventScript_1AE1FE
switch 0x4088
@@ -4690,7 +4690,7 @@ BattleTower_Lobby_EventScript_1AE1FF:: @ 81AE1FF
checkflag 2
jumpeq BattleTower_Lobby_EventScript_1AE2E3
setvar 0x8005, 7
- special 67
+ special sub_80BF2C4
compare RESULT, 1
jumpeq BattleTower_Lobby_EventScript_1AE2E3
copyvar 0x8009, 0x8006
@@ -4759,7 +4759,7 @@ BattleTower_Lobby_EventScript_1AE2ED:: @ 81AE2ED
compare 0x40bc, 0
jumpeq BattleTower_Lobby_EventScript_1AE30F
setvar 0x8005, 7
- special 67
+ special sub_80BF2C4
compare RESULT, 1
jumpeq BattleTower_Lobby_EventScript_1AE30F
clearflag 918
@@ -4854,7 +4854,7 @@ MauvilleCity_GameCorner_EventScript_1C40AC:: @ 81C40AC
end
MauvilleCity_GameCorner_EventScript_1C40DA:: @ 81C40DA
- special 162
+ special PlayRoulette
waitstate
end
@@ -4927,7 +4927,7 @@ gUnknown_081C6BDE:: @ 81C6BDE
waitmove 0
playsfx 43
pause 60
- special 319
+ special sp13F_fall_to_last_warp
waitstate
end
diff --git a/data-de/field_move_scripts.inc b/data-de/field_move_scripts.inc
index d0ed559ec..91c3dcca8 100644
--- a/data-de/field_move_scripts.inc
+++ b/data-de/field_move_scripts.inc
@@ -90,10 +90,10 @@ DoRockSmashMovement: @ 81B0F0C
move LAST_TALKED, RockSmashMovement
waitmove 0
disappear LAST_TALKED
- specialval RESULT, 298
+ specialval RESULT, sub_810F5BC
compare RESULT, 1
jumpeq DoRockSmashMovement_Done
- special 171
+ special RockSmashWildEncounter
compare RESULT, 0
jumpeq DoRockSmashMovement_Done
waitstate
diff --git a/data/event_scripts.s b/data/event_scripts.s
index d909f1006..d6702745a 100644
--- a/data/event_scripts.s
+++ b/data/event_scripts.s
@@ -433,16 +433,16 @@ EventScript_15F419:
compare RESULT, 0
jumpeq EventScript_15F384
closebutton
- special 10
+ special SecretBasePC_PackUp
releaseall
end
EventScript_15F432:
- special 14
+ special SecretBasePC_Decoration
end
EventScript_15F436:
- special 15
+ special SecretBasePC_Registry
end
gUnknown_0815F43A:: @ 815F43A
@@ -475,18 +475,18 @@ gUnknown_0815F49A:: @ 815F49A
end
EventScript_15F4A1:
- special 12
+ special sub_80BC56C
compare RESULT, 1
jumpeq EventScript_15F4E0
compare RESULT, 2
jumpeq EventScript_15F503
- special 303
+ special sub_80BC224
msgbox UnknownString_81A3958, 5
compare RESULT, 0
jumpeq EventScript_15F452
msgbox UnknownString_81A3A22, 3
- special 13
- special 26
+ special sub_80BC5BC
+ special sub_80C683C
releaseall
end
@@ -495,14 +495,14 @@ EventScript_15F4E0:
compare RESULT, 0
jumpeq EventScript_15F452
msgbox UnknownString_81A3A3A, 3
- special 13
- special 26
+ special sub_80BC5BC
+ special sub_80C683C
releaseall
end
EventScript_15F503:
msgbox UnknownString_81A39C0, 3
- special 26
+ special sub_80C683C
closebutton
releaseall
end
@@ -514,7 +514,7 @@ EventScript_15F511:
end
EventScript_15F51D:
- special 26
+ special sub_80C683C
closebutton
releaseall
end
@@ -525,7 +525,7 @@ gUnknown_0815F523:: @ 815F523
end
gUnknown_0815F528:: @ 815F528
- special 307
+ special GetShieldToyTVDecorationInfo
compare RESULT, 0
jumpeq EventScript_15F558
compare RESULT, 1
@@ -924,14 +924,14 @@ LilycoveCity_ContestLobby_EventScript_19F806:: @ 819F806
MossdeepCity_GameCorner_1F_EventScript_19F806:: @ 819F806
OldaleTown_PokemonCenter_2F_EventScript_19F806:: @ 819F806
SecretBase_RedCave1_EventScript_19F806:: @ 819F806
- special 93
+ special InitSaveDialog
waitstate
return
gUnknown_0819F80B:: @ 819F80B
lock
- special 56
- special 55
+ special PlayTrainerEncounterMusic
+ special sub_80847C8
waitstate
jump EventScript_19F8F2
@@ -940,11 +940,11 @@ gUnknown_0819F818:: @ 819F818
faceplayer
move LAST_TALKED, Movement_19F8F0
waitmove 0
- specialval RESULT, 54
+ specialval RESULT, sub_8082564
compare RESULT, 0
jumpif 5, EventScript_19F83F
- special 56
- special 314
+ special PlayTrainerEncounterMusic
+ special sub_8082524
jump EventScript_19F8F2
EventScript_19F83F:
@@ -954,18 +954,18 @@ gUnknown_0819F840:: @ 819F840
lock
faceplayer
call EventScript_19F8E5
- specialval RESULT, 54
+ specialval RESULT, sub_8082564
compare RESULT, 0
jumpif 5, EventScript_19F877
- special 61
+ special CheckForAlivePartyMons
compare RESULT, 0
jumpif 5, EventScript_19F870
- special 56
- special 314
+ special PlayTrainerEncounterMusic
+ special sub_8082524
jump EventScript_19F8F2
EventScript_19F870:
- special 53
+ special sub_8082718
waittext
waitbutton
release
@@ -977,21 +977,21 @@ EventScript_19F877:
gUnknown_0819F878:: @ 819F878
move LAST_TALKED, Movement_19F8F0
waitmove 0
- special 56
+ special PlayTrainerEncounterMusic
reptrainerbattle
endtrainerbattle
gUnknown_0819F887:: @ 819F887
call EventScript_19F8E5
- specialval RESULT, 58
+ specialval RESULT, sub_8082C9C
compare RESULT, 0
jumpeq EventScript_19F8AD
- special 56
- special 314
- special 52
+ special PlayTrainerEncounterMusic
+ special sub_8082524
+ special sub_80826D8
waittext
waitbutton
- special 59
+ special sub_80826B0
waitstate
releaseall
end
@@ -1000,18 +1000,18 @@ EventScript_19F8AD:
endtrainerbattle
gUnknown_0819F8AE:: @ 819F8AE
- specialval RESULT, 58
+ specialval RESULT, sub_8082C9C
compare RESULT, 0
jumpeq EventScript_19F8DD
- special 61
+ special CheckForAlivePartyMons
compare RESULT, 0
jumpif 5, EventScript_19F8DE
- special 56
- special 314
- special 52
+ special PlayTrainerEncounterMusic
+ special sub_8082524
+ special sub_80826D8
waittext
waitbutton
- special 59
+ special sub_80826B0
waitstate
releaseall
end
@@ -1020,7 +1020,7 @@ EventScript_19F8DD:
endtrainerbattle
EventScript_19F8DE:
- special 53
+ special sub_8082718
waittext
waitbutton
release
@@ -1036,11 +1036,11 @@ Movement_19F8F0::
step_end
EventScript_19F8F2:
- special 52
+ special sub_80826D8
waittext
waitbutton
reptrainerbattle
- specialval RESULT, 51
+ specialval RESULT, sub_8082558
compare RESULT, 0
jumpeq EventScript_19F934
compare RESULT, 2
@@ -1295,7 +1295,7 @@ EverGrandeCity_HallOfFame_EventScript_19FC13:: @ 819FC13
clearflag 751
clearflag 860
clearflag 861
- special 169
+ special sub_810FAA0
checkflag 291
callif 0, EverGrandeCity_HallOfFame_EventScript_19FC62
checkflag 255
@@ -1454,7 +1454,7 @@ OldaleTown_PokemonCenter_1F_EventScript_19FD7C:: @ 819FD7C
checkanimation 25
move 0x800b, OldaleTown_PokemonCenter_1F_Movement_1A0845
waitmove 0
- special 0
+ special HealPlayerParty
checkflag 273
jumpif 0, OldaleTown_PokemonCenter_1F_EventScript_19FDCE
jump OldaleTown_PokemonCenter_1F_EventScript_19FDB0
@@ -1475,7 +1475,7 @@ OldaleTown_PokemonCenter_1F_EventScript_19FDC7:: @ 819FDC7
return
OldaleTown_PokemonCenter_1F_EventScript_19FDCE:: @ 819FDCE
- specialval RESULT, 308
+ specialval RESULT, IsPokerusInParty
compare RESULT, 1
jumpeq OldaleTown_PokemonCenter_1F_EventScript_19FDEA
compare RESULT, 0
@@ -1644,7 +1644,7 @@ HiddenItemScript_Success:
waitfanfare
waittext
msgbox Message_PutAwayItem
- special 0x96
+ special SetFlagInVar
releaseall
end
@@ -1665,7 +1665,7 @@ UnusedMixRecordsScript: @ 819FFD5
jumpeq UnusedMixRecordsScript_Done
jump UnusedMixRecordsScript_Done
UnusedMixRecordsScript_Yes: @ 819FFFA
- special 0x1B
+ special sub_80B929C
waitstate
lock
faceplayer
@@ -1679,7 +1679,7 @@ UnusedMixRecordsScript_Done: @ 81A0000
gUnknown_081A0009:: @ 81A0009
lockall
setvar 0x8004, 0
- special 214
+ special DoPCTurnOnEffect
playsfx 4
msgbox UnknownString_81A09EC, 4
jump EventScript_1A0023
@@ -1688,7 +1688,7 @@ gUnknown_081A0009:: @ 81A0009
EventScript_1A0023:
message gPCText_WhichPCShouldBeAccessed
waittext
- special 262
+ special TryCreatePCMenu
waitstate
jump EventScript_1A0033
end
@@ -1705,7 +1705,7 @@ EventScript_1A0033:
EventScript_1A0070:
playsfx 2
msgbox UnknownString_81A0A54, 4
- special 250
+ special PlayerPC
waitstate
jump EventScript_1A0023
end
@@ -1717,7 +1717,7 @@ EventScript_1A0085:
checkflag 2123
callif 1, EventScript_1A00B5
msgbox UnknownString_81A0A35, 4
- special 60
+ special ShowPokemonStorageSystem
waitstate
jump EventScript_1A0023
end
@@ -1733,7 +1733,7 @@ EventScript_1A00B5:
EventScript_1A00BE:
setvar 0x8004, 0
playsfx 3
- special 215
+ special DoPCTurnOffEffect
releaseall
end
@@ -1741,7 +1741,7 @@ EventScript_1A00CB:
checkflag 2052
jumpif 0, EventScript_1A00BE
playsfx 2
- special 263
+ special AccessHallOfFamePC
waitstate
jump EventScript_1A0033
end
@@ -1788,7 +1788,7 @@ Route123_BerryMastersHouse_EventScript_1A00F3:: @ 81A00F3
SlateportCity_OceanicMuseum_1F_EventScript_1A00F3:: @ 81A00F3
SlateportCity_PokemonFanClub_EventScript_1A00F3:: @ 81A00F3
fadescreen 1
- special 95
+ special sub_80E60D8
fadescreen 0
return
@@ -1804,7 +1804,7 @@ DewfordTown_EventScript_1A0102:: @ 81A0102
DewfordTown_Hall_EventScript_1A0102:: @ 81A0102
checkdailyflags
setvar 0x8004, 0
- special 126
+ special sub_80FA5BC
return
DewfordTown_EventScript_1A010C:: @ 81A010C
@@ -2111,7 +2111,7 @@ SSTidalRooms_EventScript_1A02CA:: @ 81A02CA
fadescreen 1
fanfare 368
waitfanfare
- special 0
+ special HealPlayerParty
fadescreen 0
return
@@ -2119,7 +2119,7 @@ Event_WorldMap:: @ 81A02D6
lockall
msgbox UnknownString_817303D, 4
fadescreen 1
- special 251
+ special FieldShowRegionMap
waitstate
releaseall
end
@@ -2201,7 +2201,7 @@ Route101_EventScript_1A039B:: @ 81A039B
Route101_EventScript_1A03A5:: @ 81A03A5
copyvar 0x8004, 0x8009
- special 213
+ special ShowPokedexRatingMessage
waittext
waitbutton
return
@@ -2209,7 +2209,7 @@ Route101_EventScript_1A03A5:: @ 81A03A5
EverGrandeCity_ChampionsRoom_EventScript_1A03B0:: @ 81A03B0
Route101_EventScript_1A03B0:: @ 81A03B0
setvar 0x8004, 0
- specialval RESULT, 212
+ specialval RESULT, ScriptGetPokedexInfo
copyvar 0x8008, 0x8005
copyvar 0x8009, 0x8006
copyvar 0x800a, RESULT
@@ -2220,7 +2220,7 @@ Route101_EventScript_1A03B0:: @ 81A03B0
compare 0x800a, 0
jumpeq Route101_EventScript_1A14DC
setvar 0x8004, 1
- specialval RESULT, 212
+ specialval RESULT, ScriptGetPokedexInfo
copyvar 0x8008, 0x8005
copyvar 0x8009, 0x8006
buffernum 0, 0x8008
@@ -2328,7 +2328,7 @@ CaveOfOrigin_1F_EventScript_1A04D3:: @ 81A04D3
CaveOfOrigin_B2F_EventScript_1A04D3:: @ 81A04D3
setvar 0x8004, 1
setvar 0x8005, 1
- special 310
+ special sub_810F758
waitstate
releaseall
end
@@ -2533,7 +2533,7 @@ MossdeepCity_StevensHouse_EventScript_1A0678:: @ 81A0678
RustboroCity_DevonCorp_2F_EventScript_1A0678:: @ 81A0678
SlateportCity_House1_EventScript_1A0678:: @ 81A0678
fadescreen 1
- special 158
+ special sub_80BF9F8
waitstate
return
@@ -2568,7 +2568,7 @@ EverGrandeCity_SidneysRoom_EventScript_1A0693:: @ 81A0693
setmaptile 10, 2, 733, 1
setmaptile 11, 2, 734, 1
setmaptile 12, 2, 733, 1
- special 142
+ special DrawWholeMapView
return
EverGrandeCity_DrakesRoom_EventScript_1A0710:: @ 81A0710
@@ -2584,7 +2584,7 @@ EverGrandeCity_SidneysRoom_EventScript_1A0710:: @ 81A0710
setmaptile 5, 13, 526, 1
setmaptile 6, 13, 526, 1
setmaptile 7, 13, 526, 1
- special 142
+ special DrawWholeMapView
return
EverGrandeCity_DrakesRoom_EventScript_1A0757:: @ 81A0757
@@ -3256,7 +3256,7 @@ Event_NoRegisteredItem:: @ 81A14AF
gUnknown_081A14B8:: @ 81A14B8
lockall
- special 199
+ special ExecuteWhiteOut
waitstate
compare RESULT, 1
jumpeq EventScript_1A14CA
@@ -3267,10 +3267,10 @@ EventScript_1A14CA::
message UnknownString_81A1141
waittext
waitbutton
- special 332
+ special sub_8081924
waitstate
fadescreen 1
- special 200
+ special sp0C8_whiteout_maybe
waitstate
end
@@ -3600,8 +3600,8 @@ SecretBase_RedCave1_Text_1A2BA4:: @ 81A2BA4
.string "Are you speechless?$"
gUnknown_081A2C51:: @ 81A2C51
- special 21
- special 7
+ special sub_80BB70C
+ special sub_80BB63C
compare RESULT, 1
jumpeq EventScript_1A2E45
checkattack MOVE_SECRET_POWER
@@ -3719,11 +3719,11 @@ EventScript_1A2DB8:
playsfx 9
setvar 0x4097, 0
setflag 173
- special 6
- special 8
+ special sub_80BB8CC
+ special sub_80BBAF0
setvar 0x8004, 0
setvar 0x8005, 0
- special 18
+ special sub_80BBDD0
setvar 0x4089, 1
waitstate
end
@@ -3737,13 +3737,13 @@ SecretBase_RedCave1_EventScript_1A2DDE:: @ 81A2DDE
jumpeq SecretBase_RedCave1_EventScript_1A2E08
closebutton
playsfx 9
- special 9
+ special sub_80BC440
end
SecretBase_RedCave1_EventScript_1A2E08:: @ 81A2E08
closebutton
setflag 96
- special 24
+ special sub_80BBC78
waitstate
end
@@ -3756,18 +3756,18 @@ gUnknown_081A2E14:: @ 81A2E14
lockall
setvar 0x4097, 1
playsfx 9
- special 11
+ special sub_80BC114
compare RESULT, 0
jumpeq EventScript_1A2E38
clearflag 173
- special 8
+ special sub_80BBAF0
setvar 0x4089, 0
waitstate
end
EventScript_1A2E38:
setflag 173
- special 8
+ special sub_80BBAF0
setvar 0x4089, 0
waitstate
end
@@ -3779,7 +3779,7 @@ EventScript_1A2E45:
setanimation 0, RESULT
setorcopyvar 0x8004, RESULT
lockall
- special 278
+ special GetSecretBaseNearbyMapName
msgbox UnknownString_81A3C71, 5
compare RESULT, 0
jumpeq EventScript_1A2F3A
@@ -3787,7 +3787,7 @@ EventScript_1A2E45:
compare RESULT, 0
jumpeq EventScript_1A2F3A
fadescreen 1
- special 330
+ special sub_80BC50C
closebutton
fadescreen 0
msgbox UnknownString_81A3CC9, 5
@@ -3857,7 +3857,7 @@ LittlerootTown_MaysHouse_2F_EventScript_1A2F68:: @ 81A2F68
SecretBase_RedCave1_EventScript_1A2F68:: @ 81A2F68
setvar 0x8004, 0
setvar 0x8005, 0
- special 18
+ special sub_80BBDD0
setvar 0x4089, 1
end
@@ -3867,7 +3867,7 @@ gUnknown_081A2F7B:: @ 81A2F7B
end
EventScript_1A2F86:
- special 19
+ special sub_80FF474
end
gUnknown_081A2F8A:: @ 81A2F8A
@@ -3876,7 +3876,7 @@ gUnknown_081A2F8A:: @ 81A2F8A
end
EventScript_1A2F95:
- special 23
+ special sub_8100A7C
compare RESULT, 1
jumpeq EventScript_1A2FBF
addvar 0x8004, 1
@@ -3914,7 +3914,7 @@ SecretBase_YellowCave1_EventScript_1A2FC0:: @ 81A2FC0
SecretBase_YellowCave2_EventScript_1A2FC0:: @ 81A2FC0
SecretBase_YellowCave3_EventScript_1A2FC0:: @ 81A2FC0
SecretBase_YellowCave4_EventScript_1A2FC0:: @ 81A2FC0
- special 17
+ special sub_80BCE90
compare 0x8004, 0
jumpeq SecretBase_RedCave1_EventScript_1A3032
compare 0x8004, 1
@@ -3948,7 +3948,7 @@ SecretBase_RedCave1_EventScript_1A3032:: @ 81A3032
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A308F
setvar RESULT, 1
- special 25
+ special sub_80BCE4C
call SecretBase_RedCave1_EventScript_19F806
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A308F
@@ -3963,7 +3963,7 @@ SecretBase_RedCave1_EventScript_1A3086:: @ 81A3086
SecretBase_RedCave1_EventScript_1A308F:: @ 81A308F
setvar RESULT, 0
- special 25
+ special sub_80BCE4C
hidebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A1B97, 2
end
@@ -3983,7 +3983,7 @@ SecretBase_RedCave1_EventScript_1A30AE:: @ 81A30AE
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A310B
setvar RESULT, 1
- special 25
+ special sub_80BCE4C
call SecretBase_RedCave1_EventScript_19F806
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A310B
@@ -3998,7 +3998,7 @@ SecretBase_RedCave1_EventScript_1A3102:: @ 81A3102
SecretBase_RedCave1_EventScript_1A310B:: @ 81A310B
setvar RESULT, 0
- special 25
+ special sub_80BCE4C
hidebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A1F2E, 2
end
@@ -4018,7 +4018,7 @@ SecretBase_RedCave1_EventScript_1A312A:: @ 81A312A
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A3187
setvar RESULT, 1
- special 25
+ special sub_80BCE4C
call SecretBase_RedCave1_EventScript_19F806
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A3187
@@ -4033,7 +4033,7 @@ SecretBase_RedCave1_EventScript_1A317E:: @ 81A317E
SecretBase_RedCave1_EventScript_1A3187:: @ 81A3187
setvar RESULT, 0
- special 25
+ special sub_80BCE4C
hidebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A2230, 2
end
@@ -4053,7 +4053,7 @@ SecretBase_RedCave1_EventScript_1A31A6:: @ 81A31A6
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A3203
setvar RESULT, 1
- special 25
+ special sub_80BCE4C
call SecretBase_RedCave1_EventScript_19F806
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A3203
@@ -4068,7 +4068,7 @@ SecretBase_RedCave1_EventScript_1A31FA:: @ 81A31FA
SecretBase_RedCave1_EventScript_1A3203:: @ 81A3203
setvar RESULT, 0
- special 25
+ special sub_80BCE4C
hidebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A258A, 2
end
@@ -4088,7 +4088,7 @@ SecretBase_RedCave1_EventScript_1A3222:: @ 81A3222
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A327F
setvar RESULT, 1
- special 25
+ special sub_80BCE4C
call SecretBase_RedCave1_EventScript_19F806
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A327F
@@ -4103,7 +4103,7 @@ SecretBase_RedCave1_EventScript_1A3276:: @ 81A3276
SecretBase_RedCave1_EventScript_1A327F:: @ 81A327F
setvar RESULT, 0
- special 25
+ special sub_80BCE4C
hidebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A28F4, 2
end
@@ -4123,7 +4123,7 @@ SecretBase_RedCave1_EventScript_1A329E:: @ 81A329E
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A32FB
setvar RESULT, 1
- special 25
+ special sub_80BCE4C
call SecretBase_RedCave1_EventScript_19F806
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A32FB
@@ -4138,7 +4138,7 @@ SecretBase_RedCave1_EventScript_1A32F2:: @ 81A32F2
SecretBase_RedCave1_EventScript_1A32FB:: @ 81A32FB
setvar RESULT, 0
- special 25
+ special sub_80BCE4C
hidebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A1D59, 2
end
@@ -4158,7 +4158,7 @@ SecretBase_RedCave1_EventScript_1A331A:: @ 81A331A
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A3377
setvar RESULT, 1
- special 25
+ special sub_80BCE4C
call SecretBase_RedCave1_EventScript_19F806
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A3377
@@ -4173,7 +4173,7 @@ SecretBase_RedCave1_EventScript_1A336E:: @ 81A336E
SecretBase_RedCave1_EventScript_1A3377:: @ 81A3377
setvar RESULT, 0
- special 25
+ special sub_80BCE4C
hidebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A20AE, 2
end
@@ -4193,7 +4193,7 @@ SecretBase_RedCave1_EventScript_1A3396:: @ 81A3396
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A33F3
setvar RESULT, 1
- special 25
+ special sub_80BCE4C
call SecretBase_RedCave1_EventScript_19F806
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A33F3
@@ -4208,7 +4208,7 @@ SecretBase_RedCave1_EventScript_1A33EA:: @ 81A33EA
SecretBase_RedCave1_EventScript_1A33F3:: @ 81A33F3
setvar RESULT, 0
- special 25
+ special sub_80BCE4C
hidebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A2420, 2
end
@@ -4228,7 +4228,7 @@ SecretBase_RedCave1_EventScript_1A3412:: @ 81A3412
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A346F
setvar RESULT, 1
- special 25
+ special sub_80BCE4C
call SecretBase_RedCave1_EventScript_19F806
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A346F
@@ -4243,7 +4243,7 @@ SecretBase_RedCave1_EventScript_1A3466:: @ 81A3466
SecretBase_RedCave1_EventScript_1A346F:: @ 81A346F
setvar RESULT, 0
- special 25
+ special sub_80BCE4C
hidebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A2736, 2
end
@@ -4263,7 +4263,7 @@ SecretBase_RedCave1_EventScript_1A348E:: @ 81A348E
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A34EB
setvar RESULT, 1
- special 25
+ special sub_80BCE4C
call SecretBase_RedCave1_EventScript_19F806
compare RESULT, 0
jumpeq SecretBase_RedCave1_EventScript_1A34EB
@@ -4278,7 +4278,7 @@ SecretBase_RedCave1_EventScript_1A34E2:: @ 81A34E2
SecretBase_RedCave1_EventScript_1A34EB:: @ 81A34EB
setvar RESULT, 0
- special 25
+ special sub_80BCE4C
hidebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A2AFB, 2
end
@@ -4288,12 +4288,12 @@ SecretBase_RedCave1_EventScript_1A3501:: @ 81A3501
end
SecretBase_RedCave1_EventScript_1A350A:: @ 81A350A
- special 16
+ special sub_80BCE1C
setvar 0x8004, 1
setvar 0x8005, 0
- special 236
+ special sub_813556C
waitstate
- special 0
+ special HealPlayerParty
release
end
@@ -4378,14 +4378,14 @@ BattleTower_Lobby_EventScript_1ADE46:: @ 81ADE46
FallarborTown_ContestLobby_EventScript_1ADE46:: @ 81ADE46
SlateportCity_OceanicMuseum_1F_EventScript_1ADE46:: @ 81ADE46
SlateportCity_PokemonFanClub_EventScript_1ADE46:: @ 81ADE46
- special 68
+ special sub_80BDE48
inccounter GAME_STAT_GOT_INTERVIEWED
release
end
SlateportCity_PokemonFanClub_EventScript_1ADE4D:: @ 81ADE4D
setvar 0x8005, 1
- special 67
+ special sub_80BF2C4
compare RESULT, 1
jumpeq SlateportCity_PokemonFanClub_EventScript_1ADED6
copyvar 0x8009, 0x8006
@@ -4430,7 +4430,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_1ADEE0:: @ 81ADEE0
lock
faceplayer
setvar 0x8005, 2
- special 67
+ special sub_80BF2C4
compare RESULT, 1
jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF96
copyvar 0x8009, 0x8006
@@ -4485,11 +4485,11 @@ SlateportCity_OceanicMuseum_1F_EventScript_1ADF96:: @ 81ADF96
SlateportCity_PokemonFanClub_EventScript_1ADFA0:: @ 81ADFA0
lock
faceplayer
- specialval RESULT, 69
+ specialval RESULT, sub_80BF544
compare RESULT, 0
jumpeq SlateportCity_PokemonFanClub_EventScript_1ADE4D
setvar 0x8005, 3
- special 67
+ special sub_80BF2C4
compare RESULT, 1
jumpeq SlateportCity_PokemonFanClub_EventScript_1AE0AC
copyvar 0x8009, 0x8006
@@ -4566,7 +4566,7 @@ VerdanturfTown_ContestLobby_EventScript_1AE0B6:: @ 81AE0B6
checkflag 2
jumpeq FallarborTown_ContestLobby_EventScript_1AE17E
setvar 0x8005, 6
- special 67
+ special sub_80BF2C4
compare RESULT, 1
jumpeq FallarborTown_ContestLobby_EventScript_1AE17E
copyvar 0x8009, 0x8006
@@ -4598,7 +4598,7 @@ FallarborTown_ContestLobby_EventScript_1AE12D:: @ 81AE12D
FallarborTown_ContestLobby_EventScript_1AE137:: @ 81AE137
setvar 0x8004, 24
- special 70
+ special SetContestCategoryStringVarForInterview
msgbox FallarborTown_ContestLobby_Text_1A70A5, 4
setvar 0x8004, 11
copyvar 0x8005, 0x8009
@@ -4626,7 +4626,7 @@ VerdanturfTown_ContestLobby_EventScript_1AE188:: @ 81AE188
compare 0x4086, 2
jumpif 5, FallarborTown_ContestLobby_EventScript_1AE1FE
setvar 0x8005, 6
- special 67
+ special sub_80BF2C4
compare RESULT, 1
jumpeq FallarborTown_ContestLobby_EventScript_1AE1FE
switch 0x4088
@@ -4663,7 +4663,7 @@ BattleTower_Lobby_EventScript_1AE1FF:: @ 81AE1FF
checkflag 2
jumpeq BattleTower_Lobby_EventScript_1AE2E3
setvar 0x8005, 7
- special 67
+ special sub_80BF2C4
compare RESULT, 1
jumpeq BattleTower_Lobby_EventScript_1AE2E3
copyvar 0x8009, 0x8006
@@ -4732,7 +4732,7 @@ BattleTower_Lobby_EventScript_1AE2ED:: @ 81AE2ED
compare 0x40bc, 0
jumpeq BattleTower_Lobby_EventScript_1AE30F
setvar 0x8005, 7
- special 67
+ special sub_80BF2C4
compare RESULT, 1
jumpeq BattleTower_Lobby_EventScript_1AE30F
clearflag 918
@@ -4827,7 +4827,7 @@ MauvilleCity_GameCorner_EventScript_1C40AC:: @ 81C40AC
end
MauvilleCity_GameCorner_EventScript_1C40DA:: @ 81C40DA
- special 162
+ special PlayRoulette
waitstate
end
@@ -4900,7 +4900,7 @@ gUnknown_081C6BDE:: @ 81C6BDE
waitmove 0
playsfx 43
pause 60
- special 319
+ special sp13F_fall_to_last_warp
waitstate
end
diff --git a/data/field_move_scripts.inc b/data/field_move_scripts.inc
index 413ab351a..315217055 100644
--- a/data/field_move_scripts.inc
+++ b/data/field_move_scripts.inc
@@ -87,10 +87,10 @@ DoRockSmashMovement: @ 81B0F0C
move LAST_TALKED, RockSmashMovement
waitmove 0
disappear LAST_TALKED
- specialval RESULT, 298
+ specialval RESULT, sub_810F5BC
compare RESULT, 1
jumpeq DoRockSmashMovement_Done
- special 171
+ special RockSmashWildEncounter
compare RESULT, 0
jumpeq DoRockSmashMovement_Done
waitstate
diff --git a/data/graphics/pokemon/icon_palette_indices.inc b/data/graphics/pokemon/icon_palette_indices.inc
deleted file mode 100644
index f37ec2a7a..000000000
--- a/data/graphics/pokemon/icon_palette_indices.inc
+++ /dev/null
@@ -1,442 +0,0 @@
- .align 2
-gMonIconPaletteIndices:: @ 83BC400
- .byte 0 @ ??????????
- .byte 1 @ Bulbasaur
- .byte 1 @ Ivysaur
- .byte 1 @ Venusaur
- .byte 0 @ Charmander
- .byte 0 @ Charmeleon
- .byte 0 @ Charizard
- .byte 0 @ Squirtle
- .byte 2 @ Wartortle
- .byte 2 @ Blastoise
- .byte 1 @ Caterpie
- .byte 1 @ Metapod
- .byte 0 @ Butterfree
- .byte 1 @ Weedle
- .byte 2 @ Kakuna
- .byte 2 @ Beedrill
- .byte 0 @ Pidgey
- .byte 0 @ Pidgeotto
- .byte 0 @ Pidgeot
- .byte 2 @ Rattata
- .byte 1 @ Raticate
- .byte 0 @ Spearow
- .byte 0 @ Fearow
- .byte 2 @ Ekans
- .byte 2 @ Arbok
- .byte 2 @ Pikachu
- .byte 0 @ Raichu
- .byte 2 @ Sandshrew
- .byte 2 @ Sandslash
- .byte 2 @ Nidoran♀
- .byte 2 @ Nidorina
- .byte 2 @ Nidoqueen
- .byte 2 @ Nidoran♂
- .byte 2 @ Nidorino
- .byte 2 @ Nidoking
- .byte 0 @ Clefairy
- .byte 0 @ Clefable
- .byte 2 @ Vulpix
- .byte 1 @ Ninetales
- .byte 0 @ Jigglypuff
- .byte 0 @ Wigglytuff
- .byte 2 @ Zubat
- .byte 2 @ Golbat
- .byte 1 @ Oddish
- .byte 0 @ Gloom
- .byte 0 @ Vileplume
- .byte 0 @ Paras
- .byte 0 @ Parasect
- .byte 0 @ Venonat
- .byte 2 @ Venomoth
- .byte 2 @ Diglett
- .byte 2 @ Dugtrio
- .byte 1 @ Meowth
- .byte 1 @ Persian
- .byte 1 @ Psyduck
- .byte 2 @ Golduck
- .byte 1 @ Mankey
- .byte 2 @ Primeape
- .byte 0 @ Growlithe
- .byte 0 @ Arcanine
- .byte 0 @ Poliwag
- .byte 0 @ Poliwhirl
- .byte 0 @ Poliwrath
- .byte 2 @ Abra
- .byte 2 @ Kadabra
- .byte 2 @ Alakazam
- .byte 0 @ Machop
- .byte 2 @ Machoke
- .byte 0 @ Machamp
- .byte 1 @ Bellsprout
- .byte 1 @ Weepinbell
- .byte 1 @ Victreebel
- .byte 2 @ Tentacool
- .byte 2 @ Tentacruel
- .byte 1 @ Geodude
- .byte 1 @ Graveler
- .byte 1 @ Golem
- .byte 0 @ Ponyta
- .byte 0 @ Rapidash
- .byte 0 @ Slowpoke
- .byte 0 @ Slowbro
- .byte 0 @ Magnemite
- .byte 0 @ Magneton
- .byte 1 @ Farfetch'd
- .byte 2 @ Doduo
- .byte 2 @ Dodrio
- .byte 2 @ Seel
- .byte 2 @ Dewgong
- .byte 2 @ Grimer
- .byte 2 @ Muk
- .byte 2 @ Shellder
- .byte 2 @ Cloyster
- .byte 2 @ Gastly
- .byte 2 @ Haunter
- .byte 2 @ Gengar
- .byte 2 @ Onix
- .byte 2 @ Drowzee
- .byte 1 @ Hypno
- .byte 2 @ Krabby
- .byte 2 @ Kingler
- .byte 0 @ Voltorb
- .byte 0 @ Electrode
- .byte 0 @ Exeggcute
- .byte 1 @ Exeggutor
- .byte 1 @ Cubone
- .byte 1 @ Marowak
- .byte 2 @ Hitmonlee
- .byte 2 @ Hitmonchan
- .byte 1 @ Lickitung
- .byte 2 @ Koffing
- .byte 2 @ Weezing
- .byte 1 @ Rhyhorn
- .byte 1 @ Rhydon
- .byte 0 @ Chansey
- .byte 0 @ Tangela
- .byte 1 @ Kangaskhan
- .byte 0 @ Horsea
- .byte 0 @ Seadra
- .byte 0 @ Goldeen
- .byte 0 @ Seaking
- .byte 2 @ Staryu
- .byte 2 @ Starmie
- .byte 0 @ Mr. mime
- .byte 1 @ Scyther
- .byte 2 @ Jynx
- .byte 1 @ Electabuzz
- .byte 0 @ Magmar
- .byte 2 @ Pinsir
- .byte 2 @ Tauros
- .byte 0 @ Magikarp
- .byte 0 @ Gyarados
- .byte 2 @ Lapras
- .byte 2 @ Ditto
- .byte 2 @ Eevee
- .byte 0 @ Vaporeon
- .byte 0 @ Jolteon
- .byte 0 @ Flareon
- .byte 0 @ Porygon
- .byte 0 @ Omanyte
- .byte 0 @ Omastar
- .byte 2 @ Kabuto
- .byte 2 @ Kabutops
- .byte 0 @ Aerodactyl
- .byte 1 @ Snorlax
- .byte 0 @ Articuno
- .byte 0 @ Zapdos
- .byte 0 @ Moltres
- .byte 0 @ Dratini
- .byte 0 @ Dragonair
- .byte 2 @ Dragonite
- .byte 2 @ Mewtwo
- .byte 0 @ Mew
- .byte 1 @ Chikorita
- .byte 1 @ Bayleef
- .byte 1 @ Meganium
- .byte 1 @ Cyndaquil
- .byte 1 @ Quilava
- .byte 1 @ Typhlosion
- .byte 2 @ Totodile
- .byte 2 @ Croconaw
- .byte 2 @ Feraligatr
- .byte 2 @ Sentret
- .byte 2 @ Furret
- .byte 2 @ Hoothoot
- .byte 2 @ Noctowl
- .byte 0 @ Ledyba
- .byte 0 @ Ledian
- .byte 1 @ Spinarak
- .byte 0 @ Ariados
- .byte 2 @ Crobat
- .byte 2 @ Chinchou
- .byte 0 @ Lanturn
- .byte 0 @ Pichu
- .byte 0 @ Cleffa
- .byte 1 @ Igglybuff
- .byte 2 @ Togepi
- .byte 2 @ Togetic
- .byte 0 @ Natu
- .byte 0 @ Xatu
- .byte 2 @ Mareep
- .byte 0 @ Flaaffy
- .byte 0 @ Ampharos
- .byte 1 @ Bellossom
- .byte 2 @ Marill
- .byte 2 @ Azumarill
- .byte 1 @ Sudowoodo
- .byte 1 @ Politoed
- .byte 1 @ Hoppip
- .byte 1 @ Skiploom
- .byte 2 @ Jumpluff
- .byte 2 @ Aipom
- .byte 1 @ Sunkern
- .byte 1 @ Sunflora
- .byte 1 @ Yanma
- .byte 0 @ Wooper
- .byte 0 @ Quagsire
- .byte 2 @ Espeon
- .byte 2 @ Umbreon
- .byte 2 @ Murkrow
- .byte 0 @ Slowking
- .byte 0 @ Misdreavus
- .byte 0 @ Unown A
- .byte 0 @ Wobbuffet
- .byte 1 @ Girafarig
- .byte 0 @ Pineco
- .byte 2 @ Forretress
- .byte 2 @ Dunsparce
- .byte 2 @ Gligar
- .byte 0 @ Steelix
- .byte 0 @ Snubbull
- .byte 2 @ Granbull
- .byte 0 @ Qwilfish
- .byte 0 @ Scizor
- .byte 1 @ Shuckle
- .byte 2 @ Heracross
- .byte 0 @ Sneasel
- .byte 0 @ Teddiursa
- .byte 2 @ Ursaring
- .byte 0 @ Slugma
- .byte 0 @ Magcargo
- .byte 2 @ Swinub
- .byte 2 @ Piloswine
- .byte 0 @ Corsola
- .byte 0 @ Remoraid
- .byte 0 @ Octillery
- .byte 0 @ Delibird
- .byte 2 @ Mantine
- .byte 0 @ Skarmory
- .byte 0 @ Houndour
- .byte 0 @ Houndoom
- .byte 0 @ Kingdra
- .byte 0 @ Phanpy
- .byte 0 @ Donphan
- .byte 0 @ Porygon2
- .byte 2 @ Stantler
- .byte 1 @ Smeargle
- .byte 2 @ Tyrogue
- .byte 2 @ Hitmontop
- .byte 1 @ Smoochum
- .byte 1 @ Elekid
- .byte 1 @ Magby
- .byte 1 @ Miltank
- .byte 1 @ Blissey
- .byte 0 @ Raikou
- .byte 2 @ Entei
- .byte 0 @ Suicune
- .byte 1 @ Larvitar
- .byte 0 @ Pupitar
- .byte 1 @ Tyranitar
- .byte 0 @ Lugia
- .byte 1 @ Ho-Oh
- .byte 1 @ Celebi
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 1 @ Treecko
- .byte 0 @ Grovyle
- .byte 1 @ Sceptile
- .byte 0 @ Torchic
- .byte 0 @ Combusken
- .byte 0 @ Blaziken
- .byte 0 @ Mudkip
- .byte 0 @ Marshtomp
- .byte 0 @ Swampert
- .byte 2 @ Poochyena
- .byte 2 @ Mightyena
- .byte 2 @ Zigzagoon
- .byte 2 @ Linoone
- .byte 0 @ Wurmple
- .byte 2 @ Silcoon
- .byte 0 @ Beautifly
- .byte 2 @ Cascoon
- .byte 1 @ Dustox
- .byte 1 @ Lotad
- .byte 1 @ Lombre
- .byte 1 @ Ludicolo
- .byte 1 @ Seedot
- .byte 1 @ Nuzleaf
- .byte 0 @ Shiftry
- .byte 1 @ Nincada
- .byte 1 @ Ninjask
- .byte 1 @ Shedinja
- .byte 2 @ Taillow
- .byte 2 @ Swellow
- .byte 1 @ Shroomish
- .byte 1 @ Breloom
- .byte 1 @ Spinda
- .byte 0 @ Wingull
- .byte 0 @ Pelipper
- .byte 2 @ Surskit
- .byte 0 @ Masquerain
- .byte 2 @ Wailmer
- .byte 0 @ Wailord
- .byte 0 @ Skitty
- .byte 2 @ Delcatty
- .byte 1 @ Kecleon
- .byte 1 @ Baltoy
- .byte 0 @ Claydol
- .byte 0 @ Nosepass
- .byte 1 @ Torkoal
- .byte 2 @ Sableye
- .byte 0 @ Barboach
- .byte 0 @ Whiscash
- .byte 0 @ Luvdisc
- .byte 0 @ Corphish
- .byte 0 @ Crawdaunt
- .byte 2 @ Feebas
- .byte 0 @ Milotic
- .byte 0 @ Carvanha
- .byte 0 @ Sharpedo
- .byte 1 @ Trapinch
- .byte 1 @ Vibrava
- .byte 1 @ Flygon
- .byte 2 @ Makuhita
- .byte 1 @ Hariyama
- .byte 1 @ Electrike
- .byte 0 @ Manectric
- .byte 1 @ Numel
- .byte 0 @ Camerupt
- .byte 2 @ Spheal
- .byte 2 @ Sealeo
- .byte 0 @ Walrein
- .byte 1 @ Cacnea
- .byte 1 @ Cacturne
- .byte 2 @ Snorunt
- .byte 0 @ Glalie
- .byte 1 @ Lunatone
- .byte 0 @ Solrock
- .byte 2 @ Azurill
- .byte 0 @ Spoink
- .byte 2 @ Grumpig
- .byte 0 @ Plusle
- .byte 0 @ Minun
- .byte 2 @ Mawile
- .byte 0 @ Meditite
- .byte 0 @ Medicham
- .byte 0 @ Swablu
- .byte 0 @ Altaria
- .byte 0 @ Wynaut
- .byte 0 @ Duskull
- .byte 0 @ Dusclops
- .byte 0 @ Roselia
- .byte 2 @ Slakoth
- .byte 2 @ Vigoroth
- .byte 1 @ Slaking
- .byte 1 @ Gulpin
- .byte 2 @ Swalot
- .byte 1 @ Tropius
- .byte 0 @ Whismur
- .byte 2 @ Loudred
- .byte 2 @ Exploud
- .byte 0 @ Clamperl
- .byte 0 @ Huntail
- .byte 0 @ Gorebyss
- .byte 0 @ Absol
- .byte 0 @ Shuppet
- .byte 0 @ Banette
- .byte 2 @ Seviper
- .byte 0 @ Zangoose
- .byte 1 @ Relicanth
- .byte 2 @ Aron
- .byte 2 @ Lairon
- .byte 2 @ Aggron
- .byte 0 @ Castform
- .byte 0 @ Volbeat
- .byte 2 @ Illumise
- .byte 2 @ Lileep
- .byte 0 @ Cradily
- .byte 0 @ Anorith
- .byte 0 @ Armaldo
- .byte 1 @ Ralts
- .byte 1 @ Kirlia
- .byte 1 @ Gardevoir
- .byte 2 @ Bagon
- .byte 2 @ Shelgon
- .byte 0 @ Salamence
- .byte 0 @ Beldum
- .byte 0 @ Metang
- .byte 0 @ Metagross
- .byte 2 @ Regirock
- .byte 2 @ Regice
- .byte 2 @ Registeel
- .byte 2 @ Kyogre
- .byte 0 @ Groudon
- .byte 1 @ Rayquaza
- .byte 0 @ Latias
- .byte 2 @ Latios
- .byte 0 @ Jirachi
- .byte 0 @ Deoxys
- .byte 0 @ Chimecho
- .byte 1 @ Egg
- .byte 0 @ Unown B
- .byte 0 @ Unown C
- .byte 0 @ Unown D
- .byte 0 @ Unown E
- .byte 0 @ Unown F
- .byte 0 @ Unown G
- .byte 0 @ Unown H
- .byte 0 @ Unown I
- .byte 0 @ Unown J
- .byte 0 @ Unown K
- .byte 0 @ Unown L
- .byte 0 @ Unown M
- .byte 0 @ Unown N
- .byte 0 @ Unown O
- .byte 0 @ Unown P
- .byte 0 @ Unown Q
- .byte 0 @ Unown R
- .byte 0 @ Unown S
- .byte 0 @ Unown T
- .byte 0 @ Unown U
- .byte 0 @ Unown V
- .byte 0 @ Unown W
- .byte 0 @ Unown X
- .byte 0 @ Unown Y
- .byte 0 @ Unown Z
- .byte 0 @ Unown Exclamation Mark
- .byte 0 @ Unown Question Mark
diff --git a/data/graphics/pokemon/icon_palette_table.inc b/data/graphics/pokemon/icon_palette_table.inc
deleted file mode 100644
index d9da61ab2..000000000
--- a/data/graphics/pokemon/icon_palette_table.inc
+++ /dev/null
@@ -1,11 +0,0 @@
- .align 2
-gMonIconPaletteTable:: @ 83BC5B8
- obj_pal gMonIconPalettes + 0 * 32, 56000
- obj_pal gMonIconPalettes + 1 * 32, 56001
- obj_pal gMonIconPalettes + 2 * 32, 56002
-
-@ These palettes are actually part of the title screen BG palette and are not
-@ used for Pokémon icons.
- obj_pal gMonIconPalettes + 3 * 32, 56003
- obj_pal gMonIconPalettes + 4 * 32, 56004
- obj_pal gMonIconPalettes + 5 * 32, 56005
diff --git a/data/graphics/pokemon/icon_table.inc b/data/graphics/pokemon/icon_table.inc
deleted file mode 100644
index eeb064208..000000000
--- a/data/graphics/pokemon/icon_table.inc
+++ /dev/null
@@ -1,442 +0,0 @@
- .align 2
-gMonIconTable:: @ 83BBD20
- .4byte gMonIcon_Bulbasaur
- .4byte gMonIcon_Bulbasaur
- .4byte gMonIcon_Ivysaur
- .4byte gMonIcon_Venusaur
- .4byte gMonIcon_Charmander
- .4byte gMonIcon_Charmeleon
- .4byte gMonIcon_Charizard
- .4byte gMonIcon_Squirtle
- .4byte gMonIcon_Wartortle
- .4byte gMonIcon_Blastoise
- .4byte gMonIcon_Caterpie
- .4byte gMonIcon_Metapod
- .4byte gMonIcon_Butterfree
- .4byte gMonIcon_Weedle
- .4byte gMonIcon_Kakuna
- .4byte gMonIcon_Beedrill
- .4byte gMonIcon_Pidgey
- .4byte gMonIcon_Pidgeotto
- .4byte gMonIcon_Pidgeot
- .4byte gMonIcon_Rattata
- .4byte gMonIcon_Raticate
- .4byte gMonIcon_Spearow
- .4byte gMonIcon_Fearow
- .4byte gMonIcon_Ekans
- .4byte gMonIcon_Arbok
- .4byte gMonIcon_Pikachu
- .4byte gMonIcon_Raichu
- .4byte gMonIcon_Sandshrew
- .4byte gMonIcon_Sandslash
- .4byte gMonIcon_NidoranF
- .4byte gMonIcon_Nidorina
- .4byte gMonIcon_Nidoqueen
- .4byte gMonIcon_NidoranM
- .4byte gMonIcon_Nidorino
- .4byte gMonIcon_Nidoking
- .4byte gMonIcon_Clefairy
- .4byte gMonIcon_Clefable
- .4byte gMonIcon_Vulpix
- .4byte gMonIcon_Ninetales
- .4byte gMonIcon_Jigglypuff
- .4byte gMonIcon_Wigglytuff
- .4byte gMonIcon_Zubat
- .4byte gMonIcon_Golbat
- .4byte gMonIcon_Oddish
- .4byte gMonIcon_Gloom
- .4byte gMonIcon_Vileplume
- .4byte gMonIcon_Paras
- .4byte gMonIcon_Parasect
- .4byte gMonIcon_Venonat
- .4byte gMonIcon_Venomoth
- .4byte gMonIcon_Diglett
- .4byte gMonIcon_Dugtrio
- .4byte gMonIcon_Meowth
- .4byte gMonIcon_Persian
- .4byte gMonIcon_Psyduck
- .4byte gMonIcon_Golduck
- .4byte gMonIcon_Mankey
- .4byte gMonIcon_Primeape
- .4byte gMonIcon_Growlithe
- .4byte gMonIcon_Arcanine
- .4byte gMonIcon_Poliwag
- .4byte gMonIcon_Poliwhirl
- .4byte gMonIcon_Poliwrath
- .4byte gMonIcon_Abra
- .4byte gMonIcon_Kadabra
- .4byte gMonIcon_Alakazam
- .4byte gMonIcon_Machop
- .4byte gMonIcon_Machoke
- .4byte gMonIcon_Machamp
- .4byte gMonIcon_Bellsprout
- .4byte gMonIcon_Weepinbell
- .4byte gMonIcon_Victreebel
- .4byte gMonIcon_Tentacool
- .4byte gMonIcon_Tentacruel
- .4byte gMonIcon_Geodude
- .4byte gMonIcon_Graveler
- .4byte gMonIcon_Golem
- .4byte gMonIcon_Ponyta
- .4byte gMonIcon_Rapidash
- .4byte gMonIcon_Slowpoke
- .4byte gMonIcon_Slowbro
- .4byte gMonIcon_Magnemite
- .4byte gMonIcon_Magneton
- .4byte gMonIcon_Farfetchd
- .4byte gMonIcon_Doduo
- .4byte gMonIcon_Dodrio
- .4byte gMonIcon_Seel
- .4byte gMonIcon_Dewgong
- .4byte gMonIcon_Grimer
- .4byte gMonIcon_Muk
- .4byte gMonIcon_Shellder
- .4byte gMonIcon_Cloyster
- .4byte gMonIcon_Gastly
- .4byte gMonIcon_Haunter
- .4byte gMonIcon_Gengar
- .4byte gMonIcon_Onix
- .4byte gMonIcon_Drowzee
- .4byte gMonIcon_Hypno
- .4byte gMonIcon_Krabby
- .4byte gMonIcon_Kingler
- .4byte gMonIcon_Voltorb
- .4byte gMonIcon_Electrode
- .4byte gMonIcon_Exeggcute
- .4byte gMonIcon_Exeggutor
- .4byte gMonIcon_Cubone
- .4byte gMonIcon_Marowak
- .4byte gMonIcon_Hitmonlee
- .4byte gMonIcon_Hitmonchan
- .4byte gMonIcon_Lickitung
- .4byte gMonIcon_Koffing
- .4byte gMonIcon_Weezing
- .4byte gMonIcon_Rhyhorn
- .4byte gMonIcon_Rhydon
- .4byte gMonIcon_Chansey
- .4byte gMonIcon_Tangela
- .4byte gMonIcon_Kangaskhan
- .4byte gMonIcon_Horsea
- .4byte gMonIcon_Seadra
- .4byte gMonIcon_Goldeen
- .4byte gMonIcon_Seaking
- .4byte gMonIcon_Staryu
- .4byte gMonIcon_Starmie
- .4byte gMonIcon_Mrmime
- .4byte gMonIcon_Scyther
- .4byte gMonIcon_Jynx
- .4byte gMonIcon_Electabuzz
- .4byte gMonIcon_Magmar
- .4byte gMonIcon_Pinsir
- .4byte gMonIcon_Tauros
- .4byte gMonIcon_Magikarp
- .4byte gMonIcon_Gyarados
- .4byte gMonIcon_Lapras
- .4byte gMonIcon_Ditto
- .4byte gMonIcon_Eevee
- .4byte gMonIcon_Vaporeon
- .4byte gMonIcon_Jolteon
- .4byte gMonIcon_Flareon
- .4byte gMonIcon_Porygon
- .4byte gMonIcon_Omanyte
- .4byte gMonIcon_Omastar
- .4byte gMonIcon_Kabuto
- .4byte gMonIcon_Kabutops
- .4byte gMonIcon_Aerodactyl
- .4byte gMonIcon_Snorlax
- .4byte gMonIcon_Articuno
- .4byte gMonIcon_Zapdos
- .4byte gMonIcon_Moltres
- .4byte gMonIcon_Dratini
- .4byte gMonIcon_Dragonair
- .4byte gMonIcon_Dragonite
- .4byte gMonIcon_Mewtwo
- .4byte gMonIcon_Mew
- .4byte gMonIcon_Chikorita
- .4byte gMonIcon_Bayleef
- .4byte gMonIcon_Meganium
- .4byte gMonIcon_Cyndaquil
- .4byte gMonIcon_Quilava
- .4byte gMonIcon_Typhlosion
- .4byte gMonIcon_Totodile
- .4byte gMonIcon_Croconaw
- .4byte gMonIcon_Feraligatr
- .4byte gMonIcon_Sentret
- .4byte gMonIcon_Furret
- .4byte gMonIcon_Hoothoot
- .4byte gMonIcon_Noctowl
- .4byte gMonIcon_Ledyba
- .4byte gMonIcon_Ledian
- .4byte gMonIcon_Spinarak
- .4byte gMonIcon_Ariados
- .4byte gMonIcon_Crobat
- .4byte gMonIcon_Chinchou
- .4byte gMonIcon_Lanturn
- .4byte gMonIcon_Pichu
- .4byte gMonIcon_Cleffa
- .4byte gMonIcon_Igglybuff
- .4byte gMonIcon_Togepi
- .4byte gMonIcon_Togetic
- .4byte gMonIcon_Natu
- .4byte gMonIcon_Xatu
- .4byte gMonIcon_Mareep
- .4byte gMonIcon_Flaaffy
- .4byte gMonIcon_Ampharos
- .4byte gMonIcon_Bellossom
- .4byte gMonIcon_Marill
- .4byte gMonIcon_Azumarill
- .4byte gMonIcon_Sudowoodo
- .4byte gMonIcon_Politoed
- .4byte gMonIcon_Hoppip
- .4byte gMonIcon_Skiploom
- .4byte gMonIcon_Jumpluff
- .4byte gMonIcon_Aipom
- .4byte gMonIcon_Sunkern
- .4byte gMonIcon_Sunflora
- .4byte gMonIcon_Yanma
- .4byte gMonIcon_Wooper
- .4byte gMonIcon_Quagsire
- .4byte gMonIcon_Espeon
- .4byte gMonIcon_Umbreon
- .4byte gMonIcon_Murkrow
- .4byte gMonIcon_Slowking
- .4byte gMonIcon_Misdreavus
- .4byte gMonIcon_UnownA
- .4byte gMonIcon_Wobbuffet
- .4byte gMonIcon_Girafarig
- .4byte gMonIcon_Pineco
- .4byte gMonIcon_Forretress
- .4byte gMonIcon_Dunsparce
- .4byte gMonIcon_Gligar
- .4byte gMonIcon_Steelix
- .4byte gMonIcon_Snubbull
- .4byte gMonIcon_Granbull
- .4byte gMonIcon_Qwilfish
- .4byte gMonIcon_Scizor
- .4byte gMonIcon_Shuckle
- .4byte gMonIcon_Heracross
- .4byte gMonIcon_Sneasel
- .4byte gMonIcon_Teddiursa
- .4byte gMonIcon_Ursaring
- .4byte gMonIcon_Slugma
- .4byte gMonIcon_Magcargo
- .4byte gMonIcon_Swinub
- .4byte gMonIcon_Piloswine
- .4byte gMonIcon_Corsola
- .4byte gMonIcon_Remoraid
- .4byte gMonIcon_Octillery
- .4byte gMonIcon_Delibird
- .4byte gMonIcon_Mantine
- .4byte gMonIcon_Skarmory
- .4byte gMonIcon_Houndour
- .4byte gMonIcon_Houndoom
- .4byte gMonIcon_Kingdra
- .4byte gMonIcon_Phanpy
- .4byte gMonIcon_Donphan
- .4byte gMonIcon_Porygon2
- .4byte gMonIcon_Stantler
- .4byte gMonIcon_Smeargle
- .4byte gMonIcon_Tyrogue
- .4byte gMonIcon_Hitmontop
- .4byte gMonIcon_Smoochum
- .4byte gMonIcon_Elekid
- .4byte gMonIcon_Magby
- .4byte gMonIcon_Miltank
- .4byte gMonIcon_Blissey
- .4byte gMonIcon_Raikou
- .4byte gMonIcon_Entei
- .4byte gMonIcon_Suicune
- .4byte gMonIcon_Larvitar
- .4byte gMonIcon_Pupitar
- .4byte gMonIcon_Tyranitar
- .4byte gMonIcon_Lugia
- .4byte gMonIcon_HoOh
- .4byte gMonIcon_Celebi
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_Treecko
- .4byte gMonIcon_Grovyle
- .4byte gMonIcon_Sceptile
- .4byte gMonIcon_Torchic
- .4byte gMonIcon_Combusken
- .4byte gMonIcon_Blaziken
- .4byte gMonIcon_Mudkip
- .4byte gMonIcon_Marshtomp
- .4byte gMonIcon_Swampert
- .4byte gMonIcon_Poochyena
- .4byte gMonIcon_Mightyena
- .4byte gMonIcon_Zigzagoon
- .4byte gMonIcon_Linoone
- .4byte gMonIcon_Wurmple
- .4byte gMonIcon_Silcoon
- .4byte gMonIcon_Beautifly
- .4byte gMonIcon_Cascoon
- .4byte gMonIcon_Dustox
- .4byte gMonIcon_Lotad
- .4byte gMonIcon_Lombre
- .4byte gMonIcon_Ludicolo
- .4byte gMonIcon_Seedot
- .4byte gMonIcon_Nuzleaf
- .4byte gMonIcon_Shiftry
- .4byte gMonIcon_Nincada
- .4byte gMonIcon_Ninjask
- .4byte gMonIcon_Shedinja
- .4byte gMonIcon_Taillow
- .4byte gMonIcon_Swellow
- .4byte gMonIcon_Shroomish
- .4byte gMonIcon_Breloom
- .4byte gMonIcon_Spinda
- .4byte gMonIcon_Wingull
- .4byte gMonIcon_Pelipper
- .4byte gMonIcon_Surskit
- .4byte gMonIcon_Masquerain
- .4byte gMonIcon_Wailmer
- .4byte gMonIcon_Wailord
- .4byte gMonIcon_Skitty
- .4byte gMonIcon_Delcatty
- .4byte gMonIcon_Kecleon
- .4byte gMonIcon_Baltoy
- .4byte gMonIcon_Claydol
- .4byte gMonIcon_Nosepass
- .4byte gMonIcon_Torkoal
- .4byte gMonIcon_Sableye
- .4byte gMonIcon_Barboach
- .4byte gMonIcon_Whiscash
- .4byte gMonIcon_Luvdisc
- .4byte gMonIcon_Corphish
- .4byte gMonIcon_Crawdaunt
- .4byte gMonIcon_Feebas
- .4byte gMonIcon_Milotic
- .4byte gMonIcon_Carvanha
- .4byte gMonIcon_Sharpedo
- .4byte gMonIcon_Trapinch
- .4byte gMonIcon_Vibrava
- .4byte gMonIcon_Flygon
- .4byte gMonIcon_Makuhita
- .4byte gMonIcon_Hariyama
- .4byte gMonIcon_Electrike
- .4byte gMonIcon_Manectric
- .4byte gMonIcon_Numel
- .4byte gMonIcon_Camerupt
- .4byte gMonIcon_Spheal
- .4byte gMonIcon_Sealeo
- .4byte gMonIcon_Walrein
- .4byte gMonIcon_Cacnea
- .4byte gMonIcon_Cacturne
- .4byte gMonIcon_Snorunt
- .4byte gMonIcon_Glalie
- .4byte gMonIcon_Lunatone
- .4byte gMonIcon_Solrock
- .4byte gMonIcon_Azurill
- .4byte gMonIcon_Spoink
- .4byte gMonIcon_Grumpig
- .4byte gMonIcon_Plusle
- .4byte gMonIcon_Minun
- .4byte gMonIcon_Mawile
- .4byte gMonIcon_Meditite
- .4byte gMonIcon_Medicham
- .4byte gMonIcon_Swablu
- .4byte gMonIcon_Altaria
- .4byte gMonIcon_Wynaut
- .4byte gMonIcon_Duskull
- .4byte gMonIcon_Dusclops
- .4byte gMonIcon_Roselia
- .4byte gMonIcon_Slakoth
- .4byte gMonIcon_Vigoroth
- .4byte gMonIcon_Slaking
- .4byte gMonIcon_Gulpin
- .4byte gMonIcon_Swalot
- .4byte gMonIcon_Tropius
- .4byte gMonIcon_Whismur
- .4byte gMonIcon_Loudred
- .4byte gMonIcon_Exploud
- .4byte gMonIcon_Clamperl
- .4byte gMonIcon_Huntail
- .4byte gMonIcon_Gorebyss
- .4byte gMonIcon_Absol
- .4byte gMonIcon_Shuppet
- .4byte gMonIcon_Banette
- .4byte gMonIcon_Seviper
- .4byte gMonIcon_Zangoose
- .4byte gMonIcon_Relicanth
- .4byte gMonIcon_Aron
- .4byte gMonIcon_Lairon
- .4byte gMonIcon_Aggron
- .4byte gMonIcon_Castform
- .4byte gMonIcon_Volbeat
- .4byte gMonIcon_Illumise
- .4byte gMonIcon_Lileep
- .4byte gMonIcon_Cradily
- .4byte gMonIcon_Anorith
- .4byte gMonIcon_Armaldo
- .4byte gMonIcon_Ralts
- .4byte gMonIcon_Kirlia
- .4byte gMonIcon_Gardevoir
- .4byte gMonIcon_Bagon
- .4byte gMonIcon_Shelgon
- .4byte gMonIcon_Salamence
- .4byte gMonIcon_Beldum
- .4byte gMonIcon_Metang
- .4byte gMonIcon_Metagross
- .4byte gMonIcon_Regirock
- .4byte gMonIcon_Regice
- .4byte gMonIcon_Registeel
- .4byte gMonIcon_Kyogre
- .4byte gMonIcon_Groudon
- .4byte gMonIcon_Rayquaza
- .4byte gMonIcon_Latias
- .4byte gMonIcon_Latios
- .4byte gMonIcon_Jirachi
- .4byte gMonIcon_Deoxys
- .4byte gMonIcon_Chimecho
- .4byte gMonIcon_Egg
- .4byte gMonIcon_UnownB
- .4byte gMonIcon_UnownC
- .4byte gMonIcon_UnownD
- .4byte gMonIcon_UnownE
- .4byte gMonIcon_UnownF
- .4byte gMonIcon_UnownG
- .4byte gMonIcon_UnownH
- .4byte gMonIcon_UnownI
- .4byte gMonIcon_UnownJ
- .4byte gMonIcon_UnownK
- .4byte gMonIcon_UnownL
- .4byte gMonIcon_UnownM
- .4byte gMonIcon_UnownN
- .4byte gMonIcon_UnownO
- .4byte gMonIcon_UnownP
- .4byte gMonIcon_UnownQ
- .4byte gMonIcon_UnownR
- .4byte gMonIcon_UnownS
- .4byte gMonIcon_UnownT
- .4byte gMonIcon_UnownU
- .4byte gMonIcon_UnownV
- .4byte gMonIcon_UnownW
- .4byte gMonIcon_UnownX
- .4byte gMonIcon_UnownY
- .4byte gMonIcon_UnownZ
- .4byte gMonIcon_UnownExclamationMark
- .4byte gMonIcon_UnownQuestionMark
diff --git a/data/pokemon_icon.s b/data/pokemon_icon.s
deleted file mode 100644
index ff5aa33dc..000000000
--- a/data/pokemon_icon.s
+++ /dev/null
@@ -1,92 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
-@ 83BBD20
- .include "data/graphics/pokemon/icon_table.inc"
-
-@ 83BC400
- .include "data/graphics/pokemon/icon_palette_indices.inc"
-
-@ 83BC5B8
- .include "data/graphics/pokemon/icon_palette_table.inc"
-
- .align 2
-gOamData_83BC5E8:: @ 83BC5E8
- .2byte 0x0000
- .2byte 0x8000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_83BC5F0:: @ 83BC5F0
- obj_image_anim_frame 0, 6
- obj_image_anim_frame 1, 6
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83BC5FC:: @ 83BC5FC
- obj_image_anim_frame 0, 8
- obj_image_anim_frame 1, 8
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83BC608:: @ 83BC608
- obj_image_anim_frame 0, 14
- obj_image_anim_frame 1, 14
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83BC614:: @ 83BC614
- obj_image_anim_frame 0, 22
- obj_image_anim_frame 1, 22
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83BC620:: @ 83BC620
- obj_image_anim_frame 0, 29
- obj_image_anim_frame 0, 29
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83BC62C:: @ 83BC62C
- .4byte gSpriteAnim_83BC5F0
- .4byte gSpriteAnim_83BC5FC
- .4byte gSpriteAnim_83BC608
- .4byte gSpriteAnim_83BC614
- .4byte gSpriteAnim_83BC620
-
- .align 2
-gSpriteAffineAnim_83BC640:: @ 83BC640
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 10
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83BC650:: @ 83BC650
- obj_rot_scal_anim_frame 0xFFFE, 0xFFFE, 0, 122
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83BC660:: @ 83BC660
- .4byte gSpriteAffineAnim_83BC640
- .4byte gSpriteAffineAnim_83BC650
-
- .align 1
-gSpriteImageSizes:: @ 83BC668
- @ square
- .2byte 0x20 @ 1×1
- .2byte 0x80 @ 2×2
- .2byte 0x200 @ 4×4
- .2byte 0x800 @ 8×8
-
- @ horizontal rectangle
- .2byte 0x40 @ 2×1
- .2byte 0x80 @ 4×1
- .2byte 0x100 @ 4×2
- .2byte 0x400 @ 8×4
-
- @ vertical rectangle
- .2byte 0x40 @ 1×2
- .2byte 0x80 @ 1×4
- .2byte 0x100 @ 2×4
- .2byte 0x400 @ 4×8
diff --git a/data/scripts/bard.inc b/data/scripts/bard.inc
index a30045fc8..3f25b100f 100644
--- a/data/scripts/bard.inc
+++ b/data/scripts/bard.inc
@@ -1,5 +1,5 @@
MauvilleCity_PokemonCenter_1F_EventScript_1AE744:: @ 81AE744
- special 97
+ special sub_80F7B14
switch RESULT
case 0, MauvilleCity_PokemonCenter_1F_EventScript_1AE784
case 1, MauvilleCity_PokemonCenter_1F_EventScript_1AE845
@@ -20,9 +20,9 @@ MauvilleCity_PokemonCenter_1F_EventScript_1AE784:: @ 81AE784
MauvilleCity_PokemonCenter_1F_EventScript_1AE7A5:: @ 81AE7A5
setvar 0x8004, 0
- special 103
+ special sub_80F7C54
pause 60
- special 98
+ special sub_80F7B2C
compare RESULT, 0
jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1AE7D2
msgbox MauvilleCity_PokemonCenter_1F_Text_1B0AED, 4
@@ -51,12 +51,12 @@ MauvilleCity_PokemonCenter_1F_EventScript_1AE7F1:: @ 81AE7F1
jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1AE83B
msgbox MauvilleCity_PokemonCenter_1F_Text_1B0BD0, 4
setvar 0x8004, 1
- special 103
+ special sub_80F7C54
pause 60
msgbox MauvilleCity_PokemonCenter_1F_Text_1B0BFA, 5
compare RESULT, 0
jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1AE7F1
- special 99
+ special sub_80F7B40
msgbox MauvilleCity_PokemonCenter_1F_Text_1B0C23, 4
release
end
diff --git a/data/scripts/berry_tree.inc b/data/scripts/berry_tree.inc
index fcf32d15d..1bbe7d355 100644
--- a/data/scripts/berry_tree.inc
+++ b/data/scripts/berry_tree.inc
@@ -1,5 +1,5 @@
BerryTreeScript:: @ 81A14DD
- special 43
+ special FieldObjectInteractionGetBerryTreeData
switch 0x8004
case 255, Route102_EventScript_1A1533
case 0, Route102_EventScript_1A153D
@@ -21,7 +21,7 @@ Route102_EventScript_1A1533:: @ 81A1533
Route102_EventScript_1A153D:: @ 81A153D
lock
faceplayer
- specialval RESULT, 49
+ specialval RESULT, PlayerHasBerries
compare RESULT, 1
jumpeq Route102_EventScript_1A1558
message Route102_Text_1A16B6
@@ -41,7 +41,7 @@ Route102_EventScript_1A1558:: @ 81A1558
Route102_EventScript_1A1577:: @ 81A1577
fadescreen 1
closebutton
- special 44
+ special sub_80B4EE4
waitstate
compare ITEM_ID, 0
jumpeq Route102_EventScript_1A1593
@@ -108,10 +108,10 @@ Route102_EventScript_1A15F9:: @ 81A15F9
jumpeq Route102_EventScript_1A164B
Route102_EventScript_1A161D:: @ 81A161D
- special 46
+ special FieldObjectInteractionPickBerryTree
compare 0x8004, 0
jumpeq Route102_EventScript_1A1642
- special 47
+ special FieldObjectInteractionRemoveBerryTree
message Route102_Text_1A17FD
fanfare 387
waittext
@@ -139,7 +139,7 @@ Route102_EventScript_1A164B:: @ 81A164B
gUnknown_081A1654:: @ 81A1654
lockall
- special 43
+ special FieldObjectInteractionGetBerryTreeData
call Route102_EventScript_1A16A9
releaseall
end
@@ -159,14 +159,14 @@ Route102_EventScript_1A168D:: @ 81A168D
end
gUnknown_081A168F:: @ 81A168F
- special 43
+ special FieldObjectInteractionGetBerryTreeData
lockall
Route102_EventScript_1A1693:: @ 81A1693
message Route102_Text_1A1912
waittext
- special 48
- special 94
+ special FieldObjectInteractionWaterBerryTree
+ special DoWateringBerryTreeAnim
waitstate
message Route102_Text_1A1925
waittext
@@ -175,7 +175,7 @@ Route102_EventScript_1A1693:: @ 81A1693
end
Route102_EventScript_1A16A9:: @ 81A16A9
- special 45
+ special FieldObjectInteractionPlantBerryTree
inccounter GAME_STAT_PLANTED_BERRIES
message Route102_Text_1A16FB
waittext
diff --git a/data/scripts/cable_club.inc b/data/scripts/cable_club.inc
index c8f701d95..4a919c597 100644
--- a/data/scripts/cable_club.inc
+++ b/data/scripts/cable_club.inc
@@ -86,7 +86,7 @@ VerdanturfTown_PokemonCenter_2F_MapScript2_1A3D88:: @ 81A3D88
.2byte 0
OldaleTown_PokemonCenter_2F_EventScript_1A3DB2:: @ 81A3DB2
- special 31
+ special CloseLink
setvar 0x4087, 0
move 255, OldaleTown_PokemonCenter_2F_Movement_1A4358
waitmove 0
@@ -99,7 +99,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A3DD9:: @ 81A3DD9
return
OldaleTown_PokemonCenter_2F_EventScript_1A3DDA:: @ 81A3DDA
- special 31
+ special CloseLink
setvar 0x4087, 0
compare 0x8007, 0
jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A3E0C
@@ -120,13 +120,13 @@ OldaleTown_PokemonCenter_2F_EventScript_1A3E17:: @ 81A3E17
lockall
call OldaleTown_PokemonCenter_2F_EventScript_1A3E30
setmaptile 8, 3, 605, 1
- special 142
+ special DrawWholeMapView
hidebox 0, 0, 29, 19
releaseall
end
OldaleTown_PokemonCenter_2F_EventScript_1A3E30:: @ 81A3E30
- special 31
+ special CloseLink
setvar 0x4087, 0
compare 0x8007, 0
jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A3E0C
@@ -148,14 +148,14 @@ OldaleTown_PokemonCenter_2F_EventScript_1A3E30:: @ 81A3E30
OldaleTown_PokemonCenter_2F_EventScript_1A3E7B:: @ 81A3E7B
call OldaleTown_PokemonCenter_2F_EventScript_1A3DB2
setmaptile 11, 3, 605, 1
- special 142
+ special DrawWholeMapView
end
OldaleTown_PokemonCenter_2F_EventScript_1A3E8D:: @ 81A3E8D
lockall
call OldaleTown_PokemonCenter_2F_EventScript_1A3DDA
setmaptile 5, 3, 605, 1
- special 142
+ special DrawWholeMapView
hidebox 0, 0, 29, 19
releaseall
end
@@ -199,7 +199,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A3EF2:: @ 81A3EF2
jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4319
message OldaleTown_PokemonCenter_2F_Text_1A490C
waittext
- special 28
+ special sub_808347C
waitstate
compare RESULT, 1
jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A3F5E
@@ -215,14 +215,14 @@ OldaleTown_PokemonCenter_2F_EventScript_1A3EF2:: @ 81A3EF2
jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A42F5
OldaleTown_PokemonCenter_2F_EventScript_1A3F5E:: @ 81A3F5E
- special 0
- special 39
- special 331
+ special HealPlayerParty
+ special SavePlayerParty
+ special LoadPlayerBag
copyvar 0x4087, 0x8004
message2 OldaleTown_PokemonCenter_2F_Text_1A4A22
waittext
setmaptile 5, 3, 514, 0
- special 142
+ special DrawWholeMapView
pause 60
move LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_1A4356
waitmove 0
@@ -239,16 +239,16 @@ OldaleTown_PokemonCenter_2F_EventScript_1A3F5E:: @ 81A3F5E
release
compare 0x8004, 5
jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A3FCD
- special 1
+ special SetCableClubWarp
warp SingleBattleColosseum, 255, 6, 8
- special 2
+ special DoCableClubWarp
waitstate
end
OldaleTown_PokemonCenter_2F_EventScript_1A3FCD:: @ 81A3FCD
- special 1
+ special SetCableClubWarp
warp DoubleBattleColosseum, 255, 5, 8
- special 2
+ special DoCableClubWarp
waitstate
end
@@ -280,7 +280,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A403C:: @ 81A403C
return
OldaleTown_PokemonCenter_2F_EventScript_1A4042:: @ 81A4042
- special 61
+ special CheckForAlivePartyMons
compare RESULT, 0
jumpif 5, OldaleTown_PokemonCenter_2F_EventScript_1A4056
setvar 0x8004, 2
@@ -304,28 +304,28 @@ OldaleTown_PokemonCenter_2F_EventScript_1A4068:: @ 81A4068
jump OldaleTown_PokemonCenter_2F_EventScript_1A432D
OldaleTown_PokemonCenter_2F_EventScript_1A4093:: @ 81A4093
- special 31
+ special CloseLink
message OldaleTown_PokemonCenter_2F_Text_1A4C03
waittext
waitbutton
jump OldaleTown_PokemonCenter_2F_EventScript_1A40C0
OldaleTown_PokemonCenter_2F_EventScript_1A40A2:: @ 81A40A2
- special 31
+ special CloseLink
message OldaleTown_PokemonCenter_2F_Text_1A4BCC
waittext
waitbutton
jump OldaleTown_PokemonCenter_2F_EventScript_1A40C0
OldaleTown_PokemonCenter_2F_EventScript_1A40B1:: @ 81A40B1
- special 31
+ special CloseLink
message OldaleTown_PokemonCenter_2F_Text_1A4B95
waittext
waitbutton
jump OldaleTown_PokemonCenter_2F_EventScript_1A40C0
OldaleTown_PokemonCenter_2F_EventScript_1A40C0:: @ 81A40C0
- special 31
+ special CloseLink
message OldaleTown_PokemonCenter_2F_Text_1A4C38
waittext
waitbutton
@@ -366,7 +366,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A40FA:: @ 81A40FA
jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4319
message OldaleTown_PokemonCenter_2F_Text_1A490C
waittext
- special 29
+ special sub_80834E4
waitstate
compare RESULT, 1
jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4166
@@ -387,7 +387,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A4166:: @ 81A4166
message2 OldaleTown_PokemonCenter_2F_Text_1A4A22
waittext
setmaptile 8, 3, 514, 0
- special 142
+ special DrawWholeMapView
pause 60
move LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_1A4356
waitmove 0
@@ -405,10 +405,10 @@ OldaleTown_PokemonCenter_2F_EventScript_1A4166:: @ 81A4166
jump OldaleTown_PokemonCenter_2F_EventScript_1A4325
OldaleTown_PokemonCenter_2F_EventScript_1A41BB:: @ 81A41BB
- specialval RESULT, 131
+ specialval RESULT, CalculatePlayerPartyCount
compare RESULT, 2
jumpif 0, OldaleTown_PokemonCenter_2F_EventScript_1A41E1
- specialval RESULT, 339
+ specialval RESULT, GetNameOfEnigmaBerryInPlayerParty
compare RESULT, 1
jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A41EE
setvar RESULT, 1
@@ -460,9 +460,9 @@ OldaleTown_PokemonCenter_2F_EventScript_1A4229:: @ 81A4229
jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4319
message OldaleTown_PokemonCenter_2F_Text_1A490C
waittext
- special 30
+ special sub_808350C
waitstate
- special 341
+ special sub_80835D8
waitstate
compare RESULT, 1
jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4294
@@ -485,7 +485,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A4294:: @ 81A4294
message2 OldaleTown_PokemonCenter_2F_Text_1A4A22
waittext
setmaptile 11, 3, 514, 0
- special 142
+ special DrawWholeMapView
pause 60
move LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_1A4356
waitmove 0
@@ -503,7 +503,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A4294:: @ 81A4294
jump OldaleTown_PokemonCenter_2F_EventScript_1A4325
OldaleTown_PokemonCenter_2F_EventScript_1A42E9:: @ 81A42E9
- special 31
+ special CloseLink
message OldaleTown_PokemonCenter_2F_Text_1A4AC8
waittext
waitbutton
@@ -511,7 +511,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A42E9:: @ 81A42E9
end
OldaleTown_PokemonCenter_2F_EventScript_1A42F5:: @ 81A42F5
- special 31
+ special CloseLink
message OldaleTown_PokemonCenter_2F_Text_1A4A85
waittext
waitbutton
@@ -519,7 +519,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A42F5:: @ 81A42F5
end
OldaleTown_PokemonCenter_2F_EventScript_1A4301:: @ 81A4301
- special 31
+ special CloseLink
message OldaleTown_PokemonCenter_2F_Text_1A4A30
waittext
waitbutton
@@ -527,7 +527,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A4301:: @ 81A4301
end
OldaleTown_PokemonCenter_2F_EventScript_1A430D:: @ 81A430D
- special 31
+ special CloseLink
message OldaleTown_PokemonCenter_2F_Text_1A4B1D
waittext
waitbutton
@@ -535,7 +535,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A430D:: @ 81A430D
end
OldaleTown_PokemonCenter_2F_EventScript_1A4319:: @ 81A4319
- special 31
+ special CloseLink
message OldaleTown_PokemonCenter_2F_Text_1A4B59
waittext
waitbutton
@@ -543,13 +543,13 @@ OldaleTown_PokemonCenter_2F_EventScript_1A4319:: @ 81A4319
end
OldaleTown_PokemonCenter_2F_EventScript_1A4325:: @ 81A4325
- special 1
- special 2
+ special SetCableClubWarp
+ special DoCableClubWarp
waitstate
end
OldaleTown_PokemonCenter_2F_EventScript_1A432D:: @ 81A432D
- special 31
+ special CloseLink
message OldaleTown_PokemonCenter_2F_Text_1A4B6C
waittext
waitbutton
@@ -597,7 +597,7 @@ OldaleTown_PokemonCenter_2F_Movement_1A4361:: @ 81A4361
gUnknown_081A4363:: @ 81A4363
lockall
- special 196
+ special ShowLinkBattleRecords
waitbutton
hidebox 0, 0, 29, 19
releaseall
@@ -605,57 +605,57 @@ gUnknown_081A4363:: @ 81A4363
SingleBattleColosseum_EventScript_1A436F:: @ 81A436F
setvar 0x8005, 0
- special 32
+ special sub_8083B90
waitstate
end
SingleBattleColosseum_EventScript_1A4379:: @ 81A4379
setvar 0x8005, 1
- special 32
+ special sub_8083B90
waitstate
end
DoubleBattleColosseum_EventScript_1A4383:: @ 81A4383
fadescreen 1
- special 41
+ special sub_80C5568
waitstate
compare RESULT, 0
jumpeq DoubleBattleColosseum_EventScript_1A43EF
setvar 0x8005, 0
- special 32
+ special sub_8083B90
waitstate
end
DoubleBattleColosseum_EventScript_1A439E:: @ 81A439E
fadescreen 1
- special 41
+ special sub_80C5568
waitstate
compare RESULT, 0
jumpeq DoubleBattleColosseum_EventScript_1A43EF
setvar 0x8005, 1
- special 32
+ special sub_8083B90
waitstate
end
DoubleBattleColosseum_EventScript_1A43B9:: @ 81A43B9
fadescreen 1
- special 41
+ special sub_80C5568
waitstate
compare RESULT, 0
jumpeq DoubleBattleColosseum_EventScript_1A43EF
setvar 0x8005, 2
- special 32
+ special sub_8083B90
waitstate
end
DoubleBattleColosseum_EventScript_1A43D4:: @ 81A43D4
fadescreen 1
- special 41
+ special sub_80C5568
waitstate
compare RESULT, 0
jumpeq DoubleBattleColosseum_EventScript_1A43EF
setvar 0x8005, 3
- special 32
+ special sub_8083B90
waitstate
end
@@ -664,31 +664,31 @@ DoubleBattleColosseum_EventScript_1A43EF:: @ 81A43EF
TradeCenter_EventScript_1A43F0:: @ 81A43F0
setvar 0x8005, 0
- special 33
+ special sub_8083B5C
waitstate
end
TradeCenter_EventScript_1A43FA:: @ 81A43FA
setvar 0x8005, 1
- special 33
+ special sub_8083B5C
waitstate
end
@ 81A4404
setvar 0x8005, 2
- special 33
+ special sub_8083B5C
waitstate
end
@ 81A440E
setvar 0x8005, 3
- special 33
+ special sub_8083B5C
waitstate
end
RecordCorner_EventScript_1A4418:: @ 81A4418
setvar 0x8005, 0
- special 27
+ special sub_80B929C
waitstate
compare 0x4001, 0
jumpif 5, RecordCorner_EventScript_1A446C
@@ -696,7 +696,7 @@ RecordCorner_EventScript_1A4418:: @ 81A4418
RecordCorner_EventScript_1A442D:: @ 81A442D
setvar 0x8005, 1
- special 27
+ special sub_80B929C
waitstate
compare 0x4001, 0
jumpif 5, RecordCorner_EventScript_1A446C
@@ -704,7 +704,7 @@ RecordCorner_EventScript_1A442D:: @ 81A442D
RecordCorner_EventScript_1A4442:: @ 81A4442
setvar 0x8005, 2
- special 27
+ special sub_80B929C
waitstate
compare 0x4001, 0
jumpif 5, RecordCorner_EventScript_1A446C
@@ -712,7 +712,7 @@ RecordCorner_EventScript_1A4442:: @ 81A4442
RecordCorner_EventScript_1A4457:: @ 81A4457
setvar 0x8005, 3
- special 27
+ special sub_80B929C
waitstate
compare 0x4001, 0
jumpif 5, RecordCorner_EventScript_1A446C
@@ -731,7 +731,7 @@ TradeRoom_ReadTrainerCard1:: @ 81A4479
waittext
waitbutton
fadescreen 1
- special 42
+ special sub_8083BDC
waitstate
end
@@ -740,7 +740,7 @@ TradeRoom_ReadTrainerCard2:: @ 81A4487
waittext
waitbutton
fadescreen 1
- special 42
+ special sub_8083BDC
waitstate
end
@@ -752,40 +752,40 @@ TradeRoom_TooBusyToNotice:: @ 81A4495
end
SingleBattleColosseum_EventScript_1A449E:: @ 81A449E
- special 295
+ special sub_8064EAC
message SingleBattleColosseum_Text_1A4D7E
waittext
waitbutton
- special 296
+ special sub_8064ED4
closebutton
end
TradeCenter_EventScript_1A44AD:: @ 81A44AD
- special 295
+ special sub_8064EAC
message TradeCenter_Text_1A4DAB
waittext
waitbutton
- special 296
+ special sub_8064ED4
closebutton
end
RecordCorner_EventScript_1A44BC:: @ 81A44BC
compare 0x4000, 0
jumpif 5, RecordCorner_EventScript_1A44D6
- special 295
+ special sub_8064EAC
message RecordCorner_Text_1A4DD7
waittext
waitbutton
- special 296
+ special sub_8064ED4
closebutton
end
RecordCorner_EventScript_1A44D6:: @ 81A44D6
- special 295
+ special sub_8064EAC
message RecordCorner_Text_1A4DF7
waittext
waitbutton
- special 296
+ special sub_8064ED4
closebutton
end
@@ -799,11 +799,11 @@ TradeRoom_PromptToCancelLink:: @ 81A44E5
TradeRoom_TerminateLink:: @ 81A44FE
message2 TradeRoom_TerminatingLink
waittext
- special 5
+ special sub_80839D0
end
gUnknown_081A4508:: @ 81A4508
- special 4
- special 3
+ special sub_80839A4
+ special sub_80810DC
waitstate
end
diff --git a/data/scripts/contest_hall.inc b/data/scripts/contest_hall.inc
index a8b134c0b..1952264d2 100644
--- a/data/scripts/contest_hall.inc
+++ b/data/scripts/contest_hall.inc
@@ -122,7 +122,7 @@ FallarborTown_ContestLobby_EventScript_1A5048:: @ 81A5048
choosecontestpkmn
compare 0x8004, 255
jumpeq FallarborTown_ContestLobby_EventScript_1A5097
- special 84
+ special sub_80C43F4
compare RESULT, 0
jumpeq FallarborTown_ContestLobby_EventScript_1A50C8
compare RESULT, 1
@@ -337,7 +337,7 @@ LinkContestRoom1_EventScript_1A5311:: @ 81A5311
return
LinkContestRoom1_EventScript_1A5323:: @ 81A5323
- special 81
+ special sub_80C4C64
addvar 0x8006, 1
buffernum 1, 0x8006
lockall
@@ -352,7 +352,7 @@ LinkContestRoom1_EventScript_1A5323:: @ 81A5323
releaseall
addvar 0x8006, -1
playsfx 15
- special 320
+ special ShowContestEntryMonPic
call LinkContestRoom1_EventScript_1A535E
return
@@ -430,7 +430,7 @@ LinkContestRoom1_EventScript_1A53E5:: @ 81A53E5
return
LinkContestRoom1_EventScript_1A5455:: @ 81A5455
- special 87
+ special sub_80C47A0
compare 0x4088, 1
callif 1, LinkContestRoom1_EventScript_1A555A
compare 0x4088, 2
@@ -463,7 +463,7 @@ LinkContestRoom1_EventScript_1A5455:: @ 81A5455
LinkContestRoom1_EventScript_1A54EB:: @ 81A54EB
setvar RESULT, 8
- special 340
+ special ScriptRandom
compare RESULT, 0
callif 1, LinkContestRoom1_EventScript_1A5760
compare RESULT, 1
@@ -725,7 +725,7 @@ LinkContestRoom1_EventScript_1A5880:: @ 81A5880
closebutton
release
disappear 13
- special 321
+ special sub_80C5164
switch 0x8006
case 0, LinkContestRoom1_EventScript_1A58BA
case 1, LinkContestRoom1_EventScript_1A58C7
@@ -857,7 +857,7 @@ LinkContestRoom1_EventScript_1A59F2:: @ 81A59F2
return
LinkContestRoom1_EventScript_1A59FC:: @ 81A59FC
- special 76
+ special sub_80C47C0
switch 0x8005
case 0, LinkContestRoom1_EventScript_1A5A31
case 1, LinkContestRoom1_EventScript_1A5A37
@@ -882,8 +882,8 @@ LinkContestRoom1_EventScript_1A5A43:: @ 81A5A43
return
LinkContestRoom1_EventScript_1A5A49:: @ 81A5A49
- special 79
- special 80
+ special sub_80C47F0
+ special sub_80C4858
addvar 0x8005, 1
buffernum 1, 0x8005
addvar 0x8005, -1
@@ -1006,7 +1006,7 @@ LinkContestRoom1_EventScript_1A5BAB:: @ 81A5BAB
setvar 0x4001, 0
call LinkContestRoom1_EventScript_1A5A90
pause 30
- special 134
+ special sub_80C4CF8
compare 0x8004, 1
jumpeq LinkContestRoom1_EventScript_1A5C46
return
@@ -1015,19 +1015,19 @@ LinkContestRoom1_EventScript_1A5BF6:: @ 81A5BF6
inccounter GAME_STAT_WON_CONTEST
msgbox LinkContestRoom1_Text_1A6DF1, 3
pause 90
- special 134
+ special sub_80C4CF8
compare 0x8004, 1
jumpeq LinkContestRoom1_EventScript_1A5C46
return
LinkContestRoom1_EventScript_1A5C12:: @ 81A5C12
- specialval RESULT, 88
+ specialval RESULT, sub_80C4440
compare RESULT, 1
jumpeq LinkContestRoom1_EventScript_1A5C23
return
LinkContestRoom1_EventScript_1A5C23:: @ 81A5C23
- special 76
+ special sub_80C47C0
compare 0x8005, 3
jumpeq LinkContestRoom1_EventScript_1A5C32
return
@@ -1052,7 +1052,7 @@ LinkContestRoom1_EventScript_1A5C46:: @ 81A5C46
LinkContestRoom1_EventScript_1A5C4C:: @ 81A5C4C
pause 60
call LinkContestRoom1_EventScript_1A5C6A
- special 134
+ special sub_80C4CF8
compare 0x8004, 1
jumpeq LinkContestRoom1_EventScript_1A5C64
closebutton
@@ -1063,8 +1063,8 @@ LinkContestRoom1_EventScript_1A5C64:: @ 81A5C64
return
LinkContestRoom1_EventScript_1A5C6A:: @ 81A5C6A
- special 77
- special 76
+ special sub_80C496C
+ special sub_80C47C0
comparevars 0x8004, 0x8005
jumpeq LinkContestRoom1_EventScript_1A5C7C
return
@@ -1110,7 +1110,7 @@ LinkContestRoom1_EventScript_1A5CD8:: @ 81A5CD8
return
LinkContestRoom1_EventScript_1A5CE5:: @ 81A5CE5
- special 76
+ special sub_80C47C0
compare 0x8005, 3
jumpeq LinkContestRoom1_EventScript_1A5CFC
msgbox LinkContestRoom1_Text_1A6DF1, 3
@@ -1120,7 +1120,7 @@ LinkContestRoom1_EventScript_1A5CFC:: @ 81A5CFC
compare 0x4088, 2
callif 1, LinkContestRoom1_EventScript_1A5C42
inccounter GAME_STAT_WON_CONTEST
- specialval RESULT, 88
+ specialval RESULT, sub_80C4440
compare RESULT, 0
jumpeq LinkContestRoom1_EventScript_1A5D5B
compare CONTEST_RANK, 3
@@ -1141,7 +1141,7 @@ LinkContestRoom1_EventScript_1A5D3B:: @ 81A5D3B
return
LinkContestRoom1_EventScript_1A5D5B:: @ 81A5D5B
- special 89
+ special sub_80C44C0
inccounter GAME_STAT_RECEIVED_RIBBONS
setflag 2107
lockall
@@ -1149,7 +1149,7 @@ LinkContestRoom1_EventScript_1A5D5B:: @ 81A5D5B
fanfare 370
msgbox LinkContestRoom1_Text_1A6D96, 4
waitfanfare
- special 80
+ special sub_80C4858
msgbox LinkContestRoom1_Text_1A6DAC, 4
releaseall
return
diff --git a/data/scripts/day_care.inc b/data/scripts/day_care.inc
index 1e248ba9f..b5b3d4670 100644
--- a/data/scripts/day_care.inc
+++ b/data/scripts/day_care.inc
@@ -1,8 +1,8 @@
Route117_EventScript_1B222D:: @ 81B222D
lock
faceplayer
- special 181
- specialval RESULT, 182
+ special sp0B5_daycare
+ specialval RESULT, sp0B6_daycare
compare RESULT, 1
jumpeq Route117_EventScript_1B2262
compare RESULT, 2
@@ -22,12 +22,12 @@ Route117_EventScript_1B2262:: @ 81B2262
jumpeq Route117_EventScript_1B2298
msgbox Route117_Text_1B2745, 4
clearflag 134
- special 183
+ special sub_8041E7C
release
end
Route117_EventScript_1B2298:: @ 81B2298
- specialval RESULT, 131
+ specialval RESULT, CalculatePlayerPartyCount
compare RESULT, 6
jumpif 5, Route117_EventScript_1B22B2
msgbox Route117_Text_1B2766, 4
@@ -41,13 +41,13 @@ Route117_EventScript_1B22B2:: @ 81B22B2
waittext
waitbutton
msgbox Route117_Text_1B27CD, 4
- special 184
+ special sp0B8_daycare
clearflag 134
release
end
Route117_EventScript_1B22CD:: @ 81B22CD
- specialval RESULT, 195
+ specialval RESULT, sub_8042B4C
compare RESULT, 1
callif 1, Route117_EventScript_1B22DE
return
@@ -57,7 +57,7 @@ Route117_EventScript_1B22DE:: @ 81B22DE
return
Route117_EventScript_1B22E7:: @ 81B22E7
- special 181
+ special sp0B5_daycare
msgbox Route117_Text_1B2710, 4
setvar 0x8004, 0
call Route117_EventScript_1B22CD
@@ -65,10 +65,10 @@ Route117_EventScript_1B22E7:: @ 81B22E7
end
Route117_EventScript_1B22FE:: @ 81B22FE
- special 181
+ special sp0B5_daycare
msgbox Route117_Text_1B2897, 4
- special 185
- special 141
+ special sp0B9_daycare_relationship_comment
+ special ShowFieldMessageStringVar4
waittext
waitbutton
setvar 0x8004, 0
@@ -81,7 +81,7 @@ Route117_EventScript_1B22FE:: @ 81B22FE
Route117_PokemonDayCare_EventScript_1B2327:: @ 81B2327
lock
faceplayer
- specialval RESULT, 182
+ specialval RESULT, sp0B6_daycare
compare RESULT, 1
jumpeq Route117_PokemonDayCare_EventScript_1B2407
compare RESULT, 2
@@ -96,26 +96,26 @@ Route117_PokemonDayCare_EventScript_1B2327:: @ 81B2327
end
Route117_PokemonDayCare_EventScript_1B236C:: @ 81B236C
- specialval RESULT, 132
+ specialval RESULT, sub_8095B6C
compare RESULT, 1
jumpeq Route117_PokemonDayCare_EventScript_1B23F3
msgbox Route117_PokemonDayCare_Text_1B2947, 4
fadescreen 1
- special 188
+ special ChooseSendDaycareMon
waitstate
compare 0x8004, 255
jumpeq Route117_PokemonDayCare_EventScript_1B23D0
- specialval RESULT, 133
+ specialval RESULT, sub_8095C10
compare RESULT, 0
jumpeq Route117_PokemonDayCare_EventScript_1B23FD
- specialval 0x8005, 186
+ specialval 0x8005, sub_8042328
checksound
pokecry 0x8005, 0
msgbox Route117_PokemonDayCare_Text_1B296E, 4
waitpokecry
- special 187
+ special Daycare_SendPokemon_Special
inccounter GAME_STAT_USED_DAYCARE
- specialval RESULT, 182
+ specialval RESULT, sp0B6_daycare
compare RESULT, 2
jumpeq Route117_PokemonDayCare_EventScript_1B23DA
release
@@ -153,7 +153,7 @@ Route117_PokemonDayCare_EventScript_1B2411:: @ 81B2411
return
Route117_PokemonDayCare_EventScript_1B241A:: @ 81B241A
- specialval RESULT, 190
+ specialval RESULT, sub_80417B8
compare RESULT, 0
callif 5, Route117_PokemonDayCare_EventScript_1B2411
return
@@ -172,14 +172,14 @@ Route117_PokemonDayCare_EventScript_1B242B:: @ 81B242B
end
Route117_PokemonDayCare_EventScript_1B2469:: @ 81B2469
- specialval RESULT, 131
+ specialval RESULT, CalculatePlayerPartyCount
compare RESULT, 6
jumpeq Route117_PokemonDayCare_EventScript_1B2539
- specialval RESULT, 182
+ specialval RESULT, sp0B6_daycare
setvar 0x8004, 0
compare RESULT, 2
jumpeq Route117_PokemonDayCare_EventScript_1B24A8
- special 189
+ special ShowDaycareLevelMenu
waitstate
copyvar 0x8004, RESULT
compare RESULT, 2
@@ -188,7 +188,7 @@ Route117_PokemonDayCare_EventScript_1B2469:: @ 81B2469
end
Route117_PokemonDayCare_EventScript_1B24A8:: @ 81B24A8
- special 191
+ special sub_8041770
msgbox Route117_PokemonDayCare_Text_1B2B49, 5
compare RESULT, 1
jumpeq Route117_PokemonDayCare_EventScript_1B24C4
@@ -196,7 +196,7 @@ Route117_PokemonDayCare_EventScript_1B24A8:: @ 81B24A8
end
Route117_PokemonDayCare_EventScript_1B24C4:: @ 81B24C4
- specialval RESULT, 197
+ specialval RESULT, sub_80B7CE8
compare RESULT, 1
jumpeq Route117_PokemonDayCare_EventScript_1B24DE
msgbox Route117_PokemonDayCare_Text_1B2A30, 4
@@ -206,15 +206,15 @@ Route117_PokemonDayCare_EventScript_1B24C4:: @ 81B24C4
Route117_PokemonDayCare_EventScript_1B24DE:: @ 81B24DE
move 1, Route117_PokemonDayCare_Movement_1B2543
waitmove 0
- specialval RESULT, 192
- special 198
+ specialval RESULT, sub_8041648
+ special sub_80B7D0C
playsfx 95
msgbox Route117_PokemonDayCare_Text_1B2B75, 4
checksound
pokecry RESULT, 0
msgbox Route117_PokemonDayCare_Text_1B2B93, 4
waitpokecry
- specialval RESULT, 182
+ specialval RESULT, sp0B6_daycare
compare RESULT, 2
jumpeq Route117_PokemonDayCare_EventScript_1B2520
jump Route117_PokemonDayCare_EventScript_1B23D0
@@ -271,12 +271,12 @@ Route117_PokemonDayCare_EventScript_1B2558:: @ 81B2558
end
@ 81B2591
- special 189
+ special ShowDaycareLevelMenu
waitstate
compare RESULT, 2
jumpeq Route117_PokemonDayCare_EventScript_1B23D0
copyvar 0x8004, RESULT
- specialval RESULT, 192
+ specialval RESULT, sub_8041648
msgbox Route117_PokemonDayCare_Text_1B2B75, 4
msgbox Route117_PokemonDayCare_Text_1B2A76, 4
release
@@ -285,7 +285,7 @@ Route117_PokemonDayCare_EventScript_1B2558:: @ 81B2558
Event_EggHatch:: @ 81B25BC
lockall
msgbox UnknownString_81B2C68, 4
- special 194
+ special EggHatch
waitstate
releaseall
end
diff --git a/data/scripts/gabby_and_ty.inc b/data/scripts/gabby_and_ty.inc
index f008e892b..67a0920fa 100644
--- a/data/scripts/gabby_and_ty.inc
+++ b/data/scripts/gabby_and_ty.inc
@@ -2,7 +2,7 @@ Route111_EventScript_1AE313:: @ 81AE313
Route118_EventScript_1AE313:: @ 81AE313
Route120_EventScript_1AE313:: @ 81AE313
settrainerflag OPPONENT_GABBY_AND_TY_6
- specialval RESULT, 172
+ specialval RESULT, GabbyAndTyGetBattleNum
switch RESULT
case 0, Route111_EventScript_1AE384
case 1, Route111_EventScript_1AE38A
@@ -200,8 +200,8 @@ Route120_EventScript_1AE582:: @ 81AE582
end
Route111_EventScript_1AE5A2:: @ 81AE5A2
- special 174
- special 179
+ special GabbyAndTyBeforeInterview
+ special GabbyAndTySetScriptVarsToFieldObjectLocalIds
compare FACING, 2
callif 1, Route111_EventScript_1AE5E0
compare FACING, 1
@@ -234,8 +234,8 @@ Route111_EventScript_1AE5FD:: @ 81AE5FD
Route111_EventScript_1AE60F:: @ 81AE60F
Route118_EventScript_1AE60F:: @ 81AE60F
Route120_EventScript_1AE60F:: @ 81AE60F
- special 174
- special 179
+ special GabbyAndTyBeforeInterview
+ special GabbyAndTySetScriptVarsToFieldObjectLocalIds
compare FACING, 2
callif 1, Route111_EventScript_1AE5E0
compare FACING, 1
@@ -244,11 +244,11 @@ Route120_EventScript_1AE60F:: @ 81AE60F
callif 1, Route111_EventScript_1AE5FD
checkflag 1
jumpeq Route111_EventScript_1AE73A
- specialval RESULT, 177
+ specialval RESULT, GabbyAndTyGetLastQuote
compare RESULT, 0
jumpeq Route111_EventScript_1AE69F
msgbox Route111_Text_1AC10A, 4
- specialval RESULT, 178
+ specialval RESULT, sub_80BDD18
switch RESULT
case 0, Route111_EventScript_1AE6AD
case 1, Route111_EventScript_1AE6BB
@@ -310,7 +310,7 @@ Route111_EventScript_1AE6F3:: @ 81AE6F3
compare RESULT, 0
jumpeq Route111_EventScript_1AE72D
msgbox Route111_Text_1AC487, 4
- special 173
+ special sub_80BDC14
setflag 1
release
end
diff --git a/data/scripts/giddy.inc b/data/scripts/giddy.inc
index 3cd57ad6e..263589fe9 100644
--- a/data/scripts/giddy.inc
+++ b/data/scripts/giddy.inc
@@ -9,7 +9,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_1B09EB:: @ 81B09EB
end
MauvilleCity_PokemonCenter_1F_EventScript_1B0A0C:: @ 81B0A0C
- special 106
+ special sub_80F7CC8
compare RESULT, 1
jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1B0A4E
compare RESULT, 0
@@ -17,7 +17,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_1B0A0C:: @ 81B0A0C
end
MauvilleCity_PokemonCenter_1F_EventScript_1B0A26:: @ 81B0A26
- special 106
+ special sub_80F7CC8
compare RESULT, 1
jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1B0A40
compare RESULT, 0
@@ -30,8 +30,8 @@ MauvilleCity_PokemonCenter_1F_EventScript_1B0A40:: @ 81B0A40
end
MauvilleCity_PokemonCenter_1F_EventScript_1B0A4E:: @ 81B0A4E
- special 105
- special 141
+ special sub_80F7CF4
+ special ShowFieldMessageStringVar4
waittext
yesnobox 20, 8
compare RESULT, 1
diff --git a/data/scripts/hipster.inc b/data/scripts/hipster.inc
index 833bb1605..3e24e4868 100644
--- a/data/scripts/hipster.inc
+++ b/data/scripts/hipster.inc
@@ -3,7 +3,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_1AE845:: @ 81AE845
faceplayer
setflag 2054
msgbox MauvilleCity_PokemonCenter_1F_Text_1B0C5B, 4
- special 100
+ special sub_80F7C70
compare RESULT, 0
jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1AE86A
msgbox MauvilleCity_PokemonCenter_1F_Text_1B0CA7, 4
@@ -11,7 +11,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_1AE845:: @ 81AE845
end
MauvilleCity_PokemonCenter_1F_EventScript_1AE86A:: @ 81AE86A
- special 102
+ special sub_80F7C90
compare RESULT, 1
jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1AE882
msgbox MauvilleCity_PokemonCenter_1F_Text_1B0D11, 4
@@ -20,6 +20,6 @@ MauvilleCity_PokemonCenter_1F_EventScript_1AE86A:: @ 81AE86A
MauvilleCity_PokemonCenter_1F_EventScript_1AE882:: @ 81AE882
msgbox MauvilleCity_PokemonCenter_1F_Text_1B0D75, 4
- special 101
+ special sub_80F7C84
release
end
diff --git a/data/scripts/maps/AbandonedShip_Corridors_B1F.inc b/data/scripts/maps/AbandonedShip_Corridors_B1F.inc
index e6b6a8f3d..b0ae966ad 100644
--- a/data/scripts/maps/AbandonedShip_Corridors_B1F.inc
+++ b/data/scripts/maps/AbandonedShip_Corridors_B1F.inc
@@ -38,7 +38,7 @@ AbandonedShip_Corridors_B1F_EventScript_15E9D3:: @ 815E9D3
removeitem ITEM_STORAGE_KEY, 1
setflag 239
call AbandonedShip_Corridors_B1F_EventScript_15E9C0
- special 142
+ special DrawWholeMapView
releaseall
end
diff --git a/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc b/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc
index 4b634106a..8cb2aed22 100644
--- a/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc
+++ b/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc
@@ -70,7 +70,7 @@ AbandonedShip_HiddenFloorCorridors_EventScript_15EBF3:: @ 815EBF3
removeitem ITEM_ROOM_1_KEY, 1
setflag 240
call AbandonedShip_HiddenFloorCorridors_EventScript_15EBA3
- special 142
+ special DrawWholeMapView
releaseall
end
@@ -86,7 +86,7 @@ AbandonedShip_HiddenFloorCorridors_EventScript_15EC2A:: @ 815EC2A
removeitem ITEM_ROOM_2_KEY, 1
setflag 241
call AbandonedShip_HiddenFloorCorridors_EventScript_15EBAD
- special 142
+ special DrawWholeMapView
releaseall
end
@@ -102,7 +102,7 @@ AbandonedShip_HiddenFloorCorridors_EventScript_15EC61:: @ 815EC61
removeitem ITEM_ROOM_4_KEY, 1
setflag 242
call AbandonedShip_HiddenFloorCorridors_EventScript_15EBB7
- special 142
+ special DrawWholeMapView
releaseall
end
@@ -118,7 +118,7 @@ AbandonedShip_HiddenFloorCorridors_EventScript_15EC98:: @ 815EC98
removeitem ITEM_ROOM_6_KEY, 1
setflag 243
call AbandonedShip_HiddenFloorCorridors_EventScript_15EBC1
- special 142
+ special DrawWholeMapView
releaseall
end
diff --git a/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc b/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc
index 5e90673fe..5c4c050a0 100644
--- a/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc
+++ b/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc
@@ -43,7 +43,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_15ED9B:: @ 815ED9B
setanimation 1, 10
setanimation 2, 0
doanimation 54
- specialval RESULT, 290
+ specialval RESULT, sub_810F4D4
compare RESULT, 0
callif 1, AbandonedShip_HiddenFloorRooms_EventScript_15EE8B
checkanimation 54
@@ -54,7 +54,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_15EDC4:: @ 815EDC4
end
AbandonedShip_HiddenFloorRooms_EventScript_15EDC5:: @ 815EDC5
- specialval RESULT, 288
+ specialval RESULT, sub_810F488
compare RESULT, 1
jumpeq AbandonedShip_HiddenFloorRooms_EventScript_15EDEA
pause 20
@@ -77,7 +77,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_15EDEB:: @ 815EDEB
setanimation 1, 3
setanimation 2, 0
doanimation 54
- specialval RESULT, 291
+ specialval RESULT, sub_810F4FC
compare RESULT, 0
callif 1, AbandonedShip_HiddenFloorRooms_EventScript_15EE9B
checkanimation 54
@@ -98,7 +98,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_15EE23:: @ 815EE23
setanimation 1, 6
setanimation 2, 0
doanimation 54
- specialval RESULT, 289
+ specialval RESULT, sub_810F4B0
compare RESULT, 0
callif 1, AbandonedShip_HiddenFloorRooms_EventScript_15EE7B
checkanimation 54
diff --git a/data/scripts/maps/AbandonedShip_Rooms2_1F.inc b/data/scripts/maps/AbandonedShip_Rooms2_1F.inc
index b2525d62e..a6ccdc43c 100644
--- a/data/scripts/maps/AbandonedShip_Rooms2_1F.inc
+++ b/data/scripts/maps/AbandonedShip_Rooms2_1F.inc
@@ -3,7 +3,7 @@ AbandonedShip_Rooms2_1F_MapScripts:: @ 815EA67
AbandonedShip_Rooms2_1F_EventScript_15EA68:: @ 815EA68
trainerbattle 4, OPPONENT_LOIS_AND_HAL_1, 0, AbandonedShip_Rooms2_1F_Text_1987C1, AbandonedShip_Rooms2_1F_Text_1987FE, AbandonedShip_Rooms2_1F_Text_19887F
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq AbandonedShip_Rooms2_1F_EventScript_15EA93
msgbox AbandonedShip_Rooms2_1F_Text_198835, 6
@@ -16,7 +16,7 @@ AbandonedShip_Rooms2_1F_EventScript_15EA93:: @ 815EA93
AbandonedShip_Rooms2_1F_EventScript_15EAAE:: @ 815EAAE
trainerbattle 4, OPPONENT_LOIS_AND_HAL_1, 0, AbandonedShip_Rooms2_1F_Text_1988CC, AbandonedShip_Rooms2_1F_Text_198916, AbandonedShip_Rooms2_1F_Text_19899A
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq AbandonedShip_Rooms2_1F_EventScript_15EAD9
msgbox AbandonedShip_Rooms2_1F_Text_198934, 6
diff --git a/data/scripts/maps/AncientTomb.inc b/data/scripts/maps/AncientTomb.inc
index f8eba6a9d..7ba7540c4 100644
--- a/data/scripts/maps/AncientTomb.inc
+++ b/data/scripts/maps/AncientTomb.inc
@@ -64,7 +64,7 @@ AncientTomb_EventScript_15F050:: @ 815F050
setwildbattle SPECIES_REGISTEEL, 40, ITEM_NONE
setflag 937
setflag 2145
- special 313
+ special StartBattle_Regi
waitstate
clearflag 2145
release
diff --git a/data/scripts/maps/BattleTower_BattleRoom.inc b/data/scripts/maps/BattleTower_BattleRoom.inc
index d991b8853..176d8e8e8 100644
--- a/data/scripts/maps/BattleTower_BattleRoom.inc
+++ b/data/scripts/maps/BattleTower_BattleRoom.inc
@@ -12,35 +12,35 @@ BattleTower_BattleRoom_EventScript_1608EB:: @ 81608EB
waitmove 0
BattleTower_BattleRoom_EventScript_1608FA:: @ 81608FA
- special 232
+ special sub_81347F8
reappear 1
move 1, BattleTower_BattleRoom_Movement_160AC0
waitmove 0
- special 234
+ special sub_8135474
msgbox 0x20234cc, 4
waittext
closebutton
- special 0
+ special HealPlayerParty
setvar 0x8004, 0
setvar 0x8005, 0
- special 236
+ special sub_813556C
waitstate
switch RESULT
case 1, BattleTower_BattleRoom_EventScript_160961
- special 40
+ special LoadPlayerParty
setvar 0x8004, 0
setvar 0x8005, 5
- special 237
+ special sub_8135668
setvar 0x8004, 14
- special 237
+ special sub_8135668
setvar 0x8004, 3
- special 170
+ special sub_810FF60
warp BattleTower_Lobby, 255, 6, 6
waitstate
BattleTower_BattleRoom_EventScript_160961:: @ 8160961
setvar 0x8004, 6
- special 237
+ special sub_8135668
switch RESULT
case 8, BattleTower_BattleRoom_EventScript_160A56
move 1, BattleTower_BattleRoom_Movement_160AC6
@@ -51,12 +51,12 @@ BattleTower_BattleRoom_EventScript_160961:: @ 8160961
move 255, BattleTower_BattleRoom_Movement_160ABC
waitmove 0
msgbox BattleTower_BattleRoom_Text_19ACDC, 4
- special 40
- special 39
- special 239
+ special LoadPlayerParty
+ special SavePlayerParty
+ special sub_8135A14
fanfare 368
waitfanfare
- special 0
+ special HealPlayerParty
BattleTower_BattleRoom_EventScript_1609B2:: @ 81609B2
msgbox BattleTower_BattleRoom_Text_19AD09, 5
@@ -88,25 +88,25 @@ BattleTower_BattleRoom_EventScript_160A3C:: @ 8160A3C
jump BattleTower_BattleRoom_EventScript_1608FA
BattleTower_BattleRoom_EventScript_160A56:: @ 8160A56
- special 40
+ special LoadPlayerParty
setvar 0x8004, 0
setvar 0x8005, 4
- special 237
+ special sub_8135668
setvar 0x8004, 2
setvar 0x8005, 1
- special 237
+ special sub_8135668
setvar 0x8004, 7
- special 237
+ special sub_8135668
setvar 0x8004, 14
- special 237
+ special sub_8135668
setvar 0x8004, 3
- special 170
+ special sub_810FF60
warp BattleTower_Lobby, 255, 6, 6
waitstate
BattleTower_BattleRoom_EventScript_160A94:: @ 8160A94
setvar 0x8004, 2
- special 240
+ special sub_8135BA0
message BattleTower_BattleRoom_Text_1C6CE1
pause 60
waittext
@@ -116,7 +116,7 @@ BattleTower_BattleRoom_EventScript_160A94:: @ 8160A94
BattleTower_BattleRoom_EventScript_160AB1:: @ 8160AB1
fadescreen 1
- special 241
+ special sub_8135C38
end
BattleTower_BattleRoom_Movement_160AB7:: @ 8160AB7
diff --git a/data/scripts/maps/BattleTower_Elevator.inc b/data/scripts/maps/BattleTower_Elevator.inc
index 7a79cc4e9..408e7485e 100644
--- a/data/scripts/maps/BattleTower_Elevator.inc
+++ b/data/scripts/maps/BattleTower_Elevator.inc
@@ -12,7 +12,7 @@ BattleTower_Elevator_EventScript_1607E4:: @ 81607E4
move 1, BattleTower_Elevator_Movement_160835
move 255, BattleTower_Elevator_Movement_160839
waitmove 0
- special 273
+ special sub_810EBEC
waitstate
pause 64
move 1, BattleTower_Elevator_Movement_16083D
diff --git a/data/scripts/maps/BattleTower_Lobby.inc b/data/scripts/maps/BattleTower_Lobby.inc
index cee3d7cec..8cd3639a5 100644
--- a/data/scripts/maps/BattleTower_Lobby.inc
+++ b/data/scripts/maps/BattleTower_Lobby.inc
@@ -6,30 +6,30 @@ BattleTower_Lobby_MapScripts:: @ 816027E
.byte 0
BattleTower_Lobby_MapScript1_160293:: @ 8160293
- special 338
+ special sub_813610C
call BattleTower_Lobby_EventScript_16029C
end
BattleTower_Lobby_EventScript_16029C:: @ 816029C
setvar 0x8004, 10
- special 237
+ special sub_8135668
checkflag 238
jumpeq BattleTower_Lobby_EventScript_1602E4
checkflag 237
jumpeq BattleTower_Lobby_EventScript_1602CD
- specialval 0x8007, 247
+ specialval 0x8007, sub_810F404
compare 0x8007, 50
jumpif 0, BattleTower_Lobby_EventScript_1602E4
clearflag 941
- special 329
+ special sub_810F8FC
return
BattleTower_Lobby_EventScript_1602CD:: @ 81602CD
- specialval 0x8007, 247
+ specialval 0x8007, sub_810F404
compare 0x8007, 100
jumpif 0, BattleTower_Lobby_EventScript_1602E4
clearflag 941
- special 329
+ special sub_810F8FC
return
BattleTower_Lobby_EventScript_1602E4:: @ 81602E4
@@ -58,7 +58,7 @@ BattleTower_Lobby_MapScript2_160302:: @ 8160302
.2byte 0
BattleTower_Lobby_EventScript_16032C:: @ 816032C
- special 231
+ special sub_8134548
end
BattleTower_Lobby_EventScript_160330:: @ 8160330
@@ -76,10 +76,10 @@ BattleTower_Lobby_EventScript_160342:: @ 8160342
message BattleTower_Lobby_Text_19A487
waittext
setvar 0x8004, 0
- special 238
+ special sub_81358A4
compare RESULT, 6
jumpeq BattleTower_Lobby_EventScript_16037D
- special 244
+ special sub_8135E50
compare RESULT, 0
jumpeq BattleTower_Lobby_EventScript_16037D
message BattleTower_Lobby_Text_19A6BE
@@ -90,26 +90,26 @@ BattleTower_Lobby_EventScript_160342:: @ 8160342
BattleTower_Lobby_EventScript_16037D:: @ 816037D
setvar 0x8004, 8
- special 238
+ special sub_81358A4
compare RESULT, 1
jumpeq BattleTower_Lobby_EventScript_1603AD
message BattleTower_Lobby_Text_19A589
waittext
setvar 0x8004, 13
- special 237
- special 242
+ special sub_8135668
+ special sub_8135D84
setvar 0x8004, 3
- special 240
+ special sub_8135BA0
playsfx 55
checksound
BattleTower_Lobby_EventScript_1603AD:: @ 81603AD
setvar 0x8004, 0
setvar 0x8005, 3
- special 237
+ special sub_8135668
message BattleTower_Lobby_Text_19A4BB
waittext
- special 243
+ special sub_8135DEC
switch RESULT
case 0, BattleTower_Lobby_EventScript_160408
message BattleTower_Lobby_Text_19A506
@@ -117,7 +117,7 @@ BattleTower_Lobby_EventScript_1603AD:: @ 81603AD
fanfare 370
waitfanfare
setvar 0x8004, 9
- special 238
+ special sub_81358A4
compare RESULT, 49
jumpif 5, BattleTower_Lobby_EventScript_1603F8
msgbox BattleTower_Lobby_Text_19A617, 4
@@ -145,9 +145,9 @@ BattleTower_Lobby_EventScript_160419:: @ 8160419
message BattleTower_Lobby_Text_19A589
waittext
setvar 0x8004, 13
- special 237
+ special sub_8135668
setvar 0x8004, 0
- special 240
+ special sub_8135BA0
playsfx 55
checksound
msgbox BattleTower_Lobby_Text_199FA9, 4
@@ -165,15 +165,15 @@ BattleTower_Lobby_EventScript_16044B:: @ 816044B
message BattleTower_Lobby_Text_19A5CE
waittext
setvar 0x8004, 1
- special 240
+ special sub_8135BA0
playsfx 55
checksound
setvar 0x8004, 8
setvar 0x8005, 0
- special 237
+ special sub_8135668
setvar 0x4000, 5
- special 39
- special 239
+ special SavePlayerParty
+ special sub_8135A14
msgbox BattleTower_Lobby_Text_19A0A8, 4
closebutton
call BattleTower_Lobby_EventScript_160664
@@ -185,10 +185,10 @@ BattleTower_Lobby_EventScript_16049E:: @ 816049E
lock
faceplayer
setvar 0x8004, 0
- special 238
+ special sub_81358A4
compare RESULT, 6
jumpeq BattleTower_Lobby_EventScript_160342
- special 39
+ special SavePlayerParty
msgbox BattleTower_Lobby_Text_199F2C, 4
BattleTower_Lobby_EventScript_1604BE:: @ 81604BE
@@ -208,16 +208,16 @@ BattleTower_Lobby_EventScript_1604FA:: @ 81604FA
switch RESULT
case 2, BattleTower_Lobby_EventScript_160652
case 127, BattleTower_Lobby_EventScript_160652
- special 233
+ special CheckPartyBattleTowerBanlist
compare 0x8004, 1
jumpeq BattleTower_Lobby_EventScript_16060D
setvar 0x8004, 1
copyvar 0x8005, RESULT
copyvar 0x8006, RESULT
- special 237
+ special sub_8135668
msgbox BattleTower_Lobby_Text_19A07B, 4
fadescreen 1
- special 245
+ special ChooseBattleTowerPlayerParty
waitstate
compare RESULT, 0
jumpeq BattleTower_Lobby_EventScript_16064F
@@ -229,17 +229,17 @@ BattleTower_Lobby_EventScript_1604FA:: @ 81604FA
BattleTower_Lobby_EventScript_160587:: @ 8160587
setvar 0x8004, 5
- special 237
+ special sub_8135668
setvar 0x4000, 0
setvar 0x8004, 11
- special 237
+ special sub_8135668
setvar 0x8004, 0
setvar 0x8005, 1
- special 237
+ special sub_8135668
setvar 0x8004, 8
setvar 0x8005, 0
- special 237
- special 40
+ special sub_8135668
+ special LoadPlayerParty
closebutton
pause 2
call BattleTower_Lobby_EventScript_19F806
@@ -248,8 +248,8 @@ BattleTower_Lobby_EventScript_160587:: @ 8160587
compare RESULT, 0
jumpeq BattleTower_Lobby_EventScript_160642
inccounter GAME_STAT_ENTERED_BATTLE_TOWER
- special 39
- special 239
+ special SavePlayerParty
+ special sub_8135A14
setvar 0x40bc, 1
msgbox BattleTower_Lobby_Text_19A0A8, 4
closebutton
@@ -277,16 +277,16 @@ BattleTower_Lobby_EventScript_160635:: @ 8160635
BattleTower_Lobby_EventScript_160642:: @ 8160642
setvar 0x8004, 12
- special 237
+ special sub_8135668
jump BattleTower_Lobby_EventScript_160652
BattleTower_Lobby_EventScript_16064F:: @ 816064F
- special 40
+ special LoadPlayerParty
BattleTower_Lobby_EventScript_160652:: @ 8160652
msgbox BattleTower_Lobby_Text_199FA9, 4
setvar 0x8004, 11
- special 237
+ special sub_8135668
BattleTower_Lobby_EventScript_160662:: @ 8160662
release
@@ -378,7 +378,7 @@ BattleTower_Lobby_EventScript_16071E:: @ 816071E
BattleTower_Lobby_EventScript_160727:: @ 8160727
lockall
- special 283
+ special ShowBattleTowerRecords
waitbutton
hidebox 0, 0, 29, 19
releaseall
@@ -402,7 +402,7 @@ BattleTower_Lobby_EventScript_160733:: @ 8160733
end
BattleTower_Lobby_EventScript_160773:: @ 8160773
- specialval RESULT, 247
+ specialval RESULT, sub_810F404
compare RESULT, 100
jumpif 0, BattleTower_Lobby_EventScript_1607C5
msgbox BattleTower_Lobby_Text_19AAC4, 4
diff --git a/data/scripts/maps/CaveOfOrigin_B4F.inc b/data/scripts/maps/CaveOfOrigin_B4F.inc
index e9f23ff5a..023892d36 100644
--- a/data/scripts/maps/CaveOfOrigin_B4F.inc
+++ b/data/scripts/maps/CaveOfOrigin_B4F.inc
@@ -35,7 +35,7 @@ CaveOfOrigin_B4F_EventScript_15DDD7:: @ 815DDD7
closebutton
setweather 0
doweather
- special 284
+ special WaitWeather
waitstate
playsfx 209
setanimation 0, 9
@@ -49,9 +49,9 @@ CaveOfOrigin_B4F_EventScript_15DDD7:: @ 815DDD7
setvar RESULT, 2
.endif
playsfx 107
- special 281
+ special sub_80818A4
waitstate
- special 282
+ special sub_80818FC
waitstate
move 1, CaveOfOrigin_B4F_Movement_15DE7D
waitmove 0
@@ -62,10 +62,10 @@ CaveOfOrigin_B4F_EventScript_15DDD7:: @ 815DDD7
pause 40
waitpokecry
setflag 2145
- special 311
+ special StartBattle_GroudonKyogre
waitstate
clearflag 2145
- specialval RESULT, 180
+ specialval RESULT, sub_810E300
compare RESULT, 1
callif 1, CaveOfOrigin_B4F_EventScript_15DE73
setflag 816
diff --git a/data/scripts/maps/DesertRuins.inc b/data/scripts/maps/DesertRuins.inc
index d5787d792..df40fc126 100644
--- a/data/scripts/maps/DesertRuins.inc
+++ b/data/scripts/maps/DesertRuins.inc
@@ -64,7 +64,7 @@ DesertRuins_EventScript_15CB85:: @ 815CB85
setwildbattle SPECIES_REGIROCK, 40, ITEM_NONE
setflag 935
setflag 2145
- special 313
+ special StartBattle_Regi
waitstate
clearflag 2145
release
diff --git a/data/scripts/maps/DewfordTown_Hall.inc b/data/scripts/maps/DewfordTown_Hall.inc
index 0b25e0aba..28d396a3e 100644
--- a/data/scripts/maps/DewfordTown_Hall.inc
+++ b/data/scripts/maps/DewfordTown_Hall.inc
@@ -5,7 +5,7 @@ DewfordTown_Hall_EventScript_153293:: @ 8153293
lock
faceplayer
call DewfordTown_Hall_EventScript_1A0102
- special 127
+ special sub_80FA5E4
compare RESULT, 1
jumpeq DewfordTown_Hall_EventScript_1532B2
msgbox DewfordTown_Hall_Text_1754C9, 4
@@ -29,7 +29,7 @@ DewfordTown_Hall_EventScript_1532CD:: @ 81532CD
lock
faceplayer
call DewfordTown_Hall_EventScript_1A0102
- special 128
+ special sub_80EB83C
msgbox DewfordTown_Hall_Text_1755F9, 5
compare RESULT, 1
jumpeq DewfordTown_Hall_EventScript_1532F6
@@ -87,7 +87,7 @@ DewfordTown_Hall_EventScript_153353:: @ 8153353
DewfordTown_Hall_EventScript_153363:: @ 8153363
lockall
call DewfordTown_Hall_EventScript_1A0102
- special 129
+ special sub_80FA648
switch RESULT
case 0, DewfordTown_Hall_EventScript_1533CA
case 4, DewfordTown_Hall_EventScript_1533CA
@@ -133,7 +133,7 @@ DewfordTown_Hall_EventScript_1533FE:: @ 81533FE
DewfordTown_Hall_EventScript_15340A:: @ 815340A
call DewfordTown_Hall_EventScript_1A0102
- special 129
+ special sub_80FA648
switch RESULT
case 0, DewfordTown_Hall_EventScript_153470
case 1, DewfordTown_Hall_EventScript_153470
diff --git a/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc b/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc
index 0e5dc21b0..bddcfa74b 100644
--- a/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc
+++ b/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc
@@ -48,7 +48,7 @@ EverGrandeCity_ChampionsRoom_EventScript_15B821:: @ 815B821
playsfx 8
setmaptile 6, 1, 838, 0
setmaptile 6, 2, 839, 0
- special 142
+ special DrawWholeMapView
msgbox EverGrandeCity_ChampionsRoom_Text_1910FE, 4
closebutton
playsfx 8
diff --git a/data/scripts/maps/EverGrandeCity_DrakesRoom.inc b/data/scripts/maps/EverGrandeCity_DrakesRoom.inc
index c16bd544f..d10957a8e 100644
--- a/data/scripts/maps/EverGrandeCity_DrakesRoom.inc
+++ b/data/scripts/maps/EverGrandeCity_DrakesRoom.inc
@@ -56,7 +56,7 @@ EverGrandeCity_DrakesRoom_EventScript_15B78B:: @ 815B78B
EverGrandeCity_DrakesRoom_EventScript_15B795:: @ 815B795
setvar 0x8004, 0
- special 170
+ special sub_810FF60
setflag 1248
call EverGrandeCity_DrakesRoom_EventScript_1A0693
msgbox EverGrandeCity_DrakesRoom_Text_190E5D, 4
diff --git a/data/scripts/maps/EverGrandeCity_HallOfFame.inc b/data/scripts/maps/EverGrandeCity_HallOfFame.inc
index 2e7099110..175990328 100644
--- a/data/scripts/maps/EverGrandeCity_HallOfFame.inc
+++ b/data/scripts/maps/EverGrandeCity_HallOfFame.inc
@@ -53,7 +53,7 @@ EverGrandeCity_HallOfFame_EventScript_15BBA8:: @ 815BBA8
EverGrandeCity_HallOfFame_EventScript_15BC41:: @ 815BC41
sethealplace 1
fadescreendelay 1, 24
- special 272
+ special GameClear
waitstate
releaseall
end
@@ -61,7 +61,7 @@ EverGrandeCity_HallOfFame_EventScript_15BC41:: @ 815BC41
EverGrandeCity_HallOfFame_EventScript_15BC4D:: @ 815BC4D
sethealplace 2
fadescreendelay 1, 24
- special 272
+ special GameClear
waitstate
releaseall
end
diff --git a/data/scripts/maps/FallarborTown_ContestLobby.inc b/data/scripts/maps/FallarborTown_ContestLobby.inc
index 706d9aa5f..ed67d922d 100644
--- a/data/scripts/maps/FallarborTown_ContestLobby.inc
+++ b/data/scripts/maps/FallarborTown_ContestLobby.inc
@@ -11,7 +11,7 @@ FallarborTown_ContestLobby_EventScript_1539CD:: @ 81539CD
setvar CONTEST_RANK, 1
call FallarborTown_ContestLobby_EventScript_1A4E92
call FallarborTown_ContestLobby_EventScript_1539F8
- special 83
+ special sub_80C4BF0
call FallarborTown_ContestLobby_EventScript_15FBDB
setvar 0x4088, 2
warp LinkContestRoom1, 255, 7, 5
@@ -25,13 +25,13 @@ FallarborTown_ContestLobby_EventScript_1539F8:: @ 81539F8
playsfx 71
setmaptile 4, 2, 545, 1
setmaptile 4, 3, 609, 1
- special 142
+ special DrawWholeMapView
move 1, FallarborTown_ContestLobby_Movement_153A7F
waitmove 0
playsfx 71
setmaptile 4, 2, 721, 1
setmaptile 4, 3, 729, 1
- special 142
+ special DrawWholeMapView
pause 20
move 1, FallarborTown_ContestLobby_Movement_153A8C
waitmove 0
@@ -114,7 +114,7 @@ FallarborTown_ContestLobby_EventScript_153ABB:: @ 8153ABB
FallarborTown_ContestLobby_EventScript_153AC2:: @ 8153AC2
lockall
- special 259
+ special ShowBerryBlenderRecordWindow
waitbutton
hidebox 0, 0, 29, 19
releaseall
diff --git a/data/scripts/maps/FallarborTown_House2.inc b/data/scripts/maps/FallarborTown_House2.inc
index 179f281af..1351b96d3 100644
--- a/data/scripts/maps/FallarborTown_House2.inc
+++ b/data/scripts/maps/FallarborTown_House2.inc
@@ -24,11 +24,11 @@ FallarborTown_House2_EventScript_153CB6:: @ 8153CB6
FallarborTown_House2_EventScript_153CE4:: @ 8153CE4
msgbox FallarborTown_House2_Text_177C3F, 4
- special 219
+ special sub_80F9A4C
waitstate
compare 0x8004, 255
jumpeq FallarborTown_House2_EventScript_153D60
- special 328
+ special sub_80FA148
compare RESULT, 1
jumpeq FallarborTown_House2_EventScript_153D52
compare 0x8005, 0
@@ -38,7 +38,7 @@ FallarborTown_House2_EventScript_153CE4:: @ 8153CE4
FallarborTown_House2_EventScript_153D1A:: @ 8153D1A
msgbox FallarborTown_House2_Text_177C5D, 4
- special 224
+ special sub_8132670
waitstate
compare 0x8004, 0
jumpeq FallarborTown_House2_EventScript_153CE4
diff --git a/data/scripts/maps/FortreeCity_Gym.inc b/data/scripts/maps/FortreeCity_Gym.inc
index 1bf6b0825..44f5890a2 100644
--- a/data/scripts/maps/FortreeCity_Gym.inc
+++ b/data/scripts/maps/FortreeCity_Gym.inc
@@ -4,7 +4,7 @@ FortreeCity_Gym_MapScripts:: @ 8157ED3
.byte 0
FortreeCity_Gym_MapScript1_157EDE:: @ 8157EDE
- special 201
+ special RotatingGate_InitPuzzle
end
FortreeCity_Gym_MapScript2_157EE2:: @ 8157EE2
@@ -12,7 +12,7 @@ FortreeCity_Gym_MapScript2_157EE2:: @ 8157EE2
.2byte 0
FortreeCity_Gym_EventScript_157EEC:: @ 8157EEC
- special 202
+ special RotatingGate_InitPuzzleAndGraphics
end
FortreeCity_Gym_EventScript_157EF0:: @ 8157EF0
diff --git a/data/scripts/maps/FortreeCity_House1.inc b/data/scripts/maps/FortreeCity_House1.inc
index 0ae6e3fbd..f5bda05ab 100644
--- a/data/scripts/maps/FortreeCity_House1.inc
+++ b/data/scripts/maps/FortreeCity_House1.inc
@@ -8,25 +8,25 @@ FortreeCity_House1_EventScript_157E13:: @ 8157E13
jumpeq FortreeCity_House1_EventScript_157EAD
setvar 0x8008, 1
copyvar 0x8004, 0x8008
- specialval RESULT, 252
+ specialval RESULT, sub_804D89C
copyvar 0x8009, RESULT
msgbox FortreeCity_House1_Text_18568C, 5
compare RESULT, 0
jumpeq FortreeCity_House1_EventScript_157E95
- special 159
+ special sub_80F9A0C
waitstate
copyvar 0x800a, 0x8004
compare 0x8004, 255
jumpeq FortreeCity_House1_EventScript_157E95
copyvar 0x8005, 0x800a
- specialval RESULT, 255
+ specialval RESULT, sub_804DB2C
copyvar 0x800b, RESULT
comparevars RESULT, 0x8009
jumpif 5, FortreeCity_House1_EventScript_157E9F
copyvar 0x8004, 0x8008
copyvar 0x8005, 0x800a
- special 253
- special 254
+ special sub_804DB68
+ special sub_804E174
waitstate
bufferpoke 0, 0x8009
msgbox FortreeCity_House1_Text_1856F7, 4
diff --git a/data/scripts/maps/IslandCave.inc b/data/scripts/maps/IslandCave.inc
index c5d932a91..b16f386d8 100644
--- a/data/scripts/maps/IslandCave.inc
+++ b/data/scripts/maps/IslandCave.inc
@@ -38,7 +38,7 @@ gIslandCave_EventScript_OpenRegiiceChamber:: @ 815EF19
setmaptile 7, 20, 562, 1
setmaptile 8, 20, 563, 0
setmaptile 9, 20, 564, 1
- special 142
+ special DrawWholeMapView
playsfx SE_BAN
setflag 2129
end
@@ -48,7 +48,7 @@ IslandCave_EventScript_15EF59:: @ 815EF59
checkflag 2129
jumpeq IslandCave_EventScript_15EF72
braillemsg IslandCave_Braille_1C54FC
- special 280
+ special DoBrailleWait
waitstate
jump IslandCave_EventScript_15EF95
end
@@ -63,7 +63,7 @@ IslandCave_EventScript_15EF7C:: @ 815EF7C
braillemsg IslandCave_Braille_1C54FC
checkflag 2129
jumpeq IslandCave_EventScript_15EF95
- special 280
+ special DoBrailleWait
waitstate
jump IslandCave_EventScript_15EF95
end
@@ -84,7 +84,7 @@ IslandCave_EventScript_15EF9D:: @ 815EF9D
setwildbattle SPECIES_REGICE, 40, ITEM_NONE
setflag 936
setflag 2145
- special 313
+ special StartBattle_Regi
waitstate
clearflag 2145
release
diff --git a/data/scripts/maps/JaggedPass.inc b/data/scripts/maps/JaggedPass.inc
index 3ae0882c5..151f1ec79 100644
--- a/data/scripts/maps/JaggedPass.inc
+++ b/data/scripts/maps/JaggedPass.inc
@@ -24,7 +24,7 @@ JaggedPass_EventScript_15D285:: @ 815D285
JaggedPass_EventScript_15D29C:: @ 815D29C
trainerbattle 0, OPPONENT_DIANA_1, 0, JaggedPass_Text_195E9E, JaggedPass_Text_195EDF
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq JaggedPass_EventScript_15D2C3
msgbox JaggedPass_Text_195F04, 6
@@ -37,7 +37,7 @@ JaggedPass_EventScript_15D2C3:: @ 815D2C3
JaggedPass_EventScript_15D2DA:: @ 815D2DA
trainerbattle 0, OPPONENT_ETHAN_1, 0, JaggedPass_Text_195FF2, JaggedPass_Text_196032
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq JaggedPass_EventScript_15D301
msgbox JaggedPass_Text_196077, 6
diff --git a/data/scripts/maps/LavaridgeTown.inc b/data/scripts/maps/LavaridgeTown.inc
index a71bd4854..685e44d58 100644
--- a/data/scripts/maps/LavaridgeTown.inc
+++ b/data/scripts/maps/LavaridgeTown.inc
@@ -236,7 +236,7 @@ LavaridgeTown_Movement_14E70E:: @ 814E70E
step_end
LavaridgeTown_EventScript_14E710:: @ 814E710
- specialval RESULT, 287
+ specialval RESULT, player_get_direction_lower_nybble
compare RESULT, 1
jumpeq LavaridgeTown_EventScript_14E721
end
diff --git a/data/scripts/maps/LilycoveCity.inc b/data/scripts/maps/LilycoveCity.inc
index ae36e33b5..b688107ce 100644
--- a/data/scripts/maps/LilycoveCity.inc
+++ b/data/scripts/maps/LilycoveCity.inc
@@ -172,7 +172,7 @@ LilycoveCity_EventScript_14CC79:: @ 814CC79
LilycoveCity_EventScript_14CC82:: @ 814CC82
lockall
- specialval 0x8004, 137
+ specialval 0x8004, sub_80C4D50
switch 0x8004
case 0, LilycoveCity_EventScript_14CCA2
msgbox LilycoveCity_Text_168EA4, 4
diff --git a/data/scripts/maps/LilycoveCity_ContestLobby.inc b/data/scripts/maps/LilycoveCity_ContestLobby.inc
index 419e04a8f..3c8cc5bdf 100644
--- a/data/scripts/maps/LilycoveCity_ContestLobby.inc
+++ b/data/scripts/maps/LilycoveCity_ContestLobby.inc
@@ -41,9 +41,9 @@ LilycoveCity_ContestLobby_EventScript_158898:: @ 8158898
LilycoveCity_ContestLobby_EventScript_1588DE:: @ 81588DE
msgbox LilycoveCity_ContestLobby_Text_188AE8, 4
closebutton
- special 135
+ special sub_80C4CEC
setvar 0x4099, 0
- specialval RESULT, 91
+ specialval RESULT, GiveMonArtistRibbon
compare RESULT, 1
callif 1, LilycoveCity_ContestLobby_EventScript_158948
move 4, LilycoveCity_ContestLobby_Movement_158A43
@@ -69,7 +69,7 @@ LilycoveCity_ContestLobby_EventScript_158918:: @ 8158918
LilycoveCity_ContestLobby_EventScript_158948:: @ 8158948
inccounter GAME_STAT_RECEIVED_RIBBONS
- special 80
+ special sub_80C4858
move 4, LilycoveCity_ContestLobby_Movement_158A4E
waitmove 0
playsfx 21
@@ -87,7 +87,7 @@ LilycoveCity_ContestLobby_EventScript_158948:: @ 8158948
return
LilycoveCity_ContestLobby_EventScript_158994:: @ 8158994
- specialval 0x8004, 137
+ specialval 0x8004, sub_80C4D50
switch 0x8004
case 1, LilycoveCity_ContestLobby_EventScript_1589D6
case 2, LilycoveCity_ContestLobby_EventScript_1589DA
@@ -214,9 +214,9 @@ LilycoveCity_ContestLobby_EventScript_158A6A:: @ 8158A6A
LilycoveCity_ContestLobby_EventScript_158AAE:: @ 8158AAE
msgbox LilycoveCity_ContestLobby_Text_188AE8, 4
closebutton
- special 135
+ special sub_80C4CEC
setvar 0x4099, 0
- specialval RESULT, 91
+ specialval RESULT, GiveMonArtistRibbon
compare RESULT, 1
callif 1, LilycoveCity_ContestLobby_EventScript_158B18
move 11, LilycoveCity_ContestLobby_Movement_158B6D
@@ -242,7 +242,7 @@ LilycoveCity_ContestLobby_EventScript_158AE8:: @ 8158AE8
LilycoveCity_ContestLobby_EventScript_158B18:: @ 8158B18
inccounter GAME_STAT_RECEIVED_RIBBONS
- special 80
+ special sub_80C4858
move 11, LilycoveCity_ContestLobby_Movement_158B78
waitmove 0
playsfx 21
@@ -363,7 +363,7 @@ LilycoveCity_ContestLobby_EventScript_158C42:: @ 8158C42
choosecontestpkmn
compare 0x8004, 255
jumpeq LilycoveCity_ContestLobby_EventScript_158CEA
- special 84
+ special sub_80C43F4
compare RESULT, 0
jumpeq LilycoveCity_ContestLobby_EventScript_158C96
compare RESULT, 1
@@ -418,7 +418,7 @@ LilycoveCity_ContestLobby_EventScript_158D24:: @ 8158D24
message LilycoveCity_ContestLobby_Text_1887C7
waittext
copyvar 0x8004, RESULT
- special 92
+ special sub_808363C
waitstate
compare RESULT, 3
jumpeq LilycoveCity_ContestLobby_EventScript_158D90
@@ -441,7 +441,7 @@ LilycoveCity_ContestLobby_EventScript_158D82:: @ 8158D82
end
LilycoveCity_ContestLobby_EventScript_158D90:: @ 8158D90
- special 31
+ special CloseLink
msgbox LilycoveCity_ContestLobby_Text_18878D, 4
closebutton
releaseall
@@ -449,7 +449,7 @@ LilycoveCity_ContestLobby_EventScript_158D90:: @ 8158D90
end
LilycoveCity_ContestLobby_EventScript_158DA1:: @ 8158DA1
- special 31
+ special CloseLink
msgbox LilycoveCity_ContestLobby_Text_1887F4, 4
closebutton
releaseall
@@ -457,7 +457,7 @@ LilycoveCity_ContestLobby_EventScript_158DA1:: @ 8158DA1
end
LilycoveCity_ContestLobby_EventScript_158DB2:: @ 8158DB2
- special 31
+ special CloseLink
msgbox LilycoveCity_ContestLobby_Text_18881F, 4
closebutton
releaseall
@@ -470,7 +470,7 @@ LilycoveCity_ContestLobby_EventScript_158DC3:: @ 8158DC3
end
LilycoveCity_ContestLobby_EventScript_158DD1:: @ 8158DD1
- special 77
+ special sub_80C496C
addvar 0x8004, 1
buffernum 1, 32772
message2 LilycoveCity_ContestLobby_Text_188845
@@ -482,7 +482,7 @@ LilycoveCity_ContestLobby_EventScript_158DD1:: @ 8158DD1
LilycoveCity_ContestLobby_EventScript_158DEE:: @ 8158DEE
call LilycoveCity_ContestLobby_EventScript_158E0B
setvar 0x4086, 1
- special 86
+ special sub_80C4F70
setvar 0x4088, 5
setvar CONTEST_RANK, 3
call LilycoveCity_ContestLobby_EventScript_158F08
@@ -499,13 +499,13 @@ LilycoveCity_ContestLobby_EventScript_158E0B:: @ 8158E0B
playsfx 71
setmaptile 9, 2, 545, 1
setmaptile 9, 3, 609, 1
- special 142
+ special DrawWholeMapView
move 2, LilycoveCity_ContestLobby_Movement_158EA0
waitmove 0
playsfx 71
setmaptile 9, 2, 721, 1
setmaptile 9, 3, 729, 1
- special 142
+ special DrawWholeMapView
pause 20
move 2, LilycoveCity_ContestLobby_Movement_158EAE
waitmove 0
@@ -568,14 +568,14 @@ LilycoveCity_ContestLobby_Movement_158EAE:: @ 8158EAE
step_end
LilycoveCity_ContestLobby_EventScript_158EB0:: @ 8158EB0
- specialval RESULT, 90
+ specialval RESULT, sub_80C5044
compare RESULT, 1
jumpeq LilycoveCity_ContestLobby_EventScript_158EE8
setvar 0x800b, 8
setvar CONTEST_RANK, 3
call LilycoveCity_ContestLobby_EventScript_1A4E92
call LilycoveCity_ContestLobby_EventScript_158F86
- special 83
+ special sub_80C4BF0
call LilycoveCity_ContestLobby_EventScript_15FBDB
setvar 0x4088, 4
call LilycoveCity_ContestLobby_EventScript_158F08
@@ -603,31 +603,31 @@ LilycoveCity_ContestLobby_EventScript_158F08:: @ 8158F08
LilycoveCity_ContestLobby_EventScript_158F45:: @ 8158F45
warp3 LinkContestRoom4, 255, 7, 5
- special 300
+ special sub_8081334
waitstate
return
LilycoveCity_ContestLobby_EventScript_158F52:: @ 8158F52
warp3 LinkContestRoom2, 255, 7, 5
- special 300
+ special sub_8081334
waitstate
return
LilycoveCity_ContestLobby_EventScript_158F5F:: @ 8158F5F
warp3 LinkContestRoom6, 255, 7, 5
- special 300
+ special sub_8081334
waitstate
return
LilycoveCity_ContestLobby_EventScript_158F6C:: @ 8158F6C
warp3 LinkContestRoom5, 255, 7, 5
- special 300
+ special sub_8081334
waitstate
return
LilycoveCity_ContestLobby_EventScript_158F79:: @ 8158F79
warp3 LinkContestRoom3, 255, 7, 5
- special 300
+ special sub_8081334
waitstate
return
@@ -638,13 +638,13 @@ LilycoveCity_ContestLobby_EventScript_158F86:: @ 8158F86
playsfx 71
setmaptile 4, 2, 545, 1
setmaptile 4, 3, 609, 1
- special 142
+ special DrawWholeMapView
move 1, LilycoveCity_ContestLobby_Movement_15900F
waitmove 0
playsfx 71
setmaptile 4, 2, 721, 1
setmaptile 4, 3, 729, 1
- special 142
+ special DrawWholeMapView
pause 20
move 1, LilycoveCity_ContestLobby_Movement_15901C
waitmove 0
@@ -764,7 +764,7 @@ LilycoveCity_ContestLobby_EventScript_159084:: @ 8159084
LilycoveCity_ContestLobby_EventScript_15908D:: @ 815908D
SlateportCity_ContestLobby_EventScript_15908D:: @ 815908D
lockall
- special 259
+ special ShowBerryBlenderRecordWindow
waitbutton
hidebox 0, 0, 29, 19
releaseall
diff --git a/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc b/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc
index d2a86e0a5..dcf74b77c 100644
--- a/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc
+++ b/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc
@@ -8,7 +8,7 @@ LilycoveCity_CoveLilyMotel_2F_EventScript_1583A1:: @ 81583A1
callif 0, LilycoveCity_CoveLilyMotel_2F_EventScript_1583C7
checkflag 2
callif 1, LilycoveCity_CoveLilyMotel_2F_EventScript_1583DD
- specialval RESULT, 335
+ specialval RESULT, sub_8090FC0
compare RESULT, 1
jumpeq LilycoveCity_CoveLilyMotel_2F_EventScript_1583D0
release
@@ -29,7 +29,7 @@ LilycoveCity_CoveLilyMotel_2F_EventScript_1583DD:: @ 81583DD
message LilycoveCity_CoveLilyMotel_2F_Text_18708F
waittext
call LilycoveCity_CoveLilyMotel_2F_EventScript_1A02C5
- special 264
+ special sub_810D6A4
waitstate
release
end
diff --git a/data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc b/data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc
index c82cc6428..74b746633 100644
--- a/data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc
+++ b/data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc
@@ -7,7 +7,7 @@ LilycoveCity_DepartmentStoreElevator_EventScript_15A39C:: @ 815A39C
checkflag 2
callif 0, LilycoveCity_DepartmentStoreElevator_EventScript_15A4CF
copyvar 0x8005, 0x4043
- special 306
+ special sub_810E944
message LilycoveCity_DepartmentStoreElevator_Text_1A0EF6
waittext
multichoice 0, 0, 57, 0
@@ -74,11 +74,11 @@ LilycoveCity_DepartmentStoreElevator_EventScript_15A4B8:: @ 815A4B8
hidebox 0, 0, 29, 19
move LAST_TALKED, LilycoveCity_DepartmentStoreElevator_Movement_1A0845
waitmove 0
- special 273
+ special sub_810EBEC
waitstate
setflag 2
return
LilycoveCity_DepartmentStoreElevator_EventScript_15A4CF:: @ 815A4CF
- special 216
+ special SetDepartmentStoreFloorVar
return
diff --git a/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc b/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc
index 325c56330..feff49c42 100644
--- a/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc
+++ b/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc
@@ -19,17 +19,17 @@ LilycoveCity_DepartmentStore_1F_EventScript_159D5E:: @ 8159D5E
setflag 2250
message LilycoveCity_DepartmentStore_1F_Text_1C4CC6
waittext
- special 257
+ special RetrieveLotteryNumber
copyvar 0x8008, RESULT
- special 337
+ special sub_810F9AC
msgbox LilycoveCity_DepartmentStore_1F_Text_1C4CF6, 4
move 2, LilycoveCity_DepartmentStore_1F_Movement_1A0843
waitmove 0
playsfx 4
- special 217
- special 258
+ special DoLotteryCornerComputerEffect
+ special PickLotteryCornerTicket
pause 220
- special 218
+ special EndLotteryCornerComputerEffect
pause 10
move 2, LilycoveCity_DepartmentStore_1F_Movement_1A0839
waitmove 0
diff --git a/data/scripts/maps/LilycoveCity_Harbor.inc b/data/scripts/maps/LilycoveCity_Harbor.inc
index 2f4e4352e..f8ff8f9f3 100644
--- a/data/scripts/maps/LilycoveCity_Harbor.inc
+++ b/data/scripts/maps/LilycoveCity_Harbor.inc
@@ -135,7 +135,7 @@ LilycoveCity_Harbor_EventScript_1599EE:: @ 81599EE
callif 1, LilycoveCity_Harbor_EventScript_1599CE
pause 30
spriteinvisible 255, 0, 0
- special 0
+ special HealPlayerParty
setvar 0x8004, 2
call LilycoveCity_Harbor_EventScript_1A040E
warp SouthernIsland_Exterior, 255, 13, 22
diff --git a/data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc b/data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc
index 2e6d6698f..b3564ebf5 100644
--- a/data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc
+++ b/data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc
@@ -98,7 +98,7 @@ LilycoveCity_LilycoveMuseum_2F_EventScript_1586D8:: @ 81586D8
lockall
checkflag 236
jumpeq LilycoveCity_LilycoveMuseum_2F_EventScript_158793
- specialval 0x8004, 137
+ specialval 0x8004, sub_80C4D50
switch 0x8004
case 1, LilycoveCity_LilycoveMuseum_2F_EventScript_15872C
case 2, LilycoveCity_LilycoveMuseum_2F_EventScript_15872C
diff --git a/data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc b/data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc
index c9b026060..6adea2eb2 100644
--- a/data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc
+++ b/data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc
@@ -14,23 +14,23 @@ LilycoveCity_MoveDeletersHouse_EventScript_159AAE:: @ 8159AAE
LilycoveCity_MoveDeletersHouse_EventScript_159ADE:: @ 8159ADE
msgbox LilycoveCity_MoveDeletersHouse_Text_18B68C, 4
- special 159
+ special sub_80F9A0C
waitstate
compare 0x8004, 255
jumpeq LilycoveCity_MoveDeletersHouse_EventScript_159B7B
- special 328
+ special sub_80FA148
compare RESULT, 1
jumpeq LilycoveCity_MoveDeletersHouse_EventScript_159B71
- special 223
+ special sub_80F9F3C
compare RESULT, 1
jumpeq LilycoveCity_MoveDeletersHouse_EventScript_159B64
msgbox LilycoveCity_MoveDeletersHouse_Text_18B6B0, 4
fadescreen 1
- special 220
+ special sub_80F9EEC
fadescreen 0
compare 0x8005, 4
jumpeq LilycoveCity_MoveDeletersHouse_EventScript_159ADE
- special 222
+ special sub_80F9F84
msgbox LilycoveCity_MoveDeletersHouse_Text_18B6F2, 5
switch RESULT
case 1, LilycoveCity_MoveDeletersHouse_EventScript_159B53
@@ -39,7 +39,7 @@ LilycoveCity_MoveDeletersHouse_EventScript_159ADE:: @ 8159ADE
end
LilycoveCity_MoveDeletersHouse_EventScript_159B53:: @ 8159B53
- special 221
+ special sub_80FA0DC
fanfare 378
waitfanfare
msgbox LilycoveCity_MoveDeletersHouse_Text_18B71E, 4
@@ -47,7 +47,7 @@ LilycoveCity_MoveDeletersHouse_EventScript_159B53:: @ 8159B53
end
LilycoveCity_MoveDeletersHouse_EventScript_159B64:: @ 8159B64
- special 222
+ special sub_80F9F84
msgbox LilycoveCity_MoveDeletersHouse_Text_18B6D0, 4
releaseall
end
diff --git a/data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc b/data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc
index 9ac66f98e..e503ef4ec 100644
--- a/data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc
+++ b/data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc
@@ -68,37 +68,37 @@ LilycoveCity_PokemonTrainerFanClub_MapScript1_159412:: @ 8159412
end
LilycoveCity_PokemonTrainerFanClub_EventScript_159429:: @ 8159429
- special 167
+ special sub_810FCE8
setvar 0x8004, 8
- specialval RESULT, 163
+ specialval RESULT, sub_810FD60
compare RESULT, 0
callif 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594D5
setvar 0x8004, 9
- specialval RESULT, 163
+ specialval RESULT, sub_810FD60
compare RESULT, 0
callif 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594DD
setvar 0x8004, 10
- specialval RESULT, 163
+ specialval RESULT, sub_810FD60
compare RESULT, 0
callif 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594E5
setvar 0x8004, 11
- specialval RESULT, 163
+ specialval RESULT, sub_810FD60
compare RESULT, 0
callif 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594ED
setvar 0x8004, 12
- specialval RESULT, 163
+ specialval RESULT, sub_810FD60
compare RESULT, 0
callif 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594F5
setvar 0x8004, 13
- specialval RESULT, 163
+ specialval RESULT, sub_810FD60
compare RESULT, 0
callif 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594FD
setvar 0x8004, 14
- specialval RESULT, 163
+ specialval RESULT, sub_810FD60
compare RESULT, 0
callif 1, LilycoveCity_PokemonTrainerFanClub_EventScript_159505
setvar 0x8004, 15
- specialval RESULT, 163
+ specialval RESULT, sub_810FD60
compare RESULT, 0
callif 1, LilycoveCity_PokemonTrainerFanClub_EventScript_15950D
end
@@ -147,13 +147,13 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_15952F:: @ 815952F
lock
faceplayer
setvar 0x8004, 13
- special 165
+ special sub_810FDAC
compare 0x4095, 0
jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_15959C
- specialval RESULT, 163
+ specialval RESULT, sub_810FD60
compare RESULT, 1
jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_15956E
- specialval RESULT, 164
+ specialval RESULT, sub_810FCB0
compare RESULT, 7
jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159592
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18A400, 4
@@ -161,7 +161,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_15952F:: @ 815952F
end
LilycoveCity_PokemonTrainerFanClub_EventScript_15956E:: @ 815956E
- specialval RESULT, 164
+ specialval RESULT, sub_810FCB0
compare RESULT, 1
jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159588
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18A36A, 4
@@ -187,13 +187,13 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_1595A6:: @ 81595A6
lock
faceplayer
setvar 0x8004, 8
- special 165
+ special sub_810FDAC
compare 0x4095, 0
jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159613
- specialval RESULT, 163
+ specialval RESULT, sub_810FD60
compare RESULT, 1
jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_1595E5
- specialval RESULT, 164
+ specialval RESULT, sub_810FCB0
compare RESULT, 7
jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159609
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18A629, 4
@@ -201,7 +201,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_1595A6:: @ 81595A6
end
LilycoveCity_PokemonTrainerFanClub_EventScript_1595E5:: @ 81595E5
- specialval RESULT, 164
+ specialval RESULT, sub_810FCB0
compare RESULT, 1
jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_1595FF
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18A584, 4
@@ -227,13 +227,13 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_15961D:: @ 815961D
lock
faceplayer
setvar 0x8004, 9
- special 165
+ special sub_810FDAC
compare 0x4095, 0
jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_15968A
- specialval RESULT, 163
+ specialval RESULT, sub_810FD60
compare RESULT, 1
jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_15965C
- specialval RESULT, 164
+ specialval RESULT, sub_810FCB0
compare RESULT, 7
jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159680
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18A814, 4
@@ -241,7 +241,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_15961D:: @ 815961D
end
LilycoveCity_PokemonTrainerFanClub_EventScript_15965C:: @ 815965C
- specialval RESULT, 164
+ specialval RESULT, sub_810FCB0
compare RESULT, 1
jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159676
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18A71E, 4
@@ -267,13 +267,13 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_159694:: @ 8159694
lock
faceplayer
setvar 0x8004, 10
- special 165
+ special sub_810FDAC
compare 0x4095, 0
jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159701
- specialval RESULT, 163
+ specialval RESULT, sub_810FD60
compare RESULT, 1
jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_1596D3
- specialval RESULT, 164
+ specialval RESULT, sub_810FCB0
compare RESULT, 7
jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_1596F7
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18AB0A, 4
@@ -281,7 +281,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_159694:: @ 8159694
end
LilycoveCity_PokemonTrainerFanClub_EventScript_1596D3:: @ 81596D3
- specialval RESULT, 164
+ specialval RESULT, sub_810FCB0
compare RESULT, 1
jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_1596ED
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18AA39, 4
@@ -307,11 +307,11 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_15970B:: @ 815970B
lock
faceplayer
setvar 0x8004, 11
- special 165
- specialval RESULT, 163
+ special sub_810FDAC
+ specialval RESULT, sub_810FD60
compare RESULT, 1
jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_15973F
- specialval RESULT, 164
+ specialval RESULT, sub_810FCB0
compare RESULT, 7
jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159763
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18ACC7, 4
@@ -319,7 +319,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_15970B:: @ 815970B
end
LilycoveCity_PokemonTrainerFanClub_EventScript_15973F:: @ 815973F
- specialval RESULT, 164
+ specialval RESULT, sub_810FCB0
compare RESULT, 1
jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159759
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18AC15, 4
@@ -340,11 +340,11 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_15976D:: @ 815976D
lock
faceplayer
setvar 0x8004, 12
- special 165
- specialval RESULT, 163
+ special sub_810FDAC
+ specialval RESULT, sub_810FD60
compare RESULT, 1
jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_1597A1
- specialval RESULT, 164
+ specialval RESULT, sub_810FCB0
compare RESULT, 7
jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_1597C5
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18AE63, 4
@@ -352,7 +352,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_15976D:: @ 815976D
end
LilycoveCity_PokemonTrainerFanClub_EventScript_1597A1:: @ 81597A1
- specialval RESULT, 164
+ specialval RESULT, sub_810FCB0
compare RESULT, 1
jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_1597BB
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18AD6D, 4
@@ -373,11 +373,11 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_1597CF:: @ 81597CF
lock
faceplayer
setvar 0x8004, 14
- special 165
- specialval RESULT, 163
+ special sub_810FDAC
+ specialval RESULT, sub_810FD60
compare RESULT, 1
jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159803
- specialval RESULT, 164
+ specialval RESULT, sub_810FCB0
compare RESULT, 7
jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159827
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18B030, 4
@@ -385,7 +385,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_1597CF:: @ 81597CF
end
LilycoveCity_PokemonTrainerFanClub_EventScript_159803:: @ 8159803
- specialval RESULT, 164
+ specialval RESULT, sub_810FCB0
compare RESULT, 1
jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_15981D
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18AF62, 4
@@ -406,11 +406,11 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_159831:: @ 8159831
lock
faceplayer
setvar 0x8004, 15
- special 165
- specialval RESULT, 163
+ special sub_810FDAC
+ specialval RESULT, sub_810FD60
compare RESULT, 1
jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159865
- specialval RESULT, 164
+ specialval RESULT, sub_810FCB0
compare RESULT, 7
jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159889
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18B1FD, 4
@@ -418,7 +418,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_159831:: @ 8159831
end
LilycoveCity_PokemonTrainerFanClub_EventScript_159865:: @ 8159865
- specialval RESULT, 164
+ specialval RESULT, sub_810FCB0
compare RESULT, 1
jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_15987F
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18B16E, 4
diff --git a/data/scripts/maps/LittlerootTown.inc b/data/scripts/maps/LittlerootTown.inc
index 81692acc5..2a4f77529 100644
--- a/data/scripts/maps/LittlerootTown.inc
+++ b/data/scripts/maps/LittlerootTown.inc
@@ -207,7 +207,7 @@ LittlerootTown_EventScript_14D708:: @ 814D708
end
LittlerootTown_EventScript_14D722:: @ 814D722
- special 148
+ special GetPlayerBigGuyGirlString
msgbox LittlerootTown_Text_16ADF2, 4
release
end
diff --git a/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc b/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc
index 9816734d0..69206566a 100644
--- a/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc
+++ b/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc
@@ -98,7 +98,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_152744:: @ 8152744
move 255, LittlerootTown_BrendansHouse_1F_Movement_1A083F
move 4, LittlerootTown_BrendansHouse_1F_Movement_152782
waitmove 0
- special 149
+ special GetRivalSonDaughterString
msgbox LittlerootTown_BrendansHouse_1F_Text_1730C2, 4
setflag 87
setvar 0x4082, 2
diff --git a/data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc b/data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc
index 0c6ec79f7..0803cd512 100644
--- a/data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc
+++ b/data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc
@@ -59,10 +59,10 @@ LittlerootTown_BrendansHouse_2F_EventScript_15281E:: @ 815281E
LittlerootTown_BrendansHouse_2F_EventScript_152837:: @ 8152837
setvar 0x8004, 1
- special 214
+ special DoPCTurnOnEffect
playsfx SE_PC_ON
msgbox LittlerootTown_BrendansHouse_2F_Text_1A10D6, 4
- special 249
+ special BedroomPC
waitstate
releaseall
end
@@ -70,7 +70,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_152837:: @ 8152837
gBrendanHouse_TurnPCOff:: @ 8152850
setvar 0x8004, 1
playsfx SE_PC_OFF
- special 215
+ special DoPCTurnOffEffect
releaseall
end
diff --git a/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc b/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc
index 2b9ad42ef..5f7f20d63 100644
--- a/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc
+++ b/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc
@@ -98,7 +98,7 @@ LittlerootTown_MaysHouse_1F_EventScript_152982:: @ 8152982
move 255, LittlerootTown_MaysHouse_1F_Movement_1A0843
move 4, LittlerootTown_MaysHouse_1F_Movement_1529C0
waitmove 0
- special 149
+ special GetRivalSonDaughterString
msgbox LittlerootTown_MaysHouse_1F_Text_1730C2, 4
setflag 87
setvar 0x408c, 2
@@ -141,7 +141,7 @@ LittlerootTown_MaysHouse_1F_EventScript_1529EB:: @ 81529EB
jumpeq LittlerootTown_BrendansHouse_1F_EventScript_152A17
compare 0x408d, 3
jumpeq LittlerootTown_BrendansHouse_1F_EventScript_152A2B
- special 149
+ special GetRivalSonDaughterString
msgbox LittlerootTown_BrendansHouse_1F_Text_1731C6, 4
release
end
diff --git a/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc b/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc
index 1aca3f86e..85a41caff 100644
--- a/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc
+++ b/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc
@@ -207,10 +207,10 @@ LittlerootTown_MaysHouse_2F_EventScript_152C52:: @ 8152C52
LittlerootTown_MaysHouse_2F_EventScript_152C5C:: @ 8152C5C
setvar 0x8004, 2
- special 214
+ special DoPCTurnOnEffect
playsfx SE_PC_ON
msgbox LittlerootTown_MaysHouse_2F_Text_1A10D6, 4
- special 249
+ special BedroomPC
waitstate
releaseall
end
@@ -218,6 +218,6 @@ LittlerootTown_MaysHouse_2F_EventScript_152C5C:: @ 8152C5C
gMayHouse_TurnPCOff:: @ 8152C75
setvar 0x8004, 2
playsfx SE_PC_OFF
- special 215
+ special DoPCTurnOffEffect
releaseall
end
diff --git a/data/scripts/maps/MauvilleCity_BikeShop.inc b/data/scripts/maps/MauvilleCity_BikeShop.inc
index cb3b8505b..5436bf38a 100644
--- a/data/scripts/maps/MauvilleCity_BikeShop.inc
+++ b/data/scripts/maps/MauvilleCity_BikeShop.inc
@@ -58,7 +58,7 @@ MauvilleCity_BikeShop_EventScript_156847:: @ 8156847
MauvilleCity_BikeShop_EventScript_156861:: @ 8156861
msgbox MauvilleCity_BikeShop_Text_181362, 4
- special 130
+ special SwapRegisteredBike
release
end
diff --git a/data/scripts/maps/MauvilleCity_GameCorner.inc b/data/scripts/maps/MauvilleCity_GameCorner.inc
index a0aab4238..f20a7dacd 100644
--- a/data/scripts/maps/MauvilleCity_GameCorner.inc
+++ b/data/scripts/maps/MauvilleCity_GameCorner.inc
@@ -525,7 +525,7 @@ MauvilleCity_GameCorner_EventScript_157135:: @ 8157135
compare RESULT, 0
jumpeq MauvilleCity_GameCorner_EventScript_1572B5
setvar 0x8004, 0
- specialval RESULT, 286
+ specialval RESULT, sub_810F424
pokecasino RESULT
releaseall
end
@@ -536,7 +536,7 @@ MauvilleCity_GameCorner_EventScript_157155:: @ 8157155
compare RESULT, 0
jumpeq MauvilleCity_GameCorner_EventScript_1572B5
setvar 0x8004, 1
- specialval RESULT, 286
+ specialval RESULT, sub_810F424
pokecasino RESULT
releaseall
end
@@ -547,7 +547,7 @@ MauvilleCity_GameCorner_EventScript_157175:: @ 8157175
compare RESULT, 0
jumpeq MauvilleCity_GameCorner_EventScript_1572B5
setvar 0x8004, 2
- specialval RESULT, 286
+ specialval RESULT, sub_810F424
pokecasino RESULT
releaseall
end
@@ -558,7 +558,7 @@ MauvilleCity_GameCorner_EventScript_157195:: @ 8157195
compare RESULT, 0
jumpeq MauvilleCity_GameCorner_EventScript_1572B5
setvar 0x8004, 3
- specialval RESULT, 286
+ specialval RESULT, sub_810F424
pokecasino RESULT
releaseall
end
@@ -569,7 +569,7 @@ MauvilleCity_GameCorner_EventScript_1571B5:: @ 81571B5
compare RESULT, 0
jumpeq MauvilleCity_GameCorner_EventScript_1572B5
setvar 0x8004, 4
- specialval RESULT, 286
+ specialval RESULT, sub_810F424
pokecasino RESULT
releaseall
end
@@ -580,7 +580,7 @@ MauvilleCity_GameCorner_EventScript_1571D5:: @ 81571D5
compare RESULT, 0
jumpeq MauvilleCity_GameCorner_EventScript_1572B5
setvar 0x8004, 5
- specialval RESULT, 286
+ specialval RESULT, sub_810F424
pokecasino RESULT
releaseall
end
@@ -591,7 +591,7 @@ MauvilleCity_GameCorner_EventScript_1571F5:: @ 81571F5
compare RESULT, 0
jumpeq MauvilleCity_GameCorner_EventScript_1572B5
setvar 0x8004, 6
- specialval RESULT, 286
+ specialval RESULT, sub_810F424
pokecasino RESULT
releaseall
end
@@ -602,7 +602,7 @@ MauvilleCity_GameCorner_EventScript_157215:: @ 8157215
compare RESULT, 0
jumpeq MauvilleCity_GameCorner_EventScript_1572B5
setvar 0x8004, 7
- specialval RESULT, 286
+ specialval RESULT, sub_810F424
pokecasino RESULT
releaseall
end
@@ -613,7 +613,7 @@ MauvilleCity_GameCorner_EventScript_157235:: @ 8157235
compare RESULT, 0
jumpeq MauvilleCity_GameCorner_EventScript_1572B5
setvar 0x8004, 8
- specialval RESULT, 286
+ specialval RESULT, sub_810F424
pokecasino RESULT
releaseall
end
@@ -624,7 +624,7 @@ MauvilleCity_GameCorner_EventScript_157255:: @ 8157255
compare RESULT, 0
jumpeq MauvilleCity_GameCorner_EventScript_1572B5
setvar 0x8004, 9
- specialval RESULT, 286
+ specialval RESULT, sub_810F424
pokecasino RESULT
releaseall
end
@@ -635,7 +635,7 @@ MauvilleCity_GameCorner_EventScript_157275:: @ 8157275
compare RESULT, 0
jumpeq MauvilleCity_GameCorner_EventScript_1572B5
setvar 0x8004, 10
- specialval RESULT, 286
+ specialval RESULT, sub_810F424
pokecasino RESULT
releaseall
end
@@ -646,7 +646,7 @@ MauvilleCity_GameCorner_EventScript_157295:: @ 8157295
compare RESULT, 0
jumpeq MauvilleCity_GameCorner_EventScript_1572B5
setvar 0x8004, 11
- specialval RESULT, 286
+ specialval RESULT, sub_810F424
pokecasino RESULT
releaseall
end
diff --git a/data/scripts/maps/MauvilleCity_Gym.inc b/data/scripts/maps/MauvilleCity_Gym.inc
index 9abac00d7..bd5c119f3 100644
--- a/data/scripts/maps/MauvilleCity_Gym.inc
+++ b/data/scripts/maps/MauvilleCity_Gym.inc
@@ -47,24 +47,24 @@ MauvilleCity_Gym_EventScript_15649B:: @ 815649B
MauvilleCity_Gym_EventScript_15657D:: @ 815657D
setvar 0x8004, 0
- special 140
+ special MauvilleGymSpecial1
jump MauvilleCity_Gym_EventScript_156491
end
MauvilleCity_Gym_EventScript_15658B:: @ 815658B
setvar 0x8004, 1
- special 140
+ special MauvilleGymSpecial1
jump MauvilleCity_Gym_EventScript_156491
end
MauvilleCity_Gym_EventScript_156599:: @ 8156599
setvar 0x8004, 2
- special 140
+ special MauvilleGymSpecial1
jump MauvilleCity_Gym_EventScript_156491
end
MauvilleCity_Gym_EventScript_1565A7:: @ 81565A7
- special 144
+ special MauvilleGymSpecial3
end
MauvilleCity_Gym_EventScript_1565AB:: @ 81565AB
@@ -89,8 +89,8 @@ MauvilleCity_Gym_EventScript_1565DB:: @ 81565DB
callif 1, MauvilleCity_Gym_EventScript_1A00FB
setvar 0x8008, 3
call MauvilleCity_Gym_EventScript_1A01C0
- special 144
- special 142
+ special MauvilleGymSpecial3
+ special DrawWholeMapView
playsfx 44
jump MauvilleCity_Gym_EventScript_15661D
end
@@ -143,9 +143,9 @@ MauvilleCity_Gym_EventScript_156695:: @ 8156695
end
MauvilleCity_Gym_EventScript_1566BA:: @ 81566BA
- special 139
- special 140
- special 142
+ special MauvilleGymSpecial2
+ special MauvilleGymSpecial1
+ special DrawWholeMapView
playsfx 44
checkflag 99
jumpeq MauvilleCity_Gym_EventScript_1566E1
diff --git a/data/scripts/maps/MauvilleCity_PokemonCenter_1F.inc b/data/scripts/maps/MauvilleCity_PokemonCenter_1F.inc
index b943b9c8f..b2b5dabd4 100644
--- a/data/scripts/maps/MauvilleCity_PokemonCenter_1F.inc
+++ b/data/scripts/maps/MauvilleCity_PokemonCenter_1F.inc
@@ -9,7 +9,7 @@ MauvilleCity_PokemonCenter_1F_MapScript1_157357:: @ 8157357
end
MauvilleCity_PokemonCenter_1F_EventScript_157365:: @ 8157365
- special 104
+ special sub_80F83D0
end
MauvilleCity_PokemonCenter_1F_EventScript_157369:: @ 8157369
diff --git a/data/scripts/maps/MeteorFalls_1F_2R.inc b/data/scripts/maps/MeteorFalls_1F_2R.inc
index 6c239043d..8e45c34ae 100644
--- a/data/scripts/maps/MeteorFalls_1F_2R.inc
+++ b/data/scripts/maps/MeteorFalls_1F_2R.inc
@@ -3,7 +3,7 @@ MeteorFalls_1F_2R_MapScripts:: @ 815C678
MeteorFalls_1F_2R_EventScript_15C679:: @ 815C679
trainerbattle 0, OPPONENT_NICOLAS_1, 0, MeteorFalls_1F_2R_Text_1939C5, MeteorFalls_1F_2R_Text_193A35
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq MeteorFalls_1F_2R_EventScript_15C6A0
msgbox MeteorFalls_1F_2R_Text_193A60, 6
@@ -16,7 +16,7 @@ MeteorFalls_1F_2R_EventScript_15C6A0:: @ 815C6A0
MeteorFalls_1F_2R_EventScript_15C6B7:: @ 815C6B7
trainerbattle 4, OPPONENT_JOHN_AND_JAY_1, 0, MeteorFalls_1F_2R_Text_193BB7, MeteorFalls_1F_2R_Text_193C10, MeteorFalls_1F_2R_Text_193C9F
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq MeteorFalls_1F_2R_EventScript_15C6E2
msgbox MeteorFalls_1F_2R_Text_193C35, 6
@@ -29,7 +29,7 @@ MeteorFalls_1F_2R_EventScript_15C6E2:: @ 815C6E2
MeteorFalls_1F_2R_EventScript_15C6FD:: @ 815C6FD
trainerbattle 4, OPPONENT_JOHN_AND_JAY_1, 0, MeteorFalls_1F_2R_Text_193D10, MeteorFalls_1F_2R_Text_193D6E, MeteorFalls_1F_2R_Text_193DFB
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq MeteorFalls_1F_2R_EventScript_15C728
msgbox MeteorFalls_1F_2R_Text_193D9A, 6
diff --git a/data/scripts/maps/MossdeepCity_GameCorner_1F.inc b/data/scripts/maps/MossdeepCity_GameCorner_1F.inc
index c56adb1f3..14836f3e0 100644
--- a/data/scripts/maps/MossdeepCity_GameCorner_1F.inc
+++ b/data/scripts/maps/MossdeepCity_GameCorner_1F.inc
@@ -5,7 +5,7 @@ MossdeepCity_GameCorner_1F_MapScripts:: @ 815AC52
.byte 0
MossdeepCity_GameCorner_1F_MapScript1_15AC62:: @ 815AC62
- special 246
+ special sub_813601C
compare RESULT, 1
callif 1, MossdeepCity_GameCorner_1F_EventScript_15AC71
end
@@ -16,7 +16,7 @@ MossdeepCity_GameCorner_1F_EventScript_15AC71:: @ 815AC71
return
MossdeepCity_GameCorner_1F_MapScript1_15AC84:: @ 815AC84
- special 246
+ special sub_813601C
compare RESULT, 0
callif 1, MossdeepCity_GameCorner_1F_EventScript_15AC9E
compare 0x40c0, 0
@@ -55,7 +55,7 @@ MossdeepCity_GameCorner_1F_EventScript_15ACD5:: @ 815ACD5
callif 1, MossdeepCity_GameCorner_1F_EventScript_15AD2B
compare 0x40c0, 3
callif 1, MossdeepCity_GameCorner_1F_EventScript_15AD34
- special 40
+ special LoadPlayerParty
setvar 0x40c0, 0
releaseall
end
@@ -91,8 +91,8 @@ MossdeepCity_GameCorner_1F_EventScript_15AD42:: @ 815AD42
end
MossdeepCity_GameCorner_1F_EventScript_15AD59:: @ 815AD59
- special 39
- special 285
+ special SavePlayerParty
+ special sub_810F414
msgbox MossdeepCity_GameCorner_1F_Text_18E650, 5
compare RESULT, 0
jumpeq MossdeepCity_GameCorner_1F_EventScript_15ADE8
@@ -102,13 +102,13 @@ MossdeepCity_GameCorner_1F_EventScript_15AD59:: @ 815AD59
msgbox MossdeepCity_GameCorner_1F_Text_18E741, 5
compare RESULT, 0
callif 1, MossdeepCity_GameCorner_1F_EventScript_15ADE8
- special 40
+ special LoadPlayerParty
call MossdeepCity_GameCorner_1F_EventScript_19F806
compare RESULT, 0
jumpeq MossdeepCity_GameCorner_1F_EventScript_15ADE8
hidebox 0, 0, 15, 10
- special 39
- special 248
+ special SavePlayerParty
+ special ReducePlayerPartyToThree
msgbox MossdeepCity_GameCorner_1F_Text_18E777, 4
closebutton
compare FACING, 2
@@ -123,7 +123,7 @@ MossdeepCity_GameCorner_1F_EventScript_15AD59:: @ 815AD59
end
MossdeepCity_GameCorner_1F_EventScript_15ADE8:: @ 815ADE8
- special 40
+ special LoadPlayerParty
msgbox MossdeepCity_GameCorner_1F_Text_18E698, 4
release
end
@@ -131,7 +131,7 @@ MossdeepCity_GameCorner_1F_EventScript_15ADE8:: @ 815ADE8
MossdeepCity_GameCorner_1F_EventScript_15ADF5:: @ 815ADF5
msgbox MossdeepCity_GameCorner_1F_Text_18E6DA, 4
fadescreen 1
- special 41
+ special sub_80C5568
waitstate
return
diff --git a/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc b/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc
index a733093f9..a5a013d5f 100644
--- a/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc
+++ b/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc
@@ -4,7 +4,7 @@ MossdeepCity_GameCorner_B1F_MapScripts:: @ 815AE55
.byte 0
MossdeepCity_GameCorner_B1F_MapScript1_15AE60:: @ 815AE60
- special 322
+ special sub_8134AB4
end
MossdeepCity_GameCorner_B1F_MapScript2_15AE64:: @ 815AE64
@@ -15,12 +15,12 @@ MossdeepCity_GameCorner_B1F_EventScript_15AE6E:: @ 815AE6E
lockall
move 255, MossdeepCity_GameCorner_B1F_Movement_15AEF9
waitmove 0
- special 235
+ special sub_81360C0
msgbox 0x20234cc, 4
closebutton
setvar 0x8004, 2
setvar 0x8005, 0
- special 236
+ special sub_813556C
waitstate
compare RESULT, 3
callif 1, MossdeepCity_GameCorner_B1F_EventScript_15AED5
@@ -29,10 +29,10 @@ MossdeepCity_GameCorner_B1F_EventScript_15AE6E:: @ 815AE6E
compare RESULT, 2
callif 1, MossdeepCity_GameCorner_B1F_EventScript_15AEEE
closebutton
- special 0
+ special HealPlayerParty
move 255, MossdeepCity_GameCorner_B1F_Movement_15AEFF
waitmove 0
- special 40
+ special LoadPlayerParty
setvar 0x4001, 1
warp MossdeepCity_GameCorner_1F, 255, 3, 1
waitstate
@@ -46,14 +46,14 @@ MossdeepCity_GameCorner_B1F_EventScript_15AED5:: @ 815AED5
MossdeepCity_GameCorner_B1F_EventScript_15AEE3:: @ 815AEE3
setvar 0x40c0, 1
- special 141
+ special ShowFieldMessageStringVar4
waittext
waitbutton
return
MossdeepCity_GameCorner_B1F_EventScript_15AEEE:: @ 815AEEE
setvar 0x40c0, 2
- special 141
+ special ShowFieldMessageStringVar4
waittext
waitbutton
return
diff --git a/data/scripts/maps/MossdeepCity_Gym.inc b/data/scripts/maps/MossdeepCity_Gym.inc
index 192f9e396..20f43a150 100644
--- a/data/scripts/maps/MossdeepCity_Gym.inc
+++ b/data/scripts/maps/MossdeepCity_Gym.inc
@@ -93,7 +93,7 @@ MossdeepCity_Gym_EventScript_15A5EA:: @ 815A5EA
end
MossdeepCity_Gym_EventScript_15A619:: @ 815A619
- special 142
+ special DrawWholeMapView
playsfx 36
releaseall
end
diff --git a/data/scripts/maps/MossdeepCity_House1.inc b/data/scripts/maps/MossdeepCity_House1.inc
index d83e49643..319dfba8e 100644
--- a/data/scripts/maps/MossdeepCity_House1.inc
+++ b/data/scripts/maps/MossdeepCity_House1.inc
@@ -6,7 +6,7 @@ MossdeepCity_House1_EventScript_15A82F:: @ 815A82F
faceplayer
bufferfirstpoke 0
msgbox MossdeepCity_House1_Text_18D465, 4
- specialval RESULT, 277
+ specialval RESULT, GetPokeblockNameByMonNature
compare RESULT, 0
jumpeq MossdeepCity_House1_EventScript_15A855
msgbox MossdeepCity_House1_Text_18D475, 4
diff --git a/data/scripts/maps/MossdeepCity_House4.inc b/data/scripts/maps/MossdeepCity_House4.inc
index bc8f44400..12dc941e7 100644
--- a/data/scripts/maps/MossdeepCity_House4.inc
+++ b/data/scripts/maps/MossdeepCity_House4.inc
@@ -18,10 +18,10 @@ MossdeepCity_House4_EventScript_15AB46:: @ 815AB46
MossdeepCity_House4_EventScript_15AB50:: @ 815AB50
lock
faceplayer
- special 7
+ special sub_80BB63C
compare RESULT, 0
jumpeq MossdeepCity_House4_EventScript_15AB6D
- special 278
+ special GetSecretBaseNearbyMapName
msgbox MossdeepCity_House4_Text_18E17E, 4
release
end
diff --git a/data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc b/data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc
index 3b3a7f083..db31e4c62 100644
--- a/data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc
+++ b/data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc
@@ -5,7 +5,7 @@ MossdeepCity_SpaceCenter_1F_EventScript_15AB8B:: @ 815AB8B
lock
faceplayer
checkdailyflags
- specialval RESULT, 256
+ specialval RESULT, GetWeekCount
buffernum 0, RESULT
compare RESULT, 0
callif 1, MossdeepCity_SpaceCenter_1F_EventScript_15ABBA
diff --git a/data/scripts/maps/MtChimney.inc b/data/scripts/maps/MtChimney.inc
index b7a43328b..fdebcf102 100644
--- a/data/scripts/maps/MtChimney.inc
+++ b/data/scripts/maps/MtChimney.inc
@@ -440,7 +440,7 @@ MtChimney_EventScript_15D1DA:: @ 815D1DA
MtChimney_EventScript_15D1E3:: @ 815D1E3
trainerbattle 0, OPPONENT_SHELBY_1, 0, MtChimney_Text_19597F, MtChimney_Text_1959D8
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq MtChimney_EventScript_15D20A
msgbox MtChimney_Text_195A04, 6
diff --git a/data/scripts/maps/MtChimney_CableCarStation.inc b/data/scripts/maps/MtChimney_CableCarStation.inc
index c00914f2e..24101b0cb 100644
--- a/data/scripts/maps/MtChimney_CableCarStation.inc
+++ b/data/scripts/maps/MtChimney_CableCarStation.inc
@@ -47,8 +47,8 @@ MtChimney_CableCarStation_EventScript_15C16C:: @ 815C16C
setvar 0x8004, 1
setvar 0x40a3, 2
inccounter GAME_STAT_RODE_CABLE_CAR
- special 151
- special 152
+ special CableCarWarp
+ special sub_8123218
waitstate
release
end
diff --git a/data/scripts/maps/MtPyre_6F.inc b/data/scripts/maps/MtPyre_6F.inc
index 3729079bb..657b4ef15 100644
--- a/data/scripts/maps/MtPyre_6F.inc
+++ b/data/scripts/maps/MtPyre_6F.inc
@@ -3,7 +3,7 @@ MtPyre_6F_MapScripts:: @ 815D447
MtPyre_6F_EventScript_15D448:: @ 815D448
trainerbattle 0, OPPONENT_VALERIE_1, 0, MtPyre_6F_Text_1969FE, MtPyre_6F_Text_196A30
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq MtPyre_6F_EventScript_15D46F
msgbox MtPyre_6F_Text_196A4C, 6
diff --git a/data/scripts/maps/NewMauville_Entrance.inc b/data/scripts/maps/NewMauville_Entrance.inc
index dc5885939..547fc72e7 100644
--- a/data/scripts/maps/NewMauville_Entrance.inc
+++ b/data/scripts/maps/NewMauville_Entrance.inc
@@ -39,7 +39,7 @@ NewMauville_Entrance_EventScript_15E4DC:: @ 815E4DC
setmaptile 3, 1, 715, 1
setmaptile 4, 1, 716, 0
setmaptile 5, 1, 717, 1
- special 142
+ special DrawWholeMapView
playsfx 20
setvar 0x40ba, 1
releaseall
diff --git a/data/scripts/maps/NewMauville_Inside.inc b/data/scripts/maps/NewMauville_Inside.inc
index 29c42e460..b088b8e7d 100644
--- a/data/scripts/maps/NewMauville_Inside.inc
+++ b/data/scripts/maps/NewMauville_Inside.inc
@@ -33,7 +33,7 @@ NewMauville_Inside_EventScript_15E5AA:: @ 815E5AA
setvar 0x4002, 0
playsfx 21
call NewMauville_Inside_EventScript_15E5DA
- special 142
+ special DrawWholeMapView
releaseall
end
@@ -43,7 +43,7 @@ NewMauville_Inside_EventScript_15E5C2:: @ 815E5C2
setvar 0x4002, 1
playsfx 21
call NewMauville_Inside_EventScript_15E728
- special 142
+ special DrawWholeMapView
releaseall
end
@@ -145,7 +145,7 @@ NewMauville_Inside_EventScript_15E88B:: @ 815E88B
setmaptile 33, 3, 757, 1
setmaptile 34, 3, 758, 1
setmaptile 35, 3, 759, 1
- special 142
+ special DrawWholeMapView
return
NewMauville_Inside_EventScript_15E8E0:: @ 815E8E0
diff --git a/data/scripts/maps/PacifidlogTown_House2.inc b/data/scripts/maps/PacifidlogTown_House2.inc
index b95a41ceb..e45f09de4 100644
--- a/data/scripts/maps/PacifidlogTown_House2.inc
+++ b/data/scripts/maps/PacifidlogTown_House2.inc
@@ -13,10 +13,10 @@ PacifidlogTown_House2_EventScript_154168:: @ 8154168
checkflag 300
callif 0, PacifidlogTown_House2_EventScript_1541D7
setflag 300
- specialval RESULT, 230
+ specialval RESULT, GetLeadMonFriendshipScore
compare RESULT, 4
jumpif 4, PacifidlogTown_House2_EventScript_1541EC
- specialval RESULT, 230
+ specialval RESULT, GetLeadMonFriendshipScore
compare RESULT, 2
jumpif 4, PacifidlogTown_House2_EventScript_15421B
jump PacifidlogTown_House2_EventScript_154225
@@ -25,7 +25,7 @@ PacifidlogTown_House2_EventScript_154168:: @ 8154168
PacifidlogTown_House2_EventScript_1541B4:: @ 81541B4
checkflag 299
jumpif 0, PacifidlogTown_House2_EventScript_1A14DC
- specialval RESULT, 334
+ specialval RESULT, sub_810F908
compare RESULT, 0
callif 1, PacifidlogTown_House2_EventScript_1541E8
return
@@ -49,7 +49,7 @@ PacifidlogTown_House2_EventScript_1541EC:: @ 81541EC
compare RESULT, 0
jumpeq PacifidlogTown_House2_EventScript_1A029B
setflag 299
- special 333
+ special sub_810F950
msgbox PacifidlogTown_House2_Text_179283, 4
release
end
@@ -65,13 +65,13 @@ PacifidlogTown_House2_EventScript_154225:: @ 8154225
compare RESULT, 0
jumpeq PacifidlogTown_House2_EventScript_1A029B
setflag 299
- special 333
+ special sub_810F950
msgbox PacifidlogTown_House2_Text_179283, 4
release
end
PacifidlogTown_House2_EventScript_154254:: @ 8154254
- specialval RESULT, 334
+ specialval RESULT, sub_810F908
buffernum 0, RESULT
msgbox PacifidlogTown_House2_Text_1792F2, 4
release
diff --git a/data/scripts/maps/PacifidlogTown_House3.inc b/data/scripts/maps/PacifidlogTown_House3.inc
index 7ee815f07..6ab9a09b0 100644
--- a/data/scripts/maps/PacifidlogTown_House3.inc
+++ b/data/scripts/maps/PacifidlogTown_House3.inc
@@ -8,25 +8,25 @@ PacifidlogTown_House3_EventScript_15429E:: @ 815429E
jumpeq PacifidlogTown_House3_EventScript_154338
setvar 0x8008, 2
copyvar 0x8004, 0x8008
- specialval RESULT, 252
+ specialval RESULT, sub_804D89C
copyvar 0x8009, RESULT
msgbox PacifidlogTown_House3_Text_17940E, 5
compare RESULT, 0
jumpeq PacifidlogTown_House3_EventScript_154320
- special 159
+ special sub_80F9A0C
waitstate
copyvar 0x800a, 0x8004
compare 0x8004, 255
jumpeq PacifidlogTown_House3_EventScript_154320
copyvar 0x8005, 0x800a
- specialval RESULT, 255
+ specialval RESULT, sub_804DB2C
copyvar 0x800b, RESULT
comparevars RESULT, 0x8009
jumpif 5, PacifidlogTown_House3_EventScript_15432A
copyvar 0x8004, 0x8008
copyvar 0x8005, 0x800a
- special 253
- special 254
+ special sub_804DB68
+ special sub_804E174
waitstate
bufferpoke 0, 0x8009
msgbox PacifidlogTown_House3_Text_1794C4, 4
diff --git a/data/scripts/maps/PacifidlogTown_House5.inc b/data/scripts/maps/PacifidlogTown_House5.inc
index f20de28df..dca1a51b0 100644
--- a/data/scripts/maps/PacifidlogTown_House5.inc
+++ b/data/scripts/maps/PacifidlogTown_House5.inc
@@ -4,7 +4,7 @@ PacifidlogTown_House5_MapScripts:: @ 8154393
PacifidlogTown_House5_EventScript_154394:: @ 8154394
lock
faceplayer
- specialval RESULT, 209
+ specialval RESULT, IsMirageIslandPresent
compare RESULT, 1
jumpeq PacifidlogTown_House5_EventScript_1543B0
msgbox PacifidlogTown_House5_Text_179718, 4
diff --git a/data/scripts/maps/PetalburgCity.inc b/data/scripts/maps/PetalburgCity.inc
index 3667eb3cf..dc5efe243 100644
--- a/data/scripts/maps/PetalburgCity.inc
+++ b/data/scripts/maps/PetalburgCity.inc
@@ -26,13 +26,13 @@ PetalburgCity_MapScript2_14B73D:: @ 814B73D
PetalburgCity_EventScript_14B747:: @ 814B747
lockall
setflag 0x4000
- special 39
- special 301
+ special SavePlayerParty
+ special PutZigzagoonInPlayerParty
move 2, PetalburgCity_Movement_14B7ED
move 255, PetalburgCity_Movement_14B7CC
waitmove 0
msgbox PetalburgCity_Text_16D361, 4
- special 157
+ special StartBattle_WallyTutorial
waitstate
msgbox PetalburgCity_Text_16D3DE, 4
movecoords 2, PetalburgCity_Movement_1A083F, 0, 0
@@ -43,7 +43,7 @@ PetalburgCity_EventScript_14B747:: @ 814B747
setvar 0x4057, 3
fadedefault
clearflag 0x4001
- special 40
+ special LoadPlayerParty
setvar 0x4085, 1
warp PetalburgCity_Gym, 255, 4, 108
waitstate
diff --git a/data/scripts/maps/PetalburgCity_Gym.inc b/data/scripts/maps/PetalburgCity_Gym.inc
index 9c6802e28..c534cb538 100644
--- a/data/scripts/maps/PetalburgCity_Gym.inc
+++ b/data/scripts/maps/PetalburgCity_Gym.inc
@@ -211,7 +211,7 @@ PetalburgCity_Gym_EventScript_154669:: @ 8154669
clearflag 726
clearflag 866
setflag 889
- special 211
+ special InitBirchState
warp PetalburgCity, 255, 15, 8
waitstate
release
@@ -363,7 +363,7 @@ PetalburgCity_Gym_EventScript_15493D:: @ 815493D
end
PetalburgCity_Gym_EventScript_154969:: @ 8154969
- specialval RESULT, 50
+ specialval RESULT, IsEnigmaBerryValid
compare RESULT, 0
jumpeq PetalburgCity_Gym_EventScript_1549B2
checkitem ITEM_ENIGMA_BERRY, 1
@@ -407,7 +407,7 @@ PetalburgCity_Gym_EventScript_1549D6:: @ 81549D6
call PetalburgCity_Gym_EventScript_1A01C0
clearflag 940
call PetalburgCity_Gym_EventScript_1544ED
- special 142
+ special DrawWholeMapView
jump PetalburgCity_Gym_EventScript_154A2C
end
@@ -773,7 +773,7 @@ PetalburgCity_Gym_EventScript_154DF6:: @ 8154DF6
PetalburgCity_Gym_EventScript_154E1A:: @ 8154E1A
setvar 0x8005, 0
call PetalburgCity_Gym_EventScript_154FBB
- special 142
+ special DrawWholeMapView
release
end
@@ -791,7 +791,7 @@ PetalburgCity_Gym_EventScript_154E32:: @ 8154E32
PetalburgCity_Gym_EventScript_154E56:: @ 8154E56
setvar 0x8005, 0
call PetalburgCity_Gym_EventScript_154FFD
- special 142
+ special DrawWholeMapView
release
end
@@ -809,7 +809,7 @@ PetalburgCity_Gym_EventScript_154E6E:: @ 8154E6E
PetalburgCity_Gym_EventScript_154E92:: @ 8154E92
setvar 0x8005, 0
call PetalburgCity_Gym_EventScript_15503F
- special 142
+ special DrawWholeMapView
release
end
@@ -827,7 +827,7 @@ PetalburgCity_Gym_EventScript_154EAA:: @ 8154EAA
PetalburgCity_Gym_EventScript_154ECE:: @ 8154ECE
setvar 0x8005, 0
call PetalburgCity_Gym_EventScript_155081
- special 142
+ special DrawWholeMapView
release
end
@@ -845,7 +845,7 @@ PetalburgCity_Gym_EventScript_154EE6:: @ 8154EE6
PetalburgCity_Gym_EventScript_154F0A:: @ 8154F0A
setvar 0x8005, 0
call PetalburgCity_Gym_EventScript_154FDC
- special 142
+ special DrawWholeMapView
release
end
@@ -863,7 +863,7 @@ PetalburgCity_Gym_EventScript_154F22:: @ 8154F22
PetalburgCity_Gym_EventScript_154F46:: @ 8154F46
setvar 0x8005, 0
call PetalburgCity_Gym_EventScript_15501E
- special 142
+ special DrawWholeMapView
release
end
@@ -881,7 +881,7 @@ PetalburgCity_Gym_EventScript_154F5E:: @ 8154F5E
PetalburgCity_Gym_EventScript_154F82:: @ 8154F82
setvar 0x8005, 0
call PetalburgCity_Gym_EventScript_155060
- special 142
+ special DrawWholeMapView
release
end
@@ -1010,12 +1010,12 @@ PetalburgCity_Gym_EventScript_15516F:: @ 815516F
return
PetalburgCity_Gym_EventScript_155182:: @ 8155182
- special 145
+ special PetalburgGymSpecial1
waitstate
return
PetalburgCity_Gym_EventScript_155187:: @ 8155187
- special 146
+ special PetalburgGymSpecial2
return
PetalburgCity_Gym_EventScript_15518B:: @ 815518B
diff --git a/data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc b/data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc
index 09d414dcb..5ef99eee1 100644
--- a/data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc
+++ b/data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc
@@ -27,7 +27,7 @@ PetalburgCity_PokemonCenter_1F_EventScript_155233:: @ 8155233
lock
faceplayer
msgbox PetalburgCity_PokemonCenter_1F_Text_17BDC5, 4
- specialval RESULT, 302
+ specialval RESULT, IsStarterInParty
compare RESULT, 1
jumpeq PetalburgCity_PokemonCenter_1F_EventScript_15524F
release
diff --git a/data/scripts/maps/PetalburgWoods.inc b/data/scripts/maps/PetalburgWoods.inc
index 8d6946bcd..c24f7c195 100644
--- a/data/scripts/maps/PetalburgWoods.inc
+++ b/data/scripts/maps/PetalburgWoods.inc
@@ -271,7 +271,7 @@ PetalburgWoods_EventScript_15CF27:: @ 815CF27
PetalburgWoods_EventScript_15CF3E:: @ 815CF3E
trainerbattle 0, OPPONENT_JAMES_1, 0, PetalburgWoods_Text_19526A, PetalburgWoods_Text_1952AE
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq PetalburgWoods_EventScript_15CF65
msgbox PetalburgWoods_Text_1952CC, 6
diff --git a/data/scripts/maps/Route101.inc b/data/scripts/maps/Route101.inc
index 944473e96..8462603a6 100644
--- a/data/scripts/maps/Route101.inc
+++ b/data/scripts/maps/Route101.inc
@@ -224,12 +224,12 @@ Route101_EventScript_14EA7F:: @ 814EA7F
movesprite 255, 6, 13
move 255, Route101_Movement_1A083F
waitmove 0
- special 156
+ special ChooseStarter
waitstate
move 2, Route101_Movement_14EAD7
waitmove 0
msgbox Route101_Text_16D191, 4
- special 0
+ special HealPlayerParty
setflag 720
clearflag 721
setflag 700
diff --git a/data/scripts/maps/Route102.inc b/data/scripts/maps/Route102.inc
index 70d25eace..b0a714763 100644
--- a/data/scripts/maps/Route102.inc
+++ b/data/scripts/maps/Route102.inc
@@ -19,7 +19,7 @@ Route102_EventScript_14EAF5:: @ 814EAF5
Route102_EventScript_14EAFE:: @ 814EAFE
trainerbattle 0, OPPONENT_CALVIN_1, 0, Route102_Text_1B79C3, Route102_Text_1B7A2C
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route102_EventScript_14EB25
msgbox Route102_Text_1B7A60, 6
diff --git a/data/scripts/maps/Route103.inc b/data/scripts/maps/Route103.inc
index f47f5a824..4c7da3d0d 100644
--- a/data/scripts/maps/Route103.inc
+++ b/data/scripts/maps/Route103.inc
@@ -173,7 +173,7 @@ Route103_EventScript_14ED94:: @ 814ED94
Route103_EventScript_14EDAB:: @ 814EDAB
trainerbattle 4, OPPONENT_AMY_AND_LIV_1, 0, Route103_Text_1B7DF7, Route103_Text_1B7E3B, Route103_Text_1B7EAC
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route103_EventScript_14EDD6
msgbox Route103_Text_1B7E50, 6
@@ -186,7 +186,7 @@ Route103_EventScript_14EDD6:: @ 814EDD6
Route103_EventScript_14EDF1:: @ 814EDF1
trainerbattle 4, OPPONENT_AMY_AND_LIV_1, 0, Route103_Text_1B7EFB, Route103_Text_1B7F20, Route103_Text_1B7F8E
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route103_EventScript_14EE1C
msgbox Route103_Text_1B7F40, 6
@@ -204,7 +204,7 @@ Route103_EventScript_14EE37:: @ 814EE37
Route103_EventScript_14EE4E:: @ 814EE4E
trainerbattle 0, OPPONENT_MIGUEL_1, 0, Route103_Text_1B82A9, Route103_Text_1B82EC
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route103_EventScript_14EE75
msgbox Route103_Text_1B830D, 6
diff --git a/data/scripts/maps/Route104.inc b/data/scripts/maps/Route104.inc
index bb98b023d..b617767bf 100644
--- a/data/scripts/maps/Route104.inc
+++ b/data/scripts/maps/Route104.inc
@@ -409,7 +409,7 @@ Route104_EventScript_14F189:: @ 814F189
Route104_EventScript_14F1A0:: @ 814F1A0
trainerbattle 0, OPPONENT_HALEY_1, 0, Route104_Text_1B8770, Route104_Text_1B87A7
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route104_EventScript_14F1C7
msgbox Route104_Text_1B87C3, 6
@@ -422,7 +422,7 @@ Route104_EventScript_14F1C7:: @ 814F1C7
Route104_EventScript_14F1DE:: @ 814F1DE
trainerbattle 0, OPPONENT_WINSTON_1, 0, Route104_Text_1B88D4, Route104_Text_1B8911
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route104_EventScript_14F205
msgbox Route104_Text_1B8925, 6
@@ -435,7 +435,7 @@ Route104_EventScript_14F205:: @ 814F205
Route104_EventScript_14F21C:: @ 814F21C
trainerbattle 0, OPPONENT_CINDY_1, 0, Route104_Text_1B8A24, Route104_Text_1B8A61
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route104_EventScript_14F243
msgbox Route104_Text_1B8A69, 6
@@ -448,14 +448,14 @@ Route104_EventScript_14F243:: @ 814F243
Route104_EventScript_14F25A:: @ 814F25A
trainerbattle 4, OPPONENT_GINA_AND_MIA_1, 0, Route104_Text_1B83E9, Route104_Text_1B8414, Route104_Text_1B845C
- special 148
+ special GetPlayerBigGuyGirlString
msgbox Route104_Text_1B842C, 4
release
end
Route104_EventScript_14F279:: @ 814F279
trainerbattle 4, OPPONENT_GINA_AND_MIA_1, 0, Route104_Text_1B84DB, Route104_Text_1B850D, Route104_Text_1B8577
- special 148
+ special GetPlayerBigGuyGirlString
msgbox Route104_Text_1B853B, 4
release
end
diff --git a/data/scripts/maps/Route104_Prototype.inc b/data/scripts/maps/Route104_Prototype.inc
index 184127187..ff1c9d258 100644
--- a/data/scripts/maps/Route104_Prototype.inc
+++ b/data/scripts/maps/Route104_Prototype.inc
@@ -60,7 +60,7 @@ Route104_Prototype_EventScript_160CFB:: @ 8160CFB
pause 60
fadescreen 1
pause 60
- special 271
+ special DoSoftReset
waitstate
release
end
diff --git a/data/scripts/maps/Route106.inc b/data/scripts/maps/Route106.inc
index 1889eb4d7..0c25594c6 100644
--- a/data/scripts/maps/Route106.inc
+++ b/data/scripts/maps/Route106.inc
@@ -17,7 +17,7 @@ Route106_EventScript_14F34F:: @ 814F34F
Route106_EventScript_14F366:: @ 814F366
trainerbattle 0, OPPONENT_ELLIOT_1, 0, Route106_Text_1B8EF0, Route106_Text_1B8F25
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route106_EventScript_14F38D
msgbox Route106_Text_1B8F55, 6
diff --git a/data/scripts/maps/Route107.inc b/data/scripts/maps/Route107.inc
index ef3407265..a14bb7298 100644
--- a/data/scripts/maps/Route107.inc
+++ b/data/scripts/maps/Route107.inc
@@ -8,7 +8,7 @@ Route107_EventScript_14F3BC:: @ 814F3BC
Route107_EventScript_14F3D3:: @ 814F3D3
trainerbattle 0, OPPONENT_TONY_1, 0, Route107_Text_1B933A, Route107_Text_1B9365
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route107_EventScript_14F3FA
msgbox Route107_Text_1B938E, 6
diff --git a/data/scripts/maps/Route109.inc b/data/scripts/maps/Route109.inc
index 343a8cab9..58c38173e 100644
--- a/data/scripts/maps/Route109.inc
+++ b/data/scripts/maps/Route109.inc
@@ -327,7 +327,7 @@ Route109_EventScript_14F70E:: @ 814F70E
Route109_EventScript_14F725:: @ 814F725
lock
faceplayer
- special 148
+ special GetPlayerBigGuyGirlString
checkflag 280
jumpeq Route109_EventScript_14F762
msgbox Route109_Text_16E433, 4
@@ -396,7 +396,7 @@ Route109_EventScript_14F7F2:: @ 814F7F2
Route109_EventScript_14F809:: @ 814F809
trainerbattle 0, OPPONENT_RICKY_1, 0, Route109_Text_1B9C23, Route109_Text_1B9C65
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route109_EventScript_14F830
msgbox Route109_Text_1B9C6E, 6
@@ -409,7 +409,7 @@ Route109_EventScript_14F830:: @ 814F830
Route109_EventScript_14F847:: @ 814F847
trainerbattle 0, OPPONENT_LOLA_1, 0, Route109_Text_1B9D54, Route109_Text_1B9D87
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route109_EventScript_14F86E
msgbox Route109_Text_1B9D8E, 6
diff --git a/data/scripts/maps/Route110.inc b/data/scripts/maps/Route110.inc
index 55c8f67df..d8c19d92c 100644
--- a/data/scripts/maps/Route110.inc
+++ b/data/scripts/maps/Route110.inc
@@ -5,7 +5,7 @@ Route110_MapScripts:: @ 814F900
.byte 0
Route110_MapScript1_14F910:: @ 814F910
- special 229
+ special UpdateCyclingRoadState
end
Route110_MapScript1_14F914:: @ 814F914
@@ -25,7 +25,7 @@ Route110_MapScript2_14F933:: @ 814F933
.2byte 0
Route110_EventScript_14F93D:: @ 814F93D
- special 226
+ special BeginCyclingRoadChallenge
setvar 0x40a9, 2
return
@@ -131,7 +131,7 @@ Route110_EventScript_14FA25:: @ 814FA25
Route110_EventScript_14FA2E:: @ 814FA2E
lockall
- specialval RESULT, 225
+ specialval RESULT, GetRecordedCyclingRoadResults
compare RESULT, 0
jumpeq Route110_EventScript_14FA49
msgbox Route110_Text_16F53A, 4
@@ -146,7 +146,7 @@ Route110_EventScript_14FA49:: @ 814FA49
Route110_EventScript_14FA53:: @ 814FA53
lock
faceplayer
- specialval RESULT, 227
+ specialval RESULT, GetPlayerAvatarBike
compare RESULT, 1
jumpeq Route110_EventScript_14FA84
compare 0x40a9, 0
@@ -177,7 +177,7 @@ Route110_EventScript_14FAA5:: @ 814FAA5
Route110_EventScript_14FABC:: @ 814FABC
trainerbattle 0, OPPONENT_EDWIN_1, 0, Route110_Text_1BA7D2, Route110_Text_1BA803
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route110_EventScript_14FAE3
msgbox Route110_Text_1BA829, 6
@@ -205,7 +205,7 @@ Route110_EventScript_14FB28:: @ 814FB28
Route110_EventScript_14FB3F:: @ 814FB3F
trainerbattle 0, OPPONENT_BENJAMIN_1, 0, Route110_Text_1BA352, Route110_Text_1BA379
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route110_EventScript_14FB66
msgbox Route110_Text_1BA3A5, 6
@@ -223,7 +223,7 @@ Route110_EventScript_14FB7D:: @ 814FB7D
Route110_EventScript_14FB94:: @ 814FB94
trainerbattle 0, OPPONENT_ABIGAIL_1, 0, Route110_Text_1BA4A0, Route110_Text_1BA50F
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route110_EventScript_14FBBB
msgbox Route110_Text_1BA52E, 6
@@ -236,7 +236,7 @@ Route110_EventScript_14FBBB:: @ 814FBBB
Route110_EventScript_14FBD2:: @ 814FBD2
trainerbattle 0, OPPONENT_ISABEL_1, 0, Route110_Text_1BA990, Route110_Text_1BA9D0
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route110_EventScript_14FBF9
msgbox Route110_Text_1BA9E9, 6
@@ -261,7 +261,7 @@ Route110_EventScript_14FC27:: @ 814FC27
end
Route110_EventScript_14FC39:: @ 814FC39
- special 228
+ special FinishCyclingRoadChallenge
msgbox Route110_Text_16EF65, 4
switch RESULT
case 10, Route110_EventScript_14FCC3
diff --git a/data/scripts/maps/Route110_SeasideCyclingRoadNorthEntrance.inc b/data/scripts/maps/Route110_SeasideCyclingRoadNorthEntrance.inc
index 0dbd5dfc4..96e492b39 100644
--- a/data/scripts/maps/Route110_SeasideCyclingRoadNorthEntrance.inc
+++ b/data/scripts/maps/Route110_SeasideCyclingRoadNorthEntrance.inc
@@ -23,7 +23,7 @@ Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634EB:: @ 81634EB
Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634F7:: @ 81634F7
@ Coord event directly in front of the gatesman heading left to right
lockall
- specialval RESULT, 227 @ player state?
+ specialval RESULT, GetPlayerAvatarBike @ player state?
compare RESULT, 2
callif 1, Route110_SeasideCyclingRoadNorthEntrance_EventScript_16351D
compare RESULT, 0
diff --git a/data/scripts/maps/Route110_SeasideCyclingRoadSouthEntrance.inc b/data/scripts/maps/Route110_SeasideCyclingRoadSouthEntrance.inc
index 96fb13f2b..08d6fb5f1 100644
--- a/data/scripts/maps/Route110_SeasideCyclingRoadSouthEntrance.inc
+++ b/data/scripts/maps/Route110_SeasideCyclingRoadSouthEntrance.inc
@@ -10,7 +10,7 @@ Route110_SeasideCyclingRoadSouthEntrance_EventScript_16347F:: @ 816347F
Route110_SeasideCyclingRoadSouthEntrance_EventScript_16348B:: @ 816348B
lockall
- specialval RESULT, 227
+ specialval RESULT, GetPlayerAvatarBike
compare RESULT, 0
jumpeq Route110_SeasideCyclingRoadSouthEntrance_EventScript_1634A6
setflag 2091
diff --git a/data/scripts/maps/Route110_TrickHouseEnd.inc b/data/scripts/maps/Route110_TrickHouseEnd.inc
index d2b2eaefb..10e1a6865 100644
--- a/data/scripts/maps/Route110_TrickHouseEnd.inc
+++ b/data/scripts/maps/Route110_TrickHouseEnd.inc
@@ -13,7 +13,7 @@ Route110_TrickHouseEnd_MapScript1_16194B:: @ 816194B
Route110_TrickHouseEnd_MapScript1_161957:: @ 8161957
setvar 0x4001, 0
setvar 0x4002, 0
- special 261
+ special SetTrickHouseEndRoomFlag
end
Route110_TrickHouseEnd_MapScript2_161965:: @ 8161965
@@ -33,7 +33,7 @@ Route110_TrickHouseEnd_MapScript2_16197C:: @ 816197C
Route110_TrickHouseEnd_EventScript_161986:: @ 8161986
setvar 0x4001, 1
call Route110_TrickHouseEnd_EventScript_161994
- special 142
+ special DrawWholeMapView
end
Route110_TrickHouseEnd_EventScript_161994:: @ 8161994
@@ -175,7 +175,7 @@ Route110_TrickHouseEnd_EventScript_161BAF:: @ 8161BAF
callif 1, Route110_TrickHouseEnd_EventScript_161C61
msgbox Route110_TrickHouseEnd_Text_19C85C, 4
call Route110_TrickHouseEnd_EventScript_161C2E
- special 260
+ special ResetTrickHouseEndRoomFlag
release
end
diff --git a/data/scripts/maps/Route110_TrickHouseEntrance.inc b/data/scripts/maps/Route110_TrickHouseEntrance.inc
index 434794b2f..2601942be 100644
--- a/data/scripts/maps/Route110_TrickHouseEntrance.inc
+++ b/data/scripts/maps/Route110_TrickHouseEntrance.inc
@@ -502,7 +502,7 @@ Route110_TrickHouseEntrance_EventScript_1615C7:: @ 81615C7
Route110_TrickHouseEntrance_EventScript_1615DD:: @ 81615DD
setmaptile 5, 1, 537, 0
- special 142
+ special DrawWholeMapView
pause 20
move 255, Route110_TrickHouseEntrance_Movement_1A0856
waitmove 0
@@ -608,7 +608,7 @@ Route110_TrickHouseEntrance_EventScript_161740:: @ 8161740
playsfx SE_PIN
setvar 0x40AB, 2
setmaptile 13, 1, 523, 0
- special 142
+ special DrawWholeMapView
releaseall
end
@@ -619,7 +619,7 @@ Route110_TrickHouseEntrance_EventScript_161769:: @ 8161769
playsfx SE_PIN
setvar 0x40AC, 2
setmaptile 13, 1, 523, 0
- special 142
+ special DrawWholeMapView
releaseall
end
@@ -630,7 +630,7 @@ Route110_TrickHouseEntrance_EventScript_161792:: @ 8161792
playsfx SE_PIN
setvar 0x40AD, 2
setmaptile 13, 1, 523, 0
- special 142
+ special DrawWholeMapView
releaseall
end
@@ -641,7 +641,7 @@ Route110_TrickHouseEntrance_EventScript_1617BB:: @ 81617BB
playsfx SE_PIN
setvar 0x40AE, 2
setmaptile 13, 1, 523, 0
- special 142
+ special DrawWholeMapView
releaseall
end
@@ -652,7 +652,7 @@ Route110_TrickHouseEntrance_EventScript_1617E4:: @ 81617E4
playsfx SE_PIN
setvar 0x40AF, 2
setmaptile 13, 1, 523, 0
- special 142
+ special DrawWholeMapView
releaseall
end
@@ -663,7 +663,7 @@ Route110_TrickHouseEntrance_EventScript_16180D:: @ 816180D
playsfx SE_PIN
setvar 0x40B0, 2
setmaptile 13, 1, 523, 0
- special 142
+ special DrawWholeMapView
releaseall
end
@@ -674,7 +674,7 @@ Route110_TrickHouseEntrance_EventScript_161836:: @ 8161836
playsfx SE_PIN
setvar 0x40B1, 2
setmaptile 13, 1, 523, 0
- special 142
+ special DrawWholeMapView
releaseall
end
@@ -685,7 +685,7 @@ Route110_TrickHouseEntrance_EventScript_16185F:: @ 816185F
playsfx SE_PIN
setvar 0x40B2, 2
setmaptile 13, 1, 523, 0
- special 142
+ special DrawWholeMapView
releaseall
end
diff --git a/data/scripts/maps/Route110_TrickHousePuzzle2.inc b/data/scripts/maps/Route110_TrickHousePuzzle2.inc
index 183431bfc..27ffad50d 100644
--- a/data/scripts/maps/Route110_TrickHousePuzzle2.inc
+++ b/data/scripts/maps/Route110_TrickHousePuzzle2.inc
@@ -38,7 +38,7 @@ Route110_TrickHousePuzzle2_EventScript_161DE0:: @ 8161DE0
setvar 0x4001, 1
playsfx 21
call Route110_TrickHousePuzzle2_EventScript_161E2C
- special 142
+ special DrawWholeMapView
releaseall
end
@@ -47,7 +47,7 @@ Route110_TrickHousePuzzle2_EventScript_161DF3:: @ 8161DF3
setvar 0x4002, 1
playsfx 21
call Route110_TrickHousePuzzle2_EventScript_161E3F
- special 142
+ special DrawWholeMapView
releaseall
end
@@ -56,7 +56,7 @@ Route110_TrickHousePuzzle2_EventScript_161E06:: @ 8161E06
setvar 0x4003, 1
playsfx 21
call Route110_TrickHousePuzzle2_EventScript_161E52
- special 142
+ special DrawWholeMapView
releaseall
end
@@ -65,7 +65,7 @@ Route110_TrickHousePuzzle2_EventScript_161E19:: @ 8161E19
setvar 0x4004, 1
playsfx 21
call Route110_TrickHousePuzzle2_EventScript_161E65
- special 142
+ special DrawWholeMapView
releaseall
end
diff --git a/data/scripts/maps/Route110_TrickHousePuzzle3.inc b/data/scripts/maps/Route110_TrickHousePuzzle3.inc
index b533dbbe5..efd96ec44 100644
--- a/data/scripts/maps/Route110_TrickHousePuzzle3.inc
+++ b/data/scripts/maps/Route110_TrickHousePuzzle3.inc
@@ -351,7 +351,7 @@ Route110_TrickHousePuzzle3_EventScript_1626AD:: @ 81626AD
callif 1, Route110_TrickHousePuzzle3_EventScript_161FE5
compare 0x4009, 0
callif 1, Route110_TrickHousePuzzle3_EventScript_1622C8
- special 142
+ special DrawWholeMapView
compare 0x4009, 1
jumpeq Route110_TrickHousePuzzle3_EventScript_1626DD
compare 0x4009, 0
diff --git a/data/scripts/maps/Route110_TrickHousePuzzle6.inc b/data/scripts/maps/Route110_TrickHousePuzzle6.inc
index 56d350871..1e47bbd83 100644
--- a/data/scripts/maps/Route110_TrickHousePuzzle6.inc
+++ b/data/scripts/maps/Route110_TrickHousePuzzle6.inc
@@ -4,7 +4,7 @@ Route110_TrickHousePuzzle6_MapScripts:: @ 81630CD
.byte 0
Route110_TrickHousePuzzle6_MapScript1_1630D8:: @ 81630D8
- special 201
+ special RotatingGate_InitPuzzle
end
Route110_TrickHousePuzzle6_MapScript2_1630DC:: @ 81630DC
@@ -12,7 +12,7 @@ Route110_TrickHousePuzzle6_MapScript2_1630DC:: @ 81630DC
.2byte 0
Route110_TrickHousePuzzle6_EventScript_1630E6:: @ 81630E6
- special 202
+ special RotatingGate_InitPuzzleAndGraphics
end
Route110_TrickHousePuzzle6_EventScript_1630EA:: @ 81630EA
diff --git a/data/scripts/maps/Route110_TrickHousePuzzle7.inc b/data/scripts/maps/Route110_TrickHousePuzzle7.inc
index 1276562d0..7f965b467 100644
--- a/data/scripts/maps/Route110_TrickHousePuzzle7.inc
+++ b/data/scripts/maps/Route110_TrickHousePuzzle7.inc
@@ -125,7 +125,7 @@ Route110_TrickHousePuzzle7_EventScript_1632B9:: @ 81632B9
callif 0, Route110_TrickHousePuzzle7_EventScript_163195
checkflag 194
callif 1, Route110_TrickHousePuzzle7_EventScript_1631F4
- special 142
+ special DrawWholeMapView
playsfx 36
checkflag 194
jumpif 0, Route110_TrickHousePuzzle7_EventScript_1633A4
@@ -140,7 +140,7 @@ Route110_TrickHousePuzzle7_EventScript_1632E8:: @ 81632E8
callif 0, Route110_TrickHousePuzzle7_EventScript_1631A8
checkflag 195
callif 1, Route110_TrickHousePuzzle7_EventScript_163207
- special 142
+ special DrawWholeMapView
playsfx 36
checkflag 195
jumpif 0, Route110_TrickHousePuzzle7_EventScript_1633AE
@@ -155,7 +155,7 @@ Route110_TrickHousePuzzle7_EventScript_163317:: @ 8163317
callif 0, Route110_TrickHousePuzzle7_EventScript_1631BB
checkflag 196
callif 1, Route110_TrickHousePuzzle7_EventScript_16321A
- special 142
+ special DrawWholeMapView
playsfx 36
checkflag 196
jumpif 0, Route110_TrickHousePuzzle7_EventScript_1633B8
@@ -170,7 +170,7 @@ Route110_TrickHousePuzzle7_EventScript_163346:: @ 8163346
callif 0, Route110_TrickHousePuzzle7_EventScript_1631CE
checkflag 197
callif 1, Route110_TrickHousePuzzle7_EventScript_16322D
- special 142
+ special DrawWholeMapView
playsfx 36
checkflag 197
jumpif 0, Route110_TrickHousePuzzle7_EventScript_1633C2
@@ -185,7 +185,7 @@ Route110_TrickHousePuzzle7_EventScript_163375:: @ 8163375
callif 0, Route110_TrickHousePuzzle7_EventScript_1631E1
checkflag 198
callif 1, Route110_TrickHousePuzzle7_EventScript_163240
- special 142
+ special DrawWholeMapView
playsfx 36
checkflag 198
jumpif 0, Route110_TrickHousePuzzle7_EventScript_1633CC
diff --git a/data/scripts/maps/Route111.inc b/data/scripts/maps/Route111.inc
index 10b34cf5f..1358a44be 100644
--- a/data/scripts/maps/Route111.inc
+++ b/data/scripts/maps/Route111.inc
@@ -128,7 +128,7 @@ Route111_EventScript_1500C5:: @ 81500C5
compare RESULT, 0
jumpeq Route111_EventScript_1A029B
setflag 2252
- special 148
+ special GetPlayerBigGuyGirlString
msgbox Route111_Text_1C5781, 4
release
end
@@ -392,7 +392,7 @@ Route111_EventScript_1503EC:: @ 81503EC
Route111_EventScript_150403:: @ 8150403
trainerbattle 0, OPPONENT_DUSTY_1, 0, Route111_Text_1BAEC9, Route111_Text_1BAF14
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route111_EventScript_15042A
msgbox Route111_Text_1BAF5B, 6
@@ -420,7 +420,7 @@ Route111_EventScript_15046F:: @ 815046F
Route111_EventScript_150486:: @ 8150486
trainerbattle 0, OPPONENT_WILTON_1, 0, Route111_Text_1BB2E3, Route111_Text_1BB313
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route111_EventScript_1504AD
msgbox Route111_Text_1BB33E, 6
@@ -433,7 +433,7 @@ Route111_EventScript_1504AD:: @ 81504AD
Route111_EventScript_1504C4:: @ 81504C4
trainerbattle 0, OPPONENT_BROOKE_1, 0, Route111_Text_1BB44F, Route111_Text_1BB49F
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route111_EventScript_1504EB
msgbox Route111_Text_1BB4CE, 6
diff --git a/data/scripts/maps/Route112.inc b/data/scripts/maps/Route112.inc
index c2ad14a02..1c1e36838 100644
--- a/data/scripts/maps/Route112.inc
+++ b/data/scripts/maps/Route112.inc
@@ -38,7 +38,7 @@ Route112_EventScript_150549:: @ 8150549
Route112_EventScript_150560:: @ 8150560
trainerbattle 0, OPPONENT_TRENT_1, 0, Route112_Text_1BB6A0, Route112_Text_1BB707
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route112_EventScript_150587
msgbox Route112_Text_1BB721, 6
diff --git a/data/scripts/maps/Route112_CableCarStation.inc b/data/scripts/maps/Route112_CableCarStation.inc
index 3e5f75929..016b868a8 100644
--- a/data/scripts/maps/Route112_CableCarStation.inc
+++ b/data/scripts/maps/Route112_CableCarStation.inc
@@ -48,8 +48,8 @@ Route112_CableCarStation_EventScript_15C0AD:: @ 815C0AD
setvar 0x8004, 0
setvar 0x40a3, 1
inccounter GAME_STAT_RODE_CABLE_CAR
- special 151
- special 152
+ special CableCarWarp
+ special sub_8123218
waitstate
release
end
diff --git a/data/scripts/maps/Route113.inc b/data/scripts/maps/Route113.inc
index c07f537d1..1fc5a9345 100644
--- a/data/scripts/maps/Route113.inc
+++ b/data/scripts/maps/Route113.inc
@@ -60,7 +60,7 @@ Route113_EventScript_150652:: @ 8150652
Route113_EventScript_150669:: @ 8150669
trainerbattle 0, OPPONENT_MADELINE_1, 0, Route113_Text_1BBB27, Route113_Text_1BBB7A
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route113_EventScript_150690
msgbox Route113_Text_1BBB9A, 6
@@ -73,7 +73,7 @@ Route113_EventScript_150690:: @ 8150690
Route113_EventScript_1506A7:: @ 81506A7
trainerbattle 0, OPPONENT_LAO_1, 0, Route113_Text_1BBC59, Route113_Text_1BBC90
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route113_EventScript_1506CE
msgbox Route113_Text_1BBCAB, 6
diff --git a/data/scripts/maps/Route113_GlassWorkshop.inc b/data/scripts/maps/Route113_GlassWorkshop.inc
index d59942472..83983f9bb 100644
--- a/data/scripts/maps/Route113_GlassWorkshop.inc
+++ b/data/scripts/maps/Route113_GlassWorkshop.inc
@@ -52,7 +52,7 @@ Route113_GlassWorkshop_EventScript_1635E4:: @ 81635E4
Route113_GlassWorkshop_EventScript_1635EE:: @ 81635EE
setvar 0x8009, 0
- special 274
+ special ShowGlassWorkshopMenu
waitstate
switch RESULT
case 0, Route113_GlassWorkshop_EventScript_163660
diff --git a/data/scripts/maps/Route114.inc b/data/scripts/maps/Route114.inc
index 33e89be70..cfe1dfe7d 100644
--- a/data/scripts/maps/Route114.inc
+++ b/data/scripts/maps/Route114.inc
@@ -87,7 +87,7 @@ Route114_EventScript_150836:: @ 8150836
Route114_EventScript_15084D:: @ 815084D
trainerbattle 0, OPPONENT_STEVE_1, 0, Route114_Text_1BC2F5, Route114_Text_1BC327
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route114_EventScript_150874
msgbox Route114_Text_1BC337, 6
@@ -100,7 +100,7 @@ Route114_EventScript_150874:: @ 8150874
Route114_EventScript_15088B:: @ 815088B
trainerbattle 0, OPPONENT_BERNIE_1, 0, Route114_Text_1BC45A, Route114_Text_1BC499
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route114_EventScript_1508B2
msgbox Route114_Text_1BC4B5, 6
diff --git a/data/scripts/maps/Route115.inc b/data/scripts/maps/Route115.inc
index e2c00f6fc..2b0d744ca 100644
--- a/data/scripts/maps/Route115.inc
+++ b/data/scripts/maps/Route115.inc
@@ -15,7 +15,7 @@ Route115_EventScript_150940:: @ 8150940
Route115_EventScript_150949:: @ 8150949
trainerbattle 0, OPPONENT_TIMOTHY_1, 0, Route115_Text_1BC9AC, Route115_Text_1BC9E6
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route115_EventScript_150970
msgbox Route115_Text_1BCA0E, 6
@@ -33,7 +33,7 @@ Route115_EventScript_150987:: @ 8150987
Route115_EventScript_15099E:: @ 815099E
trainerbattle 0, OPPONENT_NOB_1, 0, Route115_Text_1BCB8A, Route115_Text_1BCBC1
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route115_EventScript_1509C5
msgbox Route115_Text_1BCBDE, 6
@@ -46,7 +46,7 @@ Route115_EventScript_1509C5:: @ 81509C5
Route115_EventScript_1509DC:: @ 81509DC
trainerbattle 0, OPPONENT_CYNDY_1, 0, Route115_Text_1BCCF4, Route115_Text_1BCD32
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route115_EventScript_150A03
msgbox Route115_Text_1BCD4C, 6
diff --git a/data/scripts/maps/Route116.inc b/data/scripts/maps/Route116.inc
index c563dce46..f5ef82f8b 100644
--- a/data/scripts/maps/Route116.inc
+++ b/data/scripts/maps/Route116.inc
@@ -150,7 +150,7 @@ Route116_EventScript_150B8F:: @ 8150B8F
checkitem ITEM_BLACK_GLASSES, 1
compare RESULT, 1
jumpeq Route116_EventScript_150BCA
- specialval RESULT, 316
+ specialval RESULT, sub_810F828
compare RESULT, 1
jumpeq Route116_EventScript_150BBB
msgbox Route116_Text_1708EE, 4
@@ -166,7 +166,7 @@ Route116_EventScript_150BBB:: @ 8150BBB
Route116_EventScript_150BCA:: @ 8150BCA
msgbox Route116_Text_1708EE, 4
msgbox Route116_Text_170921, 4
- specialval RESULT, 316
+ specialval RESULT, sub_810F828
compare RESULT, 1
jumpeq Route116_EventScript_150BF4
msgbox Route116_Text_170A03, 4
@@ -240,7 +240,7 @@ Route116_EventScript_150C79:: @ 8150C79
Route116_EventScript_150C90:: @ 8150C90
trainerbattle 0, OPPONENT_JERRY_1, 0, Route116_Text_1BD1C0, Route116_Text_1BD21A
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route116_EventScript_150CB7
msgbox Route116_Text_1BD248, 6
@@ -263,7 +263,7 @@ Route116_EventScript_150CE5:: @ 8150CE5
Route116_EventScript_150CFC:: @ 8150CFC
trainerbattle 0, OPPONENT_KAREN_1, 0, Route116_Text_1BD377, Route116_Text_1BD3AC
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route116_EventScript_150D23
msgbox Route116_Text_1BD3C3, 6
diff --git a/data/scripts/maps/Route117.inc b/data/scripts/maps/Route117.inc
index 8c738ffff..61dbf6a30 100644
--- a/data/scripts/maps/Route117.inc
+++ b/data/scripts/maps/Route117.inc
@@ -40,7 +40,7 @@ Route117_EventScript_150D84:: @ 8150D84
Route117_EventScript_150D8D:: @ 8150D8D
trainerbattle 0, OPPONENT_ISAAC_1, 0, Route117_Text_1BD49E, Route117_Text_1BD4D9
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route117_EventScript_150DB4
msgbox Route117_Text_1BD4F9, 6
@@ -53,7 +53,7 @@ Route117_EventScript_150DB4:: @ 8150DB4
Route117_EventScript_150DCB:: @ 8150DCB
trainerbattle 0, OPPONENT_LYDIA_1, 0, Route117_Text_1BD634, Route117_Text_1BD67B
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route117_EventScript_150DF2
msgbox Route117_Text_1BD69B, 6
@@ -66,7 +66,7 @@ Route117_EventScript_150DF2:: @ 8150DF2
Route117_EventScript_150E09:: @ 8150E09
trainerbattle 0, OPPONENT_DYLAN_1, 0, Route117_Text_1BD79A, Route117_Text_1BD7E0
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route117_EventScript_150E30
msgbox Route117_Text_1BD7F5, 6
@@ -79,7 +79,7 @@ Route117_EventScript_150E30:: @ 8150E30
Route117_EventScript_150E47:: @ 8150E47
trainerbattle 0, OPPONENT_MARIA_1, 0, Route117_Text_1BD914, Route117_Text_1BD965
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route117_EventScript_150E6E
msgbox Route117_Text_1BD98F, 6
@@ -97,7 +97,7 @@ Route117_EventScript_150E85:: @ 8150E85
Route117_EventScript_150E9C:: @ 8150E9C
trainerbattle 4, OPPONENT_ANNA_AND_MEG_1, 0, Route117_Text_1BDBC3, Route117_Text_1BDC07, Route117_Text_1BDC96
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route117_EventScript_150EC7
msgbox Route117_Text_1BDC44, 6
@@ -110,7 +110,7 @@ Route117_EventScript_150EC7:: @ 8150EC7
Route117_EventScript_150EE2:: @ 8150EE2
trainerbattle 4, OPPONENT_ANNA_AND_MEG_1, 0, Route117_Text_1BDCD2, Route117_Text_1BDD1E, Route117_Text_1BDD8B
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route117_EventScript_150F0D
msgbox Route117_Text_1BDD4E, 6
diff --git a/data/scripts/maps/Route118.inc b/data/scripts/maps/Route118.inc
index 4d739ce68..0b5b4748e 100644
--- a/data/scripts/maps/Route118.inc
+++ b/data/scripts/maps/Route118.inc
@@ -161,7 +161,7 @@ Route118_Movement_151086:: @ 8151086
Route118_EventScript_15108F:: @ 815108F
trainerbattle 0, OPPONENT_ROSE_1, 0, Route118_Text_1BDFF4, Route118_Text_1BE03C
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route118_EventScript_1510B6
msgbox Route118_Text_1BE05E, 6
@@ -184,7 +184,7 @@ Route118_EventScript_1510E4:: @ 81510E4
Route118_EventScript_1510FB:: @ 81510FB
trainerbattle 0, OPPONENT_DALTON_1, 0, Route118_Text_1BE3E8, Route118_Text_1BE406
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route118_EventScript_151122
msgbox Route118_Text_1BE413, 6
diff --git a/data/scripts/maps/Route119.inc b/data/scripts/maps/Route119.inc
index 1ccc972bb..55a3fb1dc 100644
--- a/data/scripts/maps/Route119.inc
+++ b/data/scripts/maps/Route119.inc
@@ -29,7 +29,7 @@ Route119_MapScript1_15119B:: @ 815119B
call Route119_EventScript_1A0196
compare 0x40b3, 1
callif 1, Route119_EventScript_1511B9
- special 324
+ special SetRoute119Weather
end
Route119_EventScript_1511B9:: @ 81511B9
@@ -296,7 +296,7 @@ Route119_EventScript_1514A8:: @ 81514A8
Route119_EventScript_1514BF:: @ 81514BF
trainerbattle 0, OPPONENT_JACKSON_1, 0, Route119_Text_1BE8BB, Route119_Text_1BE90E
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route119_EventScript_1514E6
msgbox Route119_Text_1BE937, 6
@@ -309,7 +309,7 @@ Route119_EventScript_1514E6:: @ 81514E6
Route119_EventScript_1514FD:: @ 81514FD
trainerbattle 0, OPPONENT_CATHERINE_1, 0, Route119_Text_1BEA3A, Route119_Text_1BEA88
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route119_EventScript_151524
msgbox Route119_Text_1BEAB3, 6
diff --git a/data/scripts/maps/Route119_WeatherInstitute_1F.inc b/data/scripts/maps/Route119_WeatherInstitute_1F.inc
index 36314a59f..95ec39d61 100644
--- a/data/scripts/maps/Route119_WeatherInstitute_1F.inc
+++ b/data/scripts/maps/Route119_WeatherInstitute_1F.inc
@@ -16,7 +16,7 @@ Route119_WeatherInstitute_1F_EventScript_163C41:: @ 8163C41
Route119_WeatherInstitute_1F_EventScript_163C4D:: @ 8163C4D
lock
faceplayer
- special 148
+ special GetPlayerBigGuyGirlString
compare 0x40b3, 0
jumpeq Route119_WeatherInstitute_1F_EventScript_163C67
msgbox Route119_WeatherInstitute_1F_Text_19ED22, 4
diff --git a/data/scripts/maps/Route120.inc b/data/scripts/maps/Route120.inc
index ada773ffd..75385fe8f 100644
--- a/data/scripts/maps/Route120.inc
+++ b/data/scripts/maps/Route120.inc
@@ -120,7 +120,7 @@ Route120_EventScript_151739:: @ 8151739
callif 1, Route120_EventScript_151841
compare RESULT, 0
callif 1, Route120_EventScript_15184A
- specialval RESULT, 147
+ specialval RESULT, GetPlayerTrainerIdOnesDigit
switch RESULT
case 0, Route120_EventScript_1517DC
case 5, Route120_EventScript_1517DC
@@ -254,7 +254,7 @@ Route120_EventScript_151908:: @ 8151908
setmaptile 12, 16, 671, 0
setmaptile 12, 17, 161, 0
setmaptile 13, 17, 161, 0
- special 142
+ special DrawWholeMapView
release
end
@@ -292,7 +292,7 @@ Route120_EventScript_1519B3:: @ 81519B3
Route120_EventScript_1519CA:: @ 81519CA
trainerbattle 0, OPPONENT_ROBERT_1, 0, Route120_Text_1BF07E, Route120_Text_1BF0A5
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route120_EventScript_1519F1
msgbox Route120_Text_1BF0C3, 6
@@ -315,7 +315,7 @@ Route120_EventScript_151A1F:: @ 8151A1F
Route120_EventScript_151A36:: @ 8151A36
trainerbattle 0, OPPONENT_BRANDON_1, 0, Route120_Text_1BF32B, Route120_Text_1BF36B
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route120_EventScript_151A5D
msgbox Route120_Text_1BF38D, 6
diff --git a/data/scripts/maps/Route121.inc b/data/scripts/maps/Route121.inc
index 54912b0bc..e1aaec716 100644
--- a/data/scripts/maps/Route121.inc
+++ b/data/scripts/maps/Route121.inc
@@ -73,7 +73,7 @@ Route121_EventScript_151B72:: @ 8151B72
Route121_EventScript_151B89:: @ 8151B89
trainerbattle 0, OPPONENT_WALTER_1, 0, Route121_Text_1BFA1B, Route121_Text_1BFA8C
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route121_EventScript_151BB0
msgbox Route121_Text_1BFA9D, 6
@@ -101,7 +101,7 @@ Route121_EventScript_151BF9:: @ 8151BF9
Route121_EventScript_151C14:: @ 8151C14
trainerbattle 0, OPPONENT_JESSICA_1, 0, Route121_Text_1BFE51, Route121_Text_1BFE80
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route121_EventScript_151C3B
msgbox Route121_Text_1BFEAE, 6
diff --git a/data/scripts/maps/Route121_SafariZoneEntrance.inc b/data/scripts/maps/Route121_SafariZoneEntrance.inc
index 2056bc328..251b09c73 100644
--- a/data/scripts/maps/Route121_SafariZoneEntrance.inc
+++ b/data/scripts/maps/Route121_SafariZoneEntrance.inc
@@ -10,7 +10,7 @@ Route121_SafariZoneEntrance_EventScript_15C333:: @ 815C333
lockall
move 255, Route121_SafariZoneEntrance_Movement_15C348
waitmove 0
- special 206
+ special ExitSafariMode
setvar 0x40a4, 0
releaseall
end
@@ -80,7 +80,7 @@ Route121_SafariZoneEntrance_EventScript_15C3B3:: @ 815C3B3
hidemoney 0, 0
move 255, Route121_SafariZoneEntrance_Movement_15C47E
waitmove 0
- special 205
+ special EnterSafariMode
setvar 0x40a4, 2
warp SafariZone_Southeast, 255, 32, 33
waitstate
@@ -90,7 +90,7 @@ Route121_SafariZoneEntrance_EventScript_15C425:: @ 815C425
countpokemon
compare RESULT, 6
jumpif 5, Route121_SafariZoneEntrance_EventScript_15C44F
- specialval RESULT, 304
+ specialval RESULT, CheckFreePokemonStorageSpace
compare RESULT, 1
jumpeq Route121_SafariZoneEntrance_EventScript_15C44F
msgbox Route121_SafariZoneEntrance_Text_1C39A3, 4
diff --git a/data/scripts/maps/Route123.inc b/data/scripts/maps/Route123.inc
index e9248c230..891a395f0 100644
--- a/data/scripts/maps/Route123.inc
+++ b/data/scripts/maps/Route123.inc
@@ -3,7 +3,7 @@ Route123_MapScripts:: @ 8151C53
.byte 0
Route123_MapScript1_151C59:: @ 8151C59
- special 325
+ special SetRoute123Weather
end
Route123_EventScript_151C5D:: @ 8151C5D
@@ -12,7 +12,7 @@ Route123_EventScript_151C5D:: @ 8151C5D
checkflag 232
jumpeq Route123_EventScript_151CAC
msgbox Route123_Text_171D83, 4
- special 299
+ special IsGrassTypeInParty
compare RESULT, 0
jumpeq Route123_EventScript_151CAA
msgbox Route123_Text_171DC2, 4
@@ -62,7 +62,7 @@ Route123_EventScript_151CFF:: @ 8151CFF
Route123_EventScript_151D16:: @ 8151D16
trainerbattle 0, OPPONENT_CAMERON_1, 0, Route123_Text_1C013F, Route123_Text_1C01A3
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route123_EventScript_151D3D
msgbox Route123_Text_1C01B1, 6
@@ -75,7 +75,7 @@ Route123_EventScript_151D3D:: @ 8151D3D
Route123_EventScript_151D54:: @ 8151D54
trainerbattle 0, OPPONENT_JACKI_1, 0, Route123_Text_1C028C, Route123_Text_1C0303
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route123_EventScript_151D7B
msgbox Route123_Text_1C030F, 6
diff --git a/data/scripts/maps/Route124.inc b/data/scripts/maps/Route124.inc
index ea288daa0..68f17b12a 100644
--- a/data/scripts/maps/Route124.inc
+++ b/data/scripts/maps/Route124.inc
@@ -23,7 +23,7 @@ Route124_EventScript_151E0F:: @ 8151E0F
Route124_EventScript_151E26:: @ 8151E26
trainerbattle 0, OPPONENT_JENNY_1, 0, Route124_Text_1C07B4, Route124_Text_1C07F9
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route124_EventScript_151E4D
msgbox Route124_Text_1C080E, 6
@@ -46,7 +46,7 @@ Route124_EventScript_151E7B:: @ 8151E7B
Route124_EventScript_151E92:: @ 8151E92
trainerbattle 4, OPPONENT_RITA_AND_SAM_1, 0, Route124_Text_1C0ABD, Route124_Text_1C0B36, Route124_Text_1C0BC8
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route124_EventScript_151EBD
msgbox Route124_Text_1C0B72, 6
@@ -59,7 +59,7 @@ Route124_EventScript_151EBD:: @ 8151EBD
Route124_EventScript_151ED8:: @ 8151ED8
trainerbattle 4, OPPONENT_RITA_AND_SAM_1, 0, Route124_Text_1C0C0E, Route124_Text_1C0C4F, Route124_Text_1C0CE0
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route124_EventScript_151F03
msgbox Route124_Text_1C0C7F, 6
diff --git a/data/scripts/maps/Route125.inc b/data/scripts/maps/Route125.inc
index 0059fe6aa..a5d2457d5 100644
--- a/data/scripts/maps/Route125.inc
+++ b/data/scripts/maps/Route125.inc
@@ -29,7 +29,7 @@ Route125_EventScript_151F73:: @ 8151F73
Route125_EventScript_151F8A:: @ 8151F8A
trainerbattle 0, OPPONENT_ERNEST_1, 0, Route125_Text_1C11AF, Route125_Text_1C11ED
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route125_EventScript_151FB1
msgbox Route125_Text_1C1208, 6
diff --git a/data/scripts/maps/Route128.inc b/data/scripts/maps/Route128.inc
index 28317c4e3..011591400 100644
--- a/data/scripts/maps/Route128.inc
+++ b/data/scripts/maps/Route128.inc
@@ -17,7 +17,7 @@ Route128_EventScript_15213F:: @ 815213F
lockall
pause 20
.ifndef SAPPHIRE
- special 317
+ special sub_807E25C
waitstate
.endif
move 4, Route128_Movement_152271
@@ -182,7 +182,7 @@ Route128_Movement_1522A1:: @ 81522A1
Route128_EventScript_1522A4:: @ 81522A4
trainerbattle 0, OPPONENT_ISAIAH_1, 0, Route128_Text_1C1C67, Route128_Text_1C1C95
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route128_EventScript_1522CB
msgbox Route128_Text_1C1CC3, 6
@@ -195,7 +195,7 @@ Route128_EventScript_1522CB:: @ 81522CB
Route128_EventScript_1522E2:: @ 81522E2
trainerbattle 0, OPPONENT_KATELYN_1, 0, Route128_Text_1C1DB0, Route128_Text_1C1E25
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq Route128_EventScript_152309
msgbox Route128_Text_1C1E4A, 6
diff --git a/data/scripts/maps/Route130.inc b/data/scripts/maps/Route130.inc
index 38818dba3..bac6728a7 100644
--- a/data/scripts/maps/Route130.inc
+++ b/data/scripts/maps/Route130.inc
@@ -3,7 +3,7 @@ Route130_MapScripts:: @ 81523C2
.byte 0
Route130_MapScript1_1523C8:: @ 81523C8
- specialval RESULT, 209
+ specialval RESULT, IsMirageIslandPresent
compare RESULT, 1
jumpeq Route130_EventScript_15240C
setflag 17
diff --git a/data/scripts/maps/RustboroCity_House1.inc b/data/scripts/maps/RustboroCity_House1.inc
index a10d7b69e..402fff1d3 100644
--- a/data/scripts/maps/RustboroCity_House1.inc
+++ b/data/scripts/maps/RustboroCity_House1.inc
@@ -8,25 +8,25 @@ RustboroCity_House1_EventScript_157C7D:: @ 8157C7D
jumpeq RustboroCity_House1_EventScript_157D13
setvar 0x8008, 0
copyvar 0x8004, 0x8008
- specialval RESULT, 252
+ specialval RESULT, sub_804D89C
copyvar 0x8009, RESULT
msgbox RustboroCity_House1_Text_184EBA, 5
compare RESULT, 0
jumpeq RustboroCity_House1_EventScript_157CFB
- special 159
+ special sub_80F9A0C
waitstate
copyvar 0x800a, 0x8004
compare 0x8004, 255
jumpeq RustboroCity_House1_EventScript_157CFB
copyvar 0x8005, 0x800a
- specialval RESULT, 255
+ specialval RESULT, sub_804DB2C
copyvar 0x800b, RESULT
comparevars RESULT, 0x8009
jumpif 5, RustboroCity_House1_EventScript_157D05
copyvar 0x8004, 0x8008
copyvar 0x8005, 0x800a
- special 253
- special 254
+ special sub_804DB68
+ special sub_804E174
waitstate
msgbox RustboroCity_House1_Text_184F6B, 4
setflag 153
diff --git a/data/scripts/maps/SSTidalCorridor.inc b/data/scripts/maps/SSTidalCorridor.inc
index ff4857852..58cfbec47 100644
--- a/data/scripts/maps/SSTidalCorridor.inc
+++ b/data/scripts/maps/SSTidalCorridor.inc
@@ -10,7 +10,7 @@ SSTidalCorridor_MapScript2_15FC9A:: @ 815FC9A
.2byte 0
SSTidalCorridor_EventScript_15FCBC:: @ 815FCBC
- special 203
+ special SetSSTidalFlag
setvar 0x40b4, 2
lockall
playsfx 73
@@ -27,14 +27,14 @@ SSTidalCorridor_EventScript_15FCD2:: @ 815FCD2
end
SSTidalRooms_EventScript_15FCE5:: @ 815FCE5
- special 203
+ special SetSSTidalFlag
setvar 0x40b4, 7
playsfx 73
msgbox SSTidalRooms_Text_199007, 4
return
SSTidalRooms_EventScript_15FCF9:: @ 815FCF9
- special 204
+ special ResetSSTidalFlag
setvar 0x40b4, 4
playsfx 73
msgbox SSTidalRooms_Text_1990F8, 4
@@ -48,7 +48,7 @@ gUnknown_0815FD0D:: @ 815FD0D
end
SSTidalCorridor_EventScript_15FD24:: @ 815FD24
- special 204
+ special ResetSSTidalFlag
setvar 0x40b4, 3
lockall
playsfx 73
@@ -57,7 +57,7 @@ SSTidalCorridor_EventScript_15FD24:: @ 815FD24
end
SSTidalCorridor_EventScript_15FD3A:: @ 815FD3A
- special 204
+ special ResetSSTidalFlag
setvar 0x40b4, 8
lockall
playsfx 73
@@ -66,7 +66,7 @@ SSTidalCorridor_EventScript_15FD3A:: @ 815FD3A
end
SSTidalRooms_EventScript_15FD50:: @ 815FD50
- special 204
+ special ResetSSTidalFlag
setvar 0x40b4, 8
playsfx 73
msgbox SSTidalRooms_Text_1990B4, 4
@@ -156,7 +156,7 @@ SSTidalCorridor_EventScript_15FE3A:: @ 815FE3A
end
SSTidalCorridor_EventScript_15FE5B:: @ 815FE5B
- special 270
+ special sub_80C7958
waitstate
end
diff --git a/data/scripts/maps/SafariZone_Southeast.inc b/data/scripts/maps/SafariZone_Southeast.inc
index 196efbb35..22fd5ec56 100644
--- a/data/scripts/maps/SafariZone_Southeast.inc
+++ b/data/scripts/maps/SafariZone_Southeast.inc
@@ -93,7 +93,7 @@ SafariZone_Southeast_EventScript_16011F:: @ 816011F
SafariZone_Southeast_EventScript_160139:: @ 8160139
setvar 0x40a4, 1
- special 206
+ special ExitSafariMode
warpwalk Route121_SafariZoneEntrance, 255, 2, 5
waitstate
end
diff --git a/data/scripts/maps/SeafloorCavern_Room9.inc b/data/scripts/maps/SeafloorCavern_Room9.inc
index ff8592f7d..71184346f 100644
--- a/data/scripts/maps/SeafloorCavern_Room9.inc
+++ b/data/scripts/maps/SeafloorCavern_Room9.inc
@@ -64,14 +64,14 @@ SeafloorCavern_Room9_EventScript_15DAFA:: @ 815DAFA
.endif
setweather 0
doweather
- special 332
+ special sub_8081924
waitstate
.ifdef SAPPHIRE
msgbox UnknownString_81B43C4, 4
.else
msgbox SeafloorCavern_Room9_Text_1B4A5A, 4
.endif
- special 284
+ special WaitWeather
waitstate
.ifdef SAPPHIRE
setvar RESULT, 1
@@ -91,7 +91,7 @@ SeafloorCavern_Room9_EventScript_15DAFA:: @ 815DAFA
.endif
fanfare 388
playsfx 107
- special 281
+ special sub_80818A4
move 0x8004, SeafloorCavern_Room9_Movement_1A0841
move 255, SeafloorCavern_Room9_Movement_1A0841
waitmove 0
@@ -102,11 +102,11 @@ SeafloorCavern_Room9_EventScript_15DAFA:: @ 815DAFA
pause 60
move 1, SeafloorCavern_Room9_Movement_15DD4C
waitmove 0
- special 282
+ special sub_80818FC
waitstate
setvar 0x8004, 1
setvar 0x8005, 1
- special 310
+ special sub_810F758
waitstate
move 1, SeafloorCavern_Room9_Movement_15DD57
waitmove 0
@@ -114,7 +114,7 @@ SeafloorCavern_Room9_EventScript_15DAFA:: @ 815DAFA
pause 4
setvar 0x8004, 2
setvar 0x8005, 2
- special 310
+ special sub_810F758
waitstate
pause 30
setvar 0x8004, 2
diff --git a/data/scripts/maps/SealedChamber_InnerRoom.inc b/data/scripts/maps/SealedChamber_InnerRoom.inc
index 16d4c7003..76a930dc0 100644
--- a/data/scripts/maps/SealedChamber_InnerRoom.inc
+++ b/data/scripts/maps/SealedChamber_InnerRoom.inc
@@ -8,23 +8,23 @@ SealedChamber_InnerRoom_EventScript_15F1E8:: @ 815F1E8
hidebox 0, 0, 29, 19
checkflag 228
jumpeq SealedChamber_InnerRoom_EventScript_15F247
- specialval RESULT, 279
+ specialval RESULT, CheckRelicanthWailord
compare RESULT, 0
jumpeq SealedChamber_InnerRoom_EventScript_15F247
fadeout 0
playsfx 49
- special 305
+ special DoSealedChamberShakingEffect1
waitstate
pause 40
- special 315
+ special DoSealedChamberShakingEffect2
waitstate
playsfx 8
pause 40
- special 315
+ special DoSealedChamberShakingEffect2
waitstate
playsfx 8
pause 40
- special 315
+ special DoSealedChamberShakingEffect2
waitstate
playsfx 8
pause 40
diff --git a/data/scripts/maps/SecretBase_YellowCave4.inc b/data/scripts/maps/SecretBase_YellowCave4.inc
index 4ccbc2f0e..302bc3930 100644
--- a/data/scripts/maps/SecretBase_YellowCave4.inc
+++ b/data/scripts/maps/SecretBase_YellowCave4.inc
@@ -11,7 +11,7 @@ SecretBase_RedCave1_MapScript1_15F34C:: @ 815F34C
SecretBase_RedCave1_MapScript1_15F34F:: @ 815F34F
call SecretBase_RedCave1_EventScript_1A2F3D
- special 22
+ special sub_80BBFA4
end
SecretBase_RedCave1_MapScript2_15F358:: @ 815F358
diff --git a/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc b/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc
index 9b822a473..38a1c9a74 100644
--- a/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc
+++ b/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc
@@ -3,7 +3,7 @@ ShoalCave_LowTideEntranceRoom_MapScripts:: @ 815E057
.byte 0
ShoalCave_LowTideEntranceRoom_MapScript1_15E05D:: @ 815E05D
- special 210
+ special UpdateShoalTideFlag
checkflag 2106
jumpeq ShoalCave_LowTideEntranceRoom_EventScript_15E06E
jump ShoalCave_LowTideEntranceRoom_EventScript_15E072
diff --git a/data/scripts/maps/ShoalCave_LowTideInnerRoom.inc b/data/scripts/maps/ShoalCave_LowTideInnerRoom.inc
index eab522a1f..3078b4625 100644
--- a/data/scripts/maps/ShoalCave_LowTideInnerRoom.inc
+++ b/data/scripts/maps/ShoalCave_LowTideInnerRoom.inc
@@ -76,7 +76,7 @@ ShoalCave_LowTideInnerRoom_EventScript_15E257:: @ 815E257
compare RESULT, 0
jumpeq ShoalCave_LowTideInnerRoom_EventScript_1A029B
setmaptile 41, 20, 859, 0
- special 142
+ special DrawWholeMapView
setflag 956
releaseall
end
@@ -94,7 +94,7 @@ ShoalCave_LowTideInnerRoom_EventScript_15E293:: @ 815E293
compare RESULT, 0
jumpeq ShoalCave_LowTideInnerRoom_EventScript_1A029B
setmaptile 41, 10, 859, 0
- special 142
+ special DrawWholeMapView
setflag 957
releaseall
end
@@ -107,7 +107,7 @@ ShoalCave_LowTideInnerRoom_EventScript_15E2C5:: @ 815E2C5
compare RESULT, 0
jumpeq ShoalCave_LowTideInnerRoom_EventScript_1A029B
setmaptile 6, 9, 859, 0
- special 142
+ special DrawWholeMapView
setflag 958
releaseall
end
@@ -120,7 +120,7 @@ ShoalCave_LowTideInnerRoom_EventScript_15E2F7:: @ 815E2F7
compare RESULT, 0
jumpeq ShoalCave_LowTideInnerRoom_EventScript_1A029B
setmaptile 16, 13, 859, 0
- special 142
+ special DrawWholeMapView
setflag 959
releaseall
end
@@ -133,7 +133,7 @@ ShoalCave_LowTideInnerRoom_EventScript_15E329:: @ 815E329
compare RESULT, 0
jumpeq ShoalCave_LowTideInnerRoom_EventScript_1A029B
setmaptile 31, 8, 858, 0
- special 142
+ special DrawWholeMapView
setflag 952
releaseall
end
@@ -151,7 +151,7 @@ ShoalCave_LowTideInnerRoom_EventScript_15E365:: @ 815E365
compare RESULT, 0
jumpeq ShoalCave_LowTideInnerRoom_EventScript_1A029B
setmaptile 14, 26, 858, 0
- special 142
+ special DrawWholeMapView
setflag 953
releaseall
end
diff --git a/data/scripts/maps/ShoalCave_LowTideLowerRoom.inc b/data/scripts/maps/ShoalCave_LowTideLowerRoom.inc
index dfcd5b83f..67de2676f 100644
--- a/data/scripts/maps/ShoalCave_LowTideLowerRoom.inc
+++ b/data/scripts/maps/ShoalCave_LowTideLowerRoom.inc
@@ -23,7 +23,7 @@ ShoalCave_LowTideLowerRoom_EventScript_15E413:: @ 815E413
compare RESULT, 0
jumpeq ShoalCave_LowTideLowerRoom_EventScript_1A029B
setmaptile 18, 2, 858, 0
- special 142
+ special DrawWholeMapView
setflag 955
releaseall
end
diff --git a/data/scripts/maps/ShoalCave_LowTideStairsRoom.inc b/data/scripts/maps/ShoalCave_LowTideStairsRoom.inc
index 584a57818..c46a2cb2d 100644
--- a/data/scripts/maps/ShoalCave_LowTideStairsRoom.inc
+++ b/data/scripts/maps/ShoalCave_LowTideStairsRoom.inc
@@ -23,7 +23,7 @@ ShoalCave_LowTideStairsRoom_EventScript_15E3B7:: @ 815E3B7
compare RESULT, 0
jumpeq ShoalCave_LowTideStairsRoom_EventScript_1A029B
setmaptile 11, 11, 858, 0
- special 142
+ special DrawWholeMapView
setflag 954
releaseall
end
diff --git a/data/scripts/maps/SkyPillar_Top.inc b/data/scripts/maps/SkyPillar_Top.inc
index b28d89d93..23db6a8ea 100644
--- a/data/scripts/maps/SkyPillar_Top.inc
+++ b/data/scripts/maps/SkyPillar_Top.inc
@@ -21,7 +21,7 @@ SkyPillar_Top_EventScript_15F316:: @ 815F316
waitpokecry
setflag 773
setflag 2145
- special 312
+ special StartBattle_Rayquaza
waitstate
clearflag 2145
release
diff --git a/data/scripts/maps/SlateportCity.inc b/data/scripts/maps/SlateportCity.inc
index 6125c4871..48eb5c1df 100644
--- a/data/scripts/maps/SlateportCity.inc
+++ b/data/scripts/maps/SlateportCity.inc
@@ -66,10 +66,10 @@ SlateportCity_EventScript_14BAE0:: @ 814BAE0
faceplayer
bufferfirstpoke 0
msgbox SlateportCity_Text_164682, 4
- specialval RESULT, 292
+ specialval RESULT, LeadMonHasEffortRibbon
compare RESULT, 1
callif 1, SlateportCity_EventScript_14BB35
- specialval RESULT, 294
+ specialval RESULT, GetLeadMonEVCount
compare RESULT, 0
callif 1, SlateportCity_EventScript_14BB2B
msgbox SlateportCity_Text_164691, 4
@@ -78,7 +78,7 @@ SlateportCity_EventScript_14BAE0:: @ 814BAE0
waitfanfare
waittext
msgbox SlateportCity_Text_1646FC, 4
- special 293
+ special GivLeadMonEffortRibbon
release
end
diff --git a/data/scripts/maps/SlateportCity_ContestLobby.inc b/data/scripts/maps/SlateportCity_ContestLobby.inc
index b2cce5312..b1ce50815 100644
--- a/data/scripts/maps/SlateportCity_ContestLobby.inc
+++ b/data/scripts/maps/SlateportCity_ContestLobby.inc
@@ -11,7 +11,7 @@ SlateportCity_ContestLobby_EventScript_15541D:: @ 815541D
setvar CONTEST_RANK, 2
call SlateportCity_ContestLobby_EventScript_1A4E92
call SlateportCity_ContestLobby_EventScript_155448
- special 83
+ special sub_80C4BF0
call SlateportCity_ContestLobby_EventScript_15FBDB
setvar 0x4088, 3
warp LinkContestRoom1, 255, 7, 5
@@ -25,13 +25,13 @@ SlateportCity_ContestLobby_EventScript_155448:: @ 8155448
playsfx 71
setmaptile 4, 2, 545, 1
setmaptile 4, 3, 609, 1
- special 142
+ special DrawWholeMapView
move 1, SlateportCity_ContestLobby_Movement_1554CF
waitmove 0
playsfx 71
setmaptile 4, 2, 721, 1
setmaptile 4, 3, 729, 1
- special 142
+ special DrawWholeMapView
pause 20
move 1, SlateportCity_ContestLobby_Movement_1554DC
waitmove 0
@@ -128,7 +128,7 @@ SlateportCity_ContestLobby_EventScript_155536:: @ 8155536
@ 815553F
lockall
- special 259
+ special ShowBerryBlenderRecordWindow
waitbutton
hidebox 0, 0, 29, 19
releaseall
diff --git a/data/scripts/maps/SlateportCity_House1.inc b/data/scripts/maps/SlateportCity_House1.inc
index 702e52d84..4161889e1 100644
--- a/data/scripts/maps/SlateportCity_House1.inc
+++ b/data/scripts/maps/SlateportCity_House1.inc
@@ -13,7 +13,7 @@ SlateportCity_House1_EventScript_15567B:: @ 815567B
SlateportCity_House1_EventScript_15569C:: @ 815569C
msgbox SlateportCity_House1_Text_17D4DB, 4
- special 159
+ special sub_80F9A0C
waitstate
compare 0x8004, 255
jumpif 5, SlateportCity_House1_EventScript_1556C9
@@ -27,15 +27,15 @@ SlateportCity_House1_EventScript_1556BF:: @ 81556BF
end
SlateportCity_House1_EventScript_1556C9:: @ 81556C9
- specialval RESULT, 327
+ specialval RESULT, ScriptGetPartyMonSpecies
compare RESULT, SPECIES_EGG
jumpeq SlateportCity_House1_EventScript_15571C
- special 124
- special 125
+ special sub_80BFAE0
+ special sub_80BFB10
compare RESULT, 1
jumpeq SlateportCity_House1_EventScript_155726
- specialval RESULT, 336
- special 124
+ specialval RESULT, sub_810F96C
+ special sub_80BFAE0
compare RESULT, 1
jumpeq SlateportCity_House1_EventScript_155726
msgbox SlateportCity_House1_Text_17D505, 5
@@ -58,8 +58,8 @@ SlateportCity_House1_EventScript_155726:: @ 8155726
SlateportCity_House1_EventScript_155730:: @ 8155730
msgbox SlateportCity_House1_Text_17D580, 4
call SlateportCity_House1_EventScript_1A0678
- specialval RESULT, 123
- special 124
+ specialval RESULT, sub_80BF9B4
+ special sub_80BFAE0
compare RESULT, 1
jumpeq SlateportCity_House1_EventScript_15575A
msgbox SlateportCity_House1_Text_17D63A, 4
diff --git a/data/scripts/maps/SlateportCity_PokemonFanClub.inc b/data/scripts/maps/SlateportCity_PokemonFanClub.inc
index 8f0323f77..0a7466a3b 100644
--- a/data/scripts/maps/SlateportCity_PokemonFanClub.inc
+++ b/data/scripts/maps/SlateportCity_PokemonFanClub.inc
@@ -144,7 +144,7 @@ SlateportCity_PokemonFanClub_EventScript_155998:: @ 8155998
end
SlateportCity_PokemonFanClub_EventScript_1559A2:: @ 81559A2
- specialval RESULT, 265
+ specialval RESULT, CheckLeadMonCool
compare RESULT, 1
callif 1, SlateportCity_PokemonFanClub_EventScript_1559B3
return
@@ -154,7 +154,7 @@ SlateportCity_PokemonFanClub_EventScript_1559B3:: @ 81559B3
return
SlateportCity_PokemonFanClub_EventScript_1559B9:: @ 81559B9
- specialval RESULT, 266
+ specialval RESULT, CheckLeadMonBeauty
compare RESULT, 1
callif 1, SlateportCity_PokemonFanClub_EventScript_1559CA
return
@@ -164,7 +164,7 @@ SlateportCity_PokemonFanClub_EventScript_1559CA:: @ 81559CA
return
SlateportCity_PokemonFanClub_EventScript_1559D0:: @ 81559D0
- specialval RESULT, 267
+ specialval RESULT, CheckLeadMonCute
compare RESULT, 1
callif 1, SlateportCity_PokemonFanClub_EventScript_1559E1
return
@@ -174,7 +174,7 @@ SlateportCity_PokemonFanClub_EventScript_1559E1:: @ 81559E1
return
SlateportCity_PokemonFanClub_EventScript_1559E7:: @ 81559E7
- specialval RESULT, 268
+ specialval RESULT, CheckLeadMonSmart
compare RESULT, 1
callif 1, SlateportCity_PokemonFanClub_EventScript_1559F8
return
@@ -184,7 +184,7 @@ SlateportCity_PokemonFanClub_EventScript_1559F8:: @ 81559F8
return
SlateportCity_PokemonFanClub_EventScript_1559FE:: @ 81559FE
- specialval RESULT, 269
+ specialval RESULT, CheckLeadMonTough
compare RESULT, 1
callif 1, SlateportCity_PokemonFanClub_EventScript_155A0F
return
@@ -199,7 +199,7 @@ SlateportCity_PokemonFanClub_EventScript_155A15:: @ 8155A15
checkflag 278
jumpeq SlateportCity_PokemonFanClub_EventScript_155A75
msgbox SlateportCity_PokemonFanClub_Text_17DE6B, 4
- specialval RESULT, 230
+ specialval RESULT, GetLeadMonFriendshipScore
compare RESULT, 4
jumpif 4, SlateportCity_PokemonFanClub_EventScript_155A3A
release
diff --git a/data/scripts/maps/SootopolisCity.inc b/data/scripts/maps/SootopolisCity.inc
index 3d9c2dc93..0c22fbc37 100644
--- a/data/scripts/maps/SootopolisCity.inc
+++ b/data/scripts/maps/SootopolisCity.inc
@@ -91,7 +91,7 @@ SootopolisCity_EventScript_14D19F:: @ 814D19F
lock
faceplayer
checkdailyflags
- special 148
+ special GetPlayerBigGuyGirlString
checkflag 2258
jumpeq SootopolisCity_EventScript_14D241
msgbox SootopolisCity_Text_1C63F2, 4
diff --git a/data/scripts/maps/SootopolisCity_Gym_1F.inc b/data/scripts/maps/SootopolisCity_Gym_1F.inc
index e28ab4547..32bf4d619 100644
--- a/data/scripts/maps/SootopolisCity_Gym_1F.inc
+++ b/data/scripts/maps/SootopolisCity_Gym_1F.inc
@@ -15,7 +15,7 @@ SootopolisCity_Gym_1F_MapScript1_15AF22:: @ 815AF22
SootopolisCity_Gym_1F_MapScript1_15AF25:: @ 815AF25
call SootopolisCity_Gym_1F_EventScript_15AF2E
- special 309
+ special sub_8069D78
end
SootopolisCity_Gym_1F_EventScript_15AF2E:: @ 815AF2E
@@ -51,7 +51,7 @@ SootopolisCity_Gym_1F_EventScript_15AFA8:: @ 815AFA8
pause 40
playsfx 40
call SootopolisCity_Gym_1F_EventScript_15AF2E
- special 142
+ special DrawWholeMapView
end
SootopolisCity_Gym_1F_EventScript_15AFBC:: @ 815AFBC
@@ -59,7 +59,7 @@ SootopolisCity_Gym_1F_EventScript_15AFBC:: @ 815AFBC
pause 40
playsfx 40
call SootopolisCity_Gym_1F_EventScript_15AF2E
- special 142
+ special DrawWholeMapView
end
SootopolisCity_Gym_1F_EventScript_15AFD0:: @ 815AFD0
@@ -67,7 +67,7 @@ SootopolisCity_Gym_1F_EventScript_15AFD0:: @ 815AFD0
pause 40
playsfx 40
call SootopolisCity_Gym_1F_EventScript_15AF2E
- special 142
+ special DrawWholeMapView
end
SootopolisCity_Gym_1F_EventScript_15AFE4:: @ 815AFE4
diff --git a/data/scripts/maps/SootopolisCity_House8.inc b/data/scripts/maps/SootopolisCity_House8.inc
index c52965124..9d7618316 100644
--- a/data/scripts/maps/SootopolisCity_House8.inc
+++ b/data/scripts/maps/SootopolisCity_House8.inc
@@ -2,16 +2,16 @@ SootopolisCity_House8_MapScripts:: @ 815B400
.byte 0
SootopolisCity_House8_EventScript_15B401:: @ 815B401
- special 119
+ special GetShroomishSizeRecordInfo
lock
faceplayer
msgbox SootopolisCity_House8_Text_1900F7, 4
- special 159
+ special sub_80F9A0C
waitstate
copyvar RESULT, 0x8004
compare RESULT, 255
jumpeq SootopolisCity_House8_EventScript_15B448
- special 120
+ special CompareShroomishSize
compare RESULT, 1
jumpeq SootopolisCity_House8_EventScript_15B452
compare RESULT, 2
@@ -51,16 +51,16 @@ SootopolisCity_House8_EventScript_15B488:: @ 815B488
end
SootopolisCity_House8_EventScript_15B492:: @ 815B492
- special 121
+ special GetBarboachSizeRecordInfo
lock
faceplayer
msgbox SootopolisCity_House8_Text_190431, 4
- special 159
+ special sub_80F9A0C
waitstate
copyvar RESULT, 0x8004
compare RESULT, 255
jumpeq SootopolisCity_House8_EventScript_15B4D9
- special 122
+ special CompareBarboachSize
compare RESULT, 1
jumpeq SootopolisCity_House8_EventScript_15B4E3
compare RESULT, 2
@@ -100,14 +100,14 @@ SootopolisCity_House8_EventScript_15B519:: @ 815B519
end
SootopolisCity_House8_EventScript_15B523:: @ 815B523
- special 119
+ special GetShroomishSizeRecordInfo
lockall
msgbox SootopolisCity_House8_Text_1903C9, 4
releaseall
end
SootopolisCity_House8_EventScript_15B531:: @ 815B531
- special 121
+ special GetBarboachSizeRecordInfo
lockall
msgbox SootopolisCity_House8_Text_1906BE, 4
releaseall
diff --git a/data/scripts/maps/SouthernIsland_Interior.inc b/data/scripts/maps/SouthernIsland_Interior.inc
index d3b944f29..3adf3545f 100644
--- a/data/scripts/maps/SouthernIsland_Interior.inc
+++ b/data/scripts/maps/SouthernIsland_Interior.inc
@@ -49,7 +49,7 @@ SouthernIsland_Interior_EventScript_160BA7:: @ 8160BA7
checkflag 2131
jumpif 0, SouthernIsland_Interior_EventScript_160C08
setflag 206
- special 275
+ special SpawnCameraDummy
move 127, SouthernIsland_Interior_Movement_160C12
waitmove 0
pause 50
@@ -63,11 +63,11 @@ SouthernIsland_Interior_EventScript_160BA7:: @ 8160BA7
move 2, SouthernIsland_Interior_Movement_160C22
waitmove 0
pause 50
- special 276
+ special RemoveCameraDummy
setwildbattle SPECIES_LATIAS_OR_LATIOS, 50, ITEM_SOUL_DEW
setflag 911
setflag 2145
- special 323
+ special StartBattle_SouthernIsland
waitstate
clearflag 2145
releaseall
diff --git a/data/scripts/maps/UnknownMap_25_34.inc b/data/scripts/maps/UnknownMap_25_34.inc
index f4f1fe61c..cbd782f35 100644
--- a/data/scripts/maps/UnknownMap_25_34.inc
+++ b/data/scripts/maps/UnknownMap_25_34.inc
@@ -12,7 +12,7 @@ LinkContestRoom1_MapScript1_15F595:: @ 815F595
end
LinkContestRoom1_EventScript_15F5A5:: @ 815F5A5
- special 326
+ special ScriptGetMultiplayerId
compare RESULT, 0
callif 1, LinkContestRoom1_EventScript_15F5E0
compare RESULT, 1
@@ -127,7 +127,7 @@ LinkContestRoom1_EventScript_15F6DB:: @ 815F6DB
LinkContestRoom1_EventScript_15F6E6:: @ 815F6E6
setvar RESULT, 32
- special 340
+ special ScriptRandom
addvar RESULT, 1
switch RESULT
case 1, LinkContestRoom1_EventScript_15F859
diff --git a/data/scripts/maps/VerdanturfTown_ContestLobby.inc b/data/scripts/maps/VerdanturfTown_ContestLobby.inc
index 066ecbdce..8fd4016d1 100644
--- a/data/scripts/maps/VerdanturfTown_ContestLobby.inc
+++ b/data/scripts/maps/VerdanturfTown_ContestLobby.inc
@@ -11,7 +11,7 @@ VerdanturfTown_ContestLobby_EventScript_153D76:: @ 8153D76
setvar CONTEST_RANK, 0
call VerdanturfTown_ContestLobby_EventScript_1A4E92
call VerdanturfTown_ContestLobby_EventScript_153DA1
- special 83
+ special sub_80C4BF0
call VerdanturfTown_ContestLobby_EventScript_15FBDB
setvar 0x4088, 1
warp LinkContestRoom1, 255, 7, 5
@@ -25,13 +25,13 @@ VerdanturfTown_ContestLobby_EventScript_153DA1:: @ 8153DA1
playsfx 71
setmaptile 4, 2, 545, 1
setmaptile 4, 3, 609, 1
- special 142
+ special DrawWholeMapView
move 1, VerdanturfTown_ContestLobby_Movement_153E28
waitmove 0
playsfx 71
setmaptile 4, 2, 721, 1
setmaptile 4, 3, 729, 1
- special 142
+ special DrawWholeMapView
pause 20
move 1, VerdanturfTown_ContestLobby_Movement_153E35
waitmove 0
@@ -122,7 +122,7 @@ VerdanturfTown_ContestLobby_EventScript_153E80:: @ 8153E80
VerdanturfTown_ContestLobby_EventScript_153E89:: @ 8153E89
lockall
- special 259
+ special ShowBerryBlenderRecordWindow
waitbutton
hidebox 0, 0, 29, 19
releaseall
diff --git a/data/scripts/maps/VerdanturfTown_FriendshipRatersHouse.inc b/data/scripts/maps/VerdanturfTown_FriendshipRatersHouse.inc
index 2dc2e1355..5453fb42c 100644
--- a/data/scripts/maps/VerdanturfTown_FriendshipRatersHouse.inc
+++ b/data/scripts/maps/VerdanturfTown_FriendshipRatersHouse.inc
@@ -5,7 +5,7 @@ VerdanturfTown_FriendshipRatersHouse_EventScript_154030:: @ 8154030
lock
faceplayer
msgbox VerdanturfTown_FriendshipRatersHouse_Text_178A9C, 4
- specialval RESULT, 230
+ specialval RESULT, GetLeadMonFriendshipScore
switch RESULT
case 0, VerdanturfTown_FriendshipRatersHouse_EventScript_154093
case 1, VerdanturfTown_FriendshipRatersHouse_EventScript_15409D
diff --git a/data/scripts/maps/VictoryRoad_1F.inc b/data/scripts/maps/VictoryRoad_1F.inc
index b1f6e732b..f64ca20ab 100644
--- a/data/scripts/maps/VictoryRoad_1F.inc
+++ b/data/scripts/maps/VictoryRoad_1F.inc
@@ -93,7 +93,7 @@ VictoryRoad_1F_EventScript_15DF28:: @ 815DF28
VictoryRoad_1F_EventScript_15DF31:: @ 815DF31
trainerbattle 0, OPPONENT_WALLY_3, 0, VictoryRoad_1F_Text_1979BA, VictoryRoad_1F_Text_197A23
- specialval RESULT, 57
+ specialval RESULT, sub_8082C68
compare RESULT, 1
jumpeq VictoryRoad_1F_EventScript_15DF58
msgbox VictoryRoad_1F_Text_197A47, 6
diff --git a/data/scripts/mystery_event_club.inc b/data/scripts/mystery_event_club.inc
index 15d4b2a40..5fd68beca 100644
--- a/data/scripts/mystery_event_club.inc
+++ b/data/scripts/mystery_event_club.inc
@@ -44,7 +44,7 @@ PetalburgCity_PokemonCenter_1F_EventScript_1B1BB1:: @ 81B1BB1
PetalburgCity_PokemonCenter_1F_EventScript_1B1BBB:: @ 81B1BBB
setvar 0x8004, 0
- special 96
+ special sub_80EB7C4
waittext
pause 80
msgbox PetalburgCity_PokemonCenter_1F_Text_1B2137, 4
diff --git a/data/scripts/players_house.inc b/data/scripts/players_house.inc
index 9db432c2c..ca4b2bdb9 100644
--- a/data/scripts/players_house.inc
+++ b/data/scripts/players_house.inc
@@ -107,14 +107,14 @@ LittlerootTown_BrendansHouse_2F_EventScript_1B6A61:: @ 81B6A61
LittlerootTown_BrendansHouse_2F_EventScript_1B6A91:: @ 81B6A91
inccounter GAME_STAT_CHECKED_CLOCK
fadescreen 1
- special 155
+ special sub_810D6B8
waitstate
releaseall
end
LittlerootTown_BrendansHouse_2F_EventScript_1B6A9B:: @ 81B6A9B
fadescreen 1
- special 154
+ special StartWallClock
waitstate
return
@@ -221,7 +221,7 @@ LittlerootTown_MaysHouse_1F_EventScript_1B6BBE:: @ 81B6BBE
waitmove 0
msgbox LittlerootTown_BrendansHouse_1F_Text_172841, 4
fadedefault
- special 62
+ special TurnOffTVScreen
setflag 2096
pause 35
return
diff --git a/data/scripts/pokeblocks.inc b/data/scripts/pokeblocks.inc
index 2cb283173..e1add8734 100644
--- a/data/scripts/pokeblocks.inc
+++ b/data/scripts/pokeblocks.inc
@@ -49,11 +49,11 @@ FallarborTown_ContestLobby_EventScript_1B76A1:: @ 81B76A1
checkitem ITEM_POKEBLOCK_CASE, 1
compare RESULT, 0
jumpeq FallarborTown_ContestLobby_EventScript_1B7780
- specialval RESULT, 49
+ specialval RESULT, PlayerHasBerries
compare RESULT, 0
jumpeq FallarborTown_ContestLobby_EventScript_1B770E
msgbox FallarborTown_ContestLobby_Text_1B6E9D, 4
- specialval RESULT, 160
+ specialval RESULT, sub_810CA00
compare RESULT, 65535
jumpif 5, FallarborTown_ContestLobby_EventScript_1B76EF
compare RESULT, 65535
@@ -94,7 +94,7 @@ FallarborTown_ContestLobby_EventScript_1B7734:: @ 81B7734
FallarborTown_ContestLobby_EventScript_1B7742:: @ 81B7742
copyvar 0x8004, 0x8009
fadescreen 1
- special 161
+ special sub_804E538
waitstate
releaseall
end
@@ -148,7 +148,7 @@ VerdanturfTown_ContestLobby_EventScript_1B77B6:: @ 81B77B6
lock
faceplayer
msgbox FallarborTown_ContestLobby_Text_1B742F, 4
- specialval RESULT, 49
+ specialval RESULT, PlayerHasBerries
compare RESULT, 1
jumpeq FallarborTown_ContestLobby_EventScript_1B77DC
compare RESULT, 0
@@ -208,13 +208,13 @@ LilycoveCity_ContestLobby_EventScript_1B783B:: @ 81B783B
SlateportCity_ContestLobby_EventScript_1B783B:: @ 81B783B
VerdanturfTown_ContestLobby_EventScript_1B783B:: @ 81B783B
lockall
- specialval RESULT, 49
+ specialval RESULT, PlayerHasBerries
compare RESULT, 0
jumpeq FallarborTown_ContestLobby_EventScript_1B7897
checkitem ITEM_POKEBLOCK_CASE, 1
compare RESULT, 0
jumpeq FallarborTown_ContestLobby_EventScript_1B7942
- specialval RESULT, 160
+ specialval RESULT, sub_810CA00
compare RESULT, 65535
jumpif 5, FallarborTown_ContestLobby_EventScript_1B7878
compare RESULT, 65535
@@ -240,7 +240,7 @@ FallarborTown_ContestLobby_EventScript_1B78A1:: @ 81B78A1
jumpeq FallarborTown_ContestLobby_EventScript_1B7936
message FallarborTown_ContestLobby_Text_1B7304
waittext
- special 36
+ special sub_8083614
waitstate
compare RESULT, 1
jumpeq FallarborTown_ContestLobby_EventScript_1B7980
@@ -276,7 +276,7 @@ FallarborTown_ContestLobby_EventScript_1B791D:: @ 81B791D
disappear 239
disappear 238
disappear 237
- special 161
+ special sub_804E538
waitstate
releaseall
end
@@ -296,35 +296,35 @@ FallarborTown_ContestLobby_EventScript_1B7942:: @ 81B7942
end
FallarborTown_ContestLobby_EventScript_1B794C:: @ 81B794C
- special 31
+ special CloseLink
msgbox FallarborTown_ContestLobby_Text_1A4A30, 4
releaseall
end
FallarborTown_ContestLobby_EventScript_1B7959:: @ 81B7959
- special 31
+ special CloseLink
msgbox FallarborTown_ContestLobby_Text_1A4B1D, 4
releaseall
end
FallarborTown_ContestLobby_EventScript_1B7966:: @ 81B7966
- special 31
+ special CloseLink
msgbox FallarborTown_ContestLobby_Text_1A10EB, 4
releaseall
end
FallarborTown_ContestLobby_EventScript_1B7973:: @ 81B7973
- special 31
+ special CloseLink
msgbox FallarborTown_ContestLobby_Text_1A4A85, 4
releaseall
end
FallarborTown_ContestLobby_EventScript_1B7980:: @ 81B7980
fadescreen 1
- specialval RESULT, 37
+ specialval RESULT, GetLinkPartnerNames
copyvar 0x8008, RESULT
copyvar 0x8004, 0x8008
- special 38
+ special SpawnBerryBlenderLinkPlayerSprites
jump FallarborTown_ContestLobby_EventScript_1B799A
end
diff --git a/data/scripts/safari_zone.inc b/data/scripts/safari_zone.inc
index c8d519038..03293115b 100644
--- a/data/scripts/safari_zone.inc
+++ b/data/scripts/safari_zone.inc
@@ -1,12 +1,12 @@
gUnknown_081C340A:: @ 81C340A
setvar 0x40a4, 1
- special 206
+ special ExitSafariMode
warp3 Route121_SafariZoneEntrance, 255, 2, 5
end
EventScript_1C341B: @ 81C341B
setvar 0x40a4, 1
- special 206
+ special ExitSafariMode
warp Route121_SafariZoneEntrance, 255, 2, 5
waitstate
end
@@ -42,7 +42,7 @@ gUnknown_081C3459:: @ 81C3459
gUnknown_081C346A:: @ 81C346A
lockall
- special 207
+ special SafariZoneGetPokeblockNameInFeeder
compare RESULT, -1
jumpif 5, EventScript_1C34A9
msgbox UnknownString_81C354E, 5
@@ -53,7 +53,7 @@ gUnknown_081C346A:: @ 81C346A
EventScript_1C348E:
fadescreen 1
- special 208
+ special sub_810BAF4
waitstate
compare RESULT, -1
jumpif 5, EventScript_1C34A0
diff --git a/data/scripts/storyteller.inc b/data/scripts/storyteller.inc
index c44480e2f..eba94e698 100644
--- a/data/scripts/storyteller.inc
+++ b/data/scripts/storyteller.inc
@@ -8,22 +8,22 @@ MauvilleCity_PokemonCenter_1F_EventScript_1B0816:: @ 81B0816
msgbox MauvilleCity_PokemonCenter_1F_Text_1AECC6, 5
compare RESULT, 0
jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1B0914
- specialval RESULT, 107
+ specialval RESULT, sub_80F889C
compare RESULT, 0
jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1B08D3
MauvilleCity_PokemonCenter_1F_EventScript_1B084F:: @ 81B084F
message MauvilleCity_PokemonCenter_1F_Text_1AED35
waittext
- special 109
+ special sub_80F8874
waitstate
compare RESULT, 0
jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1B0883
setvar 0x8008, 1
- special 108
+ special sub_80F8888
waittext
waitbutton
- specialval RESULT, 110
+ specialval RESULT, sub_80F88AC
compare RESULT, 0
jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1B0893
jump MauvilleCity_PokemonCenter_1F_EventScript_1B0909
@@ -40,10 +40,10 @@ MauvilleCity_PokemonCenter_1F_EventScript_1B0893:: @ 81B0893
jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1B084F
MauvilleCity_PokemonCenter_1F_EventScript_1B08AE:: @ 81B08AE
- specialval RESULT, 112
+ specialval RESULT, sub_80F88E0
compare RESULT, 1
jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1B091F
- specialval RESULT, 107
+ specialval RESULT, sub_80F889C
compare RESULT, 4
jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1B091F
jump MauvilleCity_PokemonCenter_1F_EventScript_1B08DB
@@ -55,7 +55,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_1B08DB:: @ 81B08DB
msgbox MauvilleCity_PokemonCenter_1F_Text_1AEEB4, 5
compare RESULT, 0
jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1B0914
- specialval RESULT, 111
+ specialval RESULT, sub_80F88FC
compare RESULT, 1
jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1B0909
msgbox MauvilleCity_PokemonCenter_1F_Text_1AEF49, 4
diff --git a/data/scripts/trader.inc b/data/scripts/trader.inc
index b3a302516..b52c8a2dc 100644
--- a/data/scripts/trader.inc
+++ b/data/scripts/trader.inc
@@ -4,7 +4,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_1AEBAB:: @ 81AEBAB
msgbox MauvilleCity_PokemonCenter_1F_Text_1AE88F, 5
compare RESULT, 0
jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1AEBDA
- special 114
+ special sub_8109C44
compare RESULT, 1
jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1AEBE3
message MauvilleCity_PokemonCenter_1F_Text_1AE910
@@ -21,7 +21,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_1AEBE3:: @ 81AEBE3
end
MauvilleCity_PokemonCenter_1F_EventScript_1AEBEC:: @ 81AEBEC
- special 113
+ special sub_8109E34
waitstate
compare 0x8004, 0
jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1AEC2D
@@ -30,7 +30,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_1AEBEC:: @ 81AEBEC
msgbox MauvilleCity_PokemonCenter_1F_Text_1AE97C, 5
compare RESULT, 0
jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1AEC42
- special 115
+ special sub_8109C58
compare RESULT, 1
jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1AEC4E
jump MauvilleCity_PokemonCenter_1F_EventScript_1AEC57
@@ -58,19 +58,19 @@ MauvilleCity_PokemonCenter_1F_EventScript_1AEC4E:: @ 81AEC4E
MauvilleCity_PokemonCenter_1F_EventScript_1AEC57:: @ 81AEC57
msgbox MauvilleCity_PokemonCenter_1F_Text_1AE9F8, 4
- special 117
+ special sub_8109CF0
waitstate
compare 0x8006, 0
jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1AECA6
compare 0x8006, 65535
jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1AECAF
- special 116
+ special sub_8109C90
compare RESULT, 1
jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1AECBD
msgbox MauvilleCity_PokemonCenter_1F_Text_1AEA9B, 5
compare RESULT, 0
jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1AEC57
- special 118
+ special sub_8109DE0
msgbox MauvilleCity_PokemonCenter_1F_Text_1AEAFB, 2
end
diff --git a/data/scripts/tv.inc b/data/scripts/tv.inc
index 2b317e725..1f8956811 100644
--- a/data/scripts/tv.inc
+++ b/data/scripts/tv.inc
@@ -1,8 +1,8 @@
Event_TV:: @ 81A6E72
lockall
inccounter GAME_STAT_WATCHED_TV
- special 75
- specialval RESULT, 73
+ special sub_80C2014
+ specialval RESULT, CheckForBigMovieOrEmergencyNewsOnTV
compare RESULT, 2
jumpeq EventScript_1A6F01
compare RESULT, 1
@@ -11,29 +11,29 @@ Event_TV:: @ 81A6E72
jumpif 0, EventScript_1A6EF1
checkflag 2097
jumpeq EventScript_1A6EF1
- specialval RESULT, 176
+ specialval RESULT, IsTVShowInSearchOfTrainersAiring
compare RESULT, 1
jumpeq EventScript_1A6F66
jump EventScript_1A6F50
end
EventScript_1A6EBB:
- specialval 0x8004, 65
+ specialval 0x8004, special_0x44
compare 0x8004, 255
jumpeq EventScript_1A6F3F
- specialval RESULT, 71
+ specialval RESULT, special_0x4a
compare RESULT, 255
jumpeq EventScript_1A6F3F
copyvar 0x8004, RESULT
- specialval RESULT, 66
+ specialval RESULT, sub_80BDA0C
compare RESULT, 0
jumpif 5, EventScript_1A6F21
end
EventScript_1A6EF1:
- special 74
+ special GetMomOrDadStringForTVMessage
msgbox UnknownString_81A0E68, 4
- special 62
+ special TurnOffTVScreen
releaseall
end
@@ -48,15 +48,15 @@ EventScript_1A6F0B:
.else
msgbox UnknownString_8172C50, 4
.endif
- special 297
+ special InitRoamer
clearflag 2141
setflag 255
- special 62
+ special TurnOffTVScreen
releaseall
end
EventScript_1A6F21:
- special 63
+ special DoTVShow
waittext
waitbutton
compare RESULT, 1
@@ -65,19 +65,19 @@ EventScript_1A6F21:
end
EventScript_1A6F37:
- special 62
+ special TurnOffTVScreen
setflag 2097
releaseall
end
EventScript_1A6F3F:
- special 74
+ special GetMomOrDadStringForTVMessage
msgbox UnknownString_81A0E68, 4
jump EventScript_1A6F37
end
EventScript_1A6F50:
- special 64
+ special sub_80BECE8
compare RESULT, 0
jumpeq EventScript_1A6EBB
waittext
@@ -86,7 +86,7 @@ EventScript_1A6F50:
end
EventScript_1A6F66:
- special 175
+ special DoTVShowInSearchOfTrainers
waittext
waitbutton
compare RESULT, 0
diff --git a/data/specials.inc b/data/specials.inc
index f7aa3456a..0eb6b742d 100644
--- a/data/specials.inc
+++ b/data/specials.inc
@@ -1,347 +1,354 @@
+.macro def_special ptr
+.set SPECIAL_\ptr, __special__
+.set __special__, __special__ + 1
+ .4byte \ptr
+ .endm
+
+.set __special__, 0
.align 2
gSpecials::
- .4byte HealPlayerParty
- .4byte sub_8068FEC
- .4byte sub_808102C
- .4byte sub_80810DC
- .4byte sub_80839A4
- .4byte sub_80839D0
- .4byte sub_80BB8CC
- .4byte sub_80BB63C
- .4byte sub_80BBAF0
- .4byte sub_80BC440
- .4byte SecretBasePC_PackUp
- .4byte sub_80BC114
- .4byte sub_80BC56C
- .4byte sub_80BC5BC
- .4byte SecretBasePC_Decoration
- .4byte SecretBasePC_Registry
- .4byte sub_80BCE1C
- .4byte sub_80BCE90
- .4byte sub_80BBDD0
- .4byte sub_80FF474
- .4byte sub_8100B20
- .4byte sub_80BB70C
- .4byte sub_80BBFA4
- .4byte sub_8100A7C
- .4byte sub_80BBC78
- .4byte sub_80BCE4C
- .4byte sub_80C683C
- .4byte sub_80B929C
- .4byte sub_808347C
- .4byte sub_80834E4
- .4byte sub_808350C
- .4byte CloseLink
- .4byte sub_8083B90
- .4byte sub_8083B5C
- .4byte sub_8083B80
- .4byte sub_8083820
- .4byte sub_8083614
- .4byte GetLinkPartnerNames
- .4byte SpawnBerryBlenderLinkPlayerSprites
- .4byte SavePlayerParty
- .4byte LoadPlayerParty
- .4byte sub_80C5568
- .4byte sub_8083BDC
- .4byte FieldObjectInteractionGetBerryTreeData
- .4byte sub_80B4EE4
- .4byte FieldObjectInteractionPlantBerryTree
- .4byte FieldObjectInteractionPickBerryTree
- .4byte FieldObjectInteractionRemoveBerryTree
- .4byte FieldObjectInteractionWaterBerryTree
- .4byte PlayerHasBerries
- .4byte IsEnigmaBerryValid
- .4byte sub_8082558
- .4byte sub_80826D8
- .4byte sub_8082718
- .4byte sub_8082564
- .4byte sub_80847C8
- .4byte PlayTrainerEncounterMusic
- .4byte sub_8082C68
- .4byte sub_8082C9C
- .4byte sub_80826B0
- .4byte ShowPokemonStorageSystem
- .4byte CheckForAlivePartyMons
- .4byte TurnOffTVScreen
- .4byte DoTVShow
- .4byte sub_80BECE8
- .4byte special_0x44
- .4byte sub_80BDA0C
- .4byte sub_80BF2C4
- .4byte sub_80BDE48
- .4byte sub_80BF544
- .4byte SetContestCategoryStringVarForInterview
- .4byte special_0x4a
- .4byte sub_80BF974
- .4byte CheckForBigMovieOrEmergencyNewsOnTV
- .4byte GetMomOrDadStringForTVMessage
- .4byte sub_80C2014
- .4byte sub_80C47C0
- .4byte sub_80C496C
- .4byte sub_80C4C28
- .4byte sub_80C47F0
- .4byte sub_80C4858
- .4byte sub_80C4C64
- .4byte sub_80C4758
- .4byte sub_80C4BF0
- .4byte sub_80C43F4
- .4byte sub_80C4D80
- .4byte sub_80C4F70
- .4byte sub_80C47A0
- .4byte sub_80C4440
- .4byte sub_80C44C0
- .4byte sub_80C5044
- .4byte GiveMonArtistRibbon
- .4byte sub_808363C
- .4byte InitSaveDialog
- .4byte DoWateringBerryTreeAnim
- .4byte sub_80E60D8
- .4byte sub_80EB7C4
- .4byte sub_80F7B14
- .4byte sub_80F7B2C
- .4byte sub_80F7B40
- .4byte sub_80F7C70
- .4byte sub_80F7C84
- .4byte sub_80F7C90
- .4byte sub_80F7C54
- .4byte sub_80F83D0
- .4byte sub_80F7CF4
- .4byte sub_80F7CC8
- .4byte sub_80F889C
- .4byte sub_80F8888
- .4byte sub_80F8874
- .4byte sub_80F88AC
- .4byte sub_80F88FC
- .4byte sub_80F88E0
- .4byte sub_8109E34
- .4byte sub_8109C44
- .4byte sub_8109C58
- .4byte sub_8109C90
- .4byte sub_8109CF0
- .4byte sub_8109DE0
- .4byte GetShroomishSizeRecordInfo
- .4byte CompareShroomishSize
- .4byte GetBarboachSizeRecordInfo
- .4byte CompareBarboachSize
- .4byte sub_80BF9B4
- .4byte sub_80BFAE0
- .4byte sub_80BFB10
- .4byte sub_80FA5BC
- .4byte sub_80FA5E4
- .4byte sub_80EB83C
- .4byte sub_80FA648
- .4byte SwapRegisteredBike
- .4byte CalculatePlayerPartyCount
- .4byte sub_8095B6C
- .4byte sub_8095C10
- .4byte sub_80C4CF8
- .4byte sub_80C4CEC
- .4byte sub_80C4C78
- .4byte sub_80C4D50
- .4byte ShowContestWinner
- .4byte MauvilleGymSpecial2
- .4byte MauvilleGymSpecial1
- .4byte ShowFieldMessageStringVar4
- .4byte DrawWholeMapView
- .4byte StorePlayerCoordsInVars
- .4byte MauvilleGymSpecial3
- .4byte PetalburgGymSpecial1
- .4byte PetalburgGymSpecial2
- .4byte GetPlayerTrainerIdOnesDigit
- .4byte GetPlayerBigGuyGirlString
- .4byte GetRivalSonDaughterString
- .4byte SetFlagInVar
- .4byte CableCarWarp
- .4byte sub_8123218
- .4byte sub_8053E90
- .4byte StartWallClock
- .4byte sub_810D6B8
- .4byte ChooseStarter
- .4byte StartBattle_WallyTutorial
- .4byte sub_80BF9F8
- .4byte sub_80F9A0C
- .4byte sub_810CA00
- .4byte sub_804E538
- .4byte PlayRoulette
- .4byte sub_810FD60
- .4byte sub_810FCB0
- .4byte sub_810FDAC
- .4byte sub_810FA74
- .4byte sub_810FCE8
- .4byte sub_810FF48
- .4byte sub_810FAA0
- .4byte sub_810FF60
- .4byte RockSmashWildEncounter
- .4byte GabbyAndTyGetBattleNum
- .4byte sub_80BDC14
- .4byte GabbyAndTyBeforeInterview
- .4byte DoTVShowInSearchOfTrainers
- .4byte IsTVShowInSearchOfTrainersAiring
- .4byte GabbyAndTyGetLastQuote
- .4byte sub_80BDD18
- .4byte GabbyAndTySetScriptVarsToFieldObjectLocalIds
- .4byte sub_810E300
- .4byte sp0B5_daycare
- .4byte sp0B6_daycare
- .4byte sub_8041E7C
- .4byte sp0B8_daycare
- .4byte sp0B9_daycare_relationship_comment
- .4byte sub_8042328
- .4byte Daycare_SendPokemon_Special
- .4byte ChooseSendDaycareMon
- .4byte ShowDaycareLevelMenu
- .4byte sub_80417B8
- .4byte sub_8041770
- .4byte sub_8041648
- .4byte ScriptHatchMon
- .4byte EggHatch
- .4byte sub_8042B4C
- .4byte ShowLinkBattleRecords
- .4byte sub_80B7CE8
- .4byte sub_80B7D0C
- .4byte ExecuteWhiteOut
- .4byte sp0C8_whiteout_maybe
- .4byte RotatingGate_InitPuzzle
- .4byte RotatingGate_InitPuzzleAndGraphics
- .4byte SetSSTidalFlag
- .4byte ResetSSTidalFlag
- .4byte EnterSafariMode
- .4byte ExitSafariMode
- .4byte SafariZoneGetPokeblockNameInFeeder
- .4byte sub_810BAF4
- .4byte IsMirageIslandPresent
- .4byte UpdateShoalTideFlag
- .4byte InitBirchState
- .4byte ScriptGetPokedexInfo
- .4byte ShowPokedexRatingMessage
- .4byte DoPCTurnOnEffect
- .4byte DoPCTurnOffEffect
- .4byte SetDepartmentStoreFloorVar
- .4byte DoLotteryCornerComputerEffect
- .4byte EndLotteryCornerComputerEffect
- .4byte sub_80F9A4C
- .4byte sub_80F9EEC
- .4byte sub_80FA0DC
- .4byte sub_80F9F84
- .4byte sub_80F9F3C
- .4byte sub_8132670
- .4byte GetRecordedCyclingRoadResults
- .4byte BeginCyclingRoadChallenge
- .4byte GetPlayerAvatarBike
- .4byte FinishCyclingRoadChallenge
- .4byte UpdateCyclingRoadState
- .4byte GetLeadMonFriendshipScore
- .4byte sub_8134548
- .4byte sub_81347F8
- .4byte CheckPartyBattleTowerBanlist
- .4byte sub_8135474
- .4byte sub_81360C0
- .4byte sub_813556C
- .4byte sub_8135668
- .4byte sub_81358A4
- .4byte sub_8135A14
- .4byte sub_8135BA0
- .4byte sub_8135C38
- .4byte sub_8135D84
- .4byte sub_8135DEC
- .4byte sub_8135E50
- .4byte ChooseBattleTowerPlayerParty
- .4byte sub_813601C
- .4byte sub_810F404
- .4byte ReducePlayerPartyToThree
- .4byte BedroomPC
- .4byte PlayerPC
- .4byte FieldShowRegionMap
- .4byte sub_804D89C
- .4byte sub_804DB68
- .4byte sub_804E174
- .4byte sub_804DB2C
- .4byte GetWeekCount
- .4byte RetrieveLotteryNumber
- .4byte PickLotteryCornerTicket
- .4byte ShowBerryBlenderRecordWindow
- .4byte ResetTrickHouseEndRoomFlag
- .4byte SetTrickHouseEndRoomFlag
- .4byte TryCreatePCMenu
- .4byte AccessHallOfFamePC
- .4byte sub_810D6A4
- .4byte CheckLeadMonCool
- .4byte CheckLeadMonBeauty
- .4byte CheckLeadMonCute
- .4byte CheckLeadMonSmart
- .4byte CheckLeadMonTough
- .4byte sub_80C7958
- .4byte DoSoftReset
- .4byte GameClear
- .4byte sub_810EBEC
- .4byte ShowGlassWorkshopMenu
- .4byte SpawnCameraDummy
- .4byte RemoveCameraDummy
- .4byte GetPokeblockNameByMonNature
- .4byte GetSecretBaseNearbyMapName
- .4byte CheckRelicanthWailord
- .4byte DoBrailleWait
- .4byte sub_80818A4
- .4byte sub_80818FC
- .4byte ShowBattleTowerRecords
- .4byte WaitWeather
- .4byte sub_810F414
- .4byte sub_810F424
- .4byte player_get_direction_lower_nybble
- .4byte sub_810F488
- .4byte sub_810F4B0
- .4byte sub_810F4D4
- .4byte sub_810F4FC
- .4byte LeadMonHasEffortRibbon
- .4byte GivLeadMonEffortRibbon
- .4byte GetLeadMonEVCount
- .4byte sub_8064EAC
- .4byte sub_8064ED4
- .4byte InitRoamer
- .4byte sub_810F5BC
- .4byte IsGrassTypeInParty
- .4byte sub_8081334
- .4byte PutZigzagoonInPlayerParty
- .4byte IsStarterInParty
- .4byte sub_80BC224
- .4byte CheckFreePokemonStorageSpace
- .4byte DoSealedChamberShakingEffect1
- .4byte sub_810E944
- .4byte GetShieldToyTVDecorationInfo
- .4byte IsPokerusInParty
- .4byte sub_8069D78
- .4byte sub_810F758
- .4byte StartBattle_GroudonKyogre
- .4byte StartBattle_Rayquaza
- .4byte StartBattle_Regi
- .4byte sub_8082524
- .4byte DoSealedChamberShakingEffect2
- .4byte sub_810F828
- .4byte sub_807E25C
- .4byte sp13E_warp_to_last_warp
- .4byte sp13F_fall_to_last_warp
- .4byte ShowContestEntryMonPic
- .4byte sub_80C5164
- .4byte sub_8134AB4
- .4byte StartBattle_SouthernIsland
- .4byte SetRoute119Weather
- .4byte SetRoute123Weather
- .4byte ScriptGetMultiplayerId
- .4byte ScriptGetPartyMonSpecies
- .4byte sub_80FA148
- .4byte sub_810F8FC
- .4byte sub_80BC50C
- .4byte LoadPlayerBag
- .4byte sub_8081924
- .4byte sub_810F950
- .4byte sub_810F908
- .4byte sub_8090FC0
- .4byte sub_810F96C
- .4byte sub_810F9AC
- .4byte sub_813610C
- .4byte GetNameOfEnigmaBerryInPlayerParty
- .4byte ScriptRandom
- .4byte sub_80835D8
+ def_special HealPlayerParty
+ def_special SetCableClubWarp
+ def_special DoCableClubWarp
+ def_special sub_80810DC
+ def_special sub_80839A4
+ def_special sub_80839D0
+ def_special sub_80BB8CC
+ def_special sub_80BB63C
+ def_special sub_80BBAF0
+ def_special sub_80BC440
+ def_special SecretBasePC_PackUp
+ def_special sub_80BC114
+ def_special sub_80BC56C
+ def_special sub_80BC5BC
+ def_special SecretBasePC_Decoration
+ def_special SecretBasePC_Registry
+ def_special sub_80BCE1C
+ def_special sub_80BCE90
+ def_special sub_80BBDD0
+ def_special sub_80FF474
+ def_special sub_8100B20
+ def_special sub_80BB70C
+ def_special sub_80BBFA4
+ def_special sub_8100A7C
+ def_special sub_80BBC78
+ def_special sub_80BCE4C
+ def_special sub_80C683C
+ def_special sub_80B929C
+ def_special sub_808347C
+ def_special sub_80834E4
+ def_special sub_808350C
+ def_special CloseLink
+ def_special sub_8083B90
+ def_special sub_8083B5C
+ def_special sub_8083B80
+ def_special sub_8083820
+ def_special sub_8083614
+ def_special GetLinkPartnerNames
+ def_special SpawnBerryBlenderLinkPlayerSprites
+ def_special SavePlayerParty
+ def_special LoadPlayerParty
+ def_special sub_80C5568
+ def_special sub_8083BDC
+ def_special FieldObjectInteractionGetBerryTreeData
+ def_special sub_80B4EE4
+ def_special FieldObjectInteractionPlantBerryTree
+ def_special FieldObjectInteractionPickBerryTree
+ def_special FieldObjectInteractionRemoveBerryTree
+ def_special FieldObjectInteractionWaterBerryTree
+ def_special PlayerHasBerries
+ def_special IsEnigmaBerryValid
+ def_special sub_8082558
+ def_special sub_80826D8
+ def_special sub_8082718
+ def_special sub_8082564
+ def_special sub_80847C8
+ def_special PlayTrainerEncounterMusic
+ def_special sub_8082C68
+ def_special sub_8082C9C
+ def_special sub_80826B0
+ def_special ShowPokemonStorageSystem
+ def_special CheckForAlivePartyMons
+ def_special TurnOffTVScreen
+ def_special DoTVShow
+ def_special sub_80BECE8
+ def_special special_0x44
+ def_special sub_80BDA0C
+ def_special sub_80BF2C4
+ def_special sub_80BDE48
+ def_special sub_80BF544
+ def_special SetContestCategoryStringVarForInterview
+ def_special special_0x4a
+ def_special sub_80BF974
+ def_special CheckForBigMovieOrEmergencyNewsOnTV
+ def_special GetMomOrDadStringForTVMessage
+ def_special sub_80C2014
+ def_special sub_80C47C0
+ def_special sub_80C496C
+ def_special sub_80C4C28
+ def_special sub_80C47F0
+ def_special sub_80C4858
+ def_special sub_80C4C64
+ def_special sub_80C4758
+ def_special sub_80C4BF0
+ def_special sub_80C43F4
+ def_special sub_80C4D80
+ def_special sub_80C4F70
+ def_special sub_80C47A0
+ def_special sub_80C4440
+ def_special sub_80C44C0
+ def_special sub_80C5044
+ def_special GiveMonArtistRibbon
+ def_special sub_808363C
+ def_special InitSaveDialog
+ def_special DoWateringBerryTreeAnim
+ def_special sub_80E60D8
+ def_special sub_80EB7C4
+ def_special sub_80F7B14
+ def_special sub_80F7B2C
+ def_special sub_80F7B40
+ def_special sub_80F7C70
+ def_special sub_80F7C84
+ def_special sub_80F7C90
+ def_special sub_80F7C54
+ def_special sub_80F83D0
+ def_special sub_80F7CF4
+ def_special sub_80F7CC8
+ def_special sub_80F889C
+ def_special sub_80F8888
+ def_special sub_80F8874
+ def_special sub_80F88AC
+ def_special sub_80F88FC
+ def_special sub_80F88E0
+ def_special sub_8109E34
+ def_special sub_8109C44
+ def_special sub_8109C58
+ def_special sub_8109C90
+ def_special sub_8109CF0
+ def_special sub_8109DE0
+ def_special GetShroomishSizeRecordInfo
+ def_special CompareShroomishSize
+ def_special GetBarboachSizeRecordInfo
+ def_special CompareBarboachSize
+ def_special sub_80BF9B4
+ def_special sub_80BFAE0
+ def_special sub_80BFB10
+ def_special sub_80FA5BC
+ def_special sub_80FA5E4
+ def_special sub_80EB83C
+ def_special sub_80FA648
+ def_special SwapRegisteredBike
+ def_special CalculatePlayerPartyCount
+ def_special sub_8095B6C
+ def_special sub_8095C10
+ def_special sub_80C4CF8
+ def_special sub_80C4CEC
+ def_special sub_80C4C78
+ def_special sub_80C4D50
+ def_special ShowContestWinner
+ def_special MauvilleGymSpecial2
+ def_special MauvilleGymSpecial1
+ def_special ShowFieldMessageStringVar4
+ def_special DrawWholeMapView
+ def_special StorePlayerCoordsInVars
+ def_special MauvilleGymSpecial3
+ def_special PetalburgGymSpecial1
+ def_special PetalburgGymSpecial2
+ def_special GetPlayerTrainerIdOnesDigit
+ def_special GetPlayerBigGuyGirlString
+ def_special GetRivalSonDaughterString
+ def_special SetFlagInVar
+ def_special CableCarWarp
+ def_special sub_8123218
+ def_special sub_8053E90
+ def_special StartWallClock
+ def_special sub_810D6B8
+ def_special ChooseStarter
+ def_special StartBattle_WallyTutorial
+ def_special sub_80BF9F8
+ def_special sub_80F9A0C
+ def_special sub_810CA00
+ def_special sub_804E538
+ def_special PlayRoulette
+ def_special sub_810FD60
+ def_special sub_810FCB0
+ def_special sub_810FDAC
+ def_special sub_810FA74
+ def_special sub_810FCE8
+ def_special sub_810FF48
+ def_special sub_810FAA0
+ def_special sub_810FF60
+ def_special RockSmashWildEncounter
+ def_special GabbyAndTyGetBattleNum
+ def_special sub_80BDC14
+ def_special GabbyAndTyBeforeInterview
+ def_special DoTVShowInSearchOfTrainers
+ def_special IsTVShowInSearchOfTrainersAiring
+ def_special GabbyAndTyGetLastQuote
+ def_special sub_80BDD18
+ def_special GabbyAndTySetScriptVarsToFieldObjectLocalIds
+ def_special sub_810E300
+ def_special sp0B5_daycare
+ def_special sp0B6_daycare
+ def_special sub_8041E7C
+ def_special sp0B8_daycare
+ def_special sp0B9_daycare_relationship_comment
+ def_special sub_8042328
+ def_special Daycare_SendPokemon_Special
+ def_special ChooseSendDaycareMon
+ def_special ShowDaycareLevelMenu
+ def_special sub_80417B8
+ def_special sub_8041770
+ def_special sub_8041648
+ def_special ScriptHatchMon
+ def_special EggHatch
+ def_special sub_8042B4C
+ def_special ShowLinkBattleRecords
+ def_special sub_80B7CE8
+ def_special sub_80B7D0C
+ def_special ExecuteWhiteOut
+ def_special sp0C8_whiteout_maybe
+ def_special RotatingGate_InitPuzzle
+ def_special RotatingGate_InitPuzzleAndGraphics
+ def_special SetSSTidalFlag
+ def_special ResetSSTidalFlag
+ def_special EnterSafariMode
+ def_special ExitSafariMode
+ def_special SafariZoneGetPokeblockNameInFeeder
+ def_special sub_810BAF4
+ def_special IsMirageIslandPresent
+ def_special UpdateShoalTideFlag
+ def_special InitBirchState
+ def_special ScriptGetPokedexInfo
+ def_special ShowPokedexRatingMessage
+ def_special DoPCTurnOnEffect
+ def_special DoPCTurnOffEffect
+ def_special SetDepartmentStoreFloorVar
+ def_special DoLotteryCornerComputerEffect
+ def_special EndLotteryCornerComputerEffect
+ def_special sub_80F9A4C
+ def_special sub_80F9EEC
+ def_special sub_80FA0DC
+ def_special sub_80F9F84
+ def_special sub_80F9F3C
+ def_special sub_8132670
+ def_special GetRecordedCyclingRoadResults
+ def_special BeginCyclingRoadChallenge
+ def_special GetPlayerAvatarBike
+ def_special FinishCyclingRoadChallenge
+ def_special UpdateCyclingRoadState
+ def_special GetLeadMonFriendshipScore
+ def_special sub_8134548
+ def_special sub_81347F8
+ def_special CheckPartyBattleTowerBanlist
+ def_special sub_8135474
+ def_special sub_81360C0
+ def_special sub_813556C
+ def_special sub_8135668
+ def_special sub_81358A4
+ def_special sub_8135A14
+ def_special sub_8135BA0
+ def_special sub_8135C38
+ def_special sub_8135D84
+ def_special sub_8135DEC
+ def_special sub_8135E50
+ def_special ChooseBattleTowerPlayerParty
+ def_special sub_813601C
+ def_special sub_810F404
+ def_special ReducePlayerPartyToThree
+ def_special BedroomPC
+ def_special PlayerPC
+ def_special FieldShowRegionMap
+ def_special sub_804D89C
+ def_special sub_804DB68
+ def_special sub_804E174
+ def_special sub_804DB2C
+ def_special GetWeekCount
+ def_special RetrieveLotteryNumber
+ def_special PickLotteryCornerTicket
+ def_special ShowBerryBlenderRecordWindow
+ def_special ResetTrickHouseEndRoomFlag
+ def_special SetTrickHouseEndRoomFlag
+ def_special TryCreatePCMenu
+ def_special AccessHallOfFamePC
+ def_special sub_810D6A4
+ def_special CheckLeadMonCool
+ def_special CheckLeadMonBeauty
+ def_special CheckLeadMonCute
+ def_special CheckLeadMonSmart
+ def_special CheckLeadMonTough
+ def_special sub_80C7958
+ def_special DoSoftReset
+ def_special GameClear
+ def_special sub_810EBEC
+ def_special ShowGlassWorkshopMenu
+ def_special SpawnCameraDummy
+ def_special RemoveCameraDummy
+ def_special GetPokeblockNameByMonNature
+ def_special GetSecretBaseNearbyMapName
+ def_special CheckRelicanthWailord
+ def_special DoBrailleWait
+ def_special sub_80818A4
+ def_special sub_80818FC
+ def_special ShowBattleTowerRecords
+ def_special WaitWeather
+ def_special sub_810F414
+ def_special sub_810F424
+ def_special player_get_direction_lower_nybble
+ def_special sub_810F488
+ def_special sub_810F4B0
+ def_special sub_810F4D4
+ def_special sub_810F4FC
+ def_special LeadMonHasEffortRibbon
+ def_special GivLeadMonEffortRibbon
+ def_special GetLeadMonEVCount
+ def_special sub_8064EAC
+ def_special sub_8064ED4
+ def_special InitRoamer
+ def_special sub_810F5BC
+ def_special IsGrassTypeInParty
+ def_special sub_8081334
+ def_special PutZigzagoonInPlayerParty
+ def_special IsStarterInParty
+ def_special sub_80BC224
+ def_special CheckFreePokemonStorageSpace
+ def_special DoSealedChamberShakingEffect1
+ def_special sub_810E944
+ def_special GetShieldToyTVDecorationInfo
+ def_special IsPokerusInParty
+ def_special sub_8069D78
+ def_special sub_810F758
+ def_special StartBattle_GroudonKyogre
+ def_special StartBattle_Rayquaza
+ def_special StartBattle_Regi
+ def_special sub_8082524
+ def_special DoSealedChamberShakingEffect2
+ def_special sub_810F828
+ def_special sub_807E25C
+ def_special sp13E_warp_to_last_warp
+ def_special sp13F_fall_to_last_warp
+ def_special ShowContestEntryMonPic
+ def_special sub_80C5164
+ def_special sub_8134AB4
+ def_special StartBattle_SouthernIsland
+ def_special SetRoute119Weather
+ def_special SetRoute123Weather
+ def_special ScriptGetMultiplayerId
+ def_special ScriptGetPartyMonSpecies
+ def_special sub_80FA148
+ def_special sub_810F8FC
+ def_special sub_80BC50C
+ def_special LoadPlayerBag
+ def_special sub_8081924
+ def_special sub_810F950
+ def_special sub_810F908
+ def_special sub_8090FC0
+ def_special sub_810F96C
+ def_special sub_810F9AC
+ def_special sub_813610C
+ def_special GetNameOfEnigmaBerryInPlayerParty
+ def_special ScriptRandom
+ def_special sub_80835D8
.ifdef GERMAN
- .4byte nullsub_814B200
+ def_special nullsub_814B200
.endif
diff --git a/include/battle_ai.h b/include/battle_ai.h
index 028da2c27..2922da0b3 100644
--- a/include/battle_ai.h
+++ b/include/battle_ai.h
@@ -23,6 +23,7 @@ enum
// battle_ai
void BattleAI_SetupAIData(void);
+u8 BattleAI_GetAIActionToUse(void);
void BattleAI_DoAIProcessing(void);
void sub_810745C(void);
void AIStackPushVar(u8 *);
diff --git a/include/contest_painting.h b/include/contest_painting.h
index ad1cecfed..48ab95fbc 100644
--- a/include/contest_painting.h
+++ b/include/contest_painting.h
@@ -49,11 +49,6 @@ struct ContestEntry
/*0x16*/ u8 trainer_name[OT_NAME_LENGTH];
};
-struct Unk3000756
-{
- /*0x00*/ u8 var_0;
-};
-
struct LabelPair
{
const u8 *prefix;
diff --git a/include/event_data.h b/include/event_data.h
index 5cac27cc8..98e4a6da3 100644
--- a/include/event_data.h
+++ b/include/event_data.h
@@ -25,4 +25,20 @@ u8 FlagSet(u16 id);
u8 FlagReset(u16 id);
bool8 FlagGet(u16 id);
+extern u16 gSpecialVar_0x8000;
+extern u16 gSpecialVar_0x8001;
+extern u16 gSpecialVar_0x8002;
+extern u16 gSpecialVar_0x8003;
+extern u16 gSpecialVar_0x8004;
+extern u16 gSpecialVar_0x8005;
+extern u16 gSpecialVar_0x8006;
+extern u16 gSpecialVar_0x8007;
+extern u16 gSpecialVar_0x8008;
+extern u16 gSpecialVar_0x8009;
+extern u16 gSpecialVar_0x800A;
+extern u16 gSpecialVar_0x800B;
+extern u16 gScriptResult;
+extern u16 gScriptLastTalked;
+extern u16 gScriptFacing;
+
#endif // GUARD_EVENT_DATA_H
diff --git a/include/field_effect.h b/include/field_effect.h
index 5edca21dc..bf80ca0dc 100644
--- a/include/field_effect.h
+++ b/include/field_effect.h
@@ -245,4 +245,6 @@ void MultiplyInvertedPaletteRGBComponents(u16, u8, u8, u8);
void sub_80878A8(void);
void sub_8087BA8(void);
+extern u32 gUnknown_0202FF84[8];
+
#endif // GUARD_FIELD_EFFECT_H
diff --git a/include/field_map_obj.h b/include/field_map_obj.h
index 6595a51ca..d2a1a9b1f 100644
--- a/include/field_map_obj.h
+++ b/include/field_map_obj.h
@@ -70,8 +70,6 @@ extern struct CameraSomething gUnknown_03004880;
extern u16 gUnknown_03004898;
extern u16 gUnknown_0300489C;
-extern u32 gUnknown_0202FF84[];
-
extern const struct Coords16 gDirectionToVector[];
void FieldObjectCB_BerryTree(struct Sprite *);
diff --git a/include/field_specials.h b/include/field_specials.h
index 710f0a2a0..d61aa3b20 100644
--- a/include/field_specials.h
+++ b/include/field_specials.h
@@ -8,11 +8,6 @@ struct ElevatorMenu {
u8 var3;
};
-extern struct ElevatorMenu gUnknown_03000760[20];
-extern struct WarpData gUnknown_020297F0;
-extern u8 gBattleOutcome;
-
-extern u16 gScriptResult;
extern u8 gUnknown_02039250;
extern u8 gUnknown_02039251;
extern u32 gUnknown_02039254;
@@ -22,9 +17,6 @@ extern u8 gUnknown_0203925A;
extern u8 gUnknown_0203925B;
extern u8 gUnknown_0203925C;
-extern u16 gSpecialVar_0x8004;
-extern u16 gSpecialVar_0x8005;
-
void ResetCyclingRoadChallengeData(void);
bool32 CountSSTidalStep(u16);
u8 GetSSTidalLocation(s8 *, s8 *, s16 *, s16 *);
diff --git a/include/graphics.h b/include/graphics.h
index fa6a85513..5632cb831 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -2435,6 +2435,10 @@ extern const u8 gMonFrontPic_UnownQuestionMark[];
extern const u8 gMonBackPic_UnownQuestionMark[];
extern const u8 gMonIcon_UnownQuestionMark[];
+extern const u8 gMonIcon_QuestionMark[];
+extern const u8 gMonIcon_Egg[];
+extern const u16 gMonIconPalettes[][16];
+
// data/graphics.s
extern const u8 gBagMaleTiles[];
extern const u8 gBagFemaleTiles[];
diff --git a/include/libgncmultiboot.h b/include/libgncmultiboot.h
index 33c9f6bfa..23ac64d17 100644
--- a/include/libgncmultiboot.h
+++ b/include/libgncmultiboot.h
@@ -5,6 +5,7 @@ struct GcmbStruct
{
u16 gcmb_field_0;
u8 gcmb_field_2;
+ u8 filler3[0x2C - 0x3];
};
void GameCubeMultiBoot_Main(struct GcmbStruct *pStruct);
diff --git a/include/pokeblock.h b/include/pokeblock.h
index 0d8e965e4..f78ed40c3 100644
--- a/include/pokeblock.h
+++ b/include/pokeblock.h
@@ -1,11 +1,6 @@
#ifndef GUARD_POKEBLOCK_H
#define GUARD_POKEBLOCK_H
-struct YesNoCBTable {
- void (*yesFunc)(void);
- void (*noFunc)(void);
-};
-
enum {
PBLOCK_CLR_BLACK,
PBLOCK_CLR_RED,
@@ -15,12 +10,6 @@ enum {
PBLOCK_CLR_YELLOW
};
-extern u8 ewram[];
-extern u8 gUnknown_02039244;
-extern u8 gUnknown_02039248[4];
-extern u8 gUnknown_0203924C;
-extern const u8 *gUnknown_03000758;
-
void sub_810B96C(void);
u8 sub_810BA50(s16, s16, u8);
u8 sub_810C9B0(struct Pokeblock *);
diff --git a/include/script.h b/include/script.h
index e35ec7608..b3d888edf 100644
--- a/include/script.h
+++ b/include/script.h
@@ -55,7 +55,5 @@ u32 CalculateRamScriptChecksum(void);
void ClearRamScript(void);
bool8 InitRamScript(u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 objectId);
u8 *GetRamScript(u8 objectId, u8 *script);
-u16 gScriptResult;
-extern u16 gScriptLastTalked;
#endif // GUARD_SCRIPT_H
diff --git a/include/use_pokeblock.h b/include/use_pokeblock.h
index 978476d89..f34857cf1 100644
--- a/include/use_pokeblock.h
+++ b/include/use_pokeblock.h
@@ -5,9 +5,6 @@
#ifndef POKERUBY_USE_POKEBLOCK_H
#define POKERUBY_USE_POKEBLOCK_H
-extern void *gUnknown_02030400;
-extern s16 gUnknown_02039312;
-
void sub_8136130(struct Pokeblock *, MainCallback);
#endif //POKERUBY_USE_POKEBLOCK_H
diff --git a/ld_script.txt b/ld_script.txt
index 96edbd0e3..8ed41e797 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -58,7 +58,7 @@ SECTIONS {
asm/battle_5.o(.text);
src/battle_6.o(.text);
src/battle_7.o(.text);
- asm/battle_8.o(.text);
+ src/battle_8.o(.text);
asm/battle_9.o(.text);
src/battle_10.o(.text);
src/pokemon_1.o(.text);
@@ -109,7 +109,7 @@ SECTIONS {
src/coord_event_weather.o(.text);
src/field_tasks.o(.text);
src/clock.o(.text);
- asm/reset_rtc_screen.o(.text);
+ src/reset_rtc_screen.o(.text);
asm/party_menu.o(.text);
src/party_menu.o(.text);
asm/party_menu.o(.text_8070968);
@@ -147,7 +147,7 @@ SECTIONS {
asm/pokemon_storage_system.o(.text);
src/pokemon_storage_system.o(.text);
asm/pokemon_storage_system.o(.text_8098A38);
- asm/pokemon_icon.o(.text);
+ src/pokemon_icon.o(.text);
asm/pokemon_summary_screen.o(.text);
src/pokemon_summary_screen.o(.text);
asm/pokemon_summary_screen.o(.text_80A0958);
@@ -190,7 +190,7 @@ SECTIONS {
asm/pokenav.o(.text);
src/pokenav.o(.text);
asm/pokenav.o(.text_80F708C);
- asm/mon_markings.o(.text);
+ src/mon_markings.o(.text);
src/mauville_old_man.o(.text);
asm/mauville_old_man.o(.text);
src/mail.o(.text);
@@ -212,7 +212,7 @@ SECTIONS {
src/wallclock.o(.text);
src/rom6.o(.text);
src/pokeblock.o(.text);
- asm/fldeff_flash.o(.text);
+ src/fldeff_flash.o(.text);
src/post_battle_event_funcs.o(.text);
src/time_events.o(.text);
src/birch_pc.o(.text);
@@ -391,7 +391,7 @@ SECTIONS {
src/trainer_card.o(.rodata);
src/battle_party_menu.o(.rodata);
data/pokemon_storage_system.o(.rodata);
- data/pokemon_icon.o(.rodata);
+ src/pokemon_icon.o(.rodata);
data/pokemon_summary_screen.o(.rodata);
data/fldeff_cut.o(.rodata);
src/item_menu.o(.rodata);
diff --git a/src/battle_10.c b/src/battle_10.c
index 34e4f75b1..0237bab4b 100644
--- a/src/battle_10.c
+++ b/src/battle_10.c
@@ -72,7 +72,7 @@ extern void sub_80375B4(void);
extern void sub_8010384(struct Sprite *);
extern void sub_8037B78(void);
extern u8 sub_8031720();
-extern u8 mplay_80342A4();
+extern bool8 mplay_80342A4(u8);
extern void ExecuteMoveAnim();
extern void sub_80326EC();
extern void sub_8031F24(void);
@@ -887,6 +887,7 @@ void sub_8039A30(void)
gDisableStructMoveAnim = (u32 *)&gBattleBufferA[gActiveBank][16];
gPID_perBank[gActiveBank] = *gDisableStructMoveAnim;
+ // Dead code. sub_8031720 always returns 0.
if (sub_8031720(r0, gUnknown_0202F7C4) != 0)
{
dp01_tbl4_exec_completed();
diff --git a/src/battle_8.c b/src/battle_8.c
new file mode 100644
index 000000000..75f10c4b1
--- /dev/null
+++ b/src/battle_8.c
@@ -0,0 +1,1642 @@
+#include "global.h"
+#include "battle.h"
+#include "battle_ai.h"
+#include "battle_interface.h"
+#include "data2.h"
+#include "graphics.h"
+#include "main.h"
+#include "pokemon.h"
+#include "rng.h"
+#include "rom3.h"
+#include "songs.h"
+#include "sound.h"
+#include "sprite.h"
+#include "string_util.h"
+#include "task.h"
+#include "text.h"
+#include "util.h"
+
+struct UnknownStruct3
+{
+ u16 moves[4];
+ u8 pp[4];
+ u8 ppBonuses;
+};
+
+extern u8 gActiveBank;
+extern u8 gBattleBufferA[][0x200];
+extern u16 gBattlePartyID[];
+extern u8 gObjectBankIDs[];
+extern u8 gBattleMonForms[];
+extern struct SpriteTemplate gUnknown_02024E8C;
+extern void (*gBattleBankFunc[])(void);
+extern u8 gUnknown_0300434C[];
+extern u8 gHealthboxIDs[];
+extern u16 gBattleTypeFlags;
+extern u16 gTrainerBattleOpponent;
+extern u32 *gDisableStructMoveAnim;
+extern u32 gMoveDmgMoveAnim;
+extern u16 gMovePowerMoveAnim;
+extern u8 gHappinessMoveAnim;
+extern u16 gWeatherMoveAnim;
+extern u32 gPID_perBank[];
+extern u8 gUnknown_0202F7C4;
+extern u8 gAnimScriptActive;
+extern void (*gAnimScriptCallback)(void);
+extern struct Window gUnknown_03004210;
+extern u16 gUnknown_030042A0;
+extern u16 gUnknown_030042A4;
+extern u8 gDisplayedStringBattle[];
+extern u8 gBankTarget;
+extern u8 gAbsentBankFlags;
+extern bool8 gDoingBattleAnim;
+extern u16 gUnknown_02024DE8;
+extern u8 gUnknown_02024E68[];
+extern MainCallback gPreBattleCallback1;
+
+extern u8 sub_8077ABC();
+extern u8 sub_8077F68();
+extern u8 sub_8079E90();
+extern void sub_8033018(void);
+extern void sub_8031794();
+extern u8 GetBankIdentity(u8);
+extern void sub_8032984(u8, u16);
+extern void sub_80333D4(void);
+extern void sub_80312F0(struct Sprite *);
+extern u8 sub_8046400();
+extern void sub_8032A08();
+extern void sub_8043DB0();
+extern void sub_8033160(void);
+extern u8 sub_8135FBC(void);
+extern u8 get_trainer_class_pic_index(void);
+extern void sub_80313A0(struct Sprite *);
+extern void sub_8032B4C(void);
+extern void sub_8031A6C(u16, u8);
+extern void sub_8032B84(void);
+extern void sub_8078B34(struct Sprite *);
+extern void sub_8032BBC(void);
+extern void oamt_add_pos2_onto_pos1();
+extern void oamt_set_x3A_32();
+extern void sub_803311C(void);
+extern void sub_8010384(struct Sprite *);
+extern bool8 mplay_80342A4(u8);
+extern u8 sub_8031720();
+extern void ExecuteMoveAnim();
+extern void sub_80326EC();
+extern void sub_8031F24(void);
+extern void sub_80324BC();
+extern void BufferStringBattle();
+extern void sub_80331D0(void);
+extern void sub_8036B0C(void);
+extern u8 GetBankByPlayerAI(u8);
+extern u8 sub_8036CD4(void);
+extern void sub_80330C8(void);
+extern void sub_8043D84();
+extern void sub_8045A5C();
+void sub_8033494(void);
+extern void move_anim_start_t2_for_situation();
+extern void bx_blink_t7(void);
+extern void sub_8047858();
+extern u8 GetBankSide(u8);
+extern void sub_80E43C0();
+extern void sub_8044CA0(u8);
+extern void nullsub_45(void);
+extern void sub_8031B74();
+extern bool8 IsDoubleBattle(void);
+extern void sub_8032E2C(void);
+extern u8 sub_8078874();
+extern u8 move_anim_start_t3();
+extern void sub_80334C0(void);
+extern void OpponentBufferExecCompleted(void);
+
+u32 sub_8033598(u8, u8 *);
+void sub_8033E24(u8);
+void sub_803495C(u8, u8);
+void sub_8034B74(void);
+void sub_8035238(void);
+void sub_8035C10(struct Sprite *);
+void sub_8035C44(u8);
+void sub_8035E2C(void);
+
+void OpponentHandleGetAttributes(void)
+{
+ u8 buffer[256];
+ int r6 = 0;
+ s32 i;
+
+ if (gBattleBufferA[gActiveBank][2] == 0)
+ {
+ r6 = sub_8033598(gBattlePartyID[gActiveBank], buffer);
+ }
+ else
+ {
+ u8 r4 = gBattleBufferA[gActiveBank][2];
+
+ for (i = 0; i < 6; i++)
+ {
+ if (r4 & 1)
+ r6 += sub_8033598(i, buffer + r6);
+ r4 >>= 1;
+ }
+ }
+ dp01_build_cmdbuf_x1D_1D_numargs_varargs(1, r6, buffer);
+ OpponentBufferExecCompleted();
+}
+
+u32 sub_8033598(u8 a, u8 *buffer)
+{
+ struct BattlePokemon battlePokemon;
+ struct UnknownStruct3 moveData;
+ u8 nickname[20];
+ u8 *src;
+ s16 data16;
+ u32 data32;
+ s32 size = 0;
+
+ switch (gBattleBufferA[gActiveBank][1])
+ {
+ case 0:
+ battlePokemon.species = GetMonData(&gEnemyParty[a], MON_DATA_SPECIES);
+ battlePokemon.item = GetMonData(&gEnemyParty[a], MON_DATA_HELD_ITEM);
+ for (size = 0; size < 4; size++)
+ {
+ battlePokemon.moves[size] = GetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + size);
+ battlePokemon.pp[size] = GetMonData(&gEnemyParty[a], MON_DATA_PP1 + size);
+ }
+ battlePokemon.ppBonuses = GetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES);
+ battlePokemon.friendship = GetMonData(&gEnemyParty[a], MON_DATA_FRIENDSHIP);
+ battlePokemon.experience = GetMonData(&gEnemyParty[a], MON_DATA_EXP);
+ battlePokemon.hpIV = GetMonData(&gEnemyParty[a], MON_DATA_HP_IV);
+ battlePokemon.attackIV = GetMonData(&gEnemyParty[a], MON_DATA_ATK_IV);
+ battlePokemon.defenseIV = GetMonData(&gEnemyParty[a], MON_DATA_DEF_IV);
+ battlePokemon.speedIV = GetMonData(&gEnemyParty[a], MON_DATA_SPD_IV);
+ battlePokemon.spAttackIV = GetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV);
+ battlePokemon.spDefenseIV = GetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV);
+ battlePokemon.personality = GetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY);
+ battlePokemon.status1 = GetMonData(&gEnemyParty[a], MON_DATA_STATUS);
+ battlePokemon.level = GetMonData(&gEnemyParty[a], MON_DATA_LEVEL);
+ battlePokemon.hp = GetMonData(&gEnemyParty[a], MON_DATA_HP);
+ battlePokemon.maxHP = GetMonData(&gEnemyParty[a], MON_DATA_MAX_HP);
+ battlePokemon.attack = GetMonData(&gEnemyParty[a], MON_DATA_ATK);
+ battlePokemon.defense = GetMonData(&gEnemyParty[a], MON_DATA_DEF);
+ battlePokemon.speed = GetMonData(&gEnemyParty[a], MON_DATA_SPD);
+ battlePokemon.spAttack = GetMonData(&gEnemyParty[a], MON_DATA_SPATK);
+ battlePokemon.spDefense = GetMonData(&gEnemyParty[a], MON_DATA_SPDEF);
+ battlePokemon.isEgg = GetMonData(&gEnemyParty[a], MON_DATA_IS_EGG);
+ battlePokemon.altAbility = GetMonData(&gEnemyParty[a], MON_DATA_ALT_ABILITY);
+ battlePokemon.otId = GetMonData(&gEnemyParty[a], MON_DATA_OT_ID);
+ GetMonData(&gEnemyParty[a], MON_DATA_NICKNAME, nickname);
+ StringCopy10(battlePokemon.nickname, nickname);
+ GetMonData(&gEnemyParty[a], MON_DATA_OT_NAME, battlePokemon.otName);
+ src = (u8 *)&battlePokemon;
+ for (size = 0; size < sizeof(battlePokemon); size++)
+ buffer[size] = src[size];
+ break;
+ case 1:
+ data16 = GetMonData(&gEnemyParty[a], MON_DATA_SPECIES);
+ buffer[0] = data16;
+ buffer[1] = data16 >> 8;
+ size = 2;
+ break;
+ case 2:
+ data16 = GetMonData(&gEnemyParty[a], MON_DATA_HELD_ITEM);
+ buffer[0] = data16;
+ buffer[1] = data16 >> 8;
+ size = 2;
+ break;
+ case 3:
+ for (size = 0; size < 4; size++)
+ {
+ moveData.moves[size] = GetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + size);
+ moveData.pp[size] = GetMonData(&gEnemyParty[a], MON_DATA_PP1 + size);
+ }
+ moveData.ppBonuses = GetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES);
+ src = (u8 *)&moveData;
+ for (size = 0; size < sizeof(moveData); size++)
+ buffer[size] = src[size];
+ break;
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ data16 = GetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - 4);
+ buffer[0] = data16;
+ buffer[1] = data16 >> 8;
+ size = 2;
+ break;
+ case 8:
+ for (size = 0; size < 4; size++)
+ buffer[size] = GetMonData(&gEnemyParty[a], MON_DATA_PP1 + size);
+ buffer[size] = GetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES);
+ size++;
+ break;
+ case 9:
+ case 10:
+ case 11:
+ case 12:
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - 9);
+ size = 1;
+ break;
+ case 17:
+ data32 = GetMonData(&gEnemyParty[a], MON_DATA_OT_ID);
+ buffer[0] = (data32 & 0x000000FF);
+ buffer[1] = (data32 & 0x0000FF00) >> 8;
+ buffer[2] = (data32 & 0x00FF0000) >> 16;
+ size = 3;
+ break;
+ case 18:
+ data32 = GetMonData(&gEnemyParty[a], MON_DATA_EXP);
+ buffer[0] = (data32 & 0x000000FF);
+ buffer[1] = (data32 & 0x0000FF00) >> 8;
+ buffer[2] = (data32 & 0x00FF0000) >> 16;
+ size = 3;
+ break;
+ case 19:
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_HP_EV);
+ size = 1;
+ break;
+ case 20:
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_ATK_EV);
+ size = 1;
+ break;
+ case 21:
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_DEF_EV);
+ size = 1;
+ break;
+ case 22:
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SPD_EV);
+ size = 1;
+ break;
+ case 23:
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SPATK_EV);
+ size = 1;
+ break;
+ case 24:
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SPDEF_EV);
+ size = 1;
+ break;
+ case 25:
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_FRIENDSHIP);
+ size = 1;
+ break;
+ case 26:
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_POKERUS);
+ size = 1;
+ break;
+ case 27:
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_MET_LOCATION);
+ size = 1;
+ break;
+ case 28:
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_MET_LEVEL);
+ size = 1;
+ break;
+ case 29:
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_MET_GAME);
+ size = 1;
+ break;
+ case 30:
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_POKEBALL);
+ size = 1;
+ break;
+ case 31:
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_HP_IV);
+ buffer[1] = GetMonData(&gEnemyParty[a], MON_DATA_ATK_IV);
+ buffer[2] = GetMonData(&gEnemyParty[a], MON_DATA_DEF_IV);
+ buffer[3] = GetMonData(&gEnemyParty[a], MON_DATA_SPD_IV);
+ buffer[4] = GetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV);
+ buffer[5] = GetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV);
+ size = 6;
+ break;
+ case 32:
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_HP_IV);
+ size = 1;
+ break;
+ case 33:
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_ATK_IV);
+ size = 1;
+ break;
+ case 34:
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_DEF_IV);
+ size = 1;
+ break;
+ case 35:
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SPD_IV);
+ size = 1;
+ break;
+ case 36:
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV);
+ size = 1;
+ break;
+ case 37:
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV);
+ size = 1;
+ break;
+ case 38:
+ data32 = GetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY);
+ buffer[0] = (data32 & 0x000000FF);
+ buffer[1] = (data32 & 0x0000FF00) >> 8;
+ buffer[2] = (data32 & 0x00FF0000) >> 16;
+ buffer[3] = (data32 & 0xFF000000) >> 24;
+ size = 4;
+ break;
+ case 39:
+ data16 = GetMonData(&gEnemyParty[a], MON_DATA_CHECKSUM);
+ buffer[0] = data16;
+ buffer[1] = data16 >> 8;
+ size = 2;
+ break;
+ case 40:
+ data32 = GetMonData(&gEnemyParty[a], MON_DATA_STATUS);
+ buffer[0] = (data32 & 0x000000FF);
+ buffer[1] = (data32 & 0x0000FF00) >> 8;
+ buffer[2] = (data32 & 0x00FF0000) >> 16;
+ buffer[3] = (data32 & 0xFF000000) >> 24;
+ size = 4;
+ break;
+ case 41:
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_LEVEL);
+ size = 1;
+ break;
+ case 42:
+ data16 = GetMonData(&gEnemyParty[a], MON_DATA_HP);
+ buffer[0] = data16;
+ buffer[1] = data16 >> 8;
+ size = 2;
+ break;
+ case 43:
+ data16 = GetMonData(&gEnemyParty[a], MON_DATA_MAX_HP);
+ buffer[0] = data16;
+ buffer[1] = data16 >> 8;
+ size = 2;
+ break;
+ case 44:
+ data16 = GetMonData(&gEnemyParty[a], MON_DATA_ATK);
+ buffer[0] = data16;
+ buffer[1] = data16 >> 8;
+ size = 2;
+ break;
+ case 45:
+ data16 = GetMonData(&gEnemyParty[a], MON_DATA_DEF);
+ buffer[0] = data16;
+ buffer[1] = data16 >> 8;
+ size = 2;
+ break;
+ case 46:
+ data16 = GetMonData(&gEnemyParty[a], MON_DATA_SPD);
+ buffer[0] = data16;
+ buffer[1] = data16 >> 8;
+ size = 2;
+ break;
+ case 47:
+ data16 = GetMonData(&gEnemyParty[a], MON_DATA_SPATK);
+ buffer[0] = data16;
+ buffer[1] = data16 >> 8;
+ size = 2;
+ break;
+ case 48:
+ data16 = GetMonData(&gEnemyParty[a], MON_DATA_SPDEF);
+ buffer[0] = data16;
+ buffer[1] = data16 >> 8;
+ size = 2;
+ break;
+ case 49:
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_COOL);
+ size = 1;
+ break;
+ case 50:
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_BEAUTY);
+ size = 1;
+ break;
+ case 51:
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_CUTE);
+ size = 1;
+ break;
+ case 52:
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SMART);
+ size = 1;
+ break;
+ case 53:
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_TOUGH);
+ size = 1;
+ break;
+ case 54:
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SHEEN);
+ size = 1;
+ break;
+ case 55:
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_COOL_RIBBON);
+ size = 1;
+ break;
+ case 56:
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_BEAUTY_RIBBON);
+ size = 1;
+ break;
+ case 57:
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_CUTE_RIBBON);
+ size = 1;
+ break;
+ case 58:
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SMART_RIBBON);
+ size = 1;
+ break;
+ case 59:
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_TOUGH_RIBBON);
+ size = 1;
+ break;
+ }
+ return size;
+}
+
+void dp01t_01_2_read_pokmon_data_slice(void)
+{
+ struct BattlePokemon buffer;
+ u8 *src = (u8 *)&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1];
+ u8 *dst = (u8 *)&buffer + gBattleBufferA[gActiveBank][1];
+ u8 i;
+
+ for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++)
+ dst[i] = src[i];
+ dp01_build_cmdbuf_x1D_1D_numargs_varargs(1, gBattleBufferA[gActiveBank][2], dst);
+ OpponentBufferExecCompleted();
+}
+
+void OpponentHandleSetAttributes(void)
+{
+ u8 i;
+ u8 r4;
+
+ if (gBattleBufferA[gActiveBank][2] == 0)
+ {
+ sub_8033E24(gBattlePartyID[gActiveBank]);
+ }
+ else
+ {
+ r4 = gBattleBufferA[gActiveBank][2];
+ for (i = 0; i < 6; i++)
+ {
+ if (r4 & 1)
+ sub_8033E24(i);
+ r4 >>= 1;
+ }
+ }
+ OpponentBufferExecCompleted();
+}
+
+void sub_8033E24(u8 a)
+{
+ struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBank][3];
+ struct UnknownStruct3 *moveData = (struct UnknownStruct3 *)&gBattleBufferA[gActiveBank][3];
+ s32 i;
+
+ switch (gBattleBufferA[gActiveBank][1])
+ {
+ case 0:
+ {
+ u8 iv;
+
+ SetMonData(&gEnemyParty[a], MON_DATA_SPECIES, (u8 *)&battlePokemon->species);
+ SetMonData(&gEnemyParty[a], MON_DATA_HELD_ITEM, (u8 *)&battlePokemon->item);
+ for (i = 0; i < 4; i++)
+ {
+ SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, (u8 *)&battlePokemon->moves[i]);
+ SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, (u8 *)&battlePokemon->pp[i]);
+ }
+ SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, (u8 *)&battlePokemon->ppBonuses);
+ SetMonData(&gEnemyParty[a], MON_DATA_FRIENDSHIP, (u8 *)&battlePokemon->friendship);
+ SetMonData(&gEnemyParty[a], MON_DATA_EXP, (u8 *)&battlePokemon->experience);
+ iv = battlePokemon->hpIV;
+ SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, (u8 *)&iv);
+ iv = battlePokemon->attackIV;
+ SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, (u8 *)&iv);
+ iv = battlePokemon->defenseIV;
+ SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, (u8 *)&iv);
+ iv = battlePokemon->speedIV;
+ SetMonData(&gEnemyParty[a], MON_DATA_SPD_IV, (u8 *)&iv);
+ iv = battlePokemon->spAttackIV;
+ SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, (u8 *)&iv);
+ iv = battlePokemon->spDefenseIV;
+ SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, (u8 *)&iv);
+ SetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY, (u8 *)&battlePokemon->personality);
+ SetMonData(&gEnemyParty[a], MON_DATA_STATUS, (u8 *)&battlePokemon->status1);
+ SetMonData(&gEnemyParty[a], MON_DATA_LEVEL, (u8 *)&battlePokemon->level);
+ SetMonData(&gEnemyParty[a], MON_DATA_HP, (u8 *)&battlePokemon->hp);
+ SetMonData(&gEnemyParty[a], MON_DATA_MAX_HP, (u8 *)&battlePokemon->maxHP);
+ SetMonData(&gEnemyParty[a], MON_DATA_ATK, (u8 *)&battlePokemon->attack);
+ SetMonData(&gEnemyParty[a], MON_DATA_DEF, (u8 *)&battlePokemon->defense);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPD, (u8 *)&battlePokemon->speed);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPATK, (u8 *)&battlePokemon->spAttack);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPDEF, (u8 *)&battlePokemon->spDefense);
+ }
+ break;
+ case 1:
+ SetMonData(&gEnemyParty[a], MON_DATA_SPECIES, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 2:
+ SetMonData(&gEnemyParty[a], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 3:
+ for (i = 0; i < 4; i++)
+ {
+ SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, (u8 *)&moveData->moves[i]);
+ SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, (u8 *)&moveData->pp[i]);
+ }
+ SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, &moveData->ppBonuses);
+ break;
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - 4, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 8:
+ SetMonData(&gEnemyParty[a], MON_DATA_PP1, &gBattleBufferA[gActiveBank][3]);
+ SetMonData(&gEnemyParty[a], MON_DATA_PP2, &gBattleBufferA[gActiveBank][4]);
+ SetMonData(&gEnemyParty[a], MON_DATA_PP3, &gBattleBufferA[gActiveBank][5]);
+ SetMonData(&gEnemyParty[a], MON_DATA_PP4, &gBattleBufferA[gActiveBank][6]);
+ SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBank][7]);
+ break;
+ case 9:
+ case 10:
+ case 11:
+ case 12:
+ SetMonData(&gEnemyParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - 9, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 17:
+ SetMonData(&gEnemyParty[a], MON_DATA_OT_ID, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 18:
+ SetMonData(&gEnemyParty[a], MON_DATA_EXP, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 19:
+ SetMonData(&gEnemyParty[a], MON_DATA_HP_EV, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 20:
+ SetMonData(&gEnemyParty[a], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 21:
+ SetMonData(&gEnemyParty[a], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 22:
+ SetMonData(&gEnemyParty[a], MON_DATA_SPD_EV, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 23:
+ SetMonData(&gEnemyParty[a], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 24:
+ SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 25:
+ SetMonData(&gEnemyParty[a], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 26:
+ SetMonData(&gEnemyParty[a], MON_DATA_POKERUS, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 27:
+ SetMonData(&gEnemyParty[a], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 28:
+ SetMonData(&gEnemyParty[a], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 29:
+ SetMonData(&gEnemyParty[a], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 30:
+ SetMonData(&gEnemyParty[a], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 31:
+ SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]);
+ SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][4]);
+ SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][5]);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPD_IV, &gBattleBufferA[gActiveBank][6]);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][7]);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][8]);
+ break;
+ case 32:
+ SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 33:
+ SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 34:
+ SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 35:
+ SetMonData(&gEnemyParty[a], MON_DATA_SPD_IV, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 36:
+ SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 37:
+ SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 38:
+ SetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 39:
+ SetMonData(&gEnemyParty[a], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 40:
+ SetMonData(&gEnemyParty[a], MON_DATA_STATUS, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 41:
+ SetMonData(&gEnemyParty[a], MON_DATA_LEVEL, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 42:
+ SetMonData(&gEnemyParty[a], MON_DATA_HP, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 43:
+ SetMonData(&gEnemyParty[a], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 44:
+ SetMonData(&gEnemyParty[a], MON_DATA_ATK, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 45:
+ SetMonData(&gEnemyParty[a], MON_DATA_DEF, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 46:
+ SetMonData(&gEnemyParty[a], MON_DATA_SPD, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 47:
+ SetMonData(&gEnemyParty[a], MON_DATA_SPATK, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 48:
+ SetMonData(&gEnemyParty[a], MON_DATA_SPDEF, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 49:
+ SetMonData(&gEnemyParty[a], MON_DATA_COOL, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 50:
+ SetMonData(&gEnemyParty[a], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 51:
+ SetMonData(&gEnemyParty[a], MON_DATA_CUTE, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 52:
+ SetMonData(&gEnemyParty[a], MON_DATA_SMART, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 53:
+ SetMonData(&gEnemyParty[a], MON_DATA_TOUGH, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 54:
+ SetMonData(&gEnemyParty[a], MON_DATA_SHEEN, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 55:
+ SetMonData(&gEnemyParty[a], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 56:
+ SetMonData(&gEnemyParty[a], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 57:
+ SetMonData(&gEnemyParty[a], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 58:
+ SetMonData(&gEnemyParty[a], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBank][3]);
+ break;
+ case 59:
+ SetMonData(&gEnemyParty[a], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBank][3]);
+ break;
+ }
+}
+
+void sub_8034744(void)
+{
+ u8 *dst;
+ u8 i;
+
+ dst = (u8 *)&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1];
+ for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++)
+ dst[i] = gBattleBufferA[gActiveBank][3 + i];
+ OpponentBufferExecCompleted();
+}
+
+void OpponentHandleLoadPokeSprite(void)
+{
+ u16 species = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES);
+
+ sub_8031794(&gEnemyParty[gBattlePartyID[gActiveBank]], gActiveBank);
+ GetMonSpriteTemplate_803C56C(species, GetBankIdentity(gActiveBank));
+ gObjectBankIDs[gActiveBank] = CreateSprite(
+ &gUnknown_02024E8C,
+ sub_8077ABC(gActiveBank, 2),
+ sub_8077F68(gActiveBank),
+ sub_8079E90(gActiveBank));
+ gSprites[gObjectBankIDs[gActiveBank]].pos2.x = -240;
+ gSprites[gObjectBankIDs[gActiveBank]].data0 = gActiveBank;
+ gSprites[gObjectBankIDs[gActiveBank]].data2 = species;
+ gSprites[gObjectBankIDs[gActiveBank]].oam.paletteNum = gActiveBank;
+ StartSpriteAnim(&gSprites[gObjectBankIDs[gActiveBank]], gBattleMonForms[gActiveBank]);
+ sub_8032984(gActiveBank, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES));
+ gBattleBankFunc[gActiveBank] = sub_8033018;
+}
+
+void OpponentHandleSendOutPoke(void)
+{
+ gBattlePartyID[gActiveBank] = gBattleBufferA[gActiveBank][1];
+
+ sub_803495C(gActiveBank, gBattleBufferA[gActiveBank][2]);
+ gBattleBankFunc[gActiveBank] = sub_80333D4;
+}
+
+void sub_803495C(u8 a, u8 b)
+{
+ u16 species;
+
+ sub_8032AA8(a, b);
+ gBattlePartyID[a] = gBattleBufferA[a][1];
+ species = GetMonData(&gEnemyParty[gBattlePartyID[a]], MON_DATA_SPECIES);
+ gUnknown_0300434C[a] = CreateInvisibleSpriteWithCallback(sub_80312F0);
+ sub_8031794(&gEnemyParty[gBattlePartyID[a]], a);
+ GetMonSpriteTemplate_803C56C(species, GetBankIdentity(a));
+ gObjectBankIDs[a] = CreateSprite(
+ &gUnknown_02024E8C,
+ sub_8077ABC(a, 2),
+ sub_8077F68(a),
+ sub_8079E90(a));
+ gSprites[gObjectBankIDs[a]].data0 = a;
+ gSprites[gObjectBankIDs[a]].data2 = species;
+ gSprites[gUnknown_0300434C[a]].data1 = gObjectBankIDs[a];
+ gSprites[gObjectBankIDs[a]].oam.paletteNum = a;
+ StartSpriteAnim(&gSprites[gObjectBankIDs[a]], gBattleMonForms[a]);
+ gSprites[gObjectBankIDs[a]].invisible = TRUE;
+ gSprites[gObjectBankIDs[a]].callback = SpriteCallbackDummy;
+ gSprites[gUnknown_0300434C[a]].data0 = sub_8046400(0, 0xFE);
+}
+
+void OpponentHandleReturnPokeToBall(void)
+{
+ if (gBattleBufferA[gActiveBank][1] == 0)
+ {
+ ewram17810[gActiveBank].unk4 = 0;
+ gBattleBankFunc[gActiveBank] = sub_8034B74;
+ }
+ else
+ {
+ FreeSpriteOamMatrix(&gSprites[gObjectBankIDs[gActiveBank]]);
+ DestroySprite(&gSprites[gObjectBankIDs[gActiveBank]]);
+ sub_8032A08(gActiveBank);
+ sub_8043DB0(gHealthboxIDs[gActiveBank]);
+ OpponentBufferExecCompleted();
+ }
+}
+
+void sub_8034B74(void)
+{
+ switch (ewram17810[gActiveBank].unk4)
+ {
+ case 0:
+ if (ewram17800[gActiveBank].unk0_2)
+ move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5);
+ ewram17810[gActiveBank].unk4 = 1;
+ break;
+ case 1:
+ if (!ewram17810[gActiveBank].unk0_6)
+ {
+ ewram17810[gActiveBank].unk4 = 0;
+ move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 2);
+ gBattleBankFunc[gActiveBank] = sub_8033160;
+ }
+ break;
+ }
+}
+
+void OpponentHandleTrainerThrow(void)
+{
+ u32 trainerPicIndex;
+
+ if (gTrainerBattleOpponent == 0x400)
+ trainerPicIndex = GetSecretBaseTrainerPicIndex();
+ else if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER)
+ trainerPicIndex = get_trainer_class_pic_index();
+ else if (gBattleTypeFlags & BATTLE_TYPE_EREADER_TRAINER)
+ trainerPicIndex = sub_8135FBC();
+ else
+ trainerPicIndex = gTrainers[gTrainerBattleOpponent].trainerPic;
+
+ sub_8031A6C(trainerPicIndex, gActiveBank);
+ GetMonSpriteTemplate_803C5A0(trainerPicIndex, GetBankIdentity(gActiveBank));
+ gObjectBankIDs[gActiveBank] = CreateSprite(
+ &gUnknown_02024E8C,
+ 0xB0,
+ 40 + 4 * (8 - gTrainerFrontPicCoords[trainerPicIndex].coords),
+ sub_8079E90(gActiveBank));
+ gSprites[gObjectBankIDs[gActiveBank]].pos2.x = -240;
+ gSprites[gObjectBankIDs[gActiveBank]].data0 = 2;
+ gSprites[gObjectBankIDs[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicIndex].tag);
+ gSprites[gObjectBankIDs[gActiveBank]].data5 = gSprites[gObjectBankIDs[gActiveBank]].oam.tileNum;
+ gSprites[gObjectBankIDs[gActiveBank]].oam.tileNum = GetSpriteTileStartByTag(gTrainerFrontPicTable[trainerPicIndex].tag);
+ gSprites[gObjectBankIDs[gActiveBank]].oam.affineParam = trainerPicIndex;
+ gSprites[gObjectBankIDs[gActiveBank]].callback = sub_80313A0;
+ gBattleBankFunc[gActiveBank] = sub_8032B4C;
+}
+
+void OpponentHandleTrainerSlide(void)
+{
+ u32 trainerPicIndex;
+
+ if (gTrainerBattleOpponent == 0x400)
+ trainerPicIndex = GetSecretBaseTrainerPicIndex();
+ else if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER)
+ trainerPicIndex = get_trainer_class_pic_index();
+ else if (gBattleTypeFlags & BATTLE_TYPE_EREADER_TRAINER)
+ trainerPicIndex = sub_8135FBC();
+ else
+ trainerPicIndex = gTrainers[gTrainerBattleOpponent].trainerPic;
+
+ sub_8031A6C(trainerPicIndex, gActiveBank);
+ GetMonSpriteTemplate_803C5A0(trainerPicIndex, GetBankIdentity(gActiveBank));
+ gObjectBankIDs[gActiveBank] = CreateSprite(
+ &gUnknown_02024E8C,
+ 0xB0,
+ 40 + 4 * (8 - gTrainerFrontPicCoords[trainerPicIndex].coords),
+ 0x1E);
+ gSprites[gObjectBankIDs[gActiveBank]].pos2.x = 96;
+ gSprites[gObjectBankIDs[gActiveBank]].pos1.x += 32;
+ gSprites[gObjectBankIDs[gActiveBank]].data0 = -2;
+ gSprites[gObjectBankIDs[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicIndex].tag);
+ gSprites[gObjectBankIDs[gActiveBank]].data5 = gSprites[gObjectBankIDs[gActiveBank]].oam.tileNum;
+ gSprites[gObjectBankIDs[gActiveBank]].oam.tileNum = GetSpriteTileStartByTag(gTrainerFrontPicTable[trainerPicIndex].tag);
+ gSprites[gObjectBankIDs[gActiveBank]].oam.affineParam = trainerPicIndex;
+ gSprites[gObjectBankIDs[gActiveBank]].callback = sub_80313A0;
+ gBattleBankFunc[gActiveBank] = sub_8032B84;
+}
+
+void OpponentHandleTrainerSlideBack(void)
+{
+ oamt_add_pos2_onto_pos1(&gSprites[gObjectBankIDs[gActiveBank]]);
+ gSprites[gObjectBankIDs[gActiveBank]].data0 = 35;
+ gSprites[gObjectBankIDs[gActiveBank]].data2 = 280;
+ gSprites[gObjectBankIDs[gActiveBank]].data4 = gSprites[gObjectBankIDs[gActiveBank]].pos1.y;
+ gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34;
+ oamt_set_x3A_32(&gSprites[gObjectBankIDs[gActiveBank]], SpriteCallbackDummy);
+ gBattleBankFunc[gActiveBank] = sub_8032BBC;
+}
+
+void sub_8035030(void)
+{
+ if (ewram17810[gActiveBank].unk4 == 0)
+ {
+ if (ewram17800[gActiveBank].unk0_2)
+ move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5);
+ ewram17810[gActiveBank].unk4++;
+ }
+ else if (!ewram17810[gActiveBank].unk0_6)
+ {
+ ewram17810[gActiveBank].unk4 = 0;
+ PlaySE12WithPanning(SE_POKE_DEAD, 63);
+ gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8010384;
+ gBattleBankFunc[gActiveBank] = sub_803311C;
+ }
+}
+
+void sub_80350D4(void)
+{
+ OpponentBufferExecCompleted();
+}
+
+void sub_80350E0(void)
+{
+ OpponentBufferExecCompleted();
+}
+
+void OpponentHandleBallThrow(void)
+{
+ OpponentBufferExecCompleted();
+}
+
+void OpponentHandlePause(void)
+{
+ OpponentBufferExecCompleted();
+}
+
+void OpponentHandleMoveAnimation(void)
+{
+ if (!mplay_80342A4(gActiveBank))
+ {
+ u32 r0 = gBattleBufferA[gActiveBank][1]
+ | (gBattleBufferA[gActiveBank][2] << 8);
+
+ gUnknown_0202F7C4 = gBattleBufferA[gActiveBank][3];
+ gMovePowerMoveAnim = gBattleBufferA[gActiveBank][4]
+ | (gBattleBufferA[gActiveBank][5] << 8);
+ gMoveDmgMoveAnim = gBattleBufferA[gActiveBank][6]
+ | (gBattleBufferA[gActiveBank][7] << 8)
+ | (gBattleBufferA[gActiveBank][8] << 16)
+ | (gBattleBufferA[gActiveBank][9] << 24);
+ gHappinessMoveAnim = gBattleBufferA[gActiveBank][10];
+ gWeatherMoveAnim = gBattleBufferA[gActiveBank][12]
+ | (gBattleBufferA[gActiveBank][13] << 8);
+ gDisableStructMoveAnim = (u32 *)&gBattleBufferA[gActiveBank][16];
+ gPID_perBank[gActiveBank] = *gDisableStructMoveAnim;
+
+ // Dead code. sub_8031720 always returns 0.
+ if (sub_8031720(r0, gUnknown_0202F7C4) != 0)
+ {
+ OpponentBufferExecCompleted();
+ }
+ else
+ {
+ ewram17810[gActiveBank].unk4 = 0;
+ gBattleBankFunc[gActiveBank] = sub_8035238;
+ }
+ }
+}
+
+void sub_8035238(void)
+{
+ u16 r4 = gBattleBufferA[gActiveBank][1]
+ | (gBattleBufferA[gActiveBank][2] << 8);
+ u8 r7 = gBattleBufferA[gActiveBank][11];
+
+ switch (ewram17810[gActiveBank].unk4)
+ {
+ case 0:
+ if (ewram17800[gActiveBank].unk0_2 && !ewram17800[gActiveBank].unk0_3)
+ {
+ ewram17800[gActiveBank].unk0_3 = 1;
+ move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5);
+ }
+ ewram17810[gActiveBank].unk4 = 1;
+ break;
+ case 1:
+ if (!ewram17810[gActiveBank].unk0_6)
+ {
+ sub_80326EC(0);
+ ExecuteMoveAnim(r4);
+ ewram17810[gActiveBank].unk4 = 2;
+ }
+ break;
+ case 2:
+ gAnimScriptCallback();
+ if (!gAnimScriptActive)
+ {
+ sub_80326EC(1);
+ if ((ewram17800[gActiveBank].unk0_2) && r7 <= 1)
+ {
+ move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 6);
+ ewram17800[gActiveBank].unk0_3 = 0;
+ }
+ ewram17810[gActiveBank].unk4 = 3;
+ }
+ break;
+ case 3:
+ if (!ewram17810[gActiveBank].unk0_6)
+ {
+ sub_8031F24();
+ sub_80324BC(
+ gActiveBank,
+ gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8));
+ ewram17810[gActiveBank].unk4 = 0;
+ OpponentBufferExecCompleted();
+ }
+ break;
+ }
+}
+
+void OpponentHandlePrintString(void)
+{
+ gUnknown_030042A4 = 0;
+ gUnknown_030042A0 = 0;
+ BufferStringBattle(*(u16 *)&gBattleBufferA[gActiveBank][2]);
+ sub_8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 144, 2, 15);
+ gBattleBankFunc[gActiveBank] = sub_80331D0;
+}
+
+void OpponentHandlePrintStringPlayerOnly(void)
+{
+ OpponentBufferExecCompleted();
+}
+
+void sub_803540C(void)
+{
+ sub_8036B0C();
+ OpponentBufferExecCompleted();
+}
+
+void sub_803541C(void)
+{
+ OpponentBufferExecCompleted();
+}
+
+#ifdef NONMATCHING
+void sub_8035428(void)
+{
+ u16 r4;
+ // Needed to match closer
+ struct {u16 moves[4];} *r5 = (void *)&gBattleBufferA[gActiveBank][4];
+
+ if (gBattleTypeFlags & 0x498)
+ {
+ BattleAI_SetupAIData();
+ r4 = BattleAI_GetAIActionToUse();
+ switch (r4)
+ {
+ case 5:
+ dp01_build_cmdbuf_x21_a_bb(1, 4, 0);
+ break;
+ case 4:
+ dp01_build_cmdbuf_x21_a_bb(1, 3, 0);
+ break;
+ default:
+ if (gBattleMoves[r5->moves[r4]].target & 0x12)
+ gBankTarget = gActiveBank;
+ if (gBattleMoves[r5->moves[r4]].target & 8)
+ {
+ gBankTarget = GetBankByPlayerAI(0);
+ if (gAbsentBankFlags & gBitTable[gBankTarget])
+ gBankTarget = GetBankByPlayerAI(2);
+ }
+ r4 |= gBankTarget << 8;
+ dp01_build_cmdbuf_x21_a_bb(1, 10, r4);
+ break;
+ }
+ OpponentBufferExecCompleted();
+ }
+ else
+ {
+ u16 r2;
+
+ do
+ {
+ // Can't for the life of me get this to match.
+ r4 = Random() % 4;
+ r2 = r5->moves[r4];
+ } while (r2 == 0);
+
+ if (gBattleMoves[r2].target & 0x12)
+ {
+ r4 |= gActiveBank << 8;
+ dp01_build_cmdbuf_x21_a_bb(1, 10, r4);
+ }
+ else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
+ {
+ u16 r2 = GetBankByPlayerAI(Random() & 2) << 8;
+
+ dp01_build_cmdbuf_x21_a_bb(1, 10, r4 | r2);
+ }
+ else
+ {
+ u16 r2 = GetBankByPlayerAI(0) << 8;
+
+ dp01_build_cmdbuf_x21_a_bb(1, 10, r4 | r2);
+ }
+ OpponentBufferExecCompleted();
+ }
+}
+#else
+__attribute__((naked))
+void sub_8035428(void)
+{
+ asm(".syntax unified\n\
+ push {r4-r6,lr}\n\
+ ldr r6, _0803545C @ =gActiveBank\n\
+ ldrb r0, [r6]\n\
+ lsls r0, 9\n\
+ ldr r1, _08035460 @ =gUnknown_02023A64\n\
+ adds r5, r0, r1\n\
+ ldr r0, _08035464 @ =gBattleTypeFlags\n\
+ ldrh r1, [r0]\n\
+ movs r0, 0x93\n\
+ lsls r0, 3\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080354F8\n\
+ bl BattleAI_SetupAIData\n\
+ bl BattleAI_GetAIActionToUse\n\
+ lsls r0, 24\n\
+ lsrs r4, r0, 24\n\
+ cmp r4, 0x4\n\
+ beq _08035468\n\
+ cmp r4, 0x5\n\
+ bne _08035474\n\
+ movs r0, 0x1\n\
+ movs r1, 0x4\n\
+ b _0803546C\n\
+ .align 2, 0\n\
+_0803545C: .4byte gActiveBank\n\
+_08035460: .4byte gUnknown_02023A64\n\
+_08035464: .4byte gBattleTypeFlags\n\
+_08035468:\n\
+ movs r0, 0x1\n\
+ movs r1, 0x3\n\
+_0803546C:\n\
+ movs r2, 0\n\
+ bl dp01_build_cmdbuf_x21_a_bb\n\
+ b _080354E0\n\
+_08035474:\n\
+ ldr r3, _080354E8 @ =gBattleMoves\n\
+ lsls r0, r4, 1\n\
+ adds r2, r5, r0\n\
+ ldrh r1, [r2]\n\
+ lsls r0, r1, 1\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ adds r0, r3\n\
+ ldrb r1, [r0, 0x6]\n\
+ movs r0, 0x12\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _08035494\n\
+ ldr r1, _080354EC @ =gBankTarget\n\
+ ldrb r0, [r6]\n\
+ strb r0, [r1]\n\
+_08035494:\n\
+ ldrh r1, [r2]\n\
+ lsls r0, r1, 1\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ adds r0, r3\n\
+ ldrb r1, [r0, 0x6]\n\
+ movs r0, 0x8\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080354CE\n\
+ movs r0, 0\n\
+ bl GetBankByPlayerAI\n\
+ ldr r5, _080354EC @ =gBankTarget\n\
+ strb r0, [r5]\n\
+ ldr r0, _080354F0 @ =gAbsentBankFlags\n\
+ ldrb r1, [r0]\n\
+ ldr r2, _080354F4 @ =gBitTable\n\
+ ldrb r0, [r5]\n\
+ lsls r0, 2\n\
+ adds r0, r2\n\
+ ldr r0, [r0]\n\
+ ands r1, r0\n\
+ cmp r1, 0\n\
+ beq _080354CE\n\
+ movs r0, 0x2\n\
+ bl GetBankByPlayerAI\n\
+ strb r0, [r5]\n\
+_080354CE:\n\
+ ldr r0, _080354EC @ =gBankTarget\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 8\n\
+ orrs r4, r0\n\
+ movs r0, 0x1\n\
+ movs r1, 0xA\n\
+ adds r2, r4, 0\n\
+ bl dp01_build_cmdbuf_x21_a_bb\n\
+_080354E0:\n\
+ bl OpponentBufferExecCompleted\n\
+ b _0803558A\n\
+ .align 2, 0\n\
+_080354E8: .4byte gBattleMoves\n\
+_080354EC: .4byte gBankTarget\n\
+_080354F0: .4byte gAbsentBankFlags\n\
+_080354F4: .4byte gBitTable\n\
+_080354F8:\n\
+ movs r6, 0x3\n\
+_080354FA:\n\
+ bl Random\n\
+ adds r4, r0, 0\n\
+ ands r4, r6\n\
+ lsls r0, r4, 1\n\
+ adds r0, r5, r0\n\
+ ldrh r2, [r0]\n\
+ cmp r2, 0\n\
+ beq _080354FA\n\
+ ldr r1, _08035534 @ =gBattleMoves\n\
+ lsls r0, r2, 1\n\
+ adds r0, r2\n\
+ lsls r0, 2\n\
+ adds r0, r1\n\
+ ldrb r1, [r0, 0x6]\n\
+ movs r0, 0x12\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0803553C\n\
+ ldr r0, _08035538 @ =gActiveBank\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 8\n\
+ orrs r4, r0\n\
+ movs r0, 0x1\n\
+ movs r1, 0xA\n\
+ adds r2, r4, 0\n\
+ bl dp01_build_cmdbuf_x21_a_bb\n\
+ b _08035586\n\
+ .align 2, 0\n\
+_08035534: .4byte gBattleMoves\n\
+_08035538: .4byte gActiveBank\n\
+_0803553C:\n\
+ ldr r0, _0803556C @ =gBattleTypeFlags\n\
+ ldrh r1, [r0]\n\
+ movs r0, 0x1\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _08035570\n\
+ bl Random\n\
+ movs r1, 0x2\n\
+ ands r1, r0\n\
+ lsls r1, 24\n\
+ lsrs r1, 24\n\
+ adds r0, r1, 0\n\
+ bl GetBankByPlayerAI\n\
+ adds r2, r0, 0\n\
+ lsls r2, 24\n\
+ lsrs r2, 16\n\
+ orrs r2, r4\n\
+ movs r0, 0x1\n\
+ movs r1, 0xA\n\
+ bl dp01_build_cmdbuf_x21_a_bb\n\
+ b _08035586\n\
+ .align 2, 0\n\
+_0803556C: .4byte gBattleTypeFlags\n\
+_08035570:\n\
+ movs r0, 0\n\
+ bl GetBankByPlayerAI\n\
+ adds r2, r0, 0\n\
+ lsls r2, 24\n\
+ lsrs r2, 16\n\
+ orrs r2, r4\n\
+ movs r0, 0x1\n\
+ movs r1, 0xA\n\
+ bl dp01_build_cmdbuf_x21_a_bb\n\
+_08035586:\n\
+ bl OpponentBufferExecCompleted\n\
+_0803558A:\n\
+ pop {r4-r6}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .syntax divided\n");
+}
+#endif
+
+void sub_8035590(void)
+{
+ // What is this?
+ dp01_build_cmdbuf_x23_aa_0(1, ewram[0x160D4 + gActiveBank / 2 * 2]);
+ OpponentBufferExecCompleted();
+}
+
+void sub_80355C0(void)
+{
+ s32 r4;
+
+ if (ewram[0x160C8 + GetBankIdentity(gActiveBank) / 2] == 6)
+ {
+ u8 r6;
+ u8 r5;
+
+ r4 = sub_8036CD4();
+ if (r4 == 6)
+ {
+ if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
+ {
+ r5 = GetBankByPlayerAI(1);
+ r6 = r5;
+ }
+ else
+ {
+ r6 = GetBankByPlayerAI(1);
+ r5 = GetBankByPlayerAI(3);
+ }
+ for (r4 = 0; r4 < 6; r4++)
+ {
+ if (GetMonData(&gEnemyParty[r4], MON_DATA_HP) != 0
+ && r4 != gBattlePartyID[r6]
+ && r4 != gBattlePartyID[r5])
+ break;
+ }
+ }
+ }
+ else
+ {
+ r4 = ewram[0x160C8 + GetBankIdentity(gActiveBank) / 2];
+ ewram[0x160C8 + GetBankIdentity(gActiveBank) / 2] = 6;
+ }
+ ewram[0x16068 + gActiveBank] = r4;
+ dp01_build_cmdbuf_x22_a_three_bytes(1, r4, 0);
+ OpponentBufferExecCompleted();
+}
+
+void sub_80356C0(void)
+{
+ OpponentBufferExecCompleted();
+}
+
+void OpponentHandleHealthBarUpdate(void)
+{
+ s16 r7;
+
+ load_gfxc_health_bar(0);
+ r7 = (gBattleBufferA[gActiveBank][3] << 8) | gBattleBufferA[gActiveBank][2];
+ if (r7 != 0x7FFF)
+ {
+ u32 maxHP = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP);
+ u32 hp = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_HP);
+
+ sub_8043D84(gActiveBank, gHealthboxIDs[gActiveBank], maxHP, hp, r7);
+ }
+ else
+ {
+ u32 maxHP = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP);
+
+ sub_8043D84(gActiveBank, gHealthboxIDs[gActiveBank], maxHP, 0, r7);
+ }
+ gBattleBankFunc[gActiveBank] = sub_80330C8;
+}
+
+void OpponentHandleExpBarUpdate(void)
+{
+ OpponentBufferExecCompleted();
+}
+
+void OpponentHandleStatusIconUpdate(void)
+{
+ if (mplay_80342A4(gActiveBank) == 0)
+ {
+ sub_8045A5C(gHealthboxIDs[gActiveBank], &gEnemyParty[gBattlePartyID[gActiveBank]], 9);
+ ewram17810[gActiveBank].unk0_4 = 0;
+ gBattleBankFunc[gActiveBank] = sub_8033494;
+ }
+}
+
+void OpponentHandleStatusAnimation(void)
+{
+ if (mplay_80342A4(gActiveBank) == 0)
+ {
+ move_anim_start_t2_for_situation(
+ gBattleBufferA[gActiveBank][1],
+ gBattleBufferA[gActiveBank][2]
+ | (gBattleBufferA[gActiveBank][3] << 8)
+ | (gBattleBufferA[gActiveBank][4] << 16)
+ | (gBattleBufferA[gActiveBank][5] << 24));
+ gBattleBankFunc[gActiveBank] = sub_8033494;
+ }
+}
+
+void OpponentHandleStatusXor(void)
+{
+ OpponentBufferExecCompleted();
+}
+
+void sub_80358B0(void)
+{
+ OpponentBufferExecCompleted();
+}
+
+void OpponentHandleDMATransfer(void)
+{
+ OpponentBufferExecCompleted();
+}
+
+void sub_80358C8(void)
+{
+ OpponentBufferExecCompleted();
+}
+
+void sub_80358D4(void)
+{
+ OpponentBufferExecCompleted();
+}
+
+void sub_80358E0(void)
+{
+ OpponentBufferExecCompleted();
+}
+
+void sub_80358EC(void)
+{
+ OpponentBufferExecCompleted();
+}
+
+void sub_80358F8(void)
+{
+ OpponentBufferExecCompleted();
+}
+
+void sub_8035904(void)
+{
+ OpponentBufferExecCompleted();
+}
+
+void sub_8035910(void)
+{
+ gUnknown_020238C8.unk0_0 = 0;
+ OpponentBufferExecCompleted();
+}
+
+void sub_803592C(void)
+{
+ gUnknown_020238C8.unk0_0 = gBattleBufferA[gActiveBank][1];
+ OpponentBufferExecCompleted();
+}
+
+void sub_8035964(void)
+{
+ gUnknown_020238C8.unk0_7 = 0;
+ OpponentBufferExecCompleted();
+}
+
+void sub_803597C(void)
+{
+ gUnknown_020238C8.unk0_7 ^= 1;
+ OpponentBufferExecCompleted();
+}
+
+void OpponentHandleHitAnimation(void)
+{
+ if (gSprites[gObjectBankIDs[gActiveBank]].invisible == TRUE)
+ {
+ OpponentBufferExecCompleted();
+ }
+ else
+ {
+ gDoingBattleAnim = TRUE;
+ gSprites[gObjectBankIDs[gActiveBank]].data1 = 0;
+ sub_8047858(gActiveBank);
+ gBattleBankFunc[gActiveBank] = bx_blink_t7;
+ }
+}
+
+void sub_8035A14(void)
+{
+ OpponentBufferExecCompleted();
+}
+
+void OpponentHandleEffectivenessSound(void)
+{
+ s8 pan;
+
+ if (GetBankSide(gActiveBank) == 0)
+ pan = -64;
+ else
+ pan = 63;
+ PlaySE12WithPanning(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8), pan);
+ OpponentBufferExecCompleted();
+}
+
+void sub_8035A64(void)
+{
+ PlayFanfare(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8));
+ OpponentBufferExecCompleted();
+}
+
+void OpponentHandleFaintingCry(void)
+{
+ PlayCry3(
+ GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES),
+ 25, 5);
+ OpponentBufferExecCompleted();
+}
+
+void dp01t_2E_7_battle_intro(void)
+{
+ sub_80E43C0(gBattleBufferA[gActiveBank][1]);
+ gUnknown_02024DE8 |= 1;
+ OpponentBufferExecCompleted();
+}
+
+void sub_8035B04(void)
+{
+ u8 taskId;
+
+ oamt_add_pos2_onto_pos1(&gSprites[gObjectBankIDs[gActiveBank]]);
+ gSprites[gObjectBankIDs[gActiveBank]].data0 = 35;
+ gSprites[gObjectBankIDs[gActiveBank]].data2 = 280;
+ gSprites[gObjectBankIDs[gActiveBank]].data4 = gSprites[gObjectBankIDs[gActiveBank]].pos1.y;
+ gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34;
+ oamt_set_x3A_32(&gSprites[gObjectBankIDs[gActiveBank]], sub_8035C10);
+ taskId = CreateTask(sub_8035C44, 5);
+ gTasks[taskId].data[0] = gActiveBank;
+ if (ewram17810[gActiveBank].unk0_0)
+ gTasks[gUnknown_02024E68[gActiveBank]].func = sub_8044CA0;
+ ewram17840.unk9_0 = 1;
+ gBattleBankFunc[gActiveBank] = nullsub_45;
+}
+
+void sub_8035C10(struct Sprite *sprite)
+{
+ sub_8031B74(sprite->oam.affineParam);
+ sprite->oam.tileNum = sprite->data5;
+ FreeSpriteOamMatrix(sprite);
+ DestroySprite(sprite);
+}
+
+void sub_8035C44(u8 taskId)
+{
+ u8 r9;
+
+ r9 = gActiveBank;
+ gActiveBank = gTasks[taskId].data[0];
+ if (!IsDoubleBattle() || (gBattleTypeFlags & BATTLE_TYPE_MULTI))
+ {
+ gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank];
+ sub_803495C(gActiveBank, 0);
+ }
+ else
+ {
+ gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank];
+ sub_803495C(gActiveBank, 0);
+ gActiveBank ^= 2;
+ gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank];
+ sub_803495C(gActiveBank, 0);
+ gActiveBank ^= 2;
+ }
+ gBattleBankFunc[gActiveBank] = sub_8032E2C;
+ gActiveBank = r9;
+ DestroyTask(taskId);
+}
+
+void dp01t_30_7_0803D67C(void)
+{
+ if (gBattleBufferA[gActiveBank][1] != 0 && GetBankSide(gActiveBank) == 0)
+ {
+ OpponentBufferExecCompleted();
+ return;
+ }
+
+ ewram17810[gActiveBank].unk0_0 = 1;
+ if (gBattleBufferA[gActiveBank][2] != 0)
+ {
+ if (ewram17810[gActiveBank].unk1_1 < 2)
+ {
+ ewram17810[gActiveBank].unk1_1++;
+ return;
+ }
+ else
+ {
+ ewram17810[gActiveBank].unk1_1 = 0;
+ }
+ }
+ gUnknown_02024E68[gActiveBank] = sub_8044804(
+ gActiveBank,
+ (struct BattleInterfaceStruct2 *)&gBattleBufferA[gActiveBank][4],
+ gBattleBufferA[gActiveBank][1],
+ gBattleBufferA[gActiveBank][2]);
+ ewram17810[gActiveBank].unk5 = 0;
+ if (gBattleBufferA[gActiveBank][2] != 0)
+ ewram17810[gActiveBank].unk5 = 0x5D;
+ gBattleBankFunc[gActiveBank] = sub_8035E2C;
+}
+
+void sub_8035E2C(void)
+{
+ if (ewram17810[gActiveBank].unk5++ >= 93)
+ {
+ ewram17810[gActiveBank].unk5 = 0;
+ OpponentBufferExecCompleted();
+ }
+}
+
+void sub_8035E6C(void)
+{
+ if (ewram17810[gActiveBank].unk0_0)
+ gTasks[gUnknown_02024E68[gActiveBank]].func = sub_8044CA0;
+ OpponentBufferExecCompleted();
+}
+
+void sub_8035EB8(void)
+{
+ OpponentBufferExecCompleted();
+}
+
+void OpponentHandleSpriteInvisibility(void)
+{
+ if (sub_8078874(gActiveBank) != 0)
+ {
+ gSprites[gObjectBankIDs[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1];
+ sub_8031F88(gActiveBank);
+ }
+ OpponentBufferExecCompleted();
+}
+
+void OpponentHandleBattleAnimation(void)
+{
+ if (mplay_80342A4(gActiveBank) == 0)
+ {
+ u8 r3 = gBattleBufferA[gActiveBank][1];
+ u16 r4 = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8);
+
+ if (move_anim_start_t3(gActiveBank, gActiveBank, gActiveBank, r3, r4) != 0)
+ OpponentBufferExecCompleted();
+ else
+ gBattleBankFunc[gActiveBank] = sub_80334C0;
+ }
+}
+
+void OpponentHandleLinkStandbyMsg(void)
+{
+ OpponentBufferExecCompleted();
+}
+
+void OpponentHandleResetActionMoveSelection(void)
+{
+ OpponentBufferExecCompleted();
+}
+
+void sub_8035FA4(void)
+{
+ if ((gBattleTypeFlags & BATTLE_TYPE_LINK) && !(gBattleTypeFlags & BATTLE_TYPE_WILD))
+ {
+ gMain.inBattle = FALSE;
+ gMain.callback1 = gPreBattleCallback1;
+ SetMainCallback2(gMain.savedCallback);
+ }
+ OpponentBufferExecCompleted();
+}
+
+void nullsub_46(void)
+{
+}
diff --git a/src/battle_ai.c b/src/battle_ai.c
index 7f2646292..4206e8f83 100644
--- a/src/battle_ai.c
+++ b/src/battle_ai.c
@@ -38,7 +38,7 @@ the number of bytes that the current command had reserved for arguments
in order to read the next command correctly. refer to battle_ai_scripts.s for the
AI scripts.
*/
-extern u8 *gAIScriptPtr;
+EWRAM_DATA u8 *gAIScriptPtr = NULL;
static void BattleAICmd_if_random_less_than(void);
static void BattleAICmd_if_random_greater_than(void);
diff --git a/src/battle_anim.c b/src/battle_anim.c
index 55ede1788..6bd98099a 100644
--- a/src/battle_anim.c
+++ b/src/battle_anim.c
@@ -49,9 +49,11 @@ extern u16 gUnknown_03004280;
extern u16 gUnknown_03004288;
extern u16 gUnknown_030042C0;
extern u16 gUnknown_030042C4;
-extern u16 gSoundAnimFramesToWait;
-extern u16 gAnimSpriteIndexArray[8];
-extern s16 gBattleAnimArgs[8];
+
+u16 gSoundAnimFramesToWait;
+s16 gBattleAnimArgs[8];
+u16 gAnimSpriteIndexArray[8];
+
extern struct MusicPlayerInfo gMPlay_BGM;
extern struct MusicPlayerInfo gMPlay_SE1;
extern struct MusicPlayerInfo gMPlay_SE2;
diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c
index 6cbc38ecc..ff430e7b2 100644
--- a/src/berry_tag_screen.c
+++ b/src/berry_tag_screen.c
@@ -28,16 +28,12 @@ struct Struct2000000
/*0x1FFFF*/ u8 var_1FFFF;
};
-struct BerryTagStatus
-{
- s16 circles[5];
-};
-
extern struct Struct2000000 unk_2000000;
-extern u8 gUnknown_0203932C;
-extern struct BerryTagStatus gUnknown_0203932E;
extern u16 gUnknown_030041B4;
+static EWRAM_DATA u8 gUnknown_0203932C = 0;
+static EWRAM_DATA s16 gUnknown_0203932E[5] = {0};
+
extern const struct CompressedSpriteSheet gUnknown_083C1F74;
extern const struct CompressedSpritePalette gUnknown_083C1F7C;
@@ -336,19 +332,19 @@ static void sub_8146600(u8 berry)
berryInfo = GetBerryInfo(berry + 1);
for (i = 0; i < 5; i++)
- gUnknown_0203932E.circles[i] = (u16)gUnknown_0203932E.circles[i] | 0xFFFF;
+ gUnknown_0203932E[i] = (u16)gUnknown_0203932E[i] | 0xFFFF;
// argument is the center of the circle
if (berryInfo->spicy)
- gUnknown_0203932E.circles[0] = sub_80A7E5C(48);
+ gUnknown_0203932E[0] = sub_80A7E5C(48);
if (berryInfo->dry)
- gUnknown_0203932E.circles[1] = sub_80A7E5C(88);
+ gUnknown_0203932E[1] = sub_80A7E5C(88);
if (berryInfo->sweet)
- gUnknown_0203932E.circles[2] = sub_80A7E5C(128);
+ gUnknown_0203932E[2] = sub_80A7E5C(128);
if (berryInfo->bitter)
- gUnknown_0203932E.circles[3] = sub_80A7E5C(168);
+ gUnknown_0203932E[3] = sub_80A7E5C(168);
if (berryInfo->sour)
- gUnknown_0203932E.circles[4] = sub_80A7E5C(208);
+ gUnknown_0203932E[4] = sub_80A7E5C(208);
}
void sub_81466A0(void)
@@ -357,10 +353,10 @@ void sub_81466A0(void)
for (i = 0; i < 5; i++)
{
- if (gUnknown_0203932E.circles[i] != -1)
+ if (gUnknown_0203932E[i] != -1)
{
- DestroySprite(&gSprites[gUnknown_0203932E.circles[i]]);
- gUnknown_0203932E.circles[i] = -1;
+ DestroySprite(&gSprites[gUnknown_0203932E[i]]);
+ gUnknown_0203932E[i] = -1;
}
}
}
diff --git a/src/bike.c b/src/bike.c
index f37eb2144..58a4f38f4 100644
--- a/src/bike.c
+++ b/src/bike.c
@@ -15,8 +15,6 @@ extern u8 sub_80608A4(u8);
extern u8 gUnknown_02039250;
extern u8 gUnknown_02039251;
extern u8 gUnknown_0202E854;
-extern u8 gUnknown_0202E86C[];
-extern u8 gUnknown_0202E874[];
static void MovePlayerOnMachBike(u8, u16, u16);
static u8 GetMachBikeTransition(u8 *);
@@ -758,12 +756,12 @@ static bool8 sub_80E5BC8(const u8 *a, const u8 *b)
for (i = 0; a[i] != 0; i++)
{
- if (gUnknown_0202E86C[i] > a[i])
+ if (gPlayerAvatar.unk14[i] > a[i])
return FALSE;
}
for (i = 0; b[i] != 0; i++)
{
- if (gUnknown_0202E874[i] > b[i])
+ if (gPlayerAvatar.unk1C[i] > b[i])
return FALSE;
}
return TRUE;
diff --git a/src/braille_puzzles.c b/src/braille_puzzles.c
index 4de945b9c..b8d7cd386 100644
--- a/src/braille_puzzles.c
+++ b/src/braille_puzzles.c
@@ -19,8 +19,6 @@
extern u8 gPlayerPartyCount;
extern u8 gLastFieldPokeMenuOpened;
-extern u32 gUnknown_0202FF84[];
-
extern u8 gIslandCave_EventScript_OpenRegiiceChamber[]; // regiice event script
bool8 ShouldDoBrailleDigEffect(void)
diff --git a/src/cable_club.c b/src/cable_club.c
index 70b372205..20b087f4e 100644
--- a/src/cable_club.c
+++ b/src/cable_club.c
@@ -13,7 +13,6 @@
extern u16 gScriptResult;
extern struct TrainerCard gTrainerCards[4];
-extern struct LinkPlayer gLinkPlayers[];
extern u8 gUnknown_03004860;
extern u8 gFieldLinkPlayerCount;
diff --git a/src/choose_party.c b/src/choose_party.c
index 63e9c8477..d8df44028 100644
--- a/src/choose_party.c
+++ b/src/choose_party.c
@@ -31,7 +31,6 @@ struct UnknownPokemonStruct2
/*0x1D*/ u8 language;
};
-extern u8 gSelectedOrderFromParty[];
extern u8 gPlayerPartyCount;
extern u8 gLastFieldPokeMenuOpened;
extern u8 gUnknown_020384F0;
@@ -40,6 +39,8 @@ extern u8 gUnknown_0202E8F6;
extern struct Pokemon gUnknown_030042FC[];
extern const u16 gBattleTowerBanlist[];
+EWRAM_DATA u8 gSelectedOrderFromParty[3] = {0};
+
extern void OpenPartyMenu();
extern void TryCreatePartyMenuMonIcon(u8, u8, struct Pokemon *);
extern void LoadHeldItemIconGraphics(void);
diff --git a/src/contest_painting.c b/src/contest_painting.c
index d75947e05..391cbdfaa 100644
--- a/src/contest_painting.c
+++ b/src/contest_painting.c
@@ -14,18 +14,20 @@
#include "unknown_task.h"
extern u8 unk_2000000[];
-extern u8 gUnknown_03000750;
-extern u16 gUnknown_03000752;
-extern u16 gUnknown_03000754;
-extern u16 (*gUnknown_03005E10)[][32];
-extern u8 gUnknown_03005E40[];
-extern u16 (*gUnknown_03005E90)[];
+
+static u8 gUnknown_03000750;
+static u16 gUnknown_03000752;
+static u16 gUnknown_03000754;
+static u8 gUnknown_03000756;
+
+u16 (*gUnknown_03005E10)[][32];
+struct Unk03005E20 gUnknown_03005E20;
+u8 gUnknown_03005E40[0x4C];
+struct ContestEntry *gUnknown_03005E8C;
+u16 (*gUnknown_03005E90)[];
extern struct ContestEntry unk_2015de0;
extern struct Unk2015E00 unk_2015e00;
-extern struct Unk3000756 gUnknown_03000756;
-extern struct Unk03005E20 gUnknown_03005E20;
-extern struct ContestEntry *gUnknown_03005E8C;
static const u16 gPictureFramePalettes[][16] =
{
@@ -220,7 +222,7 @@ static void HoldContestPainting(void)
case 0:
if (!gPaletteFade.active)
gUnknown_03000750 = 1;
- if (gUnknown_03000756.var_0 != 0 && gUnknown_03000754 != 0)
+ if (gUnknown_03000756 != 0 && gUnknown_03000754 != 0)
gUnknown_03000754--;
break;
case 1:
@@ -231,13 +233,13 @@ static void HoldContestPainting(void)
gUnknown_03000750 = two;
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
}
- if (gUnknown_03000756.var_0 != 0)
+ if (gUnknown_03000756 != 0)
gUnknown_03000754 = 0;
break;
case 2:
if (!gPaletteFade.active)
SetMainCallback2(CB2_QuitContestPainting);
- if (gUnknown_03000756.var_0 != 0 && gUnknown_03000754 <= 0x1D)
+ if (gUnknown_03000756 != 0 && gUnknown_03000754 <= 0x1D)
gUnknown_03000754++;
break;
}
@@ -311,13 +313,13 @@ static void ContestPaintingInitVars(bool8 arg0)
{
if (arg0 == FALSE)
{
- gUnknown_03000756.var_0 = FALSE;
+ gUnknown_03000756 = FALSE;
gUnknown_03000752 = 0;
gUnknown_03000754 = 0;
}
else
{
- gUnknown_03000756.var_0 = TRUE;
+ gUnknown_03000756 = TRUE;
gUnknown_03000752 = 15;
gUnknown_03000754 = 30;
}
@@ -325,7 +327,7 @@ static void ContestPaintingInitVars(bool8 arg0)
static void ContestPaintingMosaic(void)
{
- if (gUnknown_03000756.var_0 == FALSE)
+ if (gUnknown_03000756 == FALSE)
{
REG_MOSAIC = 0;
return;
diff --git a/src/credits.c b/src/credits.c
index 8c4cfb84d..df70674b6 100644
--- a/src/credits.c
+++ b/src/credits.c
@@ -177,14 +177,15 @@ extern u16 unk_201f800[];
extern struct SpriteTemplate gUnknown_02024E8C;
-extern s16 gUnknown_02039320;
-extern u16 gUnknown_02039322; // TASK A
-extern u8 gUnknown_02039324;
-extern u8 gUnknown_02039325;
extern u16 gUnknown_02039358;
extern s16 gUnknown_0203935A;
extern s16 gUnknown_0203935C;
+static EWRAM_DATA s16 gUnknown_02039320 = 0;
+static EWRAM_DATA u16 gUnknown_02039322 = 0; // TASK A
+EWRAM_DATA u8 gUnknown_02039324 = 0;
+static EWRAM_DATA u8 gUnknown_02039325 = 0;
+
extern u8 gReservedSpritePaletteCount;
// data/hall_of_fame
diff --git a/src/decoration.c b/src/decoration.c
index e829cb072..da33b3ab7 100644
--- a/src/decoration.c
+++ b/src/decoration.c
@@ -19,6 +19,27 @@
#include "field_weather.h"
#include "decoration.h"
+EWRAM_DATA u8 *gUnknown_020388D0 = NULL;
+EWRAM_DATA u8 gUnknown_020388D4 = 0;
+EWRAM_DATA u8 gUnknown_020388D5 = 0;
+EWRAM_DATA u8 gUnknown_020388D6[16] = {0};
+EWRAM_DATA u8 gUnknown_020388E6[12] = {0};
+EWRAM_DATA u8 gUnknown_020388F2 = 0;
+EWRAM_DATA u8 gUnknown_020388F3 = 0;
+EWRAM_DATA u8 gUnknown_020388F4 = 0;
+EWRAM_DATA u8 gUnknown_020388F5 = 0;
+EWRAM_DATA u8 gUnknown_020388F6 = 0;
+EWRAM_DATA u8 gUnknown_020388F7[8] = {0};
+EWRAM_DATA struct UnkStruct_02038900 gUnknown_02038900 = {0};
+EWRAM_DATA u16 gUnknown_020391A4 = 0;
+EWRAM_DATA u16 gUnknown_020391A6 = 0;
+EWRAM_DATA u8 gUnknown_020391A8 = 0;
+EWRAM_DATA u8 gUnknown_020391A9 = 0;
+EWRAM_DATA u8 gUnknown_020391AA = 0;
+EWRAM_DATA struct OamData gUnknown_020391AC = {0};
+EWRAM_DATA struct UnkStruct_020391B4 gUnknown_020391B4[16] = {0};
+EWRAM_DATA u8 gUnknown_02039234 = 0;
+
#if ENGLISH
const u8 DecorDesc_SMALL_DESK[] = _(
"A small desk built\n"
diff --git a/src/event_data.c b/src/event_data.c
index c6aecf13c..0484bae02 100644
--- a/src/event_data.c
+++ b/src/event_data.c
@@ -6,7 +6,23 @@
#define TEMP_UPPER_FLAGS_SIZE 0x8
#define TEMP_VARS_SIZE 0x20
-extern u8 gUnknown_0202E8E2[16];
+EWRAM_DATA u16 gSpecialVar_0x8000 = 0;
+EWRAM_DATA u16 gSpecialVar_0x8001 = 0;
+EWRAM_DATA u16 gSpecialVar_0x8002 = 0;
+EWRAM_DATA u16 gSpecialVar_0x8003 = 0;
+EWRAM_DATA u16 gSpecialVar_0x8004 = 0;
+EWRAM_DATA u16 gSpecialVar_0x8005 = 0;
+EWRAM_DATA u16 gSpecialVar_0x8006 = 0;
+EWRAM_DATA u16 gSpecialVar_0x8007 = 0;
+EWRAM_DATA u16 gSpecialVar_0x8008 = 0;
+EWRAM_DATA u16 gSpecialVar_0x8009 = 0;
+EWRAM_DATA u16 gSpecialVar_0x800A = 0;
+EWRAM_DATA u16 gSpecialVar_0x800B = 0;
+EWRAM_DATA u16 gScriptResult = 0;
+EWRAM_DATA u16 gScriptLastTalked = 0;
+EWRAM_DATA u16 gScriptFacing = 0;
+EWRAM_DATA u8 gUnknown_0202E8E2[16] = {0};
+
extern u16 *gSpecialVars[];
void InitEventData(void)
diff --git a/src/field_camera.c b/src/field_camera.c
index 1aed1549b..db51cf054 100644
--- a/src/field_camera.c
+++ b/src/field_camera.c
@@ -7,8 +7,7 @@
#include "sprite.h"
#include "text.h"
-extern u8 gUnknown_0202E854;
-
+EWRAM_DATA u8 gUnknown_0202E854 = 0;
struct UnknownStruct
{
@@ -19,15 +18,15 @@ struct UnknownStruct
bool8 unk4;
};
-extern struct UnknownStruct gUnknown_03000590;
-extern u16 gUnknown_03000598;
-extern s16 gUnknown_0300059A;
-extern u8 gUnknown_0300059C;
-extern void (*gUnknown_030005A0)(void);
+static struct UnknownStruct gUnknown_03000590;
+static u16 gUnknown_03000598;
+static s16 gUnknown_0300059A;
+static u8 gUnknown_0300059C;
+static void (*gUnknown_030005A0)(void);
-extern struct CameraSomething gUnknown_03004880;
-extern u16 gUnknown_03004898;
-extern u16 gUnknown_0300489C;
+struct CameraSomething gUnknown_03004880;
+u16 gUnknown_03004898;
+u16 gUnknown_0300489C;
static void RedrawMapSliceNorth(struct UnknownStruct *a, struct MapData *mapData);
static void RedrawMapSliceSouth(struct UnknownStruct *a, struct MapData *mapData);
diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c
index a4f52f4b9..a8f6b6b9b 100644
--- a/src/field_control_avatar.c
+++ b/src/field_control_avatar.c
@@ -35,8 +35,11 @@ extern u16 gScriptFacing;
extern struct LinkPlayerMapObject gLinkPlayerMapObjects[];
extern u16 gSpecialVar_0x8004;
extern u16 gSpecialVar_0x8005;
-extern u8 gUnknown_0202E8C0;
-extern u16 gUnknown_0202E8C2;
+
+static EWRAM_DATA u8 gUnknown_0202E8C0 = 0;
+static EWRAM_DATA u16 gUnknown_0202E8C2 = 0;
+
+u8 gSelectedMapObject;
//scripts
extern u8 gUnknown_081A2C51[];
@@ -863,7 +866,7 @@ u8 *GetFieldObjectScriptPointerForComparison(void)
return sub_8068364(&position, MapGridGetMetatileBehaviorAt(position.x, position.y), r4);
}
-int sub_8068FEC(void)
+int SetCableClubWarp(void)
{
struct MapPosition position;
diff --git a/src/field_effect.c b/src/field_effect.c
index 889664dfa..3632d7053 100644
--- a/src/field_effect.c
+++ b/src/field_effect.c
@@ -28,6 +28,8 @@
#define subsprite_table(ptr) {.subsprites = ptr, .subspriteCount = (sizeof ptr) / (sizeof(struct Subsprite))}
+EWRAM_DATA u32 gUnknown_0202FF84[8] = {0};
+
const u32 gSpriteImage_839DC14[] = INCBIN_U32("graphics/birch_speech/birch.4bpp");
const u16 gBirchPalette[16] = INCBIN_U16("graphics/birch_speech/birch.gbapal");
const u32 gSpriteImage_839E434[] = INCBIN_U32("graphics/misc/pokeball_glow.4bpp");
diff --git a/src/field_map_obj.c b/src/field_map_obj.c
index d94c97ff3..f60b1b233 100644
--- a/src/field_map_obj.c
+++ b/src/field_map_obj.c
@@ -1902,8 +1902,11 @@ extern void CameraObjectReset1(void);
extern struct LinkPlayerMapObject gLinkPlayerMapObjects[];
extern u8 gReservedSpritePaletteCount;
extern struct Camera gUnknown_0202E844;
-extern u8 gUnknown_030005A4;
-extern u16 gUnknown_030005A6;
+
+static u8 gUnknown_030005A4;
+static u16 gUnknown_030005A6;
+
+struct MapObject gMapObjects[16];
void npc_clear_ids_and_state(struct MapObject *mapObj)
{
@@ -3881,8 +3884,6 @@ u8 sub_805D314(struct MapObject *mapObject, struct Sprite *sprite)
return gUnknown_083752D0[sprite->data1](mapObject, sprite);
}
-extern u32 gUnknown_0202FF84[];
-
u8 do_berry_tree_growth_sparkle_1(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 berryTreeStage;
diff --git a/src/field_map_obj_helpers.c b/src/field_map_obj_helpers.c
index 46784cff3..87be8e011 100644
--- a/src/field_map_obj_helpers.c
+++ b/src/field_map_obj_helpers.c
@@ -7,8 +7,6 @@
typedef void (*SpriteStepFunc)(struct Sprite *sprite, u8 dir);
-extern u32 gUnknown_0202FF84[];
-
extern s16 gUnknown_08376194[];
extern SpriteStepFunc *gUnknown_08376180[];
extern s8 *gUnknown_083761D0[];
diff --git a/src/field_message_box.c b/src/field_message_box.c
index 2cd2e66ab..35aac7ac9 100644
--- a/src/field_message_box.c
+++ b/src/field_message_box.c
@@ -6,7 +6,7 @@
#include "text.h"
#include "text_window.h"
-extern struct Window gFieldMessageBoxWindow;
+static EWRAM_DATA struct Window gFieldMessageBoxWindow = {0};
static u8 sMessageBoxMode;
diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c
index 3cdb45584..2a7b2f3e0 100644
--- a/src/field_player_avatar.c
+++ b/src/field_player_avatar.c
@@ -24,7 +24,7 @@
#include "tv.h"
#include "wild_encounter.h"
-extern u32 gUnknown_0202FF84[];
+EWRAM_DATA struct PlayerAvatar gPlayerAvatar = {0};
//Functions
static bool8 sub_8058854(struct MapObject *, u8);
diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c
index c6bd8cb77..79913e1c5 100644
--- a/src/field_screen_effect.c
+++ b/src/field_screen_effect.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "event_data.h"
#include "field_camera.h"
#include "menu.h"
#include "palette.h"
diff --git a/src/field_specials.c b/src/field_specials.c
index 71de04f55..454bd8d96 100644
--- a/src/field_specials.c
+++ b/src/field_specials.c
@@ -41,8 +41,26 @@
#elif GERMAN
#define CHAR_DECIMAL_SEPARATOR CHAR_COMMA
#endif
+
+extern struct WarpData gUnknown_020297F0;
+extern u8 gBattleOutcome;
+extern u16 gSpecialVar_0x8004;
+extern u16 gSpecialVar_0x8005;
+extern u16 gScriptResult;
+
+EWRAM_DATA u8 gUnknown_02039250 = 0;
+EWRAM_DATA u8 gUnknown_02039251 = 0;
+EWRAM_DATA u32 gUnknown_02039254 = 0;
+EWRAM_DATA u8 gUnknown_02039258 = 0;
+EWRAM_DATA u8 gUnknown_02039259 = 0;
+EWRAM_DATA u8 gUnknown_0203925A = 0;
+EWRAM_DATA u8 gUnknown_0203925B = 0;
+EWRAM_DATA u8 gUnknown_0203925C = 0;
+
static void RecordCyclingRoadResults(u32, u8);
+static struct ElevatorMenu gUnknown_03000760[20];
+
void sub_810D6A4(void) {
SetMainCallback2(sub_8145D88);
ScriptContext2_Enable();
diff --git a/src/fieldmap.c b/src/fieldmap.c
index e573ec13a..0e0ec246c 100644
--- a/src/fieldmap.c
+++ b/src/fieldmap.c
@@ -25,6 +25,8 @@ EWRAM_DATA struct MapHeader gMapHeader = {0};
EWRAM_DATA struct Camera gUnknown_0202E844 = {0};
EWRAM_DATA static struct ConnectionFlags gUnknown_0202E850 = {0};
+struct BackupMapData gUnknown_03004870;
+
static const struct ConnectionFlags sDummyConnectionFlags = {0};
struct MapHeader *mapconnection_get_mapheader(struct MapConnection *connection)
diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c
index e837dbd45..b394d1e4c 100644
--- a/src/fldeff_cut.c
+++ b/src/fldeff_cut.c
@@ -27,7 +27,6 @@ extern struct SpriteTemplate gSpriteTemplate_CutGrass;
extern struct MapPosition gUnknown_0203923C;
extern u8 gLastFieldPokeMenuOpened;
-extern u32 gUnknown_0202FF84[];
extern u8 UseCutScript;
diff --git a/src/fldeff_flash.c b/src/fldeff_flash.c
new file mode 100644
index 000000000..6c2633567
--- /dev/null
+++ b/src/fldeff_flash.c
@@ -0,0 +1,306 @@
+#include "global.h"
+#include "event_data.h"
+#include "field_effect.h"
+#include "main.h"
+#include "palette.h"
+#include "pokemon_menu.h"
+#include "rom4.h"
+#include "rom6.h"
+#include "script.h"
+#include "songs.h"
+#include "sound.h"
+#include "sprite.h"
+#include "task.h"
+
+struct FlashStruct
+{
+ u8 unk0;
+ u8 unk1;
+ u8 unk2;
+ u8 unk3;
+ void (*func)(void);
+};
+
+extern struct FlashStruct gUnknown_083F7FC4[];
+extern u16 gCaveTransitionPalette_White[];
+extern u16 gCaveTransitionPalette_Black[];
+extern u16 gUnknown_083F808C[];
+extern u16 gUnknown_083F809C[];
+extern u16 gCaveTransitionTilemap[];
+extern u8 gCaveTransitionTiles[];
+
+extern u8 gLastFieldPokeMenuOpened;
+extern void (*gUnknown_03005CE4)(void);
+
+extern u8 gUnknown_081B694A[];
+
+void sub_810CBFC(void);
+void sub_810CC34(void);
+bool8 sub_810CD5C(void);
+void sub_810CE5C(u8);
+void sub_810CE78(u8);
+void sub_810CF18(u8);
+void sub_810CF5C(u8);
+void sub_810CFC4(u8);
+void sub_810D00C(u8);
+void sub_810D028(u8);
+void sub_810D0C4(u8);
+void sub_810D128(u8);
+
+bool8 SetUpFieldMove_Flash(void)
+{
+ if (gMapHeader.cave == TRUE && !FlagGet(SYS_USE_FLASH))
+ {
+ gFieldCallback = sub_808AB90;
+ gUnknown_03005CE4 = sub_810CBFC;
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+void sub_810CBFC(void)
+{
+ u8 taskId = oei_task_add();
+ gUnknown_0202FF84[0] = gLastFieldPokeMenuOpened;
+ gTasks[taskId].data[8] = (uintptr_t)sub_810CC34 >> 16;
+ gTasks[taskId].data[9] = (uintptr_t)sub_810CC34;
+}
+
+void sub_810CC34(void)
+{
+ PlaySE(SE_W115);
+ FlagSet(SYS_USE_FLASH);
+ ScriptContext1_SetupScript(gUnknown_081B694A);
+}
+
+void sub_810CC54(void)
+{
+ RunTasks();
+ AnimateSprites();
+ BuildOamBuffer();
+ UpdatePaletteFade();
+}
+
+static void VBlankCB(void)
+{
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+}
+
+void sub_810CC80(void)
+{
+ u16 ime;
+
+ SetVBlankCallback(NULL);
+ REG_DISPCNT = 0;
+ REG_BG2CNT = 0;
+ REG_BG1CNT = 0;
+ REG_BG0CNT = 0;
+ REG_BG2HOFS = 0;
+ REG_BG2VOFS = 0;
+ REG_BG1HOFS = 0;
+ REG_BG1VOFS = 0;
+ REG_BG0HOFS = 0;
+ REG_BG0VOFS = 0;
+ DmaFill16(3, 0, (void *)VRAM, VRAM_SIZE);
+ DmaFill32(3, 0, (void *)OAM, OAM_SIZE);
+ DmaFill16(3, 0, (void *)(PLTT + 2), PLTT_SIZE - 2);
+ ResetPaletteFade();
+ ResetTasks();
+ ResetSpriteData();
+ ime = REG_IME;
+ REG_IME = 0;
+ REG_IE |= INTR_FLAG_VBLANK;
+ REG_IME = ime;
+ SetVBlankCallback(VBlankCB);
+ SetMainCallback2(sub_810CC54);
+ if (!sub_810CD5C())
+ SetMainCallback2(gMain.savedCallback);
+}
+
+bool8 sub_810CD5C(void)
+{
+ u8 i;
+ u8 v0 = get_map_light_from_warp0();
+ u8 v1 = sav1_map_get_light_level();
+
+ for (i = 0; gUnknown_083F7FC4[i].unk0; i++)
+ {
+ if (gUnknown_083F7FC4[i].unk0 == v0 && gUnknown_083F7FC4[i].unk1 == v1)
+ {
+ gUnknown_083F7FC4[i].func();
+ return TRUE;
+ }
+ }
+
+ return FALSE;
+}
+
+u8 sub_810CDB8(u8 a1, u8 a2)
+{
+ u8 i;
+ u8 v0 = a1;
+ u8 v1 = a2;
+
+ for (i = 0; gUnknown_083F7FC4[i].unk0; i++)
+ {
+ if (gUnknown_083F7FC4[i].unk0 == v0 && gUnknown_083F7FC4[i].unk1 == v1)
+ {
+ return gUnknown_083F7FC4[i].unk2;
+ }
+ }
+
+ return FALSE;
+}
+
+u8 fade_type_for_given_maplight_pair(u8 a1, u8 a2)
+{
+ u8 i;
+ u8 v0 = a1;
+ u8 v1 = a2;
+
+ for (i = 0; gUnknown_083F7FC4[i].unk0; i++)
+ {
+ if (gUnknown_083F7FC4[i].unk0 == v0 && gUnknown_083F7FC4[i].unk1 == v1)
+ {
+ return gUnknown_083F7FC4[i].unk3;
+ }
+ }
+
+ return FALSE;
+}
+
+void sub_810CE48(void)
+{
+ CreateTask(sub_810CE5C, 0);
+}
+
+void sub_810CE5C(u8 taskId)
+{
+ gTasks[taskId].func = sub_810CE78;
+}
+
+void sub_810CE78(u8 taskId)
+{
+ REG_DISPCNT = 0;
+ LZ77UnCompVram(gCaveTransitionTiles, (void *)0x600C000);
+ LZ77UnCompVram(gCaveTransitionTilemap, (void *)0x600F800);
+ LoadPalette(gCaveTransitionPalette_White, 0xE0, 0x20);
+ LoadPalette(gUnknown_083F809C, 0xE0, 0x10);
+ REG_BLDCNT = 15937;
+ REG_BLDALPHA = 0;
+ REG_BLDY = 0;
+ REG_BG0CNT = 7948;
+ REG_DISPCNT = 4416;
+ gTasks[taskId].func = sub_810CF18;
+ gTasks[taskId].data[0] = 16;
+ gTasks[taskId].data[1] = 0;
+}
+
+void sub_810CF18(u8 taskId)
+{
+ u16 count = gTasks[taskId].data[1];
+ u16 blend = count + 0x1000;
+ REG_BLDALPHA = blend;
+ if (count <= 0x10)
+ {
+ gTasks[taskId].data[1]++;
+ }
+ else
+ {
+ gTasks[taskId].data[2] = 0;
+ gTasks[taskId].func = sub_810CF5C;
+ }
+}
+
+void sub_810CF5C(u8 taskId)
+{
+ u16 count;
+
+ REG_BLDALPHA = 4112;
+
+ count = gTasks[taskId].data[2];
+
+ if (count < 8)
+ {
+ gTasks[taskId].data[2]++;
+ LoadPalette(&gUnknown_083F809C[count], 0xE0, 16 - 2 * count);
+ }
+ else
+ {
+ LoadPalette(gCaveTransitionPalette_White, 0, 0x20);
+ gTasks[taskId].func = sub_810CFC4;
+ gTasks[taskId].data[2] = 8;
+ }
+}
+
+void sub_810CFC4(u8 taskId)
+{
+ if (gTasks[taskId].data[2])
+ gTasks[taskId].data[2]--;
+ else
+ SetMainCallback2(gMain.savedCallback);
+}
+
+void sub_810CFF8(void)
+{
+ CreateTask(sub_810D00C, 0);
+}
+
+void sub_810D00C(u8 taskId)
+{
+ gTasks[taskId].func = sub_810D028;
+}
+
+void sub_810D028(u8 taskId)
+{
+ REG_DISPCNT = 0;
+ LZ77UnCompVram(gCaveTransitionTiles, (void *)0x600C000);
+ LZ77UnCompVram(gCaveTransitionTilemap, (void *)0x600F800);
+ REG_BLDCNT = 0;
+ REG_BLDALPHA = 0;
+ REG_BLDY = 0;
+ REG_BG0CNT = 7948;
+ REG_DISPCNT = 4416;
+ LoadPalette(gCaveTransitionPalette_White, 0xE0, 0x20);
+ LoadPalette(gCaveTransitionPalette_Black, 0, 0x20);
+ gTasks[taskId].func = sub_810D0C4;
+ gTasks[taskId].data[0] = 16;
+ gTasks[taskId].data[1] = 0;
+ gTasks[taskId].data[2] = 0;
+}
+
+void sub_810D0C4(u8 taskId)
+{
+ u16 count = gTasks[taskId].data[2];
+ if (count < 16)
+ {
+ gTasks[taskId].data[2]++;
+ gTasks[taskId].data[2]++;
+ LoadPalette(&gUnknown_083F808C[15 - count], 0xE0, 2 * (count + 1));
+ }
+ else
+ {
+ REG_BLDALPHA = 4112;
+ REG_BLDCNT = 15937;
+ gTasks[taskId].func = sub_810D128;
+ }
+}
+
+void sub_810D128(u8 taskId)
+{
+ u16 count = 16 - gTasks[taskId].data[1];
+ u16 blend = count + 0x1000;
+ REG_BLDALPHA = blend;
+ if (count)
+ {
+ gTasks[taskId].data[1]++;
+ }
+ else
+ {
+ LoadPalette(gCaveTransitionPalette_Black, 0, 0x20);
+ SetMainCallback2(gMain.savedCallback);
+ }
+}
diff --git a/src/fldeff_strength.c b/src/fldeff_strength.c
index 1edae09d4..81f4f63c6 100644
--- a/src/fldeff_strength.c
+++ b/src/fldeff_strength.c
@@ -13,8 +13,6 @@ static void sub_811AA18(void);
static void sub_811AA38(void);
static void sub_811AA9C(void);
-extern u32 gUnknown_0202FF84[];
-
extern u8 gLastFieldPokeMenuOpened;
extern u16 gScriptResult;
extern void (*gFieldCallback)(void);
diff --git a/src/fldeff_sweetscent.c b/src/fldeff_sweetscent.c
index 6e782f4ac..4c3e6bf4a 100644
--- a/src/fldeff_sweetscent.c
+++ b/src/fldeff_sweetscent.c
@@ -15,8 +15,6 @@ static void sub_812C01C(void);
static void sub_812C084(u8);
static void sub_812C118(u8);
-extern u32 gUnknown_0202FF84[];
-
extern u8 gLastFieldPokeMenuOpened;
extern void (*gFieldCallback)(void);
extern void (*gUnknown_03005CE4)(void);
diff --git a/src/fldeff_teleport.c b/src/fldeff_teleport.c
index df12d3072..74e68df06 100644
--- a/src/fldeff_teleport.c
+++ b/src/fldeff_teleport.c
@@ -7,8 +7,6 @@
#include "rom6.h"
#include "task.h"
-extern u32 gUnknown_0202FF84[];
-
extern void (*gFieldCallback)(void);
extern u8 gLastFieldPokeMenuOpened;
extern void (*gUnknown_03005CE4)(void);
diff --git a/src/intro.c b/src/intro.c
index 462a2134d..a43e0356c 100644
--- a/src/intro.c
+++ b/src/intro.c
@@ -22,12 +22,8 @@
#include "unknown_task.h"
extern struct SpriteTemplate gUnknown_02024E8C;
-extern u16 gUnknown_02039318;
-extern u16 gUnknown_0203931A;
extern u16 gUnknown_02039358;
extern u16 gUnknown_0203935A;
-extern u32 gIntroFrameCounter;
-extern struct GcmbStruct gMultibootProgramStruct;
extern u16 gSaveFileStatus;
extern u8 gReservedSpritePaletteCount;
extern const u8 gInterfaceGfx_PokeBall[];
@@ -37,6 +33,12 @@ extern const u16 gIntroCopyright_Pal[];
extern const u16 gIntroCopyright_Tilemap[];
extern void *const gUnknown_0840B5A0[];
+static EWRAM_DATA u16 gUnknown_02039318 = 0;
+static EWRAM_DATA u16 gUnknown_0203931A = 0;
+
+u32 gIntroFrameCounter;
+struct GcmbStruct gMultibootProgramStruct;
+
//--------------------------------------------------
// Graphics Data
//--------------------------------------------------
diff --git a/src/load_save.c b/src/load_save.c
index 0630f060c..730aea2b8 100644
--- a/src/load_save.c
+++ b/src/load_save.c
@@ -19,7 +19,10 @@ struct LoadedSaveData
struct MailStruct mail[16];
};
-extern struct LoadedSaveData gLoadedSaveData[];
+EWRAM_DATA struct SaveBlock2 gSaveBlock2 = {0};
+EWRAM_DATA struct SaveBlock1 gSaveBlock1 = {0};
+
+static EWRAM_DATA struct LoadedSaveData gLoadedSaveData = {0};
void CheckForFlashMemory(void)
{
@@ -112,27 +115,27 @@ void LoadPlayerBag(void)
// load player items.
for (i = 0; i < 20; i++)
- gLoadedSaveData->items[i] = gSaveBlock1.bagPocket_Items[i];
+ gLoadedSaveData.items[i] = gSaveBlock1.bagPocket_Items[i];
// load player key items.
for (i = 0; i < 20; i++)
- gLoadedSaveData->keyItems[i] = gSaveBlock1.bagPocket_KeyItems[i];
+ gLoadedSaveData.keyItems[i] = gSaveBlock1.bagPocket_KeyItems[i];
// load player pokeballs.
for (i = 0; i < 16; i++)
- gLoadedSaveData->pokeBalls[i] = gSaveBlock1.bagPocket_PokeBalls[i];
+ gLoadedSaveData.pokeBalls[i] = gSaveBlock1.bagPocket_PokeBalls[i];
// load player TMs and HMs.
for (i = 0; i < 64; i++)
- gLoadedSaveData->TMsHMs[i] = gSaveBlock1.bagPocket_TMHM[i];
+ gLoadedSaveData.TMsHMs[i] = gSaveBlock1.bagPocket_TMHM[i];
// load player berries.
for (i = 0; i < 46; i++)
- gLoadedSaveData->berries[i] = gSaveBlock1.bagPocket_Berries[i];
+ gLoadedSaveData.berries[i] = gSaveBlock1.bagPocket_Berries[i];
// load mail.
for (i = 0; i < 16; i++)
- gLoadedSaveData->mail[i] = gSaveBlock1.mail[i];
+ gLoadedSaveData.mail[i] = gSaveBlock1.mail[i];
}
void SavePlayerBag(void)
@@ -141,25 +144,25 @@ void SavePlayerBag(void)
// save player items.
for (i = 0; i < 20; i++)
- gSaveBlock1.bagPocket_Items[i] = gLoadedSaveData->items[i];
+ gSaveBlock1.bagPocket_Items[i] = gLoadedSaveData.items[i];
// save player key items.
for (i = 0; i < 20; i++)
- gSaveBlock1.bagPocket_KeyItems[i] = gLoadedSaveData->keyItems[i];
+ gSaveBlock1.bagPocket_KeyItems[i] = gLoadedSaveData.keyItems[i];
// save player pokeballs.
for (i = 0; i < 16; i++)
- gSaveBlock1.bagPocket_PokeBalls[i] = gLoadedSaveData->pokeBalls[i];
+ gSaveBlock1.bagPocket_PokeBalls[i] = gLoadedSaveData.pokeBalls[i];
// save player TMs and HMs.
for (i = 0; i < 64; i++)
- gSaveBlock1.bagPocket_TMHM[i] = gLoadedSaveData->TMsHMs[i];
+ gSaveBlock1.bagPocket_TMHM[i] = gLoadedSaveData.TMsHMs[i];
// save player berries.
for (i = 0; i < 46; i++)
- gSaveBlock1.bagPocket_Berries[i] = gLoadedSaveData->berries[i];
+ gSaveBlock1.bagPocket_Berries[i] = gLoadedSaveData.berries[i];
// save mail.
for (i = 0; i < 16; i++)
- gSaveBlock1.mail[i] = gLoadedSaveData->mail[i];
+ gSaveBlock1.mail[i] = gLoadedSaveData.mail[i];
}
diff --git a/src/menu_cursor.c b/src/menu_cursor.c
index c007296dc..64ab36573 100644
--- a/src/menu_cursor.c
+++ b/src/menu_cursor.c
@@ -22,13 +22,12 @@ extern const struct Subsprite gUnknown_0842F790;
extern u16 gUnknown_0203A360[];
-extern struct Subsprite gMenuCursorSubsprites[];
-
-extern u8 gUnknown_0203A3D0;
-extern u8 gUnknown_0203A3D1;
-extern u8 gUnknown_0203A3D2;
-extern u8 gUnknown_0203A3D3;
-extern u8 gUnknown_0203A3D4;
+EWRAM_DATA struct Subsprite gMenuCursorSubsprites[10] = {0};
+EWRAM_DATA u8 gUnknown_0203A3D0 = 0;
+EWRAM_DATA u8 gUnknown_0203A3D1 = 0;
+EWRAM_DATA u8 gUnknown_0203A3D2 = 0;
+EWRAM_DATA u8 gUnknown_0203A3D3 = 0;
+EWRAM_DATA u8 gUnknown_0203A3D4 = 0;
void sub_814A590(void)
{
diff --git a/src/mon_markings.c b/src/mon_markings.c
new file mode 100644
index 000000000..0cad8db59
--- /dev/null
+++ b/src/mon_markings.c
@@ -0,0 +1,383 @@
+#include "global.h"
+#include "main.h"
+#include "menu_cursor.h"
+#include "text_window.h"
+#include "songs.h"
+#include "sound.h"
+#include "sprite.h"
+
+#ifdef GERMAN
+#define MENU_TEXT_SPRITE_X_OFFSET 24
+#else
+#define MENU_TEXT_SPRITE_X_OFFSET 32
+#endif
+
+struct PokemonMarkMenu
+{
+ /*0x0000*/ u16 baseTileTag;
+ /*0x0002*/ u16 basePaletteTag;
+ /*0x0004*/ u8 markings; // bit flags
+ /*0x0005*/ s8 cursorPos;
+ /*0x0006*/ bool8 markingsArray[4];
+ /*0x000A*/ u8 cursorBaseY;
+ /*0x000B*/ bool8 spriteSheetLoadRequired;
+ /*0x000C*/ struct Sprite *menuWindowSprites[2]; // upper and lower halves of menu window
+ /*0x0014*/ struct Sprite *menuMarkingSprites[4];
+ /*0x0024*/ struct Sprite *menuTextSprite;
+ /*0x0028*/ u8 *frameTiles;
+ /*0x002C*/ u16 *framePalette;
+ /*0x0030*/ u8 menuWindowSpriteTiles[0x1000];
+ /*0x1030*/ u8 filler1030[0x80];
+ /*0x10B0*/ u8 tileLoadState;
+};
+
+extern u8 gPokenavConditionMenuMisc_Gfx[];
+extern u16 gUnknown_08E966B8[];
+
+extern u16 gUnknown_083E49F4[];
+extern u8 gUnknown_083E4A14[];
+extern struct OamData gOamData_83E5214;
+extern struct OamData gOamData_83E521C;
+extern const union AnimCmd *const gSpriteAnimTable_83E5274[];
+extern const union AnimCmd *const gSpriteAnimTable_83E52AC[];
+extern struct OamData gOamData_83E52B4;
+extern const union AnimCmd *const gSpriteAnimTable_83E533C[];
+
+static EWRAM_DATA struct PokemonMarkMenu *sMenu = NULL;
+
+void sub_80F761C(s16, s16, u16, u16);
+void nullsub_65(struct Sprite *);
+void sub_80F78CC(struct Sprite *);
+void sub_80F7908(struct Sprite *);
+struct Sprite *sub_80F7960(u16, u16, u16 *, u16);
+
+void sub_80F727C(struct PokemonMarkMenu *ptr)
+{
+ sMenu = ptr;
+ sMenu->spriteSheetLoadRequired = FALSE;
+}
+
+void sub_80F728C(void)
+{
+ const struct FrameGraphics *frame = GetTextWindowFrameGraphics(gSaveBlock2.optionsWindowFrameType);
+ sMenu->frameTiles = frame->tiles;
+ sMenu->framePalette = frame->palette;
+ sMenu->tileLoadState = 0;
+ CpuFill16(0, sMenu->menuWindowSpriteTiles, sizeof(sMenu->menuWindowSpriteTiles));
+}
+
+bool8 sub_80F72D4(void)
+{
+ u16 i;
+ u8 *dest = sMenu->menuWindowSpriteTiles + sMenu->tileLoadState * 0x100;
+
+ switch (sMenu->tileLoadState)
+ {
+ case 0:
+ CpuFastCopy(sMenu->frameTiles, dest, TILE_SIZE_4BPP);
+ for (i = 0; i < 6; i++)
+ {
+ CpuFastCopy(sMenu->frameTiles + TILE_SIZE_4BPP, dest + TILE_SIZE_4BPP * (i + 1), TILE_SIZE_4BPP);
+ }
+ CpuFastCopy(sMenu->frameTiles + TILE_SIZE_4BPP * 2, dest + TILE_SIZE_4BPP * 7, TILE_SIZE_4BPP);
+ sMenu->tileLoadState++;
+ break;
+ default:
+ CpuFastCopy(sMenu->frameTiles + TILE_SIZE_4BPP * 3, dest, TILE_SIZE_4BPP);
+ for (i = 0; i < 6; i++)
+ {
+ CpuFastCopy(sMenu->frameTiles + TILE_SIZE_4BPP * 4, dest + TILE_SIZE_4BPP * (i + 1), TILE_SIZE_4BPP);
+ }
+ CpuFastCopy(sMenu->frameTiles + TILE_SIZE_4BPP * 5, dest + TILE_SIZE_4BPP * 7, TILE_SIZE_4BPP);
+ sMenu->tileLoadState++;
+ break;
+ case 13:
+ CpuFastCopy(sMenu->frameTiles + TILE_SIZE_4BPP * 6, dest, TILE_SIZE_4BPP);
+ for (i = 0; i < 6; i++)
+ {
+ CpuFastCopy(sMenu->frameTiles + TILE_SIZE_4BPP * 7, dest + TILE_SIZE_4BPP * (i + 1), TILE_SIZE_4BPP);
+ }
+ CpuFastCopy(sMenu->frameTiles + TILE_SIZE_4BPP * 8, dest + TILE_SIZE_4BPP * 7, TILE_SIZE_4BPP);
+ sMenu->tileLoadState++;
+ return FALSE;
+ case 14:
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+void sub_80F7404(void)
+{
+ sub_80F728C();
+ while (sub_80F72D4())
+ ;
+}
+
+void sub_80F7418(u8 markings, s16 x, s16 y)
+{
+ u16 i;
+ sMenu->cursorPos = 0;
+ sMenu->markings = markings;
+ for (i = 0; i < 4; i++)
+ sMenu->markingsArray[i] = (sMenu->markings >> i) & 1;
+ DestroyMenuCursor();
+ sub_80F761C(x, y, sMenu->baseTileTag, sMenu->basePaletteTag);
+}
+
+void sub_80F7470(void)
+{
+ u16 i;
+
+ for (i = 0; i < 3; i++)
+ {
+ FreeSpriteTilesByTag(sMenu->baseTileTag + i);
+ }
+
+ FreeSpritePaletteByTag(sMenu->basePaletteTag);
+ FreeSpritePaletteByTag(sMenu->basePaletteTag + 1);
+
+ for (i = 0; i < 2; i++)
+ {
+ if (!sMenu->menuWindowSprites[i])
+ return;
+ DestroySprite(sMenu->menuWindowSprites[i]);
+ }
+
+ for (i = 0; i < 4; i++)
+ {
+ if (!sMenu->menuMarkingSprites[i])
+ return;
+ DestroySprite(sMenu->menuMarkingSprites[i]);
+ }
+
+ DestroyMenuCursor();
+
+ if (sMenu->menuTextSprite)
+ DestroySprite(sMenu->menuTextSprite);
+}
+
+bool8 sub_80F7500(void)
+{
+ u16 i;
+ struct SpriteSheet sheets[3] =
+ {
+ { sMenu->menuWindowSpriteTiles, 0x1000, sMenu->baseTileTag },
+ { gPokenavConditionMenuMisc_Gfx, 0x520, sMenu->baseTileTag + 1 },
+ { NULL, 0, 0 }
+ };
+
+ if (sMenu->spriteSheetLoadRequired)
+ {
+ LoadTilesForSpriteSheets(sheets);
+ sMenu->spriteSheetLoadRequired = FALSE;
+ }
+
+ if (gMain.newKeys & DPAD_UP)
+ {
+ s8 pos;
+ PlaySE(SE_SELECT);
+ pos = --sMenu->cursorPos;
+ if (pos < 0)
+ sMenu->cursorPos = 5;
+ return TRUE;
+ }
+
+ if (gMain.newKeys & DPAD_DOWN)
+ {
+ s8 pos;
+ PlaySE(SE_SELECT);
+ pos = ++sMenu->cursorPos;
+ if (pos > 5)
+ sMenu->cursorPos = 0;
+ return TRUE;
+ }
+
+ if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+
+ switch (sMenu->cursorPos)
+ {
+ case 4:
+ sMenu->markings = 0;
+ for (i = 0; i < 4; i++)
+ sMenu->markings |= sMenu->markingsArray[i] << i;
+ return FALSE;
+ case 5:
+ return FALSE;
+ }
+
+ sMenu->markingsArray[sMenu->cursorPos] = !sMenu->markingsArray[sMenu->cursorPos];
+ return TRUE;
+ }
+
+ if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+void sub_80F761C(s16 x, s16 y, u16 baseTileTag, u16 basePaletteTag)
+{
+ u16 i;
+ u8 spriteId;
+
+ struct SpriteSheet sheets[] =
+ {
+ { sMenu->menuWindowSpriteTiles, 0x1000, baseTileTag },
+ { gPokenavConditionMenuMisc_Gfx, 0x520, baseTileTag + 1 },
+ { NULL, 0 }
+ };
+
+ struct SpritePalette palettes[] =
+ {
+ { sMenu->framePalette, basePaletteTag },
+ { gUnknown_08E966B8, basePaletteTag + 1},
+ { NULL, 0 }
+ };
+
+ struct SpriteTemplate sprTemplate =
+ {
+ baseTileTag,
+ basePaletteTag,
+ &gOamData_83E5214,
+ gSpriteAnimTable_83E52AC,
+ NULL,
+ gDummySpriteAffineAnimTable,
+ nullsub_65,
+ };
+
+ sMenu->spriteSheetLoadRequired = TRUE;
+ AllocTilesForSpriteSheets(sheets);
+ LoadSpritePalettes(palettes);
+
+ for (i = 0; i < 2; i++)
+ {
+ spriteId = CreateSprite(&sprTemplate, x + 32, y + 32, 2);
+ if (spriteId != 64)
+ {
+ sMenu->menuWindowSprites[i] = &gSprites[spriteId];
+ StartSpriteAnim(&gSprites[spriteId], i);
+ }
+ else
+ {
+ sMenu->menuWindowSprites[i] = NULL;
+ return;
+ }
+ }
+
+ sMenu->menuWindowSprites[1]->pos1.y = y + 96;
+
+ sprTemplate.tileTag++;
+ sprTemplate.paletteTag++;
+ sprTemplate.anims = gSpriteAnimTable_83E5274;
+ sprTemplate.callback = sub_80F78CC;
+ sprTemplate.oam = &gOamData_83E521C;
+
+ for (i = 0; i < 4; i++)
+ {
+ spriteId = CreateSprite(&sprTemplate, x + 32, y + 16 + 16 * i, 1);
+ if (spriteId != 64)
+ {
+ sMenu->menuMarkingSprites[i] = &gSprites[spriteId];
+ gSprites[spriteId].data0 = i;
+ }
+ else
+ {
+ sMenu->menuMarkingSprites[i] = NULL;
+ return;
+ }
+ }
+
+ sprTemplate.callback = SpriteCallbackDummy;
+
+ spriteId = CreateSprite(&sprTemplate, 0, 0, 1);
+
+ if (spriteId != 64)
+ {
+ sMenu->menuTextSprite = &gSprites[spriteId];
+ sMenu->menuTextSprite->oam.shape = ST_OAM_H_RECTANGLE;
+ sMenu->menuTextSprite->oam.size = 3;
+ StartSpriteAnim(sMenu->menuTextSprite, 9);
+ sMenu->menuTextSprite->pos1.x = x + MENU_TEXT_SPRITE_X_OFFSET;
+ sMenu->menuTextSprite->pos1.y = y + 80;
+ CalcCenterToCornerVec(sMenu->menuTextSprite, 1, 2, 0);
+ }
+ else
+ {
+ sMenu->menuTextSprite = NULL;
+ }
+
+ sMenu->cursorBaseY = y + 8;
+ sub_814A5C0(0, basePaletteTag + 1, 15, 0, 0x30);
+ sub_814A880(x + 8, sMenu->cursorBaseY);
+ sub_814AABC(sub_80F7908);
+}
+
+void nullsub_65(struct Sprite *sprite)
+{
+}
+
+void sub_80F78CC(struct Sprite *sprite)
+{
+ if (sMenu->markingsArray[sprite->data0])
+ StartSpriteAnim(sprite, 2 * sprite->data0 + 1);
+ else
+ StartSpriteAnim(sprite, 2 * sprite->data0);
+}
+
+void sub_80F7908(struct Sprite *sprite)
+{
+ sprite->pos1.y = 16 * sMenu->cursorPos + sMenu->cursorBaseY;
+}
+
+struct Sprite *sub_80F7920(u16 tileTag, u16 paletteTag, u16 *palette)
+{
+ if (!palette)
+ palette = gUnknown_083E49F4;
+ return sub_80F7960(tileTag, paletteTag, palette, 16);
+}
+
+struct Sprite *sub_80F7940(u16 tileTag, u16 paletteTag, u16 *palette)
+{
+ if (!palette)
+ palette = gUnknown_083E49F4;
+ return sub_80F7960(tileTag, paletteTag, palette, 1);
+}
+
+struct Sprite *sub_80F7960(u16 tileTag, u16 paletteTag, u16 *palette, u16 size)
+{
+ u8 spriteId;
+ struct SpriteTemplate sprTemplate;
+ struct SpriteSheet sheet = { gUnknown_083E4A14, 0x80, tileTag };
+ struct SpritePalette sprPalette = { palette, paletteTag };
+
+ sprTemplate.tileTag = tileTag;
+ sprTemplate.paletteTag = paletteTag;
+ sprTemplate.oam = &gOamData_83E52B4;
+ sprTemplate.anims = gSpriteAnimTable_83E533C;
+ sprTemplate.images = NULL;
+ sprTemplate.affineAnims = gDummySpriteAffineAnimTable;
+ sprTemplate.callback = nullsub_65;
+
+ sheet.size = size * 0x80;
+
+ LoadSpriteSheet(&sheet);
+ LoadSpritePalette(&sprPalette);
+
+ spriteId = CreateSprite(&sprTemplate, 0, 0, 0);
+ if (spriteId != 64)
+ return &gSprites[spriteId];
+ else
+ return NULL;
+}
+
+void sub_80F7A10(u8 markings, void *dest)
+{
+ void *src = gUnknown_083E4A14 + markings * 0x80;
+ DmaCopy16(3, src, dest, 0x80);
+}
diff --git a/src/money.c b/src/money.c
index ab4508a39..5d9d0b689 100644
--- a/src/money.c
+++ b/src/money.c
@@ -8,7 +8,8 @@
#define SPRITE_TAG_MONEY (0x2722)
extern u16 gSpecialVar_0x8005;
-extern u8 gUnknown_02038734;
+
+static EWRAM_DATA u8 gUnknown_02038734 = 0;
extern const struct CompressedSpriteSheet gUnknown_083CF584;
extern const struct CompressedSpritePalette gUnknown_083CF58C;
diff --git a/src/mori_debug_menu.c b/src/mori_debug_menu.c
index 2d9e3fa6f..273191192 100644
--- a/src/mori_debug_menu.c
+++ b/src/mori_debug_menu.c
@@ -12,9 +12,10 @@
#define SIO_MULTI_CNT ((struct SioMultiCnt *)REG_ADDR_SIOCNT)
-extern u8 gUnknown_03004DA0[];
extern u8 (*gCallback_03004AE8)(void);
+u8 gUnknown_03004DA0[0x20];
+
extern u8 gUnknown_0839B22C[][3];
extern u8 gUnknown_0839B24A[];
extern u8 gUnknown_0839B24D[];
diff --git a/src/mystery_event_menu.c b/src/mystery_event_menu.c
index 4be5dec1c..89978f635 100644
--- a/src/mystery_event_menu.c
+++ b/src/mystery_event_menu.c
@@ -15,7 +15,8 @@
#include "text.h"
extern u8 unk_2000000[];
-extern u8 gUnknown_02039338;
+
+static EWRAM_DATA u8 gUnknown_02039338 = 0;
static void VBlankCB(void);
static bool8 CheckLanguageMatch(void);
diff --git a/src/mystery_event_script.c b/src/mystery_event_script.c
index 45ef719da..f7a1b633d 100644
--- a/src/mystery_event_script.c
+++ b/src/mystery_event_script.c
@@ -16,13 +16,13 @@
#define UNK_MASK_2 0x80
#endif
-extern struct ScriptContext gUnknown_02039288;
-
extern ScrCmdFunc gScriptFuncs[];
extern ScrCmdFunc gScriptFuncs_End[];
extern u8 gOtherText_DataCannotUseVersion[];
+static EWRAM_DATA struct ScriptContext gUnknown_02039288 = {0};
+
bool32 sub_8126098(u16 a1, u32 a2, u16 a3, u32 a4)
{
if (!(a1 & UNK_MASK_1))
diff --git a/src/new_game.c b/src/new_game.c
index 4b6ea1dd2..226ac9bb7 100644
--- a/src/new_game.c
+++ b/src/new_game.c
@@ -26,7 +26,8 @@
#include "secret_base.h"
#include "tv.h"
-extern u8 gDifferentSaveFile;
+EWRAM_DATA u8 gDifferentSaveFile = 0;
+EWRAM_DATA u8 gUnknown_020297ED = 0;
extern u8 gPlayerPartyCount;
extern u8 gUnknown_03005CE8;
diff --git a/src/player_pc.c b/src/player_pc.c
index adff9971a..6d52c560a 100644
--- a/src/player_pc.c
+++ b/src/player_pc.c
@@ -32,8 +32,9 @@ extern u8 sub_807D770(void);
extern void sub_808B020(void);
extern void sub_80F944C(void);
-extern u8 *gPcItemMenuOptionOrder;
-extern u8 gPcItemMenuOptionsNum;
+static EWRAM_DATA u8 *gPcItemMenuOptionOrder = NULL;
+
+static u8 gPcItemMenuOptionsNum;
extern u8 gUnknown_02038561;
diff --git a/src/pokeblock.c b/src/pokeblock.c
index b7fa5daa8..775280f6e 100644
--- a/src/pokeblock.c
+++ b/src/pokeblock.c
@@ -26,8 +26,24 @@
#include "songs.h"
#include "safari_zone.h"
#include "use_pokeblock.h"
+#include "event_data.h"
#include "pokeblock.h"
+struct UnkPokeblockStruct
+{
+ u8 unk0;
+ u8 unk1;
+ u8 unk2;
+ u8 unk3;
+};
+
+extern u8 ewram[];
+
+
+static EWRAM_DATA u8 gUnknown_02039244 = 0;
+static EWRAM_DATA struct UnkPokeblockStruct gUnknown_02039248 = {0};
+static EWRAM_DATA u8 gUnknown_0203924C = 0;
+
// function declarations
// gUnknown_083F7EF4
@@ -76,6 +92,8 @@ static void sub_810C5EC(u8);
// sub_810C610
static void sub_810C704(u8);
+static const u8 *gUnknown_03000758;
+
// rodata
#define GFX_TAG_POKEBLOCK_CASE 14800
@@ -313,7 +331,7 @@ static bool8 sub_810B6C0(void)
case 15:
sub_810BB0C();
sub_810BB30();
- sub_810BC84(gUnknown_02039248[1]);
+ sub_810BC84(gUnknown_02039248.unk1);
gMain.state++;
break;
case 16:
@@ -453,7 +471,7 @@ static void sub_810BB88(u8 a0)
for (i=a0; i<=a0+8; i++)
{
y = (i - a0) << 1;
- if (i == gUnknown_02039248[2])
+ if (i == gUnknown_02039248.unk2)
{
buf = sub_8072C74(gStringVar1, gContestStatsText_StowCase, 0x78, 0);
MenuPrint(gStringVar1, 15, y + 1);
@@ -500,23 +518,23 @@ static void sub_810BC98(void)
static void sub_810BD08(void)
{
u8 i;
- gUnknown_02039248[2] = 0;
+ gUnknown_02039248.unk2 = 0;
for (i=0; i<40; i++)
{
if (gSaveBlock1.pokeblocks[i].color != 0)
- gUnknown_02039248[2]++;
+ gUnknown_02039248.unk2++;
}
- if (gUnknown_02039248[2] < 8)
+ if (gUnknown_02039248.unk2 < 8)
{
- gUnknown_02039248[3] = gUnknown_02039248[2];
+ gUnknown_02039248.unk3 = gUnknown_02039248.unk2;
}
else
{
- gUnknown_02039248[3] = 8;
+ gUnknown_02039248.unk3 = 8;
}
- if (gUnknown_02039248[1] + 8 > gUnknown_02039248[2] && gUnknown_02039248[1] != 0)
+ if (gUnknown_02039248.unk1 + 8 > gUnknown_02039248.unk2 && gUnknown_02039248.unk1 != 0)
{
- gUnknown_02039248[1]--;
+ gUnknown_02039248.unk1--;
}
}
@@ -526,8 +544,8 @@ static void sub_810BD64(u16 a0, u16 a1)
int y;
for (i=0; i<14; i++)
{
- gBGTilemapBuffers[2][(2 * gUnknown_02039248[0] + 1) * 32 + (y = i + 15)] = a0;
- gBGTilemapBuffers[2][(2 * gUnknown_02039248[0] + 2) * 32 + y] = a0;
+ gBGTilemapBuffers[2][(2 * gUnknown_02039248.unk0 + 1) * 32 + (y = i + 15)] = a0;
+ gBGTilemapBuffers[2][(2 * gUnknown_02039248.unk0 + 2) * 32 + y] = a0;
}
}
@@ -543,7 +561,7 @@ static void sub_810BDAC(bool8 flag)
{
sub_810BD64(0x2005, 0x2014);
}
- if (gUnknown_02039248[1])
+ if (gUnknown_02039248.unk1)
{
sub_80F979C(0, 0);
}
@@ -551,7 +569,7 @@ static void sub_810BDAC(bool8 flag)
{
sub_80F979C(0, 1);
}
- if (gUnknown_02039248[2] > gUnknown_02039248[3] && gUnknown_02039248[1] + gUnknown_02039248[3] != gUnknown_02039248[2])
+ if (gUnknown_02039248.unk2 > gUnknown_02039248.unk3 && gUnknown_02039248.unk1 + gUnknown_02039248.unk3 != gUnknown_02039248.unk2)
{
sub_80F979C(1, 0);
}
@@ -562,9 +580,9 @@ static void sub_810BDAC(bool8 flag)
for (i=0; i<5; i++)
{
v0 = ((i % 3) << 6) + 0x1a1 + (i / 3) * 6;
- if (gUnknown_02039248[0] + gUnknown_02039248[1] != gUnknown_02039248[2])
+ if (gUnknown_02039248.unk0 + gUnknown_02039248.unk1 != gUnknown_02039248.unk2)
{
- if (sub_810CA9C(&gSaveBlock1.pokeblocks[gUnknown_02039248[0] + gUnknown_02039248[1]], i + 1) > 0)
+ if (sub_810CA9C(&gSaveBlock1.pokeblocks[gUnknown_02039248.unk0 + gUnknown_02039248.unk1], i + 1) > 0)
{
gBGTilemapBuffers[2][v0] = (i << 12) + 23;
gBGTilemapBuffers[2][v0 + 32] = (i << 12) + 24;
@@ -582,9 +600,9 @@ static void sub_810BDAC(bool8 flag)
}
}
BasicInitMenuWindow(&gWindowConfig_81E6E34);
- if (gUnknown_02039248[0] + gUnknown_02039248[1] != gUnknown_02039248[2])
+ if (gUnknown_02039248.unk0 + gUnknown_02039248.unk1 != gUnknown_02039248.unk2)
{
- sub_8072C14(gStringVar1, sub_810C9E8(&gSaveBlock1.pokeblocks[gUnknown_02039248[0] + gUnknown_02039248[1]]), 16, 1);
+ sub_8072C14(gStringVar1, sub_810C9E8(&gSaveBlock1.pokeblocks[gUnknown_02039248.unk0 + gUnknown_02039248.unk1]), 16, 1);
MenuPrint(gStringVar1, 11, 17);
}
else
@@ -606,48 +624,48 @@ static void sub_810BF7C(u8 taskId)
{
if (gMain.newAndRepeatedKeys & DPAD_UP)
{
- if (gUnknown_02039248[0] != 0)
+ if (gUnknown_02039248.unk0 != 0)
{
sub_810BD64(5, 20);
- gUnknown_02039248[0]--;
+ gUnknown_02039248.unk0--;
sub_810BF38(FALSE);
}
- else if (gUnknown_02039248[1] != 0)
+ else if (gUnknown_02039248.unk1 != 0)
{
- gUnknown_02039248[1]--;
- sub_810BB88(gUnknown_02039248[1]);
+ gUnknown_02039248.unk1--;
+ sub_810BB88(gUnknown_02039248.unk1);
sub_810BF38(FALSE);
}
}
else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
{
- if (gUnknown_02039248[0] != gUnknown_02039248[3])
+ if (gUnknown_02039248.unk0 != gUnknown_02039248.unk3)
{
sub_810BD64(5, 20);
- gUnknown_02039248[0]++;
+ gUnknown_02039248.unk0++;
sub_810BF38(FALSE);
}
- else if (gUnknown_02039248[1] + gUnknown_02039248[0] != gUnknown_02039248[2])
+ else if (gUnknown_02039248.unk1 + gUnknown_02039248.unk0 != gUnknown_02039248.unk2)
{
- gUnknown_02039248[1]++;
- sub_810BB88(gUnknown_02039248[1]);
+ gUnknown_02039248.unk1++;
+ sub_810BB88(gUnknown_02039248.unk1);
sub_810BF38(FALSE);
}
}
else if (gMain.newKeys & SELECT_BUTTON)
{
- if (gUnknown_02039248[1] + gUnknown_02039248[0] != gUnknown_02039248[2])
+ if (gUnknown_02039248.unk1 + gUnknown_02039248.unk0 != gUnknown_02039248.unk2)
{
PlaySE(SE_SELECT);
sub_810BDAC(TRUE);
- gTasks[taskId].data[0] = gUnknown_02039248[1] + gUnknown_02039248[0];
+ gTasks[taskId].data[0] = gUnknown_02039248.unk1 + gUnknown_02039248.unk0;
gTasks[taskId].func = sub_810C0C8;
}
}
else if (gMain.newKeys & A_BUTTON)
{
PlaySE(SE_SELECT);
- if (gUnknown_02039248[1] + gUnknown_02039248[0] == gUnknown_02039248[2])
+ if (gUnknown_02039248.unk1 + gUnknown_02039248.unk0 == gUnknown_02039248.unk2)
{
gScriptResult = 0xffff;
sub_810C31C(taskId);
@@ -670,36 +688,36 @@ static void sub_810C0C8(u8 taskId)
{
if (gMain.newAndRepeatedKeys & DPAD_UP)
{
- if (gUnknown_02039248[0] != 0)
+ if (gUnknown_02039248.unk0 != 0)
{
sub_810BD64(5, 20);
- gUnknown_02039248[0]--;
+ gUnknown_02039248.unk0--;
sub_810BF38(TRUE);
sub_810C1C8(taskId, 1);
}
- else if (gUnknown_02039248[1] != 0)
+ else if (gUnknown_02039248.unk1 != 0)
{
sub_810C1C8(taskId, 0);
- gUnknown_02039248[1]--;
- sub_810BB88(gUnknown_02039248[1]);
+ gUnknown_02039248.unk1--;
+ sub_810BB88(gUnknown_02039248.unk1);
sub_810BF38(TRUE);
sub_810C1C8(taskId, 1);
}
}
else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
{
- if (gUnknown_02039248[0] != gUnknown_02039248[3])
+ if (gUnknown_02039248.unk0 != gUnknown_02039248.unk3)
{
sub_810BD64(5, 20);
- gUnknown_02039248[0]++;
+ gUnknown_02039248.unk0++;
sub_810BF38(TRUE);
sub_810C1C8(taskId, 1);
}
- else if (gUnknown_02039248[1] + gUnknown_02039248[0] != gUnknown_02039248[2])
+ else if (gUnknown_02039248.unk1 + gUnknown_02039248.unk0 != gUnknown_02039248.unk2)
{
sub_810C1C8(taskId, 0);
- gUnknown_02039248[1]++;
- sub_810BB88(gUnknown_02039248[1]);
+ gUnknown_02039248.unk1++;
+ sub_810BB88(gUnknown_02039248.unk1);
sub_810BF38(TRUE);
sub_810C1C8(taskId, 1);
}
@@ -730,8 +748,8 @@ static void sub_810C1C8(u8 taskId, u8 flag)
{
v0 = 0x0005;
}
- y = gTasks[taskId].data[0] - gUnknown_02039248[1];
- if ((u16)y <= 8 && y != gUnknown_02039248[0])
+ y = gTasks[taskId].data[0] - gUnknown_02039248.unk1;
+ if ((u16)y <= 8 && y != gUnknown_02039248.unk0)
{
for (i=0; i<14; i++)
{
@@ -744,8 +762,8 @@ static void sub_810C1C8(u8 taskId, u8 flag)
static void sub_810C23C(u8 taskId)
{
struct Pokeblock buf;
- u8 selidx = gUnknown_02039248[1] + gUnknown_02039248[0];
- if (selidx == gUnknown_02039248[2])
+ u8 selidx = gUnknown_02039248.unk1 + gUnknown_02039248.unk0;
+ if (selidx == gUnknown_02039248.unk2)
{
sub_810BDAC(FALSE);
}
@@ -754,7 +772,7 @@ static void sub_810C23C(u8 taskId)
buf = gSaveBlock1.pokeblocks[selidx];
gSaveBlock1.pokeblocks[selidx] = gSaveBlock1.pokeblocks[gTasks[taskId].data[0]];
gSaveBlock1.pokeblocks[gTasks[taskId].data[0]] = buf;
- sub_810BB88(gUnknown_02039248[1]);
+ sub_810BB88(gUnknown_02039248.unk1);
sub_810BDAC(FALSE);
}
}
@@ -801,7 +819,7 @@ static void sub_810C368(u8 taskId)
MenuDrawTextWindow(7, v0 + 4, 13, 11);
PrintMenuItemsReordered(8, v0 + 5, gUnknown_0203924C, (const struct MenuAction *)gUnknown_083F7EF4, gUnknown_03000758);
InitMenu(0, 8, v0 + 5, gUnknown_0203924C, 0, 5);
- gScriptItemId = gUnknown_02039248[0] + gUnknown_02039248[1];
+ gScriptItemId = gUnknown_02039248.unk0 + gUnknown_02039248.unk1;
gTasks[taskId].func = sub_810C40C;
}
@@ -856,7 +874,7 @@ static void sub_810C540(u8 taskId)
BasicInitMenuWindow(&gWindowConfig_81E6E50);
HandleDestroyMenuCursors();
MenuZeroFillWindowRect(7, 4, 13, 11);
- StringCopy(gStringVar1, gPokeblockNames[gSaveBlock1.pokeblocks[gUnknown_02039248[0] + gUnknown_02039248[1]].color]);
+ StringCopy(gStringVar1, gPokeblockNames[gSaveBlock1.pokeblocks[gUnknown_02039248.unk0 + gUnknown_02039248.unk1].color]);
StringExpandPlaceholders(gStringVar4, gContestStatsText_ThrowAwayPrompt);
DisplayItemMessageOnField(taskId, gStringVar4, sub_810C5EC, 0);
}
@@ -876,7 +894,7 @@ static void sub_810C5EC(u8 taskId)
static void sub_810C610(u8 taskId)
{
MenuZeroFillWindowRect(7, 6, 13, 11);
- sub_810CA6C((gUnknown_02039248[0] + gUnknown_02039248[1]));
+ sub_810CA6C((gUnknown_02039248.unk0 + gUnknown_02039248.unk1));
StringExpandPlaceholders(gStringVar4, gContestStatsText_WasThrownAway);
DisplayItemMessageOnField(taskId, gStringVar4, sub_810C704, 0);
sub_810BC98();
@@ -887,7 +905,7 @@ static void sub_810C668(u8 taskId)
{
StartVerticalScrollIndicators(0);
StartVerticalScrollIndicators(1);
- if (gUnknown_02039248[2] > gUnknown_02039248[3] && gUnknown_02039248[1] + gUnknown_02039248[3] != gUnknown_02039248[2])
+ if (gUnknown_02039248.unk2 > gUnknown_02039248.unk3 && gUnknown_02039248.unk1 + gUnknown_02039248.unk3 != gUnknown_02039248.unk2)
{
sub_80F979C(1, 0);
}
@@ -908,7 +926,7 @@ static void sub_810C6DC(u8 taskId)
static void sub_810C704(u8 taskId)
{
BasicInitMenuWindow(&gWindowConfig_81E6E34);
- sub_810BC84(gUnknown_02039248[1]);
+ sub_810BC84(gUnknown_02039248.unk1);
sub_80F979C(1, 1);
gTasks[taskId].func = sub_810C6DC;
}
diff --git a/src/pokedex.c b/src/pokedex.c
index 2ef91e472..c132635cb 100644
--- a/src/pokedex.c
+++ b/src/pokedex.c
@@ -143,13 +143,7 @@ struct UnknownStruct4
extern struct MusicPlayerInfo gMPlay_BGM;
extern u8 gReservedSpritePaletteCount;
-extern struct PokedexView *gPokedexView;
extern struct SpriteTemplate gUnknown_02024E8C;
-extern u16 gUnknown_0202FFB8;
-extern u8 gUnknown_0202FFBA;
-extern struct PokedexListItem *gUnknown_0202FFBC;
-extern u8 gUnknown_03005CE8;
-extern IntrCallback gUnknown_03005CEC;
extern u8 gUnknown_03005E98;
extern const u8 gPokedexMenu_Gfx[];
extern const u8 gUnknown_08E96738[];
@@ -171,6 +165,14 @@ extern const u16 gPokedexMenuSearch_Pal[];
extern const u8 gTypeNames[][7];
extern const u8 gPokedexMenu2_Gfx[];
+static EWRAM_DATA struct PokedexView *gPokedexView = NULL;
+static EWRAM_DATA u16 gUnknown_0202FFB8 = 0;
+static EWRAM_DATA u8 gUnknown_0202FFBA = 0;
+static EWRAM_DATA struct PokedexListItem *gUnknown_0202FFBC = NULL;
+
+u8 gUnknown_03005CE8;
+IntrCallback gUnknown_03005CEC;
+
static u8 sub_8091E3C(void);
static const u16 sPokedexSearchPalette[] = INCBIN_U16("graphics/pokedex/search.gbapal");
diff --git a/src/pokemon_1.c b/src/pokemon_1.c
index 231fc33ed..c65bfa185 100644
--- a/src/pokemon_1.c
+++ b/src/pokemon_1.c
@@ -18,7 +18,13 @@
extern u8 unk_2000000[];
extern u16 word_2024E82;
-extern u8 byte_2024E88;
+
+static EWRAM_DATA u8 byte_2024E88 = 0;
+
+u8 gPlayerPartyCount;
+struct Pokemon gPlayerParty[6];
+u8 gEnemyPartyCount;
+struct Pokemon gEnemyParty[6];
void ZeroBoxMonData(struct BoxPokemon *boxMon)
{
diff --git a/src/pokemon_2.c b/src/pokemon_2.c
index 543b032e2..a77edbdb2 100644
--- a/src/pokemon_2.c
+++ b/src/pokemon_2.c
@@ -31,10 +31,11 @@ extern u8 gXXX_CritRelated;
extern u16 gBattleWeather;
extern struct BattleEnigmaBerry gEnigmaBerries[];
extern u16 gBattleMovePower;
-extern struct SpriteTemplate gUnknown_02024E8C;
extern u16 gTrainerBattleOpponent;
extern struct PokemonStorage gPokemonStorage;
+EWRAM_DATA struct SpriteTemplate gUnknown_02024E8C = {0};
+
extern u8 gBadEggNickname[];
extern const struct SpriteTemplate gSpriteTemplate_8208288[];
//array of pointers to arrays of pointers to union AnimCmd (We probably need to typedef this.)
diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c
new file mode 100644
index 000000000..8994ea49e
--- /dev/null
+++ b/src/pokemon_icon.c
@@ -0,0 +1,1276 @@
+#include "global.h"
+#include "graphics.h"
+#include "mail_data.h"
+#include "species.h"
+#include "sprite.h"
+
+#define POKE_ICON_BASE_PAL_TAG 56000
+
+struct MonIconSpriteTemplate
+{
+ const struct OamData *oam;
+ const u8 *image;
+ const union AnimCmd *const *anims;
+ const union AffineAnimCmd *const *affineAnims;
+ void (*callback)(struct Sprite *);
+ u16 paletteTag;
+};
+
+const u8 * const gMonIconTable[] =
+{
+ gMonIcon_Bulbasaur,
+ gMonIcon_Bulbasaur,
+ gMonIcon_Ivysaur,
+ gMonIcon_Venusaur,
+ gMonIcon_Charmander,
+ gMonIcon_Charmeleon,
+ gMonIcon_Charizard,
+ gMonIcon_Squirtle,
+ gMonIcon_Wartortle,
+ gMonIcon_Blastoise,
+ gMonIcon_Caterpie,
+ gMonIcon_Metapod,
+ gMonIcon_Butterfree,
+ gMonIcon_Weedle,
+ gMonIcon_Kakuna,
+ gMonIcon_Beedrill,
+ gMonIcon_Pidgey,
+ gMonIcon_Pidgeotto,
+ gMonIcon_Pidgeot,
+ gMonIcon_Rattata,
+ gMonIcon_Raticate,
+ gMonIcon_Spearow,
+ gMonIcon_Fearow,
+ gMonIcon_Ekans,
+ gMonIcon_Arbok,
+ gMonIcon_Pikachu,
+ gMonIcon_Raichu,
+ gMonIcon_Sandshrew,
+ gMonIcon_Sandslash,
+ gMonIcon_NidoranF,
+ gMonIcon_Nidorina,
+ gMonIcon_Nidoqueen,
+ gMonIcon_NidoranM,
+ gMonIcon_Nidorino,
+ gMonIcon_Nidoking,
+ gMonIcon_Clefairy,
+ gMonIcon_Clefable,
+ gMonIcon_Vulpix,
+ gMonIcon_Ninetales,
+ gMonIcon_Jigglypuff,
+ gMonIcon_Wigglytuff,
+ gMonIcon_Zubat,
+ gMonIcon_Golbat,
+ gMonIcon_Oddish,
+ gMonIcon_Gloom,
+ gMonIcon_Vileplume,
+ gMonIcon_Paras,
+ gMonIcon_Parasect,
+ gMonIcon_Venonat,
+ gMonIcon_Venomoth,
+ gMonIcon_Diglett,
+ gMonIcon_Dugtrio,
+ gMonIcon_Meowth,
+ gMonIcon_Persian,
+ gMonIcon_Psyduck,
+ gMonIcon_Golduck,
+ gMonIcon_Mankey,
+ gMonIcon_Primeape,
+ gMonIcon_Growlithe,
+ gMonIcon_Arcanine,
+ gMonIcon_Poliwag,
+ gMonIcon_Poliwhirl,
+ gMonIcon_Poliwrath,
+ gMonIcon_Abra,
+ gMonIcon_Kadabra,
+ gMonIcon_Alakazam,
+ gMonIcon_Machop,
+ gMonIcon_Machoke,
+ gMonIcon_Machamp,
+ gMonIcon_Bellsprout,
+ gMonIcon_Weepinbell,
+ gMonIcon_Victreebel,
+ gMonIcon_Tentacool,
+ gMonIcon_Tentacruel,
+ gMonIcon_Geodude,
+ gMonIcon_Graveler,
+ gMonIcon_Golem,
+ gMonIcon_Ponyta,
+ gMonIcon_Rapidash,
+ gMonIcon_Slowpoke,
+ gMonIcon_Slowbro,
+ gMonIcon_Magnemite,
+ gMonIcon_Magneton,
+ gMonIcon_Farfetchd,
+ gMonIcon_Doduo,
+ gMonIcon_Dodrio,
+ gMonIcon_Seel,
+ gMonIcon_Dewgong,
+ gMonIcon_Grimer,
+ gMonIcon_Muk,
+ gMonIcon_Shellder,
+ gMonIcon_Cloyster,
+ gMonIcon_Gastly,
+ gMonIcon_Haunter,
+ gMonIcon_Gengar,
+ gMonIcon_Onix,
+ gMonIcon_Drowzee,
+ gMonIcon_Hypno,
+ gMonIcon_Krabby,
+ gMonIcon_Kingler,
+ gMonIcon_Voltorb,
+ gMonIcon_Electrode,
+ gMonIcon_Exeggcute,
+ gMonIcon_Exeggutor,
+ gMonIcon_Cubone,
+ gMonIcon_Marowak,
+ gMonIcon_Hitmonlee,
+ gMonIcon_Hitmonchan,
+ gMonIcon_Lickitung,
+ gMonIcon_Koffing,
+ gMonIcon_Weezing,
+ gMonIcon_Rhyhorn,
+ gMonIcon_Rhydon,
+ gMonIcon_Chansey,
+ gMonIcon_Tangela,
+ gMonIcon_Kangaskhan,
+ gMonIcon_Horsea,
+ gMonIcon_Seadra,
+ gMonIcon_Goldeen,
+ gMonIcon_Seaking,
+ gMonIcon_Staryu,
+ gMonIcon_Starmie,
+ gMonIcon_Mrmime,
+ gMonIcon_Scyther,
+ gMonIcon_Jynx,
+ gMonIcon_Electabuzz,
+ gMonIcon_Magmar,
+ gMonIcon_Pinsir,
+ gMonIcon_Tauros,
+ gMonIcon_Magikarp,
+ gMonIcon_Gyarados,
+ gMonIcon_Lapras,
+ gMonIcon_Ditto,
+ gMonIcon_Eevee,
+ gMonIcon_Vaporeon,
+ gMonIcon_Jolteon,
+ gMonIcon_Flareon,
+ gMonIcon_Porygon,
+ gMonIcon_Omanyte,
+ gMonIcon_Omastar,
+ gMonIcon_Kabuto,
+ gMonIcon_Kabutops,
+ gMonIcon_Aerodactyl,
+ gMonIcon_Snorlax,
+ gMonIcon_Articuno,
+ gMonIcon_Zapdos,
+ gMonIcon_Moltres,
+ gMonIcon_Dratini,
+ gMonIcon_Dragonair,
+ gMonIcon_Dragonite,
+ gMonIcon_Mewtwo,
+ gMonIcon_Mew,
+ gMonIcon_Chikorita,
+ gMonIcon_Bayleef,
+ gMonIcon_Meganium,
+ gMonIcon_Cyndaquil,
+ gMonIcon_Quilava,
+ gMonIcon_Typhlosion,
+ gMonIcon_Totodile,
+ gMonIcon_Croconaw,
+ gMonIcon_Feraligatr,
+ gMonIcon_Sentret,
+ gMonIcon_Furret,
+ gMonIcon_Hoothoot,
+ gMonIcon_Noctowl,
+ gMonIcon_Ledyba,
+ gMonIcon_Ledian,
+ gMonIcon_Spinarak,
+ gMonIcon_Ariados,
+ gMonIcon_Crobat,
+ gMonIcon_Chinchou,
+ gMonIcon_Lanturn,
+ gMonIcon_Pichu,
+ gMonIcon_Cleffa,
+ gMonIcon_Igglybuff,
+ gMonIcon_Togepi,
+ gMonIcon_Togetic,
+ gMonIcon_Natu,
+ gMonIcon_Xatu,
+ gMonIcon_Mareep,
+ gMonIcon_Flaaffy,
+ gMonIcon_Ampharos,
+ gMonIcon_Bellossom,
+ gMonIcon_Marill,
+ gMonIcon_Azumarill,
+ gMonIcon_Sudowoodo,
+ gMonIcon_Politoed,
+ gMonIcon_Hoppip,
+ gMonIcon_Skiploom,
+ gMonIcon_Jumpluff,
+ gMonIcon_Aipom,
+ gMonIcon_Sunkern,
+ gMonIcon_Sunflora,
+ gMonIcon_Yanma,
+ gMonIcon_Wooper,
+ gMonIcon_Quagsire,
+ gMonIcon_Espeon,
+ gMonIcon_Umbreon,
+ gMonIcon_Murkrow,
+ gMonIcon_Slowking,
+ gMonIcon_Misdreavus,
+ gMonIcon_UnownA,
+ gMonIcon_Wobbuffet,
+ gMonIcon_Girafarig,
+ gMonIcon_Pineco,
+ gMonIcon_Forretress,
+ gMonIcon_Dunsparce,
+ gMonIcon_Gligar,
+ gMonIcon_Steelix,
+ gMonIcon_Snubbull,
+ gMonIcon_Granbull,
+ gMonIcon_Qwilfish,
+ gMonIcon_Scizor,
+ gMonIcon_Shuckle,
+ gMonIcon_Heracross,
+ gMonIcon_Sneasel,
+ gMonIcon_Teddiursa,
+ gMonIcon_Ursaring,
+ gMonIcon_Slugma,
+ gMonIcon_Magcargo,
+ gMonIcon_Swinub,
+ gMonIcon_Piloswine,
+ gMonIcon_Corsola,
+ gMonIcon_Remoraid,
+ gMonIcon_Octillery,
+ gMonIcon_Delibird,
+ gMonIcon_Mantine,
+ gMonIcon_Skarmory,
+ gMonIcon_Houndour,
+ gMonIcon_Houndoom,
+ gMonIcon_Kingdra,
+ gMonIcon_Phanpy,
+ gMonIcon_Donphan,
+ gMonIcon_Porygon2,
+ gMonIcon_Stantler,
+ gMonIcon_Smeargle,
+ gMonIcon_Tyrogue,
+ gMonIcon_Hitmontop,
+ gMonIcon_Smoochum,
+ gMonIcon_Elekid,
+ gMonIcon_Magby,
+ gMonIcon_Miltank,
+ gMonIcon_Blissey,
+ gMonIcon_Raikou,
+ gMonIcon_Entei,
+ gMonIcon_Suicune,
+ gMonIcon_Larvitar,
+ gMonIcon_Pupitar,
+ gMonIcon_Tyranitar,
+ gMonIcon_Lugia,
+ gMonIcon_HoOh,
+ gMonIcon_Celebi,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_Treecko,
+ gMonIcon_Grovyle,
+ gMonIcon_Sceptile,
+ gMonIcon_Torchic,
+ gMonIcon_Combusken,
+ gMonIcon_Blaziken,
+ gMonIcon_Mudkip,
+ gMonIcon_Marshtomp,
+ gMonIcon_Swampert,
+ gMonIcon_Poochyena,
+ gMonIcon_Mightyena,
+ gMonIcon_Zigzagoon,
+ gMonIcon_Linoone,
+ gMonIcon_Wurmple,
+ gMonIcon_Silcoon,
+ gMonIcon_Beautifly,
+ gMonIcon_Cascoon,
+ gMonIcon_Dustox,
+ gMonIcon_Lotad,
+ gMonIcon_Lombre,
+ gMonIcon_Ludicolo,
+ gMonIcon_Seedot,
+ gMonIcon_Nuzleaf,
+ gMonIcon_Shiftry,
+ gMonIcon_Nincada,
+ gMonIcon_Ninjask,
+ gMonIcon_Shedinja,
+ gMonIcon_Taillow,
+ gMonIcon_Swellow,
+ gMonIcon_Shroomish,
+ gMonIcon_Breloom,
+ gMonIcon_Spinda,
+ gMonIcon_Wingull,
+ gMonIcon_Pelipper,
+ gMonIcon_Surskit,
+ gMonIcon_Masquerain,
+ gMonIcon_Wailmer,
+ gMonIcon_Wailord,
+ gMonIcon_Skitty,
+ gMonIcon_Delcatty,
+ gMonIcon_Kecleon,
+ gMonIcon_Baltoy,
+ gMonIcon_Claydol,
+ gMonIcon_Nosepass,
+ gMonIcon_Torkoal,
+ gMonIcon_Sableye,
+ gMonIcon_Barboach,
+ gMonIcon_Whiscash,
+ gMonIcon_Luvdisc,
+ gMonIcon_Corphish,
+ gMonIcon_Crawdaunt,
+ gMonIcon_Feebas,
+ gMonIcon_Milotic,
+ gMonIcon_Carvanha,
+ gMonIcon_Sharpedo,
+ gMonIcon_Trapinch,
+ gMonIcon_Vibrava,
+ gMonIcon_Flygon,
+ gMonIcon_Makuhita,
+ gMonIcon_Hariyama,
+ gMonIcon_Electrike,
+ gMonIcon_Manectric,
+ gMonIcon_Numel,
+ gMonIcon_Camerupt,
+ gMonIcon_Spheal,
+ gMonIcon_Sealeo,
+ gMonIcon_Walrein,
+ gMonIcon_Cacnea,
+ gMonIcon_Cacturne,
+ gMonIcon_Snorunt,
+ gMonIcon_Glalie,
+ gMonIcon_Lunatone,
+ gMonIcon_Solrock,
+ gMonIcon_Azurill,
+ gMonIcon_Spoink,
+ gMonIcon_Grumpig,
+ gMonIcon_Plusle,
+ gMonIcon_Minun,
+ gMonIcon_Mawile,
+ gMonIcon_Meditite,
+ gMonIcon_Medicham,
+ gMonIcon_Swablu,
+ gMonIcon_Altaria,
+ gMonIcon_Wynaut,
+ gMonIcon_Duskull,
+ gMonIcon_Dusclops,
+ gMonIcon_Roselia,
+ gMonIcon_Slakoth,
+ gMonIcon_Vigoroth,
+ gMonIcon_Slaking,
+ gMonIcon_Gulpin,
+ gMonIcon_Swalot,
+ gMonIcon_Tropius,
+ gMonIcon_Whismur,
+ gMonIcon_Loudred,
+ gMonIcon_Exploud,
+ gMonIcon_Clamperl,
+ gMonIcon_Huntail,
+ gMonIcon_Gorebyss,
+ gMonIcon_Absol,
+ gMonIcon_Shuppet,
+ gMonIcon_Banette,
+ gMonIcon_Seviper,
+ gMonIcon_Zangoose,
+ gMonIcon_Relicanth,
+ gMonIcon_Aron,
+ gMonIcon_Lairon,
+ gMonIcon_Aggron,
+ gMonIcon_Castform,
+ gMonIcon_Volbeat,
+ gMonIcon_Illumise,
+ gMonIcon_Lileep,
+ gMonIcon_Cradily,
+ gMonIcon_Anorith,
+ gMonIcon_Armaldo,
+ gMonIcon_Ralts,
+ gMonIcon_Kirlia,
+ gMonIcon_Gardevoir,
+ gMonIcon_Bagon,
+ gMonIcon_Shelgon,
+ gMonIcon_Salamence,
+ gMonIcon_Beldum,
+ gMonIcon_Metang,
+ gMonIcon_Metagross,
+ gMonIcon_Regirock,
+ gMonIcon_Regice,
+ gMonIcon_Registeel,
+ gMonIcon_Kyogre,
+ gMonIcon_Groudon,
+ gMonIcon_Rayquaza,
+ gMonIcon_Latias,
+ gMonIcon_Latios,
+ gMonIcon_Jirachi,
+ gMonIcon_Deoxys,
+ gMonIcon_Chimecho,
+ gMonIcon_Egg,
+ gMonIcon_UnownB,
+ gMonIcon_UnownC,
+ gMonIcon_UnownD,
+ gMonIcon_UnownE,
+ gMonIcon_UnownF,
+ gMonIcon_UnownG,
+ gMonIcon_UnownH,
+ gMonIcon_UnownI,
+ gMonIcon_UnownJ,
+ gMonIcon_UnownK,
+ gMonIcon_UnownL,
+ gMonIcon_UnownM,
+ gMonIcon_UnownN,
+ gMonIcon_UnownO,
+ gMonIcon_UnownP,
+ gMonIcon_UnownQ,
+ gMonIcon_UnownR,
+ gMonIcon_UnownS,
+ gMonIcon_UnownT,
+ gMonIcon_UnownU,
+ gMonIcon_UnownV,
+ gMonIcon_UnownW,
+ gMonIcon_UnownX,
+ gMonIcon_UnownY,
+ gMonIcon_UnownZ,
+ gMonIcon_UnownExclamationMark,
+ gMonIcon_UnownQuestionMark,
+};
+
+const u8 gMonIconPaletteIndices[] =
+{
+ 0, // ??????????
+ 1, // Bulbasaur
+ 1, // Ivysaur
+ 1, // Venusaur
+ 0, // Charmander
+ 0, // Charmeleon
+ 0, // Charizard
+ 0, // Squirtle
+ 2, // Wartortle
+ 2, // Blastoise
+ 1, // Caterpie
+ 1, // Metapod
+ 0, // Butterfree
+ 1, // Weedle
+ 2, // Kakuna
+ 2, // Beedrill
+ 0, // Pidgey
+ 0, // Pidgeotto
+ 0, // Pidgeot
+ 2, // Rattata
+ 1, // Raticate
+ 0, // Spearow
+ 0, // Fearow
+ 2, // Ekans
+ 2, // Arbok
+ 2, // Pikachu
+ 0, // Raichu
+ 2, // Sandshrew
+ 2, // Sandslash
+ 2, // Nidoran♀
+ 2, // Nidorina
+ 2, // Nidoqueen
+ 2, // Nidoran♂
+ 2, // Nidorino
+ 2, // Nidoking
+ 0, // Clefairy
+ 0, // Clefable
+ 2, // Vulpix
+ 1, // Ninetales
+ 0, // Jigglypuff
+ 0, // Wigglytuff
+ 2, // Zubat
+ 2, // Golbat
+ 1, // Oddish
+ 0, // Gloom
+ 0, // Vileplume
+ 0, // Paras
+ 0, // Parasect
+ 0, // Venonat
+ 2, // Venomoth
+ 2, // Diglett
+ 2, // Dugtrio
+ 1, // Meowth
+ 1, // Persian
+ 1, // Psyduck
+ 2, // Golduck
+ 1, // Mankey
+ 2, // Primeape
+ 0, // Growlithe
+ 0, // Arcanine
+ 0, // Poliwag
+ 0, // Poliwhirl
+ 0, // Poliwrath
+ 2, // Abra
+ 2, // Kadabra
+ 2, // Alakazam
+ 0, // Machop
+ 2, // Machoke
+ 0, // Machamp
+ 1, // Bellsprout
+ 1, // Weepinbell
+ 1, // Victreebel
+ 2, // Tentacool
+ 2, // Tentacruel
+ 1, // Geodude
+ 1, // Graveler
+ 1, // Golem
+ 0, // Ponyta
+ 0, // Rapidash
+ 0, // Slowpoke
+ 0, // Slowbro
+ 0, // Magnemite
+ 0, // Magneton
+ 1, // Farfetch'd
+ 2, // Doduo
+ 2, // Dodrio
+ 2, // Seel
+ 2, // Dewgong
+ 2, // Grimer
+ 2, // Muk
+ 2, // Shellder
+ 2, // Cloyster
+ 2, // Gastly
+ 2, // Haunter
+ 2, // Gengar
+ 2, // Onix
+ 2, // Drowzee
+ 1, // Hypno
+ 2, // Krabby
+ 2, // Kingler
+ 0, // Voltorb
+ 0, // Electrode
+ 0, // Exeggcute
+ 1, // Exeggutor
+ 1, // Cubone
+ 1, // Marowak
+ 2, // Hitmonlee
+ 2, // Hitmonchan
+ 1, // Lickitung
+ 2, // Koffing
+ 2, // Weezing
+ 1, // Rhyhorn
+ 1, // Rhydon
+ 0, // Chansey
+ 0, // Tangela
+ 1, // Kangaskhan
+ 0, // Horsea
+ 0, // Seadra
+ 0, // Goldeen
+ 0, // Seaking
+ 2, // Staryu
+ 2, // Starmie
+ 0, // Mr. mime
+ 1, // Scyther
+ 2, // Jynx
+ 1, // Electabuzz
+ 0, // Magmar
+ 2, // Pinsir
+ 2, // Tauros
+ 0, // Magikarp
+ 0, // Gyarados
+ 2, // Lapras
+ 2, // Ditto
+ 2, // Eevee
+ 0, // Vaporeon
+ 0, // Jolteon
+ 0, // Flareon
+ 0, // Porygon
+ 0, // Omanyte
+ 0, // Omastar
+ 2, // Kabuto
+ 2, // Kabutops
+ 0, // Aerodactyl
+ 1, // Snorlax
+ 0, // Articuno
+ 0, // Zapdos
+ 0, // Moltres
+ 0, // Dratini
+ 0, // Dragonair
+ 2, // Dragonite
+ 2, // Mewtwo
+ 0, // Mew
+ 1, // Chikorita
+ 1, // Bayleef
+ 1, // Meganium
+ 1, // Cyndaquil
+ 1, // Quilava
+ 1, // Typhlosion
+ 2, // Totodile
+ 2, // Croconaw
+ 2, // Feraligatr
+ 2, // Sentret
+ 2, // Furret
+ 2, // Hoothoot
+ 2, // Noctowl
+ 0, // Ledyba
+ 0, // Ledian
+ 1, // Spinarak
+ 0, // Ariados
+ 2, // Crobat
+ 2, // Chinchou
+ 0, // Lanturn
+ 0, // Pichu
+ 0, // Cleffa
+ 1, // Igglybuff
+ 2, // Togepi
+ 2, // Togetic
+ 0, // Natu
+ 0, // Xatu
+ 2, // Mareep
+ 0, // Flaaffy
+ 0, // Ampharos
+ 1, // Bellossom
+ 2, // Marill
+ 2, // Azumarill
+ 1, // Sudowoodo
+ 1, // Politoed
+ 1, // Hoppip
+ 1, // Skiploom
+ 2, // Jumpluff
+ 2, // Aipom
+ 1, // Sunkern
+ 1, // Sunflora
+ 1, // Yanma
+ 0, // Wooper
+ 0, // Quagsire
+ 2, // Espeon
+ 2, // Umbreon
+ 2, // Murkrow
+ 0, // Slowking
+ 0, // Misdreavus
+ 0, // Unown A
+ 0, // Wobbuffet
+ 1, // Girafarig
+ 0, // Pineco
+ 2, // Forretress
+ 2, // Dunsparce
+ 2, // Gligar
+ 0, // Steelix
+ 0, // Snubbull
+ 2, // Granbull
+ 0, // Qwilfish
+ 0, // Scizor
+ 1, // Shuckle
+ 2, // Heracross
+ 0, // Sneasel
+ 0, // Teddiursa
+ 2, // Ursaring
+ 0, // Slugma
+ 0, // Magcargo
+ 2, // Swinub
+ 2, // Piloswine
+ 0, // Corsola
+ 0, // Remoraid
+ 0, // Octillery
+ 0, // Delibird
+ 2, // Mantine
+ 0, // Skarmory
+ 0, // Houndour
+ 0, // Houndoom
+ 0, // Kingdra
+ 0, // Phanpy
+ 0, // Donphan
+ 0, // Porygon2
+ 2, // Stantler
+ 1, // Smeargle
+ 2, // Tyrogue
+ 2, // Hitmontop
+ 1, // Smoochum
+ 1, // Elekid
+ 1, // Magby
+ 1, // Miltank
+ 1, // Blissey
+ 0, // Raikou
+ 2, // Entei
+ 0, // Suicune
+ 1, // Larvitar
+ 0, // Pupitar
+ 1, // Tyranitar
+ 0, // Lugia
+ 1, // Ho-Oh
+ 1, // Celebi
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 1, // Treecko
+ 0, // Grovyle
+ 1, // Sceptile
+ 0, // Torchic
+ 0, // Combusken
+ 0, // Blaziken
+ 0, // Mudkip
+ 0, // Marshtomp
+ 0, // Swampert
+ 2, // Poochyena
+ 2, // Mightyena
+ 2, // Zigzagoon
+ 2, // Linoone
+ 0, // Wurmple
+ 2, // Silcoon
+ 0, // Beautifly
+ 2, // Cascoon
+ 1, // Dustox
+ 1, // Lotad
+ 1, // Lombre
+ 1, // Ludicolo
+ 1, // Seedot
+ 1, // Nuzleaf
+ 0, // Shiftry
+ 1, // Nincada
+ 1, // Ninjask
+ 1, // Shedinja
+ 2, // Taillow
+ 2, // Swellow
+ 1, // Shroomish
+ 1, // Breloom
+ 1, // Spinda
+ 0, // Wingull
+ 0, // Pelipper
+ 2, // Surskit
+ 0, // Masquerain
+ 2, // Wailmer
+ 0, // Wailord
+ 0, // Skitty
+ 2, // Delcatty
+ 1, // Kecleon
+ 1, // Baltoy
+ 0, // Claydol
+ 0, // Nosepass
+ 1, // Torkoal
+ 2, // Sableye
+ 0, // Barboach
+ 0, // Whiscash
+ 0, // Luvdisc
+ 0, // Corphish
+ 0, // Crawdaunt
+ 2, // Feebas
+ 0, // Milotic
+ 0, // Carvanha
+ 0, // Sharpedo
+ 1, // Trapinch
+ 1, // Vibrava
+ 1, // Flygon
+ 2, // Makuhita
+ 1, // Hariyama
+ 1, // Electrike
+ 0, // Manectric
+ 1, // Numel
+ 0, // Camerupt
+ 2, // Spheal
+ 2, // Sealeo
+ 0, // Walrein
+ 1, // Cacnea
+ 1, // Cacturne
+ 2, // Snorunt
+ 0, // Glalie
+ 1, // Lunatone
+ 0, // Solrock
+ 2, // Azurill
+ 0, // Spoink
+ 2, // Grumpig
+ 0, // Plusle
+ 0, // Minun
+ 2, // Mawile
+ 0, // Meditite
+ 0, // Medicham
+ 0, // Swablu
+ 0, // Altaria
+ 0, // Wynaut
+ 0, // Duskull
+ 0, // Dusclops
+ 0, // Roselia
+ 2, // Slakoth
+ 2, // Vigoroth
+ 1, // Slaking
+ 1, // Gulpin
+ 2, // Swalot
+ 1, // Tropius
+ 0, // Whismur
+ 2, // Loudred
+ 2, // Exploud
+ 0, // Clamperl
+ 0, // Huntail
+ 0, // Gorebyss
+ 0, // Absol
+ 0, // Shuppet
+ 0, // Banette
+ 2, // Seviper
+ 0, // Zangoose
+ 1, // Relicanth
+ 2, // Aron
+ 2, // Lairon
+ 2, // Aggron
+ 0, // Castform
+ 0, // Volbeat
+ 2, // Illumise
+ 2, // Lileep
+ 0, // Cradily
+ 0, // Anorith
+ 0, // Armaldo
+ 1, // Ralts
+ 1, // Kirlia
+ 1, // Gardevoir
+ 2, // Bagon
+ 2, // Shelgon
+ 0, // Salamence
+ 0, // Beldum
+ 0, // Metang
+ 0, // Metagross
+ 2, // Regirock
+ 2, // Regice
+ 2, // Registeel
+ 2, // Kyogre
+ 0, // Groudon
+ 1, // Rayquaza
+ 0, // Latias
+ 2, // Latios
+ 0, // Jirachi
+ 0, // Deoxys
+ 0, // Chimecho
+ 1, // Egg
+ 0, // Unown B
+ 0, // Unown C
+ 0, // Unown D
+ 0, // Unown E
+ 0, // Unown F
+ 0, // Unown G
+ 0, // Unown H
+ 0, // Unown I
+ 0, // Unown J
+ 0, // Unown K
+ 0, // Unown L
+ 0, // Unown M
+ 0, // Unown N
+ 0, // Unown O
+ 0, // Unown P
+ 0, // Unown Q
+ 0, // Unown R
+ 0, // Unown S
+ 0, // Unown T
+ 0, // Unown U
+ 0, // Unown V
+ 0, // Unown W
+ 0, // Unown X
+ 0, // Unown Y
+ 0, // Unown Z
+ 0, // Unown Exclamation Mark
+ 0, // Unown Question Mark
+};
+
+const struct SpritePalette gMonIconPaletteTable[] =
+{
+ { gMonIconPalettes[0], POKE_ICON_BASE_PAL_TAG + 0 },
+ { gMonIconPalettes[1], POKE_ICON_BASE_PAL_TAG + 1 },
+ { gMonIconPalettes[2], POKE_ICON_BASE_PAL_TAG + 2 },
+
+// There are only 3 actual palettes. The following are unused
+// and don't point to valid data.
+ { gMonIconPalettes[3], POKE_ICON_BASE_PAL_TAG + 3 },
+ { gMonIconPalettes[4], POKE_ICON_BASE_PAL_TAG + 4 },
+ { gMonIconPalettes[5], POKE_ICON_BASE_PAL_TAG + 5 },
+};
+
+static const struct OamData sMonIconOamData =
+{
+ .size = 2,
+ .priority = 1,
+};
+
+// fastest to slowest
+
+static const union AnimCmd sAnim_0[] =
+{
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 6),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd sAnim_1[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd sAnim_2[] =
+{
+ ANIMCMD_FRAME(0, 14),
+ ANIMCMD_FRAME(1, 14),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd sAnim_3[] =
+{
+ ANIMCMD_FRAME(0, 22),
+ ANIMCMD_FRAME(1, 22),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd sAnim_4[] =
+{
+ ANIMCMD_FRAME(0, 29),
+ ANIMCMD_FRAME(0, 29), // frame 0 is repeated
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd *const sMonIconAnims[] =
+{
+ sAnim_0,
+ sAnim_1,
+ sAnim_2,
+ sAnim_3,
+ sAnim_4,
+};
+
+static const union AffineAnimCmd sAffineAnim_0[] =
+{
+ AFFINEANIMCMD_FRAME(0, 0, 0, 10),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd sAffineAnim_1[] =
+{
+ AFFINEANIMCMD_FRAME(-2, -2, 0, 122),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd *const sMonIconAffineAnims[] =
+{
+ sAffineAnim_0,
+ sAffineAnim_1,
+};
+
+const u16 sSpriteImageSizes[3][4] =
+{
+ // square
+ {
+ 0x20, // 1×1
+ 0x80, // 2×2
+ 0x200, // 4×4
+ 0x800, // 8×8
+ },
+
+ // horizontal rectangle
+ {
+ 0x40, // 2×1
+ 0x80, // 4×1
+ 0x100, // 4×2
+ 0x400, // 8×4
+ },
+
+ // vertical rectangle
+ {
+ 0x40, // 1×2
+ 0x80, // 1×4
+ 0x100, // 2×4
+ 0x400, // 4×8
+ },
+};
+
+u16 GetUnownLetterByPersonality(u32);
+const u8 *GetMonIconPtr(u16, u32 personality);
+u8 UpdateMonIconFrame(struct Sprite *);
+u8 CreateMonIconSprite(struct MonIconSpriteTemplate *, s16, s16, u8);
+void sub_809D7E8(struct Sprite *);
+
+// duplicate of sub_809D3A4
+u8 unref_sub_809D26C(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority)
+{
+ u8 spriteId;
+ struct MonIconSpriteTemplate iconTemplate;
+ struct MonIconSpriteTemplate *iconTemplatePtr = &iconTemplate; // needed to match
+
+ iconTemplatePtr->oam = &sMonIconOamData;
+ iconTemplatePtr->image = gMonIconTable[species];
+ iconTemplatePtr->anims = sMonIconAnims;
+ iconTemplatePtr->affineAnims = sMonIconAffineAnims;
+ iconTemplatePtr->callback = callback;
+ iconTemplatePtr->paletteTag = POKE_ICON_BASE_PAL_TAG + gMonIconPaletteIndices[species];
+
+ spriteId = CreateMonIconSprite(iconTemplatePtr, x, y, subpriority);
+
+ UpdateMonIconFrame(&gSprites[spriteId]);
+
+ return spriteId;
+}
+
+u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, u32 personality)
+{
+ u8 spriteId;
+ struct MonIconSpriteTemplate iconTemplate =
+ {
+ .oam = &sMonIconOamData,
+ .image = GetMonIconPtr(species, personality),
+ .anims = sMonIconAnims,
+ .affineAnims = sMonIconAffineAnims,
+ .callback = callback,
+ .paletteTag = POKE_ICON_BASE_PAL_TAG + gMonIconPaletteIndices[species],
+ };
+
+ if (species > SPECIES_EGG)
+ iconTemplate.paletteTag = POKE_ICON_BASE_PAL_TAG;
+
+ spriteId = CreateMonIconSprite(&iconTemplate, x, y, subpriority);
+
+ UpdateMonIconFrame(&gSprites[spriteId]);
+
+ return spriteId;
+}
+
+u8 sub_809D3A4(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority)
+{
+ u8 spriteId;
+ struct MonIconSpriteTemplate iconTemplate;
+ struct MonIconSpriteTemplate *iconTemplatePtr = &iconTemplate; // needed to match
+
+ iconTemplatePtr->oam = &sMonIconOamData;
+ iconTemplatePtr->image = gMonIconTable[species];
+ iconTemplatePtr->anims = sMonIconAnims;
+ iconTemplatePtr->affineAnims = sMonIconAffineAnims;
+ iconTemplatePtr->callback = callback;
+ iconTemplatePtr->paletteTag = POKE_ICON_BASE_PAL_TAG + gMonIconPaletteIndices[species];
+
+ spriteId = CreateMonIconSprite(iconTemplatePtr, x, y, subpriority);
+
+ UpdateMonIconFrame(&gSprites[spriteId]);
+
+ return spriteId;
+}
+
+u16 mon_icon_convert_unown_species_id(u16 species, u32 personality)
+{
+ u16 result;
+
+ if (species == SPECIES_UNOWN)
+ {
+ u16 letter = GetUnownLetterByPersonality(personality);
+ if (letter == 0)
+ letter = SPECIES_UNOWN;
+ else
+ letter += (SPECIES_UNOWN_B - 1);
+ result = letter;
+ }
+ else
+ {
+ if (species > SPECIES_EGG)
+ result = 260;
+ else
+ result = species;
+ }
+
+ return result;
+}
+
+u16 GetUnownLetterByPersonality(u32 personality)
+{
+ return (((personality & 0x3000000) >> 18) | ((personality & 0x30000) >> 12) | ((personality & 0x300) >> 6) | (personality & 0x3)) % 0x1C;
+}
+
+u16 sub_809D4A8(u16 species)
+{
+ u16 value;
+
+ if (MailSpeciesToSpecies(species, &value) == SPECIES_UNOWN)
+ {
+ if (value == 0)
+ value += SPECIES_UNOWN;
+ else
+ value += (SPECIES_UNOWN_B - 1);
+ return value;
+ }
+ else
+ {
+ return mon_icon_convert_unown_species_id(species, 0);
+ }
+}
+
+const u8 *GetMonIconPtr(u16 species, u32 personality)
+{
+ u16 convertedSpecies = mon_icon_convert_unown_species_id(species, personality);
+ return gMonIconTable[convertedSpecies];
+}
+
+void sub_809D510(struct Sprite *sprite)
+{
+ sub_809D7E8(sprite);
+}
+
+void sub_809D51C(void)
+{
+ u8 i;
+ for (i = 0; i < 6; i++)
+ LoadSpritePalette(&gMonIconPaletteTable[i]);
+}
+
+// unused
+void SafeLoadMonIconPalette(u16 species)
+{
+ u8 palIndex;
+ if (species > SPECIES_EGG)
+ species = 260;
+ palIndex = gMonIconPaletteIndices[species];
+ if (IndexOfSpritePaletteTag(gMonIconPaletteTable[palIndex].tag) == 0xFF)
+ LoadSpritePalette(&gMonIconPaletteTable[palIndex]);
+}
+
+void sub_809D580(u16 species)
+{
+ u8 palIndex = gMonIconPaletteIndices[species];
+ if (IndexOfSpritePaletteTag(gMonIconPaletteTable[palIndex].tag) == 0xFF)
+ LoadSpritePalette(&gMonIconPaletteTable[palIndex]);
+}
+
+// unused
+void FreeMonIconPalettes(void)
+{
+ u8 i;
+ for (i = 0; i < 6; i++)
+ FreeSpritePaletteByTag(gMonIconPaletteTable[i].tag);
+}
+
+// unused
+void SafeFreeMonIconPalette(u16 species)
+{
+ u8 palIndex;
+ if (species > SPECIES_EGG)
+ species = 260;
+ palIndex = gMonIconPaletteIndices[species];
+ FreeSpritePaletteByTag(gMonIconPaletteTable[palIndex].tag);
+}
+
+void sub_809D608(u16 species)
+{
+ u8 palIndex;
+ palIndex = gMonIconPaletteIndices[species];
+ FreeSpritePaletteByTag(gMonIconPaletteTable[palIndex].tag);
+}
+
+void sub_809D62C(struct Sprite *sprite)
+{
+ UpdateMonIconFrame(sprite);
+}
+
+// TODO: try to find a way to avoid using goto and asm statement
+u8 UpdateMonIconFrame(struct Sprite *sprite)
+{
+ u8 result = 0;
+
+ if (sprite->animDelayCounter == 0)
+ {
+ s16 frame = sprite->anims[sprite->animNum][sprite->animCmdIndex].frame.imageValue;
+
+ if (frame != -2)
+ {
+ if (frame != -1)
+ goto copy;
+ goto end;
+ }
+
+ sprite->animCmdIndex = 0;
+ goto end;
+
+ copy:
+ RequestSpriteCopy(
+ (u8 *)sprite->images + sSpriteImageSizes[sprite->oam.shape][sprite->oam.size] * frame,
+ (u8 *)OBJ_VRAM0 + sprite->oam.tileNum * TILE_SIZE_4BPP,
+ sSpriteImageSizes[sprite->oam.shape][sprite->oam.size]);
+ {
+ register u8 duration asm("r0") = sprite->anims[sprite->animNum][sprite->animCmdIndex].frame.duration;
+ sprite->animDelayCounter = duration;
+ }
+ sprite->animCmdIndex++;
+ result = sprite->animCmdIndex;
+ }
+ else
+ {
+ sprite->animDelayCounter--;
+ }
+
+end:
+ return result;
+}
+
+u8 CreateMonIconSprite(struct MonIconSpriteTemplate *iconTemplate, s16 x, s16 y, u8 subpriority)
+{
+ u8 spriteId;
+
+ struct SpriteFrameImage image = { NULL, sSpriteImageSizes[iconTemplate->oam->shape][iconTemplate->oam->size] };
+
+ struct SpriteTemplate spriteTemplate =
+ {
+ .tileTag = 0xFFFF,
+ .paletteTag = iconTemplate->paletteTag,
+ .oam = iconTemplate->oam,
+ .anims = iconTemplate->anims,
+ .images = &image,
+ .affineAnims = iconTemplate->affineAnims,
+ .callback = iconTemplate->callback,
+ };
+
+ spriteId = CreateSprite(&spriteTemplate, x, y, subpriority);
+ gSprites[spriteId].animPaused = TRUE;
+ gSprites[spriteId].animBeginning = FALSE;
+ gSprites[spriteId].images = (const struct SpriteFrameImage *)iconTemplate->image;
+ return spriteId;
+}
+
+void sub_809D7E8(struct Sprite *sprite)
+{
+ struct SpriteFrameImage image = { NULL, sSpriteImageSizes[sprite->oam.shape][sprite->oam.size] };
+ sprite->images = &image;
+ DestroySprite(sprite);
+}
+
+void sub_809D824(struct Sprite *sprite, u8 animNum)
+{
+ sprite->animNum = animNum;
+ sprite->animDelayCounter = 0;
+ sprite->animCmdIndex = 0;
+}
diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c
index 0cab07fc1..5e97523e2 100644
--- a/src/pokemon_storage_system.c
+++ b/src/pokemon_storage_system.c
@@ -12,6 +12,8 @@ extern const struct StorageAction gUnknown_083B6DF4[];
extern const u8 unk_2000000[];
+EWRAM_DATA struct PokemonStorage gPokemonStorage = {0};
+
#define gUnk2002694 (u8 *)(&unk_2000000[0x2694])
#define gUnk20026A6 (u8 *)(&unk_2000000[0x26a6])
#define gUnk20011fa (u8 *)(&unk_2000000[0x11fa])
diff --git a/src/record_mixing.c b/src/record_mixing.c
index a8daa9220..9cbcce49c 100644
--- a/src/record_mixing.c
+++ b/src/record_mixing.c
@@ -31,10 +31,11 @@ extern u8 ewram[];
extern struct RecordMixing_UnknownStruct gUnknown_02038738;
extern u16 gSpecialVar_0x8005;
-extern u32 gUnknown_03005D2C;
-extern u8 gUnknown_03000718;
-extern u8 gUnknown_0300071C[];
-extern bool8 gReceivedRemoteLinkPlayers;
+
+u32 gUnknown_03005D2C;
+
+static u8 gUnknown_03000718;
+static u8 gUnknown_0300071C[4];
void *recordMixingSecretBases = &gSaveBlock1.secretBases;
void *recordMixingTvShows = &gSaveBlock1.tvShows;
diff --git a/src/region_map.c b/src/region_map.c
index 097417357..076dfecec 100644
--- a/src/region_map.c
+++ b/src/region_map.c
@@ -127,7 +127,7 @@ enum
INPUT_EVENT_B_BUTTON,
};
-extern struct RegionMap *gRegionMap;
+static EWRAM_DATA struct RegionMap *gRegionMap = NULL;
static const u16 sRegionMapCursor_Pal[] = INCBIN_U16("graphics/pokenav/cursor.gbapal");
static const u8 sRegionMapCursorSmall_ImageLZ[] = INCBIN_U8("graphics/pokenav/cursor_small.4bpp.lz");
diff --git a/src/reset_rtc_screen.c b/src/reset_rtc_screen.c
new file mode 100644
index 000000000..d052992ad
--- /dev/null
+++ b/src/reset_rtc_screen.c
@@ -0,0 +1,496 @@
+#include "global.h"
+#include "event_data.h"
+#include "main.h"
+#include "menu.h"
+#include "palette.h"
+#include "rtc.h"
+#include "save.h"
+#include "sprite.h"
+#include "songs.h"
+#include "sound.h"
+#include "string_util.h"
+#include "strings.h"
+#include "strings2.h"
+#include "task.h"
+#include "text.h"
+#include "unknown_task.h"
+
+struct ResetRtcStruct
+{
+ /*0x0*/ u8 dataIndex;
+ /*0x2*/ u16 minVal;
+ /*0x4*/ u16 maxVal;
+ /*0x6*/ u8 left;
+ /*0x7*/ u8 right;
+ /*0x8*/ u8 unk8;
+};
+
+extern u16 gSaveFileStatus;
+
+extern struct ResetRtcStruct gUnknown_08376420[];
+extern struct SpritePalette gUnknown_083764BC;
+extern struct SpriteTemplate gSpriteTemplate_83764E8;
+extern u8 gUnknown_08376500[];
+
+void CB2_ResetRtcScreen(void);
+void VBlankCB_ResetRtcScreen(void);
+void Task_ResetRtcScreen(u8);
+
+void SpriteCB_ResetRtcCusor0(struct Sprite *sprite)
+{
+ int state = gTasks[sprite->data0].data[2];
+ if (state != sprite->data1)
+ {
+ sprite->data1 = state;
+ switch (state)
+ {
+ case 1:
+ sprite->invisible = FALSE;
+ sprite->animNum = 1;
+ sprite->animDelayCounter = 0;
+ sprite->pos1.x = 53;
+ sprite->pos1.y = 68;
+ break;
+ case 2:
+ sprite->invisible = FALSE;
+ sprite->animNum = 1;
+ sprite->animDelayCounter = 0;
+ sprite->pos1.x = 86;
+ sprite->pos1.y = 68;
+ break;
+ case 3:
+ sprite->invisible = FALSE;
+ sprite->animNum = 1;
+ sprite->animDelayCounter = 0;
+ sprite->pos1.x = 107;
+ sprite->pos1.y = 68;
+ break;
+ case 4:
+ sprite->invisible = FALSE;
+ sprite->animNum = 1;
+ sprite->animDelayCounter = 0;
+ sprite->pos1.x = 128;
+ sprite->pos1.y = 68;
+ break;
+ case 5:
+ sprite->invisible = FALSE;
+ sprite->animNum = 2;
+ sprite->animDelayCounter = 0;
+ sprite->pos1.x = 155;
+ sprite->pos1.y = 80;
+ break;
+ case 6:
+ DestroySprite(sprite);
+ break;
+ }
+ }
+}
+
+void SpriteCB_ResetRtcCusor1(struct Sprite *sprite)
+{
+ int state = gTasks[sprite->data0].data[2];
+ if (state != sprite->data1)
+ {
+ sprite->data1 = state;
+ switch (state)
+ {
+ case 1:
+ sprite->invisible = FALSE;
+ sprite->animNum = 0;
+ sprite->animDelayCounter = 0;
+ sprite->pos1.x = 53;
+ sprite->pos1.y = 92;
+ break;
+ case 2:
+ sprite->invisible = FALSE;
+ sprite->animNum = 0;
+ sprite->animDelayCounter = 0;
+ sprite->pos1.x = 86;
+ sprite->pos1.y = 92;
+ break;
+ case 3:
+ sprite->invisible = FALSE;
+ sprite->animNum = 0;
+ sprite->animDelayCounter = 0;
+ sprite->pos1.x = 107;
+ sprite->pos1.y = 92;
+ break;
+ case 4:
+ sprite->invisible = FALSE;
+ sprite->animNum = 0;
+ sprite->animDelayCounter = 0;
+ sprite->pos1.x = 128;
+ sprite->pos1.y = 92;
+ break;
+ case 5:
+ sprite->invisible = TRUE;
+ break;
+ case 6:
+ DestroySprite(sprite);
+ break;
+ }
+ }
+}
+
+void ResetRtcScreen_CreateCursor(u8 taskId)
+{
+ int spriteId;
+
+ LoadSpritePalette(&gUnknown_083764BC);
+
+ spriteId = CreateSpriteAtEnd(&gSpriteTemplate_83764E8, 53, 68, 0);
+ gSprites[spriteId].callback = SpriteCB_ResetRtcCusor0;
+ gSprites[spriteId].data0 = taskId;
+ gSprites[spriteId].data1 = -1;
+
+ spriteId = CreateSpriteAtEnd(&gSpriteTemplate_83764E8, 53, 68, 0);
+ gSprites[spriteId].callback = SpriteCB_ResetRtcCusor1;
+ gSprites[spriteId].data0 = taskId;
+ gSprites[spriteId].data1 = -1;
+}
+
+void ResetRtcScreen_FreeCursorPalette(void)
+{
+ FreeSpritePaletteByTag(gUnknown_083764BC.tag);
+}
+
+void ResetRtcScreen_HideChooseTimeWindow(void)
+{
+ MenuZeroFillWindowRect(3, 8, 25, 11);
+}
+
+void ResetRtcScreen_PrintTime(u8 x, u8 y, u16 days, u8 hours, u8 minutes, u8 seconds)
+{
+ u8 *dest = gStringVar4;
+ days %= 10000;
+ hours %= 24;
+ minutes %= 60;
+ seconds %= 60;
+ sub_8072C44(gStringVar1, days, 24, 1);
+ dest = StringCopy(dest, gStringVar1);
+ dest = StringCopy(dest, gOtherText_Day);
+ sub_8072C44(gStringVar1, hours, 18, 1);
+ dest = StringCopy(dest, gStringVar1);
+ dest = StringCopy(dest, gUnknown_08376500);
+ dest = ConvertIntToDecimalStringN(dest, minutes, STR_CONV_MODE_LEADING_ZEROS, 2);
+ dest = StringCopy(dest, gUnknown_08376500);
+ ConvertIntToDecimalStringN(dest, seconds, STR_CONV_MODE_LEADING_ZEROS, 2);
+ MenuPrint(gStringVar4, x, y);
+}
+
+void ResetRtcScreen_ShowChooseTimeWindow(u16 days, u8 hours, u8 minutes, u8 seconds)
+{
+ MenuDrawTextWindow(3, 8, 25, 11);
+ MenuPrint(gOtherText_OK, 20, 9);
+ ResetRtcScreen_PrintTime(4, 9, days, hours, minutes, seconds);
+}
+
+bool32 ResetRtcScreen_MoveTimeUpDown(s16 *val, int minVal, int maxVal, u16 keys)
+{
+ if (keys & DPAD_DOWN)
+ {
+ (*val)--;
+ if (*val < minVal)
+ *val = maxVal;
+ }
+ else if (keys & DPAD_UP)
+ {
+ (*val)++;
+ if (*val > maxVal)
+ *val = minVal;
+ }
+ else if (keys & DPAD_LEFT)
+ {
+ *val -= 10;
+ if (*val < minVal)
+ *val = maxVal;
+ }
+ else if (keys & DPAD_RIGHT)
+ {
+ *val += 10;
+ if (*val > maxVal)
+ *val = minVal;
+ }
+ else
+ {
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+void Task_ResetRtc_3(u8 taskId)
+{
+ gTasks[taskId].data[0] = 1;
+}
+
+void Task_ResetRtc_2(u8 taskId)
+{
+ ResetRtcScreen_HideChooseTimeWindow();
+ ResetRtcScreen_FreeCursorPalette();
+ gTasks[taskId].func = Task_ResetRtc_3;
+}
+
+void Task_ResetRtc_1(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+ u8 selection = data[2];
+ struct ResetRtcStruct *selectionInfo = &gUnknown_08376420[selection - 1];
+
+ if (gMain.newKeys & B_BUTTON)
+ {
+ gTasks[taskId].func = Task_ResetRtc_2;
+ data[1] = 0;
+ data[2] = 6;
+ PlaySE(SE_SELECT);
+ return;
+ }
+
+ if (gMain.newKeys & DPAD_RIGHT)
+ {
+ if (selectionInfo->right)
+ {
+ data[2] = selectionInfo->right;
+ PlaySE(SE_SELECT);
+ return;
+ }
+ }
+
+ if (gMain.newKeys & DPAD_LEFT)
+ {
+ if (selectionInfo->left)
+ {
+ data[2] = selectionInfo->left;
+ PlaySE(SE_SELECT);
+ return;
+ }
+ }
+
+ if (selection == 5)
+ {
+ if (gMain.newKeys & A_BUTTON)
+ {
+ gLocalTime.days = data[3];
+ gLocalTime.hours = data[4];
+ gLocalTime.minutes = data[5];
+ gLocalTime.seconds = data[6];
+ PlaySE(SE_SELECT);
+ gTasks[taskId].func = Task_ResetRtc_2;
+ data[1] = 1;
+ data[2] = 6;
+ }
+ }
+ else if (ResetRtcScreen_MoveTimeUpDown(&data[selectionInfo->dataIndex], selectionInfo->minVal, selectionInfo->maxVal, gMain.newAndRepeatedKeys & (DPAD_UP | DPAD_DOWN)))
+ {
+ PlaySE(SE_SELECT);
+ ResetRtcScreen_PrintTime(4, 9, data[3], data[4], data[5], data[6]);
+ }
+}
+
+void Task_ResetRtc_0(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+ data[0] = 0;
+ data[3] = gLocalTime.days;
+ data[4] = gLocalTime.hours;
+ data[5] = gLocalTime.minutes;
+ data[6] = gLocalTime.seconds;
+ ResetRtcScreen_ShowChooseTimeWindow(data[3], data[4], data[5], data[6]);
+ ResetRtcScreen_CreateCursor(taskId);
+ data[2] = 2;
+ gTasks[taskId].func = Task_ResetRtc_1;
+}
+
+void CB2_InitResetRtcScreen(void)
+{
+ u8 *addr;
+ u32 size;
+
+ REG_DISPCNT = 0;
+ SetVBlankCallback(NULL);
+
+ DmaClear16(3, PLTT, PLTT_SIZE);
+
+ addr = (u8 *)VRAM;
+ size = 0x18000;
+ while (1)
+ {
+ DmaFill16(3, 0, addr, 0x1000);
+ addr += 0x1000;
+ size -= 0x1000;
+ if (size <= 0x1000)
+ {
+ DmaFill16(3, 0, addr, size);
+ break;
+ }
+ }
+
+ ResetOamRange(0, 128);
+ LoadOam();
+ remove_some_task();
+ dp12_8087EA4();
+ ResetSpriteData();
+ ResetTasks();
+ ResetPaletteFade();
+ SetUpWindowConfig(&gWindowConfig_81E6CE4);
+ InitMenuWindow(&gWindowConfig_81E6CE4);
+ REG_DISPCNT = 4352;
+ SetVBlankCallback(VBlankCB_ResetRtcScreen);
+ SetMainCallback2(CB2_ResetRtcScreen);
+ CreateTask(Task_ResetRtcScreen, 80);
+}
+
+void CB2_ResetRtcScreen(void)
+{
+ RunTasks();
+ AnimateSprites();
+ BuildOamBuffer();
+ UpdatePaletteFade();
+}
+
+void VBlankCB_ResetRtcScreen(void)
+{
+ ProcessSpriteCopyRequests();
+ LoadOam();
+ TransferPlttBuffer();
+}
+
+void ResetRtcScreen_ShowMessage(const u8 *str)
+{
+ MenuDisplayMessageBox();
+ MenuPrint(str, 2, 15);
+}
+
+void Task_ShowResetRtcPrompt(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+
+ switch (data[0])
+ {
+ case 0:
+ MenuZeroFillScreen();
+ MenuDrawTextWindow(0, 0, 20, 10);
+ MenuPrint(gSystemText_PresentTime, 1, 1);
+ ResetRtcScreen_PrintTime(
+ 1,
+ 3,
+ gLocalTime.days,
+ gLocalTime.hours,
+ gLocalTime.minutes,
+ gLocalTime.seconds);
+ MenuPrint(gSystemText_PreviousTime, 1, 5);
+ ResetRtcScreen_PrintTime(
+ 1,
+ 7,
+ gSaveBlock2.lastBerryTreeUpdate.days,
+ gSaveBlock2.lastBerryTreeUpdate.hours,
+ gSaveBlock2.lastBerryTreeUpdate.minutes,
+ gSaveBlock2.lastBerryTreeUpdate.seconds);
+ ResetRtcScreen_ShowMessage(gSystemText_ResetRTCPrompt);
+ data[0]++;
+ case 1:
+ if (gMain.newKeys & B_BUTTON)
+ {
+ DestroyTask(taskId);
+ DoSoftReset();
+ }
+ else if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ DestroyTask(taskId);
+ }
+ break;
+ }
+}
+
+void Task_ResetRtcScreen(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+
+ switch (data[0])
+ {
+ case 0:
+ BeginNormalPaletteFade(0xFFFFFFFF, 1, 0x10, 0, 0xFFFF);
+ data[0] = 1;
+ break;
+ case 1:
+ if (!gPaletteFade.active)
+ {
+ if (gSaveFileStatus == 0 || gSaveFileStatus == 2)
+ {
+ ResetRtcScreen_ShowMessage(gSystemText_NoSaveFileNoTime);
+ data[0] = 5;
+ }
+ else
+ {
+ RtcCalcLocalTime();
+ data[1] = CreateTask(Task_ShowResetRtcPrompt, 80);
+ data[0] = 2;
+ }
+ }
+ break;
+ case 2:
+ if (gTasks[data[1]].isActive != TRUE)
+ {
+ MenuZeroFillScreen();
+ ResetRtcScreen_ShowMessage(gSystemText_PleaseResetTime);
+ gLocalTime = gSaveBlock2.lastBerryTreeUpdate;
+ data[1] = CreateTask(Task_ResetRtc_0, 80);
+ data[0] = 3;
+ }
+ break;
+ case 3:
+ if (gTasks[data[1]].data[0])
+ {
+ if (!gTasks[data[1]].data[1])
+ {
+ DestroyTask(data[1]);
+ data[0] = 2;
+ }
+ else
+ {
+ DestroyTask(data[1]);
+ RtcReset();
+ RtcCalcLocalTimeOffset(
+ gLocalTime.days,
+ gLocalTime.hours,
+ gLocalTime.minutes,
+ gLocalTime.seconds);
+ gSaveBlock2.lastBerryTreeUpdate = gLocalTime;
+ VarSet(VAR_DAYS, gLocalTime.days);
+ DisableResetRTC();
+ ResetRtcScreen_ShowMessage(gSystemText_ClockResetDataSave);
+ data[0] = 4;
+ }
+ }
+ break;
+ case 4:
+ if (TrySavingData(0) == TRUE)
+ {
+ ResetRtcScreen_ShowMessage(gSystemText_SaveCompleted);
+ PlaySE(SE_PINPON);
+ }
+ else
+ {
+ ResetRtcScreen_ShowMessage(gSystemText_SaveFailed);
+ PlaySE(SE_BOO);
+ }
+ data[0] = 5;
+ case 5:
+ if (gMain.newKeys & A_BUTTON)
+ {
+ BeginNormalPaletteFade(0xFFFFFFFF, 1, 0, 0x10, 0xFFFF);
+ data[0] = 6;
+ }
+ else
+ {
+ break;
+ }
+ case 6:
+ if (!gPaletteFade.active)
+ {
+ DestroyTask(taskId);
+ DoSoftReset();
+ }
+ }
+}
diff --git a/src/rom3.c b/src/rom3.c
index ad30bd4c8..282253bff 100644
--- a/src/rom3.c
+++ b/src/rom3.c
@@ -24,9 +24,10 @@ extern u16 gBattleTypeFlags;
extern u16 gBattleWeather;
extern struct BattlePokemon gBattleMons[];
-extern u8 gUnknown_020238C4;
-extern u8 gUnknown_020238C5;
-extern u8 gUnknown_020238C6;
+static EWRAM_DATA u8 gUnknown_020238C4 = 0;
+static EWRAM_DATA u8 gUnknown_020238C5 = 0;
+static EWRAM_DATA u8 gUnknown_020238C6 = 0;
+
extern u32 gUnknown_020239FC;
extern u8 gBattleBufferA[][0x200];
extern u8 gBattleBufferB[][0x200];
@@ -49,13 +50,14 @@ extern u8 gUnknown_02024C78;
extern u8 gBattleOutcome;
extern u8 gActionSelectionCursor[];
extern u8 gMoveSelectionCursor[];
-extern u8 gBattleBuffersTransferData[];
extern u8 gBattleTextBuff1[];
extern u8 gBattleTextBuff2[];
extern u8 gBattleTextBuff3[];
extern void (*gBattleMainFunc)(void);
extern void (*gBattleBankFunc[])(void);
+u8 gBattleBuffersTransferData[0x170];
+
void sub_800B858(void)
{
if (gBattleTypeFlags & BATTLE_TYPE_LINK)
diff --git a/src/rom4.c b/src/rom4.c
index b2e30e292..f9006efba 100644
--- a/src/rom4.c
+++ b/src/rom4.c
@@ -60,23 +60,23 @@ struct UnkTVStruct
u32 tv_field_4;
};
-extern struct WarpData gUnknown_020297F0;
-extern struct WarpData gUnknown_020297F8;
-extern struct WarpData gUnknown_02029800;
-extern struct WarpData gUnknown_02029808;
-extern struct UnkPlayerStruct gUnknown_02029810;
-extern u16 gUnknown_02029814;
-extern bool8 gUnknown_02029816;
-extern struct LinkPlayerMapObject gLinkPlayerMapObjects[4];
-
-extern u8 gUnknown_03000580[];
-extern u16 (*gUnknown_03000584)(u32);
-extern u8 gUnknown_03000588;
-
-extern u16 word_3004858;
-extern void (*gFieldCallback)(void);
-extern u8 gUnknown_03004860;
-extern u8 gFieldLinkPlayerCount;
+EWRAM_DATA struct WarpData gUnknown_020297F0 = {0};
+EWRAM_DATA struct WarpData gUnknown_020297F8 = {0};
+EWRAM_DATA struct WarpData gUnknown_02029800 = {0};
+EWRAM_DATA struct WarpData gUnknown_02029808 = {0};
+EWRAM_DATA struct UnkPlayerStruct gUnknown_02029810 = {0};
+EWRAM_DATA u16 gUnknown_02029814 = 0;
+EWRAM_DATA bool8 gUnknown_02029816 = FALSE;
+EWRAM_DATA struct LinkPlayerMapObject gLinkPlayerMapObjects[4] = {0};
+
+static u8 gUnknown_03000580[4];
+static u16 (*gUnknown_03000584)(u32);
+static u8 gUnknown_03000588;
+
+u16 word_3004858;
+void (*gFieldCallback)(void);
+u8 gUnknown_03004860;
+u8 gFieldLinkPlayerCount;
extern u16 gUnknown_03004898;
extern u16 gUnknown_0300489C;
diff --git a/src/rom6.c b/src/rom6.c
index 759aed93f..ff032b6c2 100644
--- a/src/rom6.c
+++ b/src/rom6.c
@@ -14,13 +14,13 @@
#include "task.h"
extern u16 gScriptLastTalked;
-extern u32 gUnknown_0202FF84[];
-extern struct MapPosition gUnknown_0203923C;
extern void (*gFieldCallback)(void);
extern u8 gLastFieldPokeMenuOpened;
extern void (*gUnknown_03005CE4)(void);
extern u8 UseRockSmashScript[];
+EWRAM_DATA struct MapPosition gUnknown_0203923C = {0};
+
static void task08_080C9820(u8);
static void sub_810B3DC(u8);
static void sub_810B428(u8);
diff --git a/src/rotating_gate.c b/src/rotating_gate.c
index d12a21240..bb3c31dfc 100644
--- a/src/rotating_gate.c
+++ b/src/rotating_gate.c
@@ -565,9 +565,9 @@ static const u8 sRotatingGate_ArmLayout[][GATE_ARM_WEST + 1][GATE_ARM_MAX_LENGTH
},
};
-extern u8 gRotatingGate_GateSpriteIds[ROTATING_GATE_PUZZLE_MAX];
-extern const struct RotatingGatePuzzle *gRotatingGate_PuzzleConfig;
-extern u8 gRotatingGate_PuzzleCount;
+static EWRAM_DATA u8 gRotatingGate_GateSpriteIds[ROTATING_GATE_PUZZLE_MAX] = {0};
+static EWRAM_DATA const struct RotatingGatePuzzle *gRotatingGate_PuzzleConfig = NULL;
+static EWRAM_DATA u8 gRotatingGate_PuzzleCount = 0;
static int GetCurrentMapRotatingGatePuzzleType(void)
{
diff --git a/src/save.c b/src/save.c
index 46094746a..adf39268e 100644
--- a/src/save.c
+++ b/src/save.c
@@ -11,21 +11,23 @@
#define GETBLOCKOFFSET(n) (0xF80 * (n - 1))
#define TOTALNUMSECTORS ((ARRAY_COUNT(gSaveSectionLocations) * 2) + (ARRAY_COUNT(gHallOfFameSaveSectionLocations) * 2)) // there are 2 slots, so double each array count and get the sum.
-extern u32 gLastSaveSectorStatus; // used but in an unferenced function, so unused
-extern u16 gLastWrittenSector;
-extern u32 gLastSaveCounter;
-extern u16 gLastKnownGoodSector;
-extern u32 gDamagedSaveSectors;
-extern u32 gSaveCounter;
extern struct SaveSection unk_2000000; // slow save RAM
-extern struct SaveSection *gFastSaveSection; // the pointer is in fast IWRAM but may sometimes point to the slower EWRAM.
-extern u16 gUnknown_03005EB4;
-extern u16 gSaveFileStatus;
-extern u32 gGameContinueCallback;
+
+u16 gLastWrittenSector;
+u32 gLastSaveCounter;
+u16 gLastKnownGoodSector;
+u32 gDamagedSaveSectors;
+u32 gSaveCounter;
+struct SaveSection *gFastSaveSection; // the pointer is in fast IWRAM but may sometimes point to the slower EWRAM.
+u16 gUnknown_03005EB4;
+u16 gSaveFileStatus;
+u32 gGameContinueCallback;
extern struct PokemonStorage gPokemonStorage;
extern struct HallOfFame gHallOfFame;
+static EWRAM_DATA u32 gLastSaveSectorStatus = 0; // used but in an unferenced function, so unused
+
const struct SaveSectionLocation gSaveSectionLocations[] =
{
{((u8 *) &gSaveBlock2) + GETBLOCKOFFSET(1), GETCHUNKSIZE(gSaveBlock2, 1)},
diff --git a/src/save_failed_screen.c b/src/save_failed_screen.c
index a64b3eb5f..b91e8b5bf 100644
--- a/src/save_failed_screen.c
+++ b/src/save_failed_screen.c
@@ -22,17 +22,11 @@
#define CLOCK_WIN_TOP (MSG_WIN_TOP - 4)
-struct SaveFailedClockStruct
-{
- bool16 clockRunning;
- u16 timer; // appears to be unused, the only case its "used" cannot be reached normally
- u8 unused[0xE]; // appears to be unused space. alternatively, there could have been multiple clock structs. however, neither of these cases are fulfilled, so the purpose of this space is unknown. one theory is that there is room for 3 more clock structs (2 16-bit values), so its possible GF intended there to be support for link-based save failed screens in case the synchronization failed, or it in fact was present in an earlier build but taken out for reasons.
-};
-
extern u8 unk_2000000[];
-extern u16 gSaveFailedType;
-extern struct SaveFailedClockStruct gSaveFailedClockInfo;
+static EWRAM_DATA u16 gSaveFailedType = 0;
+static EWRAM_DATA u16 gSaveFailedClockInfo[9] = {0};
+
extern u32 gDamagedSaveSectors;
extern u32 gGameContinueCallback;
@@ -83,7 +77,7 @@ void DoSaveFailedScreen(u8 saveType)
{
SetMainCallback2(CB2_SaveFailedScreen);
gSaveFailedType = saveType;
- gSaveFailedClockInfo.clockRunning = FALSE;
+ gSaveFailedClockInfo[0] = FALSE;
}
static void VBlankCB(void)
@@ -159,7 +153,7 @@ static void CB2_WipeSave(void)
{
u8 wipeTries = 0;
- gSaveFailedClockInfo.clockRunning = TRUE;
+ gSaveFailedClockInfo[0] = TRUE;
while (gDamagedSaveSectors != 0 && wipeTries < 3) // while there are still attempts left, keep trying to fix the save sectors.
{
@@ -208,7 +202,7 @@ static void CB2_WipeSave(void)
static void CB2_GameplayCannotBeContinued(void)
{
- gSaveFailedClockInfo.clockRunning = FALSE;
+ gSaveFailedClockInfo[0] = FALSE;
if (gMain.newKeys & A_BUTTON)
{
@@ -221,7 +215,7 @@ static void CB2_GameplayCannotBeContinued(void)
static void CB2_FadeAndReturnToTitleScreen(void)
{
- gSaveFailedClockInfo.clockRunning = FALSE;
+ gSaveFailedClockInfo[0] = FALSE;
if (gMain.newKeys & A_BUTTON)
{
@@ -255,7 +249,7 @@ static void VBlankCB_UpdateClockGraphics(void)
gMain.oamBuffer[0].x = 112;
gMain.oamBuffer[0].y = (CLOCK_WIN_TOP + 1) * 8;
- if (gSaveFailedClockInfo.clockRunning != FALSE)
+ if (gSaveFailedClockInfo[0] != FALSE)
{
gMain.oamBuffer[0].tileNum = sClockFrames[n][0];
gMain.oamBuffer[0].matrixNum = (sClockFrames[n][2] << 4) | (sClockFrames[n][1] << 3);
@@ -267,8 +261,8 @@ static void VBlankCB_UpdateClockGraphics(void)
CpuFastCopy(gMain.oamBuffer, (void *)OAM, 4);
- if (gSaveFailedClockInfo.timer) // maybe was used for debugging?
- gSaveFailedClockInfo.timer--;
+ if (gSaveFailedClockInfo[1]) // maybe was used for debugging?
+ gSaveFailedClockInfo[1]--;
}
static bool8 VerifySectorWipe(u16 sector)
diff --git a/src/scrcmd.c b/src/scrcmd.c
index 45552f2fa..7d719371e 100644
--- a/src/scrcmd.c
+++ b/src/scrcmd.c
@@ -48,12 +48,14 @@ typedef u16 (*SpecialFunc)(void);
typedef void (*NativeFunc)(void);
extern u32 gUnknown_0202E8AC;
-extern u32 gUnknown_0202E8B0;
-extern u16 gUnknown_0202E8B4;
-extern u16 gUnknown_0202E8B6;
-extern u16 gUnknown_0202E8B8;
-extern u16 gUnknown_0202E8BA;
-extern u16 gUnknown_0202E8BC;
+
+static EWRAM_DATA u32 gUnknown_0202E8B0 = 0;
+static EWRAM_DATA u16 gUnknown_0202E8B4 = 0;
+static EWRAM_DATA u16 gUnknown_0202E8B6 = 0;
+static EWRAM_DATA u16 gUnknown_0202E8B8 = 0;
+static EWRAM_DATA u16 gUnknown_0202E8BA = 0;
+static EWRAM_DATA u16 gUnknown_0202E8BC = 0;
+
extern u16 gSpecialVar_0x8000;
extern u16 gSpecialVar_0x8001;
extern u16 gSpecialVar_0x8002;
@@ -61,8 +63,6 @@ extern u16 gSpecialVar_0x8004;
extern u16 gScriptResult;
-extern u32 gUnknown_0202FF84[];
-
extern u16 gScriptContestCategory;
extern SpecialFunc gSpecials[];
diff --git a/src/script.c b/src/script.c
index c27eb22fe..e5be913c6 100644
--- a/src/script.c
+++ b/src/script.c
@@ -4,8 +4,7 @@
#define RAM_SCRIPT_MAGIC 51
-extern u8 *gUnknown_0202E8AC;
-extern u32 gUnknown_0202E8B0;
+EWRAM_DATA u8 *gUnknown_0202E8AC = NULL;
static u8 sScriptContext1Status;
static struct ScriptContext sScriptContext1;
diff --git a/src/script_movement.c b/src/script_movement.c
index 31143ed6f..e25b60a3c 100644
--- a/src/script_movement.c
+++ b/src/script_movement.c
@@ -5,7 +5,7 @@
#include "task.h"
#include "util.h"
-extern u8 *gUnknown_020384F8[];
+static EWRAM_DATA u8 *gUnknown_020384F8[16] = {0};
static void sub_80A2198(u8);
static u8 sub_80A21E0(void);
diff --git a/src/sound.c b/src/sound.c
index c9c4916b0..8d23b7d7a 100644
--- a/src/sound.c
+++ b/src/sound.c
@@ -17,8 +17,9 @@ struct Fanfare
u32 SpeciesToCryId(u32);
extern u16 gBattleTypeFlags;
-extern struct MusicPlayerInfo *gMPlay_PokemonCry;
-extern u8 gPokemonCryBGMDuckingCounter;
+
+static EWRAM_DATA struct MusicPlayerInfo *gMPlay_PokemonCry = NULL;
+static EWRAM_DATA u8 gPokemonCryBGMDuckingCounter = 0;
static u16 sCurrentMapMusic;
static u16 sNextMapMusic;
@@ -26,7 +27,8 @@ static u8 sMapMusicState;
static u8 sMapMusicFadeInSpeed;
static u16 sFanfareCounter;
-extern bool8 gDisableMusic;
+bool8 gDisableMusic;
+
extern struct MusicPlayerInfo gMPlay_BGM;
extern struct MusicPlayerInfo gMPlay_SE1;
extern struct MusicPlayerInfo gMPlay_SE2;
diff --git a/src/sound_check_menu.c b/src/sound_check_menu.c
index 13a6f6f3e..d97ae6d86 100644
--- a/src/sound_check_menu.c
+++ b/src/sound_check_menu.c
@@ -57,18 +57,19 @@ extern struct ToneData voicegroup_8453190[];
extern struct ToneData voicegroup_84549C0[];
extern struct ToneData voicegroup_8453790[];
-extern int gUnknown_020387B4[9];
-
-extern s8 gUnknown_020387B3;
-extern u8 gUnknown_020387B1;
-extern u8 gUnknown_020387B2;
-extern u8 gUnknown_020387D8;
-extern u8 gUnknown_020387D9;
-extern u8 gUnknown_020387B0;
+static EWRAM_DATA u8 gUnknown_020387B0 = 0;
+static EWRAM_DATA u8 gUnknown_020387B1 = 0;
+static EWRAM_DATA u8 gUnknown_020387B2 = 0;
+static EWRAM_DATA s8 gUnknown_020387B3 = 0;
+static EWRAM_DATA int gUnknown_020387B4[9] = {0};
+static EWRAM_DATA u8 gUnknown_020387D8 = 0;
+static EWRAM_DATA u8 gUnknown_020387D9 = 0;
+
extern u16 gUnknown_03005D34;
extern u8 gUnknown_03005E98;
-extern struct MusicPlayerInfo *gUnknown_03005D30;
+struct MusicPlayerInfo *gUnknown_03005D30;
+
extern struct MusicPlayerInfo gMPlay_BGM;
void sub_80BA258(u8);
diff --git a/src/start_menu.c b/src/start_menu.c
index e05f3a999..411690aff 100644
--- a/src/start_menu.c
+++ b/src/start_menu.c
@@ -51,9 +51,11 @@ static bool8 savingComplete;
extern bool8 gDifferentSaveFile;
extern u16 gSaveFileStatus;
extern u16 gScriptResult;
-extern u8 (*gCallback_03004AE8)(void);
+
extern u8 gUnknown_03004860;
+u8 (*gCallback_03004AE8)(void);
+
EWRAM_DATA static u8 sStartMenuCursorPos = 0;
EWRAM_DATA static u8 sNumStartMenuActions = 0;
EWRAM_DATA static u8 sCurrentStartMenuActions[10] = {0};
diff --git a/src/title_screen.c b/src/title_screen.c
index 1ed87ff03..ab0f1d505 100644
--- a/src/title_screen.c
+++ b/src/title_screen.c
@@ -41,7 +41,6 @@
extern u8 gReservedSpritePaletteCount;
extern struct MusicPlayerInfo gMPlay_BGM;
-extern u8 gUnknown_0202F7E4;
extern u16 gUnknown_030041B4;
extern u16 gUnknown_030042C0;
extern const u8 gUnknown_08E9D8CC[];
@@ -51,6 +50,8 @@ extern const u8 gVersionTiles[];
extern const u8 gTitleScreenPressStart_Gfx[];
extern const u16 gTitleScreenLogoShinePalette[];
+static EWRAM_DATA u8 gUnknown_0202F7E4 = 0;
+
#ifdef SAPPHIRE
static const u16 sLegendaryMonPalettes[][16] =
{
diff --git a/src/trainer_card.c b/src/trainer_card.c
index f7afd9cec..626c5a7bf 100644
--- a/src/trainer_card.c
+++ b/src/trainer_card.c
@@ -51,7 +51,8 @@ extern u8 ewram[];
#define ewram0 (*(struct Struct2000000 *)(ewram))
extern struct LinkPlayerMapObject gLinkPlayerMapObjects[];
-extern struct TrainerCard gTrainerCards[4];
+
+EWRAM_DATA struct TrainerCard gTrainerCards[4] = {0};
struct UnknownStruct1
{
diff --git a/src/trainer_see.c b/src/trainer_see.c
index 9b7a47f6b..feb35c67c 100644
--- a/src/trainer_see.c
+++ b/src/trainer_see.c
@@ -13,8 +13,6 @@ extern bool8 (*gIsTrainerInRange[])(struct MapObject *, u16, s16, s16);
extern bool8 (*gTrainerSeeFuncList[])(u8, struct Task *, struct MapObject *);
extern bool8 (*gTrainerSeeFuncList2[])(u8, struct Task *, struct MapObject *);
-extern u32 gUnknown_0202FF84[];
-
extern struct SpriteTemplate gSpriteTemplate_839B510;
extern struct SpriteTemplate gSpriteTemplate_839B528;
diff --git a/src/tv.c b/src/tv.c
index 9b62c7a51..a254bcd5f 100644
--- a/src/tv.c
+++ b/src/tv.c
@@ -63,14 +63,7 @@ extern u8 gUnknown_02038694;
extern struct TVSaleItem gUnknown_02038724[3];
-extern u16 gSpecialVar_0x8004;
-extern u16 gSpecialVar_0x8005;
-extern u16 gSpecialVar_0x8006;
-extern u8 gSpecialVar_0x8007;
-extern u16 gScriptResult;
-extern u8 gUnknown_020387E8;
-
-extern struct UnkTvStruct gUnknown_03005D38;
+struct UnkTvStruct gUnknown_03005D38;
extern u8 *gTVBravoTrainerTextGroup[];
extern u8 *gTVBravoTrainerBattleTowerTextGroup[];
@@ -87,8 +80,7 @@ extern u8 *gTVFishingGuruAdviceTextGroup[];
extern u8 *gTVWorldOfMastersTextGroup[];
extern struct OutbreakPokemon gPokeOutbreakSpeciesList[5];
-extern u16 gUnknown_020387E0;
-extern u16 gUnknown_020387E2;
+
extern const u8 *gTVNewsTextGroup1[];
extern const u8 *gTVNewsTextGroup2[];
@@ -96,7 +88,6 @@ extern const u8 *gTVNewsTextGroup3[];
extern u16 gScriptLastTalked;
-
extern u8 gScriptContestCategory;
extern u8 gScriptContestRank;
extern u8 gUnknown_03004316[11];
@@ -106,10 +97,15 @@ extern u16 gLastUsedItem;
extern u8 ewram[];
#define gUnknown_02007000 (*(ewramStruct_02007000 *)(ewram + 0x7000))
-extern u8 gUnknown_020387E4;
-extern u8 gUnknown_03000720;
-extern s8 gUnknown_03000722;
+static EWRAM_DATA u16 gUnknown_020387E0 = 0;
+static EWRAM_DATA u16 gUnknown_020387E2 = 0;
+static EWRAM_DATA u8 gUnknown_020387E4 = 0;
+static EWRAM_DATA ALIGNED(4) u8 gUnknown_020387E8 = 0; // why is this aligned to a 4-byte boundary?
+
+static u8 gUnknown_03000720;
+static u8 gUnknown_03000721;
+static s8 gUnknown_03000722;
void ClearTVShowData(void)
{
@@ -1921,9 +1917,6 @@ void sub_80BFD44(u8 *arg0, u32 arg1, u8 arg2)
sub_80C0408();
}
-extern u8 gUnknown_03000720;
-extern u8 gUnknown_03000721;
-extern s8 gUnknown_03000722;
s8 sub_80C019C(TVShow tvShows[]);
bool8 sub_80BFF68(TVShow * tv1[25], TVShow * tv2[25], u8 idx);
u8 sub_80C004C(TVShow *tv1, TVShow *tv2, u8 idx);
diff --git a/src/use_pokeblock.c b/src/use_pokeblock.c
index ce83bc1c2..3aa2f1fa5 100644
--- a/src/use_pokeblock.c
+++ b/src/use_pokeblock.c
@@ -102,10 +102,11 @@ const struct SpriteTemplate gSpriteTemplate_840618C = {
asm(".text\n"
".include \"constants/gba_constants.inc\"");
-extern struct UnkPokenavStruct_Sub1 *gUnknown_02039304;
-extern MainCallback gUnknown_02039308;
-extern struct Pokeblock *gUnknown_0203930C;
-extern u8 gUnknown_02039310;
+static EWRAM_DATA struct UnkPokenavStruct_Sub1 *gUnknown_02039304 = NULL;
+static EWRAM_DATA MainCallback gUnknown_02039308 = NULL;
+static EWRAM_DATA struct Pokeblock *gUnknown_0203930C = NULL;
+EWRAM_DATA u8 gUnknown_02039310 = 0;
+EWRAM_DATA s16 gUnknown_02039312 = 0;
extern u16 gKeyRepeatStartDelay;
extern u16 gScriptItemId; // FIXME: remove after merge of #349 Pokeblock
diff --git a/sym_bss.txt b/sym_bss.txt
index 3a00629b5..a6eaeefe1 100644
--- a/sym_bss.txt
+++ b/sym_bss.txt
@@ -5,6 +5,8 @@
.include "src/link.o"
.include "src/rtc.o"
+@ daycare
+
.align 2
gUnknown_03000470: @ 3000470
.space 0x68
@@ -21,9 +23,13 @@ gUnknown_030004E8: @ 30004E8
gUnknown_03000500: @ 3000500
.space 0x8
+@ trade
+
gUnknown_03000508: @ 3000508
.space 0x8
+@ berry_blender
+
gUnknown_03000510: @ 3000510
.space 0x10
@@ -49,38 +55,14 @@ gUnknown_03000560: @ 3000560
.space 0x1C
.include "src/play_time.o"
+ .include "src/rom4.o"
+ @ unused variable?
.align 2
-gUnknown_03000580: @ 3000580
- .space 0x4
-
-gUnknown_03000584: @ 3000584
- .space 0x4
-
-gUnknown_03000588: @ 3000588
- .space 0x8
-
-gUnknown_03000590: @ 3000590
- .space 0x8
-
-gUnknown_03000598: @ 3000598
- .space 0x2
-
-gUnknown_0300059A: @ 300059A
- .space 0x2
-
-gUnknown_0300059C: @ 300059C
- .space 0x4
-
-gUnknown_030005A0: @ 30005A0
.space 0x4
-gUnknown_030005A4: @ 30005A4
- .space 0x2
-
-gUnknown_030005A6: @ 30005A6
- .space 0x2
-
+ .include "src/field_camera.o"
+ .include "src/field_map_obj.o"
.include "src/field_message_box.o"
.include "src/text_window.o"
.include "src/script.o"
@@ -89,29 +71,27 @@ gUnknown_030005A6: @ 30005A6
.include "src/tileset_anim.o"
.include "src/sound.o"
+@ field_weather
+
gUnknown_030006DC: @ 30006DC
.space 0x4
.include "src/field_effect.o"
- .include "src/item_menu.o"
+ .include "src/item_menu.o"
+
+@ shop
gUnknown_03000708: @ 3000708
.space 0x10
-gUnknown_03000718: @ 3000718
- .space 0x4
+ .include "src/record_mixing.o"
+ .include "src/tv.o"
-gUnknown_0300071C: @ 300071C
+ @ unused variable?
+ .align 2
.space 0x4
-gUnknown_03000720: @ 3000720
- .space 0x1
-
-gUnknown_03000721: @ 3000721
- .space 0x1
-
-gUnknown_03000722: @ 3000722
- .space 0x6
+@ battle_anim_80CA710
gUnknown_03000728: @ 3000728
.space 0x8
@@ -119,45 +99,39 @@ gUnknown_03000728: @ 3000728
gUnknown_03000730: @ 3000730
.space 0x10
+@ easy_chat
+
gUnknown_03000740: @ 3000740
.space 0x4
+@ pokenav
+
gUnknown_03000744: @ 3000744
.space 0x4
+@ mauville_old_man
+
gUnknown_03000748: @ 3000748
.space 0x4
.include "src/menu_helpers.o"
+ .include "src/contest_painting.o"
+ .include "src/pokeblock.o"
+ @ unused variable?
.align 2
-gUnknown_03000750: @ 3000750
- .space 0x2
-
-gUnknown_03000752: @ 3000752
- .space 0x2
-
-gUnknown_03000754: @ 3000754
- .space 0x2
-
-gUnknown_03000756: @ 3000756
- .space 0x2
+ .space 0x4
-gUnknown_03000758: @ 3000758
- .space 0x8
+ .include "src/field_specials.o"
-gUnknown_03000760: @ 3000760
- .space 0x50
+@ learn_move
+ .align 2
gUnknown_030007B0: @ 30007B0
.space 0x4
-gPcItemMenuOptionsNum: @ 30007B4
- .space 0x4
-
-gUnknown_030007B8: @ 30007B8
- .space 0x770
-
+ .include "src/player_pc.o"
+ .include "asm/m4a_1.o"
.include "src/agb_flash.o"
.include "src/siirtc.o"
.include "tools/agbcc/lib/libgcc.a:dp-bit.o"
diff --git a/sym_common.txt b/sym_common.txt
index dc1e62f13..fc729a587 100644
--- a/sym_common.txt
+++ b/sym_common.txt
@@ -3,11 +3,11 @@
.include "string_util.o"
.include "link.o"
.include "rtc.o"
+ .include "rom3.o"
- .align 4
-gBattleBuffersTransferData: @ 3004040
- .space 0x170
+@ battle
+ .align 2
gUnknown_030041B0: @ 30041B0
.space 0x4
@@ -104,32 +104,27 @@ gUnknown_03004348: @ 3004348
gUnknown_0300434C: @ 300434C
.space 0x4
-gPlayerPartyCount: @ 3004350
- .space 0x10
-
-gPlayerParty: @ 3004360
- .space 0x258
-
-gEnemyPartyCount: @ 30045B8
- .space 0x8
-
-gEnemyParty: @ 30045C0
- .space 0x258
-
+ .include "pokemon_1.o"
.include "rng.o"
+@ egg_hatch
+
.align 2
gUnknown_0300481C: @ 300481C
.space 0x4
.include "load_save.o"
+@ trade
+
gUnknown_03004824: @ 3004824
.space 0x4
gUnknown_03004828: @ 3004828
.space 0x8
+@ berry_blender
+
gUnknown_03004830: @ 3004830
.space 0x4
@@ -142,59 +137,27 @@ gUnknown_03004840: @ 3004840
gUnknown_03004854: @ 3004854
.space 0x4
-word_3004858: @ 3004858
- .space 0x4
-
-gFieldCallback: @ 300485C
- .space 0x4
-
-gUnknown_03004860: @ 3004860
- .space 0x4
-
-gFieldLinkPlayerCount: @ 3004864
- .space 0xC
-
-gUnknown_03004870: @ 3004870
- .space 0x10
-
-gUnknown_03004880: @ 3004880
- .space 0x18
-
-gUnknown_03004898: @ 3004898
- .space 0x4
-
-gUnknown_0300489C: @ 300489C
- .space 0x4
-
-gMapObjects: @ 30048A0
- .space 0x240
+ .include "rom4.o"
+ .include "fieldmap.o"
+ .include "field_camera.o"
+ .include "field_map_obj.o"
+ .include "field_control_avatar.o"
-gSelectedMapObject: @ 3004AE0
- .space 0x4
+@ party_menu?
+ .align 2
gUnknown_03004AE4: @ 3004AE4
.space 0x4
-gCallback_03004AE8: @ 3004AE8
- .space 0x4
-
-gDisableMusic: @ 3004AEC
- .space 0x4
-
-gSoundAnimFramesToWait: @ 3004AF0
- .space 0x10
-
-gBattleAnimArgs: @ 3004B00
- .space 0x10
-
-gAnimSpriteIndexArray: @ 3004B10
- .space 0x10
-
+ .include "start_menu.o"
+ .include "sound.o"
+ .include "battle_anim.o"
.include "task.o"
+ .include "mori_debug_menu.o"
-gUnknown_03004DA0: @ 3004DA0
- .space 0x20
+@ unknown_task
+ .align 4
gUnknown_03004DC0: @ 3004DC0
.space 0x20
@@ -216,21 +179,25 @@ gUnknown_03005560: @ 3005560
gUnknown_030056A0: @ 30056A0
.space 0x640
+@ pokemon_menu
+
gLastFieldPokeMenuOpened: @ 3005CE0
.space 0x4
gUnknown_03005CE4: @ 3005CE4
.space 0x4
-gUnknown_03005CE8: @ 3005CE8
- .space 0x4
+ .include "pokedex.o"
-gUnknown_03005CEC: @ 3005CEC
- .space 0x4
+@ pokemon_summary_screen
+ .align 4
gUnknown_03005CF0: @ 3005CF0
.space 0x10
+@ item_menu
+
+ .align 4
gUnknown_03005D00: @ 3005D00
.space 0x10
@@ -240,24 +207,31 @@ gBagPocketScrollStates: @ 3005D10
gCurrentBagPocketItemSlots: @ 3005D24
.space 0x4
-gUnknown_03005D28: @ 3005D28
- .space 0x4
+@ contest
-gUnknown_03005D2C: @ 3005D2C
+ .align 2
+gUnknown_03005D28: @ 3005D28
.space 0x4
-gUnknown_03005D30: @ 3005D30
- .space 0x4
+ .include "record_mixing.o"
+ .include "sound_check_menu.o"
+ .align 2
gUnknown_03005D34: @ 3005D34
.space 0x4
-gUnknown_03005D38: @ 3005D38
- .space 0x68
+ .include "tv.o"
+
+ .space 0x64 @ unused variable?
+@ mauville_old_man
+
+ .align 4
gUnknown_03005DA0: @ 3005DA0
.space 0x48
+@ cute_sketch
+
gUnknown_03005DE8: @ 3005DE8
.space 0x4
@@ -288,60 +262,28 @@ gUnknown_03005E08: @ 3005E08
gUnknown_03005E0C: @ 3005E0C
.space 0x4
-gUnknown_03005E10: @ 3005E10
- .space 0x10
-
-gUnknown_03005E20: @ 3005E20
- .space 0x20
-
-gUnknown_03005E40: @ 3005E40
- .space 0x4C
+ .include "contest_painting.o"
-gUnknown_03005E8C: @ 3005E8C
- .space 0x4
-
-gUnknown_03005E90: @ 3005E90
- .space 0x4
+@ evolution_scene
+ .align 2
gUnknown_03005E94: @ 3005E94
.space 0x4
-gUnknown_03005E98: @ 3005E98
- .space 0x4
-
-gLastWrittenSector: @ 3005E9C
- .space 0x4
-
-gLastSaveCounter: @ 3005EA0
- .space 0x4
-
-gLastKnownGoodSector: @ 3005EA4
- .space 0x4
-
-gDamagedSaveSectors: @ 3005EA8
- .space 0x4
+@ pokedex_cry_screen
-gSaveCounter: @ 3005EAC
- .space 0x4
-
-gFastSaveSection: @ 3005EB0
- .space 0x4
-
-gUnknown_03005EB4: @ 3005EB4
+gUnknown_03005E98: @ 3005E98
.space 0x4
-gSaveFileStatus: @ 3005EB8
- .space 0x4
+ .include "save.o"
-gGameContinueCallback: @ 3005EBC
- .space 0x14
+ .space 0x10 @ unused variable?
-gIntroFrameCounter: @ 3005ED0
- .space 0x10
+ .include "intro.o"
-gMultibootProgramStruct: @ 3005EE0
- .space 0x2C
+@ battle_anim_813F0F4
+ .align 2
gUnknown_03005F0C: @ 3005F0C
.space 0x4
@@ -351,6 +293,8 @@ gUnknown_03005F10: @ 3005F10
gUnknown_03005F14: @ 3005F14
.space 0xC
+@ pokeblock_feed
+
gUnknown_03005F20: @ 3005F20
.space 0x4
diff --git a/sym_ewram.txt b/sym_ewram.txt
index b44263a1e..0e8b25e28 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -6,17 +6,11 @@
.space 0x2E8
.include "src/link.o"
+ .include "src/rom3.o"
- .align 2
-gUnknown_020238C4: @ 20238C4
- .space 0x1
-
-gUnknown_020238C5: @ 20238C5
- .space 0x1
-
-gUnknown_020238C6: @ 20238C6
- .space 0x2
+@ battle
+ .align 2
gUnknown_020238C8: @ 20238C8
.space 0x4
@@ -299,20 +293,11 @@ word_2024E82: @ 2024E82
gBattleMonForms: @ 2024E84
.space 0x4
-byte_2024E88: @ 2024E88
- .space 0x4
+ .include "src/pokemon_1.o"
+ .include "src/pokemon_2.o"
+ .include "src/load_save.o"
-gUnknown_02024E8C: @ 2024E8C
- .space 0x18
-
-gSaveBlock2: @ 2024EA4
- .space 0x890
-
-gSaveBlock1: @ 2025734
- .space 0x3AC0
-
-gLoadedSaveData: @ items
- .space 0x4D8
+@ trade
gUnknown_020296CC: @ 20296CC
.space 0x34
@@ -323,6 +308,8 @@ gUnknown_02029700: @ 2029700
gUnknown_020297D8: @ 20297D8
.space 0x4
+@ berry_blender
+
gUnknown_020297DC: @ 20297DC
.space 0x4
@@ -335,128 +322,20 @@ gUnknown_020297E4: @ 20297E4
gUnknown_020297E8: @ 20297E8
.space 0x4
-gDifferentSaveFile: @ 20297EC
- .space 0x1
-
-gUnknown_020297ED: @ 20297ED
- .space 0x3
-
-gUnknown_020297F0: @ 20297F0
- .space 0x8
-
-gUnknown_020297F8: @ 20297F8
- .space 0x8
-
-gUnknown_02029800: @ 2029800
- .space 0x8
-
-gUnknown_02029808: @ 2029808
- .space 0x8
-
-gUnknown_02029810: @ 2029810
- .space 0x4
-
-gUnknown_02029814: @ 2029814
- .space 0x2
-
-gUnknown_02029816: @ 2029816
- .space 0x2
-
-gLinkPlayerMapObjects: @ 2029818
- .space 0x10
-
+ .include "src/new_game.o"
+ .include "src/rom4.o"
.include "src/fieldmap.o"
+ .include "src/field_camera.o"
+ .include "src/field_player_avatar.o"
+ .include "src/field_message_box.o"
+ .include "src/script.o"
+ .include "src/scrcmd.o"
+ .include "src/field_control_avatar.o"
+ .include "src/event_data.o"
-gUnknown_0202E854: @ 202E854
- .space 0x4
-
-gPlayerAvatar: @ 202E858
- .space 0x14
-
-gUnknown_0202E86C: @ 202E86C
- .space 0x8
-
-gUnknown_0202E874: @ 202E874
- .space 0x8
-
-gFieldMessageBoxWindow: @ 202E87C
- .space 0x30
-
-gUnknown_0202E8AC: @ 202E8AC
- .space 0x4
-
-gUnknown_0202E8B0: @ 202E8B0
- .space 0x4
-
-gUnknown_0202E8B4: @ 202E8B4
- .space 0x2
-
-gUnknown_0202E8B6: @ 202E8B6
- .space 0x2
-
-gUnknown_0202E8B8: @ 202E8B8
- .space 0x2
-
-gUnknown_0202E8BA: @ 202E8BA
- .space 0x2
-
-gUnknown_0202E8BC: @ 202E8BC
- .space 0x4
-
-gUnknown_0202E8C0: @ 202E8C0
- .space 0x2
-
-gUnknown_0202E8C2: @ 202E8C2
- .space 0x2
-
-gSpecialVar_0x8000: @ 202E8C4
- .space 0x2
-
-gSpecialVar_0x8001: @ 202E8C6
- .space 0x2
-
-gSpecialVar_0x8002: @ 202E8C8
- .space 0x2
-
-gSpecialVar_0x8003: @ 202E8CA
- .space 0x2
-
-gSpecialVar_0x8004: @ 202E8CC
- .space 0x2
-
-gSpecialVar_0x8005: @ 202E8CE
- .space 0x2
-
-gSpecialVar_0x8006: @ 202E8D0
- .space 0x2
-
-gSpecialVar_0x8007: @ 202E8D2
- .space 0x2
-
-gSpecialVar_0x8008: @ 202E8D4
- .space 0x2
-
-gSpecialVar_0x8009: @ 202E8D6
- .space 0x2
-
-gSpecialVar_0x800A: @ 202E8D8
- .space 0x2
-
-gSpecialVar_0x800B: @ 202E8DA
- .space 0x2
-
-gScriptResult: @ 202E8DC
- .space 0x2
-
-gScriptLastTalked: @ 202E8DE
- .space 0x2
-
-gScriptFacing: @ 202E8E0
- .space 0x2
-
-gUnknown_0202E8E2: @ 202E8E2
- .space 0x12
+@ party_menu
+ .align 2
gUnknown_0202E8F4: @ 202E8F4
.space 0x1
@@ -476,20 +355,14 @@ gUnknown_0202E8FA: @ 202E8FA
.include "src/menu.o"
.include "src/tileset_anim.o"
.include "src/palette.o"
-
- .align 2
-gMPlay_PokemonCry: @ 202F79C
- .space 0x4
-
-gPokemonCryBGMDuckingCounter: @ 202F7A0
- .space 0x4
-
+ .include "src/sound.o"
.include "src/battle_anim.o"
.include "src/rom_8077ABC.o"
+ .include "src/title_screen.o"
-gUnknown_0202F7E4: @ 202F7E4
- .space 0x4
+@ field_weather
+ .align 2
gUnknown_0202F7E8: @ 202F7E8
.space 0x200
@@ -507,13 +380,15 @@ gUnknown_0202FF58: @ 202FF58
.include "src/battle_setup.o"
.include "src/wild_encounter.o"
+ .include "src/field_effect.o"
-gUnknown_0202FF84: @ 202FF84
- .space 0x20
+@ unknown_task
gUnknown_0202FFA4: @ 202FFA4
.space 0x4
+@ pokemon_menu
+
gUnknown_0202FFA8: @ 202FFA8
.space 0x1
@@ -523,27 +398,13 @@ gUnknown_0202FFA9: @ 202FFA9
gUnknown_0202FFAA: @ 202FFAA
.space 0xA
-gPokedexView: @ 202FFB4
- .space 0x4
+ .include "src/pokedex.o"
+ .include "src/trainer_card.o"
+ .include "src/pokemon_storage_system.o"
-gUnknown_0202FFB8: @ 202FFB8
- .space 0x2
-
-gUnknown_0202FFBA: @ 202FFBA
- .space 0x2
-
-gUnknown_0202FFBC: @ 202FFBC
- .space 0x4
-
-gTrainerCards: @ 202FFC0
- .space 0xE0
-
-gPokemonStorage: @ 20300A0
- .space 0x360
-
-gUnknown_02030400: @ 02030400
- .space 0x8070
+@ still pokemon_storage_system
+ .align 2
gUnknown_02038470: @ 2038470
.space 0x3
@@ -595,19 +456,21 @@ gUnknown_020384EA: @ 20384EA
gUnknown_020384EC: @ 20384EC
.space 0x4
+@ pokemon_summary_screen
+
gUnknown_020384F0: @ 20384F0
.space 0x4
gUnknown_020384F4: @ 20384F4
.space 0x4
-gUnknown_020384F8: @ 20384F8
- .space 0x40
-
+ .include "src/script_movement.o"
.include "src/map_name_popup.o"
.include "src/item_menu.o"
- .align 2
+@ contest
+
+ .align 2
gUnknown_0203856C: @ 203856C
.space 0x4
@@ -660,6 +523,8 @@ gScriptContestCategory: @ 203869C
gScriptContestRank: @ 203869E
.space 0x2
+@ shop
+
gUnknown_020386A0: @ 20386A0
.space 0x4
@@ -681,182 +546,67 @@ gUnknown_02038730: @ 2038730
gUnknown_02038731: @ 2038731
.space 0x3
-gUnknown_02038734: @ 2038734
- .space 0x4
+ .include "src/money.o"
+
+@ record_mixing
+ .align 2
gUnknown_02038738: @ 2038738
.space 0x78
-gUnknown_020387B0: @ 20387B0
- .space 0x1
-
-gUnknown_020387B1: @ 20387B1
- .space 0x1
-
-gUnknown_020387B2: @ 20387B2
- .space 0x1
-
-gUnknown_020387B3: @ 20387B3
- .space 0x1
-
-gUnknown_020387B4: @ 20387B4
- .space 0x24
-
-gUnknown_020387D8: @ 20387D8
- .space 0x1
+ .include "src/sound_check_menu.o"
-gUnknown_020387D9: @ 20387D9
- .space 0x3
+@ secret_base
+ .align 2
gUnknown_020387DC: @ 20387DC
.space 0x4
-gUnknown_020387E0: @ 20387E0
- .space 0x2
+@ tv
-gUnknown_020387E2: @ 20387E2
- .space 0x2
+ .include "src/tv.o"
-gUnknown_020387E4: @ 20387E4
- .space 0x4
-
-gUnknown_020387E8: @ 20387E8
- .space 0x4
+@ fldeff_80C5CD4
+ .align 2
gUnknown_020387EC: @ 20387EC
.space 0x4
-gRotatingGate_GateSpriteIds: @ 20387F0
- .space 0x10
-
-gRotatingGate_PuzzleConfig: @ 2038800
- .space 0x4
-
-gRotatingGate_PuzzleCount: @ 2038804
- .space 0x4
-
+ .include "src/rotating_gate.o"
.include "src/safari_zone.o"
+@ easy_chat
+
gUnknown_020388AC: @ 20388AC
.space 0x4
+@ pokenav
+
gUnknown_020388B0: @ 20388B0
.space 0x4
gUnknown_020388B4: @ 20388B4
.space 0x4
-gUnknown_020388B8: @ 20388B8
- .space 0x4
-
-gUnknown_020388BC: @ 20388BC
- .space 0x4
+ .include "src/mon_markings.o"
- .include "src/menu_helpers.o"
+@ mauville_old_man
.align 2
-gRegionMap: @ 20388CC
- .space 0x4
-
-gUnknown_020388D0: @ 20388D0
- .space 0x4
-
-gUnknown_020388D4: @ 20388D4
- .space 0x1
-
-gUnknown_020388D5: @ 20388D5
- .space 0x1
-
-gUnknown_020388D6: @ 20388D6
- .space 0x10
-
-gUnknown_020388E6: @ 20388E6
- .space 0xC
-
-gUnknown_020388F2: @ 20388F2
- .space 0x1
-
-gUnknown_020388F3: @ 20388F3
- .space 0x1
-
-gUnknown_020388F4: @ 20388F4
- .space 0x1
-
-gUnknown_020388F5: @ 20388F5
- .space 0x1
-
-gUnknown_020388F6: @ 20388F6
- .space 0x1
-
-gUnknown_020388F7: @ 20388F7
- .space 0x9
-
-gUnknown_02038900: @ 2038900
- .space 0x8A4
-
-gUnknown_020391A4: @ 20391A4
- .space 0x2
-
-gUnknown_020391A6: @ 20391A6
- .space 0x2
-
-gUnknown_020391A8: @ 20391A8
- .space 0x1
-
-gUnknown_020391A9: @ 20391A9
- .space 0x1
-
-gUnknown_020391AA: @ 20391AA
- .space 0x2
-
-gUnknown_020391AC: @ 20391AC
- .space 0x8
-
-gUnknown_020391B4: @ 20391B4
- .space 0x80
-
-gUnknown_02039234: @ 2039234
- .space 0x4
-
-gAIScriptPtr: @ 2039238
- .space 0x4
-
-gUnknown_0203923C: @ 203923C
- .space 0x8
-
-gUnknown_02039244: @ 2039244
- .space 0x4
-
-gUnknown_02039248: @ 2039248
- .space 0x4
-
-gUnknown_0203924C: @ 203924C
- .space 0x4
-
-gUnknown_02039250: @ 2039250
- .space 0x1
-
-gUnknown_02039251: @ 2039251
- .space 0x3
-
-gUnknown_02039254: @ 2039254
+gUnknown_020388BC: @ 20388BC
.space 0x4
-gUnknown_02039258: @ 2039258
- .space 0x1
-
-gUnknown_02039259: @ 2039259
- .space 0x1
-
-gUnknown_0203925A: @ 203925A
- .space 0x1
-
-gUnknown_0203925B: @ 203925B
- .space 0x1
+ .include "src/menu_helpers.o"
+ .include "src/region_map.o"
+ .include "src/decoration.o"
+ .include "src/battle_ai.o"
+ .include "src/rom6.o"
+ .include "src/pokeblock.o"
+ .include "src/field_specials.o"
-gUnknown_0203925C: @ 203925C
- .space 0x4
+@ pokedex_area_screen
+ .align 2
gUnknown_02039260: @ 2039260
.space 0x2
@@ -875,12 +625,16 @@ gUnknown_02039268: @ 2039268
gUnknown_0203926A: @ 203926A
.space 0x2
+@ battle_message
+
gAbilitiesPerBank: @ 203926C
.space 0x4
-gSelectedOrderFromParty: @ 2039270
- .space 0x4
+ .include "src/choose_party.o"
+
+@ cable_car
+ .align 2
gUnknown_02039274: @ 2039274
.space 0x4
@@ -902,75 +656,33 @@ gUnknown_0203927C: @ 203927C
gUnknown_0203927D: @ 203927D
.space 0x7
-gLastSaveSectorStatus: @ 2039284
- .space 0x4
-
-gUnknown_02039288: @ 2039288
- .space 0x74
-
+ .include "src/save.o"
+ .include "src/mystery_event_script.o"
.include "src/roamer.o"
+ .include "src/use_pokeblock.o"
+ .include "src/player_pc.o"
+ .include "src/intro.o"
- .align 2
-gUnknown_02039304: @ 2039304
- .space 0x4
-
-gUnknown_02039308: @ 2039308
- .space 0x4
-
-gUnknown_0203930C: @ 203930C
- .space 0x4
-
-gUnknown_02039310: @ 2039310
- .space 0x2
-
-gUnknown_02039312: @ 2039312
- .space 0x2
-
-gPcItemMenuOptionOrder: @ 2039314
- .space 0x4
-
-gUnknown_02039318: @ 2039318
- .space 0x2
-
-gUnknown_0203931A: @ 203931A
- .space 0x2
+@ hall_of_fame
+ .align 2
gUnknown_0203931C: @ 203931C
.space 0x4
-gUnknown_02039320: @ 2039320
- .space 0x2
-
-gUnknown_02039322: @ 2039322
- .space 0x2
-
-gUnknown_02039324: @ 2039324
- .space 0x1
-
-gUnknown_02039325: @ 2039325
- .space 0x3
-
+ .include "src/credits.o"
.include "src/lottery_corner.o"
+ .include "src/berry_tag_screen.o"
+ .include "src/mystery_event_menu.o"
+ .include "src/save_failed_screen.o"
-gUnknown_0203932C: @ 203932C
- .space 0x2
-
-gUnknown_0203932E: @ 203932E
- .space 0xA
-
-gUnknown_02039338: @ 2039338
- .space 0x4
-
-gSaveFailedType: @ 203933C
- .space 0x2
-
-gSaveFailedClockInfo: @ 203933E
- .space 0x12
+@ pokeblock_feed
.align 2
gUnknown_02039350: @ 2039350
.space 0x8
+@ intro_credits_graphics
+
gUnknown_02039358: @ 2039358
.space 0x2
@@ -980,6 +692,8 @@ gUnknown_0203935A: @ 203935A
gUnknown_0203935C: @ 203935C
.space 0x4
+@ ???
+
gTileBuffer: @ 2039360
.space 0x100
@@ -992,19 +706,4 @@ gUnknown_02039760: @ 2039760
gUnknown_0203A360: @ 203A360
.space 0x20
-gMenuCursorSubsprites: @ 203A380
- .space 0x50
-
-gUnknown_0203A3D0: @ 203A3D0
- .space 0x1
-
-gUnknown_0203A3D1: @ 203A3D1
- .space 0x1
-
-gUnknown_0203A3D2: @ 203A3D2
- .space 0x1
-
-gUnknown_0203A3D3: @ 203A3D3
- .space 0x1
-
-gUnknown_0203A3D4: @ 203A3D4
+ .include "src/menu_cursor.o"