summaryrefslogtreecommitdiff
path: root/src/battle/battle_controller_player.c
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-02-07 00:40:22 -0500
committerPikalaxALT <pikalaxalt@gmail.com>2018-02-07 00:40:22 -0500
commitdcd35c895cb1c5680f92360cb084e6924ed3b76f (patch)
treee3b12bfd9f67e1237832602f03fe5bfd7380ab0b /src/battle/battle_controller_player.c
parenteff6795887cc27f2c5139df9a6da70f4f02338b4 (diff)
parentc79d259508d47a8b5bde5b9060b8fe8c6989bd44 (diff)
Merge branch 'master' into unk_text_8095904
Diffstat (limited to 'src/battle/battle_controller_player.c')
-rw-r--r--src/battle/battle_controller_player.c889
1 files changed, 800 insertions, 89 deletions
diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c
index 70773473d..e03e21849 100644
--- a/src/battle/battle_controller_player.c
+++ b/src/battle/battle_controller_player.c
@@ -35,13 +35,15 @@ struct MovePpInfo
#define SUB_803037C_TILE_DATA_OFFSET 444
#endif
-extern u16 gUnknown_030042A4;
-extern u16 gUnknown_030042A0;
+extern u16 gBattle_BG0_X;
+extern u16 gBattle_BG0_Y;
extern struct Window gUnknown_03004210;
extern void (*gBattleBankFunc[])(void);
+extern u32 gOamMatrixAllocBitmap;
+extern u8 gUnknown_020297ED;
extern u8 gActiveBank;
extern u8 gActionSelectionCursor[];
extern u8 gDisplayedStringBattle[];
@@ -67,12 +69,12 @@ extern u8 gUnknown_02024E68[];
extern struct SpriteTemplate gUnknown_02024E8C;
extern u8 gAnimMoveTurn;
extern u8 gUnknown_02038470[];
-extern u16 gUnknown_030041B0;
+extern u16 gBattle_BG3_X;
extern u16 gBattle_BG1_Y;
-extern u16 gUnknown_030041B8;
+extern u16 gBattle_BG3_Y;
extern u16 gBattle_BG2_Y;
extern u16 gBattle_BG2_X;
-extern u16 gUnknown_030042A4;
+extern u16 gBattle_BG0_X;
extern u16 gBattle_BG1_X;
extern u8 gUnknown_03004344;
extern u8 gUnknown_0300434C[];
@@ -87,7 +89,7 @@ extern void sub_802E220();
extern void sub_802E2D4();
extern void sub_802E004(void);
extern void sub_802DF30(void);
-extern void BattleMusicStop(void);
+extern void BattleStopLowHpSound(void);
extern void PlayerBufferExecCompleted(void);
extern void bx_t1_healthbar_update(void);
extern void nullsub_91(void);
@@ -98,7 +100,7 @@ extern void move_anim_start_t2_for_situation();
extern void bx_blink_t1(void);
extern void sub_8047858();
extern u8 GetBankSide(u8);
-extern void sub_80E43C0();
+extern void StartBattleIntroAnim();
extern void oamt_add_pos2_onto_pos1();
extern void sub_8078B34(struct Sprite *);
extern void StoreSpriteCallbackInData();
@@ -118,7 +120,7 @@ extern void sub_8031F24(void);
extern void sub_80324BC();
extern u8 sub_8031720();
extern void bx_wait_t1(void);
-extern u8 GetBankByPlayerAI(u8);
+extern u8 GetBankByIdentity(u8);
extern void sub_802DE10(void);
extern void sub_80105EC(struct Sprite *);
extern void sub_802D274(void);
@@ -148,8 +150,8 @@ extern u8 gAbsentBankFlags;
extern u8 gUnknown_03004344;
extern u8 gNoOfAllBanks;
extern u16 gBattlePartyID[];
-extern u16 gUnknown_030042A0;
-extern u16 gUnknown_030042A4;
+extern u16 gBattle_BG0_Y;
+extern u16 gBattle_BG0_X;
extern struct Window gUnknown_03004210;
extern const u8 BattleText_SwitchWhich[];
extern u8 gUnknown_03004348;
@@ -167,7 +169,7 @@ extern const u8 BattleText_LinkStandby[];
extern void dp11b_obj_instanciate(u8, u8, s8, s8);
extern u8 GetBankIdentity(u8);
-extern u8 GetBankByPlayerAI(u8);
+extern u8 GetBankByIdentity(u8);
extern void dp11b_obj_free(u8, u8);
extern void sub_8010520(struct Sprite *);
extern void sub_8010574(struct Sprite *);
@@ -445,7 +447,7 @@ void sub_802C098(void)
{
if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
&& GetBankIdentity(gActiveBank) == 2
- && !(gAbsentBankFlags & gBitTable[GetBankByPlayerAI(0)])
+ && !(gAbsentBankFlags & gBitTable[GetBankByIdentity(0)])
&& !(gBattleTypeFlags & BATTLE_TYPE_MULTI))
{
if (gBattleBufferA[gActiveBank][1] == 1)
@@ -529,7 +531,7 @@ void sub_802C2EC(void)
i--;
if (i < 0)
i = 3;
- gUnknown_03004344 = GetBankByPlayerAI(arr[i]);
+ gUnknown_03004344 = GetBankByIdentity(arr[i]);
} while(gUnknown_03004344 == gNoOfAllBanks);
i = 0;
switch (GetBankIdentity(gUnknown_03004344))
@@ -576,7 +578,7 @@ void sub_802C2EC(void)
i++;
if (i > 3)
i = 0;
- gUnknown_03004344 = GetBankByPlayerAI(arr[i]);
+ gUnknown_03004344 = GetBankByIdentity(arr[i]);
} while (gUnknown_03004344 == gNoOfAllBanks);
i = 0;
switch (GetBankIdentity(gUnknown_03004344))
@@ -617,9 +619,14 @@ struct ChooseMoveStruct
const u8 gUnknown_081FAE80[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW WHITE LIGHT_BLUE WHITE2}");
+void debug_sub_8030C24(void);
+
void sub_802C68C(void)
{
u32 r8 = 0;
+#if DEBUG
+ u8 count = 0;
+#endif
struct ChooseMoveStruct *r6 = (struct ChooseMoveStruct *)(gBattleBufferA[gActiveBank] + 4);
if (gMain.newKeys & A_BUTTON)
@@ -636,7 +643,7 @@ void sub_802C68C(void)
if (r4 & 0x10)
gUnknown_03004344 = gActiveBank;
else
- gUnknown_03004344 = GetBankByPlayerAI((GetBankIdentity(gActiveBank) & 1) ^ 1);
+ gUnknown_03004344 = GetBankByIdentity((GetBankIdentity(gActiveBank) & 1) ^ 1);
if (gBattleBufferA[gActiveBank][1] == 0)
{
@@ -668,10 +675,10 @@ void sub_802C68C(void)
gBattleBankFunc[gActiveBank] = sub_802C2EC;
if (r4 & 0x12)
gUnknown_03004344 = gActiveBank;
- else if (gAbsentBankFlags & gBitTable[GetBankByPlayerAI(1)])
- gUnknown_03004344 = GetBankByPlayerAI(3);
+ else if (gAbsentBankFlags & gBitTable[GetBankByIdentity(1)])
+ gUnknown_03004344 = GetBankByIdentity(3);
else
- gUnknown_03004344 = GetBankByPlayerAI(1);
+ gUnknown_03004344 = GetBankByIdentity(1);
gSprites[gObjectBankIDs[gUnknown_03004344]].callback = sub_8010520;
}
}
@@ -679,8 +686,8 @@ void sub_802C68C(void)
{
DestroyMenuCursor();
PlaySE(SE_SELECT);
- gUnknown_030042A4 = 0;
- gUnknown_030042A0 = 320;
+ gBattle_BG0_X = 0;
+ gBattle_BG0_Y = 320;
Emitcmd33(1, 10, 0xFFFF);
PlayerBufferExecCompleted();
}
@@ -744,12 +751,49 @@ void sub_802C68C(void)
else
gUnknown_03004344 = gMoveSelectionCursor[gActiveBank] + 1;
sub_802E3B4(gUnknown_03004344, 27);
- FillWindowRect(&gUnknown_03004210, 0x1016, 0x17, 0x37, 0x1C, 0x3A);
- InitWindow(&gUnknown_03004210, BattleText_SwitchWhich, 0x290, 0x17, 0x37);
- sub_8002F44(&gUnknown_03004210);
+ Text_FillWindowRect(&gUnknown_03004210, 0x1016, 0x17, 0x37, 0x1C, 0x3A);
+ Text_InitWindow(&gUnknown_03004210, BattleText_SwitchWhich, 0x290, 0x17, 0x37);
+ Text_PrintWindow8002F44(&gUnknown_03004210);
gBattleBankFunc[gActiveBank] = sub_802CA60;
}
}
+#if DEBUG
+ else if (gUnknown_020297ED == 1 && (gMain.newKeys & START_BUTTON))
+ {
+ const u8 *moveName;
+ s32 i;
+
+ Text_FillWindowRect(&gUnknown_03004210, 0x1016, 1, 0x37, 16, 0x3A);
+ moveName = gMoveNames[GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1)];
+ Text_InitWindowAndPrintText(&gUnknown_03004210, moveName, 0x100, 2, 0x37);
+ ConvertIntToDecimalStringN(
+ gDisplayedStringBattle,
+ GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1),
+ 2, 3);
+ Text_InitWindowAndPrintText(&gUnknown_03004210, gDisplayedStringBattle, 0x110, 10, 0x37);
+ Text_InitWindowAndPrintText(&gUnknown_03004210, gString_TurnJP, 0x116, 1, 0x39);
+ ConvertIntToDecimalStringN(gDisplayedStringBattle, gAnimMoveTurn, 2, 3);
+ Text_InitWindowAndPrintText(&gUnknown_03004210, gDisplayedStringBattle, 0x11C, 4, 0x39);
+ for (i = 0; i < 64; i++)
+ {
+ if (gSprites[i].inUse)
+ count++;
+ }
+ ConvertIntToDecimalStringN(gDisplayedStringBattle, count, 2, 2);
+ Text_InitWindowAndPrintText(&gUnknown_03004210, gDisplayedStringBattle, 0x122, 8, 0x39);
+ count = GetTaskCount();
+ ConvertIntToDecimalStringN(gDisplayedStringBattle, count, 2, 2);
+ Text_InitWindowAndPrintText(&gUnknown_03004210, gDisplayedStringBattle, 0x126, 11, 0x39);
+ for (i = 0, count = 0; i < 32; i++)
+ {
+ if (gOamMatrixAllocBitmap & (1 << i))
+ count++;
+ }
+ ConvertIntToDecimalStringN(gDisplayedStringBattle, count, 2, 2);
+ Text_InitWindowAndPrintText(&gUnknown_03004210, gDisplayedStringBattle, 0x12A, 14, 0x39);
+ gBattleBankFunc[gActiveBank] = debug_sub_8030C24;
+ }
+#endif
}
extern const u8 BattleText_Format[];
@@ -853,9 +897,9 @@ void sub_802CA60(void)
gBattleBankFunc[gActiveBank] = sub_802C68C;
gMoveSelectionCursor[gActiveBank] = gUnknown_03004344;
sub_802E3B4(gMoveSelectionCursor[gActiveBank], 0);
- FillWindowRect(&gUnknown_03004210, 0x1016, 0x17, 0x37, 0x1C, 0x3A);
- InitWindow(&gUnknown_03004210, BattleText_PP, 0x290, 0x17, 0x37);
- sub_8002F44(&gUnknown_03004210);
+ Text_FillWindowRect(&gUnknown_03004210, 0x1016, 0x17, 0x37, 0x1C, 0x3A);
+ Text_InitWindow(&gUnknown_03004210, BattleText_PP, 0x290, 0x17, 0x37);
+ Text_PrintWindow8002F44(&gUnknown_03004210);
sub_802E220();
sub_802E2D4();
}
@@ -866,9 +910,9 @@ void sub_802CA60(void)
sub_802E3B4(gMoveSelectionCursor[gActiveBank], 0);
sub_802E12C(gMoveSelectionCursor[gActiveBank], BattleText_Format);
gBattleBankFunc[gActiveBank] = sub_802C68C;
- FillWindowRect(&gUnknown_03004210, 0x1016, 0x17, 0x37, 0x1C, 0x3A);
- InitWindow(&gUnknown_03004210, BattleText_PP, 0x290, 0x17, 0x37);
- sub_8002F44(&gUnknown_03004210);
+ Text_FillWindowRect(&gUnknown_03004210, 0x1016, 0x17, 0x37, 0x1C, 0x3A);
+ Text_InitWindow(&gUnknown_03004210, BattleText_PP, 0x290, 0x17, 0x37);
+ Text_PrintWindow8002F44(&gUnknown_03004210);
sub_802E220();
sub_802E2D4();
}
@@ -956,6 +1000,688 @@ void sub_802D18C(void)
}
}
+#if DEBUG
+__attribute__((naked))
+void debug_sub_8030C24(void)
+{
+ asm("\
+ push {r4, r5, r6, lr}\n\
+ add sp, sp, #0xfffffff4\n\
+ ldr r1, ._293 @ gBattlePartyID\n\
+ ldr r4, ._293 + 4 @ gActiveBank\n\
+ ldrb r0, [r4]\n\
+ lsl r0, r0, #0x1\n\
+ add r0, r0, r1\n\
+ ldrh r1, [r0]\n\
+ mov r0, #0x64\n\
+ mul r0, r0, r1\n\
+ ldr r1, ._293 + 8 @ gPlayerParty\n\
+ add r0, r0, r1\n\
+ mov r1, #0xd\n\
+ bl GetMonData\n\
+ add r1, sp, #0x8\n\
+ strh r0, [r1]\n\
+ ldr r5, ._293 + 12 @ gMain\n\
+ ldrh r1, [r5, #0x30]\n\
+ cmp r1, #0x20\n\
+ bne ._286 @cond_branch\n\
+ b ._287\n\
+._286:\n\
+ cmp r1, #0x20\n\
+ bgt ._288 @cond_branch\n\
+ cmp r1, #0x8\n\
+ beq ._289 @cond_branch\n\
+ cmp r1, #0x8\n\
+ bgt ._290 @cond_branch\n\
+ cmp r1, #0x4\n\
+ beq ._291 @cond_branch\n\
+ b ._348\n\
+._294:\n\
+ .align 2, 0\n\
+._293:\n\
+ .word gBattlePartyID\n\
+ .word gActiveBank\n\
+ .word gPlayerParty\n\
+ .word gMain\n\
+._290:\n\
+ cmp r1, #0x10\n\
+ bne ._295 @cond_branch\n\
+ b ._296\n\
+._295:\n\
+ b ._348\n\
+._288:\n\
+ cmp r1, #0x80\n\
+ bne ._298 @cond_branch\n\
+ b ._302\n\
+._298:\n\
+ cmp r1, #0x80\n\
+ bgt ._300 @cond_branch\n\
+ cmp r1, #0x40\n\
+ bne ._301 @cond_branch\n\
+ b ._302\n\
+._301:\n\
+ b ._348\n\
+._300:\n\
+ mov r0, #0x80\n\
+ lsl r0, r0, #0x1\n\
+ cmp r1, r0\n\
+ bne ._304 @cond_branch\n\
+ b ._305\n\
+._304:\n\
+ mov r0, #0x80\n\
+ lsl r0, r0, #0x2\n\
+ cmp r1, r0\n\
+ bne ._306 @cond_branch\n\
+ b ._307\n\
+._306:\n\
+ b ._348\n\
+._289:\n\
+ ldrb r0, [r4]\n\
+ mov r1, #0x1\n\
+ bl dp11b_obj_free\n\
+ ldrb r0, [r4]\n\
+ mov r1, #0x0\n\
+ bl dp11b_obj_free\n\
+ ldr r0, ._312 @ gBankAttacker\n\
+ ldrb r2, [r4]\n\
+ strb r2, [r0]\n\
+ ldrh r1, [r5, #0x28]\n\
+ mov r0, #0x2\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._310 @cond_branch\n\
+ ldr r0, ._312 + 4 @ gBattleTypeFlags\n\
+ ldrh r1, [r0]\n\
+ mov r0, #0x1\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._310 @cond_branch\n\
+ ldr r0, ._312 + 8 @ gBankTarget\n\
+ mov r1, #0x2\n\
+ eor r1, r1, r2\n\
+ strb r1, [r0]\n\
+ b ._311\n\
+._313:\n\
+ .align 2, 0\n\
+._312:\n\
+ .word gBankAttacker\n\
+ .word gBattleTypeFlags\n\
+ .word gBankTarget\n\
+._310:\n\
+ ldr r0, ._317 @ gMain\n\
+ ldrh r1, [r0, #0x28]\n\
+ mov r2, #0x1\n\
+ add r0, r2, #0\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._315 @cond_branch\n\
+ ldr r0, ._317 + 4 @ gBattleTypeFlags\n\
+ ldrh r1, [r0]\n\
+ add r0, r2, #0\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._315 @cond_branch\n\
+ mov r0, #0x3\n\
+ b ._316\n\
+._318:\n\
+ .align 2, 0\n\
+._317:\n\
+ .word gMain\n\
+ .word gBattleTypeFlags\n\
+._315:\n\
+ mov r0, #0x1\n\
+._316:\n\
+ bl GetBankByIdentity\n\
+ ldr r1, ._320 @ gBankTarget\n\
+ strb r0, [r1]\n\
+._311:\n\
+ mov r0, #0x0\n\
+ bl sub_80326EC\n\
+ add r0, sp, #0x8\n\
+ ldrh r0, [r0]\n\
+ bl DoMoveAnim\n\
+ ldr r1, ._320 + 4 @ gBattleBankFunc\n\
+ ldr r0, ._320 + 8 @ gActiveBank\n\
+ ldrb r0, [r0]\n\
+ b ._332\n\
+._321:\n\
+ .align 2, 0\n\
+._320:\n\
+ .word gBankTarget\n\
+ .word gBattleBankFunc\n\
+ .word gActiveBank\n\
+._291:\n\
+ ldrb r0, [r4]\n\
+ mov r1, #0x1\n\
+ bl dp11b_obj_free\n\
+ ldrb r0, [r4]\n\
+ mov r1, #0x0\n\
+ bl dp11b_obj_free\n\
+ ldr r0, ._325 @ gBankTarget\n\
+ ldrb r2, [r4]\n\
+ strb r2, [r0]\n\
+ ldrh r1, [r5, #0x28]\n\
+ mov r0, #0x2\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._323 @cond_branch\n\
+ ldr r0, ._325 + 4 @ gBattleTypeFlags\n\
+ ldrh r1, [r0]\n\
+ mov r0, #0x1\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._323 @cond_branch\n\
+ ldr r0, ._325 + 8 @ gBankAttacker\n\
+ mov r1, #0x2\n\
+ eor r1, r1, r2\n\
+ strb r1, [r0]\n\
+ b ._324\n\
+._326:\n\
+ .align 2, 0\n\
+._325:\n\
+ .word gBankTarget\n\
+ .word gBattleTypeFlags\n\
+ .word gBankAttacker\n\
+._323:\n\
+ ldr r0, ._330 @ gMain\n\
+ ldrh r1, [r0, #0x28]\n\
+ mov r2, #0x1\n\
+ add r0, r2, #0\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._328 @cond_branch\n\
+ ldr r0, ._330 + 4 @ gBattleTypeFlags\n\
+ ldrh r1, [r0]\n\
+ add r0, r2, #0\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._328 @cond_branch\n\
+ mov r0, #0x3\n\
+ b ._329\n\
+._331:\n\
+ .align 2, 0\n\
+._330:\n\
+ .word gMain\n\
+ .word gBattleTypeFlags\n\
+._328:\n\
+ mov r0, #0x1\n\
+._329:\n\
+ bl GetBankByIdentity\n\
+ ldr r1, ._333 @ gBankAttacker\n\
+ strb r0, [r1]\n\
+._324:\n\
+ mov r0, #0x0\n\
+ bl sub_80326EC\n\
+ add r0, sp, #0x8\n\
+ ldrh r0, [r0]\n\
+ bl DoMoveAnim\n\
+ ldr r1, ._333 + 4 @ gBattleBankFunc\n\
+ ldr r0, ._333 + 8 @ gActiveBank\n\
+ ldrb r0, [r0]\n\
+ b ._332\n\
+._334:\n\
+ .align 2, 0\n\
+._333:\n\
+ .word gBankAttacker\n\
+ .word gBattleBankFunc\n\
+ .word gActiveBank\n\
+._305:\n\
+ ldrh r1, [r5, #0x28]\n\
+ mov r0, #0x2\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._336 @cond_branch\n\
+ ldr r0, ._338 @ gBattleTypeFlags\n\
+ ldrh r1, [r0]\n\
+ mov r0, #0x1\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._336 @cond_branch\n\
+ ldrb r0, [r4]\n\
+ mov r1, #0x1\n\
+ bl dp11b_obj_free\n\
+ ldrb r0, [r4]\n\
+ mov r1, #0x0\n\
+ bl dp11b_obj_free\n\
+ mov r0, #0x3\n\
+ bl GetBankByIdentity\n\
+ ldr r1, ._338 + 4 @ gBankAttacker\n\
+ strb r0, [r1]\n\
+ mov r0, #0x1\n\
+ b ._337\n\
+._339:\n\
+ .align 2, 0\n\
+._338:\n\
+ .word gBattleTypeFlags\n\
+ .word gBankAttacker\n\
+._336:\n\
+ add r0, sp, #0x8\n\
+ mov r1, #0x0\n\
+ ldsh r0, [r0, r1]\n\
+ add r0, r0, #0x9\n\
+ add r1, sp, #0x8\n\
+ strh r0, [r1]\n\
+._296:\n\
+ add r0, sp, #0x8\n\
+ mov r2, #0x0\n\
+ ldsh r0, [r0, r2]\n\
+ add r0, r0, #0x1\n\
+ lsl r2, r0, #0x10\n\
+ add r1, sp, #0x8\n\
+ strh r0, [r1]\n\
+ mov r0, #0xb1\n\
+ lsl r0, r0, #0x11\n\
+ cmp r2, r0\n\
+ ble ._347 @cond_branch\n\
+ mov r1, #0x1\n\
+ add r0, sp, #0x8\n\
+ strh r1, [r0]\n\
+ b ._347\n\
+._307:\n\
+ ldrh r1, [r5, #0x28]\n\
+ mov r0, #0x2\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._343 @cond_branch\n\
+ ldr r0, ._345 @ gBattleTypeFlags\n\
+ ldrh r1, [r0]\n\
+ mov r0, #0x1\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._343 @cond_branch\n\
+ ldrb r0, [r4]\n\
+ mov r1, #0x1\n\
+ bl dp11b_obj_free\n\
+ ldrb r0, [r4]\n\
+ mov r1, #0x0\n\
+ bl dp11b_obj_free\n\
+ mov r0, #0x1\n\
+ bl GetBankByIdentity\n\
+ ldr r1, ._345 + 4 @ gBankAttacker\n\
+ strb r0, [r1]\n\
+ mov r0, #0x3\n\
+._337:\n\
+ bl GetBankByIdentity\n\
+ ldr r1, ._345 + 8 @ gBankTarget\n\
+ strb r0, [r1]\n\
+ mov r0, #0x0\n\
+ bl sub_80326EC\n\
+ add r0, sp, #0x8\n\
+ ldrh r0, [r0]\n\
+ bl DoMoveAnim\n\
+ ldr r1, ._345 + 12 @ gBattleBankFunc\n\
+ ldrb r0, [r4]\n\
+._332:\n\
+ lsl r0, r0, #0x2\n\
+ add r0, r0, r1\n\
+ ldr r1, ._345 + 16 @ debug_sub_803107C\n\
+ str r1, [r0]\n\
+ b ._348\n\
+._346:\n\
+ .align 2, 0\n\
+._345:\n\
+ .word gBattleTypeFlags\n\
+ .word gBankAttacker\n\
+ .word gBankTarget\n\
+ .word gBattleBankFunc\n\
+ .word debug_sub_803107C+1\n\
+._343:\n\
+ add r1, sp, #0x8\n\
+ add r0, r1, #0\n\
+ ldrh r0, [r0]\n\
+ sub r0, r0, #0x9\n\
+ strh r0, [r1]\n\
+._287:\n\
+ add r1, sp, #0x8\n\
+ add r0, r1, #0\n\
+ ldrh r0, [r0]\n\
+ sub r0, r0, #0x1\n\
+ strh r0, [r1]\n\
+ lsl r0, r0, #0x10\n\
+ cmp r0, #0\n\
+ bgt ._347 @cond_branch\n\
+ mov r2, #0xb1\n\
+ lsl r2, r2, #0x1\n\
+ add r0, r2, #0\n\
+ strh r0, [r1]\n\
+._347:\n\
+ ldr r1, ._349 @ gBattlePartyID\n\
+ ldr r4, ._349 + 4 @ gActiveBank\n\
+ ldrb r0, [r4]\n\
+ lsl r0, r0, #0x1\n\
+ add r0, r0, r1\n\
+ ldrh r1, [r0]\n\
+ mov r0, #0x64\n\
+ mul r0, r0, r1\n\
+ ldr r1, ._349 + 8 @ gPlayerParty\n\
+ add r0, r0, r1\n\
+ mov r1, #0xd\n\
+ add r2, sp, #0x8\n\
+ bl SetMonData\n\
+ ldr r2, ._349 + 12 @ gBattleMons\n\
+ ldrb r1, [r4]\n\
+ mov r0, #0x58\n\
+ mul r0, r0, r1\n\
+ add r0, r0, r2\n\
+ add r1, sp, #0x8\n\
+ ldrh r1, [r1]\n\
+ strh r1, [r0, #0xc]\n\
+ ldr r5, ._349 + 16 @ gUnknown_03004210\n\
+ ldr r1, ._349 + 20 @ 0x1016\n\
+ mov r0, #0x10\n\
+ str r0, [sp]\n\
+ mov r0, #0x38\n\
+ str r0, [sp, #0x4]\n\
+ add r0, r5, #0\n\
+ mov r2, #0x1\n\
+ mov r3, #0x37\n\
+ bl Text_FillWindowRect\n\
+ add r0, sp, #0x8\n\
+ mov r2, #0x0\n\
+ ldsh r1, [r0, r2]\n\
+ mov r0, #0xd\n\
+ mul r1, r1, r0\n\
+ ldr r0, ._349 + 24 @ gMoveNames\n\
+ add r1, r1, r0\n\
+ mov r2, #0x80\n\
+ lsl r2, r2, #0x1\n\
+ mov r6, #0x37\n\
+ str r6, [sp]\n\
+ add r0, r5, #0\n\
+ mov r3, #0x2\n\
+ bl Text_InitWindowAndPrintText\n\
+ ldr r4, ._349 + 28 @ gDisplayedStringBattle\n\
+ add r0, sp, #0x8\n\
+ mov r2, #0x0\n\
+ ldsh r1, [r0, r2]\n\
+ add r0, r4, #0\n\
+ mov r2, #0x2\n\
+ mov r3, #0x3\n\
+ bl ConvertIntToDecimalStringN\n\
+ mov r2, #0x88\n\
+ lsl r2, r2, #0x1\n\
+ str r6, [sp]\n\
+ add r0, r5, #0\n\
+ add r1, r4, #0\n\
+ mov r3, #0xa\n\
+ bl Text_InitWindowAndPrintText\n\
+ b ._348\n\
+._350:\n\
+ .align 2, 0\n\
+._349:\n\
+ .word gBattlePartyID\n\
+ .word gActiveBank\n\
+ .word gPlayerParty\n\
+ .word gBattleMons\n\
+ .word gUnknown_03004210\n\
+ .word 0x1016\n\
+ .word gMoveNames\n\
+ .word gDisplayedStringBattle\n\
+._302:\n\
+ ldr r0, ._353 @ gMain\n\
+ ldrh r0, [r0, #0x30]\n\
+ cmp r0, #0x40\n\
+ bne ._351 @cond_branch\n\
+ ldr r1, ._353 + 4 @ gAnimMoveTurn\n\
+ ldrb r0, [r1]\n\
+ sub r0, r0, #0x1\n\
+ b ._352\n\
+._354:\n\
+ .align 2, 0\n\
+._353:\n\
+ .word gMain\n\
+ .word gAnimMoveTurn\n\
+._351:\n\
+ ldr r1, ._359 @ gAnimMoveTurn\n\
+ ldrb r0, [r1]\n\
+ add r0, r0, #0x1\n\
+._352:\n\
+ strb r0, [r1]\n\
+ ldr r4, ._359 + 4 @ gDisplayedStringBattle\n\
+ ldrb r1, [r1]\n\
+ add r0, r4, #0\n\
+ mov r2, #0x2\n\
+ mov r3, #0x3\n\
+ bl ConvertIntToDecimalStringN\n\
+ ldr r0, ._359 + 8 @ gUnknown_03004210\n\
+ mov r2, #0x8e\n\
+ lsl r2, r2, #0x1\n\
+ mov r1, #0x39\n\
+ str r1, [sp]\n\
+ add r1, r4, #0\n\
+ mov r3, #0x4\n\
+ bl Text_InitWindowAndPrintText\n\
+._348:\n\
+ ldr r0, ._359 + 12 @ gMain\n\
+ ldrh r2, [r0, #0x28]\n\
+ mov r1, #0xc0\n\
+ lsl r1, r1, #0x2\n\
+ add r0, r1, #0\n\
+ and r0, r0, r2\n\
+ cmp r0, r1\n\
+ bne ._355 @cond_branch\n\
+ mov r4, #0x0\n\
+ ldr r5, ._359 + 4 @ gDisplayedStringBattle\n\
+ ldr r6, ._359 + 8 @ gUnknown_03004210\n\
+._361:\n\
+ add r0, r5, #0\n\
+ ldr r1, ._359 + 16 @ BattleText_Format\n\
+ bl StringCopy\n\
+ ldr r1, ._359 + 20 @ gBattlePartyID\n\
+ ldr r0, ._359 + 24 @ gActiveBank\n\
+ ldrb r0, [r0]\n\
+ lsl r0, r0, #0x1\n\
+ add r0, r0, r1\n\
+ ldrh r1, [r0]\n\
+ mov r0, #0x64\n\
+ mul r0, r0, r1\n\
+ ldr r1, ._359 + 28 @ gPlayerParty\n\
+ add r0, r0, r1\n\
+ add r1, r4, #0\n\
+ add r1, r1, #0xd\n\
+ bl GetMonData\n\
+ mov r1, #0xd\n\
+ mul r1, r1, r0\n\
+ ldr r0, ._359 + 32 @ gMoveNames\n\
+ add r1, r1, r0\n\
+ add r0, r5, #0\n\
+ bl StringAppend\n\
+ lsl r0, r4, #0x14\n\
+ mov r1, #0x80\n\
+ lsl r1, r1, #0x11\n\
+ add r0, r0, r1\n\
+ lsr r2, r0, #0x10\n\
+ mov r0, #0x1\n\
+ and r0, r0, r4\n\
+ mov r3, #0x2\n\
+ cmp r0, #0\n\
+ beq ._356 @cond_branch\n\
+ mov r3, #0xa\n\
+._356:\n\
+ cmp r4, #0x1\n\
+ bhi ._357 @cond_branch\n\
+ mov r0, #0x37\n\
+ b ._358\n\
+._360:\n\
+ .align 2, 0\n\
+._359:\n\
+ .word gAnimMoveTurn\n\
+ .word gDisplayedStringBattle\n\
+ .word gUnknown_03004210\n\
+ .word gMain\n\
+ .word BattleText_Format\n\
+ .word gBattlePartyID\n\
+ .word gActiveBank\n\
+ .word gPlayerParty\n\
+ .word gMoveNames\n\
+._357:\n\
+ mov r0, #0x39\n\
+._358:\n\
+ str r0, [sp]\n\
+ add r0, r6, #0\n\
+ add r1, r5, #0\n\
+ bl Text_InitWindow\n\
+ ldr r0, ._362 @ gUnknown_03004210\n\
+ bl Text_PrintWindow8002F44\n\
+ add r0, r4, #1\n\
+ lsl r0, r0, #0x18\n\
+ lsr r4, r0, #0x18\n\
+ cmp r4, #0x3\n\
+ bls ._361 @cond_branch\n\
+ ldr r1, ._362 + 4 @ gBattleBankFunc\n\
+ ldr r0, ._362 + 8 @ gActiveBank\n\
+ ldrb r0, [r0]\n\
+ lsl r0, r0, #0x2\n\
+ add r0, r0, r1\n\
+ ldr r1, ._362 + 12 @ sub_802C68C\n\
+ str r1, [r0]\n\
+._355:\n\
+ add sp, sp, #0xc\n\
+ pop {r4, r5, r6}\n\
+ pop {r0}\n\
+ bx r0\n\
+._363:\n\
+ .align 2, 0\n\
+._362:\n\
+ .word gUnknown_03004210\n\
+ .word gBattleBankFunc\n\
+ .word gActiveBank\n\
+ .word sub_802C68C+1");
+}
+
+__attribute__((naked))
+void debug_sub_803107C(void)
+{
+ asm("\
+ push {r4, r5, r6, r7, lr}\n\
+ add sp, sp, #0xfffffffc\n\
+ mov r7, #0x0\n\
+ ldr r0, ._369 @ gAnimScriptCallback\n\
+ ldr r0, [r0]\n\
+ bl _call_via_r0\n\
+ ldr r0, ._369 + 4 @ gAnimScriptActive\n\
+ ldrb r0, [r0]\n\
+ cmp r0, #0\n\
+ bne ._364 @cond_branch\n\
+ mov r0, #0x1\n\
+ bl sub_80326EC\n\
+ ldr r4, ._369 + 8 @ gActiveBank\n\
+ ldrb r0, [r4]\n\
+ mov r1, #0x1\n\
+ mov r2, #0x7\n\
+ mov r3, #0x1\n\
+ bl dp11b_obj_instanciate\n\
+ ldrb r0, [r4]\n\
+ mov r1, #0x0\n\
+ mov r2, #0x7\n\
+ mov r3, #0x1\n\
+ bl dp11b_obj_instanciate\n\
+ ldr r0, ._369 + 12 @ gSprites\n\
+ add r2, r0, #0\n\
+ add r2, r2, #0x3e\n\
+ mov r1, #0x3f\n\
+._366:\n\
+ ldrb r0, [r2]\n\
+ lsl r0, r0, #0x1f\n\
+ cmp r0, #0\n\
+ beq ._365 @cond_branch\n\
+ add r0, r7, #1\n\
+ lsl r0, r0, #0x18\n\
+ lsr r7, r0, #0x18\n\
+._365:\n\
+ add r2, r2, #0x44\n\
+ sub r1, r1, #0x1\n\
+ cmp r1, #0\n\
+ bge ._366 @cond_branch\n\
+ ldr r4, ._369 + 16 @ gDisplayedStringBattle\n\
+ add r0, r4, #0\n\
+ add r1, r7, #0\n\
+ mov r2, #0x2\n\
+ mov r3, #0x2\n\
+ bl ConvertIntToDecimalStringN\n\
+ ldr r6, ._369 + 20 @ gUnknown_03004210\n\
+ mov r2, #0x91\n\
+ lsl r2, r2, #0x1\n\
+ mov r5, #0x39\n\
+ str r5, [sp]\n\
+ add r0, r6, #0\n\
+ add r1, r4, #0\n\
+ mov r3, #0x8\n\
+ bl Text_InitWindowAndPrintText\n\
+ bl GetTaskCount\n\
+ lsl r0, r0, #0x18\n\
+ lsr r7, r0, #0x18\n\
+ add r0, r4, #0\n\
+ add r1, r7, #0\n\
+ mov r2, #0x2\n\
+ mov r3, #0x2\n\
+ bl ConvertIntToDecimalStringN\n\
+ mov r2, #0x93\n\
+ lsl r2, r2, #0x1\n\
+ str r5, [sp]\n\
+ add r0, r6, #0\n\
+ add r1, r4, #0\n\
+ mov r3, #0xb\n\
+ bl Text_InitWindowAndPrintText\n\
+ mov r1, #0x0\n\
+ mov r7, #0x0\n\
+ ldr r0, ._369 + 24 @ gOamMatrixAllocBitmap\n\
+ mov r3, #0x1\n\
+ ldr r2, [r0]\n\
+._368:\n\
+ add r0, r3, #0\n\
+ LSL r0, r1\n\
+ and r0, r0, r2\n\
+ cmp r0, #0\n\
+ beq ._367 @cond_branch\n\
+ add r0, r7, #1\n\
+ lsl r0, r0, #0x18\n\
+ lsr r7, r0, #0x18\n\
+._367:\n\
+ add r1, r1, #0x1\n\
+ cmp r1, #0x1f\n\
+ ble ._368 @cond_branch\n\
+ ldr r4, ._369 + 16 @ gDisplayedStringBattle\n\
+ add r0, r4, #0\n\
+ add r1, r7, #0\n\
+ mov r2, #0x2\n\
+ mov r3, #0x2\n\
+ bl ConvertIntToDecimalStringN\n\
+ ldr r0, ._369 + 20 @ gUnknown_03004210\n\
+ mov r2, #0x95\n\
+ lsl r2, r2, #0x1\n\
+ mov r1, #0x39\n\
+ str r1, [sp]\n\
+ add r1, r4, #0\n\
+ mov r3, #0xe\n\
+ bl Text_InitWindowAndPrintText\n\
+ ldr r1, ._369 + 28 @ gBattleBankFunc\n\
+ ldr r0, ._369 + 8 @ gActiveBank\n\
+ ldrb r0, [r0]\n\
+ lsl r0, r0, #0x2\n\
+ add r0, r0, r1\n\
+ ldr r1, ._369 + 32 @ debug_sub_8030C24\n\
+ str r1, [r0]\n\
+._364:\n\
+ add sp, sp, #0x4\n\
+ pop {r4, r5, r6, r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+._370:\n\
+ .align 2, 0\n\
+._369:\n\
+ .word gAnimScriptCallback\n\
+ .word gAnimScriptActive\n\
+ .word gActiveBank\n\
+ .word gSprites\n\
+ .word gDisplayedStringBattle\n\
+ .word gUnknown_03004210\n\
+ .word gOamMatrixAllocBitmap\n\
+ .word gBattleBankFunc\n\
+ .word debug_sub_8030C24+1");
+}
+#endif
+
void sub_802D204(void)
{
if (gSprites[gObjectBankIDs[gActiveBank]].callback == SpriteCallbackDummy)
@@ -1019,9 +1745,9 @@ void sub_802D31C(void)
m4aMPlayContinue(&gMPlay_BGM);
else
m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 256);
- sub_80324F8(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
+ HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
if (IsDoubleBattle())
- sub_80324F8(&gPlayerParty[gBattlePartyID[gActiveBank ^ 2]], gActiveBank ^ 2);
+ HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank ^ 2]], gActiveBank ^ 2);
ewram17810[gActiveBank].unk9 = 3;
gBattleBankFunc[gActiveBank] = sub_802D2E0;
}
@@ -1077,7 +1803,7 @@ void sub_802D730(void)
if (!ewram17810[gActiveBank].unk0_6 && !IsCryPlayingOrClearCrySongs())
{
m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 0x100);
- sub_80324F8(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
+ HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
PlayerBufferExecCompleted();
}
}
@@ -1118,7 +1844,7 @@ void bx_t1_healthbar_update(void)
}
else
{
- sub_80324F8(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
+ HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
PlayerBufferExecCompleted();
}
}
@@ -1495,7 +2221,7 @@ void sub_802DF30(void)
void sub_802DF88(void)
{
- if (gMain.callback2 == sub_800F808 && !gPaletteFade.active)
+ if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active)
{
if (gUnknown_0202E8F4 == 1)
Emitcmd34(1, gUnknown_0202E8F5, gUnknown_02038470);
@@ -1519,7 +2245,7 @@ void sub_802E004(void)
void sub_802E03C(void)
{
- if (gMain.callback2 == sub_800F808 && !gPaletteFade.active)
+ if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active)
{
Emitcmd35(1, gSpecialVar_ItemId);
PlayerBufferExecCompleted();
@@ -1557,13 +2283,13 @@ void sub_802E12C(s32 a, const u8 *b)
StringCopy(gDisplayedStringBattle, b);
StringAppend(gDisplayedStringBattle, gMoveNames[r4->moves[a]]);
- InitWindow(
+ Text_InitWindow(
&gUnknown_03004210,
gDisplayedStringBattle,
0x300 + a * 20,
(a & 1) ? 11 : 1,
(a < 2) ? 0x37 : 0x39);
- sub_8002F44(&gUnknown_03004210);
+ Text_PrintWindow8002F44(&gUnknown_03004210);
}
void sub_802E1B0(void)
@@ -1572,7 +2298,7 @@ void sub_802E1B0(void)
s32 i;
gUnknown_03004348 = 0;
- FillWindowRect(&gUnknown_03004210, 0x1016, 1, 0x37, 0x14, 0x3A);
+ Text_FillWindowRect(&gUnknown_03004210, 0x1016, 1, 0x37, 0x14, 0x3A);
for (i = 0; i < 4; i++)
{
nullsub_7(i);
@@ -1601,8 +2327,8 @@ void sub_802E220(void)
str = ConvertIntToDecimalStringN(str, r4->pp[gMoveSelectionCursor[gActiveBank]], 1, 2);
*str++ = CHAR_SLASH;
ConvertIntToDecimalStringN(str, r4->unkC[gMoveSelectionCursor[gActiveBank]], 1, 2);
- InitWindow(&gUnknown_03004210, gDisplayedStringBattle, 0x2A2, 0x19, 0x37);
- sub_8002F44(&gUnknown_03004210);
+ Text_InitWindow(&gUnknown_03004210, gDisplayedStringBattle, 0x2A2, 0x19, 0x37);
+ Text_PrintWindow8002F44(&gUnknown_03004210);
}
}
@@ -1613,8 +2339,8 @@ void sub_802E2D4(void)
{
if (gBattleBufferA[gActiveBank][2] == 1)
{
- FillWindowRect(&gUnknown_03004210, 0x1016, 0x17, 0x37, 0x1C, 0x3A);
- InitWindow(&gUnknown_03004210, BattleText_ForgetMove, 0x290, 0x13, 0x37);
+ Text_FillWindowRect(&gUnknown_03004210, 0x1016, 0x17, 0x37, 0x1C, 0x3A);
+ Text_InitWindow(&gUnknown_03004210, BattleText_ForgetMove, 0x290, 0x13, 0x37);
}
else
{
@@ -1623,10 +2349,10 @@ void sub_802E2D4(void)
str = StringCopy(str, BattleText_Format);
StringCopy(str, gTypeNames[gBattleMoves[r4->moves[gMoveSelectionCursor[gActiveBank]]].type]);
- FillWindowRect(&gUnknown_03004210, 0x1016, 0x17, 0x39, 0x1C, 0x3A);
- InitWindow(&gUnknown_03004210, gDisplayedStringBattle, 0x2C0, 0x17, 0x39);
+ Text_FillWindowRect(&gUnknown_03004210, 0x1016, 0x17, 0x39, 0x1C, 0x3A);
+ Text_InitWindow(&gUnknown_03004210, gDisplayedStringBattle, 0x2C0, 0x17, 0x39);
}
- sub_8002F44(&gUnknown_03004210);
+ Text_PrintWindow8002F44(&gUnknown_03004210);
}
const u8 gUnknown_081FAE89[][2] =
@@ -1652,7 +2378,7 @@ const u8 gUnknown_081FAE91[][2] =
void sub_802E3B4(u8 a, int unused)
{
sub_814A958(0x48);
- sub_814A880(gUnknown_081FAE89[a][0], gUnknown_081FAE89[a][1]);
+ MenuCursor_SetPos814A880(gUnknown_081FAE89[a][0], gUnknown_081FAE89[a][1]);
}
void nullsub_7(u8 a)
@@ -1662,7 +2388,7 @@ void nullsub_7(u8 a)
void sub_802E3E4(u8 a, int unused)
{
sub_814A958(0x2A);
- sub_814A880(gUnknown_081FAE91[a][0], gUnknown_081FAE91[a][1]);
+ MenuCursor_SetPos814A880(gUnknown_081FAE91[a][0], gUnknown_081FAE91[a][1]);
}
void nullsub_8(u8 a)
@@ -1695,9 +2421,9 @@ void b_link_standby_message(void)
{
if (gBattleTypeFlags & BATTLE_TYPE_LINK)
{
- gUnknown_030042A4 = 0;
- gUnknown_030042A0 = 0;
- sub_8002EB0(&gUnknown_03004210, BattleText_LinkStandby, 0x90, 2, 15);
+ gBattle_BG0_X = 0;
+ gBattle_BG0_Y = 0;
+ Text_InitWindow8002EB0(&gUnknown_03004210, BattleText_LinkStandby, 0x90, 2, 15);
}
}
@@ -2278,7 +3004,7 @@ void dp01_setattr_by_ch1_for_player_pokemon(u8 a)
SetMonData(&gPlayerParty[a], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBank][3]);
break;
}
- sub_80324F8(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
+ HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
}
void PlayerHandlecmd3(void)
@@ -2438,7 +3164,7 @@ void PlayerHandlecmd10(void)
if (ewram17810[gActiveBank].unk0_6 == 0)
{
ewram17810[gActiveBank].unk4 = 0;
- sub_80324F8(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
+ HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
PlaySE12WithPanning(SE_POKE_DEAD, -64);
gSprites[gObjectBankIDs[gActiveBank]].data[1] = 0;
gSprites[gObjectBankIDs[gActiveBank]].data[2] = 5;
@@ -2458,7 +3184,7 @@ void PlayerHandlecmd12(void)
{
ewram17840.unk8 = 4;
gDoingBattleAnim = 1;
- move_anim_start_t4(gActiveBank, gActiveBank, GetBankByPlayerAI(1), 3);
+ move_anim_start_t4(gActiveBank, gActiveBank, GetBankByIdentity(1), 3);
gBattleBankFunc[gActiveBank] = bx_wait_t1;
}
@@ -2468,7 +3194,7 @@ void PlayerHandleBallThrow(void)
ewram17840.unk8 = var;
gDoingBattleAnim = 1;
- move_anim_start_t4(gActiveBank, gActiveBank, GetBankByPlayerAI(1), 3);
+ move_anim_start_t4(gActiveBank, gActiveBank, GetBankByIdentity(1), 3);
gBattleBankFunc[gActiveBank] = bx_wait_t1;
}
@@ -2559,10 +3285,10 @@ void sub_8030190(void)
void PlayerHandlePrintString(void)
{
- gUnknown_030042A4 = 0;
- gUnknown_030042A0 = 0;
+ gBattle_BG0_X = 0;
+ gBattle_BG0_Y = 0;
BufferStringBattle(*(u16 *)&gBattleBufferA[gActiveBank][2]);
- sub_8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 0x90, 2, 15);
+ Text_InitWindow8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 0x90, 2, 15);
gBattleBankFunc[gActiveBank] = sub_802DF18;
}
@@ -2578,16 +3304,16 @@ void PlayerHandlecmd18(void)
{
int r4;
- gUnknown_030042A4 = 0;
- gUnknown_030042A0 = 160;
- FillWindowRect(&gUnknown_03004210, 10, 2, 15, 27, 18);
- FillWindowRect(&gUnknown_03004210, 10, 2, 35, 16, 38);
+ gBattle_BG0_X = 0;
+ gBattle_BG0_Y = 160;
+ Text_FillWindowRect(&gUnknown_03004210, 10, 2, 15, 27, 18);
+ Text_FillWindowRect(&gUnknown_03004210, 10, 2, 35, 16, 38);
gBattleBankFunc[gActiveBank] = sub_802C098;
- InitWindow(&gUnknown_03004210, BattleText_MenuOptions, 400, 18, 35);
- sub_8002F44(&gUnknown_03004210);
- sub_814A5C0(0, 0xFFFF, 12, 11679, 0);
+ Text_InitWindow(&gUnknown_03004210, BattleText_MenuOptions, 400, 18, 35);
+ Text_PrintWindow8002F44(&gUnknown_03004210);
+ MenuCursor_Create814A5C0(0, 0xFFFF, 12, 11679, 0);
for (r4 = 0; r4 < 4; r4++)
nullsub_8(r4);
@@ -2595,8 +3321,8 @@ void PlayerHandlecmd18(void)
sub_802E3E4(gActionSelectionCursor[gActiveBank], 0);
StrCpyDecodeToDisplayedStringBattle(BattleText_OtherMenu);
- InitWindow(&gUnknown_03004210, gDisplayedStringBattle, SUB_803037C_TILE_DATA_OFFSET, 2, 35);
- sub_8002F44(&gUnknown_03004210);
+ Text_InitWindow(&gUnknown_03004210, gDisplayedStringBattle, SUB_803037C_TILE_DATA_OFFSET, 2, 35);
+ Text_PrintWindow8002F44(&gUnknown_03004210);
}
void PlayerHandlecmd19()
@@ -2605,22 +3331,22 @@ void PlayerHandlecmd19()
void PlayerHandlecmd20(void)
{
- sub_814A5C0(0, 0xFFFF, 12, 0x2D9F, 0);
+ MenuCursor_Create814A5C0(0, 0xFFFF, 12, 0x2D9F, 0);
sub_80304A8();
gBattleBankFunc[gActiveBank] = sub_802C68C;
}
void sub_80304A8(void)
{
- gUnknown_030042A4 = 0;
- gUnknown_030042A0 = 320;
+ gBattle_BG0_X = 0;
+ gBattle_BG0_Y = 320;
sub_802E1B0();
gUnknown_03004344 = 0xFF;
sub_802E3B4(gMoveSelectionCursor[gActiveBank], 0);
if (gBattleBufferA[gActiveBank][2] != 1)
{
- InitWindow(&gUnknown_03004210, BattleText_PP, 656, 23, 55);
- sub_8002F44(&gUnknown_03004210);
+ Text_InitWindow(&gUnknown_03004210, BattleText_PP, 656, 23, 55);
+ Text_PrintWindow8002F44(&gUnknown_03004210);
}
sub_802E220();
sub_802E2D4();
@@ -2655,7 +3381,7 @@ void PlayerHandlecmd22(void)
void PlayerHandlecmd23(void)
{
- BattleMusicStop();
+ BattleStopLowHpSound();
BeginNormalPaletteFade(0xFFFFFFFF, 2, 0, 16, 0);
PlayerBufferExecCompleted();
}
@@ -2749,22 +3475,7 @@ void PlayerHandleDMATransfer(void)
| (gBattleBufferA[gActiveBank][4] << 24);
u16 val2 = gBattleBufferA[gActiveBank][5] | (gBattleBufferA[gActiveBank][6] << 8);
- const u8 *src = &gBattleBufferA[gActiveBank][7];
- u8 *dst = (u8 *)val1;
- u32 size = val2;
-
- while (1)
- {
- if (size <= 0x1000)
- {
- DmaCopy16(3, src, dst, size);
- break;
- }
- DmaCopy16(3, src, dst, 0x1000);
- src += 0x1000;
- dst += 0x1000;
- size -= 0x1000;
- }
+ Dma3CopyLarge16_(&gBattleBufferA[gActiveBank][7], (u8 *)val1, val2);
PlayerBufferExecCompleted();
}
@@ -2875,7 +3586,7 @@ void PlayerHandleFaintingCry(void)
void PlayerHandleIntroSlide(void)
{
- sub_80E43C0(gBattleBufferA[gActiveBank][1]);
+ StartBattleIntroAnim(gBattleBufferA[gActiveBank][1]);
gUnknown_02024DE8 |= 1;
PlayerBufferExecCompleted();
}