Initial commit: ROW Client source code
Game client codebase including: - CharacterActionControl: Character and creature management - GlobalScript: Network, items, skills, quests, utilities - RYLClient: Main client application with GUI and event handlers - Engine: 3D rendering engine (RYLGL) - MemoryManager: Custom memory allocation - Library: Third-party dependencies (DirectX, boost, etc.) - Tools: Development utilities 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
72
Tools/Checksum/Checksum.cpp
Normal file
72
Tools/Checksum/Checksum.cpp
Normal file
@@ -0,0 +1,72 @@
|
||||
// Checksum.cpp : Defines the class behaviors for the application.
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "Checksum.h"
|
||||
#include "ChecksumDlg.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#undef THIS_FILE
|
||||
static char THIS_FILE[] = __FILE__;
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CChecksumApp
|
||||
|
||||
BEGIN_MESSAGE_MAP(CChecksumApp, CWinApp)
|
||||
//{{AFX_MSG_MAP(CChecksumApp)
|
||||
// NOTE - the ClassWizard will add and remove mapping macros here.
|
||||
// DO NOT EDIT what you see in these blocks of generated code!
|
||||
//}}AFX_MSG
|
||||
ON_COMMAND(ID_HELP, CWinApp::OnHelp)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CChecksumApp construction
|
||||
|
||||
CChecksumApp::CChecksumApp()
|
||||
{
|
||||
// TODO: add construction code here,
|
||||
// Place all significant initialization in InitInstance
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// The one and only CChecksumApp object
|
||||
|
||||
CChecksumApp theApp;
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CChecksumApp initialization
|
||||
|
||||
BOOL CChecksumApp::InitInstance()
|
||||
{
|
||||
// Standard initialization
|
||||
// If you are not using these features and wish to reduce the size
|
||||
// of your final executable, you should remove from the following
|
||||
// the specific initialization routines you do not need.
|
||||
|
||||
#ifdef _AFXDLL
|
||||
Enable3dControls(); // Call this when using MFC in a shared DLL
|
||||
#else
|
||||
Enable3dControlsStatic(); // Call this when linking to MFC statically
|
||||
#endif
|
||||
|
||||
CChecksumDlg dlg;
|
||||
m_pMainWnd = &dlg;
|
||||
int nResponse = dlg.DoModal();
|
||||
if (nResponse == IDOK)
|
||||
{
|
||||
// TODO: Place code here to handle when the dialog is
|
||||
// dismissed with OK
|
||||
}
|
||||
else if (nResponse == IDCANCEL)
|
||||
{
|
||||
// TODO: Place code here to handle when the dialog is
|
||||
// dismissed with Cancel
|
||||
}
|
||||
|
||||
// Since the dialog has been closed, return FALSE so that we exit the
|
||||
// application, rather than start the application's message pump.
|
||||
return FALSE;
|
||||
}
|
||||
158
Tools/Checksum/Checksum.dsp
Normal file
158
Tools/Checksum/Checksum.dsp
Normal file
@@ -0,0 +1,158 @@
|
||||
# Microsoft Developer Studio Project File - Name="Checksum" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Application" 0x0101
|
||||
|
||||
CFG=Checksum - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "Checksum.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "Checksum.mak" CFG="Checksum - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "Checksum - Win32 Release" (based on "Win32 (x86) Application")
|
||||
!MESSAGE "Checksum - Win32 Debug" (based on "Win32 (x86) Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "Checksum - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 6
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 6
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_AFXDLL" /Yu"stdafx.h" /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_AFXDLL" /D "_MBCS" /FD /c
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x412 /d "NDEBUG" /d "_AFXDLL"
|
||||
# ADD RSC /l 0x412 /d "NDEBUG" /d "_AFXDLL"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 /nologo /subsystem:windows /machine:I386
|
||||
# ADD LINK32 /nologo /subsystem:windows /machine:I386
|
||||
|
||||
!ELSEIF "$(CFG)" == "Checksum - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 6
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 6
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /Yu"stdafx.h" /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /D "_MBCS" /FD /GZ /c
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x412 /d "_DEBUG" /d "_AFXDLL"
|
||||
# ADD RSC /l 0x412 /d "_DEBUG" /d "_AFXDLL"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "Checksum - Win32 Release"
|
||||
# Name "Checksum - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Checksum.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Checksum.rc
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\ChecksumDlg.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Crc32Static.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\StdAfx.cpp
|
||||
# ADD CPP /Yc"stdafx.h"
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Checksum.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\ChecksumDlg.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Common.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Crc32Static.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Resource.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\StdAfx.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\res\Checksum.ico
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\res\Checksum.rc2
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\ReadMe.txt
|
||||
# End Source File
|
||||
# End Target
|
||||
# End Project
|
||||
49
Tools/Checksum/Checksum.h
Normal file
49
Tools/Checksum/Checksum.h
Normal file
@@ -0,0 +1,49 @@
|
||||
// Checksum.h : main header file for the CHECKSUM application
|
||||
//
|
||||
|
||||
#if !defined(AFX_CHECKSUM_H__ACF27BD0_2726_41CC_BE58_FE87096C2E2D__INCLUDED_)
|
||||
#define AFX_CHECKSUM_H__ACF27BD0_2726_41CC_BE58_FE87096C2E2D__INCLUDED_
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER > 1000
|
||||
|
||||
#ifndef __AFXWIN_H__
|
||||
#error include 'stdafx.h' before including this file for PCH
|
||||
#endif
|
||||
|
||||
#include "resource.h" // main symbols
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CChecksumApp:
|
||||
// See Checksum.cpp for the implementation of this class
|
||||
//
|
||||
|
||||
class CChecksumApp : public CWinApp
|
||||
{
|
||||
public:
|
||||
CChecksumApp();
|
||||
|
||||
// Overrides
|
||||
// ClassWizard generated virtual function overrides
|
||||
//{{AFX_VIRTUAL(CChecksumApp)
|
||||
public:
|
||||
virtual BOOL InitInstance();
|
||||
//}}AFX_VIRTUAL
|
||||
|
||||
// Implementation
|
||||
|
||||
//{{AFX_MSG(CChecksumApp)
|
||||
// NOTE - the ClassWizard will add and remove member functions here.
|
||||
// DO NOT EDIT what you see in these blocks of generated code !
|
||||
//}}AFX_MSG
|
||||
DECLARE_MESSAGE_MAP()
|
||||
};
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//{{AFX_INSERT_LOCATION}}
|
||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
||||
|
||||
#endif // !defined(AFX_CHECKSUM_H__ACF27BD0_2726_41CC_BE58_FE87096C2E2D__INCLUDED_)
|
||||
189
Tools/Checksum/Checksum.rc
Normal file
189
Tools/Checksum/Checksum.rc
Normal file
@@ -0,0 +1,189 @@
|
||||
// Microsoft Visual C++ generated resource script.
|
||||
//
|
||||
#include "resource.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
#include "afxres.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// <20>ѱ<EFBFBD><D1B1><EFBFBD> resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
|
||||
#pragma code_page(949)
|
||||
#endif //_WIN32
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE
|
||||
BEGIN
|
||||
"#include ""afxres.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE
|
||||
BEGIN
|
||||
"#define _AFX_NO_SPLITTER_RESOURCES\r\n"
|
||||
"#define _AFX_NO_OLE_RESOURCES\r\n"
|
||||
"#define _AFX_NO_TRACKER_RESOURCES\r\n"
|
||||
"#define _AFX_NO_PROPERTY_RESOURCES\r\n"
|
||||
"\r\n"
|
||||
"#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)\r\n"
|
||||
"#ifdef _WIN32\r\n"
|
||||
"LANGUAGE 18, 1\r\n"
|
||||
"#pragma code_page(949)\r\n"
|
||||
"#endif //_WIN32\r\n"
|
||||
"#include ""res\\Checksum.rc2"" // non-Microsoft Visual C++ edited resources\r\n"
|
||||
"#include ""l.kor\\afxres.rc"" // Standard components\r\n"
|
||||
"#endif\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Icon
|
||||
//
|
||||
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
IDR_MAINFRAME ICON "res\\Checksum.ico"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Dialog
|
||||
//
|
||||
|
||||
IDD_CHECKSUM_DIALOG DIALOGEX 0, 0, 346, 130
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION |
|
||||
WS_SYSMENU
|
||||
EXSTYLE WS_EX_APPWINDOW
|
||||
CAPTION "Checksum Ver. 0.80 (ROW)"
|
||||
FONT 9, "<22><><EFBFBD><EFBFBD>", 0, 0, 0x1
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Ȯ<><C8AE>",IDOK,223,109,50,14
|
||||
PUSHBUTTON "<22><><EFBFBD><EFBFBD>",IDCANCEL,289,109,50,14
|
||||
LTEXT "<22><><EFBFBD><EFBFBD> Check Sum :",IDC_STATIC,7,24,59,8
|
||||
LTEXT "<22><><EFBFBD><EFBFBD> ClientFolder :",IDC_STATIC,7,8,60,8
|
||||
EDITTEXT IDC_FOLDER,70,7,269,12,ES_AUTOHSCROLL | WS_DISABLED
|
||||
LTEXT "<22><EFBFBD> Check Sum :",IDC_STATIC,7,55,59,8
|
||||
LTEXT "<22><EFBFBD> ClientFolder :",IDC_STATIC,7,40,60,8
|
||||
EDITTEXT IDC_FOLDER2,70,38,269,12,ES_AUTOHSCROLL | WS_DISABLED
|
||||
EDITTEXT IDC_CHECKSUM,69,22,53,12,ES_AUTOHSCROLL
|
||||
EDITTEXT IDC_CHECKSUM2,69,53,53,12,ES_AUTOHSCROLL
|
||||
LTEXT "Version :",IDC_STATIC,131,24,30,8
|
||||
LTEXT "Version :",IDC_STATIC,131,55,30,8
|
||||
EDITTEXT IDC_VERSION,163,22,40,12,ES_AUTOHSCROLL | WS_DISABLED
|
||||
EDITTEXT IDC_VERSION2,163,53,40,12,ES_AUTOHSCROLL | WS_DISABLED
|
||||
LTEXT "<22>輷 Check Sum :",IDC_STATIC,7,87,59,8
|
||||
LTEXT "<22>輷 ClientFolder :",IDC_STATIC,7,71,60,8
|
||||
EDITTEXT IDC_FOLDER3,70,69,269,12,ES_AUTOHSCROLL | WS_DISABLED
|
||||
EDITTEXT IDC_CHECKSUM3,69,85,53,12,ES_AUTOHSCROLL
|
||||
LTEXT "Version :",IDC_STATIC,131,87,30,8
|
||||
EDITTEXT IDC_VERSION3,163,85,40,12,ES_AUTOHSCROLL | WS_DISABLED
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Version
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 1,0,0,2
|
||||
PRODUCTVERSION 1,0,0,2
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS 0x4L
|
||||
FILETYPE 0x1L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "041204b0"
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Youxiland Co. Ltd."
|
||||
VALUE "FileDescription", "Checksum MFC <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1>"
|
||||
VALUE "FileVersion", "1, 0, 0, 2"
|
||||
VALUE "InternalName", "Checksum"
|
||||
VALUE "LegalCopyright", "Copyright (C) 2004 Youxiland Co. Ltd. All rights reserved."
|
||||
VALUE "OriginalFilename", "Checksum.EXE"
|
||||
VALUE "ProductName", "Checksum <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1>"
|
||||
VALUE "ProductVersion", "1, 0, 0, 2"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x412, 1200
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// DESIGNINFO
|
||||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
GUIDELINES DESIGNINFO
|
||||
BEGIN
|
||||
IDD_CHECKSUM_DIALOG, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 339
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 123
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
#endif // <20>ѱ<EFBFBD><D1B1><EFBFBD> resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
#define _AFX_NO_SPLITTER_RESOURCES
|
||||
#define _AFX_NO_OLE_RESOURCES
|
||||
#define _AFX_NO_TRACKER_RESOURCES
|
||||
#define _AFX_NO_PROPERTY_RESOURCES
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE 18, 1
|
||||
#pragma code_page(949)
|
||||
#endif //_WIN32
|
||||
#include "res\Checksum.rc2" // non-Microsoft Visual C++ edited resources
|
||||
#include "l.kor\afxres.rc" // Standard components
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
||||
33
Tools/Checksum/Checksum.sln
Normal file
33
Tools/Checksum/Checksum.sln
Normal file
@@ -0,0 +1,33 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 8.00
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Checksum", "Checksum.vcproj", "{DC9D77C1-3F68-4A88-800B-422C144A00F2}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(DPCodeReviewSolutionGUID) = preSolution
|
||||
DPCodeReviewSolutionGUID = {00000000-0000-0000-0000-000000000000}
|
||||
EndGlobalSection
|
||||
GlobalSection(SourceCodeControl) = preSolution
|
||||
SccNumberOfProjects = 2
|
||||
SccProjectUniqueName0 = Checksum.vcproj
|
||||
SccLocalPath0 = .
|
||||
CanCheckoutShared = false
|
||||
SccLocalPath1 = .
|
||||
CanCheckoutShared = false
|
||||
SolutionUniqueID = {D84F0B1A-4715-4C6F-BB9A-332909C62026}
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionConfiguration) = preSolution
|
||||
Debug = Debug
|
||||
Release = Release
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfiguration) = postSolution
|
||||
{DC9D77C1-3F68-4A88-800B-422C144A00F2}.Debug.ActiveCfg = Debug|Win32
|
||||
{DC9D77C1-3F68-4A88-800B-422C144A00F2}.Debug.Build.0 = Debug|Win32
|
||||
{DC9D77C1-3F68-4A88-800B-422C144A00F2}.Release.ActiveCfg = Release|Win32
|
||||
{DC9D77C1-3F68-4A88-800B-422C144A00F2}.Release.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityAddIns) = postSolution
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
353
Tools/Checksum/Checksum.vcproj
Normal file
353
Tools/Checksum/Checksum.vcproj
Normal file
@@ -0,0 +1,353 @@
|
||||
<?xml version="1.0" encoding="ks_c_5601-1987"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="7.10"
|
||||
Name="Checksum"
|
||||
ProjectGUID="{62408D5A-398C-4393-A008-DA8C8EEB4470}"
|
||||
SccProjectName=""
|
||||
SccLocalPath=""
|
||||
Keyword="MFCProj">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
</Platforms>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory=".\Release"
|
||||
IntermediateDirectory=".\Release"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="2"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_RYL_LANGUAGE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
PrecompiledHeaderFile=".\Release/Checksum.pch"
|
||||
AssemblerListingLocation=".\Release/"
|
||||
ObjectFile=".\Release/"
|
||||
ProgramDataBaseFileName=".\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
OutputFile=".\Release/Checksum.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
ProgramDatabaseFile=".\Release/Checksum.pdb"
|
||||
SubSystem="2"
|
||||
TargetMachine="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
MkTypLibCompatible="TRUE"
|
||||
SuppressStartupBanner="TRUE"
|
||||
TargetEnvironment="1"
|
||||
TypeLibraryName=".\Release/Checksum.tlb"
|
||||
HeaderFileName=""/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1042"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory=".\Debug"
|
||||
IntermediateDirectory=".\Debug"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="2"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
PrecompiledHeaderFile=".\Debug/Checksum.pch"
|
||||
AssemblerListingLocation=".\Debug/"
|
||||
ObjectFile=".\Debug/"
|
||||
ProgramDataBaseFileName=".\Debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="4"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
OutputFile=".\Debug/Checksum.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
GenerateDebugInformation="TRUE"
|
||||
ProgramDatabaseFile=".\Debug/Checksum.pdb"
|
||||
SubSystem="2"
|
||||
TargetMachine="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
MkTypLibCompatible="TRUE"
|
||||
SuppressStartupBanner="TRUE"
|
||||
TargetEnvironment="1"
|
||||
TypeLibraryName=".\Debug/Checksum.tlb"
|
||||
HeaderFileName=""/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1042"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release_MY|Win32"
|
||||
OutputDirectory="$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="2"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
PrecompiledHeaderFile=".\Release/Checksum.pch"
|
||||
AssemblerListingLocation=".\Release/"
|
||||
ObjectFile=".\Release/"
|
||||
ProgramDataBaseFileName=".\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
OutputFile=".\Release_MY/ChecksumMY.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
ProgramDatabaseFile=".\Release/Checksum.pdb"
|
||||
SubSystem="2"
|
||||
TargetMachine="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
MkTypLibCompatible="TRUE"
|
||||
SuppressStartupBanner="TRUE"
|
||||
TargetEnvironment="1"
|
||||
TypeLibraryName=".\Release/Checksum.tlb"
|
||||
HeaderFileName=""/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1042"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
|
||||
<File
|
||||
RelativePath="Checksum.cpp">
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
PreprocessorDefinitions=""/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
PreprocessorDefinitions=""
|
||||
BasicRuntimeChecks="3"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release_MY|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
PreprocessorDefinitions=""/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="Checksum.rc">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ChecksumDlg.cpp">
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
PreprocessorDefinitions=""/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
PreprocessorDefinitions=""
|
||||
BasicRuntimeChecks="3"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release_MY|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
PreprocessorDefinitions=""/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="Crc32Static.cpp">
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
PreprocessorDefinitions=""/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
PreprocessorDefinitions=""
|
||||
BasicRuntimeChecks="3"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release_MY|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
PreprocessorDefinitions=""/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="StdAfx.cpp">
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
PreprocessorDefinitions=""
|
||||
UsePrecompiledHeader="1"
|
||||
PrecompiledHeaderThrough="stdafx.h"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
PreprocessorDefinitions=""
|
||||
BasicRuntimeChecks="3"
|
||||
UsePrecompiledHeader="1"
|
||||
PrecompiledHeaderThrough="stdafx.h"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release_MY|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
PreprocessorDefinitions=""
|
||||
UsePrecompiledHeader="1"
|
||||
PrecompiledHeaderThrough="stdafx.h"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl">
|
||||
<File
|
||||
RelativePath="Checksum.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ChecksumDlg.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="Common.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="Crc32Static.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="Resource.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="StdAfx.h">
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
|
||||
<File
|
||||
RelativePath="res\Checksum.ico">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="res\Checksum.rc2">
|
||||
</File>
|
||||
</Filter>
|
||||
<File
|
||||
RelativePath="ReadMe.txt">
|
||||
</File>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
244
Tools/Checksum/Checksum.vcxproj
Normal file
244
Tools/Checksum/Checksum.vcxproj
Normal file
@@ -0,0 +1,244 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release_MY|Win32">
|
||||
<Configuration>Release_MY</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{62408D5A-398C-4393-A008-DA8C8EEB4470}</ProjectGuid>
|
||||
<SccProjectName />
|
||||
<SccLocalPath />
|
||||
<Keyword>MFCProj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_MY|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseOfMfc>Dynamic</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseOfMfc>Dynamic</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseOfMfc>Dynamic</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_MY|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release_MY|Win32'">$(Configuration)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release_MY|Win32'">$(Configuration)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release_MY|Win32'">false</LinkIncremental>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release_MY|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release_MY|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release_MY|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_RYL_LANGUAGE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeaderOutputFile>.\Release/Checksum.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>.\Release/</AssemblerListingLocation>
|
||||
<ObjectFileName>.\Release/</ObjectFileName>
|
||||
<ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>.\Release/Checksum.exe</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<ProgramDatabaseFile>.\Release/Checksum.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TargetEnvironment>Win32</TargetEnvironment>
|
||||
<TypeLibraryName>.\Release/Checksum.tlb</TypeLibraryName>
|
||||
<HeaderFileName>
|
||||
</HeaderFileName>
|
||||
</Midl>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0412</Culture>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<PrecompiledHeaderOutputFile>.\Debug/Checksum.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
|
||||
<ObjectFileName>.\Debug/</ObjectFileName>
|
||||
<ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>.\Debug/Checksum.exe</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>.\Debug/Checksum.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TargetEnvironment>Win32</TargetEnvironment>
|
||||
<TypeLibraryName>.\Debug/Checksum.tlb</TypeLibraryName>
|
||||
<HeaderFileName>
|
||||
</HeaderFileName>
|
||||
</Midl>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0412</Culture>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_MY|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeaderOutputFile>.\Release/Checksum.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>.\Release/</AssemblerListingLocation>
|
||||
<ObjectFileName>.\Release/</ObjectFileName>
|
||||
<ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>.\Release_MY/ChecksumMY.exe</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<ProgramDatabaseFile>.\Release/Checksum.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TargetEnvironment>Win32</TargetEnvironment>
|
||||
<TypeLibraryName>.\Release/Checksum.tlb</TypeLibraryName>
|
||||
<HeaderFileName>
|
||||
</HeaderFileName>
|
||||
</Midl>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0412</Culture>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="Checksum.cpp">
|
||||
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
|
||||
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release_MY|Win32'">MaxSpeed</Optimization>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release_MY|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ChecksumDlg.cpp">
|
||||
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
|
||||
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release_MY|Win32'">MaxSpeed</Optimization>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release_MY|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Crc32Static.cpp">
|
||||
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
|
||||
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release_MY|Win32'">MaxSpeed</Optimization>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release_MY|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<ClCompile Include="StdAfx.cpp">
|
||||
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">stdafx.h</PrecompiledHeaderFile>
|
||||
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release_MY|Win32'">MaxSpeed</Optimization>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release_MY|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release_MY|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release_MY|Win32'">stdafx.h</PrecompiledHeaderFile>
|
||||
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">stdafx.h</PrecompiledHeaderFile>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="Checksum.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="Checksum.h" />
|
||||
<ClInclude Include="ChecksumDlg.h" />
|
||||
<ClInclude Include="Common.h" />
|
||||
<ClInclude Include="Crc32Static.h" />
|
||||
<ClInclude Include="Resource.h" />
|
||||
<ClInclude Include="StdAfx.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="res\Checksum.ico" />
|
||||
<None Include="res\Checksum.rc2" />
|
||||
<None Include="ReadMe.txt" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
65
Tools/Checksum/Checksum.vcxproj.filters
Normal file
65
Tools/Checksum/Checksum.vcxproj.filters
Normal file
@@ -0,0 +1,65 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{80a9c8ec-d45f-43f5-85a3-6fe546745921}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{6b005eea-78da-48bd-8d9d-84b75afc1ab3}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{5491851c-9c6a-4a32-8cb5-67efd849bd15}</UniqueIdentifier>
|
||||
<Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="Checksum.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ChecksumDlg.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Crc32Static.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="StdAfx.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="Checksum.rc">
|
||||
<Filter>Source Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="Checksum.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ChecksumDlg.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Common.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Crc32Static.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Resource.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="StdAfx.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="res\Checksum.ico">
|
||||
<Filter>Resource Files</Filter>
|
||||
</None>
|
||||
<None Include="res\Checksum.rc2">
|
||||
<Filter>Resource Files</Filter>
|
||||
</None>
|
||||
<None Include="ReadMe.txt" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
448
Tools/Checksum/ChecksumDlg.cpp
Normal file
448
Tools/Checksum/ChecksumDlg.cpp
Normal file
@@ -0,0 +1,448 @@
|
||||
// ChecksumDlg.cpp : implementation file
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "Checksum.h"
|
||||
#include "ChecksumDlg.h"
|
||||
#include "Crc32Static.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#undef THIS_FILE
|
||||
static char THIS_FILE[] = __FILE__;
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CChecksumDlg dialog
|
||||
|
||||
CChecksumDlg::CChecksumDlg(CWnd* pParent /*=NULL*/)
|
||||
: CDialog(CChecksumDlg::IDD, pParent)
|
||||
{
|
||||
//{{AFX_DATA_INIT(CChecksumDlg)
|
||||
// NOTE: the ClassWizard will add member initialization here
|
||||
//}}AFX_DATA_INIT
|
||||
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
|
||||
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
|
||||
}
|
||||
|
||||
void CChecksumDlg::DoDataExchange(CDataExchange* pDX)
|
||||
{
|
||||
CDialog::DoDataExchange(pDX);
|
||||
//{{AFX_DATA_MAP(CChecksumDlg)
|
||||
// NOTE: the ClassWizard will add DDX and DDV calls here
|
||||
//}}AFX_DATA_MAP
|
||||
}
|
||||
|
||||
BEGIN_MESSAGE_MAP(CChecksumDlg, CDialog)
|
||||
//{{AFX_MSG_MAP(CChecksumDlg)
|
||||
ON_WM_PAINT()
|
||||
ON_WM_QUERYDRAGICON()
|
||||
//}}AFX_MSG_MAP
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CChecksumDlg message handlers
|
||||
|
||||
BOOL CChecksumDlg::OnInitDialog()
|
||||
{
|
||||
CDialog::OnInitDialog();
|
||||
|
||||
// Set the icon for this dialog. The framework does this automatically
|
||||
// when the application's main window is not a dialog
|
||||
SetIcon(m_hIcon, TRUE); // Set big icon
|
||||
SetIcon(m_hIcon, FALSE); // Set small icon
|
||||
|
||||
SetCheckSum("Software\\ROW\\MP-Client", "Folder", false, IDC_FOLDER, IDC_CHECKSUM, IDC_VERSION);
|
||||
SetCheckSum("Software\\ROW\\MP-Client", "TestFolder", false, IDC_FOLDER2, IDC_CHECKSUM2, IDC_VERSION2);
|
||||
SetCheckSum("Software\\ROW\\MP-Client", "BGFolder", true, IDC_FOLDER3, IDC_CHECKSUM3, IDC_VERSION3);
|
||||
|
||||
#ifdef _RYL_LANGUAGE
|
||||
SetWindowText("Checksum Ver. 0.80 (ROW)");
|
||||
#else
|
||||
SetWindowText("Checksum Ver. 0.80 (ROW_MY)");
|
||||
#endif
|
||||
|
||||
return TRUE; // return TRUE unless you set the focus to a control
|
||||
}
|
||||
|
||||
// If you add a minimize button to your dialog, you will need the code below
|
||||
// to draw the icon. For MFC applications using the document/view model,
|
||||
// this is automatically done for you by the framework.
|
||||
|
||||
void CChecksumDlg::OnPaint()
|
||||
{
|
||||
if (IsIconic())
|
||||
{
|
||||
CPaintDC dc(this); // device context for painting
|
||||
|
||||
SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
|
||||
|
||||
// Center icon in client rectangle
|
||||
int cxIcon = GetSystemMetrics(SM_CXICON);
|
||||
int cyIcon = GetSystemMetrics(SM_CYICON);
|
||||
CRect rect;
|
||||
GetClientRect(&rect);
|
||||
int x = (rect.Width() - cxIcon + 1) / 2;
|
||||
int y = (rect.Height() - cyIcon + 1) / 2;
|
||||
|
||||
// Draw the icon
|
||||
dc.DrawIcon(x, y, m_hIcon);
|
||||
}
|
||||
else
|
||||
{
|
||||
CDialog::OnPaint();
|
||||
}
|
||||
}
|
||||
|
||||
// The system calls this to obtain the cursor to display while the user drags
|
||||
// the minimized window.
|
||||
HCURSOR CChecksumDlg::OnQueryDragIcon()
|
||||
{
|
||||
return (HCURSOR) m_hIcon;
|
||||
}
|
||||
|
||||
unsigned long CChecksumDlg::CheckOCTREE()
|
||||
{
|
||||
unsigned long dwCrc = 0, dwTemp = 0;
|
||||
HANDLE hSrch;
|
||||
WIN32_FIND_DATA wfd;
|
||||
BOOL bResult = TRUE;
|
||||
|
||||
char strScriptPath[MAX_PATH];
|
||||
sprintf(strScriptPath, "%s\\OCTREE\\*.OCT", m_strClientPath);
|
||||
|
||||
hSrch = FindFirstFile(strScriptPath, &wfd);
|
||||
|
||||
int iCount = 0;
|
||||
|
||||
while (bResult)
|
||||
{
|
||||
if(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
|
||||
{
|
||||
;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf(strScriptPath, "%s\\OCTREE\\%s", m_strClientPath, wfd.cFileName);
|
||||
|
||||
dwTemp = 0;
|
||||
if(CCrc32Static::FileCrc32Assembly(strScriptPath, dwTemp) != NO_ERROR)
|
||||
{
|
||||
;
|
||||
}
|
||||
dwCrc = dwCrc ^ dwTemp;
|
||||
iCount++;
|
||||
}
|
||||
|
||||
bResult = FindNextFile(hSrch, &wfd);
|
||||
}
|
||||
FindClose(hSrch);
|
||||
|
||||
return dwCrc;
|
||||
}
|
||||
|
||||
bool CChecksumDlg::SetCheckSum(const char* szRegKey, const char* szRegValue, bool bBattleServer,
|
||||
unsigned long dwViewPathID, unsigned long dwViewCheckSumID, unsigned long dwViewVersionID)
|
||||
{
|
||||
HKEY hMPClientReg;
|
||||
unsigned long dwReadType = 0, dwReadLens = 256;
|
||||
unsigned long dwReadType1 = 0, dwReadLens1 = 256;
|
||||
unsigned long dwReadType2 = 0, dwReadLens2 = 256;
|
||||
char strScriptPath[MAX_PATH];
|
||||
unsigned long dwCrc[20], dwVer, dwTemp;
|
||||
unsigned long m_dwVersion;
|
||||
CWnd *lpWnd;
|
||||
char strCheckSum[20];
|
||||
char szErrMsg[MAX_PATH];
|
||||
|
||||
ZeroMemory(dwCrc, sizeof(unsigned long)*20);
|
||||
|
||||
if ( RegOpenKeyEx(HKEY_LOCAL_MACHINE, szRegKey, 0, KEY_READ, &hMPClientReg) == ERROR_SUCCESS &&
|
||||
RegQueryValueEx(hMPClientReg, szRegValue, 0, &dwReadType2, (LPBYTE)m_strClientPath, &dwReadLens2) == ERROR_SUCCESS )
|
||||
{
|
||||
sprintf(strScriptPath, "%s\\Client.exe", m_strClientPath);
|
||||
if (CCrc32Static::FileCrc32Assembly(strScriptPath, dwCrc[0]) != NO_ERROR)
|
||||
{
|
||||
MessageBox("Client.exe<78><65> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.", "Checksum Ȯ<><C8AE>", MB_OK);
|
||||
return false;
|
||||
}
|
||||
|
||||
// <20><>Ʈ<EFBFBD><C6AE> üũ<C3BC><C5A9> <20>˻<EFBFBD>
|
||||
dwTemp = CheckOCTREE();
|
||||
dwCrc[0] = dwCrc[0] ^ dwTemp;
|
||||
|
||||
#ifdef _RYL_LANGUAGE
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
int iMaxLanguage = 7;
|
||||
TCHAR szLanguage[7][32] = { _T("ENG"), _T("CHS"), _T("JPN"), _T("KOR"), _T("PRT"), _T("SPN"), _T("POL") };
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
// MUI
|
||||
for(int i = 0; i < iMaxLanguage; ++i)
|
||||
{
|
||||
sprintf(strScriptPath, "%s\\Language\\%s\\NPCScript.mcf", m_strClientPath, szLanguage[i]);
|
||||
if (CCrc32Static::FileCrc32Assembly(strScriptPath, dwTemp) != NO_ERROR)
|
||||
{
|
||||
sprintf(szErrMsg, "%s<><73> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.", strScriptPath);
|
||||
MessageBox(szErrMsg, "Checksum Ȯ<><C8AE>", MB_OK);
|
||||
return false;
|
||||
}
|
||||
dwCrc[1] = dwCrc[1]^dwTemp;
|
||||
|
||||
if (true == bBattleServer)
|
||||
{
|
||||
sprintf(strScriptPath, "%s\\Language\\%s\\BGItemScript.gsf", m_strClientPath, szLanguage[i]);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf(strScriptPath, "%s\\Language\\%s\\ItemScript.gsf", m_strClientPath, szLanguage[i]);
|
||||
}
|
||||
|
||||
if (CCrc32Static::FileCrc32Assembly(strScriptPath, dwTemp) != NO_ERROR)
|
||||
{
|
||||
sprintf(szErrMsg, "%s<><73> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.", strScriptPath);
|
||||
MessageBox(szErrMsg, "Checksum Ȯ<><C8AE>", MB_OK);
|
||||
return false;
|
||||
}
|
||||
dwCrc[2] = dwCrc[2]^dwTemp;
|
||||
|
||||
sprintf(strScriptPath, "%s\\Language\\%s\\SkillScript.gsf", m_strClientPath, szLanguage[i]);
|
||||
if (CCrc32Static::FileCrc32Assembly(strScriptPath, dwTemp) != NO_ERROR)
|
||||
{
|
||||
sprintf(szErrMsg, "%s<><73> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.", strScriptPath);
|
||||
MessageBox(szErrMsg, "Checksum Ȯ<><C8AE>", MB_OK);
|
||||
return false;
|
||||
}
|
||||
dwCrc[3] = dwCrc[3]^dwTemp;
|
||||
|
||||
sprintf(strScriptPath, "%s\\Language\\%s\\MonsterProtoType.gsf", m_strClientPath, szLanguage[i]);
|
||||
if (CCrc32Static::FileCrc32Assembly(strScriptPath, dwTemp) != NO_ERROR)
|
||||
{
|
||||
sprintf(szErrMsg, "%s<><73> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.", strScriptPath);
|
||||
MessageBox(szErrMsg, "Checksum Ȯ<><C8AE>", MB_OK);
|
||||
return false;
|
||||
}
|
||||
dwCrc[4] = dwCrc[4]^dwTemp;
|
||||
|
||||
sprintf(strScriptPath, "%s\\Language\\%s\\Quest.mcf", m_strClientPath, szLanguage[i]);
|
||||
if (CCrc32Static::FileCrc32Assembly(strScriptPath, dwTemp) != NO_ERROR)
|
||||
{
|
||||
sprintf(szErrMsg, "%s<><73> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.", strScriptPath);
|
||||
MessageBox(szErrMsg, "Checksum Ȯ<><C8AE>", MB_OK);
|
||||
return false;
|
||||
}
|
||||
dwCrc[5] = dwCrc[5]^dwTemp;
|
||||
|
||||
}
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
#else
|
||||
sprintf(strScriptPath, "%s\\NPCScript.mcf", m_strClientPath);
|
||||
if (CCrc32Static::FileCrc32Assembly(strScriptPath, dwCrc[1]) != NO_ERROR)
|
||||
{
|
||||
sprintf(szErrMsg, "%s<><73> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.", strScriptPath);
|
||||
MessageBox(szErrMsg, "Checksum Ȯ<><C8AE>", MB_OK);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (true == bBattleServer)
|
||||
{
|
||||
sprintf(strScriptPath, "%s\\BGItemScript.gsf", m_strClientPath);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf(strScriptPath, "%s\\ItemScript.gsf", m_strClientPath);
|
||||
}
|
||||
|
||||
if (CCrc32Static::FileCrc32Assembly(strScriptPath, dwCrc[2]) != NO_ERROR)
|
||||
{
|
||||
sprintf(szErrMsg, "%s<><73> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.", strScriptPath);
|
||||
MessageBox(szErrMsg, "Checksum Ȯ<><C8AE>", MB_OK);
|
||||
return false;
|
||||
}
|
||||
|
||||
sprintf(strScriptPath, "%s\\SkillScript.gsf", m_strClientPath);
|
||||
if (CCrc32Static::FileCrc32Assembly(strScriptPath, dwCrc[3]) != NO_ERROR)
|
||||
{
|
||||
sprintf(szErrMsg, "%s<><73> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.", strScriptPath);
|
||||
MessageBox(szErrMsg, "Checksum Ȯ<><C8AE>", MB_OK);
|
||||
return false;
|
||||
}
|
||||
|
||||
sprintf(strScriptPath, "%s\\MonsterProtoType.gsf", m_strClientPath);
|
||||
if (CCrc32Static::FileCrc32Assembly(strScriptPath, dwCrc[4]) != NO_ERROR)
|
||||
{
|
||||
sprintf(szErrMsg, "%s<><73> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.", strScriptPath);
|
||||
MessageBox(szErrMsg, "Checksum Ȯ<><C8AE>", MB_OK);
|
||||
return false;
|
||||
}
|
||||
|
||||
sprintf(strScriptPath, "%s\\Quest.mcf", m_strClientPath);
|
||||
if (CCrc32Static::FileCrc32Assembly(strScriptPath, dwCrc[5]) != NO_ERROR)
|
||||
{
|
||||
sprintf(szErrMsg, "%s<><73> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.", strScriptPath);
|
||||
MessageBox(szErrMsg, "Checksum Ȯ<><C8AE>", MB_OK);
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
sprintf(strScriptPath, "%s\\Script1.gsf", m_strClientPath);
|
||||
if (CCrc32Static::FileCrc32Assembly(strScriptPath, dwCrc[6]) != NO_ERROR)
|
||||
{
|
||||
sprintf(szErrMsg, "%s<><73> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.", strScriptPath);
|
||||
MessageBox(szErrMsg, "Checksum Ȯ<><C8AE>", MB_OK);
|
||||
return false;
|
||||
}
|
||||
|
||||
sprintf(strScriptPath, "%s\\Character\\Data\\ChrEvent.eds", m_strClientPath);
|
||||
if (CCrc32Static::FileCrc32Assembly(strScriptPath, dwCrc[7]) != NO_ERROR)
|
||||
{
|
||||
sprintf(szErrMsg, "%s<><73> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.", strScriptPath);
|
||||
MessageBox(szErrMsg, "Checksum Ȯ<><C8AE>", MB_OK);
|
||||
return false;
|
||||
}
|
||||
|
||||
sprintf(strScriptPath, "%s\\Chemical.gsf", m_strClientPath);
|
||||
if (CCrc32Static::FileCrc32Assembly(strScriptPath, dwCrc[8]) != NO_ERROR)
|
||||
{
|
||||
sprintf(szErrMsg, "%s<><73> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.", strScriptPath);
|
||||
MessageBox(szErrMsg, "Checksum Ȯ<><C8AE>", MB_OK);
|
||||
return false;
|
||||
}
|
||||
|
||||
sprintf(strScriptPath, "%s\\SpeacialCompensation.gsf", m_strClientPath);
|
||||
if (CCrc32Static::FileCrc32Assembly(strScriptPath, dwCrc[9]) != NO_ERROR)
|
||||
{
|
||||
sprintf(szErrMsg, "%s<><73> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.", strScriptPath);
|
||||
MessageBox(szErrMsg, "Checksum Ȯ<><C8AE>", MB_OK);
|
||||
return false;
|
||||
}
|
||||
|
||||
sprintf(strScriptPath, "%s\\zone1.z3s", m_strClientPath);
|
||||
if (CCrc32Static::FileCrc32Assembly(strScriptPath, dwTemp) != NO_ERROR)
|
||||
{
|
||||
sprintf(szErrMsg, "%s<><73> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.", strScriptPath);
|
||||
MessageBox(szErrMsg, "Checksum Ȯ<><C8AE>", MB_OK);
|
||||
return false;
|
||||
}
|
||||
dwCrc[10] = dwCrc[10]^dwTemp;
|
||||
|
||||
sprintf(strScriptPath, "%s\\zone2.z3s", m_strClientPath);
|
||||
if (CCrc32Static::FileCrc32Assembly(strScriptPath, dwTemp) != NO_ERROR)
|
||||
{
|
||||
sprintf(szErrMsg, "%s<><73> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.", strScriptPath);
|
||||
MessageBox(szErrMsg, "Checksum Ȯ<><C8AE>", MB_OK);
|
||||
return false;
|
||||
}
|
||||
dwCrc[10] = dwCrc[10]^dwTemp;
|
||||
|
||||
sprintf(strScriptPath, "%s\\zone4.z3s", m_strClientPath);
|
||||
if (CCrc32Static::FileCrc32Assembly(strScriptPath, dwTemp) != NO_ERROR)
|
||||
{
|
||||
sprintf(szErrMsg, "%s<><73> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.", strScriptPath);
|
||||
MessageBox(szErrMsg, "Checksum Ȯ<><C8AE>", MB_OK);
|
||||
return false;
|
||||
}
|
||||
dwCrc[10] = dwCrc[10]^dwTemp;
|
||||
|
||||
sprintf(strScriptPath, "%s\\zone5.z3s", m_strClientPath);
|
||||
if (CCrc32Static::FileCrc32Assembly(strScriptPath, dwTemp) != NO_ERROR)
|
||||
{
|
||||
sprintf(szErrMsg, "%s<><73> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.", strScriptPath);
|
||||
MessageBox(szErrMsg, "Checksum Ȯ<><C8AE>", MB_OK);
|
||||
return false;
|
||||
}
|
||||
dwCrc[10] = dwCrc[10]^dwTemp;
|
||||
|
||||
sprintf(strScriptPath, "%s\\zone8.z3s", m_strClientPath);
|
||||
if (CCrc32Static::FileCrc32Assembly(strScriptPath, dwTemp) != NO_ERROR)
|
||||
{
|
||||
sprintf(szErrMsg, "%s<><73> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.", strScriptPath);
|
||||
MessageBox(szErrMsg, "Checksum Ȯ<><C8AE>", MB_OK);
|
||||
return false;
|
||||
}
|
||||
dwCrc[10] = dwCrc[10]^dwTemp;
|
||||
|
||||
sprintf(strScriptPath, "%s\\zone12.z3s", m_strClientPath);
|
||||
if (CCrc32Static::FileCrc32Assembly(strScriptPath, dwTemp) != NO_ERROR)
|
||||
{
|
||||
sprintf(szErrMsg, "%s<><73> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.", strScriptPath);
|
||||
MessageBox(szErrMsg, "Checksum Ȯ<><C8AE>", MB_OK);
|
||||
return false;
|
||||
}
|
||||
dwCrc[10] = dwCrc[10]^dwTemp;
|
||||
|
||||
sprintf(strScriptPath, "%s\\zone16.z3s", m_strClientPath);
|
||||
if (CCrc32Static::FileCrc32Assembly(strScriptPath, dwTemp) != NO_ERROR)
|
||||
{
|
||||
sprintf(szErrMsg, "%s<><73> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.", strScriptPath);
|
||||
MessageBox(szErrMsg, "Checksum Ȯ<><C8AE>", MB_OK);
|
||||
return false;
|
||||
}
|
||||
dwCrc[10] = dwCrc[10]^dwTemp;
|
||||
/*
|
||||
sprintf(strScriptPath, "%s\\GameGuard.des", m_strClientPath);
|
||||
if (CCrc32Static::FileCrc32Assembly(strScriptPath, dwCrc[11]) != NO_ERROR)
|
||||
{
|
||||
sprintf(szErrMsg, "%s<><73> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.", strScriptPath);
|
||||
MessageBox(szErrMsg, "Checksum Ȯ<><C8AE>", MB_OK);
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
sprintf(strScriptPath, "%s\\MineralVein8.gsf", m_strClientPath);
|
||||
if (CCrc32Static::FileCrc32Assembly(strScriptPath, dwCrc[11]) != NO_ERROR)
|
||||
{
|
||||
sprintf(szErrMsg, "%s<><73> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.", strScriptPath);
|
||||
MessageBox(szErrMsg, "Checksum Ȯ<><C8AE>", MB_OK);
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
sprintf(strScriptPath, "%s\\MineralVein16.gsf", m_strClientPath);
|
||||
if (CCrc32Static::FileCrc32Assembly(strScriptPath, dwCrc[12]) != NO_ERROR)
|
||||
{
|
||||
sprintf(szErrMsg, "%s<><73> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.", strScriptPath);
|
||||
MessageBox(szErrMsg, "Checksum Ȯ<><C8AE>", MB_OK);
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
m_dwVersion = dwCrc[0] ^ dwCrc[1];
|
||||
m_dwVersion = m_dwVersion ^ dwCrc[2];
|
||||
m_dwVersion = m_dwVersion ^ dwCrc[3];
|
||||
m_dwVersion = m_dwVersion ^ dwCrc[4];
|
||||
m_dwVersion = m_dwVersion ^ dwCrc[5];
|
||||
m_dwVersion = m_dwVersion ^ dwCrc[6];
|
||||
m_dwVersion = m_dwVersion ^ dwCrc[7];
|
||||
m_dwVersion = m_dwVersion ^ dwCrc[8];
|
||||
m_dwVersion = m_dwVersion ^ dwCrc[9];
|
||||
m_dwVersion = m_dwVersion ^ dwCrc[10];
|
||||
m_dwVersion = m_dwVersion ^ dwCrc[11];
|
||||
// m_dwVersion = m_dwVersion ^ dwCrc[12];
|
||||
}
|
||||
else
|
||||
{
|
||||
char szErrMsg[MAX_PATH];
|
||||
sprintf(szErrMsg, "%s - %s <20><> ǥ<><C7A5><EFBFBD><EFBFBD> <20><>ġ<EFBFBD><C4A1> <20>ִ<EFBFBD> Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ<EFBFBD><C6AE> <20><>ġ<EFBFBD><C4A1><EFBFBD><EFBFBD> <20>ʾҽ<CABE><D2BD>ϴ<EFBFBD>.", szRegKey, szRegValue);
|
||||
MessageBox(szErrMsg, "Checksum Ȯ<><C8AE>", MB_OK);
|
||||
return false;
|
||||
}
|
||||
|
||||
RegCloseKey(hMPClientReg);
|
||||
|
||||
lpWnd = GetDlgItem(dwViewPathID);
|
||||
lpWnd->SetWindowText(m_strClientPath);
|
||||
|
||||
sprintf(strCheckSum, "0x%08x", m_dwVersion);
|
||||
lpWnd = GetDlgItem(dwViewCheckSumID);
|
||||
lpWnd->SetWindowText(strCheckSum);
|
||||
|
||||
sprintf(strScriptPath, "%s\\VersionInfo.dat", m_strClientPath);
|
||||
FILE* fp = fopen(strScriptPath, "r");
|
||||
fscanf(fp, "%d", &dwVer);
|
||||
fclose(fp);
|
||||
|
||||
sprintf(strCheckSum, "%d", dwVer);
|
||||
lpWnd = GetDlgItem(dwViewVersionID);
|
||||
lpWnd->SetWindowText(strCheckSum);
|
||||
|
||||
return true;
|
||||
}
|
||||
55
Tools/Checksum/ChecksumDlg.h
Normal file
55
Tools/Checksum/ChecksumDlg.h
Normal file
@@ -0,0 +1,55 @@
|
||||
// ChecksumDlg.h : header file
|
||||
//
|
||||
|
||||
#if !defined(AFX_CHECKSUMDLG_H__B4118AC0_56D7_4A84_8A74_704A84A7FF06__INCLUDED_)
|
||||
#define AFX_CHECKSUMDLG_H__B4118AC0_56D7_4A84_8A74_704A84A7FF06__INCLUDED_
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER > 1000
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CChecksumDlg dialog
|
||||
|
||||
class CChecksumDlg : public CDialog
|
||||
{
|
||||
// Construction
|
||||
public:
|
||||
CChecksumDlg(CWnd* pParent = NULL); // standard constructor
|
||||
|
||||
// Dialog Data
|
||||
//{{AFX_DATA(CChecksumDlg)
|
||||
enum { IDD = IDD_CHECKSUM_DIALOG };
|
||||
// NOTE: the ClassWizard will add data members here
|
||||
//}}AFX_DATA
|
||||
|
||||
// ClassWizard generated virtual function overrides
|
||||
//{{AFX_VIRTUAL(CChecksumDlg)
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
||||
//}}AFX_VIRTUAL
|
||||
|
||||
// Implementation
|
||||
protected:
|
||||
HICON m_hIcon;
|
||||
|
||||
// Generated message map functions
|
||||
//{{AFX_MSG(CChecksumDlg)
|
||||
virtual BOOL OnInitDialog();
|
||||
afx_msg void OnPaint();
|
||||
afx_msg HCURSOR OnQueryDragIcon();
|
||||
//}}AFX_MSG
|
||||
DECLARE_MESSAGE_MAP()
|
||||
|
||||
char m_strClientPath[MAX_PATH];
|
||||
|
||||
unsigned long CheckOCTREE();
|
||||
|
||||
bool SetCheckSum(const char* szRegKey, const char* szRegValue, bool bBattleServer,
|
||||
unsigned long dwViewPathID, unsigned long dwViewCheckSumID, unsigned long dwViewVersionID);
|
||||
};
|
||||
|
||||
//{{AFX_INSERT_LOCATION}}
|
||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
||||
|
||||
#endif // !defined(AFX_CHECKSUMDLG_H__B4118AC0_56D7_4A84_8A74_704A84A7FF06__INCLUDED_)
|
||||
23
Tools/Checksum/Common.h
Normal file
23
Tools/Checksum/Common.h
Normal file
@@ -0,0 +1,23 @@
|
||||
#ifndef _COMMON_H_
|
||||
#define _COMMON_H_
|
||||
|
||||
#ifndef _QWORD_DEFINED
|
||||
#define _QWORD_DEFINED
|
||||
typedef __int64 QWORD, *LPQWORD;
|
||||
#endif
|
||||
|
||||
#define MAKEQWORD(a, b) \
|
||||
((QWORD)( ((QWORD) ((DWORD) (a))) << 32 | ((DWORD) (b))))
|
||||
|
||||
#define LODWORD(l) \
|
||||
((DWORD)(l))
|
||||
#define HIDWORD(l) \
|
||||
((DWORD)(((QWORD)(l) >> 32) & 0xFFFFFFFF))
|
||||
|
||||
// Read 4K of data at a time (used in the C++ streams, Win32 I/O, and assembly functions)
|
||||
#define MAX_BUFFER_SIZE 4096
|
||||
|
||||
// Map a "view" size of 10MB (used in the filemap function)
|
||||
#define MAX_VIEW_SIZE 10485760
|
||||
|
||||
#endif
|
||||
467
Tools/Checksum/Crc32Static.cpp
Normal file
467
Tools/Checksum/Crc32Static.cpp
Normal file
@@ -0,0 +1,467 @@
|
||||
#include <windows.h>
|
||||
#include <fstream>
|
||||
#include <crtdbg.h>
|
||||
#include <tchar.h>
|
||||
#include "Crc32Static.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
// Static CRC table
|
||||
unsigned long CCrc32Static::s_arrdwCrc32Table[256] =
|
||||
{
|
||||
0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA,
|
||||
0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3,
|
||||
0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988,
|
||||
0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91,
|
||||
0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE,
|
||||
0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7,
|
||||
0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC,
|
||||
0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5,
|
||||
0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172,
|
||||
0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,
|
||||
0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940,
|
||||
0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59,
|
||||
0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116,
|
||||
0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F,
|
||||
0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924,
|
||||
0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D,
|
||||
|
||||
0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A,
|
||||
0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433,
|
||||
0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818,
|
||||
0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01,
|
||||
0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E,
|
||||
0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457,
|
||||
0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C,
|
||||
0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65,
|
||||
0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2,
|
||||
0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB,
|
||||
0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0,
|
||||
0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9,
|
||||
0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086,
|
||||
0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F,
|
||||
0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4,
|
||||
0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD,
|
||||
|
||||
0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A,
|
||||
0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683,
|
||||
0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8,
|
||||
0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1,
|
||||
0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE,
|
||||
0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7,
|
||||
0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC,
|
||||
0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5,
|
||||
0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252,
|
||||
0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B,
|
||||
0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60,
|
||||
0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79,
|
||||
0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236,
|
||||
0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F,
|
||||
0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04,
|
||||
0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D,
|
||||
|
||||
0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A,
|
||||
0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713,
|
||||
0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38,
|
||||
0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21,
|
||||
0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E,
|
||||
0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777,
|
||||
0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C,
|
||||
0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45,
|
||||
0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2,
|
||||
0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB,
|
||||
0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0,
|
||||
0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9,
|
||||
0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6,
|
||||
0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF,
|
||||
0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94,
|
||||
0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D,
|
||||
};
|
||||
|
||||
//***********************************************
|
||||
CCrc32Static::CCrc32Static()
|
||||
{
|
||||
}
|
||||
|
||||
//***********************************************
|
||||
CCrc32Static::~CCrc32Static()
|
||||
{
|
||||
}
|
||||
|
||||
//***********************************************
|
||||
inline void CCrc32Static::CalcCrc32(const BYTE byte, unsigned long &dwCrc32)
|
||||
{
|
||||
dwCrc32 = ((dwCrc32) >> 8) ^ s_arrdwCrc32Table[(byte) ^ ((dwCrc32) & 0x000000FF)];
|
||||
}
|
||||
|
||||
//***********************************************
|
||||
bool CCrc32Static::GetFileSizeQW(const HANDLE hFile, QWORD &qwSize)
|
||||
{
|
||||
_ASSERTE(hFile != INVALID_HANDLE_VALUE);
|
||||
|
||||
bool bSuccess = true;
|
||||
|
||||
try
|
||||
{
|
||||
unsigned long dwLo = 0, dwHi = 0;
|
||||
dwLo = GetFileSize(hFile, &dwHi);
|
||||
|
||||
if(dwLo == INVALID_FILE_SIZE && GetLastError() != NO_ERROR)
|
||||
{
|
||||
bSuccess = false;
|
||||
qwSize = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
qwSize = MAKEQWORD(dwHi, dwLo);
|
||||
}
|
||||
}
|
||||
catch(...)
|
||||
{
|
||||
bSuccess = false;
|
||||
}
|
||||
|
||||
return bSuccess;
|
||||
}
|
||||
|
||||
//***********************************************
|
||||
unsigned long CCrc32Static::StringCrc32(LPCTSTR szString, unsigned long &dwCrc32)
|
||||
{
|
||||
_ASSERTE(szString);
|
||||
|
||||
unsigned long dwErrorCode = NO_ERROR;
|
||||
|
||||
dwCrc32 = 0xFFFFFFFF;
|
||||
|
||||
try
|
||||
{
|
||||
while(*szString != _T('\0'))
|
||||
{
|
||||
CalcCrc32((BYTE)*szString, dwCrc32);
|
||||
szString++;
|
||||
}
|
||||
}
|
||||
catch(...)
|
||||
{
|
||||
// An unknown exception happened
|
||||
dwErrorCode = ERROR_CRC;
|
||||
}
|
||||
|
||||
dwCrc32 = ~dwCrc32;
|
||||
|
||||
return dwErrorCode;
|
||||
}
|
||||
|
||||
//***********************************************
|
||||
unsigned long CCrc32Static::FileCrc32Streams(LPCTSTR szFilename, unsigned long &dwCrc32)
|
||||
{
|
||||
#if UNICODE || _UNICODE
|
||||
return ERROR_NOT_SUPPORTED;
|
||||
#else
|
||||
_ASSERTE(szFilename);
|
||||
_ASSERTE(lstrlen(szFilename));
|
||||
|
||||
unsigned long dwErrorCode = NO_ERROR;
|
||||
ifstream file;
|
||||
|
||||
dwCrc32 = 0xFFFFFFFF;
|
||||
|
||||
try
|
||||
{
|
||||
// Open the file
|
||||
// file.open(szFilename, ios::in | ios::nocreate | ios::binary, filebuf::sh_read);
|
||||
file.open(szFilename, ios::in | ios::binary);
|
||||
|
||||
if(file.is_open())
|
||||
{
|
||||
char buffer[MAX_BUFFER_SIZE];
|
||||
int nLoop, nCount;
|
||||
nCount = file.read(buffer, sizeof(buffer)).gcount();
|
||||
while(nCount)
|
||||
{
|
||||
for(nLoop = 0; nLoop < nCount; nLoop++)
|
||||
CalcCrc32(buffer[nLoop], dwCrc32);
|
||||
nCount = file.read(buffer, sizeof(buffer)).gcount();
|
||||
}
|
||||
|
||||
file.close();
|
||||
}
|
||||
}
|
||||
catch(...)
|
||||
{
|
||||
// An unknown exception happened
|
||||
dwErrorCode = ERROR_CRC;
|
||||
}
|
||||
|
||||
if(file.is_open()) file.close();
|
||||
|
||||
dwCrc32 = ~dwCrc32;
|
||||
|
||||
return dwErrorCode;
|
||||
#endif
|
||||
}
|
||||
|
||||
//***********************************************
|
||||
unsigned long CCrc32Static::FileCrc32Win32(LPCTSTR szFilename, unsigned long &dwCrc32)
|
||||
{
|
||||
_ASSERTE(szFilename);
|
||||
_ASSERTE(lstrlen(szFilename));
|
||||
|
||||
unsigned long dwErrorCode = NO_ERROR;
|
||||
HANDLE hFile = NULL;
|
||||
|
||||
dwCrc32 = 0xFFFFFFFF;
|
||||
|
||||
try
|
||||
{
|
||||
// Open the file
|
||||
hFile = CreateFile(szFilename,
|
||||
GENERIC_READ,
|
||||
FILE_SHARE_READ,
|
||||
NULL,
|
||||
OPEN_EXISTING,
|
||||
FILE_ATTRIBUTE_ARCHIVE | FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_SYSTEM | FILE_FLAG_SEQUENTIAL_SCAN,
|
||||
NULL);
|
||||
if(hFile == INVALID_HANDLE_VALUE)
|
||||
dwErrorCode = GetLastError();
|
||||
else
|
||||
{
|
||||
BYTE buffer[MAX_BUFFER_SIZE];
|
||||
unsigned long dwBytesRead, dwLoop;
|
||||
BOOL bSuccess = ReadFile(hFile, buffer, sizeof(buffer), &dwBytesRead, NULL);
|
||||
while(bSuccess && dwBytesRead)
|
||||
{
|
||||
for(dwLoop = 0; dwLoop < dwBytesRead; dwLoop++)
|
||||
CalcCrc32(buffer[dwLoop], dwCrc32);
|
||||
bSuccess = ReadFile(hFile, buffer, sizeof(buffer), &dwBytesRead, NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch(...)
|
||||
{
|
||||
// An unknown exception happened
|
||||
dwErrorCode = ERROR_CRC;
|
||||
}
|
||||
|
||||
if(hFile != NULL) CloseHandle(hFile);
|
||||
|
||||
dwCrc32 = ~dwCrc32;
|
||||
|
||||
return dwErrorCode;
|
||||
}
|
||||
|
||||
//***********************************************
|
||||
unsigned long CCrc32Static::FileCrc32Filemap(LPCTSTR szFilename, unsigned long &dwCrc32)
|
||||
{
|
||||
_ASSERTE(szFilename);
|
||||
_ASSERTE(lstrlen(szFilename));
|
||||
|
||||
unsigned long dwErrorCode = NO_ERROR;
|
||||
HANDLE hFile = NULL, hFilemap = NULL;
|
||||
|
||||
dwCrc32 = 0xFFFFFFFF;
|
||||
|
||||
try
|
||||
{
|
||||
// Open the file
|
||||
hFile = CreateFile(szFilename,
|
||||
GENERIC_READ,
|
||||
FILE_SHARE_READ,
|
||||
NULL,
|
||||
OPEN_EXISTING,
|
||||
FILE_ATTRIBUTE_ARCHIVE | FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_SYSTEM | FILE_FLAG_SEQUENTIAL_SCAN,
|
||||
NULL);
|
||||
if(hFile == INVALID_HANDLE_VALUE)
|
||||
dwErrorCode = GetLastError();
|
||||
else
|
||||
{
|
||||
QWORD qwFileSize = 0, qwFileOffset = 0;
|
||||
unsigned long dwByteCount, dwViewSize;
|
||||
unsigned long dwBaseAddress;
|
||||
|
||||
// Get the file size
|
||||
if(!GetFileSizeQW(hFile, qwFileSize))
|
||||
dwErrorCode = ERROR_BAD_LENGTH;
|
||||
else if(qwFileSize != 0) // We cannot CRC zero byte files
|
||||
{
|
||||
// Create the file mapping
|
||||
hFilemap = CreateFileMapping(hFile,
|
||||
NULL,
|
||||
PAGE_READONLY,
|
||||
0,
|
||||
0,
|
||||
NULL);
|
||||
if(hFilemap == NULL)
|
||||
dwErrorCode = GetLastError();
|
||||
else
|
||||
{
|
||||
LPBYTE pByte;
|
||||
|
||||
// Loop while we map a section of the file and CRC it
|
||||
while(qwFileSize > 0)
|
||||
{
|
||||
if(qwFileSize < MAX_VIEW_SIZE)
|
||||
dwViewSize = LODWORD(qwFileSize);
|
||||
else
|
||||
dwViewSize = MAX_VIEW_SIZE;
|
||||
|
||||
dwBaseAddress = (unsigned long)MapViewOfFile(hFilemap,
|
||||
FILE_MAP_READ,
|
||||
HIDWORD(qwFileOffset),
|
||||
LODWORD(qwFileOffset),
|
||||
dwViewSize);
|
||||
|
||||
dwByteCount = dwViewSize;
|
||||
pByte = (LPBYTE)dwBaseAddress;
|
||||
while(dwByteCount-- > 0)
|
||||
{
|
||||
CalcCrc32(*pByte, dwCrc32);
|
||||
pByte++;
|
||||
}
|
||||
|
||||
UnmapViewOfFile((LPVOID)dwBaseAddress);
|
||||
qwFileOffset += dwViewSize;
|
||||
qwFileSize -= dwViewSize;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch(...)
|
||||
{
|
||||
// An unknown exception happened
|
||||
dwErrorCode = ERROR_CRC;
|
||||
}
|
||||
|
||||
if(hFile != NULL) CloseHandle(hFile);
|
||||
if(hFilemap != NULL) CloseHandle(hFilemap);
|
||||
|
||||
dwCrc32 = ~dwCrc32;
|
||||
|
||||
return dwErrorCode;
|
||||
}
|
||||
|
||||
//***********************************************
|
||||
unsigned long CCrc32Static::FileCrc32Assembly(LPCTSTR szFilename, unsigned long &dwCrc32)
|
||||
{
|
||||
_ASSERTE(szFilename);
|
||||
_ASSERTE(lstrlen(szFilename));
|
||||
|
||||
unsigned long dwErrorCode = NO_ERROR;
|
||||
HANDLE hFile = NULL;
|
||||
|
||||
dwCrc32 = 0xFFFFFFFF;
|
||||
|
||||
try
|
||||
{
|
||||
// Open the file
|
||||
hFile = CreateFile(szFilename,
|
||||
GENERIC_READ,
|
||||
FILE_SHARE_READ,
|
||||
NULL,
|
||||
OPEN_EXISTING,
|
||||
FILE_ATTRIBUTE_ARCHIVE | FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_SYSTEM | FILE_FLAG_SEQUENTIAL_SCAN,
|
||||
NULL);
|
||||
if(hFile == INVALID_HANDLE_VALUE)
|
||||
dwErrorCode = GetLastError();
|
||||
else
|
||||
{
|
||||
// There is a bug in the Microsoft compilers where inline assembly
|
||||
// code cannot access static member variables. This is a work around
|
||||
// for that bug. For more info see Knowledgebase article Q88092
|
||||
LPVOID ptrCrc32Table = &s_arrdwCrc32Table;
|
||||
|
||||
BYTE buffer[MAX_BUFFER_SIZE];
|
||||
unsigned long dwBytesRead;
|
||||
BOOL bSuccess = ReadFile(hFile, buffer, sizeof(buffer), &dwBytesRead, NULL);
|
||||
while(bSuccess && dwBytesRead)
|
||||
{
|
||||
// Register use:
|
||||
// eax - CRC32 value
|
||||
// ebx - a lot of things
|
||||
// ecx - CRC32 value
|
||||
// edx - address of end of buffer
|
||||
// esi - address of start of buffer
|
||||
// edi - CRC32 table
|
||||
__asm
|
||||
{
|
||||
// Save the esi and edi registers
|
||||
push esi
|
||||
push edi
|
||||
|
||||
mov eax, dwCrc32 // Load the pointer to dwCrc32
|
||||
mov ecx, [eax] // Dereference the pointer to load dwCrc32
|
||||
|
||||
mov edi, ptrCrc32Table // Load the CRC32 table
|
||||
|
||||
lea esi, buffer // Load buffer
|
||||
mov ebx, dwBytesRead // Load dwBytesRead
|
||||
lea edx, [esi + ebx] // Calculate the end of the buffer
|
||||
|
||||
crc32loop:
|
||||
xor eax, eax // Clear the eax register
|
||||
mov bl, byte ptr [esi] // Load the current source byte
|
||||
|
||||
mov al, cl // Copy crc value into eax
|
||||
inc esi // Advance the source pointer
|
||||
|
||||
xor al, bl // Create the index into the CRC32 table
|
||||
shr ecx, 8
|
||||
|
||||
mov ebx, [edi + eax * 4] // Get the value out of the table
|
||||
xor ecx, ebx // xor with the current byte
|
||||
|
||||
cmp edx, esi // Have we reached the end of the buffer?
|
||||
jne crc32loop
|
||||
|
||||
// Restore the edi and esi registers
|
||||
pop edi
|
||||
pop esi
|
||||
|
||||
mov eax, dwCrc32 // Load the pointer to dwCrc32
|
||||
mov [eax], ecx // Write the result
|
||||
}
|
||||
bSuccess = ReadFile(hFile, buffer, sizeof(buffer), &dwBytesRead, NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch(...)
|
||||
{
|
||||
// An unknown exception happened
|
||||
dwErrorCode = ERROR_CRC;
|
||||
}
|
||||
|
||||
if(hFile != NULL) CloseHandle(hFile);
|
||||
|
||||
dwCrc32 = ~dwCrc32;
|
||||
|
||||
return dwErrorCode;
|
||||
}
|
||||
|
||||
//***********************************************
|
||||
unsigned long CCrc32Static::BufferCrc32(const char *szBuffer, size_t size, unsigned long &dwCrc32)
|
||||
{
|
||||
_ASSERTE(szBuffer);
|
||||
|
||||
unsigned long dwErrorCode = NO_ERROR;
|
||||
|
||||
dwCrc32 = 0xFFFFFFFF;
|
||||
|
||||
try
|
||||
{
|
||||
for (size_t nIndex = 0; nIndex < size; ++nIndex)
|
||||
{
|
||||
CalcCrc32((BYTE)*szBuffer, dwCrc32);
|
||||
++szBuffer;
|
||||
}
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
// An unknown exception happened
|
||||
dwErrorCode = ERROR_CRC;
|
||||
}
|
||||
|
||||
dwCrc32 = ~dwCrc32;
|
||||
|
||||
return dwErrorCode;
|
||||
}
|
||||
27
Tools/Checksum/Crc32Static.h
Normal file
27
Tools/Checksum/Crc32Static.h
Normal file
@@ -0,0 +1,27 @@
|
||||
#ifndef _CRC32STATIC_H_
|
||||
#define _CRC32STATIC_H_
|
||||
|
||||
#include "Common.h"
|
||||
#include <windows.h>
|
||||
|
||||
class CCrc32Static
|
||||
{
|
||||
public:
|
||||
CCrc32Static();
|
||||
virtual ~CCrc32Static();
|
||||
|
||||
static unsigned long BufferCrc32(const char *szBuffer, size_t size, unsigned long &dwCrc32);
|
||||
static unsigned long StringCrc32(const char *szString, unsigned long &dwCrc32);
|
||||
static unsigned long FileCrc32Streams(const char *szFilename, unsigned long &dwCrc32);
|
||||
static unsigned long FileCrc32Win32(const char *szFilename, unsigned long &dwCrc32);
|
||||
static unsigned long FileCrc32Filemap(const char *szFilename, unsigned long &dwCrc32);
|
||||
static unsigned long FileCrc32Assembly(const char *szFilename, unsigned long &dwCrc32);
|
||||
|
||||
protected:
|
||||
static bool GetFileSizeQW(const HANDLE hFile, __int64 &qwSize);
|
||||
static inline void CalcCrc32(const unsigned char byte, unsigned long &dwCrc32);
|
||||
|
||||
static unsigned long s_arrdwCrc32Table[256];
|
||||
};
|
||||
|
||||
#endif
|
||||
8
Tools/Checksum/StdAfx.cpp
Normal file
8
Tools/Checksum/StdAfx.cpp
Normal file
@@ -0,0 +1,8 @@
|
||||
// stdafx.cpp : source file that includes just the standard includes
|
||||
// Checksum.pch will be the pre-compiled header
|
||||
// stdafx.obj will contain the pre-compiled type information
|
||||
|
||||
#include "stdafx.h"
|
||||
|
||||
|
||||
|
||||
26
Tools/Checksum/StdAfx.h
Normal file
26
Tools/Checksum/StdAfx.h
Normal file
@@ -0,0 +1,26 @@
|
||||
// stdafx.h : include file for standard system include files,
|
||||
// or project specific include files that are used frequently, but
|
||||
// are changed infrequently
|
||||
//
|
||||
|
||||
#if !defined(AFX_STDAFX_H__12049F5B_9229_4D90_B9CC_AAF9F662464F__INCLUDED_)
|
||||
#define AFX_STDAFX_H__12049F5B_9229_4D90_B9CC_AAF9F662464F__INCLUDED_
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER > 1000
|
||||
|
||||
#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
|
||||
|
||||
#include <afxwin.h> // MFC core and standard components
|
||||
#include <afxext.h> // MFC extensions
|
||||
#include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls
|
||||
#ifndef _AFX_NO_AFXCMN_SUPPORT
|
||||
#include <afxcmn.h> // MFC support for Windows Common Controls
|
||||
#endif // _AFX_NO_AFXCMN_SUPPORT
|
||||
|
||||
|
||||
//{{AFX_INSERT_LOCATION}}
|
||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
||||
|
||||
#endif // !defined(AFX_STDAFX_H__12049F5B_9229_4D90_B9CC_AAF9F662464F__INCLUDED_)
|
||||
BIN
Tools/Checksum/res/Checksum.ico
Normal file
BIN
Tools/Checksum/res/Checksum.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.2 KiB |
13
Tools/Checksum/res/Checksum.rc2
Normal file
13
Tools/Checksum/res/Checksum.rc2
Normal file
@@ -0,0 +1,13 @@
|
||||
//
|
||||
// CHECKSUM.RC2 - resources Microsoft Visual C++ does not edit directly
|
||||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#error this file is not editable by Microsoft Visual C++
|
||||
#endif //APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Add manually edited resources here...
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
27
Tools/Checksum/resource.h
Normal file
27
Tools/Checksum/resource.h
Normal file
@@ -0,0 +1,27 @@
|
||||
//{{NO_DEPENDENCIES}}
|
||||
// Microsoft Visual C++ generated include file.
|
||||
// Used by Checksum.rc
|
||||
//
|
||||
#define IDD_CHECKSUM_DIALOG 102
|
||||
#define IDR_MAINFRAME 128
|
||||
#define IDC_FOLDER 1001
|
||||
#define IDC_FOLDER2 1003
|
||||
#define IDC_CHECKSUM 1004
|
||||
#define IDC_CHECKSUM2 1005
|
||||
#define IDC_VERSION 1006
|
||||
#define IDC_VERSION1 1007
|
||||
#define IDC_VERSION2 1007
|
||||
#define IDC_FOLDER3 1008
|
||||
#define IDC_CHECKSUM3 1009
|
||||
#define IDC_VERSION3 1010
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 129
|
||||
#define _APS_NEXT_COMMAND_VALUE 32771
|
||||
#define _APS_NEXT_CONTROL_VALUE 1007
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
||||
63
Tools/ClientSetup/ClientSetup.cpp
Normal file
63
Tools/ClientSetup/ClientSetup.cpp
Normal file
@@ -0,0 +1,63 @@
|
||||
// ClientSetup.cpp : <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "ClientSetup.h"
|
||||
#include "ClientSetupDlg.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#endif
|
||||
|
||||
|
||||
// CClientSetupApp
|
||||
|
||||
BEGIN_MESSAGE_MAP(CClientSetupApp, CWinApp)
|
||||
ON_COMMAND(ID_HELP, CWinApp::OnHelp)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
// CClientSetupApp <20><><EFBFBD><EFBFBD>
|
||||
|
||||
CClientSetupApp::CClientSetupApp()
|
||||
{
|
||||
// TODO: <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
||||
// InitInstance<63><65> <20><><EFBFBD><EFBFBD> <20>߿<EFBFBD><DFBF><EFBFBD> <20>ʱ<EFBFBD>ȭ <20>۾<EFBFBD><DBBE><EFBFBD> <20><>ġ<EFBFBD>մϴ<D5B4>.
|
||||
}
|
||||
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CClientSetupApp <20><>ü<EFBFBD>Դϴ<D4B4>.
|
||||
|
||||
CClientSetupApp theApp;
|
||||
|
||||
|
||||
// CClientSetupApp <20>ʱ<EFBFBD>ȭ
|
||||
|
||||
BOOL CClientSetupApp::InitInstance()
|
||||
{
|
||||
CWinApp::InitInstance();
|
||||
|
||||
// ǥ<><C7A5> <20>ʱ<EFBFBD>ȭ
|
||||
// <20>̵<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʰ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ũ<>⸦ <20><><EFBFBD>̷<EFBFBD><CCB7><EFBFBD>
|
||||
// <20>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD> <20>ʿ<EFBFBD> <20><><EFBFBD><EFBFBD> Ư<><C6AF> <20>ʱ<EFBFBD>ȭ <20><>ƾ<EFBFBD><C6BE> <20><><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD> <20>մϴ<D5B4>.
|
||||
// <20>ش<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> Ű<><C5B0> <20><><EFBFBD><EFBFBD><EFBFBD>Ͻʽÿ<CABD>.
|
||||
// TODO: <20><> <20><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD> ȸ<><C8B8> <20>Ǵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20≯<EFBFBD><CCB8><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD> <20>մϴ<D5B4>.
|
||||
CClientSetupDlg dlg;
|
||||
m_pMainWnd = &dlg;
|
||||
INT_PTR nResponse = dlg.DoModal();
|
||||
if (nResponse == IDOK)
|
||||
{
|
||||
// TODO: <20><><EFBFBD> <20><>ȭ <20><><EFBFBD>ڰ<EFBFBD> Ȯ<><C8AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD>
|
||||
// <20>ڵ带 <20><>ġ<EFBFBD>մϴ<D5B4>.
|
||||
}
|
||||
else if (nResponse == IDCANCEL)
|
||||
{
|
||||
// TODO: <20><><EFBFBD> <20><>ȭ <20><><EFBFBD>ڰ<EFBFBD> <20><><EFBFBD>Ҹ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD>
|
||||
// <20>ڵ带 <20><>ġ<EFBFBD>մϴ<D5B4>.
|
||||
}
|
||||
|
||||
// <20><>ȭ <20><><EFBFBD>ڰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><EFBFBD><DEBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʰ<EFBFBD>
|
||||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20>ֵ<EFBFBD><D6B5><EFBFBD> FALSE<53><45> <20><>ȯ<EFBFBD>մϴ<D5B4>.
|
||||
return FALSE;
|
||||
}
|
||||
19
Tools/ClientSetup/ClientSetup.exe.manifest
Normal file
19
Tools/ClientSetup/ClientSetup.exe.manifest
Normal file
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
||||
<assemblyIdentity version="1.0.0.0"
|
||||
processorArchitecture="x86"
|
||||
name="ClientSetup"
|
||||
type="win32"
|
||||
/>
|
||||
<description>ClientSetup Program</description>
|
||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<security>
|
||||
<requestedPrivileges>
|
||||
<requestedExecutionLevel
|
||||
level="requireAdministrator"
|
||||
uiAccess="false"
|
||||
/>
|
||||
</requestedPrivileges>
|
||||
</security>
|
||||
</trustInfo>
|
||||
</assembly>
|
||||
31
Tools/ClientSetup/ClientSetup.h
Normal file
31
Tools/ClientSetup/ClientSetup.h
Normal file
@@ -0,0 +1,31 @@
|
||||
// ClientSetup.h : PROJECT_NAME <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
//
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef __AFXWIN_H__
|
||||
#error PCH<43><48><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD> <20><><EFBFBD><EFBFBD> 'stdafx.h'<27><> <20><><EFBFBD><EFBFBD><EFBFBD>Ͻʽÿ<CABD>.
|
||||
#endif
|
||||
|
||||
#include "resource.h" // <20><> <20><>ȣ
|
||||
|
||||
|
||||
// CClientSetupApp:
|
||||
// <20><> Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ؼ<EFBFBD><D8BC><EFBFBD> ClientSetup.cpp<70><70> <20><><EFBFBD><EFBFBD><EFBFBD>Ͻʽÿ<CABD>.
|
||||
//
|
||||
|
||||
class CClientSetupApp : public CWinApp
|
||||
{
|
||||
public:
|
||||
CClientSetupApp();
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
public:
|
||||
virtual BOOL InitInstance();
|
||||
|
||||
// <20><><EFBFBD><EFBFBD>
|
||||
|
||||
DECLARE_MESSAGE_MAP()
|
||||
};
|
||||
|
||||
extern CClientSetupApp theApp;
|
||||
275
Tools/ClientSetup/ClientSetup.rc
Normal file
275
Tools/ClientSetup/ClientSetup.rc
Normal file
@@ -0,0 +1,275 @@
|
||||
// Microsoft Visual C++ generated resource script.
|
||||
//
|
||||
#include "resource.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
#include "afxres.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// <20>ѱ<EFBFBD><D1B1><EFBFBD> resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
|
||||
#pragma code_page(949)
|
||||
#endif //_WIN32
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE
|
||||
BEGIN
|
||||
"#include ""afxres.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE
|
||||
BEGIN
|
||||
"#define _AFX_NO_SPLITTER_RESOURCES\r\n"
|
||||
"#define _AFX_NO_OLE_RESOURCES\r\n"
|
||||
"#define _AFX_NO_TRACKER_RESOURCES\r\n"
|
||||
"#define _AFX_NO_PROPERTY_RESOURCES\r\n"
|
||||
"\r\n"
|
||||
"#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)\r\n"
|
||||
"#ifdef _WIN32\r\n"
|
||||
"LANGUAGE 18, 1\r\n"
|
||||
"#pragma code_page(949)\r\n"
|
||||
"#endif //_WIN32\r\n"
|
||||
"#include ""res\\ClientSetup.rc2"" // non-Microsoft Visual C++ edited resources\r\n"
|
||||
"#include ""l.kor\\afxres.rc"" // Standard components\r\n"
|
||||
"#endif\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// 24
|
||||
//
|
||||
MANIFEST_RESOURCE_ID 24 MOVEABLE PURE "ClientSetup.exe.manifest"
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Dialog
|
||||
//
|
||||
|
||||
IDD_CLIENTSETUP_DIALOG DIALOGEX 0, 0, 343, 214
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION |
|
||||
WS_SYSMENU
|
||||
EXSTYLE WS_EX_APPWINDOW
|
||||
CAPTION "ROW Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ <20>ɼ<EFBFBD>"
|
||||
FONT 9, "<22><><EFBFBD><EFBFBD>", 0, 0, 0x1
|
||||
BEGIN
|
||||
CONTROL "",IDC_CONTROLTAB,"SysTabControl32",0x0,101,7,235,144
|
||||
CTEXT "<22><EFBFBD><D7B7><EFBFBD>ī<EFBFBD><C4AB>",IDC_STATIC_VIDEOCARD,103,27,50,15,
|
||||
SS_CENTERIMAGE
|
||||
COMBOBOX IDC_COMBO_VIDEOCARD,154,27,121,160,CBS_DROPDOWNLIST |
|
||||
WS_VSCROLL | WS_TABSTOP
|
||||
CTEXT "<22>ػ<EFBFBD><D8BB><EFBFBD>",IDC_STATIC_RES,103,47,50,15,SS_CENTERIMAGE
|
||||
COMBOBOX IDC_COMBO_MODE,154,47,81,140,CBS_DROPDOWNLIST |
|
||||
WS_VSCROLL | WS_TABSTOP
|
||||
CTEXT "<22><><EFBFBD><EFBFBD>",IDC_STATIC_COLOR,103,67,50,15,SS_CENTERIMAGE
|
||||
COMBOBOX IDC_COMBO_COLOR,154,67,39,95,CBS_DROPDOWN | CBS_SORT |
|
||||
WS_VSCROLL | WS_TABSTOP
|
||||
CTEXT "<22><><EFBFBD>ļ<EFBFBD>",IDC_STATIC_REFRESH,103,88,50,15,SS_CENTERIMAGE
|
||||
COMBOBOX IDC_COMBO_REFRESH,154,89,39,135,CBS_DROPDOWNLIST |
|
||||
WS_VSCROLL | WS_TABSTOP
|
||||
CTEXT "<22><EFBFBD><D7B7>ȿɼ<C8BF>",IDC_STATIC_OPTIONSIMPLE,103,108,50,15,
|
||||
SS_CENTERIMAGE | NOT WS_VISIBLE
|
||||
COMBOBOX IDC_COMBO_QUALITY,154,109,81,70,CBS_DROPDOWNLIST | NOT
|
||||
WS_VISIBLE | WS_VSCROLL | WS_TABSTOP
|
||||
COMBOBOX IDC_COMBO_CHARSHADOW,179,27,39,135,CBS_DROPDOWNLIST |
|
||||
WS_VSCROLL | WS_TABSTOP
|
||||
COMBOBOX IDC_COMBO_LIGHTMAP,179,45,39,135,CBS_DROPDOWNLIST |
|
||||
WS_VSCROLL | WS_TABSTOP
|
||||
COMBOBOX IDC_COMBO_RANGE,179,61,39,135,CBS_DROPDOWNLIST |
|
||||
WS_VSCROLL | WS_TABSTOP
|
||||
COMBOBOX IDC_COMBO_SCREENFILTER,179,27,39,135,CBS_DROPDOWNLIST |
|
||||
WS_VSCROLL | WS_TABSTOP
|
||||
COMBOBOX IDC_COMBO_ABLETEXTURE,179,79,39,135,CBS_DROPDOWNLIST |
|
||||
WS_VSCROLL | WS_TABSTOP
|
||||
COMBOBOX IDC_COMBO_GRASSRENDERING,179,95,39,135,CBS_DROPDOWNLIST |
|
||||
WS_VSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "Ȯ<><C8AE>",IDOK,245,191,44,16
|
||||
CTEXT "ij<><C4B3><EFBFBD><EFBFBD> <20><EFBFBD><D7B8><EFBFBD>",IDC_STATIC_CHARACTERSHADOW,104,27,75,15,
|
||||
SS_CENTERIMAGE
|
||||
CTEXT "<22><><EFBFBD><EFBFBD><D7B8><EFBFBD>",IDC_STATIC_HOUSESHADOW,104,45,75,15,
|
||||
SS_CENTERIMAGE
|
||||
CTEXT "<22>þ߹<C3BE><DFB9><EFBFBD>",IDC_STATIC_VIEWRANGE,104,61,75,15,
|
||||
SS_CENTERIMAGE
|
||||
CTEXT "ȭ<><C8AD> ȿ<><C8BF>",IDC_STATIC_SCREENFILTER,104,27,75,15,
|
||||
SS_CENTERIMAGE
|
||||
CTEXT "<22>ؽ<EFBFBD><D8BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƽ",IDC_STATIC_TEXTURE,104,79,75,15,
|
||||
SS_CENTERIMAGE
|
||||
CTEXT "Ǯ",IDC_STATIC_GRASS,104,95,75,15,SS_CENTERIMAGE
|
||||
CTEXT "<22>ü<EEBFB5><C3BC>",IDC_STATIC_OS,107,27,63,12,SS_CENTERIMAGE
|
||||
CTEXT "",IDC_OS,176,27,150,11,SS_CENTERIMAGE | SS_SUNKEN
|
||||
CTEXT "<22><EFBFBD><DEB8><EFBFBD>",IDC_STATIC_MEMORY,107,45,63,12,SS_CENTERIMAGE
|
||||
CTEXT "",IDC_MEMORY,176,45,150,11,SS_CENTERIMAGE | SS_SUNKEN
|
||||
CTEXT "CPU <20>ӵ<EFBFBD>",IDC_STATIC_CPUSPEED,107,63,63,12,
|
||||
SS_CENTERIMAGE
|
||||
CTEXT "",IDC_CPUSPEED,176,63,150,11,SS_CENTERIMAGE | SS_SUNKEN
|
||||
CTEXT "HDD <20>뷮",IDC_STATIC_HDDCAP,107,81,63,12,SS_CENTERIMAGE
|
||||
CTEXT "",IDC_HDDCAP,176,81,150,11,SS_CENTERIMAGE | SS_SUNKEN
|
||||
CTEXT "<22><><EFBFBD>̷<EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>",IDC_STATIC_DIRECTVERSION,107,99,63,12,
|
||||
SS_CENTERIMAGE
|
||||
CTEXT "",IDC_DIRECTVERSION,176,99,150,11,SS_CENTERIMAGE |
|
||||
SS_SUNKEN
|
||||
CTEXT "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ī<><C4AB>",IDC_STATIC_SOUNDCARD,107,117,63,12,
|
||||
SS_CENTERIMAGE
|
||||
CTEXT "",IDC_SOUNDCARD,176,117,150,11,SS_CENTERIMAGE |
|
||||
SS_SUNKEN
|
||||
EDITTEXT IDC_DESC,102,156,234,31,ES_MULTILINE | ES_READONLY | NOT
|
||||
WS_TABSTOP
|
||||
CTEXT "<22><> ȿ<><C8BF>",IDC_STATIC_WATEREFFECT,104,45,75,15,
|
||||
SS_CENTERIMAGE
|
||||
CTEXT "<22>۷ο<DBB7> ȿ<><C8BF>",IDC_STATIC_GLOWEFFECT,104,61,75,15,
|
||||
SS_CENTERIMAGE
|
||||
CTEXT "<22><><EFBFBD><EFBFBD> ȿ<><C8BF>",IDC_STATIC_WEATHEREFFECT,104,61,75,15,
|
||||
SS_CENTERIMAGE
|
||||
COMBOBOX IDC_COMBO_WATEREFFECT,179,45,39,135,CBS_DROPDOWNLIST |
|
||||
WS_VSCROLL | WS_TABSTOP
|
||||
COMBOBOX IDC_COMBO_GLOWEFFECT,179,61,39,135,CBS_DROPDOWNLIST |
|
||||
WS_VSCROLL | WS_TABSTOP
|
||||
COMBOBOX IDC_COMBO_WEATHEREFFECT,179,61,39,135,CBS_DROPDOWNLIST |
|
||||
WS_VSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "<22><><EFBFBD><EFBFBD>",IDCANCEL,292,191,44,16
|
||||
LTEXT "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>",IDC_STATIC_WINDOWMODE,108,112,52,9,NOT
|
||||
WS_VISIBLE
|
||||
COMBOBOX IDC_COMBO_WINDOWMODE,154,109,78,135,CBS_DROPDOWNLIST |
|
||||
NOT WS_VISIBLE | WS_VSCROLL | WS_TABSTOP
|
||||
CTEXT "<22><><EFBFBD><EFBFBD> ",IDC_STATIC_LANGUAGE,102,112,48,8
|
||||
COMBOBOX IDC_COMBO_LANGUAGE,154,109,81,70,CBS_DROPDOWNLIST | NOT
|
||||
WS_VISIBLE | WS_VSCROLL | WS_TABSTOP
|
||||
CONTROL "<22><>Ƽ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>",IDC_MULTISUPPORT,"Button",
|
||||
BS_AUTOCHECKBOX | WS_TABSTOP,154,130,173,10
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Version
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 1,0,0,1
|
||||
PRODUCTVERSION 1,0,0,1
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS 0x4L
|
||||
FILETYPE 0x1L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904b0"
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Youxiland Co. Ltd."
|
||||
VALUE "FileDescription", "Client Setup Program"
|
||||
VALUE "FileVersion", "1, 0, 0, 1"
|
||||
VALUE "InternalName", "ClientSetup"
|
||||
VALUE "LegalCopyright", "Copyright (C) 2004 Youxiland Co. Ltd. All rights reserved."
|
||||
VALUE "OriginalFilename", "ClientSetup.exe"
|
||||
VALUE "ProductName", "ClientSetup Setup Program"
|
||||
VALUE "ProductVersion", "1, 0, 0, 1"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x409, 1200
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// DESIGNINFO
|
||||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
GUIDELINES DESIGNINFO
|
||||
BEGIN
|
||||
IDD_CLIENTSETUP_DIALOG, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 336
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 207
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Icon
|
||||
//
|
||||
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
IDI_ICON1 ICON "icon1.ico"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// String Table
|
||||
//
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_MINDEPTHBITS "16"
|
||||
IDS_MINSTENCILBITS "0"
|
||||
END
|
||||
|
||||
#endif // <20>ѱ<EFBFBD><D1B1><EFBFBD> resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
#define _AFX_NO_SPLITTER_RESOURCES
|
||||
#define _AFX_NO_OLE_RESOURCES
|
||||
#define _AFX_NO_TRACKER_RESOURCES
|
||||
#define _AFX_NO_PROPERTY_RESOURCES
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE 18, 1
|
||||
#pragma code_page(949)
|
||||
#endif //_WIN32
|
||||
#include "res\ClientSetup.rc2" // non-Microsoft Visual C++ edited resources
|
||||
#include "l.kor\afxres.rc" // Standard components
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
||||
289
Tools/ClientSetup/ClientSetup.vcproj
Normal file
289
Tools/ClientSetup/ClientSetup.vcproj
Normal file
@@ -0,0 +1,289 @@
|
||||
<?xml version="1.0" encoding="ks_c_5601-1987"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="7.10"
|
||||
Name="ClientSetup"
|
||||
ProjectGUID="{9E58BB41-1B81-4CB3-934D-2613E15E5CFF}"
|
||||
SccProjectName=""
|
||||
SccLocalPath=""
|
||||
Keyword="MFCProj">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
</Platforms>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="Debug"
|
||||
IntermediateDirectory="Debug"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="2"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="./;../;"../../Engine/zalla3d base class";"../../Engine/zalla3d sceneclass";../../Engine/SoundLib;../../Engine/Effect;../../Engine/Caldron;../ScriptEngine;../GlobalScript;../CharacterActionControl;./RYLUI;./RYLClient;./EventHandler;../../MemoryManager;../../Engine/CrossM/Include"
|
||||
PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG"
|
||||
MinimalRebuild="TRUE"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
TreatWChar_tAsBuiltInType="TRUE"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="TRUE"
|
||||
DebugInformationFormat="4"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="winmm.lib Version.lib dxguid.lib"
|
||||
LinkIncremental="2"
|
||||
GenerateDebugInformation="TRUE"
|
||||
SubSystem="2"
|
||||
TargetMachine="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
MkTypLibCompatible="FALSE"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1042"
|
||||
AdditionalIncludeDirectories="$(IntDir)"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="Release"
|
||||
IntermediateDirectory="Release"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="1"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="./;../;"../../Engine/zalla3d base class";"../../Engine/zalla3d sceneclass";../../Engine/SoundLib;../../Engine/Effect;../../Engine/Caldron;../ScriptEngine;../GlobalScript;../CharacterActionControl;./RYLUI;./RYLClient;./EventHandler;../../MemoryManager;../../Engine/CrossM/Include"
|
||||
PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG;_RYL_LANGUAGE"
|
||||
MinimalRebuild="FALSE"
|
||||
RuntimeLibrary="0"
|
||||
TreatWChar_tAsBuiltInType="TRUE"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="TRUE"
|
||||
DebugInformationFormat="3"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="winmm.lib Version.lib dxguid.lib"
|
||||
LinkIncremental="1"
|
||||
GenerateDebugInformation="TRUE"
|
||||
SubSystem="2"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
MkTypLibCompatible="FALSE"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1042"
|
||||
AdditionalIncludeDirectories="$(IntDir)"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release_MY|Win32"
|
||||
OutputDirectory="$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="1"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="./;../;"../../Engine/zalla3d base class";"../../Engine/zalla3d sceneclass";../../Engine/SoundLib;../../Engine/Effect;../../Engine/Caldron;../ScriptEngine;../GlobalScript;../CharacterActionControl;./RYLUI;./RYLClient;./EventHandler;../../MemoryManager;../../Engine/CrossM/Include"
|
||||
PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG"
|
||||
MinimalRebuild="FALSE"
|
||||
RuntimeLibrary="0"
|
||||
TreatWChar_tAsBuiltInType="TRUE"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="TRUE"
|
||||
DebugInformationFormat="3"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="winmm.lib Version.lib dxguid.lib"
|
||||
LinkIncremental="1"
|
||||
GenerateDebugInformation="TRUE"
|
||||
SubSystem="2"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
MkTypLibCompatible="FALSE"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1042"
|
||||
AdditionalIncludeDirectories="$(IntDir)"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="<22>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD>"
|
||||
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
|
||||
<File
|
||||
RelativePath=".\ClientSetup.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\ClientSetupDlg.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\getdxver.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\stdafx.cpp">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release_MY|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\SystemInfo.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\timer.cpp">
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="<22><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
|
||||
<File
|
||||
RelativePath=".\bit_flags.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\ClientSetup.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\ClientSetupDlg.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\data_types.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\debug.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\numeric_tools.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\resource.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\stdafx.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\SystemInfo.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\timer.h">
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="<22><><EFBFBD>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD>"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
|
||||
<File
|
||||
RelativePath=".\res\ClientSetup.ico">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\ClientSetup.rc">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\res\ClientSetup.rc2">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\icon1.ico">
|
||||
</File>
|
||||
</Filter>
|
||||
<File
|
||||
RelativePath=".\ClientSetup.exe.manifest">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\ReadMe.txt">
|
||||
</File>
|
||||
</Files>
|
||||
<Globals>
|
||||
<Global
|
||||
Name="RESOURCE_FILE"
|
||||
Value="ClientSetup.rc"/>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
228
Tools/ClientSetup/ClientSetup.vcxproj
Normal file
228
Tools/ClientSetup/ClientSetup.vcxproj
Normal file
@@ -0,0 +1,228 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release_MY|Win32">
|
||||
<Configuration>Release_MY</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Template|Win32">
|
||||
<Configuration>Template</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{9E58BB41-1B81-4CB3-934D-2613E15E5CFF}</ProjectGuid>
|
||||
<SccProjectName />
|
||||
<SccLocalPath />
|
||||
<Keyword>MFCProj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_MY|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseOfMfc>Static</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseOfMfc>Static</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseOfMfc>Dynamic</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_MY|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release_MY|Win32'">$(Configuration)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release_MY|Win32'">$(Configuration)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release_MY|Win32'">false</LinkIncremental>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release_MY|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release_MY|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release_MY|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Template|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Template|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Template|Win32'" />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>./;../;../../Engine/zalla3d base class;../../Engine/zalla3d sceneclass;../../Engine/SoundLib;../../Engine/Effect;../../Engine/Caldron;../ScriptEngine;../GlobalScript;../CharacterActionControl;./RYLUI;./RYLClient;./EventHandler;../../MemoryManager;../../Engine/CrossM/Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>winmm.lib;Version.lib;dxguid.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>false</MkTypLibCompatible>
|
||||
</Midl>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0412</Culture>
|
||||
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>./;../;../../Engine/zalla3d base class;../../Engine/zalla3d sceneclass;../../Engine/SoundLib;../../Engine/Effect;../../Engine/Caldron;../ScriptEngine;../GlobalScript;../CharacterActionControl;./RYLUI;./RYLClient;./EventHandler;../../MemoryManager;../../Engine/CrossM/Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;_RYL_LANGUAGE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>winmm.lib;Version.lib;dxguid.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>false</MkTypLibCompatible>
|
||||
</Midl>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0412</Culture>
|
||||
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_MY|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>./;../;../../Engine/zalla3d base class;../../Engine/zalla3d sceneclass;../../Engine/SoundLib;../../Engine/Effect;../../Engine/Caldron;../ScriptEngine;../GlobalScript;../CharacterActionControl;./RYLUI;./RYLClient;./EventHandler;../../MemoryManager;../../Engine/CrossM/Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>winmm.lib;Version.lib;dxguid.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>false</MkTypLibCompatible>
|
||||
</Midl>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0412</Culture>
|
||||
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="ClientSetup.cpp" />
|
||||
<ClCompile Include="ClientSetupDlg.cpp" />
|
||||
<ClCompile Include="getdxver.cpp" />
|
||||
<ClCompile Include="stdafx.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release_MY|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="SystemInfo.cpp" />
|
||||
<ClCompile Include="timer.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="bit_flags.h" />
|
||||
<ClInclude Include="ClientSetup.h" />
|
||||
<ClInclude Include="ClientSetupDlg.h" />
|
||||
<ClInclude Include="data_types.h" />
|
||||
<ClInclude Include="debug.h" />
|
||||
<ClInclude Include="numeric_tools.h" />
|
||||
<ClInclude Include="resource.h" />
|
||||
<ClInclude Include="stdafx.h" />
|
||||
<ClInclude Include="SystemInfo.h" />
|
||||
<ClInclude Include="timer.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="res\ClientSetup.ico" />
|
||||
<None Include="res\ClientSetup.rc2" />
|
||||
<None Include="icon1.ico" />
|
||||
<None Include="ReadMe.txt" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="ClientSetup.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Manifest Include="ClientSetup.exe.manifest" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Client\GlobalScript\GlobalScript.vcxproj">
|
||||
<Project>{fc216d91-d7ae-44c9-be1f-86544b1ad594}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Engine\zalla3d base class\Zalla3D Base Class.vcxproj">
|
||||
<Project>{663b3237-d6e2-4d71-8696-1425ebbedbad}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Engine\Zalla3D Scene Class\Zalla3D Scene Class.vcxproj">
|
||||
<Project>{48125d58-8048-48f4-97c6-967c72096625}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
<ProjectExtensions>
|
||||
<VisualStudio>
|
||||
<UserProperties RESOURCE_FILE="ClientSetup.rc" />
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
</Project>
|
||||
89
Tools/ClientSetup/ClientSetup.vcxproj.filters
Normal file
89
Tools/ClientSetup/ClientSetup.vcxproj.filters
Normal file
@@ -0,0 +1,89 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="소스 파일">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="헤더 파일">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="리소스 파일">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="ClientSetup.cpp">
|
||||
<Filter>소스 파일</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ClientSetupDlg.cpp">
|
||||
<Filter>소스 파일</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="getdxver.cpp">
|
||||
<Filter>소스 파일</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="stdafx.cpp">
|
||||
<Filter>소스 파일</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="SystemInfo.cpp">
|
||||
<Filter>소스 파일</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="timer.cpp">
|
||||
<Filter>소스 파일</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="bit_flags.h">
|
||||
<Filter>헤더 파일</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ClientSetup.h">
|
||||
<Filter>헤더 파일</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ClientSetupDlg.h">
|
||||
<Filter>헤더 파일</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="data_types.h">
|
||||
<Filter>헤더 파일</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="debug.h">
|
||||
<Filter>헤더 파일</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="numeric_tools.h">
|
||||
<Filter>헤더 파일</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="resource.h">
|
||||
<Filter>헤더 파일</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="stdafx.h">
|
||||
<Filter>헤더 파일</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="SystemInfo.h">
|
||||
<Filter>헤더 파일</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="timer.h">
|
||||
<Filter>헤더 파일</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="res\ClientSetup.ico">
|
||||
<Filter>리소스 파일</Filter>
|
||||
</None>
|
||||
<None Include="res\ClientSetup.rc2">
|
||||
<Filter>리소스 파일</Filter>
|
||||
</None>
|
||||
<None Include="icon1.ico">
|
||||
<Filter>리소스 파일</Filter>
|
||||
</None>
|
||||
<None Include="ReadMe.txt" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="ClientSetup.rc">
|
||||
<Filter>리소스 파일</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Manifest Include="ClientSetup.exe.manifest" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
1736
Tools/ClientSetup/ClientSetupDlg.cpp
Normal file
1736
Tools/ClientSetup/ClientSetupDlg.cpp
Normal file
File diff suppressed because it is too large
Load Diff
99
Tools/ClientSetup/ClientSetupDlg.h
Normal file
99
Tools/ClientSetup/ClientSetupDlg.h
Normal file
@@ -0,0 +1,99 @@
|
||||
// ClientSetupDlg.h : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
//
|
||||
|
||||
#pragma once
|
||||
#include "afxwin.h"
|
||||
#include "afxcmn.h"
|
||||
#include <d3d8.h>
|
||||
|
||||
|
||||
namespace RYLMAINWINDOW
|
||||
{
|
||||
const DWORD QUICKSLOT_WINDOW = ( 1 << 0 ) ;
|
||||
const DWORD STATUS_WINDOW = ( 1 << 1 ) ;
|
||||
const DWORD MINIMAP_WINDOW = ( 1 << 2 ) ;
|
||||
const DWORD ENCHANT_WINDOW = ( 1 << 3 ) ;
|
||||
|
||||
const DWORD ALL_WINDOW = QUICKSLOT_WINDOW | STATUS_WINDOW | MINIMAP_WINDOW | ENCHANT_WINDOW ;
|
||||
};
|
||||
|
||||
// CClientSetupDlg <20><>ȭ <20><><EFBFBD><EFBFBD>
|
||||
class CClientSetupDlg : public CDialog
|
||||
{
|
||||
// <20><><EFBFBD><EFBFBD>
|
||||
public:
|
||||
CClientSetupDlg(CWnd* pParent = NULL); // ǥ<><C7A5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
// <20><>ȭ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
enum { IDD = IDD_CLIENTSETUP_DIALOG };
|
||||
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV <20><><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
// <20><><EFBFBD><EFBFBD>
|
||||
protected:
|
||||
HICON m_hIcon;
|
||||
HINSTANCE m_hResource;
|
||||
char m_strRegRoot[MAX_PATH];
|
||||
BOOL m_bInitWindow;
|
||||
|
||||
// <20><EFBFBD><DEBD><EFBFBD> <20><> <20>Լ<EFBFBD><D4BC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>߽<EFBFBD><DFBD>ϴ<EFBFBD>.
|
||||
virtual BOOL OnInitDialog();
|
||||
afx_msg void OnPaint();
|
||||
afx_msg HCURSOR OnQueryDragIcon();
|
||||
DECLARE_MESSAGE_MAP()
|
||||
public:
|
||||
afx_msg void OnDestroy();
|
||||
// afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
|
||||
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
|
||||
// afx_msg void OnNcMouseMove(UINT nHitTest, CPoint point);
|
||||
BOOL SetGraphicCard(void);
|
||||
BOOL SetResolution(void);
|
||||
BOOL SetColor(void);
|
||||
BOOL SetRefresh(void);
|
||||
void SetPerformance(void);
|
||||
unsigned long m_dwOldWidth, m_dwOldHeight;
|
||||
|
||||
int m_iOldResolution;
|
||||
|
||||
void WriteError(unsigned long dwErrorCode);
|
||||
BOOL CreateReg(HKEY hReg);
|
||||
void AutoDetect(void);
|
||||
void SetTabControl(void);
|
||||
void InitString(void);
|
||||
unsigned long GetQualityBySetting(void);
|
||||
void SetSettingByQuality(unsigned long dwQuality);
|
||||
void MessageBox(UINT nID);
|
||||
|
||||
CComboBox m_cbVideoCard;
|
||||
CComboBox m_cbResolution;
|
||||
CComboBox m_cbRefresh;
|
||||
CComboBox m_cbColor;
|
||||
afx_msg void OnCbnSelchangeComboVideocard();
|
||||
afx_msg void OnCbnSelchangeComboMode();
|
||||
afx_msg void OnCbnSelchangeComboColor();
|
||||
CComboBox m_cbCharShadow;
|
||||
CComboBox m_cbScreenEffect;
|
||||
CComboBox m_cbHouseShadow;
|
||||
CComboBox m_cbTextureQuailty;
|
||||
CComboBox m_cbViewRange;
|
||||
CComboBox m_cbGrass;
|
||||
CComboBox m_cbQuality;
|
||||
afx_msg void OnBnClickedOk();
|
||||
// afx_msg void OnCbnSelchangeComboQuality();
|
||||
afx_msg void OnCbnSelchangeComboRefresh();
|
||||
CTabCtrl m_tcControlTab;
|
||||
afx_msg void OnTcnSelchangeControltab(NMHDR *pNMHDR, LRESULT *pResult);
|
||||
CComboBox m_cbWaterEffect;
|
||||
CComboBox m_cbGlowEffect;
|
||||
CComboBox m_cbWeatherEffect;
|
||||
afx_msg void OnCbnSelchangeComboAbletexture();
|
||||
CStatic m_ctrlImage;
|
||||
afx_msg void OnBnClickedCancel();
|
||||
CComboBox m_cbWindowMode;
|
||||
afx_msg void OnCbnSelchangeComboWindowmode();
|
||||
afx_msg void OnStnClickedStaticWindowmode();
|
||||
CComboBox m_cbLanguage;
|
||||
CButton m_btMultiSupport;
|
||||
};
|
||||
71
Tools/ClientSetup/ReadMe.txt
Normal file
71
Tools/ClientSetup/ReadMe.txt
Normal file
@@ -0,0 +1,71 @@
|
||||
================================================================================
|
||||
MFC <20><><EFBFBD>̺귯<CCBA><EAB7AF> : ClientSetup <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>
|
||||
================================================================================
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>縦 <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> ClientSetup <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>. <20><> <20><><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>α<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⺻<EFBFBD><E2BABB><EFBFBD><EFBFBD> MFC <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> <20>ۼ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
|
||||
|
||||
<EFBFBD><EFBFBD> <20><><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD> ClientSetup <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><> <20><><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>䰡 <20><><EFBFBD>ԵǾ<D4B5>
|
||||
<EFBFBD>ֽ<EFBFBD><EFBFBD>ϴ<EFBFBD>.
|
||||
|
||||
ClientSetup.vcproj
|
||||
<20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>縦 <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> VC++ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
<20><> <20><><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Visual C++ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>翡<EFBFBD><E7BFA1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>÷<EFBFBD><C3B7><EFBFBD>,
|
||||
<20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>Ե˴ϴ<CBB4>.
|
||||
|
||||
ClientSetup.h
|
||||
<20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>. <20><> <20><><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD> <20>ٸ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD>õ<EFBFBD> Resource.h<><68> <20><><EFBFBD><EFBFBD>
|
||||
Ư<><C6AF> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ԵǸ<D4B5> CClientSetupApp <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>˴ϴ<CBB4>.
|
||||
|
||||
ClientSetup.cpp
|
||||
CClientSetupApp <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
|
||||
ClientSetup.rc
|
||||
<20><><EFBFBD>α<CEB1><D7B7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD> Microsoft Windows <20><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
<20><> <20><><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD> RES <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>Ʈ<EFBFBD><C6AE> <20><> Ŀ<><C4BF><EFBFBD><EFBFBD> <20><><EFBFBD>ԵǸ<D4B5>
|
||||
Microsoft Visual C++<2B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ
|
||||
<20><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD> 1042<34><32> <20><><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
|
||||
|
||||
res\ClientSetup.ico
|
||||
<20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
<20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ClientSetup.rc<72><63> <20><><EFBFBD>Ե˴ϴ<CBB4>.
|
||||
|
||||
res\ClientSetup.rc2
|
||||
Microsoft Visual C++<2B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD> <20><><EFBFBD>Ե<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
<20><><EFBFBD>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2BFA1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD> <20><> <20><><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD>ԵǾ<D4B5> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>翡<EFBFBD><E7BFA1><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ȭ <20><><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
|
||||
ClientSetupDlg.h, ClientSetupDlg.cpp - <20><>ȭ <20><><EFBFBD><EFBFBD>
|
||||
CClientSetupDlg Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>. <20><> Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD>
|
||||
<20><> <20><>ȭ <20><><EFBFBD>ڿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ǵ˴ϴ<CBB4>. <20><>ȭ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ø<EFBFBD><C3B8><EFBFBD> ClientSetup.rc<72><63>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Microsoft Visual C++<2B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
<EFBFBD><EFBFBD>Ÿ ǥ<><C7A5> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
StdAfx.h, StdAfx.cpp
|
||||
<20≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>(PCH) ClientSetup.pch <20><> <20≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> StdAfx.obj<62><6A> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
|
||||
Resource.h
|
||||
<20><><EFBFBD>ο<EFBFBD> <20><><EFBFBD>ҽ<EFBFBD> ID<49><44> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> ǥ<><C7A5> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
Microsoft Visual C++<2B><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>а<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD>մϴ<D5B4>.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
<EFBFBD><EFBFBD>Ÿ <20><><EFBFBD><EFBFBD>
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>翡<EFBFBD><E7BFA1><EFBFBD><EFBFBD> "TODO:"<22><> <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> <20>߰<EFBFBD><DFB0>ϰų<CFB0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD> <20>ϴ<EFBFBD>
|
||||
<EFBFBD>ҽ<EFBFBD> <20>ڵ带 <20><>Ÿ<EFBFBD><C5B8><EFBFBD>ϴ<EFBFBD>.
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> DLL<4C><4C> MFC<46><43> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><><EFBFBD> <20> ü<><C3BC><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ٸ<EFBFBD> <20><><EFBFBD><EFBFBD> Microsoft Visual C++ CD-ROM<4F><4D> Win\System <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD> <20>ִ<EFBFBD>
|
||||
<EFBFBD>ش<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD> MFC70XXX.DLL<4C><4C> <20><>ǻ<EFBFBD><C7BB><EFBFBD><EFBFBD> system <20>Ǵ<EFBFBD> system32 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> MFCLOC.DLL<4C><4C> <20≯<EFBFBD><CCB8><EFBFBD> <20>ٲپ<D9B2><D9BE><EFBFBD> <20>մϴ<D5B4>. "XXX"<22><> <20>ش<EFBFBD> <20><><EFBFBD> <20><>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դϴ<EFBFBD>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> MFC70DEU.DLL<4C><4C><EFBFBD><EFBFBD> <20><><EFBFBD>Ͼ<EFBFBD><CFBE><EFBFBD> <20><>ȯ<EFBFBD><C8AF> <20><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD> <20><><EFBFBD>Ե˴ϴ<CBB4>.
|
||||
<EFBFBD>̷<EFBFBD> <20>۾<EFBFBD><DBBE><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20>Ϻ<EFBFBD> UI <20><><EFBFBD>Ұ<EFBFBD> <20> ü<><C3BC><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ְ<EFBFBD> <20>˴ϴ<CBB4>.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
1265
Tools/ClientSetup/SystemInfo.cpp
Normal file
1265
Tools/ClientSetup/SystemInfo.cpp
Normal file
File diff suppressed because it is too large
Load Diff
207
Tools/ClientSetup/SystemInfo.h
Normal file
207
Tools/ClientSetup/SystemInfo.h
Normal file
@@ -0,0 +1,207 @@
|
||||
#pragma once
|
||||
#include <ddraw.h>
|
||||
#include <d3d8.h>
|
||||
#include <math.h>
|
||||
|
||||
namespace SystemInfo
|
||||
{
|
||||
//-----------------------------------------------------------------------------
|
||||
// Name: struct D3DModeInfo
|
||||
// Desc: Structure for holding information about a display mode
|
||||
//-----------------------------------------------------------------------------
|
||||
struct D3DModeInfo
|
||||
{
|
||||
DWORD Width; // Screen width in this mode
|
||||
DWORD Height; // Screen height in this mode
|
||||
D3DFORMAT Format; // Pixel format in this mode
|
||||
DWORD dwBehavior; // Hardware / Software / Mixed vertex processing
|
||||
DWORD dwRefresh[50];
|
||||
D3DFORMAT DepthStencilFormat; // Which depth/stencil format to use with this mode
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Name: struct D3DDeviceInfo
|
||||
// Desc: Structure for holding information about a Direct3D device, including
|
||||
// a list of modes compatible with this device
|
||||
//-----------------------------------------------------------------------------
|
||||
struct D3DDeviceInfo
|
||||
{
|
||||
// Device data
|
||||
D3DDEVTYPE DeviceType; // Reference, HAL, etc.
|
||||
D3DCAPS8 d3dCaps; // Capabilities of this device
|
||||
const TCHAR* strDesc; // Name of this device
|
||||
BOOL bCanDoWindowed; // Whether this device can work in windowed mode
|
||||
|
||||
// Modes for this device
|
||||
DWORD dwNumModes;
|
||||
D3DModeInfo modes[150];
|
||||
|
||||
// Current state
|
||||
DWORD dwCurrentMode;
|
||||
BOOL bWindowed;
|
||||
D3DMULTISAMPLE_TYPE MultiSampleType;
|
||||
};
|
||||
|
||||
struct CusD3DModeInfo
|
||||
{
|
||||
DWORD Width; // Screen width in this mode
|
||||
DWORD Height; // Screen height in this mode
|
||||
DWORD m_dwNumFormat;
|
||||
D3DModeInfo Format[10];
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
struct CusD3DDeviceInfo
|
||||
{
|
||||
// Device data
|
||||
D3DDEVTYPE DeviceType; // Reference, HAL, etc.
|
||||
D3DCAPS8 d3dCaps; // Capabilities of this device
|
||||
const TCHAR* strDesc; // Name of this device
|
||||
BOOL bCanDoWindowed; // Whether this device can work in windowed mode
|
||||
|
||||
// Modes for this device
|
||||
DWORD dwNumModes;
|
||||
CusD3DModeInfo modes[150];
|
||||
|
||||
// Current state
|
||||
DWORD dwCurrentMode;
|
||||
BOOL bWindowed;
|
||||
D3DMULTISAMPLE_TYPE MultiSampleType;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Name: struct D3DAdapterInfo
|
||||
// Desc: Structure for holding information about an adapter, including a list
|
||||
// of devices available on this adapter
|
||||
//-----------------------------------------------------------------------------
|
||||
struct D3DAdapterInfo
|
||||
{
|
||||
// Adapter data
|
||||
D3DADAPTER_IDENTIFIER8 d3dAdapterIdentifier;
|
||||
D3DDISPLAYMODE d3ddmDesktop; // Desktop display mode for this adapter
|
||||
|
||||
// Devices for this adapter
|
||||
DWORD dwNumDevices;
|
||||
D3DDeviceInfo devices[5];
|
||||
|
||||
// Current state
|
||||
DWORD dwCurrentDevice;
|
||||
};
|
||||
|
||||
/* Display Modes */
|
||||
typedef struct _CusD3DDISPLAYMODE
|
||||
{
|
||||
UINT Width;
|
||||
UINT Height;
|
||||
UINT RefreshRate[50];
|
||||
D3DFORMAT Format;
|
||||
} CusD3DDISPLAYMODE;
|
||||
|
||||
typedef struct _sDiskInfo
|
||||
{
|
||||
char Letter[8];
|
||||
ULARGE_INTEGER m_lFreeBytesAvailableToCaller;
|
||||
ULARGE_INTEGER m_lTotalBytes;
|
||||
ULARGE_INTEGER m_lTotalFreeBytes;
|
||||
} sDiskInfo;
|
||||
|
||||
class CSystemInfo
|
||||
{
|
||||
protected:
|
||||
unsigned long m_dwMinDepthBits; // <20>ּ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ʈ<EFBFBD><C6AE>
|
||||
unsigned long m_dwMinStencilBits; // <20>ּ<EFBFBD> <20><><EFBFBD>ٽ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ʈ <20><>
|
||||
|
||||
HRESULT ConfirmDevice(D3DCAPS8*,DWORD,D3DFORMAT);
|
||||
BOOL FindDepthStencilFormat(UINT iAdapter, D3DDEVTYPE DeviceType, D3DFORMAT TargetFormat, D3DFORMAT *pDepthStencilFormat);
|
||||
|
||||
OSVERSIONINFOEX m_osvi;
|
||||
BOOL m_bOsVersionInfoEx;
|
||||
MEMORYSTATUS m_stat;
|
||||
char m_strCPUInfo[8][MAX_PATH];
|
||||
unsigned long m_dwCPUSpeed;
|
||||
sDiskInfo m_sDiskInfo[20];
|
||||
|
||||
char m_strWindowName[MAX_PATH];
|
||||
char m_strServiceVersion[MAX_PATH];
|
||||
|
||||
char m_strSoundCard[MAX_PATH];
|
||||
char m_strSoundCardVersion[MAX_PATH];
|
||||
|
||||
LPDIRECT3D8 m_lpD3D;
|
||||
|
||||
DDCAPS m_ddHALCaps, m_ddHELCaps;
|
||||
|
||||
public:
|
||||
unsigned long m_dwNumAdapters;
|
||||
D3DAdapterInfo m_Adapters[10];
|
||||
|
||||
CusD3DDeviceInfo m_d3dAvailableDevices[5];
|
||||
|
||||
unsigned long m_dwCurrentVideoCard;
|
||||
unsigned long m_dwCurrentDevice;
|
||||
unsigned long m_dwCurrentResolution;
|
||||
unsigned long m_dwCurrentColor;
|
||||
unsigned long m_dwCurrentRefresh;
|
||||
|
||||
CSystemInfo(void);
|
||||
~CSystemInfo(void);
|
||||
|
||||
void SetDepthBits(unsigned long dwMinDepthBits) { m_dwMinDepthBits = dwMinDepthBits; }
|
||||
void SetStencilBits(unsigned long dwMinStencilBits) { m_dwMinStencilBits = dwMinStencilBits; }
|
||||
|
||||
BOOL GetWindowInfo(void);
|
||||
BOOL GetMemoryInfo(void);
|
||||
BOOL GetCPUInfo(void);
|
||||
BOOL GetDiskInfo(void);
|
||||
BOOL GetSoundCardInfo(void);
|
||||
BOOL GetVideoCardInfo(void);
|
||||
|
||||
void ReadCPUCounter(UINT64 *pCounter);
|
||||
|
||||
HRESULT EnumulationD3D(void);
|
||||
void SetSetting(unsigned long dwWidth, unsigned long dwHeight, D3DFORMAT d3dFormat, unsigned long dwRefresh);
|
||||
|
||||
BOOL GetAvailableDevice(unsigned long dwMinWidth, unsigned long dwMinHeight);
|
||||
D3DFORMAT GetFormat(unsigned long dwDepth);
|
||||
|
||||
char *GetWindowName(void) { return m_strWindowName; }
|
||||
double GetTotalPhysMem(void) { return (double)(m_stat.dwTotalPhys / 1024 / 1024.0); }
|
||||
unsigned long GetAvailPhysMem(void) { return (unsigned long)(m_stat.dwAvailPhys / 1024 / 1024); }
|
||||
unsigned long GetAvailPages(void) { return (unsigned long)(m_stat.dwAvailPageFile / 1024 / 1024); }
|
||||
char *GetCPUInfo(unsigned long dwNum) { return m_strCPUInfo[dwNum]; }
|
||||
double GetHDDFreeSpace(void) { return ((double)(m_sDiskInfo->m_lTotalFreeBytes.QuadPart) / 1024 / 1024 / 1024); }
|
||||
char *GetSoundCardName(void) { return m_strSoundCard; }
|
||||
unsigned long GetNumAdapters(void) { return m_dwNumAdapters; }
|
||||
char *GetGraphicCardName(unsigned long dwNum) { return m_Adapters[dwNum].d3dAdapterIdentifier.Description; }
|
||||
void GetResolutionByString(char *strFormat, char *strString);
|
||||
void GetColorByString(char *strFormat, char *strString);
|
||||
void GetRefreshByString(char *strFormat, char *strString);
|
||||
unsigned long GetCurrentWidth(void) { return m_d3dAvailableDevices[m_dwCurrentDevice].modes[m_dwCurrentResolution].Width; }
|
||||
unsigned long GetCurrentHeight(void) { return m_d3dAvailableDevices[m_dwCurrentDevice].modes[m_dwCurrentResolution].Height; }
|
||||
unsigned long GetCurrentColor(void) { return m_d3dAvailableDevices[m_dwCurrentDevice].modes[m_dwCurrentResolution].Format[m_dwCurrentColor].Format; }
|
||||
unsigned long GetCurrentRefresh(void) { return m_d3dAvailableDevices[m_dwCurrentDevice].modes[m_dwCurrentResolution].Format[m_dwCurrentColor].dwRefresh[m_dwCurrentRefresh]; }
|
||||
|
||||
BOOL IsAblePages(unsigned long dwNeedPage) { return (((m_stat.dwAvailPageFile / 1024 / 1024) > dwNeedPage)? TRUE : FALSE); }
|
||||
BOOL IsTotalPhysMem(unsigned long dwNeedRam) { return ((ceil((double)(m_stat.dwTotalPhys / 1024 / 1024.0)) >= dwNeedRam)? TRUE : FALSE); }
|
||||
|
||||
unsigned long GetAvailableShader(unsigned long dwPSVersion, unsigned long dwVSVersion);
|
||||
BOOL GetAvailableHiResTexture(unsigned long dwMinWidth, unsigned long dwMinHeight);
|
||||
BOOL GetAvailableCompressTexture(D3DFORMAT d3dFormat);
|
||||
unsigned long GetAbleWindowVersion(void);
|
||||
|
||||
unsigned long GetPerformance(void);
|
||||
|
||||
BOOL IsMinimum(void);
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
||||
272
Tools/ClientSetup/bit_flags.h
Normal file
272
Tools/ClientSetup/bit_flags.h
Normal file
@@ -0,0 +1,272 @@
|
||||
#ifndef BITFLAGS_H
|
||||
#define BITFLAGS_H
|
||||
#pragma once
|
||||
/***************************************************************\
|
||||
|
||||
^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^
|
||||
^^ ^^ ^^ ^^ ^^ ^^ ^^
|
||||
^^ ^^^^^^^^ ^^ ^^^^^^^^
|
||||
^^ ^^^ ^^ ^^ ^^ ^^ ^^
|
||||
^^ ^^ ^^ ^^ ^^ ^^ ^^
|
||||
^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^ ^^
|
||||
|
||||
sample code from the book...
|
||||
Real Time 3D Terrain Engines Using C++ and DirectX
|
||||
|
||||
by Greg Snook
|
||||
greg@mightystudios.com
|
||||
|
||||
\***************************************************************/
|
||||
#include "data_types.h"
|
||||
|
||||
// disable the MSVC warning regarding
|
||||
// forcing values to true or false
|
||||
#pragma warning( disable : 4800 )
|
||||
|
||||
// Name Space declaration
|
||||
namespace gaia
|
||||
{
|
||||
|
||||
/* Bit Flag Macros
|
||||
-----------------------------------------------------------------
|
||||
|
||||
Macros for simple bit and flag collection testing.
|
||||
|
||||
-----------------------------------------------------------------
|
||||
*/
|
||||
#define FLAG(x) (1<<(x))
|
||||
#define TEST_BIT(flag, bit) (((flag.value) & FLAG((bit))) !=0)
|
||||
#define TEST_ALL(flag, set) (((flag.value) & (set)) == (set))
|
||||
#define TEST_ANY(flag, set) (((flag.value) & (set)) !=0)
|
||||
#define SET_BIT(flag, bit) ((flag.value) |= FLAG((bit)))
|
||||
#define CLEAR_BIT(flag, bit) ((flag.value) &= ~FLAG((bit)))
|
||||
#define SET_ALL(flag, set) ((flag.value) |= (set))
|
||||
#define CLEAR_ALL(flag, set) ((flag.value) &= ~(set))
|
||||
|
||||
/* cBitFlags
|
||||
-----------------------------------------------------------------
|
||||
|
||||
For more robust use, the cBitFlags template provides a
|
||||
generic flag testing interface for flags held in an
|
||||
arbitrary data type (T)
|
||||
|
||||
-----------------------------------------------------------------
|
||||
*/
|
||||
template <class T>
|
||||
class cBitFlags
|
||||
{
|
||||
public:
|
||||
|
||||
T value;
|
||||
|
||||
// Creators...
|
||||
cBitFlags();
|
||||
cBitFlags(T data);
|
||||
cBitFlags(const cBitFlags& Src);
|
||||
~cBitFlags();
|
||||
|
||||
// Operators...
|
||||
cBitFlags& operator=( const cBitFlags& Src);
|
||||
cBitFlags& operator=( T Src);
|
||||
operator T()const {return(value);};
|
||||
bool operator==(const cBitFlags& Src)const;
|
||||
bool operator!=(const cBitFlags& Src)const;
|
||||
|
||||
// Mutators...
|
||||
void set(T settings);
|
||||
void clear();
|
||||
void setFlags(T settings);
|
||||
void clearFlags(T settings);
|
||||
void setBit(int bit);
|
||||
void clearBit(int bit);
|
||||
void setBit(int bit, bool setting);
|
||||
|
||||
// Accessors...
|
||||
bool isEmpty()const;
|
||||
bool testBit(int bit)const;
|
||||
bool testFlags(T test)const;
|
||||
bool testAny(T test)const;
|
||||
|
||||
int totalBits()const;
|
||||
int totalSet()const;
|
||||
};
|
||||
|
||||
// common flag typedefs
|
||||
typedef cBitFlags<uint8> u8Flags; // 8 bits of flags
|
||||
typedef cBitFlags<uint16> u16Flags; // 16 bits of flags
|
||||
typedef cBitFlags<uint32> u32Flags; // 32 bits of flags
|
||||
|
||||
//- Inline Functions --------------------------------------------
|
||||
|
||||
/* cBitFlags
|
||||
------------------------------------------------------------------------------------------
|
||||
|
||||
Default Object Constructor
|
||||
|
||||
------------------------------------------------------------------------------------------
|
||||
*/
|
||||
template <class T>
|
||||
inline cBitFlags<T>::cBitFlags()
|
||||
:value(0)
|
||||
{
|
||||
}
|
||||
|
||||
template <class T>
|
||||
inline cBitFlags<T>::cBitFlags(T settings)
|
||||
:value(settings)
|
||||
{
|
||||
}
|
||||
|
||||
template <class T>
|
||||
inline cBitFlags<T>::cBitFlags( const cBitFlags& Src)
|
||||
:value(Src.value)
|
||||
{
|
||||
}
|
||||
|
||||
/* ~cBitFlags
|
||||
------------------------------------------------------------------------------------------
|
||||
|
||||
Default Object Destructor
|
||||
|
||||
------------------------------------------------------------------------------------------
|
||||
*/
|
||||
template <class T>
|
||||
inline cBitFlags<T>::~cBitFlags()
|
||||
{
|
||||
}
|
||||
|
||||
//. Operators ............................................................................
|
||||
template <class T>
|
||||
inline cBitFlags<T>& cBitFlags<T>::operator=( const cBitFlags<T>& Src)
|
||||
{
|
||||
value = Src.value;
|
||||
return(*this);
|
||||
}
|
||||
|
||||
template <class T>
|
||||
inline cBitFlags<T>& cBitFlags<T>::operator=( T Src)
|
||||
{
|
||||
value = Src;
|
||||
return(*this);
|
||||
}
|
||||
|
||||
template <class T>
|
||||
bool cBitFlags<T>::operator==( const cBitFlags& Src)const
|
||||
{
|
||||
return(value == Src.value);
|
||||
}
|
||||
|
||||
template <class T>
|
||||
bool cBitFlags<T>::operator!=( const cBitFlags& Src)const
|
||||
{
|
||||
return(value != Src.value);
|
||||
}
|
||||
|
||||
//. Mutators .............................................................................
|
||||
template <class T>
|
||||
inline void cBitFlags<T>::set(T settings)
|
||||
{
|
||||
value = settings;
|
||||
}
|
||||
|
||||
template <class T>
|
||||
inline void cBitFlags<T>::clear()
|
||||
{
|
||||
value = 0;
|
||||
}
|
||||
|
||||
template <class T>
|
||||
inline void cBitFlags<T>::setFlags(T settings)
|
||||
{
|
||||
value |= settings;
|
||||
}
|
||||
|
||||
template <class T>
|
||||
inline void cBitFlags<T>::clearFlags(T settings)
|
||||
{
|
||||
value &= ~settings;
|
||||
}
|
||||
|
||||
|
||||
template <class T>
|
||||
inline void cBitFlags<T>::setBit(int bit)
|
||||
{
|
||||
value |= (1<<bit);
|
||||
}
|
||||
|
||||
template <class T>
|
||||
inline void cBitFlags<T>::setBit(int bit, bool setting)
|
||||
{
|
||||
if (setting)
|
||||
{
|
||||
value |= (1<<bit);
|
||||
}
|
||||
else
|
||||
{
|
||||
clearBit(bit);
|
||||
}
|
||||
}
|
||||
|
||||
template <class T>
|
||||
inline void cBitFlags<T>::clearBit(int bit)
|
||||
{
|
||||
value &= (~(1<<bit));
|
||||
}
|
||||
|
||||
//. Accessors ............................................................................
|
||||
template <class T>
|
||||
inline bool cBitFlags<T>::isEmpty()const
|
||||
{
|
||||
return(value == static_cast<T>(0));
|
||||
}
|
||||
|
||||
template <class T>
|
||||
inline bool cBitFlags<T>::testBit(int bit)const
|
||||
{
|
||||
return(value & (1<<bit));
|
||||
}
|
||||
|
||||
|
||||
template <class T>
|
||||
inline bool cBitFlags<T>::testFlags(T test)const
|
||||
{
|
||||
return((value & test) == test);
|
||||
}
|
||||
|
||||
template <class T>
|
||||
inline bool cBitFlags<T>::testAny(T test)const
|
||||
{
|
||||
return(value & test);
|
||||
}
|
||||
|
||||
template <class T>
|
||||
inline int cBitFlags<T>::totalBits()const
|
||||
{
|
||||
return(sizeof(T)<<3);
|
||||
}
|
||||
|
||||
template <class T>
|
||||
inline int cBitFlags<T>::totalSet()const
|
||||
{
|
||||
int count=0;
|
||||
int total = totalBits();
|
||||
T TestValue = value;
|
||||
|
||||
for (int i=total;i;--i)
|
||||
{
|
||||
count += (TestValue & 1);
|
||||
TestValue >>= 1;
|
||||
}
|
||||
return(count);
|
||||
}
|
||||
|
||||
//***************************************************************
|
||||
|
||||
} //End NameSpace: gaia
|
||||
|
||||
#pragma warning( default : 4800 )
|
||||
|
||||
#endif // end of file ( cBitFlags.h )
|
||||
|
||||
//----------------------------------------------------------
|
||||
//$Log: $
|
||||
84
Tools/ClientSetup/data_types.h
Normal file
84
Tools/ClientSetup/data_types.h
Normal file
@@ -0,0 +1,84 @@
|
||||
#ifndef DATATYPES_H
|
||||
#define DATATYPES_H
|
||||
#pragma once
|
||||
/***************************************************************\
|
||||
|
||||
^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^
|
||||
^^ ^^ ^^ ^^ ^^ ^^ ^^
|
||||
^^ ^^^^^^^^ ^^ ^^^^^^^^
|
||||
^^ ^^^ ^^ ^^ ^^ ^^ ^^
|
||||
^^ ^^ ^^ ^^ ^^ ^^ ^^
|
||||
^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^ ^^
|
||||
|
||||
sample code from the book...
|
||||
Real Time 3D Terrain Engines Using C++ and DirectX
|
||||
|
||||
by Greg Snook
|
||||
greg@mightystudios.com
|
||||
|
||||
\***************************************************************/
|
||||
|
||||
|
||||
// Name Space declaration
|
||||
namespace gaia
|
||||
{
|
||||
#pragma warning(disable : 4786)
|
||||
|
||||
/* DataTypes
|
||||
-----------------------------------------------------------------
|
||||
|
||||
The basic data types and ranges used by Gaia
|
||||
|
||||
-----------------------------------------------------------------
|
||||
*/
|
||||
|
||||
typedef signed long int32;
|
||||
typedef signed short int16;
|
||||
typedef signed char int8;
|
||||
typedef unsigned long uint32;
|
||||
typedef unsigned short uint16;
|
||||
typedef unsigned char uint8;
|
||||
|
||||
typedef __int64 int64;
|
||||
typedef unsigned __int64 uint64;
|
||||
|
||||
extern const int32 MIN_INT32;
|
||||
extern const int32 MAX_INT32;
|
||||
extern const int16 MIN_INT16;
|
||||
extern const int16 MAX_INT16;
|
||||
extern const int8 MIN_INT8;
|
||||
extern const int8 MAX_INT8;
|
||||
extern const uint32 MIN_UINT32;
|
||||
extern const uint32 MAX_UINT32;
|
||||
extern const uint16 MIN_UINT16;
|
||||
extern const uint16 MAX_UINT16;
|
||||
extern const uint8 MIN_UINT8;
|
||||
extern const uint8 MAX_UINT8;
|
||||
|
||||
extern const float MIN_REAL32;
|
||||
extern const float MAX_REAL32;
|
||||
extern const float TINY_REAL32;
|
||||
|
||||
// unicode vs. mbcs character types
|
||||
#ifdef _UNICODE
|
||||
// define tchar as a wide-character
|
||||
typedef wchar_t tchar;
|
||||
// create a macro to build string literals
|
||||
#define _text(a) L ## a
|
||||
#else
|
||||
// define tchar as a plain char
|
||||
typedef char tchar;
|
||||
// stub the macro to build string literals
|
||||
#define _text
|
||||
#endif
|
||||
|
||||
|
||||
} //End NameSpace: gaia
|
||||
|
||||
#endif // end of file ( DataTypes.h )
|
||||
|
||||
//----------------------------------------------------------
|
||||
//$Log: $
|
||||
|
||||
|
||||
|
||||
258
Tools/ClientSetup/debug.h
Normal file
258
Tools/ClientSetup/debug.h
Normal file
@@ -0,0 +1,258 @@
|
||||
#ifndef DEBUG_H
|
||||
#define DEBUG_H
|
||||
#pragma once
|
||||
/***************************************************************\
|
||||
|
||||
^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^
|
||||
^^ ^^ ^^ ^^ ^^ ^^ ^^
|
||||
^^ ^^^^^^^^ ^^ ^^^^^^^^
|
||||
^^ ^^^ ^^ ^^ ^^ ^^ ^^
|
||||
^^ ^^ ^^ ^^ ^^ ^^ ^^
|
||||
^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^ ^^
|
||||
|
||||
sample code from the book...
|
||||
Real Time 3D Terrain Engines Using C++ and DirectX
|
||||
|
||||
by Greg Snook
|
||||
greg@mightystudios.com
|
||||
|
||||
\***************************************************************/
|
||||
#ifndef DATATYPES_H
|
||||
#include "data_types.h"
|
||||
#endif
|
||||
|
||||
#ifndef BITFLAGS_H
|
||||
#include "bit_flags.h"
|
||||
#endif
|
||||
|
||||
#ifndef STRING_H
|
||||
#include "string.h"
|
||||
#endif
|
||||
|
||||
// Name Space declaration
|
||||
namespace gaia
|
||||
{
|
||||
|
||||
//
|
||||
// Undefine the common macros we wish to take over
|
||||
//
|
||||
#ifdef ASSERT
|
||||
#undef ASSERT
|
||||
#endif
|
||||
|
||||
#ifdef assert
|
||||
#undef assert
|
||||
#endif
|
||||
|
||||
#ifdef VERIFY
|
||||
#undef VERIFY
|
||||
#endif
|
||||
|
||||
#ifdef verify
|
||||
#undef verify
|
||||
#endif
|
||||
|
||||
#ifdef TRACE
|
||||
#undef TRACE
|
||||
#endif
|
||||
|
||||
// access to the cDebugMessageHandler singleton
|
||||
#define Debug g_Debug
|
||||
|
||||
/* Debug Output Macros
|
||||
------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
------------------------------------------------------------------------------------------
|
||||
*/
|
||||
#ifdef _DEBUG_OUTPUT
|
||||
//
|
||||
// DEBUG OUTPUT ENABLED
|
||||
//
|
||||
#define debug_print Debug.output
|
||||
|
||||
#define debug_assert(x, comment) {\
|
||||
static bool _ignoreAssert = false;\
|
||||
if (!_ignoreAssert && !(x)) \
|
||||
{\
|
||||
ERROR_RESULT _err_result = notifyAssertion(_text(#x), _text(comment), __FILE__, __LINE__);\
|
||||
if (_err_result == VR_IGNORE)\
|
||||
{\
|
||||
_ignoreAssert = true;\
|
||||
}\
|
||||
else if (_err_result == VR_BREAKPOINT)\
|
||||
{\
|
||||
_asm{int 3};\
|
||||
}\
|
||||
}}
|
||||
|
||||
#define debug_error(x) {\
|
||||
static bool _ignoreError = false;\
|
||||
if (!_ignoreError) \
|
||||
{\
|
||||
ERROR_RESULT _err_result = notifyError((x), \
|
||||
__FILE__, __LINE__);\
|
||||
if (_err_result == VR_IGNORE)\
|
||||
{\
|
||||
_ignoreError = true;\
|
||||
}\
|
||||
else if (_err_result == VR_BREAKPOINT)\
|
||||
{\
|
||||
_asm{int 3};\
|
||||
}\
|
||||
}}
|
||||
|
||||
|
||||
#else
|
||||
|
||||
// depending on the compiler version,
|
||||
// we either set unused function definitions
|
||||
// to (0) or __noop
|
||||
#ifndef NOP_FUNCTION
|
||||
#if (_MSC_VER >= 1210)
|
||||
#define NOP_FUNCTION __noop
|
||||
#else
|
||||
#define NOP_FUNCTION (void)(0)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
//
|
||||
// DEBUG OUTPUT DISABLED
|
||||
//
|
||||
#define debug_print (void)NOP_FUNCTION
|
||||
#define debug_assert(x, comment)
|
||||
#define debug_error(x)
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#define compiler_assert(x) {\
|
||||
const int _value = (x) ? 1:0;\
|
||||
switch (x)\
|
||||
{\
|
||||
case 0: \
|
||||
case _value: \
|
||||
default: break;\
|
||||
};}
|
||||
|
||||
|
||||
//
|
||||
// Map our macros to the commonly used names
|
||||
//
|
||||
#define ASSERT(x) debug_assert(x,"")
|
||||
#define assert(x) debug_assert(x,"")
|
||||
#define error(x) debug_error(x)
|
||||
#define TRACE debug_print
|
||||
|
||||
// Assert function return values
|
||||
enum ERROR_RESULT
|
||||
{
|
||||
VR_IGNORE = 0,
|
||||
VR_CONTINUE,
|
||||
VR_BREAKPOINT,
|
||||
VR_ABORT
|
||||
};
|
||||
|
||||
extern ERROR_RESULT notifyError(uint32 errorCode, const tchar* fileName, int lineNumber);
|
||||
extern ERROR_RESULT notifyAssertion(const tchar* condition, const tchar* description, const tchar* fileName, int lineNumber);
|
||||
|
||||
// Private Functions...
|
||||
extern ERROR_RESULT displayError( const tchar* errorTitle,
|
||||
const tchar* errorText,
|
||||
const tchar* errorDescription,
|
||||
const tchar* fileName,
|
||||
int lineNumber);
|
||||
|
||||
|
||||
/* cDebugMessageHandler
|
||||
-----------------------------------------------------------------
|
||||
|
||||
cDebugMessageHandler is a singleton interface to handle the output of
|
||||
text messages for debugging purposes. A Total of 32 channels
|
||||
are available for output. Channel Zero is reserved for standard
|
||||
debug output. All other channels can be routed to files, etc.
|
||||
|
||||
-----------------------------------------------------------------
|
||||
*/
|
||||
class cDebugMessageChannel;
|
||||
|
||||
class cDebugMessageHandler
|
||||
{
|
||||
public:
|
||||
|
||||
// Data Types & Constants...
|
||||
enum
|
||||
{
|
||||
nMaxOutputStringSize = 2048
|
||||
};
|
||||
|
||||
enum DEBUG_CHANNELS
|
||||
{
|
||||
nSystemChannelBit = 0,
|
||||
nMaxChannels = 32,
|
||||
};
|
||||
|
||||
enum MESSAGE_FLAGS
|
||||
{
|
||||
k_defaultMessageFlag = FLAG(0),
|
||||
};
|
||||
|
||||
|
||||
// Public Data...
|
||||
|
||||
// Creators...
|
||||
|
||||
cDebugMessageHandler();
|
||||
~cDebugMessageHandler();
|
||||
|
||||
// Mutators...
|
||||
bool setChannel(int index, cDebugMessageChannel* pChannel);
|
||||
void clearChannel(int index);
|
||||
bool openChannel(int index);
|
||||
void closeChannel(int index);
|
||||
void setChannelMessageFilter(int index, u32Flags flags);
|
||||
void addChannelMessageFilter(int index, u32Flags flags);
|
||||
void removeChannelMessageFilter(int index, u32Flags flags);
|
||||
|
||||
void output(const tchar* text, ...);
|
||||
void output(uint32 messageFlags, const tchar* text, ...);
|
||||
|
||||
// Accessors...
|
||||
bool isChannelSet(int index)const;
|
||||
bool isChannelOpen(int index)const;
|
||||
u32Flags channelFilter(int index)const;
|
||||
|
||||
private:
|
||||
|
||||
// Private Data...
|
||||
cDebugMessageChannel* m_channel[nMaxChannels];
|
||||
u32Flags m_openChannels;
|
||||
};
|
||||
extern cDebugMessageHandler g_Debug;
|
||||
|
||||
//- Inline Functions --------------------------------------------
|
||||
|
||||
//. Accessors ...................................................
|
||||
inline bool cDebugMessageHandler::isChannelSet(int index)const
|
||||
{
|
||||
debug_assert(index >= 0 && index<nMaxChannels, "invalid channel index");
|
||||
return m_channel[index] != 0;
|
||||
}
|
||||
|
||||
inline bool cDebugMessageHandler::isChannelOpen(int index)const
|
||||
{
|
||||
debug_assert(index >= 0 && index<nMaxChannels, "invalid channel index");
|
||||
return TEST_BIT(m_openChannels,index);
|
||||
}
|
||||
|
||||
//- End of cDebugMessageHandler ------------------------------------------------
|
||||
|
||||
|
||||
//***************************************************************
|
||||
|
||||
} //End NameSpace: gaia
|
||||
|
||||
#endif // end of file ( cDebugMessageHandler.h )
|
||||
|
||||
//----------------------------------------------------------
|
||||
//$Log: $
|
||||
559
Tools/ClientSetup/getdxver.cpp
Normal file
559
Tools/ClientSetup/getdxver.cpp
Normal file
@@ -0,0 +1,559 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// File: GetDXVer.cpp
|
||||
//
|
||||
// Desc: Demonstrates how applications can detect what version of DirectX
|
||||
// is installed.
|
||||
//
|
||||
// (C) Copyright Microsoft Corp. All rights reserved.
|
||||
//-----------------------------------------------------------------------------
|
||||
#define INITGUID
|
||||
#include <windows.h>
|
||||
#include <stdio.h>
|
||||
#include <tchar.h>
|
||||
#include <dxdiag.h>
|
||||
|
||||
|
||||
static HRESULT GetDirectXVersionViaDxDiag( DWORD* pdwDirectXVersionMajor, DWORD* pdwDirectXVersionMinor, TCHAR* pcDirectXVersionLetter );
|
||||
static HRESULT GetDirectXVerionViaFileVersions( DWORD* pdwDirectXVersionMajor, DWORD* pdwDirectXVersionMinor, TCHAR* pcDirectXVersionLetter );
|
||||
HRESULT GetFileVersion( TCHAR* szPath, ULARGE_INTEGER* pllFileVersion );
|
||||
static ULARGE_INTEGER MakeInt64( WORD a, WORD b, WORD c, WORD d );
|
||||
static int CompareLargeInts( ULARGE_INTEGER ullParam1, ULARGE_INTEGER ullParam2 );
|
||||
|
||||
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Name: GetDXVersion()
|
||||
// Desc: This function returns the DirectX version.
|
||||
// Arguments:
|
||||
// pdwDirectXVersion - This can be NULL. If non-NULL, the return value is:
|
||||
// 0x00000000 = No DirectX installed
|
||||
// 0x00010000 = DirectX 1.0 installed
|
||||
// 0x00020000 = DirectX 2.0 installed
|
||||
// 0x00030000 = DirectX 3.0 installed
|
||||
// 0x00030001 = DirectX 3.0a installed
|
||||
// 0x00050000 = DirectX 5.0 installed
|
||||
// 0x00060000 = DirectX 6.0 installed
|
||||
// 0x00060100 = DirectX 6.1 installed
|
||||
// 0x00060101 = DirectX 6.1a installed
|
||||
// 0x00070000 = DirectX 7.0 installed
|
||||
// 0x00070001 = DirectX 7.0a installed
|
||||
// 0x00080000 = DirectX 8.0 installed
|
||||
// 0x00080100 = DirectX 8.1 installed
|
||||
// 0x00080101 = DirectX 8.1a installed
|
||||
// 0x00080102 = DirectX 8.1b installed
|
||||
// 0x00080200 = DirectX 8.2 installed
|
||||
// 0x00090000 = DirectX 9.0 installed
|
||||
// strDirectXVersion - Destination string to receive a string name of the DirectX Version. Can be NULL.
|
||||
// cchDirectXVersion - Size of destination buffer in characters. Length should be at least 10 chars.
|
||||
// Returns: S_OK if the function succeeds.
|
||||
// E_FAIL if the DirectX version info couldn't be determined.
|
||||
//
|
||||
// Please note that this code is intended as a general guideline. Your
|
||||
// app will probably be able to simply query for functionality (via
|
||||
// QueryInterface) for one or two components.
|
||||
//
|
||||
// Also please ensure your app will run on future releases of DirectX.
|
||||
// For example:
|
||||
// "if( dwDirectXVersion != 0x00080100 ) return false;" is VERY BAD.
|
||||
// "if( dwDirectXVersion < 0x00080100 ) return false;" is MUCH BETTER.
|
||||
//-----------------------------------------------------------------------------
|
||||
HRESULT GetDXVersion( DWORD* pdwDirectXVersion, TCHAR* strDirectXVersion, int cchDirectXVersion )
|
||||
{
|
||||
bool bGotDirectXVersion = false;
|
||||
|
||||
// Init values to unknown
|
||||
if( pdwDirectXVersion )
|
||||
*pdwDirectXVersion = 0;
|
||||
if( strDirectXVersion && cchDirectXVersion > 0 )
|
||||
strDirectXVersion[0] = 0;
|
||||
|
||||
DWORD dwDirectXVersionMajor = 0;
|
||||
DWORD dwDirectXVersionMinor = 0;
|
||||
TCHAR cDirectXVersionLetter = ' ';
|
||||
|
||||
// First, try to use dxdiag's COM interface to get the DirectX version.
|
||||
// The only downside is this will only work on DX9 or later.
|
||||
if( SUCCEEDED( GetDirectXVersionViaDxDiag( &dwDirectXVersionMajor, &dwDirectXVersionMinor, &cDirectXVersionLetter ) ) )
|
||||
bGotDirectXVersion = true;
|
||||
|
||||
if( !bGotDirectXVersion )
|
||||
{
|
||||
// Getting the DirectX version info from DxDiag failed,
|
||||
// so most likely we are on DX8.x or earlier
|
||||
if( SUCCEEDED( GetDirectXVerionViaFileVersions( &dwDirectXVersionMajor, &dwDirectXVersionMinor, &cDirectXVersionLetter ) ) )
|
||||
bGotDirectXVersion = true;
|
||||
}
|
||||
|
||||
// If both techniques failed, then return E_FAIL
|
||||
if( !bGotDirectXVersion )
|
||||
return E_FAIL;
|
||||
|
||||
// Set the output values to what we got and return
|
||||
cDirectXVersionLetter = (char)tolower(cDirectXVersionLetter);
|
||||
|
||||
if( pdwDirectXVersion )
|
||||
{
|
||||
// If pdwDirectXVersion is non-NULL, then set it to something
|
||||
// like 0x00080102 which would represent DX8.1b
|
||||
DWORD dwDirectXVersion = dwDirectXVersionMajor;
|
||||
dwDirectXVersion <<= 8;
|
||||
dwDirectXVersion += dwDirectXVersionMinor;
|
||||
dwDirectXVersion <<= 8;
|
||||
if( cDirectXVersionLetter >= 'a' && cDirectXVersionLetter <= 'z' )
|
||||
dwDirectXVersion += (cDirectXVersionLetter - 'a') + 1;
|
||||
|
||||
*pdwDirectXVersion = dwDirectXVersion;
|
||||
}
|
||||
|
||||
if( strDirectXVersion && cchDirectXVersion > 0 )
|
||||
{
|
||||
// If strDirectXVersion is non-NULL, then set it to something
|
||||
// like "8.1b" which would represent DX8.1b
|
||||
if( cDirectXVersionLetter == ' ' )
|
||||
_sntprintf( strDirectXVersion, cchDirectXVersion, TEXT("%d.%d"), dwDirectXVersionMajor, dwDirectXVersionMinor );
|
||||
else
|
||||
_sntprintf( strDirectXVersion, cchDirectXVersion, TEXT("%d.%d%c"), dwDirectXVersionMajor, dwDirectXVersionMinor, cDirectXVersionLetter );
|
||||
strDirectXVersion[cchDirectXVersion-1] = 0;
|
||||
}
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Name: GetDirectXVersionViaDxDiag()
|
||||
// Desc: Tries to get the DirectX version from DxDiag's COM interface
|
||||
//-----------------------------------------------------------------------------
|
||||
HRESULT GetDirectXVersionViaDxDiag( DWORD* pdwDirectXVersionMajor,
|
||||
DWORD* pdwDirectXVersionMinor,
|
||||
TCHAR* pcDirectXVersionLetter )
|
||||
{
|
||||
HRESULT hr;
|
||||
bool bCleanupCOM = false;
|
||||
|
||||
bool bSuccessGettingMajor = false;
|
||||
bool bSuccessGettingMinor = false;
|
||||
bool bSuccessGettingLetter = false;
|
||||
|
||||
// Init COM. COM may fail if its already been inited with a different
|
||||
// concurrency model. And if it fails you shouldn't release it.
|
||||
hr = CoInitialize(NULL);
|
||||
bCleanupCOM = SUCCEEDED(hr);
|
||||
|
||||
// Get an IDxDiagProvider
|
||||
bool bGotDirectXVersion = false;
|
||||
IDxDiagProvider* pDxDiagProvider = NULL;
|
||||
hr = CoCreateInstance( CLSID_DxDiagProvider,
|
||||
NULL,
|
||||
CLSCTX_INPROC_SERVER,
|
||||
IID_IDxDiagProvider,
|
||||
(LPVOID*) &pDxDiagProvider );
|
||||
if( SUCCEEDED(hr) )
|
||||
{
|
||||
// Fill out a DXDIAG_INIT_PARAMS struct
|
||||
DXDIAG_INIT_PARAMS dxDiagInitParam;
|
||||
ZeroMemory( &dxDiagInitParam, sizeof(DXDIAG_INIT_PARAMS) );
|
||||
dxDiagInitParam.dwSize = sizeof(DXDIAG_INIT_PARAMS);
|
||||
dxDiagInitParam.dwDxDiagHeaderVersion = DXDIAG_DX9_SDK_VERSION;
|
||||
dxDiagInitParam.bAllowWHQLChecks = false;
|
||||
dxDiagInitParam.pReserved = NULL;
|
||||
|
||||
// Init the m_pDxDiagProvider
|
||||
hr = pDxDiagProvider->Initialize( &dxDiagInitParam );
|
||||
if( SUCCEEDED(hr) )
|
||||
{
|
||||
IDxDiagContainer* pDxDiagRoot = NULL;
|
||||
IDxDiagContainer* pDxDiagSystemInfo = NULL;
|
||||
|
||||
// Get the DxDiag root container
|
||||
hr = pDxDiagProvider->GetRootContainer( &pDxDiagRoot );
|
||||
if( SUCCEEDED(hr) )
|
||||
{
|
||||
// Get the object called DxDiag_SystemInfo
|
||||
hr = pDxDiagRoot->GetChildContainer( L"DxDiag_SystemInfo", &pDxDiagSystemInfo );
|
||||
if( SUCCEEDED(hr) )
|
||||
{
|
||||
VARIANT var;
|
||||
VariantInit( &var );
|
||||
|
||||
// Get the "dwDirectXVersionMajor" property
|
||||
hr = pDxDiagSystemInfo->GetProp( L"dwDirectXVersionMajor", &var );
|
||||
if( SUCCEEDED(hr) && var.vt == VT_UI4 )
|
||||
{
|
||||
if( pdwDirectXVersionMajor )
|
||||
*pdwDirectXVersionMajor = var.ulVal;
|
||||
bSuccessGettingMajor = true;
|
||||
}
|
||||
VariantClear( &var );
|
||||
|
||||
// Get the "dwDirectXVersionMinor" property
|
||||
hr = pDxDiagSystemInfo->GetProp( L"dwDirectXVersionMinor", &var );
|
||||
if( SUCCEEDED(hr) && var.vt == VT_UI4 )
|
||||
{
|
||||
if( pdwDirectXVersionMinor )
|
||||
*pdwDirectXVersionMinor = var.ulVal;
|
||||
bSuccessGettingMinor = true;
|
||||
}
|
||||
VariantClear( &var );
|
||||
|
||||
// Get the "szDirectXVersionLetter" property
|
||||
hr = pDxDiagSystemInfo->GetProp( L"szDirectXVersionLetter", &var );
|
||||
if( SUCCEEDED(hr) && var.vt == VT_BSTR && var.bstrVal != NULL )
|
||||
{
|
||||
#ifdef UNICODE
|
||||
*pcDirectXVersionLetter = var.bstrVal[0];
|
||||
#else
|
||||
char strDestination[10];
|
||||
WideCharToMultiByte( CP_ACP, 0, var.bstrVal, -1, strDestination, 10*sizeof(CHAR), NULL, NULL );
|
||||
if( pcDirectXVersionLetter )
|
||||
*pcDirectXVersionLetter = strDestination[0];
|
||||
#endif
|
||||
bSuccessGettingLetter = true;
|
||||
}
|
||||
VariantClear( &var );
|
||||
|
||||
// If it all worked right, then mark it down
|
||||
if( bSuccessGettingMajor && bSuccessGettingMinor && bSuccessGettingLetter )
|
||||
bGotDirectXVersion = true;
|
||||
|
||||
pDxDiagSystemInfo->Release();
|
||||
}
|
||||
|
||||
pDxDiagRoot->Release();
|
||||
}
|
||||
}
|
||||
|
||||
pDxDiagProvider->Release();
|
||||
}
|
||||
|
||||
if( bCleanupCOM )
|
||||
CoUninitialize();
|
||||
|
||||
if( bGotDirectXVersion )
|
||||
return S_OK;
|
||||
else
|
||||
return E_FAIL;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Name: GetDirectXVerionViaFileVersions()
|
||||
// Desc: Tries to get the DirectX version by looking at DirectX file versions
|
||||
//-----------------------------------------------------------------------------
|
||||
HRESULT GetDirectXVerionViaFileVersions( DWORD* pdwDirectXVersionMajor,
|
||||
DWORD* pdwDirectXVersionMinor,
|
||||
TCHAR* pcDirectXVersionLetter )
|
||||
{
|
||||
ULARGE_INTEGER llFileVersion;
|
||||
TCHAR szPath[512];
|
||||
TCHAR szFile[512];
|
||||
BOOL bFound = false;
|
||||
|
||||
if( GetSystemDirectory( szPath, MAX_PATH ) != 0 )
|
||||
{
|
||||
szPath[MAX_PATH-1]=0;
|
||||
|
||||
// Switch off the ddraw version
|
||||
_tcscpy( szFile, szPath );
|
||||
_tcscat( szFile, TEXT("\\ddraw.dll") );
|
||||
if( SUCCEEDED( GetFileVersion( szFile, &llFileVersion ) ) )
|
||||
{
|
||||
if( CompareLargeInts( llFileVersion, MakeInt64( 4, 2, 0, 95 ) ) >= 0 ) // Win9x version
|
||||
{
|
||||
// flle is >= DX1.0 version, so we must be at least DX1.0
|
||||
if( pdwDirectXVersionMajor ) *pdwDirectXVersionMajor = 1;
|
||||
if( pdwDirectXVersionMinor ) *pdwDirectXVersionMinor = 0;
|
||||
if( pcDirectXVersionLetter ) *pcDirectXVersionLetter = TEXT(' ');
|
||||
bFound = true;
|
||||
}
|
||||
|
||||
if( CompareLargeInts( llFileVersion, MakeInt64( 4, 3, 0, 1096 ) ) >= 0 ) // Win9x version
|
||||
{
|
||||
// flle is is >= DX2.0 version, so we must DX2.0 or DX2.0a (no redist change)
|
||||
if( pdwDirectXVersionMajor ) *pdwDirectXVersionMajor = 2;
|
||||
if( pdwDirectXVersionMinor ) *pdwDirectXVersionMinor = 0;
|
||||
if( pcDirectXVersionLetter ) *pcDirectXVersionLetter = TEXT(' ');
|
||||
bFound = true;
|
||||
}
|
||||
|
||||
if( CompareLargeInts( llFileVersion, MakeInt64( 4, 4, 0, 68 ) ) >= 0 ) // Win9x version
|
||||
{
|
||||
// flle is is >= DX3.0 version, so we must be at least DX3.0
|
||||
if( pdwDirectXVersionMajor ) *pdwDirectXVersionMajor = 3;
|
||||
if( pdwDirectXVersionMinor ) *pdwDirectXVersionMinor = 0;
|
||||
if( pcDirectXVersionLetter ) *pcDirectXVersionLetter = TEXT(' ');
|
||||
bFound = true;
|
||||
}
|
||||
}
|
||||
|
||||
// Switch off the d3drg8x.dll version
|
||||
_tcscpy( szFile, szPath );
|
||||
_tcscat( szFile, TEXT("\\d3drg8x.dll") );
|
||||
if( SUCCEEDED( GetFileVersion( szFile, &llFileVersion ) ) )
|
||||
{
|
||||
if( CompareLargeInts( llFileVersion, MakeInt64( 4, 4, 0, 70 ) ) >= 0 ) // Win9x version
|
||||
{
|
||||
// d3drg8x.dll is the DX3.0a version, so we must be DX3.0a or DX3.0b (no redist change)
|
||||
if( pdwDirectXVersionMajor ) *pdwDirectXVersionMajor = 3;
|
||||
if( pdwDirectXVersionMinor ) *pdwDirectXVersionMinor = 0;
|
||||
if( pcDirectXVersionLetter ) *pcDirectXVersionLetter = TEXT('a');
|
||||
bFound = true;
|
||||
}
|
||||
}
|
||||
|
||||
// Switch off the ddraw version
|
||||
_tcscpy( szFile, szPath );
|
||||
_tcscat( szFile, TEXT("\\ddraw.dll") );
|
||||
if( SUCCEEDED( GetFileVersion( szFile, &llFileVersion ) ) )
|
||||
{
|
||||
if( CompareLargeInts( llFileVersion, MakeInt64( 4, 5, 0, 155 ) ) >= 0 ) // Win9x version
|
||||
{
|
||||
// ddraw.dll is the DX5.0 version, so we must be DX5.0 or DX5.2 (no redist change)
|
||||
if( pdwDirectXVersionMajor ) *pdwDirectXVersionMajor = 5;
|
||||
if( pdwDirectXVersionMinor ) *pdwDirectXVersionMinor = 0;
|
||||
if( pcDirectXVersionLetter ) *pcDirectXVersionLetter = TEXT(' ');
|
||||
bFound = true;
|
||||
}
|
||||
|
||||
if( CompareLargeInts( llFileVersion, MakeInt64( 4, 6, 0, 318 ) ) >= 0 ) // Win9x version
|
||||
{
|
||||
// ddraw.dll is the DX6.0 version, so we must be at least DX6.0
|
||||
if( pdwDirectXVersionMajor ) *pdwDirectXVersionMajor = 6;
|
||||
if( pdwDirectXVersionMinor ) *pdwDirectXVersionMinor = 0;
|
||||
if( pcDirectXVersionLetter ) *pcDirectXVersionLetter = TEXT(' ');
|
||||
bFound = true;
|
||||
}
|
||||
|
||||
if( CompareLargeInts( llFileVersion, MakeInt64( 4, 6, 0, 436 ) ) >= 0 ) // Win9x version
|
||||
{
|
||||
// ddraw.dll is the DX6.1 version, so we must be at least DX6.1
|
||||
if( pdwDirectXVersionMajor ) *pdwDirectXVersionMajor = 6;
|
||||
if( pdwDirectXVersionMinor ) *pdwDirectXVersionMinor = 1;
|
||||
if( pcDirectXVersionLetter ) *pcDirectXVersionLetter = TEXT(' ');
|
||||
bFound = true;
|
||||
}
|
||||
}
|
||||
|
||||
// Switch off the dplayx.dll version
|
||||
_tcscpy( szFile, szPath );
|
||||
_tcscat( szFile, TEXT("\\dplayx.dll") );
|
||||
if( SUCCEEDED( GetFileVersion( szFile, &llFileVersion ) ) )
|
||||
{
|
||||
if( CompareLargeInts( llFileVersion, MakeInt64( 4, 6, 3, 518 ) ) >= 0 ) // Win9x version
|
||||
{
|
||||
// ddraw.dll is the DX6.1 version, so we must be at least DX6.1a
|
||||
if( pdwDirectXVersionMajor ) *pdwDirectXVersionMajor = 6;
|
||||
if( pdwDirectXVersionMinor ) *pdwDirectXVersionMinor = 1;
|
||||
if( pcDirectXVersionLetter ) *pcDirectXVersionLetter = TEXT('a');
|
||||
bFound = true;
|
||||
}
|
||||
}
|
||||
|
||||
// Switch off the ddraw version
|
||||
_tcscpy( szFile, szPath );
|
||||
_tcscat( szFile, TEXT("\\ddraw.dll") );
|
||||
if( SUCCEEDED( GetFileVersion( szFile, &llFileVersion ) ) )
|
||||
{
|
||||
if( CompareLargeInts( llFileVersion, MakeInt64( 4, 7, 0, 700 ) ) >= 0 ) // Win9x version
|
||||
{
|
||||
// TODO: find win2k version
|
||||
|
||||
// ddraw.dll is the DX7.0 version, so we must be at least DX7.0
|
||||
if( pdwDirectXVersionMajor ) *pdwDirectXVersionMajor = 7;
|
||||
if( pdwDirectXVersionMinor ) *pdwDirectXVersionMinor = 0;
|
||||
if( pcDirectXVersionLetter ) *pcDirectXVersionLetter = TEXT(' ');
|
||||
bFound = true;
|
||||
}
|
||||
}
|
||||
|
||||
// Switch off the dinput version
|
||||
_tcscpy( szFile, szPath );
|
||||
_tcscat( szFile, TEXT("\\dinput.dll") );
|
||||
if( SUCCEEDED( GetFileVersion( szFile, &llFileVersion ) ) )
|
||||
{
|
||||
if( CompareLargeInts( llFileVersion, MakeInt64( 4, 7, 0, 716 ) ) >= 0 ) // Win9x version
|
||||
{
|
||||
// ddraw.dll is the DX7.0 version, so we must be at least DX7.0a
|
||||
if( pdwDirectXVersionMajor ) *pdwDirectXVersionMajor = 7;
|
||||
if( pdwDirectXVersionMinor ) *pdwDirectXVersionMinor = 0;
|
||||
if( pcDirectXVersionLetter ) *pcDirectXVersionLetter = TEXT('a');
|
||||
bFound = true;
|
||||
}
|
||||
}
|
||||
|
||||
// Switch off the ddraw version
|
||||
_tcscpy( szFile, szPath );
|
||||
_tcscat( szFile, TEXT("\\ddraw.dll") );
|
||||
if( SUCCEEDED( GetFileVersion( szFile, &llFileVersion ) ) )
|
||||
{
|
||||
if( (HIWORD(llFileVersion.HighPart) == 4 && CompareLargeInts( llFileVersion, MakeInt64( 4, 8, 0, 400 ) ) >= 0) || // Win9x version
|
||||
(HIWORD(llFileVersion.HighPart) == 5 && CompareLargeInts( llFileVersion, MakeInt64( 5, 1, 2258, 400 ) ) >= 0) ) // Win2k/WinXP version
|
||||
{
|
||||
// ddraw.dll is the DX8.0 version, so we must be at least DX8.0 or DX8.0a (no redist change)
|
||||
if( pdwDirectXVersionMajor ) *pdwDirectXVersionMajor = 8;
|
||||
if( pdwDirectXVersionMinor ) *pdwDirectXVersionMinor = 0;
|
||||
if( pcDirectXVersionLetter ) *pcDirectXVersionLetter = TEXT(' ');
|
||||
bFound = true;
|
||||
}
|
||||
}
|
||||
|
||||
_tcscpy( szFile, szPath );
|
||||
_tcscat( szFile, TEXT("\\d3d8.dll"));
|
||||
if( SUCCEEDED( GetFileVersion( szFile, &llFileVersion ) ) )
|
||||
{
|
||||
if( (HIWORD(llFileVersion.HighPart) == 4 && CompareLargeInts( llFileVersion, MakeInt64( 4, 8, 1, 881 ) ) >= 0) || // Win9x version
|
||||
(HIWORD(llFileVersion.HighPart) == 5 && CompareLargeInts( llFileVersion, MakeInt64( 5, 1, 2600, 881 ) ) >= 0) ) // Win2k/WinXP version
|
||||
{
|
||||
// d3d8.dll is the DX8.1 version, so we must be at least DX8.1
|
||||
if( pdwDirectXVersionMajor ) *pdwDirectXVersionMajor = 8;
|
||||
if( pdwDirectXVersionMinor ) *pdwDirectXVersionMinor = 1;
|
||||
if( pcDirectXVersionLetter ) *pcDirectXVersionLetter = TEXT(' ');
|
||||
bFound = true;
|
||||
}
|
||||
|
||||
if( (HIWORD(llFileVersion.HighPart) == 4 && CompareLargeInts( llFileVersion, MakeInt64( 4, 8, 1, 901 ) ) >= 0) || // Win9x version
|
||||
(HIWORD(llFileVersion.HighPart) == 5 && CompareLargeInts( llFileVersion, MakeInt64( 5, 1, 2600, 901 ) ) >= 0) ) // Win2k/WinXP version
|
||||
{
|
||||
// d3d8.dll is the DX8.1a version, so we must be at least DX8.1a
|
||||
if( pdwDirectXVersionMajor ) *pdwDirectXVersionMajor = 8;
|
||||
if( pdwDirectXVersionMinor ) *pdwDirectXVersionMinor = 1;
|
||||
if( pcDirectXVersionLetter ) *pcDirectXVersionLetter = TEXT('a');
|
||||
bFound = true;
|
||||
}
|
||||
}
|
||||
|
||||
_tcscpy( szFile, szPath );
|
||||
_tcscat( szFile, TEXT("\\mpg2splt.ax"));
|
||||
if( SUCCEEDED( GetFileVersion( szFile, &llFileVersion ) ) )
|
||||
{
|
||||
if( CompareLargeInts( llFileVersion, MakeInt64( 6, 3, 1, 885 ) ) >= 0 ) // Win9x/Win2k/WinXP version
|
||||
{
|
||||
// quartz.dll is the DX8.1b version, so we must be at least DX8.1b
|
||||
if( pdwDirectXVersionMajor ) *pdwDirectXVersionMajor = 8;
|
||||
if( pdwDirectXVersionMinor ) *pdwDirectXVersionMinor = 1;
|
||||
if( pcDirectXVersionLetter ) *pcDirectXVersionLetter = TEXT('b');
|
||||
bFound = true;
|
||||
}
|
||||
}
|
||||
|
||||
_tcscpy( szFile, szPath );
|
||||
_tcscat( szFile, TEXT("\\dpnet.dll"));
|
||||
if( SUCCEEDED( GetFileVersion( szFile, &llFileVersion ) ) )
|
||||
{
|
||||
if( (HIWORD(llFileVersion.HighPart) == 4 && CompareLargeInts( llFileVersion, MakeInt64( 4, 9, 0, 134 ) ) >= 0) || // Win9x version
|
||||
(HIWORD(llFileVersion.HighPart) == 5 && CompareLargeInts( llFileVersion, MakeInt64( 5, 2, 3677, 134 ) ) >= 0) ) // Win2k/WinXP version
|
||||
{
|
||||
// dpnet.dll is the DX8.2 version, so we must be at least DX8.2
|
||||
if( pdwDirectXVersionMajor ) *pdwDirectXVersionMajor = 8;
|
||||
if( pdwDirectXVersionMinor ) *pdwDirectXVersionMinor = 2;
|
||||
if( pcDirectXVersionLetter ) *pcDirectXVersionLetter = TEXT(' ');
|
||||
bFound = true;
|
||||
}
|
||||
}
|
||||
|
||||
_tcscpy( szFile, szPath );
|
||||
_tcscat( szFile, TEXT("\\d3d9.dll"));
|
||||
if( SUCCEEDED( GetFileVersion( szFile, &llFileVersion ) ) )
|
||||
{
|
||||
// File exists, but be at least DX9
|
||||
if( pdwDirectXVersionMajor ) *pdwDirectXVersionMajor = 9;
|
||||
if( pdwDirectXVersionMinor ) *pdwDirectXVersionMinor = 0;
|
||||
if( pcDirectXVersionLetter ) *pcDirectXVersionLetter = TEXT(' ');
|
||||
bFound = true;
|
||||
}
|
||||
}
|
||||
|
||||
if( !bFound )
|
||||
{
|
||||
// No DirectX installed
|
||||
if( pdwDirectXVersionMajor ) *pdwDirectXVersionMajor = 0;
|
||||
if( pdwDirectXVersionMinor ) *pdwDirectXVersionMinor = 0;
|
||||
if( pcDirectXVersionLetter ) *pcDirectXVersionLetter = TEXT(' ');
|
||||
}
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Name: GetFileVersion()
|
||||
// Desc: Returns ULARGE_INTEGER with a file version of a file, or a failure code.
|
||||
//-----------------------------------------------------------------------------
|
||||
HRESULT GetFileVersion( TCHAR* szPath, ULARGE_INTEGER* pllFileVersion )
|
||||
{
|
||||
if( szPath == NULL || pllFileVersion == NULL )
|
||||
return E_INVALIDARG;
|
||||
|
||||
DWORD dwHandle;
|
||||
UINT cb;
|
||||
cb = GetFileVersionInfoSize( szPath, &dwHandle );
|
||||
if (cb > 0)
|
||||
{
|
||||
BYTE* pFileVersionBuffer = new BYTE[cb];
|
||||
if( pFileVersionBuffer == NULL )
|
||||
return E_OUTOFMEMORY;
|
||||
|
||||
if (GetFileVersionInfo( szPath, 0, cb, pFileVersionBuffer))
|
||||
{
|
||||
VS_FIXEDFILEINFO* pVersion = NULL;
|
||||
if (VerQueryValue(pFileVersionBuffer, TEXT("\\"), (VOID**)&pVersion, &cb) &&
|
||||
pVersion != NULL)
|
||||
{
|
||||
pllFileVersion->HighPart = pVersion->dwFileVersionMS;
|
||||
pllFileVersion->LowPart = pVersion->dwFileVersionLS;
|
||||
delete[] pFileVersionBuffer;
|
||||
return S_OK;
|
||||
}
|
||||
}
|
||||
|
||||
delete[] pFileVersionBuffer;
|
||||
}
|
||||
|
||||
return E_FAIL;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Name: MakeInt64()
|
||||
// Desc: Returns a ULARGE_INTEGER where a<<48|b<<32|c<<16|d<<0
|
||||
//-----------------------------------------------------------------------------
|
||||
ULARGE_INTEGER MakeInt64( WORD a, WORD b, WORD c, WORD d )
|
||||
{
|
||||
ULARGE_INTEGER ull;
|
||||
ull.HighPart = MAKELONG(b,a);
|
||||
ull.LowPart = MAKELONG(d,c);
|
||||
return ull;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Name: CompareLargeInts()
|
||||
// Desc: Returns 1 if ullParam1 > ullParam2
|
||||
// Returns 0 if ullParam1 = ullParam2
|
||||
// Returns -1 if ullParam1 < ullParam2
|
||||
//-----------------------------------------------------------------------------
|
||||
int CompareLargeInts( ULARGE_INTEGER ullParam1, ULARGE_INTEGER ullParam2 )
|
||||
{
|
||||
if( ullParam1.HighPart > ullParam2.HighPart )
|
||||
return 1;
|
||||
if( ullParam1.HighPart < ullParam2.HighPart )
|
||||
return -1;
|
||||
|
||||
if( ullParam1.LowPart > ullParam2.LowPart )
|
||||
return 1;
|
||||
if( ullParam1.LowPart < ullParam2.LowPart )
|
||||
return -1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
BIN
Tools/ClientSetup/icon1.ico
Normal file
BIN
Tools/ClientSetup/icon1.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.2 KiB |
1019
Tools/ClientSetup/numeric_tools.h
Normal file
1019
Tools/ClientSetup/numeric_tools.h
Normal file
File diff suppressed because it is too large
Load Diff
BIN
Tools/ClientSetup/res/ClientSetup.ico
Normal file
BIN
Tools/ClientSetup/res/ClientSetup.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.2 KiB |
13
Tools/ClientSetup/res/ClientSetup.rc2
Normal file
13
Tools/ClientSetup/res/ClientSetup.rc2
Normal file
@@ -0,0 +1,13 @@
|
||||
//
|
||||
// CLIENTSETUP.RC2 - resources Microsoft Visual C++ does not edit directly
|
||||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#error this file is not editable by Microsoft Visual C++
|
||||
#endif //APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Add manually edited resources here...
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
172
Tools/ClientSetup/resource.h
Normal file
172
Tools/ClientSetup/resource.h
Normal file
@@ -0,0 +1,172 @@
|
||||
//{{NO_DEPENDENCIES}}
|
||||
// Microsoft Visual C++ generated include file.
|
||||
// Used by ClientSetup.rc
|
||||
//
|
||||
|
||||
#define MANIFEST_RESOURCE_ID 1
|
||||
|
||||
|
||||
#define IDD_CLIENTSETUP_DIALOG 100
|
||||
#define IDR_MAINFRAME 101
|
||||
#define IDS_MINDEPTHBITS 102
|
||||
#define IDS_MINSTENCILBITS 103
|
||||
#define IDS_APP_TITLE 104
|
||||
#define IDS_OS_WIN98 105
|
||||
#define IDS_OS_WINME 106
|
||||
#define IDS_OS_WIN2000 107
|
||||
#define IDS_OS_WINXP 108
|
||||
#define IDS_OS_ERROR 109
|
||||
#define IDS_MEM_OK 110
|
||||
#define IDS_MEM_ERROR 111
|
||||
#define IDS_CPU_DESC 112
|
||||
#define IDS_HDD_OK 113
|
||||
#define IDS_HDD_ERROR 114
|
||||
#define IDS_DIRECTX_OK 115
|
||||
#define IDS_DIRECTX_ERROR 116
|
||||
#define IDS_SOUND_OK 117
|
||||
#define IDS_SOUND_ERROR 118
|
||||
#define IDS_GAMEPORT_DESC 119
|
||||
#define IDS_FREQ_DESC 120
|
||||
#define IDS_COLOR_DESC 121
|
||||
#define IDS_VIDEO_DESC 122
|
||||
#define IDS_RESOLUTION_DESC 123
|
||||
#define IDS_GRAPHICOPTION_DESC 124
|
||||
#define IDS_CHARSHADOW_DESC 125
|
||||
#define IDS_SCREENEFFECT_DESC 126
|
||||
#define IDS_SCREENEFFECT_ERROR 127
|
||||
#define IDS_HOUSESHADOW_DESC 128
|
||||
#define IDS_HOUSESHADOW_ERROR 129
|
||||
#define IDS_TEXTURE_DESC 130
|
||||
#define IDS_TEXTURE_ERROR 131
|
||||
#define IDS_VIEWRANGE_DESC 132
|
||||
#define IDS_GRASS_DESC 133
|
||||
#define IDS_WATEREFFECT_DESC 134
|
||||
#define IDS_WATEREFFECT_ERROR 135
|
||||
#define IDS_GLOWEFFECT_DESC 136
|
||||
#define IDS_WEATHEREFFECT_DESC 137
|
||||
#define IDS_SCREEN_DESC 138
|
||||
#define IDS_LANGUAGE_DESC 139
|
||||
#define IDS_ERR_UNKNOWNDX 200
|
||||
#define IDS_ERR_NOTDX 201
|
||||
#define IDS_ERR_NOTDX8 202
|
||||
#define IDS_ERR_NOHW 203
|
||||
#define IDS_ERR_HANDLE 204
|
||||
#define IDS_ERR_INITVALUE 205
|
||||
#define IDS_ERR_RENDEROPTION 206
|
||||
#define IDS_ERR_NOTINSTALL 207
|
||||
#define IDS_LOCAL_EXIST 300
|
||||
#define IDS_LOCAL_NOTEXIST 301
|
||||
#define IDS_LOCAL_NEAR 302
|
||||
#define IDS_LOCAL_FAR 303
|
||||
#define IDS_LOCAL_CUSTOMSETTING 304
|
||||
#define IDS_LOCAL_LOWSETTING 305
|
||||
#define IDS_LOCAL_MEDIUMSETTING 306
|
||||
#define IDS_LOCAL_HIGHSETTING 307
|
||||
#define IDS_LOCAL_LOW 308
|
||||
#define IDS_LOCAL_HIGH 309
|
||||
#define IDS_LOCAL_OS 310
|
||||
#define IDS_LOCAL_MEMORY 311
|
||||
#define IDS_LOCAL_CPU 312
|
||||
#define IDS_LOCAL_HDD 313
|
||||
#define IDS_LOCAL_DIRECTX 314
|
||||
#define IDS_LOCAL_SOUNDCARD 315
|
||||
#define IDS_LOCAL_VIDEOCARD 316
|
||||
#define IDS_LOCAL_RESOLUTION 317
|
||||
#define IDS_LOCAL_COLOR 318
|
||||
#define IDS_LOCAL_REFRESH 319
|
||||
#define IDS_LOCAL_QUALITY 320
|
||||
#define IDS_LOCAL_GAMEPORT 321
|
||||
#define IDS_LOCAL_CHARSHADOW 322
|
||||
#define IDS_LOCAL_HOUSESHADOW 323
|
||||
#define IDS_LOCAL_VIEWRANGE 324
|
||||
#define IDS_LOCAL_TEXQUALITY 325
|
||||
#define IDS_LOCAL_GRASS 326
|
||||
#define IDS_LOCAL_SCREENEFFECT 327
|
||||
#define IDS_LOCAL_WATEREFFECT 328
|
||||
#define IDS_LOCAL_GLOWEFFECT 329
|
||||
#define IDS_LOCAL_WEATHEREFFECT 330
|
||||
#define IDS_LOCAL_SYSTEM 331
|
||||
#define IDS_LOCAL_GENERAL 332
|
||||
#define IDS_LOCAL_ADVANCE 333
|
||||
#define IDS_LOCAL_SPECIAL 334
|
||||
#define IDS_LOCAL_OK 335
|
||||
#define IDS_LOCAL_CANCEL 336
|
||||
#define IDS_LOCAL_SCREENMODE 337
|
||||
#define IDS_LOCAL_FULLSCREEN 338
|
||||
#define IDS_LOCAL_WINDOWMODE 339
|
||||
#define IDS_LOCAL_MULTILANGUAGESUPPORT 400
|
||||
#define IDS_FOLDER 500
|
||||
#define IDS_LANGUAGE 501
|
||||
#define IDS_LOCAL_LANGUAGE 600
|
||||
#define IDS_LOCAL_LANGUAGE1 601
|
||||
#define IDS_LOCAL_LANGUAGE2 602
|
||||
#define IDS_LOCAL_LANGUAGE3 603
|
||||
#define IDS_LOCAL_LANGUAGE4 604
|
||||
#define IDS_LOCAL_LANGUAGE5 605
|
||||
#define IDS_LOCAL_LANGUAGE6 606
|
||||
#define IDC_OS 1000
|
||||
#define IDC_MEMORY 1001
|
||||
#define IDC_CPUSPEED 1002
|
||||
#define IDC_HDDCAP 1003
|
||||
#define IDC_DIRECTVERSION 1004
|
||||
#define IDC_SOUNDCARD 1005
|
||||
#define IDC_COMBO_VIDEOCARD 1006
|
||||
#define IDC_COMBO_MODE 1007
|
||||
#define IDC_COMBO_COLOR 1008
|
||||
#define IDC_COMBO_REFRESH 1009
|
||||
#define IDC_COMBO_QUALITY 1010
|
||||
#define IDC_GAME_PORT 1011
|
||||
#define IDC_COMBO_CHARSHADOW 1012
|
||||
#define IDC_COMBO_LIGHTMAP 1013
|
||||
#define IDC_COMBO_RANGE 1014
|
||||
#define IDC_COMBO_ABLETEXTURE 1015
|
||||
#define IDC_COMBO_GRASSRENDERING 1016
|
||||
#define IDC_COMBO_SCREENFILTER 1017
|
||||
#define IDC_COMBO_WATEREFFECT 1018
|
||||
#define IDC_COMBO_GLOWEFFECT 1019
|
||||
#define IDC_COMBO_WEATHEREFFECT 1020
|
||||
#define IDC_COMBO_WINDOWMODE 1021
|
||||
#define IDC_COMBO_LANGUAGE 1022
|
||||
#define IDC_STATIC_OS 1050
|
||||
#define IDC_STATIC_MEMORY 1051
|
||||
#define IDC_STATIC_CPUSPEED 1052
|
||||
#define IDC_STATIC_HDDCAP 1053
|
||||
#define IDC_STATIC_DIRECTVERSION 1054
|
||||
#define IDC_STATIC_SOUNDCARD 1055
|
||||
#define IDC_STATIC_VIDEOCARD 1056
|
||||
#define IDC_STATIC_RES 1057
|
||||
#define IDC_STATIC_COLOR 1058
|
||||
#define IDC_STATIC_REFRESH 1059
|
||||
#define IDC_STATIC_OPTIONSIMPLE 1060
|
||||
#define IDC_STATIC_GAME_PORT 1061
|
||||
#define IDC_STATIC_CHARACTERSHADOW 1062
|
||||
#define IDC_STATIC_HOUSESHADOW 1063
|
||||
#define IDC_STATIC_VIEWRANGE 1064
|
||||
#define IDC_STATIC_TEXTURE 1065
|
||||
#define IDC_STATIC_GRASS 1066
|
||||
#define IDC_STATIC_SCREENFILTER 1067
|
||||
#define IDC_STATIC_WATEREFFECT 1068
|
||||
#define IDC_STATIC_GLOWEFFECT 1069
|
||||
#define IDC_STATIC_WEATHEREFFECT 1070
|
||||
#define IDC_STATIC_WINDOWMODE 1071
|
||||
#define IDC_STATIC_LANGUAGE 1072
|
||||
#define IDC_CHECK1 1074
|
||||
#define IDC_MULTISUPPORT 1074
|
||||
#define IDC_DESC 1100
|
||||
#define IDC_CONTROLTAB 1101
|
||||
#define IDC_IMAGE01 1102
|
||||
#define IDB_IMAGE02 1103
|
||||
#define IDB_IMAGE03 1104
|
||||
#define IDB_IMAGE04 1105
|
||||
#define IDI_ICON1 2000
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 134
|
||||
#define _APS_NEXT_COMMAND_VALUE 32771
|
||||
#define _APS_NEXT_CONTROL_VALUE 1075
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
||||
7
Tools/ClientSetup/stdafx.cpp
Normal file
7
Tools/ClientSetup/stdafx.cpp
Normal file
@@ -0,0 +1,7 @@
|
||||
// stdafx.cpp : ǥ<><C7A5> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
// ClientSetup.pch<63><68> <20≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>˴ϴ<CBB4>.
|
||||
// stdafx.obj<62><6A> <20≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
|
||||
|
||||
#include "stdafx.h"
|
||||
|
||||
|
||||
42
Tools/ClientSetup/stdafx.h
Normal file
42
Tools/ClientSetup/stdafx.h
Normal file
@@ -0,0 +1,42 @@
|
||||
// stdafx.h : <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʰ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>
|
||||
// ǥ<><C7A5> <20>ý<EFBFBD><C3BD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef VC_EXTRALEAN
|
||||
#define VC_EXTRALEAN // Windows <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ܽ<EFBFBD>ŵ<EFBFBD>ϴ<EFBFBD>.
|
||||
#endif
|
||||
|
||||
// <20>Ʒ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>켱<EFBFBD>ϴ<EFBFBD> <20>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ǹ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ͻʽÿ<CABD>.
|
||||
// <20>ٸ<EFBFBD> <20>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD> <20>ش<EFBFBD> <20><><EFBFBD><EFBFBD> <20>ֽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> MSDN<44><4E> <20><><EFBFBD><EFBFBD><EFBFBD>Ͻʽÿ<CABD>.
|
||||
#ifndef WINVER // Windows 95 <20><> Windows NT 4 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
|
||||
#define WINVER 0x0400 // Windows 98<39><38> Windows 2000 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>µ<EFBFBD><C2B5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽʽÿ<CABD>.
|
||||
#endif
|
||||
|
||||
#ifndef _WIN32_WINNT // Windows NT 4 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
|
||||
#define _WIN32_WINNT 0x0400 // Windows 98<39><38> Windows 2000 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>µ<EFBFBD><C2B5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽʽÿ<CABD>.
|
||||
#endif
|
||||
|
||||
#ifndef _WIN32_WINDOWS // Windows 98 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
|
||||
#define _WIN32_WINDOWS 0x0410 // Windows Me <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>µ<EFBFBD><C2B5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽʽÿ<CABD>.
|
||||
#endif
|
||||
|
||||
#ifndef _WIN32_IE // IE 4.0 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
|
||||
#define _WIN32_IE 0x0400 // IE 5.0 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>µ<EFBFBD><C2B5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽʽÿ<CABD>.
|
||||
#endif
|
||||
|
||||
#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // <20>Ϻ<EFBFBD> CString <20><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>˴ϴ<CBB4>.
|
||||
|
||||
// MFC<46><43> <20><><EFBFBD><EFBFBD> <20>κа<CEBA> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD><DEBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>⸦ <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
|
||||
#define _AFX_ALL_WARNINGS
|
||||
|
||||
#include <afxwin.h> // MFC <20>ٽ<EFBFBD> <20><> ǥ<><C7A5> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
#include <afxext.h> // MFC <20>ͽ<EFBFBD><CDBD>ټ<EFBFBD>
|
||||
|
||||
#include <afxdtctl.h> // Internet Explorer 4 <20><><EFBFBD><EFBFBD> <20><>Ʈ<EFBFBD>ѿ<EFBFBD> <20><><EFBFBD><EFBFBD> MFC <20><><EFBFBD><EFBFBD>
|
||||
#ifndef _AFX_NO_AFXCMN_SUPPORT
|
||||
#include <afxcmn.h> // Windows <20><><EFBFBD><EFBFBD> <20><>Ʈ<EFBFBD>ѿ<EFBFBD> <20><><EFBFBD><EFBFBD> MFC <20><><EFBFBD><EFBFBD>
|
||||
#endif // _AFX_NO_AFXCMN_SUPPORT
|
||||
|
||||
#define STR_CLIENT_REGISTRY_SUBKEY "Software\\ROW\\MP-Client"
|
||||
55
Tools/ClientSetup/timer.cpp
Normal file
55
Tools/ClientSetup/timer.cpp
Normal file
@@ -0,0 +1,55 @@
|
||||
#define TIMER_CPP
|
||||
#define CORE_DLL
|
||||
/***************************************************************\
|
||||
|
||||
^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^
|
||||
^^ ^^ ^^ ^^ ^^ ^^ ^^
|
||||
^^ ^^^^^^^^ ^^ ^^^^^^^^
|
||||
^^ ^^^ ^^ ^^ ^^ ^^ ^^
|
||||
^^ ^^ ^^ ^^ ^^ ^^ ^^
|
||||
^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^ ^^
|
||||
|
||||
sample code from the book...
|
||||
Real Time 3D Terrain Engines Using C++ and DirectX
|
||||
|
||||
by Greg Snook
|
||||
greg@mightystudios.com
|
||||
|
||||
\***************************************************************/
|
||||
|
||||
#include "timer.h"
|
||||
#include "windows.h"
|
||||
#include "GMMemory.h"
|
||||
|
||||
using namespace gaia;
|
||||
|
||||
uint32 cTimer::s_secondsFrequency = 0;
|
||||
uint32 cTimer::s_millisecondsFrequency = 0;
|
||||
float cTimer::s_invSecFrequency = 0.0f;
|
||||
|
||||
void cTimer::setupTimerFrequency()
|
||||
{
|
||||
if (!s_secondsFrequency)
|
||||
{
|
||||
LARGE_INTEGER frequency;
|
||||
QueryPerformanceFrequency(&frequency);
|
||||
|
||||
s_secondsFrequency = frequency.LowPart;
|
||||
s_millisecondsFrequency = frequency.LowPart/1000;
|
||||
|
||||
s_invSecFrequency = 1.0f/(float)s_secondsFrequency;
|
||||
}
|
||||
}
|
||||
|
||||
uint32 cTimer::samplePerformanceCounter()
|
||||
{
|
||||
LARGE_INTEGER sample;
|
||||
QueryPerformanceCounter(&sample);
|
||||
return sample.LowPart;
|
||||
}
|
||||
|
||||
//***************************************************************
|
||||
// end of file ( Timer.cpp )
|
||||
|
||||
//----------------------------------------------------------
|
||||
//$Log: $
|
||||
250
Tools/ClientSetup/timer.h
Normal file
250
Tools/ClientSetup/timer.h
Normal file
@@ -0,0 +1,250 @@
|
||||
#ifndef TIMER_H
|
||||
#define TIMER_H
|
||||
#pragma once
|
||||
/***************************************************************\
|
||||
|
||||
^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^
|
||||
^^ ^^ ^^ ^^ ^^ ^^ ^^
|
||||
^^ ^^^^^^^^ ^^ ^^^^^^^^
|
||||
^^ ^^^ ^^ ^^ ^^ ^^ ^^
|
||||
^^ ^^ ^^ ^^ ^^ ^^ ^^
|
||||
^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^ ^^
|
||||
|
||||
sample code from the book...
|
||||
Real Time 3D Terrain Engines Using C++ and DirectX
|
||||
|
||||
by Greg Snook
|
||||
greg@mightystudios.com
|
||||
|
||||
\***************************************************************/
|
||||
|
||||
#ifndef DATATYPES_H
|
||||
#include "data_types.h"
|
||||
#endif
|
||||
|
||||
#ifndef NUMERICTOOLS_H
|
||||
#include "numeric_tools.h"
|
||||
#endif
|
||||
|
||||
// Name Space declaration
|
||||
namespace gaia
|
||||
{
|
||||
|
||||
/* cTimer
|
||||
-----------------------------------------------------------------
|
||||
|
||||
A basic timer
|
||||
|
||||
-----------------------------------------------------------------
|
||||
*/
|
||||
|
||||
class cTimer
|
||||
{
|
||||
public:
|
||||
|
||||
// Data Types & Constants...
|
||||
enum TIMER_STATE
|
||||
{
|
||||
OFF = 0,
|
||||
ON,
|
||||
HOLD,
|
||||
};
|
||||
|
||||
// Public Data...
|
||||
|
||||
// Creators...
|
||||
|
||||
cTimer();
|
||||
~cTimer();
|
||||
|
||||
// Operators...
|
||||
|
||||
|
||||
void start(); // start the timer
|
||||
void stop(); // stop the timer
|
||||
|
||||
void suspend(); // pause the timer
|
||||
void resume(); // resume the timer from when is was suspended
|
||||
|
||||
// Accessors...
|
||||
float elapsedTime();
|
||||
uint32 elapsedSeconds();
|
||||
uint32 elapsedMilliseconds();
|
||||
uint32 elapsedCount();
|
||||
|
||||
private:
|
||||
|
||||
// Private Data...
|
||||
static uint32 s_secondsFrequency;
|
||||
static uint32 s_millisecondsFrequency;
|
||||
static float s_invSecFrequency;
|
||||
|
||||
uint32 m_startTime;
|
||||
uint32 m_stopTime;
|
||||
uint32 m_timeDelta;
|
||||
uint32 m_elapsedCount;
|
||||
TIMER_STATE m_state;
|
||||
|
||||
// Private Functions...
|
||||
static void setupTimerFrequency();
|
||||
uint32 samplePerformanceCounter();
|
||||
|
||||
// non-existant functions
|
||||
cTimer(const cTimer& Src);
|
||||
cTimer& operator=(const cTimer& Src);
|
||||
|
||||
};
|
||||
|
||||
//- Inline Functions --------------------------------------------
|
||||
|
||||
//. Creators ....................................................
|
||||
|
||||
/* cTimer
|
||||
-----------------------------------------------------------------
|
||||
|
||||
Default Constructor
|
||||
|
||||
-----------------------------------------------------------------
|
||||
*/
|
||||
inline cTimer::cTimer()
|
||||
:m_state(OFF)
|
||||
,m_elapsedCount(0)
|
||||
{
|
||||
memset(&m_startTime, 0, sizeof(m_startTime));
|
||||
memset(&m_stopTime, 0, sizeof(m_stopTime));
|
||||
memset(&m_timeDelta, 0, sizeof(m_timeDelta));
|
||||
setupTimerFrequency();
|
||||
}
|
||||
|
||||
/* ~cTimer
|
||||
-----------------------------------------------------------------
|
||||
|
||||
Default Destructor
|
||||
|
||||
-----------------------------------------------------------------
|
||||
*/
|
||||
inline cTimer::~cTimer()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
inline void cTimer::start() // start the timer
|
||||
{
|
||||
m_startTime = samplePerformanceCounter();
|
||||
m_elapsedCount = 0;
|
||||
m_state = ON;
|
||||
}
|
||||
|
||||
|
||||
inline void cTimer::stop() // stop the timer
|
||||
{
|
||||
m_elapsedCount = elapsedCount();
|
||||
m_state = OFF;
|
||||
}
|
||||
|
||||
|
||||
inline void cTimer::suspend() // resume the timer from when is was stopped
|
||||
{
|
||||
if (m_state == ON)
|
||||
{
|
||||
m_elapsedCount = elapsedCount();
|
||||
m_state = HOLD;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
inline void cTimer::resume() // resume the timer from when is was stopped
|
||||
{
|
||||
if (m_state == HOLD)
|
||||
{
|
||||
// get the current time
|
||||
m_startTime = samplePerformanceCounter();
|
||||
|
||||
// roll the start time back by our previous delta
|
||||
m_startTime -= m_timeDelta;
|
||||
|
||||
m_elapsedCount = 0;
|
||||
m_state = ON;
|
||||
}
|
||||
}
|
||||
|
||||
//. Accessors ............................................................................
|
||||
|
||||
inline float cTimer::elapsedTime()
|
||||
{
|
||||
if (m_state != ON)
|
||||
{
|
||||
return (float)m_elapsedCount*s_invSecFrequency;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_stopTime = samplePerformanceCounter();
|
||||
m_timeDelta = m_stopTime - m_startTime;
|
||||
|
||||
float ReportedTime = (float)m_timeDelta*s_invSecFrequency;
|
||||
|
||||
return(ReportedTime);
|
||||
}
|
||||
}
|
||||
|
||||
inline uint32 cTimer::elapsedSeconds()
|
||||
{
|
||||
if (m_state != ON)
|
||||
{
|
||||
return m_elapsedCount/s_secondsFrequency;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_stopTime = samplePerformanceCounter();
|
||||
m_timeDelta = m_stopTime - m_startTime;
|
||||
|
||||
uint32 ReportedTime = m_timeDelta/s_secondsFrequency;
|
||||
|
||||
return(ReportedTime);
|
||||
}
|
||||
}
|
||||
|
||||
inline uint32 cTimer::elapsedMilliseconds()
|
||||
{
|
||||
if (m_state != ON)
|
||||
{
|
||||
return m_elapsedCount/s_millisecondsFrequency;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_stopTime = samplePerformanceCounter();
|
||||
m_timeDelta = m_stopTime - m_startTime;
|
||||
|
||||
uint32 ReportedTime = m_timeDelta/s_millisecondsFrequency;
|
||||
|
||||
return(ReportedTime);
|
||||
}
|
||||
}
|
||||
|
||||
inline uint32 cTimer::elapsedCount()
|
||||
{
|
||||
if (m_state != ON)
|
||||
{
|
||||
return m_elapsedCount;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_stopTime = samplePerformanceCounter();
|
||||
m_timeDelta = m_stopTime - m_startTime;
|
||||
|
||||
uint32 ReportedTime = m_timeDelta;
|
||||
|
||||
return(ReportedTime);
|
||||
}
|
||||
}
|
||||
|
||||
//- End of cTimer ------------------------------------------------
|
||||
|
||||
//***************************************************************
|
||||
|
||||
} //End NameSpace: gaia
|
||||
|
||||
#endif // end of file ( cTimer.h )
|
||||
|
||||
//----------------------------------------------------------
|
||||
//$Log: $
|
||||
68
Tools/CompilerMFC/CompilerMFC.cpp
Normal file
68
Tools/CompilerMFC/CompilerMFC.cpp
Normal file
@@ -0,0 +1,68 @@
|
||||
// CompilerMFC.cpp : Defines the class behaviors for the application.
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "CompilerMFC.h"
|
||||
#include "CompilerMFCDlg.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#undef THIS_FILE
|
||||
static char THIS_FILE[] = __FILE__;
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CCompilerMFCApp
|
||||
|
||||
BEGIN_MESSAGE_MAP(CCompilerMFCApp, CWinApp)
|
||||
//{{AFX_MSG_MAP(CCompilerMFCApp)
|
||||
// NOTE - the ClassWizard will add and remove mapping macros here.
|
||||
// DO NOT EDIT what you see in these blocks of generated code!
|
||||
//}}AFX_MSG
|
||||
ON_COMMAND(ID_HELP, CWinApp::OnHelp)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CCompilerMFCApp construction
|
||||
|
||||
CCompilerMFCApp::CCompilerMFCApp()
|
||||
{
|
||||
// TODO: add construction code here,
|
||||
// Place all significant initialization in InitInstance
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// The one and only CCompilerMFCApp object
|
||||
|
||||
CCompilerMFCApp theApp;
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CCompilerMFCApp initialization
|
||||
|
||||
BOOL CCompilerMFCApp::InitInstance()
|
||||
{
|
||||
AfxEnableControlContainer();
|
||||
|
||||
// Standard initialization
|
||||
// If you are not using these features and wish to reduce the size
|
||||
// of your final executable, you should remove from the following
|
||||
// the specific initialization routines you do not need.
|
||||
|
||||
CCompilerMFCDlg dlg;
|
||||
m_pMainWnd = &dlg;
|
||||
int nResponse = dlg.DoModal();
|
||||
if (nResponse == IDOK)
|
||||
{
|
||||
// TODO: Place code here to handle when the dialog is
|
||||
// dismissed with OK
|
||||
}
|
||||
else if (nResponse == IDCANCEL)
|
||||
{
|
||||
// TODO: Place code here to handle when the dialog is
|
||||
// dismissed with Cancel
|
||||
}
|
||||
|
||||
// Since the dialog has been closed, return FALSE so that we exit the
|
||||
// application, rather than start the application's message pump.
|
||||
return FALSE;
|
||||
}
|
||||
49
Tools/CompilerMFC/CompilerMFC.h
Normal file
49
Tools/CompilerMFC/CompilerMFC.h
Normal file
@@ -0,0 +1,49 @@
|
||||
// CompilerMFC.h : main header file for the COMPILERMFC application
|
||||
//
|
||||
|
||||
#if !defined(AFX_COMPILERMFC_H__F873C597_051F_4752_8D3D_6716757FB259__INCLUDED_)
|
||||
#define AFX_COMPILERMFC_H__F873C597_051F_4752_8D3D_6716757FB259__INCLUDED_
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER > 1000
|
||||
|
||||
#ifndef __AFXWIN_H__
|
||||
#error include 'stdafx.h' before including this file for PCH
|
||||
#endif
|
||||
|
||||
#include "resource.h" // main symbols
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CCompilerMFCApp:
|
||||
// See CompilerMFC.cpp for the implementation of this class
|
||||
//
|
||||
|
||||
class CCompilerMFCApp : public CWinApp
|
||||
{
|
||||
public:
|
||||
CCompilerMFCApp();
|
||||
|
||||
// Overrides
|
||||
// ClassWizard generated virtual function overrides
|
||||
//{{AFX_VIRTUAL(CCompilerMFCApp)
|
||||
public:
|
||||
virtual BOOL InitInstance();
|
||||
//}}AFX_VIRTUAL
|
||||
|
||||
// Implementation
|
||||
|
||||
//{{AFX_MSG(CCompilerMFCApp)
|
||||
// NOTE - the ClassWizard will add and remove member functions here.
|
||||
// DO NOT EDIT what you see in these blocks of generated code !
|
||||
//}}AFX_MSG
|
||||
DECLARE_MESSAGE_MAP()
|
||||
};
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//{{AFX_INSERT_LOCATION}}
|
||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
||||
|
||||
#endif // !defined(AFX_COMPILERMFC_H__F873C597_051F_4752_8D3D_6716757FB259__INCLUDED_)
|
||||
175
Tools/CompilerMFC/CompilerMFC.rc
Normal file
175
Tools/CompilerMFC/CompilerMFC.rc
Normal file
@@ -0,0 +1,175 @@
|
||||
// Microsoft Visual C++ generated resource script.
|
||||
//
|
||||
#include "resource.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
#include "afxres.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// <20>ѱ<EFBFBD><D1B1><EFBFBD> resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
|
||||
#pragma code_page(949)
|
||||
#endif //_WIN32
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE
|
||||
BEGIN
|
||||
"#include ""afxres.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE
|
||||
BEGIN
|
||||
"#define _AFX_NO_SPLITTER_RESOURCES\r\n"
|
||||
"#define _AFX_NO_OLE_RESOURCES\r\n"
|
||||
"#define _AFX_NO_TRACKER_RESOURCES\r\n"
|
||||
"#define _AFX_NO_PROPERTY_RESOURCES\r\n"
|
||||
"\r\n"
|
||||
"#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)\r\n"
|
||||
"#ifdef _WIN32\r\n"
|
||||
"LANGUAGE 18, 1\r\n"
|
||||
"#pragma code_page(949)\r\n"
|
||||
"#endif //_WIN32\r\n"
|
||||
"#include ""res\\CompilerMFC.rc2"" // non-Microsoft Visual C++ edited resources\r\n"
|
||||
"#include ""l.kor\\afxres.rc"" // Standard components\r\n"
|
||||
"#endif\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Icon
|
||||
//
|
||||
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
IDR_MAINFRAME ICON "res\\CompilerMFC.ico"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Dialog
|
||||
//
|
||||
|
||||
IDD_COMPILERMFC_DIALOG DIALOGEX 0, 0, 291, 93
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION |
|
||||
WS_SYSMENU
|
||||
EXSTYLE WS_EX_APPWINDOW
|
||||
CAPTION "CompilerMFC"
|
||||
FONT 9, "<22><><EFBFBD><EFBFBD>", 0, 0, 0x1
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Start Compile!!",IDOK,7,72,277,14
|
||||
EDITTEXT IDC_EDIT_INPUT,7,21,221,14,ES_AUTOHSCROLL
|
||||
PUSHBUTTON "Browse...",IDC_BUTTON_BROWSE1,234,21,50,14
|
||||
EDITTEXT IDC_EDIT_OUTPUT,7,51,221,14,ES_AUTOHSCROLL
|
||||
PUSHBUTTON "Browse...",IDC_BUTTON_BROWSE2,234,51,50,14
|
||||
LTEXT "dat File (Input)",IDC_STATIC,7,7,48,8
|
||||
LTEXT "mcf File (Output)",IDC_STATIC,7,39,55,8
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Version
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 1,0,0,1
|
||||
PRODUCTVERSION 1,0,0,1
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS 0x4L
|
||||
FILETYPE 0x1L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "041204B0"
|
||||
BEGIN
|
||||
VALUE "FileDescription", "CompilerMFC MFC <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1>"
|
||||
VALUE "FileVersion", "1, 0, 0, 1"
|
||||
VALUE "InternalName", "CompilerMFC"
|
||||
VALUE "LegalCopyright", "Copyright (C) 2003"
|
||||
VALUE "OriginalFilename", "CompilerMFC.EXE"
|
||||
VALUE "ProductName", "CompilerMFC <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1>"
|
||||
VALUE "ProductVersion", "1, 0, 0, 1"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x412, 1200
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// DESIGNINFO
|
||||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
GUIDELINES DESIGNINFO
|
||||
BEGIN
|
||||
IDD_COMPILERMFC_DIALOG, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 284
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 86
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
#endif // <20>ѱ<EFBFBD><D1B1><EFBFBD> resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
#define _AFX_NO_SPLITTER_RESOURCES
|
||||
#define _AFX_NO_OLE_RESOURCES
|
||||
#define _AFX_NO_TRACKER_RESOURCES
|
||||
#define _AFX_NO_PROPERTY_RESOURCES
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE 18, 1
|
||||
#pragma code_page(949)
|
||||
#endif //_WIN32
|
||||
#include "res\CompilerMFC.rc2" // non-Microsoft Visual C++ edited resources
|
||||
#include "l.kor\afxres.rc" // Standard components
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
||||
241
Tools/CompilerMFC/CompilerMFC.vcproj
Normal file
241
Tools/CompilerMFC/CompilerMFC.vcproj
Normal file
@@ -0,0 +1,241 @@
|
||||
<?xml version="1.0" encoding="ks_c_5601-1987"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="7.10"
|
||||
Name="CompilerMFC"
|
||||
ProjectGUID="{CB57D293-D687-4895-AB60-60488B64F293}"
|
||||
SccProjectName=""
|
||||
SccLocalPath=""
|
||||
Keyword="MFCProj">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
</Platforms>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="Release"
|
||||
IntermediateDirectory="Release"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="1"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="./;../;../../Client"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
UsePrecompiledHeader="3"
|
||||
PrecompiledHeaderThrough="stdafx.h"
|
||||
PrecompiledHeaderFile=".\Release/CompilerMFC.pch"
|
||||
AssemblerListingLocation=""
|
||||
ObjectFile="$(IntDir)/"
|
||||
ProgramDataBaseFileName="$(IntDir)/vc70.pdb"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
OutputFile="$(OutDir)/$(ProjectName).exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
ProgramDatabaseFile=".\Release/Compiler.pdb"
|
||||
SubSystem="2"
|
||||
StackReserveSize="2097152"
|
||||
TargetMachine="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
MkTypLibCompatible="TRUE"
|
||||
SuppressStartupBanner="TRUE"
|
||||
TargetEnvironment="1"
|
||||
TypeLibraryName=".\Release/CompilerMFC.tlb"
|
||||
HeaderFileName=""/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1042"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="Debug"
|
||||
IntermediateDirectory="Debug"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="1"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="./;../;../../Client"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="3"
|
||||
PrecompiledHeaderThrough="stdafx.h"
|
||||
PrecompiledHeaderFile=".\Debug/CompilerMFC.pch"
|
||||
AssemblerListingLocation=""
|
||||
ObjectFile="$(IntDir)/"
|
||||
ProgramDataBaseFileName="$(IntDir)/vc70.pdb"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="4"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
OutputFile="$(OutDir)/$(ProjectName).exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
GenerateDebugInformation="TRUE"
|
||||
ProgramDatabaseFile=".\Debug/CompilerMFC.pdb"
|
||||
SubSystem="2"
|
||||
StackReserveSize="2097152"
|
||||
TargetMachine="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
MkTypLibCompatible="TRUE"
|
||||
SuppressStartupBanner="TRUE"
|
||||
TargetEnvironment="1"
|
||||
TypeLibraryName=".\Debug/CompilerMFC.tlb"
|
||||
HeaderFileName=""/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1042"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
|
||||
<File
|
||||
RelativePath="CompilerMFC.cpp">
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
PreprocessorDefinitions=""/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
PreprocessorDefinitions=""
|
||||
BasicRuntimeChecks="3"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="CompilerMFC.rc">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="CompilerMFCDlg.cpp">
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
PreprocessorDefinitions=""/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
PreprocessorDefinitions=""
|
||||
BasicRuntimeChecks="3"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="StdAfx.cpp">
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
PreprocessorDefinitions=""
|
||||
UsePrecompiledHeader="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
PreprocessorDefinitions=""
|
||||
BasicRuntimeChecks="3"
|
||||
UsePrecompiledHeader="1"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl">
|
||||
<File
|
||||
RelativePath="CompilerMFC.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="CompilerMFCDlg.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="Resource.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="StdAfx.h">
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
|
||||
<File
|
||||
RelativePath="res\CompilerMFC.ico">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="res\CompilerMFC.rc2">
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
184
Tools/CompilerMFC/CompilerMFC.vcxproj
Normal file
184
Tools/CompilerMFC/CompilerMFC.vcxproj
Normal file
@@ -0,0 +1,184 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{CB57D293-D687-4895-AB60-60488B64F293}</ProjectGuid>
|
||||
<SccProjectName />
|
||||
<SccLocalPath />
|
||||
<Keyword>MFCProj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseOfMfc>Static</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseOfMfc>Static</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<AdditionalIncludeDirectories>./;../;../../Client;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>.\Release/CompilerMFC.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>
|
||||
</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)vc70.pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<ProgramDatabaseFile>.\Release/Compiler.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<StackReserveSize>2097152</StackReserveSize>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TargetEnvironment>Win32</TargetEnvironment>
|
||||
<TypeLibraryName>.\Release/CompilerMFC.tlb</TypeLibraryName>
|
||||
<HeaderFileName>
|
||||
</HeaderFileName>
|
||||
</Midl>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0412</Culture>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>./;../;../../Client;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>.\Debug/CompilerMFC.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>
|
||||
</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)vc70.pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>.\Debug/CompilerMFC.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<StackReserveSize>2097152</StackReserveSize>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TargetEnvironment>Win32</TargetEnvironment>
|
||||
<TypeLibraryName>.\Debug/CompilerMFC.tlb</TypeLibraryName>
|
||||
<HeaderFileName>
|
||||
</HeaderFileName>
|
||||
</Midl>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0412</Culture>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="CompilerMFC.cpp">
|
||||
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
|
||||
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CompilerMFCDlg.cpp">
|
||||
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
|
||||
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<ClCompile Include="StdAfx.cpp">
|
||||
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="CompilerMFC.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="CompilerMFC.h" />
|
||||
<ClInclude Include="CompilerMFCDlg.h" />
|
||||
<ClInclude Include="Resource.h" />
|
||||
<ClInclude Include="StdAfx.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="res\CompilerMFC.ico" />
|
||||
<None Include="res\CompilerMFC.rc2" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Client\ScriptEngine\ScriptEngine.vcxproj">
|
||||
<Project>{38a28771-3fbc-4836-841d-f01c585d0df4}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
55
Tools/CompilerMFC/CompilerMFC.vcxproj.filters
Normal file
55
Tools/CompilerMFC/CompilerMFC.vcxproj.filters
Normal file
@@ -0,0 +1,55 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{00b8330c-cd53-4ce6-9ba6-d11ddc09a88f}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{23602c7f-3dd6-422a-a70d-f78353b2ed35}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{64273afa-dbda-4b0b-8cc2-92275e2de135}</UniqueIdentifier>
|
||||
<Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="CompilerMFC.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CompilerMFCDlg.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="StdAfx.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="CompilerMFC.rc">
|
||||
<Filter>Source Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="CompilerMFC.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CompilerMFCDlg.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Resource.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="StdAfx.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="res\CompilerMFC.ico">
|
||||
<Filter>Resource Files</Filter>
|
||||
</None>
|
||||
<None Include="res\CompilerMFC.rc2">
|
||||
<Filter>Resource Files</Filter>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
176
Tools/CompilerMFC/CompilerMFCDlg.cpp
Normal file
176
Tools/CompilerMFC/CompilerMFCDlg.cpp
Normal file
@@ -0,0 +1,176 @@
|
||||
// CompilerMFCDlg.cpp : implementation file
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
|
||||
#include <ScriptEngine/ScriptEngine.h>
|
||||
|
||||
#include "CompilerMFC.h"
|
||||
#include "CompilerMFCDlg.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#undef THIS_FILE
|
||||
static char THIS_FILE[] = __FILE__;
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CCompilerMFCDlg dialog
|
||||
|
||||
CCompilerMFCDlg::CCompilerMFCDlg(CWnd* pParent /*=NULL*/)
|
||||
: CDialog(CCompilerMFCDlg::IDD, pParent)
|
||||
{
|
||||
//{{AFX_DATA_INIT(CCompilerMFCDlg)
|
||||
//}}AFX_DATA_INIT
|
||||
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
|
||||
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
|
||||
}
|
||||
|
||||
void CCompilerMFCDlg::DoDataExchange(CDataExchange* pDX)
|
||||
{
|
||||
CDialog::DoDataExchange(pDX);
|
||||
//{{AFX_DATA_MAP(CCompilerMFCDlg)
|
||||
DDX_Control(pDX, IDC_EDIT_OUTPUT, m_editOutputFile);
|
||||
DDX_Control(pDX, IDC_EDIT_INPUT, m_editInputFile);
|
||||
//}}AFX_DATA_MAP
|
||||
}
|
||||
|
||||
BEGIN_MESSAGE_MAP(CCompilerMFCDlg, CDialog)
|
||||
//{{AFX_MSG_MAP(CCompilerMFCDlg)
|
||||
ON_WM_PAINT()
|
||||
ON_WM_QUERYDRAGICON()
|
||||
ON_BN_CLICKED(IDC_BUTTON_BROWSE1, OnButtonBrowse1)
|
||||
ON_BN_CLICKED(IDC_BUTTON_BROWSE2, OnButtonBrowse2)
|
||||
//}}AFX_MSG_MAP
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CCompilerMFCDlg message handlers
|
||||
|
||||
BOOL CCompilerMFCDlg::OnInitDialog()
|
||||
{
|
||||
CDialog::OnInitDialog();
|
||||
|
||||
// Set the icon for this dialog. The framework does this automatically
|
||||
// when the application's main window is not a dialog
|
||||
SetIcon(m_hIcon, TRUE); // Set big icon
|
||||
SetIcon(m_hIcon, FALSE); // Set small icon
|
||||
|
||||
// TODO: Add extra initialization here
|
||||
|
||||
return TRUE; // return TRUE unless you set the focus to a control
|
||||
}
|
||||
|
||||
// If you add a minimize button to your dialog, you will need the code below
|
||||
// to draw the icon. For MFC applications using the document/view model,
|
||||
// this is automatically done for you by the framework.
|
||||
|
||||
void CCompilerMFCDlg::OnPaint()
|
||||
{
|
||||
if (IsIconic())
|
||||
{
|
||||
CPaintDC dc(this); // device context for painting
|
||||
|
||||
SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
|
||||
|
||||
// Center icon in client rectangle
|
||||
int cxIcon = GetSystemMetrics(SM_CXICON);
|
||||
int cyIcon = GetSystemMetrics(SM_CYICON);
|
||||
CRect rect;
|
||||
GetClientRect(&rect);
|
||||
int x = (rect.Width() - cxIcon + 1) / 2;
|
||||
int y = (rect.Height() - cyIcon + 1) / 2;
|
||||
|
||||
// Draw the icon
|
||||
dc.DrawIcon(x, y, m_hIcon);
|
||||
}
|
||||
else
|
||||
{
|
||||
CDialog::OnPaint();
|
||||
}
|
||||
}
|
||||
|
||||
// The system calls this to obtain the cursor to display while the user drags
|
||||
// the minimized window.
|
||||
HCURSOR CCompilerMFCDlg::OnQueryDragIcon()
|
||||
{
|
||||
return (HCURSOR) m_hIcon;
|
||||
}
|
||||
|
||||
void CCompilerMFCDlg::OnButtonBrowse1()
|
||||
{
|
||||
static char szFilter[] = "Gama Script File(*.dat)|*.dat|All Files(*.*)|*.*||";
|
||||
|
||||
CFileDialog fileDlg( TRUE, "dat", NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter, this );
|
||||
|
||||
char szCurPath[1024];
|
||||
GetCurrentDirectory( 1024, szCurPath );
|
||||
fileDlg.m_ofn.lpstrInitialDir = szCurPath;
|
||||
|
||||
if( fileDlg.DoModal() == IDOK )
|
||||
{
|
||||
CString inputFile = fileDlg.GetPathName();
|
||||
m_editInputFile.SetWindowText( inputFile );
|
||||
|
||||
CString outputFile = inputFile;
|
||||
outputFile.MakeLower();
|
||||
outputFile.Replace( "dat", "mcf" );
|
||||
|
||||
m_editOutputFile.SetWindowText( outputFile );
|
||||
}
|
||||
}
|
||||
|
||||
void CCompilerMFCDlg::OnButtonBrowse2()
|
||||
{
|
||||
static char szFilter[] = "Machine Code File(*.mcf)|*.mcf|All Files(*.*)|*.*||";
|
||||
|
||||
CFileDialog fileDlg( FALSE, "mcf", NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter, this );
|
||||
|
||||
char szCurPath[1024];
|
||||
GetCurrentDirectory( 1024, szCurPath );
|
||||
fileDlg.m_ofn.lpstrInitialDir = szCurPath;
|
||||
|
||||
if( fileDlg.DoModal() == IDOK )
|
||||
{
|
||||
m_editOutputFile.SetWindowText( fileDlg.GetPathName() );
|
||||
}
|
||||
}
|
||||
|
||||
void ScriptMessage( const char * msg )
|
||||
{
|
||||
MessageBox( NULL, msg, "Error!!", MB_OK );
|
||||
}
|
||||
|
||||
void CCompilerMFCDlg::OnOK()
|
||||
{
|
||||
CString inputFile, outputFile;
|
||||
m_editInputFile.GetWindowText( inputFile );
|
||||
m_editOutputFile.GetWindowText( outputFile );
|
||||
|
||||
if( inputFile == "" )
|
||||
{
|
||||
MessageBox( "Input dat File Name." );
|
||||
return;
|
||||
}
|
||||
|
||||
if( outputFile == "" )
|
||||
{
|
||||
MessageBox( "Input mcf File Name." );
|
||||
return;
|
||||
}
|
||||
|
||||
_SE_SetMessageFunction( ScriptMessage );
|
||||
|
||||
SCRIPT Script;
|
||||
Script = _SE_Create( inputFile );
|
||||
|
||||
if (false == _SE_Save( Script, outputFile ))
|
||||
{
|
||||
MessageBox("<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>忡 <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD><EFBFBD>ϴ<EFBFBD>. <20>ش<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>̹<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.");
|
||||
return;
|
||||
}
|
||||
|
||||
_SE_Destroy( Script );
|
||||
|
||||
MessageBox( "Done!!" );
|
||||
}
|
||||
52
Tools/CompilerMFC/CompilerMFCDlg.h
Normal file
52
Tools/CompilerMFC/CompilerMFCDlg.h
Normal file
@@ -0,0 +1,52 @@
|
||||
// CompilerMFCDlg.h : header file
|
||||
//
|
||||
|
||||
#if !defined(AFX_COMPILERMFCDLG_H__D80E07C5_9CE0_4EC7_BD39_A658DE84A4ED__INCLUDED_)
|
||||
#define AFX_COMPILERMFCDLG_H__D80E07C5_9CE0_4EC7_BD39_A658DE84A4ED__INCLUDED_
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER > 1000
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CCompilerMFCDlg dialog
|
||||
|
||||
class CCompilerMFCDlg : public CDialog
|
||||
{
|
||||
// Construction
|
||||
public:
|
||||
CCompilerMFCDlg(CWnd* pParent = NULL); // standard constructor
|
||||
|
||||
// Dialog Data
|
||||
//{{AFX_DATA(CCompilerMFCDlg)
|
||||
enum { IDD = IDD_COMPILERMFC_DIALOG };
|
||||
CEdit m_editOutputFile;
|
||||
CEdit m_editInputFile;
|
||||
//}}AFX_DATA
|
||||
|
||||
// ClassWizard generated virtual function overrides
|
||||
//{{AFX_VIRTUAL(CCompilerMFCDlg)
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
||||
//}}AFX_VIRTUAL
|
||||
|
||||
// Implementation
|
||||
protected:
|
||||
HICON m_hIcon;
|
||||
|
||||
// Generated message map functions
|
||||
//{{AFX_MSG(CCompilerMFCDlg)
|
||||
virtual BOOL OnInitDialog();
|
||||
afx_msg void OnPaint();
|
||||
afx_msg HCURSOR OnQueryDragIcon();
|
||||
afx_msg void OnButtonBrowse1();
|
||||
afx_msg void OnButtonBrowse2();
|
||||
virtual void OnOK();
|
||||
//}}AFX_MSG
|
||||
DECLARE_MESSAGE_MAP()
|
||||
};
|
||||
|
||||
//{{AFX_INSERT_LOCATION}}
|
||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
||||
|
||||
#endif // !defined(AFX_COMPILERMFCDLG_H__D80E07C5_9CE0_4EC7_BD39_A658DE84A4ED__INCLUDED_)
|
||||
8
Tools/CompilerMFC/StdAfx.cpp
Normal file
8
Tools/CompilerMFC/StdAfx.cpp
Normal file
@@ -0,0 +1,8 @@
|
||||
// stdafx.cpp : source file that includes just the standard includes
|
||||
// CompilerMFC.pch will be the pre-compiled header
|
||||
// stdafx.obj will contain the pre-compiled type information
|
||||
|
||||
#include "stdafx.h"
|
||||
|
||||
|
||||
|
||||
27
Tools/CompilerMFC/StdAfx.h
Normal file
27
Tools/CompilerMFC/StdAfx.h
Normal file
@@ -0,0 +1,27 @@
|
||||
// stdafx.h : include file for standard system include files,
|
||||
// or project specific include files that are used frequently, but
|
||||
// are changed infrequently
|
||||
//
|
||||
|
||||
#if !defined(AFX_STDAFX_H__7706ED3B_FEC1_43B3_A7F8_D92FF250AAC9__INCLUDED_)
|
||||
#define AFX_STDAFX_H__7706ED3B_FEC1_43B3_A7F8_D92FF250AAC9__INCLUDED_
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER > 1000
|
||||
|
||||
#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
|
||||
|
||||
#include <afxwin.h> // MFC core and standard components
|
||||
#include <afxext.h> // MFC extensions
|
||||
#include <afxdisp.h> // MFC Automation classes
|
||||
#include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls
|
||||
#ifndef _AFX_NO_AFXCMN_SUPPORT
|
||||
#include <afxcmn.h> // MFC support for Windows Common Controls
|
||||
#endif // _AFX_NO_AFXCMN_SUPPORT
|
||||
|
||||
|
||||
//{{AFX_INSERT_LOCATION}}
|
||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
||||
|
||||
#endif // !defined(AFX_STDAFX_H__7706ED3B_FEC1_43B3_A7F8_D92FF250AAC9__INCLUDED_)
|
||||
BIN
Tools/CompilerMFC/res/CompilerMFC.ico
Normal file
BIN
Tools/CompilerMFC/res/CompilerMFC.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
13
Tools/CompilerMFC/res/CompilerMFC.rc2
Normal file
13
Tools/CompilerMFC/res/CompilerMFC.rc2
Normal file
@@ -0,0 +1,13 @@
|
||||
//
|
||||
// COMPILERMFC.RC2 - resources Microsoft Visual C++ does not edit directly
|
||||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#error this file is not editable by Microsoft Visual C++
|
||||
#endif //APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Add manually edited resources here...
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
22
Tools/CompilerMFC/resource.h
Normal file
22
Tools/CompilerMFC/resource.h
Normal file
@@ -0,0 +1,22 @@
|
||||
//{{NO_DEPENDENCIES}}
|
||||
// Microsoft Developer Studio generated include file.
|
||||
// Used by CompilerMFC.rc
|
||||
//
|
||||
#define IDD_COMPILERMFC_DIALOG 102
|
||||
#define IDR_MAINFRAME 128
|
||||
#define IDC_EDIT_INPUT 1000
|
||||
#define IDC_BUTTON_BROWSE1 1001
|
||||
#define IDC_EDIT_OUTPUT 1002
|
||||
#define IDC_BUTTON_BROWSE2 1003
|
||||
#define IDC_EDIT_MSG 1004
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 129
|
||||
#define _APS_NEXT_COMMAND_VALUE 32771
|
||||
#define _APS_NEXT_CONTROL_VALUE 1005
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
||||
71
Tools/ConvertPatchInfoV1toV2/ConvertPatchInfoV1toV2.cpp
Normal file
71
Tools/ConvertPatchInfoV1toV2/ConvertPatchInfoV1toV2.cpp
Normal file
@@ -0,0 +1,71 @@
|
||||
// ConvertPatchInfoV1toV2.cpp : Defines the class behaviors for the application.
|
||||
//
|
||||
|
||||
#include "ConvertPatchInfoV1toV2.h"
|
||||
#include "ConvertPatchInfoV1toV2Dlg.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#undef THIS_FILE
|
||||
static char THIS_FILE[] = __FILE__;
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CConvertPatchInfoV1toV2App
|
||||
|
||||
BEGIN_MESSAGE_MAP(CConvertPatchInfoV1toV2App, CWinApp)
|
||||
//{{AFX_MSG_MAP(CConvertPatchInfoV1toV2App)
|
||||
// NOTE - the ClassWizard will add and remove mapping macros here.
|
||||
// DO NOT EDIT what you see in these blocks of generated code!
|
||||
//}}AFX_MSG
|
||||
ON_COMMAND(ID_HELP, CWinApp::OnHelp)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CConvertPatchInfoV1toV2App construction
|
||||
|
||||
CConvertPatchInfoV1toV2App::CConvertPatchInfoV1toV2App()
|
||||
{
|
||||
// TODO: add construction code here,
|
||||
// Place all significant initialization in InitInstance
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// The one and only CConvertPatchInfoV1toV2App object
|
||||
|
||||
CConvertPatchInfoV1toV2App theApp;
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CConvertPatchInfoV1toV2App initialization
|
||||
|
||||
BOOL CConvertPatchInfoV1toV2App::InitInstance()
|
||||
{
|
||||
// Standard initialization
|
||||
// If you are not using these features and wish to reduce the size
|
||||
// of your final executable, you should remove from the following
|
||||
// the specific initialization routines you do not need.
|
||||
|
||||
#ifdef _AFXDLL
|
||||
Enable3dControls(); // Call this when using MFC in a shared DLL
|
||||
#else
|
||||
Enable3dControlsStatic(); // Call this when linking to MFC statically
|
||||
#endif
|
||||
|
||||
CConvertPatchInfoV1toV2Dlg dlg;
|
||||
m_pMainWnd = &dlg;
|
||||
int nResponse = dlg.DoModal();
|
||||
if (nResponse == IDOK)
|
||||
{
|
||||
// TODO: Place code here to handle when the dialog is
|
||||
// dismissed with OK
|
||||
}
|
||||
else if (nResponse == IDCANCEL)
|
||||
{
|
||||
// TODO: Place code here to handle when the dialog is
|
||||
// dismissed with Cancel
|
||||
}
|
||||
|
||||
// Since the dialog has been closed, return FALSE so that we exit the
|
||||
// application, rather than start the application's message pump.
|
||||
return FALSE;
|
||||
}
|
||||
49
Tools/ConvertPatchInfoV1toV2/ConvertPatchInfoV1toV2.h
Normal file
49
Tools/ConvertPatchInfoV1toV2/ConvertPatchInfoV1toV2.h
Normal file
@@ -0,0 +1,49 @@
|
||||
// ConvertPatchInfoV1toV2.h : main header file for the CONVERTPATCHINFOV1TOV2 application
|
||||
//
|
||||
|
||||
#if !defined(AFX_CONVERTPATCHINFOV1TOV2_H__057CCDF5_B98B_48A6_8EE1_A4C4EA1823D2__INCLUDED_)
|
||||
#define AFX_CONVERTPATCHINFOV1TOV2_H__057CCDF5_B98B_48A6_8EE1_A4C4EA1823D2__INCLUDED_
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER > 1000
|
||||
|
||||
#include <afxwin.h> // MFC core and standard components
|
||||
#include <afxext.h> // MFC extensions
|
||||
|
||||
|
||||
#include "resource.h" // main symbols
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CConvertPatchInfoV1toV2App:
|
||||
// See ConvertPatchInfoV1toV2.cpp for the implementation of this class
|
||||
//
|
||||
|
||||
class CConvertPatchInfoV1toV2App : public CWinApp
|
||||
{
|
||||
public:
|
||||
CConvertPatchInfoV1toV2App();
|
||||
|
||||
// Overrides
|
||||
// ClassWizard generated virtual function overrides
|
||||
//{{AFX_VIRTUAL(CConvertPatchInfoV1toV2App)
|
||||
public:
|
||||
virtual BOOL InitInstance();
|
||||
//}}AFX_VIRTUAL
|
||||
|
||||
// Implementation
|
||||
|
||||
//{{AFX_MSG(CConvertPatchInfoV1toV2App)
|
||||
// NOTE - the ClassWizard will add and remove member functions here.
|
||||
// DO NOT EDIT what you see in these blocks of generated code !
|
||||
//}}AFX_MSG
|
||||
DECLARE_MESSAGE_MAP()
|
||||
};
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//{{AFX_INSERT_LOCATION}}
|
||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
||||
|
||||
#endif // !defined(AFX_CONVERTPATCHINFOV1TOV2_H__057CCDF5_B98B_48A6_8EE1_A4C4EA1823D2__INCLUDED_)
|
||||
176
Tools/ConvertPatchInfoV1toV2/ConvertPatchInfoV1toV2.rc
Normal file
176
Tools/ConvertPatchInfoV1toV2/ConvertPatchInfoV1toV2.rc
Normal file
@@ -0,0 +1,176 @@
|
||||
//Microsoft Developer Studio generated resource script.
|
||||
//
|
||||
#include "resource.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
#include "afxres.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Korean resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
|
||||
#pragma code_page(949)
|
||||
#endif //_WIN32
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"#include ""afxres.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"#define _AFX_NO_SPLITTER_RESOURCES\r\n"
|
||||
"#define _AFX_NO_OLE_RESOURCES\r\n"
|
||||
"#define _AFX_NO_TRACKER_RESOURCES\r\n"
|
||||
"#define _AFX_NO_PROPERTY_RESOURCES\r\n"
|
||||
"\r\n"
|
||||
"#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)\r\n"
|
||||
"#ifdef _WIN32\r\n"
|
||||
"LANGUAGE 18, 1\r\n"
|
||||
"#pragma code_page(949)\r\n"
|
||||
"#endif //_WIN32\r\n"
|
||||
"#include ""res\\ConvertPatchInfoV1toV2.rc2"" // non-Microsoft Visual C++ edited resources\r\n"
|
||||
"#include ""l.kor\\afxres.rc"" // Standard components\r\n"
|
||||
"#endif\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Icon
|
||||
//
|
||||
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
IDR_MAINFRAME ICON DISCARDABLE "res\\ConvertPatchInfoV1toV2.ico"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Dialog
|
||||
//
|
||||
|
||||
IDD_CONVERTPATCHINFOV1TOV2_DIALOG DIALOGEX 0, 0, 319, 135
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
EXSTYLE WS_EX_APPWINDOW
|
||||
CAPTION "ConvertPatchInfoV1toV2 Ver. 0.1"
|
||||
FONT 9, "<22><><EFBFBD><EFBFBD>"
|
||||
BEGIN
|
||||
PUSHBUTTON "...",IDC_BUTTON_BROWSE,270,7,42,14
|
||||
EDITTEXT IDC_EDIT_FILEPATH,67,7,200,14,ES_AUTOHSCROLL
|
||||
LTEXT "PatchInfo.zip <20><>ġ",IDC_STATIC,7,7,60,14,SS_CENTERIMAGE
|
||||
PUSHBUTTON "<22><> ȯ",IDC_BUTTON_GO,63,31,194,25
|
||||
END
|
||||
|
||||
|
||||
#ifndef _MAC
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Version
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 1,0,0,1
|
||||
PRODUCTVERSION 1,0,0,1
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS 0x4L
|
||||
FILETYPE 0x1L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "041204B0"
|
||||
BEGIN
|
||||
VALUE "CompanyName", "\0"
|
||||
VALUE "FileDescription", "ConvertPatchInfoV1toV2 MFC <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1>\0"
|
||||
VALUE "FileVersion", "1, 0, 0, 1\0"
|
||||
VALUE "InternalName", "ConvertPatchInfoV1toV2\0"
|
||||
VALUE "LegalCopyright", "Copyright (C) 2004\0"
|
||||
VALUE "LegalTrademarks", "\0"
|
||||
VALUE "OriginalFilename", "ConvertPatchInfoV1toV2.EXE\0"
|
||||
VALUE "ProductName", "ConvertPatchInfoV1toV2 <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1>\0"
|
||||
VALUE "ProductVersion", "1, 0, 0, 1\0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x412, 1200
|
||||
END
|
||||
END
|
||||
|
||||
#endif // !_MAC
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// DESIGNINFO
|
||||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
GUIDELINES DESIGNINFO DISCARDABLE
|
||||
BEGIN
|
||||
IDD_CONVERTPATCHINFOV1TOV2_DIALOG, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 312
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 128
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
#endif // Korean resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
#define _AFX_NO_SPLITTER_RESOURCES
|
||||
#define _AFX_NO_OLE_RESOURCES
|
||||
#define _AFX_NO_TRACKER_RESOURCES
|
||||
#define _AFX_NO_PROPERTY_RESOURCES
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE 18, 1
|
||||
#pragma code_page(949)
|
||||
#endif //_WIN32
|
||||
#include "res\ConvertPatchInfoV1toV2.rc2" // non-Microsoft Visual C++ edited resources
|
||||
#include "l.kor\afxres.rc" // Standard components
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
||||
225
Tools/ConvertPatchInfoV1toV2/ConvertPatchInfoV1toV2.vcproj
Normal file
225
Tools/ConvertPatchInfoV1toV2/ConvertPatchInfoV1toV2.vcproj
Normal file
@@ -0,0 +1,225 @@
|
||||
<?xml version="1.0" encoding="ks_c_5601-1987"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="7.10"
|
||||
Name="ConvertPatchInfoV1toV2"
|
||||
ProjectGUID="{F11BDBA5-73EA-4A20-939D-B937216EF60E}"
|
||||
SccProjectName=""
|
||||
SccLocalPath=""
|
||||
Keyword="MFCProj">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
</Platforms>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="Release"
|
||||
IntermediateDirectory="Release"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="1"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="../PatchCommon,../ZipArchive/Include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
PrecompiledHeaderFile=""
|
||||
AssemblerListingLocation=""
|
||||
ObjectFile="$(IntDir)/"
|
||||
ProgramDataBaseFileName="$(IntDir)/vc70.pdb"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="ZipArchive_MFCSTATIC.lib"
|
||||
OutputFile="$(OutDir)/$(ProjectName).exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories="../ZipArchive/Lib"
|
||||
ProgramDatabaseFile=".\Release/ConvertPatchInfoV1toV2.pdb"
|
||||
SubSystem="2"
|
||||
TargetMachine="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
MkTypLibCompatible="TRUE"
|
||||
SuppressStartupBanner="TRUE"
|
||||
TargetEnvironment="1"
|
||||
TypeLibraryName=".\Release/ConvertPatchInfoV1toV2.tlb"
|
||||
HeaderFileName=""/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1042"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="Debug"
|
||||
IntermediateDirectory="Debug"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="1"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="../PatchCommon,../ZipArchive/Include"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
PrecompiledHeaderFile=""
|
||||
AssemblerListingLocation=""
|
||||
ObjectFile="$(IntDir)/"
|
||||
ProgramDataBaseFileName="$(IntDir)/vc70.pdb"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="4"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="ZipArchive_MFCSTATIC_d.lib"
|
||||
OutputFile="$(OutDir)/$(ProjectName).exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories="../ZipArchive/Lib"
|
||||
GenerateDebugInformation="TRUE"
|
||||
ProgramDatabaseFile=".\Debug/ConvertPatchInfoV1toV2.pdb"
|
||||
SubSystem="2"
|
||||
TargetMachine="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
MkTypLibCompatible="TRUE"
|
||||
SuppressStartupBanner="TRUE"
|
||||
TargetEnvironment="1"
|
||||
TypeLibraryName=".\Debug/ConvertPatchInfoV1toV2.tlb"
|
||||
HeaderFileName=""/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1042"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
|
||||
<File
|
||||
RelativePath="ConvertPatchInfoV1toV2.cpp">
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BasicRuntimeChecks="3"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ConvertPatchInfoV1toV2.rc">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ConvertPatchInfoV1toV2Dlg.cpp">
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BasicRuntimeChecks="3"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl">
|
||||
<File
|
||||
RelativePath="ConvertPatchInfoV1toV2.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ConvertPatchInfoV1toV2Dlg.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="Resource.h">
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
|
||||
<File
|
||||
RelativePath="res\ConvertPatchInfoV1toV2.ico">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="res\ConvertPatchInfoV1toV2.rc2">
|
||||
</File>
|
||||
</Filter>
|
||||
<File
|
||||
RelativePath="ReadMe.txt">
|
||||
</File>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
181
Tools/ConvertPatchInfoV1toV2/ConvertPatchInfoV1toV2.vcxproj
Normal file
181
Tools/ConvertPatchInfoV1toV2/ConvertPatchInfoV1toV2.vcxproj
Normal file
@@ -0,0 +1,181 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{F11BDBA5-73EA-4A20-939D-B937216EF60E}</ProjectGuid>
|
||||
<SccProjectName />
|
||||
<SccLocalPath />
|
||||
<Keyword>MFCProj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseOfMfc>Static</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseOfMfc>Static</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<AdditionalIncludeDirectories>../PatchCommon;../ZipArchive/Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeaderOutputFile>
|
||||
</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>
|
||||
</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)vc70.pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<CompileAs>Default</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ZipArchive_MFCSTATIC.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>../ZipArchive/Lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<ProgramDatabaseFile>.\Release/ConvertPatchInfoV1toV2.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TargetEnvironment>Win32</TargetEnvironment>
|
||||
<TypeLibraryName>.\Release/ConvertPatchInfoV1toV2.tlb</TypeLibraryName>
|
||||
<HeaderFileName>
|
||||
</HeaderFileName>
|
||||
</Midl>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0412</Culture>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>../PatchCommon;../ZipArchive/Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeaderOutputFile>
|
||||
</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>
|
||||
</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)vc70.pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ZipArchive_MFCSTATIC_d.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>../ZipArchive/Lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>.\Debug/ConvertPatchInfoV1toV2.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TargetEnvironment>Win32</TargetEnvironment>
|
||||
<TypeLibraryName>.\Debug/ConvertPatchInfoV1toV2.tlb</TypeLibraryName>
|
||||
<HeaderFileName>
|
||||
</HeaderFileName>
|
||||
</Midl>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0412</Culture>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="ConvertPatchInfoV1toV2.cpp">
|
||||
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
|
||||
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ConvertPatchInfoV1toV2Dlg.cpp">
|
||||
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
|
||||
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="ConvertPatchInfoV1toV2.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="ConvertPatchInfoV1toV2.h" />
|
||||
<ClInclude Include="ConvertPatchInfoV1toV2Dlg.h" />
|
||||
<ClInclude Include="Resource.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="res\ConvertPatchInfoV1toV2.ico" />
|
||||
<None Include="res\ConvertPatchInfoV1toV2.rc2" />
|
||||
<None Include="ReadMe.txt" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\PatchCommon\PatchCommon.vcxproj">
|
||||
<Project>{69c31401-5a6b-4288-9dd5-72566af594cd}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{5cfbcd39-590d-4559-8bcb-2fe7d753faf1}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{b1dcbf4f-41fd-4ca8-ab9c-b6d514d93ea6}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{b3ed3e56-045b-42e4-bbc0-7258300f5ef0}</UniqueIdentifier>
|
||||
<Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="ConvertPatchInfoV1toV2.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ConvertPatchInfoV1toV2Dlg.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="ConvertPatchInfoV1toV2.rc">
|
||||
<Filter>Source Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="ConvertPatchInfoV1toV2.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ConvertPatchInfoV1toV2Dlg.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Resource.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="res\ConvertPatchInfoV1toV2.ico">
|
||||
<Filter>Resource Files</Filter>
|
||||
</None>
|
||||
<None Include="res\ConvertPatchInfoV1toV2.rc2">
|
||||
<Filter>Resource Files</Filter>
|
||||
</None>
|
||||
<None Include="ReadMe.txt" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
164
Tools/ConvertPatchInfoV1toV2/ConvertPatchInfoV1toV2Dlg.cpp
Normal file
164
Tools/ConvertPatchInfoV1toV2/ConvertPatchInfoV1toV2Dlg.cpp
Normal file
@@ -0,0 +1,164 @@
|
||||
// ConvertPatchInfoV1toV2Dlg.cpp : implementation file
|
||||
//
|
||||
|
||||
#include "ConvertPatchInfoV1toV2.h"
|
||||
#include "ConvertPatchInfoV1toV2Dlg.h"
|
||||
|
||||
#include "PatchInfoList.h"
|
||||
|
||||
#include "ZipArchive.h"
|
||||
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#undef THIS_FILE
|
||||
static char THIS_FILE[] = __FILE__;
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CConvertPatchInfoV1toV2Dlg dialog
|
||||
|
||||
CConvertPatchInfoV1toV2Dlg::CConvertPatchInfoV1toV2Dlg(CWnd* pParent /*=NULL*/)
|
||||
: CDialog(CConvertPatchInfoV1toV2Dlg::IDD, pParent)
|
||||
{
|
||||
//{{AFX_DATA_INIT(CConvertPatchInfoV1toV2Dlg)
|
||||
// NOTE: the ClassWizard will add member initialization here
|
||||
//}}AFX_DATA_INIT
|
||||
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
|
||||
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
|
||||
}
|
||||
|
||||
void CConvertPatchInfoV1toV2Dlg::DoDataExchange(CDataExchange* pDX)
|
||||
{
|
||||
CDialog::DoDataExchange(pDX);
|
||||
//{{AFX_DATA_MAP(CConvertPatchInfoV1toV2Dlg)
|
||||
DDX_Control(pDX, IDC_EDIT_FILEPATH, m_editFilePath);
|
||||
//}}AFX_DATA_MAP
|
||||
}
|
||||
|
||||
BEGIN_MESSAGE_MAP(CConvertPatchInfoV1toV2Dlg, CDialog)
|
||||
//{{AFX_MSG_MAP(CConvertPatchInfoV1toV2Dlg)
|
||||
ON_WM_PAINT()
|
||||
ON_WM_QUERYDRAGICON()
|
||||
ON_BN_CLICKED(IDC_BUTTON_BROWSE, OnButtonBrowse)
|
||||
ON_BN_CLICKED(IDC_BUTTON_GO, OnButtonGo)
|
||||
//}}AFX_MSG_MAP
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CConvertPatchInfoV1toV2Dlg message handlers
|
||||
|
||||
BOOL CConvertPatchInfoV1toV2Dlg::OnInitDialog()
|
||||
{
|
||||
CDialog::OnInitDialog();
|
||||
|
||||
// Set the icon for this dialog. The framework does this automatically
|
||||
// when the application's main window is not a dialog
|
||||
SetIcon(m_hIcon, TRUE); // Set big icon
|
||||
SetIcon(m_hIcon, FALSE); // Set small icon
|
||||
|
||||
// TODO: Add extra initialization here
|
||||
m_ctrlLogCtrl.Init( 12, 95, 534, 98, GetSafeHwnd() );
|
||||
|
||||
return TRUE; // return TRUE unless you set the focus to a control
|
||||
}
|
||||
|
||||
// If you add a minimize button to your dialog, you will need the code below
|
||||
// to draw the icon. For MFC applications using the document/view model,
|
||||
// this is automatically done for you by the framework.
|
||||
|
||||
void CConvertPatchInfoV1toV2Dlg::OnPaint()
|
||||
{
|
||||
if (IsIconic())
|
||||
{
|
||||
CPaintDC dc(this); // device context for painting
|
||||
|
||||
SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
|
||||
|
||||
// Center icon in client rectangle
|
||||
int cxIcon = GetSystemMetrics(SM_CXICON);
|
||||
int cyIcon = GetSystemMetrics(SM_CYICON);
|
||||
CRect rect;
|
||||
GetClientRect(&rect);
|
||||
int x = (rect.Width() - cxIcon + 1) / 2;
|
||||
int y = (rect.Height() - cyIcon + 1) / 2;
|
||||
|
||||
// Draw the icon
|
||||
dc.DrawIcon(x, y, m_hIcon);
|
||||
}
|
||||
else
|
||||
{
|
||||
CDialog::OnPaint();
|
||||
}
|
||||
}
|
||||
|
||||
// The system calls this to obtain the cursor to display while the user drags
|
||||
// the minimized window.
|
||||
HCURSOR CConvertPatchInfoV1toV2Dlg::OnQueryDragIcon()
|
||||
{
|
||||
return (HCURSOR) m_hIcon;
|
||||
}
|
||||
|
||||
void CConvertPatchInfoV1toV2Dlg::OnButtonBrowse()
|
||||
{
|
||||
// TODO: Add your control notification handler code here
|
||||
|
||||
|
||||
|
||||
CFileDialog fileDlg( TRUE, "zip", "PatchInfo.zip", 0,
|
||||
"PatchInfo.zip File|PatchInfo.zip|Zip Files (*.zip)|*.zip|All Files (*.*)|*.*||", NULL );
|
||||
if( fileDlg.DoModal() == IDOK )
|
||||
{
|
||||
m_editFilePath.SetWindowText( fileDlg.GetPathName() );
|
||||
}
|
||||
}
|
||||
|
||||
void CConvertPatchInfoV1toV2Dlg::OnButtonGo()
|
||||
{
|
||||
// TODO: Add your control notification handler code here
|
||||
CString strDestPath;
|
||||
CString strV1PatchInfoPath;
|
||||
// CString strPatchInfoV2Path;
|
||||
|
||||
m_editFilePath.GetWindowText( strV1PatchInfoPath );
|
||||
int nLoc = strV1PatchInfoPath.ReverseFind( '\\' );
|
||||
if( -1 == nLoc )
|
||||
{
|
||||
strDestPath = "";
|
||||
// strPatchInfoV2Path = "PatchInfoV2.zip";
|
||||
}
|
||||
else
|
||||
{
|
||||
strDestPath = strV1PatchInfoPath.Left( nLoc+1 );
|
||||
// strPatchInfoV2Path = strDestPath + "\\PatchInfoV2.zip";
|
||||
}
|
||||
|
||||
CZipArchive zipArc;
|
||||
CPatchInfoList pil;
|
||||
|
||||
// V1 PatchInfo <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
m_ctrlLogCtrl.OutputMessage( "1. Decompressing PatchInfo.zip\n" );
|
||||
zipArc.Open( strDestPath+"PatchInfo.zip", CZipArchive::zipOpen );
|
||||
zipArc.ExtractFile( 0, strDestPath, false, "PatchInfo" );
|
||||
zipArc.Close();
|
||||
|
||||
// LoadV1()
|
||||
m_ctrlLogCtrl.OutputMessage( "2. Loading PatchInfo\n" );
|
||||
pil.LoadV1( strDestPath+"PatchInfo" );
|
||||
|
||||
// V1 PatchInfo <20><><EFBFBD><EFBFBD>
|
||||
DeleteFile( strDestPath+"PatchInfo" );
|
||||
|
||||
// PatchInfoV2 <20><><EFBFBD><EFBFBD>
|
||||
m_ctrlLogCtrl.OutputMessage( "3. Saving PatchInfoV2\n" );
|
||||
pil.Save( strDestPath+"PatchInfoV2" );
|
||||
|
||||
// PatchInfoV2.zip <20><> <20><><EFBFBD><EFBFBD>
|
||||
m_ctrlLogCtrl.OutputMessage( "4. Compressing PatchInfoV2.zip\n" );
|
||||
zipArc.Open( strDestPath+"PatchInfoV2.zip", CZipArchive::zipCreate );
|
||||
zipArc.AddNewFile( strDestPath+"PatchInfoV2", "PatchInfoV2" );
|
||||
zipArc.Close();
|
||||
|
||||
// PatchInfoV2 <20><><EFBFBD><EFBFBD>
|
||||
DeleteFile( strDestPath+"PatchInfoV2" );
|
||||
}
|
||||
54
Tools/ConvertPatchInfoV1toV2/ConvertPatchInfoV1toV2Dlg.h
Normal file
54
Tools/ConvertPatchInfoV1toV2/ConvertPatchInfoV1toV2Dlg.h
Normal file
@@ -0,0 +1,54 @@
|
||||
// ConvertPatchInfoV1toV2Dlg.h : header file
|
||||
//
|
||||
|
||||
#if !defined(AFX_CONVERTPATCHINFOV1TOV2DLG_H__77E476DB_A7A4_4992_A671_C0A2AF276EC8__INCLUDED_)
|
||||
#define AFX_CONVERTPATCHINFOV1TOV2DLG_H__77E476DB_A7A4_4992_A671_C0A2AF276EC8__INCLUDED_
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER > 1000
|
||||
|
||||
#include "../PatchCommon/LogCtrl.h"
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CConvertPatchInfoV1toV2Dlg dialog
|
||||
|
||||
class CConvertPatchInfoV1toV2Dlg : public CDialog
|
||||
{
|
||||
// Construction
|
||||
public:
|
||||
CConvertPatchInfoV1toV2Dlg(CWnd* pParent = NULL); // standard constructor
|
||||
|
||||
// Dialog Data
|
||||
//{{AFX_DATA(CConvertPatchInfoV1toV2Dlg)
|
||||
enum { IDD = IDD_CONVERTPATCHINFOV1TOV2_DIALOG };
|
||||
CEdit m_editFilePath;
|
||||
//}}AFX_DATA
|
||||
|
||||
// ClassWizard generated virtual function overrides
|
||||
//{{AFX_VIRTUAL(CConvertPatchInfoV1toV2Dlg)
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
||||
//}}AFX_VIRTUAL
|
||||
|
||||
// Implementation
|
||||
protected:
|
||||
HICON m_hIcon;
|
||||
CLogCtrl m_ctrlLogCtrl;
|
||||
|
||||
// Generated message map functions
|
||||
//{{AFX_MSG(CConvertPatchInfoV1toV2Dlg)
|
||||
virtual BOOL OnInitDialog();
|
||||
afx_msg void OnPaint();
|
||||
afx_msg HCURSOR OnQueryDragIcon();
|
||||
afx_msg void OnButtonBrowse();
|
||||
afx_msg void OnButtonGo();
|
||||
//}}AFX_MSG
|
||||
DECLARE_MESSAGE_MAP()
|
||||
};
|
||||
|
||||
//{{AFX_INSERT_LOCATION}}
|
||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
||||
|
||||
#endif // !defined(AFX_CONVERTPATCHINFOV1TOV2DLG_H__77E476DB_A7A4_4992_A671_C0A2AF276EC8__INCLUDED_)
|
||||
88
Tools/ConvertPatchInfoV1toV2/ReadMe.txt
Normal file
88
Tools/ConvertPatchInfoV1toV2/ReadMe.txt
Normal file
@@ -0,0 +1,88 @@
|
||||
========================================================================
|
||||
MICROSOFT FOUNDATION CLASS LIBRARY : ConvertPatchInfoV1toV2
|
||||
========================================================================
|
||||
|
||||
|
||||
AppWizard has created this ConvertPatchInfoV1toV2 application for you. This application
|
||||
not only demonstrates the basics of using the Microsoft Foundation classes
|
||||
but is also a starting point for writing your application.
|
||||
|
||||
This file contains a summary of what you will find in each of the files that
|
||||
make up your ConvertPatchInfoV1toV2 application.
|
||||
|
||||
ConvertPatchInfoV1toV2.dsp
|
||||
This file (the project file) contains information at the project level and
|
||||
is used to build a single project or subproject. Other users can share the
|
||||
project (.dsp) file, but they should export the makefiles locally.
|
||||
|
||||
ConvertPatchInfoV1toV2.h
|
||||
This is the main header file for the application. It includes other
|
||||
project specific headers (including Resource.h) and declares the
|
||||
CConvertPatchInfoV1toV2App application class.
|
||||
|
||||
ConvertPatchInfoV1toV2.cpp
|
||||
This is the main application source file that contains the application
|
||||
class CConvertPatchInfoV1toV2App.
|
||||
|
||||
ConvertPatchInfoV1toV2.rc
|
||||
This is a listing of all of the Microsoft Windows resources that the
|
||||
program uses. It includes the icons, bitmaps, and cursors that are stored
|
||||
in the RES subdirectory. This file can be directly edited in Microsoft
|
||||
Visual C++.
|
||||
|
||||
ConvertPatchInfoV1toV2.clw
|
||||
This file contains information used by ClassWizard to edit existing
|
||||
classes or add new classes. ClassWizard also uses this file to store
|
||||
information needed to create and edit message maps and dialog data
|
||||
maps and to create prototype member functions.
|
||||
|
||||
res\ConvertPatchInfoV1toV2.ico
|
||||
This is an icon file, which is used as the application's icon. This
|
||||
icon is included by the main resource file ConvertPatchInfoV1toV2.rc.
|
||||
|
||||
res\ConvertPatchInfoV1toV2.rc2
|
||||
This file contains resources that are not edited by Microsoft
|
||||
Visual C++. You should place all resources not editable by
|
||||
the resource editor in this file.
|
||||
|
||||
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
AppWizard creates one dialog class:
|
||||
|
||||
ConvertPatchInfoV1toV2Dlg.h, ConvertPatchInfoV1toV2Dlg.cpp - the dialog
|
||||
These files contain your CConvertPatchInfoV1toV2Dlg class. This class defines
|
||||
the behavior of your application's main dialog. The dialog's
|
||||
template is in ConvertPatchInfoV1toV2.rc, which can be edited in Microsoft
|
||||
Visual C++.
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
Other standard files:
|
||||
|
||||
StdAfx.h, StdAfx.cpp
|
||||
These files are used to build a precompiled header (PCH) file
|
||||
named ConvertPatchInfoV1toV2.pch and a precompiled types file named StdAfx.obj.
|
||||
|
||||
Resource.h
|
||||
This is the standard header file, which defines new resource IDs.
|
||||
Microsoft Visual C++ reads and updates this file.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
Other notes:
|
||||
|
||||
AppWizard uses "TODO:" to indicate parts of the source code you
|
||||
should add to or customize.
|
||||
|
||||
If your application uses MFC in a shared DLL, and your application is
|
||||
in a language other than the operating system's current language, you
|
||||
will need to copy the corresponding localized resources MFC42XXX.DLL
|
||||
from the Microsoft Visual C++ CD-ROM onto the system or system32 directory,
|
||||
and rename it to be MFCLOC.DLL. ("XXX" stands for the language abbreviation.
|
||||
For example, MFC42DEU.DLL contains resources translated to German.) If you
|
||||
don't do this, some of the UI elements of your application will remain in the
|
||||
language of the operating system.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
BIN
Tools/ConvertPatchInfoV1toV2/res/ConvertPatchInfoV1toV2.ico
Normal file
BIN
Tools/ConvertPatchInfoV1toV2/res/ConvertPatchInfoV1toV2.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
13
Tools/ConvertPatchInfoV1toV2/res/ConvertPatchInfoV1toV2.rc2
Normal file
13
Tools/ConvertPatchInfoV1toV2/res/ConvertPatchInfoV1toV2.rc2
Normal file
@@ -0,0 +1,13 @@
|
||||
//
|
||||
// CONVERTPATCHINFOV1TOV2.RC2 - resources Microsoft Visual C++ does not edit directly
|
||||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#error this file is not editable by Microsoft Visual C++
|
||||
#endif //APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Add manually edited resources here...
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
21
Tools/ConvertPatchInfoV1toV2/resource.h
Normal file
21
Tools/ConvertPatchInfoV1toV2/resource.h
Normal file
@@ -0,0 +1,21 @@
|
||||
//{{NO_DEPENDENCIES}}
|
||||
// Microsoft Developer Studio generated include file.
|
||||
// Used by ConvertPatchInfoV1toV2.rc
|
||||
//
|
||||
#define IDD_CONVERTPATCHINFOV1TOV2_DIALOG 102
|
||||
#define IDR_MAINFRAME 128
|
||||
#define IDC_BUTTON_BROWSE 1000
|
||||
#define IDC_EDIT_FILEPATH 1001
|
||||
#define IDC_BUTTON_GO 1002
|
||||
#define IDC_EDIT1 1006
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 129
|
||||
#define _APS_NEXT_COMMAND_VALUE 32771
|
||||
#define _APS_NEXT_CONTROL_VALUE 1007
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
||||
76
Tools/DDSHeader/DDSHeader.cpp
Normal file
76
Tools/DDSHeader/DDSHeader.cpp
Normal file
@@ -0,0 +1,76 @@
|
||||
// DDSHeader.cpp : <20>ܼ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
|
||||
/*
|
||||
void CPackToolDlgDlg::Recurse( CString perfolder )
|
||||
{
|
||||
CString str;
|
||||
CString folder = perfolder;
|
||||
|
||||
folder += _T( "/*.*" );
|
||||
|
||||
CFileFind finder;
|
||||
BOOL bWorking = finder.FindFile( folder );
|
||||
|
||||
while( bWorking )
|
||||
{
|
||||
bWorking = finder.FindNextFile();
|
||||
|
||||
if( finder.IsDots() )
|
||||
continue;
|
||||
|
||||
CString path = finder.GetFilePath();
|
||||
if( finder.IsDirectory() )
|
||||
Recurse( path );
|
||||
else
|
||||
AddFileList(path.GetBuffer());
|
||||
|
||||
Sleep( 1 );
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
if(argc <= 1)
|
||||
return 0;
|
||||
|
||||
/*
|
||||
DWORD dwMagic;
|
||||
dwMagic=MAKEFOURCC('D','D','S',' ');
|
||||
//dwMagic=0xffffffff;
|
||||
fwrite(&dwMagic,sizeof(dwMagic),1,fp);
|
||||
*/
|
||||
// char ddsh[4] = { 0x44, 0x44, 0x53, 0x20 };
|
||||
|
||||
DWORD dwMagic;
|
||||
dwMagic=MAKEFOURCC(' ',' ',' ',' ');
|
||||
// dwMagic=MAKEFOURCC('D','D','S',' ');
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD>
|
||||
for(int i = 1; i < argc; ++i)
|
||||
{
|
||||
char* file = argv[i];
|
||||
FILE* fp = fopen(file, "r+");
|
||||
|
||||
if(fp == NULL)
|
||||
return 0;
|
||||
|
||||
fseek(fp, 0, SEEK_CUR);
|
||||
fpos_t pos = 0;
|
||||
fgetpos( fp, &pos );
|
||||
|
||||
if(fsetpos( fp, &pos ) == 0)
|
||||
fwrite(&dwMagic,sizeof(dwMagic),1,fp);
|
||||
else
|
||||
printf("file error\n");
|
||||
|
||||
fgetpos( fp, &pos );
|
||||
fclose(fp);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
20
Tools/DDSHeader/DDSHeader.sln
Normal file
20
Tools/DDSHeader/DDSHeader.sln
Normal file
@@ -0,0 +1,20 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 9.00
|
||||
# Visual Studio 2005
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DDSHeader", "DDSHeader.vcproj", "{ECADDFB6-70CC-4345-99ED-685EAEB22EDA}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Release|Win32 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{ECADDFB6-70CC-4345-99ED-685EAEB22EDA}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{ECADDFB6-70CC-4345-99ED-685EAEB22EDA}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{ECADDFB6-70CC-4345-99ED-685EAEB22EDA}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{ECADDFB6-70CC-4345-99ED-685EAEB22EDA}.Release|Win32.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
225
Tools/DDSHeader/DDSHeader.vcproj
Normal file
225
Tools/DDSHeader/DDSHeader.vcproj
Normal file
@@ -0,0 +1,225 @@
|
||||
<?xml version="1.0" encoding="ks_c_5601-1987"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="DDSHeader"
|
||||
ProjectGUID="{ECADDFB6-70CC-4345-99ED-685EAEB22EDA}"
|
||||
RootNamespace="DDSHeader"
|
||||
Keyword="Win32Proj"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="false"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="2"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="1"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="false"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="1"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="1"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="<22>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD>"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\DDSHeader.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\stdafx.cpp"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="<22><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\stdafx.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="<22><><EFBFBD>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD>"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
</Filter>
|
||||
<File
|
||||
RelativePath=".\ReadMe.txt"
|
||||
>
|
||||
</File>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
32
Tools/DDSHeader/ReadMe.txt
Normal file
32
Tools/DDSHeader/ReadMe.txt
Normal file
@@ -0,0 +1,32 @@
|
||||
========================================================================
|
||||
<20>ܼ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> : DDSHeader <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>
|
||||
========================================================================
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>翡<EFBFBD><E7BFA1> <20><> DDSHeader <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
|
||||
|
||||
<EFBFBD><EFBFBD> <20><><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD> DDSHeader <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><> <20><><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ԵǾ<D4B5> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
|
||||
|
||||
|
||||
DDSHeader.vcproj
|
||||
<20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>縦 <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> VC++ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20>⺻ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Visual C++ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>縦 <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20>÷<EFBFBD><C3B7><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD>ɿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ԵǾ<D4B5> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
|
||||
|
||||
DDSHeader.cpp
|
||||
<20>⺻ <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> <20>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
<EFBFBD><EFBFBD>Ÿ ǥ<><C7A5> <20><><EFBFBD><EFBFBD>:
|
||||
|
||||
StdAfx.h, StdAfx.cpp
|
||||
<20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> <20><><EFBFBD><EFBFBD>(PCH) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DDSHeader.pch<63><68>
|
||||
<20≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> <20><><EFBFBD><EFBFBD>(PCT) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> StdAfx.obj<62><6A> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>˴ϴ<CBB4>.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
<EFBFBD><EFBFBD>Ÿ <20><><EFBFBD><EFBFBD>:
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>翡<EFBFBD><E7BFA1> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> "TODO:" <20>ּ<EFBFBD><D6BC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ڰ<EFBFBD> <20>߰<EFBFBD><DFB0>ϰų<CFB0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD> <20>ϴ<EFBFBD>
|
||||
<EFBFBD>ҽ<EFBFBD> <20>ڵ<EFBFBD> <20>κ<EFBFBD><CEBA><EFBFBD> <20><>Ÿ<EFBFBD><C5B8><EFBFBD>ϴ<EFBFBD>.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
8
Tools/DDSHeader/stdafx.cpp
Normal file
8
Tools/DDSHeader/stdafx.cpp
Normal file
@@ -0,0 +1,8 @@
|
||||
// stdafx.cpp : ǥ<><C7A5> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ϸ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
// DDSHeader.pch<63><68> <20≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>˴ϴ<CBB4>.
|
||||
// stdafx.obj<62><6A><EFBFBD><EFBFBD> <20≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>Ե˴ϴ<CBB4>.
|
||||
|
||||
#include "stdafx.h"
|
||||
|
||||
// TODO: <20>ʿ<EFBFBD><CABF><EFBFBD> <20>߰<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ƴ<EFBFBD> STDAFX.H<><48><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
|
||||
18
Tools/DDSHeader/stdafx.h
Normal file
18
Tools/DDSHeader/stdafx.h
Normal file
@@ -0,0 +1,18 @@
|
||||
// stdafx.h : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ<EFBFBD>
|
||||
// ǥ<><C7A5> <20>ý<EFBFBD><C3BD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
//
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef _WIN32_WINNT // Windows XP <20>̻<CCBB><F3BFA1BC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
|
||||
#define _WIN32_WINNT 0x0501 // <20>ٸ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Windows<77><73> <20>µ<EFBFBD><C2B5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽʽÿ<CABD>.
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <tchar.h>
|
||||
#include <windows.h>
|
||||
|
||||
|
||||
|
||||
// TODO: <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20>ʿ<EFBFBD><CABF><EFBFBD> <20>߰<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E2BFA1> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
|
||||
123
Tools/DumpStatistics/DirDialog.cpp
Normal file
123
Tools/DumpStatistics/DirDialog.cpp
Normal file
@@ -0,0 +1,123 @@
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// DirDialog.cpp: implementation of the CDirDialog class.
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "DirDialog.h"
|
||||
#include "shlobj.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#undef THIS_FILE
|
||||
static char THIS_FILE[]=__FILE__;
|
||||
#define new DEBUG_NEW
|
||||
#endif
|
||||
|
||||
// Callback function called by SHBrowseForFolder's browse control
|
||||
// after initialization and when selection changes
|
||||
static int __stdcall BrowseCtrlCallback(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData)
|
||||
{
|
||||
CDirDialog* pDirDialogObj = (CDirDialog*)lpData;
|
||||
|
||||
if (uMsg == BFFM_INITIALIZED && !pDirDialogObj->m_strSelDir.IsEmpty())
|
||||
{
|
||||
::SendMessage(hwnd, BFFM_SETSELECTION, TRUE, (LPARAM)(LPCTSTR)(pDirDialogObj->m_strSelDir));
|
||||
}
|
||||
else // uMsg == BFFM_SELCHANGED
|
||||
{
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// Construction/Destruction
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
CDirDialog::CDirDialog()
|
||||
{
|
||||
}
|
||||
|
||||
CDirDialog::~CDirDialog()
|
||||
{
|
||||
}
|
||||
|
||||
int CDirDialog::DoBrowse( HWND hWnd )
|
||||
{
|
||||
LPMALLOC pMalloc;
|
||||
if (SHGetMalloc (&pMalloc)!= NOERROR)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
BROWSEINFO bInfo;
|
||||
LPITEMIDLIST pidl;
|
||||
ZeroMemory ( (PVOID) &bInfo,sizeof (BROWSEINFO));
|
||||
|
||||
if (!m_strInitDir.IsEmpty ())
|
||||
{
|
||||
OLECHAR olePath[MAX_PATH];
|
||||
ULONG chEaten;
|
||||
ULONG dwAttributes;
|
||||
HRESULT hr;
|
||||
LPSHELLFOLDER pDesktopFolder;
|
||||
//
|
||||
// Get a pointer to the Desktop's IShellFolder interface.
|
||||
//
|
||||
if (SUCCEEDED(SHGetDesktopFolder(&pDesktopFolder)))
|
||||
{
|
||||
//
|
||||
// IShellFolder::ParseDisplayName requires the file name be in Unicode.
|
||||
//
|
||||
MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, m_strInitDir.GetBuffer(MAX_PATH), -1,
|
||||
olePath, MAX_PATH);
|
||||
|
||||
m_strInitDir.ReleaseBuffer (-1);
|
||||
//
|
||||
// Convert the path to an ITEMIDLIST.
|
||||
//
|
||||
hr = pDesktopFolder->ParseDisplayName(NULL,
|
||||
NULL,
|
||||
olePath,
|
||||
&chEaten,
|
||||
&pidl,
|
||||
&dwAttributes);
|
||||
if (FAILED(hr))
|
||||
{
|
||||
pMalloc ->Free (pidl);
|
||||
pMalloc ->Release ();
|
||||
return 0;
|
||||
}
|
||||
bInfo.pidlRoot = pidl;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
bInfo.hwndOwner = NULL;
|
||||
bInfo.pszDisplayName = m_strPath.GetBuffer (MAX_PATH);
|
||||
bInfo.lpszTitle = (m_strTitle.IsEmpty()) ? "Open":m_strTitle;
|
||||
bInfo.ulFlags = BIF_RETURNFSANCESTORS|BIF_RETURNONLYFSDIRS;
|
||||
bInfo.lpfn = BrowseCtrlCallback; // address of callback function
|
||||
bInfo.lParam = (LPARAM)this; // pass address of object to callback function
|
||||
|
||||
if ((pidl = ::SHBrowseForFolder(&bInfo)) == NULL)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
m_strPath.ReleaseBuffer();
|
||||
m_iImageIndex = bInfo.iImage;
|
||||
|
||||
if (::SHGetPathFromIDList(pidl,m_strPath.GetBuffer(MAX_PATH)) == FALSE)
|
||||
{
|
||||
pMalloc->Free(pidl);
|
||||
pMalloc->Release();
|
||||
return 0;
|
||||
}
|
||||
|
||||
m_strPath.ReleaseBuffer();
|
||||
|
||||
pMalloc->Free(pidl);
|
||||
pMalloc->Release();
|
||||
|
||||
return 1;
|
||||
}
|
||||
29
Tools/DumpStatistics/DirDialog.h
Normal file
29
Tools/DumpStatistics/DirDialog.h
Normal file
@@ -0,0 +1,29 @@
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// DirDialog.h: interface for the CDirDialog class.
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
#if !defined(AFX_DIRDIALOG_H__62FFAC92_1DEE_11D1_B87A_0060979CDF6D__INCLUDED_)
|
||||
#define AFX_DIRDIALOG_H__62FFAC92_1DEE_11D1_B87A_0060979CDF6D__INCLUDED_
|
||||
|
||||
#if _MSC_VER >= 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER >= 1000
|
||||
|
||||
class CDirDialog
|
||||
{
|
||||
public:
|
||||
CDirDialog() ;
|
||||
virtual ~CDirDialog() ;
|
||||
int DoBrowse( HWND hWnd ) ;
|
||||
|
||||
CString m_strPath ;
|
||||
CString m_strInitDir ;
|
||||
CString m_strSelDir ;
|
||||
CString m_strTitle ;
|
||||
int m_iImageIndex ;
|
||||
};
|
||||
|
||||
#endif // !defined(AFX_DIRDIALOG_H__62FFAC92_1DEE_11D1_B87A_0060979CDF6D__INCLUDED_)
|
||||
|
||||
|
||||
913
Tools/DumpStatistics/DumpFileParser.cpp
Normal file
913
Tools/DumpStatistics/DumpFileParser.cpp
Normal file
@@ -0,0 +1,913 @@
|
||||
#include "StdAfx.h"
|
||||
#include ".\dumpfileparser.h"
|
||||
#include ".\resource.h"
|
||||
#include ".\DumpStatisticsDlg.h"
|
||||
|
||||
struct CompareVectorfVersion
|
||||
{
|
||||
bool operator () (const CDumpLog* lhs, const CDumpLog* rhs) const
|
||||
{
|
||||
int cnt = 0;
|
||||
if( lhs->fVersion == rhs->fVersion )
|
||||
{
|
||||
if( (cnt = strcmp( lhs->szFileName, rhs->szFileName ) ) == 0 )
|
||||
{
|
||||
return (strcmp( lhs->szFaultAddress, rhs->szFaultAddress ) < 0 );
|
||||
}
|
||||
else
|
||||
return ( cnt < 0);
|
||||
}
|
||||
return lhs->fVersion < rhs->fVersion;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
struct CompareVectorFaultAddress
|
||||
{
|
||||
bool operator () (const LPFAULTLIST lhs, const LPFAULTLIST rhs) const
|
||||
{
|
||||
if( lhs->dwVersion == rhs->dwVersion )
|
||||
{
|
||||
return (strcmp( lhs->szFileName, rhs->szFileName ) < 0 );
|
||||
}
|
||||
return lhs->dwVersion < rhs->dwVersion ;
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
CDumpFileParser::CDumpFileParser( CDumpStatisticsDlg* pDlg )
|
||||
{
|
||||
m_pDlg = pDlg ;
|
||||
CWnd* pWnd = m_pDlg->GetDlgItem( IDC_DUMPFILE ) ;
|
||||
pWnd->SetWindowText( " " ) ;
|
||||
m_pDlg->UpdateData() ;
|
||||
m_pDlg->UpdateData( FALSE ) ;
|
||||
m_uiDumpSize = 0 ;
|
||||
}
|
||||
|
||||
CDumpFileParser::~CDumpFileParser(void)
|
||||
{
|
||||
std::vector< LPDUMPDIRECTORYINFO >::iterator iterVer = m_vecDumpDirectoryInfo.begin() ;
|
||||
while( iterVer != m_vecDumpDirectoryInfo.end() )
|
||||
{
|
||||
LPDUMPDIRECTORYINFO lpDumpDirectoryInfo = ( *iterVer ) ;
|
||||
std::vector< LPFILENAME >::iterator iterFile = lpDumpDirectoryInfo->vecDumpFileInfo.begin() ; // Vector Date Direcoty
|
||||
while( iterFile != lpDumpDirectoryInfo->vecDumpFileInfo.end() )
|
||||
{
|
||||
if( (*iterFile ) )
|
||||
{
|
||||
delete ( *iterFile );
|
||||
( *iterFile ) = NULL;
|
||||
}
|
||||
iterFile++;
|
||||
}
|
||||
lpDumpDirectoryInfo->vecDumpFileInfo.clear() ;
|
||||
|
||||
if ( ( *iterVer ) )
|
||||
{
|
||||
delete ( *iterVer ) ;
|
||||
( *iterVer ) = NULL ;
|
||||
}
|
||||
++ iterVer ;
|
||||
}
|
||||
m_vecDumpDirectoryInfo.clear() ;
|
||||
}
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>丮<EFBFBD><E4B8AE> <20><><EFBFBD><EFBFBD> <20>˻<EFBFBD><CBBB>Ͽ<EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ϰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>丮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
//----------------------------------------------------------------------------
|
||||
VOID
|
||||
CDumpFileParser::FindDumpDirectory()
|
||||
{
|
||||
m_uiDumpSize = 0;
|
||||
FindDumpDirectory( m_szCurrentDirectory );
|
||||
CWnd* pProgressWnd = m_pDlg->GetDlgItem( IDC_DUMPPROGRESS ) ;
|
||||
pProgressWnd->SendMessage( PBM_SETRANGE, 0, MAKELPARAM( 0,m_uiDumpSize ) ) ;
|
||||
pProgressWnd->SendMessage( PBM_SETPOS, 0, 0 ) ;
|
||||
|
||||
}
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// <20>ش<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>丮<EFBFBD><E4B8AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ã<><C3A3>
|
||||
//----------------------------------------------------------------------------
|
||||
VOID
|
||||
CDumpFileParser::FindDumpFile( LPDUMPDIRECTORYINFO pDirectoryInfo )
|
||||
{
|
||||
HANDLE hSrch ;
|
||||
WIN32_FIND_DATA wfd ;
|
||||
BOOL bResult = TRUE ;
|
||||
CHAR szDirectory[ MAX_PATH ] ;
|
||||
CHAR szTempDirectory[ MAX_PATH ] ;
|
||||
UINT uiDirectoryNum = 0 ;
|
||||
|
||||
strcpy( szDirectory, pDirectoryInfo->szDirectory ) ;
|
||||
strcpy( szTempDirectory, pDirectoryInfo->szDirectory ) ;
|
||||
strcat( szDirectory, "\\*.txt" ) ;
|
||||
hSrch = FindFirstFile( szDirectory, &wfd ) ;
|
||||
|
||||
if ( hSrch == INVALID_HANDLE_VALUE )
|
||||
{
|
||||
return ;
|
||||
}
|
||||
|
||||
while( bResult )
|
||||
{
|
||||
if ( wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY )
|
||||
{
|
||||
if ( !strcmp( wfd.cFileName, "." ) )
|
||||
{
|
||||
bResult = FindNextFile( hSrch, &wfd ) ;
|
||||
continue ;
|
||||
}
|
||||
|
||||
if ( !strcmp( wfd.cFileName, ".." ) )
|
||||
{
|
||||
bResult = FindNextFile( hSrch, &wfd ) ;
|
||||
continue ;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
wsprintf( szTempDirectory, "%s\\%s", pDirectoryInfo->szDirectory, wfd.cFileName ) ;
|
||||
LPFILENAME lpFileName ;
|
||||
lpFileName = new FILENAME ;
|
||||
strcpy( lpFileName->szFileName, szTempDirectory ) ;
|
||||
pDirectoryInfo->vecDumpFileInfo.push_back( lpFileName ) ;
|
||||
m_uiDumpSize += 1;
|
||||
}
|
||||
bResult = FindNextFile( hSrch, &wfd ) ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>丮<EFBFBD><E4B8AE> <20><><EFBFBD><EFBFBD> <20>˻<EFBFBD><CBBB>Ͽ<EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ϰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>丮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
//----------------------------------------------------------------------------
|
||||
VOID
|
||||
CDumpFileParser::FindDumpDirectory( const char* path )
|
||||
{
|
||||
HANDLE hSrch ;
|
||||
WIN32_FIND_DATA wfd ;
|
||||
BOOL bResult = TRUE ;
|
||||
CHAR szDirectory[ MAX_PATH ] ;
|
||||
CHAR szTempDirectory[ MAX_PATH ] ;
|
||||
|
||||
strcpy( szDirectory, path ) ;
|
||||
strcpy( szTempDirectory, path ) ;
|
||||
strcat( szDirectory, "\\*.*" ) ;
|
||||
hSrch = FindFirstFile( szDirectory, &wfd ) ;
|
||||
|
||||
if ( hSrch == INVALID_HANDLE_VALUE )
|
||||
{
|
||||
return ;
|
||||
}
|
||||
|
||||
while( bResult )
|
||||
{
|
||||
if ( wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY )
|
||||
{
|
||||
if ( !strcmp( wfd.cFileName, "." ) )
|
||||
{
|
||||
bResult = FindNextFile( hSrch, &wfd ) ;
|
||||
continue ;
|
||||
}
|
||||
|
||||
if ( !strcmp( wfd.cFileName, ".." ) )
|
||||
{
|
||||
bResult = FindNextFile( hSrch, &wfd ) ;
|
||||
continue ;
|
||||
}
|
||||
|
||||
if ( !strcmp( wfd.cFileName, "sort") ) //sort <20><><EFBFBD><EFBFBD><EFBFBD>丮<EFBFBD><E4B8AE> <20>н<EFBFBD>
|
||||
{
|
||||
bResult = FindNextFile( hSrch, &wfd ) ;
|
||||
continue;
|
||||
}
|
||||
|
||||
LPDUMPDIRECTORYINFO pDumpDirectory ;
|
||||
pDumpDirectory = new DUMPDIRECTORYINFO ;
|
||||
wsprintf( szTempDirectory, "%s\\%s", path, wfd.cFileName ) ;
|
||||
strcpy( pDumpDirectory->szDirectory, szTempDirectory ) ;
|
||||
FindDumpFile( pDumpDirectory );
|
||||
m_vecDumpDirectoryInfo.push_back( pDumpDirectory );
|
||||
|
||||
FindDumpDirectory( szTempDirectory );
|
||||
|
||||
}
|
||||
bResult = FindNextFile( hSrch, &wfd ) ;
|
||||
}
|
||||
FindClose( hSrch ) ;
|
||||
}
|
||||
|
||||
/*
|
||||
//-----------------------------------------------------------------
|
||||
// Date<74><65><EFBFBD><EFBFBD><EFBFBD>丮<EFBFBD><E4B8AE> ã<>´<EFBFBD>.
|
||||
//-----------------------------------------------------------------
|
||||
UINT CDumpFileParser::FindDumpDateDirectory( LPDUMPDIRECTORYINFO lpDumpInfo )
|
||||
{
|
||||
HANDLE hSrch ;
|
||||
WIN32_FIND_DATA wfd ;
|
||||
BOOL bResult = TRUE ;
|
||||
CHAR szDirectory[ MAX_PATH ] ;
|
||||
CHAR szTempDirectory[ MAX_PATH ] ;
|
||||
UINT uiDirectoryNum = 0 ;
|
||||
|
||||
strcpy( szDirectory, lpDumpInfo->szVerDirectory ) ;
|
||||
strcpy( szTempDirectory, lpDumpInfo->szVerDirectory ) ;
|
||||
strcat( szDirectory, "\\*.*" ) ;
|
||||
hSrch = FindFirstFile( szDirectory, &wfd ) ;
|
||||
|
||||
if ( hSrch == INVALID_HANDLE_VALUE )
|
||||
{
|
||||
return 0 ;
|
||||
}
|
||||
|
||||
while( bResult )
|
||||
{
|
||||
if ( wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY )
|
||||
{
|
||||
if ( !strcmp( wfd.cFileName, "." ) )
|
||||
{
|
||||
bResult = FindNextFile( hSrch, &wfd ) ;
|
||||
continue ;
|
||||
}
|
||||
|
||||
if ( !strcmp( wfd.cFileName, ".." ) )
|
||||
{
|
||||
bResult = FindNextFile( hSrch, &wfd ) ;
|
||||
continue ;
|
||||
}
|
||||
wsprintf( szTempDirectory, "%s\\%s", lpDumpInfo, wfd.cFileName ) ;
|
||||
LPDUMPFILEINFO lpTmpDumpFileInfo ;
|
||||
lpTmpDumpFileInfo = new DUMPFILEINFO ;
|
||||
strcpy( lpTmpDumpFileInfo->szDateDirectory, szTempDirectory ) ;
|
||||
lpDumpInfo->vecDumpFileInfo.push_back( lpTmpDumpFileInfo ) ;
|
||||
lpTmpDumpFileInfo->uiDirectoryNum = FindDumpFile( lpTmpDumpFileInfo ) ;
|
||||
m_uiDumpSize += lpTmpDumpFileInfo->uiDirectoryNum ;
|
||||
++ uiDirectoryNum ;
|
||||
}
|
||||
bResult = FindNextFile( hSrch, &wfd ) ;
|
||||
}
|
||||
|
||||
CWnd* pProgressWnd = m_pDlg->GetDlgItem( IDC_DUMPPROGRESS ) ;
|
||||
pProgressWnd->SendMessage( PBM_SETRANGE, 0, MAKELPARAM( 0,m_uiDumpSize ) ) ;
|
||||
pProgressWnd->SendMessage( PBM_SETPOS, 0, 0 ) ;
|
||||
|
||||
return uiDirectoryNum ;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------
|
||||
// Date<74><65><EFBFBD><EFBFBD><EFBFBD>丮 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD> ã<>´<EFBFBD>.
|
||||
//-----------------------------------------------------------------
|
||||
UINT CDumpFileParser::FindDumpFile( LPDUMPFILEINFO lpDumpFileInfo )
|
||||
{
|
||||
HANDLE hSrch ;
|
||||
WIN32_FIND_DATA wfd ;
|
||||
BOOL bResult = TRUE ;
|
||||
CHAR szDirectory[ MAX_PATH ] ;
|
||||
CHAR szTempDirectory[ MAX_PATH ] ;
|
||||
UINT uiDirectoryNum = 0 ;
|
||||
|
||||
strcpy( szDirectory, lpDumpFileInfo->szDateDirectory ) ;
|
||||
strcpy( szTempDirectory, lpDumpFileInfo->szDateDirectory ) ;
|
||||
strcat( szDirectory, "\\*.txt" ) ;
|
||||
hSrch = FindFirstFile( szDirectory, &wfd ) ;
|
||||
|
||||
if ( hSrch == INVALID_HANDLE_VALUE )
|
||||
{
|
||||
return 0 ;
|
||||
}
|
||||
|
||||
while( bResult )
|
||||
{
|
||||
if ( wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY )
|
||||
{
|
||||
if ( !strcmp( wfd.cFileName, "." ) )
|
||||
{
|
||||
bResult = FindNextFile( hSrch, &wfd ) ;
|
||||
continue ;
|
||||
}
|
||||
|
||||
if ( !strcmp( wfd.cFileName, ".." ) )
|
||||
{
|
||||
bResult = FindNextFile( hSrch, &wfd ) ;
|
||||
continue ;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
wsprintf( szTempDirectory, "%s\\%s", lpDumpFileInfo->szDateDirectory, wfd.cFileName ) ;
|
||||
LPFILENAME lpFileName ;
|
||||
lpFileName = new FILENAME ;
|
||||
strcpy( lpFileName->szFileName, szTempDirectory ) ;
|
||||
lpDumpFileInfo->vecFileName.push_back( lpFileName ) ;
|
||||
++ uiDirectoryNum ;
|
||||
}
|
||||
bResult = FindNextFile( hSrch, &wfd ) ;
|
||||
}
|
||||
|
||||
return uiDirectoryNum ;
|
||||
}
|
||||
*/
|
||||
|
||||
//-----------------------------------------------------------------------------------------------
|
||||
VOID CDumpFileParser::LoadDumpFile()
|
||||
{
|
||||
HRESULT hr = S_OK ;
|
||||
FILE* pStream = NULL ;
|
||||
char strRead[MAX_PATH] ;
|
||||
char tempDirectory[MAX_PATH] ;
|
||||
int Count = 0 ;
|
||||
|
||||
::GetCurrentDirectory( MAX_PATH, tempDirectory );
|
||||
CProgressCtrl* pProgressWnd = (CProgressCtrl*)(m_pDlg->GetDlgItem( IDC_DUMPPROGRESS ) );
|
||||
CWnd* pWnd = m_pDlg->GetDlgItem( IDC_DUMPFILE ) ;
|
||||
|
||||
|
||||
LPDUMPMETADATA lpMetaData ;
|
||||
lpMetaData = new DUMPMETADATA ;
|
||||
|
||||
std::vector< LPDUMPDIRECTORYINFO >::iterator iterVer = m_vecDumpDirectoryInfo.begin() ;
|
||||
while( iterVer != m_vecDumpDirectoryInfo.end() )
|
||||
{
|
||||
LPDUMPDIRECTORYINFO lpDumpDirectoryInfo = ( *iterVer ) ;
|
||||
if( ::SetCurrentDirectory( lpDumpDirectoryInfo->szDirectory ) )
|
||||
{
|
||||
std::vector< LPFILENAME >::iterator iterData = lpDumpDirectoryInfo->vecDumpFileInfo.begin();
|
||||
while( iterData != lpDumpDirectoryInfo->vecDumpFileInfo.end() )
|
||||
{
|
||||
LPFILENAME lpFileName = ( *iterData ) ;
|
||||
|
||||
static CHAR szTemp[ MAX_PATH ] ;
|
||||
sprintf( szTemp, "%s\n", lpFileName ) ;
|
||||
|
||||
OutputDebugString( szTemp ) ;
|
||||
|
||||
|
||||
pWnd->SetWindowText( szTemp ) ;
|
||||
pProgressWnd->SetPos( Count );
|
||||
|
||||
if ( ( pStream = fopen( lpFileName->szFileName, "rt" ) ) == NULL )
|
||||
{
|
||||
continue ;
|
||||
}
|
||||
|
||||
lpMetaData->ClearData();
|
||||
|
||||
strcpy( lpMetaData->szFileName, lpFileName->szFileName );
|
||||
while(fgets(strRead, MAX_PATH - 1, pStream))
|
||||
{
|
||||
strRead[MAX_PATH - 1] = 0;
|
||||
if ( FAILED( CheckLine( strRead, lpMetaData ) ) )
|
||||
{
|
||||
CheckMoreDump( pStream, lpMetaData );
|
||||
break ;
|
||||
}
|
||||
}
|
||||
if( CopyFileExt( lpMetaData, lpFileName->szFileName ) )
|
||||
{
|
||||
m_DumpReport.PushFaultLog ( lpMetaData );
|
||||
}
|
||||
fclose( pStream );
|
||||
|
||||
Count++ ;
|
||||
iterData++;
|
||||
}
|
||||
|
||||
}
|
||||
iterVer++;
|
||||
}
|
||||
|
||||
delete lpMetaData;
|
||||
pProgressWnd->SetPos( Count ) ;
|
||||
pWnd->SetWindowText( "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" ) ;
|
||||
::SetCurrentDirectory( tempDirectory );
|
||||
|
||||
|
||||
m_DumpReport.Write2File( "report.txt" );
|
||||
pWnd->SetWindowText( "End" ) ;
|
||||
pProgressWnd->SetPos( 0 ) ;
|
||||
}
|
||||
|
||||
|
||||
HRESULT CDumpFileParser::CheckLine( CHAR* strLine, LPDUMPMETADATA lpMetaData )
|
||||
{
|
||||
CHAR seps[] = " ,\t\n[];" ;
|
||||
CHAR *token, strCommand[ MAX_PATH ], strName[ MAX_PATH ] ;
|
||||
CHAR strTemp[ 256 ];
|
||||
strncpy( strTemp, strLine, 256);
|
||||
|
||||
token = strtok( strLine, seps ) ;
|
||||
if ( token )
|
||||
{
|
||||
strcpy( strCommand, token ) ;
|
||||
token = strlwr( strCommand ) ;
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> <20≯<EFBFBD>
|
||||
if (!strcmp(token, "server"))
|
||||
{
|
||||
BOOL bExcept = FALSE;
|
||||
|
||||
token = strtok(NULL, seps);
|
||||
if (token)
|
||||
{
|
||||
strncpy( strName, token, sizeof(CHAR)*32 ) ;
|
||||
token = strtok( NULL, seps ) ;
|
||||
if ( token )
|
||||
{
|
||||
if (!strcmp(token, "Test"))
|
||||
{
|
||||
strncpy( lpMetaData->szServerName, "Test Server Version", sizeof(CHAR)*32) ;
|
||||
}
|
||||
}
|
||||
else
|
||||
return E_FAIL;
|
||||
}
|
||||
else
|
||||
return E_FAIL;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
// Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>
|
||||
if (!strcmp(token, "client"))
|
||||
{
|
||||
BOOL bExcept = FALSE;
|
||||
|
||||
token = strtok(NULL, seps);
|
||||
if (token)
|
||||
{
|
||||
token = strtok( NULL, seps ) ;
|
||||
token = strtok( NULL, seps ) ;
|
||||
if ( token )
|
||||
{
|
||||
lpMetaData->fVersion = atof( token ) ;
|
||||
if( lpMetaData->fVersion > 0 )
|
||||
strncpy( lpMetaData->szVersion , token, sizeof(CHAR)*8 );
|
||||
else
|
||||
{
|
||||
strcpy( lpMetaData->szVersion , "0.00" );
|
||||
lpMetaData->fVersion = 0;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
return E_FAIL;
|
||||
}
|
||||
else
|
||||
return E_FAIL;
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
// exception address
|
||||
if (!strcmp(token, "exception"))
|
||||
{
|
||||
BOOL bExcept = FALSE;
|
||||
|
||||
token = strtok(NULL, seps);
|
||||
if (token)
|
||||
{
|
||||
token = strtok( NULL, seps ) ;
|
||||
if ( token )
|
||||
{
|
||||
memcpy( lpMetaData->byException, token, 8 ) ;
|
||||
lpMetaData->byException[ 8 ] = 0;
|
||||
}
|
||||
else
|
||||
return E_FAIL;
|
||||
}
|
||||
else
|
||||
return E_FAIL;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
// Fault address
|
||||
if (!strcmp(token, "fault"))
|
||||
{
|
||||
BOOL bExcept = FALSE;
|
||||
|
||||
token = strtok(NULL, seps);
|
||||
if (token)
|
||||
{
|
||||
token = strtok( NULL, seps ) ;
|
||||
|
||||
if ( token )
|
||||
{
|
||||
memcpy( lpMetaData->byFaultAddress[ lpMetaData->nFaultCnt ], token, 8 ) ;
|
||||
lpMetaData->byFaultAddress[ lpMetaData->nFaultCnt ][ 8 ] = 0;
|
||||
lpMetaData->nFaultCnt += 1;
|
||||
return E_FAIL;
|
||||
}
|
||||
else
|
||||
return E_FAIL;
|
||||
}
|
||||
else
|
||||
return E_FAIL;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
//AvailableVirtualMemory
|
||||
if(!strcmp(token, "availablevirtualmemory"))
|
||||
{
|
||||
token = strtok(NULL, seps);
|
||||
if (token)
|
||||
{
|
||||
token = strtok( NULL, seps ) ;
|
||||
if ( token )
|
||||
{
|
||||
strncpy( lpMetaData->szAvailabelVirtualMemory , token, sizeof(CHAR)*15 );
|
||||
}
|
||||
}
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
if(!strcmp(token, "totalphysicalmemory") )
|
||||
{
|
||||
|
||||
token = strtok(NULL, seps);
|
||||
if (token)
|
||||
{
|
||||
token = strtok( NULL, seps ) ;
|
||||
if ( token )
|
||||
{
|
||||
strncpy( lpMetaData->szTotalPhysicalMemory , token, sizeof(CHAR)*15 );
|
||||
}
|
||||
}
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
if(!strcmp(token, "adapterram") )
|
||||
{
|
||||
token = strtok(NULL, seps);
|
||||
if (token)
|
||||
{
|
||||
token = strtok( NULL, seps ) ;
|
||||
if ( token )
|
||||
{
|
||||
strncpy( lpMetaData->szAdapterRAM , token, sizeof(CHAR)*15 );
|
||||
}
|
||||
}
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
if(!strcmp(token, "videoprocessor") )
|
||||
{
|
||||
int lenLeft ;
|
||||
int lenPrev ;
|
||||
lenPrev = strlen( strLine );
|
||||
lenLeft = strlen( strTemp ) - lenPrev;
|
||||
if( lenLeft > 7 )
|
||||
{
|
||||
strncpy( lpMetaData->szVideoProcessor, &strTemp[lenPrev+4], sizeof(CHAR)*(lenLeft-4-3) );
|
||||
lpMetaData->szVideoProcessor[ lenLeft-4-3 ] = 0 ;
|
||||
}
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
//Available Memory
|
||||
if(!strcmp(token, "available") )
|
||||
{
|
||||
token = strtok(NULL, seps);
|
||||
if (token)
|
||||
{
|
||||
token = strtok( NULL, seps ) ;
|
||||
if ( token )
|
||||
{
|
||||
token = strtok(NULL, seps);
|
||||
if( token )
|
||||
{
|
||||
strncpy( lpMetaData->szAvailableMemory, token, sizeof(CHAR)*15 );
|
||||
}
|
||||
}
|
||||
}
|
||||
return S_OK;
|
||||
}
|
||||
}
|
||||
|
||||
return S_OK ;
|
||||
}
|
||||
|
||||
HRESULT CDumpFileParser::CheckMoreDump( FILE* pFile, LPDUMPMETADATA lpMetaData )
|
||||
{
|
||||
CHAR strRead[MAX_PATH];
|
||||
CHAR seps[] = " ,\t\n" ;
|
||||
CHAR *token ;
|
||||
|
||||
while(fgets(strRead, MAX_PATH - 1, pFile))
|
||||
{
|
||||
strRead[MAX_PATH - 1] = 0;
|
||||
strlwr( strRead );
|
||||
if( strstr( strRead, "address" ) )
|
||||
{
|
||||
if( strstr( strRead, "frame" ) )
|
||||
{
|
||||
while(fgets(strRead, MAX_PATH - 1, pFile))
|
||||
{
|
||||
strlwr( strRead );
|
||||
if( strstr( strRead, "client.exe" ) )
|
||||
{
|
||||
token = strtok( strRead, seps ) ;
|
||||
if ( token )
|
||||
{
|
||||
memcpy( lpMetaData->byFaultAddress[ lpMetaData->nFaultCnt ], token, 8 ) ;
|
||||
lpMetaData->nFaultCnt += 1;
|
||||
if( lpMetaData->nFaultCnt >= 50 ) //<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
||||
{
|
||||
return S_OK;
|
||||
}
|
||||
}
|
||||
token = strtok(NULL, seps);
|
||||
}
|
||||
}
|
||||
return S_OK;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return S_OK ;
|
||||
}
|
||||
|
||||
|
||||
|
||||
const char*
|
||||
// <20>ش<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>丮<EFBFBD><E4B8AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ش<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>丮 <20><>ġ<EFBFBD><C4A1> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
|
||||
CDumpFileParser::MakeDirectory( LPDUMPMETADATA lpMetaData, int nCnt )
|
||||
{
|
||||
static CHAR tempDirectory[ MAX_PATH ];
|
||||
CHAR buff[ MAX_PATH ];
|
||||
CHAR temp[ MAX_PATH ];
|
||||
|
||||
if( lpMetaData->nFaultCnt > nCnt )
|
||||
{
|
||||
::GetCurrentDirectory( MAX_PATH, temp );
|
||||
if( !::SetCurrentDirectory( m_szCopyDirectory ) )
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
//sprintf( buff, "%.2f", lpMetaData->fVersion );
|
||||
strcpy( buff, lpMetaData->szVersion );
|
||||
::CreateDirectory( buff, NULL );
|
||||
|
||||
sprintf( tempDirectory, "%s\\%s", m_szCopyDirectory, lpMetaData->szVersion );
|
||||
if( !::SetCurrentDirectory( tempDirectory) )
|
||||
{
|
||||
::SetCurrentDirectory( temp );
|
||||
return NULL;
|
||||
}
|
||||
|
||||
memset( buff, 0, sizeof( CHAR ) * MAX_PATH );
|
||||
strncpy( buff, lpMetaData->byFaultAddress[ nCnt ], sizeof( CHAR ) * 8 );
|
||||
::CreateDirectory( buff, NULL );
|
||||
|
||||
if( !::SetCurrentDirectory( buff ) )
|
||||
{
|
||||
::SetCurrentDirectory( temp );
|
||||
return NULL;
|
||||
}
|
||||
|
||||
::SetCurrentDirectory( temp );
|
||||
sprintf( tempDirectory, "%s\\%s\\%s", m_szCopyDirectory, lpMetaData->szVersion, buff ); // <20><><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD> <20>ּ<EFBFBD>
|
||||
return tempDirectory ;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
BOOL
|
||||
CDumpFileParser::CopyFileExt( LPDUMPMETADATA lpMetaData, LPSTR lpszFileName )
|
||||
{
|
||||
if( !lpMetaData )
|
||||
return FALSE;
|
||||
CHAR szDumpDirectory[ MAX_PATH ] ;
|
||||
CHAR szTemp[ 9 ] ;
|
||||
CHAR filename[ MAX_PATH ];
|
||||
|
||||
CHAR seps[] = "\\" ;
|
||||
CHAR *token;
|
||||
|
||||
|
||||
const char* path;
|
||||
memcpy( szTemp, lpMetaData->byFaultAddress[0], 8 ) ;
|
||||
szTemp[ 8 ] = 0 ;
|
||||
|
||||
strcpy( szDumpDirectory, lpszFileName );
|
||||
token = strtok( szDumpDirectory, seps ) ;
|
||||
while( token )
|
||||
{
|
||||
strcpy( filename, token );
|
||||
token = strtok( NULL, seps );
|
||||
}
|
||||
|
||||
int i ;
|
||||
for( i = 0 ; i < lpMetaData->nFaultCnt ; i++ )
|
||||
{
|
||||
path = MakeDirectory( lpMetaData, i );
|
||||
if( !path )
|
||||
continue;
|
||||
|
||||
sprintf( szDumpDirectory, "%s\\%s", path, filename );
|
||||
if ( !CopyFile( lpszFileName, szDumpDirectory, FALSE ) )
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
INT iLen = strlen( lpszFileName ) ;
|
||||
lpszFileName[ iLen - 1] = 'p' ;
|
||||
lpszFileName[ iLen - 2 ] = 'm' ;
|
||||
lpszFileName[ iLen - 3 ] = 'd' ;
|
||||
|
||||
iLen = strlen( filename ) ;
|
||||
filename[ iLen - 1] = 'p' ;
|
||||
filename[ iLen - 2 ] = 'm' ;
|
||||
filename[ iLen - 3 ] = 'd' ;
|
||||
|
||||
sprintf( szDumpDirectory, "%s\\%s", path, filename );
|
||||
if ( !CopyFile( lpszFileName, szDumpDirectory, FALSE ) )
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
iLen = strlen( lpszFileName ) ;
|
||||
lpszFileName[ iLen - 1] = 't' ;
|
||||
lpszFileName[ iLen - 2 ] = 'x' ;
|
||||
lpszFileName[ iLen - 3 ] = 't' ;
|
||||
|
||||
iLen = strlen( filename ) ;
|
||||
filename[ iLen - 1] = 't' ;
|
||||
filename[ iLen - 2 ] = 'x' ;
|
||||
filename[ iLen - 3 ] = 't' ;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
BOOL
|
||||
CDumpReport::Write2File( const char* filename )
|
||||
{
|
||||
FILE* pFile;
|
||||
int nCnt;
|
||||
std::vector< LPFAULTLIST > vecHotList;
|
||||
pFile = fopen( filename, "w" );
|
||||
std::sort(vecDumpFile.begin(), vecDumpFile.end(), CompareVectorfVersion());
|
||||
std::sort(vecFaultList.begin(), vecFaultList.end(), CompareVectorFaultAddress() );
|
||||
if( pFile )
|
||||
{
|
||||
|
||||
fprintf( pFile,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD>\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(KB)\t<EFBFBD><EFBFBD><EFBFBD>밡<EFBFBD><EFBFBD><EFBFBD>Ѹ<EFBFBD><EFBFBD><EFBFBD>(KB)\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(KB)\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD><EFBFBD><EFBFBD>\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD≯<EFBFBD>\n");
|
||||
std::vector< CDumpLog* >::iterator iterFile;
|
||||
for( iterFile = vecDumpFile.begin() ; iterFile !=vecDumpFile.end() ; iterFile++ )
|
||||
{
|
||||
if( *iterFile )
|
||||
{
|
||||
(*iterFile)->Print2File( pFile );
|
||||
}
|
||||
|
||||
}
|
||||
fprintf( pFile,"--------------------------------------------------------------------------------\n");
|
||||
fprintf( pFile,"\n\n\n");
|
||||
fprintf( pFile,"--------------------------------------------------------------------------------\n");
|
||||
|
||||
|
||||
|
||||
std::vector< LPFAULTLIST >::iterator iterList;
|
||||
for( iterList = vecFaultList.begin() ; iterList !=vecFaultList.end() ; iterList++ )
|
||||
{
|
||||
nCnt = 0;
|
||||
for( iterFile = vecDumpFile.begin() ; iterFile !=vecDumpFile.end() ; iterFile++ )
|
||||
{
|
||||
if( (*iterFile)->fVersion == (*iterList)->dwVersion )
|
||||
{
|
||||
if( strcmp( (*iterFile)->szFaultAddress, (*iterList)->szFileName ) == 0 )
|
||||
{
|
||||
nCnt++;
|
||||
}
|
||||
}
|
||||
}
|
||||
if( nCnt > 0 )
|
||||
{
|
||||
fprintf( pFile,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>%.2f\t<EFBFBD>ּ<EFBFBD>:[ %s ] \t%d<><64>\n", (*iterList)->dwVersion, (*iterList)->szFileName, nCnt );
|
||||
if( nCnt > 20 )
|
||||
vecHotList.push_back( (*iterList) );
|
||||
}
|
||||
}
|
||||
fprintf( pFile,"--------------------------------------------------------------------------------\n");
|
||||
fprintf( pFile,"\n\n\n");
|
||||
fprintf( pFile,"------------------------Hot----List---------------------------------------------\n");
|
||||
for( iterList = vecHotList.begin() ; iterList !=vecHotList.end() ; iterList++ )
|
||||
{
|
||||
fprintf( pFile,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>%.2f\t<EFBFBD>ּ<EFBFBD>:[ %s ] \n", (*iterList)->dwVersion, (*iterList)->szFileName );
|
||||
}
|
||||
fprintf( pFile,"\n\n----E-N-D----\n");
|
||||
fclose( pFile );
|
||||
|
||||
vecHotList.clear();
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
VOID
|
||||
CDumpReport::PushFaultLog( LPDUMPMETADATA lpMeta )
|
||||
{
|
||||
std::vector< CDumpLog* >::iterator iterFile;
|
||||
for( int i = 0 ; i < lpMeta->nFaultCnt ; i++ )
|
||||
{
|
||||
bool bExist = false;
|
||||
for( iterFile = vecDumpFile.begin(); iterFile != vecDumpFile.end(); iterFile++ )
|
||||
{
|
||||
if( (*iterFile)->fVersion == lpMeta->fVersion )
|
||||
{
|
||||
if( strcmp( (*iterFile)->szFileName, lpMeta->szVersion ) == 0 )
|
||||
{
|
||||
if( strcmp( (*iterFile)->szFaultAddress, lpMeta->byFaultAddress[i]) == 0 )
|
||||
{
|
||||
bExist = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if( bExist )
|
||||
continue;
|
||||
|
||||
CDumpLog* pLog;
|
||||
pLog = new CDumpLog();
|
||||
pLog->fVersion = lpMeta->fVersion; // <20><><EFBFBD><EFBFBD>
|
||||
strcpy( pLog->szFaultAddress, lpMeta->byFaultAddress[ i ] ); // Fault Address
|
||||
strcpy( pLog->szFileName, lpMeta->szFileName ) ; // <20><><EFBFBD>ϸ<EFBFBD>
|
||||
strcpy( pLog->szVersion, lpMeta->szVersion ) ; // <20><><EFBFBD><EFBFBD>
|
||||
strcpy( pLog->szGraphicCard, lpMeta->szVideoProcessor ) ; //<2F><EFBFBD><D7B7><EFBFBD> ī<><C4AB>
|
||||
pLog->nBaseSystemMemory = 0; //<2F>⺻ <20>ý<EFBFBD><C3BD><EFBFBD> <20><EFBFBD><DEB8><EFBFBD>
|
||||
pLog->nUsedSystemMemory = 0; //<2F><><EFBFBD><EFBFBD> <20>ý<EFBFBD><C3BD><EFBFBD> <20><EFBFBD><DEB8><EFBFBD>
|
||||
pLog->nBaseLocalMemory = atoi( lpMeta->szTotalPhysicalMemory ); //<2F>⺻ Local <20><EFBFBD><DEB8><EFBFBD>
|
||||
pLog->nLeftMemory = atoi( lpMeta->szAvailableMemory ); //<2F>⺻ Local <20><EFBFBD><DEB8><EFBFBD>
|
||||
pLog->nBaseAGPMemory = atoi( lpMeta->szAdapterRAM ); //<2F>⺻ AGP <20><EFBFBD><DEB8><EFBFBD>
|
||||
pLog->nBaseAGPMemory = pLog->nBaseAGPMemory / 1024 ;
|
||||
pLog->nUsedAGPMemory = 0; //<2F>⺻ AGP <20><EFBFBD><DEB8><EFBFBD>
|
||||
vecDumpFile.push_back( pLog );
|
||||
|
||||
std::vector< LPFAULTLIST >::iterator iterList;
|
||||
bExist = false;
|
||||
for( iterList = vecFaultList.begin() ; iterList !=vecFaultList.end() ; iterList++ )
|
||||
{
|
||||
if( (*iterList)->dwVersion == pLog->fVersion )
|
||||
{
|
||||
if( strcmp( (*iterList)->szFileName, pLog->szFaultAddress ) == 0 )
|
||||
{
|
||||
bExist = true ;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if( !bExist )
|
||||
{
|
||||
LPFAULTLIST pList;
|
||||
pList = new FAULTLIST;
|
||||
strcpy( pList->szFileName, pLog->szFaultAddress );
|
||||
pList->dwVersion = pLog->fVersion;
|
||||
vecFaultList.push_back( pList );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
CDumpReport::~CDumpReport()
|
||||
{
|
||||
std::vector< CDumpLog* >::iterator iterFile;
|
||||
for( iterFile = vecDumpFile.begin() ; iterFile !=vecDumpFile.end() ; iterFile++ )
|
||||
{
|
||||
if( *iterFile )
|
||||
{
|
||||
delete (*iterFile);
|
||||
(*iterFile) = NULL;
|
||||
}
|
||||
|
||||
}
|
||||
vecDumpFile.clear();
|
||||
|
||||
std::vector< LPFAULTLIST >::iterator iterList;
|
||||
for( iterList = vecFaultList.begin() ; iterList !=vecFaultList.end() ; iterList++ )
|
||||
{
|
||||
if( *iterList )
|
||||
{
|
||||
delete (*iterList);
|
||||
(*iterList) = NULL;
|
||||
}
|
||||
}
|
||||
vecFaultList.clear();
|
||||
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
CDumpLog::Print2File( FILE* pFile )
|
||||
{
|
||||
if( !pFile )
|
||||
return;
|
||||
fprintf( pFile,"%s\t%d\t%d\t%d\t%s\t%s\t%s\n", szFaultAddress, nBaseLocalMemory, nLeftMemory, nBaseAGPMemory, szGraphicCard, szVersion, szFileName );
|
||||
return;
|
||||
}
|
||||
138
Tools/DumpStatistics/DumpFileParser.h
Normal file
138
Tools/DumpStatistics/DumpFileParser.h
Normal file
@@ -0,0 +1,138 @@
|
||||
#pragma once
|
||||
|
||||
#include <vector>
|
||||
#include <algorithm>
|
||||
|
||||
class CDumpStatisticsDlg ;
|
||||
|
||||
enum DUMP_FLUG
|
||||
{
|
||||
SERVER_NAME,
|
||||
SERVER_VERSION,
|
||||
EXCEPTION,
|
||||
FAULT_ADDRESS
|
||||
} ;
|
||||
|
||||
typedef struct __DUMPMETADATA
|
||||
{
|
||||
CHAR byFaultAddress[50][ 10 ] ; // <20><><EFBFBD><EFBFBD> <20>ּ<EFBFBD> <20>Ѥ<EFBFBD>;
|
||||
int nFaultCnt;
|
||||
CHAR byException[ 10 ] ; // <20>ͼ<EFBFBD><CDBC><EFBFBD> <20>ּ<EFBFBD>
|
||||
CHAR szServerName[ 32 ] ; // <20><><EFBFBD><EFBFBD> <20≯<EFBFBD>
|
||||
CHAR szFileName[ MAX_PATH ] ; // dump <20><><EFBFBD>ϸ<EFBFBD>
|
||||
CHAR szVersion[ 8 ] ;
|
||||
CHAR szAvailabelVirtualMemory[ 15 ]; // <20><><EFBFBD><EFBFBD> <20><EFBFBD><DEB8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
CHAR szTotalPhysicalMemory[ 15 ]; // <20><><EFBFBD><EFBFBD> <20><DEB8>
|
||||
CHAR szAdapterRAM[ 15 ]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
|
||||
CHAR szVideoProcessor[ 64 ]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>μ<EFBFBD><CEBC><EFBFBD>
|
||||
CHAR szAvailableMemory[ 15 ]; // <20><><EFBFBD><EFBFBD> <20><EFBFBD><DEB8><EFBFBD>
|
||||
|
||||
|
||||
DOUBLE fVersion ; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
__DUMPMETADATA(){ ClearData(); };
|
||||
void ClearData()
|
||||
{
|
||||
memset( byFaultAddress, 0, sizeof( CHAR ) * 50 * 10 );
|
||||
nFaultCnt = 0 ;
|
||||
memset( byException, 0, sizeof( CHAR ) * 10 );
|
||||
memset( szServerName, 0, sizeof( CHAR ) * 32 );
|
||||
memset( szFileName, 0, sizeof( CHAR ) * MAX_PATH );
|
||||
strcpy( szVersion, "0.00" );
|
||||
strcpy( szAvailabelVirtualMemory, "0" );
|
||||
strcpy( szTotalPhysicalMemory, "0" );
|
||||
strcpy( szAdapterRAM, "0" );
|
||||
strcpy( szVideoProcessor, "0" );
|
||||
strcpy( szAvailableMemory, "0" );
|
||||
fVersion = 0;
|
||||
}
|
||||
}DUMPMETADATA, *LPDUMPMETADATA ;
|
||||
|
||||
typedef struct __FILENAME
|
||||
{
|
||||
CHAR szFileName[ MAX_PATH ] ;
|
||||
}FILENAME, *LPFILENAME ;
|
||||
|
||||
typedef struct __FAULTLIST
|
||||
{
|
||||
DOUBLE dwVersion;
|
||||
CHAR szFileName[ MAX_PATH ] ;
|
||||
}FAULTLIST, *LPFAULTLIST;
|
||||
|
||||
typedef struct __DUMPDIRECTORYINFO
|
||||
{
|
||||
CHAR szDirectory[ MAX_PATH ] ; // <20>ش<EFBFBD> Direcoty
|
||||
std::vector< LPFILENAME > vecDumpFileInfo ; // Vector <20><><EFBFBD><EFBFBD>
|
||||
} DUMPDIRECTORYINFO, *LPDUMPDIRECTORYINFO ;
|
||||
|
||||
class CDumpLog
|
||||
{
|
||||
public:
|
||||
DOUBLE fVersion; // <20><><EFBFBD><EFBFBD>
|
||||
CHAR szFaultAddress[ MAX_PATH ]; // Fault Address
|
||||
CHAR szFileName[ MAX_PATH ] ; // <20><><EFBFBD>ϸ<EFBFBD>
|
||||
CHAR szVersion[ MAX_PATH ] ; // <20><><EFBFBD><EFBFBD>
|
||||
CHAR szGraphicCard[ MAX_PATH ] ; //<2F><EFBFBD><D7B7><EFBFBD> ī<><C4AB>
|
||||
UINT nBaseSystemMemory; //<2F>⺻ <20>ý<EFBFBD><C3BD><EFBFBD> <20><EFBFBD><DEB8><EFBFBD>
|
||||
UINT nUsedSystemMemory; //<2F><><EFBFBD><EFBFBD> <20>ý<EFBFBD><C3BD><EFBFBD> <20><EFBFBD><DEB8><EFBFBD>
|
||||
UINT nBaseLocalMemory; //<2F>⺻ Local <20><EFBFBD><DEB8><EFBFBD>
|
||||
UINT nLeftMemory; //<2F>⺻ Local <20><EFBFBD><DEB8><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
UINT nBaseAGPMemory; //<2F>⺻ AGP <20><EFBFBD><DEB8><EFBFBD>
|
||||
UINT nUsedAGPMemory; //<2F>⺻ AGP <20><EFBFBD><DEB8><EFBFBD>
|
||||
public:
|
||||
VOID Print2File( FILE* pFile );
|
||||
CDumpLog(){};
|
||||
~CDumpLog(){};
|
||||
};
|
||||
|
||||
class CDumpReport
|
||||
{
|
||||
private:
|
||||
std::vector< CDumpLog* > vecDumpFile; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
std::vector< LPFAULTLIST > vecFaultList;
|
||||
VOID AddFaultList( const char* szFault );
|
||||
public:
|
||||
BOOL Write2File( const char* filename );
|
||||
CDumpReport(){};
|
||||
~CDumpReport();
|
||||
VOID PushFaultLog( LPDUMPMETADATA lpMeta );
|
||||
|
||||
};
|
||||
|
||||
class CDumpFileParser
|
||||
{
|
||||
private :
|
||||
CHAR m_szCurrentDirectory[ MAX_PATH ] ; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>丮
|
||||
CHAR m_szCopyDirectory[ MAX_PATH ] ; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>°<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD> <20>ִ<EFBFBD> <20><>ġ
|
||||
std::vector< LPDUMPDIRECTORYINFO > m_vecDumpDirectoryInfo ;
|
||||
UINT m_uiDumpSize ;
|
||||
CDumpStatisticsDlg* m_pDlg ;
|
||||
CDumpReport m_DumpReport;
|
||||
|
||||
protected:
|
||||
VOID FindDumpDirectory( const char* path ) ; //<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>丮<EFBFBD><E4B8AE> <20><><EFBFBD><EFBFBD> <20>˻<EFBFBD><CBBB>Ͽ<EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ϰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>丮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
VOID FindDumpFile( LPDUMPDIRECTORYINFO pDirectoryInfo ) ; // <20>ش<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>丮<EFBFBD><E4B8AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ã<><C3A3>
|
||||
|
||||
public :
|
||||
CDumpFileParser( CDumpStatisticsDlg* pDlg ) ;
|
||||
~CDumpFileParser(void);
|
||||
|
||||
VOID SetDumpDirectory( LPCTSTR lpszDirectory )
|
||||
{
|
||||
strcpy( m_szCurrentDirectory, lpszDirectory ) ;
|
||||
sprintf( m_szCopyDirectory,"%s\\sort", m_szCurrentDirectory ) ;
|
||||
::SetCurrentDirectory( m_szCurrentDirectory );
|
||||
::CreateDirectory( "sort", NULL ) ;
|
||||
}
|
||||
|
||||
VOID LoadDumpFile() ;
|
||||
HRESULT CheckLine( CHAR* strLine, LPDUMPMETADATA lpMetaData ) ;
|
||||
HRESULT CheckMoreDump( FILE* pFile, LPDUMPMETADATA lpMetaData ) ;
|
||||
|
||||
const char* MakeDirectory( LPDUMPMETADATA lpMetaData, int nCnt ); // <20>ش<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>丮<EFBFBD><E4B8AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ش<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>丮 <20><>ġ<EFBFBD><C4A1> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
|
||||
BOOL CopyFileExt( LPDUMPMETADATA lpMetaData, LPSTR lpszFileName );
|
||||
//=======================================================
|
||||
// Directory <20><><EFBFBD><EFBFBD>
|
||||
//=======================================================
|
||||
|
||||
VOID FindDumpDirectory() ; //<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>丮<EFBFBD><E4B8AE> <20><><EFBFBD><EFBFBD> <20>˻<EFBFBD><CBBB>Ͽ<EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ϰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>丮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
};
|
||||
72
Tools/DumpStatistics/DumpStatistics.cpp
Normal file
72
Tools/DumpStatistics/DumpStatistics.cpp
Normal file
@@ -0,0 +1,72 @@
|
||||
// DumpStatistics.cpp : <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "DumpStatistics.h"
|
||||
#include "DumpStatisticsDlg.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#endif
|
||||
|
||||
|
||||
// CDumpStatisticsApp
|
||||
|
||||
BEGIN_MESSAGE_MAP(CDumpStatisticsApp, CWinApp)
|
||||
ON_COMMAND(ID_HELP, CWinApp::OnHelp)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
// CDumpStatisticsApp <20><><EFBFBD><EFBFBD>
|
||||
|
||||
CDumpStatisticsApp::CDumpStatisticsApp()
|
||||
{
|
||||
// TODO: <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
||||
// InitInstance<63><65> <20><><EFBFBD><EFBFBD> <20>߿<EFBFBD><DFBF><EFBFBD> <20>ʱ<EFBFBD>ȭ <20>۾<EFBFBD><DBBE><EFBFBD> <20><>ġ<EFBFBD>մϴ<D5B4>.
|
||||
}
|
||||
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CDumpStatisticsApp <20><>ü<EFBFBD>Դϴ<D4B4>.
|
||||
|
||||
CDumpStatisticsApp theApp;
|
||||
|
||||
|
||||
// CDumpStatisticsApp <20>ʱ<EFBFBD>ȭ
|
||||
|
||||
BOOL CDumpStatisticsApp::InitInstance()
|
||||
{
|
||||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> <20>Ŵ<EFBFBD><C5B4>佺Ʈ<E4BDBA><C6AE> ComCtl32.dll <20><><EFBFBD><EFBFBD> 6 <20>̻<EFBFBD><CCBB><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD>־<EFBFBD> <20><>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD>
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD>, Windows XP <20><EFBFBD> <20>ݵ<EFBFBD><DDB5><EFBFBD> InitCommonControls()<29><> <20>ʿ<EFBFBD><CABF>մϴ<D5B4>.
|
||||
// InitCommonControls()<29><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> â<><C3A2> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
|
||||
InitCommonControls();
|
||||
|
||||
CWinApp::InitInstance();
|
||||
|
||||
AfxEnableControlContainer();
|
||||
|
||||
// ǥ<><C7A5> <20>ʱ<EFBFBD>ȭ
|
||||
// <20>̵<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʰ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ũ<>⸦ <20><><EFBFBD>̷<EFBFBD><CCB7><EFBFBD>
|
||||
// <20>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD> <20>ʿ<EFBFBD> <20><><EFBFBD><EFBFBD> Ư<><C6AF> <20>ʱ<EFBFBD>ȭ <20><>ƾ<EFBFBD><C6BE> <20><><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD> <20>մϴ<D5B4>.
|
||||
// <20>ش<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> Ű<><C5B0> <20><><EFBFBD><EFBFBD><EFBFBD>Ͻʽÿ<CABD>.
|
||||
// TODO: <20><> <20><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD> ȸ<><C8B8> <20>Ǵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20≯<EFBFBD><CCB8><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD> <20>մϴ<D5B4>.
|
||||
SetRegistryKey(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>翡<EFBFBD><E7BFA1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1>"));
|
||||
|
||||
CDumpStatisticsDlg dlg;
|
||||
m_pMainWnd = &dlg;
|
||||
INT_PTR nResponse = dlg.DoModal();
|
||||
if (nResponse == IDOK)
|
||||
{
|
||||
// TODO: <20><><EFBFBD> <20><>ȭ <20><><EFBFBD>ڰ<EFBFBD> Ȯ<><C8AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD>
|
||||
// <20>ڵ带 <20><>ġ<EFBFBD>մϴ<D5B4>.
|
||||
}
|
||||
else if (nResponse == IDCANCEL)
|
||||
{
|
||||
// TODO: <20><><EFBFBD> <20><>ȭ <20><><EFBFBD>ڰ<EFBFBD> <20><><EFBFBD>Ҹ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD>
|
||||
// <20>ڵ带 <20><>ġ<EFBFBD>մϴ<D5B4>.
|
||||
}
|
||||
|
||||
// <20><>ȭ <20><><EFBFBD>ڰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><EFBFBD><DEBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʰ<EFBFBD>
|
||||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20>ֵ<EFBFBD><D6B5><EFBFBD> FALSE<53><45> <20><>ȯ<EFBFBD>մϴ<D5B4>.
|
||||
return FALSE;
|
||||
}
|
||||
31
Tools/DumpStatistics/DumpStatistics.h
Normal file
31
Tools/DumpStatistics/DumpStatistics.h
Normal file
@@ -0,0 +1,31 @@
|
||||
// DumpStatistics.h : PROJECT_NAME <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
//
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef __AFXWIN_H__
|
||||
#error PCH<43><48><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD> <20><><EFBFBD><EFBFBD> 'stdafx.h'<27><> <20><><EFBFBD><EFBFBD><EFBFBD>Ͻʽÿ<CABD>.
|
||||
#endif
|
||||
|
||||
#include "resource.h" // <20><> <20><>ȣ
|
||||
|
||||
|
||||
// CDumpStatisticsApp:
|
||||
// <20><> Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ؼ<EFBFBD><D8BC><EFBFBD> DumpStatistics.cpp<70><70> <20><><EFBFBD><EFBFBD><EFBFBD>Ͻʽÿ<CABD>.
|
||||
//
|
||||
|
||||
class CDumpStatisticsApp : public CWinApp
|
||||
{
|
||||
public:
|
||||
CDumpStatisticsApp();
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
public:
|
||||
virtual BOOL InitInstance();
|
||||
|
||||
// <20><><EFBFBD><EFBFBD>
|
||||
|
||||
DECLARE_MESSAGE_MAP()
|
||||
};
|
||||
|
||||
extern CDumpStatisticsApp theApp;
|
||||
204
Tools/DumpStatistics/DumpStatistics.rc
Normal file
204
Tools/DumpStatistics/DumpStatistics.rc
Normal file
@@ -0,0 +1,204 @@
|
||||
// Microsoft Visual C++ generated resource script.
|
||||
//
|
||||
#include "resource.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
#include "afxres.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// <20>ѱ<EFBFBD><D1B1><EFBFBD> resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
|
||||
#pragma code_page(949)
|
||||
#endif //_WIN32
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE
|
||||
BEGIN
|
||||
"#include ""afxres.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE
|
||||
BEGIN
|
||||
"#define _AFX_NO_SPLITTER_RESOURCES\r\n"
|
||||
"#define _AFX_NO_OLE_RESOURCES\r\n"
|
||||
"#define _AFX_NO_TRACKER_RESOURCES\r\n"
|
||||
"#define _AFX_NO_PROPERTY_RESOURCES\r\n"
|
||||
"\r\n"
|
||||
"#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)\r\n"
|
||||
"LANGUAGE 18, 1\r\n"
|
||||
"#pragma code_page(949)\r\n"
|
||||
"#include ""res\\DumpStatistics.rc2"" // Microsoft Visual C++<2B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ҽ<EFBFBD>\r\n"
|
||||
"#include ""afxres.rc"" // ǥ<><C7A5> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>\r\n"
|
||||
"#endif\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Icon
|
||||
//
|
||||
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
IDR_MAINFRAME ICON "res\\DumpStatistics.ico"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Dialog
|
||||
//
|
||||
|
||||
IDD_ABOUTBOX DIALOGEX 0, 0, 235, 55
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION |
|
||||
WS_SYSMENU
|
||||
CAPTION "DumpStatistics <20><><EFBFBD><EFBFBD>"
|
||||
FONT 9, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
ICON IDR_MAINFRAME,IDC_STATIC,11,17,20,20
|
||||
LTEXT "DumpStatistics Version 1.0",IDC_STATIC,40,10,119,8,
|
||||
SS_NOPREFIX
|
||||
LTEXT "Copyright (C) 2004",IDC_STATIC,40,25,119,8
|
||||
DEFPUSHBUTTON "Ȯ<><C8AE>",IDOK,178,7,50,16,WS_GROUP
|
||||
END
|
||||
|
||||
IDD_DUMPSTATISTICS_DIALOG DIALOGEX 0, 0, 359, 54
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_FIXEDSYS | WS_POPUP |
|
||||
WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
EXSTYLE WS_EX_APPWINDOW
|
||||
CAPTION "Dump Statistics"
|
||||
FONT 9, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
PUSHBUTTON "Set Current Directory",IDC_BTNCURRENTDIRECTORY,272,7,80,
|
||||
14
|
||||
PUSHBUTTON "Dump Processing",IDC_BTNDUMPPROCESSING,272,21,80,14
|
||||
CONTROL "",IDC_DUMPPROGRESS,"msctls_progress32",WS_BORDER,7,21,
|
||||
262,14
|
||||
LTEXT "Static",IDC_DUMPFILE,7,39,345,8
|
||||
EDITTEXT IDC_EDIT_PATH,7,7,262,12,ES_AUTOHSCROLL
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Version
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 1,0,0,1
|
||||
PRODUCTVERSION 1,0,0,1
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS 0x4L
|
||||
FILETYPE 0x1L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "041203b5"
|
||||
BEGIN
|
||||
VALUE "CompanyName", "TODO: <ȸ<><C8B8> <20≯<EFBFBD>>"
|
||||
VALUE "FileDescription", "TODO: <<3C><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>>"
|
||||
VALUE "FileVersion", "1.0.0.1"
|
||||
VALUE "InternalName", "DumpStatistics.exe"
|
||||
VALUE "LegalCopyright", "TODO: (c) <ȸ<><C8B8> <20≯<EFBFBD>>. All rights reserved."
|
||||
VALUE "OriginalFilename", "DumpStatistics.exe"
|
||||
VALUE "ProductName", "TODO: <<3C><>ǰ <20≯<EFBFBD>>"
|
||||
VALUE "ProductVersion", "1.0.0.1"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "<22><>ȯ", 0x412, 949
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// DESIGNINFO
|
||||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
GUIDELINES DESIGNINFO
|
||||
BEGIN
|
||||
IDD_ABOUTBOX, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 228
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 48
|
||||
END
|
||||
|
||||
IDD_DUMPSTATISTICS_DIALOG, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 352
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 47
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// String Table
|
||||
//
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ABOUTBOX "DumpStatistics <20><><EFBFBD><EFBFBD>(&A)..."
|
||||
END
|
||||
|
||||
#endif // <20>ѱ<EFBFBD><D1B1><EFBFBD> resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
#define _AFX_NO_SPLITTER_RESOURCES
|
||||
#define _AFX_NO_OLE_RESOURCES
|
||||
#define _AFX_NO_TRACKER_RESOURCES
|
||||
#define _AFX_NO_PROPERTY_RESOURCES
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)
|
||||
LANGUAGE 18, 1
|
||||
#pragma code_page(949)
|
||||
#include "res\DumpStatistics.rc2" // Microsoft Visual C++<2B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ҽ<EFBFBD>
|
||||
#include "afxres.rc" // ǥ<><C7A5> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
||||
206
Tools/DumpStatistics/DumpStatistics.vcproj
Normal file
206
Tools/DumpStatistics/DumpStatistics.vcproj
Normal file
@@ -0,0 +1,206 @@
|
||||
<?xml version="1.0" encoding="ks_c_5601-1987"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="7.10"
|
||||
Name="DumpStatistics"
|
||||
ProjectGUID="{95A6140D-E915-4434-8E49-E25812EB5786}"
|
||||
SccProjectName=""
|
||||
SccLocalPath=""
|
||||
Keyword="MFCProj">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
</Platforms>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="Debug"
|
||||
IntermediateDirectory="Debug"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="2"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG"
|
||||
MinimalRebuild="TRUE"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
TreatWChar_tAsBuiltInType="TRUE"
|
||||
UsePrecompiledHeader="3"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="TRUE"
|
||||
DebugInformationFormat="4"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="2"
|
||||
GenerateDebugInformation="TRUE"
|
||||
SubSystem="2"
|
||||
TargetMachine="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
MkTypLibCompatible="FALSE"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1042"
|
||||
AdditionalIncludeDirectories="$(IntDir)"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="Release"
|
||||
IntermediateDirectory="Release"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="2"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG"
|
||||
MinimalRebuild="FALSE"
|
||||
RuntimeLibrary="2"
|
||||
TreatWChar_tAsBuiltInType="TRUE"
|
||||
UsePrecompiledHeader="3"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="TRUE"
|
||||
DebugInformationFormat="3"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="1"
|
||||
GenerateDebugInformation="TRUE"
|
||||
SubSystem="2"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
MkTypLibCompatible="FALSE"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1042"
|
||||
AdditionalIncludeDirectories="$(IntDir)"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="<22>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD>"
|
||||
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
|
||||
<File
|
||||
RelativePath=".\DirDialog.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\DumpFileParser.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\DumpStatistics.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\DumpStatisticsDlg.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\stdafx.cpp">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="<22><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
|
||||
<File
|
||||
RelativePath=".\DirDialog.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\DumpFileParser.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\DumpStatistics.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\DumpStatisticsDlg.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Resource.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\stdafx.h">
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="<22><><EFBFBD>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD>"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
|
||||
<File
|
||||
RelativePath=".\res\DumpStatistics.ico">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\DumpStatistics.rc">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\res\DumpStatistics.rc2">
|
||||
</File>
|
||||
</Filter>
|
||||
<File
|
||||
RelativePath=".\res\DumpStatistics.manifest">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\ReadMe.txt">
|
||||
</File>
|
||||
</Files>
|
||||
<Globals>
|
||||
<Global
|
||||
Name="RESOURCE_FILE"
|
||||
Value="DumpStatistics.rc"/>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
153
Tools/DumpStatistics/DumpStatistics.vcxproj
Normal file
153
Tools/DumpStatistics/DumpStatistics.vcxproj
Normal file
@@ -0,0 +1,153 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Template|Win32">
|
||||
<Configuration>Template</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{95A6140D-E915-4434-8E49-E25812EB5786}</ProjectGuid>
|
||||
<SccProjectName />
|
||||
<SccLocalPath />
|
||||
<Keyword>MFCProj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseOfMfc>Dynamic</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseOfMfc>Dynamic</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Template|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Template|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Template|Win32'" />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>false</MkTypLibCompatible>
|
||||
</Midl>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0412</Culture>
|
||||
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>false</MkTypLibCompatible>
|
||||
</Midl>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0412</Culture>
|
||||
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="DirDialog.cpp" />
|
||||
<ClCompile Include="DumpFileParser.cpp" />
|
||||
<ClCompile Include="DumpStatistics.cpp" />
|
||||
<ClCompile Include="DumpStatisticsDlg.cpp" />
|
||||
<ClCompile Include="stdafx.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="DirDialog.h" />
|
||||
<ClInclude Include="DumpFileParser.h" />
|
||||
<ClInclude Include="DumpStatistics.h" />
|
||||
<ClInclude Include="DumpStatisticsDlg.h" />
|
||||
<ClInclude Include="Resource.h" />
|
||||
<ClInclude Include="stdafx.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="res\DumpStatistics.ico" />
|
||||
<None Include="res\DumpStatistics.rc2" />
|
||||
<None Include="ReadMe.txt" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="DumpStatistics.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Manifest Include="res\DumpStatistics.manifest" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
<ProjectExtensions>
|
||||
<VisualStudio>
|
||||
<UserProperties RESOURCE_FILE="DumpStatistics.rc" />
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
</Project>
|
||||
71
Tools/DumpStatistics/DumpStatistics.vcxproj.filters
Normal file
71
Tools/DumpStatistics/DumpStatistics.vcxproj.filters
Normal file
@@ -0,0 +1,71 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="소스 파일">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="헤더 파일">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="리소스 파일">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="DirDialog.cpp">
|
||||
<Filter>소스 파일</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="DumpFileParser.cpp">
|
||||
<Filter>소스 파일</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="DumpStatistics.cpp">
|
||||
<Filter>소스 파일</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="DumpStatisticsDlg.cpp">
|
||||
<Filter>소스 파일</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="stdafx.cpp">
|
||||
<Filter>소스 파일</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="DirDialog.h">
|
||||
<Filter>헤더 파일</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="DumpFileParser.h">
|
||||
<Filter>헤더 파일</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="DumpStatistics.h">
|
||||
<Filter>헤더 파일</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="DumpStatisticsDlg.h">
|
||||
<Filter>헤더 파일</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Resource.h">
|
||||
<Filter>헤더 파일</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="stdafx.h">
|
||||
<Filter>헤더 파일</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="res\DumpStatistics.ico">
|
||||
<Filter>리소스 파일</Filter>
|
||||
</None>
|
||||
<None Include="res\DumpStatistics.rc2">
|
||||
<Filter>리소스 파일</Filter>
|
||||
</None>
|
||||
<None Include="ReadMe.txt" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="DumpStatistics.rc">
|
||||
<Filter>리소스 파일</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Manifest Include="res\DumpStatistics.manifest" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
194
Tools/DumpStatistics/DumpStatisticsDlg.cpp
Normal file
194
Tools/DumpStatistics/DumpStatisticsDlg.cpp
Normal file
@@ -0,0 +1,194 @@
|
||||
// DumpStatisticsDlg.cpp : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "DumpStatistics.h"
|
||||
#include "DumpStatisticsDlg.h"
|
||||
#include ".\dumpstatisticsdlg.h"
|
||||
#include "DumpFileParser.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#endif
|
||||
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD> CAboutDlg <20><>ȭ <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
|
||||
class CAboutDlg : public CDialog
|
||||
{
|
||||
public:
|
||||
CAboutDlg();
|
||||
|
||||
// <20><>ȭ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
enum { IDD = IDD_ABOUTBOX };
|
||||
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV <20><><EFBFBD><EFBFBD>
|
||||
|
||||
// <20><><EFBFBD><EFBFBD>
|
||||
protected:
|
||||
DECLARE_MESSAGE_MAP()
|
||||
};
|
||||
|
||||
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
|
||||
{
|
||||
}
|
||||
|
||||
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
|
||||
{
|
||||
CDialog::DoDataExchange(pDX);
|
||||
}
|
||||
|
||||
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
// CDumpStatisticsDlg <20><>ȭ <20><><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
|
||||
CDumpStatisticsDlg::CDumpStatisticsDlg(CWnd* pParent /*=NULL*/)
|
||||
: CDialog(CDumpStatisticsDlg::IDD, pParent)
|
||||
, m_DumpFile(_T(""))
|
||||
, m_strBasePath(_T(""))
|
||||
{
|
||||
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
|
||||
}
|
||||
|
||||
void CDumpStatisticsDlg::DoDataExchange(CDataExchange* pDX)
|
||||
{
|
||||
CDialog::DoDataExchange(pDX);
|
||||
DDX_Text(pDX, IDC_DUMPFILE, m_DumpFile);
|
||||
DDX_Text(pDX, IDC_EDIT_PATH, m_strBasePath);
|
||||
}
|
||||
|
||||
BEGIN_MESSAGE_MAP(CDumpStatisticsDlg, CDialog)
|
||||
ON_WM_SYSCOMMAND()
|
||||
ON_WM_PAINT()
|
||||
ON_WM_QUERYDRAGICON()
|
||||
//}}AFX_MSG_MAP
|
||||
ON_BN_CLICKED(IDC_BTNCURRENTDIRECTORY, OnBnClickedBtncurrentdirectory)
|
||||
ON_BN_CLICKED(IDC_BTNDUMPPROCESSING, OnBnClickedBtndumpprocessing)
|
||||
ON_WM_DESTROY()
|
||||
ON_NOTIFY(NM_CUSTOMDRAW, IDC_DUMPPROGRESS, OnNMCustomdrawDumpprogress)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
// CDumpStatisticsDlg <20><EFBFBD><DEBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD>
|
||||
|
||||
BOOL CDumpStatisticsDlg::OnInitDialog()
|
||||
{
|
||||
CDialog::OnInitDialog();
|
||||
|
||||
// <20>ý<EFBFBD><C3BD><EFBFBD> <20><EFBFBD><DEB4><EFBFBD> "<22><><EFBFBD><EFBFBD>..." <20><EFBFBD> <20><EFBFBD><D7B8><EFBFBD> <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
||||
|
||||
// IDM_ABOUTBOX<4F><58> <20>ý<EFBFBD><C3BD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>־<EFBFBD><D6BE><EFBFBD> <20>մϴ<D5B4>.
|
||||
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
|
||||
ASSERT(IDM_ABOUTBOX < 0xF000);
|
||||
|
||||
CMenu* pSysMenu = GetSystemMenu(FALSE);
|
||||
if (pSysMenu != NULL)
|
||||
{
|
||||
CString strAboutMenu;
|
||||
strAboutMenu.LoadString(IDS_ABOUTBOX);
|
||||
if (!strAboutMenu.IsEmpty())
|
||||
{
|
||||
pSysMenu->AppendMenu(MF_SEPARATOR);
|
||||
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
|
||||
}
|
||||
}
|
||||
|
||||
// <20><> <20><>ȭ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><> â<><C3A2> <20><>ȭ <20><><EFBFBD>ڰ<EFBFBD> <20>ƴ<EFBFBD> <20><><EFBFBD>쿡<EFBFBD><ECBFA1>
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>ũ<EFBFBD><C5A9> <20><> <20>۾<EFBFBD><DBBE><EFBFBD> <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
|
||||
SetIcon(m_hIcon, TRUE); // ū <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
|
||||
SetIcon(m_hIcon, FALSE); // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
|
||||
|
||||
// TODO: <20><><EFBFBD> <20>߰<EFBFBD> <20>ʱ<EFBFBD>ȭ <20>۾<EFBFBD><DBBE><EFBFBD> <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
||||
m_pDumpFileParser = new CDumpFileParser( this ) ;
|
||||
|
||||
return TRUE; // <20><>Ʈ<EFBFBD>ѿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> TRUE<55><45> <20><>ȯ<EFBFBD>մϴ<D5B4>.
|
||||
}
|
||||
|
||||
void CDumpStatisticsDlg::OnSysCommand(UINT nID, LPARAM lParam)
|
||||
{
|
||||
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
|
||||
{
|
||||
CAboutDlg dlgAbout;
|
||||
dlgAbout.DoModal();
|
||||
}
|
||||
else
|
||||
{
|
||||
CDialog::OnSysCommand(nID, lParam);
|
||||
}
|
||||
}
|
||||
|
||||
// <20><>ȭ <20><><EFBFBD>ڿ<EFBFBD> <20>ּ<EFBFBD>ȭ <20><><EFBFBD>߸<EFBFBD> <20>߰<EFBFBD><DFB0><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><D7B8><EFBFBD><EFBFBD><EFBFBD>
|
||||
// <20>Ʒ<EFBFBD> <20>ڵ尡 <20>ʿ<EFBFBD><CABF>մϴ<D5B4>. <20><><EFBFBD><EFBFBD>/<2F><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> MFC <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><><EFBFBD>쿡<EFBFBD><ECBFA1>
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>ũ<EFBFBD><C5A9><EFBFBD><EFBFBD> <20><> <20>۾<EFBFBD><DBBE><EFBFBD> <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
|
||||
|
||||
void CDumpStatisticsDlg::OnPaint()
|
||||
{
|
||||
if (IsIconic())
|
||||
{
|
||||
CPaintDC dc(this); // <20><EFBFBD><D7B8>⸦ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD> <20><><EFBFBD>ؽ<EFBFBD>Ʈ
|
||||
|
||||
SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
|
||||
|
||||
// Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ <20>簢<EFBFBD><E7B0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EEB5A5> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
|
||||
int cxIcon = GetSystemMetrics(SM_CXICON);
|
||||
int cyIcon = GetSystemMetrics(SM_CYICON);
|
||||
CRect rect;
|
||||
GetClientRect(&rect);
|
||||
int x = (rect.Width() - cxIcon + 1) / 2;
|
||||
int y = (rect.Height() - cyIcon + 1) / 2;
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><D7B8>ϴ<EFBFBD>.
|
||||
dc.DrawIcon(x, y, m_hIcon);
|
||||
}
|
||||
else
|
||||
{
|
||||
CDialog::OnPaint();
|
||||
}
|
||||
}
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD>ڰ<EFBFBD> <20>ּ<EFBFBD>ȭ<EFBFBD><C8AD> â<><C3A2> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ȿ<EFBFBD> Ŀ<><C4BF><EFBFBD><EFBFBD> ǥ<>õǵ<C3B5><C7B5><EFBFBD> <20>ý<EFBFBD><C3BD>ۿ<EFBFBD><DBBF><EFBFBD>
|
||||
// <20><> <20>Լ<EFBFBD><D4BC><EFBFBD> ȣ<><C8A3><EFBFBD>մϴ<D5B4>.
|
||||
HCURSOR CDumpStatisticsDlg::OnQueryDragIcon()
|
||||
{
|
||||
return static_cast<HCURSOR>(m_hIcon);
|
||||
}
|
||||
|
||||
void CDumpStatisticsDlg::OnBnClickedBtncurrentdirectory()
|
||||
{
|
||||
// TODO: <20><><EFBFBD> <20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
||||
m_DirDialog.DoBrowse( GetSafeHwnd() ) ;
|
||||
m_strBasePath = m_DirDialog.m_strPath ;
|
||||
UpdateData( FALSE );
|
||||
}
|
||||
|
||||
void CDumpStatisticsDlg::OnBnClickedBtndumpprocessing()
|
||||
{
|
||||
// TODO: <20><><EFBFBD> <20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
||||
UpdateData( TRUE );
|
||||
if( ! ::SetCurrentDirectory( m_strBasePath ) )
|
||||
return;
|
||||
m_pDumpFileParser->SetDumpDirectory( m_strBasePath ) ;
|
||||
m_pDumpFileParser->FindDumpDirectory();
|
||||
m_pDumpFileParser->LoadDumpFile() ;
|
||||
|
||||
}
|
||||
|
||||
void CDumpStatisticsDlg::OnDestroy()
|
||||
{
|
||||
CDialog::OnDestroy();
|
||||
|
||||
// TODO: <20><><EFBFBD> <20><EFBFBD><DEBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
||||
delete m_pDumpFileParser ;
|
||||
}
|
||||
|
||||
void CDumpStatisticsDlg::OnNMCustomdrawDumpprogress(NMHDR *pNMHDR, LRESULT *pResult)
|
||||
{
|
||||
LPNMCUSTOMDRAW pNMCD = reinterpret_cast<LPNMCUSTOMDRAW>(pNMHDR);
|
||||
// TODO: <20><><EFBFBD> <20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
||||
*pResult = 0;
|
||||
}
|
||||
43
Tools/DumpStatistics/DumpStatisticsDlg.h
Normal file
43
Tools/DumpStatistics/DumpStatisticsDlg.h
Normal file
@@ -0,0 +1,43 @@
|
||||
// DumpStatisticsDlg.h : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
//
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "DirDialog.h"
|
||||
|
||||
class CDumpFileParser ;
|
||||
|
||||
// CDumpStatisticsDlg <20><>ȭ <20><><EFBFBD><EFBFBD>
|
||||
class CDumpStatisticsDlg : public CDialog
|
||||
{
|
||||
private :
|
||||
CDirDialog m_DirDialog ;
|
||||
CDumpFileParser* m_pDumpFileParser ;
|
||||
// <20><><EFBFBD><EFBFBD>
|
||||
public:
|
||||
CDumpStatisticsDlg(CWnd* pParent = NULL); // ǥ<><C7A5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
// <20><>ȭ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
enum { IDD = IDD_DUMPSTATISTICS_DIALOG };
|
||||
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV <20><><EFBFBD><EFBFBD>
|
||||
|
||||
// <20><><EFBFBD><EFBFBD>
|
||||
protected:
|
||||
HICON m_hIcon;
|
||||
|
||||
// <20><EFBFBD><DEBD><EFBFBD> <20><> <20>Լ<EFBFBD><D4BC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>߽<EFBFBD><DFBD>ϴ<EFBFBD>.
|
||||
virtual BOOL OnInitDialog();
|
||||
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
|
||||
afx_msg void OnPaint();
|
||||
afx_msg HCURSOR OnQueryDragIcon();
|
||||
DECLARE_MESSAGE_MAP()
|
||||
public:
|
||||
afx_msg void OnBnClickedBtncurrentdirectory();
|
||||
afx_msg void OnBnClickedBtndumpprocessing();
|
||||
afx_msg void OnDestroy();
|
||||
afx_msg void OnNMCustomdrawDumpprogress(NMHDR *pNMHDR, LRESULT *pResult);
|
||||
CString m_DumpFile;
|
||||
CString m_strBasePath;
|
||||
};
|
||||
77
Tools/DumpStatistics/ReadMe.txt
Normal file
77
Tools/DumpStatistics/ReadMe.txt
Normal file
@@ -0,0 +1,77 @@
|
||||
================================================================================
|
||||
MFC <20><><EFBFBD>̺귯<CCBA><EAB7AF> : DumpStatistics <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>
|
||||
================================================================================
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>縦 <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> DumpStatistics <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>. <20><> <20><><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>α<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⺻<EFBFBD><E2BABB><EFBFBD><EFBFBD> MFC <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> <20>ۼ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
|
||||
|
||||
<EFBFBD><EFBFBD> <20><><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD> DumpStatistics <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><> <20><><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>䰡 <20><><EFBFBD>ԵǾ<D4B5>
|
||||
<EFBFBD>ֽ<EFBFBD><EFBFBD>ϴ<EFBFBD>.
|
||||
|
||||
DumpStatistics.vcproj
|
||||
<20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>縦 <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> VC++ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
<20><> <20><><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Visual C++ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>翡<EFBFBD><E7BFA1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>÷<EFBFBD><C3B7><EFBFBD>,
|
||||
<20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>Ե˴ϴ<CBB4>.
|
||||
|
||||
DumpStatistics.h
|
||||
<20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>. <20><> <20><><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD> <20>ٸ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD>õ<EFBFBD> Resource.h<><68> <20><><EFBFBD><EFBFBD>
|
||||
Ư<><C6AF> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ԵǸ<D4B5> CDumpStatisticsApp <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>˴ϴ<CBB4>.
|
||||
|
||||
DumpStatistics.cpp
|
||||
CDumpStatisticsApp <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
|
||||
DumpStatistics.rc
|
||||
<20><><EFBFBD>α<CEB1><D7B7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD> Microsoft Windows <20><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
<20><> <20><><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD> RES <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>Ʈ<EFBFBD><C6AE> <20><> Ŀ<><C4BF><EFBFBD><EFBFBD> <20><><EFBFBD>ԵǸ<D4B5>
|
||||
Microsoft Visual C++<2B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ
|
||||
<20><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD> 1042<34><32> <20><><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
|
||||
|
||||
res\DumpStatistics.ico
|
||||
<20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
<20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DumpStatistics.rc<72><63> <20><><EFBFBD>Ե˴ϴ<CBB4>.
|
||||
|
||||
res\DumpStatistics.rc2
|
||||
Microsoft Visual C++<2B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD> <20><><EFBFBD>Ե<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
<20><><EFBFBD>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2BFA1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD> <20><> <20><><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD>ԵǾ<D4B5> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>翡<EFBFBD><E7BFA1><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ȭ <20><><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
|
||||
DumpStatisticsDlg.h, DumpStatisticsDlg.cpp - <20><>ȭ <20><><EFBFBD><EFBFBD>
|
||||
CDumpStatisticsDlg Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>. <20><> Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD>
|
||||
<20><> <20><>ȭ <20><><EFBFBD>ڿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ǵ˴ϴ<CBB4>. <20><>ȭ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ø<EFBFBD><C3B8><EFBFBD> DumpStatistics.rc<72><63>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Microsoft Visual C++<2B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
<EFBFBD><EFBFBD>Ÿ <20><><EFBFBD><EFBFBD>
|
||||
|
||||
ActiveX <20><>Ʈ<EFBFBD><C6AE>
|
||||
<20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD><EFBFBD><EFBFBD> ActiveX <20><>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
<EFBFBD><EFBFBD>Ÿ ǥ<><C7A5> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
StdAfx.h, StdAfx.cpp
|
||||
<20≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>(PCH) DumpStatistics.pch <20><> <20≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> StdAfx.obj<62><6A> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
|
||||
Resource.h
|
||||
<20><><EFBFBD>ο<EFBFBD> <20><><EFBFBD>ҽ<EFBFBD> ID<49><44> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> ǥ<><C7A5> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
Microsoft Visual C++<2B><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>а<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD>մϴ<D5B4>.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
<EFBFBD><EFBFBD>Ÿ <20><><EFBFBD><EFBFBD>
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>翡<EFBFBD><E7BFA1><EFBFBD><EFBFBD> "TODO:"<22><> <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> <20>߰<EFBFBD><DFB0>ϰų<CFB0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD> <20>ϴ<EFBFBD>
|
||||
<EFBFBD>ҽ<EFBFBD> <20>ڵ带 <20><>Ÿ<EFBFBD><C5B8><EFBFBD>ϴ<EFBFBD>.
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> DLL<4C><4C> MFC<46><43> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><><EFBFBD> <20> ü<><C3BC><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ٸ<EFBFBD> <20><><EFBFBD><EFBFBD> Microsoft Visual C++ CD-ROM<4F><4D> Win\System <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD> <20>ִ<EFBFBD>
|
||||
<EFBFBD>ش<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD> MFC70XXX.DLL<4C><4C> <20><>ǻ<EFBFBD><C7BB><EFBFBD><EFBFBD> system <20>Ǵ<EFBFBD> system32 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> MFCLOC.DLL<4C><4C> <20≯<EFBFBD><CCB8><EFBFBD> <20>ٲپ<D9B2><D9BE><EFBFBD> <20>մϴ<D5B4>. "XXX"<22><> <20>ش<EFBFBD> <20><><EFBFBD> <20><>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դϴ<EFBFBD>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> MFC70DEU.DLL<4C><4C><EFBFBD><EFBFBD> <20><><EFBFBD>Ͼ<EFBFBD><CFBE><EFBFBD> <20><>ȯ<EFBFBD><C8AF> <20><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD> <20><><EFBFBD>Ե˴ϴ<CBB4>.
|
||||
<EFBFBD>̷<EFBFBD> <20>۾<EFBFBD><DBBE><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20>Ϻ<EFBFBD> UI <20><><EFBFBD>Ұ<EFBFBD> <20> ü<><C3BC><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ְ<EFBFBD> <20>˴ϴ<CBB4>.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
BIN
Tools/DumpStatistics/res/DumpStatistics.ico
Normal file
BIN
Tools/DumpStatistics/res/DumpStatistics.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 21 KiB |
22
Tools/DumpStatistics/res/DumpStatistics.manifest
Normal file
22
Tools/DumpStatistics/res/DumpStatistics.manifest
Normal file
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
||||
<assemblyIdentity
|
||||
version="1.0.0.0"
|
||||
processorArchitecture="X86"
|
||||
name="Microsoft.Windows.DumpStatistics"
|
||||
type="win32"
|
||||
/>
|
||||
<description>여기에 응용 프로그램 설명을 추가합니다.</description>
|
||||
<dependency>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity
|
||||
type="win32"
|
||||
name="Microsoft.Windows.Common-Controls"
|
||||
version="6.0.0.0"
|
||||
processorArchitecture="X86"
|
||||
publicKeyToken="6595b64144ccf1df"
|
||||
language="*"
|
||||
/>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
</assembly>
|
||||
13
Tools/DumpStatistics/res/DumpStatistics.rc2
Normal file
13
Tools/DumpStatistics/res/DumpStatistics.rc2
Normal file
@@ -0,0 +1,13 @@
|
||||
//
|
||||
// DumpStatistics.RC2 - resources Microsoft Visual C++<2B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ<EFBFBD> <20><><EFBFBD>ҽ<EFBFBD>
|
||||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#error <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Microsoft Visual C++<2B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
|
||||
#endif //APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD> <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
27
Tools/DumpStatistics/resource.h
Normal file
27
Tools/DumpStatistics/resource.h
Normal file
@@ -0,0 +1,27 @@
|
||||
//{{NO_DEPENDENCIES}}
|
||||
// Microsoft Visual C++ generated include file.
|
||||
// Used by DumpStatistics.rc
|
||||
//
|
||||
#define IDM_ABOUTBOX 0x0010
|
||||
#define IDD_ABOUTBOX 100
|
||||
#define IDS_ABOUTBOX 101
|
||||
#define IDD_DUMPSTATISTICS_DIALOG 102
|
||||
#define IDR_MAINFRAME 128
|
||||
#define IDC_BTNCURRENTDIRECTORY 1000
|
||||
#define IDC_BUTTON2 1001
|
||||
#define IDC_BTNDUMPPROCESSING 1001
|
||||
#define IDC_DUMPPROGRESS 1002
|
||||
#define IDC_DUMPFILE 1003
|
||||
#define IDC_EDIT1 1004
|
||||
#define IDC_EDIT_PATH 1004
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 129
|
||||
#define _APS_NEXT_COMMAND_VALUE 32771
|
||||
#define _APS_NEXT_CONTROL_VALUE 1005
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
||||
7
Tools/DumpStatistics/stdafx.cpp
Normal file
7
Tools/DumpStatistics/stdafx.cpp
Normal file
@@ -0,0 +1,7 @@
|
||||
// stdafx.cpp : ǥ<><C7A5> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
// DumpStatistics.pch<63><68> <20≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>˴ϴ<CBB4>.
|
||||
// stdafx.obj<62><6A> <20≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
|
||||
|
||||
#include "stdafx.h"
|
||||
|
||||
|
||||
42
Tools/DumpStatistics/stdafx.h
Normal file
42
Tools/DumpStatistics/stdafx.h
Normal file
@@ -0,0 +1,42 @@
|
||||
// stdafx.h : <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʰ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>
|
||||
// ǥ<><C7A5> <20>ý<EFBFBD><C3BD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef VC_EXTRALEAN
|
||||
#define VC_EXTRALEAN // Windows <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ܽ<EFBFBD>ŵ<EFBFBD>ϴ<EFBFBD>.
|
||||
#endif
|
||||
|
||||
// <20>Ʒ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>켱<EFBFBD>ϴ<EFBFBD> <20>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ǹ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ͻʽÿ<CABD>.
|
||||
// <20>ٸ<EFBFBD> <20>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD> <20>ش<EFBFBD> <20><><EFBFBD><EFBFBD> <20>ֽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> MSDN<44><4E> <20><><EFBFBD><EFBFBD><EFBFBD>Ͻʽÿ<CABD>.
|
||||
#ifndef WINVER // Windows 95 <20><> Windows NT 4 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
|
||||
#define WINVER 0x0400 // Windows 98<39><38> Windows 2000 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>µ<EFBFBD><C2B5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽʽÿ<CABD>.
|
||||
#endif
|
||||
|
||||
#ifndef _WIN32_WINNT // Windows NT 4 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
|
||||
#define _WIN32_WINNT 0x0400 // Windows 98<39><38> Windows 2000 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>µ<EFBFBD><C2B5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽʽÿ<CABD>.
|
||||
#endif
|
||||
|
||||
#ifndef _WIN32_WINDOWS // Windows 98 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
|
||||
#define _WIN32_WINDOWS 0x0410 // Windows Me <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>µ<EFBFBD><C2B5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽʽÿ<CABD>.
|
||||
#endif
|
||||
|
||||
#ifndef _WIN32_IE // IE 4.0 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
|
||||
#define _WIN32_IE 0x0400 // IE 5.0 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>µ<EFBFBD><C2B5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽʽÿ<CABD>.
|
||||
#endif
|
||||
|
||||
#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // <20>Ϻ<EFBFBD> CString <20><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>˴ϴ<CBB4>.
|
||||
|
||||
// MFC<46><43> <20><><EFBFBD><EFBFBD> <20>κа<CEBA> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD><DEBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>⸦ <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
|
||||
#define _AFX_ALL_WARNINGS
|
||||
|
||||
#include <afxwin.h> // MFC <20>ٽ<EFBFBD> <20><> ǥ<><C7A5> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
#include <afxext.h> // MFC <20>ͽ<EFBFBD><CDBD>ټ<EFBFBD>
|
||||
#include <afxdisp.h> // MFC <20>ڵ<EFBFBD>ȭ Ŭ<><C5AC><EFBFBD><EFBFBD>
|
||||
|
||||
#include <afxdtctl.h> // Internet Explorer 4 <20><><EFBFBD><EFBFBD> <20><>Ʈ<EFBFBD>ѿ<EFBFBD> <20><><EFBFBD><EFBFBD> MFC <20><><EFBFBD><EFBFBD>
|
||||
#ifndef _AFX_NO_AFXCMN_SUPPORT
|
||||
#include <afxcmn.h> // Windows <20><><EFBFBD><EFBFBD> <20><>Ʈ<EFBFBD>ѿ<EFBFBD> <20><><EFBFBD><EFBFBD> MFC <20><><EFBFBD><EFBFBD>
|
||||
#endif // _AFX_NO_AFXCMN_SUPPORT
|
||||
|
||||
4
Tools/GCMDSTools/Data.ini
Normal file
4
Tools/GCMDSTools/Data.ini
Normal file
@@ -0,0 +1,4 @@
|
||||
[GCMDS]
|
||||
Key=1
|
||||
InputFolder=F:\RYLOnline\Part2\Client\Executable\Debug\CHARACTER\DATA
|
||||
OutFolder=F:\RYLOnline\Part2\Client\Executable\Debug\CHARACTER
|
||||
76
Tools/GCMDSTools/GCMDSTools.cpp
Normal file
76
Tools/GCMDSTools/GCMDSTools.cpp
Normal file
@@ -0,0 +1,76 @@
|
||||
// GCMDSTools.cpp : <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "GCMDSTools.h"
|
||||
#include "GCMDSToolsDlg.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#endif
|
||||
|
||||
|
||||
// CGCMDSToolsApp
|
||||
|
||||
BEGIN_MESSAGE_MAP(CGCMDSToolsApp, CWinApp)
|
||||
ON_COMMAND(ID_HELP, &CWinApp::OnHelp)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
// CGCMDSToolsApp <20><><EFBFBD><EFBFBD>
|
||||
|
||||
CGCMDSToolsApp::CGCMDSToolsApp()
|
||||
{
|
||||
// TODO: <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
||||
// InitInstance<63><65> <20><><EFBFBD><EFBFBD> <20>߿<EFBFBD><DFBF><EFBFBD> <20>ʱ<EFBFBD>ȭ <20>۾<EFBFBD><DBBE><EFBFBD> <20><>ġ<EFBFBD>մϴ<D5B4>.
|
||||
}
|
||||
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CGCMDSToolsApp <20><>ü<EFBFBD>Դϴ<D4B4>.
|
||||
|
||||
CGCMDSToolsApp theApp;
|
||||
|
||||
|
||||
// CGCMDSToolsApp <20>ʱ<EFBFBD>ȭ
|
||||
|
||||
BOOL CGCMDSToolsApp::InitInstance()
|
||||
{
|
||||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> <20>Ŵ<EFBFBD><C5B4>佺Ʈ<E4BDBA><C6AE> ComCtl32.dll <20><><EFBFBD><EFBFBD> 6 <20>̻<EFBFBD><CCBB><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD>־<EFBFBD> <20><>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD>
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD>, Windows XP <20><EFBFBD> <20>ݵ<EFBFBD><DDB5><EFBFBD> InitCommonControlsEx()<29><> <20>ʿ<EFBFBD><CABF>մϴ<D5B4>.
|
||||
// InitCommonControlsEx()<29><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> â<><C3A2> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
|
||||
INITCOMMONCONTROLSEX InitCtrls;
|
||||
InitCtrls.dwSize = sizeof(InitCtrls);
|
||||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ʈ<EFBFBD><C6AE> Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>
|
||||
// <20><> <20><EFBFBD><D7B8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ͻʽÿ<CABD>.
|
||||
InitCtrls.dwICC = ICC_WIN95_CLASSES;
|
||||
InitCommonControlsEx(&InitCtrls);
|
||||
|
||||
CWinApp::InitInstance();
|
||||
|
||||
// ǥ<><C7A5> <20>ʱ<EFBFBD>ȭ
|
||||
// <20>̵<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʰ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ũ<>⸦ <20><><EFBFBD>̷<EFBFBD><CCB7><EFBFBD>
|
||||
// <20>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD> <20>ʿ<EFBFBD> <20><><EFBFBD><EFBFBD> Ư<><C6AF> <20>ʱ<EFBFBD>ȭ
|
||||
// <20><>ƾ<EFBFBD><C6BE> <20><><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD> <20>մϴ<D5B4>.
|
||||
// <20>ش<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> Ű<><C5B0> <20><><EFBFBD><EFBFBD><EFBFBD>Ͻʽÿ<CABD>.
|
||||
// TODO: <20><> <20><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD> ȸ<><C8B8> <20>Ǵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20≯<EFBFBD><CCB8><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD> <20>մϴ<D5B4>.
|
||||
SetRegistryKey(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>翡<EFBFBD><E7BFA1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1>"));
|
||||
|
||||
CGCMDSToolsDlg dlg;
|
||||
m_pMainWnd = &dlg;
|
||||
INT_PTR nResponse = dlg.DoModal();
|
||||
if (nResponse == IDOK)
|
||||
{
|
||||
// TODO: <20><><EFBFBD> [Ȯ<><C8AE>]<5D><> Ŭ<><C5AC><EFBFBD>Ͽ<EFBFBD> <20><>ȭ <20><><EFBFBD>ڰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> ó<><C3B3><EFBFBD><EFBFBD>
|
||||
// <20>ڵ带 <20><>ġ<EFBFBD>մϴ<D5B4>.
|
||||
}
|
||||
else if (nResponse == IDCANCEL)
|
||||
{
|
||||
// TODO: <20><><EFBFBD> [<5B><><EFBFBD><EFBFBD>]<5D><> Ŭ<><C5AC><EFBFBD>Ͽ<EFBFBD> <20><>ȭ <20><><EFBFBD>ڰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> ó<><C3B3><EFBFBD><EFBFBD>
|
||||
// <20>ڵ带 <20><>ġ<EFBFBD>մϴ<D5B4>.
|
||||
}
|
||||
|
||||
// <20><>ȭ <20><><EFBFBD>ڰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><EFBFBD><DEBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʰ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20>ֵ<EFBFBD><D6B5><EFBFBD> FALSE<53><45>
|
||||
// <20><>ȯ<EFBFBD>մϴ<D5B4>.
|
||||
return FALSE;
|
||||
}
|
||||
31
Tools/GCMDSTools/GCMDSTools.h
Normal file
31
Tools/GCMDSTools/GCMDSTools.h
Normal file
@@ -0,0 +1,31 @@
|
||||
// GCMDSTools.h : PROJECT_NAME <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
//
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef __AFXWIN_H__
|
||||
#error "PCH<43><48> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD> <20><><EFBFBD><EFBFBD> 'stdafx.h'<27><> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>."
|
||||
#endif
|
||||
|
||||
#include "resource.h" // <20><> <20><>ȣ<EFBFBD>Դϴ<D4B4>.
|
||||
|
||||
|
||||
// CGCMDSToolsApp:
|
||||
// <20><> Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ؼ<EFBFBD><D8BC><EFBFBD> GCMDSTools.cpp<70><70> <20><><EFBFBD><EFBFBD><EFBFBD>Ͻʽÿ<CABD>.
|
||||
//
|
||||
|
||||
class CGCMDSToolsApp : public CWinApp
|
||||
{
|
||||
public:
|
||||
CGCMDSToolsApp();
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
public:
|
||||
virtual BOOL InitInstance();
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
|
||||
DECLARE_MESSAGE_MAP()
|
||||
};
|
||||
|
||||
extern CGCMDSToolsApp theApp;
|
||||
207
Tools/GCMDSTools/GCMDSTools.rc
Normal file
207
Tools/GCMDSTools/GCMDSTools.rc
Normal file
@@ -0,0 +1,207 @@
|
||||
// Microsoft Visual C++ generated resource script.
|
||||
//
|
||||
#include "resource.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
#include "afxres.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// <20>ѱ<EFBFBD><D1B1><EFBFBD> resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
|
||||
#pragma code_page(949)
|
||||
#endif //_WIN32
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE
|
||||
BEGIN
|
||||
"#include ""afxres.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE
|
||||
BEGIN
|
||||
"#define _AFX_NO_SPLITTER_RESOURCES\r\n"
|
||||
"#define _AFX_NO_OLE_RESOURCES\r\n"
|
||||
"#define _AFX_NO_TRACKER_RESOURCES\r\n"
|
||||
"#define _AFX_NO_PROPERTY_RESOURCES\r\n"
|
||||
"\r\n"
|
||||
"#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)\r\n"
|
||||
"LANGUAGE 18, 1\r\n"
|
||||
"#pragma code_page(949)\r\n"
|
||||
"#include ""res\\GCMDSTools.rc2"" // Microsoft Visual C++ <20>̿<EFBFBD><CCBF><EFBFBD> <20>ٸ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ҽ<EFBFBD><D2BD>Դϴ<D4B4>.\r\n"
|
||||
"#include ""afxres.rc"" // ǥ<><C7A5> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.\r\n"
|
||||
"#endif\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Icon
|
||||
//
|
||||
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
IDR_MAINFRAME ICON "res\\GCMDSTools.ico"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Dialog
|
||||
//
|
||||
|
||||
IDD_ABOUTBOX DIALOGEX 0, 0, 235, 55
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "GCMDSTools <20><><EFBFBD><EFBFBD>"
|
||||
FONT 9, "MS <20><> <20><>ȭ <20><><EFBFBD><EFBFBD>", 0, 0, 0x1
|
||||
BEGIN
|
||||
ICON IDR_MAINFRAME,IDC_STATIC,11,17,20,20
|
||||
LTEXT "GCMDSTools <20><><EFBFBD><EFBFBD> 1.0",IDC_STATIC,40,10,119,8,SS_NOPREFIX
|
||||
LTEXT "Copyright (C) 2008",IDC_STATIC,40,25,119,8
|
||||
DEFPUSHBUTTON "Ȯ<><C8AE>",IDOK,178,7,50,16,WS_GROUP
|
||||
END
|
||||
|
||||
IDD_GCMDSTOOLS_DIALOG DIALOGEX 0, 0, 151, 116
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
EXSTYLE WS_EX_APPWINDOW
|
||||
CAPTION "GCMDSTools"
|
||||
FONT 9, "<22><><EFBFBD><EFBFBD>", 400, 0, 0x81
|
||||
BEGIN
|
||||
EDITTEXT IDC_INPUT,28,40,101,14,ES_AUTOHSCROLL
|
||||
PUSHBUTTON "...",ID_INURL,130,39,14,16
|
||||
EDITTEXT IDC_OUTPUT,28,56,101,14,ES_AUTOHSCROLL
|
||||
PUSHBUTTON "...",ID_OUTURL,130,54,14,16
|
||||
PUSHBUTTON "<22><><EFBFBD><EFBFBD>-><3E><><EFBFBD><EFBFBD>",ID_START,7,74,68,16
|
||||
PUSHBUTTON "<22>ݱ<EFBFBD>",IDOK,7,93,137,16
|
||||
LTEXT "Key :",IDC_STATIC,7,10,18,8
|
||||
LTEXT "<22><><EFBFBD><EFBFBD>: ",IDC_STATIC,7,44,19,8
|
||||
LTEXT "<22><><EFBFBD><EFBFBD>: ",IDC_STATIC,7,60,19,8
|
||||
COMBOBOX IDC_KEY,28,7,65,84,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
COMBOBOX IDC_FILE,96,7,48,69,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "<22><><EFBFBD><EFBFBD>-><3E><><EFBFBD><EFBFBD>",ID_START2,76,74,68,16
|
||||
CONTROL "2<><32> <20><>ȣȭ <20><><EFBFBD><EFBFBD>",IDC_CHECKMASK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,28,25,116,10
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Version
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 1,0,0,1
|
||||
PRODUCTVERSION 1,0,0,1
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS 0x4L
|
||||
FILETYPE 0x1L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "041203b5"
|
||||
BEGIN
|
||||
VALUE "CompanyName", "TODO: <ȸ<><C8B8> <20≯<EFBFBD>>"
|
||||
VALUE "FileDescription", "TODO: <<3C><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>>"
|
||||
VALUE "FileVersion", "1.0.0.1"
|
||||
VALUE "InternalName", "GCMDSTools.exe"
|
||||
VALUE "LegalCopyright", "TODO: (c) <ȸ<><C8B8> <20≯<EFBFBD>>. All rights reserved."
|
||||
VALUE "OriginalFilename", "GCMDSTools.exe"
|
||||
VALUE "ProductName", "TODO: <<3C><>ǰ <20≯<EFBFBD>>"
|
||||
VALUE "ProductVersion", "1.0.0.1"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x412, 949
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// DESIGNINFO
|
||||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
GUIDELINES DESIGNINFO
|
||||
BEGIN
|
||||
IDD_ABOUTBOX, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 228
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 48
|
||||
END
|
||||
|
||||
IDD_GCMDSTOOLS_DIALOG, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 144
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 109
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// String Table
|
||||
//
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ABOUTBOX "GCMDSTools <20><><EFBFBD><EFBFBD>(&A)..."
|
||||
END
|
||||
|
||||
#endif // <20>ѱ<EFBFBD><D1B1><EFBFBD> resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
#define _AFX_NO_SPLITTER_RESOURCES
|
||||
#define _AFX_NO_OLE_RESOURCES
|
||||
#define _AFX_NO_TRACKER_RESOURCES
|
||||
#define _AFX_NO_PROPERTY_RESOURCES
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)
|
||||
LANGUAGE 18, 1
|
||||
#pragma code_page(949)
|
||||
#include "res\GCMDSTools.rc2" // Microsoft Visual C++ <20>̿<EFBFBD><CCBF><EFBFBD> <20>ٸ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ҽ<EFBFBD><D2BD>Դϴ<D4B4>.
|
||||
#include "afxres.rc" // ǥ<><C7A5> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
||||
20
Tools/GCMDSTools/GCMDSTools.sln
Normal file
20
Tools/GCMDSTools/GCMDSTools.sln
Normal file
@@ -0,0 +1,20 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 9.00
|
||||
# Visual Studio 2005
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GCMDSTools", "GCMDSTools.vcproj", "{46AA820D-9493-4B67-80AF-129C96F02E95}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Release|Win32 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{46AA820D-9493-4B67-80AF-129C96F02E95}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{46AA820D-9493-4B67-80AF-129C96F02E95}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{46AA820D-9493-4B67-80AF-129C96F02E95}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{46AA820D-9493-4B67-80AF-129C96F02E95}.Release|Win32.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
280
Tools/GCMDSTools/GCMDSTools.vcproj
Normal file
280
Tools/GCMDSTools/GCMDSTools.vcproj
Normal file
@@ -0,0 +1,280 @@
|
||||
<?xml version="1.0" encoding="ks_c_5601-1987"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="GCMDSTools"
|
||||
ProjectGUID="{46AA820D-9493-4B67-80AF-129C96F02E95}"
|
||||
RootNamespace="GCMDSTools"
|
||||
Keyword="MFCProj"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="1"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
MkTypLibCompatible="false"
|
||||
ValidateParameters="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1042"
|
||||
AdditionalIncludeDirectories="$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="2"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="2"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
MkTypLibCompatible="false"
|
||||
ValidateParameters="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG"
|
||||
MinimalRebuild="false"
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1042"
|
||||
AdditionalIncludeDirectories="$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="1"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="2"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="<22>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD>"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\GCMDSTools.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\GCMDSToolsDlg.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\IniFile.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\stdafx.cpp"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="<22><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\GCMDSTools.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\GCMDSToolsDlg.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\IniFile.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Resource.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\stdafx.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="<22><><EFBFBD>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD>"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\res\GCMDSTools.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\GCMDSTools.rc"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\res\GCMDSTools.rc2"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<File
|
||||
RelativePath=".\ReadMe.txt"
|
||||
>
|
||||
</File>
|
||||
</Files>
|
||||
<Globals>
|
||||
<Global
|
||||
Name="RESOURCE_FILE"
|
||||
Value="GCMDSTools.rc"
|
||||
/>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
495
Tools/GCMDSTools/GCMDSToolsDlg.cpp
Normal file
495
Tools/GCMDSTools/GCMDSToolsDlg.cpp
Normal file
@@ -0,0 +1,495 @@
|
||||
// GCMDSToolsDlg.cpp : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "GCMDSTools.h"
|
||||
#include "GCMDSToolsDlg.h"
|
||||
|
||||
#include "IniFile.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#endif
|
||||
|
||||
|
||||
INT GetProgramDir(char* buf, INT len )
|
||||
{
|
||||
char* ProgDir;
|
||||
INT result;
|
||||
|
||||
result = GetModuleFileName( theApp.m_hInstance, buf, len - 1 );
|
||||
if( result == 0 )
|
||||
return 0;
|
||||
|
||||
char pgmPtr[1024];
|
||||
strcpy( pgmPtr, buf );
|
||||
|
||||
ProgDir = buf;
|
||||
ProgDir += strlen( pgmPtr ) - 1;
|
||||
while( *ProgDir != '\\' && ProgDir != pgmPtr )
|
||||
ProgDir--;
|
||||
|
||||
*ProgDir = 0;
|
||||
return (INT)strlen( buf );
|
||||
}
|
||||
|
||||
BOOL BrowserFolder(char* szFolder)
|
||||
{
|
||||
strcpy(szFolder, "");
|
||||
|
||||
BROWSEINFO bi;
|
||||
|
||||
bi.hwndOwner = ::GetActiveWindow();
|
||||
bi.pidlRoot = NULL;
|
||||
bi.pszDisplayName = NULL;
|
||||
bi.lpszTitle = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>";
|
||||
bi.ulFlags = 0;
|
||||
bi.lpfn = NULL;
|
||||
bi.lParam = 0;
|
||||
|
||||
LPITEMIDLIST pidl = SHBrowseForFolder( &bi );
|
||||
|
||||
if( pidl == NULL )
|
||||
return FALSE;
|
||||
|
||||
SHGetPathFromIDList( pidl, szFolder);
|
||||
|
||||
LPMALLOC pMalloc;
|
||||
|
||||
if( SHGetMalloc( &pMalloc ) != NOERROR )
|
||||
return FALSE;
|
||||
|
||||
pMalloc->Free( pidl );
|
||||
pMalloc->Release();
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD> CAboutDlg <20><>ȭ <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
|
||||
class CAboutDlg : public CDialog
|
||||
{
|
||||
public:
|
||||
CAboutDlg();
|
||||
|
||||
// <20><>ȭ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
enum { IDD = IDD_ABOUTBOX };
|
||||
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
protected:
|
||||
DECLARE_MESSAGE_MAP()
|
||||
};
|
||||
|
||||
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
|
||||
{
|
||||
}
|
||||
|
||||
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
|
||||
{
|
||||
CDialog::DoDataExchange(pDX);
|
||||
}
|
||||
|
||||
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
// CGCMDSToolsDlg <20><>ȭ <20><><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
|
||||
|
||||
CGCMDSToolsDlg::CGCMDSToolsDlg(CWnd* pParent /*=NULL*/)
|
||||
: CDialog(CGCMDSToolsDlg::IDD, pParent)
|
||||
{
|
||||
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
|
||||
}
|
||||
|
||||
void CGCMDSToolsDlg::DoDataExchange(CDataExchange* pDX)
|
||||
{
|
||||
CDialog::DoDataExchange(pDX);
|
||||
DDX_Control(pDX, IDC_KEY, m_Key);
|
||||
DDX_Control(pDX, IDC_INPUT, m_InDir);
|
||||
DDX_Control(pDX, IDC_OUTPUT, m_OutDir);
|
||||
DDX_Control(pDX, IDC_FILE, m_File);
|
||||
DDX_Control(pDX, IDC_CHECKMASK, m_2TypeMask);
|
||||
}
|
||||
|
||||
BEGIN_MESSAGE_MAP(CGCMDSToolsDlg, CDialog)
|
||||
ON_WM_SYSCOMMAND()
|
||||
ON_WM_PAINT()
|
||||
ON_WM_QUERYDRAGICON()
|
||||
//}}AFX_MSG_MAP
|
||||
ON_BN_CLICKED(ID_INURL, &CGCMDSToolsDlg::OnBnClickedInurl)
|
||||
ON_BN_CLICKED(ID_OUTURL, &CGCMDSToolsDlg::OnBnClickedOuturl)
|
||||
ON_BN_CLICKED(ID_START, &CGCMDSToolsDlg::OnBnClickedStart)
|
||||
ON_CBN_SELCHANGE(IDC_KEY, &CGCMDSToolsDlg::OnCbnSelchangeKey)
|
||||
ON_BN_CLICKED(ID_START2, &CGCMDSToolsDlg::OnBnClickedStart2)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
// CGCMDSToolsDlg <20><EFBFBD><DEBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD>
|
||||
|
||||
BOOL CGCMDSToolsDlg::OnInitDialog()
|
||||
{
|
||||
CDialog::OnInitDialog();
|
||||
|
||||
// <20>ý<EFBFBD><C3BD><EFBFBD> <20><EFBFBD><DEB4><EFBFBD> "<22><><EFBFBD><EFBFBD>..." <20><EFBFBD> <20><EFBFBD><D7B8><EFBFBD> <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
||||
|
||||
// IDM_ABOUTBOX<4F><58> <20>ý<EFBFBD><C3BD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>־<EFBFBD><D6BE><EFBFBD> <20>մϴ<D5B4>.
|
||||
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
|
||||
ASSERT(IDM_ABOUTBOX < 0xF000);
|
||||
|
||||
CMenu* pSysMenu = GetSystemMenu(FALSE);
|
||||
if (pSysMenu != NULL)
|
||||
{
|
||||
CString strAboutMenu;
|
||||
strAboutMenu.LoadString(IDS_ABOUTBOX);
|
||||
if (!strAboutMenu.IsEmpty())
|
||||
{
|
||||
pSysMenu->AppendMenu(MF_SEPARATOR);
|
||||
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
|
||||
}
|
||||
}
|
||||
|
||||
// <20><> <20><>ȭ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><> â<><C3A2> <20><>ȭ <20><><EFBFBD>ڰ<EFBFBD> <20>ƴ<EFBFBD> <20><><EFBFBD>쿡<EFBFBD><ECBFA1>
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>ũ<EFBFBD><C5A9> <20><> <20>۾<EFBFBD><DBBE><EFBFBD> <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
|
||||
SetIcon(m_hIcon, TRUE); // ū <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
|
||||
SetIcon(m_hIcon, FALSE); // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
|
||||
|
||||
// TODO: <20><><EFBFBD> <20>߰<EFBFBD> <20>ʱ<EFBFBD>ȭ <20>۾<EFBFBD><DBBE><EFBFBD> <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
||||
m_Key.AddString("<EFBFBD>ƹ<EFBFBD><EFBFBD>ų<EFBFBD>");
|
||||
m_Key.AddString("ROWGlobalKey");
|
||||
m_Key.AddString("Z_all_A_3D");
|
||||
m_Key.SetCurSel(0);
|
||||
|
||||
m_File.AddString("GCMDS");
|
||||
m_File.AddString("skey");
|
||||
m_File.AddString("EDS");
|
||||
m_File.SetCurSel(0);
|
||||
|
||||
|
||||
LoadIni();
|
||||
|
||||
return TRUE; // <20><>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD> <20><>Ʈ<EFBFBD>ѿ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TRUE<55><45> <20><>ȯ<EFBFBD>մϴ<D5B4>.
|
||||
}
|
||||
|
||||
VOID CGCMDSToolsDlg::LoadIni()
|
||||
{
|
||||
char strBuff[512];
|
||||
GetProgramDir(strBuff, 512);
|
||||
|
||||
strcat(strBuff, "\\Data.ini");
|
||||
|
||||
CIniFile ini;
|
||||
if(!ini.Open(strBuff))
|
||||
{
|
||||
SaveIni();
|
||||
return;
|
||||
}
|
||||
|
||||
DWORD lLen = 0;
|
||||
DWORD dwID = -1;
|
||||
char Data[512];
|
||||
ZeroMemory(Data, 512);
|
||||
if(ini.GetValue("GCMDS", "Key", &dwID))
|
||||
m_Key.SetCurSel(dwID);
|
||||
|
||||
lLen = 0;
|
||||
ZeroMemory(Data, 512);
|
||||
if(ini.GetValue("GCMDS", "InputFolder", Data, &lLen) && lLen > 0)
|
||||
m_InDir.SetWindowText(Data);
|
||||
|
||||
lLen = 0;
|
||||
ZeroMemory(Data, 512);
|
||||
if(ini.GetValue("GCMDS", "OutFolder", Data, &lLen) && lLen > 0)
|
||||
m_OutDir.SetWindowText(Data);
|
||||
|
||||
ini.Close();
|
||||
}
|
||||
|
||||
VOID CGCMDSToolsDlg::SaveIni()
|
||||
{
|
||||
char strBuff[512];
|
||||
GetProgramDir(strBuff, 512);
|
||||
|
||||
strcat(strBuff, "\\Data.ini");
|
||||
|
||||
CIniFile ini;
|
||||
ini.Open(strBuff);
|
||||
|
||||
char Data[512];
|
||||
DWORD dwID = m_Key.GetCurSel();
|
||||
ini.SetValue("GCMDS", "Key", dwID);
|
||||
|
||||
m_InDir.GetWindowText(Data, 512);
|
||||
ini.SetValue("GCMDS", "InputFolder", Data);
|
||||
|
||||
m_OutDir.GetWindowText(Data, 512);
|
||||
ini.SetValue("GCMDS", "OutFolder", Data);
|
||||
|
||||
ini.Close();
|
||||
}
|
||||
|
||||
void CGCMDSToolsDlg::OnSysCommand(UINT nID, LPARAM lParam)
|
||||
{
|
||||
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
|
||||
{
|
||||
CAboutDlg dlgAbout;
|
||||
dlgAbout.DoModal();
|
||||
}
|
||||
else
|
||||
{
|
||||
CDialog::OnSysCommand(nID, lParam);
|
||||
}
|
||||
}
|
||||
|
||||
// <20><>ȭ <20><><EFBFBD>ڿ<EFBFBD> <20>ּ<EFBFBD>ȭ <20><><EFBFBD>߸<EFBFBD> <20>߰<EFBFBD><DFB0><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><D7B8><EFBFBD><EFBFBD><EFBFBD>
|
||||
// <20>Ʒ<EFBFBD> <20>ڵ尡 <20>ʿ<EFBFBD><CABF>մϴ<D5B4>. <20><><EFBFBD><EFBFBD>/<2F><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> MFC <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><><EFBFBD>쿡<EFBFBD><ECBFA1>
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>ũ<EFBFBD><C5A9><EFBFBD><EFBFBD> <20><> <20>۾<EFBFBD><DBBE><EFBFBD> <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
|
||||
|
||||
void CGCMDSToolsDlg::OnPaint()
|
||||
{
|
||||
if (IsIconic())
|
||||
{
|
||||
CPaintDC dc(this); // <20><EFBFBD><D7B8>⸦ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD> <20><><EFBFBD>ؽ<EFBFBD>Ʈ
|
||||
|
||||
SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
|
||||
|
||||
// Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ <20>簢<EFBFBD><E7B0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EEB5A5> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
|
||||
int cxIcon = GetSystemMetrics(SM_CXICON);
|
||||
int cyIcon = GetSystemMetrics(SM_CYICON);
|
||||
CRect rect;
|
||||
GetClientRect(&rect);
|
||||
int x = (rect.Width() - cxIcon + 1) / 2;
|
||||
int y = (rect.Height() - cyIcon + 1) / 2;
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><D7B8>ϴ<EFBFBD>.
|
||||
dc.DrawIcon(x, y, m_hIcon);
|
||||
}
|
||||
else
|
||||
{
|
||||
CDialog::OnPaint();
|
||||
}
|
||||
}
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD>ڰ<EFBFBD> <20>ּ<EFBFBD>ȭ<EFBFBD><C8AD> â<><C3A2> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ȿ<EFBFBD> Ŀ<><C4BF><EFBFBD><EFBFBD> ǥ<>õǵ<C3B5><C7B5><EFBFBD> <20>ý<EFBFBD><C3BD>ۿ<EFBFBD><DBBF><EFBFBD>
|
||||
// <20><> <20>Լ<EFBFBD><D4BC><EFBFBD> ȣ<><C8A3><EFBFBD>մϴ<D5B4>.
|
||||
HCURSOR CGCMDSToolsDlg::OnQueryDragIcon()
|
||||
{
|
||||
return static_cast<HCURSOR>(m_hIcon);
|
||||
}
|
||||
|
||||
|
||||
void CGCMDSToolsDlg::OnBnClickedInurl()
|
||||
{
|
||||
// TODO: <20><><EFBFBD> <20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
||||
// <20>Է<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
char strBuff[512];
|
||||
BrowserFolder(strBuff);
|
||||
|
||||
m_InDir.SetWindowText(strBuff);
|
||||
|
||||
SaveIni();
|
||||
}
|
||||
|
||||
void CGCMDSToolsDlg::OnBnClickedOuturl()
|
||||
{
|
||||
// TODO: <20><><EFBFBD> <20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
||||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
char strBuff[512];
|
||||
BrowserFolder(strBuff);
|
||||
|
||||
m_OutDir.SetWindowText(strBuff);
|
||||
|
||||
SaveIni();
|
||||
}
|
||||
|
||||
|
||||
void CGCMDSToolsDlg::OnCbnSelchangeKey()
|
||||
{
|
||||
// TODO: <20><><EFBFBD> <20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
||||
SaveIni();
|
||||
}
|
||||
|
||||
void CGCMDSToolsDlg::Recurse( CString perfolder )
|
||||
{
|
||||
CString str;
|
||||
CString folder = perfolder;
|
||||
|
||||
char strKey[64];
|
||||
m_File.GetWindowText(strKey, 64);
|
||||
|
||||
folder += "\\*.";
|
||||
folder += strKey;
|
||||
|
||||
CFileFind finder;
|
||||
BOOL bWorking = finder.FindFile( folder );
|
||||
|
||||
while( bWorking )
|
||||
{
|
||||
bWorking = finder.FindNextFile();
|
||||
|
||||
if( finder.IsDots() )
|
||||
continue;
|
||||
|
||||
CString path = finder.GetFilePath();
|
||||
if( finder.IsDirectory() )
|
||||
Recurse( path );
|
||||
else
|
||||
{
|
||||
m_FileList.push_back(path.GetBuffer());
|
||||
}
|
||||
|
||||
Sleep( 1 );
|
||||
}
|
||||
}
|
||||
|
||||
void CGCMDSToolsDlg::OnBnClickedStart()
|
||||
{
|
||||
// TODO: <20><><EFBFBD> <20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
||||
SaveIni();
|
||||
|
||||
char strKey[32];
|
||||
m_Key.GetWindowText(strKey, 32);
|
||||
|
||||
if(m_2TypeMask.GetCheck())
|
||||
{
|
||||
int iLen = strlen(strKey);
|
||||
for(int k = 0; k < iLen; ++k)
|
||||
{
|
||||
strKey[k] = strKey[k]^0xc8;
|
||||
}
|
||||
}
|
||||
|
||||
m_FileList.clear();
|
||||
|
||||
char strInDir[512];
|
||||
m_InDir.GetWindowText(strInDir, 512);
|
||||
|
||||
Recurse(strInDir);
|
||||
|
||||
char strInput[512];
|
||||
m_InDir.GetWindowText(strInput, 512);
|
||||
int iInputLen = (int)strlen(strInput);
|
||||
|
||||
char strOut[512];
|
||||
m_OutDir.GetWindowText(strOut, 512);
|
||||
|
||||
char strTemp[512];
|
||||
|
||||
CString strCmdLine;
|
||||
|
||||
char strExec[512];
|
||||
GetProgramDir(strExec, 512);
|
||||
strcat(strExec, "\\XORenc.exe");
|
||||
|
||||
|
||||
// <20><>ȯ <20><><EFBFBD><EFBFBD>
|
||||
int iSize = (int)m_FileList.size();
|
||||
for(int i = 0; i < iSize; ++i)
|
||||
{
|
||||
CString sIn = m_FileList[i];
|
||||
strcpy(strTemp, sIn);
|
||||
|
||||
CString sOut = strOut;
|
||||
sOut += &strTemp[iInputLen];
|
||||
|
||||
strCmdLine = '"'+sIn+'"'+" "+'"'+strKey+'"'+" "+'"'+sOut+'"';
|
||||
|
||||
HINSTANCE nResult = ShellExecute(
|
||||
NULL,
|
||||
NULL, // do not request elevation unless needed
|
||||
strExec,
|
||||
strCmdLine, // params
|
||||
NULL, // directory
|
||||
SW_HIDE);
|
||||
/*
|
||||
STARTUPINFO si;
|
||||
PROCESS_INFORMATION pi;
|
||||
ZeroMemory( &si, sizeof(si) );
|
||||
si.cb = sizeof(si);
|
||||
ZeroMemory( &pi, sizeof(pi) );
|
||||
CreateProcess( "XORenc.exe", (LPSTR)strCmdLine.GetString(), NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi );
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
void CGCMDSToolsDlg::OnBnClickedStart2()
|
||||
{
|
||||
// TODO: <20><><EFBFBD> <20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
||||
// TODO: <20><><EFBFBD> <20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
||||
SaveIni();
|
||||
|
||||
char strKey[32];
|
||||
m_Key.GetWindowText(strKey, 32);
|
||||
|
||||
if(m_2TypeMask.GetCheck())
|
||||
{
|
||||
int iLen = strlen(strKey);
|
||||
for(int k = 0; k < iLen; ++k)
|
||||
{
|
||||
strKey[k] = strKey[k]^0xc8;
|
||||
}
|
||||
}
|
||||
|
||||
m_FileList.clear();
|
||||
|
||||
char strInDir[512];
|
||||
m_OutDir.GetWindowText(strInDir, 512);
|
||||
|
||||
Recurse(strInDir);
|
||||
|
||||
char strInput[512];
|
||||
m_OutDir.GetWindowText(strInput, 512);
|
||||
int iInputLen = (int)strlen(strInput);
|
||||
|
||||
char strOut[512];
|
||||
m_InDir.GetWindowText(strOut, 512);
|
||||
|
||||
char strTemp[512];
|
||||
|
||||
CString strCmdLine;
|
||||
|
||||
char strExec[512];
|
||||
GetProgramDir(strExec, 512);
|
||||
strcat(strExec, "\\XORenc.exe");
|
||||
|
||||
|
||||
// <20><>ȯ <20><><EFBFBD><EFBFBD>
|
||||
int iSize = (int)m_FileList.size();
|
||||
for(int i = 0; i < iSize; ++i)
|
||||
{
|
||||
CString sIn = m_FileList[i];
|
||||
strcpy(strTemp, sIn);
|
||||
|
||||
CString sOut = strOut;
|
||||
sOut += &strTemp[iInputLen];
|
||||
|
||||
strCmdLine = '"'+sIn+'"'+" "+'"'+strKey+'"'+" "+'"'+sOut+'"';
|
||||
|
||||
HINSTANCE nResult = ShellExecute(
|
||||
NULL,
|
||||
NULL, // do not request elevation unless needed
|
||||
strExec,
|
||||
strCmdLine, // params
|
||||
NULL, // directory
|
||||
SW_HIDE);
|
||||
/*
|
||||
STARTUPINFO si;
|
||||
PROCESS_INFORMATION pi;
|
||||
ZeroMemory( &si, sizeof(si) );
|
||||
si.cb = sizeof(si);
|
||||
ZeroMemory( &pi, sizeof(pi) );
|
||||
CreateProcess( "XORenc.exe", (LPSTR)strCmdLine.GetString(), NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi );
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user