sub_80F6250

This commit is contained in:
PikalaxALT
2019-04-05 17:39:38 -04:00
committed by huderlem
parent 5ad5b69050
commit 0ab30dbcd5
2 changed files with 50 additions and 160 deletions

View File

@@ -5,166 +5,6 @@
.text
thumb_func_start sub_80F6250
sub_80F6250: @ 80F6250
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
ldr r0, _080F6270 @ =gPokenavStructPtr
ldr r2, [r0]
ldr r0, _080F6274 @ =0x00008fe8
adds r3, r2, r0
movs r1, 0
ldrsb r1, [r3, r1]
movs r0, 0x1
negs r0, r0
cmp r1, r0
beq _080F6278
_080F626C:
movs r0, 0
b _080F637E
.align 2, 0
_080F6270: .4byte gPokenavStructPtr
_080F6274: .4byte 0x00008fe8
_080F6278:
ldr r1, _080F630C @ =0x00008fe6
adds r0, r2, r1
ldrb r0, [r0]
cmp r0, 0x7
beq _080F631C
cmp r0, 0x8
beq _080F626C
movs r6, 0
adds r7, r2, 0
adds r5, r7, r1
ldr r0, _080F6310 @ =0x00008fe7
adds r4, r7, r0
ldr r1, _080F6314 @ =gPokemonStorage + 0x4
mov r8, r1
ldr r0, _080F6318 @ =0x000041a0
add r0, r8
mov r9, r0
_080F629A:
ldrb r0, [r5]
lsls r1, r0, 2
adds r1, r0
lsls r0, r1, 4
subs r0, r1
lsls r0, 5
ldrb r2, [r4]
lsls r1, r2, 2
adds r1, r2
lsls r1, 4
add r1, r8
adds r0, r1
movs r1, 0x51
bl GetBoxMonData
cmp r0, 0
bne _080F636C
ldrb r0, [r5]
lsls r1, r0, 2
adds r1, r0
lsls r0, r1, 4
subs r0, r1
lsls r0, 5
ldrb r2, [r4]
lsls r1, r2, 2
adds r1, r2
lsls r1, 4
add r1, r9
adds r0, r1
movs r1, 0x51
bl GetBoxMonData
adds r1, r0, 0
cmp r1, 0
bne _080F636C
ldrb r0, [r4]
adds r0, 0x1
strb r0, [r4]
movs r2, 0xFF
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1D
bls _080F62FE
strb r1, [r4]
ldrb r0, [r5]
adds r0, 0x1
strb r0, [r5]
ands r0, r2
cmp r0, 0x6
bhi _080F637C
_080F62FE:
adds r0, r6, 0x1
lsls r0, 16
lsrs r6, r0, 16
cmp r6, 0x9
bls _080F629A
b _080F637C
.align 2, 0
_080F630C: .4byte 0x00008fe6
_080F6310: .4byte 0x00008fe7
_080F6314: .4byte gPokemonStorage + 0x4
_080F6318: .4byte 0x000041a0
_080F631C:
movs r0, 0
strb r0, [r3]
movs r6, 0
b _080F632A
_080F6324:
adds r0, r6, 0x1
lsls r0, 16
lsrs r6, r0, 16
_080F632A:
cmp r6, 0x5
bhi _080F634C
movs r0, 0x64
muls r0, r6
ldr r1, _080F635C @ =gPlayerParty
adds r0, r1
movs r1, 0x51
bl GetMonData
cmp r0, 0
beq _080F6324
ldr r0, _080F6360 @ =gPokenavStructPtr
ldr r0, [r0]
ldr r1, _080F6364 @ =0x00008fe8
adds r0, r1
movs r1, 0x1
strb r1, [r0]
_080F634C:
ldr r0, _080F6360 @ =gPokenavStructPtr
ldr r1, [r0]
ldr r0, _080F6368 @ =0x00008fe6
adds r1, r0
ldrb r0, [r1]
adds r0, 0x1
b _080F6372
.align 2, 0
_080F635C: .4byte gPlayerParty
_080F6360: .4byte gPokenavStructPtr
_080F6364: .4byte 0x00008fe8
_080F6368: .4byte 0x00008fe6
_080F636C:
ldr r0, _080F6378 @ =0x00008fe8
adds r1, r7, r0
movs r0, 0x1
_080F6372:
strb r0, [r1]
b _080F626C
.align 2, 0
_080F6378: .4byte 0x00008fe8
_080F637C:
movs r0, 0x1
_080F637E:
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_80F6250
thumb_func_start sub_80F638C
sub_80F638C: @ 80F638C
push {r4,lr}

View File

@@ -5862,3 +5862,53 @@ void sub_80F6208(void)
;
}
}
bool8 sub_80F6250(void)
{
u16 i;
if (gPokenavStructPtr->unk8FE8 != -1)
return FALSE;
switch (gPokenavStructPtr->unk8FE6)
{
default:
for (i = 0; i < 10; i++)
{
if (GetBoxMonData(&gPokemonStorage.boxes[gPokenavStructPtr->unk8FE6 + 0][gPokenavStructPtr->unk8FE7], MON_DATA_RIBBON_COUNT) != 0)
{
gPokenavStructPtr->unk8FE8 = 1;
return FALSE;
}
if (GetBoxMonData(&gPokemonStorage.boxes[gPokenavStructPtr->unk8FE6 + 7][gPokenavStructPtr->unk8FE7], MON_DATA_RIBBON_COUNT) != 0)
{
gPokenavStructPtr->unk8FE8 = 1;
return FALSE;
}
if (++gPokenavStructPtr->unk8FE7 >= 30)
{
gPokenavStructPtr->unk8FE7 = 0;
if (++gPokenavStructPtr->unk8FE6 >= 7)
{
break;
}
}
}
break;
case 8:
return FALSE;
case 7:
gPokenavStructPtr->unk8FE8 = 0;
for (i = 0; i < 6; i++)
{
if (GetMonData(&gPlayerParty[i], MON_DATA_RIBBON_COUNT) != 0)
{
gPokenavStructPtr->unk8FE8 = 1;
break;
}
}
gPokenavStructPtr->unk8FE6++;
return FALSE;
}
return TRUE;
}