rodecomp/Source/Network/Packets/ActorNamePacket.cpp
ragnarok-clanker 7ea84b3b37 Confirm 5 functions in Source/Contents/Actors/ActorPickNode.cpp, Source/Contents/Emblems/EmblemDataUploadAsyncWork.cpp, ...
Batch #17208 by eAthena: 4 byte-identical, 1 confirmed by peer review.

- fn_03631 UINavigationV4Wnd::LoadRoute: byte-identical (already on main)
- fn_10693 UIEditCtrl3::~UIEditCtrl3: byte-identical (already on main)
- fn_10715 UIEditCtrl3::`scalar deleting destructor': byte-identical (already on main)
- fn_16930 UIWindow::CreateItemTagButton: logic confirmed by peer review (already on main)
- fn_21631 CGameMode::ReceivePlayerNameUpdate: byte-identical (already on main)

Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-11 14:52:37 +00:00

46 lines
1.8 KiB
C++

#include "Client/Mode/CGameMode.h"
#include "Client/Session/Session.h"
#include "Contents/Tables/MessageTable.h"
#include "Network/Packets/ActorNamePacket.h"
#include "UI/Edit/UIEditCtrl.h"
#include "UI/Status/UIPetInfoWnd.h"
#include "UI/Window/UIWindowMgr.h"
#include "Resource/MSGSTRINGID.h"
#include <cstdio>
#include <string>
extern template std::string::basic_string(const std::string&);
// OFFSET: 0x00D1DFB0
// FUNCTION: fn_21632
void CGameMode::ReceiveActorNameAll(const ActorNameAllPacket* packet) {
this->nameCard.Set(packet->actorId, std::string(packet->name, packet->name + sizeof(packet->name)).c_str(),
std::string(packet->partyName, packet->partyName + sizeof(packet->partyName)).c_str(),
std::string(packet->guildName, packet->guildName + sizeof(packet->guildName)).c_str(),
std::string(packet->positionName, packet->positionName + sizeof(packet->positionName)).c_str(), "", "", 0);
}
// OFFSET: 0x00D1E3D0
// FUNCTION: fn_21633
void CGameMode::ReceiveActorNameTitle(const ActorNameTitlePacket* packet) {
this->nameCard.Set(packet->actorId, std::string(packet->name, packet->name + sizeof(packet->name)).c_str(), "", "", "", "",
packet->title, packet->groupId);
if (packet->actorId == g_session.petGid) {
std::sprintf(g_session.petName, packet->name);
if (UIPetInfoWnd* window = static_cast<UIPetInfoWnd*>(g_windowMgr.petInfoWnd)) {
window->nameEdit->SetText(packet->name);
}
}
}
// OFFSET: 0x00D1DB50
// FUNCTION: fn_21631
void CGameMode::ReceivePlayerNameUpdate(const PlayerNameUpdatePacket* packet) {
if (packet->type == 4 || packet->type == 3) {
std::string name = packet->type == 4 ? std::string(LookupMessage(MSI_NAMELESS_USER))
: std::string(std::string(packet->name, packet->name + sizeof(packet->name)).c_str());
SetPlayerName(packet->characterId, name);
}
}