diff options
author | PikalaxALT <PikalaxALT@users.noreply.github.com> | 2019-10-03 20:57:28 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-03 20:57:28 -0400 |
commit | 0cf4c9f25c2fe165c53a0c24f93a31a27ea42d6a (patch) | |
tree | b88f7cf114f3f0c79ba6816255f27cda21f335d7 /asm | |
parent | d9ab841b0d72a52676131846447de26e59e7a16d (diff) | |
parent | aa0ac46b7145951f1d6f65e7af005a3fe561ff63 (diff) |
Merge pull request #108 from PikalaxALT/itemfinder
Itemfinder
Diffstat (limited to 'asm')
-rw-r--r-- | asm/field_control_avatar.s | 12 | ||||
-rw-r--r-- | asm/field_specials.s | 19 | ||||
-rw-r--r-- | asm/itemfinder.s | 1347 |
3 files changed, 16 insertions, 1362 deletions
diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s index 2eee6da2f..c1825ba58 100644 --- a/asm/field_control_avatar.s +++ b/asm/field_control_avatar.s @@ -1152,24 +1152,24 @@ _0806D174: _0806D17A: ldr r0, [r5, 0x8] movs r1, 0x3 - bl sub_80CC44C + bl GetHiddenItemAttr lsls r0, 16 lsrs r0, 16 cmp r0, 0x1 beq _0806D164 ldr r0, [r5, 0x8] movs r1, 0 - bl sub_80CC44C + bl GetHiddenItemAttr ldr r1, _0806D1C4 @ =gSpecialVar_0x8005 strh r0, [r1] ldr r0, [r5, 0x8] movs r1, 0x1 - bl sub_80CC44C + bl GetHiddenItemAttr ldr r4, _0806D1C8 @ =gSpecialVar_0x8004 strh r0, [r4] ldr r0, [r5, 0x8] movs r1, 0x2 - bl sub_80CC44C + bl GetHiddenItemAttr ldr r1, _0806D1CC @ =gSpecialVar_0x8006 strh r0, [r1] ldrh r0, [r4] @@ -1180,14 +1180,14 @@ _0806D17A: beq _0806D164 ldr r0, _0806D1D0 @ =gSpecialVar_Facing strh r6, [r0] - ldr r0, _0806D1D4 @ =gUnknown_81A6843 + ldr r0, _0806D1D4 @ =EventScript_PickUpHiddenItem b _0806D1E6 .align 2, 0 _0806D1C4: .4byte gSpecialVar_0x8005 _0806D1C8: .4byte gSpecialVar_0x8004 _0806D1CC: .4byte gSpecialVar_0x8006 _0806D1D0: .4byte gSpecialVar_Facing -_0806D1D4: .4byte gUnknown_81A6843 +_0806D1D4: .4byte EventScript_PickUpHiddenItem _0806D1D8: cmp r2, 0xFF beq _0806D1E0 diff --git a/asm/field_specials.s b/asm/field_specials.s index 4c37e0638..8d91064e8 100644 --- a/asm/field_specials.s +++ b/asm/field_specials.s @@ -185,8 +185,8 @@ sub_80CA74C: @ 80CA74C _080CA754: .4byte gBattleOutcome thumb_func_end sub_80CA74C - thumb_func_start sub_80CA758 -sub_80CA758: @ 80CA758 + thumb_func_start Special_SetHiddenItemFlag +Special_SetHiddenItemFlag: @ 80CA758 push {lr} ldr r0, _080CA768 @ =gSpecialVar_0x8004 ldrh r0, [r0] @@ -195,7 +195,7 @@ sub_80CA758: @ 80CA758 bx r0 .align 2, 0 _080CA768: .4byte gSpecialVar_0x8004 - thumb_func_end sub_80CA758 + thumb_func_end Special_SetHiddenItemFlag thumb_func_start sub_80CA76C sub_80CA76C: @ 80CA76C @@ -1566,8 +1566,9 @@ _080CB1D2: bx r1 thumb_func_end sub_80CB198 - thumb_func_start sub_80CB1D8 -sub_80CB1D8: @ 80CB1D8 + thumb_func_start Special_CheckAddCoins +Special_CheckAddCoins: @ 80CB1D8 +@ addcoins but it's a dry run push {lr} ldr r0, _080CB1F0 @ =gSpecialVar_Result ldrh r1, [r0] @@ -1588,7 +1589,7 @@ _080CB1FC: _080CB1FE: pop {r1} bx r1 - thumb_func_end sub_80CB1D8 + thumb_func_end Special_CheckAddCoins thumb_func_start sub_80CB204 sub_80CB204: @ 80CB204 @@ -3942,8 +3943,8 @@ _080CC444: .4byte gSpecialVar_0x8004 _080CC448: .4byte gSpecialVar_0x8006 thumb_func_end sub_80CC3CC - thumb_func_start sub_80CC44C -sub_80CC44C: @ 80CC44C + thumb_func_start GetHiddenItemAttr +GetHiddenItemAttr: @ 80CC44C push {lr} lsls r1, 24 lsrs r1, 24 @@ -3980,7 +3981,7 @@ _080CC484: _080CC486: pop {r1} bx r1 - thumb_func_end sub_80CC44C + thumb_func_end GetHiddenItemAttr thumb_func_start sub_80CC48C sub_80CC48C: @ 80CC48C diff --git a/asm/itemfinder.s b/asm/itemfinder.s deleted file mode 100644 index 8a2dec9de..000000000 --- a/asm/itemfinder.s +++ /dev/null @@ -1,1347 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_813EC8C -sub_813EC8C: @ 813EC8C - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r2, 0 - ldr r7, _0813ECE0 @ =gMapHeader - lsls r1, r4, 2 - adds r0, r1, r4 - lsls r3, r0, 3 - ldr r5, _0813ECE4 @ =gTasks+0x8 - adds r6, r1, 0 - movs r1, 0 -_0813ECA2: - lsls r0, r2, 1 - adds r0, r3 - adds r0, r5 - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xF - bls _0813ECA2 - ldr r0, [r7, 0x4] - adds r1, r4, 0 - bl sub_813EE14 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813ECFC - bl sub_813F3EC - ldr r0, _0813ECE8 @ =gTasks - adds r1, r6, r4 - lsls r1, 3 - adds r1, r0 - movs r2, 0x14 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - bne _0813ECF0 - ldr r0, _0813ECEC @ =sub_813EDB0 - str r0, [r1] - b _0813ED08 - .align 2, 0 -_0813ECE0: .4byte gMapHeader -_0813ECE4: .4byte gTasks+0x8 -_0813ECE8: .4byte gTasks -_0813ECEC: .4byte sub_813EDB0 -_0813ECF0: - ldr r0, _0813ECF8 @ =sub_813ED3C - str r0, [r1] - b _0813ED08 - .align 2, 0 -_0813ECF8: .4byte sub_813ED3C -_0813ECFC: - ldr r2, _0813ED10 @ =gUnknown_8416513 - ldr r3, _0813ED14 @ =sub_813ED18 - adds r0, r4, 0 - movs r1, 0x2 - bl DisplayItemMessageOnField -_0813ED08: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813ED10: .4byte gUnknown_8416513 -_0813ED14: .4byte sub_813ED18 - thumb_func_end sub_813EC8C - - thumb_func_start sub_813ED18 -sub_813ED18: @ 813ED18 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0x1 - bl ClearDialogWindowAndFrame - bl sub_80696C0 - bl ScriptContext2_Disable - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_813ED18 - - thumb_func_start sub_813ED3C -sub_813ED3C: @ 813ED3C - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r6, r1, 3 - ldr r7, _0813ED80 @ =gTasks+0x8 - adds r4, r6, r7 - movs r1, 0x6 - ldrsh r0, [r4, r1] - movs r1, 0x19 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _0813EDA2 - movs r2, 0 - ldrsh r0, [r4, r2] - movs r2, 0x2 - ldrsh r1, [r4, r2] - bl GetPlayerDirectionTowardsHiddenItem - lsls r0, 24 - lsrs r5, r0, 24 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0813ED88 - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _0813ED84 @ =sub_813F364 - str r1, [r0] - b _0813EDA8 - .align 2, 0 -_0813ED80: .4byte gTasks+0x8 -_0813ED84: .4byte sub_813F364 -_0813ED88: - movs r0, 0x41 - bl PlaySE - ldrb r0, [r4, 0xA] - adds r1, r5, 0 - bl sub_813F40C - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x8] - subs r0, 0x1 - strh r0, [r4, 0x8] -_0813EDA2: - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] -_0813EDA8: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_813ED3C - - thumb_func_start sub_813EDB0 -sub_813EDB0: @ 813EDB0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r5, r1, 3 - ldr r6, _0813EDE4 @ =gTasks+0x8 - adds r4, r5, r6 - movs r1, 0x6 - ldrsh r0, [r4, r1] - movs r1, 0x19 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _0813EE08 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0813EDEC - adds r0, r6, 0 - subs r0, 0x8 - adds r0, r5, r0 - ldr r1, _0813EDE8 @ =sub_813F3A8 - str r1, [r0] - b _0813EE0E - .align 2, 0 -_0813EDE4: .4byte gTasks+0x8 -_0813EDE8: .4byte sub_813F3A8 -_0813EDEC: - movs r0, 0x41 - bl PlaySE - bl sub_813F5AC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xE] - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x8] - subs r0, 0x1 - strh r0, [r4, 0x8] -_0813EE08: - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] -_0813EE0E: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_813EDB0 - - thumb_func_start sub_813EE14 -sub_813EE14: @ 813EE14 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r8, r0 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - ldr r1, _0813EEC8 @ =gTasks - mov r2, r9 - lsls r0, r2, 2 - add r0, r9 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0xC] - movs r3, 0 - mov r0, r8 - ldrb r0, [r0, 0x3] - cmp r3, r0 - bge _0813EF04 -_0813EE4E: - lsls r3, 16 - asrs r1, r3, 16 - mov r0, r8 - ldr r2, [r0, 0x10] - lsls r0, r1, 1 - adds r0, r1 - lsls r7, r0, 2 - adds r1, r7, r2 - ldrb r0, [r1, 0x5] - mov r10, r3 - cmp r0, 0x7 - bne _0813EEF2 - ldr r0, [r1, 0x8] - movs r1, 0x1 - bl sub_80CC44C - lsls r0, 16 - lsrs r0, 16 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _0813EEF2 - mov r1, r8 - ldr r2, [r1, 0x10] - adds r2, r7, r2 - ldrh r0, [r2] - adds r0, 0x7 - mov r1, sp - ldrh r1, [r1] - subs r0, r1 - lsls r0, 16 - lsrs r5, r0, 16 - ldrh r0, [r2, 0x2] - adds r0, 0x7 - mov r3, sp - ldrh r1, [r3, 0x2] - subs r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 - adds r6, r4, 0 - ldr r0, [r2, 0x8] - movs r1, 0x3 - bl sub_80CC44C - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _0813EECC - cmp r5, 0 - bne _0813EEF2 - cmp r4, 0 - bne _0813EEF2 - mov r1, r8 - ldr r0, [r1, 0x10] - adds r0, r7, r0 - ldr r1, [r0, 0x8] - mov r0, r9 - bl sub_813EF40 - b _0813EF2E - .align 2, 0 -_0813EEC8: .4byte gTasks -_0813EECC: - lsls r0, r5, 16 - asrs r1, r0, 16 - movs r2, 0xE0 - lsls r2, 11 - adds r0, r2 - lsrs r0, 16 - cmp r0, 0xE - bhi _0813EEF2 - lsls r0, r6, 16 - asrs r2, r0, 16 - movs r3, 0x5 - negs r3, r3 - cmp r2, r3 - blt _0813EEF2 - cmp r2, 0x5 - bgt _0813EEF2 - mov r0, r9 - bl sub_813F220 -_0813EEF2: - movs r0, 0x80 - lsls r0, 9 - add r0, r10 - lsrs r3, r0, 16 - asrs r0, 16 - mov r1, r8 - ldrb r1, [r1, 0x3] - cmp r0, r1 - blt _0813EE4E -_0813EF04: - mov r0, r9 - bl sub_813F108 - ldr r0, _0813EF24 @ =gTasks - mov r2, r9 - lsls r1, r2, 2 - add r1, r9 - lsls r1, 3 - adds r1, r0 - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0x1 - beq _0813EF28 - movs r0, 0 - b _0813EF30 - .align 2, 0 -_0813EF24: .4byte gTasks -_0813EF28: - mov r0, r9 - bl sub_813EF9C -_0813EF2E: - movs r0, 0x1 -_0813EF30: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_813EE14 - - thumb_func_start sub_813EF40 -sub_813EF40: @ 813EF40 - push {r4,r5,lr} - adds r5, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _0813EF8C @ =gTasks+0x8 - adds r4, r0 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_80CC44C - ldr r1, _0813EF90 @ =gSpecialVar_0x8004 - strh r0, [r1] - adds r0, r5, 0 - movs r1, 0 - bl sub_80CC44C - ldr r1, _0813EF94 @ =gSpecialVar_0x8005 - strh r0, [r1] - ldr r0, _0813EF98 @ =gSpecialVar_0x8006 - movs r5, 0x1 - strh r5, [r0] - ldrh r1, [r1] - movs r0, 0 - bl TV_PrintIntToStringVar - strh r5, [r4, 0x4] - movs r0, 0 - strh r0, [r4] - strh r0, [r4, 0x2] - movs r0, 0x3 - strh r0, [r4, 0x8] - strh r5, [r4, 0xC] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0813EF8C: .4byte gTasks+0x8 -_0813EF90: .4byte gSpecialVar_0x8004 -_0813EF94: .4byte gSpecialVar_0x8005 -_0813EF98: .4byte gSpecialVar_0x8006 - thumb_func_end sub_813EF40 - - thumb_func_start sub_813EF9C -sub_813EF9C: @ 813EF9C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0813EFEC @ =gTasks+0x8 - adds r1, r0 - ldrh r3, [r1, 0x2] - ldrh r2, [r1] - movs r4, 0 - ldrsh r0, [r1, r4] - cmp r0, 0 - bne _0813EFBC - cmp r3, 0 - beq _0813EFF8 -_0813EFBC: - movs r4, 0 - ldrsh r0, [r1, r4] - cmp r0, 0 - bge _0813EFCA - negs r0, r0 - lsls r0, 16 - lsrs r2, r0, 16 -_0813EFCA: - movs r4, 0x2 - ldrsh r0, [r1, r4] - cmp r0, 0 - bge _0813EFD8 - negs r0, r0 - lsls r0, 16 - lsrs r3, r0, 16 -_0813EFD8: - lsls r0, r2, 16 - asrs r2, r0, 16 - lsls r0, r3, 16 - asrs r0, 16 - cmp r2, r0 - ble _0813EFF0 - cmp r2, 0x3 - ble _0813EFF8 - movs r0, 0x2 - b _0813EFFA - .align 2, 0 -_0813EFEC: .4byte gTasks+0x8 -_0813EFF0: - cmp r0, 0x3 - ble _0813EFF8 - movs r0, 0x2 - b _0813EFFA -_0813EFF8: - movs r0, 0x4 -_0813EFFA: - strh r0, [r1, 0x8] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_813EF9C - - thumb_func_start sub_813F004 -sub_813F004: @ 813F004 - push {r4,r5,lr} - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldrb r5, [r0, 0x3] - ldr r4, [r0, 0x10] - movs r3, 0 - cmp r3, r5 - bge _0813F066 - lsls r0, r1, 16 - asrs r1, r0, 16 - lsls r0, r2, 16 - asrs r2, r0, 16 -_0813F020: - ldrb r0, [r4, 0x5] - cmp r0, 0x7 - bne _0813F05E - ldrh r0, [r4] - cmp r1, r0 - bne _0813F05E - ldrh r0, [r4, 0x2] - cmp r2, r0 - bne _0813F05E - ldr r0, [r4, 0x8] - movs r1, 0x1 - bl sub_80CC44C - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, [r4, 0x8] - movs r1, 0x3 - bl sub_80CC44C - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - beq _0813F066 - adds r0, r5, 0 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _0813F066 - movs r0, 0x1 - b _0813F068 -_0813F05E: - adds r4, 0xC - adds r3, 0x1 - cmp r3, r5 - blt _0813F020 -_0813F066: - movs r0, 0 -_0813F068: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_813F004 - - thumb_func_start sub_813F070 -sub_813F070: @ 813F070 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - bl mapconnection_get_mapheader - adds r3, r0, 0 - ldrb r0, [r4] - cmp r0, 0x2 - beq _0813F098 - cmp r0, 0x2 - bgt _0813F08E - cmp r0, 0x1 - beq _0813F0AC - b _0813F0EC -_0813F08E: - cmp r0, 0x3 - beq _0813F0C4 - cmp r0, 0x4 - beq _0813F0CE - b _0813F0EC -_0813F098: - ldr r0, [r4, 0x4] - adds r0, 0x7 - subs r0, r5, r0 - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, [r3] - ldr r0, [r0, 0x4] - subs r0, 0x7 - adds r0, r6 - b _0813F0E2 -_0813F0AC: - ldr r0, [r4, 0x4] - adds r0, 0x7 - subs r0, r5, r0 - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, _0813F0C0 @ =gMapHeader - ldr r0, [r0] - ldr r0, [r0, 0x4] - b _0813F0DE - .align 2, 0 -_0813F0C0: .4byte gMapHeader -_0813F0C4: - ldr r0, [r3] - ldr r0, [r0] - subs r0, 0x7 - adds r0, r5 - b _0813F0D8 -_0813F0CE: - ldr r0, _0813F0E8 @ =gMapHeader - ldr r0, [r0] - ldr r0, [r0] - adds r0, 0x7 - subs r0, r5, r0 -_0813F0D8: - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, [r4, 0x4] -_0813F0DE: - adds r0, 0x7 - subs r0, r6, r0 -_0813F0E2: - lsls r0, 16 - lsrs r2, r0, 16 - b _0813F0F0 - .align 2, 0 -_0813F0E8: .4byte gMapHeader -_0813F0EC: - movs r0, 0 - b _0813F102 -_0813F0F0: - ldr r0, [r3, 0x4] - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - bl sub_813F004 - lsls r0, 24 - lsrs r0, 24 -_0813F102: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_813F070 - - thumb_func_start sub_813F108 -sub_813F108: @ 813F108 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - ldr r0, _0813F21C @ =gMapHeader - ldr r1, [r0] - ldr r0, [r1] - adds r0, 0x7 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x8] - ldr r0, [r1, 0x4] - adds r0, 0x7 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0xC] - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - ldrh r0, [r0] - subs r0, 0x7 - lsls r0, 16 - lsrs r3, r0, 16 - asrs r0, 16 - mov r1, sp - movs r2, 0 - ldrsh r1, [r1, r2] - adds r1, 0x7 - cmp r0, r1 - bgt _0813F20C -_0813F156: - mov r5, sp - ldrh r0, [r5, 0x2] - subs r0, 0x5 - lsls r0, 16 - lsrs r4, r0, 16 - lsls r2, r4, 16 - asrs r1, r2, 16 - movs r6, 0x2 - ldrsh r0, [r5, r6] - adds r0, 0x5 - lsls r3, 16 - mov r8, r3 - cmp r1, r0 - bgt _0813F1F6 - movs r0, 0x7 - str r0, [sp, 0x10] - mov r1, r8 - asrs r1, 16 - mov r9, r1 - mov r10, r0 -_0813F17E: - ldr r3, [sp, 0x10] - cmp r3, r9 - bgt _0813F1A0 - ldr r5, [sp, 0x8] - lsls r0, r5, 16 - asrs r0, 16 - cmp r9, r0 - bge _0813F1A0 - asrs r1, r2, 16 - cmp r10, r1 - bgt _0813F1A0 - ldr r6, [sp, 0xC] - lsls r0, r6, 16 - asrs r0, 16 - lsls r7, r4, 16 - cmp r1, r0 - blt _0813F1DE -_0813F1A0: - mov r0, r8 - asrs r5, r0, 16 - lsls r4, 16 - asrs r6, r4, 16 - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_805973C - adds r7, r4, 0 - cmp r0, 0 - beq _0813F1DE - adds r1, r5, 0 - adds r2, r6, 0 - bl sub_813F070 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813F1DE - mov r0, sp - ldrh r1, [r0] - subs r1, r5, r1 - lsls r1, 16 - asrs r1, 16 - ldrh r2, [r0, 0x2] - subs r2, r6, r2 - lsls r2, 16 - asrs r2, 16 - ldr r0, [sp, 0x4] - bl sub_813F220 -_0813F1DE: - movs r1, 0x80 - lsls r1, 9 - adds r0, r7, r1 - lsrs r4, r0, 16 - lsls r2, r4, 16 - asrs r1, r2, 16 - mov r3, sp - movs r5, 0x2 - ldrsh r0, [r3, r5] - adds r0, 0x5 - cmp r1, r0 - ble _0813F17E -_0813F1F6: - movs r1, 0x80 - lsls r1, 9 - add r1, r8 - lsrs r3, r1, 16 - asrs r1, 16 - mov r0, sp - movs r6, 0 - ldrsh r0, [r0, r6] - adds r0, 0x7 - cmp r1, r0 - ble _0813F156 -_0813F20C: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813F21C: .4byte gMapHeader - thumb_func_end sub_813F108 - - thumb_func_start sub_813F220 -sub_813F220: @ 813F220 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r7, r1, 16 - lsls r2, 16 - lsrs r2, 16 - mov r12, r2 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0813F254 @ =gTasks+0x8 - adds r3, r1, r0 - movs r1, 0x4 - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _0813F258 - strh r7, [r3] - mov r0, r12 - strh r0, [r3, 0x2] - movs r0, 0x1 - strh r0, [r3, 0x4] - b _0813F2E2 - .align 2, 0 -_0813F254: .4byte gTasks+0x8 -_0813F258: - movs r1, 0 - ldrsh r0, [r3, r1] - cmp r0, 0 - bge _0813F268 - negs r0, r0 - lsls r0, 16 - lsrs r4, r0, 16 - b _0813F26A -_0813F268: - ldrh r4, [r3] -_0813F26A: - movs r1, 0x2 - ldrsh r0, [r3, r1] - ldrh r1, [r3, 0x2] - mov r9, r1 - cmp r0, 0 - bge _0813F27E - negs r0, r0 - lsls r0, 16 - lsrs r2, r0, 16 - b _0813F280 -_0813F27E: - ldrh r2, [r3, 0x2] -_0813F280: - lsls r1, r7, 16 - asrs r0, r1, 16 - cmp r0, 0 - bge _0813F290 - negs r0, r0 - lsls r0, 16 - lsrs r6, r0, 16 - b _0813F292 -_0813F290: - lsrs r6, r1, 16 -_0813F292: - mov r1, r12 - lsls r0, r1, 16 - asrs r1, r0, 16 - mov r8, r0 - cmp r1, 0 - bge _0813F2A4 - negs r0, r1 - lsls r0, 16 - b _0813F2A6 -_0813F2A4: - mov r0, r8 -_0813F2A6: - lsrs r5, r0, 16 - lsls r0, r4, 16 - asrs r0, 16 - lsls r1, r2, 16 - asrs r2, r1, 16 - adds r4, r0, r2 - lsls r0, r6, 16 - asrs r0, 16 - lsls r1, r5, 16 - asrs r1, 16 - adds r0, r1 - cmp r4, r0 - ble _0813F2C8 - strh r7, [r3] - mov r1, r12 - strh r1, [r3, 0x2] - b _0813F2E2 -_0813F2C8: - cmp r4, r0 - bne _0813F2E2 - cmp r2, r1 - bgt _0813F2DC - cmp r2, r1 - bne _0813F2E2 - mov r1, r9 - lsls r0, r1, 16 - cmp r0, r8 - bge _0813F2E2 -_0813F2DC: - strh r7, [r3] - mov r0, r12 - strh r0, [r3, 0x2] -_0813F2E2: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_813F220 - - thumb_func_start GetPlayerDirectionTowardsHiddenItem -GetPlayerDirectionTowardsHiddenItem: @ 813F2F0 - push {r4,r5,lr} - lsls r0, 16 - lsls r1, 16 - lsrs r1, 16 - lsrs r2, r0, 16 - cmp r0, 0 - bne _0813F302 - cmp r1, 0 - beq _0813F35C -_0813F302: - lsls r0, r2, 16 - asrs r2, r0, 16 - adds r5, r0, 0 - cmp r2, 0 - bge _0813F314 - negs r0, r2 - lsls r0, 16 - lsrs r4, r0, 16 - b _0813F316 -_0813F314: - lsrs r4, r5, 16 -_0813F316: - lsls r0, r1, 16 - asrs r2, r0, 16 - adds r1, r0, 0 - cmp r2, 0 - bge _0813F328 - negs r0, r2 - lsls r0, 16 - lsrs r3, r0, 16 - b _0813F32A -_0813F328: - lsrs r3, r1, 16 -_0813F32A: - lsls r0, r4, 16 - asrs r2, r0, 16 - lsls r0, r3, 16 - asrs r0, 16 - cmp r2, r0 - ble _0813F342 - cmp r5, 0 - bge _0813F33E - movs r0, 0x4 - b _0813F35E -_0813F33E: - movs r0, 0x2 - b _0813F35E -_0813F342: - cmp r2, r0 - bge _0813F34C - cmp r1, 0 - blt _0813F354 - b _0813F358 -_0813F34C: - cmp r2, r0 - bne _0813F35C - cmp r1, 0 - bge _0813F358 -_0813F354: - movs r0, 0x1 - b _0813F35E -_0813F358: - movs r0, 0x3 - b _0813F35E -_0813F35C: - movs r0, 0 -_0813F35E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end GetPlayerDirectionTowardsHiddenItem - - thumb_func_start sub_813F364 -sub_813F364: @ 813F364 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0813F378 @ =gUnknown_8416476 - ldr r3, _0813F37C @ =sub_813F380 - movs r1, 0x2 - bl DisplayItemMessageOnField - pop {r0} - bx r0 - .align 2, 0 -_0813F378: .4byte gUnknown_8416476 -_0813F37C: .4byte sub_813F380 - thumb_func_end sub_813F364 - - thumb_func_start sub_813F380 -sub_813F380: @ 813F380 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_813F3FC - movs r0, 0 - movs r1, 0x1 - bl ClearDialogWindowAndFrame - bl sub_80696C0 - bl ScriptContext2_Disable - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_813F380 - - thumb_func_start sub_813F3A8 -sub_813F3A8: @ 813F3A8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0813F3BC @ =gUnknown_84164BE - ldr r3, _0813F3C0 @ =sub_813F3C4 - movs r1, 0x2 - bl DisplayItemMessageOnField - pop {r0} - bx r0 - .align 2, 0 -_0813F3BC: .4byte gUnknown_84164BE -_0813F3C0: .4byte sub_813F3C4 - thumb_func_end sub_813F3A8 - - thumb_func_start sub_813F3C4 -sub_813F3C4: @ 813F3C4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_813F3FC - adds r0, r4, 0 - bl DestroyTask - ldr r0, _0813F3E8 @ =gUnknown_81A8D49 - bl ScriptContext1_SetupScript - bl ScriptContext2_Enable - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813F3E8: .4byte gUnknown_81A8D49 - thumb_func_end sub_813F3C4 - - thumb_func_start sub_813F3EC -sub_813F3EC: @ 813F3EC - push {lr} - ldr r0, _0813F3F8 @ =gUnknown_84647FC - bl LoadSpriteSheet - pop {r0} - bx r0 - .align 2, 0 -_0813F3F8: .4byte gUnknown_84647FC - thumb_func_end sub_813F3EC - - thumb_func_start sub_813F3FC -sub_813F3FC: @ 813F3FC - push {lr} - movs r0, 0xFA - lsls r0, 3 - bl FreeSpriteTilesByTag - pop {r0} - bx r0 - thumb_func_end sub_813F3FC - - thumb_func_start sub_813F40C -sub_813F40C: @ 813F40C - push {r4-r7,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r1, 24 - lsrs r7, r1, 24 - ldr r0, _0813F464 @ =gUnknown_84647E4 - movs r1, 0x78 - movs r2, 0x4C - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _0813F468 @ =gSprites - lsls r4, r6, 4 - adds r4, r6 - lsls r4, 2 - adds r4, r0 - ldrb r1, [r4, 0x5] - movs r0, 0xF - ands r0, r1 - strb r0, [r4, 0x5] - adds r0, r4, 0 - adds r1, r5, 0 - bl StartSpriteAnim - movs r0, 0 - strh r5, [r4, 0x3C] - strh r0, [r4, 0x2E] - strh r0, [r4, 0x34] - strh r0, [r4, 0x36] - movs r0, 0x78 - strh r0, [r4, 0x38] - movs r0, 0x4C - strh r0, [r4, 0x3A] - cmp r7, 0x4 - bhi _0813F53E - lsls r0, r7, 2 - ldr r1, _0813F46C @ =_0813F470 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0813F464: .4byte gUnknown_84647E4 -_0813F468: .4byte gSprites -_0813F46C: .4byte _0813F470 - .align 2, 0 -_0813F470: - .4byte _0813F484 - .4byte _0813F4C8 - .4byte _0813F4EC - .4byte _0813F50C - .4byte _0813F52C -_0813F484: - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _0813F4C8 - cmp r0, 0x2 - bgt _0813F49A - cmp r0, 0x1 - beq _0813F50C - b _0813F53E -_0813F49A: - cmp r0, 0x3 - beq _0813F4A4 - cmp r0, 0x4 - beq _0813F4EC - b _0813F53E -_0813F4A4: - ldr r1, _0813F4C0 @ =gSprites - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - movs r2, 0 - ldr r1, _0813F4C4 @ =0x0000ff9c - strh r1, [r0, 0x30] - strh r2, [r0, 0x32] - movs r1, 0 - bl StartSpriteAffineAnim - b _0813F53E - .align 2, 0 -_0813F4C0: .4byte gSprites -_0813F4C4: .4byte 0x0000ff9c -_0813F4C8: - ldr r1, _0813F4E4 @ =gSprites - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x30] - ldr r1, _0813F4E8 @ =0x0000ff9c - strh r1, [r0, 0x32] - movs r1, 0x3 - bl StartSpriteAffineAnim - b _0813F53E - .align 2, 0 -_0813F4E4: .4byte gSprites -_0813F4E8: .4byte 0x0000ff9c -_0813F4EC: - ldr r1, _0813F508 @ =gSprites - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - movs r2, 0 - movs r1, 0x64 - strh r1, [r0, 0x30] - strh r2, [r0, 0x32] - movs r1, 0x2 - bl StartSpriteAffineAnim - b _0813F53E - .align 2, 0 -_0813F508: .4byte gSprites -_0813F50C: - ldr r1, _0813F528 @ =gSprites - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x30] - movs r1, 0x64 - strh r1, [r0, 0x32] - movs r1, 0x1 - bl StartSpriteAffineAnim - b _0813F53E - .align 2, 0 -_0813F528: .4byte gSprites -_0813F52C: - ldr r1, _0813F544 @ =gSprites - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - movs r2, 0 - ldr r1, _0813F548 @ =0x0000ff9c - strh r1, [r0, 0x30] - strh r2, [r0, 0x32] -_0813F53E: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813F544: .4byte gSprites -_0813F548: .4byte 0x0000ff9c - thumb_func_end sub_813F40C - - thumb_func_start sub_813F54C -sub_813F54C: @ 813F54C - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x30] - ldrh r1, [r2, 0x34] - adds r0, r1 - strh r0, [r2, 0x34] - ldrh r1, [r2, 0x32] - ldrh r3, [r2, 0x36] - adds r1, r3 - strh r1, [r2, 0x36] - lsls r0, 16 - asrs r0, 24 - ldrh r3, [r2, 0x38] - adds r0, r3 - strh r0, [r2, 0x20] - lsls r1, 16 - asrs r1, 24 - ldrh r3, [r2, 0x3A] - adds r1, r3 - strh r1, [r2, 0x22] - subs r0, 0x69 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1B - bhi _0813F58A - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x3C - ble _0813F58A - cmp r0, 0x58 - ble _0813F58E -_0813F58A: - ldr r0, _0813F594 @ =sub_813F598 - str r0, [r2, 0x1C] -_0813F58E: - pop {r0} - bx r0 - .align 2, 0 -_0813F594: .4byte sub_813F598 - thumb_func_end sub_813F54C - - thumb_func_start sub_813F598 -sub_813F598: @ 813F598 - push {r4,lr} - adds r4, r0, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroySprite - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_813F598 - - thumb_func_start sub_813F5AC -sub_813F5AC: @ 813F5AC - push {r4,r5,lr} - ldr r0, _0813F604 @ =gUnknown_84647E4 - movs r1, 0x78 - movs r2, 0x4C - movs r3, 0 - bl CreateSprite - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r2, _0813F608 @ =gSprites - lsls r1, r5, 4 - adds r1, r5 - lsls r1, 2 - adds r4, r1, r2 - ldrb r3, [r4, 0x5] - movs r0, 0xF - ands r0, r3 - strb r0, [r4, 0x5] - adds r2, 0x1C - adds r1, r2 - ldr r0, _0813F60C @ =sub_813F614 - str r0, [r1] - adds r0, r4, 0 - movs r1, 0x4 - bl StartSpriteAnim - movs r1, 0 - strh r1, [r4, 0x3C] - strh r1, [r4, 0x2E] - strh r1, [r4, 0x34] - strh r1, [r4, 0x36] - movs r0, 0x78 - strh r0, [r4, 0x38] - movs r0, 0x4C - strh r0, [r4, 0x3A] - strh r1, [r4, 0x30] - ldr r0, _0813F610 @ =0x0000ff9c - strh r0, [r4, 0x32] - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0813F604: .4byte gUnknown_84647E4 -_0813F608: .4byte gSprites -_0813F60C: .4byte sub_813F614 -_0813F610: .4byte 0x0000ff9c - thumb_func_end sub_813F5AC - - thumb_func_start sub_813F614 -sub_813F614: @ 813F614 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x30] - ldrh r1, [r2, 0x34] - adds r0, r1 - strh r0, [r2, 0x34] - ldrh r1, [r2, 0x32] - ldrh r3, [r2, 0x36] - adds r1, r3 - strh r1, [r2, 0x36] - lsls r0, 16 - asrs r0, 24 - ldrh r3, [r2, 0x38] - adds r0, r3 - strh r0, [r2, 0x20] - lsls r1, 16 - asrs r1, 24 - ldrh r3, [r2, 0x3A] - adds r1, r3 - strh r1, [r2, 0x22] - subs r0, 0x69 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1B - bhi _0813F652 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x3C - ble _0813F652 - cmp r0, 0x58 - ble _0813F656 -_0813F652: - ldr r0, _0813F65C @ =sub_813F660 - str r0, [r2, 0x1C] -_0813F656: - pop {r0} - bx r0 - .align 2, 0 -_0813F65C: .4byte sub_813F660 - thumb_func_end sub_813F614 - - thumb_func_start sub_813F660 -sub_813F660: @ 813F660 - push {lr} - bl DestroySprite - pop {r0} - bx r0 - thumb_func_end sub_813F660 - - .align 2, 0 @ Don't pad with nop. |