diff options
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 |