Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,118 @@
|
||||
#include "stdafx.h"
|
||||
#include "Ryl_AgentServerParseData.h"
|
||||
|
||||
#include <Network/Buffer/Ryl_CumulateBuffer.h>
|
||||
#include <Network/Protocol/Ryl_AdminMgrProtocol.h>
|
||||
#include <Network/Session/Session.h>
|
||||
#include <Network/XORCrypt/XORCrypt.h>
|
||||
#include <Network/Packet/WrapPacket.h>
|
||||
#include <Network/Packet/PacketStruct/CharLoginOutPacketStruct.h>
|
||||
#include <Character/ModifyCharacter.h>
|
||||
#include <Stream/Buffer/Buffer.h>
|
||||
#include <Stream/Buffer/BufferFactory.h>
|
||||
#include <Item/ItemFactory.h>
|
||||
#include <Log/ServerLog.h>
|
||||
|
||||
|
||||
bool CAgentServerParseData::PARSE_CHAR_BASIC_DATA(CModifyCharacter* lpCharacter, char* lpDataBuffer)
|
||||
{
|
||||
unsigned short* lpSizeArray = reinterpret_cast<unsigned short*>(lpDataBuffer);
|
||||
char* lpCharDataBuffer = lpDataBuffer + (sizeof(unsigned short) * DBUpdateData::MAX_UPDATE_DB);
|
||||
|
||||
if(!lpCharacter->SetCharacterInfo(lpCharDataBuffer, lpSizeArray))
|
||||
{
|
||||
ERRLOG0(g_Log, "PARSE_CHAR_BASIC_DATA <20><><EFBFBD><EFBFBD>");
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CAgentServerParseData::PARSE_CHAR_EXTRA_DATA(CModifyCharacter* lpCharacter, char* lpDataBuffer)
|
||||
{
|
||||
CModifyCharacter::CHAR_EXTRA_DATA& ExtraData = lpCharacter->GetExtraData();
|
||||
|
||||
ExtraData.m_CharInfoEX = *reinterpret_cast<CHAR_INFOEX*>(lpDataBuffer);
|
||||
lpDataBuffer += sizeof(CHAR_INFOEX);
|
||||
ExtraData.m_Quest = *reinterpret_cast<QUEST*>(lpDataBuffer);
|
||||
lpDataBuffer += sizeof(QUEST);
|
||||
ExtraData.m_History = *reinterpret_cast<HISTORY*>(lpDataBuffer);
|
||||
lpDataBuffer += sizeof(HISTORY);
|
||||
ExtraData.m_Config = *reinterpret_cast<CONFIG*>(lpDataBuffer);
|
||||
lpDataBuffer += sizeof(CONFIG);
|
||||
|
||||
// STORE_INFO
|
||||
LPSTORE_INFO lpStoreInfo = reinterpret_cast<LPSTORE_INFO>(lpDataBuffer);
|
||||
Item::CDepositContainer& DepositContainer = lpCharacter->GetDeposit();
|
||||
|
||||
DepositContainer.SetPassword(lpStoreInfo->Password, STORE_INFO::MAX_PASS_LEN);
|
||||
DepositContainer.SetTabFlag(lpStoreInfo->Flag);
|
||||
DepositContainer.DeductGold(lpCharacter->GetDeposit().GetGold());
|
||||
DepositContainer.AddGold(lpStoreInfo->Gold);
|
||||
|
||||
lpCharacter->RevisionQuestNation();
|
||||
lpCharacter->ParseQuestData();
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CAgentServerParseData::PARSE_CHAR_FRIEND_DATA(CModifyCharacter* lpCharacter,
|
||||
char* lpDataBuffer, unsigned short PaseLength)
|
||||
{
|
||||
CFriendList& FriendList = lpCharacter->GetFriendList();
|
||||
|
||||
if(!FriendList.SerializeIn(lpDataBuffer, PaseLength))
|
||||
{
|
||||
ERRLOG0(g_Log, "PARSE_CHAR_FRIEND_DATA <20><><EFBFBD><EFBFBD> (ģ<><C4A3> <20><><EFBFBD><EFBFBD>Ʈ <20>ø<EFBFBD><C3B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>)");
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CAgentServerParseData::PARSE_CHAR_BAN_DATA(CModifyCharacter* lpCharacter,
|
||||
char* lpDataBuffer, unsigned short PaseLength)
|
||||
{
|
||||
CBanList& BanList = lpCharacter->GetBanList();
|
||||
|
||||
if(!BanList.SerializeIn(lpDataBuffer, PaseLength))
|
||||
{
|
||||
ERRLOG0(g_Log, "PARSE_CHAR_BAN_DATA <20><><EFBFBD><EFBFBD> (<28>ź<EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ <20>ø<EFBFBD><C3B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>)");
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CAgentServerParseData::PARSE_STORE_12_DATA(CModifyCharacter* lpCharacter, char* lpDataBuffer)
|
||||
{
|
||||
LPSTORE lpStore12 = reinterpret_cast<LPSTORE>(lpDataBuffer);
|
||||
|
||||
Item::CDepositContainer& DepositContainer = lpCharacter->GetDeposit();
|
||||
|
||||
if(!DepositContainer.SerializeIn(lpStore12->Data, lpStore12->dwSize))
|
||||
{
|
||||
ERRLOG0(g_Log, "PARSE_STORE_12_DATA <20><><EFBFBD><EFBFBD> (â<><C3A2>12 <20>ø<EFBFBD><C3B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>)");
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
lpCharacter->SetOperationFlag(CCharacter::CHAR_INFO_LOADED);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CAgentServerParseData::PARSE_STORE_34_DATA(CModifyCharacter* lpCharacter, char* lpDataBuffer)
|
||||
{
|
||||
LPSTORE lpStore34 = reinterpret_cast<LPSTORE>(lpDataBuffer);
|
||||
|
||||
Item::CDepositContainer& DepositContainer = lpCharacter->GetDeposit();
|
||||
|
||||
if(!DepositContainer.SerializeIn(lpStore34->Data, lpStore34->dwSize))
|
||||
{
|
||||
ERRLOG0(g_Log, "PARSE_STORE_34_DATA <20><><EFBFBD><EFBFBD> (â<><C3A2>34 <20>ø<EFBFBD><C3B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>)");
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
Reference in New Issue
Block a user