through sub_800FCD8

This commit is contained in:
PikalaxALT 2018-01-19 22:03:02 -05:00
parent 1c15b896a8
commit b9e5ad9f11
2 changed files with 50 additions and 110 deletions

View File

@ -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}

View File

@ -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;
}