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:
2025-11-29 20:17:20 +09:00
parent 5d3cd64a25
commit dd97ddec92
11602 changed files with 1446576 additions and 0 deletions

View File

@@ -0,0 +1,675 @@
#ifndef _RYL_DB_CHARACTER_PROCESS_COMMAND_H_
#define _RYL_DB_CHARACTER_PROCESS_COMMAND_H_
#include <atlstr.h>
#include <atldbcli.h>
#include <DB/DBdefine.h>
#include "RylDBCommand.h"
namespace RylDBCommand
{
class CCharData : public IRylDBCommand
{
public:
enum
{
MAX_COLUMN_NUM = 25,
MAX_EQUIP_DATA = 30
};
CCharData() { Init(); }
void Init(void);
void LogError(DBErrorType eErrorType, HRESULT hr);
unsigned long GetCID() const { return static_cast<unsigned long>(m_CID); }
const char* GetName() const { return m_Name; }
unsigned char GetSex() const { return m_Sex; }
unsigned char GetHair() const { return m_Hair; }
unsigned char GetFace() const { return m_Face; }
unsigned char GetRace() const { return m_Race; }
short GetClass() const { return m_Class; }
unsigned long GetFame() const { return static_cast<unsigned long>(m_Fame); }
unsigned long GetMileage() const { return static_cast<unsigned long>(m_Mileage); }
unsigned long GetGID() const { return static_cast<unsigned long>(m_GID); }
unsigned long GetPID() const { return static_cast<unsigned long>(m_PID); }
unsigned char GetLevel() const { return m_Level; }
unsigned long GetGold() const { return static_cast<unsigned long>(m_Gold); }
short GetIP() const { return m_IP; }
short GetSTR() const { return m_STR; }
short GetDEX() const { return m_DEX; }
short GetCON() const { return m_CON; }
short GetINT() const { return m_INT; }
short GetWIS() const { return m_WIS; }
short GetHP() const { return m_HP; }
short GetMP() const { return m_MP; }
unsigned __int64 GetEXP() const { return m_Exp; }
unsigned char GetChance() const { return m_Chance; }
// CID<49><44> <20>ٲ<EFBFBD> <20><> <20><><EFBFBD><EFBFBD>, <20≯<EFBFBD><CCB8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ٲ<EFBFBD><D9B2><EFBFBD> <20>ʴ´<CAB4>.
void SetGold(unsigned long Gold) { m_Gold = Gold; m_GoldStatus = DBSTATUS_S_OK; }
void SetFame(unsigned long Fame) { m_Fame = Fame; m_FameStatus = DBSTATUS_S_OK; }
void SetMileage(unsigned long Mileage) { m_Mileage = Mileage; m_MileageStatus = DBSTATUS_S_OK; }
bool operator == (const CCharData& rhs) const;
bool operator != (const CCharData& rhs) const { return !(*this == rhs); }
CString GetDBStatus();
BEGIN_ACCESSOR_MAP(CCharData, 2)
BEGIN_ACCESSOR(0, true)
COLUMN_ENTRY_STATUS(1, m_CID, m_CIDStatus)
COLUMN_ENTRY_LENGTH_STATUS(2, m_Name, m_NameLen, m_NameStatus)
COLUMN_ENTRY_STATUS(3, m_Sex, m_SexStatus)
COLUMN_ENTRY_STATUS(4, m_Hair, m_HairStatus)
COLUMN_ENTRY_STATUS(5, m_Face, m_FaceStatus)
COLUMN_ENTRY_STATUS(6, m_Race, m_RaceStatus)
COLUMN_ENTRY_STATUS(7, m_Class, m_ClassStatus)
COLUMN_ENTRY_STATUS(8, m_Fame, m_FameStatus)
COLUMN_ENTRY_STATUS(9, m_Mileage, m_MileageStatus)
COLUMN_ENTRY_STATUS(10, m_GID, m_GIDStatus)
COLUMN_ENTRY_STATUS(11, m_PID, m_PIDStatus)
COLUMN_ENTRY_STATUS(12, m_Level, m_LevelStatus)
COLUMN_ENTRY_LENGTH_STATUS(13, m_EquipData, m_EquipLen, m_EquipDataStatus)
COLUMN_ENTRY_STATUS(14, m_Gold, m_GoldStatus)
COLUMN_ENTRY_STATUS(15, m_IP, m_IPStatus)
COLUMN_ENTRY_STATUS(16, m_STR, m_STRStatus)
COLUMN_ENTRY_STATUS(17, m_DEX, m_DEXStatus)
COLUMN_ENTRY_STATUS(18, m_CON, m_CONStatus)
COLUMN_ENTRY_STATUS(19, m_INT, m_INTStatus)
COLUMN_ENTRY_STATUS(20, m_WIS, m_WISStatus)
COLUMN_ENTRY_STATUS(21, m_HP, m_HPStatus)
COLUMN_ENTRY_STATUS(22, m_MP, m_MPStatus)
COLUMN_ENTRY_STATUS(23, m_Exp, m_ExpStatus)
COLUMN_ENTRY_STATUS(24, m_Chance, m_ChanceStatus)
END_ACCESSOR()
BEGIN_ACCESSOR(1, true)
COLUMN_ENTRY_STATUS(3, m_Sex, m_SexStatus)
COLUMN_ENTRY_STATUS(4, m_Hair, m_HairStatus)
COLUMN_ENTRY_STATUS(5, m_Face, m_FaceStatus)
COLUMN_ENTRY_STATUS(6, m_Race, m_RaceStatus)
COLUMN_ENTRY_STATUS(7, m_Class, m_ClassStatus)
COLUMN_ENTRY_STATUS(8, m_Fame, m_FameStatus)
COLUMN_ENTRY_STATUS(9, m_Mileage, m_MileageStatus)
COLUMN_ENTRY_STATUS(10, m_GID, m_GIDStatus)
COLUMN_ENTRY_STATUS(11, m_PID, m_PIDStatus)
COLUMN_ENTRY_STATUS(12, m_Level, m_LevelStatus)
COLUMN_ENTRY_LENGTH_STATUS(13, m_EquipData, m_EquipLen, m_EquipDataStatus)
COLUMN_ENTRY_STATUS(14, m_Gold, m_GoldStatus)
COLUMN_ENTRY_STATUS(15, m_IP, m_IPStatus)
COLUMN_ENTRY_STATUS(16, m_STR, m_STRStatus)
COLUMN_ENTRY_STATUS(17, m_DEX, m_DEXStatus)
COLUMN_ENTRY_STATUS(18, m_CON, m_CONStatus)
COLUMN_ENTRY_STATUS(19, m_INT, m_INTStatus)
COLUMN_ENTRY_STATUS(20, m_WIS, m_WISStatus)
COLUMN_ENTRY_STATUS(21, m_HP, m_HPStatus)
COLUMN_ENTRY_STATUS(22, m_MP, m_MPStatus)
COLUMN_ENTRY_STATUS(23, m_Exp, m_ExpStatus)
COLUMN_ENTRY_STATUS(24, m_Chance, m_ChanceStatus)
END_ACCESSOR()
END_ACCESSOR_MAP()
private:
int m_CID;
char m_Name[CHAR_INFOST::MAX_NAME_LEN]; // ij<><C4B3><EFBFBD><EFBFBD> <20≯<EFBFBD>
unsigned char m_Sex; // ij<><C4B3><EFBFBD><EFBFBD> <20><>
unsigned char m_Hair; // ij<><C4B3><EFBFBD><EFBFBD> <20>Ӹ<EFBFBD> <20><><EFBFBD><EFBFBD>
unsigned char m_Face; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
unsigned char m_Race; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
short m_Class; // ij<><C4B3><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD><EFBFBD>
int m_Fame; // <20><><EFBFBD><EFBFBD>
int m_Mileage; // <20><><EFBFBD>ϸ<EFBFBD><CFB8><EFBFBD>
int m_GID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
int m_PID; // ij<><C4B3><EFBFBD><EFBFBD> <20><>Ƽ
unsigned char m_Level; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
int m_Gold; // <20><>
short m_IP; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ
short m_STR; // ij<><C4B3><EFBFBD><EFBFBD> STR
short m_DEX; // ij<><C4B3><EFBFBD><EFBFBD> DEX
short m_CON; // ij<><C4B3><EFBFBD><EFBFBD> CON
short m_INT; // ij<><C4B3><EFBFBD><EFBFBD> INT
short m_WIS; // ij<><C4B3><EFBFBD><EFBFBD> WIS
short m_HP; // ij<><C4B3><EFBFBD><EFBFBD> HP
short m_MP; // ij<><C4B3><EFBFBD><EFBFBD> MP
__int64 m_Exp; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned char m_Chance; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
BYTE m_EquipData[MAX_EQUIP_DATA];
DBLENGTH m_NameLen;
DBLENGTH m_EquipLen;
// Data Status
DBSTATUSENUM m_CIDStatus;
DBSTATUSENUM m_NameStatus;
DBSTATUSENUM m_SexStatus;
DBSTATUSENUM m_HairStatus;
DBSTATUSENUM m_FaceStatus;
DBSTATUSENUM m_RaceStatus;
DBSTATUSENUM m_ClassStatus;
DBSTATUSENUM m_FameStatus;
DBSTATUSENUM m_MileageStatus;
DBSTATUSENUM m_GIDStatus;
DBSTATUSENUM m_PIDStatus;
DBSTATUSENUM m_LevelStatus;
DBSTATUSENUM m_GoldStatus;
DBSTATUSENUM m_IPStatus;
DBSTATUSENUM m_STRStatus;
DBSTATUSENUM m_DEXStatus;
DBSTATUSENUM m_CONStatus;
DBSTATUSENUM m_INTStatus;
DBSTATUSENUM m_WISStatus;
DBSTATUSENUM m_HPStatus;
DBSTATUSENUM m_MPStatus;
DBSTATUSENUM m_ExpStatus;
DBSTATUSENUM m_ChanceStatus;
DBSTATUSENUM m_EquipDataStatus;
};
class CSkillData : public IRylDBCommand
{
public:
CSkillData() { Init(); }
void Init(void);
void LogError(DBErrorType eErrorType, HRESULT hr);
unsigned long GetCID() const { return static_cast<unsigned long>(m_CID); }
const SKILL& GetSkill() const { return reinterpret_cast<const SKILL&>(m_Skill); }
void SetSkill(const SKILL& skill)
{
memcpy(m_Skill, &skill, sizeof(SKILL));
m_SkillLength = sizeof(SKILL);
m_SkillStatus = DBSTATUS_S_OK;
}
bool operator == (const CSkillData& rhs) const;
bool operator != (const CSkillData& rhs) const { return !(*this == rhs); }
CString GetDBStatus();
BEGIN_ACCESSOR_MAP(CSkillData, 2)
BEGIN_ACCESSOR(0, true)
COLUMN_ENTRY_STATUS(1, m_CID, m_CIDStatus)
COLUMN_ENTRY_LENGTH_STATUS(2, m_Skill, m_SkillLength, m_SkillStatus)
END_ACCESSOR()
BEGIN_ACCESSOR(1, true)
COLUMN_ENTRY_LENGTH_STATUS(2, m_Skill, m_SkillLength, m_SkillStatus)
END_ACCESSOR()
END_ACCESSOR_MAP()
private:
int m_CID;
BYTE m_Skill[sizeof(SKILL)];
DBLENGTH m_SkillLength;
DBSTATUSENUM m_CIDStatus;
DBSTATUSENUM m_SkillStatus;
};
class CCharItem : public IRylDBCommand
{
public:
CCharItem() { Init(); }
void Init();
void LogError(DBErrorType eErrorType, HRESULT hr);
void AdjustSize(bool bRestore);
unsigned long GetCID() const { return static_cast<unsigned long>(m_CID); }
const QUICK& GetQuick() const { return reinterpret_cast<const QUICK&>(m_Quick); }
const EQUIP& GetEquip() const { return reinterpret_cast<const EQUIP&>(m_Equip); }
const INVEN& GetInven() const { return reinterpret_cast<const INVEN&>(m_Inven); }
const EXTRA& GetExtra() const { return reinterpret_cast<const EXTRA&>(m_Extra); }
void SetQuick(const QUICK& quick)
{
memcpy(m_Quick, &quick, sizeof(QUICK));
m_QuickLen = sizeof(QUICK);
m_QuickStatus = DBSTATUS_S_OK;
}
void SetEquip(const EQUIP& equip)
{
memcpy(m_Equip, &equip, sizeof(EQUIP));
m_EquipLen = sizeof(EQUIP);
m_EquipStatus = DBSTATUS_S_OK;
}
void SetInven(const INVEN& inven)
{
memcpy(m_Inven, &inven, sizeof(INVEN));
m_InvenLen = sizeof(INVEN);
m_InvenStatus = DBSTATUS_S_OK;
}
void SetExtra(const EXTRA& extra)
{
memcpy(m_Extra, &extra, sizeof(EXTRA));
m_ExtraLen = sizeof(EXTRA);
m_ExtraStatus = DBSTATUS_S_OK;
}
bool operator == (const CCharItem& rhs) const;
bool operator != (const CCharItem& rhs) const { return !(*this == rhs); }
CString GetDBStatus();
BEGIN_ACCESSOR_MAP(CCharItem, 2)
BEGIN_ACCESSOR(0, true)
COLUMN_ENTRY_STATUS(1, m_CID, m_CIDStatus)
COLUMN_ENTRY_LENGTH_STATUS(2, m_Quick, m_QuickLen, m_QuickStatus)
COLUMN_ENTRY_LENGTH_STATUS(3, m_Equip, m_EquipLen, m_EquipStatus)
COLUMN_ENTRY_LENGTH_STATUS(4, m_Inven, m_InvenLen, m_InvenStatus)
COLUMN_ENTRY_LENGTH_STATUS(5, m_Extra, m_ExtraLen, m_ExtraStatus)
END_ACCESSOR()
BEGIN_ACCESSOR(1, true)
COLUMN_ENTRY_LENGTH_STATUS(2, m_Quick, m_QuickLen, m_QuickStatus)
COLUMN_ENTRY_LENGTH_STATUS(3, m_Equip, m_EquipLen, m_EquipStatus)
COLUMN_ENTRY_LENGTH_STATUS(4, m_Inven, m_InvenLen, m_InvenStatus)
COLUMN_ENTRY_LENGTH_STATUS(5, m_Extra, m_ExtraLen, m_ExtraStatus)
END_ACCESSOR()
END_ACCESSOR_MAP()
private:
int m_CID;
BYTE m_Quick[sizeof(QUICK)];
BYTE m_Equip[sizeof(EQUIP)];
BYTE m_Inven[sizeof(INVEN)];
BYTE m_Extra[sizeof(EXTRA)];
DBLENGTH m_QuickLen;
DBLENGTH m_EquipLen;
DBLENGTH m_InvenLen;
DBLENGTH m_ExtraLen;
DBSTATUSENUM m_CIDStatus;
DBSTATUSENUM m_QuickStatus;
DBSTATUSENUM m_EquipStatus;
DBSTATUSENUM m_InvenStatus;
DBSTATUSENUM m_ExtraStatus;
bool m_bAdjustSize;
};
class CCharItemEx : public IRylDBCommand
{
public:
CCharItemEx() { Init(); }
void Init();
void LogError(DBErrorType eErrorType, HRESULT hr);
void AdjustSize(bool bRestore);
unsigned long GetCID() const { return static_cast<unsigned long>(m_CID); }
const EXCHANGE& GetExchange() const { return reinterpret_cast<const EXCHANGE&>(m_Exchange); }
const TEMPINVEN& GetTempInven() const { return reinterpret_cast<const TEMPINVEN&>(m_TempInven); }
void SetExchange(const EXCHANGE& exchange)
{
memcpy(m_Exchange, &exchange, sizeof(EXCHANGE));
m_ExchangeLen = sizeof(EXCHANGE);
m_ExchangeStatus = DBSTATUS_S_OK;
}
void SetTempInven(const TEMPINVEN& tempInven)
{
memcpy(m_TempInven, &tempInven, sizeof(TEMPINVEN));
m_TempInvenLen = sizeof(TEMPINVEN);
m_TempInvenStatus = DBSTATUS_S_OK;
}
bool operator == (const CCharItemEx& rhs) const;
bool operator != (const CCharItemEx& rhs) const { return !(*this == rhs); }
CString GetDBStatus();
BEGIN_ACCESSOR_MAP(CCharItemEx, 2)
BEGIN_ACCESSOR(0, true)
COLUMN_ENTRY_STATUS(1, m_CID, m_CIDStatus)
COLUMN_ENTRY_LENGTH_STATUS(2, m_Exchange, m_ExchangeLen, m_ExchangeStatus)
COLUMN_ENTRY_LENGTH_STATUS(3, m_TempInven, m_TempInvenLen, m_TempInvenStatus)
END_ACCESSOR()
BEGIN_ACCESSOR(1, true)
COLUMN_ENTRY_LENGTH_STATUS(2, m_Exchange, m_ExchangeLen, m_ExchangeStatus)
COLUMN_ENTRY_LENGTH_STATUS(3, m_TempInven, m_TempInvenLen, m_TempInvenStatus)
END_ACCESSOR()
END_ACCESSOR_MAP()
private:
int m_CID;
BYTE m_Exchange[sizeof(EXCHANGE)];
BYTE m_TempInven[sizeof(TEMPINVEN)];
DBLENGTH m_ExchangeLen;
DBLENGTH m_TempInvenLen;
DBSTATUSENUM m_CIDStatus;
DBSTATUSENUM m_ExchangeStatus;
DBSTATUSENUM m_TempInvenStatus;
bool m_bAdjustSize;
};
class CCharQuest : public IRylDBCommand
{
public:
CCharQuest() { Init(); }
void Init();
void LogError(DBErrorType eErrorType, HRESULT hr);
void AdjustSize(bool bRestore);
unsigned long GetCID() const { return static_cast<unsigned long>(m_CID); }
const QUEST& GetQuest() const { return reinterpret_cast<const QUEST&>(m_Quest); }
const HISTORY& GetHistory() const { return reinterpret_cast<const HISTORY&>(m_History); }
void SetQuest(QUEST& quest)
{
memcpy(m_Quest, &quest, sizeof(QUEST));
m_QuestLen = sizeof(QUEST);
m_QuestStatus = DBSTATUS_S_OK;
}
void SetHistory(HISTORY& history)
{
memcpy(m_History, &history, sizeof(HISTORY));
m_HistoryLen = sizeof(HISTORY);
m_HistoryStatus = DBSTATUS_S_OK;
}
bool operator == (const CCharQuest& rhs) const;
bool operator != (const CCharQuest& rhs) const { return !(*this == rhs); }
CString GetDBStatus();
BEGIN_ACCESSOR_MAP(CCharQuest, 2)
BEGIN_ACCESSOR(0, true)
COLUMN_ENTRY_STATUS(1, m_CID, m_CIDStatus)
COLUMN_ENTRY_LENGTH_STATUS(2, m_Quest, m_QuestLen, m_QuestStatus)
COLUMN_ENTRY_LENGTH_STATUS(3, m_History, m_HistoryLen, m_HistoryStatus);
END_ACCESSOR()
BEGIN_ACCESSOR(1, true)
COLUMN_ENTRY_LENGTH_STATUS(2, m_Quest, m_QuestLen, m_QuestStatus)
COLUMN_ENTRY_LENGTH_STATUS(3, m_History, m_HistoryLen, m_HistoryStatus);
END_ACCESSOR()
END_ACCESSOR_MAP()
private:
int m_CID;
BYTE m_Quest[sizeof(QUEST)];
BYTE m_History[sizeof(HISTORY)];
DBLENGTH m_QuestLen;
DBLENGTH m_HistoryLen;
DBSTATUSENUM m_CIDStatus;
DBSTATUSENUM m_QuestStatus;
DBSTATUSENUM m_HistoryStatus;
bool m_bAdjustSize;
};
class CPartyData : public IRylDBCommand
{
public:
CPartyData() { Init(); }
void Init();
void LogError(DBErrorType eErrorType, HRESULT hr);
unsigned long GetPID() const { return static_cast<unsigned long>(m_PID); }
unsigned long GetGID() const { return static_cast<unsigned long>(m_GID); }
const PARTY_DB_INFO GetParty() const
{
PARTY_DB_INFO dbInfo;
memcpy(&dbInfo.PartyInfo, m_PartyInfo, sizeof(m_PartyInfo));
memcpy(&dbInfo.PartyUserInfo, m_UserInfo, sizeof(m_UserInfo));
//dbInfo.dwGID = m_GID;
return dbInfo;
}
void SetGID(unsigned long dwGID)
{
m_GID = dwGID;
m_GIDStatus = DBSTATUS_S_OK;
}
void SetParty(const PARTY_INFO& partyInfo)
{
memcpy(m_PartyInfo, &partyInfo, sizeof(m_PartyInfo));
m_PartyLen = sizeof(m_PartyInfo);
m_PartyStatus = DBSTATUS_S_OK;
}
void SetUserInfo(const PARTY_USER_INFO& userInfo)
{
memcpy(m_UserInfo, &userInfo, sizeof(PARTY_USER_INFO));
m_UserInfoLen = sizeof(PARTY_USER_INFO);
m_UserInfoStatus = DBSTATUS_S_OK;
}
bool operator == (const CPartyData& rhs) const;
bool operator != (const CPartyData& rhs) const { return !(*this == rhs); }
CString GetDBStatus();
BEGIN_ACCESSOR_MAP(CPartyData, 2)
BEGIN_ACCESSOR(0, true)
COLUMN_ENTRY_STATUS(1, m_PID, m_PIDStatus)
COLUMN_ENTRY_LENGTH_STATUS(2, m_PartyInfo, m_PartyLen, m_PartyStatus)
COLUMN_ENTRY_LENGTH_STATUS(3, m_UserInfo, m_UserInfoLen, m_UserInfoStatus);
COLUMN_ENTRY_STATUS(4, m_GID, m_GIDStatus)
END_ACCESSOR()
BEGIN_ACCESSOR(1, true)
COLUMN_ENTRY_LENGTH_STATUS(2, m_PartyInfo, m_PartyLen, m_PartyStatus)
COLUMN_ENTRY_LENGTH_STATUS(3, m_UserInfo, m_UserInfoLen, m_UserInfoStatus);
COLUMN_ENTRY_STATUS(4, m_GID, m_GIDStatus)
END_ACCESSOR()
END_ACCESSOR_MAP()
private:
int m_PID;
int m_GID;
BYTE m_PartyInfo[sizeof(PARTY_INFO)];
BYTE m_UserInfo[sizeof(PARTY_USER_INFO)];
DBLENGTH m_PartyLen;
DBLENGTH m_UserInfoLen;
DBSTATUSENUM m_PIDStatus;
DBSTATUSENUM m_GIDStatus;
DBSTATUSENUM m_PartyStatus;
DBSTATUSENUM m_UserInfoStatus;
};
class CFriendData : public IRylDBCommand
{
public:
CFriendData() { Init(); }
void Init();
void AdjustSize(bool bRestore);
void LogError(DBErrorType eErrorType, HRESULT hr);
unsigned long GetCID() const { return static_cast<unsigned long>(m_CID); }
const FRIEND GetFriend() const;
const BAN GetBan() const;
void SetFriend(const FRIEND& friendData);
void SetBan(const BAN& banData);
bool operator == (const CFriendData& rhs) const;
bool operator != (const CFriendData& rhs) const { return !(*this == rhs); }
CString GetDBStatus();
BEGIN_ACCESSOR_MAP(CFriendData, 2)
BEGIN_ACCESSOR(0, true)
COLUMN_ENTRY_STATUS(1, m_CID, m_CIDStatus)
COLUMN_ENTRY_LENGTH_STATUS(2, m_Friend, m_FriendLen, m_FriendStatus)
COLUMN_ENTRY_LENGTH_STATUS(3, m_Ban, m_BanLen, m_BanStatus)
COLUMN_ENTRY_LENGTH_STATUS(4, m_FriendInfo, m_FriendInfoLen, m_FriendInfoStatus);
COLUMN_ENTRY_LENGTH_STATUS(5, m_BanInfo, m_BanInfoLen, m_BanInfoStatus);
END_ACCESSOR()
BEGIN_ACCESSOR(1, true)
COLUMN_ENTRY_LENGTH_STATUS(2, m_Friend, m_FriendLen, m_FriendStatus)
COLUMN_ENTRY_LENGTH_STATUS(3, m_Ban, m_BanLen, m_BanStatus)
COLUMN_ENTRY_LENGTH_STATUS(4, m_FriendInfo, m_FriendInfoLen, m_FriendInfoStatus);
COLUMN_ENTRY_LENGTH_STATUS(5, m_BanInfo, m_BanInfoLen, m_BanInfoStatus);
END_ACCESSOR()
END_ACCESSOR_MAP()
private:
int m_CID;
BYTE m_Friend[_FRIEND::MAX_FRIEND_SIZE + sizeof(unsigned long)];
BYTE m_Ban[_BAN::MAX_BAN_SIZE + sizeof(unsigned long)];
BYTE m_FriendInfo[_FRIEND::MAX_FRIENDINFO_SIZE + sizeof(unsigned long)];
BYTE m_BanInfo[_BAN::MAX_BANINFO_SIZE + sizeof(unsigned long)];
DBLENGTH m_FriendLen;
DBLENGTH m_BanLen;
DBLENGTH m_FriendInfoLen;
DBLENGTH m_BanInfoLen;
DBSTATUSENUM m_CIDStatus;
DBSTATUSENUM m_FriendStatus;
DBSTATUSENUM m_BanStatus;
DBSTATUSENUM m_FriendInfoStatus;
DBSTATUSENUM m_BanInfoStatus;
bool m_bAdjustSize;
};
class CUnifiedCharList : public IRylDBCommand
{
public:
enum
{
MAX_NAME_LEN = 20
};
CUnifiedCharList() { Init(); }
void Init();
void LogError(DBErrorType eErrorType, HRESULT hr);
CString GetDBStatus();
unsigned long GetUID() const { return static_cast<unsigned long>(m_UID); }
unsigned long GetBeforeCID() const { return static_cast<unsigned long>(m_BeforeCID); }
unsigned long GetNewCID() const { return static_cast<unsigned long>(m_NewCID); }
unsigned char GetOldServerGroupID() const { return m_OldServerGroupID; }
const char* GetBeforeCharName() const { return m_BeforeCharName; }
bool operator == (const CUnifiedCharList& rhs) const;
bool operator != (const CUnifiedCharList& rhs) const { return !(*this == rhs); }
BEGIN_ACCESSOR_MAP(CUnifiedCharList, 2)
BEGIN_ACCESSOR(0, true)
COLUMN_ENTRY_STATUS(1, m_UID, m_UIDStatus)
COLUMN_ENTRY_STATUS(2, m_OldServerGroupID, m_OldServerGroupIDStatus)
COLUMN_ENTRY_STATUS(3, m_BeforeCID, m_BeforeCIDStatus)
COLUMN_ENTRY_STATUS(4, m_NewCID, m_NewCIDStatus)
COLUMN_ENTRY_LENGTH_STATUS(5, m_BeforeCharName, m_BeforeCharNameLen, m_BeforeCharNameStatus);
END_ACCESSOR()
BEGIN_ACCESSOR(1, true)
COLUMN_ENTRY_STATUS(2, m_OldServerGroupID, m_OldServerGroupIDStatus)
COLUMN_ENTRY_STATUS(3, m_BeforeCID, m_BeforeCIDStatus)
COLUMN_ENTRY_STATUS(4, m_NewCID, m_NewCIDStatus)
COLUMN_ENTRY_LENGTH_STATUS(5, m_BeforeCharName, m_BeforeCharNameLen, m_BeforeCharNameStatus);
END_ACCESSOR()
END_ACCESSOR_MAP()
private:
int m_UID;
int m_BeforeCID;
int m_NewCID;
char m_BeforeCharName[MAX_NAME_LEN];
BYTE m_OldServerGroupID;
DBLENGTH m_BeforeCharNameLen;
DBSTATUSENUM m_UIDStatus;
DBSTATUSENUM m_OldServerGroupIDStatus;
DBSTATUSENUM m_BeforeCIDStatus;
DBSTATUSENUM m_NewCIDStatus;
DBSTATUSENUM m_BeforeCharNameStatus;
};
};
#endif