summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcamthesaxman <cameronghall@cox.net>2017-06-08 11:43:00 -0500
committercamthesaxman <cameronghall@cox.net>2017-06-08 11:43:00 -0500
commitf4e3ad1d345a4ee2c54383d2edf0069bea9029ab (patch)
tree3c711a9bc29d94ce215c30729ae10f76581c083c
parentf597469988d5d1e58fccb203c0e9de351b0c278e (diff)
decompile sub_8031C30 - load_gfxc_health_bar
-rw-r--r--asm/battle_7.s163
-rw-r--r--src/battle_7.c62
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);
+}