summaryrefslogtreecommitdiff
path: root/src/battle
diff options
context:
space:
mode:
authorCameron Hall <cameronghall@cox.net>2018-01-21 13:53:32 -0600
committerCameron Hall <cameronghall@cox.net>2018-01-21 13:53:32 -0600
commit11a9371349e1743a18dce28cc60b69dd6a29b665 (patch)
treee696d1fda7556af8b5234eae833ea2fd146fc75d /src/battle
parent7383117626ebb2b3d993e5ad8855da5752c9cce8 (diff)
parent68a402883f780a61f54c2f0c8740429d0b2b3a81 (diff)
resolve merge conflicts and make it compile
Diffstat (limited to 'src/battle')
-rw-r--r--src/battle/anim/love_bg.c23
-rw-r--r--src/battle/anim/scary_face.c21
-rw-r--r--src/battle/battle_7.c7
-rw-r--r--src/battle/battle_anim.c126
-rw-r--r--src/battle/battle_controller_player.c17
-rw-r--r--src/battle/battle_message.c32
-rw-r--r--src/battle/battle_party_menu.c6
-rw-r--r--src/battle/battle_setup.c36
-rw-r--r--src/battle/battle_transition.c4
-rw-r--r--src/battle/battle_util.c10
-rw-r--r--src/battle/post_battle_event_funcs.c6
11 files changed, 91 insertions, 197 deletions
diff --git a/src/battle/anim/love_bg.c b/src/battle/anim/love_bg.c
index bd3d22ca6..c3828c681 100644
--- a/src/battle/anim/love_bg.c
+++ b/src/battle/anim/love_bg.c
@@ -25,7 +25,7 @@ static void sub_80D21F0(u8 taskId);
void sub_80D2100(u8 taskId)
{
struct Struct_sub_8078914 subStruct;
- u8* tempvar;
+
REG_BLDCNT = 0x3F42;
REG_BLDALPHA = 0x1000;
REG_BG1CNT_BITFIELD.priority = 3;
@@ -38,9 +38,8 @@ void sub_80D2100(u8 taskId)
REG_BG1HOFS = 0;
REG_BG1VOFS = 0;
sub_8078914(&subStruct);
- tempvar = subStruct.field_4;
- DmaFill32(3, 0x0, tempvar, 0x1000);
- LZDecompressVram(&gAttractTilemap, tempvar);
+ DmaFill32Defvars(3, 0, subStruct.field_4, 0x1000);
+ LZDecompressVram(&gAttractTilemap, subStruct.field_4);
LZDecompressVram(&gAttractGfx, subStruct.field_0);
LoadCompressedPalette(&gAttractPal, subStruct.field_8 << 4, 32);
if (IsContest())
@@ -90,21 +89,7 @@ void sub_80D21F0(u8 taskId)
break;
case 3:
sub_8078914(&subStruct);
- {
- u8 *addr = subStruct.field_0;
- u32 size = 0x2000;
- while (1)
- {
- DmaFill32(3, 0, addr, 0x1000);
- addr += 0x1000;
- size -= 0x1000;
- if (size <= 0x1000)
- {
- DmaFill32(3, 0, addr, size);
- break;
- }
- }
- }
+ DmaFill32Large(3, 0, subStruct.field_0, 0x2000, 0x1000);
DmaClear32(3, subStruct.field_4, 0x800);
if (!IsContest())
REG_BG1CNT_BITFIELD.charBaseBlock = 0;
diff --git a/src/battle/anim/scary_face.c b/src/battle/anim/scary_face.c
index 47776a3cb..8d51521ee 100644
--- a/src/battle/anim/scary_face.c
+++ b/src/battle/anim/scary_face.c
@@ -27,7 +27,7 @@ static void sub_80D24E0(u8 taskId);
void sub_80D23B4(u8 taskId)
{
struct Struct_sub_8078914 subStruct;
- u8* tempvar;
+
REG_BLDCNT = 0x3F42;
REG_BLDALPHA = 0x1000;
REG_BG1CNT_BITFIELD.priority = 1;
@@ -40,8 +40,7 @@ void sub_80D23B4(u8 taskId)
REG_BG1HOFS = 0;
REG_BG1VOFS = 0;
sub_8078914(&subStruct);
- tempvar = subStruct.field_4;
- DmaFill32(3, 0x0, tempvar, 0x1000);
+ DmaFill32Defvars(3, 0, subStruct.field_4, 0x1000);
if (IsContest())
LZDecompressVram(&gBattleAnimBackgroundTilemap_ScaryFaceContest, subStruct.field_4);
else if (GetBankSide(gAnimBankTarget) == 1)
@@ -98,21 +97,7 @@ void sub_80D24E0(u8 taskId)
break;
case 3:
sub_8078914(&subStruct);
- {
- u8 *addr = subStruct.field_0;
- u32 size = 0x2000;
- while (1)
- {
- DmaFill32(3, 0, addr, 0x1000);
- addr += 0x1000;
- size -= 0x1000;
- if (size <= 0x1000)
- {
- DmaFill32(3, 0, addr, size);
- break;
- }
- }
- }
+ DmaFill32Large(3, 0, subStruct.field_0, 0x2000, 0x1000);
DmaClear32(3, subStruct.field_4, 0x800);
if (!IsContest())
REG_BG1CNT_BITFIELD.charBaseBlock = 0;
diff --git a/src/battle/battle_7.c b/src/battle/battle_7.c
index 00216ce05..b4c71b9c2 100644
--- a/src/battle/battle_7.c
+++ b/src/battle/battle_7.c
@@ -624,9 +624,6 @@ void sub_8031FC4(u8 a, u8 b, bool8 c)
}
else
{
- const void *src;
- void *dst;
-
if (IsContest())
{
r10 = 0;
@@ -676,9 +673,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c)
gTransformedPersonalities[a]);
}
}
- src = gUnknown_081FAF4C[r10];
- dst = (void *)(VRAM + 0x10000 + gSprites[gObjectBankIDs[a]].oam.tileNum * 32);
- DmaCopy32(3, src, dst, 0x800);
+ DmaCopy32Defvars(3, gUnknown_081FAF4C[r10], (void *)(VRAM + 0x10000 + gSprites[gObjectBankIDs[a]].oam.tileNum * 32), 0x800);
paletteOffset = 0x100 + a * 16;
lzPaletteData = GetMonSpritePalFromOtIdPersonality(species, otId, personalityValue);
LZDecompressWram(lzPaletteData, gSharedMem);
diff --git a/src/battle/battle_anim.c b/src/battle/battle_anim.c
index 4549d1fcb..c71c12ce7 100644
--- a/src/battle/battle_anim.c
+++ b/src/battle/battle_anim.c
@@ -1910,36 +1910,19 @@ bool8 IsAnimBankSpriteVisible(u8 bank)
void sub_8076034(u8 a, u8 b)
{
- volatile u8 pointlessZero;
- u16 *addr2;
u8 spriteId;
if (b == 0)
{
+ volatile u8 pointlessZero;
struct UnknownStruct2 s;
- u8 *addr;
- u32 size;
u8 r2;
- u16 *addr3;
sub_8078914(&s);
- addr = s.unk0;
- size = 0x2000;
- while (1)
- {
- DmaFill32(3, 0, addr, 0x1000);
- addr += 0x1000;
- size -= 0x1000;
- if (size <= 0x1000)
- {
- DmaFill32(3, 0, addr, size);
- break;
- }
- }
- pointlessZero = 0;
- pointlessZero = 0;
- addr2 = (void *)s.unk4;
- DmaFill16(3, 0xFF, addr2, 0x1000);
+ DmaFill32Large(3, 0, s.unk0, 0x2000, 0x1000);
+ pointlessZero = 0; // is there a stubbed out Dma macro here that left the 0 load in?
+ pointlessZero = 0; // is there a stubbed out Dma macro here that left the 0 load in?
+ DmaFill16Defvars(3, 0xFF, (void *)s.unk4, 0x1000);
REG_BG1CNT_BITFIELD.priority = 2;
REG_BG1CNT_BITFIELD.screenSize = 1;
@@ -1956,8 +1939,7 @@ void sub_8076034(u8 a, u8 b)
REG_BG1VOFS = gBattle_BG1_Y;
LoadPalette(gPlttBufferUnfaded + 0x100 + a * 16, s.unk8 * 16, 32);
- addr3 = (u16 *)PLTT + s.unk8 * 16;
- DmaCopy32(3, gPlttBufferUnfaded + 0x100 + a * 16, addr3, 32);
+ DmaCopy32Defvars(3, gPlttBufferUnfaded + 0x100 + a * 16, (u16 *)PLTT + s.unk8 * 16, 32);
if (IsContest() != 0)
r2 = 0;
@@ -1969,27 +1951,12 @@ void sub_8076034(u8 a, u8 b)
}
else
{
- u8 *addr;
- u32 size;
- u16 *addr3;
+ volatile u8 pointlessZero;
- addr = (void *)(VRAM + 0x6000);
- size = 0x2000;
- while (1)
- {
- DmaFill32(3, 0, addr, 0x1000);
- addr += 0x1000;
- size -= 0x1000;
- if (size <= 0x1000)
- {
- DmaFill32(3, 0, addr, size);
- break;
- }
- }
- pointlessZero = 0;
- pointlessZero = 0;
- addr2 = (void *)(VRAM + 0xF000);
- DmaFill32(3, 0, addr2, 0x800);
+ DmaFill32Large(3, 0, (void *)(VRAM + 0x6000), 0x2000, 0x1000);
+ pointlessZero = 0; // is there a stubbed out Dma macro here that left the 0 load in?
+ pointlessZero = 0; // is there a stubbed out Dma macro here that left the 0 load in?
+ DmaFill32Defvars(3, 0, (void *)(VRAM + 0xF000), 0x800);
REG_BG2CNT_BITFIELD.priority = 2;
REG_BG2CNT_BITFIELD.screenSize = 1;
@@ -2004,8 +1971,7 @@ void sub_8076034(u8 a, u8 b)
REG_BG2VOFS = gBattle_BG2_Y;
LoadPalette(gPlttBufferUnfaded + 0x100 + a * 16, 0x90, 32);
- addr3 = (void *)(PLTT + 0x120);
- DmaCopy32(3, gPlttBufferUnfaded + 0x100 + a * 16, addr3, 32);
+ DmaCopy32Defvars(3, gPlttBufferUnfaded + 0x100 + a * 16, (void *)(PLTT + 0x120), 32);
sub_80E4EF8(0, 0, GetBankIdentity(a), 9, 0x6000, 0x1E, REG_BG2CNT_BITFIELD.charBaseBlock);
}
@@ -2060,57 +2026,25 @@ void sub_80763FC(u16 a, u16 *b, u32 c, u8 d)
void sub_8076464(u8 a)
{
- u8 *addr;
- u32 size;
volatile u8 pointlessZero;
struct UnknownStruct2 s;
sub_8078914(&s);
if (a == 0 || IsContest() != 0)
{
- u16 *addr2;
-
- addr = s.unk0;
- size = 0x2000;
- while (1)
- {
- DmaFill32(3, 0, addr, 0x1000);
- addr += 0x1000;
- size -= 0x1000;
- if (size <= 0x1000)
- {
- DmaFill32(3, 0, addr, size);
- break;
- }
- }
- pointlessZero = 0;
- pointlessZero = 0;
- addr2 = s.unk4;
- DmaFill32(3, 0, addr2, 0x800);
+ DmaFill32Large(3, 0, s.unk0, 0x2000, 0x1000);
+ pointlessZero = 0; // is there a stubbed out Dma macro here that left the 0 load in?
+ pointlessZero = 0; // is there a stubbed out Dma macro here that left the 0 load in?
+ DmaFill32Defvars(3, 0, s.unk4, 0x800);
gBattle_BG1_X = 0;
gBattle_BG1_Y = 0;
}
else
{
- u16 *addr2;
-
- addr = (void *)(VRAM + 0x6000);
- size = 0x2000;
- while (1)
- {
- DmaFill32(3, 0, addr, 0x1000);
- addr += 0x1000;
- size -= 0x1000;
- if (size <= 0x1000)
- {
- DmaFill32(3, 0, addr, size);
- break;
- }
- }
- pointlessZero = 0;
- pointlessZero = 0;
- addr2 = (void *)(VRAM + 0xF000);
- DmaFill32(3, 0, addr2, 0x800);
+ DmaFill32Large(3, 0, (void *)(VRAM + 0x6000), 0x2000, 0x1000);
+ pointlessZero = 0; // is there a stubbed out Dma macro here that left the 0 load in?
+ pointlessZero = 0; // is there a stubbed out Dma macro here that left the 0 load in?
+ DmaFill32Defvars(3, 0, (void *)(VRAM + 0xF000), 0x800);
gBattle_BG2_X = 0;
gBattle_BG2_Y = 0;
}
@@ -2130,25 +2064,15 @@ static void task_pA_ma0A_obj_to_bg_pal(u8 taskId)
if (gTasks[taskId].data[5] == 0)
{
- u16 *src;
- u16 *dst;
-
gBattle_BG1_X = x + gTasks[taskId].data[3];
gBattle_BG1_Y = y + gTasks[taskId].data[4];
- src = gPlttBufferFaded + 0x100 + palIndex * 16;
- dst = gPlttBufferFaded + 0x100 + s.unk8 * 16 - 256;
- DmaCopy32(3, src, dst, 32);
+ DmaCopy32Defvars(3, gPlttBufferFaded + 0x100 + palIndex * 16, gPlttBufferFaded + 0x100 + s.unk8 * 16 - 256, 32);
}
else
{
- u16 *src;
- u16 *dst;
-
gBattle_BG2_X = x + gTasks[taskId].data[3];
gBattle_BG2_Y = y + gTasks[taskId].data[4];
- src = gPlttBufferFaded + 0x100 + palIndex * 16;
- dst = gPlttBufferFaded + 0x100 - 112;
- DmaCopy32(3, src, dst, 32);
+ DmaCopy32Defvars(3, gPlttBufferFaded + 0x100 + palIndex * 16, gPlttBufferFaded + 0x100 - 112, 32);
}
}
@@ -2492,14 +2416,10 @@ static void LoadMoveBg(u16 bgId)
if (IsContest())
{
void *tilemap = gBattleAnimBackgroundTable[bgId].tilemap;
- void *dmaSrc;
- void *dmaDest;
LZDecompressWram(tilemap, IsContest() ? EWRAM_14800 : EWRAM_18000);
sub_80763FC(sub_80789BC(), IsContest() ? EWRAM_14800 : EWRAM_18000, 0x100, 0);
- dmaSrc = IsContest() ? EWRAM_14800 : EWRAM_18000;
- dmaDest = (void *)(VRAM + 0xD000);
- DmaCopy32(3, dmaSrc, dmaDest, 0x800);
+ DmaCopy32Defvars(3, IsContest() ? EWRAM_14800 : EWRAM_18000, (void *)(VRAM + 0xD000), 0x800);
LZDecompressVram(gBattleAnimBackgroundTable[bgId].image, (void *)(VRAM + 0x2000));
LoadCompressedPalette(gBattleAnimBackgroundTable[bgId].palette, sub_80789BC() * 16, 32);
}
diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c
index eaabe9b53..7e3655e4a 100644
--- a/src/battle/battle_controller_player.c
+++ b/src/battle/battle_controller_player.c
@@ -4151,22 +4151,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();
}
diff --git a/src/battle/battle_message.c b/src/battle/battle_message.c
index e9334ef61..ed7ab3a35 100644
--- a/src/battle/battle_message.c
+++ b/src/battle/battle_message.c
@@ -25,6 +25,8 @@
#include "../data/battle_strings_en.h"
#endif
+// This is four lists of moves which use a different attack string in Japanese
+// to the default. See the documentation for sub_8121D74 for more detail.
const u16 gUnknown_084016BC[] =
{
MOVE_SWORDS_DANCE,
@@ -69,7 +71,7 @@ const u16 gUnknown_084016BC[] =
MOVE_MUDDY_WATER,
MOVE_IRON_DEFENSE,
MOVE_BOUNCE,
- MOVE_NONE,
+ 0,
MOVE_TELEPORT,
MOVE_RECOVER,
MOVE_BIDE,
@@ -77,7 +79,7 @@ const u16 gUnknown_084016BC[] =
MOVE_FLAIL,
MOVE_TAUNT,
MOVE_BULK_UP,
- MOVE_NONE,
+ 0,
MOVE_MEDITATE,
MOVE_AGILITY,
MOVE_MIMIC,
@@ -96,7 +98,7 @@ const u16 gUnknown_084016BC[] =
MOVE_FAKE_TEARS,
MOVE_WATER_SPORT,
MOVE_CALM_MIND,
- MOVE_NONE,
+ 0,
MOVE_POUND,
MOVE_SCRATCH,
MOVE_VICE_GRIP,
@@ -144,7 +146,7 @@ const u16 gUnknown_084016BC[] =
MOVE_ENDEAVOR,
MOVE_TICKLE,
MOVE_COVET,
- MOVE_NONE,
+ 0,
};
const u8 gUnknown_084017A8[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; // empty flags
@@ -971,6 +973,10 @@ void StrCpyDecodeBattleTextBuff(u8* src, u8* dst)
}
}
+// Loads one of two text strings into the provided buffer. This is functionally
+// unused, since the value loaded into the buffer is not read; it loaded one of
+// two particles (either "は" or "の") which works in tandem with sub_8121D74
+// below to effect changes in the meaning of the line.
void sub_8121D1C(u8* textBuff)
{
s32 counter = 0;
@@ -993,6 +999,24 @@ void sub_8121D1C(u8* textBuff)
}
}
+// Appends "!" to the text buffer `dst`. In the original Japanese this looked
+// into the table of moves at gUnknown_084016BC and varied the line accordingly.
+//
+// BattleText_Exclamation was a plain "!", used for any attack not on the list.
+// It resulted in the translation "<NAME>'s <ATTACK>!".
+//
+// BattleText_Exclamation2 was "を つかった!". This resulted in the translation
+// "<NAME> used <ATTACK>!", which was used for all attacks in English.
+//
+// BattleText_Exclamation3 was "した!". This was used for those moves whose
+// names were verbs, such as Recover, and resulted in translations like "<NAME>
+// recovered itself!".
+//
+// BattleText_Exclamation4 was "を した!" This resulted in a translation of
+// "<NAME> did an <ATTACK>!".
+//
+// BattleText_Exclamation5 was " こうげき!" This resulted in a translation of
+// "<NAME>'s <ATTACK> attack!".
void sub_8121D74(u8* dst)
{
s32 counter = 0;
diff --git a/src/battle/battle_party_menu.c b/src/battle/battle_party_menu.c
index 68a97c536..ed8cf4583 100644
--- a/src/battle/battle_party_menu.c
+++ b/src/battle/battle_party_menu.c
@@ -40,7 +40,7 @@ extern u8 gUnknown_0202E8F6;
extern u8 gUnknown_02038470[3];
extern u8 gUnknown_02038473;
extern u8 gUnknown_020384F0;
-extern void (*gUnknown_03004AE4)(); //don't know types yet
+extern void (*gPokemonItemUseCallback)(); //don't know types yet
extern struct PokemonStorage gPokemonStorage;
extern void nullsub_14();
@@ -466,7 +466,7 @@ void HandleBattlePartyMenu(u8 taskId)
{
if (gUnknown_02038473 == 3 && GetItemEffectType(gSpecialVar_ItemId) == 10)
{
- gUnknown_03004AE4(taskId, gSpecialVar_ItemId, Task_80952E4);
+ gPokemonItemUseCallback(taskId, gSpecialVar_ItemId, Task_80952E4);
return;
}
@@ -480,7 +480,7 @@ void HandleBattlePartyMenu(u8 taskId)
else
{
sub_806D5A4();
- gUnknown_03004AE4(taskId, gSpecialVar_ItemId, Task_80952E4);
+ gPokemonItemUseCallback(taskId, gSpecialVar_ItemId, Task_80952E4);
}
}
else
diff --git a/src/battle/battle_setup.c b/src/battle/battle_setup.c
index b4ff407fc..892be1029 100644
--- a/src/battle/battle_setup.c
+++ b/src/battle/battle_setup.c
@@ -520,8 +520,8 @@ static void DoStandardWildBattle(void)
gMain.savedCallback = CB2_EndWildBattle;
gBattleTypeFlags = 0;
CreateBattleStartTask(GetWildBattleTransition(), 0);
- IncrementGameStat(7);
- IncrementGameStat(8);
+ IncrementGameStat(GAME_STAT_TOTAL_BATTLES);
+ IncrementGameStat(GAME_STAT_WILD_BATTLES);
}
void BattleSetup_StartRoamerBattle(void)
@@ -532,8 +532,8 @@ void BattleSetup_StartRoamerBattle(void)
gMain.savedCallback = CB2_EndWildBattle;
gBattleTypeFlags = BATTLE_TYPE_ROAMER;
CreateBattleStartTask(GetWildBattleTransition(), 0);
- IncrementGameStat(7);
- IncrementGameStat(8);
+ IncrementGameStat(GAME_STAT_TOTAL_BATTLES);
+ IncrementGameStat(GAME_STAT_WILD_BATTLES);
}
static void DoSafariBattle(void)
@@ -549,8 +549,8 @@ static void DoSafariBattle(void)
static void StartTheBattle(void)
{
CreateBattleStartTask(GetTrainerBattleTransition(), 0);
- IncrementGameStat(7);
- IncrementGameStat(9);
+ IncrementGameStat(GAME_STAT_TOTAL_BATTLES);
+ IncrementGameStat(GAME_STAT_TRAINER_BATTLES);
}
//Initiates battle where Wally catches Ralts
@@ -569,8 +569,8 @@ void BattleSetup_StartScriptedWildBattle(void)
gMain.savedCallback = CB2_EndScriptedWildBattle;
gBattleTypeFlags = 0;
CreateBattleStartTask(GetWildBattleTransition(), 0);
- IncrementGameStat(7);
- IncrementGameStat(8);
+ IncrementGameStat(GAME_STAT_TOTAL_BATTLES);
+ IncrementGameStat(GAME_STAT_WILD_BATTLES);
}
void ScrSpecial_StartSouthernIslandBattle(void)
@@ -579,8 +579,8 @@ void ScrSpecial_StartSouthernIslandBattle(void)
gMain.savedCallback = CB2_EndScriptedWildBattle;
gBattleTypeFlags = BATTLE_TYPE_LEGENDARY;
CreateBattleStartTask(GetWildBattleTransition(), 0);
- IncrementGameStat(7);
- IncrementGameStat(8);
+ IncrementGameStat(GAME_STAT_TOTAL_BATTLES);
+ IncrementGameStat(GAME_STAT_WILD_BATTLES);
}
void ScrSpecial_StartRayquazaBattle(void)
@@ -589,8 +589,8 @@ void ScrSpecial_StartRayquazaBattle(void)
gMain.savedCallback = CB2_EndScriptedWildBattle;
gBattleTypeFlags = BATTLE_TYPE_LEGENDARY;
CreateBattleStartTask(B_TRANSITION_BLUR, BGM_BATTLE34);
- IncrementGameStat(7);
- IncrementGameStat(8);
+ IncrementGameStat(GAME_STAT_TOTAL_BATTLES);
+ IncrementGameStat(GAME_STAT_WILD_BATTLES);
}
void ScrSpecial_StartGroudonKyogreBattle(void)
@@ -602,8 +602,8 @@ void ScrSpecial_StartGroudonKyogreBattle(void)
CreateBattleStartTask(B_TRANSITION_SHARDS, BGM_BATTLE34); // GROUDON
else
CreateBattleStartTask(B_TRANSITION_RIPPLE, BGM_BATTLE34); // KYOGRE
- IncrementGameStat(7);
- IncrementGameStat(8);
+ IncrementGameStat(GAME_STAT_TOTAL_BATTLES);
+ IncrementGameStat(GAME_STAT_WILD_BATTLES);
}
void ScrSpecial_StartRegiBattle(void)
@@ -612,8 +612,8 @@ void ScrSpecial_StartRegiBattle(void)
gMain.savedCallback = CB2_EndScriptedWildBattle;
gBattleTypeFlags = BATTLE_TYPE_LEGENDARY | BATTLE_TYPE_REGI;
CreateBattleStartTask(B_TRANSITION_GRID_SQUARES, BGM_BATTLE36);
- IncrementGameStat(7);
- IncrementGameStat(8);
+ IncrementGameStat(GAME_STAT_TOTAL_BATTLES);
+ IncrementGameStat(GAME_STAT_WILD_BATTLES);
}
static void CB2_EndWildBattle(void)
@@ -879,8 +879,8 @@ static void CB2_StartFirstBattle(void)
SetMainCallback2(sub_800E7C4);
prev_quest_postbuffer_cursor_backup_reset();
overworld_poison_timer_set();
- IncrementGameStat(7);
- IncrementGameStat(8);
+ IncrementGameStat(GAME_STAT_TOTAL_BATTLES);
+ IncrementGameStat(GAME_STAT_WILD_BATTLES);
}
}
diff --git a/src/battle/battle_transition.c b/src/battle/battle_transition.c
index f7cdc0694..a94974b27 100644
--- a/src/battle/battle_transition.c
+++ b/src/battle/battle_transition.c
@@ -6,6 +6,7 @@
#include "palette.h"
#include "trig.h"
#include "field_effect.h"
+#include "field_weather.h"
#include "random.h"
#include "sprite.h"
#include "sound.h"
@@ -15,7 +16,6 @@
#include "ewram.h"
#include "scanline_effect.h"
-void sub_807DE10(void);
void ScanlineEffect_Clear(void);
extern const struct OamData gFieldOamData_32x32;
@@ -567,7 +567,7 @@ static void Task_BattleTransitionMain(u8 taskID)
static bool8 Transition_Phase1(struct Task* task)
{
- sub_807DE10();
+ SetWeatherScreenFadeOut();
CpuCopy32(gPlttBufferFaded, gPlttBufferUnfaded, 0x400);
if (sPhase1_Tasks[task->tTransitionID] != NULL)
{
diff --git a/src/battle/battle_util.c b/src/battle/battle_util.c
index 3bb99f845..8dae98b66 100644
--- a/src/battle/battle_util.c
+++ b/src/battle/battle_util.c
@@ -4,6 +4,7 @@
#include "data2.h"
#include "event_data.h"
#include "ewram.h"
+#include "field_weather.h"
#include "item.h"
#include "link.h"
#include "pokemon.h"
@@ -85,7 +86,6 @@ u8 CountTrailingZeroBits(u32 a);
u8 GetMoveTarget(u16 move, u8 useMoveTarget);
u8 sub_803FC34(u8 bank);
u16 sub_803FBFC(u8 a);
-u8 weather_get_current(void);
void RecordAbilityBattle(u8 bank, u8 ability);
void RecordItemBattle(u8 bank, u8 holdEffect);
s8 GetPokeFlavourRelation(u32 pid, u8 flavor);
@@ -1987,7 +1987,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
beq ._789 @cond_branch\n\
bl ._1534\n\
._789:\n\
- bl weather_get_current\n\
+ bl GetCurrentWeather\n\
lsl r0, r0, #0x18\n\
lsr r0, r0, #0x18\n\
sub r0, r0, #0x3\n\
@@ -2084,7 +2084,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
bne ._815 @cond_branch\n\
bl ._1540\n\
._815:\n\
- bl weather_get_current\n\
+ bl GetCurrentWeather\n\
ldr r1, ._818 + 16\n\
strb r0, [r1, #0x5]\n\
ldr r0, ._818 + 20\n\
@@ -5807,7 +5807,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
{
case 0xFF: //weather from overworld
//_08018586
- switch (weather_get_current())
+ switch (GetCurrentWeather())
{
case WEATHER_RAIN_LIGHT:
case WEATHER_RAIN_MED:
@@ -5841,7 +5841,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
}
if (effect)
{
- gBattleCommunication[MULTISTRING_CHOOSER] = weather_get_current();
+ gBattleCommunication[MULTISTRING_CHOOSER] = GetCurrentWeather();
BattleScriptPushCursorAndCallback(BattleScript_OverworldWeatherStarts);
}
break;
diff --git a/src/battle/post_battle_event_funcs.c b/src/battle/post_battle_event_funcs.c
index 0617763f6..a44cf028b 100644
--- a/src/battle/post_battle_event_funcs.c
+++ b/src/battle/post_battle_event_funcs.c
@@ -26,8 +26,8 @@ int GameClear(void)
FlagSet(FLAG_SYS_GAME_CLEAR);
}
- if (!GetGameStat(1))
- SetGameStat(1, (gSaveBlock2.playTimeHours << 16) | (gSaveBlock2.playTimeMinutes << 8) | gSaveBlock2.playTimeSeconds);
+ if (!GetGameStat(GAME_STAT_FIRST_HOF_PLAY_TIME))
+ SetGameStat(GAME_STAT_FIRST_HOF_PLAY_TIME, (gSaveBlock2.playTimeHours << 16) | (gSaveBlock2.playTimeMinutes << 8) | gSaveBlock2.playTimeSeconds);
SetSecretBase2Field_9();
@@ -54,7 +54,7 @@ int GameClear(void)
if (ribbonGet == TRUE)
{
- IncrementGameStat(42);
+ IncrementGameStat(GAME_STAT_RECEIVED_RIBBONS);
FlagSet(FLAG_SYS_RIBBON_GET);
}