diff options
-rw-r--r-- | asm/battle_7.s | 571 | ||||
-rw-r--r-- | include/battle.h | 3 | ||||
-rw-r--r-- | include/battle_interface.h | 2 | ||||
-rw-r--r-- | include/songs.h | 2 | ||||
-rw-r--r-- | src/battle_7.c | 165 | ||||
-rw-r--r-- | src/battle_interface.c | 2 |
6 files changed, 167 insertions, 578 deletions
diff --git a/asm/battle_7.s b/asm/battle_7.s index a1159e66a..ad9f9c18a 100644 --- a/asm/battle_7.s +++ b/asm/battle_7.s @@ -6,577 +6,6 @@ .text - thumb_func_start sub_8032350 -sub_8032350: @ 8032350 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - lsls r1, 24 - cmp r1, 0 - bne _08032408 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _0803236C - movs r4, 0 - b _08032376 -_0803236C: - adds r0, r4, 0 - bl battle_get_per_side_status - lsls r0, 24 - lsrs r4, r0, 24 -_08032376: - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _08032388 - ldr r0, _08032384 @ =gSubstituteDollTilemap - b _08032396 - .align 2, 0 -_08032384: .4byte gSubstituteDollTilemap -_08032388: - adds r0, r5, 0 - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - beq _080323AC - ldr r0, _080323A4 @ =gSubstituteDollGfx -_08032396: - ldr r1, _080323A8 @ =gUnknown_081FAF4C - lsls r4, 2 - adds r1, r4, r1 - ldr r1, [r1] - bl LZDecompressVram - b _080323BA - .align 2, 0 -_080323A4: .4byte gSubstituteDollGfx -_080323A8: .4byte gUnknown_081FAF4C -_080323AC: - ldr r0, _080323F4 @ =gSubstituteDollTilemap - ldr r1, _080323F8 @ =gUnknown_081FAF4C - lsls r4, 2 - adds r1, r4, r1 - ldr r1, [r1] - bl LZDecompressVram -_080323BA: - lsls r7, r5, 4 - ldr r0, _080323FC @ =gSubstituteDollPal - mov r12, r0 - ldr r0, _080323F8 @ =gUnknown_081FAF4C - adds r0, r4, r0 - ldr r4, [r0] - ldr r3, _08032400 @ =0x040000d4 - ldr r6, _08032404 @ =0x84000200 - movs r0, 0x80 - lsls r0, 4 - adds r2, r4, r0 - adds r5, r0, 0 - movs r1, 0x2 -_080323D4: - str r4, [r3] - str r2, [r3, 0x4] - str r6, [r3, 0x8] - ldr r0, [r3, 0x8] - adds r2, r5 - subs r1, 0x1 - cmp r1, 0 - bge _080323D4 - movs r0, 0x80 - lsls r0, 1 - adds r1, r7, r0 - mov r0, r12 - movs r2, 0x20 - bl LoadCompressedPalette - b _08032456 - .align 2, 0 -_080323F4: .4byte gSubstituteDollTilemap -_080323F8: .4byte gUnknown_081FAF4C -_080323FC: .4byte gSubstituteDollPal -_08032400: .4byte 0x040000d4 -_08032404: .4byte 0x84000200 -_08032408: - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _08032456 - adds r0, r4, 0 - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - beq _08032440 - ldr r1, _08032438 @ =gUnknown_02024A6A - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0803243C @ =gEnemyParty - adds r0, r1 - adds r1, r4, 0 - bl sub_8031794 - b _08032456 - .align 2, 0 -_08032438: .4byte gUnknown_02024A6A -_0803243C: .4byte gEnemyParty -_08032440: - ldr r1, _0803245C @ =gUnknown_02024A6A - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08032460 @ =gPlayerParty - adds r0, r1 - adds r1, r5, 0 - bl sub_80318FC -_08032456: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803245C: .4byte gUnknown_02024A6A -_08032460: .4byte gPlayerParty - thumb_func_end sub_8032350 - - thumb_func_start refresh_graphics_maybe -refresh_graphics_maybe: @ 8032464 - push {r4-r6,lr} - adds r5, r1, 0 - adds r4, r2, 0 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_8032350 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, _080324A0 @ =gSprites - adds r4, r0, r1 - ldr r0, _080324A4 @ =gBattleMonForms - adds r0, r6, r0 - ldrb r1, [r0] - adds r0, r4, 0 - bl StartSpriteAnim - cmp r5, 0 - bne _080324A8 - adds r0, r6, 0 - bl sub_8077F7C - b _080324AE - .align 2, 0 -_080324A0: .4byte gSprites -_080324A4: .4byte gBattleMonForms -_080324A8: - adds r0, r6, 0 - bl sub_8077F68 -_080324AE: - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end refresh_graphics_maybe - - thumb_func_start sub_80324BC -sub_80324BC: @ 80324BC - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xA4 - bne _080324D8 - lsls r2, r0, 2 - ldr r0, _080324DC @ =0x02017800 - adds r2, r0 - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_080324D8: - pop {r0} - bx r0 - .align 2, 0 -_080324DC: .4byte 0x02017800 - thumb_func_end sub_80324BC - - thumb_func_start sub_80324E0 -sub_80324E0: @ 80324E0 - lsls r0, 24 - lsrs r0, 22 - ldr r1, _080324F4 @ =0x02017800 - adds r0, r1 - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - bx lr - .align 2, 0 -_080324F4: .4byte 0x02017800 - thumb_func_end sub_80324E0 - - thumb_func_start sub_80324F8 -sub_80324F8: @ 80324F8 - push {r4-r7,lr} - adds r5, r0, 0 - lsls r1, 24 - lsrs r6, r1, 24 - adds r7, r6, 0 - movs r1, 0x39 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0x3A - bl GetMonData - adds r1, r0, 0 - lsls r4, 16 - asrs r4, 16 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl GetHPBarLevel - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08032568 - lsls r0, r6, 2 - ldr r3, _08032564 @ =0x02017800 - adds r4, r0, r3 - ldrb r1, [r4] - movs r5, 0x2 - movs r2, 0x2 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _080325B2 - adds r0, r6, 0 - eors r0, r5 - lsls r0, 2 - adds r0, r3 - ldrb r1, [r0] - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _0803255A - movs r0, 0x5A - bl PlaySE -_0803255A: - ldrb r0, [r4] - orrs r0, r5 - strb r0, [r4] - b _080325B2 - .align 2, 0 -_08032564: .4byte 0x02017800 -_08032568: - lsls r1, r6, 2 - ldr r4, _0803258C @ =0x02017800 - adds r1, r4 - ldrb r2, [r1] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - bne _08032590 - movs r0, 0x5A - bl m4aSongNumStop - b _080325B2 - .align 2, 0 -_0803258C: .4byte 0x02017800 -_08032590: - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _080325B2 - movs r0, 0x2 - eors r7, r0 - lsls r0, r7, 2 - adds r0, r4 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _080325B2 - movs r0, 0x5A - bl m4aSongNumStop -_080325B2: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80324F8 - - thumb_func_start sub_80325B8 -sub_80325B8: @ 80325B8 - push {r4-r6,lr} - movs r0, 0 - bl battle_get_side_with_given_state - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, r4, 2 - ldr r6, _08032600 @ =0x02017800 - adds r1, r6 - ldrb r2, [r1] - movs r5, 0x3 - negs r5, r5 - adds r0, r5, 0 - ands r0, r2 - strb r0, [r1] - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _080325F2 - movs r0, 0x2 - adds r1, r4, 0 - eors r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r2, [r1] - adds r0, r5, 0 - ands r0, r2 - strb r0, [r1] -_080325F2: - movs r0, 0x5A - bl m4aSongNumStop - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08032600: .4byte 0x02017800 - thumb_func_end sub_80325B8 - - thumb_func_start unref_sub_8032604 -unref_sub_8032604: @ 8032604 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x39 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0x3A - bl GetMonData - adds r1, r0, 0 - lsls r4, 16 - asrs r4, 16 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl GetHPBarLevel - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end unref_sub_8032604 - - thumb_func_start sub_8032638 -sub_8032638: @ 8032638 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, _080326DC @ =gMain - ldr r1, _080326E0 @ =0x0000043d - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080326CE - movs r0, 0 - bl battle_get_side_with_given_state - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r0, 0x2 - bl battle_get_side_with_given_state - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r5, _080326E4 @ =gUnknown_02024A6A - mov r1, r8 - lsls r0, r1, 1 - adds r0, r5 - ldrb r0, [r0] - bl pokemon_order_func - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - mov r1, r9 - lsls r0, r1, 1 - adds r0, r5 - ldrb r0, [r0] - bl pokemon_order_func - lsls r0, 24 - lsrs r5, r0, 24 - movs r7, 0x64 - adds r0, r4, 0 - muls r0, r7 - ldr r6, _080326E8 @ =gPlayerParty - adds r4, r0, r6 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _080326AA - adds r0, r4, 0 - mov r1, r8 - bl sub_80324F8 -_080326AA: - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _080326CE - adds r0, r5, 0 - muls r0, r7 - adds r4, r0, r6 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _080326CE - adds r0, r4, 0 - mov r1, r9 - bl sub_80324F8 -_080326CE: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080326DC: .4byte gMain -_080326E0: .4byte 0x0000043d -_080326E4: .4byte gUnknown_02024A6A -_080326E8: .4byte gPlayerParty - thumb_func_end sub_8032638 - - thumb_func_start sub_80326EC -sub_80326EC: @ 80326EC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r5, 0 - ldr r0, _08032778 @ =gUnknown_02024A68 - ldrb r0, [r0] - cmp r5, r0 - bge _080327B4 - movs r0, 0x3 - mov r10, r8 - mov r1, r10 - ands r1, r0 - mov r10, r1 - movs r6, 0 - movs r2, 0x3F - negs r2, r2 - mov r9, r2 -_08032718: - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_8078874 - lsls r0, 24 - cmp r0, 0 - beq _080327A8 - ldr r4, _0803277C @ =gSprites - ldr r0, _08032780 @ =gUnknown_02024BE0 - adds r3, r5, r0 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x1] - movs r7, 0x4 - negs r7, r7 - adds r2, r7, 0 - ands r1, r2 - mov r2, r10 - orrs r1, r2 - strb r1, [r0, 0x1] - mov r7, r8 - cmp r7, 0 - bne _08032788 - ldr r2, _08032784 @ =0x02017810 - adds r2, r6, r2 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - strb r0, [r2, 0x6] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x3] - mov r2, r9 - ands r1, r2 - strb r1, [r0, 0x3] - b _080327A8 - .align 2, 0 -_08032778: .4byte gUnknown_02024A68 -_0803277C: .4byte gSprites -_08032780: .4byte gUnknown_02024BE0 -_08032784: .4byte 0x02017810 -_08032788: - ldrb r0, [r3] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r4 - ldr r0, _080327C4 @ =0x02017810 - adds r0, r6, r0 - ldrb r1, [r0, 0x6] - movs r0, 0x1F - ands r1, r0 - lsls r1, 1 - ldrb r0, [r2, 0x3] - mov r3, r9 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x3] -_080327A8: - adds r6, 0xC - adds r5, 0x1 - ldr r0, _080327C8 @ =gUnknown_02024A68 - ldrb r0, [r0] - cmp r5, r0 - blt _08032718 -_080327B4: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080327C4: .4byte 0x02017810 -_080327C8: .4byte gUnknown_02024A68 - thumb_func_end sub_80326EC - thumb_func_start sub_80327CC sub_80327CC: @ 80327CC push {r4-r7,lr} diff --git a/include/battle.h b/include/battle.h index e3ec0780e..5a054acc7 100644 --- a/include/battle.h +++ b/include/battle.h @@ -158,7 +158,8 @@ struct Struct2017810 //u8 filler2[2]; u8 unk4; u8 unk5; - u8 filler6[2]; + u8 unk6; + u8 unk7; u8 unk8; u8 unk9; u8 fillerA[2]; diff --git a/include/battle_interface.h b/include/battle_interface.h index e85f87a30..70434f9a9 100644 --- a/include/battle_interface.h +++ b/include/battle_interface.h @@ -31,6 +31,6 @@ void sub_8045A5C(u8, struct Pokemon *, u8); s32 sub_8045C78(u8, u8, u8, u8); s16 sub_80460C8(struct BattleInterfaceStruct1 *, int *, void *, int); u8 GetScaledHPFraction(s16, s16, u8); -int GetHPBarLevel(s16, s16); +u8 GetHPBarLevel(s16, s16); #endif // GUARD_BATTLE_INTERFACE_H diff --git a/include/songs.h b/include/songs.h index d7829479f..51948fba8 100644 --- a/include/songs.h +++ b/include/songs.h @@ -93,7 +93,7 @@ enum SE_T_KAMI, SE_T_KAMI2, SE_ELEBETA, - SE_HINSI, + /*0x5A*/ SE_HINSI, SE_EXPMAX, SE_TAMAKORO, SE_TAMAKORO_E, diff --git a/src/battle_7.c b/src/battle_7.c index d909ceffc..4288544cd 100644 --- a/src/battle_7.c +++ b/src/battle_7.c @@ -1,13 +1,16 @@ #include "global.h" #include "asm.h" #include "battle.h" -#include "battle_interface.h" #include "battle_anim.h" +#include "battle_interface.h" #include "blend_palette.h" #include "data2.h" #include "decompress.h" +#include "main.h" +#include "m4a.h" #include "palette.h" #include "pokemon.h" +#include "songs.h" #include "sound.h" #include "species.h" #include "sprite.h" @@ -46,6 +49,9 @@ extern const struct SpriteSheet gTrainerFrontPicTable[]; extern const struct MonCoords gTrainerFrontPicCoords[]; extern const struct SpritePalette gTrainerFrontPicPaletteTable[]; extern const struct SpriteSheet gUnknown_0820A47C; +extern const u8 gSubstituteDollTilemap[]; +extern const u8 gSubstituteDollGfx[]; +extern const u8 gSubstituteDollPal[]; extern const struct SpriteSheet gUnknown_0820A484; extern const struct SpriteSheet gUnknown_0820A48C[]; extern const struct SpriteSheet gUnknown_0820A49C[]; @@ -56,19 +62,22 @@ extern const u8 gUnknown_08D09C48[]; #define ewram19348 (*(struct Struct2019348 *)(ewram + 0x19348)) +extern u8 sub_8078874(u8); extern u8 sub_8077F68(u8); +extern u8 sub_8077F7C(u8); extern void sub_8094958(void); extern const u16 *pokemon_get_pal(struct Pokemon *); extern void sub_80105DC(struct Sprite *); extern void move_anim_start_t2(); -extern void refresh_graphics_maybe(); -extern void sub_80324E0(); extern const u16 *species_and_otid_get_pal(); void sub_80315E8(u8); u8 sub_803163C(u8); void sub_80316CC(u8); void sub_8031F0C(void); +void refresh_graphics_maybe(u8, u8, u8); +void sub_80324E0(u8 a); + void sub_80327CC(void); void sub_80312F0(struct Sprite *sprite) @@ -687,3 +696,153 @@ void sub_8031FC4(u8 a, u8 b, bool8 c) StartSpriteAnim(&gSprites[gUnknown_02024BE0[a]], gBattleMonForms[a]); } } + +void sub_8032350(u8 a, u8 b) +{ + u8 r4; + u16 foo; + const u8 *gSubstituteDollPal_; + void *src; + s32 i; + + if (b == 0) + { + if (IsContest()) + r4 = 0; + else + r4 = battle_get_per_side_status(a); + if (IsContest()) + LZDecompressVram(gSubstituteDollTilemap, gUnknown_081FAF4C[r4]); + else if (battle_side_get_owner(a) != 0) + LZDecompressVram(gSubstituteDollGfx, gUnknown_081FAF4C[r4]); + else + LZDecompressVram(gSubstituteDollTilemap, gUnknown_081FAF4C[r4]); + // There is probably a way to do this without all the temp variables, but I couldn't figure it out. + foo = a * 16; + gSubstituteDollPal_ = gSubstituteDollPal; + src = gUnknown_081FAF4C[r4]; + for (i = 0; i < 3; i++) + DmaCopy32(3, src, src + i * 0x800 + 0x800, 0x800); + LoadCompressedPalette(gSubstituteDollPal_, 0x100 + foo, 32); + } + else + { + if (!IsContest()) + { + if (battle_side_get_owner(a) != 0) + sub_8031794(&gEnemyParty[gUnknown_02024A6A[a]], a); + else + sub_80318FC(&gPlayerParty[gUnknown_02024A6A[a]], a); + } + } +} + +void refresh_graphics_maybe(u8 a, u8 b, u8 spriteId) +{ + sub_8032350(a, b); + StartSpriteAnim(&gSprites[spriteId], gBattleMonForms[a]); + if (b == 0) + gSprites[spriteId].pos1.y = sub_8077F7C(a); + else + gSprites[spriteId].pos1.y = sub_8077F68(a); +} + +void sub_80324BC(u8 a, u16 b) +{ + if (b == 0xA4) + ewram17800[a].unk0_2 = 1; +} + +void sub_80324E0(u8 a) +{ + ewram17800[a].unk0_2 = 0; +} + +void sub_80324F8(struct Pokemon *pkmn, u8 b) +{ + u16 hp = GetMonData(pkmn, MON_DATA_HP); + u16 maxHP = GetMonData(pkmn, MON_DATA_MAX_HP); + + if (GetHPBarLevel(hp, maxHP) == 1) + { + if (!ewram17800[b].unk0_1) + { + if (!ewram17800[b ^ 2].unk0_1) + PlaySE(SE_HINSI); + ewram17800[b].unk0_1 = 1; + } + } + else + { + ewram17800[b].unk0_1 = 0; + if (!IsDoubleBattle()) + { + m4aSongNumStop(SE_HINSI); + return; + } + if (IsDoubleBattle() && !ewram17800[b ^ 2].unk0_1) + { + m4aSongNumStop(SE_HINSI); + return; + } + } +} + +void sub_80325B8(void) +{ + u8 r4 = battle_get_side_with_given_state(0); + + ewram17800[r4].unk0_1 = 0; + if (IsDoubleBattle()) + ewram17800[r4 ^ 2].unk0_1 = 0; + m4aSongNumStop(SE_HINSI); +} + +u8 unref_sub_8032604(struct Pokemon *pkmn) +{ + u16 hp = GetMonData(pkmn, MON_DATA_HP); + u16 maxHP = GetMonData(pkmn, MON_DATA_MAX_HP); + + return GetHPBarLevel(hp, maxHP); +} + +void sub_8032638(void) +{ + if (gMain.inBattle) + { + u8 r8 = battle_get_side_with_given_state(0); + u8 r9 = battle_get_side_with_given_state(2); + u8 r4 = pokemon_order_func(gUnknown_02024A6A[r8]); + u8 r5 = pokemon_order_func(gUnknown_02024A6A[r9]); + + if (GetMonData(&gPlayerParty[r4], MON_DATA_HP) != 0) + sub_80324F8(&gPlayerParty[r4], r8); + if (IsDoubleBattle()) + { + if (GetMonData(&gPlayerParty[r5], MON_DATA_HP) != 0) + sub_80324F8(&gPlayerParty[r5], r9); + } + } +} + +void sub_80326EC(u8 a) +{ + s32 i; + + for (i = 0; i < gUnknown_02024A68; i++) + { + if (sub_8078874(i) != 0) + { + gSprites[gUnknown_02024BE0[i]].oam.affineMode = a; + if (a == 0) + { + ewram17810[i].unk6 = gSprites[gUnknown_02024BE0[i]].oam.matrixNum; + gSprites[gUnknown_02024BE0[i]].oam.matrixNum = 0; + } + else + { + gSprites[gUnknown_02024BE0[i]].oam.matrixNum = ewram17810[i].unk6; + } + } + } +} diff --git a/src/battle_interface.c b/src/battle_interface.c index c05d66148..0fd9462cc 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -3032,7 +3032,7 @@ u8 GetScaledHPFraction(s16 hp, s16 maxhp, u8 scale) return result; } -int GetHPBarLevel(s16 hp, s16 maxhp) +u8 GetHPBarLevel(s16 hp, s16 maxhp) { int result; |