// PatchBuilderP4.cpp : ÀÀ¿ë ÇÁ·Î±×·¥¿¡ ´ëÇÑ Å¬·¡½º µ¿ÀÛÀ» Á¤ÀÇÇÕ´Ï´Ù. // #include "stdafx.h" #include "SundriesFunc.h" #include "PatchBuilderP4.h" #include "PatchBuilderP4Dlg.h" #include "tinyxml.h" #ifdef _DEBUG #define new DEBUG_NEW #endif // CPatchBuilderP4App BEGIN_MESSAGE_MAP(CPatchBuilderP4App, CWinApp) ON_COMMAND(ID_HELP, &CWinApp::OnHelp) END_MESSAGE_MAP() // CPatchBuilderP4App »ý¼º CPatchBuilderP4App::CPatchBuilderP4App() { // TODO: ¿©±â¿¡ »ý¼º Äڵ带 Ãß°¡ÇÕ´Ï´Ù. // InitInstance¿¡ ¸ðµç Áß¿äÇÑ ÃʱâÈ­ ÀÛ¾÷À» ¹èÄ¡ÇÕ´Ï´Ù. } CPatchBuilderP4App::~CPatchBuilderP4App() { LogWnd::DestroyLog(); } // À¯ÀÏÇÑ CPatchBuilderP4App °³Ã¼ÀÔ´Ï´Ù. CPatchBuilderP4App theApp; // CPatchBuilderP4App ÃʱâÈ­ BOOL CPatchBuilderP4App::InitInstance() { // ÀÀ¿ë ÇÁ·Î±×·¥ ¸Å´ÏÆä½ºÆ®°¡ ComCtl32.dll ¹öÀü 6 ÀÌ»óÀ» »ç¿ëÇÏ¿© ºñÁÖ¾ó ½ºÅ¸ÀÏÀ» // »ç¿ëÇϵµ·Ï ÁöÁ¤ÇÏ´Â °æ¿ì, Windows XP »ó¿¡¼­ ¹Ýµå½Ã InitCommonControlsEx()°¡ ÇÊ¿äÇÕ´Ï´Ù. // InitCommonControlsEx()¸¦ »ç¿ëÇÏÁö ¾ÊÀ¸¸é âÀ» ¸¸µé ¼ö ¾ø½À´Ï´Ù. INITCOMMONCONTROLSEX InitCtrls; InitCtrls.dwSize = sizeof(InitCtrls); // ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼­ »ç¿ëÇÒ ¸ðµç °ø¿ë ÄÁÆ®·Ñ Ŭ·¡½º¸¦ Æ÷ÇÔÇϵµ·Ï // ÀÌ Ç׸ñÀ» ¼³Á¤ÇϽʽÿÀ. InitCtrls.dwICC = ICC_WIN95_CLASSES; InitCommonControlsEx(&InitCtrls); CWinApp::InitInstance(); AfxEnableControlContainer(); m_RegProfile.LoadProfile(); CPatchBuilderP4Dlg dlg; m_pMainWnd = &dlg; UseLogFile(); if( m_RegProfile.GetProfileCount() ) { SProfile *pProfile = m_RegProfile.GetProfile( 0 ); dlg.m_szP4Url = pProfile->szP4Url.c_str(); dlg.m_szP4UrlFolder = pProfile->szP4UrlFolder.c_str(); dlg.m_szP4UrlServer = pProfile->szP4UrlServer.c_str(); dlg.m_szP4UrlServerFolder = pProfile->szP4UrlServerFolder.c_str(); dlg.m_szP4Workspace = pProfile->szP4Workspace.c_str(); dlg.m_szRMakeCmd = pProfile->szRMakeCmd.c_str(); dlg.m_szManualPatchExe = pProfile->szManualPatchExe.c_str(); dlg.m_szCountryCode = pProfile->szCountryCode.c_str(); } else { dlg.m_szP4Url = "10.0.1.40:1666"; dlg.m_szP4UrlFolder = "//DragonNest/Client/..."; dlg.m_szP4UrlServer = "10.0.1.40:1666"; dlg.m_szP4UrlServerFolder = "//DragonNest/Server/..."; dlg.m_szP4Workspace = "c:\\UpdateFolder"; dlg.m_szRMakeCmd = "\\\\192.168.0.11\\tooldata\\Utility\\RMakeCmd.exe"; dlg.m_szCountryCode = "Kor"; dlg.m_szManualPatchExe = "\\\\192.168.0.11\\tooldata\\Utility\\DnManualUpdater_KR.exe"; } DWORD dwValue; GetRegistryNumber( HKEY_CURRENT_USER, REG_SUBKEY, "MakeFullVersion", dwValue ); if( dwValue ) dlg.m_bMakeFullVersion = TRUE; GetRegistryNumber( HKEY_CURRENT_USER, REG_SUBKEY, "MakeServerData", dwValue ); if( dwValue ) dlg.m_bCopyServerData = TRUE; GetRegistryNumber( HKEY_CURRENT_USER, REG_SUBKEY, "RollBack", dwValue ); if( dwValue ) dlg.m_bRollBack = TRUE; GetRegistryNumber( HKEY_CURRENT_USER, REG_SUBKEY, "ManualPatch", dwValue ); if( dwValue ) dlg.m_bManualPatch = TRUE; if( strlen( m_lpCmdLine ) ) { char *pFindPtr; pFindPtr = strstr( m_lpCmdLine, "Profile:" ); if( pFindPtr ) { pFindPtr += strlen( "Profile:" ); int nProfile = atoi( pFindPtr ); dlg.m_nDefaultProfile = nProfile; dlg.m_bAutoStart = TRUE; } pFindPtr = strstr( m_lpCmdLine, "/MakeFull:true" ); if( pFindPtr ) { dlg.m_bMakeFullVersion = TRUE; } else { pFindPtr = strstr( m_lpCmdLine, "/MakeFull:false" ); if( pFindPtr ) { dlg.m_bMakeFullVersion = FALSE; } } pFindPtr = strstr( m_lpCmdLine, "/CopyServerData:true" ); if( pFindPtr ) { dlg.m_bCopyServerData = TRUE; } else { pFindPtr = strstr( m_lpCmdLine, "/CopyServerData:false" ); if( pFindPtr ) { dlg.m_bCopyServerData = FALSE; } } pFindPtr = strstr( m_lpCmdLine, "/RollBack:true" ); if( pFindPtr ) { dlg.m_bRollBack = TRUE; } else { pFindPtr = strstr( m_lpCmdLine, "/RollBack:false" ); if( pFindPtr ) { dlg.m_bRollBack = FALSE; } } pFindPtr = strstr( m_lpCmdLine, "/ManualPatch:true" ); if( pFindPtr ) { dlg.m_bManualPatch = TRUE; } else { pFindPtr = strstr( m_lpCmdLine, "/ManualPatch:false" ); if( pFindPtr ) { dlg.m_bManualPatch = FALSE; } } } INT_PTR nResponse = dlg.DoModal(); if (nResponse == IDOK) { } else if (nResponse == IDCANCEL) { } return FALSE; } void CPatchBuilderP4App::UseLogFile() { TCHAR szCurFileName[MAX_PATH]= {0,}; ::GetModuleFileName( NULL, szCurFileName, MAX_PATH ); TCHAR szDrive[MAX_PATH] = { 0, }; TCHAR szDir[MAX_PATH] = { 0, }; TCHAR szFileName[MAX_PATH] = { 0, }; TCHAR szExt[MAX_PATH] = { 0, }; _splitpath_s( szCurFileName, szDrive, szDir, szFileName, szExt ); CString _szCurPath; _szCurPath.Format( _T("%s%s\\Log"), szDrive, szDir ); if( GetFileAttributes( _szCurPath.GetBuffer() ) != FILE_ATTRIBUTE_DIRECTORY ) CreateDirectory( _szCurPath.GetBuffer(), NULL); LogWnd::CreateLog( true, LogWnd::LOG_TARGET_FILE ); }