diff options
-rw-r--r-- | asm/battle_7.s | 163 | ||||
-rw-r--r-- | src/battle_7.c | 62 |
2 files changed, 62 insertions, 163 deletions
diff --git a/asm/battle_7.s b/asm/battle_7.s index dc9c0b640..7ad55215d 100644 --- a/asm/battle_7.s +++ b/asm/battle_7.s @@ -6,169 +6,6 @@ .text - thumb_func_start sub_8031C30 -sub_8031C30: @ 8031C30 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - movs r6, 0 - cmp r4, 0 - bne _08031C40 - b _08031D52 -_08031C40: - cmp r4, 0x1 - bne _08031C5C - ldr r4, _08031C58 @ =gUnknown_0820A4D4 - adds r0, r4, 0 - bl LoadSpritePalette - adds r4, 0x8 - adds r0, r4, 0 - bl LoadSpritePalette - b _08031D52 - .align 2, 0 -_08031C58: .4byte gUnknown_0820A4D4 -_08031C5C: - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - bne _08031CC4 - cmp r4, 0x2 - bne _08031C94 - ldr r0, _08031C80 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08031C88 - ldr r0, _08031C84 @ =gUnknown_0820A4AC - bl LoadCompressedObjectPic - b _08031D52 - .align 2, 0 -_08031C80: .4byte gBattleTypeFlags -_08031C84: .4byte gUnknown_0820A4AC -_08031C88: - ldr r0, _08031C90 @ =gUnknown_0820A47C - bl LoadCompressedObjectPic - b _08031D52 - .align 2, 0 -_08031C90: .4byte gUnknown_0820A47C -_08031C94: - cmp r4, 0x3 - bne _08031CA4 - ldr r0, _08031CA0 @ =gUnknown_0820A484 - bl LoadCompressedObjectPic - b _08031D52 - .align 2, 0 -_08031CA0: .4byte gUnknown_0820A484 -_08031CA4: - cmp r4, 0x4 - bne _08031CB4 - ldr r0, _08031CB0 @ =gUnknown_02024A72 - ldrb r0, [r0] - b _08031D3C - .align 2, 0 -_08031CB0: .4byte gUnknown_02024A72 -_08031CB4: - cmp r4, 0x5 - bne _08031D50 - ldr r0, _08031CC0 @ =gUnknown_02024A72 - ldrb r0, [r0, 0x1] - b _08031D3C - .align 2, 0 -_08031CC0: .4byte gUnknown_02024A72 -_08031CC4: - cmp r4, 0x2 - bne _08031CD4 - ldr r0, _08031CD0 @ =gUnknown_0820A48C - bl LoadCompressedObjectPic - b _08031D52 - .align 2, 0 -_08031CD0: .4byte gUnknown_0820A48C -_08031CD4: - cmp r4, 0x3 - bne _08031CE4 - ldr r0, _08031CE0 @ =gUnknown_0820A494 - bl LoadCompressedObjectPic - b _08031D52 - .align 2, 0 -_08031CE0: .4byte gUnknown_0820A494 -_08031CE4: - cmp r4, 0x4 - bne _08031CF4 - ldr r0, _08031CF0 @ =gUnknown_0820A49C - bl LoadCompressedObjectPic - b _08031D52 - .align 2, 0 -_08031CF0: .4byte gUnknown_0820A49C -_08031CF4: - cmp r4, 0x5 - bne _08031D04 - ldr r0, _08031D00 @ =gUnknown_0820A4A4 - bl LoadCompressedObjectPic - b _08031D52 - .align 2, 0 -_08031D00: .4byte gUnknown_0820A4A4 -_08031D04: - cmp r4, 0x6 - bne _08031D14 - ldr r0, _08031D10 @ =gUnknown_02024A72 - ldrb r0, [r0] - b _08031D3C - .align 2, 0 -_08031D10: .4byte gUnknown_02024A72 -_08031D14: - cmp r4, 0x7 - bne _08031D24 - ldr r0, _08031D20 @ =gUnknown_02024A72 - ldrb r0, [r0, 0x1] - b _08031D3C - .align 2, 0 -_08031D20: .4byte gUnknown_02024A72 -_08031D24: - cmp r4, 0x8 - bne _08031D34 - ldr r0, _08031D30 @ =gUnknown_02024A72 - ldrb r0, [r0, 0x2] - b _08031D3C - .align 2, 0 -_08031D30: .4byte gUnknown_02024A72 -_08031D34: - cmp r5, 0x9 - bne _08031D50 - ldr r0, _08031D48 @ =gUnknown_02024A72 - ldrb r0, [r0, 0x3] -_08031D3C: - lsls r0, 3 - ldr r1, _08031D4C @ =gUnknown_0820A4B4 - adds r0, r1 - bl LoadCompressedObjectPic - b _08031D52 - .align 2, 0 -_08031D48: .4byte gUnknown_02024A72 -_08031D4C: .4byte gUnknown_0820A4B4 -_08031D50: - movs r6, 0x1 -_08031D52: - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8031C30 - - thumb_func_start load_gfxc_health_bar -load_gfxc_health_bar: @ 8031D5C - push {lr} - ldr r0, _08031D6C @ =gUnknown_08D09C48 - movs r1, 0x80 - lsls r1, 18 - bl sub_800D238 - pop {r0} - bx r0 - .align 2, 0 -_08031D6C: .4byte gUnknown_08D09C48 - thumb_func_end load_gfxc_health_bar - thumb_func_start battle_load_something battle_load_something: @ 8031D70 push {r4-r6,lr} diff --git a/src/battle_7.c b/src/battle_7.c index 567377222..0e77ec71a 100644 --- a/src/battle_7.c +++ b/src/battle_7.c @@ -62,6 +62,7 @@ extern u8 gUnknown_02024A72[]; extern u8 gUnknown_02024BE0[]; extern u16 gUnknown_02024DE8; extern u32 gUnknown_02024E70[]; +extern u16 gBattleTypeFlags; extern u8 gBattleMonForms[]; extern u8 gBattleAnimPlayerMonIndex; extern u8 gBattleAnimEnemyMonIndex; @@ -76,8 +77,10 @@ extern const struct SpriteSheet gUnknown_0820A47C; extern const struct SpriteSheet gUnknown_0820A484; extern const struct SpriteSheet gUnknown_0820A48C[]; extern const struct SpriteSheet gUnknown_0820A49C[]; +extern const struct SpriteSheet gUnknown_0820A4AC; extern const struct SpriteSheet gUnknown_0820A4B4[]; extern const struct SpritePalette gUnknown_0820A4D4[]; +extern const u8 gUnknown_08D09C48[]; extern const u16 *pokemon_get_pal(struct Pokemon *); extern void sub_80105DC(struct Sprite *); @@ -444,3 +447,62 @@ void unref_sub_8031BA0(void) for (i = 0; i < count; i++) LoadCompressedObjectPic(&gUnknown_0820A4B4[gUnknown_02024A72[i]]); } + +bool8 sub_8031C30(u8 a) +{ + bool8 retVal = FALSE; + + if (a != 0) + { + if (a == 1) + { + LoadSpritePalette(&gUnknown_0820A4D4[0]); + LoadSpritePalette(&gUnknown_0820A4D4[1]); + } + else if (!IsDoubleBattle()) + { + if (a == 2) + { + if (gBattleTypeFlags & 0x80) + LoadCompressedObjectPic(&gUnknown_0820A4AC); + else + LoadCompressedObjectPic(&gUnknown_0820A47C); + } + else if (a == 3) + LoadCompressedObjectPic(&gUnknown_0820A484); + else if (a == 4) + LoadCompressedObjectPic(&gUnknown_0820A4B4[gUnknown_02024A72[0]]); + else if (a == 5) + LoadCompressedObjectPic(&gUnknown_0820A4B4[gUnknown_02024A72[1]]); + else + retVal = TRUE; + } + else + { + if (a == 2) + LoadCompressedObjectPic(&gUnknown_0820A48C[0]); + else if (a == 3) + LoadCompressedObjectPic(&gUnknown_0820A48C[1]); + else if (a == 4) + LoadCompressedObjectPic(&gUnknown_0820A49C[0]); + else if (a == 5) + LoadCompressedObjectPic(&gUnknown_0820A49C[1]); + else if (a == 6) + LoadCompressedObjectPic(&gUnknown_0820A4B4[gUnknown_02024A72[0]]); + else if (a == 7) + LoadCompressedObjectPic(&gUnknown_0820A4B4[gUnknown_02024A72[1]]); + else if (a == 8) + LoadCompressedObjectPic(&gUnknown_0820A4B4[gUnknown_02024A72[2]]); + else if (a == 9) + LoadCompressedObjectPic(&gUnknown_0820A4B4[gUnknown_02024A72[3]]); + else + retVal = TRUE; + } + } + return retVal; +} + +void load_gfxc_health_bar(void) +{ + sub_800D238(gUnknown_08D09C48, (void *)0x02000000); +} |