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,126 @@
#ifndef _SIEGE_OBJECT_MANAGER_H_
#define _SIEGE_OBJECT_MANAGER_H_
#pragma once
#include <map>
#include <list>
#include <boost/pool/pool.hpp>
#include <boost/pool/pool_alloc.hpp>
#include <Creature/Siege/SiegeConstants.h>
#include <Network/Packet/PacketStruct/CastlePacket.h>
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
class CSendStream;
class CDBComponent;
class CSiegeObjectDB;
class CCampDB;
class CSiegeObjectDBMgr
{
public:
static CSiegeObjectDBMgr& GetInstance();
// Ÿ<><C5B8> <20><><EFBFBD><EFBFBD>
typedef std::map<unsigned long, CSiegeObjectDB*> SiegeObjectMap; // < CID, CSiegeObjectDB* >
typedef std::map<unsigned long, CCampDB*> CampMap; // < CampID, CCampDB* >
bool Initialize(CDBComponent& DBComponent);
void Process();
void UpdateSiegeCount(); // <20><><EFBFBD><EFBFBD> <20>ð<EFBFBD> <20><><EFBFBD><EFBFBD> Ƚ<><C8BD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ
void UpdateRewardFame(); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ð<EFBFBD> <20><><EFBFBD><EFBFBD> Ƚ<><C8BD> <20><><EFBFBD><EFBFBD>
void DecreaseWeaponRemainSiegeTime(); // <20><><EFBFBD><EFBFBD> <20>ð<EFBFBD><C3B0><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȣ<><C8A3><EFBFBD>ȴ<EFBFBD>.
// DB <20><><EFBFBD><EFBFBD> <20>о<EFBFBD><D0BE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20>Լ<EFBFBD>
CSiegeObjectDB* CreateCastleObject(CastleObjectInfoDB& CastleObject);
CSiegeObjectDB* CreateCamp(CampInfoDB& CampInfo, unsigned long dwCID=0);
CSiegeObjectDB* CreateMiningCamp(CampInfoDB& CampInfo, unsigned long dwCID=0);
CSiegeObjectDB* CreateCampShop(CampInfoDB& CampInfo, unsigned long dwCID=0);
CSiegeObjectDB* CreateWorldWeapon(CampInfoDB& CampInfo, unsigned long dwCID=0);
// <20><><EFBFBD>Ӽ<EFBFBD><D3BC><EFBFBD><EFBFBD><EFBFBD> <20><>û<EFBFBD><C3BB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD> DB <20><> <20>߰<EFBFBD><DFB0>ϴ<EFBFBD> <20>Լ<EFBFBD>
CSiegeObjectDB* CreateCamp(unsigned long dwGID, unsigned char cZone, unsigned char cChannel, POS Pos);
CSiegeObjectDB* CreateWorldWeapon(unsigned long dwGID, unsigned short wObjectType, unsigned char cZone, unsigned char cChannel, POS Pos);
CSiegeObjectDB* CreateSiegeArms(unsigned long dwOwnerID, unsigned char cNation, unsigned char cZone, unsigned char cChannel,
unsigned short wObjectType, unsigned char cUpgradeStep, POS Pos);
// Get <20>Լ<EFBFBD>
CCampDB* GetCamp(unsigned long dwCampID);
CSiegeObjectDB* GetSiegeObject(unsigned long dwObjectID);
unsigned char GetWorldWeaponNation(unsigned char cZone, unsigned char cChannel) const; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
void DeleteWorldWeaponNation(unsigned char cZone, unsigned char cChannel); // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ʱ<EFBFBD>ȭ
void UpdateWorldWeaponInfo(unsigned char cZone, unsigned char cChannel, unsigned char cOwenrNation,
unsigned char cDestroyedWeaponNation, unsigned char cRemainSiegeTime);
bool HasCampByGID(unsigned long dwGID, unsigned long dwExceptCampID=0);
// <20><>ü <20><><EFBFBD><EFBFBD> <20>Լ<EFBFBD>
bool DeleteSiegeObject(unsigned long dwCID);
bool DeleteSiegeObject(CSiegeObjectDB* lpObject);
CampMap::iterator DeleteCamp(unsigned long dwCampID);
int DestroyCamp(unsigned long dwGID); // <20>ش<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ı<EFBFBD>, <20>ı<EFBFBD><C4B1><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
void DestroySiegeArms(unsigned long dwOnwerCID); // <20><><EFBFBD><EFBFBD> Ż<><C5BB><EFBFBD><EFBFBD> <20>ش<EFBFBD> ij<><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>
void DestoryAllSiegeArms(); // <20><><EFBFBD><EFBFBD> <20>ð<EFBFBD><C3B0><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>
// <20><><EFBFBD><EFBFBD> <20><>ü <20><><EFBFBD><EFBFBD> <20>Լ<EFBFBD>
bool ChangeCampType(unsigned long dwCampID, unsigned short wChangeType);
// GameServer <20><><EFBFBD><EFBFBD> Send <20>Լ<EFBFBD>
void SendWorldWeaponInfo(CSendStream& SendStream, unsigned char cZone, unsigned char cChannel);
void SendCampInfo(CSendStream& SendStream, unsigned char cZone, unsigned char cChannel);
void SendSiegeArmsInfo(CSendStream& SendStream, unsigned char cZone, unsigned char cChannel);
void SendProcessMining(unsigned long dwProcessType);
bool SerializeOutCastleObject(CSiegeObjectDB* lpObject_In, char* lpBuffer_Out, unsigned short& wBufferSize_Out);
private:
CSiegeObjectDBMgr();
~CSiegeObjectDBMgr();
// CSiegeObjectDBMgr <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> Ÿ<><C5B8> <20><><EFBFBD><EFBFBD>
typedef struct _WorldWeaponInfo
{
unsigned char m_cWorldWeaponNation; // <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
unsigned char m_cKarRemainSiegeTime; // ī<><C4AB><EFBFBD>׶<EFBFBD>Ʈ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>μ<EFBFBD><CEBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ð<EFBFBD>
unsigned char m_cMerRemainSiegeTime; // <20>޸<EFBFBD>ī<EFBFBD><C4AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>μ<EFBFBD><CEBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ð<EFBFBD>
} WorldWeaponInfo;
typedef std::map<unsigned long, WorldWeaponInfo> WorldWeaponInfoMap; // < dwZoneChannel, WorldWeaponInfo >
// dwZoneChannel : Zone(16bit) | Channel(16bit)
bool ReadCastleObjectInfoDB();
bool ReadWorldWeaponInfoDB();
bool ReadCampInfoDB();
unsigned long GetBlankIndex();
void CreateDummyCamp();
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ü<EFBFBD><C3BC> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20>Լ<EFBFBD>
CSiegeObjectDB* CreateCastleObjectDB(const CastleObjectInfoDB& CastleObject);
CSiegeObjectDB* CreateCampDB(const CampInfoDB& CampInfo);
CSiegeObjectDB* CreateMiningCampDB(const CampInfoDB& CampInfo);
CSiegeObjectDB* CreateCampShopDB(const CampInfoDB& CampInfo);
CSiegeObjectDB* CreateWorldWeaponDB(const CampInfoDB& CampInfo);
CSiegeObjectDB* CreateCampDB(unsigned long dwCampID, unsigned long dwGID,
unsigned char cZone, unsigned char cChannel, Position Pos);
CSiegeObjectDB* CreateWorldWeaponDB(unsigned long dwCampID, unsigned long dwGID, unsigned short wObjectType,
unsigned char cZone, unsigned char cChannel, Position Pos);
CSiegeObjectDB* CreateSiegeArmsDB(unsigned long dwOwnerID,
unsigned char cNation, unsigned short wObjectType, unsigned char cUpgradeStep,
unsigned char cZone, unsigned char cChannel, Position Pos);
void DeleteSiegeObjectDB(CSiegeObjectDB* lpSiegeObjectDB);
SiegeObjectMap m_SiegeObjectMap;
CampMap m_CampMap;
WorldWeaponInfoMap m_WorldWeaponInfoMap;
CDBComponent* m_lpDBComponent;
};
#endif // _SIEGE_OBJECT_MANAGER_H_