Label GCN link flags field

This commit is contained in:
GriffinR
2020-04-13 08:42:31 -04:00
parent 8a31778733
commit dde4a0416c
6 changed files with 15 additions and 15 deletions

View File

@@ -162,7 +162,7 @@ void NewGameInitData(void)
ClearSav1();
ClearMailData();
gSaveBlock2Ptr->specialSaveWarpFlags = 0;
gSaveBlock2Ptr->field_A8 = 0;
gSaveBlock2Ptr->gcnLinkFlags = 0;
InitPlayerTrainerId();
PlayTimeCounter_Reset();
ClearPokedexFlags();

View File

@@ -118,17 +118,18 @@ void TrySetMapSaveWarpStatus(void)
sub_81AFD5C();
}
// Called when receiving the Pokedex
// Only place field_A8 is written (aside from clearing on new game), never read
void sub_81AFDA0(void)
// In FRLG, only 0x1, 0x10, and 0x20 are set when the pokedex is received
// 0x2, 0x4, 0x8, and 0x8000 are instead set by SetPostgameFlags
// These flags are read by Pokemon Colosseum/XD for linking. XD Additionally requires FLAG_SYS_GAME_CLEAR
void SetUnlockedPokedexFlags(void)
{
gSaveBlock2Ptr->field_A8 |= 0x8000;
gSaveBlock2Ptr->field_A8 |= 0x1;
gSaveBlock2Ptr->field_A8 |= 0x2;
gSaveBlock2Ptr->field_A8 |= 0x4;
gSaveBlock2Ptr->field_A8 |= 0x10;
gSaveBlock2Ptr->field_A8 |= 0x20;
gSaveBlock2Ptr->field_A8 |= 0x8;
gSaveBlock2Ptr->gcnLinkFlags |= 0x8000;
gSaveBlock2Ptr->gcnLinkFlags |= 0x1;
gSaveBlock2Ptr->gcnLinkFlags |= 0x2;
gSaveBlock2Ptr->gcnLinkFlags |= 0x4;
gSaveBlock2Ptr->gcnLinkFlags |= 0x10;
gSaveBlock2Ptr->gcnLinkFlags |= 0x20;
gSaveBlock2Ptr->gcnLinkFlags |= 0x8;
}
void SetChampionSaveWarp(void)