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>
96 lines
2.6 KiB
C++
96 lines
2.6 KiB
C++
#include "stdafx.h"
|
|
#include "SetupClient.h"
|
|
|
|
#include <cstdio>
|
|
#include <Utility/Setup/ServerSetup.h>
|
|
|
|
ManageSetup::ClientSetup::ClientSetup()
|
|
{
|
|
SetSetupFileName("./ManageSetupClient.ini");
|
|
Load();
|
|
}
|
|
|
|
ManageSetup::ClientSetup::~ClientSetup()
|
|
{
|
|
|
|
}
|
|
|
|
ManageSetup::ClientSetup& ManageSetup::ClientSetup::GetInstance()
|
|
{
|
|
static ClientSetup clientSetup;
|
|
return clientSetup;
|
|
}
|
|
|
|
void ManageSetup::ClientSetup::Load(const char* szSetupFileName)
|
|
{
|
|
char szIP[MAX_PATH];
|
|
GetPrivateProfileString("ManageClient", "ManageServerIP", 0, szIP, MAX_PATH, szSetupFileName);
|
|
|
|
UINT nPort = GetPrivateProfileInt("ManageClient", "ManageServerPort",
|
|
CServerSetup::ManageServerManageClientListen, szSetupFileName);
|
|
|
|
m_ManageServerAddr.set_addr(szIP, static_cast<unsigned short>(nPort));
|
|
}
|
|
|
|
|
|
void ManageSetup::ClientSetup::Save(const char* szSetupFileName)
|
|
{
|
|
char szIP[MAX_PATH];
|
|
_snprintf(szIP, MAX_PATH - 1, "%s", m_ManageServerAddr.get_addr_string());
|
|
szIP[MAX_PATH - 1] = 0;
|
|
|
|
char szPort[MAX_PATH];
|
|
_snprintf(szPort, MAX_PATH - 1, "%d", m_ManageServerAddr.get_port_in());
|
|
szPort[MAX_PATH - 1] = 0;
|
|
|
|
WritePrivateProfileString("ManageClient", "ManageServerIP", szIP, szSetupFileName);
|
|
WritePrivateProfileString("ManageClient", "ManageServerPort", szPort, szSetupFileName);
|
|
}
|
|
|
|
void ManageSetup::ClientSetup::SetSetupFileName(const char* szSetupFileName)
|
|
{
|
|
if(0 != szSetupFileName)
|
|
{
|
|
_snprintf(m_szSetupFileName, MAX_PATH, "%s", szSetupFileName);
|
|
m_szSetupFileName[MAX_PATH - 1] = 0;
|
|
}
|
|
}
|
|
|
|
|
|
bool ManageSetup::ClientSetup::SerializeIn(const char* szData_In, unsigned long dwDataLen_In)
|
|
{
|
|
if(dwDataLen_In == GetExpectedSerializedDataSize())
|
|
{
|
|
int nAddrSize = 0;
|
|
|
|
memcpy(&m_ManageServerAddr.get_addr(), szData_In, sizeof(sockaddr));
|
|
memcpy(&nAddrSize, szData_In + sizeof(sockaddr), sizeof(int));
|
|
|
|
m_ManageServerAddr.set_size(nAddrSize);
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
bool ManageSetup::ClientSetup::SerializeOut(char* szData_InOut, unsigned long& dwDataLen_InOut)
|
|
{
|
|
if(GetExpectedSerializedDataSize() < dwDataLen_InOut)
|
|
{
|
|
int nAddrSize = m_ManageServerAddr.get_size();
|
|
|
|
memcpy(szData_InOut, &m_ManageServerAddr.get_addr(), sizeof(sockaddr));
|
|
memcpy(szData_InOut + sizeof(sockaddr), &nAddrSize, sizeof(int));
|
|
|
|
dwDataLen_InOut = GetExpectedSerializedDataSize();
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
unsigned long ManageSetup::ClientSetup::GetExpectedSerializedDataSize()
|
|
{
|
|
return static_cast<unsigned long>(sizeof(sockaddr) + sizeof(int));
|
|
}
|