Restructure repository to include all source folders

Move git root from Client/ to src/ to track all source code:
- Client: Game client source (moved to Client/Client/)
- Server: Game server source
- GameTools: Development tools
- CryptoSource: Encryption utilities
- database: Database scripts
- Script: Game scripts
- rylCoder_16.02.2008_src: Legacy coder tools
- GMFont, Game: Additional resources

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-29 20:17:20 +09:00
parent 5d3cd64a25
commit dd97ddec92
11602 changed files with 1446576 additions and 0 deletions

Binary file not shown.

View File

@@ -0,0 +1,70 @@
// CheckMD5.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 "CheckMD5.h"
#include "CheckMD5Dlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// CCheckMD5App
BEGIN_MESSAGE_MAP(CCheckMD5App, CWinApp)
ON_COMMAND(ID_HELP, CWinApp::OnHelp)
END_MESSAGE_MAP()
// CCheckMD5App <20><><EFBFBD><EFBFBD>
CCheckMD5App::CCheckMD5App()
{
// 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> CCheckMD5App <20><>ü<EFBFBD>Դϴ<D4B4>.
CCheckMD5App theApp;
// CCheckMD5App <20>ʱ<EFBFBD>ȭ
BOOL CCheckMD5App::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();
// ǥ<><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>"));
CCheckMD5Dlg 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;
}

View File

@@ -0,0 +1,31 @@
// CheckMD5.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><>ȣ
// CCheckMD5App:
// <20><> Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ؼ<EFBFBD><D8BC><EFBFBD> CheckMD5.cpp<70><70> <20><><EFBFBD><EFBFBD><EFBFBD>Ͻʽÿ<CABD>.
//
class CCheckMD5App : public CWinApp
{
public:
CCheckMD5App();
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public:
virtual BOOL InitInstance();
// <20><><EFBFBD><EFBFBD>
DECLARE_MESSAGE_MAP()
};
extern CCheckMD5App theApp;

View File

@@ -0,0 +1,168 @@
// 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\\CheckMD5.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\\CheckMD5.ico"
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
IDD_CHECKMD5_DIALOG DIALOGEX 0, 0, 207, 50
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE |
WS_CAPTION
EXSTYLE WS_EX_APPWINDOW
CAPTION "CheckMD5"
FONT 9, "MS Shell Dlg", 0, 0, 0x1
BEGIN
PUSHBUTTON "<22><><EFBFBD><EFBFBD>",IDCANCEL,150,27,50,16
EDITTEXT IDC_EDIT1,7,7,193,16,ES_AUTOHSCROLL | ES_READONLY
LTEXT "File Drag && Drop",IDC_STATIC,7,29,136,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 "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", "CheckMD5.exe"
VALUE "LegalCopyright", "TODO: (c) <ȸ<><C8B8> <20≯<EFBFBD>>. All rights reserved."
VALUE "OriginalFilename", "CheckMD5.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_CHECKMD5_DIALOG, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 200
TOPMARGIN, 7
BOTTOMMARGIN, 43
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)
LANGUAGE 18, 1
#pragma code_page(949)
#include "res\CheckMD5.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

View File

@@ -0,0 +1,23 @@
Microsoft Visual Studio Solution File, Format Version 8.00
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CheckMD5", "CheckMD5.vcproj", "{2C324827-3BE4-4BDD-A3E0-2135AA31CA26}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfiguration) = preSolution
Debug = Debug
Release = Release
EndGlobalSection
GlobalSection(ProjectDependencies) = postSolution
EndGlobalSection
GlobalSection(ProjectConfiguration) = postSolution
{2C324827-3BE4-4BDD-A3E0-2135AA31CA26}.Debug.ActiveCfg = Debug|Win32
{2C324827-3BE4-4BDD-A3E0-2135AA31CA26}.Debug.Build.0 = Debug|Win32
{2C324827-3BE4-4BDD-A3E0-2135AA31CA26}.Release.ActiveCfg = Release|Win32
{2C324827-3BE4-4BDD-A3E0-2135AA31CA26}.Release.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
EndGlobalSection
GlobalSection(ExtensibilityAddIns) = postSolution
EndGlobalSection
EndGlobal

Binary file not shown.

View File

@@ -0,0 +1,208 @@
<?xml version="1.0" encoding="ks_c_5601-1987"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="7.10"
Name="CheckMD5"
ProjectGUID="{2C324827-3BE4-4BDD-A3E0-2135AA31CA26}"
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="0"
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="0"
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=".\CheckMD5.cpp">
</File>
<File
RelativePath=".\CheckMD5Dlg.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=".\CheckMD5.h">
</File>
<File
RelativePath=".\CheckMD5Dlg.h">
</File>
<File
RelativePath=".\NFFilePtr.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\CheckMD5.ico">
</File>
<File
RelativePath=".\CheckMD5.rc">
</File>
<File
RelativePath=".\res\CheckMD5.rc2">
</File>
</Filter>
<Filter
Name="MD5"
Filter="">
<File
RelativePath=".\MD5\global.h">
</File>
<File
RelativePath=".\MD5\md5.h">
</File>
<File
RelativePath=".\MD5\md5c.c">
</File>
</Filter>
<File
RelativePath=".\res\CheckMD5.manifest">
</File>
<File
RelativePath=".\ReadMe.txt">
</File>
</Files>
<Globals>
<Global
Name="RESOURCE_FILE"
Value="CheckMD5.rc"/>
</Globals>
</VisualStudioProject>

View File

@@ -0,0 +1,159 @@
// CheckMD5Dlg.cpp : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
//
#include "stdafx.h"
#include "CheckMD5.h"
#include "CheckMD5Dlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
extern "C"
{
#include "MD5/global.h"
#include "MD5/md5.h"
}
#include "NFFilePtr.h"
#include ".\checkmd5dlg.h"
// CCheckMD5Dlg <20><>ȭ <20><><EFBFBD><EFBFBD>
CCheckMD5Dlg::CCheckMD5Dlg(CWnd* pParent /*=NULL*/)
: CDialog(CCheckMD5Dlg::IDD, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CCheckMD5Dlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_EDIT1, m_Output);
}
BEGIN_MESSAGE_MAP(CCheckMD5Dlg, CDialog)
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
ON_WM_DROPFILES()
END_MESSAGE_MAP()
// CCheckMD5Dlg <20>޽<EFBFBD><DEBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD>
BOOL CCheckMD5Dlg::OnInitDialog()
{
CDialog::OnInitDialog();
// <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>.
DragAcceptFiles(TRUE);
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>.
}
// <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 CCheckMD5Dlg::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 CCheckMD5Dlg::OnQueryDragIcon()
{
return static_cast<HCURSOR>(m_hIcon);
}
void CCheckMD5Dlg::GetMD5(char* file, char* outMD5)
{
///////////////////////////////////////////////////////////////////////////////
// MD5<44><35> <20><><EFBFBD>ϴ<EFBFBD> <20>Լ<EFBFBD>
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ε<EFBFBD><CEB5>Ѵ<EFBFBD>.
char* fileDat = NULL;
long len;
if(1)
{
Nave::NFFilePtr fp(file, "rb");
len = fp.Length();
fileDat = new char[len];
fread(fileDat, len, 1, fp);
}
MD5_CTX context;
unsigned char digest[16] ;
memset( digest, 0, sizeof( char ) * 16 ) ;
MD5Init(&context);
MD5Update(&context, reinterpret_cast<unsigned char *>( fileDat ), len );
MD5Final(digest, &context);
char strMD5[40];
ZeroMemory(strMD5, sizeof(strMD5));
for (int i = 0; i < 16; ++i)
{
sprintf(strMD5 + i * 2, "%02x", digest[i]);
}
if(fileDat)
delete fileDat;
strcpy(outMD5, strMD5);
}
void CCheckMD5Dlg::CreateMD5(char* fileName)
{
char strMD5[40];
GetMD5(fileName, strMD5);
m_Output.SetWindowText(strMD5);
}
void CCheckMD5Dlg::OnDropFiles(HDROP hDropInfo)
{
// TODO: <20><><EFBFBD><20>޽<EFBFBD><DEBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD> <20><>/<2F>Ǵ<EFBFBD> <20><EFBFBD><E2BABB><EFBFBD><EFBFBD> ȣ<><C8A3><EFBFBD>մϴ<D5B4>.
char buf[1024];
int dropCount = ::DragQueryFile( hDropInfo, 0xFFFFFFFF, buf, 1024);
::DragQueryFile(hDropInfo, 0, buf, 1024);
CreateMD5(buf);
::DragFinish(hDropInfo);
CDialog::OnDropFiles(hDropInfo);
}

View File

@@ -0,0 +1,36 @@
// CheckMD5Dlg.h : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
//
#pragma once
#include "afxwin.h"
// CCheckMD5Dlg <20><>ȭ <20><><EFBFBD><EFBFBD>
class CCheckMD5Dlg : public CDialog
{
// <20><><EFBFBD><EFBFBD>
public:
CCheckMD5Dlg(CWnd* pParent = NULL); // ǥ<><C7A5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><>ȭ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
enum { IDD = IDD_CHECKMD5_DIALOG };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV <20><><EFBFBD><EFBFBD>
void GetMD5(char* file, char* outMD5);
void CreateMD5(char* fileName);
// <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 OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
DECLARE_MESSAGE_MAP()
public:
CEdit m_Output;
afx_msg void OnDropFiles(HDROP hDropInfo);
};

View File

@@ -0,0 +1,30 @@
/* GLOBAL.H - RSAREF types and constants
*/
/* PROTOTYPES should be set to one if and only if the compiler supports
function argument prototyping.
The following makes PROTOTYPES default to 0 if it has not already
been defined with C compiler flags.
*/
#ifndef PROTOTYPES
#define PROTOTYPES 1
#endif
/* POINTER defines a generic pointer type */
typedef unsigned char *POINTER;
/* UINT2 defines a two byte word */
typedef unsigned short int UINT2;
/* UINT4 defines a four byte word */
typedef unsigned long int UINT4;
/* PROTO_LIST is defined depending on how PROTOTYPES is defined above.
If using PROTOTYPES, then PROTO_LIST returns the list, otherwise it
returns an empty list.
*/
#if PROTOTYPES
#define PROTO_LIST(list) list
#else
#define PROTO_LIST(list) ()
#endif

View File

@@ -0,0 +1,37 @@
/* MD5.H - header file for MD5C.C
*/
/* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
rights reserved.
License to copy and use this software is granted provided that it
is identified as the "RSA Data Security, Inc. MD5 Message-Digest
Algorithm" in all material mentioning or referencing this software
or this function.
License is also granted to make and use derivative works provided
that such works are identified as "derived from the RSA Data
Security, Inc. MD5 Message-Digest Algorithm" in all material
mentioning or referencing the derived work.
RSA Data Security, Inc. makes no representations concerning either
the merchantability of this software or the suitability of this
software for any particular purpose. It is provided "as is"
without express or implied warranty of any kind.
These notices must be retained in any copies of any part of this
documentation and/or software.
*/
/* MD5 context. */
typedef struct {
UINT4 state[4]; /* state (ABCD) */
UINT4 count[2]; /* number of bits, modulo 2^64 (lsb first) */
unsigned char buffer[64]; /* input buffer */
} MD5_CTX;
void MD5Init PROTO_LIST ((MD5_CTX *));
void MD5Update PROTO_LIST
((MD5_CTX *, unsigned char *, unsigned int));
void MD5Final PROTO_LIST ((unsigned char [16], MD5_CTX *));

View File

@@ -0,0 +1,337 @@
/* MD5C.C - RSA Data Security, Inc., MD5 message-digest algorithm
*/
/* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
rights reserved.
License to copy and use this software is granted provided that it
is identified as the "RSA Data Security, Inc. MD5 Message-Digest
Algorithm" in all material mentioning or referencing this software
or this function.
License is also granted to make and use derivative works provided
that such works are identified as "derived from the RSA Data
Security, Inc. MD5 Message-Digest Algorithm" in all material
mentioning or referencing the derived work.
RSA Data Security, Inc. makes no representations concerning either
the merchantability of this software or the suitability of this
software for any particular purpose. It is provided "as is"
without express or implied warranty of any kind.
These notices must be retained in any copies of any part of this
documentation and/or software.
*/
#include "global.h"
#include "md5.h"
/* Constants for MD5Transform routine.
*/
#define S11 7
#define S12 12
#define S13 17
#define S14 22
#define S21 5
#define S22 9
#define S23 14
#define S24 20
#define S31 4
#define S32 11
#define S33 16
#define S34 23
#define S41 6
#define S42 10
#define S43 15
#define S44 21
static void MD5Transform PROTO_LIST ((UINT4 [4], unsigned char [64]));
static void Encode PROTO_LIST
((unsigned char *, UINT4 *, unsigned int));
static void Decode PROTO_LIST
((UINT4 *, unsigned char *, unsigned int));
static void MD5_memcpy PROTO_LIST ((POINTER, POINTER, unsigned int));
static void MD5_memset PROTO_LIST ((POINTER, int, unsigned int));
static unsigned char PADDING[64] = {
0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
/* F, G, H and I are basic MD5 functions.
*/
#define F(x, y, z) (((x) & (y)) | ((~x) & (z)))
#define G(x, y, z) (((x) & (z)) | ((y) & (~z)))
#define H(x, y, z) ((x) ^ (y) ^ (z))
#define I(x, y, z) ((y) ^ ((x) | (~z)))
/* ROTATE_LEFT rotates x left n bits.
*/
#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(n))))
/* FF, GG, HH, and II transformations for rounds 1, 2, 3, and 4.
Rotation is separate from addition to prevent recomputation.
*/
#define FF(a, b, c, d, x, s, ac) { \
(a) += F ((b), (c), (d)) + (x) + (UINT4)(ac); \
(a) = ROTATE_LEFT ((a), (s)); \
(a) += (b); \
}
#define GG(a, b, c, d, x, s, ac) { \
(a) += G ((b), (c), (d)) + (x) + (UINT4)(ac); \
(a) = ROTATE_LEFT ((a), (s)); \
(a) += (b); \
}
#define HH(a, b, c, d, x, s, ac) { \
(a) += H ((b), (c), (d)) + (x) + (UINT4)(ac); \
(a) = ROTATE_LEFT ((a), (s)); \
(a) += (b); \
}
#define II(a, b, c, d, x, s, ac) { \
(a) += I ((b), (c), (d)) + (x) + (UINT4)(ac); \
(a) = ROTATE_LEFT ((a), (s)); \
(a) += (b); \
}
/* MD5 initialization. Begins an MD5 operation, writing a new context.
*/
void MD5Init (context)
MD5_CTX *context; /* context */
{
context->count[0] = context->count[1] = 0;
/* Load magic initialization constants.
*/
context->state[0] = 0x67452301;
context->state[1] = 0xefcdab89;
context->state[2] = 0x98badcfe;
context->state[3] = 0x10325476;
}
/* MD5 block update operation. Continues an MD5 message-digest
operation, processing another message block, and updating the
context.
*/
void MD5Update (context, input, inputLen)
MD5_CTX *context; /* context */
unsigned char *input; /* input block */
unsigned int inputLen; /* length of input block */
{
unsigned int i, index, partLen;
/* Compute number of bytes mod 64 */
index = (unsigned int)((context->count[0] >> 3) & 0x3F);
/* Update number of bits */
if ((context->count[0] += ((UINT4)inputLen << 3))
< ((UINT4)inputLen << 3))
context->count[1]++;
context->count[1] += ((UINT4)inputLen >> 29);
partLen = 64 - index;
/* Transform as many times as possible.
*/
if (inputLen >= partLen) {
MD5_memcpy
((POINTER)&context->buffer[index], (POINTER)input, partLen);
MD5Transform (context->state, context->buffer);
for (i = partLen; i + 63 < inputLen; i += 64)
MD5Transform (context->state, &input[i]);
index = 0;
}
else
i = 0;
/* Buffer remaining input */
MD5_memcpy
((POINTER)&context->buffer[index], (POINTER)&input[i],
inputLen-i);
}
/* MD5 finalization. Ends an MD5 message-digest operation, writing the
the message digest and zeroizing the context.
*/
void MD5Final (digest, context)
unsigned char digest[16]; /* message digest */
MD5_CTX *context; /* context */
{
unsigned char bits[8];
unsigned int index, padLen;
/* Save number of bits */
Encode (bits, context->count, 8);
/* Pad out to 56 mod 64.
*/
index = (unsigned int)((context->count[0] >> 3) & 0x3f);
padLen = (index < 56) ? (56 - index) : (120 - index);
MD5Update (context, PADDING, padLen);
/* Append length (before padding) */
MD5Update (context, bits, 8);
/* Store state in digest */
Encode (digest, context->state, 16);
/* Zeroize sensitive information.
*/
MD5_memset ((POINTER)context, 0, sizeof (*context));
}
/* MD5 basic transformation. Transforms state based on block.
*/
static void MD5Transform (state, block)
UINT4 state[4];
unsigned char block[64];
{
UINT4 a = state[0], b = state[1], c = state[2], d = state[3], x[16];
Decode (x, block, 64);
/* Round 1 */
FF (a, b, c, d, x[ 0], S11, 0xd76aa478); /* 1 */
FF (d, a, b, c, x[ 1], S12, 0xe8c7b756); /* 2 */
FF (c, d, a, b, x[ 2], S13, 0x242070db); /* 3 */
FF (b, c, d, a, x[ 3], S14, 0xc1bdceee); /* 4 */
FF (a, b, c, d, x[ 4], S11, 0xf57c0faf); /* 5 */
FF (d, a, b, c, x[ 5], S12, 0x4787c62a); /* 6 */
FF (c, d, a, b, x[ 6], S13, 0xa8304613); /* 7 */
FF (b, c, d, a, x[ 7], S14, 0xfd469501); /* 8 */
FF (a, b, c, d, x[ 8], S11, 0x698098d8); /* 9 */
FF (d, a, b, c, x[ 9], S12, 0x8b44f7af); /* 10 */
FF (c, d, a, b, x[10], S13, 0xffff5bb1); /* 11 */
FF (b, c, d, a, x[11], S14, 0x895cd7be); /* 12 */
FF (a, b, c, d, x[12], S11, 0x6b901122); /* 13 */
FF (d, a, b, c, x[13], S12, 0xfd987193); /* 14 */
FF (c, d, a, b, x[14], S13, 0xa679438e); /* 15 */
FF (b, c, d, a, x[15], S14, 0x49b40821); /* 16 */
/* Round 2 */
GG (a, b, c, d, x[ 1], S21, 0xf61e2562); /* 17 */
GG (d, a, b, c, x[ 6], S22, 0xc040b340); /* 18 */
GG (c, d, a, b, x[11], S23, 0x265e5a51); /* 19 */
GG (b, c, d, a, x[ 0], S24, 0xe9b6c7aa); /* 20 */
GG (a, b, c, d, x[ 5], S21, 0xd62f105d); /* 21 */
GG (d, a, b, c, x[10], S22, 0xa2441453); /* 22 */
GG (c, d, a, b, x[15], S23, 0xd8a1e681); /* 23 */
GG (b, c, d, a, x[ 4], S24, 0xe7d3fbc8); /* 24 */
GG (a, b, c, d, x[ 9], S21, 0x21e1cde6); /* 25 */
GG (d, a, b, c, x[14], S22, 0xc33707d6); /* 26 */
GG (c, d, a, b, x[ 3], S23, 0xf4d50d87); /* 27 */
GG (b, c, d, a, x[ 8], S24, 0x455a14ed); /* 28 */
GG (a, b, c, d, x[13], S21, 0xa9e3e905); /* 29 */
GG (d, a, b, c, x[ 2], S22, 0xfcefa3f8); /* 30 */
GG (c, d, a, b, x[ 7], S23, 0x676f02d9); /* 31 */
GG (b, c, d, a, x[12], S24, 0x8d2a4c8a); /* 32 */
/* Round 3 */
HH (a, b, c, d, x[ 5], S31, 0xfffa3942); /* 33 */
HH (d, a, b, c, x[ 8], S32, 0x8771f681); /* 34 */
HH (c, d, a, b, x[11], S33, 0x6d9d6122); /* 35 */
HH (b, c, d, a, x[14], S34, 0xfde5380c); /* 36 */
HH (a, b, c, d, x[ 1], S31, 0xa4beea44); /* 37 */
HH (d, a, b, c, x[ 4], S32, 0x4bdecfa9); /* 38 */
HH (c, d, a, b, x[ 7], S33, 0xf6bb4b60); /* 39 */
HH (b, c, d, a, x[10], S34, 0xbebfbc70); /* 40 */
HH (a, b, c, d, x[13], S31, 0x289b7ec6); /* 41 */
HH (d, a, b, c, x[ 0], S32, 0xeaa127fa); /* 42 */
HH (c, d, a, b, x[ 3], S33, 0xd4ef3085); /* 43 */
HH (b, c, d, a, x[ 6], S34, 0xa4881d05); /* 44 */
HH (a, b, c, d, x[ 9], S31, 0xd9d4d039); /* 45 */
HH (d, a, b, c, x[12], S32, 0xe6db99e5); /* 46 */
HH (c, d, a, b, x[15], S33, 0x1fa27cf8); /* 47 */
HH (b, c, d, a, x[ 2], S34, 0xc4ac5665); /* 48 */
/* Round 4 */
II (a, b, c, d, x[ 0], S41, 0xf4292244); /* 49 */
II (d, a, b, c, x[ 7], S42, 0x432aff97); /* 50 */
II (c, d, a, b, x[14], S43, 0xab9423a7); /* 51 */
II (b, c, d, a, x[ 5], S44, 0xfc93a039); /* 52 */
II (a, b, c, d, x[12], S41, 0x655b59c3); /* 53 */
II (d, a, b, c, x[ 3], S42, 0x8f0ccc92); /* 54 */
II (c, d, a, b, x[10], S43, 0xffeff47d); /* 55 */
II (b, c, d, a, x[ 1], S44, 0x85845dd1); /* 56 */
II (a, b, c, d, x[ 8], S41, 0x6fa87e4f); /* 57 */
II (d, a, b, c, x[15], S42, 0xfe2ce6e0); /* 58 */
II (c, d, a, b, x[ 6], S43, 0xa3014314); /* 59 */
II (b, c, d, a, x[13], S44, 0x4e0811a1); /* 60 */
II (a, b, c, d, x[ 4], S41, 0xf7537e82); /* 61 */
II (d, a, b, c, x[11], S42, 0xbd3af235); /* 62 */
II (c, d, a, b, x[ 2], S43, 0x2ad7d2bb); /* 63 */
II (b, c, d, a, x[ 9], S44, 0xeb86d391); /* 64 */
state[0] += a;
state[1] += b;
state[2] += c;
state[3] += d;
/* Zeroize sensitive information.
*/
MD5_memset ((POINTER)x, 0, sizeof (x));
}
/* Encodes input (UINT4) into output (unsigned char). Assumes len is
a multiple of 4.
*/
static void Encode (output, input, len)
unsigned char *output;
UINT4 *input;
unsigned int len;
{
unsigned int i, j;
for (i = 0, j = 0; j < len; i++, j += 4) {
output[j] = (unsigned char)(input[i] & 0xff);
output[j+1] = (unsigned char)((input[i] >> 8) & 0xff);
output[j+2] = (unsigned char)((input[i] >> 16) & 0xff);
output[j+3] = (unsigned char)((input[i] >> 24) & 0xff);
}
}
/* Decodes input (unsigned char) into output (UINT4). Assumes len is
a multiple of 4.
*/
static void Decode (output, input, len)
UINT4 *output;
unsigned char *input;
unsigned int len;
{
unsigned int i, j;
for (i = 0, j = 0; j < len; i++, j += 4)
output[i] = ((UINT4)input[j]) | (((UINT4)input[j+1]) << 8) |
(((UINT4)input[j+2]) << 16) | (((UINT4)input[j+3]) << 24);
}
/* Note: Replace "for loop" with standard memcpy if possible.
*/
static void MD5_memcpy (output, input, len)
POINTER output;
POINTER input;
unsigned int len;
{
unsigned int i;
for (i = 0; i < len; i++)
output[i] = input[i];
}
/* Note: Replace "for loop" with standard memset if possible.
*/
static void MD5_memset (output, value, len)
POINTER output;
int value;
unsigned int len;
{
unsigned int i;
for (i = 0; i < len; i++)
((char *)output)[i] = (char)value;
}

View File

@@ -0,0 +1,141 @@
/**
* @file NFFilePtr.h
* @brief FILE auto close class
* @remarks
* @author <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(edith2580@gmail.com)
* @date 2009-04-02
*/
#pragma once
#include <stdio.h> // standard I/O
namespace Nave {
/**
* @class NFFilePtr
* @brief FILE auto close class
* @remarks NFFilePtr file(L"c:\\1.txt", L"rt"); \r\n
* fgets(str, 128, file); \r\n
* return;
* @par
* @author Edith
* @date 2009-04-05
*/
class NFFilePtr
{
public:
/// NFFilePtr <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
NFFilePtr() : m_pFile(NULL)
{
}
/**
* @brief <20><><EFBFBD><EFBFBD> <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param file <20><><EFBFBD>ϸ<EFBFBD>
* @param mode <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
*/
NFFilePtr(LPCSTR file, LPCSTR mode)
{
m_pFile = fopen(file, mode);
}
/// NFFilePtr <20>Ҹ<EFBFBD><D2B8><EFBFBD>
~NFFilePtr()
{
if(m_pFile)
fclose(m_pFile);
m_pFile = NULL;
}
/**
* @brief NFFilePtr1 = FilePtrW2 <20><><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD>
* @warning NFFilePtr2<72><32> <20><><EFBFBD>̻<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
*/
NFFilePtr& operator=(NFFilePtr& _Right) throw()
{
Reset(_Right.Release());
return (*this);
}
/**
* @brief NFFilePtr = FILE* <20><><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD>
* @warning NFFilePtr<74><72><EFBFBD><EFBFBD> <20>ڵ<EFBFBD> fclose<73><65> <20>˴ϴ<CBB4>. \r\n
* FILE*<2A><>ü<EFBFBD><C3BC> fclose<73>ϸ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>߻<EFBFBD><DFBB><EFBFBD> <20><><EFBFBD>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
*/
NFFilePtr& operator=(FILE* _Right) throw()
{
Reset(_Right);
return (*this);
}
/**
* @brief FILE* <20><><EFBFBD><EFBFBD>ȯ <20><><EFBFBD>۷<EFBFBD><DBB7><EFBFBD><EFBFBD><EFBFBD> <20>Դϴ<D4B4>.
* @return <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
operator FILE*() const throw()
{
return m_pFile;
}
/**
* @brief <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD> <20>ʱ<EFBFBD>ȭ <20>մϴ<D5B4>. FILE<4C><45> close <20><><EFBFBD><EFBFBD> <20>ʽ<EFBFBD><CABD>ϴ<EFBFBD>.
* @return <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
FILE* Release()
{
FILE* fp = m_pFile;
m_pFile = NULL;
return fp;
}
/**
* @brief <20><><EFBFBD>ο<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E7BCB3><EFBFBD>մϴ<D5B4>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FILE<4C><45> close <20>˴ϴ<CBB4>.
* @param fp <20><><EFBFBD>ο<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
void Reset(LPCSTR file, LPCSTR mode)
{
if(m_pFile)
fclose(m_pFile);
m_pFile = fopen(file, mode);
}
/**
* @brief <20><><EFBFBD>ο<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E7BCB3><EFBFBD>մϴ<D5B4>.
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FILE<4C><45> close <20>˴ϴ<CBB4>.
* @param fp <20><><EFBFBD>ο<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
void Reset(FILE* fp)
{
if(m_pFile)
fclose(m_pFile);
m_pFile = fp;
}
/**
* @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
* @return <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
*/
long Length()
{
fpos_t cuspos;
if(fgetpos( m_pFile, &cuspos ) != 0)
return -1; // error
fseek( m_pFile, 0L, SEEK_END );
long length = ftell( m_pFile );
fsetpos(m_pFile, &cuspos);
return length;
}
private:
/// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
FILE* m_pFile;
};
}

View File

@@ -0,0 +1,71 @@
================================================================================
MFC <20><><EFBFBD>̺귯<CCBA><EAB7AF> : CheckMD5 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>
================================================================================
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>α׷<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> CheckMD5 <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> CheckMD5 <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>.
CheckMD5.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>.
CheckMD5.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> CCheckMD5App <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α׷<CEB1> Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>˴ϴ<CBB4>.
CheckMD5.cpp
CCheckMD5App <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>.
CheckMD5.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\CheckMD5.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> CheckMD5.rc<72><63> <20><><EFBFBD>Ե˴ϴ<CBB4>.
res\CheckMD5.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>.
CheckMD5Dlg.h, CheckMD5Dlg.cpp - <20><>ȭ <20><><EFBFBD><EFBFBD>
CCheckMD5Dlg Ŭ<><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> CheckMD5.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) CheckMD5.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>.
/////////////////////////////////////////////////////////////////////////////

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View 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.CheckMD5"
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>

View File

@@ -0,0 +1,13 @@
//
// CheckMD5.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>.
/////////////////////////////////////////////////////////////////////////////

View File

@@ -0,0 +1,18 @@
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by CheckMD5.rc
//
#define IDD_CHECKMD5_DIALOG 102
#define IDR_MAINFRAME 128
#define IDC_EDIT1 1000
// 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 1001
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif

View 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>.
// CheckMD5.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"

View File

@@ -0,0 +1,41 @@
// 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

Binary file not shown.

View File

@@ -0,0 +1,20 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ScriptConvert", "ScriptConvert-GSF File\ScriptConvert.vcxproj", "{189EAF5C-37B9-4AF9-971A-09CB54F9C78D}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{189EAF5C-37B9-4AF9-971A-09CB54F9C78D}.Debug|Win32.ActiveCfg = Debug|Win32
{189EAF5C-37B9-4AF9-971A-09CB54F9C78D}.Debug|Win32.Build.0 = Debug|Win32
{189EAF5C-37B9-4AF9-971A-09CB54F9C78D}.Release|Win32.ActiveCfg = Release|Win32
{189EAF5C-37B9-4AF9-971A-09CB54F9C78D}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,26 @@

Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GCMDSLoader", "GCMDSLoader\GCMDSLoader.vcproj", "{6C7487B6-AA43-4987-BD66-311CCB58FDAF}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GCMDSTools", "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
{6C7487B6-AA43-4987-BD66-311CCB58FDAF}.Debug|Win32.ActiveCfg = Debug|Win32
{6C7487B6-AA43-4987-BD66-311CCB58FDAF}.Debug|Win32.Build.0 = Debug|Win32
{6C7487B6-AA43-4987-BD66-311CCB58FDAF}.Release|Win32.ActiveCfg = Release|Win32
{6C7487B6-AA43-4987-BD66-311CCB58FDAF}.Release|Win32.Build.0 = Release|Win32
{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

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>

View File

@@ -0,0 +1,10 @@
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level='asInvoker' uiAccess='false' />
</requestedPrivileges>
</security>
</trustInfo>
</assembly>

View File

@@ -0,0 +1,2 @@
#v4.0:v100
Debug|Win32|E:\myProj\GodsOfWar\CryptoSource\|

View File

@@ -0,0 +1,32 @@
Build started 13.09.2011 21:36:57.
1>Project "E:\myProj\GodsOfWar\CryptoSource\GCMDSLoader\GCMDSLoader.vcxproj" on node 3 (build target(s)).
1>InitializeBuildStatus:
Creating "Debug\GCMDSLoader.unsuccessfulbuild" because "AlwaysCreate" was specified.
ClCompile:
All outputs are up-to-date.
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\CL.exe /c /ZI /nologo /W3 /WX- /Od /Oy- /D WIN32 /D _DEBUG /D _CONSOLE /D WIN32 /D _DEBUG /D _LIB /D _WINDOWS /D _USE_32BIT_TIME_T /D _MBCS /Gm /EHsc /RTC1 /MDd /GS- /fp:precise /Zc:wchar_t /Zc:forScope /Fo"Debug\\" /Fd"Debug\vc100.pdb" /Gd /TP /wd4996 /wd4819 /wd4482 /analyze- /errorReport:prompt GCMDSLoader.cpp SimpleParser.cpp stdafx.cpp
stdafx.cpp
SimpleParser.cpp
GCMDSLoader.cpp
Generating Code...
ManifestResourceCompile:
All outputs are up-to-date.
Link:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\link.exe /ERRORREPORT:PROMPT /OUT:"E:\myProj\GodsOfWar\CryptoSource\Debug\GCMDSLoader.exe" /INCREMENTAL /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /NODEFAULTLIB:LIBCMT /NODEFAULTLIB:LIBCMTD /MANIFEST /ManifestFile:"Debug\GCMDSLoader.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"E:\myProj\GodsOfWar\CryptoSource\Debug\GCMDSLoader.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT:NO /IMPLIB:"E:\myProj\GodsOfWar\CryptoSource\Debug\GCMDSLoader.lib" /MACHINE:X86 Debug\GCMDSLoader.exe.embed.manifest.res
Debug\GCMDSLoader.obj
Debug\SimpleParser.obj
Debug\stdafx.obj
Manifest:
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\mt.exe /nologo /verbose /out:"Debug\GCMDSLoader.exe.embed.manifest" /manifest Debug\GCMDSLoader.exe.intermediate.manifest
All outputs are up-to-date.
LinkEmbedManifest:
All outputs are up-to-date.
GCMDSLoader.vcxproj -> E:\myProj\GodsOfWar\CryptoSource\Debug\GCMDSLoader.exe
FinalizeBuildStatus:
Deleting file "Debug\GCMDSLoader.unsuccessfulbuild".
Touching "Debug\GCMDSLoader.lastbuildstate".
1>Done Building Project "E:\myProj\GodsOfWar\CryptoSource\GCMDSLoader\GCMDSLoader.vcxproj" (build target(s)).
Build succeeded.
Time Elapsed 00:00:04.78

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
<EFBFBD><EFBFBD>

View File

@@ -0,0 +1 @@
<EFBFBD><EFBFBD>

View File

@@ -0,0 +1 @@
<EFBFBD><EFBFBD>

View File

@@ -0,0 +1 @@
<EFBFBD><EFBFBD>

View File

@@ -0,0 +1 @@
<EFBFBD><EFBFBD>

View File

@@ -0,0 +1 @@
<EFBFBD><EFBFBD>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,195 @@
// GCMDSLoader.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"
#include "SimpleParser.h"
int _tmain(int argc, _TCHAR* argv[])
{
// FileLoader
CSimpleParser parser;
if( false == parser.OpenFile( "aaa.gcmds" ) )
{
return false;
}
/*
// Client Source..
if( 0 != stricmp( "SKELETON_KEY_DATA", parser.GetNextToken() ) )
{
return false; // invalid header
}
while( (szToken = parser.GetNextToken()) != NULL )
{
if( 0 == stricmp( "skeletoncount", szToken ) )
{
szToken = parser.GetNextToken();
m_lSkeletonCount = aton( szToken );
}
else if( 0 == stricmp( "skeleton", szToken ) )
{
m_pSkeletonHierarchy = new long[m_lSkeletonCount];
m_pAniHolderIndex = new long[m_lSkeletonCount];
m_pIndexInSubpart = new long[m_lSkeletonCount];
m_pszSkeletonName = new char*[m_lSkeletonCount];
szToken = parser.GetNextToken();
while( 0 != stricmp( szToken, ";" ) )
{
i = aton(szToken);
if( i >= m_lSkeletonCount )
{
// skip remainder of 4 tokens
for( j = 0; j < 4; ++j )
{
parser.GetNextToken();
}
szToken = parser.GetNextToken();
continue;
}
m_pSkeletonHierarchy[i] = aton( parser.GetNextToken() );
m_pAniHolderIndex[i] = aton( parser.GetNextToken() );
m_pIndexInSubpart[i] = aton( parser.GetNextToken() );
szToken = parser.GetNextToken();
m_pszSkeletonName[i] = new char[strlen(szToken)+1];
strcpy( m_pszSkeletonName[i], szToken );
szToken = parser.GetNextToken();
}
}
else if( 0 == stricmp( "aniholdercount", szToken ) )
{
szToken = parser.GetNextToken();
m_lAniHolderCount = aton( szToken );
}
else if( 0 == stricmp( "TMInverse", szToken ) )
{
m_pLocalizerMatrix = new matrix[m_lSkeletonCount];
szToken = parser.GetNextToken();
while( 0 != stricmp( szToken, ";" ) )
{
i = aton(parser.GetNextToken()); // skip "matrix" token
if( i >= m_lSkeletonCount )
{
// skip remainder of 12 tokens
for( j = 0; j < 12; ++j )
{
parser.GetNextToken();
}
szToken = parser.GetNextToken();
continue;
}
m_pLocalizerMatrix[i]._11 = atof( parser.GetNextToken() );
m_pLocalizerMatrix[i]._12 = atof( parser.GetNextToken() );
m_pLocalizerMatrix[i]._13 = atof( parser.GetNextToken() );
m_pLocalizerMatrix[i]._14 = 0.0f;
m_pLocalizerMatrix[i]._21 = atof( parser.GetNextToken() );
m_pLocalizerMatrix[i]._22 = atof( parser.GetNextToken() );
m_pLocalizerMatrix[i]._23 = atof( parser.GetNextToken() );
m_pLocalizerMatrix[i]._24 = 0.0f;
m_pLocalizerMatrix[i]._31 = atof( parser.GetNextToken() );
m_pLocalizerMatrix[i]._32 = atof( parser.GetNextToken() );
m_pLocalizerMatrix[i]._33 = atof( parser.GetNextToken() );
m_pLocalizerMatrix[i]._34 = 0.0f;
m_pLocalizerMatrix[i]._41 = atof( parser.GetNextToken() );
m_pLocalizerMatrix[i]._42 = atof( parser.GetNextToken() );
m_pLocalizerMatrix[i]._43 = atof( parser.GetNextToken() );
m_pLocalizerMatrix[i]._44 = 1.0f;
szToken = parser.GetNextToken();
}
}
else if( 0 == stricmp( "BoundingVolume", szToken ) )
{
Z3D_BOUNDINGVOLUME_INFO bvi;
vector3 vPos;
quaternion qRot;
vector3 vSize;
vector3 vTmp;
szToken = parser.GetNextToken();
while( 0 != stricmp( szToken, ";" ) )
{
if( 0 == stricmp( "OBB", szToken ) ||
0 == stricmp( "CYLINDER", szToken ) ||
0 == stricmp( "SPHERE", szToken ) )
{
if( 0 == stricmp( "OBB", szToken ) )
{
bvi.eBVType = Z3D_BOUNDINGVOLUME_INFO::Z3DBV_OBB;
}
else if ( 0 == stricmp( "CYLINDER", szToken ) )
{
bvi.eBVType = Z3D_BOUNDINGVOLUME_INFO::Z3DBV_CYLINDER;
}
else if ( 0 == stricmp( "SPHERE", szToken ) )
{
bvi.eBVType = Z3D_BOUNDINGVOLUME_INFO::Z3DBV_SPHERE;
}
bvi.lSkelIndex = aton( parser.GetNextToken() );
szToken = parser.GetNextToken();
while( 0 != stricmp( szToken, ";" ) )
{
if( 0 == stricmp( "pos", szToken ) )
{
vPos.x = atof( parser.GetNextToken() );
vPos.y = atof( parser.GetNextToken() );
vPos.z = atof( parser.GetNextToken() );
}
else if( 0 == stricmp( "rot", szToken ) )
{
qRot.x = atof( parser.GetNextToken() );
qRot.y = atof( parser.GetNextToken() );
qRot.z = atof( parser.GetNextToken() );
qRot.w = atof( parser.GetNextToken() );
}
else if( 0 == stricmp( "size", szToken ) )
{
vSize.x = atof( parser.GetNextToken() );
vSize.y = atof( parser.GetNextToken() );
vSize.z = atof( parser.GetNextToken() );
}
szToken = parser.GetNextToken();
}
// calc
if( Z3D_BOUNDINGVOLUME_INFO::Z3DBV_OBB == bvi.eBVType )
{
z3d::VectorRotate( vTmp, vector3(0,0.5f*vSize.y,0), qRot );
bvi.vOrigin = vPos + vTmp;
bvi.vExtent = 0.5f*vSize;
bvi.qRot = qRot;
}
else if( Z3D_BOUNDINGVOLUME_INFO::Z3DBV_CYLINDER == bvi.eBVType )
{
}
else if( Z3D_BOUNDINGVOLUME_INFO::Z3DBV_SPHERE == bvi.eBVType )
{
}
m_vecBoundingVolumeInfo.push_back( bvi );
szToken = parser.GetNextToken();
}
}
}
}
*/
parser.Close();
return 0;
}

View File

@@ -0,0 +1,20 @@

Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GCMDSLoader", "GCMDSLoader.vcproj", "{6C7487B6-AA43-4987-BD66-311CCB58FDAF}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{6C7487B6-AA43-4987-BD66-311CCB58FDAF}.Debug|Win32.ActiveCfg = Debug|Win32
{6C7487B6-AA43-4987-BD66-311CCB58FDAF}.Debug|Win32.Build.0 = Debug|Win32
{6C7487B6-AA43-4987-BD66-311CCB58FDAF}.Release|Win32.ActiveCfg = Release|Win32
{6C7487B6-AA43-4987-BD66-311CCB58FDAF}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Binary file not shown.

View File

@@ -0,0 +1,221 @@
<?xml version="1.0" encoding="ks_c_5601-1987"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8.00"
Name="GCMDSLoader"
ProjectGUID="{6C7487B6-AA43-4987-BD66-311CCB58FDAF}"
RootNamespace="GCMDSLoader"
Keyword="Win32Proj"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="$(SolutionDir)$(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="3"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
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="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="1"
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="2"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
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=".\GCMDSLoader.cpp"
>
</File>
<File
RelativePath=".\SimpleParser.cpp"
>
</File>
<File
RelativePath=".\stdafx.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=".\misc.h"
>
</File>
<File
RelativePath=".\SimpleParser.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}"
>
</Filter>
<File
RelativePath=".\ReadMe.txt"
>
</File>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@@ -0,0 +1,104 @@
<?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>{6C7487B6-AA43-4987-BD66-311CCB58FDAF}</ProjectGuid>
<RootNamespace>GCMDSLoader</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<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'">$(SolutionDir)$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</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'" />
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="GCMDSLoader.cpp" />
<ClCompile Include="SimpleParser.cpp" />
<ClCompile Include="stdafx.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="misc.h" />
<ClInclude Include="SimpleParser.h" />
<ClInclude Include="stdafx.h" />
</ItemGroup>
<ItemGroup>
<None Include="ReadMe.txt" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,42 @@
<?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;cc;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;tiff;tif;png;wav</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="GCMDSLoader.cpp">
<Filter>소스 파일</Filter>
</ClCompile>
<ClCompile Include="SimpleParser.cpp">
<Filter>소스 파일</Filter>
</ClCompile>
<ClCompile Include="stdafx.cpp">
<Filter>소스 파일</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="misc.h">
<Filter>헤더 파일</Filter>
</ClInclude>
<ClInclude Include="SimpleParser.h">
<Filter>헤더 파일</Filter>
</ClInclude>
<ClInclude Include="stdafx.h">
<Filter>헤더 파일</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="ReadMe.txt" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
</Project>

View File

@@ -0,0 +1,32 @@
========================================================================
<20>ܼ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α׷<CEB1> : GCMDSLoader <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>
========================================================================
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>α׷<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E7BFA1> <20><> GCMDSLoader <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α׷<CEB1><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
<EFBFBD><EFBFBD> <20><><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD> GCMDSLoader <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>.
GCMDSLoader.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>.
GCMDSLoader.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> GCMDSLoader.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>.
/////////////////////////////////////////////////////////////////////////////

View File

@@ -0,0 +1,534 @@
// SimpleParser.cpp: implementation of the CSimpleParser class.
//
//////////////////////////////////////////////////////////////////////
#include "SimpleParser.h"
//////////////////////////////////////////////////////////////////////////
// CSimpleFileBuffer
//////////////////////////////////////////////////////////////////////////
CSimpleFileBuffer::CSimpleFileBuffer()
{
m_pFileContentBuffer = NULL;
m_lFileContentBufferLength = 0;
m_lFileContentBufferIndex = 0;
}
CSimpleFileBuffer::~CSimpleFileBuffer()
{
SAFE_DELETEA( m_pFileContentBuffer );
}
bool CSimpleFileBuffer::Open( const char* szFileName )
{
Close();
FILE* pFile = fopen(szFileName, "rb");
if( NULL == pFile )
{
return false;
}
fseek( pFile, 0, SEEK_END );
long lFileSize = ftell( pFile );
if( 0 == lFileSize )
{
fclose( pFile );
return false;
}
fseek( pFile, 0, SEEK_SET );
m_pFileContentBuffer = new unsigned char[lFileSize];
fread( m_pFileContentBuffer, lFileSize, 1, pFile );
fclose( pFile );
m_lFileContentBufferLength = lFileSize;
m_lFileContentBufferIndex = 0;
strncpy( m_szFileName, szFileName, 300 );
m_szFileName[299] = '\0';
return true;
}
void CSimpleFileBuffer::Close()
{
SAFE_DELETEA( m_pFileContentBuffer );
m_lFileContentBufferLength = 0;
m_lFileContentBufferIndex = 0;
m_szFileName[0] = '\0';
}
int CSimpleFileBuffer::GetChar()
{
if( m_lFileContentBufferIndex >= m_lFileContentBufferLength )
{
return EOF;
}
return m_pFileContentBuffer[m_lFileContentBufferIndex++];
}
bool CSimpleFileBuffer::CheckEOF()
{
if( m_lFileContentBufferIndex >= m_lFileContentBufferLength )
{
return true;
}
return false;
}
void CSimpleFileBuffer::Seek( long idx, int nOrigin )
{
long lIdx;
if( SEEK_SET == nOrigin )
{
lIdx = idx;
}
else if( SEEK_CUR == nOrigin )
{
lIdx = m_lFileContentBufferIndex+idx;
}
else if( SEEK_END == nOrigin )
{
lIdx = m_lFileContentBufferLength-1 + idx;
}
m_lFileContentBufferIndex = max( 0, min( m_lFileContentBufferLength, lIdx ) );
}
//////////////////////////////////////////////////////////////////////////
// CSimpleParser
//////////////////////////////////////////////////////////////////////////
CSimpleParser::CSimpleParser()
{
m_szFileName = NULL;
m_szMaskString = NULL;
m_lMaskLen = 0;
m_lPointerInMask = 0;
m_pFile = NULL;
//m_lTokenCount = 0;
m_lLineCount = 0;
m_lTokenInLine = 0;
// ------------------------------------------------- //
// REFACTORING : by Vincent 2005. 10. 26
// m_vec_szTokens.reserve( 10 );
// ------------------------------------------------- //
m_vec_szTmpLine.reserve( 1000 );
}
CSimpleParser::~CSimpleParser()
{
/*
if( m_pFile )
{
fclose( m_pFile );
m_pFile = NULL;
}
SAFE_DELETEA( m_szFileName );
SAFE_DELETEA( m_szMaskString );
for( int i = 0; i < m_vec_szTokens.size(); i++ )
{
SAFE_DELETEA( m_vec_szTokens[i] );
}
m_vec_szTokens.clear();
m_vec_szTmpLine.clear();
*/
Reset();
}
bool CSimpleParser::Reset()
{
/*
if( m_pFile )
{
fclose( m_pFile );
m_pFile = NULL;
}
*/
SAFE_DELETE( m_pFile );
SAFE_DELETEA( m_szFileName );
SAFE_DELETEA( m_szMaskString );
m_lMaskLen = 0;
m_lPointerInMask = 0;
//m_lTokenCount = 0;
// ------------------------------------------------- //
// REFACTORING : by Vincent 2005. 10. 26
// for( size_t i = 0; i < m_vec_szTokens.size(); i++ )
// {
// SAFE_DELETEA( m_vec_szTokens[i] );
// }
// m_vec_szTokens.clear();
m_iTokenNum = 0 ;
// ------------------------------------------------- //
m_vec_szTmpLine.clear();
m_lLineCount = 0;
m_lTokenInLine = 0;
return true;
}
bool CSimpleParser::OpenFile( const char* szFileName, const char* szMaskString )
{
_ASSERT( szFileName );
/*
FILE* fp;
if( szMaskString )
{
// decrypting mode
if( (fp = fopen(szFileName, "rb")) == NULL )
{
return false; // file open error
}
}
else
{
// normal mode
if( (fp = fopen(szFileName, "rt")) == NULL )
{
return false; // file open error
}
}
*/
Reset();
m_pFile = new CSimpleFileBuffer;
if( false == m_pFile->Open( szFileName ) )
{
SAFE_DELETE( m_pFile );
return false;
}
// m_pFile = fp;
m_szFileName = new char[strlen(szFileName) + 1];
strcpy( m_szFileName, szFileName );
if( szMaskString )
{
m_lMaskLen = strlen(szMaskString);
m_szMaskString = new char[m_lMaskLen+1];
strcpy( m_szMaskString, szMaskString );
m_lPointerInMask = 0;
int iLen = strlen(m_szMaskString);
for(int k = 0; k < iLen; ++k)
{
m_szMaskString[k] = m_szMaskString[k]^0xc8;
}
}
return true;
}
inline static bool IsWhiteSpace( char c )
{
if( '\n' == c ) return true;
if( '\t' == c ) return true;
if( ' ' == c ) return true;
return false;
}
// white space<63><65><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ü<EFBFBD><C3BC> <20>ϳ<EFBFBD><CFB3><EFBFBD> <20><>ū<EFBFBD>и<EFBFBD><D0B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ǵ<EFBFBD> <20><><EFBFBD>ڸ<EFBFBD> operator<6F><72><EFBFBD><EFBFBD> <20>Ѵ<EFBFBD>.
// (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-_-;;)
inline static bool IsOperator( char c )
{
if( '(' == c ) return true;
if( ')' == c ) return true;
if( '{' == c ) return true;
if( '}' == c ) return true;
if( '[' == c ) return true;
if( ']' == c ) return true;
if( '<' == c ) return true;
if( '>' == c ) return true;
// +- <20><>ȣ <20><><EFBFBD><EFBFBD>...-_-; <20><>ȣ<EFBFBD><C8A3> <20><><EFBFBD><EFBFBD> <20><> <20>ִ<EFBFBD>.
/*if( '+' == c ) return true;
if( '-' == c ) return true;*/
if( '*' == c ) return true;
if( '/' == c ) return true;
if( ',' == c ) return true;
// '.' <20><><EFBFBD><EFBFBD>. <20>Ҽ<EFBFBD><D2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>δ<EFBFBD>-_-;; <20>̷<EFBFBD>..
//if( '.' == c ) return true;
if( ':' == c ) return true;
if( ';' == c ) return true;
if( '`' == c ) return true;
if( '\'' == c ) return true;
if( '=' == c ) return true;
if( '|' == c ) return true;
return false;
}
int CSimpleParser::GetChrFromFile()
{
// edith GCMDS <20><><EFBFBD><EFBFBD>.
// <20>Էµ<D4B7> MASK <20><><EFBFBD><EFBFBD> <20>̿<EFBFBD><CCBF><EFBFBD> <20><>ȣȭ<C8A3><C8AD> <20><><EFBFBD><EFBFBD>
// <20>ٽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>κ<EFBFBD><CEBA>̴<EFBFBD>.
int c;
if( NULL == m_pFile )
{
return EOF;
}
if( m_szMaskString )
{
// c = fgetc(m_pFile);
c = m_pFile->GetChar();
if( EOF == c )
{
return EOF;
}
c ^= m_szMaskString[m_lPointerInMask];
if( 0xD == c ) // LF/CR combo ó<><C3B3>
{
// <20><><EFBFBD><EFBFBD>ŷ<EFBFBD><C5B7> <20><><EFBFBD><EFBFBD> ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// int c2 = m_szMaskString[(m_lPointerInMask+1)%m_lMaskLen] ^ fgetc(m_pFile);
int c2 = m_szMaskString[(m_lPointerInMask+1)%m_lMaskLen] ^ m_pFile->GetChar();
if( 0xA == c2 )
{
m_lPointerInMask = (m_lPointerInMask + 2) % m_lMaskLen;
return '\n';
}
else
{
// fseek( m_pFile, -1, SEEK_CUR );
m_pFile->Seek( -1, SEEK_CUR );
}
}
m_lPointerInMask = (m_lPointerInMask + 1) % m_lMaskLen;
return c;
}
// else <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʿ<EFBFBD><CABF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(decrypting <20>ƴϸ<C6B4> normal<61>̴ϱ<CCB4>)
// normal reading
// return fgetc(m_pFile);
return m_pFile->GetChar();
}
int CSimpleParser::ReadLine()
{
int i;
// ------------------------------------------------- //
// REFACTORING : by Vincent 2005. 10. 26
// clear previously read tokens
// for( i = 0; i < m_vec_szTokens.size(); i++ )
// {
// SAFE_DELETEA( m_vec_szTokens[i] );
// }
// m_vec_szTokens.clear();
for ( i = 0; i < MAX_TOKEN_NUM; ++i )
{
m_szTokens[ i ][ 0 ] = '\0' ;
}
m_iTokenNum = 0 ;
// ------------------------------------------------- //
// check if stream opened
if( NULL == m_pFile )
{
return EOF;
}
int c;
while( (c = GetChrFromFile()) != EOF )
{
if( '\n' == c )
{
// m_vec_szTmpLine.push_back('\0');
break;
}
m_vec_szTmpLine.push_back( (char)c );
}
m_lLineCount++;
m_lTokenInLine = 0;
// if( feof(m_pFile) )
// {
// fclose(m_pFile);
// m_pFile = NULL;
// }
if( m_pFile->CheckEOF() )
{
SAFE_DELETE( m_pFile );
}
std::vector<char> vec_szTmpToken;
vec_szTmpToken.reserve( 100 ); // allocate appropriate space for 1 token
for( i = 0; i < (int)m_vec_szTmpLine.size(); i++ )
{
if( IsWhiteSpace( m_vec_szTmpLine[i] ) )
{
continue;
}
if( '/' == m_vec_szTmpLine[i] ) // 'comment' check
{
if( (i+1) < (int)m_vec_szTmpLine.size() && '/' == m_vec_szTmpLine[i+1] )
{
break; // skip parsing remainder of the line
}
}
if( IsOperator(m_vec_szTmpLine[i]) )
{
vec_szTmpToken.push_back( m_vec_szTmpLine[i] );
vec_szTmpToken.push_back('\0');
}
else
{
switch( m_vec_szTmpLine[i] )
{
case '\"': // beginning of a string
{
for( i++ ; i < (int)m_vec_szTmpLine.size(); i++ )
{
if( '\"' == m_vec_szTmpLine[i] ) // end of a string
{
break;
}
vec_szTmpToken.push_back( m_vec_szTmpLine[i] );
}
vec_szTmpToken.push_back('\0');
break;
}
default: // otherwise parse normal token
{
for( ; i < (int)m_vec_szTmpLine.size(); i++ )
{
if( IsWhiteSpace(m_vec_szTmpLine[i]) )
{
break;
}
else if( IsOperator(m_vec_szTmpLine[i]) )
{
i--; // one char backward
break;
}
vec_szTmpToken.push_back( m_vec_szTmpLine[i] );
}
vec_szTmpToken.push_back('\0');
break;
}
}
}
// ------------------------------------------------- //
// REFACTORING : by Vincent 2005. 10. 26
// copy parsed token
// char* szTmp = new char[vec_szTmpToken.size()];
// strcpy( szTmp, &(vec_szTmpToken[0]) );
// vec_szTmpToken.clear();
// m_vec_szTokens.push_back(szTmp);
strcpy( &(m_szTokens[ m_iTokenNum++ ][ 0 ]), &(vec_szTmpToken[0]) ) ;
vec_szTmpToken.clear();
// ------------------------------------------------- //
}
m_vec_szTmpLine.clear();
// ------------------------------------------------- //
// REFACTORING : by Vincent 2005. 10. 26
// return m_vec_szTokens.size();
return m_iTokenNum ;
// ------------------------------------------------- //
}
char* CSimpleParser::GetToken( int n )
{
// ------------------------------------------------- //
// REFACTORING : by Vincent 2005. 10. 26
// static char cDummyEmptyToken = '0';
//
// if( static_cast<size_t>(n+1) > m_vec_szTokens.size() )
// {
// //return NULL;
// return &cDummyEmptyToken;
// }
//
// return m_vec_szTokens[n];
static char cDummyEmptyToken = '0' ;
if ( n + 1 > m_iTokenNum )
{
return &cDummyEmptyToken ;
}
return &(m_szTokens[ n ][ 0 ]) ;
// ------------------------------------------------- //
}
int CSimpleParser::GetTokenNum()
{
// ------------------------------------------------- //
// REFACTORING : by Vincent 2005. 10. 26
// return m_vec_szTokens.size();
return m_iTokenNum ;
// ------------------------------------------------- //
}
int CSimpleParser::GetLineNum()
{
return m_lLineCount;
}
char* CSimpleParser::GetFileName()
{
return m_szFileName;
}
char* CSimpleParser::GetNextToken()
{
if( m_lTokenInLine >= GetTokenNum() )
{
do
{
if( EOF == ReadLine() )
{
return NULL;
}
} while( 0 == GetTokenNum() );
}
return GetToken( m_lTokenInLine++ );
}

View File

@@ -0,0 +1,103 @@
// SimpleParser.h: interface for the CSimpleParser class.
//
//////////////////////////////////////////////////////////////////////
// 2000. 1. 4 : CSimpleParser <20>ϴ<EFBFBD> <20>ϼ<EFBFBD>
// 2000. 1. 8 : comment ( '// blah blah...' ) <20><><EFBFBD><EFBFBD>
// 2000. 1.11 : <20><>ȣ<EFBFBD><C8A3> <20><><EFBFBD><EFBFBD> <20><>ū<EFBFBD>и<EFBFBD> <20><><EFBFBD><EFBFBD>( '()' '{}' '[]' '<>' )
// 2000. 1.11 : 1<><31><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ū<EFBFBD>и<EFBFBD> <20><><EFBFBD><EFBFBD>( '+' '-' ... <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-_-; )
// edith GCMDS <20><><EFBFBD><EFBFBD>ũ <20><>Ʈ<EFBFBD><C6AE>
#define SIMPLE_PARSER_MASK_STRING "<22>ƹ<EFBFBD><C6B9>ų<EFBFBD>"
#if !defined(AFX_SIMPLEPARSER_H__FAFA5CC1_E1BC_11D4_AD2B_0000E8EB4C69__INCLUDED_)
#define AFX_SIMPLEPARSER_H__FAFA5CC1_E1BC_11D4_AD2B_0000E8EB4C69__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <stdio.h>
#include "misc.h"
#include <vector>
class CSimpleFileBuffer
{
public:
CSimpleFileBuffer();
~CSimpleFileBuffer();
bool Open( const char* szFileName );
void Close();
int GetChar();
bool CheckEOF();
void Seek( long idx, int nOrigin );
protected:
unsigned char* m_pFileContentBuffer;
long m_lFileContentBufferLength;
long m_lFileContentBufferIndex;
char m_szFileName[300];
};
class CSimpleParser
{
public:
enum EConstants
{
MAX_TOKEN_NUM = 16,
MAX_TOKEN_LENGTH = 128
} ;
CSimpleParser();
virtual ~CSimpleParser();
bool Reset();
bool OpenFile( const char* szFileName, const char* szMaskString = SIMPLE_PARSER_MASK_STRING );
int ReadLine(); // returns # of tokens read
char* GetToken( int n );
int GetTokenNum();
int GetLineNum();
char* GetFileName();
void Close()
{
Reset();
}
char* GetNextToken(); // line<6E><65> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> token <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
int GetChrFromFile(); // decrypting read <20><> <20><><EFBFBD><EFBFBD> fgetc<74><63> <20><>ü<EFBFBD>ϴ<EFBFBD> <20>Լ<EFBFBD>
protected:
char* m_szMaskString;
long m_lMaskLen;
long m_lPointerInMask;
char* m_szFileName;
// FILE* m_pFile;
CSimpleFileBuffer* m_pFile;
//long m_lTokenCount;
long m_lLineCount;
long m_lTokenInLine; // used for GetNextToken()
// ------------------------------------------------- //
// REFACTORING : by Vincent 2005. 10. 26
// std::vector<char*> m_vec_szTokens;
char m_szTokens[ MAX_TOKEN_NUM ][ MAX_TOKEN_LENGTH ] ;
int m_iTokenNum ;
// ------------------------------------------------- //
std::vector<char> m_vec_szTmpLine;
};
#endif // !defined(AFX_SIMPLEPARSER_H__FAFA5CC1_E1BC_11D4_AD2B_0000E8EB4C69__INCLUDED_)

View File

@@ -0,0 +1,280 @@
#if !defined(__MISC_H__)
#define __MISC_H__
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#pragma warning( disable : 4786 )
#pragma warning( disable : 4005 )
//#define _ASSERT(p) ((void)(p))
#include <windows.h>
#include <d3d8.h>
#include <math.h>
#ifdef _DEBUG
#define _ASSERT(p) ((void)(p))
#define _ASSERTE(p) ((void)(p))
#endif
#ifndef _DEBUG
#define _ASSERT(p) ((void)(p))
#define _ASSERTE(p) ((void)(p))
#endif
#define FLOAT_EPSILON 1.0e-5f
#define FLOAT_PHI 3.1415926535f
#define FLOAT_DEG_1 (FLOAT_PHI / 180.0f)
#define FLOAT_DEG(d) ((d)*FLOAT_DEG_1)
// Miscellaneous functions & macros
#ifndef SAFE_DELETE
#define SAFE_DELETE(p) { if(p) { delete (p); (p)=NULL; } }
#endif
#ifndef SAFE_DELETEA
#define SAFE_DELETEA(p) { if(p) { delete [](p); (p)=NULL; } }
#endif
#ifndef SAFE_RELEASE
#define SAFE_RELEASE(p) { if(p) { (p)->Release(); (p)=NULL; } }
#endif
template< class _T >
struct ptr_greater
{
bool operator()( const _T p1, const _T p2) const
{
return (*p1) < (*p2);
}
};
struct szi_less
{
bool operator () ( const char* sz1, const char* sz2 ) const
{
return (stricmp( sz1, sz2 ) < 0);
}
};
struct VECTOR4D
{
float x, y, z, w;
};
struct VECTOR3D
{
float x, y, z;
};
struct VECTOR2D
{
float x, y;
};
inline BOOL IsEquallF( float f1, float f2 )
{
float f;
f = f1 - f2;
if( f < 0 ) f = -f;
// Returns true if two float number is equall(differs small enough)
return f < FLOAT_EPSILON;
}
inline BOOL IsEquallStr( const char* str1, const char* str2 )
{
int i = 0;
while( str1[i] && str2[i] )
{
if( str1[i] != str2[i] ) return FALSE;
i++;
}
return TRUE;
}
inline bool CompareHeader( const char* szHeaderToken, const char* szString )
{
size_t n = strlen( szHeaderToken );
if( strnicmp( szHeaderToken, szString, n ) == 0 )
{
return true;
}
else
{
return false;
}
}
inline bool CheckProbability( long l_prob_numerator, long l_prob_denominator )
{
return (rand() % l_prob_denominator) < l_prob_numerator;
}
/* Disabled Swap functions because of STL swap function templates.
inline void Swap( long &l1, long &l2 )
{
l1 ^= l2 ^= l1 ^= l2;
}
inline void Swap( float &f1, float &f2 )
{
float f;
f = f1;
f1 = f2;
f2 = f1;
}
inline void Swap( int &i1, int &i2 )
{
i1 ^= i2 ^= i1 ^= i2;
}
inline void Swap( WORD &w1, WORD &w2 )
{
w1 ^= w2 ^= w1 ^= w2;
}
*/
inline void WRONG_WAY(const char* sz)
{
//_ASSERT(!sz);
}
struct D3DVERTEX
{
D3DVERTEX() {}
D3DVERTEX( float _x, float _y, float _z, float _nx, float _ny, float _nz, float _tu, float _tv)
{
x = _x;
y = _y;
z = _z;
nx = _nx;
ny = _ny;
nz = _nz;
tu = _tu;
tv = _tv;
}
float x, y, z;
float nx, ny, nz;
float tu, tv;
};
#define D3DFVF_VERTEX (D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_TEX1)
// simple LVERTEX, just for line colored drawing
struct D3DSLVERTEX
{
D3DSLVERTEX() {}
D3DSLVERTEX( float _x, float _y, float _z, D3DCOLOR _c)
{
x = _x;
y = _y;
z = _z;
c = _c;
}
float x, y, z;
D3DCOLOR c;
};
#define D3DFVF_SLVERTEX (D3DFVF_XYZ | D3DFVF_DIFFUSE )
// LVERTEX, as you can figure out...
struct D3DLVERTEX
{
D3DLVERTEX() {}
D3DLVERTEX( float _x, float _y, float _z, D3DCOLOR _c, float _u, float _v )
{
x = _x;
y = _y;
z = _z;
c = _c;
u = _u;
v = _v;
}
float x, y, z;
D3DCOLOR c;
float u, v;
};
#define D3DFVF_LVERTEX (D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_TEX1 )
/*typedef float FLOAT2[2];
typedef float FLOAT3[3];
typedef float FLOAT4[4];
typedef BYTE BYTE2[2];
typedef BYTE BYTE3[3];
typedef BYTE BYTE4[4];
typedef char CHR2[2];
typedef char CHR3[3];
typedef char CHR4[4];
typedef int INT2[2];
typedef int INT3[3];
typedef int INT4[4];*/
struct INT3
{
union
{
int _0, _1, _2;
int a[3];
};
};
/*template<class _T>
struct A2
{
union
{
_T _0, _1;
_T a[2];
};
};*/
inline long GetSizeByBank( long lActualSize, long lBankSize )
{
float fFactor = float(lActualSize) / lBankSize;
fFactor = ceilf( fFactor );
return long(lBankSize * fFactor);
}
// define 'aton()' func. similar to 'atoi()' but recognizes hexadecimal number
#define aton(a) ( (int)strtol( (a), NULL, 0 ) )
#define range_rand(base, range) (((float)rand()/RAND_MAX)*(range) + (base))
#endif // !defined(__MISC_H__)

View 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>.
// GCMDSLoader.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>.

View File

@@ -0,0 +1,17 @@
// 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>
// 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>.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
<EFBFBD><EFBFBD>

View File

@@ -0,0 +1,10 @@
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level='asInvoker' uiAccess='false' />
</requestedPrivileges>
</security>
</trustInfo>
</assembly>

View File

@@ -0,0 +1,2 @@
#v4.0:v100
Debug|Win32|E:\myProj\GodsOfWar\CryptoSource\|

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
<EFBFBD><EFBFBD>

View File

@@ -0,0 +1 @@
<EFBFBD><EFBFBD>

View File

@@ -0,0 +1 @@
<EFBFBD><EFBFBD>

Some files were not shown because too many files have changed in this diff Show More