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,198 @@
#include "stdafx.h"
#include "GlobalFunc.h"
#include "MonitoringTool.h"
#include "MonitoringToolSetup.h"
#include <Network/Packet/PacketStruct/CharCommunityPacket.h>
const int MAX_BUFFER = 256;
const char* szSection1 = _T("SERVER_GROUP_INFO");
const char* szSection2 = _T("CHAT_TYPE_INFO");
/// \brief <20><><EFBFBD>ڷ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ <20>ڽ<EFBFBD><DABD><EFBFBD> <20>¾<EFBFBD><C2BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>׷<EFBFBD><D7B7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
/// \param ctrlListBox <20><><EFBFBD><EFBFBD><EFBFBD>׷<EFBFBD><D7B7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ <20>ڽ<EFBFBD>
void SetServerListBox(CListBox& ctrlListBox)
{
ctrlListBox.ResetContent();
CMonitoringToolSetup Setup = CMonitoringToolSetup::GetInstance();
char szKey[MAX_BUFFER];
unsigned int nServerGroup;
CString strFormat;
int nMaxGroup = Setup.GetInt(szSection1, "SERVER_GROUP_NUM");
for(int nIndex = 0; nIndex < nMaxGroup; ++nIndex)
{
_snprintf(szKey, MAX_BUFFER, "SERVER_GROUP_INDEX_%02d", nIndex);
nServerGroup = Setup.GetInt(szSection1, szKey);
strFormat.Format("%s", theApp.GetServerName(nServerGroup));
ctrlListBox.AddString(strFormat);
}
}
/// \brief <20><><EFBFBD>ڷ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>޺<EFBFBD> <20>ڽ<EFBFBD><DABD><EFBFBD> <20>¾<EFBFBD><C2BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>׷<EFBFBD><D7B7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
/// \param ctrlCombo <20><><EFBFBD><EFBFBD><EFBFBD>׷<EFBFBD><D7B7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>޺<EFBFBD> <20>ڽ<EFBFBD>
void SetServerGroupCombo(CComboBox& ctrlCombo)
{
CMonitoringToolSetup Setup = CMonitoringToolSetup::GetInstance();
char szKey[MAX_BUFFER];
unsigned int nServerGroup;
CString strFormat;
int nMaxGroup = Setup.GetInt(szSection1, "SERVER_GROUP_NUM");
for(int nIndex = 0; nIndex < nMaxGroup; ++nIndex)
{
_snprintf(szKey, MAX_BUFFER, "SERVER_GROUP_INDEX_%02d", nIndex);
nServerGroup = Setup.GetInt(szSection1, szKey);
strFormat.Format("%s", theApp.GetServerName(nServerGroup));
ctrlCombo.InsertString(nIndex, strFormat);
}
}
/// \brief <20><><EFBFBD>ڷ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ <20>ڽ<EFBFBD><DABD><EFBFBD> <20>¾<EFBFBD><C2BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ä<><C3A4>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
/// \param ctrlListBox ä<><C3A4>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ <20>ڽ<EFBFBD>
void SetChatTypeListBox(CListBox& ctrlListBox)
{
CMonitoringToolSetup Setup = CMonitoringToolSetup::GetInstance();
int nMaxChatType = Setup.GetInt(szSection2, "CHAT_TYPE_NUM");
char szKey[MAX_BUFFER];
CString strFormat;
for(int nIndex = 0; nIndex < nMaxChatType; ++nIndex)
{
_snprintf(szKey, MAX_BUFFER, "CHAT_TYPE_NAME_%02d", nIndex);
strFormat.Format("%s", Setup.GetString(szSection2, szKey));
ctrlListBox.AddString(strFormat);
}
}
/// \brief <20><><EFBFBD>ڷ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ <20>ڽ<EFBFBD><DABD><EFBFBD> ä<>ü<EFBFBD><C3BC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD> ǥ<><C7A5>
/// \param ctrlListBox <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD> ǥ<><C7A5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ <20>ڽ<EFBFBD>
void SetConnectionListBox(CListBox& ctrlListBox)
{
if(!ctrlListBox.GetSafeHwnd())
return;
ctrlListBox.ResetContent();
CMonitoringToolSetup Setup = CMonitoringToolSetup::GetInstance();
char szKey[MAX_BUFFER];
for(unsigned int nIndex = 0; nIndex < Setup.GetInt(szSection1, "SERVER_GROUP_NUM"); ++nIndex)
{
_snprintf(szKey, MAX_BUFFER, "SERVER_GROUP_INDEX_%02d", nIndex);
if(0 != theApp.GetChatServerHandler(Setup.GetInt(szSection1, szKey)))
{
ctrlListBox.AddString(_T("OK"));
}
else
{
ctrlListBox.AddString(_T("DIS"));
}
}
}
/// \brief <20><><EFBFBD>ڷ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>޺<EFBFBD> <20>ڽ<EFBFBD><DABD><EFBFBD> <20>¾<EFBFBD><C2BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ä<><C3A4>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
/// \param ctrlCombo ä<><C3A4>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>޺<EFBFBD> <20>ڽ<EFBFBD>
void SetChatTypeCombo(CComboBox& ctrlCombo)
{
CMonitoringToolSetup Setup = CMonitoringToolSetup::GetInstance();
int nMaxChatType = Setup.GetInt(szSection2, "CHAT_TYPE_NUM");
char szKey[MAX_BUFFER];
CString strFormat;
for(int nIndex = 0; nIndex < nMaxChatType; ++nIndex)
{
_snprintf(szKey, MAX_BUFFER, "CHAT_TYPE_NAME_%02d", nIndex);
strFormat.Format("%s", Setup.GetString(szSection2, szKey));
ctrlCombo.InsertString(nIndex, strFormat);
}
}
/// \brief <20><><EFBFBD>ڷ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>޺<EFBFBD> <20>ڽ<EFBFBD><DABD><EFBFBD> <20>¾<EFBFBD><C2BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>޽<EFBFBD><DEBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ä<><C3A4>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
/// \param ctrlCombo ä<><C3A4>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>޺<EFBFBD> <20>ڽ<EFBFBD>
/// \note SetChatTypeCombo <20>Լ<EFBFBD><D4BC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD> <20><>
void SetSendChatTypeCombo(CComboBox& ctrlCombo)
{
CMonitoringToolSetup Setup = CMonitoringToolSetup::GetInstance();
int nMaxGroup = Setup.GetInt(szSection2, "SEND_CHAT_TYPE_NUM");
char szKey[MAX_BUFFER];
CString strFormat;
for(int nIndex = 0; nIndex < nMaxGroup; ++nIndex)
{
_snprintf(szKey, MAX_BUFFER, "SEND_CHAT_TYPE_NAME_%02d", nIndex);
strFormat.Format("%s", Setup.GetString(szSection2, szKey));
ctrlCombo.InsertString(nIndex, strFormat);
}
}
/// \brief <20><><EFBFBD>ڷ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>޺<EFBFBD> <20>ڽ<EFBFBD><DABD><EFBFBD> GM<47><4D><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
/// \param ctrlCombo GM<47><4D><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>޺<EFBFBD> <20>ڽ<EFBFBD>
/// \note <20>α<EFBFBD><CEB1><EFBFBD><EFBFBD><EFBFBD> GM<47><4D><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>޼<EFBFBD><DEBC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
void SetGMNameCombo(CComboBox& ctrlCombo)
{
CMonitoringToolSetup Setup = CMonitoringToolSetup::GetInstance();
const char* szSection = _T("GM_INFO");
int nMaxGM = Setup.GetInt(szSection, "GM_NUM");
char szKey[MAX_BUFFER];
CString strFormat;
for(int nIndex = 0; nIndex < nMaxGM; ++nIndex)
{
_snprintf(szKey, MAX_BUFFER, "GM_NAME_%02d", nIndex);
strFormat.Format("%s", Setup.GetString(szSection, szKey));
ctrlCombo.InsertString(nIndex, strFormat);
}
}
/// \brief ä<><C3A4>Ÿ<EFBFBD>Ը<EFBFBD><D4B8><EFBFBD><EFBFBD><EFBFBD> ä<><C3A4>Ÿ<EFBFBD><C5B8> <20>ε<EFBFBD><CEB5><EFBFBD> <20><><EFBFBD><EFBFBD>
/// \param strTypeName <20>ε<EFBFBD><CEB5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ϴ<EFBFBD> ä<><C3A4>Ÿ<EFBFBD>Ը<EFBFBD>
unsigned int GetChatTypeIndex(CString strTypeName)
{
if(strTypeName == _T("ADMIN_SHOUT")) return PktChat::ADMIN_SHOUT;
if(strTypeName == _T("SHOUT")) return PktChat::SHOUT;
//if(strTypeName == _T("WHISPER")) return PktChat::WHISPER;
return 255; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ<EFBFBD> ä<><C3A4>Ÿ<EFBFBD><C5B8> <20>ε<EFBFBD><CEB5><EFBFBD>
}
/// \brief <20><><EFBFBD>Ǹ<EFBFBD><C7B8><EFBFBD> Ű<><C5B0> ini <20>¾<EFBFBD> <20><><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD> <20><><EFBFBD>õ<EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
/// \param szSection <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ǹ<EFBFBD>
/// \param szKey <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ī<EFBFBD>Ǵ<EFBFBD> Ű
const char* GetMyINIString(const char* szSection, const char* szKey)
{
const char* szResult = CMonitoringToolSetup::GetInstance().GetString(szSection, szKey, 0);
if(0 == szResult)
{
CString strErr;
strErr.Format("Setup string load failed! - key: %s", szKey);
AfxMessageBox(strErr, MB_ICONSTOP);
return "???";
}
return szResult;
}