sub_81461D8

This commit is contained in:
PikalaxALT
2018-12-02 16:48:04 -05:00
parent 9e34e6b53d
commit 60b8858b19
3 changed files with 26 additions and 86 deletions
-86
View File
@@ -5,92 +5,6 @@
.text
thumb_func_start sub_81461D8
sub_81461D8: @ 81461D8
push {r4-r7,lr}
movs r6, 0
ldr r4, =gUnknown_203F3C8
ldr r0, [r4]
movs r2, 0xBE
lsls r2, 1
adds r1, r0, r2
ldrb r0, [r1]
cmp r0, 0xFF
beq _081461FC
adds r1, r0, 0
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
ldr r1, =gSprites
adds r0, r1
bl sub_8097070
_081461FC:
ldr r0, [r4]
ldrb r2, [r0, 0x9]
cmp r2, 0
beq _08146274
ldrb r1, [r0, 0x8]
movs r0, 0x3
ands r0, r1
cmp r0, 0x1
bne _08146274
cmp r6, r2
bcs _08146264
adds r7, r4, 0
_08146214:
ldr r0, [r7]
lsls r4, r6, 1
ldr r1, =0x0000017d
adds r0, r1
adds r1, r0, r4
ldrb r0, [r1]
cmp r0, 0xFF
beq _08146256
adds r1, r0, 0
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
ldr r5, =gSprites
adds r0, r5
bl DestroySprite
ldr r1, [r7]
ldr r2, =0x0000017d
adds r0, r1, r2
adds r0, r4
ldrb r0, [r0]
cmp r0, 0xFF
beq _08146256
adds r2, 0x1
adds r0, r1, r2
adds r0, r4
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r5
bl sub_8097070
_08146256:
adds r0, r6, 0x1
lsls r0, 24
lsrs r6, r0, 24
ldr r0, [r7]
ldrb r0, [r0, 0x9]
cmp r6, r0
bcc _08146214
_08146264:
movs r4, 0x80
lsls r4, 8
adds r0, r4, 0
bl FreeSpriteTilesByTag
adds r0, r4, 0
bl FreeSpritePaletteByTag
_08146274:
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_81461D8
@ file boundary maybe
thumb_func_start sub_8146288
+1
View File
@@ -14,5 +14,6 @@ void sub_809707C(void);
void FreeMonIconPalettes(void);
u16 sub_8096FD4(u16);
u8 sub_8096ECC(u16, void (*)(struct Sprite *), s16, s16, u8, bool32);
void sub_8097070(struct Sprite *);
#endif // GUARD_POKEMON_ICON_H
+25
View File
@@ -361,3 +361,28 @@ void sub_8146060(void)
}
}
}
void sub_81461D8(void)
{
u8 r6 = 0;
if (gUnknown_203F3C8->unk_017C != 0xFF)
sub_8097070(&gSprites[gUnknown_203F3C8->unk_017C]);
if (gUnknown_203F3C8->unk_0000.unk_09 != 0 && gUnknown_203F3C8->unk_0000.unk_08_0 == 1)
{
for (; r6 < gUnknown_203F3C8->unk_0000.unk_09; r6++)
{
if (gUnknown_203F3C8->unk_017D[r6][0] != 0xFF)
{
DestroySprite(&gSprites[gUnknown_203F3C8->unk_017D[r6][0]]);
// This might be a typo. Uncomment the next line, and comment the one that follows, to get the presumed intended behavior.
// if (gUnknown_203F3C8->unk_017D[r6][1] != 0xFF)
if (gUnknown_203F3C8->unk_017D[r6][0] != 0xFF)
{
sub_8097070(&gSprites[gUnknown_203F3C8->unk_017D[r6][1]]);
}
}
}
FreeSpriteTilesByTag(0x8000);
FreeSpritePaletteByTag(0x8000);
}
}