diff --git a/asm/pokenav.s b/asm/pokenav.s index f6f2b69b6..41644ebcc 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -9,42 +9,6 @@ - thumb_func_start sub_81C70D8 -sub_81C70D8: @ 81C70D8 - push {lr} - ldr r1, =0x0000ffff - ands r1, r0 - lsrs r3, r0, 16 - ldr r2, =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r1, r0, r2 - ldrb r0, [r1, 0x4] - cmp r0, 0 - beq _081C711C - ldr r2, [r1] - ldr r0, =sub_81C7170 - cmp r2, r0 - beq _081C70FE - ldr r0, =sub_81C71E4 - cmp r2, r0 - bne _081C711C -_081C70FE: - movs r2, 0xE - ldrsh r0, [r1, r2] - cmp r0, r3 - bne _081C711C - movs r0, 0x1 - b _081C711E - .pool -_081C711C: - movs r0, 0 -_081C711E: - pop {r1} - bx r1 - thumb_func_end sub_81C70D8 - thumb_func_start sub_81C7124 sub_81C7124: @ 81C7124 push {r4-r6,lr} diff --git a/src/pokenav_main.c b/src/pokenav_main.c index fd8e51318..fc45b9406 100644 --- a/src/pokenav_main.c +++ b/src/pokenav_main.c @@ -62,51 +62,6 @@ void CB2_PokeNav(void) } }*/ -/* -thumb_func_start sub_81C7078 -sub_81C7078: @ 81C7078 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - bl is_c1_link_related_active - cmp r0, 0 - bne _081C7090 - ldr r0, =sub_81C7170 - b _081C7092 - .pool -_081C7090: - ldr r0, =sub_81C71E4 -_081C7092: - lsls r1, r4, 24 - lsrs r1, 24 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - movs r1, 0x1 - adds r2, r5, 0 - bl SetWordTaskArg - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r2, =gUnknown_0203CF3C - ldrb r1, [r2] - strh r1, [r0, 0xE] - ldrb r0, [r2] - adds r1, r0, 0x1 - strb r1, [r2] - lsls r0, 24 - lsrs r0, 8 - orrs r0, r4 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81C7078 - */ - extern u8 gUnknown_0203CF3C; extern void sub_81C7170(u8 a0); extern void sub_81C71E4(u8 a0); @@ -114,21 +69,28 @@ extern void sub_81C71E4(u8 a0); u32 sub_81C7078(s32 a0, u32 a1) { u16 taskId; - u32 old; - if (is_c1_link_related_active() == FALSE) + if (!is_c1_link_related_active()) taskId = CreateTask(sub_81C7170, a1); else taskId = CreateTask(sub_81C71E4, a1); - //taskId = CreateTask(temp, a1); - SetWordTaskArg(taskId, 1, a0); gTasks[taskId].data[3] = gUnknown_0203CF3C; - //old = gUnknown_0203CF3C; - //gUnknown_0203CF3C = old + 1; return ((gUnknown_0203CF3C++) << 16) | taskId; } -// nonce \ No newline at end of file +bool32 sub_81C70D8(u32 a0, u32 unused) { + u32 v1 = a0 & 0xFFFF; + u32 v2 = a0 >> 16; + if (gTasks[v1].isActive + && (gTasks[v1].func == sub_81C7170 || gTasks[v1].func == sub_81C71E4) + && gTasks[v1].data[3] == v2) { + + return TRUE; + } else { + return FALSE; + } +} +