begin new save.c, label lots of things
This commit is contained in:
@@ -217,7 +217,7 @@ void SeedRngAndSetTrainerId(void)
|
||||
gTrainerId = val;
|
||||
}
|
||||
|
||||
u16 GetTrainerId(void)
|
||||
u16 GetGeneratedTrainerIdLower(void)
|
||||
{
|
||||
return gTrainerId;
|
||||
}
|
||||
|
||||
111
src/new_game.c
Normal file
111
src/new_game.c
Normal file
@@ -0,0 +1,111 @@
|
||||
#include "global.h"
|
||||
#include "new_game.h"
|
||||
#include "rng.h"
|
||||
|
||||
extern u8 gPlayerPartyCount;
|
||||
extern u8 gDifferentSaveFile;
|
||||
extern u16 gSaveFileStatus;
|
||||
extern u8 gUnknown_030060B0;
|
||||
|
||||
extern u16 GetGeneratedTrainerIdLower(void);
|
||||
extern void ClearContestWinnerPicsInContestHall(void);
|
||||
extern void warp1_set(s8 mapBank, s8 mapNo, s8 warpNo, s8 xPos, s8 yPos);
|
||||
extern void warp_in(void);
|
||||
extern void sub_80BB358(void);
|
||||
extern void ZeroPlayerPartyMons(void);
|
||||
extern void ZeroEnemyPartyMons(void);
|
||||
extern void ResetBagScrollPositions(void);
|
||||
extern void sub_813624C(void); // clears something pokeblock related
|
||||
extern void ClearSav2(void); // clears something pokeblock related
|
||||
|
||||
void WriteUnalignedWord(u32 var, u8 *dataPtr)
|
||||
{
|
||||
dataPtr[0] = var;
|
||||
dataPtr[1] = var >> 8;
|
||||
dataPtr[2] = var >> 16;
|
||||
dataPtr[3] = var >> 24;
|
||||
}
|
||||
|
||||
u32 ReadUnalignedWord(u8* dataPtr)
|
||||
{
|
||||
return (dataPtr[3] << 24) | (dataPtr[2] << 16) | (dataPtr[1] << 8) | (dataPtr[0]);
|
||||
}
|
||||
|
||||
void CopyUnalignedWord(u8 *copyTo, u8 *copyFrom)
|
||||
{
|
||||
s32 i;
|
||||
for (i = 0; i < 4; i++)
|
||||
copyTo[i] = copyFrom[i];
|
||||
}
|
||||
|
||||
void InitPlayerTrainerId(void)
|
||||
{
|
||||
u32 trainerId = (Random() << 0x10) | GetGeneratedTrainerIdLower();
|
||||
WriteUnalignedWord(trainerId, gSaveBlock2Ptr->playerTrainerId);
|
||||
}
|
||||
|
||||
// L=A isnt set here for some reason.
|
||||
void SetDefaultOptions(void)
|
||||
{
|
||||
gSaveBlock2Ptr->optionsTextSpeed = OPTIONS_TEXT_SPEED_MID;
|
||||
gSaveBlock2Ptr->optionsWindowFrameType = 0;
|
||||
gSaveBlock2Ptr->optionsSound = OPTIONS_SOUND_MONO;
|
||||
gSaveBlock2Ptr->optionsBattleStyle = OPTIONS_BATTLE_STYLE_SHIFT;
|
||||
gSaveBlock2Ptr->optionsBattleSceneOff = FALSE;
|
||||
gSaveBlock2Ptr->regionMapZoom = FALSE;
|
||||
}
|
||||
|
||||
void ClearPokedexFlags(void)
|
||||
{
|
||||
gUnknown_030060B0 = 0;
|
||||
memset(&gSaveBlock2Ptr->pokedex.owned, 0, sizeof(gSaveBlock2Ptr->pokedex.owned));
|
||||
memset(&gSaveBlock2Ptr->pokedex.seen, 0, sizeof(gSaveBlock2Ptr->pokedex.seen));
|
||||
}
|
||||
|
||||
extern const struct ContestWinner gContestWinnerPicDummy;
|
||||
|
||||
void ClearAllContestWinnerPics(void)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
ClearContestWinnerPicsInContestHall();
|
||||
for (i = 8; i < 13; i++)
|
||||
gSaveBlock1Ptr->contestWinners[i] = gContestWinnerPicDummy;
|
||||
}
|
||||
|
||||
void sub_8084400(void)
|
||||
{
|
||||
// probably clearing one struct for battle frontier
|
||||
CpuFill32(0, gSaveBlock2Ptr->field_64C, 2272);
|
||||
|
||||
// those look like strings
|
||||
gSaveBlock2Ptr->field_EE1 = 0xFF;
|
||||
gSaveBlock2Ptr->field_EE9 = 0xFF;
|
||||
}
|
||||
|
||||
void WarpToTruck(void)
|
||||
{
|
||||
warp1_set(25, 40, -1, -1, -1); // inside of truck
|
||||
warp_in();
|
||||
}
|
||||
|
||||
void Sav2_ClearSetDefault(void)
|
||||
{
|
||||
ClearSav2();
|
||||
SetDefaultOptions();
|
||||
}
|
||||
|
||||
void sub_808447C(void)
|
||||
{
|
||||
gDifferentSaveFile = 0;
|
||||
sub_80BB358();
|
||||
ZeroPlayerPartyMons();
|
||||
ZeroEnemyPartyMons();
|
||||
ResetBagScrollPositions();
|
||||
sub_813624C();
|
||||
}
|
||||
/*
|
||||
void NewGameInitData(void)
|
||||
{
|
||||
Finish when more header files are available
|
||||
}*/
|
||||
@@ -24,7 +24,7 @@ u32 gSaveCounter;
|
||||
struct SaveSection *gFastSaveSection;
|
||||
u16 gUnknown_03006208;
|
||||
u16 gSaveUnusedVar;
|
||||
u16 gUnknown_03006210;
|
||||
u16 gSaveFileStatus;
|
||||
void (*gGameContinueCallback)(void);
|
||||
|
||||
EWRAM_DATA struct SaveSection gSaveDataBuffer = {0};
|
||||
@@ -806,7 +806,7 @@ u8 sub_81534D0(u8 a1)
|
||||
|
||||
if (gFlashMemoryPresent != TRUE)
|
||||
{
|
||||
gUnknown_03006210 = 4;
|
||||
gSaveFileStatus = 4;
|
||||
return 0xFF;
|
||||
}
|
||||
|
||||
@@ -817,7 +817,7 @@ u8 sub_81534D0(u8 a1)
|
||||
default:
|
||||
result = sub_8152DD0(0xFFFF, gRamSaveSectionLocations);
|
||||
LoadSerializedGame();
|
||||
gUnknown_03006210 = result;
|
||||
gSaveFileStatus = result;
|
||||
gGameContinueCallback = 0;
|
||||
break;
|
||||
case 3:
|
||||
|
||||
Reference in New Issue
Block a user