summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/battle_controller_oak.s2
-rw-r--r--asm/battle_controller_player.s2
-rw-r--r--asm/battle_setup.s16
-rw-r--r--asm/battle_tower.s2
-rw-r--r--asm/berry_pouch.s4
-rw-r--r--asm/bike.s4
-rw-r--r--asm/field_control_avatar.s18
-rw-r--r--asm/field_effect.s2
-rw-r--r--asm/field_fadetransition.s26
-rw-r--r--asm/field_map_obj.s6
-rw-r--r--asm/field_specials.s12
-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.s44
-rw-r--r--asm/item_menu.s26
-rw-r--r--asm/item_pc.s2
-rw-r--r--asm/item_use.s8
-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.s94
-rw-r--r--asm/party_menu.s46
-rw-r--r--asm/player_pc.s4
-rw-r--r--asm/pokemon_storage_system.s6
-rw-r--r--asm/pokemon_summary_screen.s4
-rw-r--r--asm/scrcmd.s3654
-rw-r--r--asm/seagallop.s2
-rw-r--r--asm/shop.s2
-rw-r--r--asm/start_menu.s4
-rw-r--r--asm/teachy_tv.s4
-rw-r--r--asm/tm_case.s10
-rw-r--r--asm/unk_810C3A4.s2
-rw-r--r--asm/unk_8147AA8.s6
-rw-r--r--asm/unk_814B6F0.s2
-rw-r--r--asm/unk_81507FC.s6
-rw-r--r--data/data.s8
-rw-r--r--data/data_835B488.s25
-rw-r--r--data/data_83FECCC.s2
-rw-r--r--data/event_scripts.s2
-rw-r--r--data/maps/groups.inc1830
-rw-r--r--data/script_cmd_table.inc142
-rw-r--r--data/specials.inc4
-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_weather.h1
-rw-r--r--include/item.h3
-rw-r--r--include/map_obj_lock.h4
-rw-r--r--include/map_preview_screen.h6
-rw-r--r--include/overworld.h9
-rw-r--r--include/quest_log.h3
-rw-r--r--include/script.h2
-rw-r--r--include/script_movement.h2
-rw-r--r--ld_script.txt3
-rw-r--r--src/scrcmd.c1254
-rw-r--r--src/script.c6
-rw-r--r--src/trainer_tower.c6
-rw-r--r--src/vs_seeker.c4
-rw-r--r--sym_common.txt2
-rw-r--r--sym_ewram.txt24
64 files changed, 3574 insertions, 3857 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_setup.s b/asm/battle_setup.s
index 499d565f0..bba968305 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
@@ -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,7 +1521,7 @@ _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
@@ -1647,7 +1647,7 @@ 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
@@ -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
diff --git a/asm/battle_tower.s b/asm/battle_tower.s
index 82922b88f..c02c98723 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
diff --git a/asm/berry_pouch.s b/asm/berry_pouch.s
index b58832931..75611547e 100644
--- a/asm/berry_pouch.s
+++ b/asm/berry_pouch.s
@@ -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]
@@ -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_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..f701e579b 100644
--- a/asm/field_fadetransition.s
+++ b/asm/field_fadetransition.s
@@ -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
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_specials.s b/asm/field_specials.s
index a4f3e6dc7..0d0b2ba06 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]
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..2bc45d5c4 100644
--- a/asm/item.s
+++ b/asm/item.s
@@ -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..f8872910f 100644
--- a/asm/item_menu.s
+++ b/asm/item_menu.s
@@ -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]
@@ -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
@@ -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..0f3c5809b 100644
--- a/asm/item_pc.s
+++ b/asm/item_pc.s
@@ -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
diff --git a/asm/item_use.s b/asm/item_use.s
index 558e175f2..771adcdfc 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
@@ -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 2b3ca139d..b7cb7a989 100644
--- a/asm/overworld.s
+++ b/asm/overworld.s
@@ -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
@@ -825,7 +825,7 @@ _08055232:
get_mapheader_by_bank_and_number: @ 8055238
lsls r0, 16
lsls r1, 16
- ldr r2, _0805524C @ =gUnknown_83526A8
+ ldr r2, _0805524C @ =gMapGroups
lsrs r0, 14
adds r0, r2
ldr r0, [r0]
@@ -834,7 +834,7 @@ get_mapheader_by_bank_and_number: @ 8055238
ldr r0, [r1]
bx lr
.align 2, 0
-_0805524C: .4byte gUnknown_83526A8
+_0805524C: .4byte gMapGroups
thumb_func_end get_mapheader_by_bank_and_number
thumb_func_start warp1_get_mapheader
@@ -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
@@ -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..86e1c42dc 100644
--- a/asm/party_menu.s
+++ b/asm/party_menu.s
@@ -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
@@ -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
@@ -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..5ebf9bc96 100644
--- a/asm/pokemon_summary_screen.s
+++ b/asm/pokemon_summary_screen.s
@@ -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
index e8ffcf3ab..cec72ef73 100644
--- a/asm/scrcmd.s
+++ b/asm/scrcmd.s
@@ -5,3368 +5,8 @@
.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
+ thumb_func_start ScrCmd_message
+ScrCmd_message: @ 806B80C
push {r4,lr}
adds r4, r0, 0
bl ScriptReadWord
@@ -3379,10 +19,10 @@ _0806B81A:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_806B80C
+ thumb_func_end ScrCmd_message
- thumb_func_start sub_806B828
-sub_806B828: @ 806B828
+ thumb_func_start ScrCmd_cmdC8
+ScrCmd_cmdC8: @ 806B828
push {r4,lr}
adds r4, r0, 0
bl ScriptReadWord
@@ -3400,19 +40,19 @@ _0806B836:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_806B828
+ thumb_func_end ScrCmd_cmdC8
- thumb_func_start sub_806B850
-sub_806B850: @ 806B850
+ thumb_func_start ScrCmd_cmdC9
+ScrCmd_cmdC9: @ 806B850
push {lr}
bl sub_80F7998
movs r0, 0
pop {r1}
bx r1
- thumb_func_end sub_806B850
+ thumb_func_end ScrCmd_cmdC9
- thumb_func_start sub_806B85C
-sub_806B85C: @ 806B85C
+ thumb_func_start ScrCmd_messageautoscroll
+ScrCmd_messageautoscroll: @ 806B85C
push {r4,lr}
adds r4, r0, 0
bl ScriptReadWord
@@ -3425,10 +65,10 @@ _0806B86A:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_806B85C
+ thumb_func_end ScrCmd_messageautoscroll
- thumb_func_start sub_806B878
-sub_806B878: @ 806B878
+ thumb_func_start ScrCmd_waitmessage
+ScrCmd_waitmessage: @ 806B878
push {lr}
ldr r1, _0806B888 @ =IsFieldMessageBoxHidden
bl SetupNativeScript
@@ -3437,16 +77,16 @@ sub_806B878: @ 806B878
bx r1
.align 2, 0
_0806B888: .4byte IsFieldMessageBoxHidden
- thumb_func_end sub_806B878
+ thumb_func_end ScrCmd_waitmessage
- thumb_func_start sub_806B88C
-sub_806B88C: @ 806B88C
+ thumb_func_start ScrCmd_closemessage
+ScrCmd_closemessage: @ 806B88C
push {lr}
bl HideFieldMessageBox
movs r0, 0
pop {r1}
bx r1
- thumb_func_end sub_806B88C
+ thumb_func_end ScrCmd_closemessage
thumb_func_start sub_806B898
sub_806B898: @ 806B898
@@ -3673,8 +313,8 @@ _0806BA36:
bx r1
thumb_func_end sub_806B96C
- thumb_func_start sub_806BA3C
-sub_806BA3C: @ 806BA3C
+ thumb_func_start ScrCmd_waitbuttonpress
+ScrCmd_waitbuttonpress: @ 806BA3C
push {r4,lr}
adds r4, r0, 0
ldr r0, _0806BA70 @ =gUnknown_3005070
@@ -3705,7 +345,7 @@ _0806BA70: .4byte gUnknown_3005070
_0806BA74: .4byte gUnknown_203ADFA
_0806BA78: .4byte gUnknown_20370AC
_0806BA7C: .4byte sub_806B898
- thumb_func_end sub_806BA3C
+ thumb_func_end ScrCmd_waitbuttonpress
thumb_func_start ScrCmd_yesnobox
ScrCmd_yesnobox: @ 806BA80
@@ -3810,11 +450,11 @@ _0806BB2C:
bx r1
thumb_func_end ScrCmd_multichoicedefault
- thumb_func_start sub_806BB38
-sub_806BB38: @ 806BB38
+ thumb_func_start ScrCmd_drawbox
+ScrCmd_drawbox: @ 806BB38
movs r0, 0
bx lr
- thumb_func_end sub_806BB38
+ thumb_func_end ScrCmd_drawbox
thumb_func_start ScrCmd_multichoicegrid
ScrCmd_multichoicegrid: @ 806BB3C
@@ -3860,23 +500,23 @@ _0806BB80:
bx r1
thumb_func_end ScrCmd_multichoicegrid
- thumb_func_start sub_806BB8C
-sub_806BB8C: @ 806BB8C
+ thumb_func_start ScrCmd_erasebox
+ScrCmd_erasebox: @ 806BB8C
ldr r1, [r0, 0x8]
adds r1, 0x4
str r1, [r0, 0x8]
movs r0, 0
bx lr
- thumb_func_end sub_806BB8C
+ thumb_func_end ScrCmd_erasebox
- thumb_func_start sub_806BB98
-sub_806BB98: @ 806BB98
+ thumb_func_start ScrCmd_drawboxtext
+ScrCmd_drawboxtext: @ 806BB98
movs r0, 0
bx lr
- thumb_func_end sub_806BB98
+ thumb_func_end ScrCmd_drawboxtext
- thumb_func_start sub_806BB9C
-sub_806BB9C: @ 806BB9C
+ thumb_func_start ScrCmd_showmonpic
+ScrCmd_showmonpic: @ 806BB9C
push {r4,r5,lr}
adds r5, r0, 0
bl ScriptReadHalfword
@@ -3902,10 +542,10 @@ sub_806BB9C: @ 806BB9C
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_806BB9C
+ thumb_func_end ScrCmd_showmonpic
- thumb_func_start sub_806BBD8
-sub_806BBD8: @ 806BBD8
+ thumb_func_start ScrCmd_hidemonpic
+ScrCmd_hidemonpic: @ 806BBD8
push {r4,lr}
adds r4, r0, 0
bl sub_809D3CC
@@ -3922,19 +562,19 @@ _0806BBF2:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_806BBD8
+ thumb_func_end ScrCmd_hidemonpic
- thumb_func_start sub_806BBF8
-sub_806BBF8: @ 806BBF8
+ thumb_func_start ScrCmd_showcontestwinner
+ScrCmd_showcontestwinner: @ 806BBF8
ldr r1, [r0, 0x8]
adds r1, 0x1
str r1, [r0, 0x8]
movs r0, 0
bx lr
- thumb_func_end sub_806BBF8
+ thumb_func_end ScrCmd_showcontestwinner
- thumb_func_start sub_806BC04
-sub_806BC04: @ 806BC04
+ thumb_func_start ScrCmd_braillemessage
+ScrCmd_braillemessage: @ 806BC04
push {r4,r5,lr}
sub sp, 0xC
adds r5, r0, 0
@@ -3962,10 +602,10 @@ _0806BC16:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_806BC04
+ thumb_func_end ScrCmd_braillemessage
- thumb_func_start sub_806BC40
-sub_806BC40: @ 806BC40
+ thumb_func_start ScrCmd_getstringwidth
+ScrCmd_getstringwidth: @ 806BC40
push {r4,lr}
adds r4, r0, 0
bl ScriptReadWord
@@ -3986,13 +626,13 @@ _0806BC50:
bx r1
.align 2, 0
_0806BC68: .4byte gSpecialVar_0x8004
- thumb_func_end sub_806BC40
+ thumb_func_end ScrCmd_getstringwidth
thumb_func_start ScrCmd_vmessage
ScrCmd_vmessage: @ 806BC6C
push {lr}
bl ScriptReadWord
- ldr r1, _0806BC84 @ =gUnknown_20370A8
+ ldr r1, _0806BC84 @ =gVScriptOffset
ldr r1, [r1]
subs r0, r1
bl ShowFieldMessage
@@ -4000,7 +640,7 @@ ScrCmd_vmessage: @ 806BC6C
pop {r1}
bx r1
.align 2, 0
-_0806BC84: .4byte gUnknown_20370A8
+_0806BC84: .4byte gVScriptOffset
thumb_func_end ScrCmd_vmessage
thumb_func_start ScrCmd_bufferspeciesname
@@ -4016,7 +656,7 @@ ScrCmd_bufferspeciesname: @ 806BC88
bl VarGet
lsls r0, 16
lsrs r0, 16
- ldr r1, _0806BCC0 @ =gUnknown_83A7294
+ ldr r1, _0806BCC0 @ =sScriptStringVars
lsls r4, 2
adds r4, r1
ldr r2, [r4]
@@ -4031,7 +671,7 @@ ScrCmd_bufferspeciesname: @ 806BC88
pop {r1}
bx r1
.align 2, 0
-_0806BCC0: .4byte gUnknown_83A7294
+_0806BCC0: .4byte sScriptStringVars
_0806BCC4: .4byte gSpeciesNames
thumb_func_end ScrCmd_bufferspeciesname
@@ -4042,7 +682,7 @@ ScrCmd_bufferleadmonspeciesname: @ 806BCC8
ldrb r2, [r1]
adds r1, 0x1
str r1, [r0, 0x8]
- ldr r0, _0806BD08 @ =gUnknown_83A7294
+ ldr r0, _0806BD08 @ =sScriptStringVars
lsls r2, 2
adds r2, r0
ldr r4, [r2]
@@ -4067,7 +707,7 @@ ScrCmd_bufferleadmonspeciesname: @ 806BCC8
pop {r1}
bx r1
.align 2, 0
-_0806BD08: .4byte gUnknown_83A7294
+_0806BD08: .4byte sScriptStringVars
_0806BD0C: .4byte gPlayerParty
_0806BD10: .4byte gSpeciesNames
thumb_func_end ScrCmd_bufferleadmonspeciesname
@@ -4089,7 +729,7 @@ ScrCmd_bufferpartymonnick: @ 806BD14
muls r0, r1
ldr r1, _0806BD54 @ =gPlayerParty
adds r0, r1
- ldr r1, _0806BD58 @ =gUnknown_83A7294
+ ldr r1, _0806BD58 @ =sScriptStringVars
lsls r4, 2
adds r4, r1
ldr r4, [r4]
@@ -4104,7 +744,7 @@ ScrCmd_bufferpartymonnick: @ 806BD14
bx r1
.align 2, 0
_0806BD54: .4byte gPlayerParty
-_0806BD58: .4byte gUnknown_83A7294
+_0806BD58: .4byte sScriptStringVars
thumb_func_end ScrCmd_bufferpartymonnick
thumb_func_start ScrCmd_bufferitemname
@@ -4120,7 +760,7 @@ ScrCmd_bufferitemname: @ 806BD5C
bl VarGet
lsls r0, 16
lsrs r0, 16
- ldr r1, _0806BD8C @ =gUnknown_83A7294
+ ldr r1, _0806BD8C @ =sScriptStringVars
lsls r4, 2
adds r4, r1
ldr r1, [r4]
@@ -4130,11 +770,11 @@ ScrCmd_bufferitemname: @ 806BD5C
pop {r1}
bx r1
.align 2, 0
-_0806BD8C: .4byte gUnknown_83A7294
+_0806BD8C: .4byte sScriptStringVars
thumb_func_end ScrCmd_bufferitemname
- thumb_func_start sub_806BD90
-sub_806BD90: @ 806BD90
+ thumb_func_start ScrCmd_cmdDA
+ScrCmd_cmdDA: @ 806BD90
push {r4-r7,lr}
adds r4, r0, 0
ldr r0, [r4, 0x8]
@@ -4155,7 +795,7 @@ sub_806BD90: @ 806BD90
bl VarGet
lsls r0, 16
lsrs r6, r0, 16
- ldr r1, _0806BDE4 @ =gUnknown_83A7294
+ ldr r1, _0806BDE4 @ =sScriptStringVars
lsls r0, r7, 2
adds r0, r1
ldr r4, [r0]
@@ -4171,7 +811,7 @@ sub_806BD90: @ 806BD90
bl StringAppend
b _0806BE22
.align 2, 0
-_0806BDE4: .4byte gUnknown_83A7294
+_0806BDE4: .4byte sScriptStringVars
_0806BDE8: .4byte gUnknown_83A72A0
_0806BDEC:
adds r0, r5, 0
@@ -4182,7 +822,7 @@ _0806BDEC:
bhi _0806BE22
cmp r6, 0x1
bls _0806BE22
- ldr r0, _0806BE2C @ =gUnknown_83A7294
+ ldr r0, _0806BE2C @ =sScriptStringVars
lsls r1, r7, 2
adds r1, r0
ldr r4, [r1]
@@ -4205,12 +845,12 @@ _0806BE22:
pop {r1}
bx r1
.align 2, 0
-_0806BE2C: .4byte gUnknown_83A7294
+_0806BE2C: .4byte sScriptStringVars
_0806BE30: .4byte gUnknown_83A72A2
- thumb_func_end sub_806BD90
+ thumb_func_end ScrCmd_cmdDA
- thumb_func_start sub_806BE34
-sub_806BE34: @ 806BE34
+ thumb_func_start ScrCmd_bufferdecorationname
+ScrCmd_bufferdecorationname: @ 806BE34
push {lr}
ldr r1, [r0, 0x8]
adds r1, 0x1
@@ -4222,7 +862,7 @@ sub_806BE34: @ 806BE34
movs r0, 0
pop {r1}
bx r1
- thumb_func_end sub_806BE34
+ thumb_func_end ScrCmd_bufferdecorationname
thumb_func_start ScrCmd_buffermovename
ScrCmd_buffermovename: @ 806BE50
@@ -4237,7 +877,7 @@ ScrCmd_buffermovename: @ 806BE50
bl VarGet
lsls r0, 16
lsrs r0, 16
- ldr r1, _0806BE88 @ =gUnknown_83A7294
+ ldr r1, _0806BE88 @ =sScriptStringVars
lsls r4, 2
adds r4, r1
ldr r2, [r4]
@@ -4252,7 +892,7 @@ ScrCmd_buffermovename: @ 806BE50
pop {r1}
bx r1
.align 2, 0
-_0806BE88: .4byte gUnknown_83A7294
+_0806BE88: .4byte sScriptStringVars
_0806BE8C: .4byte gMoveNames
thumb_func_end ScrCmd_buffermovename
@@ -4275,7 +915,7 @@ ScrCmd_buffernumberstring: @ 806BE90
adds r3, r0, 0
lsls r3, 24
lsrs r3, 24
- ldr r0, _0806BED0 @ =gUnknown_83A7294
+ ldr r0, _0806BED0 @ =sScriptStringVars
lsls r5, 2
adds r5, r0
ldr r0, [r5]
@@ -4287,7 +927,7 @@ ScrCmd_buffernumberstring: @ 806BE90
pop {r1}
bx r1
.align 2, 0
-_0806BED0: .4byte gUnknown_83A7294
+_0806BED0: .4byte sScriptStringVars
thumb_func_end ScrCmd_buffernumberstring
thumb_func_start ScrCmd_bufferstdstring
@@ -4302,7 +942,7 @@ ScrCmd_bufferstdstring: @ 806BED4
lsrs r0, 16
bl VarGet
lsls r0, 16
- ldr r1, _0806BF0C @ =gUnknown_83A7294
+ ldr r1, _0806BF0C @ =sScriptStringVars
lsls r4, 2
adds r4, r1
ldr r2, [r4]
@@ -4317,7 +957,7 @@ ScrCmd_bufferstdstring: @ 806BED4
pop {r1}
bx r1
.align 2, 0
-_0806BF0C: .4byte gUnknown_83A7294
+_0806BF0C: .4byte sScriptStringVars
_0806BF10: .4byte gUnknown_83E06B8
thumb_func_end ScrCmd_bufferstdstring
@@ -4330,7 +970,7 @@ ScrCmd_bufferstring: @ 806BF14
str r1, [r0, 0x8]
bl ScriptReadWord
adds r1, r0, 0
- ldr r0, _0806BF38 @ =gUnknown_83A7294
+ ldr r0, _0806BF38 @ =sScriptStringVars
lsls r4, 2
adds r4, r0
ldr r0, [r4]
@@ -4340,7 +980,7 @@ ScrCmd_bufferstring: @ 806BF14
pop {r1}
bx r1
.align 2, 0
-_0806BF38: .4byte gUnknown_83A7294
+_0806BF38: .4byte sScriptStringVars
thumb_func_end ScrCmd_bufferstring
thumb_func_start ScrCmd_vloadword
@@ -4348,7 +988,7 @@ ScrCmd_vloadword: @ 806BF3C
push {lr}
bl ScriptReadWord
adds r1, r0, 0
- ldr r0, _0806BF58 @ =gUnknown_20370A8
+ ldr r0, _0806BF58 @ =gVScriptOffset
ldr r0, [r0]
subs r1, r0
ldr r0, _0806BF5C @ =gStringVar4
@@ -4357,7 +997,7 @@ ScrCmd_vloadword: @ 806BF3C
pop {r1}
bx r1
.align 2, 0
-_0806BF58: .4byte gUnknown_20370A8
+_0806BF58: .4byte gVScriptOffset
_0806BF5C: .4byte gStringVar4
thumb_func_end ScrCmd_vloadword
@@ -4370,10 +1010,10 @@ ScrCmd_vbufferstring: @ 806BF60
str r1, [r0, 0x8]
bl ScriptReadWord
adds r1, r0, 0
- ldr r0, _0806BF8C @ =gUnknown_20370A8
+ ldr r0, _0806BF8C @ =gVScriptOffset
ldr r0, [r0]
subs r1, r0
- ldr r0, _0806BF90 @ =gUnknown_83A7294
+ ldr r0, _0806BF90 @ =sScriptStringVars
lsls r4, 2
adds r4, r0
ldr r0, [r4]
@@ -4383,8 +1023,8 @@ ScrCmd_vbufferstring: @ 806BF60
pop {r1}
bx r1
.align 2, 0
-_0806BF8C: .4byte gUnknown_20370A8
-_0806BF90: .4byte gUnknown_83A7294
+_0806BF8C: .4byte gVScriptOffset
+_0806BF90: .4byte sScriptStringVars
thumb_func_end ScrCmd_vbufferstring
thumb_func_start ScrCmd_bufferboxname
@@ -4398,7 +1038,7 @@ ScrCmd_bufferboxname: @ 806BF94
lsls r0, 16
lsrs r0, 16
bl VarGet
- ldr r1, _0806BFCC @ =gUnknown_83A7294
+ ldr r1, _0806BFCC @ =sScriptStringVars
lsls r4, 2
adds r4, r1
ldr r4, [r4]
@@ -4413,7 +1053,7 @@ ScrCmd_bufferboxname: @ 806BF94
pop {r1}
bx r1
.align 2, 0
-_0806BFCC: .4byte gUnknown_83A7294
+_0806BFCC: .4byte sScriptStringVars
thumb_func_end ScrCmd_bufferboxname
thumb_func_start ScrCmd_givemon
@@ -4673,8 +1313,8 @@ _0806C1C4: .4byte gSpecialVar_Result
_0806C1C8: .4byte gSaveBlock1Ptr
thumb_func_end ScrCmd_checkmoney
- thumb_func_start sub_806C1CC
-sub_806C1CC: @ 806C1CC
+ thumb_func_start ScrCmd_showmoneybox
+ScrCmd_showmoneybox: @ 806C1CC
push {r4,r5,lr}
ldr r1, [r0, 0x8]
ldrb r5, [r1]
@@ -4711,19 +1351,19 @@ _0806C20A:
.align 2, 0
_0806C214: .4byte sub_809D6D4
_0806C218: .4byte gSaveBlock1Ptr
- thumb_func_end sub_806C1CC
+ thumb_func_end ScrCmd_showmoneybox
- thumb_func_start sub_806C21C
-sub_806C21C: @ 806C21C
+ thumb_func_start ScrCmd_hidemoneybox
+ScrCmd_hidemoneybox: @ 806C21C
push {lr}
bl HideMoneyBox
movs r0, 0
pop {r1}
bx r1
- thumb_func_end sub_806C21C
+ thumb_func_end ScrCmd_hidemoneybox
- thumb_func_start sub_806C228
-sub_806C228: @ 806C228
+ thumb_func_start ScrCmd_updatemoneybox
+ScrCmd_updatemoneybox: @ 806C228
push {lr}
ldr r1, [r0, 0x8]
adds r1, 0x1
@@ -4747,10 +1387,10 @@ _0806C24E:
bx r1
.align 2, 0
_0806C254: .4byte gSaveBlock1Ptr
- thumb_func_end sub_806C228
+ thumb_func_end ScrCmd_updatemoneybox
- thumb_func_start sub_806C258
-sub_806C258: @ 806C258
+ thumb_func_start ScrCmd_showcoinsbox
+ScrCmd_showcoinsbox: @ 806C258
push {r4,r5,lr}
ldr r1, [r0, 0x8]
ldrb r5, [r1]
@@ -4778,7 +1418,7 @@ _0806C286:
bx r1
.align 2, 0
_0806C290: .4byte sub_809D6D4
- thumb_func_end sub_806C258
+ thumb_func_end ScrCmd_showcoinsbox
thumb_func_start ScrCmd_hidecoinsbox
ScrCmd_hidecoinsbox: @ 806C294
@@ -4820,14 +1460,14 @@ ScrCmd_trainerbattle: @ 806C2C4
bx r1
thumb_func_end ScrCmd_trainerbattle
- thumb_func_start sub_806C2D8
-sub_806C2D8: @ 806C2D8
+ thumb_func_start ScrCmd_dotrainerbattle
+ScrCmd_dotrainerbattle: @ 806C2D8
push {lr}
bl sub_8080464
movs r0, 0x1
pop {r1}
bx r1
- thumb_func_end sub_806C2D8
+ thumb_func_end ScrCmd_dotrainerbattle
thumb_func_start ScrCmd_ontrainerbattleend
ScrCmd_ontrainerbattleend: @ 806C2E4
@@ -4927,18 +1567,18 @@ ScrCmd_setwildbattle: @ 806C368
bx r1
thumb_func_end ScrCmd_setwildbattle
- thumb_func_start sub_806C39C
-sub_806C39C: @ 806C39C
+ thumb_func_start ScrCmd_dowildbattle
+ScrCmd_dowildbattle: @ 806C39C
push {lr}
bl sub_807F8C4
bl ScriptContext1_Stop
movs r0, 0x1
pop {r1}
bx r1
- thumb_func_end sub_806C39C
+ thumb_func_end ScrCmd_dowildbattle
- thumb_func_start sub_806C3AC
-sub_806C3AC: @ 806C3AC
+ thumb_func_start ScrCmd_pokemart
+ScrCmd_pokemart: @ 806C3AC
push {lr}
bl ScriptReadWord
bl sub_809C164
@@ -4946,10 +1586,10 @@ sub_806C3AC: @ 806C3AC
movs r0, 0x1
pop {r1}
bx r1
- thumb_func_end sub_806C3AC
+ thumb_func_end ScrCmd_pokemart
- thumb_func_start sub_806C3C0
-sub_806C3C0: @ 806C3C0
+ thumb_func_start ScrCmd_pokemartdecoration
+ScrCmd_pokemartdecoration: @ 806C3C0
push {lr}
bl ScriptReadWord
bl sub_809C1A0
@@ -4957,10 +1597,10 @@ sub_806C3C0: @ 806C3C0
movs r0, 0x1
pop {r1}
bx r1
- thumb_func_end sub_806C3C0
+ thumb_func_end ScrCmd_pokemartdecoration
- thumb_func_start sub_806C3D4
-sub_806C3D4: @ 806C3D4
+ thumb_func_start ScrCmd_pokemartdecoration2
+ScrCmd_pokemartdecoration2: @ 806C3D4
push {lr}
bl ScriptReadWord
bl sub_809C1BC
@@ -4968,7 +1608,7 @@ sub_806C3D4: @ 806C3D4
movs r0, 0x1
pop {r1}
bx r1
- thumb_func_end sub_806C3D4
+ thumb_func_end ScrCmd_pokemartdecoration2
thumb_func_start ScrCmd_playslotmachine
ScrCmd_playslotmachine: @ 806C3E8
@@ -4989,44 +1629,44 @@ ScrCmd_playslotmachine: @ 806C3E8
_0806C40C: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
thumb_func_end ScrCmd_playslotmachine
- thumb_func_start sub_806C410
-sub_806C410: @ 806C410
+ thumb_func_start ScrCmd_setberrytree
+ScrCmd_setberrytree: @ 806C410
movs r0, 0
bx lr
- thumb_func_end sub_806C410
+ thumb_func_end ScrCmd_setberrytree
- thumb_func_start sub_806C414
-sub_806C414: @ 806C414
+ thumb_func_start ScrCmd_getpricereduction
+ScrCmd_getpricereduction: @ 806C414
movs r0, 0
bx lr
- thumb_func_end sub_806C414
+ thumb_func_end ScrCmd_getpricereduction
- thumb_func_start sub_806C418
-sub_806C418: @ 806C418
+ thumb_func_start ScrCmd_choosecontestmon
+ScrCmd_choosecontestmon: @ 806C418
push {lr}
bl ScriptContext1_Stop
movs r0, 0x1
pop {r1}
bx r1
- thumb_func_end sub_806C418
+ thumb_func_end ScrCmd_choosecontestmon
- thumb_func_start sub_806C424
-sub_806C424: @ 806C424
+ thumb_func_start ScrCmd_startcontest
+ScrCmd_startcontest: @ 806C424
movs r0, 0
bx lr
- thumb_func_end sub_806C424
+ thumb_func_end ScrCmd_startcontest
- thumb_func_start sub_806C428
-sub_806C428: @ 806C428
+ thumb_func_start ScrCmd_showcontestresults
+ScrCmd_showcontestresults: @ 806C428
movs r0, 0
bx lr
- thumb_func_end sub_806C428
+ thumb_func_end ScrCmd_showcontestresults
- thumb_func_start sub_806C42C
-sub_806C42C: @ 806C42C
+ thumb_func_start ScrCmd_contestlinktransfer
+ScrCmd_contestlinktransfer: @ 806C42C
movs r0, 0
bx lr
- thumb_func_end sub_806C42C
+ thumb_func_end ScrCmd_contestlinktransfer
thumb_func_start ScrCmd_dofieldeffect
ScrCmd_dofieldeffect: @ 806C430
@@ -5172,8 +1812,8 @@ ScrCmd_playmoncry: @ 806C508
bx r1
thumb_func_end ScrCmd_playmoncry
- thumb_func_start sub_806C540
-sub_806C540: @ 806C540
+ thumb_func_start ScrCmd_waitmoncry
+ScrCmd_waitmoncry: @ 806C540
push {lr}
ldr r1, _0806C550 @ =IsCryFinished
bl SetupNativeScript
@@ -5182,7 +1822,7 @@ sub_806C540: @ 806C540
bx r1
.align 2, 0
_0806C550: .4byte IsCryFinished
- thumb_func_end sub_806C540
+ thumb_func_end ScrCmd_waitmoncry
thumb_func_start ScrCmd_setmetatile
ScrCmd_setmetatile: @ 806C554
@@ -5332,8 +1972,8 @@ _0806C682:
bx r1
thumb_func_end sub_806C670
- thumb_func_start sub_806C688
-sub_806C688: @ 806C688
+ thumb_func_start ScrCmd_waitdoranim
+ScrCmd_waitdoranim: @ 806C688
push {lr}
ldr r1, _0806C698 @ =sub_806C670
bl SetupNativeScript
@@ -5342,7 +1982,7 @@ sub_806C688: @ 806C688
bx r1
.align 2, 0
_0806C698: .4byte sub_806C670
- thumb_func_end sub_806C688
+ thumb_func_end ScrCmd_waitdoranim
thumb_func_start ScrCmd_setdooropen
ScrCmd_setdooropen: @ 806C69C
@@ -5410,17 +2050,17 @@ ScrCmd_setdoorclosed: @ 806C6E0
bx r1
thumb_func_end ScrCmd_setdoorclosed
- thumb_func_start sub_806C724
-sub_806C724: @ 806C724
+ thumb_func_start ScrCmd_addelevmenuitem
+ScrCmd_addelevmenuitem: @ 806C724
movs r0, 0
bx lr
- thumb_func_end sub_806C724
+ thumb_func_end ScrCmd_addelevmenuitem
- thumb_func_start sub_806C728
-sub_806C728: @ 806C728
+ thumb_func_start ScrCmd_showelevmenu
+ScrCmd_showelevmenu: @ 806C728
movs r0, 0
bx lr
- thumb_func_end sub_806C728
+ thumb_func_end ScrCmd_showelevmenu
thumb_func_start ScrCmd_checkcoins
ScrCmd_checkcoins: @ 806C72C
@@ -5500,23 +2140,23 @@ _0806C7B0:
_0806C7B8: .4byte gSpecialVar_Result
thumb_func_end ScrCmd_takecoins
- thumb_func_start sub_806C7BC
-sub_806C7BC: @ 806C7BC
+ thumb_func_start ScrCmd_cmdCA
+ScrCmd_cmdCA: @ 806C7BC
push {lr}
bl sub_8069A20
movs r0, 0
pop {r1}
bx r1
- thumb_func_end sub_806C7BC
+ thumb_func_end ScrCmd_cmdCA
- thumb_func_start sub_806C7C8
-sub_806C7C8: @ 806C7C8
+ thumb_func_start ScrCmd_cmdCB
+ScrCmd_cmdCB: @ 806C7C8
push {lr}
bl sub_8069A2C
movs r0, 0
pop {r1}
bx r1
- thumb_func_end sub_806C7C8
+ thumb_func_end ScrCmd_cmdCB
thumb_func_start ScrCmd_setmonobedient
ScrCmd_setmonobedient: @ 806C7D4
@@ -5573,8 +2213,8 @@ _0806C83C: .4byte gSpecialVar_Result
_0806C840: .4byte gPlayerParty
thumb_func_end ScrCmd_checkmonobedience
- thumb_func_start sub_806C844
-sub_806C844: @ 806C844
+ thumb_func_start ScrCmd_setmonmetlocation
+ScrCmd_setmonmetlocation: @ 806C844
push {r4,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -5607,6 +2247,6 @@ _0806C87A:
bx r1
.align 2, 0
_0806C884: .4byte gPlayerParty
- thumb_func_end sub_806C844
+ thumb_func_end ScrCmd_setmonmetlocation
.align 2, 0 @ Don't pad with nop.
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..f710c9a7c 100644
--- a/asm/shop.s
+++ b/asm/shop.s
@@ -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
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..e7812abf2 100644
--- a/asm/tm_case.s
+++ b/asm/tm_case.s
@@ -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/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..d27d74f84 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
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..bc9b8c83a 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
diff --git a/data/data.s b/data/data.s
index 505dde2c1..b02f4b451 100644
--- a/data/data.s
+++ b/data/data.s
@@ -930,10 +930,12 @@ gUnknown_82E55CC:: @ 82E55CC
.incbin "baserom.gba", 0x2E55CC, 0x695C0
gUnknown_834EB8C:: @ 834EB8C
- .incbin "baserom.gba", 0x34EB8C, 0x3B1C
+ .incbin "baserom.gba", 0x34EB8C, 0x5FC
-gUnknown_83526A8:: @ 83526A8
- .incbin "baserom.gba", 0x3526A8, 0x844
+ .include "data/maps/groups.inc"
+
+gUnknown_8352754:: @ 8352754
+ .incbin "baserom.gba", 0x352754, 0x798
gUnknown_8352EEC:: @ 8352EEC
.incbin "baserom.gba", 0x352EEC, 0x4
diff --git a/data/data_835B488.s b/data/data_835B488.s
index 8d2183672..523942112 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
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/maps/groups.inc b/data/maps/groups.inc
new file mode 100644
index 000000000..27168da81
--- /dev/null
+++ b/data/maps/groups.inc
@@ -0,0 +1,1830 @@
+gMap_00_00:: @ 834F188
+ .incbin "baserom.gba", 0x34F188, 0x1C
+
+gMap_00_01:: @ 834F1A4
+ .incbin "baserom.gba", 0x34F1A4, 0x1C
+
+gMap_00_02:: @ 834F1C0
+ .incbin "baserom.gba", 0x34F1C0, 0x1C
+
+gMap_00_03:: @ 834F1DC
+ .incbin "baserom.gba", 0x34F1DC, 0x1C
+
+gMap_00_04:: @ 834F1F8
+ .incbin "baserom.gba", 0x34F1F8, 0x1C
+
+gMap_01_00:: @ 834F214
+ .incbin "baserom.gba", 0x34F214, 0x1C
+
+gMap_01_01:: @ 834F230
+ .incbin "baserom.gba", 0x34F230, 0x1C
+
+gMap_01_02:: @ 834F24C
+ .incbin "baserom.gba", 0x34F24C, 0x1C
+
+gMap_01_03:: @ 834F268
+ .incbin "baserom.gba", 0x34F268, 0x1C
+
+gMap_01_04:: @ 834F284
+ .incbin "baserom.gba", 0x34F284, 0x1C
+
+gMap_01_05:: @ 834F2A0
+ .incbin "baserom.gba", 0x34F2A0, 0x1C
+
+gMap_01_06:: @ 834F2BC
+ .incbin "baserom.gba", 0x34F2BC, 0x1C
+
+gMap_01_07:: @ 834F2D8
+ .incbin "baserom.gba", 0x34F2D8, 0x1C
+
+gMap_01_08:: @ 834F2F4
+ .incbin "baserom.gba", 0x34F2F4, 0x1C
+
+gMap_01_09:: @ 834F310
+ .incbin "baserom.gba", 0x34F310, 0x1C
+
+gMap_01_10:: @ 834F32C
+ .incbin "baserom.gba", 0x34F32C, 0x1C
+
+gMap_01_11:: @ 834F348
+ .incbin "baserom.gba", 0x34F348, 0x1C
+
+gMap_01_12:: @ 834F364
+ .incbin "baserom.gba", 0x34F364, 0x1C
+
+gMap_01_13:: @ 834F380
+ .incbin "baserom.gba", 0x34F380, 0x1C
+
+gMap_01_14:: @ 834F39C
+ .incbin "baserom.gba", 0x34F39C, 0x1C
+
+gMap_01_15:: @ 834F3B8
+ .incbin "baserom.gba", 0x34F3B8, 0x1C
+
+gMap_01_16:: @ 834F3D4
+ .incbin "baserom.gba", 0x34F3D4, 0x1C
+
+gMap_01_17:: @ 834F3F0
+ .incbin "baserom.gba", 0x34F3F0, 0x1C
+
+gMap_01_18:: @ 834F40C
+ .incbin "baserom.gba", 0x34F40C, 0x1C
+
+gMap_01_19:: @ 834F428
+ .incbin "baserom.gba", 0x34F428, 0x1C
+
+gMap_01_20:: @ 834F444
+ .incbin "baserom.gba", 0x34F444, 0x1C
+
+gMap_01_21:: @ 834F460
+ .incbin "baserom.gba", 0x34F460, 0x1C
+
+gMap_01_22:: @ 834F47C
+ .incbin "baserom.gba", 0x34F47C, 0x1C
+
+gMap_01_23:: @ 834F498
+ .incbin "baserom.gba", 0x34F498, 0x1C
+
+gMap_01_24:: @ 834F4B4
+ .incbin "baserom.gba", 0x34F4B4, 0x1C
+
+gMap_01_25:: @ 834F4D0
+ .incbin "baserom.gba", 0x34F4D0, 0x1C
+
+gMap_01_26:: @ 834F4EC
+ .incbin "baserom.gba", 0x34F4EC, 0x1C
+
+gMap_01_27:: @ 834F508
+ .incbin "baserom.gba", 0x34F508, 0x1C
+
+gMap_01_28:: @ 834F524
+ .incbin "baserom.gba", 0x34F524, 0x1C
+
+gMap_01_29:: @ 834F540
+ .incbin "baserom.gba", 0x34F540, 0x1C
+
+gMap_01_30:: @ 834F55C
+ .incbin "baserom.gba", 0x34F55C, 0x1C
+
+gMap_01_31:: @ 834F578
+ .incbin "baserom.gba", 0x34F578, 0x1C
+
+gMap_01_32:: @ 834F594
+ .incbin "baserom.gba", 0x34F594, 0x1C
+
+gMap_01_33:: @ 834F5B0
+ .incbin "baserom.gba", 0x34F5B0, 0x1C
+
+gMap_01_34:: @ 834F5CC
+ .incbin "baserom.gba", 0x34F5CC, 0x1C
+
+gMap_01_35:: @ 834F5E8
+ .incbin "baserom.gba", 0x34F5E8, 0x1C
+
+gMap_01_36:: @ 834F604
+ .incbin "baserom.gba", 0x34F604, 0x1C
+
+gMap_01_37:: @ 834F620
+ .incbin "baserom.gba", 0x34F620, 0x1C
+
+gMap_01_38:: @ 834F63C
+ .incbin "baserom.gba", 0x34F63C, 0x1C
+
+gMap_01_39:: @ 834F658
+ .incbin "baserom.gba", 0x34F658, 0x1C
+
+gMap_01_40:: @ 834F674
+ .incbin "baserom.gba", 0x34F674, 0x1C
+
+gMap_01_41:: @ 834F690
+ .incbin "baserom.gba", 0x34F690, 0x1C
+
+gMap_01_42:: @ 834F6AC
+ .incbin "baserom.gba", 0x34F6AC, 0x1C
+
+gMap_01_43:: @ 834F6C8
+ .incbin "baserom.gba", 0x34F6C8, 0x1C
+
+gMap_01_44:: @ 834F6E4
+ .incbin "baserom.gba", 0x34F6E4, 0x1C
+
+gMap_01_45:: @ 834F700
+ .incbin "baserom.gba", 0x34F700, 0x1C
+
+gMap_01_46:: @ 834F71C
+ .incbin "baserom.gba", 0x34F71C, 0x1C
+
+gMap_01_47:: @ 834F738
+ .incbin "baserom.gba", 0x34F738, 0x1C
+
+gMap_01_48:: @ 834F754
+ .incbin "baserom.gba", 0x34F754, 0x1C
+
+gMap_01_49:: @ 834F770
+ .incbin "baserom.gba", 0x34F770, 0x1C
+
+gMap_01_50:: @ 834F78C
+ .incbin "baserom.gba", 0x34F78C, 0x1C
+
+gMap_01_51:: @ 834F7A8
+ .incbin "baserom.gba", 0x34F7A8, 0x1C
+
+gMap_01_52:: @ 834F7C4
+ .incbin "baserom.gba", 0x34F7C4, 0x1C
+
+gMap_01_53:: @ 834F7E0
+ .incbin "baserom.gba", 0x34F7E0, 0x1C
+
+gMap_01_54:: @ 834F7FC
+ .incbin "baserom.gba", 0x34F7FC, 0x1C
+
+gMap_01_55:: @ 834F818
+ .incbin "baserom.gba", 0x34F818, 0x1C
+
+gMap_01_56:: @ 834F834
+ .incbin "baserom.gba", 0x34F834, 0x1C
+
+gMap_01_57:: @ 834F850
+ .incbin "baserom.gba", 0x34F850, 0x1C
+
+gMap_01_58:: @ 834F86C
+ .incbin "baserom.gba", 0x34F86C, 0x1C
+
+gMap_01_59:: @ 834F888
+ .incbin "baserom.gba", 0x34F888, 0x1C
+
+gMap_01_60:: @ 834F8A4
+ .incbin "baserom.gba", 0x34F8A4, 0x1C
+
+gMap_01_61:: @ 834F8C0
+ .incbin "baserom.gba", 0x34F8C0, 0x1C
+
+gMap_01_62:: @ 834F8DC
+ .incbin "baserom.gba", 0x34F8DC, 0x1C
+
+gMap_01_63:: @ 834F8F8
+ .incbin "baserom.gba", 0x34F8F8, 0x1C
+
+gMap_01_64:: @ 834F914
+ .incbin "baserom.gba", 0x34F914, 0x1C
+
+gMap_01_65:: @ 834F930
+ .incbin "baserom.gba", 0x34F930, 0x1C
+
+gMap_01_66:: @ 834F94C
+ .incbin "baserom.gba", 0x34F94C, 0x1C
+
+gMap_01_67:: @ 834F968
+ .incbin "baserom.gba", 0x34F968, 0x1C
+
+gMap_01_68:: @ 834F984
+ .incbin "baserom.gba", 0x34F984, 0x1C
+
+gMap_01_69:: @ 834F9A0
+ .incbin "baserom.gba", 0x34F9A0, 0x1C
+
+gMap_01_70:: @ 834F9BC
+ .incbin "baserom.gba", 0x34F9BC, 0x1C
+
+gMap_01_71:: @ 834F9D8
+ .incbin "baserom.gba", 0x34F9D8, 0x1C
+
+gMap_01_72:: @ 834F9F4
+ .incbin "baserom.gba", 0x34F9F4, 0x1C
+
+gMap_01_73:: @ 834FA10
+ .incbin "baserom.gba", 0x34FA10, 0x1C
+
+gMap_01_74:: @ 834FA2C
+ .incbin "baserom.gba", 0x34FA2C, 0x1C
+
+gMap_01_75:: @ 834FA48
+ .incbin "baserom.gba", 0x34FA48, 0x1C
+
+gMap_01_76:: @ 834FA64
+ .incbin "baserom.gba", 0x34FA64, 0x1C
+
+gMap_01_77:: @ 834FA80
+ .incbin "baserom.gba", 0x34FA80, 0x1C
+
+gMap_01_78:: @ 834FA9C
+ .incbin "baserom.gba", 0x34FA9C, 0x1C
+
+gMap_01_79:: @ 834FAB8
+ .incbin "baserom.gba", 0x34FAB8, 0x1C
+
+gMap_01_80:: @ 834FAD4
+ .incbin "baserom.gba", 0x34FAD4, 0x1C
+
+gMap_01_81:: @ 834FAF0
+ .incbin "baserom.gba", 0x34FAF0, 0x1C
+
+gMap_01_82:: @ 834FB0C
+ .incbin "baserom.gba", 0x34FB0C, 0x1C
+
+gMap_01_83:: @ 834FB28
+ .incbin "baserom.gba", 0x34FB28, 0x1C
+
+gMap_01_84:: @ 834FB44
+ .incbin "baserom.gba", 0x34FB44, 0x1C
+
+gMap_01_85:: @ 834FB60
+ .incbin "baserom.gba", 0x34FB60, 0x1C
+
+gMap_01_86:: @ 834FB7C
+ .incbin "baserom.gba", 0x34FB7C, 0x1C
+
+gMap_01_87:: @ 834FB98
+ .incbin "baserom.gba", 0x34FB98, 0x1C
+
+gMap_01_88:: @ 834FBB4
+ .incbin "baserom.gba", 0x34FBB4, 0x1C
+
+gMap_01_89:: @ 834FBD0
+ .incbin "baserom.gba", 0x34FBD0, 0x1C
+
+gMap_01_90:: @ 834FBEC
+ .incbin "baserom.gba", 0x34FBEC, 0x1C
+
+gMap_01_91:: @ 834FC08
+ .incbin "baserom.gba", 0x34FC08, 0x1C
+
+gMap_01_92:: @ 834FC24
+ .incbin "baserom.gba", 0x34FC24, 0x1C
+
+gMap_01_93:: @ 834FC40
+ .incbin "baserom.gba", 0x34FC40, 0x1C
+
+gMap_01_94:: @ 834FC5C
+ .incbin "baserom.gba", 0x34FC5C, 0x1C
+
+gMap_01_95:: @ 834FC78
+ .incbin "baserom.gba", 0x34FC78, 0x1C
+
+gMap_01_96:: @ 834FC94
+ .incbin "baserom.gba", 0x34FC94, 0x1C
+
+gMap_01_97:: @ 834FCB0
+ .incbin "baserom.gba", 0x34FCB0, 0x1C
+
+gMap_01_98:: @ 834FCCC
+ .incbin "baserom.gba", 0x34FCCC, 0x1C
+
+gMap_01_99:: @ 834FCE8
+ .incbin "baserom.gba", 0x34FCE8, 0x1C
+
+gMap_01_100:: @ 834FD04
+ .incbin "baserom.gba", 0x34FD04, 0x1C
+
+gMap_01_101:: @ 834FD20
+ .incbin "baserom.gba", 0x34FD20, 0x1C
+
+gMap_01_102:: @ 834FD3C
+ .incbin "baserom.gba", 0x34FD3C, 0x1C
+
+gMap_01_103:: @ 834FD58
+ .incbin "baserom.gba", 0x34FD58, 0x1C
+
+gMap_01_104:: @ 834FD74
+ .incbin "baserom.gba", 0x34FD74, 0x1C
+
+gMap_01_105:: @ 834FD90
+ .incbin "baserom.gba", 0x34FD90, 0x1C
+
+gMap_01_106:: @ 834FDAC
+ .incbin "baserom.gba", 0x34FDAC, 0x1C
+
+gMap_01_107:: @ 834FDC8
+ .incbin "baserom.gba", 0x34FDC8, 0x1C
+
+gMap_01_108:: @ 834FDE4
+ .incbin "baserom.gba", 0x34FDE4, 0x1C
+
+gMap_01_109:: @ 834FE00
+ .incbin "baserom.gba", 0x34FE00, 0x1C
+
+gMap_01_110:: @ 834FE1C
+ .incbin "baserom.gba", 0x34FE1C, 0x1C
+
+gMap_01_111:: @ 834FE38
+ .incbin "baserom.gba", 0x34FE38, 0x1C
+
+gMap_01_112:: @ 834FE54
+ .incbin "baserom.gba", 0x34FE54, 0x1C
+
+gMap_01_113:: @ 834FE70
+ .incbin "baserom.gba", 0x34FE70, 0x1C
+
+gMap_01_114:: @ 834FE8C
+ .incbin "baserom.gba", 0x34FE8C, 0x1C
+
+gMap_01_115:: @ 834FEA8
+ .incbin "baserom.gba", 0x34FEA8, 0x1C
+
+gMap_01_116:: @ 834FEC4
+ .incbin "baserom.gba", 0x34FEC4, 0x1C
+
+gMap_01_117:: @ 834FEE0
+ .incbin "baserom.gba", 0x34FEE0, 0x1C
+
+gMap_01_118:: @ 834FEFC
+ .incbin "baserom.gba", 0x34FEFC, 0x1C
+
+gMap_01_119:: @ 834FF18
+ .incbin "baserom.gba", 0x34FF18, 0x1C
+
+gMap_01_120:: @ 834FF34
+ .incbin "baserom.gba", 0x34FF34, 0x1C
+
+gMap_01_121:: @ 834FF50
+ .incbin "baserom.gba", 0x34FF50, 0x1C
+
+gMap_01_122:: @ 834FF6C
+ .incbin "baserom.gba", 0x34FF6C, 0x1C
+
+gMap_02_00:: @ 834FF88
+ .incbin "baserom.gba", 0x34FF88, 0x1C
+
+gMap_02_01:: @ 834FFA4
+ .incbin "baserom.gba", 0x34FFA4, 0x1C
+
+gMap_02_02:: @ 834FFC0
+ .incbin "baserom.gba", 0x34FFC0, 0x1C
+
+gMap_02_03:: @ 834FFDC
+ .incbin "baserom.gba", 0x34FFDC, 0x1C
+
+gMap_02_04:: @ 834FFF8
+ .incbin "baserom.gba", 0x34FFF8, 0x1C
+
+gMap_02_05:: @ 8350014
+ .incbin "baserom.gba", 0x350014, 0x1C
+
+gMap_02_06:: @ 8350030
+ .incbin "baserom.gba", 0x350030, 0x1C
+
+gMap_02_07:: @ 835004C
+ .incbin "baserom.gba", 0x35004C, 0x1C
+
+gMap_02_08:: @ 8350068
+ .incbin "baserom.gba", 0x350068, 0x1C
+
+gMap_02_09:: @ 8350084
+ .incbin "baserom.gba", 0x350084, 0x1C
+
+gMap_02_10:: @ 83500A0
+ .incbin "baserom.gba", 0x3500A0, 0x1C
+
+gMap_02_11:: @ 83500BC
+ .incbin "baserom.gba", 0x3500BC, 0x1C
+
+gMap_02_12:: @ 83500D8
+ .incbin "baserom.gba", 0x3500D8, 0x1C
+
+gMap_02_13:: @ 83500F4
+ .incbin "baserom.gba", 0x3500F4, 0x1C
+
+gMap_02_14:: @ 8350110
+ .incbin "baserom.gba", 0x350110, 0x1C
+
+gMap_02_15:: @ 835012C
+ .incbin "baserom.gba", 0x35012C, 0x1C
+
+gMap_02_16:: @ 8350148
+ .incbin "baserom.gba", 0x350148, 0x1C
+
+gMap_02_17:: @ 8350164
+ .incbin "baserom.gba", 0x350164, 0x1C
+
+gMap_02_18:: @ 8350180
+ .incbin "baserom.gba", 0x350180, 0x1C
+
+gMap_02_19:: @ 835019C
+ .incbin "baserom.gba", 0x35019C, 0x1C
+
+gMap_02_20:: @ 83501B8
+ .incbin "baserom.gba", 0x3501B8, 0x1C
+
+gMap_02_21:: @ 83501D4
+ .incbin "baserom.gba", 0x3501D4, 0x1C
+
+gMap_02_22:: @ 83501F0
+ .incbin "baserom.gba", 0x3501F0, 0x1C
+
+gMap_02_23:: @ 835020C
+ .incbin "baserom.gba", 0x35020C, 0x1C
+
+gMap_02_24:: @ 8350228
+ .incbin "baserom.gba", 0x350228, 0x1C
+
+gMap_02_25:: @ 8350244
+ .incbin "baserom.gba", 0x350244, 0x1C
+
+gMap_02_26:: @ 8350260
+ .incbin "baserom.gba", 0x350260, 0x1C
+
+gMap_02_27:: @ 835027C
+ .incbin "baserom.gba", 0x35027C, 0x1C
+
+gMap_02_28:: @ 8350298
+ .incbin "baserom.gba", 0x350298, 0x1C
+
+gMap_02_29:: @ 83502B4
+ .incbin "baserom.gba", 0x3502B4, 0x1C
+
+gMap_02_30:: @ 83502D0
+ .incbin "baserom.gba", 0x3502D0, 0x1C
+
+gMap_02_31:: @ 83502EC
+ .incbin "baserom.gba", 0x3502EC, 0x1C
+
+gMap_02_32:: @ 8350308
+ .incbin "baserom.gba", 0x350308, 0x1C
+
+gMap_02_33:: @ 8350324
+ .incbin "baserom.gba", 0x350324, 0x1C
+
+gMap_02_34:: @ 8350340
+ .incbin "baserom.gba", 0x350340, 0x1C
+
+gMap_02_35:: @ 835035C
+ .incbin "baserom.gba", 0x35035C, 0x1C
+
+gMap_02_36:: @ 8350378
+ .incbin "baserom.gba", 0x350378, 0x1C
+
+gMap_02_37:: @ 8350394
+ .incbin "baserom.gba", 0x350394, 0x1C
+
+gMap_02_38:: @ 83503B0
+ .incbin "baserom.gba", 0x3503B0, 0x1C
+
+gMap_02_39:: @ 83503CC
+ .incbin "baserom.gba", 0x3503CC, 0x1C
+
+gMap_02_40:: @ 83503E8
+ .incbin "baserom.gba", 0x3503E8, 0x1C
+
+gMap_02_41:: @ 8350404
+ .incbin "baserom.gba", 0x350404, 0x1C
+
+gMap_02_42:: @ 8350420
+ .incbin "baserom.gba", 0x350420, 0x1C
+
+gMap_02_43:: @ 835043C
+ .incbin "baserom.gba", 0x35043C, 0x1C
+
+gMap_02_44:: @ 8350458
+ .incbin "baserom.gba", 0x350458, 0x1C
+
+gMap_02_45:: @ 8350474
+ .incbin "baserom.gba", 0x350474, 0x1C
+
+gMap_02_46:: @ 8350490
+ .incbin "baserom.gba", 0x350490, 0x1C
+
+gMap_02_47:: @ 83504AC
+ .incbin "baserom.gba", 0x3504AC, 0x1C
+
+gMap_02_48:: @ 83504C8
+ .incbin "baserom.gba", 0x3504C8, 0x1C
+
+gMap_02_49:: @ 83504E4
+ .incbin "baserom.gba", 0x3504E4, 0x1C
+
+gMap_02_50:: @ 8350500
+ .incbin "baserom.gba", 0x350500, 0x1C
+
+gMap_02_51:: @ 835051C
+ .incbin "baserom.gba", 0x35051C, 0x1C
+
+gMap_02_52:: @ 8350538
+ .incbin "baserom.gba", 0x350538, 0x1C
+
+gMap_02_53:: @ 8350554
+ .incbin "baserom.gba", 0x350554, 0x1C
+
+gMap_02_54:: @ 8350570
+ .incbin "baserom.gba", 0x350570, 0x1C
+
+gMap_02_55:: @ 835058C
+ .incbin "baserom.gba", 0x35058C, 0x1C
+
+gMap_02_56:: @ 83505A8
+ .incbin "baserom.gba", 0x3505A8, 0x1C
+
+gMap_02_57:: @ 83505C4
+ .incbin "baserom.gba", 0x3505C4, 0x1C
+
+gMap_02_58:: @ 83505E0
+ .incbin "baserom.gba", 0x3505E0, 0x1C
+
+gMap_02_59:: @ 83505FC
+ .incbin "baserom.gba", 0x3505FC, 0x1C
+
+gMap_03_00:: @ 8350618
+ .incbin "baserom.gba", 0x350618, 0x1C
+
+gMap_03_01:: @ 8350634
+ .incbin "baserom.gba", 0x350634, 0x1C
+
+gMap_03_02:: @ 8350650
+ .incbin "baserom.gba", 0x350650, 0x1C
+
+gMap_03_03:: @ 835066C
+ .incbin "baserom.gba", 0x35066C, 0x1C
+
+gMap_03_04:: @ 8350688
+ .incbin "baserom.gba", 0x350688, 0x1C
+
+gMap_03_05:: @ 83506A4
+ .incbin "baserom.gba", 0x3506A4, 0x1C
+
+gMap_03_06:: @ 83506C0
+ .incbin "baserom.gba", 0x3506C0, 0x1C
+
+gMap_03_07:: @ 83506DC
+ .incbin "baserom.gba", 0x3506DC, 0x1C
+
+gMap_03_08:: @ 83506F8
+ .incbin "baserom.gba", 0x3506F8, 0x1C
+
+gMap_03_09:: @ 8350714
+ .incbin "baserom.gba", 0x350714, 0x1C
+
+gMap_03_10:: @ 8350730
+ .incbin "baserom.gba", 0x350730, 0x1C
+
+gMap_03_11:: @ 835074C
+ .incbin "baserom.gba", 0x35074C, 0x1C
+
+gMap_03_12:: @ 8350768
+ .incbin "baserom.gba", 0x350768, 0x1C
+
+gMap_03_13:: @ 8350784
+ .incbin "baserom.gba", 0x350784, 0x1C
+
+gMap_03_14:: @ 83507A0
+ .incbin "baserom.gba", 0x3507A0, 0x1C
+
+gMap_03_15:: @ 83507BC
+ .incbin "baserom.gba", 0x3507BC, 0x1C
+
+gMap_03_16:: @ 83507D8
+ .incbin "baserom.gba", 0x3507D8, 0x1C
+
+gMap_03_17:: @ 83507F4
+ .incbin "baserom.gba", 0x3507F4, 0x1C
+
+gMap_03_18:: @ 8350810
+ .incbin "baserom.gba", 0x350810, 0x1C
+
+gMap_03_19:: @ 835082C
+ .incbin "baserom.gba", 0x35082C, 0x1C
+
+gMap_03_20:: @ 8350848
+ .incbin "baserom.gba", 0x350848, 0x1C
+
+gMap_03_21:: @ 8350864
+ .incbin "baserom.gba", 0x350864, 0x1C
+
+gMap_03_22:: @ 8350880
+ .incbin "baserom.gba", 0x350880, 0x1C
+
+gMap_03_23:: @ 835089C
+ .incbin "baserom.gba", 0x35089C, 0x1C
+
+gMap_03_24:: @ 83508B8
+ .incbin "baserom.gba", 0x3508B8, 0x1C
+
+gMap_03_25:: @ 83508D4
+ .incbin "baserom.gba", 0x3508D4, 0x1C
+
+gMap_03_26:: @ 83508F0
+ .incbin "baserom.gba", 0x3508F0, 0x1C
+
+gMap_03_27:: @ 835090C
+ .incbin "baserom.gba", 0x35090C, 0x1C
+
+gMap_03_28:: @ 8350928
+ .incbin "baserom.gba", 0x350928, 0x1C
+
+gMap_03_29:: @ 8350944
+ .incbin "baserom.gba", 0x350944, 0x1C
+
+gMap_03_30:: @ 8350960
+ .incbin "baserom.gba", 0x350960, 0x1C
+
+gMap_03_31:: @ 835097C
+ .incbin "baserom.gba", 0x35097C, 0x1C
+
+gMap_03_32:: @ 8350998
+ .incbin "baserom.gba", 0x350998, 0x1C
+
+gMap_03_33:: @ 83509B4
+ .incbin "baserom.gba", 0x3509B4, 0x1C
+
+gMap_03_34:: @ 83509D0
+ .incbin "baserom.gba", 0x3509D0, 0x1C
+
+gMap_03_35:: @ 83509EC
+ .incbin "baserom.gba", 0x3509EC, 0x1C
+
+gMap_03_36:: @ 8350A08
+ .incbin "baserom.gba", 0x350A08, 0x1C
+
+gMap_03_37:: @ 8350A24
+ .incbin "baserom.gba", 0x350A24, 0x1C
+
+gMap_03_38:: @ 8350A40
+ .incbin "baserom.gba", 0x350A40, 0x1C
+
+gMap_03_39:: @ 8350A5C
+ .incbin "baserom.gba", 0x350A5C, 0x1C
+
+gMap_03_40:: @ 8350A78
+ .incbin "baserom.gba", 0x350A78, 0x1C
+
+gMap_03_41:: @ 8350A94
+ .incbin "baserom.gba", 0x350A94, 0x1C
+
+gMap_03_42:: @ 8350AB0
+ .incbin "baserom.gba", 0x350AB0, 0x1C
+
+gMap_03_43:: @ 8350ACC
+ .incbin "baserom.gba", 0x350ACC, 0x1C
+
+gMap_03_44:: @ 8350AE8
+ .incbin "baserom.gba", 0x350AE8, 0x1C
+
+gMap_03_45:: @ 8350B04
+ .incbin "baserom.gba", 0x350B04, 0x1C
+
+gMap_03_46:: @ 8350B20
+ .incbin "baserom.gba", 0x350B20, 0x1C
+
+gMap_03_47:: @ 8350B3C
+ .incbin "baserom.gba", 0x350B3C, 0x1C
+
+gMap_03_48:: @ 8350B58
+ .incbin "baserom.gba", 0x350B58, 0x1C
+
+gMap_03_49:: @ 8350B74
+ .incbin "baserom.gba", 0x350B74, 0x1C
+
+gMap_03_50:: @ 8350B90
+ .incbin "baserom.gba", 0x350B90, 0x1C
+
+gMap_03_51:: @ 8350BAC
+ .incbin "baserom.gba", 0x350BAC, 0x1C
+
+gMap_03_52:: @ 8350BC8
+ .incbin "baserom.gba", 0x350BC8, 0x1C
+
+gMap_03_53:: @ 8350BE4
+ .incbin "baserom.gba", 0x350BE4, 0x1C
+
+gMap_03_54:: @ 8350C00
+ .incbin "baserom.gba", 0x350C00, 0x1C
+
+gMap_03_55:: @ 8350C1C
+ .incbin "baserom.gba", 0x350C1C, 0x1C
+
+gMap_03_56:: @ 8350C38
+ .incbin "baserom.gba", 0x350C38, 0x1C
+
+gMap_03_57:: @ 8350C54
+ .incbin "baserom.gba", 0x350C54, 0x1C
+
+gMap_03_58:: @ 8350C70
+ .incbin "baserom.gba", 0x350C70, 0x1C
+
+gMap_03_59:: @ 8350C8C
+ .incbin "baserom.gba", 0x350C8C, 0x1C
+
+gMap_03_60:: @ 8350CA8
+ .incbin "baserom.gba", 0x350CA8, 0x1C
+
+gMap_03_61:: @ 8350CC4
+ .incbin "baserom.gba", 0x350CC4, 0x1C
+
+gMap_03_62:: @ 8350CE0
+ .incbin "baserom.gba", 0x350CE0, 0x1C
+
+gMap_03_63:: @ 8350CFC
+ .incbin "baserom.gba", 0x350CFC, 0x1C
+
+gMap_03_64:: @ 8350D18
+ .incbin "baserom.gba", 0x350D18, 0x1C
+
+gMap_03_65:: @ 8350D34
+ .incbin "baserom.gba", 0x350D34, 0x1C
+
+gMap_04_00:: @ 8350D50
+ .incbin "baserom.gba", 0x350D50, 0x1C
+
+gMap_04_01:: @ 8350D6C
+ .incbin "baserom.gba", 0x350D6C, 0x1C
+
+gMap_04_02:: @ 8350D88
+ .incbin "baserom.gba", 0x350D88, 0x1C
+
+gMap_04_03:: @ 8350DA4
+ .incbin "baserom.gba", 0x350DA4, 0x1C
+
+gMap_05_00:: @ 8350DC0
+ .incbin "baserom.gba", 0x350DC0, 0x1C
+
+gMap_05_01:: @ 8350DDC
+ .incbin "baserom.gba", 0x350DDC, 0x1C
+
+gMap_05_02:: @ 8350DF8
+ .incbin "baserom.gba", 0x350DF8, 0x1C
+
+gMap_05_03:: @ 8350E14
+ .incbin "baserom.gba", 0x350E14, 0x1C
+
+gMap_05_04:: @ 8350E30
+ .incbin "baserom.gba", 0x350E30, 0x1C
+
+gMap_05_05:: @ 8350E4C
+ .incbin "baserom.gba", 0x350E4C, 0x1C
+
+gMap_06_00:: @ 8350E68
+ .incbin "baserom.gba", 0x350E68, 0x1C
+
+gMap_06_01:: @ 8350E84
+ .incbin "baserom.gba", 0x350E84, 0x1C
+
+gMap_06_02:: @ 8350EA0
+ .incbin "baserom.gba", 0x350EA0, 0x1C
+
+gMap_06_03:: @ 8350EBC
+ .incbin "baserom.gba", 0x350EBC, 0x1C
+
+gMap_06_04:: @ 8350ED8
+ .incbin "baserom.gba", 0x350ED8, 0x1C
+
+gMap_06_05:: @ 8350EF4
+ .incbin "baserom.gba", 0x350EF4, 0x1C
+
+gMap_06_06:: @ 8350F10
+ .incbin "baserom.gba", 0x350F10, 0x1C
+
+gMap_06_07:: @ 8350F2C
+ .incbin "baserom.gba", 0x350F2C, 0x1C
+
+gMap_07_00:: @ 8350F48
+ .incbin "baserom.gba", 0x350F48, 0x1C
+
+gMap_07_01:: @ 8350F64
+ .incbin "baserom.gba", 0x350F64, 0x1C
+
+gMap_07_02:: @ 8350F80
+ .incbin "baserom.gba", 0x350F80, 0x1C
+
+gMap_07_03:: @ 8350F9C
+ .incbin "baserom.gba", 0x350F9C, 0x1C
+
+gMap_07_04:: @ 8350FB8
+ .incbin "baserom.gba", 0x350FB8, 0x1C
+
+gMap_07_05:: @ 8350FD4
+ .incbin "baserom.gba", 0x350FD4, 0x1C
+
+gMap_07_06:: @ 8350FF0
+ .incbin "baserom.gba", 0x350FF0, 0x1C
+
+gMap_07_07:: @ 835100C
+ .incbin "baserom.gba", 0x35100C, 0x1C
+
+gMap_07_08:: @ 8351028
+ .incbin "baserom.gba", 0x351028, 0x1C
+
+gMap_07_09:: @ 8351044
+ .incbin "baserom.gba", 0x351044, 0x1C
+
+gMap_08_00:: @ 8351060
+ .incbin "baserom.gba", 0x351060, 0x1C
+
+gMap_08_01:: @ 835107C
+ .incbin "baserom.gba", 0x35107C, 0x1C
+
+gMap_08_02:: @ 8351098
+ .incbin "baserom.gba", 0x351098, 0x1C
+
+gMap_08_03:: @ 83510B4
+ .incbin "baserom.gba", 0x3510B4, 0x1C
+
+gMap_08_04:: @ 83510D0
+ .incbin "baserom.gba", 0x3510D0, 0x1C
+
+gMap_08_05:: @ 83510EC
+ .incbin "baserom.gba", 0x3510EC, 0x1C
+
+gMap_09_00:: @ 8351108
+ .incbin "baserom.gba", 0x351108, 0x1C
+
+gMap_09_01:: @ 8351124
+ .incbin "baserom.gba", 0x351124, 0x1C
+
+gMap_09_02:: @ 8351140
+ .incbin "baserom.gba", 0x351140, 0x1C
+
+gMap_09_03:: @ 835115C
+ .incbin "baserom.gba", 0x35115C, 0x1C
+
+gMap_09_04:: @ 8351178
+ .incbin "baserom.gba", 0x351178, 0x1C
+
+gMap_09_05:: @ 8351194
+ .incbin "baserom.gba", 0x351194, 0x1C
+
+gMap_09_06:: @ 83511B0
+ .incbin "baserom.gba", 0x3511B0, 0x1C
+
+gMap_09_07:: @ 83511CC
+ .incbin "baserom.gba", 0x3511CC, 0x1C
+
+gMap_10_00:: @ 83511E8
+ .incbin "baserom.gba", 0x3511E8, 0x1C
+
+gMap_10_01:: @ 8351204
+ .incbin "baserom.gba", 0x351204, 0x1C
+
+gMap_10_02:: @ 8351220
+ .incbin "baserom.gba", 0x351220, 0x1C
+
+gMap_10_03:: @ 835123C
+ .incbin "baserom.gba", 0x35123C, 0x1C
+
+gMap_10_04:: @ 8351258
+ .incbin "baserom.gba", 0x351258, 0x1C
+
+gMap_10_05:: @ 8351274
+ .incbin "baserom.gba", 0x351274, 0x1C
+
+gMap_10_06:: @ 8351290
+ .incbin "baserom.gba", 0x351290, 0x1C
+
+gMap_10_07:: @ 83512AC
+ .incbin "baserom.gba", 0x3512AC, 0x1C
+
+gMap_10_08:: @ 83512C8
+ .incbin "baserom.gba", 0x3512C8, 0x1C
+
+gMap_10_09:: @ 83512E4
+ .incbin "baserom.gba", 0x3512E4, 0x1C
+
+gMap_10_10:: @ 8351300
+ .incbin "baserom.gba", 0x351300, 0x1C
+
+gMap_10_11:: @ 835131C
+ .incbin "baserom.gba", 0x35131C, 0x1C
+
+gMap_10_12:: @ 8351338
+ .incbin "baserom.gba", 0x351338, 0x1C
+
+gMap_10_13:: @ 8351354
+ .incbin "baserom.gba", 0x351354, 0x1C
+
+gMap_10_14:: @ 8351370
+ .incbin "baserom.gba", 0x351370, 0x1C
+
+gMap_10_15:: @ 835138C
+ .incbin "baserom.gba", 0x35138C, 0x1C
+
+gMap_10_16:: @ 83513A8
+ .incbin "baserom.gba", 0x3513A8, 0x1C
+
+gMap_10_17:: @ 83513C4
+ .incbin "baserom.gba", 0x3513C4, 0x1C
+
+gMap_10_18:: @ 83513E0
+ .incbin "baserom.gba", 0x3513E0, 0x1C
+
+gMap_10_19:: @ 83513FC
+ .incbin "baserom.gba", 0x3513FC, 0x1C
+
+gMap_11_00:: @ 8351418
+ .incbin "baserom.gba", 0x351418, 0x1C
+
+gMap_11_01:: @ 8351434
+ .incbin "baserom.gba", 0x351434, 0x1C
+
+gMap_11_02:: @ 8351450
+ .incbin "baserom.gba", 0x351450, 0x1C
+
+gMap_11_03:: @ 835146C
+ .incbin "baserom.gba", 0x35146C, 0x1C
+
+gMap_11_04:: @ 8351488
+ .incbin "baserom.gba", 0x351488, 0x1C
+
+gMap_11_05:: @ 83514A4
+ .incbin "baserom.gba", 0x3514A4, 0x1C
+
+gMap_11_06:: @ 83514C0
+ .incbin "baserom.gba", 0x3514C0, 0x1C
+
+gMap_11_07:: @ 83514DC
+ .incbin "baserom.gba", 0x3514DC, 0x1C
+
+gMap_11_08:: @ 83514F8
+ .incbin "baserom.gba", 0x3514F8, 0x1C
+
+gMap_11_09:: @ 8351514
+ .incbin "baserom.gba", 0x351514, 0x1C
+
+gMap_12_00:: @ 8351530
+ .incbin "baserom.gba", 0x351530, 0x1C
+
+gMap_12_01:: @ 835154C
+ .incbin "baserom.gba", 0x35154C, 0x1C
+
+gMap_12_02:: @ 8351568
+ .incbin "baserom.gba", 0x351568, 0x1C
+
+gMap_12_03:: @ 8351584
+ .incbin "baserom.gba", 0x351584, 0x1C
+
+gMap_12_04:: @ 83515A0
+ .incbin "baserom.gba", 0x3515A0, 0x1C
+
+gMap_12_05:: @ 83515BC
+ .incbin "baserom.gba", 0x3515BC, 0x1C
+
+gMap_12_06:: @ 83515D8
+ .incbin "baserom.gba", 0x3515D8, 0x1C
+
+gMap_12_07:: @ 83515F4
+ .incbin "baserom.gba", 0x3515F4, 0x1C
+
+gMap_13_00:: @ 8351610
+ .incbin "baserom.gba", 0x351610, 0x1C
+
+gMap_13_01:: @ 835162C
+ .incbin "baserom.gba", 0x35162C, 0x1C
+
+gMap_14_00:: @ 8351648
+ .incbin "baserom.gba", 0x351648, 0x1C
+
+gMap_14_01:: @ 8351664
+ .incbin "baserom.gba", 0x351664, 0x1C
+
+gMap_14_02:: @ 8351680
+ .incbin "baserom.gba", 0x351680, 0x1C
+
+gMap_14_03:: @ 835169C
+ .incbin "baserom.gba", 0x35169C, 0x1C
+
+gMap_14_04:: @ 83516B8
+ .incbin "baserom.gba", 0x3516B8, 0x1C
+
+gMap_14_05:: @ 83516D4
+ .incbin "baserom.gba", 0x3516D4, 0x1C
+
+gMap_14_06:: @ 83516F0
+ .incbin "baserom.gba", 0x3516F0, 0x1C
+
+gMap_14_07:: @ 835170C
+ .incbin "baserom.gba", 0x35170C, 0x1C
+
+gMap_14_08:: @ 8351728
+ .incbin "baserom.gba", 0x351728, 0x1C
+
+gMap_14_09:: @ 8351744
+ .incbin "baserom.gba", 0x351744, 0x1C
+
+gMap_15_00:: @ 8351760
+ .incbin "baserom.gba", 0x351760, 0x1C
+
+gMap_15_01:: @ 835177C
+ .incbin "baserom.gba", 0x35177C, 0x1C
+
+gMap_15_02:: @ 8351798
+ .incbin "baserom.gba", 0x351798, 0x1C
+
+gMap_15_03:: @ 83517B4
+ .incbin "baserom.gba", 0x3517B4, 0x1C
+
+gMap_16_00:: @ 83517D0
+ .incbin "baserom.gba", 0x3517D0, 0x1C
+
+gMap_16_01:: @ 83517EC
+ .incbin "baserom.gba", 0x3517EC, 0x1C
+
+gMap_17_00:: @ 8351808
+ .incbin "baserom.gba", 0x351808, 0x1C
+
+gMap_17_01:: @ 8351824
+ .incbin "baserom.gba", 0x351824, 0x1C
+
+gMap_18_00:: @ 8351840
+ .incbin "baserom.gba", 0x351840, 0x1C
+
+gMap_18_01:: @ 835185C
+ .incbin "baserom.gba", 0x35185C, 0x1C
+
+gMap_19_00:: @ 8351878
+ .incbin "baserom.gba", 0x351878, 0x1C
+
+gMap_20_00:: @ 8351894
+ .incbin "baserom.gba", 0x351894, 0x1C
+
+gMap_21_00:: @ 83518B0
+ .incbin "baserom.gba", 0x3518B0, 0x1C
+
+gMap_21_01:: @ 83518CC
+ .incbin "baserom.gba", 0x3518CC, 0x1C
+
+gMap_22_00:: @ 83518E8
+ .incbin "baserom.gba", 0x3518E8, 0x1C
+
+gMap_22_01:: @ 8351904
+ .incbin "baserom.gba", 0x351904, 0x1C
+
+gMap_23_00:: @ 8351920
+ .incbin "baserom.gba", 0x351920, 0x1C
+
+gMap_23_01:: @ 835193C
+ .incbin "baserom.gba", 0x35193C, 0x1C
+
+gMap_23_02:: @ 8351958
+ .incbin "baserom.gba", 0x351958, 0x1C
+
+gMap_24_00:: @ 8351974
+ .incbin "baserom.gba", 0x351974, 0x1C
+
+gMap_24_01:: @ 8351990
+ .incbin "baserom.gba", 0x351990, 0x1C
+
+gMap_25_00:: @ 83519AC
+ .incbin "baserom.gba", 0x3519AC, 0x1C
+
+gMap_25_01:: @ 83519C8
+ .incbin "baserom.gba", 0x3519C8, 0x1C
+
+gMap_25_02:: @ 83519E4
+ .incbin "baserom.gba", 0x3519E4, 0x1C
+
+gMap_26_00:: @ 8351A00
+ .incbin "baserom.gba", 0x351A00, 0x1C
+
+gMap_26_01:: @ 8351A1C
+ .incbin "baserom.gba", 0x351A1C, 0x1C
+
+gMap_27_00:: @ 8351A38
+ .incbin "baserom.gba", 0x351A38, 0x1C
+
+gMap_28_00:: @ 8351A54
+ .incbin "baserom.gba", 0x351A54, 0x1C
+
+gMap_29_00:: @ 8351A70
+ .incbin "baserom.gba", 0x351A70, 0x1C
+
+gMap_30_00:: @ 8351A8C
+ .incbin "baserom.gba", 0x351A8C, 0x1C
+
+gMap_31_00:: @ 8351AA8
+ .incbin "baserom.gba", 0x351AA8, 0x1C
+
+gMap_31_01:: @ 8351AC4
+ .incbin "baserom.gba", 0x351AC4, 0x1C
+
+gMap_31_02:: @ 8351AE0
+ .incbin "baserom.gba", 0x351AE0, 0x1C
+
+gMap_31_03:: @ 8351AFC
+ .incbin "baserom.gba", 0x351AFC, 0x1C
+
+gMap_31_04:: @ 8351B18
+ .incbin "baserom.gba", 0x351B18, 0x1C
+
+gMap_31_05:: @ 8351B34
+ .incbin "baserom.gba", 0x351B34, 0x1C
+
+gMap_31_06:: @ 8351B50
+ .incbin "baserom.gba", 0x351B50, 0x1C
+
+gMap_32_00:: @ 8351B6C
+ .incbin "baserom.gba", 0x351B6C, 0x1C
+
+gMap_32_01:: @ 8351B88
+ .incbin "baserom.gba", 0x351B88, 0x1C
+
+gMap_32_02:: @ 8351BA4
+ .incbin "baserom.gba", 0x351BA4, 0x1C
+
+gMap_32_03:: @ 8351BC0
+ .incbin "baserom.gba", 0x351BC0, 0x1C
+
+gMap_32_04:: @ 8351BDC
+ .incbin "baserom.gba", 0x351BDC, 0x1C
+
+gMap_33_00:: @ 8351BF8
+ .incbin "baserom.gba", 0x351BF8, 0x1C
+
+gMap_33_01:: @ 8351C14
+ .incbin "baserom.gba", 0x351C14, 0x1C
+
+gMap_33_02:: @ 8351C30
+ .incbin "baserom.gba", 0x351C30, 0x1C
+
+gMap_33_03:: @ 8351C4C
+ .incbin "baserom.gba", 0x351C4C, 0x1C
+
+gMap_33_04:: @ 8351C68
+ .incbin "baserom.gba", 0x351C68, 0x1C
+
+gMap_34_00:: @ 8351C84
+ .incbin "baserom.gba", 0x351C84, 0x1C
+
+gMap_34_01:: @ 8351CA0
+ .incbin "baserom.gba", 0x351CA0, 0x1C
+
+gMap_34_02:: @ 8351CBC
+ .incbin "baserom.gba", 0x351CBC, 0x1C
+
+gMap_34_03:: @ 8351CD8
+ .incbin "baserom.gba", 0x351CD8, 0x1C
+
+gMap_34_04:: @ 8351CF4
+ .incbin "baserom.gba", 0x351CF4, 0x1C
+
+gMap_34_05:: @ 8351D10
+ .incbin "baserom.gba", 0x351D10, 0x1C
+
+gMap_34_06:: @ 8351D2C
+ .incbin "baserom.gba", 0x351D2C, 0x1C
+
+gMap_34_07:: @ 8351D48
+ .incbin "baserom.gba", 0x351D48, 0x1C
+
+gMap_35_00:: @ 8351D64
+ .incbin "baserom.gba", 0x351D64, 0x1C
+
+gMap_35_01:: @ 8351D80
+ .incbin "baserom.gba", 0x351D80, 0x1C
+
+gMap_35_02:: @ 8351D9C
+ .incbin "baserom.gba", 0x351D9C, 0x1C
+
+gMap_35_03:: @ 8351DB8
+ .incbin "baserom.gba", 0x351DB8, 0x1C
+
+gMap_35_04:: @ 8351DD4
+ .incbin "baserom.gba", 0x351DD4, 0x1C
+
+gMap_35_05:: @ 8351DF0
+ .incbin "baserom.gba", 0x351DF0, 0x1C
+
+gMap_35_06:: @ 8351E0C
+ .incbin "baserom.gba", 0x351E0C, 0x1C
+
+gMap_35_07:: @ 8351E28
+ .incbin "baserom.gba", 0x351E28, 0x1C
+
+gMap_36_00:: @ 8351E44
+ .incbin "baserom.gba", 0x351E44, 0x1C
+
+gMap_36_01:: @ 8351E60
+ .incbin "baserom.gba", 0x351E60, 0x1C
+
+gMap_36_02:: @ 8351E7C
+ .incbin "baserom.gba", 0x351E7C, 0x1C
+
+gMap_36_03:: @ 8351E98
+ .incbin "baserom.gba", 0x351E98, 0x1C
+
+gMap_36_04:: @ 8351EB4
+ .incbin "baserom.gba", 0x351EB4, 0x1C
+
+gMap_37_00:: @ 8351ED0
+ .incbin "baserom.gba", 0x351ED0, 0x1C
+
+gMap_37_01:: @ 8351EEC
+ .incbin "baserom.gba", 0x351EEC, 0x1C
+
+gMap_37_02:: @ 8351F08
+ .incbin "baserom.gba", 0x351F08, 0x1C
+
+gMap_37_03:: @ 8351F24
+ .incbin "baserom.gba", 0x351F24, 0x1C
+
+gMap_37_04:: @ 8351F40
+ .incbin "baserom.gba", 0x351F40, 0x1C
+
+gMap_38_00:: @ 8351F5C
+ .incbin "baserom.gba", 0x351F5C, 0x1C
+
+gMap_39_00:: @ 8351F78
+ .incbin "baserom.gba", 0x351F78, 0x1C
+
+gMap_40_00:: @ 8351F94
+ .incbin "baserom.gba", 0x351F94, 0x1C
+
+gMap_41_00:: @ 8351FB0
+ .incbin "baserom.gba", 0x351FB0, 0x1C
+
+gMap_41_01:: @ 8351FCC
+ .incbin "baserom.gba", 0x351FCC, 0x1C
+
+gMap_42_00:: @ 8351FE8
+ .incbin "baserom.gba", 0x351FE8, 0x1C
+
+gMapGroup_00:: @ 8352004
+ .4byte gMap_00_00
+ .4byte gMap_00_01
+ .4byte gMap_00_02
+ .4byte gMap_00_03
+ .4byte gMap_00_04
+
+gMapGroup_01:: @ 8352018
+ .4byte gMap_01_00
+ .4byte gMap_01_01
+ .4byte gMap_01_02
+ .4byte gMap_01_03
+ .4byte gMap_01_04
+ .4byte gMap_01_05
+ .4byte gMap_01_06
+ .4byte gMap_01_07
+ .4byte gMap_01_08
+ .4byte gMap_01_09
+ .4byte gMap_01_10
+ .4byte gMap_01_11
+ .4byte gMap_01_12
+ .4byte gMap_01_13
+ .4byte gMap_01_14
+ .4byte gMap_01_15
+ .4byte gMap_01_16
+ .4byte gMap_01_17
+ .4byte gMap_01_18
+ .4byte gMap_01_19
+ .4byte gMap_01_20
+ .4byte gMap_01_21
+ .4byte gMap_01_22
+ .4byte gMap_01_23
+ .4byte gMap_01_24
+ .4byte gMap_01_25
+ .4byte gMap_01_26
+ .4byte gMap_01_27
+ .4byte gMap_01_28
+ .4byte gMap_01_29
+ .4byte gMap_01_30
+ .4byte gMap_01_31
+ .4byte gMap_01_32
+ .4byte gMap_01_33
+ .4byte gMap_01_34
+ .4byte gMap_01_35
+ .4byte gMap_01_36
+ .4byte gMap_01_37
+ .4byte gMap_01_38
+ .4byte gMap_01_39
+ .4byte gMap_01_40
+ .4byte gMap_01_41
+ .4byte gMap_01_42
+ .4byte gMap_01_43
+ .4byte gMap_01_44
+ .4byte gMap_01_45
+ .4byte gMap_01_46
+ .4byte gMap_01_47
+ .4byte gMap_01_48
+ .4byte gMap_01_49
+ .4byte gMap_01_50
+ .4byte gMap_01_51
+ .4byte gMap_01_52
+ .4byte gMap_01_53
+ .4byte gMap_01_54
+ .4byte gMap_01_55
+ .4byte gMap_01_56
+ .4byte gMap_01_57
+ .4byte gMap_01_58
+ .4byte gMap_01_59
+ .4byte gMap_01_60
+ .4byte gMap_01_61
+ .4byte gMap_01_62
+ .4byte gMap_01_63
+ .4byte gMap_01_64
+ .4byte gMap_01_65
+ .4byte gMap_01_66
+ .4byte gMap_01_67
+ .4byte gMap_01_68
+ .4byte gMap_01_69
+ .4byte gMap_01_70
+ .4byte gMap_01_71
+ .4byte gMap_01_72
+ .4byte gMap_01_73
+ .4byte gMap_01_74
+ .4byte gMap_01_75
+ .4byte gMap_01_76
+ .4byte gMap_01_77
+ .4byte gMap_01_78
+ .4byte gMap_01_79
+ .4byte gMap_01_80
+ .4byte gMap_01_81
+ .4byte gMap_01_82
+ .4byte gMap_01_83
+ .4byte gMap_01_84
+ .4byte gMap_01_85
+ .4byte gMap_01_86
+ .4byte gMap_01_87
+ .4byte gMap_01_88
+ .4byte gMap_01_89
+ .4byte gMap_01_90
+ .4byte gMap_01_91
+ .4byte gMap_01_92
+ .4byte gMap_01_93
+ .4byte gMap_01_94
+ .4byte gMap_01_95
+ .4byte gMap_01_96
+ .4byte gMap_01_97
+ .4byte gMap_01_98
+ .4byte gMap_01_99
+ .4byte gMap_01_100
+ .4byte gMap_01_101
+ .4byte gMap_01_102
+ .4byte gMap_01_103
+ .4byte gMap_01_104
+ .4byte gMap_01_105
+ .4byte gMap_01_106
+ .4byte gMap_01_107
+ .4byte gMap_01_108
+ .4byte gMap_01_109
+ .4byte gMap_01_110
+ .4byte gMap_01_111
+ .4byte gMap_01_112
+ .4byte gMap_01_113
+ .4byte gMap_01_114
+ .4byte gMap_01_115
+ .4byte gMap_01_116
+ .4byte gMap_01_117
+ .4byte gMap_01_118
+ .4byte gMap_01_119
+ .4byte gMap_01_120
+ .4byte gMap_01_121
+ .4byte gMap_01_122
+
+gMapGroup_02:: @ 8352204
+ .4byte gMap_02_00
+ .4byte gMap_02_01
+ .4byte gMap_02_02
+ .4byte gMap_02_03
+ .4byte gMap_02_04
+ .4byte gMap_02_05
+ .4byte gMap_02_06
+ .4byte gMap_02_07
+ .4byte gMap_02_08
+ .4byte gMap_02_09
+ .4byte gMap_02_10
+ .4byte gMap_02_11
+ .4byte gMap_02_12
+ .4byte gMap_02_13
+ .4byte gMap_02_14
+ .4byte gMap_02_15
+ .4byte gMap_02_16
+ .4byte gMap_02_17
+ .4byte gMap_02_18
+ .4byte gMap_02_19
+ .4byte gMap_02_20
+ .4byte gMap_02_21
+ .4byte gMap_02_22
+ .4byte gMap_02_23
+ .4byte gMap_02_24
+ .4byte gMap_02_25
+ .4byte gMap_02_26
+ .4byte gMap_02_27
+ .4byte gMap_02_28
+ .4byte gMap_02_29
+ .4byte gMap_02_30
+ .4byte gMap_02_31
+ .4byte gMap_02_32
+ .4byte gMap_02_33
+ .4byte gMap_02_34
+ .4byte gMap_02_35
+ .4byte gMap_02_36
+ .4byte gMap_02_37
+ .4byte gMap_02_38
+ .4byte gMap_02_39
+ .4byte gMap_02_40
+ .4byte gMap_02_41
+ .4byte gMap_02_42
+ .4byte gMap_02_43
+ .4byte gMap_02_44
+ .4byte gMap_02_45
+ .4byte gMap_02_46
+ .4byte gMap_02_47
+ .4byte gMap_02_48
+ .4byte gMap_02_49
+ .4byte gMap_02_50
+ .4byte gMap_02_51
+ .4byte gMap_02_52
+ .4byte gMap_02_53
+ .4byte gMap_02_54
+ .4byte gMap_02_55
+ .4byte gMap_02_56
+ .4byte gMap_02_57
+ .4byte gMap_02_58
+ .4byte gMap_02_59
+
+gMapGroup_03:: @ 83522F4
+ .4byte gMap_03_00
+ .4byte gMap_03_01
+ .4byte gMap_03_02
+ .4byte gMap_03_03
+ .4byte gMap_03_04
+ .4byte gMap_03_05
+ .4byte gMap_03_06
+ .4byte gMap_03_07
+ .4byte gMap_03_08
+ .4byte gMap_03_09
+ .4byte gMap_03_10
+ .4byte gMap_03_11
+ .4byte gMap_03_12
+ .4byte gMap_03_13
+ .4byte gMap_03_14
+ .4byte gMap_03_15
+ .4byte gMap_03_16
+ .4byte gMap_03_17
+ .4byte gMap_03_18
+ .4byte gMap_03_19
+ .4byte gMap_03_20
+ .4byte gMap_03_21
+ .4byte gMap_03_22
+ .4byte gMap_03_23
+ .4byte gMap_03_24
+ .4byte gMap_03_25
+ .4byte gMap_03_26
+ .4byte gMap_03_27
+ .4byte gMap_03_28
+ .4byte gMap_03_29
+ .4byte gMap_03_30
+ .4byte gMap_03_31
+ .4byte gMap_03_32
+ .4byte gMap_03_33
+ .4byte gMap_03_34
+ .4byte gMap_03_35
+ .4byte gMap_03_36
+ .4byte gMap_03_37
+ .4byte gMap_03_38
+ .4byte gMap_03_39
+ .4byte gMap_03_40
+ .4byte gMap_03_41
+ .4byte gMap_03_42
+ .4byte gMap_03_43
+ .4byte gMap_03_44
+ .4byte gMap_03_45
+ .4byte gMap_03_46
+ .4byte gMap_03_47
+ .4byte gMap_03_48
+ .4byte gMap_03_49
+ .4byte gMap_03_50
+ .4byte gMap_03_51
+ .4byte gMap_03_52
+ .4byte gMap_03_53
+ .4byte gMap_03_54
+ .4byte gMap_03_55
+ .4byte gMap_03_56
+ .4byte gMap_03_57
+ .4byte gMap_03_58
+ .4byte gMap_03_59
+ .4byte gMap_03_60
+ .4byte gMap_03_61
+ .4byte gMap_03_62
+ .4byte gMap_03_63
+ .4byte gMap_03_64
+ .4byte gMap_03_65
+
+gMapGroup_04:: @ 83523FC
+ .4byte gMap_04_00
+ .4byte gMap_04_01
+ .4byte gMap_04_02
+ .4byte gMap_04_03
+
+gMapGroup_05:: @ 835240C
+ .4byte gMap_05_00
+ .4byte gMap_05_01
+ .4byte gMap_05_02
+ .4byte gMap_05_03
+ .4byte gMap_05_04
+ .4byte gMap_05_05
+
+gMapGroup_06:: @ 8352424
+ .4byte gMap_06_00
+ .4byte gMap_06_01
+ .4byte gMap_06_02
+ .4byte gMap_06_03
+ .4byte gMap_06_04
+ .4byte gMap_06_05
+ .4byte gMap_06_06
+ .4byte gMap_06_07
+
+gMapGroup_07:: @ 8352444
+ .4byte gMap_07_00
+ .4byte gMap_07_01
+ .4byte gMap_07_02
+ .4byte gMap_07_03
+ .4byte gMap_07_04
+ .4byte gMap_07_05
+ .4byte gMap_07_06
+ .4byte gMap_07_07
+ .4byte gMap_07_08
+ .4byte gMap_07_09
+
+gMapGroup_08:: @ 835246C
+ .4byte gMap_08_00
+ .4byte gMap_08_01
+ .4byte gMap_08_02
+ .4byte gMap_08_03
+ .4byte gMap_08_04
+ .4byte gMap_08_05
+
+gMapGroup_09:: @ 8352484
+ .4byte gMap_09_00
+ .4byte gMap_09_01
+ .4byte gMap_09_02
+ .4byte gMap_09_03
+ .4byte gMap_09_04
+ .4byte gMap_09_05
+ .4byte gMap_09_06
+ .4byte gMap_09_07
+
+gMapGroup_10:: @ 83524A4
+ .4byte gMap_10_00
+ .4byte gMap_10_01
+ .4byte gMap_10_02
+ .4byte gMap_10_03
+ .4byte gMap_10_04
+ .4byte gMap_10_05
+ .4byte gMap_10_06
+ .4byte gMap_10_07
+ .4byte gMap_10_08
+ .4byte gMap_10_09
+ .4byte gMap_10_10
+ .4byte gMap_10_11
+ .4byte gMap_10_12
+ .4byte gMap_10_13
+ .4byte gMap_10_14
+ .4byte gMap_10_15
+ .4byte gMap_10_16
+ .4byte gMap_10_17
+ .4byte gMap_10_18
+ .4byte gMap_10_19
+
+gMapGroup_11:: @ 83524F4
+ .4byte gMap_11_00
+ .4byte gMap_11_01
+ .4byte gMap_11_02
+ .4byte gMap_11_03
+ .4byte gMap_11_04
+ .4byte gMap_11_05
+ .4byte gMap_11_06
+ .4byte gMap_11_07
+ .4byte gMap_11_08
+ .4byte gMap_11_09
+
+gMapGroup_12:: @ 835251C
+ .4byte gMap_12_00
+ .4byte gMap_12_01
+ .4byte gMap_12_02
+ .4byte gMap_12_03
+ .4byte gMap_12_04
+ .4byte gMap_12_05
+ .4byte gMap_12_06
+ .4byte gMap_12_07
+
+gMapGroup_13:: @ 835253C
+ .4byte gMap_13_00
+ .4byte gMap_13_01
+
+gMapGroup_14:: @ 8352544
+ .4byte gMap_14_00
+ .4byte gMap_14_01
+ .4byte gMap_14_02
+ .4byte gMap_14_03
+ .4byte gMap_14_04
+ .4byte gMap_14_05
+ .4byte gMap_14_06
+ .4byte gMap_14_07
+ .4byte gMap_14_08
+ .4byte gMap_14_09
+
+gMapGroup_15:: @ 835256C
+ .4byte gMap_15_00
+ .4byte gMap_15_01
+ .4byte gMap_15_02
+ .4byte gMap_15_03
+
+gMapGroup_16:: @ 835257C
+ .4byte gMap_16_00
+ .4byte gMap_16_01
+
+gMapGroup_17:: @ 8352584
+ .4byte gMap_17_00
+ .4byte gMap_17_01
+
+gMapGroup_18:: @ 835258C
+ .4byte gMap_18_00
+ .4byte gMap_18_01
+
+gMapGroup_19:: @ 8352594
+ .4byte gMap_19_00
+
+gMapGroup_20:: @ 8352598
+ .4byte gMap_20_00
+
+gMapGroup_21:: @ 835259C
+ .4byte gMap_21_00
+ .4byte gMap_21_01
+
+gMapGroup_22:: @ 83525A4
+ .4byte gMap_22_00
+ .4byte gMap_22_01
+
+gMapGroup_23:: @ 83525AC
+ .4byte gMap_23_00
+ .4byte gMap_23_01
+ .4byte gMap_23_02
+
+gMapGroup_24:: @ 83525B8
+ .4byte gMap_24_00
+ .4byte gMap_24_01
+
+gMapGroup_25:: @ 83525C0
+ .4byte gMap_25_00
+ .4byte gMap_25_01
+ .4byte gMap_25_02
+
+gMapGroup_26:: @ 83525CC
+ .4byte gMap_26_00
+ .4byte gMap_26_01
+
+gMapGroup_27:: @ 83525D4
+ .4byte gMap_27_00
+
+gMapGroup_28:: @ 83525D8
+ .4byte gMap_28_00
+
+gMapGroup_29:: @ 83525DC
+ .4byte gMap_29_00
+
+gMapGroup_30:: @ 83525E0
+ .4byte gMap_30_00
+
+gMapGroup_31:: @ 83525E4
+ .4byte gMap_31_00
+ .4byte gMap_31_01
+ .4byte gMap_31_02
+ .4byte gMap_31_03
+ .4byte gMap_31_04
+ .4byte gMap_31_05
+ .4byte gMap_31_06
+
+gMapGroup_32:: @ 8352600
+ .4byte gMap_32_00
+ .4byte gMap_32_01
+ .4byte gMap_32_02
+ .4byte gMap_32_03
+ .4byte gMap_32_04
+
+gMapGroup_33:: @ 8352614
+ .4byte gMap_33_00
+ .4byte gMap_33_01
+ .4byte gMap_33_02
+ .4byte gMap_33_03
+ .4byte gMap_33_04
+
+gMapGroup_34:: @ 8352628
+ .4byte gMap_34_00
+ .4byte gMap_34_01
+ .4byte gMap_34_02
+ .4byte gMap_34_03
+ .4byte gMap_34_04
+ .4byte gMap_34_05
+ .4byte gMap_34_06
+ .4byte gMap_34_07
+
+gMapGroup_35:: @ 8352648
+ .4byte gMap_35_00
+ .4byte gMap_35_01
+ .4byte gMap_35_02
+ .4byte gMap_35_03
+ .4byte gMap_35_04
+ .4byte gMap_35_05
+ .4byte gMap_35_06
+ .4byte gMap_35_07
+
+gMapGroup_36:: @ 8352668
+ .4byte gMap_36_00
+ .4byte gMap_36_01
+ .4byte gMap_36_02
+ .4byte gMap_36_03
+ .4byte gMap_36_04
+
+gMapGroup_37:: @ 835267C
+ .4byte gMap_37_00
+ .4byte gMap_37_01
+ .4byte gMap_37_02
+ .4byte gMap_37_03
+ .4byte gMap_37_04
+
+gMapGroup_38:: @ 8352690
+ .4byte gMap_38_00
+
+gMapGroup_39:: @ 8352694
+ .4byte gMap_39_00
+
+gMapGroup_40:: @ 8352698
+ .4byte gMap_40_00
+
+gMapGroup_41:: @ 835269C
+ .4byte gMap_41_00
+ .4byte gMap_41_01
+
+gMapGroup_42:: @ 83526A4
+ .4byte gMap_42_00
+
+gMapGroups:: @ 0x83526A8
+ .4byte gMapGroup_00
+ .4byte gMapGroup_01
+ .4byte gMapGroup_02
+ .4byte gMapGroup_03
+ .4byte gMapGroup_04
+ .4byte gMapGroup_05
+ .4byte gMapGroup_06
+ .4byte gMapGroup_07
+ .4byte gMapGroup_08
+ .4byte gMapGroup_09
+ .4byte gMapGroup_10
+ .4byte gMapGroup_11
+ .4byte gMapGroup_12
+ .4byte gMapGroup_13
+ .4byte gMapGroup_14
+ .4byte gMapGroup_15
+ .4byte gMapGroup_16
+ .4byte gMapGroup_17
+ .4byte gMapGroup_18
+ .4byte gMapGroup_19
+ .4byte gMapGroup_20
+ .4byte gMapGroup_21
+ .4byte gMapGroup_22
+ .4byte gMapGroup_23
+ .4byte gMapGroup_24
+ .4byte gMapGroup_25
+ .4byte gMapGroup_26
+ .4byte gMapGroup_27
+ .4byte gMapGroup_28
+ .4byte gMapGroup_29
+ .4byte gMapGroup_30
+ .4byte gMapGroup_31
+ .4byte gMapGroup_32
+ .4byte gMapGroup_33
+ .4byte gMapGroup_34
+ .4byte gMapGroup_35
+ .4byte gMapGroup_36
+ .4byte gMapGroup_37
+ .4byte gMapGroup_38
+ .4byte gMapGroup_39
+ .4byte gMapGroup_40
+ .4byte gMapGroup_41
+ .4byte gMapGroup_42
diff --git a/data/script_cmd_table.inc b/data/script_cmd_table.inc
index 29850d685..8d92c94f5 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,7 +94,7 @@ gScriptCmdTable:: @ 815F9B4
.4byte ScrCmd_faceplayer
.4byte ScrCmd_turnobject
.4byte ScrCmd_trainerbattle
- .4byte sub_806C2D8
+ .4byte ScrCmd_dotrainerbattle
.4byte ScrCmd_ontrainerbattleend
.4byte ScrCmd_ontrainerbattleendgoto
.4byte ScrCmd_checktrainerflag
@@ -103,25 +103,25 @@ gScriptCmdTable:: @ 815F9B4
.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_waitdoranim
.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_getstringwidth
+ .4byte ScrCmd_cmdDA
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/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_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/item.h b/include/item.h
index bc1a49766..581693735 100644
--- a/include/item.h
+++ b/include/item.h
@@ -63,6 +63,7 @@ u16 itemid_get_market_price(u16 itemId);
void sub_809A2DC(void);
void sub_809A2A4(void);
void sub_8099E90(u16, u8 *);
-bool8 sub_809A084(u16 itemId, u16 amount);
+void sub_809A824(u16 itemId);
+bool8 AddBagItem(u16 itemId, u16 amount);
#endif // ITEM_H
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/overworld.h b/include/overworld.h
index 5e2e4c11c..53914b627 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,6 +84,10 @@ 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);
diff --git a/include/quest_log.h b/include/quest_log.h
index 9f8a0ea21..73c0b5dac 100644
--- a/include/quest_log.h
+++ b/include/quest_log.h
@@ -21,5 +21,8 @@ extern struct UnkStruct_203AE98 * gUnknown_3005E94;
void sub_8112720(u8);
void sub_8113550(u16, const u16 *);
+void sub_8115748(u16);
+
+extern u8 gUnknown_203ADFA;
#endif //GUARD_QUEST_LOG_H
diff --git a/include/script.h b/include/script.h
index ebb4caa86..acd88adf3 100644
--- a/include/script.h
+++ b/include/script.h
@@ -66,4 +66,6 @@ bool32 sub_8069DFC(void);
void sub_8069EA4(u8 * script, u16 scriptSize);
u8 * sub_8069E48(void);
+extern const u8 *gRAMScriptPtr;
+
#endif // GUARD_SCRIPT_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/ld_script.txt b/ld_script.txt
index 8d188156b..cdec8f7c6 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -103,6 +103,7 @@ SECTIONS {
asm/map_obj_lock.o(.text);
asm/text_window_graphics.o(.text);
src/script.o(.text);
+ src/scrcmd.o(.text);
asm/scrcmd.o(.text);
asm/field_control_avatar.o(.text);
asm/event_data.o(.text);
@@ -370,6 +371,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/scrcmd.c b/src/scrcmd.c
new file mode 100644
index 000000000..4cd0fdad2
--- /dev/null
+++ b/src/scrcmd.c
@@ -0,0 +1,1254 @@
+#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"
+
+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 gUnknown_20370B6 = 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 * const sScriptStringVars[] =
+{
+ gStringVar1,
+ gStringVar2,
+ gStringVar3,
+};
+
+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;
+}
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 b196c49f7..c968f24c3 100644
--- a/src/trainer_tower.c
+++ b/src/trainer_tower.c
@@ -440,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();
}
}
@@ -819,7 +819,7 @@ 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 (sub_809A084(itemId, 1) == 1)
+ else if (AddBagItem(itemId, 1) == 1)
{
sub_8099E90(itemId, gStringVar2);
gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_0 = TRUE;
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