Compare commits

..

2 Commits

Author SHA1 Message Date
575754f727
Merge 1781ac6b03 into 47dbc6d35e 2024-06-25 15:23:06 -07:00
gsemaj
1781ac6b03
Fix delayed loading of nano skill icons
We actually don't need to wait for post-load to do the second nano book send.
That adds unnecessary delay. Moving it to right after `P_FE2CL_REP_PC_ENTER_SUCC`
does the trick and gives the client plenty of time to fetch the icons before
loading in-game.
2024-06-25 15:21:38 -07:00

View File

@ -294,12 +294,14 @@ static void enterPlayer(CNSocket* sock, CNPacketData* data) {
sock->setActiveKey(SOCKETKEY_FE); // send all packets using the FE key from now on sock->setActiveKey(SOCKETKEY_FE); // send all packets using the FE key from now on
// Academy builds receive nanos in a separate packet. These need to be sent // Academy builds receive nanos in a separate packet. These need to be sent
// before P_FE2CL_REP_PC_ENTER_SUCC as well as after initial load // before P_FE2CL_REP_PC_ENTER_SUCC as well as after
// due to a race condition in the client :( // due to a race condition in the client :(
sendNanoBookSubset(sock, plr); sendNanoBookSubset(sock, plr);
sock->sendPacket(response, P_FE2CL_REP_PC_ENTER_SUCC); sock->sendPacket(response, P_FE2CL_REP_PC_ENTER_SUCC);
sendNanoBookSubset(sock, plr);
// transfer ownership of Player object into the shard (still valid in this function though) // transfer ownership of Player object into the shard (still valid in this function though)
addPlayer(sock, plr); addPlayer(sock, plr);
@ -376,7 +378,6 @@ static void loadPlayer(CNSocket* sock, CNPacketData* data) {
Missions::failInstancedMissions(sock); // auto-fail missions Missions::failInstancedMissions(sock); // auto-fail missions
Buddies::sendBuddyList(sock); // buddy list Buddies::sendBuddyList(sock); // buddy list
Items::checkItemExpire(sock, plr); // vehicle expiration Items::checkItemExpire(sock, plr); // vehicle expiration
sendNanoBookSubset(sock, plr); // nanos (post-load)
plr->initialLoadDone = true; plr->initialLoadDone = true;
} }