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,101 @@
#ifndef _RYL_GAME_ITEM_FACTORY_H_
#define _RYL_GAME_ITEM_FACTORY_H_
#include <map>
#include <boost/pool/pool_alloc.hpp>
#include <Item/ItemStructure.h>
#include <Network/Packet/PacketStruct/CharAdminPacket.h>
#define DELETE_ITEM(p) if(p) { Item::CItemFactory::GetInstance().DeleteItem(p); (p)=0; }
namespace Item
{
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
class CItem;
class CItemMgr;
struct ItemInfo;
class CItemOwnerInfo
{
public:
CItemOwnerInfo(const char* szName, unsigned long dwUID, unsigned long dwCID);
const char* GetName() const { return m_szName; }
unsigned long GetUID() const { return m_dwUID; }
unsigned long GetCID() const { return m_dwCID; }
private:
enum
{
MAX_NAME = 16
};
char m_szName[MAX_NAME];
unsigned long m_dwUID;
unsigned long m_dwCID;
};
class CItemFactory
{
public:
static CItemFactory& GetInstance();
unsigned __int64 GetItemUID() { return m_nCurrentUID; }
unsigned __int64 GetNewItemUID() { return m_nCurrentUID++; }
void SetItemUID(unsigned __int64 nCurrentUID) { m_nCurrentUID = nCurrentUID; }
// Desc : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ø<EFBFBD><C3B8><EFBFBD><EFBFBD><EFBFBD> 0<><30> <20>ӽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>. - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ø<EFBFBD><C3B8><EFBFBD><EFBFBD><EFBFBD> <20>ű<EFBFBD><C5B1><EFBFBD> <20>ʴ´<CAB4>.
CItem* CreateTempItem(const ItemInfo& itemInfo);
// Desc : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>(<28><20>ɷ<EFBFBD>ġ) - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ø<EFBFBD><C3B8><EFBFBD><EFBFBD><EFBFBD> <20>ű<EFBFBD><C5B1><EFBFBD>.
CItem* CreateItem(const ItemInfo& itemInfo);
// Desc : <20><><EFBFBD><EFBFBD> ID<49><44> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>(<28><20>ɷ<EFBFBD>ġ) - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ø<EFBFBD><C3B8><EFBFBD><EFBFBD><EFBFBD> <20>ű<EFBFBD><C5B1><EFBFBD>.
CItem* CreateItem(unsigned short usProtoTypeID);
// Desc : SerializeOut<75><74> <20><><EFBFBD>۷<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ø<EFBFBD><C3B8><EFBFBD> <20>ű<EFBFBD><C5B1><EFBFBD> <20>ʴ´<CAB4>!
// In : <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> ũ<><C5A9>
// Out : (Return)<29><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, nParseLength_InOut - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ũ<><C5A9>
CItem* CreateItem(const char* lpSerializedItem_In, size_t& nParseLength_InOut);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
void DeleteItem(CItem* lpDeleteItem);
// ---------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> üũ <20><>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>. (2004/08/11, by sparrowhawk)
// ij<><C4B3><EFBFBD>Ͱ<EFBFBD> <20>α<EFBFBD><CEB1><EFBFBD><EFBFBD>Ҷ<EFBFBD>, ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ʿ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ڴ´<DAB4>.
// <20><><EFBFBD><EFBFBD><EFBFBD>ڴٰ<DAB4>, <20>ȹھ<C8B9><DABE><EFBFBD><EFBFBD><EFBFBD> DB<44><42> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. (<28>̹<EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ɸ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>..)
// <20><><EFBFBD>߿<EFBFBD> <20><> <20><>ġ<EFBFBD><C4A1> ID<49><44> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<EFBFBD><CEB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD> ȸ<><C8B8><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD>, <20><><EFBFBD>׸<EFBFBD> <20><>ġ<EFBFBD><C4A1><EFBFBD><EFBFBD> <20>Ѵ<EFBFBD>..
// TODO : Map<61><70> boost pool<6F><6C> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ<EFBFBD><C6AE> boost<73><74><EFBFBD>̺귯<CCBA><EAB7AF><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ´<CAB4>.
// <20><><EFBFBD>߿<EFBFBD> Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ<EFBFBD>ʿ<EFBFBD> boost pool<6F><6C><EFBFBD>̺귯<CCBA><EAB7AF><EFBFBD><EFBFBD> <20>߰<EFBFBD><DFB0><EFBFBD><EFBFBD><EFBFBD>..
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UID<49>ʿ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>߰<EFBFBD>. <20><><EFBFBD>ϰ<EFBFBD><CFB0><EFBFBD> NULL<4C≯<EFBFBD> <20>߰<EFBFBD> <20><><EFBFBD><EFBFBD>. <20>ƴϸ<C6B4> <20>߰<EFBFBD> <20><><EFBFBD><EFBFBD>(<28>̹<EFBFBD> <20><><EFBFBD><EFBFBD>)
CItemOwnerInfo* AddItemMap(unsigned __int64 dwItemUID, const CItemOwnerInfo& itemOwnerInfo);
void RemoveItemMap(unsigned __int64 dwItemUID);
void ClearItemMap();
private:
CItemFactory();
~CItemFactory();
typedef std::map<unsigned __int64, CItemOwnerInfo, std::less<unsigned __int64>,
boost::fast_pool_allocator<std::pair<unsigned __int64, CItemOwnerInfo> > > ItemSerialMap;
unsigned __int64 m_nCurrentUID;
ItemSerialMap m_ItemSerialMap;
};
Item::CItem* CreateItemFromGiveInfo(Item::CItemMgr& itemMgr,
CItemFactory& itemFactory, GiveItemInfo& giveItemInfo, Item::ItemPos itemPos);
bool CreateItemDataFromGiveInfo(Item::CItemMgr& itemMgr, GiveItemInfo& giveItemInfo,
char* szData, unsigned long& dwDataSize_InOut, unsigned __int64 dwItemUID, Item::ItemPos itemPos);
};
#endif