Merge remote-tracking branch 'origin/master' into doc_tileset_anims

This commit is contained in:
PikalaxALT
2021-06-03 15:40:14 -04:00
5 changed files with 20 additions and 17 deletions
+5 -2
View File
@@ -127,7 +127,10 @@ struct LinkPlayer
/* 0x00 */ u16 version; /* 0x00 */ u16 version;
/* 0x02 */ u16 lp_field_2; /* 0x02 */ u16 lp_field_2;
/* 0x04 */ u32 trainerId; /* 0x04 */ u32 trainerId;
/* 0x08 */ u8 name[11]; /* 0x08 */ u8 name[PLAYER_NAME_LENGTH + 1];
/* 0x10 */ u8 progressFlags; // (& 0x0F) is hasNationalDex, (& 0xF0) is hasClearedGame
/* 0x11 */ u8 neverRead;
/* 0x12 */ u8 progressFlagsCopy;
/* 0x13 */ u8 gender; /* 0x13 */ u8 gender;
/* 0x14 */ u32 linkType; /* 0x14 */ u32 linkType;
/* 0x18 */ u16 id; // battle bank in battles /* 0x18 */ u16 id; // battle bank in battles
@@ -277,7 +280,7 @@ void CreateWirelessStatusIndicatorSprite(u8, u8);
void sub_8009FE8(void); void sub_8009FE8(void);
void ClearLinkCallback_2(void); void ClearLinkCallback_2(void);
void Rfu_SetLinkStandbyCallback(void); void Rfu_SetLinkStandbyCallback(void);
void IntlConvertLinkPlayerName(struct LinkPlayer * linkPlayer); void ConvertLinkPlayerName(struct LinkPlayer * linkPlayer);
bool8 IsWirelessAdapterConnected(void); bool8 IsWirelessAdapterConnected(void);
bool8 Link_PrepareCmd0xCCCC_Rfu0xA100(u8 blockRequestType); bool8 Link_PrepareCmd0xCCCC_Rfu0xA100(u8 blockRequestType);
void LinkVSync(void); void LinkVSync(void);
+1 -1
View File
@@ -659,7 +659,7 @@ static void Task_StartWirelessCableClubBattle(u8 taskId)
for (i = 0; i < GetLinkPlayerCount(); i++) for (i = 0; i < GetLinkPlayerCount(); i++)
{ {
gLinkPlayers[i] = *(struct LinkPlayer *)gBlockRecvBuffer[i]; gLinkPlayers[i] = *(struct LinkPlayer *)gBlockRecvBuffer[i];
IntlConvertLinkPlayerName(&gLinkPlayers[i]); ConvertLinkPlayerName(&gLinkPlayers[i]);
ResetBlockReceivedFlag(i); ResetBlockReceivedFlag(i);
} }
data[0] = 4; data[0] = 4;
+9 -9
View File
@@ -321,10 +321,10 @@ static void InitLocalLinkPlayer(void)
gLocalLinkPlayer.language = gGameLanguage; gLocalLinkPlayer.language = gGameLanguage;
gLocalLinkPlayer.version = gGameVersion + 0x4000; gLocalLinkPlayer.version = gGameVersion + 0x4000;
gLocalLinkPlayer.lp_field_2 = 0x8000; gLocalLinkPlayer.lp_field_2 = 0x8000;
gLocalLinkPlayer.name[8] = IsNationalPokedexEnabled(); gLocalLinkPlayer.progressFlags = IsNationalPokedexEnabled();
if (FlagGet(FLAG_SYS_CAN_LINK_WITH_RS)) 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; *linkPlayer = block->linkPlayer;
if ((linkPlayer->version & 0xFF) == VERSION_RUBY || (linkPlayer->version & 0xFF) == VERSION_SAPPHIRE) if ((linkPlayer->version & 0xFF) == VERSION_RUBY || (linkPlayer->version & 0xFF) == VERSION_SAPPHIRE)
{ {
linkPlayer->name[10] = 0; linkPlayer->progressFlagsCopy = 0;
linkPlayer->name[9] = 0; linkPlayer->neverRead = 0;
linkPlayer->name[8] = 0; linkPlayer->progressFlags = 0;
} }
IntlConvertLinkPlayerName(linkPlayer); ConvertLinkPlayerName(linkPlayer);
if (strcmp(block->magic1, sASCIIGameFreakInc) != 0 if (strcmp(block->magic1, sASCIIGameFreakInc) != 0
|| strcmp(block->magic2, sASCIIGameFreakInc) != 0) || strcmp(block->magic2, sASCIIGameFreakInc) != 0)
{ {
@@ -1640,7 +1640,7 @@ void LinkPlayerFromBlock(u32 who)
block = (struct LinkPlayerBlock *)gBlockRecvBuffer[who_]; block = (struct LinkPlayerBlock *)gBlockRecvBuffer[who_];
player = &gLinkPlayers[who_]; player = &gLinkPlayers[who_];
*player = block->linkPlayer; *player = block->linkPlayer;
IntlConvertLinkPlayerName(player); ConvertLinkPlayerName(player);
if (strcmp(block->magic1, sASCIIGameFreakInc) != 0 || strcmp(block->magic2, sASCIIGameFreakInc) != 0) if (strcmp(block->magic1, sASCIIGameFreakInc) != 0 || strcmp(block->magic2, sASCIIGameFreakInc) != 0)
{ {
SetMainCallback2(CB2_LinkError); SetMainCallback2(CB2_LinkError);
@@ -1718,9 +1718,9 @@ bool32 LinkRecvQueueLengthMoreThan2(void)
return FALSE; 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); ConvertInternationalString(player->name, player->language);
} }
+2 -2
View File
@@ -1769,7 +1769,7 @@ static void ReceiveRfuLinkPlayers(const struct SioInfo *chunk)
for (i = 0; i < MAX_RFU_PLAYERS; i++) for (i = 0; i < MAX_RFU_PLAYERS; i++)
{ {
gLinkPlayers[i] = chunk->linkPlayers[i]; gLinkPlayers[i] = chunk->linkPlayers[i];
IntlConvertLinkPlayerName(gLinkPlayers + i); ConvertLinkPlayerName(gLinkPlayers + i);
} }
} }
@@ -1814,7 +1814,7 @@ static void Task_ExchangeLinkPlayers(u8 taskId)
ResetBlockReceivedFlag(r4); ResetBlockReceivedFlag(r4);
r2 = (struct LinkPlayerBlock *)gBlockRecvBuffer[r4]; r2 = (struct LinkPlayerBlock *)gBlockRecvBuffer[r4];
gLinkPlayers[r4] = r2->linkPlayer; gLinkPlayers[r4] = r2->linkPlayer;
IntlConvertLinkPlayerName(gLinkPlayers + r4); ConvertLinkPlayerName(gLinkPlayers + r4);
gTasks[taskId].data[0]++; gTasks[taskId].data[0]++;
} }
break; break;
+3 -3
View File
@@ -2623,7 +2623,7 @@ static u32 TestWhetherSelectedMonCanBeTraded(struct Pokemon * party, int partyCo
if ((player->version & 0xFF) != VERSION_RUBY && if ((player->version & 0xFF) != VERSION_RUBY &&
(player->version & 0xFF) != VERSION_SAPPHIRE) (player->version & 0xFF) != VERSION_SAPPHIRE)
{ {
if ((player->name[10] & 0xF) == 0) if ((player->progressFlagsCopy & 0xF) == 0)
{ {
if (species2[cursorPos] == SPECIES_EGG) if (species2[cursorPos] == SPECIES_EGG)
{ {
@@ -2697,11 +2697,11 @@ s32 Trade_CalcLinkPlayerCompatibilityParam(void)
if (val > 0) if (val > 0)
{ {
if (gLinkPlayers[GetMultiplayerId()].name[10] & 0xF0) if (gLinkPlayers[GetMultiplayerId()].progressFlagsCopy & 0xF0)
{ {
if (val == 2) if (val == 2)
{ {
if (gLinkPlayers[GetMultiplayerId() ^ 1].name[10] & 0xF0) if (gLinkPlayers[GetMultiplayerId() ^ 1].progressFlagsCopy & 0xF0)
{ {
return 0; return 0;
} }