diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/itemfinder.s | 521 |
1 files changed, 4 insertions, 517 deletions
diff --git a/asm/itemfinder.s b/asm/itemfinder.s index 8a2dec9de..fbf0a8578 100644 --- a/asm/itemfinder.s +++ b/asm/itemfinder.s @@ -5,519 +5,6 @@ .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} @@ -950,14 +437,14 @@ sub_813F364: @ 813F364 push {lr} lsls r0, 24 lsrs r0, 24 - ldr r2, _0813F378 @ =gUnknown_8416476 + ldr r2, _0813F378 @ =gText_ItemfinderResponding ldr r3, _0813F37C @ =sub_813F380 movs r1, 0x2 bl DisplayItemMessageOnField pop {r0} bx r0 .align 2, 0 -_0813F378: .4byte gUnknown_8416476 +_0813F378: .4byte gText_ItemfinderResponding _0813F37C: .4byte sub_813F380 thumb_func_end sub_813F364 @@ -985,14 +472,14 @@ sub_813F3A8: @ 813F3A8 push {lr} lsls r0, 24 lsrs r0, 24 - ldr r2, _0813F3BC @ =gUnknown_84164BE + ldr r2, _0813F3BC @ =gText_ItemfinderShakingWildly ldr r3, _0813F3C0 @ =sub_813F3C4 movs r1, 0x2 bl DisplayItemMessageOnField pop {r0} bx r0 .align 2, 0 -_0813F3BC: .4byte gUnknown_84164BE +_0813F3BC: .4byte gText_ItemfinderShakingWildly _0813F3C0: .4byte sub_813F3C4 thumb_func_end sub_813F3A8 |