diff options
author | Deokishisu <6993375+Deokishisu@users.noreply.github.com> | 2021-06-03 12:45:59 -0400 |
---|---|---|
committer | Deokishisu <6993375+Deokishisu@users.noreply.github.com> | 2021-06-03 12:45:59 -0400 |
commit | 8e4320cc211da9d0ccd14a2b9c220cf85c05aeef (patch) | |
tree | dd73557d5f392e337696200898f5e86e56833917 /src/link.c | |
parent | 753b19d0ea79b9637c0eb08b3f1b04b543fe90a0 (diff) |
Sync LinkPlayer Struct with pokeemerald
In pokefirered, the `LinkPlayer` struct used an 11-byte name field and puts extra link-related info in the last three bytes. pokeemerald separates these last three bytes into their own fields. This commit replicates how pokeemerald handles those fields.
Also renamed `IntlConvertLinkPlayerName` to pokeemerald's `ConvertLinkPlayerName` because I was there and noticed it.
Diffstat (limited to 'src/link.c')
-rw-r--r-- | src/link.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/link.c b/src/link.c index 8122aafc0..d2d9e630f 100644 --- a/src/link.c +++ b/src/link.c @@ -321,10 +321,10 @@ static void InitLocalLinkPlayer(void) gLocalLinkPlayer.language = gGameLanguage; gLocalLinkPlayer.version = gGameVersion + 0x4000; gLocalLinkPlayer.lp_field_2 = 0x8000; - gLocalLinkPlayer.name[8] = IsNationalPokedexEnabled(); + gLocalLinkPlayer.progressFlags = IsNationalPokedexEnabled(); if (FlagGet(FLAG_SYS_CAN_LINK_WITH_RS)) { - gLocalLinkPlayer.name[8] |= 0x10; + gLocalLinkPlayer.progressFlags |= 0x10; } } @@ -602,11 +602,11 @@ void ProcessRecvCmds(u8 unused) *linkPlayer = block->linkPlayer; if ((linkPlayer->version & 0xFF) == VERSION_RUBY || (linkPlayer->version & 0xFF) == VERSION_SAPPHIRE) { - linkPlayer->name[10] = 0; - linkPlayer->name[9] = 0; - linkPlayer->name[8] = 0; + linkPlayer->progressFlagsCopy = 0; + linkPlayer->neverRead = 0; + linkPlayer->progressFlags = 0; } - IntlConvertLinkPlayerName(linkPlayer); + ConvertLinkPlayerName(linkPlayer); if (strcmp(block->magic1, sASCIIGameFreakInc) != 0 || strcmp(block->magic2, sASCIIGameFreakInc) != 0) { @@ -1640,7 +1640,7 @@ void LinkPlayerFromBlock(u32 who) block = (struct LinkPlayerBlock *)gBlockRecvBuffer[who_]; player = &gLinkPlayers[who_]; *player = block->linkPlayer; - IntlConvertLinkPlayerName(player); + ConvertLinkPlayerName(player); if (strcmp(block->magic1, sASCIIGameFreakInc) != 0 || strcmp(block->magic2, sASCIIGameFreakInc) != 0) { SetMainCallback2(CB2_LinkError); @@ -1718,9 +1718,9 @@ bool32 LinkRecvQueueLengthMoreThan2(void) return FALSE; } -void IntlConvertLinkPlayerName(struct LinkPlayer * player) +void ConvertLinkPlayerName(struct LinkPlayer * player) { - player->name[10] = player->name[8]; + player->progressFlagsCopy = player->progressFlags; // ? Perhaps relocating for a longer name field ConvertInternationalString(player->name, player->language); } |