From b9e5ad9f11584098f7afce770fc06501b85abd46 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 19 Jan 2018 22:03:02 -0500 Subject: [PATCH] through sub_800FCD8 --- asm/link_rfu.s | 110 ------------------------------------------------- src/link_rfu.c | 50 ++++++++++++++++++++++ 2 files changed, 50 insertions(+), 110 deletions(-) diff --git a/asm/link_rfu.s b/asm/link_rfu.s index 2247baf0d..5d33cd242 100644 --- a/asm/link_rfu.s +++ b/asm/link_rfu.s @@ -5,116 +5,6 @@ .text - thumb_func_start sub_800FC60 -sub_800FC60: @ 800FC60 - push {lr} - movs r2, 0 - ldr r0, =gUnknown_03005000 - adds r1, r0, 0 - adds r1, 0x92 -_0800FC6A: - ldrb r0, [r1] - cmp r0, 0 - beq _0800FC78 - movs r0, 0 - b _0800FC82 - .pool -_0800FC78: - adds r1, 0x14 - adds r2, 0x1 - cmp r2, 0x4 - ble _0800FC6A - movs r0, 0x1 -_0800FC82: - pop {r1} - bx r1 - thumb_func_end sub_800FC60 - - thumb_func_start sub_800FC88 -sub_800FC88: @ 800FC88 - push {r4,lr} - movs r1, 0 - ldr r2, =gUnknown_03005000 - ldrb r0, [r2, 0xD] - cmp r1, r0 - bge _0800FCBC - adds r4, r0, 0 - adds r3, r2, 0 - adds r3, 0x92 - adds r2, 0x5C -_0800FC9C: - ldrb r0, [r3] - cmp r0, 0x2 - bne _0800FCAA - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0800FCB4 -_0800FCAA: - movs r0, 0 - b _0800FCBE - .pool -_0800FCB4: - adds r3, 0x14 - adds r1, 0x1 - cmp r1, r4 - blt _0800FC9C -_0800FCBC: - movs r0, 0x1 -_0800FCBE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_800FC88 - - thumb_func_start sub_800FCC4 -sub_800FCC4: @ 800FCC4 - movs r2, 0 - movs r1, 0 - strh r1, [r0] - strh r1, [r0, 0x2] - str r1, [r0, 0x4] - str r1, [r0, 0x8] - strb r2, [r0, 0x10] - strb r2, [r0, 0x11] - strb r2, [r0, 0x12] - bx lr - thumb_func_end sub_800FCC4 - - thumb_func_start sub_800FCD8 -sub_800FCD8: @ 800FCD8 - push {r4,lr} - movs r2, 0 - movs r1, 0 - ldr r0, =gUnknown_03005000 - adds r3, r0, 0 - adds r3, 0x92 - adds r4, r0, 0 - adds r4, 0x5C -_0800FCE8: - ldrb r0, [r3] - cmp r0, 0x2 - bne _0800FCFE - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, 0x1 - bne _0800FCFE - lsls r0, r1 - orrs r2, r0 - lsls r0, r2, 24 - lsrs r2, r0, 24 -_0800FCFE: - adds r3, 0x14 - adds r1, 0x1 - cmp r1, 0x4 - ble _0800FCE8 - adds r0, r2, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_800FCD8 - thumb_func_start sub_800FD14 sub_800FD14: @ 800FD14 push {r4,r5,lr} diff --git a/src/link_rfu.c b/src/link_rfu.c index 66e36396d..a6ece43bb 100644 --- a/src/link_rfu.c +++ b/src/link_rfu.c @@ -3498,3 +3498,53 @@ void sub_800F86C(u8 unused) } } } + +bool8 sub_800FC60(void) +{ + int i; + + for (i = 0; i < 5; i++) + { + if (gUnknown_03005000.unk_80[i].unk_12) + return FALSE; + } + return TRUE; +} + +bool8 sub_800FC88(void) +{ + int i; + + for (i = 0; i < gUnknown_03005000.playerCount; i++) + { + if (gUnknown_03005000.unk_80[i].unk_12 != 2 || gUnknown_03005000.unk_5c[i] != 1) + return FALSE; + } + return TRUE; +} + +void sub_800FCC4(struct UnkRfuStruct_2_Sub_6c *data) +{ + data->unk_00 = 0; + data->unk_02 = 0; + data->unk_04 = NULL; + data->unk_08 = 0; + data->unk_10 = 0; + data->unk_11 = 0; + data->unk_12 = 0; +} + +u8 sub_800FCD8(void) +{ + u8 flags = 0; + int i; + + for (i = 0; i < 5; i++) + { + if (gUnknown_03005000.unk_80[i].unk_12 == 2 && gUnknown_03005000.unk_5c[i] == 1) + { + flags |= (1 << i); + } + } + return flags; +}