diff options
Diffstat (limited to 'src/new_game.c')
-rw-r--r-- | src/new_game.c | 56 |
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); |