summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <PikalaxALT@users.noreply.github.com>2019-01-06 16:19:18 -0500
committerGitHub <noreply@github.com>2019-01-06 16:19:18 -0500
commite70a084aa964a0df94c609ebfa9717089dd67639 (patch)
tree996dc1a413c8818d6efb746ecf15c3fae28b983e
parent103789770b635610ee1c04ed923fdcc7298f878e (diff)
parent1581631e6286e0ec8178630433e8c15cd7076ead (diff)
Merge pull request #38 from PikalaxALT/scrcmd
scrcmd
-rw-r--r--asm/battle_controller_oak.s2
-rw-r--r--asm/battle_controller_player.s2
-rw-r--r--asm/battle_message.s6
-rw-r--r--asm/battle_setup.s60
-rw-r--r--asm/battle_tower.s4
-rw-r--r--asm/berry_pouch.s14
-rw-r--r--asm/bike.s4
-rw-r--r--asm/field_control_avatar.s18
-rw-r--r--asm/field_door.s36
-rw-r--r--asm/field_effect.s2
-rw-r--r--asm/field_fadetransition.s46
-rw-r--r--asm/field_map_obj.s6
-rw-r--r--asm/field_player_avatar.s2
-rw-r--r--asm/field_specials.s20
-rw-r--r--asm/field_weather.s6
-rw-r--r--asm/hall_of_fame.s4
-rw-r--r--asm/help_system_812B1E0.s2
-rw-r--r--asm/item.s50
-rw-r--r--asm/item_menu.s42
-rw-r--r--asm/item_pc.s8
-rw-r--r--asm/item_use.s14
-rw-r--r--asm/link_rfu.s2
-rw-r--r--asm/link_rfu_3.s4
-rw-r--r--asm/map_obj_lock.s20
-rw-r--r--asm/menu_helpers.s4
-rw-r--r--asm/overworld.s98
-rw-r--r--asm/party_menu.s64
-rw-r--r--asm/player_pc.s4
-rw-r--r--asm/pokemon_storage_system.s6
-rw-r--r--asm/pokemon_summary_screen.s6
-rw-r--r--asm/scrcmd.s5612
-rw-r--r--asm/script_menu.s24
-rw-r--r--asm/script_pokemon_util_80A0058.s6
-rw-r--r--asm/seagallop.s2
-rw-r--r--asm/shop.s26
-rw-r--r--asm/slot_machine.s6
-rw-r--r--asm/start_menu.s4
-rw-r--r--asm/teachy_tv.s4
-rw-r--r--asm/tm_case.s18
-rw-r--r--asm/trainer_tower.s769
-rw-r--r--asm/unk_810C3A4.s2
-rw-r--r--asm/unk_8147AA8.s12
-rw-r--r--asm/unk_814B6F0.s2
-rw-r--r--asm/unk_81507FC.s10
-rw-r--r--asm/unk_815EDDC.s55
-rw-r--r--data/data_835B488.s27
-rw-r--r--data/data_83FECCC.s2
-rw-r--r--data/event_scripts.s2
-rw-r--r--data/script_cmd_table.inc146
-rw-r--r--data/specials.inc4
-rw-r--r--data/trainer_tower.s20
-rw-r--r--data/trainer_tower/trainers.inc248
-rw-r--r--include/battle_2.h1
-rw-r--r--include/battle_setup.h5
-rw-r--r--include/battle_transition.h4
-rw-r--r--include/event_data.h3
-rw-r--r--include/field_fadetransition.h14
-rw-r--r--include/field_map_obj.h8
-rw-r--r--include/field_map_obj_helpers.h2
-rw-r--r--include/field_player_avatar.h1
-rw-r--r--include/field_screen_effect.h2
-rw-r--r--include/field_specials.h1
-rw-r--r--include/field_weather.h1
-rw-r--r--include/global.h17
-rw-r--r--include/item.h4
-rw-r--r--include/main.h1
-rw-r--r--include/map_obj_lock.h4
-rw-r--r--include/map_preview_screen.h6
-rw-r--r--include/new_menu_helpers.h3
-rw-r--r--include/overworld.h11
-rw-r--r--include/party_menu.h2
-rw-r--r--include/pokemon.h2
-rw-r--r--include/pokemon_storage_system.h1
-rw-r--r--include/quest_log.h5
-rw-r--r--include/script.h9
-rw-r--r--include/script_menu.h3
-rw-r--r--include/script_movement.h2
-rw-r--r--include/script_pokemon_util_80A0058.h8
-rw-r--r--include/sound.h1
-rw-r--r--ld_script.txt4
-rw-r--r--src/load_save.c2
-rw-r--r--src/quest_log.c4
-rw-r--r--src/scrcmd.c2270
-rw-r--r--src/script.c6
-rw-r--r--src/trainer_tower.c180
-rw-r--r--src/vs_seeker.c4
-rw-r--r--sym_common.txt2
-rw-r--r--sym_ewram.txt24
88 files changed, 3171 insertions, 7003 deletions
diff --git a/asm/battle_controller_oak.s b/asm/battle_controller_oak.s
index 29ae446f6..91931bb63 100644
--- a/asm/battle_controller_oak.s
+++ b/asm/battle_controller_oak.s
@@ -308,7 +308,7 @@ _080E77AC:
bhi _080E7838
adds r0, r5, 0
movs r1, 0x1
- bl sub_809A084
+ bl AddBagItem
_080E780A:
movs r0, 0x5
bl PlaySE
diff --git a/asm/battle_controller_player.s b/asm/battle_controller_player.s
index 4db1f94c3..d83245653 100644
--- a/asm/battle_controller_player.s
+++ b/asm/battle_controller_player.s
@@ -381,7 +381,7 @@ _0802E5A8:
bhi _0802E634
adds r0, r5, 0
movs r1, 0x1
- bl sub_809A084
+ bl AddBagItem
_0802E606:
movs r0, 0x5
bl PlaySE
diff --git a/asm/battle_message.s b/asm/battle_message.s
index 029ff9ed0..183306f97 100644
--- a/asm/battle_message.s
+++ b/asm/battle_message.s
@@ -1604,7 +1604,7 @@ _080D7F9C:
ldrh r0, [r0]
_080D7FA0:
mov r1, sp
- bl sub_8099E90
+ bl CopyItemName
mov r4, sp
b _080D8382
.align 2, 0
@@ -2495,12 +2495,12 @@ _080D8698: .4byte gUnknown_83FD8A2
_080D869C:
adds r0, r2, 0
adds r1, r6, 0
- bl sub_8099E90
+ bl CopyItemName
b _080D86AE
_080D86A6:
adds r0, r2, 0
adds r1, r6, 0
- bl sub_8099E90
+ bl CopyItemName
_080D86AE:
adds r5, 0x3
_080D86B0:
diff --git a/asm/battle_setup.s b/asm/battle_setup.s
index 499d565f0..529787bf6 100644
--- a/asm/battle_setup.s
+++ b/asm/battle_setup.s
@@ -104,7 +104,7 @@ sub_807F6CC: @ 807F6CC
bhi _0807F6FC
ldr r0, _0807F6F8 @ =0x00000167
movs r1, 0x1
- bl sub_8099F40
+ bl CheckBagHasItem
lsls r0, 24
cmp r0, 0
bne _0807F6FC
@@ -318,8 +318,8 @@ _0807F8BC: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
_0807F8C0: .4byte gBattleTypeFlags
thumb_func_end sub_807F888
- thumb_func_start sub_807F8C4
-sub_807F8C4: @ 807F8C4
+ thumb_func_start BattleSetup_StartScriptedWildBattle
+BattleSetup_StartScriptedWildBattle: @ 807F8C4
push {lr}
bl ScriptContext2_Enable
ldr r1, _0807F8F8 @ =gMain
@@ -344,7 +344,7 @@ sub_807F8C4: @ 807F8C4
_0807F8F8: .4byte gMain
_0807F8FC: .4byte sub_807FBA0
_0807F900: .4byte gBattleTypeFlags
- thumb_func_end sub_807F8C4
+ thumb_func_end BattleSetup_StartScriptedWildBattle
thumb_func_start sub_807F904
sub_807F904: @ 807F904
@@ -356,7 +356,7 @@ sub_807F904: @ 807F904
str r0, [r1, 0x8]
ldr r0, _0807F94C @ =0x00000167
movs r1, 0x1
- bl sub_8099F40
+ bl CheckBagHasItem
lsls r0, 24
cmp r0, 0
beq _0807F958
@@ -1512,7 +1512,7 @@ battle_80801F0: @ 80801F0
ldrb r1, [r2, 0x5]
ldrb r2, [r2, 0x4]
bl GetFieldObjectIdByLocalIdAndMap
- ldr r1, _08080224 @ =gUnknown_3005074
+ ldr r1, _08080224 @ =gSelectedEventObject
strb r0, [r1]
_08080212:
pop {r0}
@@ -1521,11 +1521,11 @@ _08080212:
_08080218: .4byte gUnknown_20386B0
_0808021C: .4byte gSpecialVar_LastTalked
_08080220: .4byte gSaveBlock1Ptr
-_08080224: .4byte gUnknown_3005074
+_08080224: .4byte gSelectedEventObject
thumb_func_end battle_80801F0
- thumb_func_start sub_8080228
-sub_8080228: @ 8080228
+ thumb_func_start BattleSetup_ConfigureTrainerBattle
+BattleSetup_ConfigureTrainerBattle: @ 8080228
push {r4,r5,lr}
adds r5, r0, 0
bl sub_8080110
@@ -1640,14 +1640,14 @@ _08080326:
.align 2, 0
_0808032C: .4byte gUnknown_83C6900
_08080330: .4byte gUnknown_81A4EC1
- thumb_func_end sub_8080228
+ thumb_func_end BattleSetup_ConfigureTrainerBattle
thumb_func_start TrainerWantsBattle
TrainerWantsBattle: @ 8080334
push {r4,lr}
lsls r0, 24
lsrs r0, 24
- ldr r2, _08080368 @ =gUnknown_3005074
+ ldr r2, _08080368 @ =gSelectedEventObject
strb r0, [r2]
ldr r4, _0808036C @ =gSpecialVar_LastTalked
ldr r3, _08080370 @ =gMapObjects
@@ -1659,7 +1659,7 @@ TrainerWantsBattle: @ 8080334
strh r0, [r4]
adds r1, 0x1
adds r0, r1, 0
- bl sub_8080228
+ bl BattleSetup_ConfigureTrainerBattle
ldr r0, _08080374 @ =gUnknown_81A4EB4
bl ScriptContext1_SetupScript
bl ScriptContext2_Enable
@@ -1667,7 +1667,7 @@ TrainerWantsBattle: @ 8080334
pop {r0}
bx r0
.align 2, 0
-_08080368: .4byte gUnknown_3005074
+_08080368: .4byte gSelectedEventObject
_0808036C: .4byte gSpecialVar_LastTalked
_08080370: .4byte gMapObjects
_08080374: .4byte gUnknown_81A4EB4
@@ -1693,7 +1693,7 @@ GetTrainerFlagFromScriptPointer: @ 8080378
thumb_func_start sub_8080398
sub_8080398: @ 8080398
push {r4,lr}
- ldr r0, _080803C4 @ =gUnknown_3005074
+ ldr r0, _080803C4 @ =gSelectedEventObject
ldrb r0, [r0]
lsls r4, r0, 3
adds r4, r0
@@ -1713,7 +1713,7 @@ sub_8080398: @ 8080398
pop {r0}
bx r0
.align 2, 0
-_080803C4: .4byte gUnknown_3005074
+_080803C4: .4byte gSelectedEventObject
_080803C8: .4byte gMapObjects
thumb_func_end sub_8080398
@@ -1785,8 +1785,8 @@ HasTrainerAlreadyBeenFought: @ 8080424
bx r1
thumb_func_end HasTrainerAlreadyBeenFought
- thumb_func_start trainer_flag_set
-trainer_flag_set: @ 808043C
+ thumb_func_start SetTrainerFlag
+SetTrainerFlag: @ 808043C
push {lr}
lsls r0, 16
movs r1, 0xA0
@@ -1796,10 +1796,10 @@ trainer_flag_set: @ 808043C
bl FlagSet
pop {r0}
bx r0
- thumb_func_end trainer_flag_set
+ thumb_func_end SetTrainerFlag
- thumb_func_start trainer_flag_clear
-trainer_flag_clear: @ 8080450
+ thumb_func_start ClearTrainerFlag
+ClearTrainerFlag: @ 8080450
push {lr}
lsls r0, 16
movs r1, 0xA0
@@ -1809,10 +1809,10 @@ trainer_flag_clear: @ 8080450
bl FlagClear
pop {r0}
bx r0
- thumb_func_end trainer_flag_clear
+ thumb_func_end ClearTrainerFlag
- thumb_func_start sub_8080464
-sub_8080464: @ 8080464
+ thumb_func_start BattleSetup_StartTrainerBattle
+BattleSetup_StartTrainerBattle: @ 8080464
push {r4,lr}
ldr r4, _080804A0 @ =gBattleTypeFlags
movs r0, 0x8
@@ -1844,7 +1844,7 @@ _0808048C:
_080804A0: .4byte gBattleTypeFlags
_080804A4: .4byte gMain
_080804A8: .4byte sub_80804AC
- thumb_func_end sub_8080464
+ thumb_func_end BattleSetup_StartTrainerBattle
thumb_func_start sub_80804AC
sub_80804AC: @ 80804AC
@@ -1992,8 +1992,8 @@ sub_80805D8: @ 80805D8
bx r0
thumb_func_end sub_80805D8
- thumb_func_start sub_80805E8
-sub_80805E8: @ 80805E8
+ thumb_func_start BattleSetup_GetScriptAddrAfterBattle
+BattleSetup_GetScriptAddrAfterBattle: @ 80805E8
push {lr}
ldr r0, _080805F8 @ =gUnknown_20386C4
ldr r0, [r0]
@@ -2006,10 +2006,10 @@ _080805F4:
.align 2, 0
_080805F8: .4byte gUnknown_20386C4
_080805FC: .4byte gUnknown_81C555B
- thumb_func_end sub_80805E8
+ thumb_func_end BattleSetup_GetScriptAddrAfterBattle
- thumb_func_start sub_8080600
-sub_8080600: @ 8080600
+ thumb_func_start BattleSetup_GetTrainerPostBattleScript
+BattleSetup_GetTrainerPostBattleScript: @ 8080600
push {lr}
ldr r0, _08080610 @ =gUnknown_20386C8
ldr r0, [r0]
@@ -2022,7 +2022,7 @@ _0808060C:
.align 2, 0
_08080610: .4byte gUnknown_20386C8
_08080614: .4byte gUnknown_81C555B
- thumb_func_end sub_8080600
+ thumb_func_end BattleSetup_GetTrainerPostBattleScript
thumb_func_start sub_8080618
sub_8080618: @ 8080618
diff --git a/asm/battle_tower.s b/asm/battle_tower.s
index 82922b88f..e4c7f17ba 100644
--- a/asm/battle_tower.s
+++ b/asm/battle_tower.s
@@ -3218,7 +3218,7 @@ sub_80E724C: @ 80E724C
adds r1, r0
ldrh r0, [r1]
movs r1, 0x1
- bl sub_809A084
+ bl AddBagItem
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x1
@@ -3229,7 +3229,7 @@ sub_80E724C: @ 80E724C
adds r0, r1
ldrh r0, [r0]
ldr r1, _080E7290 @ =gStringVar1
- bl sub_8099E90
+ bl CopyItemName
ldr r0, _080E7294 @ =gSpecialVar_Result
strh r4, [r0]
b _080E72AA
diff --git a/asm/berry_pouch.s b/asm/berry_pouch.s
index b58832931..146a71788 100644
--- a/asm/berry_pouch.s
+++ b/asm/berry_pouch.s
@@ -733,7 +733,7 @@ sub_813D31C: @ 813D31C
bl StringAppend
adds r0, r5, 0
adds r1, r6, 0
- bl sub_8099E90
+ bl CopyItemName
ldr r1, _0813D394 @ =gUnknown_84643B4
adds r0, r4, 0
bl StringAppend
@@ -2497,7 +2497,7 @@ _0813E18A:
ldr r0, _0813E1F4 @ =gSpecialVar_ItemId
ldrh r0, [r0]
ldrh r1, [r5, 0x10]
- bl sub_809A1D8
+ bl RemoveBagItem
movs r0, 0x9
bl sub_813EA98
ldrb r0, [r5]
@@ -2736,7 +2736,7 @@ sub_813E37C: @ 813E37C
bne _0813E3D8
ldr r1, _0813E3C8 @ =gStringVar1
adds r0, r4, 0
- bl sub_8099E90
+ bl CopyItemName
ldr r4, _0813E3CC @ =gStringVar4
ldr r1, _0813E3D0 @ =gUnknown_8416374
adds r0, r4, 0
@@ -2815,7 +2815,7 @@ sub_813E428: @ 813E428
bne _0813E488
ldrh r0, [r6]
ldr r1, _0813E478 @ =gStringVar1
- bl sub_8099E90
+ bl CopyItemName
ldr r4, _0813E47C @ =gStringVar4
ldr r1, _0813E480 @ =gUnknown_84168F1
adds r0, r4, 0
@@ -2855,7 +2855,7 @@ _0813E4A0:
_0813E4A8:
ldrh r0, [r6]
ldr r1, _0813E4D4 @ =gStringVar1
- bl sub_8099E90
+ bl CopyItemName
ldr r4, _0813E4D8 @ =gStringVar4
ldr r1, _0813E4DC @ =gUnknown_8416911
adds r0, r4, 0
@@ -3188,7 +3188,7 @@ sub_813E768: @ 813E768
ldr r0, _0813E7D8 @ =gSpecialVar_ItemId
ldrh r0, [r0]
ldr r1, _0813E7DC @ =gStringVar1
- bl sub_8099E90
+ bl CopyItemName
ldr r6, _0813E7E0 @ =gStringVar3
ldrh r1, [r4, 0x2]
movs r0, 0x5
@@ -3250,7 +3250,7 @@ sub_813E7F0: @ 813E7F0
ldrh r0, [r5]
mov r2, r8
ldrh r1, [r2, 0x10]
- bl sub_809A1D8
+ bl RemoveBagItem
ldr r7, _0813E8C4 @ =gSaveBlock1Ptr
ldr r4, [r7]
movs r3, 0xA4
diff --git a/asm/bike.s b/asm/bike.s
index 915c4bf8f..c85537d3d 100644
--- a/asm/bike.s
+++ b/asm/bike.s
@@ -745,9 +745,9 @@ _080BD5F8:
cmp r0, 0
beq _080BD618
adds r0, r4, 0
- bl sub_8055E78
+ bl Overworld_SetSavedMusic
adds r0, r4, 0
- bl sub_8055F48
+ bl Overworld_ChangeMusicTo
_080BD618:
pop {r4}
pop {r0}
diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s
index 9748301f7..39055b8e9 100644
--- a/asm/field_control_avatar.s
+++ b/asm/field_control_avatar.s
@@ -936,7 +936,7 @@ _0806CFBC:
adds r4, 0x1
cmp r4, 0x3
ble _0806CFB0
- ldr r0, _0806CFE8 @ =gUnknown_3005074
+ ldr r0, _0806CFE8 @ =gSelectedEventObject
strb r3, [r0]
ldr r1, _0806CFEC @ =gSpecialVar_LastTalked
adds r0, r2, r3
@@ -954,7 +954,7 @@ _0806CFDE:
bx r1
.align 2, 0
_0806CFE4: .4byte gUnknown_2031DEC
-_0806CFE8: .4byte gUnknown_3005074
+_0806CFE8: .4byte gSelectedEventObject
_0806CFEC: .4byte gSpecialVar_LastTalked
_0806CFF0: .4byte gSpecialVar_Facing
thumb_func_end sub_806CF38
@@ -1044,7 +1044,7 @@ _0806D092:
_0806D098: .4byte gMapObjects
_0806D09C: .4byte gUnknown_826D2D8
_0806D0A0:
- ldr r0, _0806D0D4 @ =gUnknown_3005074
+ ldr r0, _0806D0D4 @ =gSelectedEventObject
strb r5, [r0]
ldr r4, _0806D0D8 @ =gSpecialVar_LastTalked
ldr r1, _0806D0DC @ =gMapObjects
@@ -1069,7 +1069,7 @@ _0806D0C8:
pop {r1}
bx r1
.align 2, 0
-_0806D0D4: .4byte gUnknown_3005074
+_0806D0D4: .4byte gSelectedEventObject
_0806D0D8: .4byte gSpecialVar_LastTalked
_0806D0DC: .4byte gMapObjects
_0806D0E0: .4byte gSpecialVar_Facing
@@ -2195,7 +2195,7 @@ mapheader_run_first_tag2_script_list_match_conditionally: @ 806D964
adds r1, r5, 0
adds r2, r7, 0
bl sub_806DC54
- bl sub_807E438
+ bl DoWarp
movs r0, 0x1
b _0806DA02
.align 2, 0
@@ -2331,7 +2331,7 @@ _0806DAC4:
lsrs r0, 24
cmp r0, 0x1
bne _0806DAE4
- bl sub_80559E4
+ bl ResetInitialPlayerAvatarState
ldr r0, _0806DAE0 @ =gUnknown_81C1361
bl ScriptContext1_SetupScript
movs r0, 0x1
@@ -2339,7 +2339,7 @@ _0806DAC4:
.align 2, 0
_0806DAE0: .4byte gUnknown_81C1361
_0806DAE4:
- bl sub_807E438
+ bl DoWarp
movs r0, 0x1
b _0806DAEE
_0806DAEC:
@@ -2638,7 +2638,7 @@ map_warp_consider_2_to_inside: @ 806DCD0
adds r1, r4, 0
adds r2, r6, 0
bl sub_806DC54
- bl sub_807E4DC
+ bl DoDoorWarp
movs r0, 0x1
b _0806DD32
.align 2, 0
@@ -2990,7 +2990,7 @@ _0806DF98:
cmp r0, 0
beq _0806DFB0
bl sub_8055A08
- bl sp13E_warp_to_last_warp
+ bl DoDiveWarp
movs r0, 0xE2
bl PlaySE
movs r0, 0x1
diff --git a/asm/field_door.s b/asm/field_door.s
index 9c7e5eb10..4384531d0 100644
--- a/asm/field_door.s
+++ b/asm/field_door.s
@@ -478,8 +478,8 @@ _0805B25C:
_0805B264: .4byte gUnknown_835B4B0
thumb_func_end sub_805B210
- thumb_func_start sub_805B268
-sub_805B268: @ 805B268
+ thumb_func_start FieldSetDoorOpened
+FieldSetDoorOpened: @ 805B268
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -504,10 +504,10 @@ _0805B292:
bx r0
.align 2, 0
_0805B298: .4byte gUnknown_835B5D8
- thumb_func_end sub_805B268
+ thumb_func_end FieldSetDoorOpened
- thumb_func_start sub_805B29C
-sub_805B29C: @ 805B29C
+ thumb_func_start FieldSetDoorClosed
+FieldSetDoorClosed: @ 805B29C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -532,10 +532,10 @@ _0805B2C6:
bx r0
.align 2, 0
_0805B2CC: .4byte gUnknown_835B5D8
- thumb_func_end sub_805B29C
+ thumb_func_end FieldSetDoorClosed
- thumb_func_start sub_805B2D0
-sub_805B2D0: @ 805B2D0
+ thumb_func_start FieldAnimateDoorClose
+FieldAnimateDoorClose: @ 805B2D0
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -566,10 +566,10 @@ _0805B308:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_805B2D0
+ thumb_func_end FieldAnimateDoorClose
- thumb_func_start sub_805B310
-sub_805B310: @ 805B310
+ thumb_func_start FieldAnimateDoorOpen
+FieldAnimateDoorOpen: @ 805B310
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -600,10 +600,10 @@ _0805B348:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_805B310
+ thumb_func_end FieldAnimateDoorOpen
- thumb_func_start sub_805B350
-sub_805B350: @ 805B350
+ thumb_func_start FieldIsDoorAnimationRunning
+FieldIsDoorAnimationRunning: @ 805B350
push {lr}
ldr r0, _0805B360 @ =sub_805B028
bl FuncIsActiveTask
@@ -613,10 +613,10 @@ sub_805B350: @ 805B350
bx r1
.align 2, 0
_0805B360: .4byte sub_805B028
- thumb_func_end sub_805B350
+ thumb_func_end FieldIsDoorAnimationRunning
- thumb_func_start sub_805B364
-sub_805B364: @ 805B364
+ thumb_func_start GetDoorSoundEffect
+GetDoorSoundEffect: @ 805B364
push {lr}
adds r3, r0, 0
adds r2, r1, 0
@@ -635,7 +635,7 @@ _0805B380:
_0805B382:
pop {r1}
bx r1
- thumb_func_end sub_805B364
+ thumb_func_end GetDoorSoundEffect
thumb_func_start sub_805B388
sub_805B388: @ 805B388
diff --git a/asm/field_effect.s b/asm/field_effect.s
index 1cbdc8214..5aa0772dd 100644
--- a/asm/field_effect.s
+++ b/asm/field_effect.s
@@ -6955,7 +6955,7 @@ sub_8086944: @ 8086944
cmp r0, 0
beq _08086978
adds r0, r4, 0
- bl sub_8055F48
+ bl Overworld_ChangeMusicTo
_08086978:
movs r0, 0
pop {r4}
diff --git a/asm/field_fadetransition.s b/asm/field_fadetransition.s
index 8ccc347e9..494c3e61e 100644
--- a/asm/field_fadetransition.s
+++ b/asm/field_fadetransition.s
@@ -661,7 +661,7 @@ _0807E028:
ldrsh r0, [r6, r2]
movs r2, 0
ldrsh r1, [r7, r2]
- bl sub_805B268
+ bl FieldSetDoorOpened
movs r0, 0x1
strh r0, [r4, 0x8]
b _0807E206
@@ -691,7 +691,7 @@ _0807E074:
ldrsh r0, [r6, r1]
movs r2, 0
ldrsh r1, [r7, r2]
- bl sub_805B364
+ bl GetDoorSoundEffect
lsls r0, 16
lsrs r0, 16
bl PlaySE
@@ -699,12 +699,12 @@ _0807E074:
ldrsh r0, [r6, r1]
movs r2, 0
ldrsh r1, [r7, r2]
- bl sub_805B310
+ bl FieldAnimateDoorOpen
movs r0, 0x7
strh r0, [r4, 0x8]
b _0807E206
_0807E0A2:
- bl sub_805B350
+ bl FieldIsDoorAnimationRunning
lsls r0, 24
cmp r0, 0
beq _0807E0AE
@@ -750,7 +750,7 @@ _0807E0FC:
ldrsh r0, [r4, r1]
movs r2, 0x22
ldrsh r1, [r4, r2]
- bl sub_805B2D0
+ bl FieldAnimateDoorClose
movs r0, 0x9
strh r0, [r4, 0x8]
b _0807E206
@@ -762,7 +762,7 @@ _0807E10E:
lsls r0, 24
cmp r0, 0
beq _0807E206
- bl sub_805B350
+ bl FieldIsDoorAnimationRunning
lsls r0, 24
cmp r0, 0
bne _0807E206
@@ -822,7 +822,7 @@ _0807E198:
ldrsh r0, [r6, r1]
movs r2, 0
ldrsh r1, [r7, r2]
- bl sub_805B2D0
+ bl FieldAnimateDoorClose
lsls r0, 24
asrs r0, 24
strh r0, [r4, 0xA]
@@ -1153,8 +1153,8 @@ _0807E434:
bx r1
thumb_func_end sub_807E418
- thumb_func_start sub_807E438
-sub_807E438: @ 807E438
+ thumb_func_start DoWarp
+DoWarp: @ 807E438
push {lr}
bl ScriptContext2_Enable
bl sub_8055F88
@@ -1174,10 +1174,10 @@ sub_807E438: @ 807E438
_0807E464: .4byte gUnknown_3005020
_0807E468: .4byte sub_807DF64
_0807E46C: .4byte sub_807E718
- thumb_func_end sub_807E438
+ thumb_func_end DoWarp
- thumb_func_start sp13E_warp_to_last_warp
-sp13E_warp_to_last_warp: @ 807E470
+ thumb_func_start DoDiveWarp
+DoDiveWarp: @ 807E470
push {lr}
bl ScriptContext2_Enable
bl sub_8055F88
@@ -1195,7 +1195,7 @@ sp13E_warp_to_last_warp: @ 807E470
_0807E494: .4byte gUnknown_3005020
_0807E498: .4byte sub_807DF64
_0807E49C: .4byte sub_807E718
- thumb_func_end sp13E_warp_to_last_warp
+ thumb_func_end DoDiveWarp
thumb_func_start sub_807E4A0
sub_807E4A0: @ 807E4A0
@@ -1228,8 +1228,8 @@ _0807E4D4: .4byte sub_807E980
_0807E4D8: .4byte gTasks
thumb_func_end sub_807E4A0
- thumb_func_start sub_807E4DC
-sub_807E4DC: @ 807E4DC
+ thumb_func_start DoDoorWarp
+DoDoorWarp: @ 807E4DC
push {lr}
bl ScriptContext2_Enable
ldr r0, _0807E4F4 @ =gUnknown_3005020
@@ -1244,7 +1244,7 @@ sub_807E4DC: @ 807E4DC
_0807E4F4: .4byte gUnknown_3005020
_0807E4F8: .4byte sub_807DF64
_0807E4FC: .4byte sub_807E80C
- thumb_func_end sub_807E4DC
+ thumb_func_end DoDoorWarp
thumb_func_start sub_807E500
sub_807E500: @ 807E500
@@ -1282,10 +1282,10 @@ _0807E540: .4byte sub_807DF64
_0807E544: .4byte sub_807E784
thumb_func_end sub_807E524
- thumb_func_start sp13F_fall_to_last_warp
-sp13F_fall_to_last_warp: @ 807E548
+ thumb_func_start DoFallWarp
+DoFallWarp: @ 807E548
push {lr}
- bl sp13E_warp_to_last_warp
+ bl DoDiveWarp
ldr r1, _0807E558 @ =gUnknown_3005020
ldr r0, _0807E55C @ =sub_8084454
str r0, [r1]
@@ -1294,7 +1294,7 @@ sp13F_fall_to_last_warp: @ 807E548
.align 2, 0
_0807E558: .4byte gUnknown_3005020
_0807E55C: .4byte sub_8084454
- thumb_func_end sp13F_fall_to_last_warp
+ thumb_func_end DoFallWarp
thumb_func_start sub_807E560
sub_807E560: @ 807E560
@@ -1690,7 +1690,7 @@ _0807E85C:
movs r2, 0
ldrsh r1, [r6, r2]
subs r1, 0x1
- bl sub_805B364
+ bl GetDoorSoundEffect
lsls r0, 16
lsrs r0, 16
bl PlaySE
@@ -1699,7 +1699,7 @@ _0807E85C:
movs r2, 0
ldrsh r1, [r6, r2]
subs r1, 0x1
- bl sub_805B310
+ bl FieldAnimateDoorOpen
lsls r0, 24
asrs r0, 24
strh r0, [r5, 0xA]
@@ -1760,7 +1760,7 @@ _0807E8F4:
movs r2, 0
ldrsh r1, [r6, r2]
subs r1, 0x1
- bl sub_805B2D0
+ bl FieldAnimateDoorClose
lsls r0, 24
asrs r0, 24
strh r0, [r5, 0xA]
diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s
index 308421098..14951c20c 100644
--- a/asm/field_map_obj.s
+++ b/asm/field_map_obj.s
@@ -1614,8 +1614,8 @@ _0805E9F0: .4byte 0x0000ffff
_0805E9F4: .4byte gSprites
thumb_func_end AddPseudoFieldObject
- thumb_func_start sub_805E9F8
-sub_805E9F8: @ 805E9F8
+ thumb_func_start sprite_new
+sprite_new: @ 805E9F8
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -1772,7 +1772,7 @@ _0805EB24:
_0805EB38: .4byte sub_8068FA8
_0805EB3C: .4byte 0x0000ffff
_0805EB40: .4byte gSprites
- thumb_func_end sub_805E9F8
+ thumb_func_end sprite_new
thumb_func_start sub_805EB44
sub_805EB44: @ 805EB44
diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s
index aa68c6ef2..df2588587 100644
--- a/asm/field_player_avatar.s
+++ b/asm/field_player_avatar.s
@@ -2818,7 +2818,7 @@ PartyHasMonWithSurf: @ 805C83C
_0805C84E:
adds r0, r4, 0
movs r1, 0x39
- bl pokemon_has_move
+ bl MonKnowsMove
lsls r0, 24
cmp r0, 0
beq _0805C860
diff --git a/asm/field_specials.s b/asm/field_specials.s
index a4f3e6dc7..4c0b97151 100644
--- a/asm/field_specials.s
+++ b/asm/field_specials.s
@@ -33,9 +33,9 @@ _080CA644:
movs r4, 0x8D
lsls r4, 1
adds r0, r4, 0
- bl sub_8055E78
+ bl Overworld_SetSavedMusic
adds r0, r4, 0
- bl sub_8055F48
+ bl Overworld_ChangeMusicTo
pop {r4}
pop {r0}
bx r0
@@ -3138,7 +3138,7 @@ _080CBDE4: .4byte gSpecialVar_0x8004
thumb_func_start sub_80CBDE8
sub_80CBDE8: @ 80CBDE8
- ldr r1, _080CBDF8 @ =gUnknown_3005074
+ ldr r1, _080CBDF8 @ =gSelectedEventObject
movs r0, 0
strb r0, [r1]
ldr r1, _080CBDFC @ =gUnknown_20370DA
@@ -3146,7 +3146,7 @@ sub_80CBDE8: @ 80CBDE8
strh r0, [r1]
bx lr
.align 2, 0
-_080CBDF8: .4byte gUnknown_3005074
+_080CBDF8: .4byte gSelectedEventObject
_080CBDFC: .4byte gUnknown_20370DA
thumb_func_end sub_80CBDE8
@@ -3157,7 +3157,7 @@ sub_80CBE00: @ 80CBE00
ldrh r0, [r0]
cmp r0, 0xFF
bne _080CBE44
- ldr r1, _080CBE1C @ =gUnknown_3005074
+ ldr r1, _080CBE1C @ =gSelectedEventObject
ldrb r0, [r1]
cmp r0, 0
bne _080CBE20
@@ -3165,7 +3165,7 @@ sub_80CBE00: @ 80CBE00
b _080CBE48
.align 2, 0
_080CBE18: .4byte gUnknown_20370DA
-_080CBE1C: .4byte gUnknown_3005074
+_080CBE1C: .4byte gSelectedEventObject
_080CBE20:
ldr r2, _080CBE4C @ =gMapObjects
ldrb r1, [r1]
@@ -3267,7 +3267,7 @@ TV_PrintIntToStringVar: @ 80CBED4
lsls r4, 24
lsrs r4, 24
adds r0, r5, 0
- bl sub_80CBF04
+ bl CountDigits
adds r3, r0, 0
ldr r0, _080CBF00 @ =gUnknown_83F5AF8
lsls r4, 2
@@ -3285,8 +3285,8 @@ TV_PrintIntToStringVar: @ 80CBED4
_080CBF00: .4byte gUnknown_83F5AF8
thumb_func_end TV_PrintIntToStringVar
- thumb_func_start sub_80CBF04
-sub_80CBF04: @ 80CBF04
+ thumb_func_start CountDigits
+CountDigits: @ 80CBF04
push {r4,lr}
adds r4, r0, 0
movs r1, 0xA
@@ -3366,7 +3366,7 @@ _080CBF9A:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_80CBF04
+ thumb_func_end CountDigits
thumb_func_start sub_80CBFA0
sub_80CBFA0: @ 80CBFA0
diff --git a/asm/field_weather.s b/asm/field_weather.s
index 77a138ad2..49a1ed95b 100644
--- a/asm/field_weather.s
+++ b/asm/field_weather.s
@@ -2804,8 +2804,8 @@ sav1_get_weather_probably: @ 807B130
_0807B13C: .4byte gSaveBlock1Ptr
thumb_func_end sav1_get_weather_probably
- thumb_func_start sub_807B140
-sub_807B140: @ 807B140
+ thumb_func_start SetSav1WeatherFromCurrMapHeader
+SetSav1WeatherFromCurrMapHeader: @ 807B140
push {r4,r5,lr}
ldr r4, _0807B16C @ =gSaveBlock1Ptr
ldr r0, [r4]
@@ -2828,7 +2828,7 @@ sub_807B140: @ 807B140
.align 2, 0
_0807B16C: .4byte gSaveBlock1Ptr
_0807B170: .4byte gMapHeader
- thumb_func_end sub_807B140
+ thumb_func_end SetSav1WeatherFromCurrMapHeader
thumb_func_start SetWeather
SetWeather: @ 807B174
diff --git a/asm/hall_of_fame.s b/asm/hall_of_fame.s
index 147bc65c0..43ec5eede 100644
--- a/asm/hall_of_fame.s
+++ b/asm/hall_of_fame.s
@@ -1459,8 +1459,8 @@ sub_80F2934: @ 80F2934
movs r1, 0x9
movs r3, 0xB
bl Overworld_SetWarpDestination
- bl sub_807E438
- bl sub_80559E4
+ bl DoWarp
+ bl ResetInitialPlayerAvatarState
add sp, 0x4
pop {r0}
bx r0
diff --git a/asm/help_system_812B1E0.s b/asm/help_system_812B1E0.s
index f9fb50cf7..bca296e67 100644
--- a/asm/help_system_812B1E0.s
+++ b/asm/help_system_812B1E0.s
@@ -967,7 +967,7 @@ _0812B98C: .4byte 0x00000829
_0812B990:
ldr r0, _0812B99C @ =0x00000169
movs r1, 0x1
- bl sub_8099F40
+ bl CheckBagHasItem
b _0812BAF6
.align 2, 0
_0812B99C: .4byte 0x00000169
diff --git a/asm/item.s b/asm/item.s
index aa64e54fa..800df5f82 100644
--- a/asm/item.s
+++ b/asm/item.s
@@ -149,8 +149,8 @@ _08099E88: .4byte gSaveBlock1Ptr
_08099E8C: .4byte 0x0000054c
thumb_func_end sub_8099E44
- thumb_func_start sub_8099E90
-sub_8099E90: @ 8099E90
+ thumb_func_start CopyItemName
+CopyItemName: @ 8099E90
push {r4,lr}
adds r4, r1, 0
lsls r0, 16
@@ -177,7 +177,7 @@ _08099EC4:
pop {r4}
pop {r0}
bx r0
- thumb_func_end sub_8099E90
+ thumb_func_end CopyItemName
thumb_func_start sub_8099ECC
sub_8099ECC: @ 8099ECC
@@ -252,8 +252,8 @@ _08099F3C:
bx r1
thumb_func_end sub_8099F08
- thumb_func_start sub_8099F40
-sub_8099F40: @ 8099F40
+ thumb_func_start CheckBagHasItem
+CheckBagHasItem: @ 8099F40
push {r4,r5,lr}
lsls r0, 16
lsrs r4, r0, 16
@@ -310,14 +310,14 @@ _08099FA6:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8099F40
+ thumb_func_end CheckBagHasItem
thumb_func_start sub_8099FAC
sub_8099FAC: @ 8099FAC
push {r4,lr}
ldr r0, _08099FC0 @ =0x0000016d
movs r1, 0x1
- bl sub_8099F40
+ bl CheckBagHasItem
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0
@@ -338,7 +338,7 @@ _08099FD4:
_08099FD6:
adds r0, r4, 0
movs r1, 0x1
- bl sub_8099F40
+ bl CheckBagHasItem
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0
@@ -360,8 +360,8 @@ _08099FF6:
_08099FFC: .4byte gSpecialVar_Result
thumb_func_end sub_8099FAC
- thumb_func_start sub_809A000
-sub_809A000: @ 809A000
+ thumb_func_start CheckBagHasSpace
+CheckBagHasSpace: @ 809A000
push {r4-r6,lr}
lsls r0, 16
lsrs r4, r0, 16
@@ -428,10 +428,10 @@ _0809A07C:
pop {r4-r6}
pop {r1}
bx r1
- thumb_func_end sub_809A000
+ thumb_func_end CheckBagHasSpace
- thumb_func_start sub_809A084
-sub_809A084: @ 809A084
+ thumb_func_start AddBagItem
+AddBagItem: @ 809A084
push {r4-r7,lr}
mov r7, r8
push {r7}
@@ -494,7 +494,7 @@ _0809A0F4:
lsls r4, 1
adds r0, r4, 0
movs r1, 0x1
- bl sub_8099F40
+ bl CheckBagHasItem
lsls r0, 24
cmp r0, 0
bne _0809A132
@@ -522,7 +522,7 @@ _0809A132:
ldr r4, _0809A1B0 @ =0x0000016d
adds r0, r4, 0
movs r1, 0x1
- bl sub_8099F40
+ bl CheckBagHasItem
lsls r0, 24
cmp r0, 0
bne _0809A174
@@ -595,10 +595,10 @@ _0809A1CC:
pop {r4-r7}
pop {r1}
bx r1
- thumb_func_end sub_809A084
+ thumb_func_end AddBagItem
- thumb_func_start sub_809A1D8
-sub_809A1D8: @ 809A1D8
+ thumb_func_start RemoveBagItem
+RemoveBagItem: @ 809A1D8
push {r4-r7,lr}
lsls r0, 16
lsrs r4, r0, 16
@@ -667,7 +667,7 @@ _0809A25A:
pop {r4-r7}
pop {r1}
bx r1
- thumb_func_end sub_809A1D8
+ thumb_func_end RemoveBagItem
thumb_func_start GetPocketByItemId
GetPocketByItemId: @ 809A260
@@ -832,8 +832,8 @@ _0809A35C:
_0809A370: .4byte gSaveBlock1Ptr
thumb_func_end sub_809A33C
- thumb_func_start sub_809A374
-sub_809A374: @ 809A374
+ thumb_func_start CheckPCHasItem
+CheckPCHasItem: @ 809A374
push {r4-r6,lr}
lsls r0, 16
lsrs r6, r0, 16
@@ -875,10 +875,10 @@ _0809A3C0:
pop {r4-r6}
pop {r1}
bx r1
- thumb_func_end sub_809A374
+ thumb_func_end CheckPCHasItem
- thumb_func_start sub_809A3C8
-sub_809A3C8: @ 809A3C8
+ thumb_func_start AddPCItem
+AddPCItem: @ 809A3C8
push {r4-r7,lr}
lsls r0, 16
lsrs r4, r0, 16
@@ -955,7 +955,7 @@ _0809A458:
pop {r4-r7}
pop {r1}
bx r1
- thumb_func_end sub_809A3C8
+ thumb_func_end AddPCItem
thumb_func_start sub_809A460
sub_809A460: @ 809A460
diff --git a/asm/item_menu.s b/asm/item_menu.s
index 58b74acf3..d08021d15 100644
--- a/asm/item_menu.s
+++ b/asm/item_menu.s
@@ -3237,7 +3237,7 @@ sub_810971C: @ 810971C
lsrs r0, 16
ldr r1, _081097D8 @ =gStringVar1
mov r10, r1
- bl sub_8099E90
+ bl CopyItemName
ldr r0, _081097DC @ =gStringVar4
mov r9, r0
adds r1, r6, 0
@@ -3725,7 +3725,7 @@ _08109AD4:
ldr r0, _08109BA8 @ =gSpecialVar_ItemId
ldrh r0, [r0]
ldr r1, _08109BAC @ =gStringVar1
- bl sub_8099E90
+ bl CopyItemName
ldr r6, _08109BB0 @ =gStringVar4
ldr r1, _08109BB4 @ =gUnknown_84162FF
adds r0, r6, 0
@@ -4125,7 +4125,7 @@ sub_8109EA8: @ 8109EA8
lsls r0, 16
lsrs r0, 16
ldr r1, _08109F30 @ =gStringVar1
- bl sub_8099E90
+ bl CopyItemName
ldr r0, _08109F34 @ =gStringVar2
movs r2, 0x10
ldrsh r1, [r6, r2]
@@ -4200,7 +4200,7 @@ _08109F6E:
ldr r0, _08109FF4 @ =gSpecialVar_ItemId
ldrh r0, [r0]
ldrh r1, [r7, 0x10]
- bl sub_809A1D8
+ bl RemoveBagItem
movs r0, 0x6
bl sub_810BA3C
ldrb r0, [r7]
@@ -4447,7 +4447,7 @@ sub_810A18C: @ 810A18C
ldr r0, _0810A1BC @ =gSpecialVar_ItemId
ldrh r0, [r0]
ldr r1, _0810A1C0 @ =gStringVar1
- bl sub_8099E90
+ bl CopyItemName
ldr r5, _0810A1C4 @ =gStringVar4
ldr r1, _0810A1C8 @ =gUnknown_841635E
adds r0, r5, 0
@@ -4969,7 +4969,7 @@ _0810A5B4:
bne _0810A5F8
ldrh r0, [r6]
ldr r1, _0810A5E8 @ =gStringVar1
- bl sub_8099E90
+ bl CopyItemName
ldr r4, _0810A5EC @ =gStringVar4
ldr r1, _0810A5F0 @ =gUnknown_84168F1
adds r0, r4, 0
@@ -5007,7 +5007,7 @@ _0810A610:
_0810A618:
ldrh r0, [r6]
ldr r1, _0810A644 @ =gStringVar1
- bl sub_8099E90
+ bl CopyItemName
ldr r4, _0810A648 @ =gStringVar4
ldr r1, _0810A64C @ =gUnknown_8416911
adds r0, r4, 0
@@ -5397,7 +5397,7 @@ sub_810A940: @ 810A940
ldr r0, _0810A9B8 @ =gSpecialVar_ItemId
ldrh r0, [r0]
ldr r1, _0810A9BC @ =gStringVar1
- bl sub_8099E90
+ bl CopyItemName
ldr r6, _0810A9C0 @ =gStringVar3
ldr r0, _0810A9C4 @ =gUnknown_203ACFC
ldrb r0, [r0, 0x6]
@@ -5464,7 +5464,7 @@ sub_810A9D4: @ 810A9D4
ldrh r0, [r5]
mov r2, r8
ldrh r1, [r2, 0x10]
- bl sub_809A1D8
+ bl RemoveBagItem
ldr r3, _0810AAE0 @ =gSaveBlock1Ptr
ldr r4, [r3]
movs r7, 0xA4
@@ -5744,7 +5744,7 @@ sub_810AC40: @ 810AC40
ldr r5, _0810ACD0 @ =gSpecialVar_ItemId
ldrh r0, [r5]
ldrh r1, [r7, 0x10]
- bl sub_809A3C8
+ bl AddPCItem
lsls r0, 24
lsrs r6, r0, 24
cmp r6, 0x1
@@ -5756,7 +5756,7 @@ sub_810AC40: @ 810AC40
bl sub_80A2294
ldrh r0, [r5]
ldr r1, _0810ACD8 @ =gStringVar1
- bl sub_8099E90
+ bl CopyItemName
ldr r0, _0810ACDC @ =gStringVar2
movs r2, 0x10
ldrsh r1, [r7, r2]
@@ -5839,7 +5839,7 @@ _0810AD1E:
cmp r0, 0
beq _0810AD98
movs r1, 0x1
- bl sub_8099F40
+ bl CheckBagHasItem
lsls r0, 24
lsrs r6, r0, 24
cmp r6, 0x1
@@ -6120,10 +6120,10 @@ sub_810AF74: @ 810AF74
bl sub_810ADD8
movs r0, 0xD
movs r1, 0x1
- bl sub_809A084
+ bl AddBagItem
movs r0, 0x4
movs r1, 0x1
- bl sub_809A084
+ bl AddBagItem
ldr r2, _0810AF98 @ =sub_8030AEC
movs r0, 0x6
movs r1, 0
@@ -6317,27 +6317,27 @@ sub_810B108: @ 810B108
bl sub_810ADD8
movs r0, 0xD
movs r1, 0x1
- bl sub_809A084
+ bl AddBagItem
movs r0, 0xE
movs r1, 0x1
- bl sub_809A084
+ bl AddBagItem
movs r0, 0xB7
lsls r0, 1
movs r1, 0x1
- bl sub_809A084
+ bl AddBagItem
movs r0, 0xB6
lsls r0, 1
movs r1, 0x1
- bl sub_809A084
+ bl AddBagItem
movs r0, 0x4
movs r1, 0x5
- bl sub_809A084
+ bl AddBagItem
movs r0, 0x3
movs r1, 0x1
- bl sub_809A084
+ bl AddBagItem
movs r0, 0x8
movs r1, 0x1
- bl sub_809A084
+ bl AddBagItem
cmp r4, 0x7
beq _0810B160
cmp r4, 0x8
diff --git a/asm/item_pc.s b/asm/item_pc.s
index b222b9ca2..8d36ccc81 100644
--- a/asm/item_pc.s
+++ b/asm/item_pc.s
@@ -1886,7 +1886,7 @@ sub_810E274: @ 810E274
lsls r0, 16
lsrs r0, 16
ldr r1, _0810E348 @ =gStringVar1
- bl sub_8099E90
+ bl CopyItemName
ldr r6, _0810E34C @ =gStringVar4
ldr r1, _0810E350 @ =gUnknown_84162FF
adds r0, r6, 0
@@ -2036,7 +2036,7 @@ sub_810E418: @ 810E418
lsrs r4, r0, 16
ldrh r1, [r5, 0x10]
adds r0, r4, 0
- bl sub_809A084
+ bl AddBagItem
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -2048,7 +2048,7 @@ sub_810E418: @ 810E418
bl sub_80A2294
ldr r1, _0810E4A4 @ =gStringVar1
adds r0, r4, 0
- bl sub_8099E90
+ bl CopyItemName
ldr r0, _0810E4A8 @ =gStringVar2
movs r2, 0x10
ldrsh r1, [r5, r2]
@@ -2241,7 +2241,7 @@ sub_810E5E0: @ 810E5E0
lsrs r0, 16
ldr r6, _0810E660 @ =gStringVar1
adds r1, r6, 0
- bl sub_8099E90
+ bl CopyItemName
ldr r5, _0810E664 @ =gStringVar4
ldr r1, _0810E668 @ =gUnknown_84177AC
adds r0, r5, 0
diff --git a/asm/item_use.s b/asm/item_use.s
index 558e175f2..0b6dacdd4 100644
--- a/asm/item_use.s
+++ b/asm/item_use.s
@@ -1361,7 +1361,7 @@ sub_80A1A44: @ 80A1A44
ldr r4, _080A1A84 @ =gSpecialVar_ItemId
ldrh r0, [r4]
movs r1, 0x1
- bl sub_809A1D8
+ bl RemoveBagItem
ldrh r0, [r4]
bl ItemId_GetPocket
lsls r0, 24
@@ -1374,7 +1374,7 @@ sub_80A1A44: @ 80A1A44
bl sub_81089F4
ldrh r0, [r4]
ldr r1, _080A1A88 @ =gStringVar2
- bl sub_8099E90
+ bl CopyItemName
ldr r0, _080A1A8C @ =gStringVar4
ldr r1, _080A1A90 @ =gUnknown_841658C
bl StringExpandPlaceholders
@@ -1409,7 +1409,7 @@ sub_80A1A94: @ 80A1A94
bl FlagClear
ldrh r0, [r5]
ldr r1, _080A1AE4 @ =gStringVar2
- bl sub_8099E90
+ bl CopyItemName
ldr r0, _080A1AE8 @ =gStringVar4
ldr r1, _080A1AEC @ =gUnknown_84165D2
bl StringExpandPlaceholders
@@ -1435,7 +1435,7 @@ _080A1AF4:
bl FlagClear
ldrh r0, [r5]
ldr r1, _080A1B34 @ =gStringVar2
- bl sub_8099E90
+ bl CopyItemName
ldr r0, _080A1B38 @ =gStringVar4
ldr r1, _080A1B3C @ =gUnknown_8416600
bl StringExpandPlaceholders
@@ -1597,7 +1597,7 @@ sub_80A1C44: @ 80A1C44
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- bl sub_80559E4
+ bl ResetInitialPlayerAvatarState
bl sub_8085620
adds r0, r4, 0
bl DestroyTask
@@ -1844,7 +1844,7 @@ sub_80A1E1C: @ 80A1E1C
ldr r0, _080A1E44 @ =gSpecialVar_ItemId
ldrh r0, [r0]
movs r1, 0x1
- bl sub_809A1D8
+ bl RemoveBagItem
bl sub_8108CB4
adds r0, r4, 0
bl sub_8108B50
@@ -1959,7 +1959,7 @@ sub_80A1EF4: @ 80A1EF4
bl PlaySE
adds r0, r4, 0
movs r1, 0x1
- bl sub_809A1D8
+ bl RemoveBagItem
adds r0, r4, 0
bl sub_8042DA4
adds r2, r0, 0
diff --git a/asm/link_rfu.s b/asm/link_rfu.s
index 08f81f729..1fa1aab8f 100644
--- a/asm/link_rfu.s
+++ b/asm/link_rfu.s
@@ -3259,7 +3259,7 @@ sub_80FEC54: @ 80FEC54
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl sub_805642C
+ bl is_c1_link_related_active
cmp r0, 0
bne _080FEC70
_080FEC62:
diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s
index c5947ebc0..01e93a41d 100644
--- a/asm/link_rfu_3.s
+++ b/asm/link_rfu_3.s
@@ -3366,7 +3366,7 @@ sub_8117440: @ 8117440
str r5, [sp, 0x4]
movs r0, 0
mov r3, r8
- bl saved_warp2_set_2
+ bl SetDynamicWarpWithCoords
bl warp_in
add sp, 0x8
pop {r3}
@@ -11969,7 +11969,7 @@ _0811BADA:
str r0, [sp, 0x4]
movs r0, 0x19
adds r1, r4, 0
- bl sub_805E9F8
+ bl sprite_new
ldr r1, [sp, 0x8]
adds r5, r1, r5
strb r0, [r5]
diff --git a/asm/map_obj_lock.s b/asm/map_obj_lock.s
index 1b406a74d..52c2b342c 100644
--- a/asm/map_obj_lock.s
+++ b/asm/map_obj_lock.s
@@ -101,7 +101,7 @@ _080695F6:
cmp r0, 0
bne _0806961E
ldr r2, _08069640 @ =gMapObjects
- ldr r0, _08069644 @ =gUnknown_3005074
+ ldr r0, _08069644 @ =gSelectedEventObject
ldrb r1, [r0]
lsls r0, r1, 3
adds r0, r1
@@ -133,7 +133,7 @@ _08069634:
.align 2, 0
_0806963C: .4byte gTasks
_08069640: .4byte gMapObjects
-_08069644: .4byte gUnknown_3005074
+_08069644: .4byte gSelectedEventObject
thumb_func_end sub_80695CC
thumb_func_start sub_8069648
@@ -159,7 +159,7 @@ _08069666:
thumb_func_start LockSelectedMapObject
LockSelectedMapObject: @ 806966C
push {r4,r5,lr}
- ldr r4, _080696B0 @ =gUnknown_3005074
+ ldr r4, _080696B0 @ =gSelectedEventObject
ldrb r0, [r4]
bl FreezeMapObjectsExceptOne
ldr r0, _080696B4 @ =sub_80695CC
@@ -191,7 +191,7 @@ _080696AA:
pop {r0}
bx r0
.align 2, 0
-_080696B0: .4byte gUnknown_3005074
+_080696B0: .4byte gSelectedEventObject
_080696B4: .4byte sub_80695CC
_080696B8: .4byte gMapObjects
_080696BC: .4byte gTasks
@@ -225,7 +225,7 @@ _080696EC: .4byte gMapObjects
sub_80696F0: @ 80696F0
push {r4,lr}
ldr r4, _08069738 @ =gMapObjects
- ldr r0, _0806973C @ =gUnknown_3005074
+ ldr r0, _0806973C @ =gSelectedEventObject
ldrb r1, [r0]
lsls r0, r1, 3
adds r0, r1
@@ -257,13 +257,13 @@ _0806970E:
bx r0
.align 2, 0
_08069738: .4byte gMapObjects
-_0806973C: .4byte gUnknown_3005074
+_0806973C: .4byte gSelectedEventObject
thumb_func_end sub_80696F0
thumb_func_start sub_8069740
sub_8069740: @ 8069740
push {lr}
- ldr r0, _0806975C @ =gUnknown_3005074
+ ldr r0, _0806975C @ =gSelectedEventObject
ldrb r1, [r0]
lsls r0, r1, 3
adds r0, r1
@@ -276,7 +276,7 @@ sub_8069740: @ 8069740
pop {r0}
bx r0
.align 2, 0
-_0806975C: .4byte gUnknown_3005074
+_0806975C: .4byte gSelectedEventObject
_08069760: .4byte gMapObjects
_08069764: .4byte gSpecialVar_Facing
thumb_func_end sub_8069740
@@ -284,7 +284,7 @@ _08069764: .4byte gSpecialVar_Facing
thumb_func_start sub_8069768
sub_8069768: @ 8069768
push {lr}
- ldr r0, _08069780 @ =gUnknown_3005074
+ ldr r0, _08069780 @ =gSelectedEventObject
ldrb r1, [r0]
lsls r0, r1, 3
adds r0, r1
@@ -295,7 +295,7 @@ sub_8069768: @ 8069768
pop {r0}
bx r0
.align 2, 0
-_08069780: .4byte gUnknown_3005074
+_08069780: .4byte gSelectedEventObject
_08069784: .4byte gMapObjects
thumb_func_end sub_8069768
diff --git a/asm/menu_helpers.s b/asm/menu_helpers.s
index 3a0f709da..612672b93 100644
--- a/asm/menu_helpers.s
+++ b/asm/menu_helpers.s
@@ -334,7 +334,7 @@ itemid_80BF6D8_mail_related: @ 80BF6D8
push {r4,lr}
lsls r0, 16
lsrs r4, r0, 16
- bl sub_805642C
+ bl is_c1_link_related_active
cmp r0, 0x1
beq _080BF6EE
bl InUnionRoom
@@ -360,7 +360,7 @@ _080BF702:
thumb_func_start sub_80BF708
sub_80BF708: @ 80BF708
push {lr}
- bl sub_805642C
+ bl is_c1_link_related_active
cmp r0, 0x1
beq _080BF71A
ldr r0, _080BF720 @ =gReceivedRemoteLinkPlayers
diff --git a/asm/overworld.s b/asm/overworld.s
index 5f1e198ac..071cca7e6 100644
--- a/asm/overworld.s
+++ b/asm/overworld.s
@@ -72,7 +72,7 @@ sub_8054C48: @ 8054C48
bl sub_8054C04
adds r4, r0, 0
ldr r5, _08054C6C @ =gStringVar1
- bl sub_80CBF04
+ bl CountDigits
adds r3, r0, 0
lsls r3, 24
lsrs r3, 24
@@ -118,7 +118,7 @@ _08054C9C: .4byte gUnknown_826D29E
thumb_func_start sub_8054CA0
sub_8054CA0: @ 8054CA0
push {lr}
- bl sub_80559E4
+ bl ResetInitialPlayerAvatarState
movs r0, 0x83
lsls r0, 4
bl FlagClear
@@ -157,7 +157,7 @@ _08054D04: .4byte 0x0000404d
thumb_func_start sub_8054D08
sub_8054D08: @ 8054D08
push {lr}
- bl sub_80559E4
+ bl ResetInitialPlayerAvatarState
movs r0, 0x83
lsls r0, 4
bl FlagClear
@@ -196,7 +196,7 @@ _08054D6C: .4byte 0x0000404d
thumb_func_start sub_8054D70
sub_8054D70: @ 8054D70
push {lr}
- bl sub_80559E4
+ bl ResetInitialPlayerAvatarState
movs r0, 0x83
lsls r0, 4
bl FlagClear
@@ -235,7 +235,7 @@ _08054DD4: .4byte 0x0000404d
thumb_func_start sub_8054DD8
sub_8054DD8: @ 8054DD8
push {lr}
- bl sub_80559E4
+ bl ResetInitialPlayerAvatarState
movs r0, 0x83
lsls r0, 4
bl FlagClear
@@ -1084,8 +1084,8 @@ saved_warp2_set: @ 80553E8
_08055418: .4byte gSaveBlock1Ptr
thumb_func_end saved_warp2_set
- thumb_func_start saved_warp2_set_2
-saved_warp2_set_2: @ 805541C
+ thumb_func_start SetDynamicWarpWithCoords
+SetDynamicWarpWithCoords: @ 805541C
push {r4,r5,lr}
sub sp, 0x8
ldr r4, [sp, 0x14]
@@ -1112,7 +1112,7 @@ saved_warp2_set_2: @ 805541C
bx r0
.align 2, 0
_08055450: .4byte gSaveBlock1Ptr
- thumb_func_end saved_warp2_set_2
+ thumb_func_end SetDynamicWarpWithCoords
thumb_func_start copy_saved_warp2_bank_and_enter_x_to_warp1
copy_saved_warp2_bank_and_enter_x_to_warp1: @ 8055454
@@ -1185,8 +1185,8 @@ sub_80554BC: @ 80554BC
_080554C8: .4byte gUnknown_2031DBC
thumb_func_end sub_80554BC
- thumb_func_start sub_80554CC
-sub_80554CC: @ 80554CC
+ thumb_func_start SetLastHealLocationWarp
+SetLastHealLocationWarp: @ 80554CC
push {r4,r5,lr}
sub sp, 0x8
lsls r0, 24
@@ -1218,7 +1218,7 @@ _08055500:
bx r0
.align 2, 0
_08055508: .4byte gSaveBlock1Ptr
- thumb_func_end sub_80554CC
+ thumb_func_end SetLastHealLocationWarp
thumb_func_start sub_805550C
sub_805550C: @ 805550C
@@ -1281,7 +1281,7 @@ sub_805550C: @ 805550C
lsls r4, 24
asrs r4, 24
str r4, [sp]
- bl sub_80555A0
+ bl SetEscapeWarp
_08055590:
add sp, 0x4
pop {r4-r7}
@@ -1292,8 +1292,8 @@ _08055598: .4byte gUnknown_2031DBC
_0805559C: .4byte gSaveBlock1Ptr
thumb_func_end sub_805550C
- thumb_func_start sub_80555A0
-sub_80555A0: @ 80555A0
+ thumb_func_start SetEscapeWarp
+SetEscapeWarp: @ 80555A0
push {r4-r6,lr}
sub sp, 0x8
adds r4, r0, 0
@@ -1325,7 +1325,7 @@ sub_80555A0: @ 80555A0
bx r0
.align 2, 0
_080555DC: .4byte gSaveBlock1Ptr
- thumb_func_end sub_80555A0
+ thumb_func_end SetEscapeWarp
thumb_func_start sub_80555E0
sub_80555E0: @ 80555E0
@@ -1342,8 +1342,8 @@ _080555F0: .4byte gUnknown_2031DBC
_080555F4: .4byte gSaveBlock1Ptr
thumb_func_end sub_80555E0
- thumb_func_start sub_80555F8
-sub_80555F8: @ 80555F8
+ thumb_func_start SetFixedDiveWarp
+SetFixedDiveWarp: @ 80555F8
push {r4-r6,lr}
sub sp, 0x8
adds r4, r0, 0
@@ -1373,7 +1373,7 @@ sub_80555F8: @ 80555F8
bx r0
.align 2, 0
_08055630: .4byte gUnknown_2031DC4
- thumb_func_end sub_80555F8
+ thumb_func_end SetFixedDiveWarp
thumb_func_start warp1_set_to_warp2
warp1_set_to_warp2: @ 8055634
@@ -1389,8 +1389,8 @@ _08055644: .4byte gUnknown_2031DBC
_08055648: .4byte gUnknown_2031DC4
thumb_func_end warp1_set_to_warp2
- thumb_func_start sub_805564C
-sub_805564C: @ 805564C
+ thumb_func_start SetFixedHoleWarp
+SetFixedHoleWarp: @ 805564C
push {r4-r6,lr}
sub sp, 0x8
adds r4, r0, 0
@@ -1420,10 +1420,10 @@ sub_805564C: @ 805564C
bx r0
.align 2, 0
_08055684: .4byte gUnknown_2031DCC
- thumb_func_end sub_805564C
+ thumb_func_end SetFixedHoleWarp
- thumb_func_start sub_8055688
-sub_8055688: @ 8055688
+ thumb_func_start SetWarpDestinationToFixedHoleWarp
+SetWarpDestinationToFixedHoleWarp: @ 8055688
push {r4-r6,lr}
sub sp, 0x4
lsls r0, 16
@@ -1464,7 +1464,7 @@ _080556D6:
pop {r4-r6}
pop {r0}
bx r0
- thumb_func_end sub_8055688
+ thumb_func_end SetWarpDestinationToFixedHoleWarp
thumb_func_start warp1_set_to_sav1w
warp1_set_to_sav1w: @ 80556E0
@@ -1712,7 +1712,7 @@ sub_8055864: @ 8055864
adds r0, r5, 0
adds r1, r4, 0
bl sub_810C578
- bl sub_807B140
+ bl SetSav1WeatherFromCurrMapHeader
bl sub_805610C
bl sub_8055CB8
bl sav1_reset_battle_music_maybe
@@ -1784,7 +1784,7 @@ sub_8055920: @ 8055920
lsls r1, 16
lsrs r1, 16
bl sub_810C578
- bl sub_807B140
+ bl SetSav1WeatherFromCurrMapHeader
bl sub_805610C
cmp r4, 0
beq _08055974
@@ -1817,7 +1817,7 @@ sub_80559A8: @ 80559A8
ldrb r0, [r0, 0x17]
bl is_light_level_1_2_3_5_or_6
bl TrySetMapSaveWarpStatus
- bl sub_807B140
+ bl SetSav1WeatherFromCurrMapHeader
bl sub_805610C
bl sub_8055CB8
bl sub_8110920
@@ -1830,8 +1830,8 @@ sub_80559A8: @ 80559A8
_080559E0: .4byte gMapHeader
thumb_func_end sub_80559A8
- thumb_func_start sub_80559E4
-sub_80559E4: @ 80559E4
+ thumb_func_start ResetInitialPlayerAvatarState
+ResetInitialPlayerAvatarState: @ 80559E4
ldr r0, _080559F4 @ =gUnknown_2031DD4
movs r2, 0
movs r1, 0x1
@@ -1841,7 +1841,7 @@ sub_80559E4: @ 80559E4
bx lr
.align 2, 0
_080559F4: .4byte gUnknown_2031DD4
- thumb_func_end sub_80559E4
+ thumb_func_end ResetInitialPlayerAvatarState
thumb_func_start sub_80559F8
sub_80559F8: @ 80559F8
@@ -2295,8 +2295,8 @@ sav1_get_flash_used_on_map: @ 8055D30
_08055D3C: .4byte gSaveBlock1Ptr
thumb_func_end sav1_get_flash_used_on_map
- thumb_func_start sub_8055D40
-sub_8055D40: @ 8055D40
+ thumb_func_start SetCurrentMapLayout
+SetCurrentMapLayout: @ 8055D40
push {lr}
ldr r1, _08055D54 @ =gSaveBlock1Ptr
ldr r1, [r1]
@@ -2309,7 +2309,7 @@ sub_8055D40: @ 8055D40
.align 2, 0
_08055D54: .4byte gSaveBlock1Ptr
_08055D58: .4byte gMapHeader
- thumb_func_end sub_8055D40
+ thumb_func_end SetCurrentMapLayout
thumb_func_start sub_8055D5C
sub_8055D5C: @ 8055D5C
@@ -2464,15 +2464,15 @@ _08055E6C:
_08055E74: .4byte 0x00000131
thumb_func_end sub_8055DC4
- thumb_func_start sub_8055E78
-sub_8055E78: @ 8055E78
+ thumb_func_start Overworld_SetSavedMusic
+Overworld_SetSavedMusic: @ 8055E78
ldr r1, _08055E80 @ =gSaveBlock1Ptr
ldr r1, [r1]
strh r0, [r1, 0x2C]
bx lr
.align 2, 0
_08055E80: .4byte gSaveBlock1Ptr
- thumb_func_end sub_8055E78
+ thumb_func_end Overworld_SetSavedMusic
thumb_func_start sav1_reset_battle_music_maybe
sav1_reset_battle_music_maybe: @ 8055E84
@@ -2573,8 +2573,8 @@ _08055F42:
bx r0
thumb_func_end Overworld_ChangeMusicToDefault
- thumb_func_start sub_8055F48
-sub_8055F48: @ 8055F48
+ thumb_func_start Overworld_ChangeMusicTo
+Overworld_ChangeMusicTo: @ 8055F48
push {r4,lr}
lsls r0, 16
lsrs r4, r0, 16
@@ -2590,7 +2590,7 @@ _08055F62:
pop {r4}
pop {r0}
bx r0
- thumb_func_end sub_8055F48
+ thumb_func_end Overworld_ChangeMusicTo
thumb_func_start GetMapMusicFadeoutSpeed
GetMapMusicFadeoutSpeed: @ 8055F68
@@ -3225,8 +3225,8 @@ sub_8056420: @ 8056420
bx r0
thumb_func_end sub_8056420
- thumb_func_start sub_805642C
-sub_805642C: @ 805642C
+ thumb_func_start is_c1_link_related_active
+is_c1_link_related_active: @ 805642C
push {lr}
ldr r0, _0805643C @ =gMain
ldr r1, [r0]
@@ -3243,7 +3243,7 @@ _08056444:
_08056446:
pop {r1}
bx r1
- thumb_func_end sub_805642C
+ thumb_func_end is_c1_link_related_active
thumb_func_start sub_805644C
sub_805644C: @ 805644C
@@ -3494,7 +3494,7 @@ CB2_NewGame: @ 8056644
bl StopMapMusic
bl sub_8056420
bl sub_8054A60
- bl sub_80559E4
+ bl ResetInitialPlayerAvatarState
bl PlayTimeCounter_Start
bl ScriptContext1_Init
bl ScriptContext2_Disable
@@ -3662,7 +3662,7 @@ _080567D8: .4byte sub_80565B4
thumb_func_start c2_exit_to_overworld_2_switch
c2_exit_to_overworld_2_switch: @ 80567DC
push {lr}
- bl sub_805642C
+ bl is_c1_link_related_active
cmp r0, 0x1
bne _080567F4
ldr r0, _080567F0 @ =c2_exit_to_overworld_2_link
@@ -4705,7 +4705,7 @@ mli4_mapscripts_and_other: @ 805709C
bl InitPlayerAvatar
ldrb r0, [r5]
bl SetPlayerAvatarTransitionFlags
- bl sub_80559E4
+ bl ResetInitialPlayerAvatarState
movs r0, 0
movs r1, 0
bl sub_805EC30
@@ -6144,7 +6144,7 @@ _08057C72:
bl sub_805833C
cmp r0, 0x1
bls _08057CA8
- bl sub_805642C
+ bl is_c1_link_related_active
cmp r0, 0x1
bne _08057CA8
bl sub_800A00C
@@ -6976,7 +6976,7 @@ _08058240: .4byte gUnknown_81BB9F0
thumb_func_start sub_8058244
sub_8058244: @ 8058244
push {lr}
- bl sub_805642C
+ bl is_c1_link_related_active
cmp r0, 0
bne _08058252
movs r0, 0
@@ -7009,7 +7009,7 @@ sub_8058274: @ 8058274
bl sub_800B248
cmp r0, 0x1
bls _080582D8
- bl sub_805642C
+ bl is_c1_link_related_active
cmp r0, 0x1
bne _080582D8
bl sub_800A00C
@@ -7062,7 +7062,7 @@ sub_80582E0: @ 80582E0
bl sub_805833C
cmp r0, 0x1
bls _08058304
- bl sub_805642C
+ bl is_c1_link_related_active
cmp r0, 0x1
bne _08058304
bl sub_800A00C
diff --git a/asm/party_menu.s b/asm/party_menu.s
index c4980f984..c0e4a79f4 100644
--- a/asm/party_menu.s
+++ b/asm/party_menu.s
@@ -3383,7 +3383,7 @@ _08120468:
bl GetMonNickname
ldr r1, _081204A0 @ =gStringVar2
adds r0, r4, 0
- bl sub_8099E90
+ bl CopyItemName
ldr r4, _081204A4 @ =gStringVar4
ldr r1, _081204A8 @ =gUnknown_8416C2A
adds r0, r4, 0
@@ -3424,7 +3424,7 @@ sub_81204AC: @ 81204AC
bl GetMonNickname
ldr r1, _08120500 @ =gStringVar2
adds r0, r4, 0
- bl sub_8099E90
+ bl CopyItemName
ldr r4, _08120504 @ =gStringVar4
ldr r1, _08120508 @ =gUnknown_8416CAC
adds r0, r4, 0
@@ -3458,7 +3458,7 @@ sub_812050C: @ 812050C
bl GetMonNickname
ldr r1, _0812054C @ =gStringVar2
adds r0, r4, 0
- bl sub_8099E90
+ bl CopyItemName
ldr r4, _08120550 @ =gStringVar4
ldr r1, _08120554 @ =gUnknown_8416C49
adds r0, r4, 0
@@ -3502,10 +3502,10 @@ sub_8120558: @ 8120558
bl sub_8124B60
ldr r1, _081205B8 @ =gStringVar1
adds r0, r4, 0
- bl sub_8099E90
+ bl CopyItemName
ldr r1, _081205BC @ =gStringVar2
adds r0, r5, 0
- bl sub_8099E90
+ bl CopyItemName
ldr r4, _081205C0 @ =gStringVar4
ldr r1, _081205C4 @ =gUnknown_8416CEA
adds r0, r4, 0
@@ -3582,7 +3582,7 @@ sub_8120610: @ 8120610
b _0812064E
_0812062C:
movs r1, 0x1
- bl sub_809A084
+ bl AddBagItem
lsls r0, 24
cmp r0, 0
beq _0812064C
@@ -4298,7 +4298,7 @@ _08120B86:
lsls r0, 16
lsrs r1, r0, 16
adds r0, r5, 0
- bl pokemon_has_move
+ bl MonKnowsMove
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -9943,7 +9943,7 @@ _081237CC:
beq _081237F8
ldrh r0, [r6]
movs r1, 0x1
- bl sub_809A1D8
+ bl RemoveBagItem
movs r0, 0x9
ldrsb r0, [r5, r0]
mov r1, r8
@@ -10016,7 +10016,7 @@ sub_8123824: @ 8123824
bl sub_81205C8
adds r0, r4, 0
movs r1, 0x1
- bl sub_809A1D8
+ bl RemoveBagItem
ldr r1, _0812389C @ =gTasks
lsls r0, r7, 2
adds r0, r7
@@ -10133,17 +10133,17 @@ _08123956:
ldr r5, _08123998 @ =gSpecialVar_ItemId
ldrh r0, [r5]
movs r1, 0x1
- bl sub_809A1D8
+ bl RemoveBagItem
ldr r6, _0812399C @ =gUnknown_203B0D8
ldrh r0, [r6]
movs r1, 0x1
- bl sub_809A084
+ bl AddBagItem
lsls r0, 24
cmp r0, 0
bne _081239AC
ldrh r0, [r5]
movs r1, 0x1
- bl sub_809A084
+ bl AddBagItem
ldrh r0, [r6]
bl sub_8120658
ldr r0, _081239A0 @ =gStringVar4
@@ -10330,10 +10330,10 @@ sub_8123ACC: @ 8123ACC
bl SetMonData
ldrh r0, [r4]
movs r1, 0x1
- bl sub_809A1D8
+ bl RemoveBagItem
mov r0, r8
movs r1, 0x1
- bl sub_809A084
+ bl AddBagItem
ldrb r0, [r6, 0x8]
lsls r0, 28
lsrs r0, 28
@@ -10903,7 +10903,7 @@ _08123FAA:
lsrs r4, r0, 16
adds r0, r4, 0
movs r1, 0x1
- bl sub_809A084
+ bl AddBagItem
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -12735,7 +12735,7 @@ sub_8124E48: @ 8124E48
bhi _08124EB0
adds r0, r1, 0
movs r1, 0x1
- bl sub_809A1D8
+ bl RemoveBagItem
_08124EB0:
mov r1, r8
ldr r0, [r1]
@@ -12828,7 +12828,7 @@ sub_8124EFC: @ 8124EFC
bhi _08124F7C
adds r0, r1, 0
movs r1, 0x1
- bl sub_809A1D8
+ bl RemoveBagItem
_08124F7C:
mov r1, r8
ldr r0, [r1]
@@ -13418,7 +13418,7 @@ _0812544C:
beq _0812547E
adds r0, r6, 0
movs r1, 0x1
- bl sub_809A1D8
+ bl RemoveBagItem
b _0812547E
.align 2, 0
_08125474: .4byte gUnknown_203B0C0
@@ -13963,7 +13963,7 @@ sub_8125898: @ 8125898
bl PlaySE
ldrh r0, [r6]
movs r1, 0x1
- bl sub_809A1D8
+ bl RemoveBagItem
movs r2, 0xE
ldrsh r1, [r5, r2]
adds r1, 0xD
@@ -14065,7 +14065,7 @@ _081259A0:
bl PlaySE
adds r0, r5, 0
movs r1, 0x1
- bl sub_809A1D8
+ bl RemoveBagItem
movs r0, 0
ldrsh r1, [r7, r0]
adds r1, 0xD
@@ -14185,8 +14185,8 @@ _08125ABC:
bx r1
thumb_func_end sub_8125A90
- thumb_func_start pokemon_has_move
-pokemon_has_move: @ 8125AC0
+ thumb_func_start MonKnowsMove
+MonKnowsMove: @ 8125AC0
push {r4-r6,lr}
adds r6, r0, 0
lsls r1, 16
@@ -14212,7 +14212,7 @@ _08125AE8:
pop {r4-r6}
pop {r1}
bx r1
- thumb_func_end pokemon_has_move
+ thumb_func_end MonKnowsMove
thumb_func_start sub_8125AF0
sub_8125AF0: @ 8125AF0
@@ -14406,7 +14406,7 @@ sub_8125C48: @ 8125C48
bhi _08125C84
adds r0, r4, 0
movs r1, 0x1
- bl sub_809A1D8
+ bl RemoveBagItem
_08125C84:
ldr r1, _08125CD8 @ =gStringVar1
adds r0, r5, 0
@@ -15276,7 +15276,7 @@ sub_8126350: @ 8126350
bl sub_8126440
ldrh r0, [r5]
movs r1, 0x1
- bl sub_809A1D8
+ bl RemoveBagItem
ldr r1, _08126428 @ =gStringVar1
adds r0, r4, 0
bl GetMonNickname
@@ -16117,7 +16117,7 @@ _08126AB4:
ldr r0, _08126ADC @ =gSpecialVar_ItemId
ldrh r0, [r0]
movs r1, 0x1
- bl sub_809A1D8
+ bl RemoveBagItem
_08126ABE:
ldr r1, _08126AE4 @ =gTasks
lsls r0, r4, 2
@@ -16269,7 +16269,7 @@ sub_8126BD4: @ 8126BD4
bl sub_80A2294
ldrh r0, [r5]
movs r1, 0x1
- bl sub_809A1D8
+ bl RemoveBagItem
pop {r4,r5}
pop {r0}
bx r0
@@ -16971,7 +16971,7 @@ sub_812713C: @ 812713C
bl SetMonData
ldrh r0, [r4]
movs r1, 0x1
- bl sub_809A1D8
+ bl RemoveBagItem
adds r0, r7, 0
bl sub_81273AC
ldr r0, [r6]
@@ -17117,7 +17117,7 @@ _0812728E:
ldr r6, _081272C4 @ =gUnknown_203B0D8
ldrh r0, [r6]
movs r1, 0x1
- bl sub_809A084
+ bl AddBagItem
lsls r0, 24
cmp r0, 0
bne _081272CC
@@ -17240,7 +17240,7 @@ _0812739C: .4byte gUnknown_203B0A0
_081273A0:
adds r0, r1, 0
movs r1, 0x1
- bl sub_809A1D8
+ bl RemoveBagItem
_081273A8:
pop {r0}
bx r0
@@ -17257,14 +17257,14 @@ sub_81273AC: @ 81273AC
beq _081273C8
adds r0, r1, 0
movs r1, 0x1
- bl sub_809A3C8
+ bl AddPCItem
b _081273D0
.align 2, 0
_081273C4: .4byte gUnknown_203B0A0
_081273C8:
adds r0, r1, 0
movs r1, 0x1
- bl sub_809A084
+ bl AddBagItem
_081273D0:
lsls r0, 24
lsrs r0, 24
diff --git a/asm/player_pc.s b/asm/player_pc.s
index c4eab0f30..4fea7bea1 100644
--- a/asm/player_pc.s
+++ b/asm/player_pc.s
@@ -25,7 +25,7 @@ _080EB672:
ldrh r0, [r0]
adds r1, r6
ldrh r1, [r1]
- bl sub_809A3C8
+ bl AddPCItem
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1649,7 +1649,7 @@ sub_80EC364: @ 80EC364
adds r5, r1, r0
ldrh r0, [r5, 0x20]
movs r1, 0x1
- bl sub_809A084
+ bl AddBagItem
lsls r0, 24
cmp r0, 0
bne _080EC3B4
diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s
index 37f9e9762..c40afefde 100644
--- a/asm/pokemon_storage_system.s
+++ b/asm/pokemon_storage_system.s
@@ -5151,7 +5151,7 @@ _0808E2E8:
adds r0, r1
ldrh r0, [r0]
movs r1, 0x1
- bl sub_809A084
+ bl AddBagItem
lsls r0, 24
cmp r0, 0
bne _0808E314
@@ -5504,7 +5504,7 @@ _0808E5E0:
adds r0, r1
ldrh r0, [r0]
movs r1, 0x1
- bl sub_809A084
+ bl AddBagItem
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -6643,7 +6643,7 @@ _0808EF56:
mov r0, sp
ldrh r0, [r0]
movs r1, 0x1
- bl sub_809A1D8
+ bl RemoveBagItem
_0808EF60:
add sp, 0x4
pop {r0}
diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s
index 8db247b2b..65fc2cb45 100644
--- a/asm/pokemon_summary_screen.s
+++ b/asm/pokemon_summary_screen.s
@@ -3587,7 +3587,7 @@ _08136338:
ldr r1, [r6]
ldr r2, _0813634C @ =0x00003074
adds r1, r2
- bl sub_8099E90
+ bl CopyItemName
_08136342:
add sp, 0x14
pop {r4-r7}
@@ -8431,7 +8431,7 @@ _08138B48: .4byte 0x00003208
thumb_func_start sub_8138B4C
sub_8138B4C: @ 8138B4C
push {lr}
- bl sub_805642C
+ bl is_c1_link_related_active
cmp r0, 0
bne _08138B84
bl sub_811FA20
@@ -13239,7 +13239,7 @@ _0813B16C:
_0813B190: .4byte 0x000032f4
_0813B194: .4byte 0x00003210
_0813B198:
- bl sub_805642C
+ bl is_c1_link_related_active
cmp r0, 0
bne _0813B1C4
ldr r0, _0813B1C0 @ =gReceivedRemoteLinkPlayers
diff --git a/asm/scrcmd.s b/asm/scrcmd.s
deleted file mode 100644
index e8ffcf3ab..000000000
--- a/asm/scrcmd.s
+++ /dev/null
@@ -1,5612 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8069ED0
-sub_8069ED0: @ 8069ED0
- movs r0, 0
- bx lr
- thumb_func_end sub_8069ED0
-
- thumb_func_start sub_8069ED4
-sub_8069ED4: @ 8069ED4
- movs r0, 0
- bx lr
- thumb_func_end sub_8069ED4
-
- thumb_func_start ScrCmd_end
-ScrCmd_end: @ 8069ED8
- push {lr}
- bl StopScript
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_end
-
- thumb_func_start ScrCmd_gotonative
-ScrCmd_gotonative: @ 8069EE4
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptReadWord
- adds r1, r0, 0
- adds r0, r4, 0
- bl SetupNativeScript
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_gotonative
-
- thumb_func_start sub_8069EFC
-sub_8069EFC: @ 8069EFC
- push {lr}
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 14
- ldr r1, _08069F18 @ =gSpecials
- adds r1, r0, r1
- ldr r0, _08069F1C @ =gStdScripts
- cmp r1, r0
- bcs _08069F20
- ldr r0, [r1]
- bl _call_via_r0
- b _08069F2C
- .align 2, 0
-_08069F18: .4byte gSpecials
-_08069F1C: .4byte gStdScripts
-_08069F20:
- ldr r0, _08069F34 @ =gUnknown_83A725C "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/scrcmd.c"
- ldr r2, _08069F38 @ =gUnknown_83A7290 "0"
- movs r1, 0xF1
- movs r3, 0x1
- bl AGBAssert
-_08069F2C:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08069F34: .4byte gUnknown_83A725C
-_08069F38: .4byte gUnknown_83A7290
- thumb_func_end sub_8069EFC
-
- thumb_func_start sub_8069F3C
-sub_8069F3C: @ 8069F3C
- push {r4,r5,lr}
- adds r4, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl GetVarPointer
- adds r5, r0, 0
- adds r0, r4, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 14
- ldr r1, _08069F6C @ =gSpecials
- adds r1, r0, r1
- ldr r0, _08069F70 @ =gStdScripts
- cmp r1, r0
- bcs _08069F74
- ldr r0, [r1]
- bl _call_via_r0
- strh r0, [r5]
- b _08069F80
- .align 2, 0
-_08069F6C: .4byte gSpecials
-_08069F70: .4byte gStdScripts
-_08069F74:
- ldr r0, _08069F88 @ =gUnknown_83A725C "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/scrcmd.c"
- ldr r1, _08069F8C @ =0x00000107
- ldr r2, _08069F90 @ =gUnknown_83A7290 "0"
- movs r3, 0x1
- bl AGBAssert
-_08069F80:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08069F88: .4byte gUnknown_83A725C
-_08069F8C: .4byte 0x00000107
-_08069F90: .4byte gUnknown_83A7290
- thumb_func_end sub_8069F3C
-
- thumb_func_start ScrCmd_callnative
-ScrCmd_callnative: @ 8069F94
- push {lr}
- bl ScriptReadWord
- bl _call_via_r0
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_callnative
-
- thumb_func_start sub_8069FA4
-sub_8069FA4: @ 8069FA4
- push {lr}
- bl ScriptContext1_Stop
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_8069FA4
-
- thumb_func_start ScrCmd_goto
-ScrCmd_goto: @ 8069FB0
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptReadWord
- adds r1, r0, 0
- adds r0, r4, 0
- bl ScriptJump
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_goto
-
- thumb_func_start ScrCmd_return
-ScrCmd_return: @ 8069FC8
- push {lr}
- bl ScriptReturn
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_return
-
- thumb_func_start ScrCmd_call
-ScrCmd_call: @ 8069FD4
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptReadWord
- adds r1, r0, 0
- adds r0, r4, 0
- bl ScriptCall
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_call
-
- thumb_func_start ScrCmd_goto_if
-ScrCmd_goto_if: @ 8069FEC
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, [r5, 0x8]
- ldrb r4, [r0]
- adds r0, 0x1
- str r0, [r5, 0x8]
- adds r0, r5, 0
- bl ScriptReadWord
- adds r2, r0, 0
- ldr r1, _0806A024 @ =gUnknown_83A7248
- lsls r0, r4, 1
- adds r0, r4
- ldrb r3, [r5, 0x2]
- adds r0, r3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0806A01A
- adds r0, r5, 0
- adds r1, r2, 0
- bl ScriptJump
-_0806A01A:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0806A024: .4byte gUnknown_83A7248
- thumb_func_end ScrCmd_goto_if
-
- thumb_func_start ScrCmd_call_if
-ScrCmd_call_if: @ 806A028
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, [r5, 0x8]
- ldrb r4, [r0]
- adds r0, 0x1
- str r0, [r5, 0x8]
- adds r0, r5, 0
- bl ScriptReadWord
- adds r2, r0, 0
- ldr r1, _0806A060 @ =gUnknown_83A7248
- lsls r0, r4, 1
- adds r0, r4
- ldrb r3, [r5, 0x2]
- adds r0, r3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0806A056
- adds r0, r5, 0
- adds r1, r2, 0
- bl ScriptCall
-_0806A056:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0806A060: .4byte gUnknown_83A7248
- thumb_func_end ScrCmd_call_if
-
- thumb_func_start ScrCmd_setvaddress
-ScrCmd_setvaddress: @ 806A064
- push {r4,lr}
- ldr r4, [r0, 0x8]
- subs r4, 0x1
- bl ScriptReadWord
- ldr r1, _0806A07C @ =gUnknown_20370A8
- subs r0, r4
- str r0, [r1]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806A07C: .4byte gUnknown_20370A8
- thumb_func_end ScrCmd_setvaddress
-
- thumb_func_start ScrCmd_vgoto
-ScrCmd_vgoto: @ 806A080
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptReadWord
- adds r1, r0, 0
- ldr r0, _0806A0A0 @ =gUnknown_20370A8
- ldr r0, [r0]
- subs r1, r0
- adds r0, r4, 0
- bl ScriptJump
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806A0A0: .4byte gUnknown_20370A8
- thumb_func_end ScrCmd_vgoto
-
- thumb_func_start ScrCmd_vcall
-ScrCmd_vcall: @ 806A0A4
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptReadWord
- adds r1, r0, 0
- ldr r0, _0806A0C4 @ =gUnknown_20370A8
- ldr r0, [r0]
- subs r1, r0
- adds r0, r4, 0
- bl ScriptCall
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806A0C4: .4byte gUnknown_20370A8
- thumb_func_end ScrCmd_vcall
-
- thumb_func_start ScrCmd_vgoto_if
-ScrCmd_vgoto_if: @ 806A0C8
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, [r5, 0x8]
- ldrb r4, [r0]
- adds r0, 0x1
- str r0, [r5, 0x8]
- adds r0, r5, 0
- bl ScriptReadWord
- ldr r1, _0806A104 @ =gUnknown_20370A8
- ldr r1, [r1]
- subs r2, r0, r1
- ldr r1, _0806A108 @ =gUnknown_83A7248
- lsls r0, r4, 1
- adds r0, r4
- ldrb r3, [r5, 0x2]
- adds r0, r3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0806A0FA
- adds r0, r5, 0
- adds r1, r2, 0
- bl ScriptJump
-_0806A0FA:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0806A104: .4byte gUnknown_20370A8
-_0806A108: .4byte gUnknown_83A7248
- thumb_func_end ScrCmd_vgoto_if
-
- thumb_func_start ScrCmd_vcall_if
-ScrCmd_vcall_if: @ 806A10C
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, [r5, 0x8]
- ldrb r4, [r0]
- adds r0, 0x1
- str r0, [r5, 0x8]
- adds r0, r5, 0
- bl ScriptReadWord
- ldr r1, _0806A148 @ =gUnknown_20370A8
- ldr r1, [r1]
- subs r2, r0, r1
- ldr r1, _0806A14C @ =gUnknown_83A7248
- lsls r0, r4, 1
- adds r0, r4
- ldrb r3, [r5, 0x2]
- adds r0, r3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0806A13E
- adds r0, r5, 0
- adds r1, r2, 0
- bl ScriptCall
-_0806A13E:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0806A148: .4byte gUnknown_20370A8
-_0806A14C: .4byte gUnknown_83A7248
- thumb_func_end ScrCmd_vcall_if
-
- thumb_func_start ScrCmd_gotostd
-ScrCmd_gotostd: @ 806A150
- push {lr}
- adds r2, r0, 0
- ldr r0, [r2, 0x8]
- ldrb r1, [r0]
- adds r0, 0x1
- str r0, [r2, 0x8]
- lsls r1, 2
- ldr r0, _0806A178 @ =gStdScripts
- adds r1, r0
- ldr r0, _0806A17C @ =gUnknown_8160478
- cmp r1, r0
- bcs _0806A170
- ldr r1, [r1]
- adds r0, r2, 0
- bl ScriptJump
-_0806A170:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0806A178: .4byte gStdScripts
-_0806A17C: .4byte gUnknown_8160478
- thumb_func_end ScrCmd_gotostd
-
- thumb_func_start ScrCmd_callstd
-ScrCmd_callstd: @ 806A180
- push {lr}
- adds r2, r0, 0
- ldr r0, [r2, 0x8]
- ldrb r1, [r0]
- adds r0, 0x1
- str r0, [r2, 0x8]
- lsls r1, 2
- ldr r0, _0806A1A8 @ =gStdScripts
- adds r1, r0
- ldr r0, _0806A1AC @ =gUnknown_8160478
- cmp r1, r0
- bcs _0806A1A0
- ldr r1, [r1]
- adds r0, r2, 0
- bl ScriptCall
-_0806A1A0:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0806A1A8: .4byte gStdScripts
-_0806A1AC: .4byte gUnknown_8160478
- thumb_func_end ScrCmd_callstd
-
- thumb_func_start ScrCmd_gotostd_if
-ScrCmd_gotostd_if: @ 806A1B0
- push {r4,lr}
- adds r3, r0, 0
- ldr r0, [r3, 0x8]
- ldrb r2, [r0]
- adds r0, 0x1
- str r0, [r3, 0x8]
- ldrb r4, [r0]
- adds r0, 0x1
- str r0, [r3, 0x8]
- ldr r1, _0806A1F0 @ =gUnknown_83A7248
- lsls r0, r2, 1
- adds r0, r2
- ldrb r2, [r3, 0x2]
- adds r0, r2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0806A1E8
- lsls r0, r4, 2
- ldr r1, _0806A1F4 @ =gStdScripts
- adds r1, r0, r1
- ldr r0, _0806A1F8 @ =gUnknown_8160478
- cmp r1, r0
- bcs _0806A1E8
- ldr r1, [r1]
- adds r0, r3, 0
- bl ScriptJump
-_0806A1E8:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806A1F0: .4byte gUnknown_83A7248
-_0806A1F4: .4byte gStdScripts
-_0806A1F8: .4byte gUnknown_8160478
- thumb_func_end ScrCmd_gotostd_if
-
- thumb_func_start ScrCmd_callstd_if
-ScrCmd_callstd_if: @ 806A1FC
- push {r4,lr}
- adds r3, r0, 0
- ldr r0, [r3, 0x8]
- ldrb r2, [r0]
- adds r0, 0x1
- str r0, [r3, 0x8]
- ldrb r4, [r0]
- adds r0, 0x1
- str r0, [r3, 0x8]
- ldr r1, _0806A23C @ =gUnknown_83A7248
- lsls r0, r2, 1
- adds r0, r2
- ldrb r2, [r3, 0x2]
- adds r0, r2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0806A234
- lsls r0, r4, 2
- ldr r1, _0806A240 @ =gStdScripts
- adds r1, r0, r1
- ldr r0, _0806A244 @ =gUnknown_8160478
- cmp r1, r0
- bcs _0806A234
- ldr r1, [r1]
- adds r0, r3, 0
- bl ScriptCall
-_0806A234:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806A23C: .4byte gUnknown_83A7248
-_0806A240: .4byte gStdScripts
-_0806A244: .4byte gUnknown_8160478
- thumb_func_end ScrCmd_callstd_if
-
- thumb_func_start ScrCmd_gotoram
-ScrCmd_gotoram: @ 806A248
- push {lr}
- ldr r1, _0806A258 @ =gUnknown_20370A4
- ldr r1, [r1]
- bl ScriptJump
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0806A258: .4byte gUnknown_20370A4
- thumb_func_end ScrCmd_gotoram
-
- thumb_func_start ScrCmd_killscript
-ScrCmd_killscript: @ 806A25C
- push {r4,lr}
- adds r4, r0, 0
- bl ClearRamScript
- adds r0, r4, 0
- bl StopScript
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_killscript
-
- thumb_func_start ScrCmd_setmysteryeventstatus
-ScrCmd_setmysteryeventstatus: @ 806A274
- push {lr}
- ldr r1, [r0, 0x8]
- ldrb r2, [r1]
- adds r1, 0x1
- str r1, [r0, 0x8]
- adds r0, r2, 0
- bl SetMysteryEventScriptStatus
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_setmysteryeventstatus
-
- thumb_func_start sub_806A28C
-sub_806A28C: @ 806A28C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8069E48
- adds r2, r0, 0
- cmp r2, 0
- beq _0806A2A8
- ldr r1, _0806A2B0 @ =gUnknown_20370A4
- ldr r0, [r4, 0x8]
- str r0, [r1]
- adds r0, r4, 0
- adds r1, r2, 0
- bl ScriptJump
-_0806A2A8:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806A2B0: .4byte gUnknown_20370A4
- thumb_func_end sub_806A28C
-
- thumb_func_start ScrCmd_loadword
-ScrCmd_loadword: @ 806A2B4
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, [r4, 0x8]
- ldrb r5, [r0]
- adds r0, 0x1
- str r0, [r4, 0x8]
- adds r0, r4, 0
- bl ScriptReadWord
- lsls r5, 2
- adds r4, 0x64
- adds r4, r5
- str r0, [r4]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_loadword
-
- thumb_func_start ScrCmd_loadbytefromaddr
-ScrCmd_loadbytefromaddr: @ 806A2D8
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, [r4, 0x8]
- ldrb r5, [r0]
- adds r0, 0x1
- str r0, [r4, 0x8]
- adds r0, r4, 0
- bl ScriptReadWord
- lsls r5, 2
- adds r4, 0x64
- adds r4, r5
- ldrb r0, [r0]
- str r0, [r4]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_loadbytefromaddr
-
- thumb_func_start ScrCmd_writebytetoaddr
-ScrCmd_writebytetoaddr: @ 806A2FC
- push {r4,lr}
- ldr r1, [r0, 0x8]
- ldrb r4, [r1]
- adds r1, 0x1
- str r1, [r0, 0x8]
- bl ScriptReadWord
- strb r4, [r0]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_writebytetoaddr
-
- thumb_func_start ScrCmd_loadbyte
-ScrCmd_loadbyte: @ 806A314
- ldr r1, [r0, 0x8]
- ldrb r3, [r1]
- adds r1, 0x1
- str r1, [r0, 0x8]
- lsls r3, 2
- adds r2, r0, 0
- adds r2, 0x64
- adds r2, r3
- ldrb r3, [r1]
- str r3, [r2]
- adds r1, 0x1
- str r1, [r0, 0x8]
- movs r0, 0
- bx lr
- thumb_func_end ScrCmd_loadbyte
-
- thumb_func_start ScrCmd_setptrbyte
-ScrCmd_setptrbyte: @ 806A330
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, [r4, 0x8]
- ldrb r5, [r0]
- adds r0, 0x1
- str r0, [r4, 0x8]
- adds r0, r4, 0
- bl ScriptReadWord
- lsls r5, 2
- adds r4, 0x64
- adds r4, r5
- ldr r1, [r4]
- strb r1, [r0]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_setptrbyte
-
- thumb_func_start ScrCmd_copylocal
-ScrCmd_copylocal: @ 806A354
- ldr r1, [r0, 0x8]
- ldrb r3, [r1]
- adds r1, 0x1
- str r1, [r0, 0x8]
- ldrb r2, [r1]
- adds r1, 0x1
- str r1, [r0, 0x8]
- lsls r3, 2
- adds r0, 0x64
- adds r3, r0, r3
- lsls r2, 2
- adds r0, r2
- ldr r0, [r0]
- str r0, [r3]
- movs r0, 0
- bx lr
- thumb_func_end ScrCmd_copylocal
-
- thumb_func_start ScrCmd_copybyte
-ScrCmd_copybyte: @ 806A374
- push {r4,r5,lr}
- adds r4, r0, 0
- bl ScriptReadWord
- adds r5, r0, 0
- adds r0, r4, 0
- bl ScriptReadWord
- ldrb r0, [r0]
- strb r0, [r5]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_copybyte
-
- thumb_func_start ScrCmd_setvar
-ScrCmd_setvar: @ 806A390
- push {r4,r5,lr}
- adds r5, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl GetVarPointer
- adds r4, r0, 0
- adds r0, r5, 0
- bl ScriptReadHalfword
- strh r0, [r4]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_setvar
-
- thumb_func_start ScrCmd_copyvar
-ScrCmd_copyvar: @ 806A3B4
- push {r4,r5,lr}
- adds r4, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl GetVarPointer
- adds r5, r0, 0
- adds r0, r4, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl GetVarPointer
- ldrh r0, [r0]
- strh r0, [r5]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_copyvar
-
- thumb_func_start ScrCmd_setorcopyvar
-ScrCmd_setorcopyvar: @ 806A3E0
- push {r4,r5,lr}
- adds r4, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl GetVarPointer
- adds r5, r0, 0
- adds r0, r4, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- strh r0, [r5]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_setorcopyvar
-
- thumb_func_start compare_012
-compare_012: @ 806A40C
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- cmp r0, r1
- bcs _0806A41E
- movs r0, 0
- b _0806A428
-_0806A41E:
- cmp r0, r1
- beq _0806A426
- movs r0, 0x2
- b _0806A428
-_0806A426:
- movs r0, 0x1
-_0806A428:
- pop {r1}
- bx r1
- thumb_func_end compare_012
-
- thumb_func_start ScrCmd_compare_local_to_local
-ScrCmd_compare_local_to_local: @ 806A42C
- push {r4,lr}
- adds r4, r0, 0
- ldr r2, [r4, 0x8]
- ldrb r0, [r2]
- lsls r0, 2
- adds r3, r4, 0
- adds r3, 0x64
- adds r0, r3, r0
- ldrb r0, [r0]
- adds r2, 0x1
- str r2, [r4, 0x8]
- ldrb r1, [r2]
- lsls r1, 2
- adds r3, r1
- ldrb r1, [r3]
- adds r2, 0x1
- str r2, [r4, 0x8]
- bl compare_012
- strb r0, [r4, 0x2]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_compare_local_to_local
-
- thumb_func_start ScrCmd_compare_local_to_value
-ScrCmd_compare_local_to_value: @ 806A45C
- push {r4,lr}
- adds r4, r0, 0
- ldr r2, [r4, 0x8]
- ldrb r1, [r2]
- lsls r1, 2
- adds r0, 0x64
- adds r0, r1
- ldrb r0, [r0]
- adds r2, 0x1
- str r2, [r4, 0x8]
- ldrb r1, [r2]
- adds r2, 0x1
- str r2, [r4, 0x8]
- bl compare_012
- strb r0, [r4, 0x2]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_compare_local_to_value
-
- thumb_func_start ScrCmd_compare_local_to_addr
-ScrCmd_compare_local_to_addr: @ 806A484
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r2, [r4, 0x8]
- ldrb r1, [r2]
- lsls r1, 2
- adds r0, 0x64
- adds r0, r1
- ldrb r5, [r0]
- adds r2, 0x1
- str r2, [r4, 0x8]
- adds r0, r4, 0
- bl ScriptReadWord
- ldrb r1, [r0]
- adds r0, r5, 0
- bl compare_012
- strb r0, [r4, 0x2]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_compare_local_to_addr
-
- thumb_func_start ScrCmd_compare_addr_to_local
-ScrCmd_compare_addr_to_local: @ 806A4B0
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptReadWord
- ldrb r0, [r0]
- ldr r3, [r4, 0x8]
- ldrb r2, [r3]
- lsls r2, 2
- adds r1, r4, 0
- adds r1, 0x64
- adds r1, r2
- ldrb r1, [r1]
- adds r3, 0x1
- str r3, [r4, 0x8]
- bl compare_012
- strb r0, [r4, 0x2]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_compare_addr_to_local
-
- thumb_func_start ScrCmd_compare_addr_to_value
-ScrCmd_compare_addr_to_value: @ 806A4DC
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptReadWord
- ldrb r0, [r0]
- ldr r2, [r4, 0x8]
- ldrb r1, [r2]
- adds r2, 0x1
- str r2, [r4, 0x8]
- bl compare_012
- strb r0, [r4, 0x2]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_compare_addr_to_value
-
- thumb_func_start ScrCmd_compare_addr_to_addr
-ScrCmd_compare_addr_to_addr: @ 806A4FC
- push {r4,r5,lr}
- adds r4, r0, 0
- bl ScriptReadWord
- ldrb r5, [r0]
- adds r0, r4, 0
- bl ScriptReadWord
- ldrb r1, [r0]
- adds r0, r5, 0
- bl compare_012
- strb r0, [r4, 0x2]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_compare_addr_to_addr
-
- thumb_func_start ScrCmd_compare_var_to_value
-ScrCmd_compare_var_to_value: @ 806A520
- push {r4,r5,lr}
- adds r4, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl GetVarPointer
- ldrh r5, [r0]
- adds r0, r4, 0
- bl ScriptReadHalfword
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r5, 0
- bl compare_012
- strb r0, [r4, 0x2]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_compare_var_to_value
-
- thumb_func_start ScrCmd_compare_var_to_var
-ScrCmd_compare_var_to_var: @ 806A550
- push {r4,r5,lr}
- adds r4, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl GetVarPointer
- adds r5, r0, 0
- adds r0, r4, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl GetVarPointer
- ldrh r2, [r5]
- ldrh r1, [r0]
- adds r0, r2, 0
- bl compare_012
- strb r0, [r4, 0x2]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_compare_var_to_var
-
- thumb_func_start ScrCmd_addvar
-ScrCmd_addvar: @ 806A584
- push {r4,r5,lr}
- adds r5, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl GetVarPointer
- adds r4, r0, 0
- adds r0, r5, 0
- bl ScriptReadHalfword
- ldrh r1, [r4]
- adds r0, r1
- strh r0, [r4]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_addvar
-
- thumb_func_start ScrCmd_subvar
-ScrCmd_subvar: @ 806A5AC
- push {r4,r5,lr}
- adds r4, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl GetVarPointer
- adds r5, r0, 0
- adds r0, r4, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- ldrh r1, [r5]
- subs r1, r0
- strh r1, [r5]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_subvar
-
- thumb_func_start ScrCmd_random
-ScrCmd_random: @ 806A5DC
- push {r4,r5,lr}
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r5, _0806A60C @ =gSpecialVar_Result
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r4, 0
- bl __umodsi3
- strh r0, [r5]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0806A60C: .4byte gSpecialVar_Result
- thumb_func_end ScrCmd_random
-
- thumb_func_start sub_806A610
-sub_806A610: @ 806A610
- push {r4,r5,lr}
- adds r5, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r1, r0, 0
- ldr r5, _0806A658 @ =gSpecialVar_Result
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_809A084
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5]
- adds r0, r4, 0
- bl sub_809A824
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0806A658: .4byte gSpecialVar_Result
- thumb_func_end sub_806A610
-
- thumb_func_start ScrCmd_takeitem
-ScrCmd_takeitem: @ 806A65C
- push {r4,r5,lr}
- adds r5, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r1, r0, 0
- ldr r5, _0806A69C @ =gSpecialVar_Result
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_809A1D8
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0806A69C: .4byte gSpecialVar_Result
- thumb_func_end ScrCmd_takeitem
-
- thumb_func_start sub_806A6A0
-sub_806A6A0: @ 806A6A0
- push {r4,r5,lr}
- adds r5, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r1, r0, 0
- ldr r5, _0806A6E0 @ =gSpecialVar_Result
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_809A000
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0806A6E0: .4byte gSpecialVar_Result
- thumb_func_end sub_806A6A0
-
- thumb_func_start sub_806A6E4
-sub_806A6E4: @ 806A6E4
- push {r4,r5,lr}
- adds r5, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r1, r0, 0
- ldr r5, _0806A724 @ =gSpecialVar_Result
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_8099F40
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0806A724: .4byte gSpecialVar_Result
- thumb_func_end sub_806A6E4
-
- thumb_func_start ScrCmd_checkitemtype
-ScrCmd_checkitemtype: @ 806A728
- push {r4,lr}
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _0806A750 @ =gSpecialVar_Result
- bl GetPocketByItemId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806A750: .4byte gSpecialVar_Result
- thumb_func_end ScrCmd_checkitemtype
-
- thumb_func_start ScrCmd_givepcitem
-ScrCmd_givepcitem: @ 806A754
- push {r4,r5,lr}
- adds r5, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldr r5, _0806A794 @ =gSpecialVar_Result
- adds r0, r4, 0
- bl sub_809A3C8
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0806A794: .4byte gSpecialVar_Result
- thumb_func_end ScrCmd_givepcitem
-
- thumb_func_start ScrCmd_checkpcitem
-ScrCmd_checkpcitem: @ 806A798
- push {r4,r5,lr}
- adds r5, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldr r5, _0806A7D8 @ =gSpecialVar_Result
- adds r0, r4, 0
- bl sub_809A374
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0806A7D8: .4byte gSpecialVar_Result
- thumb_func_end ScrCmd_checkpcitem
-
- thumb_func_start sub_806A7DC
-sub_806A7DC: @ 806A7DC
- push {lr}
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_806A7DC
-
- thumb_func_start sub_806A7F0
-sub_806A7F0: @ 806A7F0
- push {lr}
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_806A7F0
-
- thumb_func_start sub_806A804
-sub_806A804: @ 806A804
- push {lr}
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_806A804
-
- thumb_func_start sub_806A818
-sub_806A818: @ 806A818
- push {lr}
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_806A818
-
- thumb_func_start ScrCmd_setflag
-ScrCmd_setflag: @ 806A82C
- push {lr}
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl FlagSet
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_setflag
-
- thumb_func_start ScrCmd_clearflag
-ScrCmd_clearflag: @ 806A840
- push {lr}
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl FlagClear
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_clearflag
-
- thumb_func_start ScrCmd_checkflag
-ScrCmd_checkflag: @ 806A854
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl FlagGet
- strb r0, [r4, 0x2]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_checkflag
-
- thumb_func_start ScrCmd_incrementgamestat
-ScrCmd_incrementgamestat: @ 806A870
- push {lr}
- ldr r1, [r0, 0x8]
- ldrb r2, [r1]
- adds r1, 0x1
- str r1, [r0, 0x8]
- adds r0, r2, 0
- bl IncrementGameStat
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_incrementgamestat
-
- thumb_func_start sub_806A888
-sub_806A888: @ 806A888
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r0, [r5, 0x8]
- ldrb r4, [r0]
- adds r0, 0x1
- str r0, [r5, 0x8]
- adds r0, r5, 0
- bl ScriptReadWord
- adds r6, r0, 0
- adds r0, r4, 0
- bl GetGameStat
- cmp r0, r6
- bcs _0806A8AA
- movs r0, 0
- b _0806A8B4
-_0806A8AA:
- cmp r0, r6
- bne _0806A8B2
- movs r0, 0x1
- b _0806A8B4
-_0806A8B2:
- movs r0, 0x2
-_0806A8B4:
- strb r0, [r5, 0x2]
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_806A888
-
- thumb_func_start sub_806A8C0
-sub_806A8C0: @ 806A8C0
- push {r4,lr}
- bl ScriptReadHalfword
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r4, 0
- bl sub_8115748
- adds r0, r4, 0
- bl sub_80F85BC
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_806A8C0
-
- thumb_func_start ScrCmd_animateflash
-ScrCmd_animateflash: @ 806A8E0
- push {lr}
- ldr r1, [r0, 0x8]
- ldrb r2, [r1]
- adds r1, 0x1
- str r1, [r0, 0x8]
- adds r0, r2, 0
- bl sub_807F028
- bl ScriptContext1_Stop
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_animateflash
-
- thumb_func_start ScrCmd_setflashradius
-ScrCmd_setflashradius: @ 806A8FC
- push {lr}
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- bl Overworld_SetFlashLevel
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_setflashradius
-
- thumb_func_start sub_806A918
-sub_806A918: @ 806A918
- push {lr}
- ldr r0, _0806A92C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0806A930
- movs r0, 0
- b _0806A932
- .align 2, 0
-_0806A92C: .4byte gPaletteFade
-_0806A930:
- movs r0, 0x1
-_0806A932:
- pop {r1}
- bx r1
- thumb_func_end sub_806A918
-
- thumb_func_start ScrCmd_fadescreen
-ScrCmd_fadescreen: @ 806A938
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, [r4, 0x8]
- ldrb r0, [r1]
- adds r1, 0x1
- str r1, [r4, 0x8]
- movs r1, 0
- bl fade_screen
- ldr r1, _0806A95C @ =sub_806A918
- adds r0, r4, 0
- bl SetupNativeScript
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806A95C: .4byte sub_806A918
- thumb_func_end ScrCmd_fadescreen
-
- thumb_func_start ScrCmd_fadescreenspeed
-ScrCmd_fadescreenspeed: @ 806A960
- push {r4,lr}
- adds r4, r0, 0
- ldr r2, [r4, 0x8]
- ldrb r0, [r2]
- adds r2, 0x1
- str r2, [r4, 0x8]
- ldrb r1, [r2]
- adds r2, 0x1
- str r2, [r4, 0x8]
- lsls r1, 24
- asrs r1, 24
- bl fade_screen
- ldr r1, _0806A98C @ =sub_806A918
- adds r0, r4, 0
- bl SetupNativeScript
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806A98C: .4byte sub_806A918
- thumb_func_end ScrCmd_fadescreenspeed
-
- thumb_func_start RunPauseTimer
-RunPauseTimer: @ 806A990
- push {lr}
- ldr r1, _0806A9A4 @ =gUnknown_20370AE
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- beq _0806A9A8
- movs r0, 0
- b _0806A9AA
- .align 2, 0
-_0806A9A4: .4byte gUnknown_20370AE
-_0806A9A8:
- movs r0, 0x1
-_0806A9AA:
- pop {r1}
- bx r1
- thumb_func_end RunPauseTimer
-
- thumb_func_start ScrCmd_delay
-ScrCmd_delay: @ 806A9B0
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptReadHalfword
- ldr r1, _0806A9CC @ =gUnknown_20370AE
- strh r0, [r1]
- ldr r1, _0806A9D0 @ =RunPauseTimer
- adds r0, r4, 0
- bl SetupNativeScript
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806A9CC: .4byte gUnknown_20370AE
-_0806A9D0: .4byte RunPauseTimer
- thumb_func_end ScrCmd_delay
-
- thumb_func_start sub_806A9D4
-sub_806A9D4: @ 806A9D4
- movs r0, 0
- bx lr
- thumb_func_end sub_806A9D4
-
- thumb_func_start sub_806A9D8
-sub_806A9D8: @ 806A9D8
- movs r0, 0
- bx lr
- thumb_func_end sub_806A9D8
-
- thumb_func_start sub_806A9DC
-sub_806A9DC: @ 806A9DC
- ldr r0, _0806A9F0 @ =gSpecialVar_0x8000
- movs r1, 0
- strh r1, [r0]
- ldr r0, _0806A9F4 @ =gSpecialVar_0x8001
- strh r1, [r0]
- ldr r0, _0806A9F8 @ =gSpecialVar_0x8002
- strh r1, [r0]
- movs r0, 0
- bx lr
- .align 2, 0
-_0806A9F0: .4byte gSpecialVar_0x8000
-_0806A9F4: .4byte gSpecialVar_0x8001
-_0806A9F8: .4byte gSpecialVar_0x8002
- thumb_func_end sub_806A9DC
-
- thumb_func_start ScrCmd_setweather
-ScrCmd_setweather: @ 806A9FC
- push {lr}
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- bl SetSav1Weather
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_setweather
-
- thumb_func_start ScrCmd_resetweather
-ScrCmd_resetweather: @ 806AA18
- push {lr}
- bl sub_807B140
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_resetweather
-
- thumb_func_start ScrCmd_doweather
-ScrCmd_doweather: @ 806AA24
- push {lr}
- bl DoCurrentWeather
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_doweather
-
- thumb_func_start ScrCmd_setstepcallback
-ScrCmd_setstepcallback: @ 806AA30
- push {lr}
- ldr r1, [r0, 0x8]
- ldrb r2, [r1]
- adds r1, 0x1
- str r1, [r0, 0x8]
- adds r0, r2, 0
- bl ActivatePerStepCallback
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_setstepcallback
-
- thumb_func_start ScrCmd_setmaplayoutindex
-ScrCmd_setmaplayoutindex: @ 806AA48
- push {lr}
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- bl sub_8055D40
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_setmaplayoutindex
-
- thumb_func_start ScrCmd_warp
-ScrCmd_warp: @ 806AA64
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- adds r5, r0, 0
- ldr r0, [r5, 0x8]
- ldrb r1, [r0]
- mov r9, r1
- adds r0, 0x1
- str r0, [r5, 0x8]
- ldrb r1, [r0]
- mov r8, r1
- adds r1, r0, 0x1
- str r1, [r5, 0x8]
- ldrb r6, [r0, 0x1]
- adds r1, 0x1
- str r1, [r5, 0x8]
- adds r0, r5, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- mov r1, r9
- lsls r1, 24
- asrs r1, 24
- mov r9, r1
- mov r1, r8
- lsls r1, 24
- asrs r1, 24
- mov r8, r1
- lsls r6, 24
- asrs r6, 24
- lsls r4, 24
- asrs r4, 24
- lsls r0, 24
- asrs r0, 24
- str r0, [sp]
- mov r0, r9
- adds r2, r6, 0
- adds r3, r4, 0
- bl Overworld_SetWarpDestination
- bl sub_807E438
- bl sub_80559E4
- movs r0, 0x1
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_warp
-
- thumb_func_start ScrCmd_warpsilent
-ScrCmd_warpsilent: @ 806AAEC
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- adds r5, r0, 0
- ldr r0, [r5, 0x8]
- ldrb r1, [r0]
- mov r9, r1
- adds r0, 0x1
- str r0, [r5, 0x8]
- ldrb r1, [r0]
- mov r8, r1
- adds r1, r0, 0x1
- str r1, [r5, 0x8]
- ldrb r6, [r0, 0x1]
- adds r1, 0x1
- str r1, [r5, 0x8]
- adds r0, r5, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- mov r1, r9
- lsls r1, 24
- asrs r1, 24
- mov r9, r1
- mov r1, r8
- lsls r1, 24
- asrs r1, 24
- mov r8, r1
- lsls r6, 24
- asrs r6, 24
- lsls r4, 24
- asrs r4, 24
- lsls r0, 24
- asrs r0, 24
- str r0, [sp]
- mov r0, r9
- adds r2, r6, 0
- adds r3, r4, 0
- bl Overworld_SetWarpDestination
- bl sp13E_warp_to_last_warp
- bl sub_80559E4
- movs r0, 0x1
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_warpsilent
-
- thumb_func_start ScrCmd_warpdoor
-ScrCmd_warpdoor: @ 806AB74
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- adds r5, r0, 0
- ldr r0, [r5, 0x8]
- ldrb r1, [r0]
- mov r9, r1
- adds r0, 0x1
- str r0, [r5, 0x8]
- ldrb r1, [r0]
- mov r8, r1
- adds r1, r0, 0x1
- str r1, [r5, 0x8]
- ldrb r6, [r0, 0x1]
- adds r1, 0x1
- str r1, [r5, 0x8]
- adds r0, r5, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- mov r1, r9
- lsls r1, 24
- asrs r1, 24
- mov r9, r1
- mov r1, r8
- lsls r1, 24
- asrs r1, 24
- mov r8, r1
- lsls r6, 24
- asrs r6, 24
- lsls r4, 24
- asrs r4, 24
- lsls r0, 24
- asrs r0, 24
- str r0, [sp]
- mov r0, r9
- adds r2, r6, 0
- adds r3, r4, 0
- bl Overworld_SetWarpDestination
- bl sub_807E4DC
- bl sub_80559E4
- movs r0, 0x1
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_warpdoor
-
- thumb_func_start ScrCmd_warphole
-ScrCmd_warphole: @ 806ABFC
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r1, [r0, 0x8]
- ldrb r6, [r1]
- adds r1, 0x1
- str r1, [r0, 0x8]
- ldrb r5, [r1]
- adds r1, 0x1
- str r1, [r0, 0x8]
- mov r4, sp
- adds r4, 0x6
- add r0, sp, 0x4
- adds r1, r4, 0
- bl PlayerGetDestCoords
- cmp r6, 0xFF
- bne _0806AC3A
- cmp r5, 0xFF
- bne _0806AC3A
- add r0, sp, 0x4
- ldrh r0, [r0]
- subs r0, 0x7
- lsls r0, 16
- asrs r0, 16
- ldrh r1, [r4]
- subs r1, 0x7
- lsls r1, 16
- asrs r1, 16
- bl sub_8055688
- b _0806AC5E
-_0806AC3A:
- lsls r0, r6, 24
- asrs r0, 24
- lsls r1, r5, 24
- asrs r1, 24
- movs r2, 0x1
- negs r2, r2
- add r3, sp, 0x4
- ldrb r3, [r3]
- subs r3, 0x7
- lsls r3, 24
- asrs r3, 24
- ldrb r4, [r4]
- subs r4, 0x7
- lsls r4, 24
- asrs r4, 24
- str r4, [sp]
- bl Overworld_SetWarpDestination
-_0806AC5E:
- bl sp13F_fall_to_last_warp
- bl sub_80559E4
- movs r0, 0x1
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_warphole
-
- thumb_func_start sub_806AC70
-sub_806AC70: @ 806AC70
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- adds r5, r0, 0
- ldr r0, [r5, 0x8]
- ldrb r1, [r0]
- mov r9, r1
- adds r0, 0x1
- str r0, [r5, 0x8]
- ldrb r1, [r0]
- mov r8, r1
- adds r1, r0, 0x1
- str r1, [r5, 0x8]
- ldrb r6, [r0, 0x1]
- adds r1, 0x1
- str r1, [r5, 0x8]
- adds r0, r5, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- mov r1, r9
- lsls r1, 24
- asrs r1, 24
- mov r9, r1
- mov r1, r8
- lsls r1, 24
- asrs r1, 24
- mov r8, r1
- lsls r6, 24
- asrs r6, 24
- lsls r4, 24
- asrs r4, 24
- lsls r0, 24
- asrs r0, 24
- str r0, [sp]
- mov r0, r9
- adds r2, r6, 0
- adds r3, r4, 0
- bl Overworld_SetWarpDestination
- bl sub_807E59C
- bl sub_80559E4
- movs r0, 0x1
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_806AC70
-
- thumb_func_start sub_806ACF8
-sub_806ACF8: @ 806ACF8
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- adds r5, r0, 0
- ldr r0, [r5, 0x8]
- ldrb r1, [r0]
- mov r9, r1
- adds r0, 0x1
- str r0, [r5, 0x8]
- ldrb r1, [r0]
- mov r8, r1
- adds r1, r0, 0x1
- str r1, [r5, 0x8]
- ldrb r6, [r0, 0x1]
- adds r1, 0x1
- str r1, [r5, 0x8]
- adds r0, r5, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- mov r1, r9
- lsls r1, 24
- asrs r1, 24
- mov r9, r1
- mov r1, r8
- lsls r1, 24
- asrs r1, 24
- mov r8, r1
- lsls r6, 24
- asrs r6, 24
- lsls r4, 24
- asrs r4, 24
- lsls r0, 24
- asrs r0, 24
- str r0, [sp]
- mov r0, r9
- adds r2, r6, 0
- adds r3, r4, 0
- bl Overworld_SetWarpDestination
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r0, 24
- bl sub_805DAE4
- bl sub_807E500
- bl sub_80559E4
- movs r0, 0x1
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_806ACF8
-
- thumb_func_start ScrCmd_setwarp
-ScrCmd_setwarp: @ 806AD8C
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- adds r5, r0, 0
- ldr r0, [r5, 0x8]
- ldrb r1, [r0]
- mov r9, r1
- adds r0, 0x1
- str r0, [r5, 0x8]
- ldrb r1, [r0]
- mov r8, r1
- adds r1, r0, 0x1
- str r1, [r5, 0x8]
- ldrb r6, [r0, 0x1]
- adds r1, 0x1
- str r1, [r5, 0x8]
- adds r0, r5, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- mov r1, r9
- lsls r1, 24
- asrs r1, 24
- mov r9, r1
- mov r1, r8
- lsls r1, 24
- asrs r1, 24
- mov r8, r1
- lsls r6, 24
- asrs r6, 24
- lsls r4, 24
- asrs r4, 24
- lsls r0, 24
- asrs r0, 24
- str r0, [sp]
- mov r0, r9
- adds r2, r6, 0
- adds r3, r4, 0
- bl Overworld_SetWarpDestination
- movs r0, 0
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_setwarp
-
- thumb_func_start ScrCmd_setdynamicwarp
-ScrCmd_setdynamicwarp: @ 806AE0C
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x8
- adds r5, r0, 0
- ldr r0, [r5, 0x8]
- ldrb r1, [r0]
- mov r9, r1
- adds r0, 0x1
- str r0, [r5, 0x8]
- ldrb r1, [r0]
- mov r8, r1
- adds r1, r0, 0x1
- str r1, [r5, 0x8]
- ldrb r6, [r0, 0x1]
- adds r1, 0x1
- str r1, [r5, 0x8]
- adds r0, r5, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- mov r1, r9
- lsls r1, 24
- asrs r1, 24
- mov r9, r1
- mov r1, r8
- lsls r1, 24
- asrs r1, 24
- mov r8, r1
- lsls r6, 24
- asrs r6, 24
- lsls r4, 24
- asrs r4, 24
- str r4, [sp]
- lsls r0, 24
- asrs r0, 24
- str r0, [sp, 0x4]
- movs r0, 0
- mov r1, r9
- mov r2, r8
- adds r3, r6, 0
- bl saved_warp2_set_2
- movs r0, 0
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_setdynamicwarp
-
- thumb_func_start sub_806AE90
-sub_806AE90: @ 806AE90
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- adds r5, r0, 0
- ldr r0, [r5, 0x8]
- ldrb r1, [r0]
- mov r9, r1
- adds r0, 0x1
- str r0, [r5, 0x8]
- ldrb r1, [r0]
- mov r8, r1
- adds r1, r0, 0x1
- str r1, [r5, 0x8]
- ldrb r6, [r0, 0x1]
- adds r1, 0x1
- str r1, [r5, 0x8]
- adds r0, r5, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- mov r1, r9
- lsls r1, 24
- asrs r1, 24
- mov r9, r1
- mov r1, r8
- lsls r1, 24
- asrs r1, 24
- mov r8, r1
- lsls r6, 24
- asrs r6, 24
- lsls r4, 24
- asrs r4, 24
- lsls r0, 24
- asrs r0, 24
- str r0, [sp]
- mov r0, r9
- adds r2, r6, 0
- adds r3, r4, 0
- bl sub_80555F8
- movs r0, 0
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_806AE90
-
- thumb_func_start sub_806AF10
-sub_806AF10: @ 806AF10
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- adds r5, r0, 0
- ldr r0, [r5, 0x8]
- ldrb r1, [r0]
- mov r9, r1
- adds r0, 0x1
- str r0, [r5, 0x8]
- ldrb r1, [r0]
- mov r8, r1
- adds r1, r0, 0x1
- str r1, [r5, 0x8]
- ldrb r6, [r0, 0x1]
- adds r1, 0x1
- str r1, [r5, 0x8]
- adds r0, r5, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- mov r1, r9
- lsls r1, 24
- asrs r1, 24
- mov r9, r1
- mov r1, r8
- lsls r1, 24
- asrs r1, 24
- mov r8, r1
- lsls r6, 24
- asrs r6, 24
- lsls r4, 24
- asrs r4, 24
- lsls r0, 24
- asrs r0, 24
- str r0, [sp]
- mov r0, r9
- adds r2, r6, 0
- adds r3, r4, 0
- bl sub_805564C
- movs r0, 0
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_806AF10
-
- thumb_func_start ScrCmd_setescapewarp
-ScrCmd_setescapewarp: @ 806AF90
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- adds r5, r0, 0
- ldr r0, [r5, 0x8]
- ldrb r1, [r0]
- mov r9, r1
- adds r0, 0x1
- str r0, [r5, 0x8]
- ldrb r1, [r0]
- mov r8, r1
- adds r1, r0, 0x1
- str r1, [r5, 0x8]
- ldrb r6, [r0, 0x1]
- adds r1, 0x1
- str r1, [r5, 0x8]
- adds r0, r5, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- mov r1, r9
- lsls r1, 24
- asrs r1, 24
- mov r9, r1
- mov r1, r8
- lsls r1, 24
- asrs r1, 24
- mov r8, r1
- lsls r6, 24
- asrs r6, 24
- lsls r4, 24
- asrs r4, 24
- lsls r0, 24
- asrs r0, 24
- str r0, [sp]
- mov r0, r9
- adds r2, r6, 0
- adds r3, r4, 0
- bl sub_80555A0
- movs r0, 0
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_setescapewarp
-
- thumb_func_start ScrCmd_getplayerxy
-ScrCmd_getplayerxy: @ 806B010
- push {r4,r5,lr}
- adds r4, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl GetVarPointer
- adds r5, r0, 0
- adds r0, r4, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl GetVarPointer
- ldr r2, _0806B048 @ =gSaveBlock1Ptr
- ldr r1, [r2]
- ldrh r1, [r1]
- strh r1, [r5]
- ldr r1, [r2]
- ldrh r1, [r1, 0x2]
- strh r1, [r0]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0806B048: .4byte gSaveBlock1Ptr
- thumb_func_end ScrCmd_getplayerxy
-
- thumb_func_start ScrCmd_getpartysize
-ScrCmd_getpartysize: @ 806B04C
- push {r4,lr}
- ldr r4, _0806B064 @ =gSpecialVar_Result
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806B064: .4byte gSpecialVar_Result
- thumb_func_end ScrCmd_getpartysize
-
- thumb_func_start ScrCmd_playse
-ScrCmd_playse: @ 806B068
- push {lr}
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl PlaySE
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_playse
-
- thumb_func_start WaitForSoundEffectFinish
-WaitForSoundEffectFinish: @ 806B07C
- push {lr}
- bl IsSEPlaying
- lsls r0, 24
- cmp r0, 0
- beq _0806B08C
- movs r0, 0
- b _0806B08E
-_0806B08C:
- movs r0, 0x1
-_0806B08E:
- pop {r1}
- bx r1
- thumb_func_end WaitForSoundEffectFinish
-
- thumb_func_start sub_806B094
-sub_806B094: @ 806B094
- push {lr}
- ldr r1, _0806B0A4 @ =WaitForSoundEffectFinish
- bl SetupNativeScript
- movs r0, 0x1
- pop {r1}
- bx r1
- .align 2, 0
-_0806B0A4: .4byte WaitForSoundEffectFinish
- thumb_func_end sub_806B094
-
- thumb_func_start ScrCmd_playfanfare
-ScrCmd_playfanfare: @ 806B0A8
- push {lr}
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl PlayFanfare
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_playfanfare
-
- thumb_func_start WaitForFanfareFinish
-WaitForFanfareFinish: @ 806B0BC
- push {lr}
- bl IsFanfareTaskInactive
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end WaitForFanfareFinish
-
- thumb_func_start sub_806B0CC
-sub_806B0CC: @ 806B0CC
- push {lr}
- ldr r1, _0806B0DC @ =WaitForFanfareFinish
- bl SetupNativeScript
- movs r0, 0x1
- pop {r1}
- bx r1
- .align 2, 0
-_0806B0DC: .4byte WaitForFanfareFinish
- thumb_func_end sub_806B0CC
-
- thumb_func_start sub_806B0E0
-sub_806B0E0: @ 806B0E0
- push {r4,r5,lr}
- adds r4, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r1, r0, 16
- adds r5, r1, 0
- ldr r0, [r4, 0x8]
- ldrb r2, [r0]
- adds r0, 0x1
- str r0, [r4, 0x8]
- ldr r0, _0806B11C @ =gUnknown_203ADFA
- ldrb r0, [r0]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _0806B114
- cmp r2, 0x1
- bne _0806B10E
- adds r0, r1, 0
- bl sub_8055E78
-_0806B10E:
- adds r0, r5, 0
- bl PlayNewMapMusic
-_0806B114:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0806B11C: .4byte gUnknown_203ADFA
- thumb_func_end sub_806B0E0
-
- thumb_func_start sub_806B120
-sub_806B120: @ 806B120
- push {lr}
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl sub_8055E78
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_806B120
-
- thumb_func_start sub_806B134
-sub_806B134: @ 806B134
- push {lr}
- ldr r0, _0806B150 @ =gUnknown_203ADFA
- ldrb r0, [r0]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _0806B148
- bl Overworld_ChangeMusicToDefault
-_0806B148:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0806B150: .4byte gUnknown_203ADFA
- thumb_func_end sub_806B134
-
- thumb_func_start sub_806B154
-sub_806B154: @ 806B154
- push {lr}
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, _0806B178 @ =gUnknown_203ADFA
- ldrb r0, [r0]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _0806B172
- adds r0, r1, 0
- bl sub_8055F48
-_0806B172:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0806B178: .4byte gUnknown_203ADFA
- thumb_func_end sub_806B154
-
- thumb_func_start sub_806B17C
-sub_806B17C: @ 806B17C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, [r4, 0x8]
- ldrb r1, [r0]
- adds r0, 0x1
- str r0, [r4, 0x8]
- ldr r0, _0806B19C @ =gUnknown_203ADFA
- ldrb r0, [r0]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _0806B1A0
- movs r0, 0
- b _0806B1BE
- .align 2, 0
-_0806B19C: .4byte gUnknown_203ADFA
-_0806B1A0:
- cmp r1, 0
- beq _0806B1AE
- lsls r0, r1, 26
- lsrs r0, 24
- bl FadeOutBGMTemporarily
- b _0806B1B4
-_0806B1AE:
- movs r0, 0x4
- bl FadeOutBGMTemporarily
-_0806B1B4:
- ldr r1, _0806B1C4 @ =IsBGMPausedOrStopped
- adds r0, r4, 0
- bl SetupNativeScript
- movs r0, 0x1
-_0806B1BE:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806B1C4: .4byte IsBGMPausedOrStopped
- thumb_func_end sub_806B17C
-
- thumb_func_start sub_806B1C8
-sub_806B1C8: @ 806B1C8
- push {lr}
- ldr r1, [r0, 0x8]
- ldrb r2, [r1]
- adds r1, 0x1
- str r1, [r0, 0x8]
- ldr r0, _0806B1F0 @ =gUnknown_203ADFA
- ldrb r0, [r0]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _0806B1FA
- cmp r2, 0
- beq _0806B1F4
- lsls r0, r2, 26
- lsrs r0, 24
- bl FadeInBGM
- b _0806B1FA
- .align 2, 0
-_0806B1F0: .4byte gUnknown_203ADFA
-_0806B1F4:
- movs r0, 0x4
- bl FadeInBGM
-_0806B1FA:
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_806B1C8
-
- thumb_func_start ScrCmd_applymovement
-ScrCmd_applymovement: @ 806B200
- push {r4,r5,lr}
- adds r5, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- bl ScriptReadWord
- adds r3, r0, 0
- lsls r0, r4, 24
- lsrs r0, 24
- ldr r1, _0806B23C @ =gSaveBlock1Ptr
- ldr r2, [r1]
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- bl ScriptMovement_StartObjectMovementScript
- ldr r0, _0806B240 @ =gUnknown_20370B0
- strh r4, [r0]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0806B23C: .4byte gSaveBlock1Ptr
-_0806B240: .4byte gUnknown_20370B0
- thumb_func_end ScrCmd_applymovement
-
- thumb_func_start ScrCmd_applymovement_at
-ScrCmd_applymovement_at: @ 806B244
- push {r4,r5,lr}
- adds r5, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- bl ScriptReadWord
- adds r3, r0, 0
- ldr r0, [r5, 0x8]
- ldrb r2, [r0]
- adds r0, 0x1
- str r0, [r5, 0x8]
- ldrb r1, [r0]
- adds r0, 0x1
- str r0, [r5, 0x8]
- lsls r0, r4, 24
- lsrs r0, 24
- bl ScriptMovement_StartObjectMovementScript
- ldr r0, _0806B284 @ =gUnknown_20370B0
- strh r4, [r0]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0806B284: .4byte gUnknown_20370B0
- thumb_func_end ScrCmd_applymovement_at
-
- thumb_func_start WaitForMovementFinish
-WaitForMovementFinish: @ 806B288
- push {lr}
- ldr r0, _0806B2A4 @ =gUnknown_20370B0
- ldrb r0, [r0]
- ldr r1, _0806B2A8 @ =gUnknown_20370B4
- ldrb r1, [r1]
- ldr r2, _0806B2AC @ =gUnknown_20370B2
- ldrb r2, [r2]
- bl ScriptMovement_IsObjectMovementFinished
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_0806B2A4: .4byte gUnknown_20370B0
-_0806B2A8: .4byte gUnknown_20370B4
-_0806B2AC: .4byte gUnknown_20370B2
- thumb_func_end WaitForMovementFinish
-
- thumb_func_start ScrCmd_waitmovement
-ScrCmd_waitmovement: @ 806B2B0
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _0806B2CC
- ldr r0, _0806B2F0 @ =gUnknown_20370B0
- strh r1, [r0]
-_0806B2CC:
- ldr r1, _0806B2F4 @ =gUnknown_20370B2
- ldr r0, _0806B2F8 @ =gSaveBlock1Ptr
- ldr r2, [r0]
- movs r0, 0x4
- ldrsb r0, [r2, r0]
- strh r0, [r1]
- ldr r1, _0806B2FC @ =gUnknown_20370B4
- movs r0, 0x5
- ldrsb r0, [r2, r0]
- strh r0, [r1]
- ldr r1, _0806B300 @ =WaitForMovementFinish
- adds r0, r4, 0
- bl SetupNativeScript
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806B2F0: .4byte gUnknown_20370B0
-_0806B2F4: .4byte gUnknown_20370B2
-_0806B2F8: .4byte gSaveBlock1Ptr
-_0806B2FC: .4byte gUnknown_20370B4
-_0806B300: .4byte WaitForMovementFinish
- thumb_func_end ScrCmd_waitmovement
-
- thumb_func_start ScrCmd_waitmovement_at
-ScrCmd_waitmovement_at: @ 806B304
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _0806B320
- ldr r0, _0806B348 @ =gUnknown_20370B0
- strh r1, [r0]
-_0806B320:
- ldr r0, [r4, 0x8]
- ldrb r2, [r0]
- adds r0, 0x1
- str r0, [r4, 0x8]
- ldrb r1, [r0]
- adds r0, 0x1
- str r0, [r4, 0x8]
- ldr r0, _0806B34C @ =gUnknown_20370B2
- strh r2, [r0]
- ldr r0, _0806B350 @ =gUnknown_20370B4
- strh r1, [r0]
- ldr r1, _0806B354 @ =WaitForMovementFinish
- adds r0, r4, 0
- bl SetupNativeScript
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806B348: .4byte gUnknown_20370B0
-_0806B34C: .4byte gUnknown_20370B2
-_0806B350: .4byte gUnknown_20370B4
-_0806B354: .4byte WaitForMovementFinish
- thumb_func_end ScrCmd_waitmovement_at
-
- thumb_func_start ScrCmd_removeobject
-ScrCmd_removeobject: @ 806B358
- push {lr}
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0806B37C @ =gSaveBlock1Ptr
- ldr r2, [r1]
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- bl RemoveFieldObjectByLocalIdAndMap
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0806B37C: .4byte gSaveBlock1Ptr
- thumb_func_end ScrCmd_removeobject
-
- thumb_func_start ScrCmd_removeobject_at
-ScrCmd_removeobject_at: @ 806B380
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- ldr r3, [r4, 0x8]
- ldrb r2, [r3]
- adds r3, 0x1
- str r3, [r4, 0x8]
- ldrb r1, [r3]
- adds r3, 0x1
- str r3, [r4, 0x8]
- lsls r0, 24
- lsrs r0, 24
- bl RemoveFieldObjectByLocalIdAndMap
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_removeobject_at
-
- thumb_func_start ScrCmd_addobject
-ScrCmd_addobject: @ 806B3B0
- push {lr}
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0806B3D4 @ =gSaveBlock1Ptr
- ldr r2, [r1]
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- bl show_sprite
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0806B3D4: .4byte gSaveBlock1Ptr
- thumb_func_end ScrCmd_addobject
-
- thumb_func_start ScrCmd_addobject_at
-ScrCmd_addobject_at: @ 806B3D8
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- ldr r3, [r4, 0x8]
- ldrb r2, [r3]
- adds r3, 0x1
- str r3, [r4, 0x8]
- ldrb r1, [r3]
- adds r3, 0x1
- str r3, [r4, 0x8]
- lsls r0, 24
- lsrs r0, 24
- bl show_sprite
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_addobject_at
-
- thumb_func_start ScrCmd_setobjectxy
-ScrCmd_setobjectxy: @ 806B408
- push {r4-r6,lr}
- sub sp, 0x4
- adds r6, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r6, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r6, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- lsls r5, 24
- lsrs r5, 24
- ldr r1, _0806B46C @ =gSaveBlock1Ptr
- ldr r2, [r1]
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- lsls r4, 16
- asrs r4, 16
- lsls r0, 16
- asrs r0, 16
- str r0, [sp]
- adds r0, r5, 0
- adds r3, r4, 0
- bl sub_805F7C4
- movs r0, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0806B46C: .4byte gSaveBlock1Ptr
- thumb_func_end ScrCmd_setobjectxy
-
- thumb_func_start ScrCmd_setobjectxyperm
-ScrCmd_setobjectxyperm: @ 806B470
- push {r4-r6,lr}
- adds r6, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r6, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r6, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r2, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, 16
- asrs r4, 16
- lsls r2, 16
- asrs r2, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl Overworld_SetMapObjTemplateCoords
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_setobjectxyperm
-
- thumb_func_start ScrCmd_moveobjectoffscreen
-ScrCmd_moveobjectoffscreen: @ 806B4C8
- push {lr}
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0806B4EC @ =gSaveBlock1Ptr
- ldr r2, [r1]
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- bl sub_805FE94
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0806B4EC: .4byte gSaveBlock1Ptr
- thumb_func_end ScrCmd_moveobjectoffscreen
-
- thumb_func_start ScrCmd_showobject_at
-ScrCmd_showobject_at: @ 806B4F0
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- ldr r3, [r4, 0x8]
- ldrb r2, [r3]
- adds r3, 0x1
- str r3, [r4, 0x8]
- ldrb r1, [r3]
- adds r3, 0x1
- str r3, [r4, 0x8]
- lsls r0, 24
- lsrs r0, 24
- movs r3, 0
- bl npc_by_local_id_and_map_set_field_1_bit_x20
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_showobject_at
-
- thumb_func_start ScrCmd_hideobject_at
-ScrCmd_hideobject_at: @ 806B520
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- ldr r3, [r4, 0x8]
- ldrb r2, [r3]
- adds r3, 0x1
- str r3, [r4, 0x8]
- ldrb r1, [r3]
- adds r3, 0x1
- str r3, [r4, 0x8]
- lsls r0, 24
- lsrs r0, 24
- movs r3, 0x1
- bl npc_by_local_id_and_map_set_field_1_bit_x20
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_hideobject_at
-
- thumb_func_start ScrCmd_setobjectpriority
-ScrCmd_setobjectpriority: @ 806B550
- push {r4,r5,lr}
- adds r5, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- ldr r3, [r5, 0x8]
- ldrb r2, [r3]
- adds r3, 0x1
- str r3, [r5, 0x8]
- ldrb r1, [r3]
- adds r4, r3, 0x1
- str r4, [r5, 0x8]
- ldrb r3, [r3, 0x1]
- adds r4, 0x1
- str r4, [r5, 0x8]
- lsls r0, 24
- lsrs r0, 24
- adds r3, 0x53
- lsls r3, 24
- lsrs r3, 24
- bl sub_805F3A8
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_setobjectpriority
-
- thumb_func_start ScrCmd_resetobjectpriority
-ScrCmd_resetobjectpriority: @ 806B58C
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- ldr r3, [r4, 0x8]
- ldrb r2, [r3]
- adds r3, 0x1
- str r3, [r4, 0x8]
- ldrb r1, [r3]
- adds r3, 0x1
- str r3, [r4, 0x8]
- lsls r0, 24
- lsrs r0, 24
- bl sub_805F400
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_resetobjectpriority
-
- thumb_func_start ScrCmd_faceplayer
-ScrCmd_faceplayer: @ 806B5BC
- push {r4,lr}
- ldr r2, _0806B5EC @ =gMapObjects
- ldr r0, _0806B5F0 @ =gUnknown_3005074
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r4, r0, r2
- ldrb r0, [r4]
- lsls r0, 31
- cmp r0, 0
- beq _0806B5E4
- bl player_get_direction_lower_nybble
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectFaceOppositeDirection
-_0806B5E4:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806B5EC: .4byte gMapObjects
-_0806B5F0: .4byte gUnknown_3005074
- thumb_func_end ScrCmd_faceplayer
-
- thumb_func_start ScrCmd_turnobject
-ScrCmd_turnobject: @ 806B5F4
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- ldr r1, [r4, 0x8]
- ldrb r3, [r1]
- adds r1, 0x1
- str r1, [r4, 0x8]
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0806B624 @ =gSaveBlock1Ptr
- ldr r2, [r1]
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- bl FieldObjectTurnByLocalIdAndMap
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806B624: .4byte gSaveBlock1Ptr
- thumb_func_end ScrCmd_turnobject
-
- thumb_func_start ScrCmd_setobjectmovementtype
-ScrCmd_setobjectmovementtype: @ 806B628
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- ldr r2, [r4, 0x8]
- ldrb r1, [r2]
- adds r2, 0x1
- str r2, [r4, 0x8]
- lsls r0, 24
- lsrs r0, 24
- bl Overworld_SetMapObjTemplateMovementType
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_setobjectmovementtype
-
- thumb_func_start ScrCmd_createvobject
-ScrCmd_createvobject: @ 806B650
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x8
- adds r5, r0, 0
- ldr r0, [r5, 0x8]
- ldrb r1, [r0]
- mov r8, r1
- adds r0, 0x1
- str r0, [r5, 0x8]
- ldrb r6, [r0]
- adds r0, 0x1
- str r0, [r5, 0x8]
- adds r0, r5, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r3, r0, 0
- ldr r0, [r5, 0x8]
- ldrb r2, [r0]
- adds r0, 0x1
- str r0, [r5, 0x8]
- ldrb r1, [r0]
- adds r0, 0x1
- str r0, [r5, 0x8]
- lsls r4, 16
- asrs r4, 16
- lsls r3, 16
- asrs r3, 16
- str r2, [sp]
- str r1, [sp, 0x4]
- mov r0, r8
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_805E9F8
- movs r0, 0
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_createvobject
-
- thumb_func_start ScrCmd_turnvobject
-ScrCmd_turnvobject: @ 806B6C0
- push {lr}
- ldr r2, [r0, 0x8]
- ldrb r3, [r2]
- adds r2, 0x1
- str r2, [r0, 0x8]
- ldrb r1, [r2]
- adds r2, 0x1
- str r2, [r0, 0x8]
- adds r0, r3, 0
- bl sub_8069058
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_turnvobject
-
- thumb_func_start ScrCmd_lockall
-ScrCmd_lockall: @ 806B6DC
- push {r4,lr}
- adds r4, r0, 0
- bl sub_805642C
- cmp r0, 0
- bne _0806B6FC
- bl ScriptFreezeMapObjects
- ldr r1, _0806B6F8 @ =sub_8069590
- adds r0, r4, 0
- bl SetupNativeScript
- movs r0, 0x1
- b _0806B6FE
- .align 2, 0
-_0806B6F8: .4byte sub_8069590
-_0806B6FC:
- movs r0, 0
-_0806B6FE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_lockall
-
- thumb_func_start ScrCmd_lock
-ScrCmd_lock: @ 806B704
- push {r4,lr}
- adds r4, r0, 0
- bl sub_805642C
- cmp r0, 0
- beq _0806B714
- movs r0, 0
- b _0806B752
-_0806B714:
- ldr r2, _0806B738 @ =gMapObjects
- ldr r0, _0806B73C @ =gUnknown_3005074
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 31
- cmp r0, 0
- beq _0806B744
- bl LockSelectedMapObject
- ldr r1, _0806B740 @ =sub_8069648
- adds r0, r4, 0
- bl SetupNativeScript
- b _0806B750
- .align 2, 0
-_0806B738: .4byte gMapObjects
-_0806B73C: .4byte gUnknown_3005074
-_0806B740: .4byte sub_8069648
-_0806B744:
- bl ScriptFreezeMapObjects
- ldr r1, _0806B758 @ =sub_8069590
- adds r0, r4, 0
- bl SetupNativeScript
-_0806B750:
- movs r0, 0x1
-_0806B752:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806B758: .4byte sub_8069590
- thumb_func_end ScrCmd_lock
-
- thumb_func_start ScrCmd_releaseall
-ScrCmd_releaseall: @ 806B75C
- push {lr}
- bl HideFieldMessageBox
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _0806B790 @ =gMapObjects
- adds r0, r1
- bl FieldObjectClearAnimIfSpecialAnimFinished
- bl sub_80974D8
- bl UnfreezeMapObjects
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0806B790: .4byte gMapObjects
- thumb_func_end ScrCmd_releaseall
-
- thumb_func_start ScrCmd_release
-ScrCmd_release: @ 806B794
- push {r4,lr}
- bl HideFieldMessageBox
- ldr r4, _0806B7E4 @ =gMapObjects
- ldr r0, _0806B7E8 @ =gUnknown_3005074
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r4
- ldrb r0, [r1]
- lsls r0, 31
- cmp r0, 0
- beq _0806B7B6
- adds r0, r1, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
-_0806B7B6:
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl FieldObjectClearAnimIfSpecialAnimFinished
- bl sub_80974D8
- bl UnfreezeMapObjects
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806B7E4: .4byte gMapObjects
-_0806B7E8: .4byte gUnknown_3005074
- thumb_func_end ScrCmd_release
-
- thumb_func_start sub_806B7EC
-sub_806B7EC: @ 806B7EC
- ldr r2, _0806B804 @ =gUnknown_20370DC
- ldr r3, _0806B808 @ =gUnknown_20370DA
- ldrh r1, [r3]
- strh r1, [r2]
- ldr r1, [r0, 0x8]
- ldrb r2, [r1]
- strh r2, [r3]
- adds r1, 0x1
- str r1, [r0, 0x8]
- movs r0, 0
- bx lr
- .align 2, 0
-_0806B804: .4byte gUnknown_20370DC
-_0806B808: .4byte gUnknown_20370DA
- thumb_func_end sub_806B7EC
-
- thumb_func_start sub_806B80C
-sub_806B80C: @ 806B80C
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptReadWord
- cmp r0, 0
- bne _0806B81A
- ldr r0, [r4, 0x64]
-_0806B81A:
- bl ShowFieldMessage
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_806B80C
-
- thumb_func_start sub_806B828
-sub_806B828: @ 806B828
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptReadWord
- cmp r0, 0
- bne _0806B836
- ldr r0, [r4, 0x64]
-_0806B836:
- bl sub_80F7974
- bl GetStartMenuWindowId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl CopyWindowToVram
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_806B828
-
- thumb_func_start sub_806B850
-sub_806B850: @ 806B850
- push {lr}
- bl sub_80F7998
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_806B850
-
- thumb_func_start sub_806B85C
-sub_806B85C: @ 806B85C
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptReadWord
- cmp r0, 0
- bne _0806B86A
- ldr r0, [r4, 0x64]
-_0806B86A:
- bl ShowFieldAutoScrollMessage
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_806B85C
-
- thumb_func_start sub_806B878
-sub_806B878: @ 806B878
- push {lr}
- ldr r1, _0806B888 @ =IsFieldMessageBoxHidden
- bl SetupNativeScript
- movs r0, 0x1
- pop {r1}
- bx r1
- .align 2, 0
-_0806B888: .4byte IsFieldMessageBoxHidden
- thumb_func_end sub_806B878
-
- thumb_func_start sub_806B88C
-sub_806B88C: @ 806B88C
- push {lr}
- bl HideFieldMessageBox
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_806B88C
-
- thumb_func_start sub_806B898
-sub_806B898: @ 806B898
- push {r4,lr}
- ldr r0, _0806B8F0 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0806B922
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0806B922
- ldr r4, _0806B8F4 @ =gUnknown_3005070
- ldr r0, [r4]
- bl sub_806B93C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806B906
- ldr r0, [r4]
- bl sub_806B96C
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_8069998
- cmp r4, 0
- beq _0806B906
- ldr r0, _0806B8F8 @ =gUnknown_203ADFA
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _0806B906
- bl sub_80699F8
- adds r0, r4, 0
- subs r0, 0x9
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _0806B8FC
- bl sub_8069964
- b _0806B922
- .align 2, 0
-_0806B8F0: .4byte gMain
-_0806B8F4: .4byte gUnknown_3005070
-_0806B8F8: .4byte gUnknown_203ADFA
-_0806B8FC:
- bl sub_80699A4
- bl sub_8069970
- b _0806B922
-_0806B906:
- bl sub_8112CAC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0806B91A
- ldr r0, _0806B928 @ =gUnknown_203ADFA
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _0806B934
-_0806B91A:
- ldr r1, _0806B92C @ =gUnknown_20370AC
- ldrb r0, [r1]
- cmp r0, 0x78
- bne _0806B930
-_0806B922:
- movs r0, 0x1
- b _0806B936
- .align 2, 0
-_0806B928: .4byte gUnknown_203ADFA
-_0806B92C: .4byte gUnknown_20370AC
-_0806B930:
- adds r0, 0x1
- strb r0, [r1]
-_0806B934:
- movs r0, 0
-_0806B936:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_806B898
-
- thumb_func_start sub_806B93C
-sub_806B93C: @ 806B93C
- push {lr}
- adds r2, r0, 0
- ldr r0, [r2, 0x8]
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _0806B958
- ldrb r1, [r2]
- subs r1, 0x1
- lsls r1, 2
- adds r0, r2, 0
- adds r0, 0xC
- adds r0, r1
- ldr r0, [r0]
- ldrb r0, [r0]
-_0806B958:
- subs r0, 0x6B
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _0806B966
- movs r0, 0x1
- b _0806B968
-_0806B966:
- movs r0, 0
-_0806B968:
- pop {r1}
- bx r1
- thumb_func_end sub_806B93C
-
- thumb_func_start sub_806B96C
-sub_806B96C: @ 806B96C
- push {lr}
- ldr r2, _0806B988 @ =gMain
- ldrh r1, [r2, 0x2C]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0806B990
- ldr r0, _0806B98C @ =gSpecialVar_Facing
- ldrh r0, [r0]
- cmp r0, 0x2
- beq _0806B990
- movs r0, 0x1
- b _0806BA36
- .align 2, 0
-_0806B988: .4byte gMain
-_0806B98C: .4byte gSpecialVar_Facing
-_0806B990:
- ldrh r1, [r2, 0x2C]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0806B9AC
- ldr r0, _0806B9A8 @ =gSpecialVar_Facing
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _0806B9AC
- movs r0, 0x2
- b _0806BA36
- .align 2, 0
-_0806B9A8: .4byte gSpecialVar_Facing
-_0806B9AC:
- ldrh r1, [r2, 0x2C]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0806B9C8
- ldr r0, _0806B9C4 @ =gSpecialVar_Facing
- ldrh r0, [r0]
- cmp r0, 0x3
- beq _0806B9C8
- movs r0, 0x3
- b _0806BA36
- .align 2, 0
-_0806B9C4: .4byte gSpecialVar_Facing
-_0806B9C8:
- ldrh r1, [r2, 0x2C]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0806B9E4
- ldr r0, _0806B9E0 @ =gSpecialVar_Facing
- ldrh r0, [r0]
- cmp r0, 0x4
- beq _0806B9E4
- movs r0, 0x4
- b _0806BA36
- .align 2, 0
-_0806B9E0: .4byte gSpecialVar_Facing
-_0806B9E4:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _0806B9F4
- movs r0, 0x5
- b _0806BA36
-_0806B9F4:
- ldrh r2, [r2, 0x2C]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r2
- cmp r0, 0
- beq _0806BA04
- movs r0, 0x6
- b _0806BA36
-_0806BA04:
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _0806BA10
- movs r0, 0x7
- b _0806BA36
-_0806BA10:
- movs r0, 0x4
- ands r0, r2
- cmp r0, 0
- beq _0806BA1C
- movs r0, 0x8
- b _0806BA36
-_0806BA1C:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0806BA28
- movs r0, 0x9
- b _0806BA36
-_0806BA28:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0806BA34
- movs r0, 0
- b _0806BA36
-_0806BA34:
- movs r0, 0xA
-_0806BA36:
- pop {r1}
- bx r1
- thumb_func_end sub_806B96C
-
- thumb_func_start sub_806BA3C
-sub_806BA3C: @ 806BA3C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _0806BA70 @ =gUnknown_3005070
- str r4, [r0]
- bl sub_8112CAC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0806BA58
- ldr r0, _0806BA74 @ =gUnknown_203ADFA
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _0806BA5E
-_0806BA58:
- ldr r1, _0806BA78 @ =gUnknown_20370AC
- movs r0, 0
- strb r0, [r1]
-_0806BA5E:
- ldr r1, _0806BA7C @ =sub_806B898
- adds r0, r4, 0
- bl SetupNativeScript
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806BA70: .4byte gUnknown_3005070
-_0806BA74: .4byte gUnknown_203ADFA
-_0806BA78: .4byte gUnknown_20370AC
-_0806BA7C: .4byte sub_806B898
- thumb_func_end sub_806BA3C
-
- thumb_func_start ScrCmd_yesnobox
-ScrCmd_yesnobox: @ 806BA80
- push {lr}
- ldr r2, [r0, 0x8]
- ldrb r3, [r2]
- adds r2, 0x1
- str r2, [r0, 0x8]
- ldrb r1, [r2]
- adds r2, 0x1
- str r2, [r0, 0x8]
- adds r0, r3, 0
- bl sub_809CDEC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0806BAA2
- movs r0, 0
- b _0806BAA8
-_0806BAA2:
- bl ScriptContext1_Stop
- movs r0, 0x1
-_0806BAA8:
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_yesnobox
-
- thumb_func_start ScrCmd_multichoice
-ScrCmd_multichoice: @ 806BAAC
- push {r4,r5,lr}
- ldr r2, [r0, 0x8]
- ldrb r5, [r2]
- adds r2, 0x1
- str r2, [r0, 0x8]
- ldrb r1, [r2]
- adds r3, r2, 0x1
- str r3, [r0, 0x8]
- ldrb r2, [r2, 0x1]
- adds r4, r3, 0x1
- str r4, [r0, 0x8]
- ldrb r3, [r3, 0x1]
- adds r4, 0x1
- str r4, [r0, 0x8]
- adds r0, r5, 0
- bl ScriptMenu_Multichoice
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0806BADA
- movs r0, 0
- b _0806BAE0
-_0806BADA:
- bl ScriptContext1_Stop
- movs r0, 0x1
-_0806BAE0:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_multichoice
-
- thumb_func_start ScrCmd_multichoicedefault
-ScrCmd_multichoicedefault: @ 806BAE8
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- ldr r2, [r0, 0x8]
- ldrb r1, [r2]
- mov r8, r1
- adds r2, 0x1
- str r2, [r0, 0x8]
- ldrb r1, [r2]
- adds r3, r2, 0x1
- str r3, [r0, 0x8]
- ldrb r2, [r2, 0x1]
- adds r5, r3, 0x1
- str r5, [r0, 0x8]
- ldrb r6, [r3, 0x1]
- adds r4, r5, 0x1
- str r4, [r0, 0x8]
- ldrb r3, [r5, 0x1]
- adds r4, 0x1
- str r4, [r0, 0x8]
- str r6, [sp]
- mov r0, r8
- bl ScriptMenu_MultichoiceWithDefault
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0806BB26
- movs r0, 0
- b _0806BB2C
-_0806BB26:
- bl ScriptContext1_Stop
- movs r0, 0x1
-_0806BB2C:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_multichoicedefault
-
- thumb_func_start sub_806BB38
-sub_806BB38: @ 806BB38
- movs r0, 0
- bx lr
- thumb_func_end sub_806BB38
-
- thumb_func_start ScrCmd_multichoicegrid
-ScrCmd_multichoicegrid: @ 806BB3C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- ldr r2, [r0, 0x8]
- ldrb r1, [r2]
- mov r8, r1
- adds r2, 0x1
- str r2, [r0, 0x8]
- ldrb r1, [r2]
- adds r3, r2, 0x1
- str r3, [r0, 0x8]
- ldrb r2, [r2, 0x1]
- adds r5, r3, 0x1
- str r5, [r0, 0x8]
- ldrb r6, [r3, 0x1]
- adds r4, r5, 0x1
- str r4, [r0, 0x8]
- ldrb r3, [r5, 0x1]
- adds r4, 0x1
- str r4, [r0, 0x8]
- str r6, [sp]
- mov r0, r8
- bl sub_809CEC8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0806BB7A
- movs r0, 0
- b _0806BB80
-_0806BB7A:
- bl ScriptContext1_Stop
- movs r0, 0x1
-_0806BB80:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_multichoicegrid
-
- thumb_func_start sub_806BB8C
-sub_806BB8C: @ 806BB8C
- ldr r1, [r0, 0x8]
- adds r1, 0x4
- str r1, [r0, 0x8]
- movs r0, 0
- bx lr
- thumb_func_end sub_806BB8C
-
- thumb_func_start sub_806BB98
-sub_806BB98: @ 806BB98
- movs r0, 0
- bx lr
- thumb_func_end sub_806BB98
-
- thumb_func_start sub_806BB9C
-sub_806BB9C: @ 806BB9C
- push {r4,r5,lr}
- adds r5, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, [r5, 0x8]
- ldrb r1, [r0]
- adds r0, 0x1
- str r0, [r5, 0x8]
- ldrb r2, [r0]
- adds r0, 0x1
- str r0, [r5, 0x8]
- adds r0, r4, 0
- bl sub_809D2F0
- adds r0, r4, 0
- movs r1, 0
- bl PlayCry7
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_806BB9C
-
- thumb_func_start sub_806BBD8
-sub_806BBD8: @ 806BBD8
- push {r4,lr}
- adds r4, r0, 0
- bl sub_809D3CC
- adds r1, r0, 0
- cmp r1, 0
- beq _0806BBF0
- adds r0, r4, 0
- bl SetupNativeScript
- movs r0, 0x1
- b _0806BBF2
-_0806BBF0:
- movs r0, 0
-_0806BBF2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_806BBD8
-
- thumb_func_start sub_806BBF8
-sub_806BBF8: @ 806BBF8
- ldr r1, [r0, 0x8]
- adds r1, 0x1
- str r1, [r0, 0x8]
- movs r0, 0
- bx lr
- thumb_func_end sub_806BBF8
-
- thumb_func_start sub_806BC04
-sub_806BC04: @ 806BC04
- push {r4,r5,lr}
- sub sp, 0xC
- adds r5, r0, 0
- bl ScriptReadWord
- adds r4, r0, 0
- cmp r4, 0
- bne _0806BC16
- ldr r4, [r5, 0x64]
-_0806BC16:
- bl sub_80F6E9C
- movs r0, 0
- movs r1, 0x1
- bl sub_80F6EE4
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r1, 0x6
- adds r2, r4, 0
- movs r3, 0
- bl AddTextPrinterParameterized
- movs r0, 0
- add sp, 0xC
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_806BC04
-
- thumb_func_start sub_806BC40
-sub_806BC40: @ 806BC40
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptReadWord
- adds r1, r0, 0
- cmp r1, 0
- bne _0806BC50
- ldr r1, [r4, 0x64]
-_0806BC50:
- ldr r4, _0806BC68 @ =gSpecialVar_0x8004
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x6
- bl GetStringWidth
- strh r0, [r4]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806BC68: .4byte gSpecialVar_0x8004
- thumb_func_end sub_806BC40
-
- thumb_func_start ScrCmd_vmessage
-ScrCmd_vmessage: @ 806BC6C
- push {lr}
- bl ScriptReadWord
- ldr r1, _0806BC84 @ =gUnknown_20370A8
- ldr r1, [r1]
- subs r0, r1
- bl ShowFieldMessage
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0806BC84: .4byte gUnknown_20370A8
- thumb_func_end ScrCmd_vmessage
-
- thumb_func_start ScrCmd_bufferspeciesname
-ScrCmd_bufferspeciesname: @ 806BC88
- push {r4,lr}
- ldr r1, [r0, 0x8]
- ldrb r4, [r1]
- adds r1, 0x1
- str r1, [r0, 0x8]
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _0806BCC0 @ =gUnknown_83A7294
- lsls r4, 2
- adds r4, r1
- ldr r2, [r4]
- movs r1, 0xB
- muls r1, r0
- ldr r0, _0806BCC4 @ =gSpeciesNames
- adds r1, r0
- adds r0, r2, 0
- bl StringCopy
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806BCC0: .4byte gUnknown_83A7294
-_0806BCC4: .4byte gSpeciesNames
- thumb_func_end ScrCmd_bufferspeciesname
-
- thumb_func_start ScrCmd_bufferleadmonspeciesname
-ScrCmd_bufferleadmonspeciesname: @ 806BCC8
- push {r4,lr}
- ldr r1, [r0, 0x8]
- ldrb r2, [r1]
- adds r1, 0x1
- str r1, [r0, 0x8]
- ldr r0, _0806BD08 @ =gUnknown_83A7294
- lsls r2, 2
- adds r2, r0
- ldr r4, [r2]
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, _0806BD0C @ =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- movs r1, 0xB
- muls r1, r0
- ldr r0, _0806BD10 @ =gSpeciesNames
- adds r1, r0
- adds r0, r4, 0
- bl StringCopy
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806BD08: .4byte gUnknown_83A7294
-_0806BD0C: .4byte gPlayerParty
-_0806BD10: .4byte gSpeciesNames
- thumb_func_end ScrCmd_bufferleadmonspeciesname
-
- thumb_func_start ScrCmd_bufferpartymonnick
-ScrCmd_bufferpartymonnick: @ 806BD14
- push {r4,lr}
- ldr r1, [r0, 0x8]
- ldrb r4, [r1]
- adds r1, 0x1
- str r1, [r0, 0x8]
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- muls r0, r1
- ldr r1, _0806BD54 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0806BD58 @ =gUnknown_83A7294
- lsls r4, 2
- adds r4, r1
- ldr r4, [r4]
- movs r1, 0x2
- adds r2, r4, 0
- bl GetMonData
- adds r0, r4, 0
- bl StringGetEnd10
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806BD54: .4byte gPlayerParty
-_0806BD58: .4byte gUnknown_83A7294
- thumb_func_end ScrCmd_bufferpartymonnick
-
- thumb_func_start ScrCmd_bufferitemname
-ScrCmd_bufferitemname: @ 806BD5C
- push {r4,lr}
- ldr r1, [r0, 0x8]
- ldrb r4, [r1]
- adds r1, 0x1
- str r1, [r0, 0x8]
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _0806BD8C @ =gUnknown_83A7294
- lsls r4, 2
- adds r4, r1
- ldr r1, [r4]
- bl sub_8099E90
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806BD8C: .4byte gUnknown_83A7294
- thumb_func_end ScrCmd_bufferitemname
-
- thumb_func_start sub_806BD90
-sub_806BD90: @ 806BD90
- push {r4-r7,lr}
- adds r4, r0, 0
- ldr r0, [r4, 0x8]
- ldrb r7, [r0]
- adds r0, 0x1
- str r0, [r4, 0x8]
- adds r0, r4, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r1, _0806BDE4 @ =gUnknown_83A7294
- lsls r0, r7, 2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8099E90
- cmp r5, 0x4
- bne _0806BDEC
- cmp r6, 0x1
- bls _0806BDEC
- ldr r1, _0806BDE8 @ =gUnknown_83A72A0
- adds r0, r4, 0
- bl StringAppend
- b _0806BE22
- .align 2, 0
-_0806BDE4: .4byte gUnknown_83A7294
-_0806BDE8: .4byte gUnknown_83A72A0
-_0806BDEC:
- adds r0, r5, 0
- subs r0, 0x85
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x29
- bhi _0806BE22
- cmp r6, 0x1
- bls _0806BE22
- ldr r0, _0806BE2C @ =gUnknown_83A7294
- lsls r1, r7, 2
- adds r1, r0
- ldr r4, [r1]
- adds r0, r4, 0
- bl StringLength
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- beq _0806BE22
- adds r0, r4, r0
- subs r0, 0x1
- movs r1, 0xFF
- strb r1, [r0]
- ldr r1, _0806BE30 @ =gUnknown_83A72A2
- adds r0, r4, 0
- bl StringAppend
-_0806BE22:
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0806BE2C: .4byte gUnknown_83A7294
-_0806BE30: .4byte gUnknown_83A72A2
- thumb_func_end sub_806BD90
-
- thumb_func_start sub_806BE34
-sub_806BE34: @ 806BE34
- push {lr}
- ldr r1, [r0, 0x8]
- adds r1, 0x1
- str r1, [r0, 0x8]
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_806BE34
-
- thumb_func_start ScrCmd_buffermovename
-ScrCmd_buffermovename: @ 806BE50
- push {r4,lr}
- ldr r1, [r0, 0x8]
- ldrb r4, [r1]
- adds r1, 0x1
- str r1, [r0, 0x8]
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _0806BE88 @ =gUnknown_83A7294
- lsls r4, 2
- adds r4, r1
- ldr r2, [r4]
- movs r1, 0xD
- muls r1, r0
- ldr r0, _0806BE8C @ =gMoveNames
- adds r1, r0
- adds r0, r2, 0
- bl StringCopy
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806BE88: .4byte gUnknown_83A7294
-_0806BE8C: .4byte gMoveNames
- thumb_func_end ScrCmd_buffermovename
-
- thumb_func_start ScrCmd_buffernumberstring
-ScrCmd_buffernumberstring: @ 806BE90
- push {r4,r5,lr}
- ldr r1, [r0, 0x8]
- ldrb r5, [r1]
- adds r1, 0x1
- str r1, [r0, 0x8]
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r4, 0
- bl sub_80CBF04
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- ldr r0, _0806BED0 @ =gUnknown_83A7294
- lsls r5, 2
- adds r5, r0
- ldr r0, [r5]
- adds r1, r4, 0
- movs r2, 0
- bl ConvertIntToDecimalStringN
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0806BED0: .4byte gUnknown_83A7294
- thumb_func_end ScrCmd_buffernumberstring
-
- thumb_func_start ScrCmd_bufferstdstring
-ScrCmd_bufferstdstring: @ 806BED4
- push {r4,lr}
- ldr r1, [r0, 0x8]
- ldrb r4, [r1]
- adds r1, 0x1
- str r1, [r0, 0x8]
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- lsls r0, 16
- ldr r1, _0806BF0C @ =gUnknown_83A7294
- lsls r4, 2
- adds r4, r1
- ldr r2, [r4]
- ldr r1, _0806BF10 @ =gUnknown_83E06B8
- lsrs r0, 14
- adds r0, r1
- ldr r1, [r0]
- adds r0, r2, 0
- bl StringCopy
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806BF0C: .4byte gUnknown_83A7294
-_0806BF10: .4byte gUnknown_83E06B8
- thumb_func_end ScrCmd_bufferstdstring
-
- thumb_func_start ScrCmd_bufferstring
-ScrCmd_bufferstring: @ 806BF14
- push {r4,lr}
- ldr r1, [r0, 0x8]
- ldrb r4, [r1]
- adds r1, 0x1
- str r1, [r0, 0x8]
- bl ScriptReadWord
- adds r1, r0, 0
- ldr r0, _0806BF38 @ =gUnknown_83A7294
- lsls r4, 2
- adds r4, r0
- ldr r0, [r4]
- bl StringCopy
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806BF38: .4byte gUnknown_83A7294
- thumb_func_end ScrCmd_bufferstring
-
- thumb_func_start ScrCmd_vloadword
-ScrCmd_vloadword: @ 806BF3C
- push {lr}
- bl ScriptReadWord
- adds r1, r0, 0
- ldr r0, _0806BF58 @ =gUnknown_20370A8
- ldr r0, [r0]
- subs r1, r0
- ldr r0, _0806BF5C @ =gStringVar4
- bl StringExpandPlaceholders
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0806BF58: .4byte gUnknown_20370A8
-_0806BF5C: .4byte gStringVar4
- thumb_func_end ScrCmd_vloadword
-
- thumb_func_start ScrCmd_vbufferstring
-ScrCmd_vbufferstring: @ 806BF60
- push {r4,lr}
- ldr r1, [r0, 0x8]
- ldrb r4, [r1]
- adds r1, 0x1
- str r1, [r0, 0x8]
- bl ScriptReadWord
- adds r1, r0, 0
- ldr r0, _0806BF8C @ =gUnknown_20370A8
- ldr r0, [r0]
- subs r1, r0
- ldr r0, _0806BF90 @ =gUnknown_83A7294
- lsls r4, 2
- adds r4, r0
- ldr r0, [r4]
- bl StringCopy
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806BF8C: .4byte gUnknown_20370A8
-_0806BF90: .4byte gUnknown_83A7294
- thumb_func_end ScrCmd_vbufferstring
-
- thumb_func_start ScrCmd_bufferboxname
-ScrCmd_bufferboxname: @ 806BF94
- push {r4,lr}
- ldr r1, [r0, 0x8]
- ldrb r4, [r1]
- adds r1, 0x1
- str r1, [r0, 0x8]
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- ldr r1, _0806BFCC @ =gUnknown_83A7294
- lsls r4, 2
- adds r4, r1
- ldr r4, [r4]
- lsls r0, 24
- lsrs r0, 24
- bl GetBoxNamePtr
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806BFCC: .4byte gUnknown_83A7294
- thumb_func_end ScrCmd_bufferboxname
-
- thumb_func_start ScrCmd_givemon
-ScrCmd_givemon: @ 806BFD0
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x8
- adds r4, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r6, r0, 0
- lsls r6, 16
- lsrs r6, 16
- ldr r0, [r4, 0x8]
- ldrb r1, [r0]
- mov r9, r1
- adds r0, 0x1
- str r0, [r4, 0x8]
- adds r0, r4, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r4, 0
- bl ScriptReadWord
- mov r8, r0
- adds r0, r4, 0
- bl ScriptReadWord
- ldr r1, [r4, 0x8]
- ldrb r2, [r1]
- adds r1, 0x1
- str r1, [r4, 0x8]
- ldr r4, _0806C04C @ =gSpecialVar_Result
- str r0, [sp]
- str r2, [sp, 0x4]
- adds r0, r6, 0
- mov r1, r9
- adds r2, r5, 0
- mov r3, r8
- bl ScriptGiveMon
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- movs r0, 0
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0806C04C: .4byte gSpecialVar_Result
- thumb_func_end ScrCmd_givemon
-
- thumb_func_start ScrCmd_giveegg
-ScrCmd_giveegg: @ 806C050
- push {r4,lr}
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _0806C078 @ =gSpecialVar_Result
- bl sub_80A01AC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806C078: .4byte gSpecialVar_Result
- thumb_func_end ScrCmd_giveegg
-
- thumb_func_start ScrCmd_setmonmove
-ScrCmd_setmonmove: @ 806C07C
- push {r4,r5,lr}
- ldr r1, [r0, 0x8]
- ldrb r5, [r1]
- adds r1, 0x1
- str r1, [r0, 0x8]
- ldrb r4, [r1]
- adds r1, 0x1
- str r1, [r0, 0x8]
- bl ScriptReadHalfword
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r5, 0
- adds r2, r4, 0
- bl ScriptSetMonMoveSlot
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_setmonmove
-
- thumb_func_start ScrCmd_checkpartymove
-ScrCmd_checkpartymove: @ 806C0A8
- push {r4-r7,lr}
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r1, _0806C0BC @ =gSpecialVar_Result
- movs r0, 0x6
- strh r0, [r1]
- movs r6, 0
- b _0806C0F6
- .align 2, 0
-_0806C0BC: .4byte gSpecialVar_Result
-_0806C0C0:
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0806C0F0
- adds r0, r4, 0
- adds r1, r7, 0
- bl pokemon_has_move
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806C0F0
- ldr r0, _0806C0E8 @ =gSpecialVar_Result
- strh r6, [r0]
- ldr r0, _0806C0EC @ =gSpecialVar_0x8004
- strh r5, [r0]
- b _0806C116
- .align 2, 0
-_0806C0E8: .4byte gSpecialVar_Result
-_0806C0EC: .4byte gSpecialVar_0x8004
-_0806C0F0:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_0806C0F6:
- cmp r6, 0x5
- bhi _0806C116
- movs r0, 0x64
- adds r1, r6, 0
- muls r1, r0
- ldr r0, _0806C120 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- bne _0806C0C0
-_0806C116:
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0806C120: .4byte gPlayerParty
- thumb_func_end ScrCmd_checkpartymove
-
- thumb_func_start ScrCmd_givemoney
-ScrCmd_givemoney: @ 806C124
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptReadWord
- adds r2, r0, 0
- ldr r0, [r4, 0x8]
- ldrb r1, [r0]
- adds r0, 0x1
- str r0, [r4, 0x8]
- cmp r1, 0
- bne _0806C14A
- ldr r0, _0806C154 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0xA4
- lsls r1, 2
- adds r0, r1
- adds r1, r2, 0
- bl AddMoney
-_0806C14A:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806C154: .4byte gSaveBlock1Ptr
- thumb_func_end ScrCmd_givemoney
-
- thumb_func_start ScrCmd_takemoney
-ScrCmd_takemoney: @ 806C158
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptReadWord
- adds r2, r0, 0
- ldr r0, [r4, 0x8]
- ldrb r1, [r0]
- adds r0, 0x1
- str r0, [r4, 0x8]
- cmp r1, 0
- bne _0806C17E
- ldr r0, _0806C188 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0xA4
- lsls r1, 2
- adds r0, r1
- adds r1, r2, 0
- bl RemoveMoney
-_0806C17E:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806C188: .4byte gSaveBlock1Ptr
- thumb_func_end ScrCmd_takemoney
-
- thumb_func_start ScrCmd_checkmoney
-ScrCmd_checkmoney: @ 806C18C
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptReadWord
- adds r2, r0, 0
- ldr r0, [r4, 0x8]
- ldrb r1, [r0]
- adds r0, 0x1
- str r0, [r4, 0x8]
- cmp r1, 0
- bne _0806C1BA
- ldr r4, _0806C1C4 @ =gSpecialVar_Result
- ldr r0, _0806C1C8 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0xA4
- lsls r1, 2
- adds r0, r1
- adds r1, r2, 0
- bl IsEnoughMoney
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
-_0806C1BA:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806C1C4: .4byte gSpecialVar_Result
-_0806C1C8: .4byte gSaveBlock1Ptr
- thumb_func_end ScrCmd_checkmoney
-
- thumb_func_start sub_806C1CC
-sub_806C1CC: @ 806C1CC
- push {r4,r5,lr}
- ldr r1, [r0, 0x8]
- ldrb r5, [r1]
- adds r1, 0x1
- str r1, [r0, 0x8]
- ldrb r4, [r1]
- adds r2, r1, 0x1
- str r2, [r0, 0x8]
- ldrb r1, [r1, 0x1]
- adds r2, 0x1
- str r2, [r0, 0x8]
- cmp r1, 0
- bne _0806C20A
- ldr r0, _0806C214 @ =sub_809D6D4
- bl sub_81119D4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0806C20A
- ldr r0, _0806C218 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0xA4
- lsls r1, 2
- adds r0, r1
- bl GetMoney
- adds r1, r5, 0
- adds r2, r4, 0
- bl DrawMoneyBox
-_0806C20A:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0806C214: .4byte sub_809D6D4
-_0806C218: .4byte gSaveBlock1Ptr
- thumb_func_end sub_806C1CC
-
- thumb_func_start sub_806C21C
-sub_806C21C: @ 806C21C
- push {lr}
- bl HideMoneyBox
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_806C21C
-
- thumb_func_start sub_806C228
-sub_806C228: @ 806C228
- push {lr}
- ldr r1, [r0, 0x8]
- adds r1, 0x1
- adds r2, r1, 0x1
- str r2, [r0, 0x8]
- ldrb r1, [r1, 0x1]
- adds r2, 0x1
- str r2, [r0, 0x8]
- cmp r1, 0
- bne _0806C24E
- ldr r0, _0806C254 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0xA4
- lsls r1, 2
- adds r0, r1
- bl GetMoney
- bl ChangeAmountInMoneyBox
-_0806C24E:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0806C254: .4byte gSaveBlock1Ptr
- thumb_func_end sub_806C228
-
- thumb_func_start sub_806C258
-sub_806C258: @ 806C258
- push {r4,r5,lr}
- ldr r1, [r0, 0x8]
- ldrb r5, [r1]
- adds r1, 0x1
- str r1, [r0, 0x8]
- ldrb r4, [r1]
- adds r1, 0x1
- str r1, [r0, 0x8]
- ldr r0, _0806C290 @ =sub_809D6D4
- bl sub_81119D4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0806C286
- bl GetCoins
- lsls r0, 16
- lsrs r0, 16
- adds r1, r5, 0
- adds r2, r4, 0
- bl ShowCoinsWindow
-_0806C286:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0806C290: .4byte sub_809D6D4
- thumb_func_end sub_806C258
-
- thumb_func_start ScrCmd_hidecoinsbox
-ScrCmd_hidecoinsbox: @ 806C294
- push {lr}
- ldr r1, [r0, 0x8]
- adds r1, 0x2
- str r1, [r0, 0x8]
- bl HideCoinsWindow
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_hidecoinsbox
-
- thumb_func_start ScrCmd_updatecoinsbox
-ScrCmd_updatecoinsbox: @ 806C2A8
- push {lr}
- ldr r1, [r0, 0x8]
- adds r1, 0x2
- str r1, [r0, 0x8]
- bl GetCoins
- lsls r0, 16
- lsrs r0, 16
- bl PrintCoinsString
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_updatecoinsbox
-
- thumb_func_start ScrCmd_trainerbattle
-ScrCmd_trainerbattle: @ 806C2C4
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, [r4, 0x8]
- bl sub_8080228
- str r0, [r4, 0x8]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_trainerbattle
-
- thumb_func_start sub_806C2D8
-sub_806C2D8: @ 806C2D8
- push {lr}
- bl sub_8080464
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_806C2D8
-
- thumb_func_start ScrCmd_ontrainerbattleend
-ScrCmd_ontrainerbattleend: @ 806C2E4
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80805E8
- str r0, [r4, 0x8]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_ontrainerbattleend
-
- thumb_func_start ScrCmd_ontrainerbattleendgoto
-ScrCmd_ontrainerbattleendgoto: @ 806C2F8
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8080600
- str r0, [r4, 0x8]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_ontrainerbattleendgoto
-
- thumb_func_start ScrCmd_checktrainerflag
-ScrCmd_checktrainerflag: @ 806C30C
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- bl HasTrainerAlreadyBeenFought
- strb r0, [r4, 0x2]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_checktrainerflag
-
- thumb_func_start ScrCmd_settrainerflag
-ScrCmd_settrainerflag: @ 806C330
- push {lr}
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- bl trainer_flag_set
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_settrainerflag
-
- thumb_func_start ScrCmd_cleartrainerflag
-ScrCmd_cleartrainerflag: @ 806C34C
- push {lr}
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- bl trainer_flag_clear
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_cleartrainerflag
-
- thumb_func_start ScrCmd_setwildbattle
-ScrCmd_setwildbattle: @ 806C368
- push {r4-r6,lr}
- adds r4, r0, 0
- bl ScriptReadHalfword
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- ldr r0, [r4, 0x8]
- ldrb r6, [r0]
- adds r0, 0x1
- str r0, [r4, 0x8]
- adds r0, r4, 0
- bl ScriptReadHalfword
- adds r2, r0, 0
- lsls r2, 16
- lsrs r2, 16
- adds r0, r5, 0
- adds r1, r6, 0
- bl CreateScriptedWildMon
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_setwildbattle
-
- thumb_func_start sub_806C39C
-sub_806C39C: @ 806C39C
- push {lr}
- bl sub_807F8C4
- bl ScriptContext1_Stop
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_806C39C
-
- thumb_func_start sub_806C3AC
-sub_806C3AC: @ 806C3AC
- push {lr}
- bl ScriptReadWord
- bl sub_809C164
- bl ScriptContext1_Stop
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_806C3AC
-
- thumb_func_start sub_806C3C0
-sub_806C3C0: @ 806C3C0
- push {lr}
- bl ScriptReadWord
- bl sub_809C1A0
- bl ScriptContext1_Stop
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_806C3C0
-
- thumb_func_start sub_806C3D4
-sub_806C3D4: @ 806C3D4
- push {lr}
- bl ScriptReadWord
- bl sub_809C1BC
- bl ScriptContext1_Stop
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_806C3D4
-
- thumb_func_start ScrCmd_playslotmachine
-ScrCmd_playslotmachine: @ 806C3E8
- push {lr}
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0806C40C @ =c2_exit_to_overworld_1_continue_scripts_restart_music
- bl sub_813F804
- bl ScriptContext1_Stop
- movs r0, 0x1
- pop {r1}
- bx r1
- .align 2, 0
-_0806C40C: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
- thumb_func_end ScrCmd_playslotmachine
-
- thumb_func_start sub_806C410
-sub_806C410: @ 806C410
- movs r0, 0
- bx lr
- thumb_func_end sub_806C410
-
- thumb_func_start sub_806C414
-sub_806C414: @ 806C414
- movs r0, 0
- bx lr
- thumb_func_end sub_806C414
-
- thumb_func_start sub_806C418
-sub_806C418: @ 806C418
- push {lr}
- bl ScriptContext1_Stop
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_806C418
-
- thumb_func_start sub_806C424
-sub_806C424: @ 806C424
- movs r0, 0
- bx lr
- thumb_func_end sub_806C424
-
- thumb_func_start sub_806C428
-sub_806C428: @ 806C428
- movs r0, 0
- bx lr
- thumb_func_end sub_806C428
-
- thumb_func_start sub_806C42C
-sub_806C42C: @ 806C42C
- movs r0, 0
- bx lr
- thumb_func_end sub_806C42C
-
- thumb_func_start ScrCmd_dofieldeffect
-ScrCmd_dofieldeffect: @ 806C430
- push {lr}
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _0806C454 @ =gUnknown_20370B6
- strh r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- bl FieldEffectStart
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0806C454: .4byte gUnknown_20370B6
- thumb_func_end ScrCmd_dofieldeffect
-
- thumb_func_start ScrCmd_setfieldeffectarg
-ScrCmd_setfieldeffectarg: @ 806C458
- push {r4,lr}
- ldr r1, [r0, 0x8]
- ldrb r4, [r1]
- adds r1, 0x1
- str r1, [r0, 0x8]
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- ldr r1, _0806C484 @ =gFieldEffectArguments
- lsls r4, 2
- adds r4, r1
- lsls r0, 16
- asrs r0, 16
- str r0, [r4]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806C484: .4byte gFieldEffectArguments
- thumb_func_end ScrCmd_setfieldeffectarg
-
- thumb_func_start WaitForFieldEffectFinish
-WaitForFieldEffectFinish: @ 806C488
- push {lr}
- ldr r0, _0806C49C @ =gUnknown_20370B6
- ldrb r0, [r0]
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- beq _0806C4A0
- movs r0, 0
- b _0806C4A2
- .align 2, 0
-_0806C49C: .4byte gUnknown_20370B6
-_0806C4A0:
- movs r0, 0x1
-_0806C4A2:
- pop {r1}
- bx r1
- thumb_func_end WaitForFieldEffectFinish
-
- thumb_func_start ScrCmd_waitfieldeffect
-ScrCmd_waitfieldeffect: @ 806C4A8
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- ldr r1, _0806C4CC @ =gUnknown_20370B6
- strh r0, [r1]
- ldr r1, _0806C4D0 @ =WaitForFieldEffectFinish
- adds r0, r4, 0
- bl SetupNativeScript
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806C4CC: .4byte gUnknown_20370B6
-_0806C4D0: .4byte WaitForFieldEffectFinish
- thumb_func_end ScrCmd_waitfieldeffect
-
- thumb_func_start ScrCmd_setrespawn
-ScrCmd_setrespawn: @ 806C4D4
- push {lr}
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- lsls r0, 24
- lsrs r0, 24
- bl sub_80554CC
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_setrespawn
-
- thumb_func_start ScrCmd_checkplayergender
-ScrCmd_checkplayergender: @ 806C4F0
- ldr r1, _0806C500 @ =gSpecialVar_Result
- ldr r0, _0806C504 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- strh r0, [r1]
- movs r0, 0
- bx lr
- .align 2, 0
-_0806C500: .4byte gSpecialVar_Result
-_0806C504: .4byte gSaveBlock2Ptr
- thumb_func_end ScrCmd_checkplayergender
-
- thumb_func_start ScrCmd_playmoncry
-ScrCmd_playmoncry: @ 806C508
- push {r4,r5,lr}
- adds r5, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl PlayCry7
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_playmoncry
-
- thumb_func_start sub_806C540
-sub_806C540: @ 806C540
- push {lr}
- ldr r1, _0806C550 @ =IsCryFinished
- bl SetupNativeScript
- movs r0, 0x1
- pop {r1}
- bx r1
- .align 2, 0
-_0806C550: .4byte IsCryFinished
- thumb_func_end sub_806C540
-
- thumb_func_start ScrCmd_setmetatile
-ScrCmd_setmetatile: @ 806C554
- push {r4-r7,lr}
- adds r4, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- lsls r0, 16
- lsrs r6, r0, 16
- adds r0, r4, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- lsls r0, 16
- lsrs r7, r0, 16
- adds r0, r4, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- lsls r0, 16
- adds r1, r6, 0x7
- lsls r1, 16
- lsrs r6, r1, 16
- adds r1, r5, 0x7
- lsls r1, 16
- lsrs r5, r1, 16
- cmp r0, 0
- bne _0806C5B8
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r7, 0
- bl MapGridSetMetatileIdAt
- b _0806C5CA
-_0806C5B8:
- movs r1, 0xC0
- lsls r1, 4
- adds r0, r1, 0
- adds r2, r7, 0
- orrs r2, r0
- adds r0, r6, 0
- adds r1, r5, 0
- bl MapGridSetMetatileIdAt
-_0806C5CA:
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_setmetatile
-
- thumb_func_start ScrCmd_opendoor
-ScrCmd_opendoor: @ 806C5D4
- push {r4,r5,lr}
- adds r4, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r4, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- adds r5, 0x7
- lsls r5, 16
- lsrs r5, 16
- movs r0, 0xE0
- lsls r0, 11
- adds r4, r0
- lsrs r4, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_805B364
- lsls r0, 16
- lsrs r0, 16
- bl PlaySE
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_805B310
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_opendoor
-
- thumb_func_start ScrCmd_closedoor
-ScrCmd_closedoor: @ 806C62C
- push {r4,r5,lr}
- adds r5, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r1, r0, 0
- lsls r1, 16
- adds r4, 0x7
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0xE0
- lsls r0, 11
- adds r1, r0
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_805B2D0
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_closedoor
-
- thumb_func_start sub_806C670
-sub_806C670: @ 806C670
- push {lr}
- bl sub_805B350
- lsls r0, 24
- cmp r0, 0
- beq _0806C680
- movs r0, 0
- b _0806C682
-_0806C680:
- movs r0, 0x1
-_0806C682:
- pop {r1}
- bx r1
- thumb_func_end sub_806C670
-
- thumb_func_start sub_806C688
-sub_806C688: @ 806C688
- push {lr}
- ldr r1, _0806C698 @ =sub_806C670
- bl SetupNativeScript
- movs r0, 0x1
- pop {r1}
- bx r1
- .align 2, 0
-_0806C698: .4byte sub_806C670
- thumb_func_end sub_806C688
-
- thumb_func_start ScrCmd_setdooropen
-ScrCmd_setdooropen: @ 806C69C
- push {r4,r5,lr}
- adds r5, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r1, r0, 0
- lsls r1, 16
- adds r4, 0x7
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0xE0
- lsls r0, 11
- adds r1, r0
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_805B268
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_setdooropen
-
- thumb_func_start ScrCmd_setdoorclosed
-ScrCmd_setdoorclosed: @ 806C6E0
- push {r4,r5,lr}
- adds r5, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- adds r1, r0, 0
- lsls r1, 16
- adds r4, 0x7
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0xE0
- lsls r0, 11
- adds r1, r0
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_805B29C
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_setdoorclosed
-
- thumb_func_start sub_806C724
-sub_806C724: @ 806C724
- movs r0, 0
- bx lr
- thumb_func_end sub_806C724
-
- thumb_func_start sub_806C728
-sub_806C728: @ 806C728
- movs r0, 0
- bx lr
- thumb_func_end sub_806C728
-
- thumb_func_start ScrCmd_checkcoins
-ScrCmd_checkcoins: @ 806C72C
- push {r4,lr}
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl GetVarPointer
- adds r4, r0, 0
- bl GetCoins
- strh r0, [r4]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ScrCmd_checkcoins
-
- thumb_func_start ScrCmd_givecoins
-ScrCmd_givecoins: @ 806C74C
- push {lr}
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- bl GiveCoins
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806C774
- ldr r1, _0806C770 @ =gSpecialVar_Result
- movs r0, 0
- b _0806C778
- .align 2, 0
-_0806C770: .4byte gSpecialVar_Result
-_0806C774:
- ldr r1, _0806C780 @ =gSpecialVar_Result
- movs r0, 0x1
-_0806C778:
- strh r0, [r1]
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0806C780: .4byte gSpecialVar_Result
- thumb_func_end ScrCmd_givecoins
-
- thumb_func_start ScrCmd_takecoins
-ScrCmd_takecoins: @ 806C784
- push {lr}
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- bl TakeCoins
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806C7AC
- ldr r1, _0806C7A8 @ =gSpecialVar_Result
- movs r0, 0
- b _0806C7B0
- .align 2, 0
-_0806C7A8: .4byte gSpecialVar_Result
-_0806C7AC:
- ldr r1, _0806C7B8 @ =gSpecialVar_Result
- movs r0, 0x1
-_0806C7B0:
- strh r0, [r1]
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0806C7B8: .4byte gSpecialVar_Result
- thumb_func_end ScrCmd_takecoins
-
- thumb_func_start sub_806C7BC
-sub_806C7BC: @ 806C7BC
- push {lr}
- bl sub_8069A20
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_806C7BC
-
- thumb_func_start sub_806C7C8
-sub_806C7C8: @ 806C7C8
- push {lr}
- bl sub_8069A2C
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_806C7C8
-
- thumb_func_start ScrCmd_setmonobedient
-ScrCmd_setmonobedient: @ 806C7D4
- push {lr}
- sub sp, 0x4
- movs r2, 0x1
- mov r1, sp
- strb r2, [r1]
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- muls r0, r1
- ldr r1, _0806C808 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x50
- mov r2, sp
- bl SetMonData
- movs r0, 0
- add sp, 0x4
- pop {r1}
- bx r1
- .align 2, 0
-_0806C808: .4byte gPlayerParty
- thumb_func_end ScrCmd_setmonobedient
-
- thumb_func_start ScrCmd_checkmonobedience
-ScrCmd_checkmonobedience: @ 806C80C
- push {r4,lr}
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _0806C83C @ =gSpecialVar_Result
- movs r1, 0x64
- muls r0, r1
- ldr r1, _0806C840 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x50
- movs r2, 0
- bl GetMonData
- strh r0, [r4]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806C83C: .4byte gSpecialVar_Result
-_0806C840: .4byte gPlayerParty
- thumb_func_end ScrCmd_checkmonobedience
-
- thumb_func_start sub_806C844
-sub_806C844: @ 806C844
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- bl ScriptReadHalfword
- lsls r0, 16
- lsrs r0, 16
- bl VarGet
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r0, [r4, 0x8]
- ldrb r2, [r0]
- mov r1, sp
- strb r2, [r1]
- adds r0, 0x1
- str r0, [r4, 0x8]
- cmp r3, 0x5
- bhi _0806C87A
- movs r0, 0x64
- muls r0, r3
- ldr r1, _0806C884 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x23
- mov r2, sp
- bl SetMonData
-_0806C87A:
- movs r0, 0
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806C884: .4byte gPlayerParty
- thumb_func_end sub_806C844
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/script_menu.s b/asm/script_menu.s
index f1127591d..438f715fa 100644
--- a/asm/script_menu.s
+++ b/asm/script_menu.s
@@ -613,8 +613,8 @@ _0809CDE0:
_0809CDE8: .4byte gUnknown_83E0748
thumb_func_end sub_809CD48
- thumb_func_start sub_809CDEC
-sub_809CDEC: @ 809CDEC
+ thumb_func_start ScriptMenu_YesNo
+ScriptMenu_YesNo: @ 809CDEC
push {r4,lr}
ldr r4, _0809CE04 @ =task_yes_no_maybe
adds r0, r4, 0
@@ -649,7 +649,7 @@ _0809CE28:
.align 2, 0
_0809CE30: .4byte gSpecialVar_Result
_0809CE34: .4byte sub_809D6D4
- thumb_func_end sub_809CDEC
+ thumb_func_end ScriptMenu_YesNo
thumb_func_start sub_809CE38
sub_809CE38: @ 809CE38
@@ -733,8 +733,8 @@ _0809CEBC:
_0809CEC4: .4byte gSpecialVar_Result
thumb_func_end task_yes_no_maybe
- thumb_func_start sub_809CEC8
-sub_809CEC8: @ 809CEC8
+ thumb_func_start ScriptMenu_MultichoiceGrid
+ScriptMenu_MultichoiceGrid: @ 809CEC8
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -862,7 +862,7 @@ _0809CFCC: .4byte gSpecialVar_Result
_0809CFD0: .4byte sub_809D6D4
_0809CFD4: .4byte gUnknown_83E04B0
_0809CFD8: .4byte gTasks
- thumb_func_end sub_809CEC8
+ thumb_func_end ScriptMenu_MultichoiceGrid
thumb_func_start sub_809CFDC
sub_809CFDC: @ 809CFDC
@@ -1241,8 +1241,8 @@ _0809D2E8:
bx r0
thumb_func_end sub_809D288
- thumb_func_start sub_809D2F0
-sub_809D2F0: @ 809D2F0
+ thumb_func_start ScriptMenu_ShowPokemonPic
+ScriptMenu_ShowPokemonPic: @ 809D2F0
push {r4-r7,lr}
mov r7, r8
push {r7}
@@ -1344,10 +1344,10 @@ _0809D3C2:
pop {r4-r7}
pop {r1}
bx r1
- thumb_func_end sub_809D2F0
+ thumb_func_end ScriptMenu_ShowPokemonPic
- thumb_func_start sub_809D3CC
-sub_809D3CC: @ 809D3CC
+ thumb_func_start ScriptMenu_GetPicboxWaitFunc
+ScriptMenu_GetPicboxWaitFunc: @ 809D3CC
push {lr}
ldr r0, _0809D3F0 @ =sub_809D288
bl FindTaskIdByFunc
@@ -1374,7 +1374,7 @@ _0809D3FC:
_0809D3FE:
pop {r1}
bx r1
- thumb_func_end sub_809D3CC
+ thumb_func_end ScriptMenu_GetPicboxWaitFunc
thumb_func_start sub_809D404
sub_809D404: @ 809D404
diff --git a/asm/script_pokemon_util_80A0058.s b/asm/script_pokemon_util_80A0058.s
index 191457abe..60f416b48 100644
--- a/asm/script_pokemon_util_80A0058.s
+++ b/asm/script_pokemon_util_80A0058.s
@@ -170,8 +170,8 @@ _080A0196:
bx r1
thumb_func_end ScriptGiveMon
- thumb_func_start sub_80A01AC
-sub_80A01AC: @ 80A01AC
+ thumb_func_start ScriptGiveEgg
+ScriptGiveEgg: @ 80A01AC
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -202,7 +202,7 @@ sub_80A01AC: @ 80A01AC
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80A01AC
+ thumb_func_end ScriptGiveEgg
thumb_func_start CheckForAlivePartyMons
CheckForAlivePartyMons: @ 80A01F4
diff --git a/asm/seagallop.s b/asm/seagallop.s
index 89f8c2867..f54d0d986 100644
--- a/asm/seagallop.s
+++ b/asm/seagallop.s
@@ -371,7 +371,7 @@ _08147150:
bl warp_in
ldr r0, _081471BC @ =sub_805671C
bl SetMainCallback2
- bl sub_80559E4
+ bl ResetInitialPlayerAvatarState
bl sub_81473A0
ldr r0, _081471C0 @ =gUnknown_203F3D0
ldr r0, [r0]
diff --git a/asm/shop.s b/asm/shop.s
index 60b92410d..25a2311ce 100644
--- a/asm/shop.s
+++ b/asm/shop.s
@@ -1023,7 +1023,7 @@ sub_809B300: @ 809B300
lsrs r5, 16
adds r0, r5, 0
adds r1, r6, 0
- bl sub_8099E90
+ bl CopyItemName
str r6, [r4]
str r5, [r4, 0x4]
pop {r4-r6}
@@ -2232,7 +2232,7 @@ _0809BC78: .4byte sub_809BF98
_0809BC7C:
ldr r1, _0809BC94 @ =gStringVar1
adds r0, r4, 0
- bl sub_8099E90
+ bl CopyItemName
ldr r1, _0809BC98 @ =gUnknown_8416766
ldr r2, _0809BC9C @ =sub_809BCA0
adds r0, r6, 0
@@ -2408,7 +2408,7 @@ _0809BDD4:
bl PutWindowTilemap
ldrh r0, [r4, 0xA]
ldr r1, _0809BE40 @ =gStringVar1
- bl sub_8099E90
+ bl CopyItemName
ldr r0, _0809BE44 @ =gStringVar2
movs r2, 0x2
ldrsh r1, [r4, r2]
@@ -2485,7 +2485,7 @@ sub_809BEA4: @ 809BEA4
bl PutWindowTilemap
ldrh r0, [r4, 0xA]
ldrh r1, [r4, 0x2]
- bl sub_809A084
+ bl AddBagItem
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -2826,8 +2826,8 @@ _0809C15A:
_0809C160: .4byte gUnknown_203996C
thumb_func_end sub_809C138
- thumb_func_start sub_809C164
-sub_809C164: @ 809C164
+ thumb_func_start CreatePokemartMenu
+CreatePokemartMenu: @ 809C164
push {r4,lr}
bl sub_809ABD8
movs r0, 0
@@ -2851,10 +2851,10 @@ sub_809C164: @ 809C164
_0809C194: .4byte EnableBothScriptContexts
_0809C198: .4byte gUnknown_203996C
_0809C19C: .4byte gMapHeader
- thumb_func_end sub_809C164
+ thumb_func_end CreatePokemartMenu
- thumb_func_start sub_809C1A0
-sub_809C1A0: @ 809C1A0
+ thumb_func_start CreateDecorationShop1Menu
+CreateDecorationShop1Menu: @ 809C1A0
push {lr}
bl sub_809ABD8
movs r0, 0x2
@@ -2865,10 +2865,10 @@ sub_809C1A0: @ 809C1A0
bx r0
.align 2, 0
_0809C1B8: .4byte EnableBothScriptContexts
- thumb_func_end sub_809C1A0
+ thumb_func_end CreateDecorationShop1Menu
- thumb_func_start sub_809C1BC
-sub_809C1BC: @ 809C1BC
+ thumb_func_start CreateDecorationShop2Menu
+CreateDecorationShop2Menu: @ 809C1BC
push {lr}
bl sub_809ABD8
movs r0, 0x3
@@ -2879,7 +2879,7 @@ sub_809C1BC: @ 809C1BC
bx r0
.align 2, 0
_0809C1D4: .4byte EnableBothScriptContexts
- thumb_func_end sub_809C1BC
+ thumb_func_end CreateDecorationShop2Menu
thumb_func_start sub_809C1D8
sub_809C1D8: @ 809C1D8
diff --git a/asm/slot_machine.s b/asm/slot_machine.s
index 2d1be0535..07483bb5e 100644
--- a/asm/slot_machine.s
+++ b/asm/slot_machine.s
@@ -5,8 +5,8 @@
.text
- thumb_func_start sub_813F804
-sub_813F804: @ 813F804
+ thumb_func_start PlaySlotMachine
+PlaySlotMachine: @ 813F804
push {r4-r6,lr}
adds r6, r1, 0
lsls r0, 16
@@ -39,7 +39,7 @@ _0813F840:
bx r0
.align 2, 0
_0813F848: .4byte sub_813F898
- thumb_func_end sub_813F804
+ thumb_func_end PlaySlotMachine
thumb_func_start sub_813F84C
sub_813F84C: @ 813F84C
diff --git a/asm/start_menu.s b/asm/start_menu.s
index 1d81d0392..4a58b11ad 100644
--- a/asm/start_menu.s
+++ b/asm/start_menu.s
@@ -11,7 +11,7 @@ sub_806ED54: @ 806ED54
ldr r0, _0806ED6C @ =gUnknown_20370F5
movs r1, 0
strb r1, [r0]
- bl sub_805642C
+ bl is_c1_link_related_active
cmp r0, 0x1
bne _0806ED70
bl sub_806EE34
@@ -634,7 +634,7 @@ _0806F254: .4byte gUnknown_20370F0
thumb_func_start ShowStartMenu
ShowStartMenu: @ 806F258
push {lr}
- bl sub_805642C
+ bl is_c1_link_related_active
cmp r0, 0
bne _0806F26E
bl player_bitmagic
diff --git a/asm/teachy_tv.s b/asm/teachy_tv.s
index bdd06dfff..5e2b048e2 100644
--- a/asm/teachy_tv.s
+++ b/asm/teachy_tv.s
@@ -398,7 +398,7 @@ sub_815AEE8: @ 815AEE8
movs r0, 0xB6
lsls r0, 1
movs r1, 0x1
- bl sub_8099F40
+ bl CheckBagHasItem
lsls r0, 24
cmp r0, 0
bne _0815AF30
@@ -443,7 +443,7 @@ sub_815AF5C: @ 815AF5C
movs r0, 0xB6
lsls r0, 1
movs r1, 0x1
- bl sub_8099F40
+ bl CheckBagHasItem
lsls r0, 24
cmp r0, 0
bne _0815AF84
diff --git a/asm/tm_case.s b/asm/tm_case.s
index 1539343e8..e942bbc32 100644
--- a/asm/tm_case.s
+++ b/asm/tm_case.s
@@ -1855,7 +1855,7 @@ sub_8132714: @ 8132714
ldr r0, _08132744 @ =gSpecialVar_ItemId
ldrh r0, [r0]
ldr r1, _08132748 @ =gStringVar1
- bl sub_8099E90
+ bl CopyItemName
ldr r5, _0813274C @ =gStringVar4
ldr r1, _08132750 @ =gUnknown_841635E
adds r0, r5, 0
@@ -2093,7 +2093,7 @@ sub_8132908: @ 8132908
bne _08132968
ldrh r0, [r6]
ldr r1, _08132958 @ =gStringVar1
- bl sub_8099E90
+ bl CopyItemName
ldr r4, _0813295C @ =gStringVar4
ldr r1, _08132960 @ =gUnknown_84168F1
adds r0, r4, 0
@@ -2133,7 +2133,7 @@ _08132980:
_08132988:
ldrh r0, [r6]
ldr r1, _081329B4 @ =gStringVar1
- bl sub_8099E90
+ bl CopyItemName
ldr r4, _081329B8 @ =gStringVar4
ldr r1, _081329BC @ =gUnknown_8416911
adds r0, r4, 0
@@ -2506,7 +2506,7 @@ sub_8132CAC: @ 8132CAC
ldr r0, _08132D1C @ =gSpecialVar_ItemId
ldrh r0, [r0]
ldr r1, _08132D20 @ =gStringVar1
- bl sub_8099E90
+ bl CopyItemName
ldr r6, _08132D24 @ =gStringVar3
ldrh r1, [r4, 0x2]
movs r0, 0x4
@@ -2568,7 +2568,7 @@ sub_8132D34: @ 8132D34
ldrh r0, [r5]
mov r2, r8
ldrh r1, [r2, 0x10]
- bl sub_809A1D8
+ bl RemoveBagItem
ldr r7, _08132DFC @ =gSaveBlock1Ptr
ldr r4, [r7]
movs r3, 0xA4
@@ -2729,16 +2729,16 @@ sub_8132E64: @ 8132E64
bl sub_81320AC
ldr r0, _08132F0C @ =0x00000121
movs r1, 0x1
- bl sub_809A084
+ bl AddBagItem
ldr r0, _08132F10 @ =0x00000123
movs r1, 0x1
- bl sub_809A084
+ bl AddBagItem
ldr r0, _08132F14 @ =0x00000129
movs r1, 0x1
- bl sub_809A084
+ bl AddBagItem
ldr r0, _08132F18 @ =0x00000143
movs r1, 0x1
- bl sub_809A084
+ bl AddBagItem
ldr r1, _08132F1C @ =sub_815ABFC
movs r0, 0x4
movs r2, 0
diff --git a/asm/trainer_tower.s b/asm/trainer_tower.s
index c1da74a98..a1ca0da57 100644
--- a/asm/trainer_tower.s
+++ b/asm/trainer_tower.s
@@ -5,720 +5,6 @@
.text
- thumb_func_start sub_815E068
-sub_815E068: @ 815E068
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r3, r0, 0
- lsls r1, 24
- lsrs r2, r1, 24
- movs r5, 0
- cmp r0, 0x1
- beq _0815E0B4
- cmp r0, 0x1
- bgt _0815E084
- cmp r0, 0
- beq _0815E088
- b _0815E0F8
-_0815E084:
- cmp r3, 0x2
- bne _0815E0F8
-_0815E088:
- movs r4, 0
- ldr r0, _0815E0B0 @ =gUnknown_8479ED8
- ldrb r1, [r0, 0x1]
- adds r3, r0, 0
- cmp r1, r2
- beq _0815E0A4
- adds r1, r3, 0
-_0815E096:
- adds r1, 0x4
- adds r4, 0x1
- cmp r4, 0x52
- bhi _0815E0A4
- ldrb r0, [r1, 0x1]
- cmp r0, r2
- bne _0815E096
-_0815E0A4:
- cmp r4, 0x53
- beq _0815E0F8
- lsls r0, r4, 2
- adds r0, r3
- ldrb r5, [r0, 0x2]
- b _0815E0F8
- .align 2, 0
-_0815E0B0: .4byte gUnknown_8479ED8
-_0815E0B4:
- movs r4, 0
- ldr r1, _0815E0BC @ =gUnknown_847A024
- b _0815E0C8
- .align 2, 0
-_0815E0BC: .4byte gUnknown_847A024
-_0815E0C0:
- adds r1, 0x8
- adds r4, 0x1
- cmp r4, 0x9
- bhi _0815E0CE
-_0815E0C8:
- ldrb r0, [r1, 0x2]
- cmp r0, r2
- bne _0815E0C0
-_0815E0CE:
- cmp r4, 0xA
- beq _0815E0F8
- ldr r0, _0815E0E8 @ =0x00004003
- bl VarGet
- lsls r0, 16
- cmp r0, 0
- beq _0815E0F0
- ldr r1, _0815E0EC @ =gUnknown_847A024
- lsls r0, r4, 3
- adds r0, r1
- ldrb r5, [r0, 0x4]
- b _0815E0F8
- .align 2, 0
-_0815E0E8: .4byte 0x00004003
-_0815E0EC: .4byte gUnknown_847A024
-_0815E0F0:
- ldr r1, _0815E108 @ =gUnknown_847A024
- lsls r0, r4, 3
- adds r0, r1
- ldrb r5, [r0, 0x3]
-_0815E0F8:
- ldr r2, _0815E10C @ =gUnknown_20370DC
- ldr r1, _0815E110 @ =gUnknown_20370DA
- ldrh r0, [r1]
- strh r0, [r2]
- strh r5, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0815E108: .4byte gUnknown_847A024
-_0815E10C: .4byte gUnknown_20370DC
-_0815E110: .4byte gUnknown_20370DA
- thumb_func_end sub_815E068
-
- thumb_func_start sub_815E114
-sub_815E114: @ 815E114
- push {lr}
- ldr r0, _0815E120 @ =c2_exit_to_overworld_1_continue_scripts_restart_music
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_0815E120: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
- thumb_func_end sub_815E114
-
- thumb_func_start sub_815E124
-sub_815E124: @ 815E124
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_80D08F8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0815E14C
- ldr r0, _0815E154 @ =gMain
- ldr r1, _0815E158 @ =sub_815E114
- str r1, [r0, 0x8]
- bl sub_80563F0
- ldr r0, _0815E15C @ =sub_800FD9C
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_0815E14C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0815E154: .4byte gMain
-_0815E158: .4byte sub_815E114
-_0815E15C: .4byte sub_800FD9C
- thumb_func_end sub_815E124
-
- thumb_func_start sub_815E160
-sub_815E160: @ 815E160
- push {r4,lr}
- ldr r4, _0815E1AC @ =gBattleTypeFlags
- ldr r3, _0815E1B0 @ =0x00080008
- str r3, [r4]
- ldr r0, _0815E1B4 @ =gUnknown_203F458
- ldr r1, [r0]
- ldrb r2, [r1]
- lsls r0, r2, 5
- subs r0, r2
- lsls r0, 5
- adds r1, r0
- ldrb r0, [r1, 0xE]
- cmp r0, 0x1
- bne _0815E180
- orrs r0, r3
- str r0, [r4]
-_0815E180:
- ldr r1, _0815E1B8 @ =gTrainerBattleOpponent_A
- movs r0, 0
- strh r0, [r1]
- bl sub_815E9FC
- ldr r0, _0815E1BC @ =sub_815E124
- movs r1, 0x1
- bl CreateTask
- movs r0, 0
- bl PlayMapChosenOrBattleBGM
- bl sub_8080060
- lsls r0, 24
- lsrs r0, 24
- bl sub_80D08B8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0815E1AC: .4byte gBattleTypeFlags
-_0815E1B0: .4byte 0x00080008
-_0815E1B4: .4byte gUnknown_203F458
-_0815E1B8: .4byte gTrainerBattleOpponent_A
-_0815E1BC: .4byte sub_815E124
- thumb_func_end sub_815E160
-
- thumb_func_start sub_815E1C0
-sub_815E1C0: @ 815E1C0
- push {lr}
- ldr r0, _0815E1E4 @ =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0
- bne _0815E1DE
- ldr r3, _0815E1E8 @ =gSpecialVar_Result
- ldr r0, _0815E1EC @ =gUnknown_203F458
- ldr r1, [r0]
- ldrb r2, [r1]
- lsls r0, r2, 5
- subs r0, r2
- lsls r0, 5
- adds r1, r0
- ldrb r0, [r1, 0xE]
- strh r0, [r3]
-_0815E1DE:
- pop {r0}
- bx r0
- .align 2, 0
-_0815E1E4: .4byte gSpecialVar_0x8005
-_0815E1E8: .4byte gSpecialVar_Result
-_0815E1EC: .4byte gUnknown_203F458
- thumb_func_end sub_815E1C0
-
- thumb_func_start sub_815E1F0
-sub_815E1F0: @ 815E1F0
- ldr r0, _0815E210 @ =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r2, _0815E214 @ =0x00003d34
- adds r0, r1, r2
- ldr r2, [r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r1, r0
- movs r0, 0xF5
- lsls r0, 6
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- bx lr
- .align 2, 0
-_0815E210: .4byte gSaveBlock1Ptr
-_0815E214: .4byte 0x00003d34
- thumb_func_end sub_815E1F0
-
- thumb_func_start sub_815E218
-sub_815E218: @ 815E218
- push {lr}
- ldr r0, _0815E260 @ =gMapHeader
- ldrh r0, [r0, 0x12]
- mov r12, r0
- ldr r3, _0815E264 @ =0xfffffed6
- add r3, r12
- ldr r0, _0815E268 @ =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r2, _0815E26C @ =0x00003d34
- adds r0, r1, r2
- ldr r2, [r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r1, r0
- movs r0, 0xF5
- lsls r0, 6
- adds r1, r0
- ldrb r1, [r1]
- cmp r3, r1
- bne _0815E27C
- ldr r3, _0815E270 @ =0xfffffed7
- add r3, r12
- ldr r0, _0815E274 @ =gUnknown_203F458
- ldr r1, [r0]
- ldrb r2, [r1]
- lsls r0, r2, 5
- subs r0, r2
- lsls r0, 5
- adds r1, r0
- ldrb r1, [r1, 0xD]
- cmp r3, r1
- bgt _0815E27C
- ldr r1, _0815E278 @ =gSpecialVar_Result
- movs r0, 0
- b _0815E280
- .align 2, 0
-_0815E260: .4byte gMapHeader
-_0815E264: .4byte 0xfffffed6
-_0815E268: .4byte gSaveBlock1Ptr
-_0815E26C: .4byte 0x00003d34
-_0815E270: .4byte 0xfffffed7
-_0815E274: .4byte gUnknown_203F458
-_0815E278: .4byte gSpecialVar_Result
-_0815E27C:
- ldr r1, _0815E288 @ =gSpecialVar_Result
- movs r0, 0x1
-_0815E280:
- strh r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_0815E288: .4byte gSpecialVar_Result
- thumb_func_end sub_815E218
-
- thumb_func_start sub_815E28C
-sub_815E28C: @ 815E28C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r4, _0815E2D0 @ =gSaveBlock1Ptr
- ldr r0, [r4]
- ldr r5, _0815E2D4 @ =0x00003d34
- adds r1, r0, r5
- ldr r0, _0815E2D8 @ =gSpecialVar_0x8005
- ldrh r0, [r0]
- str r0, [r1]
- cmp r0, 0x3
- bls _0815E2A8
- movs r0, 0
- str r0, [r1]
-_0815E2A8:
- bl sub_815EC0C
- bl sub_815D834
- cmp r0, 0
- bne _0815E2E0
- ldr r1, [r4]
- adds r0, r1, r5
- ldr r2, [r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r1, r0
- ldr r0, _0815E2DC @ =0x00003d42
- adds r1, r0
- ldrb r0, [r1]
- movs r2, 0x20
- orrs r0, r2
- b _0815E2FA
- .align 2, 0
-_0815E2D0: .4byte gSaveBlock1Ptr
-_0815E2D4: .4byte 0x00003d34
-_0815E2D8: .4byte gSpecialVar_0x8005
-_0815E2DC: .4byte 0x00003d42
-_0815E2E0:
- ldr r1, [r4]
- adds r0, r1, r5
- ldr r2, [r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r1, r0
- ldr r0, _0815E384 @ =0x00003d42
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r2
-_0815E2FA:
- strb r0, [r1]
- ldr r6, _0815E388 @ =gSaveBlock1Ptr
- ldr r2, [r6]
- ldr r5, _0815E38C @ =0x00003d34
- adds r0, r2, r5
- ldr r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r2, r0
- movs r0, 0xF5
- lsls r0, 6
- adds r2, r0
- movs r0, 0
- mov r8, r0
- mov r0, r8
- strb r0, [r2]
- ldr r0, [r6]
- adds r1, r0, r5
- ldr r2, [r1]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- ldr r4, _0815E390 @ =0x00003d38
- adds r1, r4
- adds r0, r1
- bl SetVBlankCounter1Ptr
- ldr r2, [r6]
- adds r3, r2, r5
- ldr r1, [r3]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r4, r2, r4
- adds r4, r0
- mov r0, r8
- str r0, [r4]
- ldr r1, [r3]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r2, r0
- ldr r3, _0815E384 @ =0x00003d42
- adds r2, r3
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldr r1, [r6]
- adds r5, r1, r5
- ldr r2, [r5]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r1, r0
- adds r1, r3
- ldrb r2, [r1]
- movs r0, 0x3
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0815E384: .4byte 0x00003d42
-_0815E388: .4byte gSaveBlock1Ptr
-_0815E38C: .4byte 0x00003d34
-_0815E390: .4byte 0x00003d38
- thumb_func_end sub_815E28C
-
- thumb_func_start sub_815E394
-sub_815E394: @ 815E394
- push {lr}
- bl DisableVBlankCounter1
- ldr r3, _0815E3F8 @ =gSpecialVar_Result
- movs r0, 0
- strh r0, [r3]
- ldr r0, _0815E3FC @ =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r1, _0815E400 @ =0x00003d34
- adds r0, r2, r1
- ldr r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r2, r0
- ldr r0, _0815E404 @ =0x00003d42
- adds r2, r0
- ldrb r0, [r2]
- lsls r0, 29
- cmp r0, 0
- bge _0815E3C2
- movs r0, 0x1
- strh r0, [r3]
-_0815E3C2:
- ldrb r2, [r2]
- lsls r0, r2, 31
- cmp r0, 0
- beq _0815E3D6
- lsls r0, r2, 30
- cmp r0, 0
- bge _0815E3D6
- ldrh r0, [r3]
- adds r0, 0x1
- strh r0, [r3]
-_0815E3D6:
- ldr r0, _0815E3FC @ =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r2, _0815E400 @ =0x00003d34
- adds r0, r1, r2
- ldr r2, [r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r1, r0
- ldr r0, _0815E404 @ =0x00003d42
- adds r1, r0
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_0815E3F8: .4byte gSpecialVar_Result
-_0815E3FC: .4byte gSaveBlock1Ptr
-_0815E400: .4byte 0x00003d34
-_0815E404: .4byte 0x00003d42
- thumb_func_end sub_815E394
-
- thumb_func_start sub_815E408
-sub_815E408: @ 815E408
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r1, _0815E444 @ =gUnknown_847A2B4
- ldr r0, _0815E448 @ =gUnknown_203F458
- ldr r0, [r0]
- ldrb r0, [r0, 0xF]
- lsls r0, 1
- adds r0, r1
- ldrh r4, [r0]
- ldr r0, _0815E44C @ =gSaveBlock1Ptr
- mov r8, r0
- ldr r2, [r0]
- ldr r7, _0815E450 @ =0x00003d34
- adds r0, r2, r7
- ldr r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r2, r0
- ldr r6, _0815E454 @ =0x00003d42
- adds r2, r6
- ldrb r0, [r2]
- lsls r0, 31
- lsrs r5, r0, 31
- cmp r5, 0
- beq _0815E45C
- ldr r1, _0815E458 @ =gSpecialVar_Result
- movs r0, 0x2
- b _0815E4A0
- .align 2, 0
-_0815E444: .4byte gUnknown_847A2B4
-_0815E448: .4byte gUnknown_203F458
-_0815E44C: .4byte gSaveBlock1Ptr
-_0815E450: .4byte 0x00003d34
-_0815E454: .4byte 0x00003d42
-_0815E458: .4byte gSpecialVar_Result
-_0815E45C:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_809A084
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0815E49C
- ldr r1, _0815E494 @ =gStringVar2
- adds r0, r4, 0
- bl sub_8099E90
- mov r0, r8
- ldr r1, [r0]
- adds r0, r1, r7
- ldr r2, [r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r1, r0
- adds r1, r6
- ldrb r0, [r1]
- movs r2, 0x1
- orrs r0, r2
- strb r0, [r1]
- ldr r0, _0815E498 @ =gSpecialVar_Result
- strh r5, [r0]
- b _0815E4A2
- .align 2, 0
-_0815E494: .4byte gStringVar2
-_0815E498: .4byte gSpecialVar_Result
-_0815E49C:
- ldr r1, _0815E4AC @ =gSpecialVar_Result
- movs r0, 0x1
-_0815E4A0:
- strh r0, [r1]
-_0815E4A2:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0815E4AC: .4byte gSpecialVar_Result
- thumb_func_end sub_815E408
-
- thumb_func_start sub_815E4B0
-sub_815E4B0: @ 815E4B0
- push {r4-r6,lr}
- ldr r6, _0815E4D8 @ =gSaveBlock1Ptr
- ldr r2, [r6]
- ldr r1, _0815E4DC @ =0x00003d34
- adds r0, r2, r1
- ldr r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r1, r0, 2
- adds r0, r2, r1
- ldr r3, _0815E4E0 @ =0x00003d42
- adds r0, r3
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r5, r0, 31
- cmp r5, 0
- beq _0815E4E8
- ldr r1, _0815E4E4 @ =gSpecialVar_Result
- movs r0, 0x2
- b _0815E534
- .align 2, 0
-_0815E4D8: .4byte gSaveBlock1Ptr
-_0815E4DC: .4byte 0x00003d34
-_0815E4E0: .4byte 0x00003d42
-_0815E4E4: .4byte gSpecialVar_Result
-_0815E4E8:
- ldr r4, _0815E520 @ =0x00003d38
- adds r0, r1, r4
- adds r0, r2, r0
- adds r0, 0x4
- bl sub_815EDDC
- ldr r3, [r6]
- ldr r2, _0815E524 @ =0x00003d34
- adds r1, r3, r2
- ldr r2, [r1]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r4, r3, r4
- adds r4, r1
- ldr r4, [r4]
- cmp r0, r4
- bls _0815E530
- adds r0, r1, r3
- ldr r3, _0815E528 @ =0x00003d3c
- adds r0, r3
- adds r1, r4, 0
- bl sub_815EDF4
- ldr r0, _0815E52C @ =gSpecialVar_Result
- strh r5, [r0]
- b _0815E536
- .align 2, 0
-_0815E520: .4byte 0x00003d38
-_0815E524: .4byte 0x00003d34
-_0815E528: .4byte 0x00003d3c
-_0815E52C: .4byte gSpecialVar_Result
-_0815E530:
- ldr r1, _0815E55C @ =gSpecialVar_Result
- movs r0, 0x1
-_0815E534:
- strh r0, [r1]
-_0815E536:
- ldr r0, _0815E560 @ =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r2, _0815E564 @ =0x00003d34
- adds r0, r1, r2
- ldr r2, [r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r1, r0
- ldr r3, _0815E568 @ =0x00003d42
- adds r1, r3
- ldrb r0, [r1]
- movs r2, 0x2
- orrs r0, r2
- strb r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0815E55C: .4byte gSpecialVar_Result
-_0815E560: .4byte gSaveBlock1Ptr
-_0815E564: .4byte 0x00003d34
-_0815E568: .4byte 0x00003d42
- thumb_func_end sub_815E4B0
-
- thumb_func_start sub_815E56C
-sub_815E56C: @ 815E56C
- push {r4,lr}
- ldr r0, _0815E5A0 @ =gSaveBlock1Ptr
- ldr r4, [r0]
- ldr r1, _0815E5A4 @ =0x00003d34
- adds r0, r4, r1
- ldr r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r3, r0, 2
- adds r0, r4, r3
- ldr r1, _0815E5A8 @ =0x00003d42
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- blt _0815E5BA
- subs r1, 0xA
- adds r0, r4, r1
- adds r2, r0, r3
- ldr r1, [r2]
- ldr r0, _0815E5AC @ =0x00034bbe
- cmp r1, r0
- bls _0815E5B0
- adds r0, 0x1
- str r0, [r2]
- b _0815E5BA
- .align 2, 0
-_0815E5A0: .4byte gSaveBlock1Ptr
-_0815E5A4: .4byte 0x00003d34
-_0815E5A8: .4byte 0x00003d42
-_0815E5AC: .4byte 0x00034bbe
-_0815E5B0:
- ldr r1, _0815E5C0 @ =0x00003d38
- adds r0, r3, r1
- adds r0, r4, r0
- bl SetVBlankCounter1Ptr
-_0815E5BA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0815E5C0: .4byte 0x00003d38
- thumb_func_end sub_815E56C
-
- thumb_func_start sub_815E5C4
-sub_815E5C4: @ 815E5C4
- ldr r0, _0815E5E4 @ =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r2, _0815E5E8 @ =0x00003d34
- adds r0, r1, r2
- ldr r2, [r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r1, r0
- ldr r0, _0815E5EC @ =0x00003d42
- adds r1, r0
- ldrb r0, [r1]
- movs r2, 0x8
- orrs r0, r2
- strb r0, [r1]
- bx lr
- .align 2, 0
-_0815E5E4: .4byte gSaveBlock1Ptr
-_0815E5E8: .4byte 0x00003d34
-_0815E5EC: .4byte 0x00003d42
- thumb_func_end sub_815E5C4
-
thumb_func_start sub_815E5F0
sub_815E5F0: @ 815E5F0
push {lr}
@@ -1676,4 +962,59 @@ _0815EDD4: .4byte gUnknown_83FE998
_0815EDD8: .4byte gUnknown_83FE9C4
thumb_func_end sub_815EC8C
+ thumb_func_start sub_815EDDC
+sub_815EDDC: @ 815EDDC
+ ldr r1, _0815EDF0 @ =gSaveBlock2Ptr
+ ldr r1, [r1]
+ movs r2, 0xF2
+ lsls r2, 4
+ adds r1, r2
+ ldr r0, [r0]
+ ldr r1, [r1]
+ eors r0, r1
+ bx lr
+ .align 2, 0
+_0815EDF0: .4byte gSaveBlock2Ptr
+ thumb_func_end sub_815EDDC
+
+ thumb_func_start sub_815EDF4
+sub_815EDF4: @ 815EDF4
+ ldr r2, _0815EE08 @ =gSaveBlock2Ptr
+ ldr r2, [r2]
+ movs r3, 0xF2
+ lsls r3, 4
+ adds r2, r3
+ ldr r2, [r2]
+ eors r2, r1
+ str r2, [r0]
+ bx lr
+ .align 2, 0
+_0815EE08: .4byte gSaveBlock2Ptr
+ thumb_func_end sub_815EDF4
+
+ thumb_func_start sub_815EE0C
+sub_815EE0C: @ 815EE0C
+ push {r4-r6,lr}
+ ldr r6, _0815EE30 @ =gSaveBlock1Ptr
+ ldr r5, _0815EE34 @ =0x00003d38
+ movs r4, 0x3
+_0815EE14:
+ ldr r0, [r6]
+ adds r0, r5
+ adds r0, 0x4
+ ldr r1, _0815EE38 @ =0x00034bbf
+ bl sub_815EDF4
+ adds r5, 0xC
+ subs r4, 0x1
+ cmp r4, 0
+ bge _0815EE14
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0815EE30: .4byte gSaveBlock1Ptr
+_0815EE34: .4byte 0x00003d38
+_0815EE38: .4byte 0x00034bbf
+ thumb_func_end sub_815EE0C
+
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/unk_810C3A4.s b/asm/unk_810C3A4.s
index e7e825483..cabaac727 100644
--- a/asm/unk_810C3A4.s
+++ b/asm/unk_810C3A4.s
@@ -180,7 +180,7 @@ sub_810C4EC: @ 810C4EC
movs r0, 0xB5
lsls r0, 1
movs r1, 0x1
- bl sub_8099F40
+ bl CheckBagHasItem
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
diff --git a/asm/unk_8147AA8.s b/asm/unk_8147AA8.s
index a7761148d..c495dc281 100644
--- a/asm/unk_8147AA8.s
+++ b/asm/unk_8147AA8.s
@@ -2300,14 +2300,14 @@ _08148BFC:
beq _08148C54
ldrh r0, [r1, 0x3E]
ldrh r1, [r2]
- bl sub_809A084
+ bl AddBagItem
lsls r0, 24
cmp r0, 0
beq _08148C54
ldr r0, [r4]
ldrh r0, [r0, 0x3E]
movs r1, 0x1
- bl sub_809A000
+ bl CheckBagHasSpace
lsls r0, 24
cmp r0, 0
bne _08148C4C
@@ -4162,7 +4162,7 @@ _0814998A:
beq _0814999C
adds r0, r5, 0
adds r1, r4, 0
- bl sub_809A000
+ bl CheckBagHasSpace
lsls r0, 24
cmp r0, 0
beq _08149984
@@ -5613,7 +5613,7 @@ sub_814A468: @ 814A468
ldr r1, [r5]
adds r1, 0x26
adds r0, r4, 0
- bl sub_8099E90
+ bl CopyItemName
ldr r0, [r5]
adds r0, 0x66
adds r1, r6, 0
@@ -5705,7 +5705,7 @@ sub_814A53C: @ 814A53C
ldr r4, _0814A5AC @ =gUnknown_203F3D8
ldr r1, [r4]
adds r1, 0x26
- bl sub_8099E90
+ bl CopyItemName
bl UnkTextUtil_Reset
ldr r1, [r4]
adds r1, 0x26
@@ -5760,7 +5760,7 @@ sub_814A5B4: @ 814A5B4
ldr r4, _0814A624 @ =gUnknown_203F3D8
ldr r1, [r4]
adds r1, 0x26
- bl sub_8099E90
+ bl CopyItemName
bl UnkTextUtil_Reset
ldr r1, [r4]
adds r1, 0x26
diff --git a/asm/unk_814B6F0.s b/asm/unk_814B6F0.s
index 90882d61c..8cf90cd23 100644
--- a/asm/unk_814B6F0.s
+++ b/asm/unk_814B6F0.s
@@ -204,7 +204,7 @@ _0814B878: .4byte gSpecialVar_ItemId
_0814B87C:
ldrh r0, [r1]
movs r1, 0x1
- bl sub_809A1D8
+ bl RemoveBagItem
_0814B884:
ldr r4, _0814B8E0 @ =gUnknown_203F3DC
ldr r2, [r4]
diff --git a/asm/unk_81507FC.s b/asm/unk_81507FC.s
index 0118eff4b..e0448643e 100644
--- a/asm/unk_81507FC.s
+++ b/asm/unk_81507FC.s
@@ -6240,7 +6240,7 @@ _08153754: .4byte gUnknown_203F3E0
_08153758:
adds r0, r5, 0
movs r1, 0x1
- bl sub_809A000
+ bl CheckBagHasSpace
lsls r0, 24
cmp r0, 0
bne _0815376A
@@ -6249,10 +6249,10 @@ _08153758:
_0815376A:
adds r0, r6, 0
movs r1, 0x1
- bl sub_809A084
+ bl AddBagItem
adds r0, r6, 0
movs r1, 0x1
- bl sub_809A000
+ bl CheckBagHasSpace
lsls r0, 24
cmp r0, 0
beq _08153784
@@ -9989,7 +9989,7 @@ _08155480:
lsrs r0, 16
add r5, sp, 0x70
adds r1, r5, 0
- bl sub_8099E90
+ bl CopyItemName
movs r0, 0
adds r1, r5, 0
bl UnkTextUtil_SetPtrI
@@ -10021,7 +10021,7 @@ _08155480:
lsls r0, 16
lsrs r0, 16
adds r1, r5, 0
- bl sub_8099E90
+ bl CopyItemName
movs r0, 0
adds r1, r5, 0
bl UnkTextUtil_SetPtrI
diff --git a/asm/unk_815EDDC.s b/asm/unk_815EDDC.s
index 116458940..16db54083 100644
--- a/asm/unk_815EDDC.s
+++ b/asm/unk_815EDDC.s
@@ -5,61 +5,6 @@
.text
- thumb_func_start sub_815EDDC
-sub_815EDDC: @ 815EDDC
- ldr r1, _0815EDF0 @ =gSaveBlock2Ptr
- ldr r1, [r1]
- movs r2, 0xF2
- lsls r2, 4
- adds r1, r2
- ldr r0, [r0]
- ldr r1, [r1]
- eors r0, r1
- bx lr
- .align 2, 0
-_0815EDF0: .4byte gSaveBlock2Ptr
- thumb_func_end sub_815EDDC
-
- thumb_func_start sub_815EDF4
-sub_815EDF4: @ 815EDF4
- ldr r2, _0815EE08 @ =gSaveBlock2Ptr
- ldr r2, [r2]
- movs r3, 0xF2
- lsls r3, 4
- adds r2, r3
- ldr r2, [r2]
- eors r2, r1
- str r2, [r0]
- bx lr
- .align 2, 0
-_0815EE08: .4byte gSaveBlock2Ptr
- thumb_func_end sub_815EDF4
-
- thumb_func_start sub_815EE0C
-sub_815EE0C: @ 815EE0C
- push {r4-r6,lr}
- ldr r6, _0815EE30 @ =gSaveBlock1Ptr
- ldr r5, _0815EE34 @ =0x00003d38
- movs r4, 0x3
-_0815EE14:
- ldr r0, [r6]
- adds r0, r5
- adds r0, 0x4
- ldr r1, _0815EE38 @ =0x00034bbf
- bl sub_815EDF4
- adds r5, 0xC
- subs r4, 0x1
- cmp r4, 0
- bge _0815EE14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0815EE30: .4byte gSaveBlock1Ptr
-_0815EE34: .4byte 0x00003d38
-_0815EE38: .4byte 0x00034bbf
- thumb_func_end sub_815EE0C
-
thumb_func_start sub_815EE3C
sub_815EE3C: @ 815EE3C
ldr r1, _0815EE50 @ =gSaveBlock2Ptr
diff --git a/data/data_835B488.s b/data/data_835B488.s
index 8d2183672..71e98b2ba 100644
--- a/data/data_835B488.s
+++ b/data/data_835B488.s
@@ -657,29 +657,16 @@ gUnknown_83A720C:: @ 83A720C
gUnknown_83A7240:: @ 83A7240
.asciz "0"
- .align 2
-gNullScriptPtr:: @ 83A7244
- .incbin "baserom.gba", 0x3A7244, 0x4
-
-gUnknown_83A7248:: @ 83A7248
- .incbin "baserom.gba", 0x3A7248, 0x14
-
-gUnknown_83A725C:: @ 83A725C
- .asciz "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/scrcmd.c"
-
- .align 2
-gUnknown_83A7290:: @ 83A7290
- .asciz "0"
-
- .align 2
-gUnknown_83A7294:: @ 83A7294
- .incbin "baserom.gba", 0x3A7294, 0xC
+ .section .rodata.83A72A0
gUnknown_83A72A0:: @ 83A72A0
- .incbin "baserom.gba", 0x3A72A0, 0x2
+ .string "S$"
gUnknown_83A72A2:: @ 83A72A2
- .incbin "baserom.gba", 0x3A72A2, 0x6
+ .string "IES$"
+
+gUnknown_83A72A6:: @ 83A72A6
+ .string " "
gUnknown_83A72A8:: @ 83A72A8
.incbin "baserom.gba", 0x3A72A8, 0x68
@@ -1560,7 +1547,7 @@ gUnknown_83DFC9C:: @ 83DFC9C
gUnknown_83E04B0:: @ 83E04B0
.incbin "baserom.gba", 0x3E04B0, 0x208
-gUnknown_83E06B8:: @ 83E06B8
+gStdStringPtrs:: @ 83E06B8
.incbin "baserom.gba", 0x3E06B8, 0x74
gUnknown_83E072C:: @ 83E072C
diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s
index 9c39a96d2..a96e9ff70 100644
--- a/data/data_83FECCC.s
+++ b/data/data_83FECCC.s
@@ -785,7 +785,7 @@ gUnknown_84162B9:: @ 84162B9
.incbin "baserom.gba", 0x4162B9, 0x4
gUnknown_84162BD:: @ 84162BD
- .incbin "baserom.gba", 0x4162BD, 0x7
+ .string " BERRY$"
gText_Coins:: @ 84162C4
.incbin "baserom.gba", 0x4162C4, 0x24
diff --git a/data/event_scripts.s b/data/event_scripts.s
index 9baa201e5..23f6ad5a9 100644
--- a/data/event_scripts.s
+++ b/data/event_scripts.s
@@ -40,7 +40,7 @@ gStdScripts:: @ 8160450
.4byte gStdScript_81A676C
.4byte gStdScript_81A8E58
.4byte gStdScript_81A4E66
-gStdScripts_End::
+gStdScriptsEnd::
gUnknown_8160478:: @ 8160478
.incbin "baserom.gba", 0x160478, 0x886C
diff --git a/data/script_cmd_table.inc b/data/script_cmd_table.inc
index 29850d685..2faa40381 100644
--- a/data/script_cmd_table.inc
+++ b/data/script_cmd_table.inc
@@ -1,8 +1,8 @@
.align 2
gScriptCmdTable:: @ 815F9B4
- .4byte sub_8069ED0
- .4byte sub_8069ED4
+ .4byte ScrCmd_nop
+ .4byte ScrCmd_nop1
.4byte ScrCmd_end
.4byte ScrCmd_return
.4byte ScrCmd_call
@@ -38,48 +38,48 @@ gScriptCmdTable:: @ 815F9B4
.4byte ScrCmd_compare_var_to_var
.4byte ScrCmd_callnative
.4byte ScrCmd_gotonative
- .4byte sub_8069EFC
- .4byte sub_8069F3C
- .4byte sub_8069FA4
+ .4byte ScrCmd_special
+ .4byte ScrCmd_specialvar
+ .4byte ScrCmd_waitstate
.4byte ScrCmd_delay
.4byte ScrCmd_setflag
.4byte ScrCmd_clearflag
.4byte ScrCmd_checkflag
- .4byte sub_806A9D4
- .4byte sub_806A9D8
- .4byte sub_806A9DC
+ .4byte ScrCmd_initclock
+ .4byte ScrCmd_dodailyevents
+ .4byte ScrCmd_gettime
.4byte ScrCmd_playse
- .4byte sub_806B094
+ .4byte ScrCmd_waitse
.4byte ScrCmd_playfanfare
- .4byte sub_806B0CC
- .4byte sub_806B0E0
- .4byte sub_806B120
- .4byte sub_806B134
- .4byte sub_806B154
- .4byte sub_806B17C
- .4byte sub_806B1C8
+ .4byte ScrCmd_waitfanfare
+ .4byte ScrCmd_playbgm
+ .4byte ScrCmd_savebgm
+ .4byte ScrCmd_fadedefaultbgm
+ .4byte ScrCmd_fadenewbgm
+ .4byte ScrCmd_fadeoutbgm
+ .4byte ScrCmd_fadeinbgm
.4byte ScrCmd_warp
.4byte ScrCmd_warpsilent
.4byte ScrCmd_warpdoor
.4byte ScrCmd_warphole
- .4byte sub_806AC70
+ .4byte ScrCmd_warpteleport
.4byte ScrCmd_setwarp
.4byte ScrCmd_setdynamicwarp
- .4byte sub_806AE90
- .4byte sub_806AF10
+ .4byte ScrCmd_setdivewarp
+ .4byte ScrCmd_setholewarp
.4byte ScrCmd_getplayerxy
.4byte ScrCmd_getpartysize
- .4byte sub_806A610
+ .4byte ScrCmd_giveitem
.4byte ScrCmd_takeitem
- .4byte sub_806A6A0
- .4byte sub_806A6E4
+ .4byte ScrCmd_checkitemspace
+ .4byte ScrCmd_checkitem
.4byte ScrCmd_checkitemtype
.4byte ScrCmd_givepcitem
.4byte ScrCmd_checkpcitem
- .4byte sub_806A7DC
- .4byte sub_806A7F0
- .4byte sub_806A818
- .4byte sub_806A804
+ .4byte ScrCmd_givedecoration
+ .4byte ScrCmd_takedecoration
+ .4byte ScrCmd_checkdecor
+ .4byte ScrCmd_checkdecorspace
.4byte ScrCmd_applymovement
.4byte ScrCmd_applymovement_at
.4byte ScrCmd_waitmovement
@@ -94,34 +94,34 @@ gScriptCmdTable:: @ 815F9B4
.4byte ScrCmd_faceplayer
.4byte ScrCmd_turnobject
.4byte ScrCmd_trainerbattle
- .4byte sub_806C2D8
- .4byte ScrCmd_ontrainerbattleend
- .4byte ScrCmd_ontrainerbattleendgoto
+ .4byte ScrCmd_dotrainerbattle
+ .4byte ScrCmd_gotopostbattlescript
+ .4byte ScrCmd_gotobeatenscript
.4byte ScrCmd_checktrainerflag
.4byte ScrCmd_settrainerflag
.4byte ScrCmd_cleartrainerflag
.4byte ScrCmd_setobjectxyperm
.4byte ScrCmd_moveobjectoffscreen
.4byte ScrCmd_setobjectmovementtype
- .4byte sub_806B878
- .4byte sub_806B80C
- .4byte sub_806B88C
+ .4byte ScrCmd_waitmessage
+ .4byte ScrCmd_message
+ .4byte ScrCmd_closemessage
.4byte ScrCmd_lockall
.4byte ScrCmd_lock
.4byte ScrCmd_releaseall
.4byte ScrCmd_release
- .4byte sub_806BA3C
+ .4byte ScrCmd_waitbuttonpress
.4byte ScrCmd_yesnobox
.4byte ScrCmd_multichoice
.4byte ScrCmd_multichoicedefault
.4byte ScrCmd_multichoicegrid
- .4byte sub_806BB38
- .4byte sub_806BB8C
- .4byte sub_806BB98
- .4byte sub_806BB9C
- .4byte sub_806BBD8
- .4byte sub_806BBF8
- .4byte sub_806BC04
+ .4byte ScrCmd_drawbox
+ .4byte ScrCmd_erasebox
+ .4byte ScrCmd_drawboxtext
+ .4byte ScrCmd_showmonpic
+ .4byte ScrCmd_hidemonpic
+ .4byte ScrCmd_showcontestwinner
+ .4byte ScrCmd_braillemessage
.4byte ScrCmd_givemon
.4byte ScrCmd_giveegg
.4byte ScrCmd_setmonmove
@@ -130,33 +130,33 @@ gScriptCmdTable:: @ 815F9B4
.4byte ScrCmd_bufferleadmonspeciesname
.4byte ScrCmd_bufferpartymonnick
.4byte ScrCmd_bufferitemname
- .4byte sub_806BE34
+ .4byte ScrCmd_bufferdecorationname
.4byte ScrCmd_buffermovename
.4byte ScrCmd_buffernumberstring
.4byte ScrCmd_bufferstdstring
.4byte ScrCmd_bufferstring
- .4byte sub_806C3AC
- .4byte sub_806C3C0
- .4byte sub_806C3D4
+ .4byte ScrCmd_pokemart
+ .4byte ScrCmd_pokemartdecoration
+ .4byte ScrCmd_pokemartdecoration2
.4byte ScrCmd_playslotmachine
- .4byte sub_806C410
- .4byte sub_806C418
- .4byte sub_806C424
- .4byte sub_806C428
- .4byte sub_806C42C
+ .4byte ScrCmd_setberrytree
+ .4byte ScrCmd_choosecontestmon
+ .4byte ScrCmd_startcontest
+ .4byte ScrCmd_showcontestresults
+ .4byte ScrCmd_contestlinktransfer
.4byte ScrCmd_random
.4byte ScrCmd_givemoney
.4byte ScrCmd_takemoney
.4byte ScrCmd_checkmoney
- .4byte sub_806C1CC
- .4byte sub_806C21C
- .4byte sub_806C228
- .4byte sub_806C414
+ .4byte ScrCmd_showmoneybox
+ .4byte ScrCmd_hidemoneybox
+ .4byte ScrCmd_updatemoneybox
+ .4byte ScrCmd_getpricereduction
.4byte ScrCmd_fadescreen
.4byte ScrCmd_fadescreenspeed
.4byte ScrCmd_setflashradius
.4byte ScrCmd_animateflash
- .4byte sub_806B85C
+ .4byte ScrCmd_messageautoscroll
.4byte ScrCmd_dofieldeffect
.4byte ScrCmd_setfieldeffectarg
.4byte ScrCmd_waitfieldeffect
@@ -175,16 +175,16 @@ gScriptCmdTable:: @ 815F9B4
.4byte ScrCmd_turnvobject
.4byte ScrCmd_opendoor
.4byte ScrCmd_closedoor
- .4byte sub_806C688
+ .4byte ScrCmd_waitdooranim
.4byte ScrCmd_setdooropen
.4byte ScrCmd_setdoorclosed
- .4byte sub_806C724
- .4byte sub_806C728
+ .4byte ScrCmd_addelevmenuitem
+ .4byte ScrCmd_showelevmenu
.4byte ScrCmd_checkcoins
.4byte ScrCmd_givecoins
.4byte ScrCmd_takecoins
.4byte ScrCmd_setwildbattle
- .4byte sub_806C39C
+ .4byte ScrCmd_dowildbattle
.4byte ScrCmd_setvaddress
.4byte ScrCmd_vgoto
.4byte ScrCmd_vcall
@@ -193,27 +193,27 @@ gScriptCmdTable:: @ 815F9B4
.4byte ScrCmd_vmessage
.4byte ScrCmd_vloadword
.4byte ScrCmd_vbufferstring
- .4byte sub_806C258
+ .4byte ScrCmd_showcoinsbox
.4byte ScrCmd_hidecoinsbox
.4byte ScrCmd_updatecoinsbox
.4byte ScrCmd_incrementgamestat
.4byte ScrCmd_setescapewarp
- .4byte sub_806C540
+ .4byte ScrCmd_waitmoncry
.4byte ScrCmd_bufferboxname
- .4byte sub_806B7EC
- .4byte sub_806B828
- .4byte sub_806B850
- .4byte sub_806C7BC
- .4byte sub_806C7C8
- .4byte sub_806A888
+ .4byte ScrCmd_cmdC7
+ .4byte ScrCmd_cmdC8
+ .4byte ScrCmd_cmdC9
+ .4byte ScrCmd_cmdCA
+ .4byte ScrCmd_cmdCB
+ .4byte ScrCmd_comparestattoword
.4byte ScrCmd_setmonobedient
.4byte ScrCmd_checkmonobedience
- .4byte sub_806A28C
- .4byte sub_806A8C0
- .4byte sub_806ACF8
- .4byte sub_806C844
- .4byte sub_806BC40
- .4byte sub_806BD90
+ .4byte ScrCmd_cmdCF
+ .4byte ScrCmd_cmdD0
+ .4byte ScrCmd_warpD1
+ .4byte ScrCmd_setmonmetlocation
+ .4byte ScrCmd_getbraillestringwidth
+ .4byte ScrCmd_bufferitemnameplural
gScriptCmdTableEnd:: @ 815FD08
- .4byte sub_8069ED0
+ .4byte ScrCmd_nop
diff --git a/data/specials.inc b/data/specials.inc
index 171a6fd8e..56b666207 100644
--- a/data/specials.inc
+++ b/data/specials.inc
@@ -327,8 +327,8 @@ gSpecials:: @ 815FD60
def_special nullsub_75
def_special nullsub_75
def_special sub_807B6C0
- def_special sp13E_warp_to_last_warp
- def_special sp13F_fall_to_last_warp
+ def_special DoDiveWarp
+ def_special DoFallWarp
def_special nullsub_75
def_special nullsub_75
def_special sub_80E5E70
diff --git a/data/trainer_tower.s b/data/trainer_tower.s
index f90d1dd2b..6065500b5 100644
--- a/data/trainer_tower.s
+++ b/data/trainer_tower.s
@@ -1,5 +1,7 @@
+#include "constants/items.h"
.include "asm/macros.inc"
- .include "constants/constants.inc"
+ .include "constants/gba_constants.inc"
+ .include "constants/misc_constants.inc"
.section .rodata
@@ -562,7 +564,21 @@ gUnknown_847A284:: @ 847A284
.2byte 0x0131, 0x0175, 0x017d
gUnknown_847A2B4:: @ 847A2B4
- .2byte 0x3f, 0x40, 0x41, 0x42, 0x43, 0x46, 0xb3, 0xb4, 0xb9, 0xba, 0xbb, 0xc6, 0xc7, 0xc9, 0xda
+ .2byte ITEM_HP_UP
+ .2byte ITEM_PROTEIN
+ .2byte ITEM_IRON
+ .2byte ITEM_CARBOS
+ .2byte ITEM_CALCIUM
+ .2byte ITEM_ZINC
+ .2byte ITEM_BRIGHT_POWDER
+ .2byte ITEM_WHITE_HERB
+ .2byte ITEM_MENTAL_HERB
+ .2byte ITEM_CHOICE_BAND
+ .2byte ITEM_KINGS_ROCK
+ .2byte ITEM_SCOPE_LENS
+ .2byte ITEM_METAL_COAT
+ .2byte ITEM_DRAGON_SCALE
+ .2byte ITEM_UP_GRADE
gUnknown_847A2D2:: @ 847A2D2
.2byte 0x011d
diff --git a/data/trainer_tower/trainers.inc b/data/trainer_tower/trainers.inc
index e2f7dd121..d304a799d 100644
--- a/data/trainer_tower/trainers.inc
+++ b/data/trainer_tower/trainers.inc
@@ -22,8 +22,8 @@
.macro dummy_tower_team
.string "$", 11
- .byte FACILITY_CLASS_AQUA_LEADER, 0x01, 0x00
-
+ .byte FACILITY_CLASS_AQUA_LEADER, 0x01
+ .align 1
.2byte 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
.2byte 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
.2byte 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
@@ -41,8 +41,8 @@
gUnknown_847ABAC::
.byte 0x01, 0x08, 0x00, 0x07
.string "COLE$", 11
- .byte FACILITY_CLASS_YOUNGSTER_2, 0x01, 0x00
-
+ .byte FACILITY_CLASS_YOUNGSTER_2, 0x01
+ .align 1
.2byte EC_WORD_AHAHA, EC_WORD_YOU_RE, EC_WORD_NOT, EC_WORD_GOING, EC_WORD_ANYWHERE, EC_WORD_EXCL
.2byte EC_WORD_ALL_RIGHT, EC_WORD_EXCL, EC_WORD_BYE_BYE, EC_WORD_EXCL, 0xFFFF, 0xFFFF
.2byte EC_WORD_HIYAH, EC_WORD_EXCL_EXCL, EC_WORD_DONE, EC_WORD_IN, EC_WORD_TOTALLY, EC_WORD_EXCL_EXCL
@@ -128,8 +128,8 @@ gUnknown_847ABAC::
gUnknown_847AF8C::
.byte 0x02, 0x08, 0x00, 0x0d
.string "JAC$", 11
- .byte FACILITY_CLASS_BURGLAR, 0x01, 0x00
-
+ .byte FACILITY_CLASS_BURGLAR, 0x01
+ .align 1
.2byte EC_WORD_I_AM, EC_WORD_A, EC_MOVE2(THIEF), EC_WORD_EXCL, EC_WORD_GIVE_ME, EC_WORD_SOMETHING
.2byte EC_WORD_YOU_VE, EC_WORD_GOT, EC_WORD_NOTHING, EC_WORD_THAT, EC_WORD_I, EC_WORD_WANT
.2byte EC_WORD_EEK, EC_WORD_EXCL_EXCL, EC_WORD_I_AM, EC_WORD_SORRY, EC_WORD_I, EC_WORD_SURRENDER
@@ -215,8 +215,8 @@ gUnknown_847AF8C::
gUnknown_847B36C::
.byte 0x03, 0x08, 0x00, 0x02
.string "MILY$", 11
- .byte FACILITY_CLASS_PSYCHIC_4, 0x01, 0x00
-
+ .byte FACILITY_CLASS_PSYCHIC_4, 0x01
+ .align 1
.2byte EC_WORD_LOOK, EC_WORD_AT, EC_WORD_MY, EC_WORD_POKEMON, EC_MOVE2(SUPERPOWER), EC_WORD_EXCL
.2byte EC_WORD_ISN_T, EC_WORD_IT, EC_WORD_INCREDIBLE, EC_WORD_QUES, EC_WORD_POKEMON, EC_WORD_POWER
.2byte EC_WORD_THIS, EC_WORD_IS, EC_WORD_AN, EC_WORD_AWFUL, EC_MOVE(NIGHTMARE), EC_WORD_ELLIPSIS_EXCL
@@ -302,8 +302,8 @@ gUnknown_847B36C::
gUnknown_847B74C::
.byte 0x04, 0x08, 0x01, 0x09
.string "JOS & ANNE$", 11
- .byte FACILITY_CLASS_COOL_COUPLE, 0x07, 0x00
-
+ .byte FACILITY_CLASS_COOL_COUPLE, 0x07
+ .align 1
.2byte EC_WORD_I, EC_WORD_CAN_T, EC_WORD_LOSE, EC_WORD_TO, EC_WORD_YOU, EC_WORD_HERE
.2byte EC_WORD_VERY, EC_WORD_WELL, EC_WORD_DONE, EC_WORD_EXCL, EC_WORD_GOOD, EC_WORD_BATTLE
.2byte EC_WORD_UNBELIEVABLE, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
@@ -382,8 +382,8 @@ gUnknown_847B74C::
.byte 255 @ friendship
.string "JOS & ANNE$", 11
- .byte FACILITY_CLASS_COOL_COUPLE, 0x07, 0x00
-
+ .byte FACILITY_CLASS_COOL_COUPLE, 0x07
+ .align 1
.2byte EC_WORD_HERE_GOES, EC_WORD_EXCL_EXCL, EC_WORD_GET, EC_WORD_READY, EC_WORD_TO, EC_WORD_LOSE
.2byte EC_WORD_PERFECT, EC_WORD_EXCL, EC_WORD_WE, EC_WORD_GET, EC_WORD_THE, EC_WORD_WIN
.2byte EC_WORD_LOST, EC_WORD_QUES_EXCL, EC_WORD_YOU, EC_WORD_MUST_BE, EC_WORD_JOKING, EC_WORD_EXCL
@@ -468,8 +468,8 @@ gUnknown_847B74C::
gUnknown_847BB2C::
.byte 0x05, 0x08, 0x01, 0x04
.string "EMY & ALEK$", 11
- .byte FACILITY_CLASS_YOUNG_COUPLE_2, 0x01, 0x00
-
+ .byte FACILITY_CLASS_YOUNG_COUPLE_2, 0x01
+ .align 1
.2byte EC_WORD_I_AM, EC_WORD_SO, EC_WORD_LOST, EC_WORD_IN, EC_WORD_LOVEY_DOVEY, EC_WORD_HAPPINESS
.2byte EC_WORD_OH, EC_WORD_OH, EC_WORD_HE, EC_WORD_IS, EC_WORD_REALLY, EC_WORD_AWESOME
.2byte EC_WORD_AIYEEH, EC_WORD_EXCL_EXCL, EC_WORD_YOU_RE, EC_WORD_NOT, EC_WORD_SERIOUS, EC_WORD_QUES
@@ -548,8 +548,8 @@ gUnknown_847BB2C::
.byte 255 @ friendship
.string "EMY & ALEK$", 11
- .byte FACILITY_CLASS_YOUNG_COUPLE_2, 0x01, 0x00
-
+ .byte FACILITY_CLASS_YOUNG_COUPLE_2, 0x01
+ .align 1
.2byte EC_WORD_I_AM, EC_WORD_GIDDY, EC_WORD_WITH, EC_WORD_LOVEY_DOVEY, EC_WORD_JOY, EC_WORD_EXCL_EXCL
.2byte EC_WORD_SIGH, EC_WORD_ELLIPSIS, EC_WORD_MY, EC_WORD_GIRL, EC_WORD_IS, EC_WORD_CUTE
.2byte EC_WORD_WAAAH, EC_WORD_EXCL_EXCL, EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_BE, EC_WORD_SERIOUS
@@ -634,8 +634,8 @@ gUnknown_847BB2C::
gUnknown_847BF0C::
.byte 0x06, 0x08, 0x01, 0x00
.string "JO & HALEY$", 11
- .byte FACILITY_CLASS_CRUSH_KIN, 0x05, 0x00
-
+ .byte FACILITY_CLASS_CRUSH_KIN, 0x05
+ .align 1
.2byte EC_WORD_WE_RE, EC_WORD_USING, EC_WORD_THAT, EC_WORD_STRATEGY, EC_WORD_OKAY, EC_WORD_QUES
.2byte EC_WORD_YAY, EC_WORD_WE, EC_WORD_WON, EC_WORD_EXCL, EC_WORD_SORRY, EC_WORD_EXCL
.2byte EC_WORD_AWW, EC_WORD_EXCL, EC_WORD_THAT_WAS, EC_WORD_REALLY, EC_WORD_TERRIBLE, EC_WORD_EXCL
@@ -714,8 +714,8 @@ gUnknown_847BF0C::
.byte 255 @ friendship
.string "JO & HALEY$", 11
- .byte FACILITY_CLASS_CRUSH_KIN, 0x05, 0x00
-
+ .byte FACILITY_CLASS_CRUSH_KIN, 0x05
+ .align 1
.2byte EC_WORD_YOU, EC_WORD_YOU, EC_WORD_YOU, EC_WORD_BETTER, EC_WORD_NOT, EC_WORD_WIN
.2byte EC_WORD_YOU_RE, EC_WORD_NOT, EC_WORD_JOKING, EC_WORD_QUES, EC_WORD_WE, EC_WORD_WON
.2byte EC_WORD_WIMPY, EC_WORD_ELLIPSIS, EC_WORD_WE, EC_WORD_WERE, EC_WORD_WEAK, EC_WORD_ELLIPSIS
@@ -800,8 +800,8 @@ gUnknown_847BF0C::
gUnknown_847C2EC::
.byte 0x07, 0x08, 0x02, 0x0c
.string "JORDY$", 11
- .byte FACILITY_CLASS_BIKER, 0x03, 0x00
-
+ .byte FACILITY_CLASS_BIKER, 0x03
+ .align 1
.2byte EC_WORD_DON_T, EC_WORD_MAKE, EC_WORD_ME, EC_WORD_GIGGLE, EC_WORD_YOU, EC_WORD_PUSHOVER
.2byte EC_WORD_WHAT, EC_WORD_A_LITTLE, EC_WORD_PUSHOVER, EC_WORD_YOU, EC_WORD_ARE, EC_WORD_EXCL
.2byte EC_WORD_YOU, EC_WORD_WERE, EC_WORD_READY, EC_WORD_TO, EC_WORD_ROCK, EC_WORD_EXCL
@@ -880,8 +880,8 @@ gUnknown_847C2EC::
.byte 0 @ friendship
.string "ERNEST$", 11
- .byte FACILITY_CLASS_BIKER, 0x01, 0x00
-
+ .byte FACILITY_CLASS_BIKER, 0x01
+ .align 1
.2byte EC_WORD_IT_S, EC_WORD_SLEEP, EC_WORD_TIME, EC_WORD_FOR, EC_WORD_CHILDREN, EC_WORD_EXCL
.2byte EC_WORD_NOT, EC_WORD_GUTSY, EC_WORD_ENOUGH, 0xFFFF, 0xFFFF, 0xFFFF
.2byte EC_WORD_WHY, EC_WORD_DID, EC_WORD_YOU, EC_WORD_CRUSH, EC_WORD_ME, EC_WORD_QUES
@@ -960,8 +960,8 @@ gUnknown_847C2EC::
.byte 0 @ friendship
.string "GABRIEL$", 11
- .byte FACILITY_CLASS_CUE_BALL, 0x01, 0x00
-
+ .byte FACILITY_CLASS_CUE_BALL, 0x01
+ .align 1
.2byte EC_WORD_YAHOO, EC_WORD_EXCL, EC_WORD_HERE_I_COME, EC_WORD_TO, EC_WORD_SWARM, EC_WORD_YOU
.2byte EC_WORD_I_AM, EC_WORD_INVINCIBLE, EC_WORD_YOU, EC_WORD_GOT, EC_WORD_THAT, EC_WORD_QUES
.2byte EC_WORD_WHAT, EC_WORD_WAS, EC_WORD_THAT, EC_WORD_QUES, 0xFFFF, 0xFFFF
@@ -1045,8 +1045,8 @@ gUnknown_847C2EC::
gUnknown_847C6CC::
.byte 0x08, 0x08, 0x02, 0x0e
.string "MIKE$", 11
- .byte FACILITY_CLASS_HIKER_2, 0x05, 0x00
-
+ .byte FACILITY_CLASS_HIKER_2, 0x05
+ .align 1
.2byte EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_FULL, EC_WORD_OF, EC_WORD_POWER
.2byte EC_WORD_WHAT_S_UP_QUES, EC_WORD_WHERE, EC_WORD_IS, EC_WORD_YOUR, EC_WORD_POWER, EC_WORD_QUES
.2byte EC_WORD_YOU, EC_WORD_GOT, EC_WORD_ME, EC_WORD_WITH, EC_WORD_YOUR, EC_MOVE2(FAKE_OUT)
@@ -1125,8 +1125,8 @@ gUnknown_847C6CC::
.byte 255 @ friendship
.string "REBECCA$", 11
- .byte FACILITY_CLASS_CRUSH_GIRL, 0x05, 0x00
-
+ .byte FACILITY_CLASS_CRUSH_GIRL, 0x05
+ .align 1
.2byte EC_WORD_I, EC_WORD_WILL, EC_WORD_WIN, EC_WORD_EXCL_EXCL, 0xFFFF, 0xFFFF
.2byte EC_WORD_IT_S, EC_WORD_TOO, EC_WORD_BAD, EC_WORD_BUT, EC_WORD_I_AM, EC_WORD_OVERWHELMING
.2byte EC_WORD_ARRGH, EC_WORD_EXCL_EXCL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
@@ -1205,8 +1205,8 @@ gUnknown_847C6CC::
.byte 255 @ friendship
.string "NICOLAS$", 11
- .byte FACILITY_CLASS_BLACK_BELT_2, 0x05, 0x00
-
+ .byte FACILITY_CLASS_BLACK_BELT_2, 0x05
+ .align 1
.2byte EC_WORD_THIS, EC_WORD_IS, EC_WORD_WHERE, EC_WORD_YOU, EC_WORD_STOP, EC_WORD_EXCL
.2byte EC_WORD_YOU_RE, EC_WORD_TOO_WEAK, EC_WORD_TO, EC_WORD_EVER, EC_WORD_BEAT, EC_WORD_ME
.2byte EC_WORD_WHY, EC_WORD_COULDN_T, EC_WORD_I, EC_WORD_BEAT, EC_WORD_YOU, EC_WORD_QUES
@@ -1290,8 +1290,8 @@ gUnknown_847C6CC::
gUnknown_847CAAC::
.byte 0x09, 0x08, 0x00, 0x00
.string "JOEY$", 11
- .byte FACILITY_CLASS_CAMPER_2, 0x01, 0x00
-
+ .byte FACILITY_CLASS_CAMPER_2, 0x01
+ .align 1
.2byte EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_SCARY, EC_WORD_STRONG, EC_WORD_EXCL
.2byte EC_WORD_WERE, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_TOO, EC_WORD_MUCH, EC_WORD_QUES
.2byte EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_WAY, EC_WORD_TOO_STRONG, EC_WORD_EXCL
@@ -1377,8 +1377,8 @@ gUnknown_847CAAC::
gUnknown_847CE8C::
.byte 0x0a, 0x08, 0x00, 0x0c
.string "LILY$", 11
- .byte FACILITY_CLASS_PKMN_BREEDER_3, 0x01, 0x00
-
+ .byte FACILITY_CLASS_PKMN_BREEDER_3, 0x01
+ .align 1
.2byte EC_WORD_I, EC_WORD_WANT, EC_WORD_SOMETHING, EC_WORD_IN, EC_MOVE(RETURN), EC_WORD_EXCL
.2byte EC_WORD_I, EC_WORD_BELIEVE, EC_WORD_IN, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_EXCL
.2byte EC_WORD_I, EC_WORD_NEED, EC_WORD_SOMETHING, EC_WORD_IN, EC_MOVE(RETURN), EC_WORD_ELLIPSIS
@@ -1464,8 +1464,8 @@ gUnknown_847CE8C::
gUnknown_847D26C::
.byte 0x0b, 0x08, 0x00, 0x0e
.string "BRANDON$", 11
- .byte FACILITY_CLASS_BUG_CATCHER_2, 0x01, 0x00
-
+ .byte FACILITY_CLASS_BUG_CATCHER_2, 0x01
+ .align 1
.2byte EC_WORD_POISON, EC_WORD_IS, EC_WORD_JUST, EC_WORD_SO, EC_WORD_AWFUL, EC_WORD_ISN_T_IT_QUES
.2byte EC_WORD_SEE, EC_WORD_QUES, EC_WORD_ISN_T, EC_WORD_POISON, EC_WORD_TERRIBLE, EC_WORD_QUES
.2byte EC_WORD_HUH_QUES, EC_WORD_OUR, EC_WORD_POISON, EC_WORD_DIDN_T, EC_WORD_WORK, EC_WORD_QUES
@@ -1551,8 +1551,8 @@ gUnknown_847D26C::
gUnknown_847D64C::
.byte 0x0c, 0x08, 0x01, 0x02
.string "RIC & RENE$", 11
- .byte FACILITY_CLASS_CRUSH_KIN, 0x05, 0x00
-
+ .byte FACILITY_CLASS_CRUSH_KIN, 0x05
+ .align 1
.2byte EC_WORD_MY, EC_WORD_BIG, EC_WORD_BROTHER, EC_WORD_IS, EC_WORD_REALLY, EC_WORD_AWESOME
.2byte EC_WORD_MY, EC_WORD_BIG, EC_WORD_BROTHER, EC_WORD_IS, EC_WORD_TOO, EC_WORD_AWESOME
.2byte EC_WORD_MY, EC_WORD_BIG, EC_WORD_BROTHER, EC_WORD_ISN_T, EC_WORD_AWESOME, EC_WORD_QUES
@@ -1631,8 +1631,8 @@ gUnknown_847D64C::
.byte 255 @ friendship
.string "RIC & RENE$", 11
- .byte FACILITY_CLASS_CRUSH_KIN, 0x05, 0x00
-
+ .byte FACILITY_CLASS_CRUSH_KIN, 0x05
+ .align 1
.2byte EC_WORD_I_AM, EC_WORD_REALLY, EC_WORD_AWESOME, EC_WORD_EXCL, 0xFFFF, 0xFFFF
.2byte EC_WORD_I_AM, EC_WORD_TOO, EC_WORD_AWESOME, EC_WORD_EXCL, 0xFFFF, 0xFFFF
.2byte EC_WORD_HUH_QUES, 0xFFFF, EC_WORD_I_AM, EC_WORD_NOT_VERY, EC_WORD_AWESOME, EC_WORD_QUES
@@ -1717,8 +1717,8 @@ gUnknown_847D64C::
gUnknown_847DA2C::
.byte 0x0d, 0x08, 0x01, 0x0d
.string "JEN & KIRA$", 11
- .byte FACILITY_CLASS_TWINS_2, 0x05, 0x00
-
+ .byte FACILITY_CLASS_TWINS_2, 0x05
+ .align 1
.2byte EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_TRY, EC_WORD_HARD, EC_WORD_EXCL
.2byte EC_WORD_EHEHE, EC_WORD_YAY, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
.2byte EC_WORD_WAAAH, EC_WORD_EXCL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
@@ -1797,8 +1797,8 @@ gUnknown_847DA2C::
.byte 255 @ friendship
.string "JEN & KIRA$", 11
- .byte FACILITY_CLASS_TWINS_2, 0x03, 0x00
-
+ .byte FACILITY_CLASS_TWINS_2, 0x03
+ .align 1
.2byte EC_WORD_LET_S, EC_WORD_TRY, EC_WORD_HARD, EC_WORD_EXCL, 0xFFFF, 0xFFFF
.2byte EC_WORD_GIGGLE, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
.2byte EC_WORD_WAAAH, EC_WORD_EXCL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
@@ -1883,8 +1883,8 @@ gUnknown_847DA2C::
gUnknown_847DE0C::
.byte 0x0e, 0x08, 0x01, 0x08
.string "ISAC & MAG$", 11
- .byte FACILITY_CLASS_COOL_COUPLE, 0x01, 0x00
-
+ .byte FACILITY_CLASS_COOL_COUPLE, 0x01
+ .align 1
.2byte EC_WORD_OUR, EC_MOVE(EARTHQUAKE), EC_WORD_WILL, EC_WORD_MAKE, EC_WORD_YOU, EC_WORD_SHAKY
.2byte EC_WORD_FEELING, EC_WORD_SHAKY, EC_WORD_HUH_QUES, 0xFFFF, 0xFFFF, 0xFFFF
.2byte EC_WORD_I_AM, EC_WORD_ALL, EC_WORD_SHAKY, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF
@@ -1963,8 +1963,8 @@ gUnknown_847DE0C::
.byte 255 @ friendship
.string "ISAC & MAG$", 11
- .byte FACILITY_CLASS_COOL_COUPLE, 0x01, 0x00
-
+ .byte FACILITY_CLASS_COOL_COUPLE, 0x01
+ .align 1
.2byte EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_DOESN_T, EC_WORD_GET, EC_WORD_ALL, EC_WORD_SHAKY
.2byte EC_WORD_SEE, EC_WORD_QUES, EC_WORD_I, EC_WORD_DIDN_T, EC_WORD_LIE, EC_WORD_EXCL
.2byte EC_WORD_HUH_QUES, EC_WORD_YOU, EC_WORD_LEFT, EC_WORD_ME, EC_WORD_FEELING, EC_WORD_SHAKY
@@ -2049,8 +2049,8 @@ gUnknown_847DE0C::
gUnknown_847E1EC::
.byte 0x0f, 0x08, 0x02, 0x06
.string "CHELSEA$", 11
- .byte FACILITY_CLASS_PKMN_RANGER_4, 0x07, 0x00
-
+ .byte FACILITY_CLASS_PKMN_RANGER_4, 0x07
+ .align 1
.2byte EC_WORD_THE, EC_WORD_GREEN, EC_WORD_WORLD, EC_WORD_IS, EC_WORD_IMPORTANT, EC_WORD_ISN_T_IT_QUES
.2byte EC_WORD_YOU, EC_WORD_TAKE, EC_WORD_THE, EC_WORD_LOSS, 0xFFFF, 0xFFFF
.2byte EC_WORD_BE, EC_WORD_KIND, EC_WORD_TO, EC_WORD_THE, EC_WORD_GREEN, EC_WORD_WORLD
@@ -2129,8 +2129,8 @@ gUnknown_847E1EC::
.byte 255 @ friendship
.string "TRENTON$", 11
- .byte FACILITY_CLASS_PKMN_RANGER_3, 0x07, 0x00
-
+ .byte FACILITY_CLASS_PKMN_RANGER_3, 0x07
+ .align 1
.2byte EC_WORD_I, EC_MOVE2(PROTECT), EC_WORD_THE, EC_WORD_GREAT, EC_WORD_GREEN, EC_WORD_WORLD
.2byte EC_WORD_TAKE_THAT, EC_WORD_EXCL, EC_WORD_THE, EC_WORD_LOSS, EC_WORD_IS, EC_WORD_YOURS
.2byte EC_MOVE2(PROTECT), EC_WORD_THE, EC_WORD_GREEN, EC_WORD_WORLD, 0xFFFF, 0xFFFF
@@ -2209,8 +2209,8 @@ gUnknown_847E1EC::
.byte 255 @ friendship
.string "ALBERT$", 11
- .byte FACILITY_CLASS_COOLTRAINER_3, 0x07, 0x00
-
+ .byte FACILITY_CLASS_COOLTRAINER_3, 0x07
+ .align 1
.2byte EC_WORD_LET_S, EC_WORD_HAVE, EC_WORD_AN, EC_WORD_EXCITING, EC_WORD_TIME, EC_WORD_HERE
.2byte EC_WORD_YOU_RE, EC_WORD_TOO_WEAK, EC_WORD_TO, EC_WORD_MAKE, EC_WORD_THINGS, EC_WORD_EXCITING
.2byte EC_WORD_YOU_RE, EC_WORD_STRONG, EC_WORD_THAT_WAS, EC_WORD_WILD, EC_WORD_AND, EC_WORD_EXCITING
@@ -2294,8 +2294,8 @@ gUnknown_847E1EC::
gUnknown_847E5CC::
.byte 0x10, 0x08, 0x02, 0x04
.string "CAMRYN$", 11
- .byte FACILITY_CLASS_PICNICKER_2, 0x01, 0x00
-
+ .byte FACILITY_CLASS_PICNICKER_2, 0x01
+ .align 1
.2byte EC_WORD_LET_S, EC_WORD_BATTLE, EC_WORD_I, EC_WORD_WON_T, EC_WORD_LOSE, EC_WORD_EXCL
.2byte EC_WORD_I, EC_WORD_SAID, EC_WORD_THAT, EC_WORD_I, EC_WORD_WOULD, EC_WORD_WIN
.2byte EC_WORD_OH_QUES, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_DID, EC_WORD_I, EC_WORD_LOSE, EC_WORD_QUES
@@ -2374,8 +2374,8 @@ gUnknown_847E5CC::
.byte 255 @ friendship
.string "NATALIA$", 11
- .byte FACILITY_CLASS_AROMA_LADY_2, 0x01, 0x00
-
+ .byte FACILITY_CLASS_AROMA_LADY_2, 0x01
+ .align 1
.2byte EC_WORD_THIS, EC_MOVE(SWEET_SCENT), EC_WORD_YOU, EC_WORD_LIKE, EC_WORD_IT, EC_WORD_QUES
.2byte EC_WORD_WASN_T, EC_WORD_THAT, EC_WORD_NICE, EC_WORD_QUES, 0xFFFF, 0xFFFF
.2byte EC_WORD_THAT, EC_WORD_WASN_T, EC_WORD_GOOD, EC_WORD_QUES, 0xFFFF, 0xFFFF
@@ -2454,8 +2454,8 @@ gUnknown_847E5CC::
.byte 255 @ friendship
.string "KATHLEEN$", 11
- .byte FACILITY_CLASS_COOLTRAINER_4, 0x07, 0x00
-
+ .byte FACILITY_CLASS_COOLTRAINER_4, 0x07
+ .align 1
.2byte EC_WORD_TOO, EC_WORD_BAD, EC_WORD_IT_S, EC_WORD_OVER, EC_WORD_FOR, EC_WORD_YOU
.2byte EC_WORD_SORRY, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
.2byte EC_WORD_THIS, EC_WORD_IS, EC_WORD_HARD, EC_WORD_TO, EC_WORD_BELIEVE, EC_WORD_ELLIPSIS
@@ -2539,8 +2539,8 @@ gUnknown_847E5CC::
gUnknown_847E9AC::
.byte 0x11, 0x08, 0x00, 0x03
.string "BRADEN$", 11
- .byte FACILITY_CLASS_SWIMMER_MALE_2, 0x01, 0x00
-
+ .byte FACILITY_CLASS_SWIMMER_MALE_2, 0x01
+ .align 1
.2byte EC_WORD_I_AM, EC_WORD_PRETTY, EC_WORD_HAPPY, EC_WORD_WITH, EC_WORD_MY, EC_WORD_TOUGHNESS
.2byte EC_WORD_WROOOAAR_EXCL, 0xFFFF, EC_WORD_SERIOUSLY, EC_WORD_I, EC_WORD_WON, EC_WORD_QUES
.2byte EC_WORD_YOU, EC_WORD_SHOCKED, EC_WORD_ME, EC_WORD_OUT, EC_WORD_OF, EC_WORD_HAPPINESS
@@ -2626,8 +2626,8 @@ gUnknown_847E9AC::
gUnknown_847ED8C::
.byte 0x12, 0x08, 0x00, 0x0a
.string "ALLYSON$", 11
- .byte FACILITY_CLASS_COOLTRAINER_4, 0x07, 0x00
-
+ .byte FACILITY_CLASS_COOLTRAINER_4, 0x07
+ .align 1
.2byte EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_ABOUT, EC_WORD_TO, EC_WORD_LOSE, EC_WORD_TODAY
.2byte EC_WORD_YES, EC_WORD_EXCL_EXCL, EC_WORD_I, EC_WORD_ADORE, EC_WORD_MYSELF, EC_WORD_TODAY
.2byte EC_WORD_I_WAS, EC_WORD_CONFUSED, EC_WORD_ABOUT, EC_WORD_THINGS, EC_WORD_I, EC_WORD_THINK
@@ -2713,8 +2713,8 @@ gUnknown_847ED8C::
gUnknown_847F16C::
.byte 0x13, 0x08, 0x00, 0x0e
.string "ALBERTO$", 11
- .byte FACILITY_CLASS_SAILOR_2, 0x05, 0x00
-
+ .byte FACILITY_CLASS_SAILOR_2, 0x05
+ .align 1
.2byte EC_WORD_LET_S, EC_WORD_GET, EC_WORD_WITH, EC_WORD_IT, EC_WORD_RIGHT, EC_WORD_AWAY
.2byte EC_WORD_YO, EC_WORD_EXCL_EXCL, EC_WORD_YOU, EC_WORD_GIVE_UP, EC_WORD_NOW, EC_WORD_EH_QUES
.2byte EC_WORD_IT_S, EC_WORD_ALL, EC_WORD_OVER, EC_WORD_ELLIPSIS, EC_WORD_I, EC_WORD_SURRENDER
@@ -2800,8 +2800,8 @@ gUnknown_847F16C::
gUnknown_847F54C::
.byte 0x14, 0x08, 0x01, 0x0c
.string "KAT & KIPP$", 11
- .byte FACILITY_CLASS_SIS_AND_BRO_2, 0x04, 0x00
-
+ .byte FACILITY_CLASS_SIS_AND_BRO_2, 0x04
+ .align 1
.2byte EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_TRY, EC_WORD_MY, EC_WORD_BEST
.2byte EC_WORD_WAY, EC_WORD_TO, EC_WORD_GO, EC_WORD_MY, EC_WORD_AWESOME, EC_WORD_BROTHER
.2byte EC_WORD_SIGH, EC_WORD_ELLIPSIS, EC_WORD_THAT_S, EC_WORD_HOW, EC_WORD_IT, EC_WORD_GOES
@@ -2880,8 +2880,8 @@ gUnknown_847F54C::
.byte 255 @ friendship
.string "KAT & KIPP$", 11
- .byte FACILITY_CLASS_SIS_AND_BRO_2, 0x04, 0x00
-
+ .byte FACILITY_CLASS_SIS_AND_BRO_2, 0x04
+ .align 1
.2byte EC_WORD_FUFUFU, EC_WORD_ELLIPSIS, EC_WORD_WE, EC_WORD_NEVER, EC_WORD_LOSE, EC_WORD_EXCL
.2byte EC_WORD_FUFUFU, EC_WORD_ELLIPSIS, EC_WORD_WE_RE, EC_WORD_TOO_STRONG, EC_WORD_TO, EC_WORD_LOSE
.2byte EC_WORD_WHAT, EC_WORD_HUH_QUES, EC_WORD_ARE, EC_WORD_YOU, EC_WORD_JOKING, EC_WORD_QUES
@@ -2966,8 +2966,8 @@ gUnknown_847F54C::
gUnknown_847F92C::
.byte 0x15, 0x08, 0x01, 0x08
.string "GEB&MEGAN$", 11
- .byte FACILITY_CLASS_COOL_COUPLE, 0x07, 0x00
-
+ .byte FACILITY_CLASS_COOL_COUPLE, 0x07
+ .align 1
.2byte EC_WORD_YOU_RE, EC_WORD_OUR, EC_WORD_OPPONENT, EC_WORD_QUES, EC_WORD_PUSHOVER, EC_WORD_HAHAHA
.2byte EC_WORD_HAHAHA, EC_WORD_SORRY, EC_WORD_MY, EC_WORD_FRIEND, EC_WORD_TOUGH, EC_WORD_LOSS
.2byte EC_WORD_YOU_RE, EC_WORD_SERIOUS, EC_WORD_AREN_T, EC_WORD_YOU, EC_WORD_FRIEND, EC_WORD_QUES
@@ -3046,8 +3046,8 @@ gUnknown_847F92C::
.byte 255 @ friendship
.string "GEB&MEGAN$", 11
- .byte FACILITY_CLASS_COOL_COUPLE, 0x07, 0x00
-
+ .byte FACILITY_CLASS_COOL_COUPLE, 0x07
+ .align 1
.2byte EC_WORD_YOU_RE, EC_WORD_OUR, EC_WORD_FOE, EC_WORD_QUES, EC_WORD_GIGGLE, EC_WORD_ELLIPSIS
.2byte EC_WORD_GIGGLE, EC_WORD_ELLIPSIS, EC_WORD_I_AM, EC_WORD_SO, EC_WORD_SORRY, 0xFFFF
.2byte EC_WORD_MY, EC_WORD_WORD, EC_WORD_THIS, EC_WORD_IS, EC_WORD_JUST, EC_WORD_INCREDIBLE
@@ -3132,8 +3132,8 @@ gUnknown_847F92C::
gUnknown_847FD0C::
.byte 0x16, 0x08, 0x01, 0x05
.string "LISA&LEAH$", 11
- .byte FACILITY_CLASS_TWINS_2, 0x01, 0x00
-
+ .byte FACILITY_CLASS_TWINS_2, 0x01
+ .align 1
.2byte EC_WORD_ABSOLUTELY, EC_WORD_WE_RE, EC_WORD_GOING, EC_WORD_TO, EC_WORD_WIN, EC_WORD_EXCL
.2byte EC_WORD_YEAH_YEAH, EC_WORD_EXCL_EXCL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
.2byte EC_WORD_AWW, EC_WORD_EXCL, EC_WORD_WAAAH, EC_WORD_EXCL_EXCL, 0xFFFF, 0xFFFF
@@ -3212,8 +3212,8 @@ gUnknown_847FD0C::
.byte 255 @ friendship
.string "LISA&LEAH$", 11
- .byte FACILITY_CLASS_TWINS_2, 0x01, 0x00
-
+ .byte FACILITY_CLASS_TWINS_2, 0x01
+ .align 1
.2byte EC_WORD_CAN, EC_WORD_WE, EC_WORD_WIN, EC_WORD_QUES, EC_WORD_IT_S, EC_WORD_EXCITING
.2byte EC_WORD_YEAH_YEAH, EC_WORD_EXCL_EXCL, EC_WORD_YOU, EC_WORD_MAKE, EC_WORD_ME, EC_WORD_HAPPY
.2byte EC_WORD_AWW, EC_WORD_EXCL, EC_WORD_WAAAH, EC_WORD_EXCL_EXCL, 0xFFFF, 0xFFFF
@@ -3292,8 +3292,8 @@ gUnknown_847FD0C::
.byte 255 @ friendship
.string "$", 11
- .byte FACILITY_CLASS_AQUA_LEADER, 0x01, 0x00
-
+ .byte FACILITY_CLASS_AQUA_LEADER, 0x01
+ .align 1
.2byte 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
.2byte 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
.2byte 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
@@ -3377,8 +3377,8 @@ gUnknown_847FD0C::
gUnknown_84800EC::
.byte 0x17, 0x08, 0x02, 0x01
.string "PRISCILLA$", 11
- .byte FACILITY_CLASS_TUBER_3, 0x01, 0x00
-
+ .byte FACILITY_CLASS_TUBER_3, 0x01
+ .align 1
.2byte EC_WORD_I_AM, EC_WORD_A_LITTLE, EC_WORD_POKEMON, EC_WORD_GIRL, EC_WORD_HERE_I_COME, EC_WORD_EXCL
.2byte EC_WORD_WAAAH, EC_WORD_EXCL, EC_WORD_DID, EC_WORD_I, EC_WORD_WIN, EC_WORD_QUES
.2byte EC_WORD_OH_DEAR, EC_WORD_ELLIPSIS, EC_WORD_I, EC_WORD_COULDN_T, EC_WORD_WIN, EC_WORD_ELLIPSIS
@@ -3457,8 +3457,8 @@ gUnknown_84800EC::
.byte 0 @ friendship
.string "CHARLOTTE$", 11
- .byte FACILITY_CLASS_LADY_2, 0x01, 0x00
-
+ .byte FACILITY_CLASS_LADY_2, 0x01
+ .align 1
.2byte EC_WORD_HELLO, EC_WORD_THERE, EC_WORD_I_AM, EC_WORD_A, EC_WORD_POKEMON, EC_WORD_LADY
.2byte EC_WORD_OH, EC_WORD_MY, EC_WORD_MY, EC_WORD_ELLIPSIS, EC_WORD_I_AM, EC_WORD_SORRY
.2byte EC_WORD_YOU_RE, EC_WORD_BETTER, EC_WORD_THAN, EC_WORD_A, EC_WORD_POKEMON, EC_WORD_LADY
@@ -3537,8 +3537,8 @@ gUnknown_84800EC::
.byte 255 @ friendship
.string "SHANIA$", 11
- .byte FACILITY_CLASS_SWIMMER_FEMALE_2, 0x01, 0x00
-
+ .byte FACILITY_CLASS_SWIMMER_FEMALE_2, 0x01
+ .align 1
.2byte EC_WORD_A, EC_WORD_POKEMON, EC_WORD_HEROINE, EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_I_AM
.2byte EC_WORD_AHAHA, EC_WORD_NO, EC_WORD_WAY, EC_WORD_YOU_RE, EC_WORD_TOO_WEAK, EC_WORD_SERIOUSLY
.2byte EC_WORD_WHY, EC_WORD_QUES_EXCL, EC_WORD_YOU, EC_WORD_SHOULD, EC_WORD_NOT, EC_WORD_LIE
@@ -3622,8 +3622,8 @@ gUnknown_84800EC::
gUnknown_84804CC::
.byte 0x18, 0x08, 0x02, 0x0d
.string "BRENNAN$", 11
- .byte FACILITY_CLASS_SAILOR_2, 0x01, 0x00
-
+ .byte FACILITY_CLASS_SAILOR_2, 0x01
+ .align 1
.2byte EC_WORD_TAKE, EC_WORD_THINGS, EC_WORD_EASY, EC_WORD_ELLIPSIS, EC_WORD_THAT_S, EC_WORD_IMPORTANT
.2byte EC_WORD_YOU, EC_WORD_LOSE, EC_WORD_IF, EC_WORD_YOU, EC_WORD_GIVE_UP, EC_WORD_EXCL
.2byte EC_WORD_OOPS, EC_WORD_YOU, EC_WORD_GOT, EC_WORD_AN, EC_WORD_EASY, EC_WORD_WIN
@@ -3702,8 +3702,8 @@ gUnknown_84804CC::
.byte 255 @ friendship
.string "KADEN$", 11
- .byte FACILITY_CLASS_FISHERMAN_2, 0x01, 0x00
-
+ .byte FACILITY_CLASS_FISHERMAN_2, 0x01
+ .align 1
.2byte EC_WORD_MY, EC_WORD_FISHING, EC_WORD_FASHION, EC_WORD_APPEAL, EC_WORD_IS, EC_WORD_FANTASTIC
.2byte EC_WORD_MY, EC_WORD_FANTASTIC, EC_WORD_FASHION, EC_WORD_APPEAL, EC_WORD_WINS, EC_WORD_OUT
.2byte EC_WORD_UH_OH, EC_WORD_ELLIPSIS, EC_WORD_I, EC_WORD_SEE, EC_WORD_I, EC_WORD_LOST
@@ -3782,8 +3782,8 @@ gUnknown_84804CC::
.byte 255 @ friendship
.string "EMANUEL$", 11
- .byte FACILITY_CLASS_GENTLEMAN_2, 0x01, 0x00
-
+ .byte FACILITY_CLASS_GENTLEMAN_2, 0x01
+ .align 1
.2byte EC_WORD_HMM, EC_WORD_QUES, EC_WORD_ARE, EC_WORD_YOU, EC_WORD_SKILLED, EC_WORD_QUES
.2byte EC_WORD_I, EC_WORD_SEE, EC_WORD_I, EC_WORD_WASN_T, EC_WORD_RIGHT, EC_WORD_ELLIPSIS
.2byte EC_WORD_YOU, EC_WORD_TRULY, EC_WORD_ARE, EC_WORD_A, EC_WORD_MASTER, EC_WORD_TRAINER
@@ -3867,8 +3867,8 @@ gUnknown_84804CC::
gUnknown_84808AC::
.byte 0x19, 0x08, 0x00, 0x0c
.string "JARRETT$", 11
- .byte FACILITY_CLASS_JUGGLER, 0x02, 0x00
-
+ .byte FACILITY_CLASS_JUGGLER, 0x02
+ .align 1
.2byte EC_WORD_LET_S, EC_WORD_HAVE, EC_WORD_AN, EC_MOVE2(EXPLOSION), EC_WORD_PARTY, EC_WORD_EXCL
.2byte EC_WORD_CONGRATS, EC_WORD_FOR, EC_WORD_YOUR, EC_WORD_LOSS, EC_WORD_PARTY, EC_WORD_KID
.2byte EC_WORD_NICE, EC_MOVE(SELF_DESTRUCT), EC_WORD_THERE, EC_WORD_EXCL, EC_WORD_YOU_RE, EC_WORD_PERFECT
@@ -3954,8 +3954,8 @@ gUnknown_84808AC::
gUnknown_8480C8C::
.byte 0x1a, 0x08, 0x00, 0x0d
.string "OWEN$", 11
- .byte FACILITY_CLASS_SUPER_NERD, 0x02, 0x00
-
+ .byte FACILITY_CLASS_SUPER_NERD, 0x02
+ .align 1
.2byte EC_WORD_HERE_IT_IS, EC_MOVE2(THUNDER_WAVE), EC_WORD_DON_T, EC_MOVE2(WRAP), EC_WORD_ME, EC_WORD_EXCL
.2byte EC_WORD_ACCEPT, EC_WORD_MY, EC_MOVE2(PRESENT), EC_WORD_OF, EC_MOVE2(THUNDER_WAVE), EC_WORD_EXCL
.2byte EC_MOVE2(WRAP), EC_MOVE(BIND), EC_WORD_ELECTRIC, EC_MOVE2(WHIRLWIND), EC_WORD_SPIRALING, EC_WORD_AROUND
@@ -4041,8 +4041,8 @@ gUnknown_8480C8C::
gUnknown_848106C::
.byte 0x1b, 0x08, 0x00, 0x01
.string "LORENZO$", 11
- .byte FACILITY_CLASS_PSYCHIC_3, 0x01, 0x00
-
+ .byte FACILITY_CLASS_PSYCHIC_3, 0x01
+ .align 1
.2byte EC_WORD_THIS, EC_WORD_POWER, EC_WORD_IS, EC_WORD_NOW, EC_WORD_COMPLETE, EC_WORD_EXCL
.2byte EC_WORD_NO, EC_WORD_KEEN_EYE, EC_WORD_CAN, EC_WORD_STOP, EC_WORD_MY, EC_WORD_POWER
.2byte EC_WORD_HERE_IT_IS, EC_WORD_EXCL, EC_MOVE(KINESIS), EC_WORD_EXCL, EC_WORD_ELLIPSIS, EC_WORD_WHAT
@@ -4128,8 +4128,8 @@ gUnknown_848106C::
gUnknown_848144C::
.byte 0x1c, 0x08, 0x01, 0x0b
.string "NIA & CARL$", 11
- .byte FACILITY_CLASS_COOL_COUPLE, 0x04, 0x00
-
+ .byte FACILITY_CLASS_COOL_COUPLE, 0x04
+ .align 1
.2byte EC_WORD_HERE_GOES, EC_WORD_MY, EC_WORD_DIGITAL, EC_WORD_ROMANTIC, EC_WORD_HERO, EC_WORD_STRATEGY
.2byte EC_WORD_THAT_S, EC_WORD_THE, EC_WORD_DIGITAL, EC_WORD_HYPER, EC_WORD_MODE, EC_WORD_POWER
.2byte EC_WORD_MY, EC_WORD_PERFECT, EC_WORD_STRATEGY, EC_WORD_WAS, EC_MOVE2(BEAT_UP), EC_WORD_QUES
@@ -4208,8 +4208,8 @@ gUnknown_848144C::
.byte 255 @ friendship
.string "NIA & CARL$", 11
- .byte FACILITY_CLASS_COOL_COUPLE, 0x04, 0x00
-
+ .byte FACILITY_CLASS_COOL_COUPLE, 0x04
+ .align 1
.2byte EC_WORD_MASTER, EC_WORD_COMPLETE, EC_WORD_FASHION, EC_WORD_SYSTEM, EC_WORD_START, EC_WORD_EXCL
.2byte EC_WORD_THAT_S_IT_EXCL, EC_WORD_THE, EC_WORD_POWER, EC_WORD_OF, EC_WORD_OUR, EC_WORD_SYSTEM
.2byte EC_WORD_OKAY, EC_WORD_EXCL, EC_MOVE(THUNDERBOLT), EC_WORD_RUN_AWAY, EC_WORD_SYSTEM, EC_WORD_START
@@ -4294,8 +4294,8 @@ gUnknown_848144C::
gUnknown_848182C::
.byte 0x1d, 0x08, 0x01, 0x03
.string "AXE & REN$", 11
- .byte FACILITY_CLASS_SIS_AND_BRO_2, 0x02, 0x00
-
+ .byte FACILITY_CLASS_SIS_AND_BRO_2, 0x02
+ .align 1
.2byte EC_WORD_IT_S, EC_WORD_GOING, EC_WORD_TO, EC_WORD_GET, EC_WORD_AWFULLY, EC_WORD_COLD
.2byte EC_WORD_THAT_S, EC_WORD_THAT, EC_WORD_MAN, EC_WORD_I_AM, EC_WORD_COLD, EC_WORD_EXCL
.2byte EC_WORD_I, EC_WORD_CAN_T_WIN, EC_WORD_IN, EC_WORD_THIS, EC_MOVE(SHEER_COLD), EC_WORD_ELLIPSIS
@@ -4374,8 +4374,8 @@ gUnknown_848182C::
.byte 255 @ friendship
.string "AXE & REN$", 11
- .byte FACILITY_CLASS_SIS_AND_BRO_2, 0x02, 0x00
-
+ .byte FACILITY_CLASS_SIS_AND_BRO_2, 0x02
+ .align 1
.2byte EC_WORD_OUR, EC_WORD_SWIFT_SWIM, EC_WORD_LEFT, EC_WORD_ME, EC_WORD_FEELING, EC_WORD_COLD
.2byte EC_WORD_I, EC_WORD_WON, EC_WORD_BUT, EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_HOT
.2byte EC_WORD_I_AM, EC_WORD_HUNGRY, EC_WORD_FOR, EC_WORD_ANY, EC_WORD_HOT, EC_WORD_EATS
@@ -4460,8 +4460,8 @@ gUnknown_848182C::
gUnknown_8481C0C::
.byte 0x1e, 0x08, 0x01, 0x05
.string "KATI & GEB$", 11
- .byte FACILITY_CLASS_YOUNG_COUPLE_2, 0x02, 0x00
-
+ .byte FACILITY_CLASS_YOUNG_COUPLE_2, 0x02
+ .align 1
.2byte EC_WORD_WELCOME, EC_WORD_TO, EC_WORD_OUR, EC_WORD_LOVEY_DOVEY, EC_MOVE2(THUNDER_WAVE), EC_MOVE(SANDSTORM)
.2byte EC_WORD_LALALA, EC_WORD_LALALA, EC_WORD_OUR, EC_WORD_LOVEY_DOVEY, EC_WORD_LALALA, EC_WORD_LIFE
.2byte EC_WORD_I, EC_WORD_NEED, EC_WORD_TO, EC_WORD_LOSE, EC_WORD_MY, EC_MOVE2(FRUSTRATION)
@@ -4540,8 +4540,8 @@ gUnknown_8481C0C::
.byte 255 @ friendship
.string "KATI & GEB$", 11
- .byte FACILITY_CLASS_YOUNG_COUPLE_2, 0x02, 0x00
-
+ .byte FACILITY_CLASS_YOUNG_COUPLE_2, 0x02
+ .align 1
.2byte EC_WORD_I_AM, EC_WORD_PLUS, EC_WORD_YOU_RE, EC_WORD_MINUS, EC_WORD_LOVEY_DOVEY, EC_WORD_MAGNET_PULL
.2byte EC_WORD_DON_T, EC_WORD_STOP, EC_WORD_OUR, EC_WORD_LOVEY_DOVEY, EC_WORD_LOCOMOTIVE, EC_WORD_EXCL
.2byte EC_WORD_HIS, EC_WORD_CRY, EC_WORD_HAS, EC_WORD_CUTE_CHARM, EC_WORD_TOO, EC_WORD_EXCL
@@ -4626,8 +4626,8 @@ gUnknown_8481C0C::
gUnknown_8481FEC::
.byte 0x1f, 0x08, 0x02, 0x07
.string "BEN$", 11
- .byte FACILITY_CLASS_ROCKER, 0x01, 0x00
-
+ .byte FACILITY_CLASS_ROCKER, 0x01
+ .align 1
.2byte EC_WORD_LALALA, EC_WORD_LET_S, EC_MOVE(SING), EC_WORD_ABOUT, EC_WORD_ELECTRIC, EC_WORD_POWER
.2byte EC_WORD_STATIC, EC_WORD_IS, EC_WORD_ELECTRIC, EC_WORD_YES, EC_WORD_IT, EC_WORD_IS
.2byte EC_WORD_ELECTRIC, EC_WORD_ABOUT, EC_WORD_MY, EC_WORD_DIGITAL, EC_WORD_TELEVISION, EC_WORD_I_AM
@@ -4706,8 +4706,8 @@ gUnknown_8481FEC::
.byte 255 @ friendship
.string "CAMDEN$", 11
- .byte FACILITY_CLASS_ENGINEER, 0x01, 0x00
-
+ .byte FACILITY_CLASS_ENGINEER, 0x01
+ .align 1
.2byte EC_WORD_LALALA, EC_WORD_LET_S, EC_MOVE(SING), EC_WORD_ABOUT, EC_WORD_ELECTRIC, EC_WORD_POWER
.2byte EC_WORD_A, EC_MOVE(THUNDERBOLT), EC_WORD_IS, EC_WORD_ELECTRIC, EC_WORD_TOO, EC_WORD_EXCL
.2byte EC_WORD_ELECTRIC, EC_WORD_EXCL, EC_WORD_IT_S, EC_WORD_ABOUT, EC_WORD_WIRELESS, EC_WORD_LINK
@@ -4786,8 +4786,8 @@ gUnknown_8481FEC::
.byte 255 @ friendship
.string "ZACKERY$", 11
- .byte FACILITY_CLASS_SCIENTIST, 0x01, 0x00
-
+ .byte FACILITY_CLASS_SCIENTIST, 0x01
+ .align 1
.2byte EC_WORD_LALALA, EC_WORD_LET_S, EC_MOVE(SING), EC_WORD_ABOUT, EC_WORD_ELECTRIC, EC_WORD_POWER
.2byte EC_MOVE2(THUNDER_SHOCK), EC_WORD_IS, EC_WORD_ELECTRIC, EC_WORD_YOU, EC_WORD_KNOW, EC_WORD_QUES
.2byte EC_WORD_ELECTRIC, EC_WORD_EXCL, EC_MOVE2(FLASH), EC_MOVE2(FLASH), EC_MOVE2(FLASH), EC_WORD_EXCL_EXCL
@@ -4871,8 +4871,8 @@ gUnknown_8481FEC::
gUnknown_84823CC::
.byte 0x20, 0x08, 0x02, 0x0e
.string "MAURA$", 11
- .byte FACILITY_CLASS_BEAUTY_2, 0x02, 0x00
-
+ .byte FACILITY_CLASS_BEAUTY_2, 0x02
+ .align 1
.2byte EC_WORD_I_AM, EC_WORD_THE, EC_WORD_GROUP, EC_WORD_LEADER, EC_WORD_EXCL, 0xFFFF
.2byte EC_WORD_WHAT, EC_WORD_AM, EC_WORD_I, EC_WORD_LEADER, EC_WORD_OF, EC_WORD_QUES
.2byte EC_WORD_I_AM, EC_WORD_NO, EC_WORD_LEADER, EC_WORD_IT_S, EC_WORD_A_LITTLE, EC_WORD_LIE
@@ -4951,8 +4951,8 @@ gUnknown_84823CC::
.byte 255 @ friendship
.string "MIKAELA$", 11
- .byte FACILITY_CLASS_LASS_2, 0x01, 0x00
-
+ .byte FACILITY_CLASS_LASS_2, 0x01
+ .align 1
.2byte EC_WORD_I_AM, EC_WORD_REALLY, EC_WORD_THE, EC_WORD_NO_1, EC_WORD_TRAINER, EC_WORD_HERE
.2byte EC_WORD_NEVER, EC_WORD_SAID, EC_WORD_WHAT, EC_WORD_I_AM, EC_WORD_NO_1, EC_WORD_AT
.2byte EC_WORD_NEXT, EC_WORD_TIME, EC_WORD_I, EC_WORD_WILL, EC_WORD_BE, EC_WORD_OVERWHELMING
@@ -5031,8 +5031,8 @@ gUnknown_84823CC::
.byte 255 @ friendship
.string "FLINT$", 11
- .byte FACILITY_CLASS_ENGINEER, 0x04, 0x00
-
+ .byte FACILITY_CLASS_ENGINEER, 0x04
+ .align 1
.2byte EC_WORD_I_AM, EC_WORD_THE, EC_MOVE2(MILK_DRINK), EC_WORD_WORLD, EC_WORD_LEADER, EC_WORD_EXCL
.2byte EC_WORD_I_VE, EC_WORD_WON, EC_WORD_THIS, EC_MOVE2(MILK_DRINK), EC_WORD_MATCH, EC_WORD_EXCL
.2byte EC_WORD_I, EC_WORD_CAN_T, EC_WORD_DRINK, EC_WORD_ANY, EC_WORD_MORE, EC_WORD_DRINKS
diff --git a/include/battle_2.h b/include/battle_2.h
index ca8b78805..1f7a2304d 100644
--- a/include/battle_2.h
+++ b/include/battle_2.h
@@ -43,6 +43,7 @@ u8 GetWhoStrikesFirst(u8 bank1, u8 bank2, bool8 ignoreChosenMoves);
void RunBattleScriptCommands_PopCallbacksStack(void);
void RunBattleScriptCommands(void);
bool8 TryRunFromBattle(u8 bank);
+void sub_800FD9C(void);
extern const u8 gStatusConditionString_PoisonJpn[8];
extern const u8 gStatusConditionString_SleepJpn[8];
diff --git a/include/battle_setup.h b/include/battle_setup.h
index 2806295ca..61395811b 100644
--- a/include/battle_setup.h
+++ b/include/battle_setup.h
@@ -11,11 +11,12 @@ void BattleSetup_StartWildBattle(void);
void BattleSetup_StartRoamerBattle(void);
u8 HasTrainerAlreadyBeenFought(u16);
-void trainer_flag_set(u16);
-void trainer_flag_clear(u16);
+void SetTrainerFlag(u16);
+void ClearTrainerFlag(u16);
void BattleSetup_StartTrainerBattle(void);
u8 *BattleSetup_GetScriptAddrAfterBattle(void);
u8 *BattleSetup_GetTrainerPostBattleScript(void);
void sub_80803FC(void);
+u8 sub_8080060(void);
#endif // GUARD_BATTLE_SETUP_H
diff --git a/include/battle_transition.h b/include/battle_transition.h
index eba76fd61..91e564790 100644
--- a/include/battle_transition.h
+++ b/include/battle_transition.h
@@ -3,6 +3,8 @@
#include "global.h"
-void sub_8149DFC(u8 a1);
+void sub_8149DFC(u8 a0);
+bool8 sub_80D08F8(void);
+void sub_80D08B8(u8 a0);
#endif // GUARD_BATTLE_TRANSITION_H
diff --git a/include/event_data.h b/include/event_data.h
index 13e388bf2..34d103967 100644
--- a/include/event_data.h
+++ b/include/event_data.h
@@ -59,4 +59,7 @@ extern u16 gSpecialVar_0x8014;
extern u16 gSpecialVar_Result;
extern u16 gSpecialVar_0x8004;
+extern u16 gUnknown_20370DA;
+extern u16 gUnknown_20370DC;
+
#endif // GUARD_EVENT_DATA_H
diff --git a/include/field_fadetransition.h b/include/field_fadetransition.h
index 051865210..a2a4d3eac 100644
--- a/include/field_fadetransition.h
+++ b/include/field_fadetransition.h
@@ -3,14 +3,14 @@
#include "global.h"
-void sub_80AF734(void);
-void sp13E_warp_to_last_warp(void);
-void sub_80AF7D0(void);
-void sp13F_fall_to_last_warp(void);
+void sub_807DF7C(void);
+void DoWarp(void);
+void DoDiveWarp(void);
+void DoDoorWarp(void);
-void sub_80AF848(void);
-void sub_80AF87C(void);
+void DoFallWarp(void);
+void sub_807E59C(void);
+void sub_807E500(void);
void sub_807DF64(void);
-void sub_807DF7C(void);
#endif // GUARD_FIELD_FADETRANSITION_H
diff --git a/include/field_map_obj.h b/include/field_map_obj.h
index d2ec58979..69e3419de 100644
--- a/include/field_map_obj.h
+++ b/include/field_map_obj.h
@@ -35,7 +35,7 @@ u8 sub_808D4F4(void);
void RemoveFieldObjectByLocalIdAndMap(u8, u8, u8);
void npc_load_two_palettes__no_record(u16, u8);
void npc_load_two_palettes__and_record(u16, u8);
-void sub_808EBA8(u8, u8, u8, s16, s16);
+void sub_805F7C4(u8, u8, u8, s16, s16);
void pal_patch_for_npc(u16, u8);
void sub_808E16C(s16, s16);
void sub_808F28C(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat);
@@ -59,13 +59,13 @@ const struct MapObjectGraphicsInfo *GetFieldObjectGraphicsInfo(u8);
void npc_by_local_id_and_map_set_field_1_bit_x20(u8, u8, u8, u8);
void gpu_pal_allocator_reset__manage_upper_four(void);
void sub_808E82C(u8, u8, u8, s16, s16);
-void sub_808E7E4(u8, u8, u8);
-void sub_808E78C(u8, u8, u8, u8);
+void sub_805F400(u8, u8, u8);
+void sub_805F3A8(u8, u8, u8, u8);
void sub_808E75C(s16, s16);
void FieldObjectGetLocalIdAndMap(struct MapObject *, u8 *, u8 *, u8 *);
void npc_coords_shift(struct MapObject *, s16, s16);
void sub_808EB08(struct MapObject *, s16, s16);
-void sub_808F254(u8, u8, u8);
+void sub_805FE94(u8, u8, u8);
void FieldObjectStep(struct MapObject *, struct Sprite *, bool8(struct MapObject *, struct Sprite *));
u8 FieldObjectFaceOppositeDirection(struct MapObject *, u8);
u8 GetOppositeDirection(u8);
diff --git a/include/field_map_obj_helpers.h b/include/field_map_obj_helpers.h
index 2d3f69d95..cd1b19eaf 100644
--- a/include/field_map_obj_helpers.h
+++ b/include/field_map_obj_helpers.h
@@ -4,6 +4,6 @@
#include "global.h"
void UnfreezeMapObjects(void);
-void sub_8097B78(u8, u8);
+void sub_8069058(u8, u8);
#endif
diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h
index 297d66441..bb78bd0f3 100644
--- a/include/field_player_avatar.h
+++ b/include/field_player_avatar.h
@@ -20,5 +20,6 @@ u8 sub_805C808(u8);
void SetPlayerAvatarStateMask(u8 mask);
void sub_805D9C4(struct Sprite *sprite);
void sub_805D154(u8 direction);
+void sub_805DAE4(u8 direction);
#endif //GUARD_FIELD_PLAYER_AVATAR_H
diff --git a/include/field_screen_effect.h b/include/field_screen_effect.h
index add61d57c..14d7e5d81 100644
--- a/include/field_screen_effect.h
+++ b/include/field_screen_effect.h
@@ -4,7 +4,7 @@
#include "global.h"
void sub_80AF79C(void);
-void sub_80B009C(u8);
+void sub_807F028(u8);
void sub_80B0244(void);
#endif // GUARD_FIELD_SCREEN_EFFECT_H
diff --git a/include/field_specials.h b/include/field_specials.h
index 2b7991b55..2d495fdd5 100644
--- a/include/field_specials.h
+++ b/include/field_specials.h
@@ -4,6 +4,7 @@
#include "global.h"
u8 GetLeadMonIndex(void);
+u8 CountDigits(u16 number);
void TV_PrintIntToStringVar(u8, int);
#endif // GUARD_FIELD_SPECIALS_H
diff --git a/include/field_weather.h b/include/field_weather.h
index b896259e9..eb80c455a 100644
--- a/include/field_weather.h
+++ b/include/field_weather.h
@@ -10,6 +10,7 @@ u8 GetSav1Weather(void);
void sub_80AEDBC(void);
void DoCurrentWeather(void);
+void SetSav1WeatherFromCurrMapHeader(void);
void sub_807B0C4(u16 *, u16 *, u32);
#endif // GUARD_WEATHER_H
diff --git a/include/global.h b/include/global.h
index 858d95831..f418ff757 100644
--- a/include/global.h
+++ b/include/global.h
@@ -709,6 +709,21 @@ struct MEventBuffers
/*0x344 0x3464*/ u32 unk_344[2][5];
}; // 0x36C 0x348C
+struct TrainerTowerLog
+{
+ u32 unk0;
+ u32 unk4;
+ u8 unk8;
+ u8 unk9;
+ u8 unkA_0:1;
+ u8 unkA_1:1;
+ u8 unkA_2:1;
+ u8 unkA_3:1;
+ u8 unkA_4:1;
+ u8 unkA_5:1;
+ u8 unkA_6:2;
+};
+
struct SaveBlock1
{
/*0x0000*/ struct Coords16 pos;
@@ -766,7 +781,7 @@ struct SaveBlock1
/*0x3A54*/ struct FameCheckerSaveData fameChecker[NUM_FAMECHECKER_PERSONS];
/*0x3A94*/ u8 filler3A94[0x2A0];
/*0x3D34*/ u32 unkArrayIdx;
- /*0x3D38*/ u32 unkArray[4][3];
+ /*0x3D38*/ struct TrainerTowerLog unkArray[4];
};
extern struct SaveBlock1* gSaveBlock1Ptr;
diff --git a/include/item.h b/include/item.h
index 75c56c94d..25177cb6e 100644
--- a/include/item.h
+++ b/include/item.h
@@ -62,6 +62,8 @@ u8 ItemId_GetSecondaryId(u16 itemId);
u16 itemid_get_market_price(u16 itemId);
void sub_809A2DC(void);
void sub_809A2A4(void);
-void sub_8099E90(u16, u8 *);
+void CopyItemName(u16, u8 *);
+void sub_809A824(u16 itemId);
+bool8 AddBagItem(u16 itemId, u16 amount);
#endif // ITEM_H
diff --git a/include/main.h b/include/main.h
index 3fb254c95..6e9d2a25d 100644
--- a/include/main.h
+++ b/include/main.h
@@ -66,6 +66,7 @@ void DoSoftReset(void);
void ClearPokemonCrySongs(void);
void RestoreSerialTimer3IntrHandlers(void);
void SetVBlankCounter1Ptr(u32 *ptr);
+void DisableVBlankCounter1(void);
extern const char RomHeaderGameCode[4];
extern const char RomHeaderSoftwareVersion;
diff --git a/include/map_obj_lock.h b/include/map_obj_lock.h
index c8e075658..2927ca26d 100644
--- a/include/map_obj_lock.h
+++ b/include/map_obj_lock.h
@@ -3,9 +3,9 @@
#include "global.h"
-bool8 sub_80983C4(void);
+bool8 sub_8069590(void);
void ScriptFreezeMapObjects(void);
-bool8 sub_809847C(void);
+bool8 sub_8069648(void);
void LockSelectedMapObject(void);
void sub_8098630(void);
bool8 sub_8098734(void);
diff --git a/include/map_preview_screen.h b/include/map_preview_screen.h
new file mode 100644
index 000000000..8d9114b82
--- /dev/null
+++ b/include/map_preview_screen.h
@@ -0,0 +1,6 @@
+#ifndef GUARD_MAP_PREVIEW_SCREEN_H
+#define GUARD_MAP_PREVIEW_SCREEN_H
+
+void sub_80F85BC(u16 a0);
+
+#endif //GUARD_MAP_PREVIEW_SCREEN_H
diff --git a/include/new_menu_helpers.h b/include/new_menu_helpers.h
index 2a68a35e6..ce8e8d697 100644
--- a/include/new_menu_helpers.h
+++ b/include/new_menu_helpers.h
@@ -19,5 +19,8 @@ void sub_80F6F54(u8, u8);
u8 sub_80F78A8(void);
void sub_80F6E9C(void);
void sub_80F6EE4(u8 windowId, bool8 transfer);
+void sub_80F7974(const u8 *);
+u8 GetStartMenuWindowId(void);
+void sub_80F7998(void);
#endif // GUARD_NEW_MENU_HELPERS_H
diff --git a/include/overworld.h b/include/overworld.h
index 50ac09d9e..fbea3a4d9 100644
--- a/include/overworld.h
+++ b/include/overworld.h
@@ -35,7 +35,10 @@ void Overworld_SetMapObjTemplateMovementType(u8, u8);
void Overworld_SetWarpDestination(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
void saved_warp2_set(int unused, s8 mapGroup, s8 mapNum, s8 warpId);
-void saved_warp2_set_2(int unused, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
+void SetDynamicWarpWithCoords(int unused, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
+void SetFixedDiveWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
+void SetFixedHoleWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
+void SetEscapeWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
void Overworld_SetHealLocationWarp(u8);
void sub_8084DD4(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
void sub_8084E2C(s8, s8, s8, s8, s8);
@@ -81,11 +84,17 @@ void sub_8055DC4(void);
u8 sav1_map_get_name(void);
+void SetCurrentMapLayout(u16 mapDataId);
+void SetWarpDestinationToFixedHoleWarp(s16 x, s16 y);
+
+void ResetInitialPlayerAvatarState(void);
void sub_8055D40(u16 mapDataId);
+void sub_80563F0(void);
extern u8 gUnknown_2031DD8;
extern u8 gUnknown_2036E28;
extern bool8 (* gUnknown_3005024)(void);
+void SetLastHealLocationWarp(u8 healLocaionId);
#endif //GUARD_ROM4_H
diff --git a/include/party_menu.h b/include/party_menu.h
index 19e1f7d4e..2e83c1496 100644
--- a/include/party_menu.h
+++ b/include/party_menu.h
@@ -12,7 +12,7 @@ enum {
AILMENT_BRN
};
-bool8 pokemon_has_move(struct Pokemon *, u16);
+bool8 MonKnowsMove(struct Pokemon *, u16);
void sub_81B58A8(void);
void DoWallyTutorialBagMenu(void);
u8 pokemon_ailments_get_primary(u32 status);
diff --git a/include/pokemon.h b/include/pokemon.h
index e8782af98..4c6240cd4 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -670,4 +670,6 @@ void DoMonFrontSpriteAnimation(struct Sprite* sprite, u16 species, bool8 noCry,
void BattleAnimateFrontSprite(struct Sprite* sprite, u16 species, bool8 noCry, u8 arg3);
void BattleAnimateBackSprite(struct Sprite* sprite, u16 species);
+void PlayMapChosenOrBattleBGM(u16 songId);
+
#endif // GUARD_POKEMON_H
diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h
index 5b2d2052b..897c5a42e 100644
--- a/include/pokemon_storage_system.h
+++ b/include/pokemon_storage_system.h
@@ -12,5 +12,6 @@ void SetBoxMonNickFromAnyBox(u8 boxId, u8 monPosition, u8 * newNick);
void CompactPartySlots(void);
u32 GetBoxMonDataFromAnyBox(u8 boxId, u8 monPosition, u32 request);
void sub_808BCB4(u8 boxId, u8 monPosition);
+u8 * GetBoxNamePtr(u8 boxId);
#endif // GUARD_POKEMON_STORAGE_SYSTEM_H
diff --git a/include/quest_log.h b/include/quest_log.h
index 9f8a0ea21..31220b86c 100644
--- a/include/quest_log.h
+++ b/include/quest_log.h
@@ -21,5 +21,10 @@ extern struct UnkStruct_203AE98 * gUnknown_3005E94;
void sub_8112720(u8);
void sub_8113550(u16, const u16 *);
+void sub_8115748(u16);
+u8 sub_8112CAC(void);
+bool8 sub_81119D4(void (*func)(void));
+
+extern u8 gUnknown_203ADFA;
#endif //GUARD_QUEST_LOG_H
diff --git a/include/script.h b/include/script.h
index ebb4caa86..8ffbe1563 100644
--- a/include/script.h
+++ b/include/script.h
@@ -65,5 +65,14 @@ void sub_80992A0(u8 *script, u16 scriptSize);
bool32 sub_8069DFC(void);
void sub_8069EA4(u8 * script, u16 scriptSize);
u8 * sub_8069E48(void);
+void sub_8069998(u8 var);
+void sub_80699F8(void);
+void sub_8069964(void);
+void sub_80699A4(void);
+void sub_8069970(void);
+void sub_8069A20(void);
+void sub_8069A2C(void);
+
+extern const u8 *gRAMScriptPtr;
#endif // GUARD_SCRIPT_H
diff --git a/include/script_menu.h b/include/script_menu.h
index 1e95570b3..f82b061a5 100644
--- a/include/script_menu.h
+++ b/include/script_menu.h
@@ -3,7 +3,7 @@
#include "global.h"
-extern const u8 *const gUnknown_0858BAF0[9];
+extern const u8 *const gStdStringPtrs[9];
bool8 ScriptMenu_Multichoice(u8 left, u8 top, u8 var3, u8 var4);
bool8 ScriptMenu_MultichoiceWithDefault(u8 left, u8 top, u8 var3, u8 var4, u8 var5);
@@ -11,5 +11,6 @@ bool8 ScriptMenu_YesNo(u8 var1, u8 var2);
bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 a4, u8 columnCount);
bool8 ScriptMenu_ShowPokemonPic(u16 var1, u8 var2, u8 var3);
bool8 (*ScriptMenu_GetPicboxWaitFunc(void))(void);
+void sub_809D6D4(void);
#endif //GUARD_SCRIPT_MENU_H
diff --git a/include/script_movement.h b/include/script_movement.h
index ae446812e..2a6dbd2a7 100644
--- a/include/script_movement.h
+++ b/include/script_movement.h
@@ -5,6 +5,6 @@
bool8 ScriptMovement_StartObjectMovementScript(u8, u8, u8, const u8 *);
bool8 ScriptMovement_IsObjectMovementFinished(u8, u8, u8);
-void sub_80D338C(void);
+void sub_80974D8(void);
#endif // GUARD_SCRIPT_MOVEMENT_H
diff --git a/include/script_pokemon_util_80A0058.h b/include/script_pokemon_util_80A0058.h
new file mode 100644
index 000000000..e1d228589
--- /dev/null
+++ b/include/script_pokemon_util_80A0058.h
@@ -0,0 +1,8 @@
+#ifndef GUARD_SCRIPT_POKEMON_UTIL_80A0058_H
+#define GUARD_SCRIPT_POKEMON_UTIL_80A0058_H
+
+bool8 ScriptGiveMon(u16 species, u8 level, u16 item, u32 unk1, u32 unk2, u8 unk3);
+bool8 ScriptGiveEgg(u16 species);
+void ScriptSetMonMoveSlot(u8 partyIdx, u16 move, u8 slot);
+
+#endif //GUARD_SCRIPT_POKEMON_UTIL_80A0058_H
diff --git a/include/sound.h b/include/sound.h
index 34fdfc839..e720fc1a2 100644
--- a/include/sound.h
+++ b/include/sound.h
@@ -31,6 +31,7 @@ void PlayCry3(u16 species, s8 pan, u8 mode);
void PlayCry4(u16 species, s8 pan, u8 mode);
void PlayCry5(u16 species, u8 mode);
void PlayCry6(u16 species, s8 pan, u8 mode);
+void PlayCry7(u16 species, u8 mode);
void PlayCryInternal(u16 species, s8 pan, s8 volume, u8 priority, u8 mode);
bool8 IsCryFinished(void);
void StopCryAndClearCrySongs(void);
diff --git a/ld_script.txt b/ld_script.txt
index 8d188156b..5bfe7f28c 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -103,7 +103,7 @@ SECTIONS {
asm/map_obj_lock.o(.text);
asm/text_window_graphics.o(.text);
src/script.o(.text);
- asm/scrcmd.o(.text);
+ src/scrcmd.o(.text);
asm/field_control_avatar.o(.text);
asm/event_data.o(.text);
asm/coord_event_weather.o(.text);
@@ -370,6 +370,8 @@ SECTIONS {
src/metatile_behavior.o(.rodata);
data/metatile_behavior.o(.rodata);
data/data_835B488.o(.rodata);
+ src/scrcmd.o(.rodata);
+ data/data_835B488.o(.rodata.83A72A0);
src/battle_ai_script_commands.o(.rodata);
data/data_83F5738.o(.rodata);
src/save.o(.rodata);
diff --git a/src/load_save.c b/src/load_save.c
index da55869aa..6f388e451 100644
--- a/src/load_save.c
+++ b/src/load_save.c
@@ -287,7 +287,7 @@ void ApplyNewEncryptionKeyToAllEncryptedData(u32 encryptionKey)
int i;
for(i = 0; i < 4; i++)
- ApplyNewEncryptionKeyToWord(&gSaveBlock1Ptr->unkArray[i][1], encryptionKey);
+ ApplyNewEncryptionKeyToWord(&gSaveBlock1Ptr->unkArray[i].unk4, encryptionKey);
sub_8054F38(encryptionKey);
ApplyNewEncryptionKeyToBagItems_(encryptionKey);
diff --git a/src/quest_log.c b/src/quest_log.c
index 4f462505a..a01cbde2d 100644
--- a/src/quest_log.c
+++ b/src/quest_log.c
@@ -4312,7 +4312,7 @@ u16 * sub_8114C68(u16 * a0, const u16 * a1)
const u16 * sub_8114C8C(const u16 * a0)
{
const u16 *r4 = sub_8113E88(28, a0);
- sub_8099E90(r4[0], gStringVar1);
+ CopyItemName(r4[0], gStringVar1);
StringExpandPlaceholders(gStringVar4, gUnknown_841A391);
return r4 + 1;
}
@@ -4329,7 +4329,7 @@ u16 * sub_8114CC0(u16 * a0, const u16 * a1)
const u16 * sub_8114CE4(const u16 * a0)
{
const u16 *r4 = sub_8113E88(29, a0);
- sub_8099E90(r4[0], gStringVar1);
+ CopyItemName(r4[0], gStringVar1);
StringExpandPlaceholders(gStringVar4, gUnknown_841A3DA);
return r4 + 1;
}
diff --git a/src/scrcmd.c b/src/scrcmd.c
new file mode 100644
index 000000000..911ad2a42
--- /dev/null
+++ b/src/scrcmd.c
@@ -0,0 +1,2270 @@
+#include "global.h"
+#include "gba/isagbprint.h"
+#include "palette.h"
+#include "script.h"
+#include "mystery_event_script.h"
+#include "event_data.h"
+#include "random.h"
+#include "item.h"
+#include "overworld.h"
+#include "field_screen_effect.h"
+#include "quest_log.h"
+#include "map_preview_screen.h"
+#include "field_weather.h"
+#include "field_tasks.h"
+#include "field_fadetransition.h"
+#include "field_player_avatar.h"
+#include "sound.h"
+#include "script_movement.h"
+#include "field_map_obj.h"
+#include "field_map_obj_helpers.h"
+#include "map_obj_lock.h"
+#include "field_message_box.h"
+#include "new_menu_helpers.h"
+#include "window.h"
+#include "start_menu.h"
+#include "script_menu.h"
+#include "string_util.h"
+#include "data2.h"
+#include "field_specials.h"
+#include "constants/items.h"
+#include "script_pokemon_util_80A0058.h"
+#include "pokemon_storage_system.h"
+#include "party_menu.h"
+#include "money.h"
+#include "coins.h"
+#include "battle_setup.h"
+#include "shop.h"
+#include "script_pokemon_80F8.h"
+#include "slot_machine.h"
+#include "field_effect.h"
+#include "fieldmap.h"
+#include "field_door.h"
+
+extern u16 (*const gSpecials[])(void);
+extern u16 (*const gSpecialsEnd[])(void);
+extern const u8 *const gStdScripts[];
+extern const u8 *const gStdScriptsEnd[];
+
+EWRAM_DATA ptrdiff_t gVScriptOffset = 0;
+EWRAM_DATA u8 gUnknown_20370AC = 0;
+EWRAM_DATA u16 sPauseCounter = 0;
+EWRAM_DATA u16 sMovingNpcId = 0;
+EWRAM_DATA u16 sMovingNpcMapBank = 0;
+EWRAM_DATA u16 sMovingNpcMapId = 0;
+EWRAM_DATA u16 sFieldEffectScriptId = 0;
+
+extern u8 gSelectedEventObject;
+
+// This is defined in here so the optimizer can't see its value when compiling
+// script.c.
+void * const gNullScriptPtr = NULL;
+
+const u8 sScriptConditionTable[6][3] =
+ {
+// < = >
+ 1, 0, 0, // <
+ 0, 1, 0, // =
+ 0, 0, 1, // >
+ 1, 1, 0, // <=
+ 0, 1, 1, // >=
+ 1, 0, 1, // !=
+ };
+
+
+
+#define SCRCMD_DEF(name) bool8 ScrCmd_##name(struct ScriptContext *ctx)
+
+SCRCMD_DEF(nop)
+{
+ return FALSE;
+}
+
+SCRCMD_DEF(nop1)
+{
+ return FALSE;
+}
+
+SCRCMD_DEF(end)
+{
+ StopScript(ctx);
+ return FALSE;
+}
+
+SCRCMD_DEF(gotonative)
+{
+ bool8 (*func)(void) = (bool8 (*)(void))ScriptReadWord(ctx);
+ SetupNativeScript(ctx, func);
+ return TRUE;
+}
+
+SCRCMD_DEF(special)
+{
+ u16 (*const *specialPtr)(void) = gSpecials + ScriptReadHalfword(ctx);
+ if (specialPtr < gSpecialsEnd)
+ (*specialPtr)();
+ else
+ AGB_ASSERT_EX(0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/scrcmd.c", 241);
+ return FALSE;
+}
+
+SCRCMD_DEF(specialvar)
+{
+ u16 * varPtr = GetVarPointer(ScriptReadHalfword(ctx));
+ u16 (*const *specialPtr)(void) = gSpecials + ScriptReadHalfword(ctx);
+ if (specialPtr < gSpecialsEnd)
+ *varPtr = (*specialPtr)();
+ else
+ AGB_ASSERT_EX(0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/scrcmd.c", 263);
+ return FALSE;
+}
+
+SCRCMD_DEF(callnative)
+{
+ void (*func )(void) = ((void (*)(void))ScriptReadWord(ctx));
+ func();
+ return FALSE;
+}
+
+SCRCMD_DEF(waitstate)
+{
+ ScriptContext1_Stop();
+ return TRUE;
+}
+
+SCRCMD_DEF(goto)
+{
+ const u8 * scrptr = (const u8 *)ScriptReadWord(ctx);
+ ScriptJump(ctx, scrptr);
+ return FALSE;
+}
+
+SCRCMD_DEF(return)
+{
+ ScriptReturn(ctx);
+ return FALSE;
+}
+
+SCRCMD_DEF(call)
+{
+ const u8 * scrptr = (const u8 *)ScriptReadWord(ctx);
+ ScriptCall(ctx, scrptr);
+ return FALSE;
+}
+
+SCRCMD_DEF(goto_if)
+{
+ u8 condition = ScriptReadByte(ctx);
+ const u8 * scrptr = (const u8 *)ScriptReadWord(ctx);
+ if (sScriptConditionTable[condition][ctx->comparisonResult] == 1)
+ ScriptJump(ctx, scrptr);
+ return FALSE;
+}
+
+SCRCMD_DEF(call_if)
+{
+ u8 condition = ScriptReadByte(ctx);
+ const u8 * scrptr = (const u8 *)ScriptReadWord(ctx);
+ if (sScriptConditionTable[condition][ctx->comparisonResult] == 1)
+ ScriptCall(ctx, scrptr);
+ return FALSE;
+}
+
+SCRCMD_DEF(setvaddress)
+{
+ u32 addr1 = (u32)ctx->scriptPtr - 1;
+ u32 addr2 = ScriptReadWord(ctx);
+
+ gVScriptOffset = addr2 - addr1;
+ return FALSE;
+}
+
+SCRCMD_DEF(vgoto)
+{
+ const u8 * scrptr = (const u8 *)ScriptReadWord(ctx);
+ ScriptJump(ctx, scrptr - gVScriptOffset);
+ return FALSE;
+}
+
+SCRCMD_DEF(vcall)
+{
+ const u8 * scrptr = (const u8 *)ScriptReadWord(ctx);
+ ScriptCall(ctx, scrptr - gVScriptOffset);
+ return FALSE;
+}
+
+SCRCMD_DEF(vgoto_if)
+{
+ u8 condition = ScriptReadByte(ctx);
+ const u8 * scrptr = (const u8 *)ScriptReadWord(ctx) - gVScriptOffset;
+ if (sScriptConditionTable[condition][ctx->comparisonResult] == 1)
+ ScriptJump(ctx, scrptr);
+ return FALSE;
+}
+
+SCRCMD_DEF(vcall_if)
+{
+ u8 condition = ScriptReadByte(ctx);
+ const u8 * scrptr = (const u8 *)ScriptReadWord(ctx) - gVScriptOffset;
+ if (sScriptConditionTable[condition][ctx->comparisonResult] == 1)
+ ScriptCall(ctx, scrptr);
+ return FALSE;
+}
+
+SCRCMD_DEF(gotostd)
+{
+ u8 stdIdx = ScriptReadByte(ctx);
+ const u8 *const * script = gStdScripts + stdIdx;
+ if (script < gStdScriptsEnd)
+ ScriptJump(ctx, *script);
+ return FALSE;
+}
+
+SCRCMD_DEF(callstd)
+{
+ u8 stdIdx = ScriptReadByte(ctx);
+ const u8 *const * script = gStdScripts + stdIdx;
+ if (script < gStdScriptsEnd)
+ ScriptCall(ctx, *script);
+ return FALSE;
+}
+
+SCRCMD_DEF(gotostd_if)
+{
+ u8 condition = ScriptReadByte(ctx);
+ u8 stdIdx = ScriptReadByte(ctx);
+ if (sScriptConditionTable[condition][ctx->comparisonResult] == 1)
+ {
+ const u8 *const * script = gStdScripts + stdIdx;
+ if (script < gStdScriptsEnd)
+ ScriptJump(ctx, *script);
+ }
+ return FALSE;
+}
+
+SCRCMD_DEF(callstd_if)
+{
+ u8 condition = ScriptReadByte(ctx);
+ u8 stdIdx = ScriptReadByte(ctx);
+ if (sScriptConditionTable[condition][ctx->comparisonResult] == 1)
+ {
+ const u8 *const * script = gStdScripts + stdIdx;
+ if (script < gStdScriptsEnd)
+ ScriptCall(ctx, *script);
+ }
+ return FALSE;
+}
+
+SCRCMD_DEF(gotoram)
+{
+ ScriptJump(ctx, gRAMScriptPtr);
+ return FALSE;
+}
+
+SCRCMD_DEF(killscript)
+{
+ ClearRamScript();
+ StopScript(ctx);
+ return TRUE;
+}
+
+SCRCMD_DEF(setmysteryeventstatus)
+{
+ SetMysteryEventScriptStatus(ScriptReadByte(ctx));
+ return FALSE;
+}
+
+SCRCMD_DEF(cmdCF)
+{
+ const u8 * script = sub_8069E48();
+ if (script != NULL)
+ {
+ gRAMScriptPtr = ctx->scriptPtr;
+ ScriptJump(ctx, script);
+ }
+ return FALSE;
+}
+
+SCRCMD_DEF(loadword)
+{
+ u8 which = ScriptReadByte(ctx);
+ ctx->data[which] = ScriptReadWord(ctx);
+ return FALSE;
+}
+
+SCRCMD_DEF(loadbytefromaddr)
+{
+ u8 which = ScriptReadByte(ctx);
+ ctx->data[which] = *(const u8 *)ScriptReadWord(ctx);
+ return FALSE;
+}
+
+SCRCMD_DEF(writebytetoaddr)
+{
+ u8 value = ScriptReadByte(ctx);
+ *(u8 *)ScriptReadWord(ctx) = value;
+ return FALSE;
+}
+
+SCRCMD_DEF(loadbyte)
+{
+ u8 which = ScriptReadByte(ctx);
+ ctx->data[which] = ScriptReadByte(ctx);
+ return FALSE;
+}
+
+SCRCMD_DEF(setptrbyte)
+{
+ u8 which = ScriptReadByte(ctx);
+ *(u8 *)ScriptReadWord(ctx) = ctx->data[which];
+ return FALSE;
+}
+
+SCRCMD_DEF(copylocal)
+{
+ u8 whichDst = ScriptReadByte(ctx);
+ u8 whichSrc = ScriptReadByte(ctx);
+ ctx->data[whichDst] = ctx->data[whichSrc];
+ return FALSE;
+}
+
+SCRCMD_DEF(copybyte)
+{
+ u8 * dest = (u8 *)ScriptReadWord(ctx);
+ *dest = *(const u8 *)ScriptReadWord(ctx);
+ return FALSE;
+}
+
+SCRCMD_DEF(setvar)
+{
+ u16 * varPtr = GetVarPointer(ScriptReadHalfword(ctx));
+ *varPtr = ScriptReadHalfword(ctx);
+ return FALSE;
+}
+
+SCRCMD_DEF(copyvar)
+{
+ u16 * destPtr = GetVarPointer(ScriptReadHalfword(ctx));
+ u16 * srcPtr = GetVarPointer(ScriptReadHalfword(ctx));
+ *destPtr = *srcPtr;
+ return FALSE;
+}
+
+SCRCMD_DEF(setorcopyvar)
+{
+ u16 * destPtr = GetVarPointer(ScriptReadHalfword(ctx));
+ *destPtr = VarGet(ScriptReadHalfword(ctx));
+ return FALSE;
+}
+
+u8 compare_012(u16 left, u16 right)
+{
+ if (left < right)
+ return 0;
+ else if (left == right)
+ return 1;
+ else
+ return 2;
+}
+
+// comparelocaltolocal
+SCRCMD_DEF(compare_local_to_local)
+{
+ const u8 value1 = ctx->data[ScriptReadByte(ctx)];
+ const u8 value2 = ctx->data[ScriptReadByte(ctx)];
+
+ ctx->comparisonResult = compare_012(value1, value2);
+ return FALSE;
+}
+
+// comparelocaltoimm
+SCRCMD_DEF(compare_local_to_value)
+{
+ const u8 value1 = ctx->data[ScriptReadByte(ctx)];
+ const u8 value2 = ScriptReadByte(ctx);
+
+ ctx->comparisonResult = compare_012(value1, value2);
+ return FALSE;
+}
+
+SCRCMD_DEF(compare_local_to_addr)
+{
+ const u8 value1 = ctx->data[ScriptReadByte(ctx)];
+ const u8 value2 = *(const u8 *)ScriptReadWord(ctx);
+
+ ctx->comparisonResult = compare_012(value1, value2);
+ return FALSE;
+}
+
+SCRCMD_DEF(compare_addr_to_local)
+{
+ const u8 value1 = *(const u8 *)ScriptReadWord(ctx);
+ const u8 value2 = ctx->data[ScriptReadByte(ctx)];
+
+ ctx->comparisonResult = compare_012(value1, value2);
+ return FALSE;
+}
+
+SCRCMD_DEF(compare_addr_to_value)
+{
+ const u8 value1 = *(const u8 *)ScriptReadWord(ctx);
+ const u8 value2 = ScriptReadByte(ctx);
+
+ ctx->comparisonResult = compare_012(value1, value2);
+ return FALSE;
+}
+
+SCRCMD_DEF(compare_addr_to_addr)
+{
+ const u8 value1 = *(const u8 *)ScriptReadWord(ctx);
+ const u8 value2 = *(const u8 *)ScriptReadWord(ctx);
+
+ ctx->comparisonResult = compare_012(value1, value2);
+ return FALSE;
+}
+
+SCRCMD_DEF(compare_var_to_value)
+{
+ const u16 value1 = *GetVarPointer(ScriptReadHalfword(ctx));
+ const u16 value2 = ScriptReadHalfword(ctx);
+
+ ctx->comparisonResult = compare_012(value1, value2);
+ return FALSE;
+}
+
+SCRCMD_DEF(compare_var_to_var)
+{
+ const u16 *ptr1 = GetVarPointer(ScriptReadHalfword(ctx));
+ const u16 *ptr2 = GetVarPointer(ScriptReadHalfword(ctx));
+
+ ctx->comparisonResult = compare_012(*ptr1, *ptr2);
+ return FALSE;
+}
+
+SCRCMD_DEF(addvar)
+{
+ u16 *ptr = GetVarPointer(ScriptReadHalfword(ctx));
+ *ptr += ScriptReadHalfword(ctx);
+ return FALSE;
+}
+
+SCRCMD_DEF(subvar)
+{
+ u16 *ptr = GetVarPointer(ScriptReadHalfword(ctx));
+ *ptr -= VarGet(ScriptReadHalfword(ctx));
+ return FALSE;
+}
+
+SCRCMD_DEF(random)
+{
+ u16 max = VarGet(ScriptReadHalfword(ctx));
+
+ gSpecialVar_Result = Random() % max;
+ return FALSE;
+}
+
+SCRCMD_DEF(giveitem)
+{
+ u16 itemId = VarGet(ScriptReadHalfword(ctx));
+ u32 quantity = VarGet(ScriptReadHalfword(ctx));
+
+ gSpecialVar_Result = AddBagItem(itemId, (u8)quantity);
+ sub_809A824(itemId);
+ return FALSE;
+}
+
+SCRCMD_DEF(takeitem)
+{
+ u16 itemId = VarGet(ScriptReadHalfword(ctx));
+ u32 quantity = VarGet(ScriptReadHalfword(ctx));
+
+ gSpecialVar_Result = RemoveBagItem(itemId, (u8)quantity);
+ return FALSE;
+}
+
+SCRCMD_DEF(checkitemspace)
+{
+ u16 itemId = VarGet(ScriptReadHalfword(ctx));
+ u32 quantity = VarGet(ScriptReadHalfword(ctx));
+
+ gSpecialVar_Result = CheckBagHasSpace(itemId, (u8)quantity);
+ return FALSE;
+}
+
+SCRCMD_DEF(checkitem)
+{
+ u16 itemId = VarGet(ScriptReadHalfword(ctx));
+ u32 quantity = VarGet(ScriptReadHalfword(ctx));
+
+ gSpecialVar_Result = CheckBagHasItem(itemId, (u8)quantity);
+ return FALSE;
+}
+
+SCRCMD_DEF(checkitemtype)
+{
+ u16 itemId = VarGet(ScriptReadHalfword(ctx));
+
+ gSpecialVar_Result = GetPocketByItemId(itemId);
+ return FALSE;
+}
+
+SCRCMD_DEF(givepcitem)
+{
+ u16 itemId = VarGet(ScriptReadHalfword(ctx));
+ u16 quantity = VarGet(ScriptReadHalfword(ctx));
+
+ gSpecialVar_Result = AddPCItem(itemId, quantity);
+ return FALSE;
+}
+
+SCRCMD_DEF(checkpcitem)
+{
+ u16 itemId = VarGet(ScriptReadHalfword(ctx));
+ u16 quantity = VarGet(ScriptReadHalfword(ctx));
+
+ gSpecialVar_Result = CheckPCHasItem(itemId, quantity);
+ return FALSE;
+}
+
+SCRCMD_DEF(givedecoration)
+{
+ u32 decorId = VarGet(ScriptReadHalfword(ctx));
+
+// gSpecialVar_Result = DecorationAdd(decorId);
+ return FALSE;
+}
+
+SCRCMD_DEF(takedecoration)
+{
+ u32 decorId = VarGet(ScriptReadHalfword(ctx));
+
+// gSpecialVar_Result = DecorationRemove(decorId);
+ return FALSE;
+}
+
+SCRCMD_DEF(checkdecorspace)
+{
+ u32 decorId = VarGet(ScriptReadHalfword(ctx));
+
+// gSpecialVar_Result = DecorationCheckSpace(decorId);
+ return FALSE;
+}
+
+SCRCMD_DEF(checkdecor)
+{
+ u32 decorId = VarGet(ScriptReadHalfword(ctx));
+
+// gSpecialVar_Result = CheckHasDecoration(decorId);
+ return FALSE;
+}
+
+SCRCMD_DEF(setflag)
+{
+ FlagSet(ScriptReadHalfword(ctx));
+ return FALSE;
+}
+
+SCRCMD_DEF(clearflag)
+{
+ FlagClear(ScriptReadHalfword(ctx));
+ return FALSE;
+}
+
+SCRCMD_DEF(checkflag)
+{
+ ctx->comparisonResult = FlagGet(ScriptReadHalfword(ctx));
+ return FALSE;
+}
+
+SCRCMD_DEF(incrementgamestat)
+{
+ IncrementGameStat(ScriptReadByte(ctx));
+ return FALSE;
+}
+
+SCRCMD_DEF(comparestattoword)
+{
+ u8 statIdx = ScriptReadByte(ctx);
+ u32 value = ScriptReadWord(ctx);
+ u32 statValue = GetGameStat(statIdx);
+
+ if (statValue < value)
+ ctx ->comparisonResult = 0;
+ else if (statValue == value)
+ ctx->comparisonResult = 1;
+ else
+ ctx->comparisonResult = 2;
+ return FALSE;
+}
+
+SCRCMD_DEF(cmdD0)
+{
+ u16 value = ScriptReadHalfword(ctx);
+ sub_8115748(value);
+ sub_80F85BC(value);
+ return FALSE;
+}
+
+SCRCMD_DEF(animateflash)
+{
+ sub_807F028(ScriptReadByte(ctx));
+ ScriptContext1_Stop();
+ return TRUE;
+}
+
+SCRCMD_DEF(setflashradius)
+{
+ u16 flashLevel = VarGet(ScriptReadHalfword(ctx));
+
+ Overworld_SetFlashLevel(flashLevel);
+ return FALSE;
+}
+
+static bool8 IsPaletteNotActive(void)
+{
+ if (!gPaletteFade.active)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+SCRCMD_DEF(fadescreen)
+{
+ fade_screen(ScriptReadByte(ctx), 0);
+ SetupNativeScript(ctx, IsPaletteNotActive);
+ return TRUE;
+}
+
+SCRCMD_DEF(fadescreenspeed)
+{
+ u8 mode = ScriptReadByte(ctx);
+ u8 speed = ScriptReadByte(ctx);
+
+ fade_screen(mode, speed);
+ SetupNativeScript(ctx, IsPaletteNotActive);
+ return TRUE;
+}
+
+static bool8 RunPauseTimer(void)
+{
+ sPauseCounter--;
+
+ if (sPauseCounter == 0)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+SCRCMD_DEF(delay)
+{
+ sPauseCounter = ScriptReadHalfword(ctx);
+ SetupNativeScript(ctx, RunPauseTimer);
+ return TRUE;
+}
+
+SCRCMD_DEF(initclock)
+{
+// u8 hour = VarGet(ScriptReadHalfword(ctx));
+// u8 minute = VarGet(ScriptReadHalfword(ctx));
+//
+// RtcInitLocalTimeOffset(hour, minute);
+ return FALSE;
+}
+
+SCRCMD_DEF(dodailyevents)
+{
+// DoTimeBasedEvents();
+ return FALSE;
+}
+
+SCRCMD_DEF(gettime)
+{
+// RtcCalcLocalTime();
+// gSpecialVar_0x8000 = gLocalTime.hours;
+// gSpecialVar_0x8001 = gLocalTime.minutes;
+// gSpecialVar_0x8002 = gLocalTime.seconds;
+ gSpecialVar_0x8000 = 0;
+ gSpecialVar_0x8001 = 0;
+ gSpecialVar_0x8002 = 0;
+ return FALSE;
+}
+
+SCRCMD_DEF(setweather)
+{
+ u16 weather = VarGet(ScriptReadHalfword(ctx));
+
+ SetSav1Weather(weather);
+ return FALSE;
+}
+
+SCRCMD_DEF(resetweather)
+{
+ SetSav1WeatherFromCurrMapHeader();
+ return FALSE;
+}
+
+SCRCMD_DEF(doweather)
+{
+ DoCurrentWeather();
+ return FALSE;
+}
+
+SCRCMD_DEF(setstepcallback)
+{
+ ActivatePerStepCallback(ScriptReadByte(ctx));
+ return FALSE;
+}
+
+SCRCMD_DEF(setmaplayoutindex)
+{
+ u16 value = VarGet(ScriptReadHalfword(ctx));
+
+ SetCurrentMapLayout(value);
+ return FALSE;
+}
+
+SCRCMD_DEF(warp)
+{
+ u8 mapGroup = ScriptReadByte(ctx);
+ u8 mapNum = ScriptReadByte(ctx);
+ u8 warpId = ScriptReadByte(ctx);
+ u16 x = VarGet(ScriptReadHalfword(ctx));
+ u16 y = VarGet(ScriptReadHalfword(ctx));
+
+ Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y);
+ DoWarp();
+ ResetInitialPlayerAvatarState();
+ return TRUE;
+}
+
+SCRCMD_DEF(warpsilent)
+{
+ u8 mapGroup = ScriptReadByte(ctx);
+ u8 mapNum = ScriptReadByte(ctx);
+ u8 warpId = ScriptReadByte(ctx);
+ u16 x = VarGet(ScriptReadHalfword(ctx));
+ u16 y = VarGet(ScriptReadHalfword(ctx));
+
+ Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y);
+ DoDiveWarp();
+ ResetInitialPlayerAvatarState();
+ return TRUE;
+}
+
+SCRCMD_DEF(warpdoor)
+{
+ u8 mapGroup = ScriptReadByte(ctx);
+ u8 mapNum = ScriptReadByte(ctx);
+ u8 warpId = ScriptReadByte(ctx);
+ u16 x = VarGet(ScriptReadHalfword(ctx));
+ u16 y = VarGet(ScriptReadHalfword(ctx));
+
+ Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y);
+ DoDoorWarp();
+ ResetInitialPlayerAvatarState();
+ return TRUE;
+}
+
+SCRCMD_DEF(warphole)
+{
+ u8 mapGroup = ScriptReadByte(ctx);
+ u8 mapNum = ScriptReadByte(ctx);
+ u16 x;
+ u16 y;
+
+ PlayerGetDestCoords(&x, &y);
+ if (mapGroup == 0xFF && mapNum == 0xFF)
+ SetWarpDestinationToFixedHoleWarp(x - 7, y - 7);
+ else
+ Overworld_SetWarpDestination(mapGroup, mapNum, -1, x - 7, y - 7);
+ DoFallWarp();
+ ResetInitialPlayerAvatarState();
+ return TRUE;
+}
+
+SCRCMD_DEF(warpteleport)
+{
+ u8 mapGroup = ScriptReadByte(ctx);
+ u8 mapNum = ScriptReadByte(ctx);
+ u8 warpId = ScriptReadByte(ctx);
+ u16 x = VarGet(ScriptReadHalfword(ctx));
+ u16 y = VarGet(ScriptReadHalfword(ctx));
+
+ Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y);
+ sub_807E59C();
+ ResetInitialPlayerAvatarState();
+ return TRUE;
+}
+
+SCRCMD_DEF(warpD1)
+{
+ u8 mapGroup = ScriptReadByte(ctx);
+ u8 mapNum = ScriptReadByte(ctx);
+ u8 warpId = ScriptReadByte(ctx);
+ u16 x = VarGet(ScriptReadHalfword(ctx));
+ u16 y = VarGet(ScriptReadHalfword(ctx));
+
+ Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y);
+ sub_805DAE4(player_get_direction_lower_nybble());
+ sub_807E500();
+ ResetInitialPlayerAvatarState();
+ return TRUE;
+}
+
+SCRCMD_DEF(setwarp)
+{
+ u8 mapGroup = ScriptReadByte(ctx);
+ u8 mapNum = ScriptReadByte(ctx);
+ u8 warpId = ScriptReadByte(ctx);
+ u16 x = VarGet(ScriptReadHalfword(ctx));
+ u16 y = VarGet(ScriptReadHalfword(ctx));
+
+ Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y);
+ return FALSE;
+}
+
+SCRCMD_DEF(setdynamicwarp)
+{
+ u8 mapGroup = ScriptReadByte(ctx);
+ u8 mapNum = ScriptReadByte(ctx);
+ u8 warpId = ScriptReadByte(ctx);
+ u16 x = VarGet(ScriptReadHalfword(ctx));
+ u16 y = VarGet(ScriptReadHalfword(ctx));
+
+ SetDynamicWarpWithCoords(0, mapGroup, mapNum, warpId, x, y);
+ return FALSE;
+}
+
+SCRCMD_DEF(setdivewarp)
+{
+ u8 mapGroup = ScriptReadByte(ctx);
+ u8 mapNum = ScriptReadByte(ctx);
+ u8 warpId = ScriptReadByte(ctx);
+ u16 x = VarGet(ScriptReadHalfword(ctx));
+ u16 y = VarGet(ScriptReadHalfword(ctx));
+
+ SetFixedDiveWarp(mapGroup, mapNum, warpId, x, y);
+ return FALSE;
+}
+
+SCRCMD_DEF(setholewarp)
+{
+ u8 mapGroup = ScriptReadByte(ctx);
+ u8 mapNum = ScriptReadByte(ctx);
+ u8 warpId = ScriptReadByte(ctx);
+ u16 x = VarGet(ScriptReadHalfword(ctx));
+ u16 y = VarGet(ScriptReadHalfword(ctx));
+
+ SetFixedHoleWarp(mapGroup, mapNum, warpId, x, y);
+ return FALSE;
+}
+
+SCRCMD_DEF(setescapewarp)
+{
+ u8 mapGroup = ScriptReadByte(ctx);
+ u8 mapNum = ScriptReadByte(ctx);
+ u8 warpId = ScriptReadByte(ctx);
+ u16 x = VarGet(ScriptReadHalfword(ctx));
+ u16 y = VarGet(ScriptReadHalfword(ctx));
+
+ SetEscapeWarp(mapGroup, mapNum, warpId, x, y);
+ return FALSE;
+}
+
+SCRCMD_DEF(getplayerxy)
+{
+ u16 *pX = GetVarPointer(ScriptReadHalfword(ctx));
+ u16 *pY = GetVarPointer(ScriptReadHalfword(ctx));
+
+ *pX = gSaveBlock1Ptr->pos.x;
+ *pY = gSaveBlock1Ptr->pos.y;
+ return FALSE;
+}
+
+SCRCMD_DEF(getpartysize)
+{
+ gSpecialVar_Result = CalculatePlayerPartyCount();
+ return FALSE;
+}
+
+SCRCMD_DEF(playse)
+{
+ PlaySE(ScriptReadHalfword(ctx));
+ return FALSE;
+}
+
+static bool8 WaitForSoundEffectFinish(void)
+{
+ if (!IsSEPlaying())
+ return TRUE;
+ else
+ return FALSE;
+}
+
+SCRCMD_DEF(waitse)
+{
+ SetupNativeScript(ctx, WaitForSoundEffectFinish);
+ return TRUE;
+}
+
+SCRCMD_DEF(playfanfare)
+{
+ PlayFanfare(ScriptReadHalfword(ctx));
+ return FALSE;
+}
+
+static bool8 WaitForFanfareFinish(void)
+{
+ return IsFanfareTaskInactive();
+}
+
+SCRCMD_DEF(waitfanfare)
+{
+ SetupNativeScript(ctx, WaitForFanfareFinish);
+ return TRUE;
+}
+
+SCRCMD_DEF(playbgm)
+{
+ u16 songId = ScriptReadHalfword(ctx);
+ bool8 val = ScriptReadByte(ctx);
+
+ if (gUnknown_203ADFA == 2 || gUnknown_203ADFA == 3)
+ return FALSE;
+ if (val == TRUE)
+ Overworld_SetSavedMusic(songId);
+ PlayNewMapMusic(songId);
+ return FALSE;
+}
+
+SCRCMD_DEF(savebgm)
+{
+ Overworld_SetSavedMusic(ScriptReadHalfword(ctx));
+ return FALSE;
+}
+
+SCRCMD_DEF(fadedefaultbgm)
+{
+ if (gUnknown_203ADFA == 2 || gUnknown_203ADFA == 3)
+ return FALSE;
+ Overworld_ChangeMusicToDefault();
+ return FALSE;
+}
+
+SCRCMD_DEF(fadenewbgm)
+{
+ u16 music = ScriptReadHalfword(ctx);
+ if (gUnknown_203ADFA == 2 || gUnknown_203ADFA == 3)
+ return FALSE;
+ Overworld_ChangeMusicTo(music);
+ return FALSE;
+}
+
+SCRCMD_DEF(fadeoutbgm)
+{
+ u8 speed = ScriptReadByte(ctx);
+
+ if (gUnknown_203ADFA == 2 || gUnknown_203ADFA == 3)
+ return FALSE;
+ if (speed != 0)
+ FadeOutBGMTemporarily(4 * speed);
+ else
+ FadeOutBGMTemporarily(4);
+ SetupNativeScript(ctx, IsBGMPausedOrStopped);
+ return TRUE;
+}
+
+SCRCMD_DEF(fadeinbgm)
+{
+ u8 speed = ScriptReadByte(ctx);
+
+ if (gUnknown_203ADFA == 2 || gUnknown_203ADFA == 3)
+ return FALSE;
+ if (speed != 0)
+ FadeInBGM(4 * speed);
+ else
+ FadeInBGM(4);
+ return FALSE;
+}
+
+SCRCMD_DEF(applymovement)
+{
+ u16 localId = VarGet(ScriptReadHalfword(ctx));
+ const void *movementScript = (const void *)ScriptReadWord(ctx);
+
+ ScriptMovement_StartObjectMovementScript(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, movementScript);
+ sMovingNpcId = localId;
+ return FALSE;
+}
+
+SCRCMD_DEF(applymovement_at)
+{
+ u16 localId = VarGet(ScriptReadHalfword(ctx));
+ const void *movementScript = (const void *)ScriptReadWord(ctx);
+ u8 mapGroup = ScriptReadByte(ctx);
+ u8 mapNum = ScriptReadByte(ctx);
+
+ ScriptMovement_StartObjectMovementScript(localId, mapNum, mapGroup, movementScript);
+ sMovingNpcId = localId;
+ return FALSE;
+}
+
+static bool8 WaitForMovementFinish(void)
+{
+ return ScriptMovement_IsObjectMovementFinished(sMovingNpcId, sMovingNpcMapId, sMovingNpcMapBank);
+}
+
+SCRCMD_DEF(waitmovement)
+{
+ u16 localId = VarGet(ScriptReadHalfword(ctx));
+
+ if (localId != 0)
+ sMovingNpcId = localId;
+ sMovingNpcMapBank = gSaveBlock1Ptr->location.mapGroup;
+ sMovingNpcMapId = gSaveBlock1Ptr->location.mapNum;
+ SetupNativeScript(ctx, WaitForMovementFinish);
+ return TRUE;
+}
+
+SCRCMD_DEF(waitmovement_at)
+{
+ u16 localId = VarGet(ScriptReadHalfword(ctx));
+ u8 mapBank;
+ u8 mapId;
+
+ if (localId != 0)
+ sMovingNpcId = localId;
+ mapBank = ScriptReadByte(ctx);
+ mapId = ScriptReadByte(ctx);
+ sMovingNpcMapBank = mapBank;
+ sMovingNpcMapId = mapId;
+ SetupNativeScript(ctx, WaitForMovementFinish);
+ return TRUE;
+}
+
+SCRCMD_DEF(removeobject)
+{
+ u16 localId = VarGet(ScriptReadHalfword(ctx));
+
+ RemoveFieldObjectByLocalIdAndMap(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
+ return FALSE;
+}
+
+SCRCMD_DEF(removeobject_at)
+{
+ u16 objectId = VarGet(ScriptReadHalfword(ctx));
+ u8 mapGroup = ScriptReadByte(ctx);
+ u8 mapNum = ScriptReadByte(ctx);
+
+ RemoveFieldObjectByLocalIdAndMap(objectId, mapNum, mapGroup);
+ return FALSE;
+}
+
+SCRCMD_DEF(addobject)
+{
+ u16 objectId = VarGet(ScriptReadHalfword(ctx));
+
+ show_sprite(objectId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
+ return FALSE;
+}
+
+SCRCMD_DEF(addobject_at)
+{
+ u16 objectId = VarGet(ScriptReadHalfword(ctx));
+ u8 mapGroup = ScriptReadByte(ctx);
+ u8 mapNum = ScriptReadByte(ctx);
+
+ show_sprite(objectId, mapNum, mapGroup);
+ return FALSE;
+}
+
+SCRCMD_DEF(setobjectxy)
+{
+ u16 localId = VarGet(ScriptReadHalfword(ctx));
+ u16 x = VarGet(ScriptReadHalfword(ctx));
+ u16 y = VarGet(ScriptReadHalfword(ctx));
+
+ sub_805F7C4(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, x, y);
+ return FALSE;
+}
+
+SCRCMD_DEF(setobjectxyperm)
+{
+ u16 localId = VarGet(ScriptReadHalfword(ctx));
+ u16 x = VarGet(ScriptReadHalfword(ctx));
+ u16 y = VarGet(ScriptReadHalfword(ctx));
+
+ Overworld_SetMapObjTemplateCoords(localId, x, y);
+ return FALSE;
+}
+
+SCRCMD_DEF(moveobjectoffscreen)
+{
+ u16 localId = VarGet(ScriptReadHalfword(ctx));
+
+ sub_805FE94(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
+ return FALSE;
+}
+
+SCRCMD_DEF(showobject_at)
+{
+ u16 localId = VarGet(ScriptReadHalfword(ctx));
+ u8 mapGroup = ScriptReadByte(ctx);
+ u8 mapNum = ScriptReadByte(ctx);
+
+ npc_by_local_id_and_map_set_field_1_bit_x20(localId, mapNum, mapGroup, 0);
+ return FALSE;
+}
+
+SCRCMD_DEF(hideobject_at)
+{
+ u16 localId = VarGet(ScriptReadHalfword(ctx));
+ u8 mapGroup = ScriptReadByte(ctx);
+ u8 mapNum = ScriptReadByte(ctx);
+
+ npc_by_local_id_and_map_set_field_1_bit_x20(localId, mapNum, mapGroup, 1);
+ return FALSE;
+}
+
+SCRCMD_DEF(setobjectpriority)
+{
+ u16 localId = VarGet(ScriptReadHalfword(ctx));
+ u8 mapGroup = ScriptReadByte(ctx);
+ u8 mapNum = ScriptReadByte(ctx);
+ u8 priority = ScriptReadByte(ctx);
+
+ sub_805F3A8(localId, mapNum, mapGroup, priority + 83);
+ return FALSE;
+}
+
+SCRCMD_DEF(resetobjectpriority)
+{
+ u16 localId = VarGet(ScriptReadHalfword(ctx));
+ u8 mapGroup = ScriptReadByte(ctx);
+ u8 mapNum = ScriptReadByte(ctx);
+
+ sub_805F400(localId, mapNum, mapGroup);
+ return FALSE;
+}
+
+SCRCMD_DEF(faceplayer)
+{
+ if (gMapObjects[gSelectedEventObject].active)
+ {
+ FieldObjectFaceOppositeDirection(&gMapObjects[gSelectedEventObject],
+ player_get_direction_lower_nybble());
+ }
+ return FALSE;
+}
+
+SCRCMD_DEF(turnobject)
+{
+ u16 localId = VarGet(ScriptReadHalfword(ctx));
+ u8 direction = ScriptReadByte(ctx);
+
+ FieldObjectTurnByLocalIdAndMap(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, direction);
+ return FALSE;
+}
+
+SCRCMD_DEF(setobjectmovementtype)
+{
+ u16 localId = VarGet(ScriptReadHalfword(ctx));
+ u8 movementType = ScriptReadByte(ctx);
+
+ Overworld_SetMapObjTemplateMovementType(localId, movementType);
+ return FALSE;
+}
+
+SCRCMD_DEF(createvobject)
+{
+ u8 graphicsId = ScriptReadByte(ctx);
+ u8 v2 = ScriptReadByte(ctx);
+ u16 x = VarGet(ScriptReadHalfword(ctx));
+ u32 y = VarGet(ScriptReadHalfword(ctx));
+ u8 elevation = ScriptReadByte(ctx);
+ u8 direction = ScriptReadByte(ctx);
+
+ sprite_new(graphicsId, v2, x, y, elevation, direction);
+ return FALSE;
+}
+
+SCRCMD_DEF(turnvobject)
+{
+ u8 v1 = ScriptReadByte(ctx);
+ u8 direction = ScriptReadByte(ctx);
+
+ sub_8069058(v1, direction);
+ return FALSE;
+}
+
+SCRCMD_DEF(lockall)
+{
+ if (is_c1_link_related_active())
+ {
+ return FALSE;
+ }
+ else
+ {
+ ScriptFreezeMapObjects();
+ SetupNativeScript(ctx, sub_8069590);
+ return TRUE;
+ }
+}
+
+SCRCMD_DEF(lock)
+{
+ if (is_c1_link_related_active())
+ {
+ return FALSE;
+ }
+ else
+ {
+ if (gMapObjects[gSelectedEventObject].active)
+ {
+ LockSelectedMapObject();
+ SetupNativeScript(ctx, sub_8069648);
+ }
+ else
+ {
+ ScriptFreezeMapObjects();
+ SetupNativeScript(ctx, sub_8069590);
+ }
+ return TRUE;
+ }
+}
+
+SCRCMD_DEF(releaseall)
+{
+ u8 playerObjectId;
+
+ HideFieldMessageBox();
+ playerObjectId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0);
+ FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[playerObjectId]);
+ sub_80974D8();
+ UnfreezeMapObjects();
+ return FALSE;
+}
+
+SCRCMD_DEF(release)
+{
+ u8 playerObjectId;
+
+ HideFieldMessageBox();
+ if (gMapObjects[gSelectedEventObject].active)
+ FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[gSelectedEventObject]);
+ playerObjectId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0);
+ FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[playerObjectId]);
+ sub_80974D8();
+ UnfreezeMapObjects();
+ return FALSE;
+}
+
+SCRCMD_DEF(cmdC7)
+{
+ gUnknown_20370DC = gUnknown_20370DA;
+ gUnknown_20370DA = ScriptReadByte(ctx);
+ return FALSE;
+}
+
+SCRCMD_DEF(message)
+{
+ const u8 *msg = (const u8 *)ScriptReadWord(ctx);
+
+ if (msg == NULL)
+ msg = (const u8 *)ctx->data[0];
+ ShowFieldMessage(msg);
+ return FALSE;
+}
+
+SCRCMD_DEF(cmdC8)
+{
+ const u8 *msg = (const u8 *)ScriptReadWord(ctx);
+
+ if (msg == NULL)
+ msg = (const u8 *)ctx->data[0];
+ sub_80F7974(msg);
+ CopyWindowToVram(GetStartMenuWindowId(), 1);
+ return FALSE;
+}
+
+SCRCMD_DEF(cmdC9)
+{
+ sub_80F7998();
+ return FALSE;
+}
+
+SCRCMD_DEF(messageautoscroll)
+{
+ const u8 *msg = (const u8 *)ScriptReadWord(ctx);
+
+ if (msg == NULL)
+ msg = (const u8 *)ctx->data[0];
+ ShowFieldAutoScrollMessage(msg);
+ return FALSE;
+}
+
+SCRCMD_DEF(waitmessage)
+{
+ SetupNativeScript(ctx, IsFieldMessageBoxHidden);
+ return TRUE;
+}
+
+SCRCMD_DEF(closemessage)
+{
+ HideFieldMessageBox();
+ return FALSE;
+}
+
+extern IWRAM_DATA struct ScriptContext * gUnknown_3005070;
+
+bool8 sub_806B93C(struct ScriptContext * ctx);
+u8 sub_806B96C(struct ScriptContext * ctx);
+
+bool8 WaitForAorBPress(void)
+{
+ if (gMain.newKeys & A_BUTTON)
+ return TRUE;
+ if (gMain.newKeys & B_BUTTON)
+ return TRUE;
+
+ if (sub_806B93C(gUnknown_3005070) == TRUE)
+ {
+ u8 r4 = sub_806B96C(gUnknown_3005070);
+ sub_8069998(r4);
+ if (r4)
+ {
+ if (gUnknown_203ADFA != 2)
+ {
+ sub_80699F8();
+ if (r4 < 9 || r4 > 10)
+ sub_8069964();
+ else
+ {
+ sub_80699A4();
+ sub_8069970();
+ }
+ return TRUE;
+ }
+ }
+ }
+ if (sub_8112CAC() == 1 || gUnknown_203ADFA == 2)
+ {
+ if (gUnknown_20370AC == 120)
+ return TRUE;
+ else
+ gUnknown_20370AC++;
+ }
+
+ return FALSE;
+}
+
+bool8 sub_806B93C(struct ScriptContext * ctx)
+{
+ const u8 * script = ctx->scriptPtr;
+ u8 nextCmd = *script;
+ if (nextCmd == 3) // return
+ {
+ script = ctx->stack[ctx->stackDepth - 1];
+ nextCmd = *script;
+ }
+ if (nextCmd < 0x6B || nextCmd > 0x6C) // releaseall or release
+ return FALSE;
+ else
+ return TRUE;
+}
+
+u8 sub_806B96C(struct ScriptContext * ctx)
+{
+ if (gMain.heldKeys & DPAD_UP && gSpecialVar_Facing != 2)
+ return 1;
+
+ if (gMain.heldKeys & DPAD_DOWN && gSpecialVar_Facing != 1)
+ return 2;
+
+ if (gMain.heldKeys & DPAD_LEFT && gSpecialVar_Facing != 3)
+ return 3;
+
+ if (gMain.heldKeys & DPAD_RIGHT && gSpecialVar_Facing != 4)
+ return 4;
+
+ if (gMain.newKeys & L_BUTTON)
+ return 5;
+
+ if (gMain.heldKeys & R_BUTTON)
+ return 6;
+
+ if (gMain.heldKeys & START_BUTTON)
+ return 7;
+
+ if (gMain.heldKeys & SELECT_BUTTON)
+ return 8;
+
+ if (gMain.newKeys & A_BUTTON)
+ return 9;
+
+ if (gMain.newKeys & B_BUTTON)
+ return 10;
+
+ return 0;
+}
+
+SCRCMD_DEF(waitbuttonpress)
+{
+ gUnknown_3005070 = ctx;
+
+ if (sub_8112CAC() == 1 || gUnknown_203ADFA == 2)
+ gUnknown_20370AC = 0;
+ SetupNativeScript(ctx, WaitForAorBPress);
+ return TRUE;
+}
+
+SCRCMD_DEF(yesnobox)
+{
+ u8 left = ScriptReadByte(ctx);
+ u8 top = ScriptReadByte(ctx);
+
+ if (ScriptMenu_YesNo(left, top) == TRUE)
+ {
+ ScriptContext1_Stop();
+ return TRUE;
+ }
+ else
+ {
+ return FALSE;
+ }
+}
+
+SCRCMD_DEF(multichoice)
+{
+ u8 left = ScriptReadByte(ctx);
+ u8 top = ScriptReadByte(ctx);
+ u8 multichoiceId = ScriptReadByte(ctx);
+ u8 ignoreBPress = ScriptReadByte(ctx);
+
+ if (ScriptMenu_Multichoice(left, top, multichoiceId, ignoreBPress) == TRUE)
+ {
+ ScriptContext1_Stop();
+ return TRUE;
+ }
+ else
+ {
+ return FALSE;
+ }
+}
+
+SCRCMD_DEF(multichoicedefault)
+{
+ u8 left = ScriptReadByte(ctx);
+ u8 top = ScriptReadByte(ctx);
+ u8 multichoiceId = ScriptReadByte(ctx);
+ u8 defaultChoice = ScriptReadByte(ctx);
+ u8 ignoreBPress = ScriptReadByte(ctx);
+
+ if (ScriptMenu_MultichoiceWithDefault(left, top, multichoiceId, ignoreBPress, defaultChoice) == TRUE)
+ {
+ ScriptContext1_Stop();
+ return TRUE;
+ }
+ else
+ {
+ return FALSE;
+ }
+}
+
+SCRCMD_DEF(drawbox)
+{
+ /*u8 left = ScriptReadByte(ctx);
+ u8 top = ScriptReadByte(ctx);
+ u8 right = ScriptReadByte(ctx);
+ u8 bottom = ScriptReadByte(ctx);
+
+ MenuDrawTextWindow(left, top, right, bottom);*/
+ return FALSE;
+}
+
+SCRCMD_DEF(multichoicegrid)
+{
+ u8 left = ScriptReadByte(ctx);
+ u8 top = ScriptReadByte(ctx);
+ u8 multichoiceId = ScriptReadByte(ctx);
+ u8 numColumns = ScriptReadByte(ctx);
+ u8 ignoreBPress = ScriptReadByte(ctx);
+
+ if (ScriptMenu_MultichoiceGrid(left, top, multichoiceId, ignoreBPress, numColumns) == TRUE)
+ {
+ ScriptContext1_Stop();
+ return TRUE;
+ }
+ else
+ {
+ return FALSE;
+ }
+}
+
+SCRCMD_DEF(erasebox)
+{
+ u8 left = ScriptReadByte(ctx);
+ u8 top = ScriptReadByte(ctx);
+ u8 right = ScriptReadByte(ctx);
+ u8 bottom = ScriptReadByte(ctx);
+
+ // MenuZeroFillWindowRect(left, top, right, bottom);
+ return FALSE;
+}
+
+SCRCMD_DEF(drawboxtext)
+{
+// u8 left = ScriptReadByte(ctx);
+// u8 top = ScriptReadByte(ctx);
+// u8 multichoiceId = ScriptReadByte(ctx);
+// u8 ignoreBPress = ScriptReadByte(ctx);
+
+ /*if (Multichoice(left, top, multichoiceId, ignoreBPress) == TRUE)
+ {
+ ScriptContext1_Stop();
+ return TRUE;
+ }*/
+ return FALSE;
+}
+
+SCRCMD_DEF(showmonpic)
+{
+ u16 species = VarGet(ScriptReadHalfword(ctx));
+ u8 x = ScriptReadByte(ctx);
+ u8 y = ScriptReadByte(ctx);
+
+ ScriptMenu_ShowPokemonPic(species, x, y);
+ PlayCry7(species, 0);
+ return FALSE;
+}
+
+SCRCMD_DEF(hidemonpic)
+{
+ bool8 (*func)(void) = ScriptMenu_GetPicboxWaitFunc();
+
+ if (func == NULL)
+ return FALSE;
+ SetupNativeScript(ctx, func);
+ return TRUE;
+}
+
+SCRCMD_DEF(showcontestwinner)
+{
+ u8 v1 = ScriptReadByte(ctx);
+
+ /*
+ if (v1)
+ sub_812FDA8(v1);
+ ShowContestWinner();
+ ScriptContext1_Stop();
+ return TRUE;
+ */
+
+ return FALSE;
+}
+
+SCRCMD_DEF(braillemessage)
+{
+ u8 *ptr = (u8 *)ScriptReadWord(ctx);
+ if (ptr == NULL)
+ ptr = (u8 *)ctx->data[0];
+
+ sub_80F6E9C();
+ sub_80F6EE4(0, 1);
+ AddTextPrinterParameterized(0, 6, ptr, 0, 1, 0, NULL);
+ return FALSE;
+}
+
+SCRCMD_DEF(getbraillestringwidth)
+{
+ u8 *ptr = (u8 *)ScriptReadWord(ctx);
+ if (ptr == NULL)
+ ptr = (u8 *)ctx->data[0];
+
+ gSpecialVar_0x8004 = GetStringWidth(6, ptr, -1);
+ return FALSE;
+}
+
+SCRCMD_DEF(vmessage)
+{
+ u32 v1 = ScriptReadWord(ctx);
+
+ ShowFieldMessage((u8 *)(v1 - gVScriptOffset));
+ return FALSE;
+}
+
+u8 * const sScriptStringVars[] =
+{
+ gStringVar1,
+ gStringVar2,
+ gStringVar3,
+};
+
+SCRCMD_DEF(bufferspeciesname)
+{
+ u8 stringVarIndex = ScriptReadByte(ctx);
+ u16 species = VarGet(ScriptReadHalfword(ctx));
+
+ StringCopy(sScriptStringVars[stringVarIndex], gSpeciesNames[species]);
+ return FALSE;
+}
+
+SCRCMD_DEF(bufferleadmonspeciesname)
+{
+ u8 stringVarIndex = ScriptReadByte(ctx);
+
+ u8 *dest = sScriptStringVars[stringVarIndex];
+ u8 partyIndex = GetLeadMonIndex();
+ u32 species = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPECIES, NULL);
+ StringCopy(dest, gSpeciesNames[species]);
+ return FALSE;
+}
+
+SCRCMD_DEF(bufferpartymonnick)
+{
+ u8 stringVarIndex = ScriptReadByte(ctx);
+ u16 partyIndex = VarGet(ScriptReadHalfword(ctx));
+
+ GetMonData(&gPlayerParty[partyIndex], MON_DATA_NICKNAME, sScriptStringVars[stringVarIndex]);
+ StringGetEnd10(sScriptStringVars[stringVarIndex]);
+ return FALSE;
+}
+
+SCRCMD_DEF(bufferitemname)
+{
+ u8 stringVarIndex = ScriptReadByte(ctx);
+ u16 itemId = VarGet(ScriptReadHalfword(ctx));
+
+ CopyItemName(itemId, sScriptStringVars[stringVarIndex]);
+ return FALSE;
+}
+
+extern const u8 gUnknown_83A72A0[];
+extern const u8 gUnknown_83A72A2[];
+
+SCRCMD_DEF(bufferitemnameplural)
+{
+ u8 stringVarIndex = ScriptReadByte(ctx);
+ u16 itemId = VarGet(ScriptReadHalfword(ctx));
+ u16 quantity = VarGet(ScriptReadHalfword(ctx));
+
+ CopyItemName(itemId, sScriptStringVars[stringVarIndex]);
+ if (itemId == ITEM_POKE_BALL && quantity >= 2)
+ StringAppend(sScriptStringVars[stringVarIndex], gUnknown_83A72A0);
+ else if (itemId >= ITEM_CHERI_BERRY && itemId < ITEM_ENIGMA_BERRY && quantity >= 2)
+ {
+ u16 strlength = StringLength(sScriptStringVars[stringVarIndex]);
+ if (strlength != 0)
+ {
+ u8 * endptr = sScriptStringVars[stringVarIndex] + strlength;
+ endptr[-1] = EOS;
+ StringAppend(sScriptStringVars[stringVarIndex], gUnknown_83A72A2);
+ }
+ }
+
+ return FALSE;
+}
+
+SCRCMD_DEF(bufferdecorationname)
+{
+ u8 stringVarIndex = ScriptReadByte(ctx);
+ u16 decorId = VarGet(ScriptReadHalfword(ctx));
+
+// StringCopy(sScriptStringVars[stringVarIndex], gDecorations[decorId].name);
+ return FALSE;
+}
+
+SCRCMD_DEF(buffermovename)
+{
+ u8 stringVarIndex = ScriptReadByte(ctx);
+ u16 moveId = VarGet(ScriptReadHalfword(ctx));
+
+ StringCopy(sScriptStringVars[stringVarIndex], gMoveNames[moveId]);
+ return FALSE;
+}
+
+SCRCMD_DEF(buffernumberstring)
+{
+ u8 stringVarIndex = ScriptReadByte(ctx);
+ u16 v1 = VarGet(ScriptReadHalfword(ctx));
+ u8 v2 = CountDigits(v1);
+
+ ConvertIntToDecimalStringN(sScriptStringVars[stringVarIndex], v1, 0, v2);
+ return FALSE;
+}
+
+SCRCMD_DEF(bufferstdstring)
+{
+ u8 stringVarIndex = ScriptReadByte(ctx);
+ u16 index = VarGet(ScriptReadHalfword(ctx));
+
+ StringCopy(sScriptStringVars[stringVarIndex], gStdStringPtrs[index]);
+ return FALSE;
+}
+
+/*
+SCRCMD_DEF(buffercontesttype)
+{
+ u8 stringVarIndex = ScriptReadByte(ctx);
+ u16 index = VarGet(ScriptReadHalfword(ctx));
+
+ sub_818E868(sScriptStringVars[stringVarIndex], index);
+ return FALSE;
+}
+*/
+
+SCRCMD_DEF(bufferstring)
+{
+ u8 stringVarIndex = ScriptReadByte(ctx);
+ const u8 *text = (u8 *)ScriptReadWord(ctx);
+
+ StringCopy(sScriptStringVars[stringVarIndex], text);
+ return FALSE;
+}
+
+SCRCMD_DEF(vloadword)
+{
+ const u8 *ptr = (u8 *)(ScriptReadWord(ctx) - gVScriptOffset);
+
+ StringExpandPlaceholders(gStringVar4, ptr);
+ return FALSE;
+}
+
+SCRCMD_DEF(vbufferstring)
+{
+ u8 stringVarIndex = ScriptReadByte(ctx);
+ u32 addr = ScriptReadWord(ctx);
+
+ const u8 *src = (u8 *)(addr - gVScriptOffset);
+ u8 *dest = sScriptStringVars[stringVarIndex];
+ StringCopy(dest, src);
+ return FALSE;
+}
+
+SCRCMD_DEF(bufferboxname)
+{
+ u8 stringVarIndex = ScriptReadByte(ctx);
+ u16 boxId = VarGet(ScriptReadHalfword(ctx));
+
+ StringCopy(sScriptStringVars[stringVarIndex], GetBoxNamePtr(boxId));
+ return FALSE;
+}
+
+SCRCMD_DEF(givemon)
+{
+ u16 species = VarGet(ScriptReadHalfword(ctx));
+ u8 level = ScriptReadByte(ctx);
+ u16 item = VarGet(ScriptReadHalfword(ctx));
+ u32 unkParam1 = ScriptReadWord(ctx);
+ u32 unkParam2 = ScriptReadWord(ctx);
+ u8 unkParam3 = ScriptReadByte(ctx);
+
+ gSpecialVar_Result = ScriptGiveMon(species, level, item, unkParam1, unkParam2, unkParam3);
+ return FALSE;
+}
+
+SCRCMD_DEF(giveegg)
+{
+ u16 species = VarGet(ScriptReadHalfword(ctx));
+
+ gSpecialVar_Result = ScriptGiveEgg(species);
+ return FALSE;
+}
+
+SCRCMD_DEF(setmonmove)
+{
+ u8 partyIndex = ScriptReadByte(ctx);
+ u8 slot = ScriptReadByte(ctx);
+ u16 move = ScriptReadHalfword(ctx);
+
+ ScriptSetMonMoveSlot(partyIndex, move, slot);
+ return FALSE;
+}
+
+SCRCMD_DEF(checkpartymove)
+{
+ u8 i;
+ u16 moveId = ScriptReadHalfword(ctx);
+
+ gSpecialVar_Result = PARTY_SIZE;
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ u16 species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES, NULL);
+ if (!species)
+ break;
+ if (!GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) && MonKnowsMove(&gPlayerParty[i], moveId) == TRUE)
+ {
+ gSpecialVar_Result = i;
+ gSpecialVar_0x8004 = species;
+ break;
+ }
+ }
+ return FALSE;
+}
+
+SCRCMD_DEF(givemoney)
+{
+ u32 amount = ScriptReadWord(ctx);
+ u8 ignore = ScriptReadByte(ctx);
+
+ if (!ignore)
+ AddMoney(&gSaveBlock1Ptr->money, amount);
+ return FALSE;
+}
+
+SCRCMD_DEF(takemoney)
+{
+ u32 amount = ScriptReadWord(ctx);
+ u8 ignore = ScriptReadByte(ctx);
+
+ if (!ignore)
+ RemoveMoney(&gSaveBlock1Ptr->money, amount);
+ return FALSE;
+}
+
+SCRCMD_DEF(checkmoney)
+{
+ u32 amount = ScriptReadWord(ctx);
+ u8 ignore = ScriptReadByte(ctx);
+
+ if (!ignore)
+ gSpecialVar_Result = IsEnoughMoney(&gSaveBlock1Ptr->money, amount);
+ return FALSE;
+}
+
+SCRCMD_DEF(showmoneybox)
+{
+ u8 x = ScriptReadByte(ctx);
+ u8 y = ScriptReadByte(ctx);
+ u8 ignore = ScriptReadByte(ctx);
+
+ if (!ignore && sub_81119D4(sub_809D6D4) != TRUE)
+ DrawMoneyBox(GetMoney(&gSaveBlock1Ptr->money), x, y);
+ return FALSE;
+}
+
+SCRCMD_DEF(hidemoneybox)
+{
+ /*u8 x = ScriptReadByte(ctx);
+ u8 y = ScriptReadByte(ctx);*/
+
+ HideMoneyBox();
+ return FALSE;
+}
+
+SCRCMD_DEF(updatemoneybox)
+{
+ u8 x = ScriptReadByte(ctx);
+ u8 y = ScriptReadByte(ctx);
+ u8 ignore = ScriptReadByte(ctx);
+
+ if (!ignore)
+ ChangeAmountInMoneyBox(GetMoney(&gSaveBlock1Ptr->money));
+ return FALSE;
+}
+
+SCRCMD_DEF(showcoinsbox)
+{
+ u8 x = ScriptReadByte(ctx);
+ u8 y = ScriptReadByte(ctx);
+
+ if (sub_81119D4(sub_809D6D4) != TRUE)
+ ShowCoinsWindow(GetCoins(), x, y);
+ return FALSE;
+}
+
+SCRCMD_DEF(hidecoinsbox)
+{
+ u8 x = ScriptReadByte(ctx);
+ u8 y = ScriptReadByte(ctx);
+
+ HideCoinsWindow();
+ return FALSE;
+}
+
+SCRCMD_DEF(updatecoinsbox)
+{
+ u8 x = ScriptReadByte(ctx);
+ u8 y = ScriptReadByte(ctx);
+
+ PrintCoinsString(GetCoins());
+ return FALSE;
+}
+
+SCRCMD_DEF(trainerbattle)
+{
+ ctx->scriptPtr = BattleSetup_ConfigureTrainerBattle(ctx->scriptPtr);
+ return FALSE;
+}
+
+SCRCMD_DEF(dotrainerbattle)
+{
+ BattleSetup_StartTrainerBattle();
+ return TRUE;
+}
+
+SCRCMD_DEF(gotopostbattlescript)
+{
+ ctx->scriptPtr = BattleSetup_GetScriptAddrAfterBattle();
+ return FALSE;
+}
+
+SCRCMD_DEF(gotobeatenscript)
+{
+ ctx->scriptPtr = BattleSetup_GetTrainerPostBattleScript();
+ return FALSE;
+}
+
+SCRCMD_DEF(checktrainerflag)
+{
+ u16 index = VarGet(ScriptReadHalfword(ctx));
+
+ ctx->comparisonResult = HasTrainerAlreadyBeenFought(index);
+ return FALSE;
+}
+
+SCRCMD_DEF(settrainerflag)
+{
+ u16 index = VarGet(ScriptReadHalfword(ctx));
+
+ SetTrainerFlag(index);
+ return FALSE;
+}
+
+SCRCMD_DEF(cleartrainerflag)
+{
+ u16 index = VarGet(ScriptReadHalfword(ctx));
+
+ ClearTrainerFlag(index);
+ return FALSE;
+}
+
+SCRCMD_DEF(setwildbattle)
+{
+ u16 species = ScriptReadHalfword(ctx);
+ u8 level = ScriptReadByte(ctx);
+ u16 item = ScriptReadHalfword(ctx);
+
+ CreateScriptedWildMon(species, level, item);
+ return FALSE;
+}
+
+SCRCMD_DEF(dowildbattle)
+{
+ BattleSetup_StartScriptedWildBattle();
+ ScriptContext1_Stop();
+ return TRUE;
+}
+
+SCRCMD_DEF(pokemart)
+{
+ const void *ptr = (void *)ScriptReadWord(ctx);
+
+ CreatePokemartMenu(ptr);
+ ScriptContext1_Stop();
+ return TRUE;
+}
+
+SCRCMD_DEF(pokemartdecoration)
+{
+ const void *ptr = (void *)ScriptReadWord(ctx);
+
+ CreateDecorationShop1Menu(ptr);
+ ScriptContext1_Stop();
+ return TRUE;
+}
+
+SCRCMD_DEF(pokemartdecoration2)
+{
+ const void *ptr = (void *)ScriptReadWord(ctx);
+
+ CreateDecorationShop2Menu(ptr);
+ ScriptContext1_Stop();
+ return TRUE;
+}
+
+SCRCMD_DEF(playslotmachine)
+{
+ u8 slotMachineIndex = VarGet(ScriptReadHalfword(ctx));
+
+ PlaySlotMachine(slotMachineIndex, c2_exit_to_overworld_1_continue_scripts_restart_music);
+ ScriptContext1_Stop();
+ return TRUE;
+}
+
+SCRCMD_DEF(setberrytree)
+{
+// u8 treeId = ScriptReadByte(ctx);
+// u8 berry = ScriptReadByte(ctx);
+// u8 growthStage = ScriptReadByte(ctx);
+//
+// if (berry == 0)
+// PlantBerryTree(treeId, 0, growthStage, FALSE);
+// else
+// PlantBerryTree(treeId, berry, growthStage, FALSE);
+ return FALSE;
+}
+
+SCRCMD_DEF(getpricereduction)
+{
+// u16 value = VarGet(ScriptReadHalfword(ctx));
+//
+// gSpecialVar_Result = GetPriceReduction(value);
+ return FALSE;
+}
+
+SCRCMD_DEF(choosecontestmon)
+{
+// sub_81B9404();
+ ScriptContext1_Stop();
+ return TRUE;
+}
+
+
+SCRCMD_DEF(startcontest)
+{
+// sub_80F840C();
+// ScriptContext1_Stop();
+// return TRUE;
+ return FALSE;
+}
+
+SCRCMD_DEF(showcontestresults)
+{
+// sub_80F8484();
+// ScriptContext1_Stop();
+// return TRUE;
+ return FALSE;
+}
+
+SCRCMD_DEF(contestlinktransfer)
+{
+// sub_80F84C4(gSpecialVar_ContestCategory);
+// ScriptContext1_Stop();
+// return TRUE;
+ return FALSE;
+}
+
+SCRCMD_DEF(dofieldeffect)
+{
+ u16 effectId = VarGet(ScriptReadHalfword(ctx));
+
+ sFieldEffectScriptId = effectId;
+ FieldEffectStart(sFieldEffectScriptId);
+ return FALSE;
+}
+
+SCRCMD_DEF(setfieldeffectarg)
+{
+ u8 argNum = ScriptReadByte(ctx);
+
+ gFieldEffectArguments[argNum] = (s16)VarGet(ScriptReadHalfword(ctx));
+ return FALSE;
+}
+
+static bool8 WaitForFieldEffectFinish(void)
+{
+ if (!FieldEffectActiveListContains(sFieldEffectScriptId))
+ return TRUE;
+ else
+ return FALSE;
+}
+
+SCRCMD_DEF(waitfieldeffect)
+{
+ sFieldEffectScriptId = VarGet(ScriptReadHalfword(ctx));
+ SetupNativeScript(ctx, WaitForFieldEffectFinish);
+ return TRUE;
+}
+
+SCRCMD_DEF(setrespawn)
+{
+ u16 healLocationId = VarGet(ScriptReadHalfword(ctx));
+
+ SetLastHealLocationWarp(healLocationId);
+ return FALSE;
+}
+
+SCRCMD_DEF(checkplayergender)
+{
+ gSpecialVar_Result = gSaveBlock2Ptr->playerGender;
+ return FALSE;
+}
+
+SCRCMD_DEF(playmoncry)
+{
+ u16 species = VarGet(ScriptReadHalfword(ctx));
+ u16 mode = VarGet(ScriptReadHalfword(ctx));
+
+ PlayCry7(species, mode);
+ return FALSE;
+}
+
+SCRCMD_DEF(waitmoncry)
+{
+ SetupNativeScript(ctx, IsCryFinished);
+ return TRUE;
+}
+
+SCRCMD_DEF(setmetatile)
+{
+ u16 x = VarGet(ScriptReadHalfword(ctx));
+ u16 y = VarGet(ScriptReadHalfword(ctx));
+ u16 tileId = VarGet(ScriptReadHalfword(ctx));
+ u16 v8 = VarGet(ScriptReadHalfword(ctx));
+
+ x += 7;
+ y += 7;
+ if (!v8)
+ MapGridSetMetatileIdAt(x, y, tileId);
+ else
+ MapGridSetMetatileIdAt(x, y, tileId | 0xC00);
+ return FALSE;
+}
+
+SCRCMD_DEF(opendoor)
+{
+ u16 x = VarGet(ScriptReadHalfword(ctx));
+ u16 y = VarGet(ScriptReadHalfword(ctx));
+
+ x += 7;
+ y += 7;
+ PlaySE(GetDoorSoundEffect(x, y));
+ FieldAnimateDoorOpen(x, y);
+ return FALSE;
+}
+
+SCRCMD_DEF(closedoor)
+{
+ u16 x = VarGet(ScriptReadHalfword(ctx));
+ u16 y = VarGet(ScriptReadHalfword(ctx));
+
+ x += 7;
+ y += 7;
+ FieldAnimateDoorClose(x, y);
+ return FALSE;
+}
+
+static bool8 IsDoorAnimationStopped(void)
+{
+ if (!FieldIsDoorAnimationRunning())
+ return TRUE;
+ else
+ return FALSE;
+}
+
+SCRCMD_DEF(waitdooranim)
+{
+ SetupNativeScript(ctx, IsDoorAnimationStopped);
+ return TRUE;
+}
+
+SCRCMD_DEF(setdooropen)
+{
+ u16 x = VarGet(ScriptReadHalfword(ctx));
+ u16 y = VarGet(ScriptReadHalfword(ctx));
+
+ x += 7;
+ y += 7;
+ FieldSetDoorOpened(x, y);
+ return FALSE;
+}
+
+SCRCMD_DEF(setdoorclosed)
+{
+ u16 x = VarGet(ScriptReadHalfword(ctx));
+ u16 y = VarGet(ScriptReadHalfword(ctx));
+
+ x += 7;
+ y += 7;
+ FieldSetDoorClosed(x, y);
+ return FALSE;
+}
+
+SCRCMD_DEF(addelevmenuitem)
+{
+// u8 v3 = ScriptReadByte(ctx);
+// u16 v5 = VarGet(ScriptReadHalfword(ctx));
+// u16 v7 = VarGet(ScriptReadHalfword(ctx));
+// u16 v9 = VarGet(ScriptReadHalfword(ctx));
+
+ //ScriptAddElevatorMenuItem(v3, v5, v7, v9);
+ return FALSE;
+}
+
+SCRCMD_DEF(showelevmenu)
+{
+ /*ScriptShowElevatorMenu();
+ ScriptContext1_Stop();
+ return TRUE;*/
+ return FALSE;
+}
+
+SCRCMD_DEF(checkcoins)
+{
+ u16 *ptr = GetVarPointer(ScriptReadHalfword(ctx));
+ *ptr = GetCoins();
+ return FALSE;
+}
+
+SCRCMD_DEF(givecoins)
+{
+ u16 coins = VarGet(ScriptReadHalfword(ctx));
+
+ if (GiveCoins(coins) == TRUE)
+ gSpecialVar_Result = 0;
+ else
+ gSpecialVar_Result = 1;
+ return FALSE;
+}
+
+SCRCMD_DEF(takecoins)
+{
+ u16 coins = VarGet(ScriptReadHalfword(ctx));
+
+ if (TakeCoins(coins) == TRUE)
+ gSpecialVar_Result = 0;
+ else
+ gSpecialVar_Result = 1;
+ return FALSE;
+}
+
+SCRCMD_DEF(cmdCA)
+{
+ sub_8069A20();
+ return FALSE;
+}
+
+SCRCMD_DEF(cmdCB)
+{
+ sub_8069A2C();
+ return FALSE;
+}
+
+// This command will force the Pokémon to be obedient, you don't get to make it disobedient.
+SCRCMD_DEF(setmonobedient)
+{
+ bool8 obedient = TRUE;
+ u16 partyIndex = VarGet(ScriptReadHalfword(ctx));
+
+ SetMonData(&gPlayerParty[partyIndex], MON_DATA_OBEDIENCE, &obedient);
+ return FALSE;
+}
+
+SCRCMD_DEF(checkmonobedience)
+{
+ u16 partyIndex = VarGet(ScriptReadHalfword(ctx));
+
+ gSpecialVar_Result = GetMonData(&gPlayerParty[partyIndex], MON_DATA_OBEDIENCE, NULL);
+ return FALSE;
+}
+
+SCRCMD_DEF(setmonmetlocation)
+{
+ u16 partyIndex = VarGet(ScriptReadHalfword(ctx));
+ u8 location = ScriptReadByte(ctx);
+
+ if (partyIndex < PARTY_SIZE)
+ SetMonData(&gPlayerParty[partyIndex], MON_DATA_MET_LOCATION, &location);
+ return FALSE;
+}
diff --git a/src/script.c b/src/script.c
index 59ef4e579..d7246752c 100644
--- a/src/script.c
+++ b/src/script.c
@@ -19,7 +19,7 @@ enum
};
EWRAM_DATA u8 gUnknown_20370A0 = 0;
-EWRAM_DATA u8 *gUnknown_20370A4 = NULL;
+EWRAM_DATA const u8 *gRAMScriptPtr = NULL;
// ewram bss
/*IWRAM_DATA*/ static u8 sScriptContext1Status;
@@ -485,7 +485,7 @@ bool8 InitRamScript(u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 objec
u8 *GetRamScript(u8 objectId, u8 *script)
{
struct RamScriptData *scriptData = &gSaveBlock1Ptr->ramScript.data;
- gUnknown_20370A4 = NULL;
+ gRAMScriptPtr = NULL;
if (scriptData->magic != RAM_SCRIPT_MAGIC)
return script;
if (scriptData->mapGroup != gSaveBlock1Ptr->location.mapGroup)
@@ -501,7 +501,7 @@ u8 *GetRamScript(u8 objectId, u8 *script)
}
else
{
- gUnknown_20370A4 = script;
+ gRAMScriptPtr = script;
return scriptData->script;
}
}
diff --git a/src/trainer_tower.c b/src/trainer_tower.c
index 91132c07b..f4e18eee6 100644
--- a/src/trainer_tower.c
+++ b/src/trainer_tower.c
@@ -1,5 +1,6 @@
#include "global.h"
#include "main.h"
+#include "task.h"
#include "constants/flags.h"
#include "constants/vars.h"
#include "malloc.h"
@@ -11,7 +12,12 @@
#include "cereader_tool.h"
#include "easy_chat.h"
#include "text.h"
+#include "battle_setup.h"
+#include "battle_transition.h"
+#include "battle.h"
+#include "battle_2.h"
#include "overworld.h"
+#include "item.h"
struct UnkStruct_8479D34
{
@@ -28,7 +34,6 @@ struct UnkSubstruct_203F458_000C_004
/* 0x000 */ u8 unk_000[11];
/* 0x00B */ u8 unk_00B;
/* 0x00C */ u8 unk_00C;
- /* 0x00D */ u8 unk_00D;
/* 0x00E */ u16 unk_00E[6];
/* 0x01A */ u16 unk_01A[6];
/* 0x026 */ u16 unk_026[6];
@@ -38,7 +43,8 @@ struct UnkSubstruct_203F458_000C_004
struct UnkSubstruct_203F458_000C
{
- /* 0x000 */ u8 filler_000[2];
+ /* 0x000 */ u8 unk_000;
+ /* 0x000 */ u8 unk_001;
/* 0x002 */ u8 unk_002;
/* 0x003 */ u8 unk_003;
/* 0x004 */ struct UnkSubstruct_203F458_000C_004 unk_004[3];
@@ -122,15 +128,19 @@ void sub_815E8CC(void);
void sub_815E908(void);
void sub_815E948(void);
void sub_815E9C8(void);
+void sub_815E9FC(void);
void sub_815EC0C(void);
+u32 sub_815EDDC(u32 *);
+void sub_815EDF4(u32 *, u32);
extern const struct UnkStruct_8479D34 gUnknown_8479D34[15];
+extern const struct UnkStruct_8479ED8 gUnknown_8479ED8[83];
+extern const struct UnkStruct_847A024 gUnknown_847A024[10];
extern void (*const gUnknown_847A230[])(void);
extern const struct Unk_203F458_Header gUnknown_84827AC;
extern const struct UnkSubstruct_203F458_000C *const gUnknown_84827B4[][8];
extern const u16 gUnknown_847A284[8][3];
-extern const struct UnkStruct_8479ED8 gUnknown_8479ED8[83];
-extern const struct UnkStruct_847A024 gUnknown_847A024[10];
+extern const u16 gUnknown_847A2B4[];
bool32 sub_815D7BC(void * dest, void * buffer)
{
@@ -280,7 +290,7 @@ void sub_815DA54(void)
gUnknown_203F45C->unk_3C = gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_002;
gUnknown_203F45C->unk_3D = gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[r10].unk_00B;
gUnknown_203F45C->unk_3E = gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[r10].unk_00C;
- SetVBlankCounter1Ptr(gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx]);
+ SetVBlankCounter1Ptr(&gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0);
sub_815DD2C();
}
@@ -430,12 +440,12 @@ void sub_815DD44(void)
if (gMapHeader.mapDataId - 0x129 > gUnknown_203F458->unk_0004.unk_0000.unk0)
{
gSpecialVar_Result = 3;
- sub_8055D40(0x132);
+ SetCurrentMapLayout(0x132);
}
else
{
gSpecialVar_Result = gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_002;
- sub_8055D40(gUnknown_847A284[gUnknown_203F458->unk_0000][gSpecialVar_Result]);
+ SetCurrentMapLayout(gUnknown_847A284[gUnknown_203F458->unk_0000][gSpecialVar_Result]);
sub_815DDB0();
}
}
@@ -692,3 +702,159 @@ void sub_815DF54(void)
"_0815E064: .4byte gStringVar4");
}
#endif // NONMATCHING
+
+void sub_815E068(u8 battleType, u8 facilityClass)
+{
+ u16 r5 = FALSE;
+ s32 r4;
+ switch (battleType)
+ {
+ case 0:
+ case 2:
+ for (r4 = 0; r4 < NELEMS(gUnknown_8479ED8); r4++)
+ {
+ if (gUnknown_8479ED8[r4].unk1 == facilityClass)
+ break;
+ }
+ if (r4 != NELEMS(gUnknown_8479ED8))
+ r5 = gUnknown_8479ED8[r4].unk2;
+ break;
+ case 1:
+ for (r4 = 0; r4 < NELEMS(gUnknown_847A024); r4++)
+ {
+ if (gUnknown_847A024[r4].unk2 == facilityClass)
+ break;
+ }
+ if (r4 != NELEMS(gUnknown_847A024))
+ {
+ if (VarGet(VAR_0x4003))
+ r5 = gUnknown_847A024[r4].unk4;
+ else
+ r5 = gUnknown_847A024[r4].unk3;
+ }
+ break;
+ }
+ gUnknown_20370DC = gUnknown_20370DA;
+ gUnknown_20370DA = r5;
+}
+
+void sub_815E114(void)
+{
+ SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
+}
+
+void sub_815E124(u8 taskId)
+{
+ if (sub_80D08F8() == TRUE)
+ {
+ gMain.savedCallback = sub_815E114;
+ sub_80563F0();
+ SetMainCallback2(sub_800FD9C);
+ DestroyTask(taskId);
+ }
+}
+
+void sub_815E160(void)
+{
+ gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_FACTORY;
+ if (gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_002 == 1)
+ gBattleTypeFlags |= BATTLE_TYPE_DOUBLE;
+ gTrainerBattleOpponent_A = 0;
+ sub_815E9FC();
+ CreateTask(sub_815E124, 1);
+ PlayMapChosenOrBattleBGM(0);
+ sub_80D08B8(sub_8080060());
+}
+
+void sub_815E1C0(void)
+{
+ if (!gSpecialVar_0x8005)
+ gSpecialVar_Result = gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_002;
+}
+
+void sub_815E1F0(void)
+{
+ gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk8++;
+}
+
+void sub_815E218(void)
+{
+ u16 mapDataId = gMapHeader.mapDataId;
+ if (mapDataId - 0x12A == gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk8 && mapDataId - 0x129 <= gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_001)
+ gSpecialVar_Result = FALSE;
+ else
+ gSpecialVar_Result = TRUE;
+}
+
+void sub_815E28C(void)
+{
+ gSaveBlock1Ptr->unkArrayIdx = gSpecialVar_0x8005;
+ if (gSaveBlock1Ptr->unkArrayIdx >= NELEMS(gSaveBlock1Ptr->unkArray))
+ gSaveBlock1Ptr->unkArrayIdx = 0;
+ sub_815EC0C();
+ if (!sub_815D834())
+ gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_5 = TRUE;
+ else
+ gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_5 = FALSE;
+ gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk8 = 0;
+ SetVBlankCounter1Ptr(&gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0);
+ gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0 = 0;
+ gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_2 = FALSE;
+ gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_1 = FALSE;
+}
+
+void sub_815E394(void)
+{
+ DisableVBlankCounter1();
+ gSpecialVar_Result = 0;
+ if (gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_2)
+ gSpecialVar_Result++;
+ if (gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_0 && gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_1)
+ gSpecialVar_Result++;
+ gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_2 = TRUE;
+}
+
+void sub_815E408(void)
+{
+ u16 itemId = gUnknown_847A2B4[gUnknown_203F458->unk_0004.unk_0008->unk_003];
+ if (gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_0)
+ gSpecialVar_Result = 2;
+ else if (AddBagItem(itemId, 1) == 1)
+ {
+ CopyItemName(itemId, gStringVar2);
+ gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_0 = TRUE;
+ gSpecialVar_Result = 0;
+ }
+ else
+ gSpecialVar_Result = 1;
+}
+
+void sub_815E4B0(void)
+{
+ if (gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_1)
+ gSpecialVar_Result = 2;
+ else if (sub_815EDDC(&gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk4) > gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0)
+ {
+ sub_815EDF4(&gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk4, gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0);
+ gSpecialVar_Result = 0;
+ }
+ else
+ gSpecialVar_Result = 1;
+ gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_1 = TRUE;
+}
+
+void sub_815E56C(void)
+{
+ if (!gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_2)
+ {
+ if (gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0 >= 215999)
+ gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0 = 215999;
+ else
+ SetVBlankCounter1Ptr(&gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0);
+ }
+}
+
+void sub_815E5C4(void)
+{
+ gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_3 = 1;
+}
diff --git a/src/vs_seeker.c b/src/vs_seeker.c
index 4d42f270d..579800576 100644
--- a/src/vs_seeker.c
+++ b/src/vs_seeker.c
@@ -65,7 +65,7 @@ struct VsSeekerStruct
extern u16 gSpecialVar_LastTalked;
extern struct MapObject gMapObjects[MAP_OBJECTS_COUNT];
-extern u8 gUnknown_3005074;
+extern u8 gSelectedEventObject;
// static declarations
static EWRAM_DATA struct VsSeekerStruct *sVsSeeker = NULL;
@@ -1012,7 +1012,7 @@ void sub_810CB90(void)
sub_810CF54(&r4[r8]); // You are using this function incorrectly. Please consult the manual.
sub_805FE7C(r4_2, gUnknown_8453F67[r4_2->mapobj_unk_18]);
gSaveBlock1Ptr->trainerRematches[r4[r8].localId] = 0;
- if (gUnknown_3005074 == sp0)
+ if (gSelectedEventObject == sp0)
r4_2->animPattern = gUnknown_8453F67[r4_2->mapobj_unk_18];
else
r4_2->animPattern = 0x08;
diff --git a/sym_common.txt b/sym_common.txt
index f63c4f277..333dae222 100644
--- a/sym_common.txt
+++ b/sym_common.txt
@@ -175,7 +175,7 @@ gUnknown_300506C: @ 300506C
gUnknown_3005070: @ 3005070
.space 0x4
-gUnknown_3005074: @ 3005074
+gSelectedEventObject: @ 3005074
.space 0x4
gUnknown_3005078: @ 3005078
diff --git a/sym_ewram.txt b/sym_ewram.txt
index f8e0df713..fbb152faa 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -633,29 +633,9 @@ gUnknown_203709C: @ 203709C
.space 0x4
.include "src/script.o"
+ .include "src/scrcmd.o"
- .align 2
-gUnknown_20370A8: @ 20370A8
- .space 0x4
-
-gUnknown_20370AC: @ 20370AC
- .space 0x2
-
-gUnknown_20370AE: @ 20370AE
- .space 0x2
-
-gUnknown_20370B0: @ 20370B0
- .space 0x2
-
-gUnknown_20370B2: @ 20370B2
- .space 0x2
-
-gUnknown_20370B4: @ 20370B4
- .space 0x2
-
-gUnknown_20370B6: @ 20370B6
- .space 0x2
-
+ .align 2
gSpecialVar_0x8000: @ 20370B8
.space 0x2