diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-12-02 16:48:04 -0500 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-12-02 16:48:04 -0500 |
commit | 60b8858b19f50751d1222abd0c662d1ee938b3ce (patch) | |
tree | a91fda8c62e5ef5fc7984a12ec26c398b0c7effb | |
parent | 9e34e6b53d8c21c79e67c7b46ac658506abb4ed3 (diff) |
sub_81461D8
-rw-r--r-- | asm/mevent_8145654.s | 86 | ||||
-rw-r--r-- | include/pokemon_icon.h | 1 | ||||
-rw-r--r-- | src/mevent_8145654.c | 25 |
3 files changed, 26 insertions, 86 deletions
diff --git a/asm/mevent_8145654.s b/asm/mevent_8145654.s index e8af5eeae..152a8759a 100644 --- a/asm/mevent_8145654.s +++ b/asm/mevent_8145654.s @@ -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 diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index cef408046..593715b7d 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -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 diff --git a/src/mevent_8145654.c b/src/mevent_8145654.c index db714ce80..116db2e0e 100644 --- a/src/mevent_8145654.c +++ b/src/mevent_8145654.c @@ -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); + } +} |