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:
198
Server/ManageTool/MonitoringTool/GlobalFunc.cpp
Normal file
198
Server/ManageTool/MonitoringTool/GlobalFunc.cpp
Normal 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;
|
||||
}
|
||||
Reference in New Issue
Block a user