diff options
Diffstat (limited to 'src/save_location.c')
-rw-r--r-- | src/save_location.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/src/save_location.c b/src/save_location.c index 6bf5eceb0..aa56d7b16 100644 --- a/src/save_location.c +++ b/src/save_location.c @@ -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) |