diff options
author | scnorton <scnorton@biociphers.org> | 2019-01-06 13:06:56 -0500 |
---|---|---|
committer | scnorton <scnorton@biociphers.org> | 2019-01-06 13:06:56 -0500 |
commit | 96e1b19dc1ea9dbf686fd26743d79c68d12e0f24 (patch) | |
tree | 0b4685bff6be838bb6b61244aa39d516ac1df446 | |
parent | b16831e97bb8b94c29854a81e11647e8a5db68c6 (diff) |
through ScrCmd_release; propose names for remaining funcs
-rw-r--r-- | asm/battle_setup.s | 12 | ||||
-rw-r--r-- | asm/field_control_avatar.s | 8 | ||||
-rw-r--r-- | asm/field_map_obj.s | 6 | ||||
-rw-r--r-- | asm/field_specials.s | 8 | ||||
-rw-r--r-- | asm/link_rfu.s | 2 | ||||
-rw-r--r-- | asm/link_rfu_3.s | 2 | ||||
-rw-r--r-- | asm/map_obj_lock.s | 20 | ||||
-rw-r--r-- | asm/menu_helpers.s | 4 | ||||
-rw-r--r-- | asm/overworld.s | 16 | ||||
-rw-r--r-- | asm/pokemon_summary_screen.s | 4 | ||||
-rw-r--r-- | asm/scrcmd.s | 994 | ||||
-rw-r--r-- | asm/start_menu.s | 4 | ||||
-rw-r--r-- | data/data_835B488.s | 7 | ||||
-rw-r--r-- | data/data_83FECCC.s | 2 | ||||
-rw-r--r-- | data/script_cmd_table.inc | 88 | ||||
-rw-r--r-- | include/field_map_obj.h | 8 | ||||
-rw-r--r-- | include/field_map_obj_helpers.h | 2 | ||||
-rw-r--r-- | include/map_obj_lock.h | 4 | ||||
-rw-r--r-- | include/script_movement.h | 2 | ||||
-rw-r--r-- | src/scrcmd.c | 293 | ||||
-rw-r--r-- | src/vs_seeker.c | 4 | ||||
-rw-r--r-- | sym_common.txt | 2 |
22 files changed, 510 insertions, 982 deletions
diff --git a/asm/battle_setup.s b/asm/battle_setup.s index ca757da07..bba968305 100644 --- a/asm/battle_setup.s +++ b/asm/battle_setup.s @@ -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/field_control_avatar.s b/asm/field_control_avatar.s index 78f2a0777..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 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 0746df47a..0d0b2ba06 100644 --- a/asm/field_specials.s +++ b/asm/field_specials.s @@ -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/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 035c51d3f..01e93a41d 100644 --- a/asm/link_rfu_3.s +++ b/asm/link_rfu_3.s @@ -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 077c5f4ef..b7cb7a989 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -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 @@ -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 @@ -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/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 13659b838..36ccf0887 100644 --- a/asm/scrcmd.s +++ b/asm/scrcmd.s @@ -5,762 +5,8 @@ .text - 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 + thumb_func_start ScrCmd_cmdC7 +ScrCmd_cmdC7: @ 806B7EC ldr r2, _0806B804 @ =gUnknown_20370DC ldr r3, _0806B808 @ =gUnknown_20370DA ldrh r1, [r3] @@ -775,10 +21,10 @@ sub_806B7EC: @ 806B7EC .align 2, 0 _0806B804: .4byte gUnknown_20370DC _0806B808: .4byte gUnknown_20370DA - thumb_func_end sub_806B7EC + thumb_func_end ScrCmd_cmdC7 - 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 @@ -791,10 +37,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 @@ -812,19 +58,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 @@ -837,10 +83,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 @@ -849,16 +95,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 @@ -1085,8 +331,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 @@ -1117,7 +363,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 @@ -1222,11 +468,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 @@ -1272,23 +518,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 @@ -1314,10 +560,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 @@ -1334,19 +580,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 @@ -1374,10 +620,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 @@ -1398,7 +644,7 @@ _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 @@ -1545,8 +791,8 @@ ScrCmd_bufferitemname: @ 806BD5C _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] @@ -1619,10 +865,10 @@ _0806BE22: .align 2, 0 _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 @@ -1634,7 +880,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 @@ -2085,8 +1331,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] @@ -2123,19 +1369,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 @@ -2159,10 +1405,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] @@ -2190,7 +1436,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 @@ -2232,14 +1478,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 @@ -2339,18 +1585,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 @@ -2358,10 +1604,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 @@ -2369,10 +1615,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 @@ -2380,7 +1626,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 @@ -2401,44 +1647,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 @@ -2584,8 +1830,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 @@ -2594,7 +1840,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 @@ -2744,8 +1990,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 @@ -2754,7 +2000,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 @@ -2822,17 +2068,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 @@ -2912,23 +2158,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 @@ -2985,8 +2231,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 @@ -3019,6 +2265,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/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/data/data_835B488.s b/data/data_835B488.s index 6e387a536..523942112 100644 --- a/data/data_835B488.s +++ b/data/data_835B488.s @@ -660,10 +660,13 @@ gUnknown_83A7240:: @ 83A7240 .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/script_cmd_table.inc b/data/script_cmd_table.inc index 00bff489f..8d92c94f5 100644 --- a/data/script_cmd_table.inc +++ b/data/script_cmd_table.inc @@ -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 ScrCmd_warpD7 - .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 ScrCmd_nop 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/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/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/src/scrcmd.c b/src/scrcmd.c index 8b9551c64..ce1519b94 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -15,6 +15,11 @@ #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); @@ -24,11 +29,13 @@ 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 gUnknown_20370B0 = 0; -EWRAM_DATA u16 gUnknown_20370B2 = 0; -EWRAM_DATA u16 gUnknown_20370B4 = 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; @@ -247,7 +254,7 @@ SCRCMD_DEF(ScrCmd_setmysteryeventstatus) return FALSE; } -SCRCMD_DEF(sub_806A28C) +SCRCMD_DEF(ScrCmd_cmdCF) { const u8 * script = sub_8069E48(); if (script != NULL) @@ -562,7 +569,7 @@ SCRCMD_DEF(ScrCmd_incrementgamestat) return FALSE; } -SCRCMD_DEF(sub_806A888) +SCRCMD_DEF(ScrCmd_comparestattoword) { u8 statIdx = ScriptReadByte(ctx); u32 value = ScriptReadWord(ctx); @@ -577,7 +584,7 @@ SCRCMD_DEF(sub_806A888) return FALSE; } -SCRCMD_DEF(sub_806A8C0) +SCRCMD_DEF(ScrCmd_cmdD0) { u16 value = ScriptReadHalfword(ctx); sub_8115748(value); @@ -776,7 +783,7 @@ SCRCMD_DEF(ScrCmd_warpteleport) return TRUE; } -SCRCMD_DEF(ScrCmd_warpD7) +SCRCMD_DEF(ScrCmd_warpD1) { u8 mapGroup = ScriptReadByte(ctx); u8 mapNum = ScriptReadByte(ctx); @@ -966,3 +973,275 @@ SCRCMD_DEF(ScrCmd_fadeinbgm) FadeInBGM(4); return FALSE; } + +SCRCMD_DEF(ScrCmd_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(ScrCmd_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(ScrCmd_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(ScrCmd_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(ScrCmd_removeobject) +{ + u16 localId = VarGet(ScriptReadHalfword(ctx)); + + RemoveFieldObjectByLocalIdAndMap(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + return FALSE; +} + +SCRCMD_DEF(ScrCmd_removeobject_at) +{ + u16 objectId = VarGet(ScriptReadHalfword(ctx)); + u8 mapGroup = ScriptReadByte(ctx); + u8 mapNum = ScriptReadByte(ctx); + + RemoveFieldObjectByLocalIdAndMap(objectId, mapNum, mapGroup); + return FALSE; +} + +SCRCMD_DEF(ScrCmd_addobject) +{ + u16 objectId = VarGet(ScriptReadHalfword(ctx)); + + show_sprite(objectId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + return FALSE; +} + +SCRCMD_DEF(ScrCmd_addobject_at) +{ + u16 objectId = VarGet(ScriptReadHalfword(ctx)); + u8 mapGroup = ScriptReadByte(ctx); + u8 mapNum = ScriptReadByte(ctx); + + show_sprite(objectId, mapNum, mapGroup); + return FALSE; +} + +SCRCMD_DEF(ScrCmd_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(ScrCmd_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(ScrCmd_moveobjectoffscreen) +{ + u16 localId = VarGet(ScriptReadHalfword(ctx)); + + sub_805FE94(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + return FALSE; +} + +SCRCMD_DEF(ScrCmd_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(ScrCmd_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(ScrCmd_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(ScrCmd_resetobjectpriority) +{ + u16 localId = VarGet(ScriptReadHalfword(ctx)); + u8 mapGroup = ScriptReadByte(ctx); + u8 mapNum = ScriptReadByte(ctx); + + sub_805F400(localId, mapNum, mapGroup); + return FALSE; +} + +SCRCMD_DEF(ScrCmd_faceplayer) +{ + if (gMapObjects[gSelectedEventObject].active) + { + FieldObjectFaceOppositeDirection(&gMapObjects[gSelectedEventObject], + player_get_direction_lower_nybble()); + } + return FALSE; +} + +SCRCMD_DEF(ScrCmd_turnobject) +{ + u16 localId = VarGet(ScriptReadHalfword(ctx)); + u8 direction = ScriptReadByte(ctx); + + FieldObjectTurnByLocalIdAndMap(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, direction); + return FALSE; +} + +SCRCMD_DEF(ScrCmd_setobjectmovementtype) +{ + u16 localId = VarGet(ScriptReadHalfword(ctx)); + u8 movementType = ScriptReadByte(ctx); + + Overworld_SetMapObjTemplateMovementType(localId, movementType); + return FALSE; +} + +SCRCMD_DEF(ScrCmd_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(ScrCmd_turnvobject) +{ + u8 v1 = ScriptReadByte(ctx); + u8 direction = ScriptReadByte(ctx); + + sub_8069058(v1, direction); + return FALSE; +} + +SCRCMD_DEF(ScrCmd_lockall) +{ + if (is_c1_link_related_active()) + { + return FALSE; + } + else + { + ScriptFreezeMapObjects(); + SetupNativeScript(ctx, sub_8069590); + return TRUE; + } +} + +SCRCMD_DEF(ScrCmd_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(ScrCmd_releaseall) +{ + u8 playerObjectId; + + HideFieldMessageBox(); + playerObjectId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0); + FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[playerObjectId]); + sub_80974D8(); + UnfreezeMapObjects(); + return FALSE; +} + +SCRCMD_DEF(ScrCmd_release) +{ + u8 playerObjectId; + + HideFieldMessageBox(); + if (gMapObjects[gSelectedEventObject].active) + FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[gSelectedEventObject]); + playerObjectId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0); + FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[playerObjectId]); + sub_80974D8(); + UnfreezeMapObjects(); + return FALSE; +} 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 |