Files
Client/Server/ToolProject/SeverSetupDlg/SetupPage1.cpp
LGram16 dd97ddec92 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>
2025-11-29 20:17:20 +09:00

98 lines
3.2 KiB
C++

// SetupPage1.cpp : 구현 파일입니다.
//
#include "stdafx.h"
#include "SeverSetupDlg.h"
#include "SetupPage1.h"
#include <Utility/Setup/ServerSetup.h>
// CSetupPage1 대화 상자입니다.
IMPLEMENT_DYNAMIC(CSetupPage1, CPropertyPage)
CSetupPage1::CSetupPage1()
: CPropertyPage(CSetupPage1::IDD)
, m_bEnabled(FALSE)
, m_szLoginServerID(_T(""))
, m_szLoginServerListenLauncherPort(_T(""))
, m_szLoginServerListenDBAgentPort(_T(""))
, m_bLoginPingCheck(FALSE)
, m_bLoginAloneMode(FALSE)
, m_dwLeastPatchVer(0)
, m_szPatchAddress(_T(""))
{
}
CSetupPage1::~CSetupPage1()
{
}
void CSetupPage1::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
DDX_Text(pDX, IDC_LOGIN_SERVER_ID, m_szLoginServerID);
DDX_Text(pDX, IDC_LOGIN_LISTEN_LAUNCHER_PORT, m_szLoginServerListenLauncherPort);
DDX_Text(pDX, IDC_LOGIN_LISTEN_DBAGENT_PORT, m_szLoginServerListenDBAgentPort);
DDX_Check(pDX, IDC_LOGIN_PING_CHECK, m_bLoginPingCheck);
DDX_Check(pDX, IDC_LOGIN_ALONE_MODE, m_bLoginAloneMode);
DDX_Text(pDX, IDC_LOGIN_PATCH_VER, m_dwLeastPatchVer);
DDX_Text(pDX, IDC_LOGIN_PATCH_ADDR, m_szPatchAddress);
}
BEGIN_MESSAGE_MAP(CSetupPage1, CPropertyPage)
END_MESSAGE_MAP()
BOOL CSetupPage1::OnInitDialog()
{
CPropertyPage::OnInitDialog();
m_szLoginServerListenLauncherPort.Format(_T("%d"), CServerSetup::LoginServerLauncherListen);
m_szLoginServerListenDBAgentPort.Format(_T("%d"), CServerSetup::LoginServerDBAgentServerListen);
CString szPingCheck;
CString szAloneMode;
CString szLeastPatchVer;
ReadStringFromReg(g_szSetupFileName, _T("LoginServer"), _T("ServerID"), m_szLoginServerID);
ReadStringFromReg(g_szSetupFileName, _T("LoginServer"), _T("PingCheck"), szPingCheck);
ReadStringFromReg(g_szSetupFileName, _T("LoginServer"), _T("AloneMode"), szAloneMode);
ReadStringFromReg(g_szSetupFileName, _T("LoginServer"), _T("LeastPatchVer"), szLeastPatchVer);
ReadStringFromReg(g_szSetupFileName, _T("LoginServer"), _T("PatchAddr"), m_szPatchAddress);
m_bLoginPingCheck = (1 == atol(szPingCheck));
m_bLoginAloneMode = (1 == atol(szAloneMode));
m_dwLeastPatchVer = atol(szLeastPatchVer);
// 로그인 서버는 ID가 0이다.
m_szLoginServerID.SetString(_T("0"));
return TRUE; // return TRUE unless you set the focus to a control
// 예외: OCX 속성 페이지는 FALSE를 반환해야 합니다.
}
void CSetupPage1::Save(void)
{
if(m_bEnabled)
{
UpdateData(TRUE);
CString szLeastPatchVer;
szLeastPatchVer.Format(_T("%d"), m_dwLeastPatchVer);
WriteStringToReg(g_szSetupFileName, _T("LoginServer"), _T("ServerID"), m_szLoginServerID);
WriteStringToReg(g_szSetupFileName, _T("LoginServer"), _T("PingCheck"), BOOLToString(m_bLoginPingCheck));
WriteStringToReg(g_szSetupFileName, _T("LoginServer"), _T("AloneMode"), BOOLToString(m_bLoginAloneMode));
WriteStringToReg(g_szSetupFileName, _T("LoginServer"), _T("LeastPatchVer"), szLeastPatchVer);
WriteStringToReg(g_szSetupFileName, _T("LoginServer"), _T("PatchAddr"), m_szPatchAddress);
}
}
BOOL CSetupPage1::OnSetActive()
{
// TODO: 여기에 특수화된 코드를 추가 및/또는 기본 클래스를 호출합니다.
UpdateData(FALSE);
m_bEnabled = TRUE;
return CPropertyPage::OnSetActive();
}