diff options
-rw-r--r-- | asm/vs_seeker.s | 75 | ||||
-rw-r--r-- | src/vs_seeker.c | 20 |
2 files changed, 20 insertions, 75 deletions
diff --git a/asm/vs_seeker.s b/asm/vs_seeker.s index 21b9763ec..9ae4c3153 100644 --- a/asm/vs_seeker.s +++ b/asm/vs_seeker.s @@ -5,81 +5,6 @@ .text - thumb_func_start sub_810D280 -sub_810D280: @ 810D280 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - movs r5, 0 - cmp r5, r6 - bge _0810D2F8 - ldr r7, _0810D2E0 @ =gUnknown_203ADB8 - movs r4, 0 -_0810D298: - ldr r0, [r7] - adds r0, r4 - bl sub_810D0FC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0810D2F0 - ldr r1, [r7] - adds r0, r1, r4 - ldrh r0, [r0, 0x4] - cmp r0, r8 - bne _0810D2F0 - movs r3, 0 - movs r2, 0x86 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r3, r0 - bge _0810D2EC - ldr r0, _0810D2E0 @ =gUnknown_203ADB8 - ldr r1, [r0] - adds r0, r1, r4 - ldrh r4, [r0, 0x4] - movs r0, 0x80 - lsls r0, 3 - adds r2, r1, r0 - adds r0, 0x30 - adds r1, r0 - ldrb r1, [r1] -_0810D2D4: - ldrh r0, [r2] - cmp r0, r4 - bne _0810D2E4 - movs r0, 0x2 - b _0810D2FA - .align 2, 0 -_0810D2E0: .4byte gUnknown_203ADB8 -_0810D2E4: - adds r2, 0x2 - adds r3, 0x1 - cmp r3, r1 - blt _0810D2D4 -_0810D2EC: - movs r0, 0x1 - b _0810D2FA -_0810D2F0: - adds r4, 0x10 - adds r5, 0x1 - cmp r5, r6 - blt _0810D298 -_0810D2F8: - movs r0, 0 -_0810D2FA: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_810D280 - thumb_func_start sub_810D304 sub_810D304: @ 810D304 push {r4-r7,lr} diff --git a/src/vs_seeker.c b/src/vs_seeker.c index 6a62bf5bf..30a777c19 100644 --- a/src/vs_seeker.c +++ b/src/vs_seeker.c @@ -1050,3 +1050,23 @@ void sub_810D24C(struct VsSeekerSubstruct * a0, const u8 * a1) npc_sync_anim_pause_bits(&gUnknown_2036E38[a0->unk_7]); ScriptMovement_StartObjectMovementScript(a0->unk_6, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, a1); } + +u8 sub_810D280(int a0, u16 a1) +{ + int r5; + int r3; + + for (r5 = 0; r5 < a0; r5++) + { + if (sub_810D0FC(&gUnknown_203ADB8->unk_000[r5]) == 1 && gUnknown_203ADB8->unk_000[r5].unk_4 == a1) + { + for (r3 = 0; r3 < gUnknown_203ADB8->unk_430; r3++) + { + if (gUnknown_203ADB8->unk_400[r3] == gUnknown_203ADB8->unk_000[r5].unk_4) + return 2; + } + return 1; + } + } + return 0; +} |