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>
98 lines
3.2 KiB
C++
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();
|
|
}
|