summaryrefslogtreecommitdiff
path: root/src/new_game.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/new_game.c')
-rw-r--r--src/new_game.c56
1 files changed, 29 insertions, 27 deletions
diff --git a/src/new_game.c b/src/new_game.c
index 89771e92b..8b8436d10 100644
--- a/src/new_game.c
+++ b/src/new_game.c
@@ -20,8 +20,10 @@
#include "tv.h"
#include "coins.h"
#include "text.h"
+#include "overworld.h"
+#include "mail.h"
+#include "battle_records.h"
-extern u8 gPlayerPartyCount;
extern u8 gDifferentSaveFile;
extern u16 gSaveFileStatus;
extern u8 gUnknown_030060B0;
@@ -29,19 +31,13 @@ extern u8 gUnknown_030060B0;
// TODO: replace those declarations with file headers
extern u16 GetGeneratedTrainerIdLower(void);
extern void ClearContestWinnerPicsInContestHall(void);
-extern void Overworld_SetWarpDestination(s8 mapBank, s8 mapNo, s8 warpNo, s8 xPos, s8 yPos);
-extern void warp_in(void);
extern void sub_80BB358(void);
extern void ResetBagScrollPositions(void);
extern void ResetPokedex(void);
-extern void sub_8084400(void);
-extern void ClearMailData(void);
extern void ResetGabbyAndTy(void);
extern void ResetSecretBases(void);
extern void ResetLinkContestBoolean(void);
-extern void ResetGameStats(void);
extern void sub_8052DA8(void);
-extern void InitLinkBattleRecords(void);
extern void ResetPokemonStorageSystem(void);
extern void ClearBag(void);
extern void NewGameInitPCItems(void);
@@ -58,8 +54,21 @@ extern void ResetContestLinkResults(void);
extern void ResetPokeJumpResults(void);
extern void SetBerryPowder(u32* powder, u32 newValue);
-extern u8 EventScript_2715DE[];
+extern const u8 EventScript_2715DE[];
+// this file's functions
+static void ClearFrontierRecord(void);
+static void WarpToTruck(void);
+static void ResetMiniGamesResults(void);
+
+// const rom data
+static const struct ContestWinner sContestWinnerPicDummy =
+{
+ .monName = _(""),
+ .trainerName = _("")
+};
+
+// code
void WriteUnalignedWord(u32 var, u8 *dataPtr)
{
dataPtr[0] = var;
@@ -80,14 +89,14 @@ void CopyUnalignedWord(u8 *copyTo, u8 *copyFrom)
copyTo[i] = copyFrom[i];
}
-void InitPlayerTrainerId(void)
+static void InitPlayerTrainerId(void)
{
u32 trainerId = (Random() << 0x10) | GetGeneratedTrainerIdLower();
WriteUnalignedWord(trainerId, gSaveBlock2Ptr->playerTrainerId);
}
// L=A isnt set here for some reason.
-void SetDefaultOptions(void)
+static void SetDefaultOptions(void)
{
gSaveBlock2Ptr->optionsTextSpeed = OPTIONS_TEXT_SPEED_MID;
gSaveBlock2Ptr->optionsWindowFrameType = 0;
@@ -97,38 +106,31 @@ void SetDefaultOptions(void)
gSaveBlock2Ptr->regionMapZoom = FALSE;
}
-void ClearPokedexFlags(void)
+static void ClearPokedexFlags(void)
{
gUnknown_030060B0 = 0;
memset(&gSaveBlock2Ptr->pokedex.owned, 0, sizeof(gSaveBlock2Ptr->pokedex.owned));
memset(&gSaveBlock2Ptr->pokedex.seen, 0, sizeof(gSaveBlock2Ptr->pokedex.seen));
}
-const struct ContestWinner gContestWinnerPicDummy = {
- .monName = _(""),
- .trainerName = _("")
-};
-
void ClearAllContestWinnerPics(void)
{
s32 i;
ClearContestWinnerPicsInContestHall();
for (i = 8; i < 13; i++)
- gSaveBlock1Ptr->contestWinners[i] = gContestWinnerPicDummy;
+ gSaveBlock1Ptr->contestWinners[i] = sContestWinnerPicDummy;
}
-void sub_8084400(void)
+static void ClearFrontierRecord(void)
{
- // probably clearing one struct for battle frontier
- CpuFill32(0, gSaveBlock2Ptr->field_64C, 2272);
+ CpuFill32(0, &gSaveBlock2Ptr->frontier, sizeof(gSaveBlock2Ptr->frontier));
- // those look like strings
- gSaveBlock2Ptr->field_EE1 = 0xFF;
- gSaveBlock2Ptr->field_EE9 = 0xFF;
+ gSaveBlock2Ptr->frontier.field_EE1[0][0] = EOS;
+ gSaveBlock2Ptr->frontier.field_EE1[1][0] = EOS;
}
-void WarpToTruck(void)
+static void WarpToTruck(void)
{
Overworld_SetWarpDestination(25, 40, -1, -1, -1); // inside of truck
warp_in();
@@ -160,7 +162,7 @@ void NewGameInitData(void)
ZeroPlayerPartyMons();
ZeroEnemyPartyMons();
ResetPokedex();
- sub_8084400();
+ ClearFrontierRecord();
ClearSav1();
ClearMailData();
gSaveBlock2Ptr->specialSaveWarp = 0;
@@ -178,7 +180,7 @@ void NewGameInitData(void)
ResetLinkContestBoolean();
ResetGameStats();
ClearAllContestWinnerPics();
- InitLinkBattleRecords();
+ ClearPlayerLinkBattleRecords();
InitSeedotSizeRecord();
InitLotadSizeRecord();
gPlayerPartyCount = 0;
@@ -210,7 +212,7 @@ void NewGameInitData(void)
ResetContestLinkResults();
}
-void ResetMiniGamesResults(void)
+static void ResetMiniGamesResults(void)
{
CpuFill16(0, &gSaveBlock2Ptr->berryCrush, sizeof(struct BerryCrush));
SetBerryPowder(&gSaveBlock2Ptr->berryCrush.berryPowderAmount, 0);