1
0
forked from metin2/client

30 Commits
0.3.0 ... 0.4.0

Author SHA1 Message Date
6c1e703ee2 Merge pull request 'Add new archive manager, removed Panama & HybridCrypt, config utility improvements' (#20) from nightly into master
Reviewed-on: metin2/client#20
2025-04-12 10:36:11 +03:00
5ba1cb44b9 Bump version to 0.4.x 2025-04-12 10:04:17 +03:00
37847b1635 Merge new archive manager with zip file support 2025-04-12 08:28:41 +03:00
60cfea47e0 Remove .eix/.epk archives from .gitignore 2025-04-12 07:38:14 +03:00
51bde0b3d9 Merge pull request 'Sync nightly with master' (#18) from master into nightly
Reviewed-on: metin2/client#18
2025-04-12 07:35:20 +03:00
8b4d012e72 Updated build script to use 7-Zip for building archives 2025-04-12 07:26:00 +03:00
830e47b00b Improved pack initialization algorithm, archive types are now configurable in the Index file. 2025-04-12 07:00:29 +03:00
0ad2d3b7cc Merge pull request 'Convert source files from EUC-KR to UTF8' (#13) from Tr0n/client:chore/convert-euckr into master
Reviewed-on: metin2/client#13
Reviewed-by: Exynox <exynox@old-metin2.com>
2025-03-22 19:00:33 +02:00
540ba33b0e translate according to pr review 2025-01-12 18:37:38 +01:00
67c4325b01 lognf instancebase 2025-01-12 18:31:32 +01:00
62916f0622 logbox 2025-01-12 18:29:08 +01:00
2589163a49 translate commented out code and traces 2025-01-12 18:14:49 +01:00
077a365840 use modern fontfaces in GetFontFaceFromCodePage9x 2025-01-01 19:37:28 +01:00
c21c99393d Used shared pointers and string streams to read data from the CEterPackManager 2024-12-24 06:54:43 +02:00
373c184dfe convert comments in h files to utf8 2024-12-17 22:41:21 +01:00
361a62853d convert comments in cpp files to utf8 2024-12-17 22:41:21 +01:00
4525e3103d convert literals to escaped bytes 2024-12-17 22:41:21 +01:00
603f2207ef Made pack.bat exit on error 2024-12-16 20:07:39 +02:00
6564e417f9 Removed Panama & HybridCrypt, added experimental Folder and Zip archive providers 2024-12-16 20:00:39 +02:00
e7b6680895 Ordered languages alphabetically 2024-12-15 00:00:57 +02:00
187ecd53f2 Enabled visual styles for config utility 2024-12-14 23:45:03 +02:00
8d27c24328 Added French support in configuration tool 2024-12-14 22:20:41 +02:00
955c2a8fd9 Added Unicode support, Romanian translation 2024-12-14 21:53:05 +02:00
609862f222 Cleaned up project, added configuration utility
Reviewed-on: metin2/client#12
2024-12-14 20:54:06 +02:00
1ccfffff07 Removed BOM from MainDialog.cpp 2024-12-14 20:40:34 +02:00
a7eac9dedf Added configuration utility, consolidated language config 2024-12-14 20:38:00 +02:00
c4236ba185 Updated build script 2024-12-11 22:46:33 +02:00
0a2248cfac Removed VTune/MFCDebug/MFCRelease references 2024-12-11 22:38:32 +02:00
dea9c0c99f Cleaned up project files 2024-12-11 22:08:23 +02:00
3400b6e356 Fetch updates from master
Reviewed-on: metin2/client#11
2024-12-11 21:58:43 +02:00
306 changed files with 3872 additions and 9622 deletions

14
.gitignore vendored
View File

@ -363,16 +363,18 @@ MigrationBackup/
# Fody - auto-generated XML schema # Fody - auto-generated XML schema
FodyWeavers.xsd FodyWeavers.xsd
# vcpkg dependency folder
vcpkg_installed/
## ##
## Project rules ## Project rules
## ##
# Binary game data
!bin/ !bin/
!bin/** !bin/**
!bin/
!bin_original/**
# External dependencies
!extern !extern
!extern/** !extern/**
# Build directories
build/
dist/

View File

@ -34,274 +34,117 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ScriptLib", "src\ScriptLib\
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EterLocale", "src\EterLocale\EterLocale.vcxproj", "{05207E97-C83A-49C6-8E08-403679963A7B}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EterLocale", "src\EterLocale\EterLocale.vcxproj", "{05207E97-C83A-49C6-8E08-403679963A7B}"
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Config", "src\Config\Metin2Config.vcxproj", "{879A444C-3A51-4B63-8888-DC0AAD578B03}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32 Debug|Win32 = Debug|Win32
Distribute|Win32 = Distribute|Win32 Distribute|Win32 = Distribute|Win32
DLL-Import Debug|Win32 = DLL-Import Debug|Win32
DLL-Import Release|Win32 = DLL-Import Release|Win32
MfcDebug|Win32 = MfcDebug|Win32
MfcRelease|Win32 = MfcRelease|Win32
Release|Win32 = Release|Win32 Release|Win32 = Release|Win32
VTune|Win32 = VTune|Win32
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{D64AE35F-F982-46D4-8E38-09E5C9752955}.Debug|Win32.ActiveCfg = Debug|Win32 {D64AE35F-F982-46D4-8E38-09E5C9752955}.Debug|Win32.ActiveCfg = Debug|Win32
{D64AE35F-F982-46D4-8E38-09E5C9752955}.Debug|Win32.Build.0 = Debug|Win32 {D64AE35F-F982-46D4-8E38-09E5C9752955}.Debug|Win32.Build.0 = Debug|Win32
{D64AE35F-F982-46D4-8E38-09E5C9752955}.Distribute|Win32.ActiveCfg = Distribute|Win32 {D64AE35F-F982-46D4-8E38-09E5C9752955}.Distribute|Win32.ActiveCfg = Distribute|Win32
{D64AE35F-F982-46D4-8E38-09E5C9752955}.Distribute|Win32.Build.0 = Distribute|Win32 {D64AE35F-F982-46D4-8E38-09E5C9752955}.Distribute|Win32.Build.0 = Distribute|Win32
{D64AE35F-F982-46D4-8E38-09E5C9752955}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
{D64AE35F-F982-46D4-8E38-09E5C9752955}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
{D64AE35F-F982-46D4-8E38-09E5C9752955}.DLL-Import Release|Win32.ActiveCfg = Release|Win32
{D64AE35F-F982-46D4-8E38-09E5C9752955}.DLL-Import Release|Win32.Build.0 = Release|Win32
{D64AE35F-F982-46D4-8E38-09E5C9752955}.MfcDebug|Win32.ActiveCfg = Debug|Win32
{D64AE35F-F982-46D4-8E38-09E5C9752955}.MfcDebug|Win32.Build.0 = Debug|Win32
{D64AE35F-F982-46D4-8E38-09E5C9752955}.MfcRelease|Win32.ActiveCfg = Release|Win32
{D64AE35F-F982-46D4-8E38-09E5C9752955}.MfcRelease|Win32.Build.0 = Release|Win32
{D64AE35F-F982-46D4-8E38-09E5C9752955}.Release|Win32.ActiveCfg = Release|Win32 {D64AE35F-F982-46D4-8E38-09E5C9752955}.Release|Win32.ActiveCfg = Release|Win32
{D64AE35F-F982-46D4-8E38-09E5C9752955}.Release|Win32.Build.0 = Release|Win32 {D64AE35F-F982-46D4-8E38-09E5C9752955}.Release|Win32.Build.0 = Release|Win32
{D64AE35F-F982-46D4-8E38-09E5C9752955}.VTune|Win32.ActiveCfg = Distribute|Win32
{D64AE35F-F982-46D4-8E38-09E5C9752955}.VTune|Win32.Build.0 = Distribute|Win32
{790B152D-6582-467F-B767-8603C5A9E613}.Debug|Win32.ActiveCfg = Debug|Win32 {790B152D-6582-467F-B767-8603C5A9E613}.Debug|Win32.ActiveCfg = Debug|Win32
{790B152D-6582-467F-B767-8603C5A9E613}.Debug|Win32.Build.0 = Debug|Win32 {790B152D-6582-467F-B767-8603C5A9E613}.Debug|Win32.Build.0 = Debug|Win32
{790B152D-6582-467F-B767-8603C5A9E613}.Distribute|Win32.ActiveCfg = Distribute|Win32 {790B152D-6582-467F-B767-8603C5A9E613}.Distribute|Win32.ActiveCfg = Distribute|Win32
{790B152D-6582-467F-B767-8603C5A9E613}.Distribute|Win32.Build.0 = Distribute|Win32 {790B152D-6582-467F-B767-8603C5A9E613}.Distribute|Win32.Build.0 = Distribute|Win32
{790B152D-6582-467F-B767-8603C5A9E613}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
{790B152D-6582-467F-B767-8603C5A9E613}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
{790B152D-6582-467F-B767-8603C5A9E613}.DLL-Import Release|Win32.ActiveCfg = Release|Win32
{790B152D-6582-467F-B767-8603C5A9E613}.DLL-Import Release|Win32.Build.0 = Release|Win32
{790B152D-6582-467F-B767-8603C5A9E613}.MfcDebug|Win32.ActiveCfg = MfcDebug|Win32
{790B152D-6582-467F-B767-8603C5A9E613}.MfcDebug|Win32.Build.0 = MfcDebug|Win32
{790B152D-6582-467F-B767-8603C5A9E613}.MfcRelease|Win32.ActiveCfg = MfcRelease|Win32
{790B152D-6582-467F-B767-8603C5A9E613}.MfcRelease|Win32.Build.0 = MfcRelease|Win32
{790B152D-6582-467F-B767-8603C5A9E613}.Release|Win32.ActiveCfg = Release|Win32 {790B152D-6582-467F-B767-8603C5A9E613}.Release|Win32.ActiveCfg = Release|Win32
{790B152D-6582-467F-B767-8603C5A9E613}.Release|Win32.Build.0 = Release|Win32 {790B152D-6582-467F-B767-8603C5A9E613}.Release|Win32.Build.0 = Release|Win32
{790B152D-6582-467F-B767-8603C5A9E613}.VTune|Win32.ActiveCfg = VTune|Win32
{790B152D-6582-467F-B767-8603C5A9E613}.VTune|Win32.Build.0 = VTune|Win32
{4950BA04-3877-4F66-BCA0-60E00DE3770B}.Debug|Win32.ActiveCfg = Debug|Win32 {4950BA04-3877-4F66-BCA0-60E00DE3770B}.Debug|Win32.ActiveCfg = Debug|Win32
{4950BA04-3877-4F66-BCA0-60E00DE3770B}.Debug|Win32.Build.0 = Debug|Win32 {4950BA04-3877-4F66-BCA0-60E00DE3770B}.Debug|Win32.Build.0 = Debug|Win32
{4950BA04-3877-4F66-BCA0-60E00DE3770B}.Distribute|Win32.ActiveCfg = Distribute|Win32 {4950BA04-3877-4F66-BCA0-60E00DE3770B}.Distribute|Win32.ActiveCfg = Distribute|Win32
{4950BA04-3877-4F66-BCA0-60E00DE3770B}.Distribute|Win32.Build.0 = Distribute|Win32 {4950BA04-3877-4F66-BCA0-60E00DE3770B}.Distribute|Win32.Build.0 = Distribute|Win32
{4950BA04-3877-4F66-BCA0-60E00DE3770B}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
{4950BA04-3877-4F66-BCA0-60E00DE3770B}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
{4950BA04-3877-4F66-BCA0-60E00DE3770B}.DLL-Import Release|Win32.ActiveCfg = Release|Win32
{4950BA04-3877-4F66-BCA0-60E00DE3770B}.DLL-Import Release|Win32.Build.0 = Release|Win32
{4950BA04-3877-4F66-BCA0-60E00DE3770B}.MfcDebug|Win32.ActiveCfg = MfcDebug|Win32
{4950BA04-3877-4F66-BCA0-60E00DE3770B}.MfcDebug|Win32.Build.0 = MfcDebug|Win32
{4950BA04-3877-4F66-BCA0-60E00DE3770B}.MfcRelease|Win32.ActiveCfg = MfcRelease|Win32
{4950BA04-3877-4F66-BCA0-60E00DE3770B}.MfcRelease|Win32.Build.0 = MfcRelease|Win32
{4950BA04-3877-4F66-BCA0-60E00DE3770B}.Release|Win32.ActiveCfg = Release|Win32 {4950BA04-3877-4F66-BCA0-60E00DE3770B}.Release|Win32.ActiveCfg = Release|Win32
{4950BA04-3877-4F66-BCA0-60E00DE3770B}.Release|Win32.Build.0 = Release|Win32 {4950BA04-3877-4F66-BCA0-60E00DE3770B}.Release|Win32.Build.0 = Release|Win32
{4950BA04-3877-4F66-BCA0-60E00DE3770B}.VTune|Win32.ActiveCfg = VTune|Win32
{4950BA04-3877-4F66-BCA0-60E00DE3770B}.VTune|Win32.Build.0 = VTune|Win32
{8B1D0DDE-A521-4EB2-9544-F606376278CC}.Debug|Win32.ActiveCfg = Debug|Win32 {8B1D0DDE-A521-4EB2-9544-F606376278CC}.Debug|Win32.ActiveCfg = Debug|Win32
{8B1D0DDE-A521-4EB2-9544-F606376278CC}.Debug|Win32.Build.0 = Debug|Win32 {8B1D0DDE-A521-4EB2-9544-F606376278CC}.Debug|Win32.Build.0 = Debug|Win32
{8B1D0DDE-A521-4EB2-9544-F606376278CC}.Distribute|Win32.ActiveCfg = Distribute|Win32 {8B1D0DDE-A521-4EB2-9544-F606376278CC}.Distribute|Win32.ActiveCfg = Distribute|Win32
{8B1D0DDE-A521-4EB2-9544-F606376278CC}.Distribute|Win32.Build.0 = Distribute|Win32 {8B1D0DDE-A521-4EB2-9544-F606376278CC}.Distribute|Win32.Build.0 = Distribute|Win32
{8B1D0DDE-A521-4EB2-9544-F606376278CC}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
{8B1D0DDE-A521-4EB2-9544-F606376278CC}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
{8B1D0DDE-A521-4EB2-9544-F606376278CC}.DLL-Import Release|Win32.ActiveCfg = Release|Win32
{8B1D0DDE-A521-4EB2-9544-F606376278CC}.DLL-Import Release|Win32.Build.0 = Release|Win32
{8B1D0DDE-A521-4EB2-9544-F606376278CC}.MfcDebug|Win32.ActiveCfg = MfcDebug|Win32
{8B1D0DDE-A521-4EB2-9544-F606376278CC}.MfcDebug|Win32.Build.0 = MfcDebug|Win32
{8B1D0DDE-A521-4EB2-9544-F606376278CC}.MfcRelease|Win32.ActiveCfg = MfcRelease|Win32
{8B1D0DDE-A521-4EB2-9544-F606376278CC}.MfcRelease|Win32.Build.0 = MfcRelease|Win32
{8B1D0DDE-A521-4EB2-9544-F606376278CC}.Release|Win32.ActiveCfg = Release|Win32 {8B1D0DDE-A521-4EB2-9544-F606376278CC}.Release|Win32.ActiveCfg = Release|Win32
{8B1D0DDE-A521-4EB2-9544-F606376278CC}.Release|Win32.Build.0 = Release|Win32 {8B1D0DDE-A521-4EB2-9544-F606376278CC}.Release|Win32.Build.0 = Release|Win32
{8B1D0DDE-A521-4EB2-9544-F606376278CC}.VTune|Win32.ActiveCfg = VTune|Win32
{8B1D0DDE-A521-4EB2-9544-F606376278CC}.VTune|Win32.Build.0 = VTune|Win32
{0FDDD886-1EB5-4655-80C3-EF08087FAEFD}.Debug|Win32.ActiveCfg = Debug|Win32 {0FDDD886-1EB5-4655-80C3-EF08087FAEFD}.Debug|Win32.ActiveCfg = Debug|Win32
{0FDDD886-1EB5-4655-80C3-EF08087FAEFD}.Debug|Win32.Build.0 = Debug|Win32 {0FDDD886-1EB5-4655-80C3-EF08087FAEFD}.Debug|Win32.Build.0 = Debug|Win32
{0FDDD886-1EB5-4655-80C3-EF08087FAEFD}.Distribute|Win32.ActiveCfg = Distribute|Win32 {0FDDD886-1EB5-4655-80C3-EF08087FAEFD}.Distribute|Win32.ActiveCfg = Distribute|Win32
{0FDDD886-1EB5-4655-80C3-EF08087FAEFD}.Distribute|Win32.Build.0 = Distribute|Win32 {0FDDD886-1EB5-4655-80C3-EF08087FAEFD}.Distribute|Win32.Build.0 = Distribute|Win32
{0FDDD886-1EB5-4655-80C3-EF08087FAEFD}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
{0FDDD886-1EB5-4655-80C3-EF08087FAEFD}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
{0FDDD886-1EB5-4655-80C3-EF08087FAEFD}.DLL-Import Release|Win32.ActiveCfg = Release|Win32
{0FDDD886-1EB5-4655-80C3-EF08087FAEFD}.DLL-Import Release|Win32.Build.0 = Release|Win32
{0FDDD886-1EB5-4655-80C3-EF08087FAEFD}.MfcDebug|Win32.ActiveCfg = MfcDebug|Win32
{0FDDD886-1EB5-4655-80C3-EF08087FAEFD}.MfcDebug|Win32.Build.0 = MfcDebug|Win32
{0FDDD886-1EB5-4655-80C3-EF08087FAEFD}.MfcRelease|Win32.ActiveCfg = MfcRelease|Win32
{0FDDD886-1EB5-4655-80C3-EF08087FAEFD}.MfcRelease|Win32.Build.0 = MfcRelease|Win32
{0FDDD886-1EB5-4655-80C3-EF08087FAEFD}.Release|Win32.ActiveCfg = Release|Win32 {0FDDD886-1EB5-4655-80C3-EF08087FAEFD}.Release|Win32.ActiveCfg = Release|Win32
{0FDDD886-1EB5-4655-80C3-EF08087FAEFD}.Release|Win32.Build.0 = Release|Win32 {0FDDD886-1EB5-4655-80C3-EF08087FAEFD}.Release|Win32.Build.0 = Release|Win32
{0FDDD886-1EB5-4655-80C3-EF08087FAEFD}.VTune|Win32.ActiveCfg = VTune|Win32
{0FDDD886-1EB5-4655-80C3-EF08087FAEFD}.VTune|Win32.Build.0 = VTune|Win32
{A5D7AF9F-0A4F-4ED3-B209-2553B1ADD17D}.Debug|Win32.ActiveCfg = Debug|Win32 {A5D7AF9F-0A4F-4ED3-B209-2553B1ADD17D}.Debug|Win32.ActiveCfg = Debug|Win32
{A5D7AF9F-0A4F-4ED3-B209-2553B1ADD17D}.Debug|Win32.Build.0 = Debug|Win32 {A5D7AF9F-0A4F-4ED3-B209-2553B1ADD17D}.Debug|Win32.Build.0 = Debug|Win32
{A5D7AF9F-0A4F-4ED3-B209-2553B1ADD17D}.Distribute|Win32.ActiveCfg = Distribute|Win32 {A5D7AF9F-0A4F-4ED3-B209-2553B1ADD17D}.Distribute|Win32.ActiveCfg = Distribute|Win32
{A5D7AF9F-0A4F-4ED3-B209-2553B1ADD17D}.Distribute|Win32.Build.0 = Distribute|Win32 {A5D7AF9F-0A4F-4ED3-B209-2553B1ADD17D}.Distribute|Win32.Build.0 = Distribute|Win32
{A5D7AF9F-0A4F-4ED3-B209-2553B1ADD17D}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
{A5D7AF9F-0A4F-4ED3-B209-2553B1ADD17D}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
{A5D7AF9F-0A4F-4ED3-B209-2553B1ADD17D}.DLL-Import Release|Win32.ActiveCfg = Release|Win32
{A5D7AF9F-0A4F-4ED3-B209-2553B1ADD17D}.DLL-Import Release|Win32.Build.0 = Release|Win32
{A5D7AF9F-0A4F-4ED3-B209-2553B1ADD17D}.MfcDebug|Win32.ActiveCfg = MfcDebug|Win32
{A5D7AF9F-0A4F-4ED3-B209-2553B1ADD17D}.MfcDebug|Win32.Build.0 = MfcDebug|Win32
{A5D7AF9F-0A4F-4ED3-B209-2553B1ADD17D}.MfcRelease|Win32.ActiveCfg = MfcRelease|Win32
{A5D7AF9F-0A4F-4ED3-B209-2553B1ADD17D}.MfcRelease|Win32.Build.0 = MfcRelease|Win32
{A5D7AF9F-0A4F-4ED3-B209-2553B1ADD17D}.Release|Win32.ActiveCfg = Release|Win32 {A5D7AF9F-0A4F-4ED3-B209-2553B1ADD17D}.Release|Win32.ActiveCfg = Release|Win32
{A5D7AF9F-0A4F-4ED3-B209-2553B1ADD17D}.Release|Win32.Build.0 = Release|Win32 {A5D7AF9F-0A4F-4ED3-B209-2553B1ADD17D}.Release|Win32.Build.0 = Release|Win32
{A5D7AF9F-0A4F-4ED3-B209-2553B1ADD17D}.VTune|Win32.ActiveCfg = VTune|Win32
{A5D7AF9F-0A4F-4ED3-B209-2553B1ADD17D}.VTune|Win32.Build.0 = VTune|Win32
{F6CEB04C-4403-4CD4-84A2-D6A372BD4334}.Debug|Win32.ActiveCfg = Debug|Win32 {F6CEB04C-4403-4CD4-84A2-D6A372BD4334}.Debug|Win32.ActiveCfg = Debug|Win32
{F6CEB04C-4403-4CD4-84A2-D6A372BD4334}.Debug|Win32.Build.0 = Debug|Win32 {F6CEB04C-4403-4CD4-84A2-D6A372BD4334}.Debug|Win32.Build.0 = Debug|Win32
{F6CEB04C-4403-4CD4-84A2-D6A372BD4334}.Distribute|Win32.ActiveCfg = Distribute|Win32 {F6CEB04C-4403-4CD4-84A2-D6A372BD4334}.Distribute|Win32.ActiveCfg = Distribute|Win32
{F6CEB04C-4403-4CD4-84A2-D6A372BD4334}.Distribute|Win32.Build.0 = Distribute|Win32 {F6CEB04C-4403-4CD4-84A2-D6A372BD4334}.Distribute|Win32.Build.0 = Distribute|Win32
{F6CEB04C-4403-4CD4-84A2-D6A372BD4334}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
{F6CEB04C-4403-4CD4-84A2-D6A372BD4334}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
{F6CEB04C-4403-4CD4-84A2-D6A372BD4334}.DLL-Import Release|Win32.ActiveCfg = Release|Win32
{F6CEB04C-4403-4CD4-84A2-D6A372BD4334}.DLL-Import Release|Win32.Build.0 = Release|Win32
{F6CEB04C-4403-4CD4-84A2-D6A372BD4334}.MfcDebug|Win32.ActiveCfg = Debug|Win32
{F6CEB04C-4403-4CD4-84A2-D6A372BD4334}.MfcDebug|Win32.Build.0 = Debug|Win32
{F6CEB04C-4403-4CD4-84A2-D6A372BD4334}.MfcRelease|Win32.ActiveCfg = Release|Win32
{F6CEB04C-4403-4CD4-84A2-D6A372BD4334}.MfcRelease|Win32.Build.0 = Release|Win32
{F6CEB04C-4403-4CD4-84A2-D6A372BD4334}.Release|Win32.ActiveCfg = Release|Win32 {F6CEB04C-4403-4CD4-84A2-D6A372BD4334}.Release|Win32.ActiveCfg = Release|Win32
{F6CEB04C-4403-4CD4-84A2-D6A372BD4334}.Release|Win32.Build.0 = Release|Win32 {F6CEB04C-4403-4CD4-84A2-D6A372BD4334}.Release|Win32.Build.0 = Release|Win32
{F6CEB04C-4403-4CD4-84A2-D6A372BD4334}.VTune|Win32.ActiveCfg = VTune|Win32
{F6CEB04C-4403-4CD4-84A2-D6A372BD4334}.VTune|Win32.Build.0 = VTune|Win32
{678C47DC-B3EF-460E-A932-56F3208FC65E}.Debug|Win32.ActiveCfg = Debug|Win32 {678C47DC-B3EF-460E-A932-56F3208FC65E}.Debug|Win32.ActiveCfg = Debug|Win32
{678C47DC-B3EF-460E-A932-56F3208FC65E}.Debug|Win32.Build.0 = Debug|Win32 {678C47DC-B3EF-460E-A932-56F3208FC65E}.Debug|Win32.Build.0 = Debug|Win32
{678C47DC-B3EF-460E-A932-56F3208FC65E}.Distribute|Win32.ActiveCfg = Distribute|Win32 {678C47DC-B3EF-460E-A932-56F3208FC65E}.Distribute|Win32.ActiveCfg = Distribute|Win32
{678C47DC-B3EF-460E-A932-56F3208FC65E}.Distribute|Win32.Build.0 = Distribute|Win32 {678C47DC-B3EF-460E-A932-56F3208FC65E}.Distribute|Win32.Build.0 = Distribute|Win32
{678C47DC-B3EF-460E-A932-56F3208FC65E}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
{678C47DC-B3EF-460E-A932-56F3208FC65E}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
{678C47DC-B3EF-460E-A932-56F3208FC65E}.DLL-Import Release|Win32.ActiveCfg = Release|Win32
{678C47DC-B3EF-460E-A932-56F3208FC65E}.DLL-Import Release|Win32.Build.0 = Release|Win32
{678C47DC-B3EF-460E-A932-56F3208FC65E}.MfcDebug|Win32.ActiveCfg = MfcDebug|Win32
{678C47DC-B3EF-460E-A932-56F3208FC65E}.MfcDebug|Win32.Build.0 = MfcDebug|Win32
{678C47DC-B3EF-460E-A932-56F3208FC65E}.MfcRelease|Win32.ActiveCfg = MfcRelease|Win32
{678C47DC-B3EF-460E-A932-56F3208FC65E}.MfcRelease|Win32.Build.0 = MfcRelease|Win32
{678C47DC-B3EF-460E-A932-56F3208FC65E}.Release|Win32.ActiveCfg = Release|Win32 {678C47DC-B3EF-460E-A932-56F3208FC65E}.Release|Win32.ActiveCfg = Release|Win32
{678C47DC-B3EF-460E-A932-56F3208FC65E}.Release|Win32.Build.0 = Release|Win32 {678C47DC-B3EF-460E-A932-56F3208FC65E}.Release|Win32.Build.0 = Release|Win32
{678C47DC-B3EF-460E-A932-56F3208FC65E}.VTune|Win32.ActiveCfg = VTune|Win32
{678C47DC-B3EF-460E-A932-56F3208FC65E}.VTune|Win32.Build.0 = VTune|Win32
{E1FF7630-628F-4AD0-BF66-F14D86A04035}.Debug|Win32.ActiveCfg = Debug|Win32 {E1FF7630-628F-4AD0-BF66-F14D86A04035}.Debug|Win32.ActiveCfg = Debug|Win32
{E1FF7630-628F-4AD0-BF66-F14D86A04035}.Debug|Win32.Build.0 = Debug|Win32 {E1FF7630-628F-4AD0-BF66-F14D86A04035}.Debug|Win32.Build.0 = Debug|Win32
{E1FF7630-628F-4AD0-BF66-F14D86A04035}.Distribute|Win32.ActiveCfg = Distribute|Win32 {E1FF7630-628F-4AD0-BF66-F14D86A04035}.Distribute|Win32.ActiveCfg = Distribute|Win32
{E1FF7630-628F-4AD0-BF66-F14D86A04035}.Distribute|Win32.Build.0 = Distribute|Win32 {E1FF7630-628F-4AD0-BF66-F14D86A04035}.Distribute|Win32.Build.0 = Distribute|Win32
{E1FF7630-628F-4AD0-BF66-F14D86A04035}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
{E1FF7630-628F-4AD0-BF66-F14D86A04035}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
{E1FF7630-628F-4AD0-BF66-F14D86A04035}.DLL-Import Release|Win32.ActiveCfg = Release|Win32
{E1FF7630-628F-4AD0-BF66-F14D86A04035}.DLL-Import Release|Win32.Build.0 = Release|Win32
{E1FF7630-628F-4AD0-BF66-F14D86A04035}.MfcDebug|Win32.ActiveCfg = MfcDebug|Win32
{E1FF7630-628F-4AD0-BF66-F14D86A04035}.MfcDebug|Win32.Build.0 = MfcDebug|Win32
{E1FF7630-628F-4AD0-BF66-F14D86A04035}.MfcRelease|Win32.ActiveCfg = MfcRelease|Win32
{E1FF7630-628F-4AD0-BF66-F14D86A04035}.MfcRelease|Win32.Build.0 = MfcRelease|Win32
{E1FF7630-628F-4AD0-BF66-F14D86A04035}.Release|Win32.ActiveCfg = Release|Win32 {E1FF7630-628F-4AD0-BF66-F14D86A04035}.Release|Win32.ActiveCfg = Release|Win32
{E1FF7630-628F-4AD0-BF66-F14D86A04035}.Release|Win32.Build.0 = Release|Win32 {E1FF7630-628F-4AD0-BF66-F14D86A04035}.Release|Win32.Build.0 = Release|Win32
{E1FF7630-628F-4AD0-BF66-F14D86A04035}.VTune|Win32.ActiveCfg = VTune|Win32
{E1FF7630-628F-4AD0-BF66-F14D86A04035}.VTune|Win32.Build.0 = VTune|Win32
{FE95382C-8E3E-40AC-8060-634D1A0D4CF5}.Debug|Win32.ActiveCfg = Debug|Win32 {FE95382C-8E3E-40AC-8060-634D1A0D4CF5}.Debug|Win32.ActiveCfg = Debug|Win32
{FE95382C-8E3E-40AC-8060-634D1A0D4CF5}.Debug|Win32.Build.0 = Debug|Win32 {FE95382C-8E3E-40AC-8060-634D1A0D4CF5}.Debug|Win32.Build.0 = Debug|Win32
{FE95382C-8E3E-40AC-8060-634D1A0D4CF5}.Distribute|Win32.ActiveCfg = Distribute|Win32 {FE95382C-8E3E-40AC-8060-634D1A0D4CF5}.Distribute|Win32.ActiveCfg = Distribute|Win32
{FE95382C-8E3E-40AC-8060-634D1A0D4CF5}.Distribute|Win32.Build.0 = Distribute|Win32 {FE95382C-8E3E-40AC-8060-634D1A0D4CF5}.Distribute|Win32.Build.0 = Distribute|Win32
{FE95382C-8E3E-40AC-8060-634D1A0D4CF5}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
{FE95382C-8E3E-40AC-8060-634D1A0D4CF5}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
{FE95382C-8E3E-40AC-8060-634D1A0D4CF5}.DLL-Import Release|Win32.ActiveCfg = Release|Win32
{FE95382C-8E3E-40AC-8060-634D1A0D4CF5}.DLL-Import Release|Win32.Build.0 = Release|Win32
{FE95382C-8E3E-40AC-8060-634D1A0D4CF5}.MfcDebug|Win32.ActiveCfg = MfcDebug|Win32
{FE95382C-8E3E-40AC-8060-634D1A0D4CF5}.MfcDebug|Win32.Build.0 = MfcDebug|Win32
{FE95382C-8E3E-40AC-8060-634D1A0D4CF5}.MfcRelease|Win32.ActiveCfg = MfcRelease|Win32
{FE95382C-8E3E-40AC-8060-634D1A0D4CF5}.MfcRelease|Win32.Build.0 = MfcRelease|Win32
{FE95382C-8E3E-40AC-8060-634D1A0D4CF5}.Release|Win32.ActiveCfg = Release|Win32 {FE95382C-8E3E-40AC-8060-634D1A0D4CF5}.Release|Win32.ActiveCfg = Release|Win32
{FE95382C-8E3E-40AC-8060-634D1A0D4CF5}.Release|Win32.Build.0 = Release|Win32 {FE95382C-8E3E-40AC-8060-634D1A0D4CF5}.Release|Win32.Build.0 = Release|Win32
{FE95382C-8E3E-40AC-8060-634D1A0D4CF5}.VTune|Win32.ActiveCfg = VTune|Win32
{FE95382C-8E3E-40AC-8060-634D1A0D4CF5}.VTune|Win32.Build.0 = VTune|Win32
{24516A87-8544-46A9-A0C8-0A01269642D9}.Debug|Win32.ActiveCfg = Debug|Win32 {24516A87-8544-46A9-A0C8-0A01269642D9}.Debug|Win32.ActiveCfg = Debug|Win32
{24516A87-8544-46A9-A0C8-0A01269642D9}.Debug|Win32.Build.0 = Debug|Win32 {24516A87-8544-46A9-A0C8-0A01269642D9}.Debug|Win32.Build.0 = Debug|Win32
{24516A87-8544-46A9-A0C8-0A01269642D9}.Distribute|Win32.ActiveCfg = Distribute|Win32 {24516A87-8544-46A9-A0C8-0A01269642D9}.Distribute|Win32.ActiveCfg = Distribute|Win32
{24516A87-8544-46A9-A0C8-0A01269642D9}.Distribute|Win32.Build.0 = Distribute|Win32 {24516A87-8544-46A9-A0C8-0A01269642D9}.Distribute|Win32.Build.0 = Distribute|Win32
{24516A87-8544-46A9-A0C8-0A01269642D9}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
{24516A87-8544-46A9-A0C8-0A01269642D9}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
{24516A87-8544-46A9-A0C8-0A01269642D9}.DLL-Import Release|Win32.ActiveCfg = Release|Win32
{24516A87-8544-46A9-A0C8-0A01269642D9}.DLL-Import Release|Win32.Build.0 = Release|Win32
{24516A87-8544-46A9-A0C8-0A01269642D9}.MfcDebug|Win32.ActiveCfg = MfcDebug|Win32
{24516A87-8544-46A9-A0C8-0A01269642D9}.MfcDebug|Win32.Build.0 = MfcDebug|Win32
{24516A87-8544-46A9-A0C8-0A01269642D9}.MfcRelease|Win32.ActiveCfg = MfcRelease|Win32
{24516A87-8544-46A9-A0C8-0A01269642D9}.MfcRelease|Win32.Build.0 = MfcRelease|Win32
{24516A87-8544-46A9-A0C8-0A01269642D9}.Release|Win32.ActiveCfg = Release|Win32 {24516A87-8544-46A9-A0C8-0A01269642D9}.Release|Win32.ActiveCfg = Release|Win32
{24516A87-8544-46A9-A0C8-0A01269642D9}.Release|Win32.Build.0 = Release|Win32 {24516A87-8544-46A9-A0C8-0A01269642D9}.Release|Win32.Build.0 = Release|Win32
{24516A87-8544-46A9-A0C8-0A01269642D9}.VTune|Win32.ActiveCfg = VTune|Win32
{24516A87-8544-46A9-A0C8-0A01269642D9}.VTune|Win32.Build.0 = VTune|Win32
{887F89DF-A1A2-47DF-A869-F3FC84704E3E}.Debug|Win32.ActiveCfg = Debug|Win32 {887F89DF-A1A2-47DF-A869-F3FC84704E3E}.Debug|Win32.ActiveCfg = Debug|Win32
{887F89DF-A1A2-47DF-A869-F3FC84704E3E}.Debug|Win32.Build.0 = Debug|Win32 {887F89DF-A1A2-47DF-A869-F3FC84704E3E}.Debug|Win32.Build.0 = Debug|Win32
{887F89DF-A1A2-47DF-A869-F3FC84704E3E}.Distribute|Win32.ActiveCfg = Distribute|Win32 {887F89DF-A1A2-47DF-A869-F3FC84704E3E}.Distribute|Win32.ActiveCfg = Distribute|Win32
{887F89DF-A1A2-47DF-A869-F3FC84704E3E}.Distribute|Win32.Build.0 = Distribute|Win32 {887F89DF-A1A2-47DF-A869-F3FC84704E3E}.Distribute|Win32.Build.0 = Distribute|Win32
{887F89DF-A1A2-47DF-A869-F3FC84704E3E}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
{887F89DF-A1A2-47DF-A869-F3FC84704E3E}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
{887F89DF-A1A2-47DF-A869-F3FC84704E3E}.DLL-Import Release|Win32.ActiveCfg = Release|Win32
{887F89DF-A1A2-47DF-A869-F3FC84704E3E}.DLL-Import Release|Win32.Build.0 = Release|Win32
{887F89DF-A1A2-47DF-A869-F3FC84704E3E}.MfcDebug|Win32.ActiveCfg = MfcDebug|Win32
{887F89DF-A1A2-47DF-A869-F3FC84704E3E}.MfcDebug|Win32.Build.0 = MfcDebug|Win32
{887F89DF-A1A2-47DF-A869-F3FC84704E3E}.MfcRelease|Win32.ActiveCfg = MfcRelease|Win32
{887F89DF-A1A2-47DF-A869-F3FC84704E3E}.MfcRelease|Win32.Build.0 = MfcRelease|Win32
{887F89DF-A1A2-47DF-A869-F3FC84704E3E}.Release|Win32.ActiveCfg = Release|Win32 {887F89DF-A1A2-47DF-A869-F3FC84704E3E}.Release|Win32.ActiveCfg = Release|Win32
{887F89DF-A1A2-47DF-A869-F3FC84704E3E}.Release|Win32.Build.0 = Release|Win32 {887F89DF-A1A2-47DF-A869-F3FC84704E3E}.Release|Win32.Build.0 = Release|Win32
{887F89DF-A1A2-47DF-A869-F3FC84704E3E}.VTune|Win32.ActiveCfg = VTune|Win32
{887F89DF-A1A2-47DF-A869-F3FC84704E3E}.VTune|Win32.Build.0 = VTune|Win32
{1801F0ED-7DE6-4175-BF25-6FA98AAA350B}.Debug|Win32.ActiveCfg = Debug|Win32 {1801F0ED-7DE6-4175-BF25-6FA98AAA350B}.Debug|Win32.ActiveCfg = Debug|Win32
{1801F0ED-7DE6-4175-BF25-6FA98AAA350B}.Debug|Win32.Build.0 = Debug|Win32 {1801F0ED-7DE6-4175-BF25-6FA98AAA350B}.Debug|Win32.Build.0 = Debug|Win32
{1801F0ED-7DE6-4175-BF25-6FA98AAA350B}.Distribute|Win32.ActiveCfg = Distribute|Win32 {1801F0ED-7DE6-4175-BF25-6FA98AAA350B}.Distribute|Win32.ActiveCfg = Distribute|Win32
{1801F0ED-7DE6-4175-BF25-6FA98AAA350B}.Distribute|Win32.Build.0 = Distribute|Win32 {1801F0ED-7DE6-4175-BF25-6FA98AAA350B}.Distribute|Win32.Build.0 = Distribute|Win32
{1801F0ED-7DE6-4175-BF25-6FA98AAA350B}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
{1801F0ED-7DE6-4175-BF25-6FA98AAA350B}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
{1801F0ED-7DE6-4175-BF25-6FA98AAA350B}.DLL-Import Release|Win32.ActiveCfg = Release|Win32
{1801F0ED-7DE6-4175-BF25-6FA98AAA350B}.DLL-Import Release|Win32.Build.0 = Release|Win32
{1801F0ED-7DE6-4175-BF25-6FA98AAA350B}.MfcDebug|Win32.ActiveCfg = MfcDebug|Win32
{1801F0ED-7DE6-4175-BF25-6FA98AAA350B}.MfcDebug|Win32.Build.0 = MfcDebug|Win32
{1801F0ED-7DE6-4175-BF25-6FA98AAA350B}.MfcRelease|Win32.ActiveCfg = MfcRelease|Win32
{1801F0ED-7DE6-4175-BF25-6FA98AAA350B}.MfcRelease|Win32.Build.0 = MfcRelease|Win32
{1801F0ED-7DE6-4175-BF25-6FA98AAA350B}.Release|Win32.ActiveCfg = Release|Win32 {1801F0ED-7DE6-4175-BF25-6FA98AAA350B}.Release|Win32.ActiveCfg = Release|Win32
{1801F0ED-7DE6-4175-BF25-6FA98AAA350B}.Release|Win32.Build.0 = Release|Win32 {1801F0ED-7DE6-4175-BF25-6FA98AAA350B}.Release|Win32.Build.0 = Release|Win32
{1801F0ED-7DE6-4175-BF25-6FA98AAA350B}.VTune|Win32.ActiveCfg = VTune|Win32
{1801F0ED-7DE6-4175-BF25-6FA98AAA350B}.VTune|Win32.Build.0 = VTune|Win32
{9189BA90-1997-4B47-A673-A54C7DF4A4F7}.Debug|Win32.ActiveCfg = Debug|Win32 {9189BA90-1997-4B47-A673-A54C7DF4A4F7}.Debug|Win32.ActiveCfg = Debug|Win32
{9189BA90-1997-4B47-A673-A54C7DF4A4F7}.Debug|Win32.Build.0 = Debug|Win32 {9189BA90-1997-4B47-A673-A54C7DF4A4F7}.Debug|Win32.Build.0 = Debug|Win32
{9189BA90-1997-4B47-A673-A54C7DF4A4F7}.Distribute|Win32.ActiveCfg = Distribute|Win32 {9189BA90-1997-4B47-A673-A54C7DF4A4F7}.Distribute|Win32.ActiveCfg = Distribute|Win32
{9189BA90-1997-4B47-A673-A54C7DF4A4F7}.Distribute|Win32.Build.0 = Distribute|Win32 {9189BA90-1997-4B47-A673-A54C7DF4A4F7}.Distribute|Win32.Build.0 = Distribute|Win32
{9189BA90-1997-4B47-A673-A54C7DF4A4F7}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
{9189BA90-1997-4B47-A673-A54C7DF4A4F7}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
{9189BA90-1997-4B47-A673-A54C7DF4A4F7}.DLL-Import Release|Win32.ActiveCfg = Release|Win32
{9189BA90-1997-4B47-A673-A54C7DF4A4F7}.DLL-Import Release|Win32.Build.0 = Release|Win32
{9189BA90-1997-4B47-A673-A54C7DF4A4F7}.MfcDebug|Win32.ActiveCfg = MfcDebug|Win32
{9189BA90-1997-4B47-A673-A54C7DF4A4F7}.MfcDebug|Win32.Build.0 = MfcDebug|Win32
{9189BA90-1997-4B47-A673-A54C7DF4A4F7}.MfcRelease|Win32.ActiveCfg = MfcRelease|Win32
{9189BA90-1997-4B47-A673-A54C7DF4A4F7}.MfcRelease|Win32.Build.0 = MfcRelease|Win32
{9189BA90-1997-4B47-A673-A54C7DF4A4F7}.Release|Win32.ActiveCfg = Release|Win32 {9189BA90-1997-4B47-A673-A54C7DF4A4F7}.Release|Win32.ActiveCfg = Release|Win32
{9189BA90-1997-4B47-A673-A54C7DF4A4F7}.Release|Win32.Build.0 = Release|Win32 {9189BA90-1997-4B47-A673-A54C7DF4A4F7}.Release|Win32.Build.0 = Release|Win32
{9189BA90-1997-4B47-A673-A54C7DF4A4F7}.VTune|Win32.ActiveCfg = VTune|Win32
{9189BA90-1997-4B47-A673-A54C7DF4A4F7}.VTune|Win32.Build.0 = VTune|Win32
{E682CEA2-1D79-4DE9-A2CE-6AED27E4170E}.Debug|Win32.ActiveCfg = Debug|Win32 {E682CEA2-1D79-4DE9-A2CE-6AED27E4170E}.Debug|Win32.ActiveCfg = Debug|Win32
{E682CEA2-1D79-4DE9-A2CE-6AED27E4170E}.Debug|Win32.Build.0 = Debug|Win32 {E682CEA2-1D79-4DE9-A2CE-6AED27E4170E}.Debug|Win32.Build.0 = Debug|Win32
{E682CEA2-1D79-4DE9-A2CE-6AED27E4170E}.Distribute|Win32.ActiveCfg = Distribute|Win32 {E682CEA2-1D79-4DE9-A2CE-6AED27E4170E}.Distribute|Win32.ActiveCfg = Distribute|Win32
{E682CEA2-1D79-4DE9-A2CE-6AED27E4170E}.Distribute|Win32.Build.0 = Distribute|Win32 {E682CEA2-1D79-4DE9-A2CE-6AED27E4170E}.Distribute|Win32.Build.0 = Distribute|Win32
{E682CEA2-1D79-4DE9-A2CE-6AED27E4170E}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
{E682CEA2-1D79-4DE9-A2CE-6AED27E4170E}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
{E682CEA2-1D79-4DE9-A2CE-6AED27E4170E}.DLL-Import Release|Win32.ActiveCfg = Release|Win32
{E682CEA2-1D79-4DE9-A2CE-6AED27E4170E}.DLL-Import Release|Win32.Build.0 = Release|Win32
{E682CEA2-1D79-4DE9-A2CE-6AED27E4170E}.MfcDebug|Win32.ActiveCfg = MfcDebug|Win32
{E682CEA2-1D79-4DE9-A2CE-6AED27E4170E}.MfcDebug|Win32.Build.0 = MfcDebug|Win32
{E682CEA2-1D79-4DE9-A2CE-6AED27E4170E}.MfcRelease|Win32.ActiveCfg = MfcRelease|Win32
{E682CEA2-1D79-4DE9-A2CE-6AED27E4170E}.MfcRelease|Win32.Build.0 = MfcRelease|Win32
{E682CEA2-1D79-4DE9-A2CE-6AED27E4170E}.Release|Win32.ActiveCfg = Release|Win32 {E682CEA2-1D79-4DE9-A2CE-6AED27E4170E}.Release|Win32.ActiveCfg = Release|Win32
{E682CEA2-1D79-4DE9-A2CE-6AED27E4170E}.Release|Win32.Build.0 = Release|Win32 {E682CEA2-1D79-4DE9-A2CE-6AED27E4170E}.Release|Win32.Build.0 = Release|Win32
{E682CEA2-1D79-4DE9-A2CE-6AED27E4170E}.VTune|Win32.ActiveCfg = VTune|Win32
{E682CEA2-1D79-4DE9-A2CE-6AED27E4170E}.VTune|Win32.Build.0 = VTune|Win32
{05207E97-C83A-49C6-8E08-403679963A7B}.Debug|Win32.ActiveCfg = Debug|Win32 {05207E97-C83A-49C6-8E08-403679963A7B}.Debug|Win32.ActiveCfg = Debug|Win32
{05207E97-C83A-49C6-8E08-403679963A7B}.Debug|Win32.Build.0 = Debug|Win32 {05207E97-C83A-49C6-8E08-403679963A7B}.Debug|Win32.Build.0 = Debug|Win32
{05207E97-C83A-49C6-8E08-403679963A7B}.Distribute|Win32.ActiveCfg = Distribute|Win32 {05207E97-C83A-49C6-8E08-403679963A7B}.Distribute|Win32.ActiveCfg = Distribute|Win32
{05207E97-C83A-49C6-8E08-403679963A7B}.Distribute|Win32.Build.0 = Distribute|Win32 {05207E97-C83A-49C6-8E08-403679963A7B}.Distribute|Win32.Build.0 = Distribute|Win32
{05207E97-C83A-49C6-8E08-403679963A7B}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
{05207E97-C83A-49C6-8E08-403679963A7B}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
{05207E97-C83A-49C6-8E08-403679963A7B}.DLL-Import Release|Win32.ActiveCfg = Release|Win32
{05207E97-C83A-49C6-8E08-403679963A7B}.DLL-Import Release|Win32.Build.0 = Release|Win32
{05207E97-C83A-49C6-8E08-403679963A7B}.MfcDebug|Win32.ActiveCfg = MfcDebug|Win32
{05207E97-C83A-49C6-8E08-403679963A7B}.MfcDebug|Win32.Build.0 = MfcDebug|Win32
{05207E97-C83A-49C6-8E08-403679963A7B}.MfcRelease|Win32.ActiveCfg = MfcRelease|Win32
{05207E97-C83A-49C6-8E08-403679963A7B}.MfcRelease|Win32.Build.0 = MfcRelease|Win32
{05207E97-C83A-49C6-8E08-403679963A7B}.Release|Win32.ActiveCfg = Release|Win32 {05207E97-C83A-49C6-8E08-403679963A7B}.Release|Win32.ActiveCfg = Release|Win32
{05207E97-C83A-49C6-8E08-403679963A7B}.Release|Win32.Build.0 = Release|Win32 {05207E97-C83A-49C6-8E08-403679963A7B}.Release|Win32.Build.0 = Release|Win32
{05207E97-C83A-49C6-8E08-403679963A7B}.VTune|Win32.ActiveCfg = VTune|Win32 {879A444C-3A51-4B63-8888-DC0AAD578B03}.Debug|Win32.ActiveCfg = Debug|Win32
{05207E97-C83A-49C6-8E08-403679963A7B}.VTune|Win32.Build.0 = VTune|Win32 {879A444C-3A51-4B63-8888-DC0AAD578B03}.Debug|Win32.Build.0 = Debug|Win32
{879A444C-3A51-4B63-8888-DC0AAD578B03}.Distribute|Win32.ActiveCfg = Distribute|Win32
{879A444C-3A51-4B63-8888-DC0AAD578B03}.Distribute|Win32.Build.0 = Distribute|Win32
{879A444C-3A51-4B63-8888-DC0AAD578B03}.Release|Win32.ActiveCfg = Release|Win32
{879A444C-3A51-4B63-8888-DC0AAD578B03}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE

7
bin/.gitignore vendored
View File

@ -1,8 +1,12 @@
# Game executable # Game executable
metin2client.exe metin2client.exe
# Configuration executable
config.exe
# User configuration files # User configuration files
channel.inf channel.inf
locale.cfg
metin2.cfg metin2.cfg
BGM/lastplay.inf BGM/lastplay.inf
@ -12,8 +16,7 @@ log.txt
syserr.txt syserr.txt
# Game files # Game files
pack/*.eix pack/*.zip
pack/*.epk
# Guild images # Guild images
mark/ mark/

Binary file not shown.

View File

@ -1 +0,0 @@
10002 1252 en

View File

@ -1 +0,0 @@
10019 1250 cz

View File

@ -1 +0,0 @@
10000 1252 de

View File

@ -1 +0,0 @@
10013 1252 dk

View File

@ -1 +0,0 @@
10002 1252 en

View File

@ -1 +0,0 @@
10004 1252 es

View File

@ -1 +0,0 @@
10000 1252 fr

View File

@ -1 +0,0 @@
0 1253 gr

View File

@ -1 +0,0 @@
10021 1250 hu

View File

@ -1 +0,0 @@
10006 1252 it

View File

@ -1 +0,0 @@
10018 1252 nl

View File

@ -1 +0,0 @@
10012 1250 pl

View File

@ -1 +0,0 @@
10010 1252 pt

View File

@ -1 +0,0 @@
10022 1250 ro

View File

@ -1 +0,0 @@
10020 1251 ru

View File

@ -1 +0,0 @@
10012 1254 tr

View File

@ -1,249 +1,102 @@
PACK patch1 ZIP
* season3_eu ZIP
patch1 patch2 ZIP
* metin2_patch_snow ZIP
season3_eu metin2_patch_snow_dungeon ZIP
* metin2_patch_etc_costume1 ZIP
patch2 metin2_patch_pet1 ZIP
* metin2_patch_pet2 ZIP
metin2_patch_snow metin2_patch_ramadan_costume ZIP
pack/ metin2_patch_flame ZIP
metin2_patch_snow_dungeon metin2_patch_flame_dungeon ZIP
pack/ metin2_patch_w21_etc ZIP
metin2_patch_etc_costume1 metin2_patch_w21_mobs ZIP
pack/ metin2_patch_w21_mobs_m ZIP
metin2_patch_pet1 metin2_patch_dss_box ZIP
pack/ metin2_patch_costume_soccer ZIP
metin2_patch_pet2 metin2_patch_easter1 ZIP
pack/ metin2_patch_mineral ZIP
metin2_patch_ramadan_costume metin2_patch_w20_sound ZIP
pack/ metin2_patch_ds ZIP
metin2_patch_flame metin2_patch_5th_armor ZIP
pack/ metin2_patch_w20_etc ZIP
metin2_patch_flame_dungeon metin2_patch_dragon_rock ZIP
pack/ metin2_patch_dragon_rock_mobs ZIP
metin2_patch_w21_etc metin2_patch_etc ZIP
pack/ metin2_patch_xmas ZIP
metin2_patch_w21_mobs metin2_patch_eu3 ZIP
pack/ metin2_patch_eu4 ZIP
metin2_patch_w21_mobs_m metin2_patch_mundi ZIP
pack/ metin2_patch_sd ZIP
metin2_patch_dss_box metin2_patch_halloween ZIP
pack/ metin2_patch_party ZIP
metin2_patch_costume_soccer metin2_patch_dance ZIP
pack/ pc ZIP
metin2_patch_easter1 pc2 ZIP
pack/ monster ZIP
metin2_patch_mineral monster2 ZIP
pack/ effect ZIP
metin2_patch_w20_sound zone ZIP
pack/ terrain ZIP
metin2_patch_ds npc ZIP
pack/ npc2 ZIP
metin2_patch_5th_armor tree ZIP
pack/ guild ZIP
metin2_patch_w20_etc item ZIP
pack/ textureset ZIP
metin2_patch_dragon_rock property ZIP
pack/ icon ZIP
metin2_patch_dragon_rock_mobs season1 ZIP
pack/ season2 ZIP
metin2_patch_etc outdoora1 ZIP
pack/ outdoora2 ZIP
metin2_patch_xmas outdoora3 ZIP
pack/ outdoorb1 ZIP
metin2_patch_eu3 outdoorb3 ZIP
pack/ outdoorc1 ZIP
metin2_patch_eu4 outdoorc3 ZIP
pack/ outdoorsnow1 ZIP
metin2_patch_mundi outdoordesert1 ZIP
pack/ outdoorflame1 ZIP
metin2_patch_sd outdoorfielddungeon1 ZIP
pack/ outdoort1 ZIP
metin2_patch_halloween outdoort2 ZIP
pack/ outdoort3 ZIP
metin2_patch_party outdoort4 ZIP
pack/ outdoorwedding ZIP
metin2_patch_dance outdoormilgyo1 ZIP
d:/ymir work/pc/ indoorspiderdungeon1 ZIP
pc indoordeviltower1 ZIP
d:/ymir work/pc2/ indoormonkeydungeon1 ZIP
pc2 indoormonkeydungeon2 ZIP
d:/ymir work/monster/ indoormonkeydungeon3 ZIP
monster outdoortrent02 ZIP
d:/ymir work/monster2/ outdoorguild1 ZIP
monster2 outdoorguild2 ZIP
d:/ymir work/effect/ outdoorguild3 ZIP
effect outdoortrent ZIP
d:/ymir work/zone/ outdoorduel ZIP
zone outdoorgmguildbuild ZIP
d:/ymir work/terrainmaps/ sound ZIP
terrain sound_m ZIP
d:/ymir work/npc/ sound2 ZIP
npc bgm ZIP
d:/ymir work/npc2/ ETC ZIP
npc2 locale_de ZIP
d:/ymir work/tree/ locale_es ZIP
tree locale_fr ZIP
d:/ymir work/guild/ locale_gr ZIP
guild locale_it ZIP
d:/ymir work/item/ locale_nl ZIP
item locale_pl ZIP
textureset/ locale_pt ZIP
textureset locale_tr ZIP
property/ locale_en ZIP
property locale_ro ZIP
icon/ locale_ru ZIP
icon locale_dk ZIP
season1/ locale_cz ZIP
season1 locale_hu ZIP
season2/ uiscript ZIP
season2 uiloading ZIP
metin2_map_a1/ root ZIP
outdoora1
map_a2/
outdoora2
metin2_map_a3/
outdoora3
metin2_map_b1/
outdoorb1
metin2_map_b3/
outdoorb3
metin2_map_c1/
outdoorc1
metin2_map_c3/
outdoorc3
map_n_snowm_01/
outdoorsnow1
metin2_map_n_desert_01/
outdoordesert1
metin2_map_n_flame_01/
outdoorflame1
map_b_fielddungeon/
outdoorfielddungeon1
metin2_map_t1/
outdoort1
metin2_map_t2/
outdoort2
metin2_map_t3/
outdoort3
metin2_map_t4/
outdoort4
metin2_map_wedding_01/
outdoorwedding
metin2_map_milgyo/
outdoormilgyo1
metin2_map_spiderdungeon/
indoorspiderdungeon1
metin2_map_deviltower1/
indoordeviltower1
metin2_map_monkeydungeon/
indoormonkeydungeon1
metin2_map_monkeydungeon_02/
indoormonkeydungeon2
metin2_map_monkeydungeon_03/
indoormonkeydungeon3
metin2_map_trent02/
outdoortrent02
metin2_map_guild_01/
outdoorguild1
metin2_map_guild_02/
outdoorguild2
metin2_map_guild_03/
outdoorguild3
metin2_map_trent/
outdoortrent
metin2_map_trent02/
outdoortrent02
metin2_map_duel/
outdoorduel
gm_guild_build/
outdoorgmguildbuild
sound/ambience/
sound
sound/common/
sound
sound/effect/
sound
sound/monster/
sound
sound/npc/
sound
sound/pc/
sound
sound/ui/
sound
sound/ambience/
sound_m
sound/common/
sound_m
sound/effect/
sound_m
sound/monster/
sound_m
sound/npc/
sound_m
sound/pc/
sound_m
sound/ui/
sound_m
sound/monster2/
sound2
sound/pc2/
sound2
bgm/
bgm
d:/ymir work/special/
ETC
d:/ymir work/environment/
ETC
locale/ca/
locale_ca
locale/ae/
locale_ae
locale/de/
locale_de
locale/es/
locale_es
locale/fr/
locale_fr
locale/gr/
locale_gr
locale/it/
locale_it
locale/nl/
locale_nl
locale/pl/
locale_pl
locale/pt/
locale_pt
locale/tr/
locale_tr
locale/uk/
locale_uk
locale/bg/
locale_bg
locale/en/
locale_en
locale/mx/
locale_mx
locale/ro/
locale_ro
locale/ru/
locale_ru
locale/dk/
locale_dk
locale/cz/
locale_cz
locale/hu/
locale_hu
locale/us/
locale_us
locale/pa/
locale_pa
uiscript/
uiscript
d:/ymir work/ui/
ETC
d:/ymir work/uiloading/
uiloading

102
bin/pack/Index.dev Normal file
View File

@ -0,0 +1,102 @@
patch1 FOLDER
season3_eu FOLDER
patch2 FOLDER
metin2_patch_snow FOLDER
metin2_patch_snow_dungeon FOLDER
metin2_patch_etc_costume1 FOLDER
metin2_patch_pet1 FOLDER
metin2_patch_pet2 FOLDER
metin2_patch_ramadan_costume FOLDER
metin2_patch_flame FOLDER
metin2_patch_flame_dungeon FOLDER
metin2_patch_w21_etc FOLDER
metin2_patch_w21_mobs FOLDER
metin2_patch_w21_mobs_m FOLDER
metin2_patch_dss_box FOLDER
metin2_patch_costume_soccer FOLDER
metin2_patch_easter1 FOLDER
metin2_patch_mineral FOLDER
metin2_patch_w20_sound FOLDER
metin2_patch_ds FOLDER
metin2_patch_5th_armor FOLDER
metin2_patch_w20_etc FOLDER
metin2_patch_dragon_rock FOLDER
metin2_patch_dragon_rock_mobs FOLDER
metin2_patch_etc FOLDER
metin2_patch_xmas FOLDER
metin2_patch_eu3 FOLDER
metin2_patch_eu4 FOLDER
metin2_patch_mundi FOLDER
metin2_patch_sd FOLDER
metin2_patch_halloween FOLDER
metin2_patch_party FOLDER
metin2_patch_dance FOLDER
pc FOLDER
pc2 FOLDER
monster FOLDER
monster2 FOLDER
effect FOLDER
zone FOLDER
terrain FOLDER
npc FOLDER
npc2 FOLDER
tree FOLDER
guild FOLDER
item FOLDER
textureset FOLDER
property FOLDER
icon FOLDER
season1 FOLDER
season2 FOLDER
outdoora1 FOLDER
outdoora2 FOLDER
outdoora3 FOLDER
outdoorb1 FOLDER
outdoorb3 FOLDER
outdoorc1 FOLDER
outdoorc3 FOLDER
outdoorsnow1 FOLDER
outdoordesert1 FOLDER
outdoorflame1 FOLDER
outdoorfielddungeon1 FOLDER
outdoort1 FOLDER
outdoort2 FOLDER
outdoort3 FOLDER
outdoort4 FOLDER
outdoorwedding FOLDER
outdoormilgyo1 FOLDER
indoorspiderdungeon1 FOLDER
indoordeviltower1 FOLDER
indoormonkeydungeon1 FOLDER
indoormonkeydungeon2 FOLDER
indoormonkeydungeon3 FOLDER
outdoortrent02 FOLDER
outdoorguild1 FOLDER
outdoorguild2 FOLDER
outdoorguild3 FOLDER
outdoortrent FOLDER
outdoorduel FOLDER
outdoorgmguildbuild FOLDER
sound FOLDER
sound_m FOLDER
sound2 FOLDER
bgm FOLDER
ETC FOLDER
locale_de FOLDER
locale_es FOLDER
locale_fr FOLDER
locale_gr FOLDER
locale_it FOLDER
locale_nl FOLDER
locale_pl FOLDER
locale_pt FOLDER
locale_tr FOLDER
locale_en FOLDER
locale_ro FOLDER
locale_ru FOLDER
locale_dk FOLDER
locale_cz FOLDER
locale_hu FOLDER
uiscript FOLDER
uiloading FOLDER
root FOLDER

View File

@ -6,7 +6,7 @@ ECHO Only use on a clean project directory.
ECHO ====================================================== ECHO ======================================================
rem SET M2_MSVC_DIR=C:\Program Files\Microsoft Visual Studio\2022\Community\ rem SET M2_MSVC_DIR=C:\Program Files\Microsoft Visual Studio\2022\Community\
rem SET M2_PML_PATH=C:\Users\User\Path\To\PackMakerLite\PackMakerLite.exe rem SET M2_7ZIP_PATH=C:\Program Files\7-Zip\7z.exe
rem Check the environment variables rem Check the environment variables
VERIFY OTHER 2>nul VERIFY OTHER 2>nul
@ -16,22 +16,27 @@ IF NOT DEFINED M2_MSVC_DIR (
ECHO M2_MSVC_DIR is NOT defined! Please define M2_MSVC_DIR with the path of your local MSVC install. ECHO M2_MSVC_DIR is NOT defined! Please define M2_MSVC_DIR with the path of your local MSVC install.
EXIT /B -1 EXIT /B -1
) )
IF NOT DEFINED M2_PML_PATH ( IF NOT DEFINED M2_7ZIP_PATH (
ECHO M2_PML_PATH is NOT defined! Please define M2_PML_PATH with the path of your local PackMakerLite executable. ECHO M2_7ZIP_PATH is NOT defined! Please define M2_7ZIP_PATH with the path of your local 7-Zip "7z.exe" executable.
EXIT /B -1 EXIT /B -1
) )
ENDLOCAL ENDLOCAL
rem Cause variables to be expanded at execution time (in order for !errorlevel! to work)
SETLOCAL EnableDelayedExpansion
rem Initialize the MSVC environment rem Initialize the MSVC environment
CALL "%M2_MSVC_DIR%\VC\Auxiliary\Build\vcvars32.bat" CALL "%M2_MSVC_DIR%\VC\Auxiliary\Build\vcvars32.bat"
rem Build rem Build
msbuild Metin2Client.sln /p:Configuration=Distribute /p:Platform="Win32" msbuild Metin2Client.sln /p:Configuration=Distribute /p:Platform="Win32"
if !errorlevel! neq 0 exit /b !errorlevel!
rem Start assembling the client package rem Start assembling the client package
RMDIR /S /Q dist RMDIR /S /Q dist
MKDIR dist\ MKDIR dist\
COPY /Y build\Distribute\UserInterface.exe dist\metin2.exe COPY /Y build\bin\Distribute\UserInterface.exe dist\metin2.exe
COPY /Y build\bin\Distribute\Config.exe dist\config.exe
rem Copy over the data from the bin directory rem Copy over the data from the bin directory
xcopy bin\ dist\ /Y /Q xcopy bin\ dist\ /Y /Q
@ -47,12 +52,11 @@ MKDIR dist\screenshot\
xcopy bin\upload\ dist\upload\ /E /Y /Q xcopy bin\upload\ dist\upload\ /E /Y /Q
rem Build and copy the archives rem Build and copy the archives
DEL /F /Q "bin\pack\*.eix" DEL /F /Q "bin\pack\*.zip"
DEL /F /Q "bin\pack\*.epk"
FOR /d %%i IN ("bin\pack\*") DO ( FOR /d %%i IN ("bin\pack\*") DO (
echo Packing %%i echo Packing %%i
%M2_PML_PATH% --nolog --parallel -p "%%i" "%M2_7ZIP_PATH%" a "%%i.zip" ".\%%i\*"
if !errorlevel! neq 0 exit /b !errorlevel!
) )
MOVE /Y bin\pack\*.eix dist\pack\ MOVE /Y bin\pack\*.zip dist\pack\
MOVE /Y bin\pack\*.epk dist\pack\

View File

@ -49,40 +49,43 @@
</ImportGroup> </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'" Label="PropertySheets"> <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup> </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> <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" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup> </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> <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" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup> </ImportGroup>
<PropertyGroup Label="UserMacros" /> <PropertyGroup Label="UserMacros" />
<PropertyGroup> <PropertyGroup>
<_ProjectFileVersion>17.0.32203.90</_ProjectFileVersion> <_ProjectFileVersion>17.0.32203.90</_ProjectFileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir> <OutDir>$(SolutionDir)build\bin\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)build\obj\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir> <OutDir>$(SolutionDir)build\bin\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)build\obj\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir> <OutDir>$(SolutionDir)build\bin\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)build\obj\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<VcpkgUseStatic>true</VcpkgUseStatic> <VcpkgUseStatic>true</VcpkgUseStatic>
<VcpkgConfiguration>$(Configuration)</VcpkgConfiguration> <VcpkgConfiguration>$(Configuration)</VcpkgConfiguration>
<VcpkgInstalledDir>$(SolutionDir)build\vcpkg\</VcpkgInstalledDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'"> <PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">
<VcpkgUseStatic>true</VcpkgUseStatic> <VcpkgUseStatic>true</VcpkgUseStatic>
<VcpkgConfiguration>Release</VcpkgConfiguration> <VcpkgConfiguration>Release</VcpkgConfiguration>
<VcpkgInstalledDir>$(SolutionDir)build\vcpkg\</VcpkgInstalledDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<VcpkgUseStatic>true</VcpkgUseStatic> <VcpkgUseStatic>true</VcpkgUseStatic>
<VcpkgConfiguration>$(Configuration)</VcpkgConfiguration> <VcpkgConfiguration>$(Configuration)</VcpkgConfiguration>
<VcpkgInstalledDir>$(SolutionDir)build\vcpkg\</VcpkgInstalledDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Label="Vcpkg"> <PropertyGroup Label="Vcpkg">
<VcpkgEnableManifest>true</VcpkgEnableManifest> <VcpkgEnableManifest>true</VcpkgEnableManifest>
@ -94,10 +97,6 @@
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader /> <PrecompiledHeader />
<PrecompiledHeaderOutputFile>.\Debug/CWebBrowser.pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
<ObjectFileName>.\Debug/</ObjectFileName>
<ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner> <SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat> <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
@ -121,10 +120,6 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking> <FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader /> <PrecompiledHeader />
<PrecompiledHeaderOutputFile>.\Release/CWebBrowser.pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\Release/</AssemblerListingLocation>
<ObjectFileName>.\Release/</ObjectFileName>
<ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner> <SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
@ -149,10 +144,6 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking> <FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader /> <PrecompiledHeader />
<PrecompiledHeaderOutputFile>.\Distribute/CWebBrowser.pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\Distribute/</AssemblerListingLocation>
<ObjectFileName>.\Distribute/</ObjectFileName>
<ProgramDataBaseFileName>.\Distribute/</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner> <SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

559
src/Config/MainDialog.cpp Normal file
View File

@ -0,0 +1,559 @@
#include "MainDialog.h"
#include <d3d9.h>
#include <algorithm>
#include <vector>
#define APP_NAME _T("Metin2 Config")
#define FILENAME_CONFIG "metin2.cfg"
#define LOCALE_CONFIG "locale.cfg"
static const unsigned int kVisibilityNames[CMainDialog::VISIBILITY_MAX_NUM] = {
IDS_FOG_NEAR, IDS_FOG_MID, IDS_FOG_FAR
};
static const unsigned int kTilingNames[CMainDialog::TILING_MAX_NUM] = {
IDS_TILE_AUTO, IDS_TILE_CPU, IDS_TILE_GPU
};
static const unsigned int kShadowNames[CMainDialog::SHADOW_MAX_NUM] = {
IDS_SHADOW_NONE, IDS_SHADOW_LV1, IDS_SHADOW_LV2, IDS_SHADOW_ALL
};
enum Language
{
kLanguageCzech,
kLanguageDanish,
kLanguageDutch,
kLanguageEnglish,
kLanguageFrench,
kLanguageGerman,
kLanguageGreek,
kLanguageHungarian,
kLanguageItalian,
kLanguagePolish,
kLanguagePortuguese,
kLanguageRomanian,
kLanguageRussian,
kLanguageSpanish,
kLanguageTurkish,
kLanguageMax
};
struct LanguageConfig
{
int stringId;
int charset;
const char* name;
} kLanguageConfig[] = {
{IDS_LANGUAGE_CZECH, 1250, "cz"},
{IDS_LANGUAGE_DANISH, 1252, "dk"},
{IDS_LANGUAGE_DUTCH, 1252, "nl"},
{IDS_LANGUAGE_ENGLISH, 1252, "en"},
{IDS_LANGUAGE_FRENCH, 1252, "fr"},
{IDS_LANGUAGE_GERMAN, 1252, "de"},
{IDS_LANGUAGE_GREEK, 1253, "gr"},
{IDS_LANGUAGE_HUNGARIAN, 1250, "hu"},
{IDS_LANGUAGE_ITALIAN, 1252, "it"},
{IDS_LANGUAGE_POLISH, 1250, "pl"},
{IDS_LANGUAGE_PORTUGUESE, 1252, "pt"},
{IDS_LANGUAGE_ROMANIAN, 1250, "ro"},
{IDS_LANGUAGE_RUSSIAN, 1251, "ru"},
{IDS_LANGUAGE_SPANISH, 1252, "es"},
{IDS_LANGUAGE_TURKISH, 1254, "tr"},
};
CMainDialog::CMainDialog()
{
InitDefaultConfig();
}
BOOL CMainDialog::OnInitDialog(CWindow wndFocus, LPARAM lInitParam)
{
CenterWindow();
HICON hIcon = AtlLoadIconImage(IDR_MAINFRAME, LR_DEFAULTCOLOR,
::GetSystemMetrics(SM_CXICON), ::GetSystemMetrics(SM_CYICON));
SetIcon(hIcon, TRUE);
HICON hIconSmall = AtlLoadIconImage(IDR_MAINFRAME, LR_DEFAULTCOLOR, ::GetSystemMetrics(SM_CXSMICON), ::GetSystemMetrics(SM_CYSMICON));
SetIcon(hIconSmall, FALSE);
GetResolutionList();
LoadConfig();
DoDataExchange(FALSE);
// Screen Resolution
ATL::CString strResolutionName;
for (int i=0; i < m_nResolutionCount; i++) {
strResolutionName.Format(_T("%dx%d %dbpp"), m_ResolutionList[i].width, m_ResolutionList[i].height, m_ResolutionList[i].bpp);
m_comboResolution.InsertString( i, strResolutionName );
}
// Resolution Selection
strResolutionName.Format(_T("%dx%d %dbpp"), m_stConfig.width, m_stConfig.height, m_stConfig.bpp);
int iResolutionSel = m_comboResolution.FindString(0, strResolutionName);
if (iResolutionSel < 0)
m_comboResolution.SetCurSel(0);
else
m_comboResolution.SetCurSel(iResolutionSel);
// Frequency
UpdateFrequencyComboBox();
ATL::CString strFrequency;
strFrequency.Format(_T("%d"), m_stConfig.frequency);
int iFrequencySel = m_comboFrequency.FindString(0, strFrequency);
if (iFrequencySel < 0)
m_comboFrequency.SetCurSel(0);
else
m_comboFrequency.SetCurSel(iFrequencySel);
// Gamma
ATL::CString strGammaName;
for (int i=0; i < GAMMA_MAX_NUM; i++) {
strGammaName.Format(_T("%d"), i + 1);
m_comboGamma.InsertString(i, strGammaName);
}
// Gamma Selection
if (m_stConfig.gamma > 0 && m_stConfig.gamma <= GAMMA_MAX_NUM)
m_comboGamma.SetCurSel(m_stConfig.gamma - 1);
else
m_comboGamma.SetCurSel(0);
// Visibility
ATL::CString strVisibility;
for (int i = 0; i < VISIBILITY_MAX_NUM; i++) {
strVisibility.LoadString(kVisibilityNames[i]);
m_comboVisibility.InsertString(i, strVisibility);
}
if (m_stConfig.iDistance > 0 && m_stConfig.iDistance <= VISIBILITY_MAX_NUM)
m_comboVisibility.SetCurSel(m_stConfig.iDistance - 1);
else
m_comboVisibility.SetCurSel(0);
// Tiling
ATL::CString strTiling;
for (int i=0; i < TILING_MAX_NUM; i++) {
strTiling.LoadString(kTilingNames[i]);
m_comboTiling.InsertString(i, strTiling);
}
m_stConfig.iTiling = std::max<int>(m_stConfig.iTiling, 0);
m_stConfig.iTiling = std::min<int>(m_stConfig.iTiling, TILING_MAX_NUM - 1);
m_comboTiling.SetCurSel(m_stConfig.iTiling);
// Shadow
ATL::CString strShadow;
for (int i=0; i < SHADOW_MAX_NUM; i++) {
strShadow.LoadString(kShadowNames[i]);
m_comboShadow.InsertString(i, strShadow);
}
m_stConfig.iShadowLevel = std::max<int>(m_stConfig.iShadowLevel, 0);
m_stConfig.iShadowLevel = std::min<int>(m_stConfig.iShadowLevel, SHADOW_MAX_NUM-1);
m_comboShadow.SetCurSel(m_stConfig.iShadowLevel);
// Language
// Load the languages into an array
std::vector<ATL::CString> languages;
for (int i = 0; i < kLanguageMax; ++i) {
ATL::CString language;
language.LoadString(kLanguageConfig[i].stringId);
languages.push_back(language);
}
// Sort the array
std::sort(languages.begin(), languages.end(), [](const ATL::CString& a, const ATL::CString& b) {
return a.CompareNoCase(b) < 0;
});
// Add the languages to the combo
for (auto& language : languages)
m_comboLanguage.AddString(language);
m_stConfig.language = std::clamp((int) m_stConfig.language, 0, kLanguageMax - 1);
m_comboLanguage.SetCurSel(m_stConfig.language);
// Sound
m_sliderBGMVolume.SetRange(0, 1000, true);
m_sliderSoundVolume.SetRange(0, 1000, true);
if (m_stConfig.music_volume >= 0.0f &&
m_stConfig.music_volume <= MUSIC_VOLUME_MAX_NUM)
m_sliderBGMVolume.SetPos(int(m_stConfig.music_volume * 1000.0f));
if (m_stConfig.voice_volume >= 0 &&
m_stConfig.voice_volume <= SOUND_VOLUME_MAX_NUM)
m_sliderSoundVolume.SetPos(m_stConfig.voice_volume * 200);
return TRUE;
}
void CMainDialog::OnOK(UINT uNotifyCode, int nID, CWindow wndCtl)
{
if (DoDataExchange(TRUE) == FALSE) {
//MessageBox();
}
ApplyConfig();
SaveConfig();
EndDialog(nID);
}
void CMainDialog::OnCancel(UINT uNotifyCode, int nID, CWindow wndCtl)
{
EndDialog(nID);
}
// Utility functions
void CMainDialog::InitDefaultConfig()
{
memset(&m_stConfig, 0, sizeof(m_stConfig));
m_stConfig.width = 800;
m_stConfig.height = 600;
m_stConfig.frequency = 60;
m_stConfig.bpp = 16;
m_stConfig.bUseSoftwareCursor = false;
m_stConfig.iDistance = 3;
m_stConfig.iTiling = 0;
m_stConfig.iShadowLevel = 3;
m_stConfig.gamma = 3;
m_stConfig.music_volume = 1.0f;
m_stConfig.voice_volume = 5;
m_stConfig.bFullscreen = true;
auto lang = PRIMARYLANGID(LANGIDFROMLCID(GetUserDefaultLCID()));
switch (lang) {
case LANG_CZECH:
m_stConfig.language = kLanguageCzech;
break;
case LANG_DANISH:
m_stConfig.language = kLanguageDanish;
break;
case LANG_DUTCH:
m_stConfig.language = kLanguageDutch;
break;
case LANG_ENGLISH:
m_stConfig.language = kLanguageEnglish;
break;
case LANG_FRENCH:
m_stConfig.language = kLanguageFrench;
break;
case LANG_GERMAN:
m_stConfig.language = kLanguageGerman;
break;
case LANG_GREEK:
m_stConfig.language = kLanguageGreek;
break;
case LANG_HUNGARIAN:
m_stConfig.language = kLanguageHungarian;
break;
case LANG_ITALIAN:
m_stConfig.language = kLanguageItalian;
break;
case LANG_POLISH:
m_stConfig.language = kLanguagePolish;
break;
case LANG_PORTUGUESE:
m_stConfig.language = kLanguagePortuguese;
break;
case LANG_ROMANIAN:
m_stConfig.language = kLanguageRomanian;
break;
case LANG_RUSSIAN:
m_stConfig.language = kLanguageRussian;
break;
case LANG_SPANISH:
m_stConfig.language = kLanguageSpanish;
break;
case LANG_TURKISH:
m_stConfig.language = kLanguageTurkish;
break;
default:
m_stConfig.language = kLanguageEnglish;
break;
}
}
void CMainDialog::LoadConfig()
{
char buf[256];
char command[256];
char value[256];
FILE * fp = fopen(FILENAME_CONFIG, "rt");
if (fp == NULL)
return;
while (fgets(buf, 256, fp)) {
if (sscanf(buf, " %s %s \n", command, value) == EOF)
break;
if (!_stricmp(command, "WIDTH"))
m_stConfig.width = atoi(value);
else if (!_stricmp(command, "HEIGHT"))
m_stConfig.height = atoi(value);
else if (!_stricmp(command, "BPP"))
m_stConfig.bpp = atoi(value);
else if (!_stricmp(command, "FREQUENCY"))
m_stConfig.frequency = atoi(value);
else if (!_stricmp(command, "SOFTWARE_CURSOR"))
m_stConfig.bUseSoftwareCursor = atoi(value) ? true : false;
else if (!_stricmp(command, "VISIBILITY"))
m_stConfig.iDistance = atoi(value);
else if (!_stricmp(command, "SOFTWARE_TILING"))
m_stConfig.iTiling = atoi(value);
else if (!_stricmp(command, "SHADOW_LEVEL"))
m_stConfig.iShadowLevel = atoi(value);
else if (!_stricmp(command, "MUSIC_VOLUME"))
m_stConfig.music_volume = (float) atof(value);
else if (!_stricmp(command, "VOICE_VOLUME"))
m_stConfig.voice_volume = (char) atoi(value);
else if (!_stricmp(command, "GAMMA"))
m_stConfig.gamma = std::max<int>(1, std::min<int>(GAMMA_MAX_NUM, atoi(value)));
else if (!_stricmp(command, "WINDOWED"))
m_stConfig.bFullscreen = atoi(value) == 1 ? false : true;
}
fclose(fp);
int charset;
char lang[256];
fp = fopen(LOCALE_CONFIG, "rt");
if (!fp)
return;
fgets(buf, 256, fp);
sscanf(buf, "%d %s", &charset, lang);
for (int i = 0; i < kLanguageMax; ++i) {
const auto& cfg = kLanguageConfig[i];
if (0 == std::strcmp(lang, cfg.name))
m_stConfig.language = i;
}
fclose(fp);
}
void CMainDialog::SaveConfig()
{
FILE* fp = fopen(FILENAME_CONFIG, "wt");
if (fp == NULL)
return;
fprintf(fp, "WIDTH %d\n", m_stConfig.width);
fprintf(fp, "HEIGHT %d\n", m_stConfig.height);
fprintf(fp, "BPP %d\n", m_stConfig.bpp);
fprintf(fp, "FREQUENCY %d\n", m_stConfig.frequency);
fprintf(fp, "SOFTWARE_CURSOR %d\n", m_stConfig.bUseSoftwareCursor);
fprintf(fp, "VISIBILITY %d\n", m_stConfig.iDistance);
fprintf(fp, "SOFTWARE_TILING %d\n", m_stConfig.iTiling);
fprintf(fp, "SHADOW_LEVEL %d\n", m_stConfig.iShadowLevel);
fprintf(fp, "MUSIC_VOLUME %.3f\n", m_stConfig.music_volume);
fprintf(fp, "VOICE_VOLUME %d\n", m_stConfig.voice_volume);
fprintf(fp, "GAMMA %d\n", m_stConfig.gamma);
fprintf(fp, "WINDOWED %d\n", !m_stConfig.bFullscreen);
fprintf(fp, "\n");
fclose(fp);
fp = fopen(LOCALE_CONFIG, "wt");
if (!fp)
return;
fprintf(fp, "%d %s", kLanguageConfig[m_stConfig.language].charset, kLanguageConfig[m_stConfig.language].name);
fclose(fp);
}
void CMainDialog::UpdateFrequencyComboBox()
{
int iScreenCurrentSelection = m_comboResolution.GetCurSel();
m_comboFrequency.ResetContent();
ATL::CString strFrequencyName;
for (int i=0; i < m_ResolutionList[iScreenCurrentSelection].frequency_count; i++) {
strFrequencyName.Format(_T("%d"), m_ResolutionList[iScreenCurrentSelection].frequency[i]);
m_comboFrequency.InsertString(i, strFrequencyName);
}
m_comboFrequency.SetCurSel(m_ResolutionList[iScreenCurrentSelection].frequency_count - 1);
}
void CMainDialog::GetResolutionList()
{
m_nResolutionCount = 0;
auto lpd3d = Direct3DCreate9(D3D_SDK_VERSION);
if (!lpd3d) {
m_ResolutionList[m_nResolutionCount].width = 800;
m_ResolutionList[m_nResolutionCount].height = 600;
m_ResolutionList[m_nResolutionCount].bpp = 16;
m_ResolutionList[m_nResolutionCount].frequency[0] = 60;
m_ResolutionList[m_nResolutionCount].frequency_count = 1;
++m_nResolutionCount;
return;
}
const D3DFORMAT allowedFormats[] = {
D3DFMT_X8R8G8B8,
D3DFMT_R5G6B5,
};
for (int i = 0; i < sizeof(allowedFormats) / sizeof(D3DFORMAT); ++i) {
// 이 어뎁터가 가지고 있는 디스플래이 모드갯수를 나열한다..
DWORD dwNumAdapterModes = lpd3d->GetAdapterModeCount(0, allowedFormats[i]);
if (dwNumAdapterModes == 0) {
m_ResolutionList[m_nResolutionCount].width = 800;
m_ResolutionList[m_nResolutionCount].height = 600;
m_ResolutionList[m_nResolutionCount].bpp = 16;
m_ResolutionList[m_nResolutionCount].frequency[0] = 60;
m_ResolutionList[m_nResolutionCount].frequency_count = 1;
++m_nResolutionCount;
lpd3d->Release();
return;
}
for (UINT iMode = 0; iMode < dwNumAdapterModes; iMode++) {
D3DDISPLAYMODE displayMode;
lpd3d->EnumAdapterModes(0, allowedFormats[i], iMode, &displayMode);
if (displayMode.Width < 800 || displayMode.Height < 600)
continue;
int bpp = 0;
if (allowedFormats[i] == D3DFMT_R5G6B5)
bpp = 16;
else if (allowedFormats[i] == D3DFMT_X8R8G8B8)
bpp = 32;
int check_res = false;
for (int i = 0; !check_res && i < m_nResolutionCount; ++i) {
if (m_ResolutionList[i].bpp != bpp ||
m_ResolutionList[i].width != displayMode.Width ||
m_ResolutionList[i].height != displayMode.Height)
continue;
int check_fre = false;
for (int j = 0; j < m_ResolutionList[i].frequency_count; ++j) {
if (m_ResolutionList[i].frequency[j] == displayMode.RefreshRate) {
check_fre = true;
break;
}
}
if (!check_fre )
if (m_ResolutionList[i].frequency_count < FREQUENCY_MAX_NUM)
m_ResolutionList[i].frequency[m_ResolutionList[i].frequency_count++] = displayMode.RefreshRate;
check_res = true;
}
if (!check_res) {
if (m_nResolutionCount < RESOLUTION_MAX_NUM) {
m_ResolutionList[m_nResolutionCount].width = displayMode.Width;
m_ResolutionList[m_nResolutionCount].height = displayMode.Height;
m_ResolutionList[m_nResolutionCount].bpp = bpp;
m_ResolutionList[m_nResolutionCount].frequency[0] = displayMode.RefreshRate;
m_ResolutionList[m_nResolutionCount].frequency_count = 1;
++m_nResolutionCount;
}
}
}
}
lpd3d->Release();
}
void CMainDialog::ApplyConfig()
{
int iResolutionSel = m_comboResolution.GetCurSel();
if ((iResolutionSel >= 0) && (iResolutionSel < m_nResolutionCount)) {
m_stConfig.width = m_ResolutionList[iResolutionSel].width;
m_stConfig.height = m_ResolutionList[iResolutionSel].height;
m_stConfig.bpp = m_ResolutionList[iResolutionSel].bpp;
int iFrequencySel = m_comboFrequency.GetCurSel();
if ((iFrequencySel >= 0) && (iFrequencySel < m_ResolutionList[iResolutionSel].frequency_count))
m_stConfig.frequency = m_ResolutionList[iResolutionSel].frequency[iFrequencySel];
else
m_stConfig.frequency = 60;
} else {
m_stConfig.width = 800;
m_stConfig.height = 600;
m_stConfig.bpp = 16;
m_stConfig.frequency = 60;
}
m_stConfig.gamma = m_comboGamma.GetCurSel() + 1;
m_stConfig.music_volume = float(m_sliderBGMVolume.GetPos()) / 1000.0f;
m_stConfig.voice_volume = m_sliderSoundVolume.GetPos() / 200;
m_stConfig.iDistance = m_comboVisibility.GetCurSel() + 1;
m_stConfig.iTiling = m_comboTiling.GetCurSel();
m_stConfig.iShadowLevel = m_comboShadow.GetCurSel();
m_stConfig.language = m_comboLanguage.GetCurSel();
}
void CMainDialog::OnResolutionSelChange(UINT uNotifyCode, int nID, CWindow wndCtl)
{
UpdateFrequencyComboBox();
}
void CMainDialog::OnTilingSelChange(UINT uNotifyCode, int nID, CWindow wndCtl)
{
switch (m_comboTiling.GetCurSel()) {
case 0:
break;
case 1: {
ATL::CString strCaption((LPCTSTR) IDS_NOTIFY);
ATL::CString strDescription((LPCTSTR) IDS_TILING_CPU);
MessageBox(strDescription, strCaption);
break;
}
case 2: {
ATL::CString strCaption((LPCTSTR) IDS_NOTIFY);
ATL::CString strDescription((LPCTSTR) IDS_TILING_GPU);
MessageBox(strDescription, strCaption);
break;
}
}
}

134
src/Config/MainDialog.h Normal file
View File

@ -0,0 +1,134 @@
#ifndef METIN2_CLIENT_CONFIG_MAINDIALOG_HPP
#define METIN2_CLIENT_CONFIG_MAINDIALOG_HPP
#if VSTD_HAS_PRAGMA_ONCE
#pragma once
#endif
#include <atlbase.h>
#include <wtl/atlapp.h>
#include <atlwin.h>
#include <wtl/atlcrack.h>
#include <wtl/atlmisc.h>
#include <wtl/atlctrls.h>
#include <wtl/atlddx.h>
#include "resource.h"
#define MUSIC_VOLUME_MAX_NUM 1.0f
class CMainDialog : public CDialogImpl<CMainDialog>, public CWinDataExchange<CMainDialog>
{
public:
enum { IDD = IDR_MAINFRAME };
typedef struct SResolution
{
DWORD width;
DWORD height;
DWORD bpp; // bits per pixel (high-color = 16bpp, true-color = 32bpp)
DWORD frequency[20];
BYTE frequency_count;
} TResolution;
typedef struct SConfig
{
DWORD width;
DWORD height;
DWORD bpp;
DWORD frequency;
bool is_object_culling;
int iDistance;
int iTiling;
int iShadowLevel;
FLOAT music_volume;
int voice_volume;
int gamma;
BOOL bUseSoftwareCursor;
BOOL bFullscreen;
unsigned int language;
} TConfig;
enum
{
FREQUENCY_MAX_NUM = 30,
RESOLUTION_MAX_NUM = 64,
SOUND_VOLUME_MAX_NUM = 5,
GAMMA_MAX_NUM = 5,
VISIBILITY_MAX_NUM = 3,
TILING_MAX_NUM = 3,
SHADOW_MAX_NUM = 4,
};
CMainDialog();
BEGIN_MSG_MAP(CMainDialog)
MSG_WM_INITDIALOG(OnInitDialog)
COMMAND_HANDLER_EX(IDC_VIDEO_RESOLUTION, CBN_SELCHANGE, OnResolutionSelChange)
COMMAND_HANDLER_EX(IDC_OPTIMIZE_TILING, CBN_SELCHANGE, OnTilingSelChange)
COMMAND_ID_HANDLER_EX(IDOK, OnOK)
COMMAND_ID_HANDLER_EX(IDCANCEL, OnCancel)
END_MSG_MAP()
BEGIN_DDX_MAP(CMainDialog)
DDX_CONTROL_HANDLE(IDC_VIDEO_RESOLUTION, m_comboResolution)
DDX_CONTROL_HANDLE(IDC_VIDEO_FREQUENCY, m_comboFrequency)
DDX_CONTROL_HANDLE(IDC_VIDEO_GAMMA, m_comboGamma)
DDX_CONTROL_HANDLE(IDC_SOUND_BGM, m_sliderBGMVolume)
DDX_CONTROL_HANDLE(IDC_SOUND_SOUND, m_sliderSoundVolume)
DDX_CONTROL_HANDLE(IDC_OPTIMIZE_VISIBILITY, m_comboVisibility)
DDX_CONTROL_HANDLE(IDC_OPTIMIZE_TILING, m_comboTiling)
DDX_CONTROL_HANDLE(IDC_OPTIMIZE_SHADOW, m_comboShadow)
DDX_CONTROL_HANDLE(IDC_LANGUAGE_COMBO, m_comboLanguage)
DDX_RADIO(IDC_GRAPHIC_WINDOW_MODE, m_stConfig.bFullscreen)
DDX_CHECK(IDC_GRAPHIC_SOFTWARE_CURSOR, m_stConfig.bUseSoftwareCursor)
END_DDX_MAP()
BOOL OnInitDialog(CWindow wndFocus, LPARAM lInitParam);
void OnOK(UINT uNotifyCode, int nID, CWindow wndCtl);
void OnCancel(UINT uNotifyCode, int nID, CWindow wndCtl);
void OnResolutionSelChange(UINT uNotifyCode, int nID, CWindow wndCtl);
void OnTilingSelChange(UINT uNotifyCode, int nID, CWindow wndCtl);
void GetResolutionList();
void InitDefaultConfig();
void LoadConfig();
void SaveConfig();
void ApplyConfig();
void UpdateFrequencyComboBox();
protected:
typedef ATL::CSimpleArray<ATL::CString> TStringVector;
WTL::CComboBox m_comboResolution;
WTL::CComboBox m_comboFrequency;
WTL::CComboBox m_comboGamma;
WTL::CTrackBarCtrl m_sliderBGMVolume;
WTL::CTrackBarCtrl m_sliderSoundVolume;
WTL::CComboBox m_comboVisibility;
WTL::CComboBox m_comboTiling;
WTL::CComboBox m_comboShadow;
WTL::CComboBox m_comboLanguage;
TStringVector m_ShadowNameVector;
protected:
TConfig m_stConfig;
TResolution m_ResolutionList[RESOLUTION_MAX_NUM];
int m_nResolutionCount;
};
#endif

View File

@ -0,0 +1,26 @@
#include "MainDialog.h"
#include "resource.h"
#include <wtl/atlapp.h>
#include <locale.h>
#pragma comment(lib, "d3d9.lib")
CAppModule _Module;
int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
::InitCommonControls();
_Module.Init(NULL, hInstance);
CMainDialog cDialog;
int nRet = (int) cDialog.DoModal();
_Module.Term();
return nRet;
}

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>

View File

@ -0,0 +1,22 @@
#include <wtl/atlres.h>
#include "ui.rc"
/////////////////////////////////////////////////////////////////////////////
//
// Icon
//
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDR_MAINFRAME ICON "metin2.ico"
#define METIN2_COMPONENT_DESCRIPTION "Metin2 Client Configuration Utility"
#define METIN2_COMPONENT_INTERNALNAME "Config"
#define METIN2_COMPONENT_FILENAME "config.exe"
#define METIN2_COMPONENT_TYPE VFT_APP
#include <version_info.rc>
// Visual Styles manifest
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "Metin2Config.exe.manifest"

View File

@ -0,0 +1,198 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.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="Distribute|Win32">
<Configuration>Distribute</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion>
<ProjectName>Config</ProjectName>
<ProjectGuid>{879A444C-3A51-4B63-8888-DC0AAD578B03}</ProjectGuid>
<RootNamespace>Metin2Config</RootNamespace>
<SccProjectName>SAK</SccProjectName>
<SccAuxPath>SAK</SccAuxPath>
<SccLocalPath>SAK</SccLocalPath>
<SccProvider>SAK</SccProvider>
<Keyword>MFCProj</Keyword>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>17.0.32203.90</_ProjectFileVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)build\bin\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)build\obj\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">
<OutDir>$(SolutionDir)build\bin\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)build\obj\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir)build\bin\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)build\obj\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<VcpkgUseStatic>true</VcpkgUseStatic>
<VcpkgConfiguration>$(Configuration)</VcpkgConfiguration>
<VcpkgInstalledDir>$(SolutionDir)build\vcpkg\</VcpkgInstalledDir>
</PropertyGroup>
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">
<VcpkgUseStatic>true</VcpkgUseStatic>
<VcpkgConfiguration>Release</VcpkgConfiguration>
<VcpkgInstalledDir>$(SolutionDir)build\vcpkg\</VcpkgInstalledDir>
</PropertyGroup>
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<VcpkgUseStatic>true</VcpkgUseStatic>
<VcpkgConfiguration>$(Configuration)</VcpkgConfiguration>
<VcpkgInstalledDir>$(SolutionDir)build\vcpkg\</VcpkgInstalledDir>
</PropertyGroup>
<PropertyGroup Label="Vcpkg">
<VcpkgEnableManifest>true</VcpkgEnableManifest>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<FloatingPointModel>Strict</FloatingPointModel>
<BrowseInformation />
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<WholeProgramOptimization>true</WholeProgramOptimization>
<LanguageStandard>stdcpp17</LanguageStandard>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0009</Culture>
</ResourceCompile>
<Lib>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
<Link>
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<FloatingPointModel>Strict</FloatingPointModel>
<AssemblerOutput>All</AssemblerOutput>
<BrowseInformation />
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<WholeProgramOptimization>true</WholeProgramOptimization>
<LanguageStandard>stdcpp17</LanguageStandard>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0009</Culture>
</ResourceCompile>
<Lib>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
<Link />
<Link>
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<FloatingPointModel>Strict</FloatingPointModel>
<BrowseInformation />
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0009</Culture>
</ResourceCompile>
<Lib>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
<Link />
<Link>
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="MainDialog.cpp" />
<ClCompile Include="Metin2Config.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="MainDialog.h" />
<ClInclude Include="resource.h" />
</ItemGroup>
<ItemGroup>
<Image Include="metin2.ico" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Metin2Config.rc" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{62c8d2c1-c25e-4a7e-ab94-f76adb8b3c53}</UniqueIdentifier>
<Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{2c236430-8de1-4024-be66-ae2c7469e916}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{a9554394-acc3-46ba-a041-6122aabc25db}</UniqueIdentifier>
<Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="MainDialog.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Metin2Config.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="MainDialog.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="resource.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Metin2Config.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
<ItemGroup>
<Image Include="metin2.ico">
<Filter>Resource Files</Filter>
</Image>
</ItemGroup>
</Project>

BIN
src/Config/metin2.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

63
src/Config/resource.h Normal file
View File

@ -0,0 +1,63 @@
#include <wtl/atlres.h>
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by ui.rc
//
#define IDS_NOTIFY 1
#define IDS_MAY_SLOW 2
#define IDS_TILING_CPU 3
#define IDS_TILING_GPU 4
#define IDS_FOG_NEAR 5
#define IDS_FOG_MID 6
#define IDS_FOG_FAR 7
#define IDS_TILE_AUTO 8
#define IDS_TILE_CPU 9
#define IDS_TILE_GPU 10
#define IDS_SHADOW_NONE 11
#define IDS_SHADOW_LV1 12
#define IDS_SHADOW_LV2 13
#define IDS_SHADOW_ALL 14
#define IDS_LANGUAGE_CZECH 15
#define IDS_LANGUAGE_DANISH 16
#define IDS_LANGUAGE_DUTCH 17
#define IDS_LANGUAGE_ENGLISH 18
#define IDS_LANGUAGE_FRENCH 19
#define IDS_LANGUAGE_GERMAN 20
#define IDS_LANGUAGE_GREEK 21
#define IDS_LANGUAGE_HUNGARIAN 22
#define IDS_LANGUAGE_ITALIAN 23
#define IDS_LANGUAGE_POLISH 24
#define IDS_LANGUAGE_PORTUGUESE 25
#define IDS_LANGUAGE_ROMANIAN 26
#define IDS_LANGUAGE_RUSSIAN 27
#define IDS_LANGUAGE_SPANISH 28
#define IDS_LANGUAGE_TURKISH 29
#define IDD_CONFIG_DIALOG 102
#define IDR_MAINFRAME 128
#define IDC_VIDEO_RESOLUTION 1001
#define IDC_VIDEO_FREQUENCY 1002
#define IDC_VIDEO_GAMMA 1003
#define IDC_GRAPHIC_SOFTWARE_CURSOR 1004
#define IDC_SOUND_BGM 1006
#define IDC_SOUND_SOUND 1007
#define IDC_OPTIMIZE_SHADOW 1010
#define IDC_OPTIMIZE_OPAQUE 1011
#define IDC_OPTIMIZE_VISIBILITY 1012
#define IDC_OPTIMIZE_DECOMPRESSED_TEXTURE 1013
#define IDC_OPTIMIZE_USE_COMPRESSED_TEXTURE 1013
#define IDC_OPTIMIZE_TILING 1013
#define IDC_GRAPHIC_WINDOW_MODE 1014
#define IDC_GRAPHIC_FULLSCREEN_MODE 1015
#define IDC_LANGUAGE_COMBO 1016
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 135
#define _APS_NEXT_COMMAND_VALUE 32771
#define _APS_NEXT_CONTROL_VALUE 1017
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif

BIN
src/Config/ui.rc Normal file

Binary file not shown.

View File

@ -0,0 +1,47 @@
#include <winver.h>
//
// The following macros have to be set before including this file:
// METIN2_COMPONENT_TYPE - Type of this PE (i.e. VFT_DLL or VFT_APP)
// METIN2_COMPONENT_DESCRIPTION - Description of this PE
// METIN2_COMPONENT_INTERNALNAME - Internal name of this PE
// METIN2_COMPONENT_FILENAME - Expected filename of this PE
//
#ifndef DEBUG
#define METIN2_DEBUG 0
#else
#define METIN2_DEBUG VS_FF_DEBUG
#endif
VS_VERSION_INFO VERSIONINFO
FILEVERSION 0,4,0,0
PRODUCTVERSION 0,4,0,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
FILEFLAGS METIN2_DEBUG
FILEOS VOS__WINDOWS32
FILETYPE METIN2_COMPONENT_TYPE // VFT_DLL
FILESUBTYPE VFT2_UNKNOWN
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904E4"
BEGIN
VALUE "CompanyName", "The Old Metin2 Project"
VALUE "FileDescription", METIN2_COMPONENT_DESCRIPTION
VALUE "FileVersion", "0.4.0.0"
VALUE "InternalName", METIN2_COMPONENT_INTERNALNAME
VALUE "LegalCopyright", "Copyright (C) 2022-2025"
VALUE "OriginalFilename", METIN2_COMPONENT_FILENAME
VALUE "ProductName", "Metin2Config"
VALUE "ProductVersion", "0.4.0.0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1252
END
END
#undef METIN2_DEBUG

View File

@ -42,8 +42,8 @@ class CEffectData
void __ClearLightDataVector(); void __ClearLightDataVector();
void __ClearMeshDataVector(); void __ClearMeshDataVector();
// FIXME : <EFBFBD><EFBFBD> <20>κ<EFBFBD><CEBA><EFBFBD> <20>״<EFBFBD><D7B4><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ʴ´<CAB4>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD><CCB5> ã<>Ƴ<EFBFBD><C6B3><EFBFBD> <20><>ġ<EFBFBD><C4A1>. // FIXME : 이 부분은 그다지 맘에 들지 않는다. 좋은 아이디어를 찾아내어 고치자.
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Ưȭ<C6AF><C8AD>) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ٲ<EFBFBD><D9B2><EFBFBD><EFBFBD><EFBFBD> <20>Ѵٴ<D1B4> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ϴ<EFBFBD>. - [levites] // 상위가 (특화된) 상위의 인터페이스 때문에 모양이 바뀌어야 한다는 것은 옳지 못하다. - [levites]
virtual CParticleSystemData * AllocParticle(); virtual CParticleSystemData * AllocParticle();
virtual CEffectMeshScript * AllocMesh(); virtual CEffectMeshScript * AllocMesh();
virtual CLightData * AllocLight(); virtual CLightData * AllocLight();

View File

@ -52,7 +52,7 @@ void CEffectInstance::UpdateSound()
{ {
CSoundManager& rkSndMgr=CSoundManager::Instance(); CSoundManager& rkSndMgr=CSoundManager::Instance();
rkSndMgr.UpdateSoundInstance(m_matGlobal._41, m_matGlobal._42, m_matGlobal._43, m_dwFrame, m_pSoundInstanceVector); rkSndMgr.UpdateSoundInstance(m_matGlobal._41, m_matGlobal._42, m_matGlobal._43, m_dwFrame, m_pSoundInstanceVector);
// NOTE : <EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ġ<EFBFBD><C4A1> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>´<EFBFBD> - [levites] // NOTE : 매트릭스에서 위치를 직접 얻어온다 - [levites]
} }
++m_dwFrame; ++m_dwFrame;
} }

View File

@ -9,22 +9,10 @@
<Configuration>Distribute</Configuration> <Configuration>Distribute</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="MfcDebug|Win32">
<Configuration>MfcDebug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="MfcRelease|Win32">
<Configuration>MfcRelease</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32"> <ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration> <Configuration>Release</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="VTune|Win32">
<Configuration>VTune</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup> </ItemGroup>
<PropertyGroup Label="Globals"> <PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion> <VCProjectVersion>17.0</VCProjectVersion>
@ -39,12 +27,6 @@
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion> <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType> <ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset> <PlatformToolset>v143</PlatformToolset>
@ -63,144 +45,52 @@
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v143</PlatformToolset> <PlatformToolset>v143</PlatformToolset>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
</ImportGroup> </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'" Label="PropertySheets"> <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup> </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> <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" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup> </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> <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" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup> </ImportGroup>
<PropertyGroup Label="UserMacros" /> <PropertyGroup Label="UserMacros" />
<PropertyGroup> <PropertyGroup>
<_ProjectFileVersion>17.0.32203.90</_ProjectFileVersion> <_ProjectFileVersion>17.0.32203.90</_ProjectFileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir> <OutDir>$(SolutionDir)build\bin\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)build\obj\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir> <OutDir>$(SolutionDir)build\bin\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)build\obj\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir> <OutDir>$(SolutionDir)build\bin\$(Configuration)\</OutDir>
</PropertyGroup> <IntDir>$(SolutionDir)build\obj\$(ProjectName)\$(Configuration)\</IntDir>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<VcpkgUseStatic>true</VcpkgUseStatic> <VcpkgUseStatic>true</VcpkgUseStatic>
<VcpkgConfiguration>$(Configuration)</VcpkgConfiguration> <VcpkgConfiguration>$(Configuration)</VcpkgConfiguration>
<VcpkgInstalledDir>$(SolutionDir)build\vcpkg\</VcpkgInstalledDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'"> <PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">
<VcpkgUseStatic>true</VcpkgUseStatic> <VcpkgUseStatic>true</VcpkgUseStatic>
<VcpkgConfiguration>Release</VcpkgConfiguration> <VcpkgConfiguration>Release</VcpkgConfiguration>
<VcpkgInstalledDir>$(SolutionDir)build\vcpkg\</VcpkgInstalledDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<VcpkgUseStatic>true</VcpkgUseStatic> <VcpkgUseStatic>true</VcpkgUseStatic>
<VcpkgConfiguration>$(Configuration)</VcpkgConfiguration> <VcpkgConfiguration>$(Configuration)</VcpkgConfiguration>
<VcpkgInstalledDir>$(SolutionDir)build\vcpkg\</VcpkgInstalledDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Label="Vcpkg"> <PropertyGroup Label="Vcpkg">
<VcpkgEnableManifest>true</VcpkgEnableManifest> <VcpkgEnableManifest>true</VcpkgEnableManifest>
</PropertyGroup> </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">
<ClCompile>
<AdditionalOptions>/Gs /Gs %(AdditionalOptions)</AdditionalOptions>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.;../../extern/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>.\VTune/EffectLib.pch</PrecompiledHeaderOutputFile>
<AssemblerOutput>All</AssemblerOutput>
<AssemblerListingLocation>.\VTune/</AssemblerListingLocation>
<ObjectFileName>.\VTune/</ObjectFileName>
<ProgramDataBaseFileName>.\VTune/</ProgramDataBaseFileName>
<BrowseInformation />
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0412</Culture>
</ResourceCompile>
<Lib>
<OutputFile>.\VTune\EffectLib.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.;../../extern/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;WORLD_EDITOR;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>.\EffectLib___Win32_MfcDebug/EffectLib.pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\EffectLib___Win32_MfcDebug/</AssemblerListingLocation>
<ObjectFileName>.\EffectLib___Win32_MfcDebug/</ObjectFileName>
<ProgramDataBaseFileName>.\EffectLib___Win32_MfcDebug/</ProgramDataBaseFileName>
<BrowseInformation />
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0412</Culture>
</ResourceCompile>
<Lib>
<OutputFile>.\EffectLib___Win32_MfcDebug\EffectLib.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile> <ClCompile>
<Optimization>MaxSpeed</Optimization> <Optimization>MaxSpeed</Optimization>
@ -212,10 +102,6 @@
<FunctionLevelLinking>true</FunctionLevelLinking> <FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>Use</PrecompiledHeader> <PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile> <PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>.\Release/EffectLib.pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\Release/</AssemblerListingLocation>
<ObjectFileName>.\Release/</ObjectFileName>
<ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
<BrowseInformation /> <BrowseInformation />
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner> <SuppressStartupBanner>true</SuppressStartupBanner>
@ -241,10 +127,6 @@
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>Use</PrecompiledHeader> <PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile> <PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>.\Debug/EffectLib.pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
<ObjectFileName>.\Debug/</ObjectFileName>
<ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
<BrowseInformation /> <BrowseInformation />
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner> <SuppressStartupBanner>true</SuppressStartupBanner>
@ -271,11 +153,7 @@
<FunctionLevelLinking>true</FunctionLevelLinking> <FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>Use</PrecompiledHeader> <PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile> <PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>.\Distribute/EffectLib.pch</PrecompiledHeaderOutputFile>
<AssemblerOutput>All</AssemblerOutput> <AssemblerOutput>All</AssemblerOutput>
<AssemblerListingLocation>.\Distribute/</AssemblerListingLocation>
<ObjectFileName>.\Distribute/</ObjectFileName>
<ProgramDataBaseFileName>.\Distribute/</ProgramDataBaseFileName>
<BrowseInformation /> <BrowseInformation />
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner> <SuppressStartupBanner>true</SuppressStartupBanner>
@ -292,229 +170,118 @@
<SuppressStartupBanner>true</SuppressStartupBanner> <SuppressStartupBanner>true</SuppressStartupBanner>
</Lib> </Lib>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>.;../../extern/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>.\EffectLib___Win32_MfcRelease/EffectLib.pch</PrecompiledHeaderOutputFile>
<AssemblerOutput>All</AssemblerOutput>
<AssemblerListingLocation>.\EffectLib___Win32_MfcRelease/</AssemblerListingLocation>
<ObjectFileName>.\EffectLib___Win32_MfcRelease/</ObjectFileName>
<ProgramDataBaseFileName>.\EffectLib___Win32_MfcRelease/</ProgramDataBaseFileName>
<BrowseInformation />
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0412</Culture>
</ResourceCompile>
<Lib>
<OutputFile>.\EffectLib___Win32_MfcRelease\EffectLib.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
</ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="EffectData.cpp"> <ClCompile Include="EffectData.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
<ClCompile Include="EffectElementBase.cpp"> <ClCompile Include="EffectElementBase.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
<ClCompile Include="EffectElementBaseInstance.cpp"> <ClCompile Include="EffectElementBaseInstance.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
<ClCompile Include="EffectInstance.cpp"> <ClCompile Include="EffectInstance.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
<ClCompile Include="EffectManager.cpp"> <ClCompile Include="EffectManager.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
<ClCompile Include="EffectMesh.cpp"> <ClCompile Include="EffectMesh.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
<ClCompile Include="EffectMeshInstance.cpp"> <ClCompile Include="EffectMeshInstance.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
<ClCompile Include="EffectUpdateDecorator.cpp"> <ClCompile Include="EffectUpdateDecorator.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
<ClCompile Include="EmitterProperty.cpp"> <ClCompile Include="EmitterProperty.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
<ClCompile Include="FrameController.cpp"> <ClCompile Include="FrameController.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
<ClCompile Include="ParticleInstance.cpp"> <ClCompile Include="ParticleInstance.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
<ClCompile Include="ParticleProperty.cpp"> <ClCompile Include="ParticleProperty.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
<ClCompile Include="ParticleSystemData.cpp"> <ClCompile Include="ParticleSystemData.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
<ClCompile Include="ParticleSystemInstance.cpp"> <ClCompile Include="ParticleSystemInstance.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
<ClCompile Include="SimpleLightData.cpp"> <ClCompile Include="SimpleLightData.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
<ClCompile Include="SimpleLightInstance.cpp"> <ClCompile Include="SimpleLightInstance.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
<ClCompile Include="StdAfx.cpp"> <ClCompile Include="StdAfx.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
@ -523,28 +290,15 @@
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">Create</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">Create</PrecompiledHeader>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Create</PrecompiledHeader>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MaxSpeed</Optimization>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">Create</PrecompiledHeader>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Create</PrecompiledHeader>
</ClCompile> </ClCompile>
<ClCompile Include="Type.cpp"> <ClCompile Include="Type.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View File

@ -48,7 +48,7 @@ bool CEffectManager::IsAliveEffect(DWORD dwInstanceIndex)
void CEffectManager::Update() void CEffectManager::Update()
{ {
// 2004. 3. 1. myevan. <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD> <20>ϴ<EFBFBD> <20>ڵ<EFBFBD> // 2004. 3. 1. myevan. 이펙트 모니터링 하는 코드
/* /*
if (GetAsyncKeyState(VK_F9)) if (GetAsyncKeyState(VK_F9))
{ {
@ -173,8 +173,8 @@ BOOL CEffectManager::RegisterEffect(const char * c_szFileName,bool isExistDelete
return TRUE; return TRUE;
} }
// CEffectData <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20>ϰ<EFBFBD>.. // CEffectData 를 포인터형으로 리턴하게 하고..
// CEffectData<EFBFBD><EFBFBD><EFBFBD><EFBFBD> CRC<52><43> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ְ<EFBFBD> <20>Ѵ<EFBFBD> // CEffectData에서 CRC를 얻을수 있게 한다
BOOL CEffectManager::RegisterEffect2(const char * c_szFileName, DWORD* pdwRetCRC, bool isNeedCache) BOOL CEffectManager::RegisterEffect2(const char * c_szFileName, DWORD* pdwRetCRC, bool isNeedCache)
{ {
std::string strFileName; std::string strFileName;

View File

@ -62,8 +62,8 @@ class CEffectManager : public CScreen, public CSingleton<CEffectManager>
bool GetEffectData(DWORD dwID, CEffectData ** ppEffect); bool GetEffectData(DWORD dwID, CEffectData ** ppEffect);
bool GetEffectData(DWORD dwID, const CEffectData ** c_ppEffect); bool GetEffectData(DWORD dwID, const CEffectData ** c_ppEffect);
// Area<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Effect<EFBFBD><EFBFBD> <20>Լ<EFBFBD>... EffectInstance<EFBFBD><EFBFBD> Pointer<EFBFBD><EFBFBD> <20><>ȯ<EFBFBD>Ѵ<EFBFBD>. // Area에 직접 찍는 Effect용 함수... EffectInstance Pointer를 반환한다.
// EffectManager <EFBFBD><EFBFBD><EFBFBD><EFBFBD> EffectInstanceMap<EFBFBD><EFBFBD> <20>̿<EFBFBD><CCBF><EFBFBD><EFBFBD><EFBFBD> <20>ʴ´<CAB4>. // EffectManager 내부 EffectInstanceMap을 이용하지 않는다.
void CreateUnsafeEffectInstance(DWORD dwEffectDataID, CEffectInstance ** ppEffectInstance); void CreateUnsafeEffectInstance(DWORD dwEffectDataID, CEffectInstance ** ppEffectInstance);
bool DestroyUnsafeEffectInstance(CEffectInstance * pEffectInstance); bool DestroyUnsafeEffectInstance(CEffectInstance * pEffectInstance);

View File

@ -192,15 +192,14 @@ BOOL CEffectMesh::__LoadData_Ver002(int iSize, const BYTE * c_pbBuf)
if (0 == strExtension.compare("ifl")) if (0 == strExtension.compare("ifl"))
{ {
LPCVOID pMotionData; CEterPackManager::TPackDataPtr motionData;
CMappedFile File; CMemoryTextFileLoader textFileLoader;
if (CEterPackManager::Instance().Get(File, pMeshData->szDiffuseMapFileName, &pMotionData)) if (CEterPackManager::Instance().Get(pMeshData->szDiffuseMapFileName, motionData))
{ {
CMemoryTextFileLoader textFileLoader;
std::vector<std::string> stTokenVector; std::vector<std::string> stTokenVector;
textFileLoader.Bind(File.Size(), pMotionData); textFileLoader.Bind(motionData->size(), motionData->data());
std::string strPathName; std::string strPathName;
GetOnlyPathName(pMeshData->szDiffuseMapFileName, strPathName); GetOnlyPathName(pMeshData->szDiffuseMapFileName, strPathName);
@ -337,15 +336,14 @@ BOOL CEffectMesh::__LoadData_Ver001(int iSize, const BYTE * c_pbBuf)
if (0 == strExtension.compare("ifl")) if (0 == strExtension.compare("ifl"))
{ {
LPCVOID pMotionData; CEterPackManager::TPackDataPtr motionData;
CMappedFile File; CMemoryTextFileLoader textFileLoader;
if (CEterPackManager::Instance().Get(File, pMeshData->szDiffuseMapFileName, &pMotionData)) if (CEterPackManager::Instance().Get(pMeshData->szDiffuseMapFileName, motionData))
{ {
CMemoryTextFileLoader textFileLoader;
std::vector<std::string> stTokenVector; std::vector<std::string> stTokenVector;
textFileLoader.Bind(File.Size(), pMotionData); textFileLoader.Bind(motionData->size(), motionData->data());
std::string strPathName; std::string strPathName;
GetOnlyPathName(pMeshData->szDiffuseMapFileName, strPathName); GetOnlyPathName(pMeshData->szDiffuseMapFileName, strPathName);

View File

@ -9,7 +9,7 @@
class CEffectMeshInstance : public CEffectElementBaseInstance class CEffectMeshInstance : public CEffectElementBaseInstance
{ {
public: public:
// NOTE : Mesh <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ؽ<EFBFBD><D8BD><EFBFBD> <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8> <20>ν<EFBFBD><CEBD>Ͻ<EFBFBD><CFBD>̴<EFBFBD>. // NOTE : Mesh 단위 텍스춰 데이타의 인스턴스이다.
typedef struct STextureInstance typedef struct STextureInstance
{ {
CFrameController TextureFrameController; CFrameController TextureFrameController;

View File

@ -185,9 +185,9 @@ void CParticleInstance::Transform(const D3DXMATRIX * c_matLocal)
case BILLBOARD_TYPE_ALL: case BILLBOARD_TYPE_ALL:
default: default:
{ {
// NOTE : Rotation Routine. Camera<EFBFBD><EFBFBD> Up Vector<EFBFBD><EFBFBD> Cross Vector <EFBFBD><EFBFBD>ü<EFBFBD><EFBFBD> View Vector <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> // NOTE : Rotation Routine. Camera Up Vector Cross Vector 자체를 View Vector 기준으로
// Rotation <EFBFBD><EFBFBD>Ų<EFBFBD><EFBFBD>. // Rotation 시킨다.
// FIXME : <EFBFBD>ݵ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ȭ <20><> <20><>! // FIXME : 반드시 최적화 할 것!
if (m_fRotation==0.0f) if (m_fRotation==0.0f)
{ {
v3Up = -c_rv3Cross; v3Up = -c_rv3Cross;
@ -239,7 +239,7 @@ void CParticleInstance::Transform(const D3DXMATRIX * c_matLocal)
D3DXVec3TransformNormal(&v3Up, &v3Up, c_matLocal); D3DXVec3TransformNormal(&v3Up, &v3Up, c_matLocal);
} }
// NOTE: <EFBFBD>ӵ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>̿<EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> : log(velocity)<EFBFBD><EFBFBD>ŭ <20>þ<C3BE><EEB3AD>. // NOTE: 속도가 길이에 주는 영향 : log(velocity)만큼 늘어난다.
float length = D3DXVec3Length(&v3Up); float length = D3DXVec3Length(&v3Up);
if (length == 0.0f) if (length == 0.0f)
{ {
@ -342,9 +342,9 @@ void CParticleInstance::Transform(const D3DXMATRIX * c_matLocal, const float c_f
case BILLBOARD_TYPE_ALL: case BILLBOARD_TYPE_ALL:
default: default:
{ {
// NOTE : Rotation Routine. Camera<EFBFBD><EFBFBD> Up Vector<EFBFBD><EFBFBD> Cross Vector <EFBFBD><EFBFBD>ü<EFBFBD><EFBFBD> View Vector <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> // NOTE : Rotation Routine. Camera Up Vector Cross Vector 자체를 View Vector 기준으로
// Rotation <EFBFBD><EFBFBD>Ų<EFBFBD><EFBFBD>. // Rotation 시킨다.
// FIXME : <EFBFBD>ݵ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ȭ <20><> <20><>! // FIXME : 반드시 최적화 할 것!
if (m_fRotation==0.0f) if (m_fRotation==0.0f)
{ {
v3Up = -c_rv3Cross; v3Up = -c_rv3Cross;
@ -373,7 +373,7 @@ void CParticleInstance::Transform(const D3DXMATRIX * c_matLocal, const float c_f
D3DXVec3TransformNormal(&v3Up, &v3Up, c_matLocal); D3DXVec3TransformNormal(&v3Up, &v3Up, c_matLocal);
} }
// NOTE: <EFBFBD>ӵ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>̿<EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> : log(velocity)<EFBFBD><EFBFBD>ŭ <20>þ<C3BE><EEB3AD>. // NOTE: 속도가 길이에 주는 영향 : log(velocity)만큼 늘어난다.
float length = D3DXVec3Length(&v3Up); float length = D3DXVec3Length(&v3Up);
if (length == 0.0f) if (length == 0.0f)
{ {

View File

@ -161,8 +161,8 @@ void CParticleSystemInstance::CreateParticles(float fElapsedTime)
D3DXVec3TransformCoord(&v3TimePosition, &v3TimePosition, mc_pmatLocal); D3DXVec3TransformCoord(&v3TimePosition, &v3TimePosition, mc_pmatLocal);
} }
pInstance->m_v3StartPosition = v3TimePosition; pInstance->m_v3StartPosition = v3TimePosition;
// NOTE : Update<EFBFBD><EFBFBD> ȣ<><C8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʰ<EFBFBD> Rendering <20>DZ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> length<74><68> 0<><30> <20>Ǵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD>. // NOTE : Update를 호출하지 않고 Rendering 되기 때문에 length가 0이 되는 문제가 있다.
// Velocity<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20>׸<EFBFBD>ŭ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʱ<EFBFBD>ȭ <20><><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD> <20>ٲ<EFBFBD><D9B2><EFBFBD> - [levites] // Velocity를 구한 후 그만큼 빼준 값으로 초기화 해주도록 바꿨음 - [levites]
//pInstance->m_v3LastPosition = pInstance->m_v3Position; //pInstance->m_v3LastPosition = pInstance->m_v3Position;
// Direction & Velocity // Direction & Velocity
@ -212,8 +212,8 @@ void CParticleSystemInstance::CreateParticles(float fElapsedTime)
// Rotation // Rotation
pInstance->m_fRotation = m_pParticleProperty->m_wRotationRandomStartingBegin; pInstance->m_fRotation = m_pParticleProperty->m_wRotationRandomStartingBegin;
pInstance->m_fRotation = frandom(m_pParticleProperty->m_wRotationRandomStartingBegin,m_pParticleProperty->m_wRotationRandomStartingEnd); pInstance->m_fRotation = frandom(m_pParticleProperty->m_wRotationRandomStartingBegin,m_pParticleProperty->m_wRotationRandomStartingEnd);
// Rotation - Lie <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> LocalMatrix <EFBFBD><EFBFBD> Rotation <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Random <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>. // Rotation - Lie 일 경우 LocalMatrix Rotation 값을 Random 에 적용한다.
// <EFBFBD>Ź<EFBFBD> <20><> <20>ʿ<EFBFBD><CABF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ȭ<EFBFBD><C8AD> <20>ʿ<EFBFBD>. - [levites] // 매번 할 필요는 없을듯. 어느 정도의 최적화가 필요. - [levites]
if (BILLBOARD_TYPE_LIE == m_pParticleProperty->m_byBillboardType && mc_pmatLocal) if (BILLBOARD_TYPE_LIE == m_pParticleProperty->m_byBillboardType && mc_pmatLocal)
{ {
pInstance->m_fRotation += fLieRotation; pInstance->m_fRotation += fLieRotation;
@ -486,7 +486,7 @@ void CParticleSystemInstance::OnInitialize()
void CParticleSystemInstance::OnDestroy() void CParticleSystemInstance::OnDestroy()
{ {
// 2004. 3. 1. myevan. <EFBFBD><EFBFBD>ƼŬ <20><><EFBFBD><EFBFBD> <20><>ƾ // 2004. 3. 1. myevan. 파티클 제거 루틴
TParticleInstanceListVector::iterator i; TParticleInstanceListVector::iterator i;
for(i = m_ParticleInstanceListVector.begin(); i!=m_ParticleInstanceListVector.end(); ++i) for(i = m_ParticleInstanceListVector.begin(); i!=m_ParticleInstanceListVector.end(); ++i)
{ {

View File

@ -71,12 +71,12 @@ enum EBillBoardType
BILLBOARD_TYPE_ALL, BILLBOARD_TYPE_ALL,
BILLBOARD_TYPE_Y, BILLBOARD_TYPE_Y,
BILLBOARD_TYPE_LIE, // <EFBFBD>ٴڿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> BILLBOARD_TYPE_LIE, // 바닥에 누은 형상
BILLBOARD_TYPE_2FACE, // / and \ BILLBOARD_TYPE_2FACE, // / and \
BILLBOARD_TYPE_3FACE, // / and \ and - BILLBOARD_TYPE_3FACE, // / and \ and -
//BILLBOARD_TYPE_RAY, // <EFBFBD>ܻ<EFBFBD> //BILLBOARD_TYPE_RAY, // 잔상
}; };
@ -220,8 +220,8 @@ typedef std::vector<TTimeEventTypeVector2> TTimeEventTableVector2;
typedef std::vector<TTimeEventTypeVector3> TTimeEventTableVector3; typedef std::vector<TTimeEventTypeVector3> TTimeEventTableVector3;
// NOTE : TimeEventValue <EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ѱ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ƾ<EFBFBD> <20>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD> // NOTE : TimeEventValue 함수들은 값을 넘겨 받지 말아야 하는 때도 있으므로
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ƴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ۼ<EFBFBD> <20>߽<EFBFBD><DFBD>ϴ<EFBFBD>. - [levites] // 값의 직접 리턴이 아닌 포인터 리턴으로 작성 했습니다. - [levites]
template <typename T> template <typename T>
__forceinline void GetTimeEventBlendValue(float fElapsedTime, std::vector<CTimeEvent<T> >& rVector, T * pReturnValue) __forceinline void GetTimeEventBlendValue(float fElapsedTime, std::vector<CTimeEvent<T> >& rVector, T * pReturnValue)

View File

@ -6,14 +6,14 @@ class _CPostItMemoryBlock;
/** /**
* @class CPostIt * @class CPostIt
* @brief <EFBFBD><EFBFBD><EFBFBD>ӷ<EFBFBD>ó<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD> <20><><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD> Ŭ<><C5AC><EFBFBD><EFBFBD> * @brief 게임런처에서 게임 클라이언트로 정보를 전달 및 클라이언트에서 수신하기 위하여 사용되는 클래스
*/ */
class CPostIt class CPostIt
{ {
public: public:
/** /**
* @brief CPostIt constructor * @brief CPostIt constructor
* @param [in] szAppName : <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20≯<EFBFBD><CCB8><EFBFBD> <20><><EFBFBD><EFBFBD><EEB0A3>. * @param [in] szAppName : 게임의 이름이 들어간다.
*/ */
explicit CPostIt( LPCSTR szAppName ); explicit CPostIt( LPCSTR szAppName );
@ -23,45 +23,45 @@ public:
~CPostIt( void ); ~CPostIt( void );
/** /**
* @brief CPostIt class<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8> Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>. * @brief CPostIt class에서 보유하고 있는 데이타를 클립보드에 저장한다.
*/ */
BOOL Flush( void ); BOOL Flush( void );
/** /**
* @brief CPostIt class<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>Ÿ <20><> Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. * @brief CPostIt class에서 보유하고 있는 데이타 및 클립보드에 있는 내용을 지운다.
*/ */
void Empty( void ); void Empty( void );
/** /**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ÿ<EFBFBD><EFBFBD> <20>о<EFBFBD><D0BE>´<EFBFBD>. * @brief 데이타를 읽어온다.
* @param [in] lpszKeyName : <EFBFBD>ҷ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8> Ű. "KEY" <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ´<D6B4>. * @param [in] lpszKeyName : 불러올 데이타의 키. "KEY" 식의 내용을 넣는다.
* @param [in] lpszData : <EFBFBD>ҷ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8> <20><><EFBFBD><EFBFBD> * @param [in] lpszData : 불러올 데이타의 버퍼
* @param [in] nSize : lpszData <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> * @param [in] nSize : lpszData 버퍼의 최대사이즈
*/ */
BOOL Get( LPCSTR lpszKeyName, LPSTR lpszData, DWORD nSize ); BOOL Get( LPCSTR lpszKeyName, LPSTR lpszData, DWORD nSize );
/** /**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8> <20>ִ´<D6B4>. * @brief 저장할 데이타를 넣는다.
* @param [in] lpBuffer : <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ÿ. "KEY=DATA" <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ´<D6B4>. * @param [in] lpBuffer : 저장할 데이타. "KEY=DATA" 식의 내용을 넣는다.
*/ */
BOOL Set( LPCSTR lpszData ); BOOL Set( LPCSTR lpszData );
/** /**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8> <20>ִ´<D6B4>. * @brief 저장할 데이타를 넣는다.
* @param [in] lpszKeyName : <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8> Ű. "KEY" <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ´<D6B4>. * @param [in] lpszKeyName : 저장할 데이타의 키. "KEY" 식의 내용을 넣는다.
* @param [in] lpszData : <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ÿ. "DATA" <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ´<D6B4>. * @param [in] lpszData : 저장할 데이타. "DATA" 식의 내용을 넣는다.
*/ */
BOOL Set( LPCSTR lpszKeyName, LPCSTR lpszData ); BOOL Set( LPCSTR lpszKeyName, LPCSTR lpszData );
/** /**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ÿ(DWORD)<29><> <20>ִ´<D6B4>. * @brief 저장할 데이타(DWORD)를 넣는다.
* @param [in] lpBuffer : <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ÿ. "KEY=DATA" <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8> <20>ִ´<D6B4>. * @param [in] lpBuffer : 저장할 데이타. "KEY=DATA" 식의 데이타를 넣는다.
* @param [in] dwValue : <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ÿ. (DWORD) * @param [in] dwValue : 저장할 데이타. (DWORD)
*/ */
BOOL Set( LPCSTR lpszKeyName, DWORD dwValue ); BOOL Set( LPCSTR lpszKeyName, DWORD dwValue );
/** /**
* @brief CPostIt class<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>. (Ŭ<><C5AC><EFBFBD><EFBFBD> constructor<6F><72> <20≯<EFBFBD> <20><><EFBFBD>ڰ<EFBFBD> <20>ֱ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20≯<EFBFBD><CCB8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><D8BE><EFBFBD>) * @brief CPostIt class를 복사한다. (클래스 constructor에 이름 인자가 있기 때문에, 새 이름을 지정해야함)
* @param [in] pPostIt : Destination class * @param [in] pPostIt : Destination class
* @param [in] lpszKeyName : Destination class's new app-name * @param [in] lpszKeyName : Destination class's new app-name
*/ */

View File

@ -9,22 +9,10 @@
<Configuration>Distribute</Configuration> <Configuration>Distribute</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="MfcDebug|Win32">
<Configuration>MfcDebug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="MfcRelease|Win32">
<Configuration>MfcRelease</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32"> <ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration> <Configuration>Release</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="VTune|Win32">
<Configuration>VTune</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup> </ItemGroup>
<PropertyGroup Label="Globals"> <PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion> <VCProjectVersion>17.0</VCProjectVersion>
@ -39,30 +27,12 @@
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion> <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType> <ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc> <UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v143</PlatformToolset> <PlatformToolset>v143</PlatformToolset>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType> <ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset> <PlatformToolset>v143</PlatformToolset>
@ -78,63 +48,45 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
</ImportGroup> </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> <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" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup> </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'" Label="PropertySheets"> <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup> </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> <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" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup> </ImportGroup>
<PropertyGroup Label="UserMacros" /> <PropertyGroup Label="UserMacros" />
<PropertyGroup> <PropertyGroup>
<_ProjectFileVersion>17.0.32203.90</_ProjectFileVersion> <_ProjectFileVersion>17.0.32203.90</_ProjectFileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir> <OutDir>$(SolutionDir)build\bin\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)build\obj\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir> <OutDir>$(SolutionDir)build\bin\$(Configuration)\</OutDir>
</PropertyGroup> <IntDir>$(SolutionDir)build\obj\$(ProjectName)\$(Configuration)\</IntDir>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir> <OutDir>$(SolutionDir)build\bin\$(Configuration)\</OutDir>
</PropertyGroup> <IntDir>$(SolutionDir)build\obj\$(ProjectName)\$(Configuration)\</IntDir>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<VcpkgUseStatic>true</VcpkgUseStatic> <VcpkgUseStatic>true</VcpkgUseStatic>
<VcpkgConfiguration>$(Configuration)</VcpkgConfiguration> <VcpkgConfiguration>$(Configuration)</VcpkgConfiguration>
<VcpkgInstalledDir>$(SolutionDir)build\vcpkg\</VcpkgInstalledDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'"> <PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">
<VcpkgUseStatic>true</VcpkgUseStatic> <VcpkgUseStatic>true</VcpkgUseStatic>
<VcpkgConfiguration>Release</VcpkgConfiguration> <VcpkgConfiguration>Release</VcpkgConfiguration>
<VcpkgInstalledDir>$(SolutionDir)build\vcpkg\</VcpkgInstalledDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<VcpkgUseStatic>true</VcpkgUseStatic> <VcpkgUseStatic>true</VcpkgUseStatic>
<VcpkgConfiguration>$(Configuration)</VcpkgConfiguration> <VcpkgConfiguration>$(Configuration)</VcpkgConfiguration>
<VcpkgInstalledDir>$(SolutionDir)build\vcpkg\</VcpkgInstalledDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Label="Vcpkg"> <PropertyGroup Label="Vcpkg">
<VcpkgEnableManifest>true</VcpkgEnableManifest> <VcpkgEnableManifest>true</VcpkgEnableManifest>
@ -146,10 +98,6 @@
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeaderOutputFile>.\Debug/eterBase.pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
<ObjectFileName>.\Debug/</ObjectFileName>
<ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
<BrowseInformation /> <BrowseInformation />
<WarningLevel>Level4</WarningLevel> <WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner> <SuppressStartupBanner>true</SuppressStartupBanner>
@ -163,7 +111,7 @@
<IgnoreStandardIncludePath>true</IgnoreStandardIncludePath> <IgnoreStandardIncludePath>true</IgnoreStandardIncludePath>
</ResourceCompile> </ResourceCompile>
<Lib> <Lib>
<AdditionalLibraryDirectories>../../../extern/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(SolutionDir)extern\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner> <SuppressStartupBanner>true</SuppressStartupBanner>
</Lib> </Lib>
</ItemDefinitionGroup> </ItemDefinitionGroup>
@ -176,11 +124,7 @@
<StringPooling>true</StringPooling> <StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking> <FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeaderOutputFile>.\Distribute/eterBase.pch</PrecompiledHeaderOutputFile>
<AssemblerOutput>All</AssemblerOutput> <AssemblerOutput>All</AssemblerOutput>
<AssemblerListingLocation>.\Distribute/</AssemblerListingLocation>
<ObjectFileName>.\Distribute/</ObjectFileName>
<ProgramDataBaseFileName>.\Distribute/</ProgramDataBaseFileName>
<BrowseInformation /> <BrowseInformation />
<WarningLevel>Level4</WarningLevel> <WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner> <SuppressStartupBanner>true</SuppressStartupBanner>
@ -194,64 +138,7 @@
<Culture>0x0412</Culture> <Culture>0x0412</Culture>
</ResourceCompile> </ResourceCompile>
<Lib> <Lib>
<AdditionalLibraryDirectories>$(SolutionDir)Extern\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(SolutionDir)extern\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>../../extern/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeaderOutputFile>.\MfcRelease/eterBase.pch</PrecompiledHeaderOutputFile>
<AssemblerOutput>All</AssemblerOutput>
<AssemblerListingLocation>.\MfcRelease/</AssemblerListingLocation>
<ObjectFileName>.\MfcRelease/</ObjectFileName>
<ProgramDataBaseFileName>.\MfcRelease/</ProgramDataBaseFileName>
<BrowseInformation />
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0412</Culture>
</ResourceCompile>
<Lib>
<OutputFile>.\MfcRelease\eterBase.lib</OutputFile>
<AdditionalLibraryDirectories>../../extern/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../../extern/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeaderOutputFile>.\MfcDebug/eterBase.pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\MfcDebug/</AssemblerListingLocation>
<ObjectFileName>.\MfcDebug/</ObjectFileName>
<ProgramDataBaseFileName>.\MfcDebug/</ProgramDataBaseFileName>
<BrowseInformation />
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0412</Culture>
</ResourceCompile>
<Lib>
<OutputFile>.\MfcDebug\eterBase.lib</OutputFile>
<AdditionalLibraryDirectories>../../extern/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner> <SuppressStartupBanner>true</SuppressStartupBanner>
</Lib> </Lib>
</ItemDefinitionGroup> </ItemDefinitionGroup>
@ -264,10 +151,6 @@
<StringPooling>true</StringPooling> <StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking> <FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeaderOutputFile>.\Release/eterBase.pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\Release/</AssemblerListingLocation>
<ObjectFileName>.\Release/</ObjectFileName>
<ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
<BrowseInformation /> <BrowseInformation />
<WarningLevel>Level4</WarningLevel> <WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner> <SuppressStartupBanner>true</SuppressStartupBanner>
@ -281,40 +164,7 @@
<Culture>0x0412</Culture> <Culture>0x0412</Culture>
</ResourceCompile> </ResourceCompile>
<Lib> <Lib>
<AdditionalLibraryDirectories>../../extern/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(SolutionDir)extern\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">
<ClCompile>
<AdditionalOptions>/Gs %(AdditionalOptions)</AdditionalOptions>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>../../extern/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeaderOutputFile>.\VTune/eterBase.pch</PrecompiledHeaderOutputFile>
<AssemblerOutput>All</AssemblerOutput>
<AssemblerListingLocation>.\VTune/</AssemblerListingLocation>
<ObjectFileName>.\VTune/</ObjectFileName>
<ProgramDataBaseFileName>.\VTune/</ProgramDataBaseFileName>
<BrowseInformation />
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0412</Culture>
</ResourceCompile>
<Lib>
<OutputFile>.\VTune\eterBase.lib</OutputFile>
<AdditionalLibraryDirectories>../../extern/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner> <SuppressStartupBanner>true</SuppressStartupBanner>
</Lib> </Lib>
</ItemDefinitionGroup> </ItemDefinitionGroup>

View File

@ -60,9 +60,9 @@ bool CDir::Create(const char * c_szFilter, const char* c_szPath, BOOL bCheckedEx
if (!c_szExtension) if (!c_szExtension)
continue; continue;
// NOTE : <EFBFBD>ӽ<EFBFBD> <20><><EFBFBD><EFBFBD> - [levites] // NOTE : 임시 변수 - [levites]
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TRUE <20><><EFBFBD>·<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. // 최종적으로는 무조건 TRUE 형태로 만든다.
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> CDir<69><72> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Extension<EFBFBD><EFBFBD> "wav", "gr2" <EFBFBD>̷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ְԲ<D6B0> <20>Ѵ<EFBFBD>. - [levites] // 그전에 전 프로젝트의 CDir을 사용하는 곳에서 Extension "wav", "gr2" 이런식으로 넣게끔 한다. - [levites]
if (bCheckedExtension) if (bCheckedExtension)
{ {
std::string strFilter = c_szFilter; std::string strFilter = c_szFilter;

View File

@ -72,7 +72,7 @@ int CMemoryTextFileLoader::SplitLine2(DWORD dwLine, CTokenVector* pstTokenVector
pstTokenVector->push_back(c_rstLine.substr(beginPos, endPos - beginPos)); pstTokenVector->push_back(c_rstLine.substr(beginPos, endPos - beginPos));
// <EFBFBD>߰<EFBFBD> <20>ڵ<EFBFBD>. <20>ǵڿ<C7B5> <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD>츦 üũ<C3BC>Ѵ<EFBFBD>. - [levites] // 추가 코드. 맨뒤에 탭이 있는 경우를 체크한다. - [levites]
if (int(c_rstLine.find_first_not_of(c_szDelimeter, basePos)) < 0) if (int(c_rstLine.find_first_not_of(c_szDelimeter, basePos)) < 0)
break; break;
} while (basePos < c_rstLine.length()); } while (basePos < c_rstLine.length());
@ -116,7 +116,7 @@ bool CMemoryTextFileLoader::SplitLine(DWORD dwLine, CTokenVector* pstTokenVector
pstTokenVector->push_back(c_rstLine.substr(beginPos, endPos - beginPos)); pstTokenVector->push_back(c_rstLine.substr(beginPos, endPos - beginPos));
// <EFBFBD>߰<EFBFBD> <20>ڵ<EFBFBD>. <20>ǵڿ<C7B5> <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD>츦 üũ<C3BC>Ѵ<EFBFBD>. - [levites] // 추가 코드. 맨뒤에 탭이 있는 경우를 체크한다. - [levites]
if (int(c_rstLine.find_first_not_of(c_szDelimeter, basePos)) < 0) if (int(c_rstLine.find_first_not_of(c_szDelimeter, basePos)) < 0)
break; break;
} while (basePos < c_rstLine.length()); } while (basePos < c_rstLine.length());

View File

@ -1,6 +1,6 @@
#pragma once #pragma once
#pragma warning(disable:4786) // character 255 <EFBFBD>Ѿ<EFBFBD>°<EFBFBD> <20><><EFBFBD><EFBFBD> #pragma warning(disable:4786) // character 255 넘어가는거 끄기
#include <windows.h> #include <windows.h>
#include <vector> #include <vector>

View File

@ -85,7 +85,7 @@ BYTE* CMappedFile::AppendDataBlock( const void* pBlock, DWORD dwBlockSize )
void CMappedFile::Destroy() void CMappedFile::Destroy()
{ {
if (m_pLZObj) // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ͱ<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>ȴ<EFBFBD> if (m_pLZObj) // 압축된 데이터가 이 포인터로 연결 된다
{ {
delete m_pLZObj; delete m_pLZObj;
m_pLZObj = NULL; m_pLZObj = NULL;
@ -144,7 +144,7 @@ int CMappedFile::Seek(DWORD offset, int iSeekType)
return m_seekPosition; return m_seekPosition;
} }
// 2004.09.16.myevan.MemoryMappedFile 98/ME <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> üũ // 2004.09.16.myevan.MemoryMappedFile 98/ME 개수 제한 문제 체크
//DWORD g_dwCount=0; //DWORD g_dwCount=0;
int CMappedFile::Map(const void **dest, int offset, int size) int CMappedFile::Map(const void **dest, int offset, int size)
@ -192,7 +192,7 @@ int CMappedFile::Map(const void **dest, int offset, int size)
return 0; return 0;
} }
// 2004.09.16.myevan.MemoryMappedFile 98/ME <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> üũ // 2004.09.16.myevan.MemoryMappedFile 98/ME 개수 제한 문제 체크
//g_dwCount++; //g_dwCount++;
//Tracenf("MAPFILE %d", g_dwCount); //Tracenf("MAPFILE %d", g_dwCount);
@ -247,7 +247,7 @@ void CMappedFile::Unmap(LPCVOID data)
{ {
if (UnmapViewOfFile(data)) if (UnmapViewOfFile(data))
{ {
// 2004.09.16.myevan.MemoryMappedFile 98/ME <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> üũ // 2004.09.16.myevan.MemoryMappedFile 98/ME 개수 제한 문제 체크
//g_dwCount--; //g_dwCount--;
//Tracenf("UNMAPFILE %d", g_dwCount); //Tracenf("UNMAPFILE %d", g_dwCount);
} }

View File

@ -6,7 +6,7 @@
#endif #endif
#pragma warning(disable:4710) // not inlined #pragma warning(disable:4710) // not inlined
#pragma warning(disable:4786) // character 255 <EFBFBD>Ѿ<EFBFBD>°<EFBFBD> <20><><EFBFBD><EFBFBD> #pragma warning(disable:4786) // character 255 넘어가는거 끄기
#pragma warning(disable:4244) // type conversion possible lose of data #pragma warning(disable:4244) // type conversion possible lose of data
#include <windows.h> #include <windows.h>

View File

@ -27,7 +27,7 @@ BOOL ELTimer_Init()
DWORD ELTimer_GetMSec() DWORD ELTimer_GetMSec()
{ {
//assert(gs_dwBaseTime!=0 && "ELTimer_Init <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>"); //assert(gs_dwBaseTime!=0 && "ELTimer_Init 를 먼저 실행하세요");
//LARGE_INTEGER liTickCount; //LARGE_INTEGER liTickCount;
//QueryPerformanceCounter(&liTickCount); //QueryPerformanceCounter(&liTickCount);
return timeGetTime() - gs_dwBaseTime; //(liTickCount.QuadPart*1000 / gs_liTickCountPerSec.QuadPart)-gs_dwBaseTime; return timeGetTime() - gs_dwBaseTime; //(liTickCount.QuadPart*1000 / gs_liTickCountPerSec.QuadPart)-gs_dwBaseTime;
@ -36,7 +36,7 @@ DWORD ELTimer_GetMSec()
VOID ELTimer_SetServerMSec(DWORD dwServerTime) VOID ELTimer_SetServerMSec(DWORD dwServerTime)
{ {
NANOBEGIN NANOBEGIN
if (0 != dwServerTime) // nanomite<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> if if (0 != dwServerTime) // nanomite를 위한 더미 if
{ {
gs_dwServerTime = dwServerTime; gs_dwServerTime = dwServerTime;
gs_dwClientTime = CTimer::instance().GetCurrentMillisecond(); gs_dwClientTime = CTimer::instance().GetCurrentMillisecond();
@ -70,7 +70,7 @@ CTimer::CTimer()
ELTimer_Init(); ELTimer_Init();
NANOBEGIN NANOBEGIN
if (this) // nanomite<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> if if (this) // nanomite를 위한 더미 if
{ {
m_dwCurrentTime = 0; m_dwCurrentTime = 0;
m_bUseRealTime = true; m_bUseRealTime = true;

View File

@ -433,7 +433,7 @@ void MyCreateDirectory(const char* path)
if (strlen(path) >= 3) if (strlen(path) >= 3)
{ {
if (*(path + 1) == ':') // C:, D: <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>츦 üũ if (*(path + 1) == ':') // C:, D: 같은 경우를 체크
path += 3; path += 3;
} }

View File

@ -64,9 +64,9 @@ extern void GetExceptionPathName(const char * sz_Name, std::string & OnlyFileN
extern void GetWorkingFolder(std::string & strFileName); extern void GetWorkingFolder(std::string & strFileName);
extern void StringLowers(char * pString); extern void StringLowers(char * pString);
extern void StringPath(std::string & rString); extern void StringPath(std::string & rString);
extern void StringPath(char * pString); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ҹ<EFBFBD><D2B9>ڷ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, \<5C><> /<2F><> <20>ٲ۴<D9B2>. extern void StringPath(char * pString); // 모두 소문자로 만들고, \는 /로 바꾼다.
extern void StringPath(const char * c_szSrc, char * szDest); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ҹ<EFBFBD><D2B9>ڷ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, \<5C><> /<2F><> <20>ٲ۴<D9B2>. extern void StringPath(const char * c_szSrc, char * szDest); // 모두 소문자로 만들고, \는 /로 바꾼다.
extern void StringPath(const char * c_szSrc, std::string & rString); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ҹ<EFBFBD><D2B9>ڷ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, \<5C><> /<2F><> <20>ٲ۴<D9B2>. extern void StringPath(const char * c_szSrc, std::string & rString); // 모두 소문자로 만들고, \는 /로 바꾼다.
extern void PrintAsciiData(const void* data, int bytes); extern void PrintAsciiData(const void* data, int bytes);
bool IsFile(const char* filename); bool IsFile(const char* filename);
bool IsGlobalFileName(const char * c_szFileName); bool IsGlobalFileName(const char * c_szFileName);

View File

@ -120,9 +120,9 @@ void CLZObject::BeginCompress(const void * pvIn, UINT uiInLen)
m_pbIn = (const BYTE *) pvIn; m_pbIn = (const BYTE *) pvIn;
// sizeof(SHeader) + // sizeof(SHeader) +
// <EFBFBD><EFBFBD>ȣȭ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> fourCC 4<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ // 암호화를 위한 fourCC 4바이트
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ִ<EFBFBD> <20>ִ<EFBFBD> <20> + // 압축된 후 만들어질 수 있는 최대 용량 +
// <EFBFBD><EFBFBD>ȣȭ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> 8 <20><><EFBFBD><EFBFBD>Ʈ // 암호화를 위한 8 바이트
m_dwBufferSize = sizeof(THeader) + sizeof(DWORD) + (uiInLen + uiInLen / 64 + 16 + 3) + 8; m_dwBufferSize = sizeof(THeader) + sizeof(DWORD) + (uiInLen + uiInLen / 64 + 16 + 3) + 8;
m_pbBuffer = gs_freeMemMgr.Alloc(m_dwBufferSize); m_pbBuffer = gs_freeMemMgr.Alloc(m_dwBufferSize);
@ -139,9 +139,9 @@ void CLZObject::BeginCompressInBuffer(const void * pvIn, UINT uiInLen, void * /*
m_pbIn = (const BYTE *) pvIn; m_pbIn = (const BYTE *) pvIn;
// sizeof(SHeader) + // sizeof(SHeader) +
// <EFBFBD><EFBFBD>ȣȭ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> fourCC 4<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ // 암호화를 위한 fourCC 4바이트
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ִ<EFBFBD> <20>ִ<EFBFBD> <20> + // 압축된 후 만들어질 수 있는 최대 용량 +
// <EFBFBD><EFBFBD>ȣȭ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> 8 <20><><EFBFBD><EFBFBD>Ʈ // 암호화를 위한 8 바이트
m_dwBufferSize = sizeof(THeader) + sizeof(DWORD) + (uiInLen + uiInLen / 64 + 16 + 3) + 8; m_dwBufferSize = sizeof(THeader) + sizeof(DWORD) + (uiInLen + uiInLen / 64 + 16 + 3) + 8;
m_pbBuffer = gs_freeMemMgr.Alloc(m_dwBufferSize); m_pbBuffer = gs_freeMemMgr.Alloc(m_dwBufferSize);

View File

@ -12,9 +12,9 @@ class CLZObject
typedef struct SHeader typedef struct SHeader
{ {
DWORD dwFourCC; DWORD dwFourCC;
DWORD dwEncryptSize; // <EFBFBD><EFBFBD>ȣȭ<EFBFBD><EFBFBD> ũ<><C5A9> DWORD dwEncryptSize; // 암호화된 크기
DWORD dwCompressedSize; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ũ<><C5A9> DWORD dwCompressedSize; // 압축된 데이터 크기
DWORD dwRealSize; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ũ<><C5A9> DWORD dwRealSize; // 실제 데이터 크기
} THeader; } THeader;
#pragma pack() #pragma pack()

View File

@ -1,8 +1,8 @@
/* /*
* Filename: tea.c * Filename: tea.c
* Description: TEA <EFBFBD><EFBFBD>ȣȭ <20><><EFBFBD><EFBFBD> * Description: TEA 암호화 모듈
* *
* Author: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (aka. <EFBFBD><EFBFBD><EFBFBD><EFBFBD>, Cronan), <EFBFBD>ۿ<EFBFBD><EFBFBD><EFBFBD> (aka. myevan, <EFBFBD><EFBFBD><EFBFBD>ڷ<EFBFBD>) * Author: 김한주 (aka. 비엽, Cronan), 송영진 (aka. myevan, 빗자루)
*/ */
#include "StdAfx.h" #include "StdAfx.h"
#include "tea.h" #include "tea.h"
@ -10,24 +10,24 @@
/* /*
* TEA Encryption Module Instruction * TEA Encryption Module Instruction
* Edited by <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> aka. <EFBFBD><EFBFBD><EFBFBD><EFBFBD>, Cronan * Edited by 김한주 aka. 비엽, Cronan
* *
* void tea_code(const unsigned long sz, const unsigned long sy, const unsigned long *key, unsigned long *dest) * void tea_code(const unsigned long sz, const unsigned long sy, const unsigned long *key, unsigned long *dest)
* void tea_decode(const unsigned long sz, const unsigned long sy, const unsigned long *key, unsigned long *dest) * void tea_decode(const unsigned long sz, const unsigned long sy, const unsigned long *key, unsigned long *dest)
* 8<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD> <20><>ȣ/<2F><>ȣȭ <20>Ҷ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD>. key <EFBFBD><EFBFBD> 16 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ѵ<EFBFBD>. * 8바이트를 암호/복호화 할때 사용된다. key 16 바이트여야 한다.
* sz, sy <EFBFBD><EFBFBD> 8<><38><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>. * sz, sy 는 8바이트의 역순으로 대입한다.
* *
* int tea_decrypt(unsigned long *dest, const unsigned long *src, const unsigned long *key, int size); * int tea_decrypt(unsigned long *dest, const unsigned long *src, const unsigned long *key, int size);
* int tea_encrypt(unsigned long *dest, const unsigned long *src, const unsigned long *key, int size); * int tea_encrypt(unsigned long *dest, const unsigned long *src, const unsigned long *key, int size);
* <EFBFBD>Ѳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 8 <20><><EFBFBD><EFBFBD>Ʈ <20>̻<EFBFBD><CCBB><EFBFBD> <20><>ȣ/<2F><>ȣȭ <20>Ҷ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>. <20><><EFBFBD><EFBFBD> size <EFBFBD><EFBFBD> * 한꺼번에 8 바이트 이상을 암호/복호화 할때 사용한다. 만약 size
* 8<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ƴϸ<C6B4> 8<><38> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ũ<>⸦ "<22>÷<EFBFBD><C3B7><EFBFBD>" <20><>ȣȭ <20>Ѵ<EFBFBD>. * 8의 배수가 아니면 8의 배수로 크기를 "늘려서" 암호화 한다.
* *
* ex. tea_code(pdwSrc[1], pdwSrc[0], pdwKey, pdwDest); * ex. tea_code(pdwSrc[1], pdwSrc[0], pdwKey, pdwDest);
* tea_decrypt(pdwDest, pdwSrc, pdwKey, nSize); * tea_decrypt(pdwDest, pdwSrc, pdwKey, nSize);
*/ */
#define TEA_ROUND 32 // 32 <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>. #define TEA_ROUND 32 // 32 를 권장하며, 높을 수록 결과가 난해해 진다.
#define DELTA 0x9E3779B9 // DELTA <EFBFBD><EFBFBD> <20>ٲ<EFBFBD><D9B2><EFBFBD> <20><><EFBFBD><EFBFBD>. #define DELTA 0x9E3779B9 // DELTA 값 바꾸지 말것.
void tea_code(const unsigned long sz, const unsigned long sy, const unsigned long *key, unsigned long *dest) void tea_code(const unsigned long sz, const unsigned long sy, const unsigned long *key, unsigned long *dest)
{ {

View File

@ -9,22 +9,10 @@
<Configuration>Distribute</Configuration> <Configuration>Distribute</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="MfcDebug|Win32">
<Configuration>MfcDebug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="MfcRelease|Win32">
<Configuration>MfcRelease</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32"> <ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration> <Configuration>Release</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="VTune|Win32">
<Configuration>VTune</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup> </ItemGroup>
<PropertyGroup Label="Globals"> <PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion> <VCProjectVersion>17.0</VCProjectVersion>
@ -45,24 +33,6 @@
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v143</PlatformToolset> <PlatformToolset>v143</PlatformToolset>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType> <ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset> <PlatformToolset>v143</PlatformToolset>
@ -80,61 +50,43 @@
</ImportGroup> </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> <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" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup> </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'" Label="PropertySheets"> <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup> </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> <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" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup> </ImportGroup>
<PropertyGroup Label="UserMacros" /> <PropertyGroup Label="UserMacros" />
<PropertyGroup> <PropertyGroup>
<_ProjectFileVersion>17.0.32203.90</_ProjectFileVersion> <_ProjectFileVersion>17.0.32203.90</_ProjectFileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir> <OutDir>$(SolutionDir)build\bin\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)build\obj\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir> <OutDir>$(SolutionDir)build\bin\$(Configuration)\</OutDir>
</PropertyGroup> <IntDir>$(SolutionDir)build\obj\$(ProjectName)\$(Configuration)\</IntDir>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir> <OutDir>$(SolutionDir)build\bin\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)build\obj\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<VcpkgUseStatic>true</VcpkgUseStatic> <VcpkgUseStatic>true</VcpkgUseStatic>
<VcpkgConfiguration>$(Configuration)</VcpkgConfiguration> <VcpkgConfiguration>$(Configuration)</VcpkgConfiguration>
<VcpkgInstalledDir>$(SolutionDir)build\vcpkg\</VcpkgInstalledDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'"> <PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">
<VcpkgUseStatic>true</VcpkgUseStatic> <VcpkgUseStatic>true</VcpkgUseStatic>
<VcpkgConfiguration>Release</VcpkgConfiguration> <VcpkgConfiguration>Release</VcpkgConfiguration>
<VcpkgInstalledDir>$(SolutionDir)build\vcpkg\</VcpkgInstalledDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<VcpkgUseStatic>true</VcpkgUseStatic> <VcpkgUseStatic>true</VcpkgUseStatic>
<VcpkgConfiguration>$(Configuration)</VcpkgConfiguration> <VcpkgConfiguration>$(Configuration)</VcpkgConfiguration>
<VcpkgInstalledDir>$(SolutionDir)build\vcpkg\</VcpkgInstalledDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Label="Vcpkg"> <PropertyGroup Label="Vcpkg">
<VcpkgEnableManifest>true</VcpkgEnableManifest> <VcpkgEnableManifest>true</VcpkgEnableManifest>
@ -148,10 +100,6 @@
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>Use</PrecompiledHeader> <PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile> <PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>.\Debug/eterGrnLib.pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
<ObjectFileName>.\Debug/</ObjectFileName>
<ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
<BrowseInformation /> <BrowseInformation />
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner> <SuppressStartupBanner>true</SuppressStartupBanner>
@ -177,11 +125,7 @@
<StringPooling>true</StringPooling> <StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking> <FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeaderOutputFile>.\Distribute/eterGrnLib.pch</PrecompiledHeaderOutputFile>
<AssemblerOutput>All</AssemblerOutput> <AssemblerOutput>All</AssemblerOutput>
<AssemblerListingLocation>.\Distribute/</AssemblerListingLocation>
<ObjectFileName>.\Distribute/</ObjectFileName>
<ProgramDataBaseFileName>.\Distribute/</ProgramDataBaseFileName>
<BrowseInformation /> <BrowseInformation />
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner> <SuppressStartupBanner>true</SuppressStartupBanner>
@ -198,97 +142,6 @@
<SuppressStartupBanner>true</SuppressStartupBanner> <SuppressStartupBanner>true</SuppressStartupBanner>
</Lib> </Lib>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">
<ClCompile>
<Optimization>MinSpace</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>.;../../extern/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>.\MfcRelease/eterGrnLib.pch</PrecompiledHeaderOutputFile>
<AssemblerOutput>All</AssemblerOutput>
<AssemblerListingLocation>.\MfcRelease/</AssemblerListingLocation>
<ObjectFileName>.\MfcRelease/</ObjectFileName>
<ProgramDataBaseFileName>.\MfcRelease/</ProgramDataBaseFileName>
<BrowseInformation />
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0412</Culture>
</ResourceCompile>
<Lib>
<OutputFile>.\MfcRelease\eterGrnLib.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">
<ClCompile>
<AdditionalOptions>/Gs %(AdditionalOptions)</AdditionalOptions>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.;../../extern/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeaderOutputFile>.\VTune/eterGrnLib.pch</PrecompiledHeaderOutputFile>
<AssemblerOutput>All</AssemblerOutput>
<AssemblerListingLocation>.\VTune/</AssemblerListingLocation>
<ObjectFileName>.\VTune/</ObjectFileName>
<ProgramDataBaseFileName>.\VTune/</ProgramDataBaseFileName>
<BrowseInformation />
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0412</Culture>
</ResourceCompile>
<Lib>
<OutputFile>.\VTune\eterGrnLib.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.;../../extern/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>.\MfcDebug/eterGrnLib.pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\MfcDebug/</AssemblerListingLocation>
<ObjectFileName>.\MfcDebug/</ObjectFileName>
<ProgramDataBaseFileName>.\MfcDebug/</ProgramDataBaseFileName>
<BrowseInformation />
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0412</Culture>
</ResourceCompile>
<Lib>
<OutputFile>.\MfcDebug\eterGrnLib.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile> <ClCompile>
<Optimization>MinSpace</Optimization> <Optimization>MinSpace</Optimization>
@ -298,10 +151,6 @@
<StringPooling>true</StringPooling> <StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking> <FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeaderOutputFile>.\Release/eterGrnLib.pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\Release/</AssemblerListingLocation>
<ObjectFileName>.\Release/</ObjectFileName>
<ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
<BrowseInformation /> <BrowseInformation />
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner> <SuppressStartupBanner>true</SuppressStartupBanner>
@ -324,132 +173,77 @@
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MinSpace</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MinSpace</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MinSpace</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
<ClCompile Include="Material.cpp"> <ClCompile Include="Material.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MinSpace</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MinSpace</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MinSpace</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
<ClCompile Include="Mesh.cpp"> <ClCompile Include="Mesh.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MinSpace</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MinSpace</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MinSpace</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
<ClCompile Include="Model.cpp"> <ClCompile Include="Model.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MinSpace</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MinSpace</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MinSpace</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
<ClCompile Include="ModelInstance.cpp"> <ClCompile Include="ModelInstance.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MinSpace</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MinSpace</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MinSpace</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
<ClCompile Include="ModelInstanceCollisionDetection.cpp"> <ClCompile Include="ModelInstanceCollisionDetection.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MinSpace</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MinSpace</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MinSpace</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
<ClCompile Include="ModelInstanceModel.cpp"> <ClCompile Include="ModelInstanceModel.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MinSpace</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MinSpace</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MinSpace</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
<ClCompile Include="ModelInstanceMotion.cpp"> <ClCompile Include="ModelInstanceMotion.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MinSpace</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MinSpace</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MinSpace</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
<ClCompile Include="ModelInstanceRender.cpp"> <ClCompile Include="ModelInstanceRender.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MinSpace</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MinSpace</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MinSpace</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
<ClCompile Include="ModelInstanceUpdate.cpp"> <ClCompile Include="ModelInstanceUpdate.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MinSpace</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MinSpace</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MinSpace</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
<ClCompile Include="Motion.cpp"> <ClCompile Include="Motion.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MinSpace</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MinSpace</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MinSpace</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
<ClCompile Include="StdAfx.cpp"> <ClCompile Include="StdAfx.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
@ -459,54 +253,30 @@
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">Create</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">Create</PrecompiledHeader>
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">stdafx.h</PrecompiledHeaderFile> <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">stdafx.h</PrecompiledHeaderFile>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Create</PrecompiledHeader>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MinSpace</Optimization>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">Create</PrecompiledHeader>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MinSpace</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MinSpace</Optimization>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">stdafx.h</PrecompiledHeaderFile> <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">stdafx.h</PrecompiledHeaderFile>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Create</PrecompiledHeader>
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">stdafx.h</PrecompiledHeaderFile>
</ClCompile> </ClCompile>
<ClCompile Include="Thing.cpp"> <ClCompile Include="Thing.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MinSpace</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MinSpace</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MinSpace</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
<ClCompile Include="ThingInstance.cpp"> <ClCompile Include="ThingInstance.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MinSpace</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MinSpace</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MinSpace</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
<ClCompile Include="Util.cpp"> <ClCompile Include="Util.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MinSpace</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MinSpace</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MinSpace</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View File

@ -282,8 +282,8 @@ void CGrannyLODController::AddModel(CGraphicThing * pThing, int iSrcModel, CGran
} }
else else
{ {
// FIXME : CModelInstance::m_pgrnWorldPose<EFBFBD><EFBFBD> Update<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴµ<CFB4>, // FIXME : CModelInstance::m_pgrnWorldPose Update에서 사용하는데,
// Deform<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> NULL <20>Դϴ<D4B4>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ٲ<EFBFBD><D9B2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.. - [levites] // Deform을 하지 않으면 NULL 입니다. 구조가 조금 바뀌어야 할지도.. - [levites]
pModelInstance->DeformNoSkin(&ms_matIdentity); pModelInstance->DeformNoSkin(&ms_matIdentity);
} }
@ -460,10 +460,10 @@ void CGrannyLODController::UpdateLODLevel(float fDistanceFromCenter, float fDist
assert(m_pCurrentModelInstance != NULL); assert(m_pCurrentModelInstance != NULL);
if (fDistanceFromCenter > LOD_APPLY_MIN) // <EFBFBD>߽<EFBFBD> LOD <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> if (fDistanceFromCenter > LOD_APPLY_MIN) // 중심 LOD 예외 취소
{ {
// ī<EFBFBD>޶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>־<EFBFBD><D6BE><EFBFBD> <20><><EFBFBD><EFBFBD> fLODRate<74><65> <20>۾<EFBFBD><DBBE><EFBFBD><EFBFBD><EFBFBD> // 카메라부터 멀어질 수록 fLODRate가 작아진다
// 3<EFBFBD><EFBFBD> LOD<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.. <20><><EFBFBD><EFBFBD> <20>հ<EFBFBD> 0, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ڰ<EFBFBD> Ŀ<><C4BF><EFBFBD><EFBFBD> // 3 LOD가 있을때.. 가장 먼게 0, 가까울 수록 숫자가 커진다
// 100fps 50fps 33fps 25fps 20fps // 100fps 50fps 33fps 25fps 20fps
// 10ms 20ms 30ms 40ms 50ms // 10ms 20ms 30ms 40ms 50ms

View File

@ -269,7 +269,7 @@ class CGrannyLODController : public CGraphicBase
BOOL isModelInstance(); BOOL isModelInstance();
CGrannyModelInstance* GetModelInstance(); CGrannyModelInstance* GetModelInstance();
bool HaveBlendThing() { return 0 != GetModelInstance() ? GetModelInstance()->HaveBlendThing() : false; } // NOTE: GetModelInstance() == 0<EFBFBD><EFBFBD> <20><> Ŭ<><C5AC> ũ<><C5A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>(2012. 05. 07) bool HaveBlendThing() { return 0 != GetModelInstance() ? GetModelInstance()->HaveBlendThing() : false; } // NOTE: GetModelInstance() == 0일 때 클라 크래쉬나는 문제 수정(2012. 05. 07)
protected: protected:
void SetCurrentModelInstance(CGrannyModelInstance * pgrnModelInstance); void SetCurrentModelInstance(CGrannyModelInstance * pgrnModelInstance);

View File

@ -238,7 +238,7 @@ bool CGrannyMaterial::CreateFromGrannyMaterialPointer(granny_material * pgrnMate
pgrnOpacityTexture = GrannyGetMaterialTextureByType(m_pgrnMaterial, GrannyOpacityTexture); pgrnOpacityTexture = GrannyGetMaterialTextureByType(m_pgrnMaterial, GrannyOpacityTexture);
} }
// Two-Side <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʿ<EFBFBD><CABF><EFBFBD> <20><> <20>˻<EFBFBD> // Two-Side 렌더링이 필요한 지 검사
{ {
granny_int32 twoSided = 0; granny_int32 twoSided = 0;
granny_data_type_definition TwoSidedFieldType[] = granny_data_type_definition TwoSidedFieldType[] =
@ -262,7 +262,7 @@ bool CGrannyMaterial::CreateFromGrannyMaterialPointer(granny_material * pgrnMate
if (pgrnOpacityTexture) if (pgrnOpacityTexture)
m_roImage[1].SetPointer(__GetImagePointer(pgrnOpacityTexture->FromFileName)); m_roImage[1].SetPointer(__GetImagePointer(pgrnOpacityTexture->FromFileName));
// <EFBFBD><EFBFBD><EFBFBD>۽<EFBFBD>Ƽ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>޽<EFBFBD> // 오퍼시티가 있으면 블렌딩 메쉬
if (!m_roImage[1].IsNull()) if (!m_roImage[1].IsNull())
m_eType = TYPE_BLEND_PNT; m_eType = TYPE_BLEND_PNT;
else else
@ -285,7 +285,7 @@ void CGrannyMaterial::__ApplyDiffuseRenderState()
if (m_bTwoSideRender) if (m_bTwoSideRender)
{ {
// -_-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>μ<EFBFBD><CEBC><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>... Save & Restore <20>ϸ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>δ<EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Save & Restore <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>. // -_-렌더링 프로세스가 좀 구려서... Save & Restore 하면 순서때문에 좀 꼬인다. 귀찮으니 Save & Restore 대신 따로 저장해 둠.
m_dwLastCullRenderStateForTwoSideRendering = STATEMANAGER.GetRenderState(D3DRS_CULLMODE); m_dwLastCullRenderStateForTwoSideRendering = STATEMANAGER.GetRenderState(D3DRS_CULLMODE);
STATEMANAGER.SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE); STATEMANAGER.SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE);
} }
@ -511,7 +511,7 @@ DWORD CGrannyMaterialPalette::GetMaterialCount() const
/* /*
void CActorInstance::BeginSpecularRender() void CActorInstance::BeginSpecularRender()
{ {
// NOTE - Blending<EFBFBD>ؼ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>κ<EFBFBD><CEBA><EFBFBD> Specular<61><72> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ű<EFBFBD><C5B0> <20>ʴ´<CAB4> - [levites] // NOTE - Blending해서 찍는 부분은 Specular를 적용시키지 않는다 - [levites]
STATEMANAGER.SaveRenderState(D3DRS_ALPHABLENDENABLE, FALSE); STATEMANAGER.SaveRenderState(D3DRS_ALPHABLENDENABLE, FALSE);
STATEMANAGER.SetRenderState(D3DRS_TEXTUREFACTOR, D3DXCOLOR(1.0f, 1.0f, 1.0f, m_AddColor.r)); STATEMANAGER.SetRenderState(D3DRS_TEXTUREFACTOR, D3DXCOLOR(1.0f, 1.0f, 1.0f, m_AddColor.r));

View File

@ -159,7 +159,7 @@ bool CGrannyMesh::LoadTriGroupNodeList(CGrannyMaterialPalette& rkMtrlPal)
assert(m_triGroupNodes == NULL); assert(m_triGroupNodes == NULL);
int mtrlCount = m_pgrnMesh->MaterialBindingCount; int mtrlCount = m_pgrnMesh->MaterialBindingCount;
if (mtrlCount <= 0) // õ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> 2<><32> ũ<><C5A9><EFBFBD><EFBFBD> <20>߻<EFBFBD> if (mtrlCount <= 0) // 천의 동굴 2층 크래쉬 발생
return true; return true;
int GroupNodeCount = GrannyGetMeshTriangleGroupCount(m_pgrnMesh); int GroupNodeCount = GrannyGetMeshTriangleGroupCount(m_pgrnMesh);
@ -199,7 +199,7 @@ bool CGrannyMesh::LoadTriGroupNodeList(CGrannyMaterialPalette& rkMtrlPal)
void CGrannyMesh::RebuildTriGroupNodeList() void CGrannyMesh::RebuildTriGroupNodeList()
{ {
assert(!"CGrannyMesh::RebuildTriGroupNodeList() - <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><20>ϴ°<CFB4>- -?"); assert(!"CGrannyMesh::RebuildTriGroupNodeList() - \xBF\xD6 \xB8\xAE\xBA\xF4\xB5\xE5\xB8\xA6 \xC7\xCF\xB4\xC2\xB0\xA1- -?");
/* /*
int mtrlCount = m_pgrnMesh->MaterialBindingCount; int mtrlCount = m_pgrnMesh->MaterialBindingCount;
int GroupNodeCount = GrannyGetMeshTriangleGroupCount(m_pgrnMesh); int GroupNodeCount = GrannyGetMeshTriangleGroupCount(m_pgrnMesh);

View File

@ -155,7 +155,7 @@ bool CGrannyModel::LoadMeshs()
assert(m_meshs == NULL); assert(m_meshs == NULL);
assert(m_pgrnModel != NULL); assert(m_pgrnModel != NULL);
if (m_pgrnModel->MeshBindingCount <= 0) // <EFBFBD>޽<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> if (m_pgrnModel->MeshBindingCount <= 0) // 메쉬가 없는 모델
return true; return true;
granny_skeleton * pgrnSkeleton = m_pgrnModel->Skeleton; granny_skeleton * pgrnSkeleton = m_pgrnModel->Skeleton;

View File

@ -55,12 +55,12 @@ class CGrannyModelInstance : public CGraphicCollisionObject
void DeformNoSkin(const D3DXMATRIX * c_pWorldMatrix); void DeformNoSkin(const D3DXMATRIX * c_pWorldMatrix);
void Deform(const D3DXMATRIX * c_pWorldMatrix); void Deform(const D3DXMATRIX * c_pWorldMatrix);
// FIXME : <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ѱ<EFBFBD><D1B0><EFBFBD> 2<><32><EFBFBD><EFBFBD> <20>ؽ<EFBFBD><D8BD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ǿ<EFBFBD><C7BE>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>̱⿡ <20>̷<EFBFBD> // FIXME : 현재는 하드웨어의 한계로 2장의 텍스춰로 제한이 되어있는 상태이기에 이런
// <EFBFBD>Ҿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ű<EFBFBD><C5B0><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD> <20>ؽ<EFBFBD><D8BD><EFBFBD> <20><><EFBFBD><EFBFBD>) + (ȿ<><C8BF><EFBFBD><EFBFBD> <20>ؽ<EFBFBD><D8BD><EFBFBD>) // 불안정한 아키텍춰가 가능하지만, 궁극적인 방향은 (모델 텍스춰 전부) + (효과용 텍스춰)
// <EFBFBD>̷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ڵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>̷<EFBFBD><CCB7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ʳ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>. - [levites] // 이런식의 자동 셋팅이 이뤄져야 되지 않나 생각합니다. - [levites]
// NOTE : <EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD> if<69><66><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ű<EFBFBD><C5B0> <20><><EFBFBD>ٴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ŷ<EFBFBD><C5B7><EFBFBD><EFBFBD><EFBFBD> <20>̷<EFBFBD><CCB7><EFBFBD> <20>Լ<EFBFBD> <20><> <20><>ü<EFBFBD><C3BC> <20>и<EFBFBD> // NOTE : 내부에 if문을 포함 시키기 보다는 조금은 번거롭지만 이렇게 함수 콜 자체를 분리
// <EFBFBD><EFBFBD>Ű<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ս<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E9BFA1><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>. - [levites] // 시키는 것이 퍼포먼스 적인 측면에서는 더 나은 것 같습니다. - [levites]
// NOTE : <EFBFBD>ǹ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> OneTexture. ij<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD> <20><><EFBFBD><20><><EFBFBD><EFBFBD> TwoTexture. // NOTE : 건물은 무조건 OneTexture. 캐릭터는 경우에 따라 TwoTexture.
void RenderWithOneTexture(); void RenderWithOneTexture();
void RenderWithTwoTexture(); void RenderWithTwoTexture();
void BlendRenderWithOneTexture(); void BlendRenderWithOneTexture();
@ -160,7 +160,7 @@ class CGrannyModelInstance : public CGraphicCollisionObject
// Granny Data // Granny Data
granny_model_instance * m_pgrnModelInstance; granny_model_instance * m_pgrnModelInstance;
//granny_world_pose * m_pgrnWorldPose; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> //granny_world_pose * m_pgrnWorldPose; // 현재 월드 포즈 포인터
granny_control * m_pgrnCtrl; granny_control * m_pgrnCtrl;
granny_animation * m_pgrnAni; granny_animation * m_pgrnAni;
@ -182,7 +182,7 @@ class CGrannyModelInstance : public CGraphicCollisionObject
CGrannyMaterialPalette m_kMtrlPal; CGrannyMaterialPalette m_kMtrlPal;
// WORK // WORK
granny_world_pose* m_pgrnWorldPoseReal; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>޸𸮴<DEB8> <20><><EFBFBD><20>Ҵ<EFBFBD> granny_world_pose* m_pgrnWorldPoseReal; // 실제 메모리는 여기에 할당
std::vector<granny_mesh_binding*> m_vct_pgrnMeshBinding; std::vector<granny_mesh_binding*> m_vct_pgrnMeshBinding;
// Dynamic Vertex Buffer // Dynamic Vertex Buffer

View File

@ -239,7 +239,7 @@ void CGraphicThingInstance::DrawBoundBox()
D3DXVECTOR3 vtMax; D3DXVECTOR3 vtMax;
SetDiffuseColor(0.0f, 1.0f, 0.0f); SetDiffuseColor(0.0f, 1.0f, 0.0f);
// ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ٿ<EFBFBD><D9BF><EFBFBD> <20>ڽ<EFBFBD> // 캐릭터 꽉차는 바운딩 박스
//GetBoundBox(&vtMin, &vtMax); //GetBoundBox(&vtMin, &vtMax);
//DrawLineCube(vtMin.x, vtMin.y, vtMin.z, vtMax.x, vtMax.y, vtMax.z); //DrawLineCube(vtMin.x, vtMin.y, vtMin.z, vtMax.x, vtMax.y, vtMax.z);
//const CThing::TMeshVector& rmeshVector=mc_pModel->meshVector; //const CThing::TMeshVector& rmeshVector=mc_pModel->meshVector;

View File

@ -161,7 +161,7 @@ void CGrannyModelInstance::__CreateMeshMatrices()
{ {
assert(m_pModel != NULL); assert(m_pModel != NULL);
if (m_pModel->GetMeshCount() <= 0) // <EFBFBD>޽<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><>޶<EFBFBD> <20><><EFBFBD><EFBFBD>) <20>𵨵<EFBFBD> <20><>Ȥ <20>ִ<EFBFBD>.. if (m_pModel->GetMeshCount() <= 0) // 메쉬가 없는 (카메라 같은) 모델도 간혹 있다..
return; return;
int meshCount = m_pModel->GetMeshCount(); int meshCount = m_pModel->GetMeshCount();
@ -274,14 +274,14 @@ const float * CGrannyModelInstance::GetBoneMatrixPointer(int iBone) const
const float * CGrannyModelInstance::GetCompositeBoneMatrixPointer(int iBone) const const float * CGrannyModelInstance::GetCompositeBoneMatrixPointer(int iBone) const
{ {
// NOTE : GrannyGetWorldPose4x4<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>߸<EFBFBD><DFB8><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>.. <20>׷<EFBFBD><D7B7>ϰ<EFBFBD> <20>ӵ<EFBFBD><D3B5><EFBFBD> <20><><EFBFBD><EFBFBD> // NOTE : GrannyGetWorldPose4x4는 스케일 값등이 잘못나올 수 있음.. 그래니가 속도를 위해
// GrannyGetWorldPose4x4<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> matrix <EFBFBD><EFBFBD><EFBFBD>Ҹ<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> // GrannyGetWorldPose4x4에 모든 matrix 원소를 제 값으로 넣지 않음
return GrannyGetWorldPoseComposite4x4(__GetWorldPosePtr(), iBone); return GrannyGetWorldPoseComposite4x4(__GetWorldPosePtr(), iBone);
} }
void CGrannyModelInstance::ReloadTexture() void CGrannyModelInstance::ReloadTexture()
{ {
assert("<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> - CGrannyModelInstance::ReloadTexture()"); assert("\xC7\xF6\xC0\xE7 \xBB\xE7\xBF\xEB\xC7\xCF\xC1\xF6 \xBE\xCA\xC0\xBD - CGrannyModelInstance::ReloadTexture()");
/* /*
assert(m_pModel != NULL); assert(m_pModel != NULL);
const CGrannyMaterialPalette & c_rGrannyMaterialPalette = m_pModel->GetMaterialPalette(); const CGrannyMaterialPalette & c_rGrannyMaterialPalette = m_pModel->GetMaterialPalette();

View File

@ -112,7 +112,7 @@ void CGrannyModelInstance::ChangeMotionPointer(const CGrannyMotion* pMotion, int
if (!pgrnModelInstance) if (!pgrnModelInstance)
return; return;
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ǵ<EFBFBD> <20>պκ<D5BA><CEBA><EFBFBD> <20><>ŵ <20>ϱ<EFBFBD> <20><><EFBFBD><EFBFBD> LocalTime <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>. - [levites] // 보간 되는 앞부분을 스킵 하기 위해 LocalTime 을 어느 정도 무시한다. - [levites]
float fSkipTime = 0.3f; float fSkipTime = 0.3f;
float localTime = GetLocalTime() - fSkipTime; float localTime = GetLocalTime() - fSkipTime;

View File

@ -47,7 +47,7 @@ void CGrannyModelInstance::DeformNoSkin(const D3DXMATRIX * c_pWorldMatrix)
// With One Texture // With One Texture
void CGrannyModelInstance::RenderWithOneTexture() void CGrannyModelInstance::RenderWithOneTexture()
{ {
// FIXME : Deform, Render, BlendRender<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ɷ<EFBFBD><C9B7>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><> - [levites] // FIXME : Deform, Render, BlendRender를 묶어 상위에서 걸러주는 것이 더 나을 듯 - [levites]
if (IsEmpty()) if (IsEmpty())
return; return;
@ -99,7 +99,7 @@ void CGrannyModelInstance::BlendRenderWithOneTexture()
// With Two Texture // With Two Texture
void CGrannyModelInstance::RenderWithTwoTexture() void CGrannyModelInstance::RenderWithTwoTexture()
{ {
// FIXME : Deform, Render, BlendRender<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ɷ<EFBFBD><C9B7>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><> - [levites] // FIXME : Deform, Render, BlendRender를 묶어 상위에서 걸러주는 것이 더 나을 듯 - [levites]
if (IsEmpty()) if (IsEmpty())
return; return;

View File

@ -1,6 +1,6 @@
#pragma once #pragma once
#pragma warning(disable:4786) // character 255 <EFBFBD>Ѿ<EFBFBD>°<EFBFBD> <20><><EFBFBD><EFBFBD> #pragma warning(disable:4786) // character 255 넘어가는거 끄기
//#include <crtdbg.h> //#include <crtdbg.h>
#include <granny/granny.h> #include <granny/granny.h>

View File

@ -342,8 +342,8 @@ bool CGraphicThingInstance::GetBonePosition(int iModelIndex, int iBoneIndex, flo
*pfz = pfMatrix[14]; *pfz = pfMatrix[14];
return true; return true;
} }
//iSkelInstance <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><20><><EFBFBD><EFBFBD> Link(<28><><EFBFBD><EFBFBD> <20>ٴ°<D9B4>)<29><>Ű<EFBFBD><C5B0>, //iSkelInstance 가 있으면 기본 본에 Link(본이 붙는것)시키고,
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><20><><EFBFBD><EFBFBD> attach(<28><>ǥ<EFBFBD><C7A5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>°<EFBFBD>) <20>˴ϴ<CBB4>. //없으면 기본 본에 attach(좌표만 가져다 쓰는것) 됩니다.
bool CGraphicThingInstance::SetModelInstance(int iDstModelInstance, int iSrcModelThing, int iSrcModel,int iSkelInstance) bool CGraphicThingInstance::SetModelInstance(int iDstModelInstance, int iSrcModelThing, int iSrcModel,int iSkelInstance)
{ {
if (!CheckModelInstanceIndex(iDstModelInstance)) if (!CheckModelInstanceIndex(iDstModelInstance))
@ -735,7 +735,7 @@ void CGraphicThingInstance::UpdateLODLevel()
const D3DXVECTOR3 & c_rv3CameraPosition = pcurCamera->GetEye(); const D3DXVECTOR3 & c_rv3CameraPosition = pcurCamera->GetEye();
const D3DXVECTOR3 & c_v3Position = GetPosition(); const D3DXVECTOR3 & c_v3Position = GetPosition();
// NOTE : <EFBFBD>߽<EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ÿ<EFBFBD> <20><><EFBFBD>꿡 z<><7A> <20><><EFBFBD>̴<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ´<CAB4>. - [levites] // NOTE : 중심으로부터의 거리 계산에 z값 차이는 사용하지 않는다. - [levites]
CGrannyLODController::FUpdateLODLevel update; CGrannyLODController::FUpdateLODLevel update;
update.fDistanceFromCenter = sqrtf((c_rv3TargetPosition.x - c_v3Position.x) * (c_rv3TargetPosition.x - c_v3Position.x) + update.fDistanceFromCenter = sqrtf((c_rv3TargetPosition.x - c_v3Position.x) * (c_rv3TargetPosition.x - c_v3Position.x) +
(c_rv3TargetPosition.y - c_v3Position.y) * (c_rv3TargetPosition.y - c_v3Position.y)); (c_rv3TargetPosition.y - c_v3Position.y) * (c_rv3TargetPosition.y - c_v3Position.y));

View File

@ -34,7 +34,7 @@ class CGraphicThingInstance : public CGraphicObjectInstance
void UpdateLODLevel(); void UpdateLODLevel();
void UpdateTime(); void UpdateTime();
void DeformAll(); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> LOD <EFBFBD><EFBFBD><EFBFBD><EFBFBD> void DeformAll(); // 모든 LOD 디폼
bool LessRenderOrder(CGraphicThingInstance* pkThingInst); bool LessRenderOrder(CGraphicThingInstance* pkThingInst);

View File

@ -9,22 +9,10 @@
<Configuration>Distribute</Configuration> <Configuration>Distribute</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="MfcDebug|Win32">
<Configuration>MfcDebug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="MfcRelease|Win32">
<Configuration>MfcRelease</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32"> <ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration> <Configuration>Release</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="VTune|Win32">
<Configuration>VTune</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup> </ItemGroup>
<PropertyGroup Label="Globals"> <PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion> <VCProjectVersion>17.0</VCProjectVersion>
@ -39,12 +27,6 @@
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion> <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType> <ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc> <UseOfMfc>false</UseOfMfc>
@ -57,18 +39,6 @@
<UseOfMfc>false</UseOfMfc> <UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType> <ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset> <PlatformToolset>v143</PlatformToolset>
@ -78,63 +48,45 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
</ImportGroup> </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> <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" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup> </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> <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" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup> </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'" Label="PropertySheets"> <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup> </ImportGroup>
<PropertyGroup Label="UserMacros" /> <PropertyGroup Label="UserMacros" />
<PropertyGroup> <PropertyGroup>
<_ProjectFileVersion>17.0.32203.90</_ProjectFileVersion> <_ProjectFileVersion>17.0.32203.90</_ProjectFileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir> <OutDir>$(SolutionDir)build\bin\$(Configuration)\</OutDir>
</PropertyGroup> <IntDir>$(SolutionDir)build\obj\$(ProjectName)\$(Configuration)\</IntDir>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir> <OutDir>$(SolutionDir)build\bin\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)build\obj\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir> <OutDir>$(SolutionDir)build\bin\$(Configuration)\</OutDir>
</PropertyGroup> <IntDir>$(SolutionDir)build\obj\$(ProjectName)\$(Configuration)\</IntDir>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<VcpkgUseStatic>true</VcpkgUseStatic> <VcpkgUseStatic>true</VcpkgUseStatic>
<VcpkgConfiguration>$(Configuration)</VcpkgConfiguration> <VcpkgConfiguration>$(Configuration)</VcpkgConfiguration>
<VcpkgInstalledDir>$(SolutionDir)build\vcpkg\</VcpkgInstalledDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'"> <PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">
<VcpkgUseStatic>true</VcpkgUseStatic> <VcpkgUseStatic>true</VcpkgUseStatic>
<VcpkgConfiguration>Release</VcpkgConfiguration> <VcpkgConfiguration>Release</VcpkgConfiguration>
<VcpkgInstalledDir>$(SolutionDir)build\vcpkg\</VcpkgInstalledDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<VcpkgUseStatic>true</VcpkgUseStatic> <VcpkgUseStatic>true</VcpkgUseStatic>
<VcpkgConfiguration>$(Configuration)</VcpkgConfiguration> <VcpkgConfiguration>$(Configuration)</VcpkgConfiguration>
<VcpkgInstalledDir>$(SolutionDir)build\vcpkg\</VcpkgInstalledDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Label="Vcpkg"> <PropertyGroup Label="Vcpkg">
<VcpkgEnableManifest>true</VcpkgEnableManifest> <VcpkgEnableManifest>true</VcpkgEnableManifest>
@ -148,11 +100,7 @@
<StringPooling>true</StringPooling> <StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking> <FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeaderOutputFile>.\Distribute/eterImageLib.pch</PrecompiledHeaderOutputFile>
<AssemblerOutput>All</AssemblerOutput> <AssemblerOutput>All</AssemblerOutput>
<AssemblerListingLocation>.\Distribute/</AssemblerListingLocation>
<ObjectFileName>.\Distribute/</ObjectFileName>
<ProgramDataBaseFileName>.\Distribute/</ProgramDataBaseFileName>
<BrowseInformation /> <BrowseInformation />
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner> <SuppressStartupBanner>true</SuppressStartupBanner>
@ -169,61 +117,6 @@
<SuppressStartupBanner>true</SuppressStartupBanner> <SuppressStartupBanner>true</SuppressStartupBanner>
</Lib> </Lib>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>.;../../extern/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeaderOutputFile>.\MfcRelease/eterImageLib.pch</PrecompiledHeaderOutputFile>
<AssemblerOutput>All</AssemblerOutput>
<AssemblerListingLocation>.\MfcRelease/</AssemblerListingLocation>
<ObjectFileName>.\MfcRelease/</ObjectFileName>
<ProgramDataBaseFileName>.\MfcRelease/</ProgramDataBaseFileName>
<BrowseInformation />
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0412</Culture>
</ResourceCompile>
<Lib>
<OutputFile>.\MfcRelease\eterImageLib.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.;../../extern/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeaderOutputFile>.\MfcDebug/eterImageLib.pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\MfcDebug/</AssemblerListingLocation>
<ObjectFileName>.\MfcDebug/</ObjectFileName>
<ProgramDataBaseFileName>.\MfcDebug/</ProgramDataBaseFileName>
<BrowseInformation />
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0412</Culture>
</ResourceCompile>
<Lib>
<OutputFile>.\MfcDebug\eterImageLib.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile> <ClCompile>
<Optimization>Disabled</Optimization> <Optimization>Disabled</Optimization>
@ -231,10 +124,6 @@
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeaderOutputFile>.\Debug/eterImageLib.pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
<ObjectFileName>.\Debug/</ObjectFileName>
<ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
<BrowseInformation /> <BrowseInformation />
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner> <SuppressStartupBanner>true</SuppressStartupBanner>
@ -260,10 +149,6 @@
<StringPooling>true</StringPooling> <StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking> <FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeaderOutputFile>.\Release/eterImageLib.pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\Release/</AssemblerListingLocation>
<ObjectFileName>.\Release/</ObjectFileName>
<ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
<BrowseInformation /> <BrowseInformation />
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner> <SuppressStartupBanner>true</SuppressStartupBanner>
@ -280,62 +165,20 @@
<SuppressStartupBanner>true</SuppressStartupBanner> <SuppressStartupBanner>true</SuppressStartupBanner>
</Lib> </Lib>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">
<ClCompile>
<AdditionalOptions>/Gs %(AdditionalOptions)</AdditionalOptions>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.;../../extern/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeaderOutputFile>.\VTune/eterImageLib.pch</PrecompiledHeaderOutputFile>
<AssemblerOutput>All</AssemblerOutput>
<AssemblerListingLocation>.\VTune/</AssemblerListingLocation>
<ObjectFileName>.\VTune/</ObjectFileName>
<ProgramDataBaseFileName>.\VTune/</ProgramDataBaseFileName>
<BrowseInformation />
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0412</Culture>
</ResourceCompile>
<Lib>
<OutputFile>.\VTune\eterImageLib.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
</ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="DXTCImage.cpp"> <ClCompile Include="DXTCImage.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
<ClCompile Include="Image.cpp"> <ClCompile Include="Image.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
<ClCompile Include="StdAfx.cpp"> <ClCompile Include="StdAfx.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
@ -346,32 +189,16 @@
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">Create</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">Create</PrecompiledHeader>
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">stdafx.h</PrecompiledHeaderFile> <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">stdafx.h</PrecompiledHeaderFile>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">stdafx.h</PrecompiledHeaderFile>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MaxSpeed</Optimization>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">Create</PrecompiledHeader>
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">stdafx.h</PrecompiledHeaderFile>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">stdafx.h</PrecompiledHeaderFile> <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">stdafx.h</PrecompiledHeaderFile>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Create</PrecompiledHeader>
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">stdafx.h</PrecompiledHeaderFile>
</ClCompile> </ClCompile>
<ClCompile Include="TGAImage.cpp"> <ClCompile Include="TGAImage.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation> <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">MaxSpeed</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Size</FavorSizeOrSpeed>
</ClCompile> </ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View File

@ -9,11 +9,11 @@
struct TGA_HEADER struct TGA_HEADER
{ {
char idLen; // 0 char idLen; // 0
char palType; // <EFBFBD>ķ<EFBFBD>Ʈ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1, <20><><EFBFBD><EFBFBD> 0 char palType; // 파레트있으면 1, 없음 0
char imgType; // <EFBFBD>ķ<EFBFBD>Ʈ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1, <20><><EFBFBD><EFBFBD> 2 char imgType; // 파레트있으면 1, 없음 2
WORD colorBegin; // 0 WORD colorBegin; // 0
WORD colorCount; // <EFBFBD>ķ<EFBFBD>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 256, <EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0 WORD colorCount; // 파레트 있으면 256, 없음 0
char palEntrySize; // <EFBFBD>ķ<EFBFBD>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 24, <EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0 char palEntrySize; // 파레트 있으면 24, 없음 0
WORD left; WORD left;
WORD top; WORD top;
WORD width; WORD width;

View File

@ -33,7 +33,7 @@ void CTGAImage::Create(int width, int height)
m_Header.width = (short) width; m_Header.width = (short) width;
m_Header.height = (short) height; m_Header.height = (short) height;
m_Header.colorBits = 32; m_Header.colorBits = 32;
m_Header.desc = 0x08; // alpha channel <EFBFBD><EFBFBD><EFBFBD><EFBFBD> m_Header.desc = 0x08; // alpha channel 있음
CImage::Create(width, height); CImage::Create(width, height);
} }
@ -54,7 +54,7 @@ bool CTGAImage::LoadFromMemory(int iSize, const BYTE * c_pbMem)
switch (m_Header.imgType) switch (m_Header.imgType)
{ {
case 3: // <EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD> <20>ִ<EFBFBD> <20><> (1bytes per pixel, <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ⱦ<EFBFBD><C8BE><EFBFBD>) case 3: // 알파만 있는 것 (1bytes per pixel, 거의 안쓰임)
{ {
for (i = 0; i < hxw; ++i) for (i = 0; i < hxw; ++i)
{ {
@ -64,7 +64,7 @@ bool CTGAImage::LoadFromMemory(int iSize, const BYTE * c_pbMem)
} }
break; break;
case 2: // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ȵ<EFBFBD> TGA case 2: // 압축 안된 TGA
{ {
if (m_Header.colorBits == 16) // 16bit if (m_Header.colorBits == 16) // 16bit
{ {
@ -112,7 +112,7 @@ bool CTGAImage::LoadFromMemory(int iSize, const BYTE * c_pbMem)
} }
break; break;
case 10: // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> TGA (RLE) case 10: // 압축 된 TGA (RLE)
{ {
BYTE rle; BYTE rle;
@ -123,7 +123,7 @@ bool CTGAImage::LoadFromMemory(int iSize, const BYTE * c_pbMem)
{ {
rle = (BYTE) *(c_pbMem++); --iSize; rle = (BYTE) *(c_pbMem++); --iSize;
if (rle < 0x80) // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ȵ<EFBFBD> <20><> if (rle < 0x80) // 압축 안된 곳
{ {
rle++; rle++;
@ -146,7 +146,7 @@ bool CTGAImage::LoadFromMemory(int iSize, const BYTE * c_pbMem)
} }
else else
{ {
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> // 압축 된 곳
rle -= 127; rle -= 127;
b = (BYTE) *(c_pbMem++); --iSize; b = (BYTE) *(c_pbMem++); --iSize;
@ -234,18 +234,6 @@ bool CTGAImage::LoadFromMemory(int iSize, const BYTE * c_pbMem)
return true; return true;
} }
bool CTGAImage::LoadFromDiskFile(const char * c_szFileName)
{
CMappedFile file;
const BYTE * c_pbMap;
if (!file.Create(c_szFileName, (const void **) &c_pbMap, 0, 0))
return false;
return LoadFromMemory(file.Size(), c_pbMap);
}
int CTGAImage::GetRLEPixelCount(const DWORD * data) int CTGAImage::GetRLEPixelCount(const DWORD * data)
{ {
int r = 0; int r = 0;
@ -315,7 +303,7 @@ bool CTGAImage::SaveToDiskFile(const char* c_szFileName)
fwrite(&m_Header, 18, 1, fp); fwrite(&m_Header, 18, 1, fp);
if (m_Header.imgType == 10) // RLE <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> if (m_Header.imgType == 10) // RLE 압축으로 저장
{ {
DWORD * data = GetBasePointer(); DWORD * data = GetBasePointer();

View File

@ -17,7 +17,6 @@ class CTGAImage : public CImage
virtual void Create(int width, int height); virtual void Create(int width, int height);
virtual bool LoadFromMemory(int iSize, const BYTE * c_pbMem); virtual bool LoadFromMemory(int iSize, const BYTE * c_pbMem);
virtual bool LoadFromDiskFile(const char * c_szFileName);
virtual bool SaveToDiskFile(const char* c_szFileName); virtual bool SaveToDiskFile(const char* c_szFileName);
void SetCompressed(bool isCompress = true); void SetCompressed(bool isCompress = true);

View File

@ -61,7 +61,7 @@ bool CAttributeData::OnLoad(int /*iSize*/, const void * c_pvBuf)
{ {
if (!c_pvBuf) if (!c_pvBuf)
{ {
// NOTE: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ٸ<EFBFBD><D9B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>׷<EFBFBD><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><20><><EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD> <20>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD> <20>ʰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŵ. // NOTE: 파일이 존재하지 않으면 다른곳에서 그래픽 모델을 기반으로 충돌 데이터를 생성하니 리소스를 파괴하지 않고 유지시킴.
return true; return true;
} }

View File

@ -15,7 +15,7 @@ class CAttributeInstance
const char * GetDataFileName() const; const char * GetDataFileName() const;
// NOTE : Object <EFBFBD><EFBFBD><EFBFBD><EFBFBD> // NOTE : Object 전용
void SetObjectPointer(CAttributeData * pAttributeData); void SetObjectPointer(CAttributeData * pAttributeData);
void RefreshObject(const D3DXMATRIX & c_rmatGlobal); void RefreshObject(const D3DXMATRIX & c_rmatGlobal);
CAttributeData * GetObjectPointer() const; CAttributeData * GetObjectPointer() const;

View File

@ -438,7 +438,7 @@ void CCamera::RotateEyeAroundTarget(float fPitchDegree, float fRollDegree)
D3DXMATRIX matRot, matRotPitch, matRotRoll; D3DXMATRIX matRot, matRotPitch, matRotRoll;
// <EFBFBD>Ӹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ѿ<D1BE><EEB0A1> <20><><EFBFBD><EFBFBD>... // 머리위로 넘어가기 막기...
if (m_fPitch + fPitchDegree > 80.0f) if (m_fPitch + fPitchDegree > 80.0f)
{ {
fPitchDegree = 80.0f - m_fPitch; fPitchDegree = 80.0f - m_fPitch;
@ -593,7 +593,7 @@ bool CCameraManager::isCurrentCamera(unsigned char ucCameraNum)
return false; return false;
} }
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Լ<EFBFBD><D4BC><EFBFBD>... // 잡스러운 함수들...
bool CCameraManager::AddCamera(unsigned char ucCameraNum) bool CCameraManager::AddCamera(unsigned char ucCameraNum)
{ {
if(m_CameraMap.end() != m_CameraMap.find(ucCameraNum)) if(m_CameraMap.end() != m_CameraMap.find(ucCameraNum))

View File

@ -51,8 +51,8 @@ class CCamera
void SetResistance(float fResistance); void SetResistance(float fResistance);
private: private:
const CCamera & operator = (const CCamera &) ; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> const CCamera & operator = (const CCamera &) ; // 지원하지 않음
CCamera (const CCamera & ) ; //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> CCamera (const CCamera & ) ; //지원하지 않음
// Camera Update // Camera Update
eCameraState m_eCameraState; eCameraState m_eCameraState;
@ -85,14 +85,14 @@ class CCamera
D3DXMATRIX m_matInverseView; D3DXMATRIX m_matInverseView;
D3DXMATRIX m_matBillboard; // Special matrix for billboarding effects D3DXMATRIX m_matBillboard; // Special matrix for billboarding effects
//<EFBFBD>߰<EFBFBD><EFBFBD><EFBFBD> //추가분
float m_fPitch; float m_fPitch;
float m_fRoll; float m_fRoll;
float m_fDistance; float m_fDistance;
// ī<EFBFBD>޶<EFBFBD> AI<41><49> <20><><EFBFBD><EFBFBD> Ray <EFBFBD><EFBFBD> // 카메라 AI를 위한 Ray
// ī<EFBFBD>޶<EFBFBD><EFBFBD><EFBFBD> <20>ѷ<EFBFBD><D1B7><EFBFBD> Ray // 카메라를 둘러싼 Ray
CRay m_kCameraBottomToTerrainRay; CRay m_kCameraBottomToTerrainRay;
CRay m_kCameraFrontToTerrainRay; CRay m_kCameraFrontToTerrainRay;
CRay m_kCameraBackToTerrainRay; CRay m_kCameraBackToTerrainRay;
@ -124,14 +124,14 @@ class CCamera
bool m_bDrag; bool m_bDrag;
// protected: // protected:
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD> // 물리
D3DXVECTOR3 m_v3AngularAcceleration; D3DXVECTOR3 m_v3AngularAcceleration;
D3DXVECTOR3 m_v3AngularVelocity; D3DXVECTOR3 m_v3AngularVelocity;
float m_fResistance; float m_fResistance;
public: public:
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD> // 물리
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
void SetAngularAcceleration(D3DXVECTOR3 v3AngularAcceleration) { m_v3AngularAcceleration = v3AngularAcceleration; } void SetAngularAcceleration(D3DXVECTOR3 v3AngularAcceleration) { m_v3AngularAcceleration = v3AngularAcceleration; }
@ -185,7 +185,7 @@ class CCamera
float GetRoll() const { return m_fRoll; } float GetRoll() const { return m_fRoll; }
float GetDistance() const { return m_fDistance; } float GetDistance() const { return m_fDistance; }
void Pitch(const float fPitchDelta); //<EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ´<D6B4>. void Pitch(const float fPitchDelta); //돌아가는 각도를 넣는다.
void Roll(const float fRollDelta); void Roll(const float fRollDelta);
void SetDistance(const float fdistance); void SetDistance(const float fdistance);
@ -193,35 +193,35 @@ class CCamera
// camera movement // camera movement
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// <EFBFBD><EFBFBD><EFBFBD>״<EFBFBD><EFBFBD><EFBFBD> <20>̵<EFBFBD>... ī<>޶<EFBFBD> <20><>ġ<EFBFBD><C4A1> Ÿ<><C5B8> <20><>ġ<EFBFBD><C4A1> <20><><EFBFBD><EFBFBD> <20>޶<EFBFBD><DEB6><EFBFBD><EFBFBD><EFBFBD>. // 말그대로 이동... 카메라 위치와 타겟 위치가 모두 달라진다.
void Move(const D3DXVECTOR3 & v3Displacement); void Move(const D3DXVECTOR3 & v3Displacement);
// <EFBFBD><EFBFBD>.. ī<EFBFBD>޶<EFBFBD> <20><>ġ<EFBFBD><C4A1> <20>̵<EFBFBD>.. Ÿ<><C5B8> <20><>ġ<EFBFBD><C4A1> <20><><EFBFBD><EFBFBD>... // .. 카메라 위치만 이동.. 타겟 위치는 고정...
void Zoom(float fRatio); void Zoom(float fRatio);
// <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>̵<EFBFBD>.. Ÿ<><C5B8><EFBFBD><EFBFBD>ġ<EFBFBD><C4A1> <20>޶<EFBFBD><DEB6><EFBFBD><EFBFBD>Ƿ<EFBFBD> <20>ܰ<EFBFBD><DCB0><EFBFBD> <20>ٸ<EFBFBD><D9B8><EFBFBD>... // 뷰 방향으로 이동.. 타겟위치가 달라지므로 줌과는 다르다...
void MoveAlongView(float fDistance); void MoveAlongView(float fDistance);
// ī<EFBFBD>޶<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>̵<EFBFBD>.. // 카메라 옆 방향으로 이동..
void MoveAlongCross(float fDistance); void MoveAlongCross(float fDistance);
// ī<EFBFBD>޶<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>̵<EFBFBD>... // 카메라 업벡터 방향으로 이동...
void MoveAlongUp(float fDistance); void MoveAlongUp(float fDistance);
// ī<EFBFBD>޶<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>̵<EFBFBD>... MoveAlongCross<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.. // 카메라 옆 방향으로 이동... MoveAlongCross과 동일..
void MoveLateral(float fDistance); void MoveLateral(float fDistance);
// <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Z <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> XY<58><59><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>̵<EFBFBD>.. // 뷰 방향의 Z 성분을 무시한 XY평면 방향으로 이동..
void MoveFront(float fDistance); void MoveFront(float fDistance);
// Z<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)<29><><EFBFBD><EFBFBD> <20>̵<EFBFBD>... // Z방향(연직 방향)으로 이동...
void MoveVertical(float fDistance); void MoveVertical(float fDistance);
// //ī<EFBFBD>޶<EFBFBD> <20><>ġ<EFBFBD><C4A1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ű<EFBFBD><C5B0> <20>Ӹ<EFBFBD><D3B8><EFBFBD> <20><><EFBFBD><EFBFBD>. Ÿ<><C5B8><EFBFBD><EFBFBD> <20>޶<EFBFBD><DEB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? // //카메라 위치는 고정시키고 머리만 든다. 타겟이 달라지겠죠?
// //ȸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ƴ<EFBFBD> "<22><>(Degree)"<EFBFBD><EFBFBD> <20>ִ´<D6B4>. // //회전각을 라디안이 아닌 "도(Degree)"로 넣는다.
// void RotateUpper(float fDegree); // void RotateUpper(float fDegree);
// Ÿ<EFBFBD><EFBFBD> <20>߽<EFBFBD><DFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>. Eterlib<EFBFBD><EFBFBD> SetAroundCamera<EFBFBD><EFBFBD> <20><><EFBFBD>ɰ<EFBFBD> <20><><EFBFBD><EFBFBD>... // 타겟 중심으로 돈다. Eterlib SetAroundCamera의 기능과 유사...
// fPitchDegree<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>(0<><30>)<29>κ<EFBFBD><CEBA><EFBFBD> <20>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>... // fPitchDegree는 수평(0도)로부터 아랫쪽으로 꺽어지는 각도...
// fRollDegree<EFBFBD><EFBFBD> Ÿ<><C5B8> <20>߽<EFBFBD><DFBD><EFBFBD><EFBFBD><EFBFBD> <20>ð<EFBFBD><C3B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>... // fRollDegree는 타겟 중심으로 시계방향으로 도는 각도...
void RotateEyeAroundTarget(float fPitchDegree, float fRollDegree); void RotateEyeAroundTarget(float fPitchDegree, float fRollDegree);
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>߽<EFBFBD><DFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20>߽<EFBFBD><DFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>. Ÿ<><C5B8> <20><><EFBFBD><EFBFBD> <20>޶<EFBFBD><DEB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? // 도는 중심점을 따로 지정 그 점을 중심으로 돈다. 타겟 점도 달라지겠죠?
void RotateEyeAroundPoint(const D3DXVECTOR3 & v3Point, float fPitchDegree, float fRollDegree); void RotateEyeAroundPoint(const D3DXVECTOR3 & v3Point, float fPitchDegree, float fRollDegree);
protected: protected:

View File

@ -230,7 +230,7 @@ bool CSphereCollisionInstance::OnMovementCollisionDynamicSphere(const CDynamicSp
{ {
if (square_distance_between_linesegment_and_point(s.v3LastPosition,s.v3Position,m_attribute.v3Position) < (m_attribute.fRadius+s.fRadius)*(m_attribute.fRadius+s.fRadius)) if (square_distance_between_linesegment_and_point(s.v3LastPosition,s.v3Position,m_attribute.v3Position) < (m_attribute.fRadius+s.fRadius)*(m_attribute.fRadius+s.fRadius))
{ {
// NOTE : <EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.. - [levites] // NOTE : 거리가 가까워 졌을때만.. - [levites]
if (GetVector3Distance(s.v3Position, m_attribute.v3Position) < if (GetVector3Distance(s.v3Position, m_attribute.v3Position) <
GetVector3Distance(s.v3LastPosition, m_attribute.v3Position)) GetVector3Distance(s.v3LastPosition, m_attribute.v3Position))
return true; return true;
@ -321,7 +321,7 @@ bool CPlaneCollisionInstance::OnMovementCollisionDynamicSphere(const CDynamicSph
if (D3DXVec3Dot(&v3QuadPosition2, &m_attribute.v3InsideVector[2]) > - s.fRadius/*0.0f*/) if (D3DXVec3Dot(&v3QuadPosition2, &m_attribute.v3InsideVector[2]) > - s.fRadius/*0.0f*/)
if (D3DXVec3Dot(&v3QuadPosition2, &m_attribute.v3InsideVector[3]) > - s.fRadius/*0.0f*/) if (D3DXVec3Dot(&v3QuadPosition2, &m_attribute.v3InsideVector[3]) > - s.fRadius/*0.0f*/)
{ {
// NOTE : <EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.. - [levites] // NOTE : 거리가 가까워 졌을때만.. - [levites]
if (fabs(D3DXVec3Dot(&(s.v3Position - m_attribute.v3Position), &m_attribute.v3Normal)) < if (fabs(D3DXVec3Dot(&(s.v3Position - m_attribute.v3Position), &m_attribute.v3Normal)) <
fabs(D3DXVec3Dot(&(s.v3LastPosition - m_attribute.v3Position), &m_attribute.v3Normal))) fabs(D3DXVec3Dot(&(s.v3LastPosition - m_attribute.v3Position), &m_attribute.v3Normal)))
return true; return true;
@ -471,14 +471,14 @@ bool CCylinderCollisionInstance::OnMovementCollisionDynamicSphere(const CDynamic
{ {
if (CollideCylinderVSDynamicSphere(m_attribute, s)) if (CollideCylinderVSDynamicSphere(m_attribute, s))
{ {
// NOTE : <EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.. - [levites] // NOTE : 거리가 가까워 졌을때만.. - [levites]
if (GetVector3Distance(s.v3Position, m_attribute.v3Position) < if (GetVector3Distance(s.v3Position, m_attribute.v3Position) <
GetVector3Distance(s.v3LastPosition, m_attribute.v3Position)) GetVector3Distance(s.v3LastPosition, m_attribute.v3Position))
return true; return true;
} }
// NOTE : <EFBFBD>̵<EFBFBD> <20>Ÿ<EFBFBD><C5B8><EFBFBD> Ŭ <20><><EFBFBD><EFBFBD> <20><>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD> (<28><> ũ<><C5A9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20>̵<EFBFBD><CCB5>ϸ鼭 <20><><EFBFBD><EFBFBD> üũ <20><> <20><><EFBFBD><EFBFBD> - [levites] // NOTE : 이동 거리가 클 경우 빈틈없이 (원 크기 단위로) 이동하면서 전부 체크 해 본다 - [levites]
D3DXVECTOR3 v3Distance = s.v3Position - s.v3LastPosition; D3DXVECTOR3 v3Distance = s.v3Position - s.v3LastPosition;
float fDistance = D3DXVec3Length(&v3Distance); float fDistance = D3DXVec3Length(&v3Distance);
if (s.fRadius<=0.0001f) if (s.fRadius<=0.0001f)

View File

@ -27,10 +27,10 @@ class CColorTransitionHelper
bool isTransitionStarted() { return m_bTransitionStarted; } bool isTransitionStarted() { return m_bTransitionStarted; }
private: private:
D3DCOLOR m_dwCurColor; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> D3DCOLOR m_dwCurColor; // 현재 색
DWORD m_dwStartTime; // <EFBFBD>ٲ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20>ð<EFBFBD> DWORD m_dwStartTime; // 바뀌기 시작하는 시간
DWORD m_dwDuration; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ȿ<EFBFBD> <20>ٲ<EFBFBD><D9B2>°<EFBFBD>? DWORD m_dwDuration; // 얼마 동안에 바뀌는가?
bool m_bTransitionStarted; bool m_bTransitionStarted;

View File

@ -93,7 +93,7 @@ void CCullingManager::Reset()
void CCullingManager::Update() void CCullingManager::Update()
{ {
// TODO : update each object // TODO : update each object
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ϰ<EFBFBD> <20>غ<EFBFBD><D8BA><EFBFBD> // 하지말고 각자 하게 해보자
//DWORD time = ELTimer_GetMSec(); //DWORD time = ELTimer_GetMSec();
//Reset(); //Reset();

View File

@ -42,15 +42,15 @@ protected:
D3DXPLANE m_v4FrontPlane; D3DXPLANE m_v4FrontPlane;
D3DXPLANE m_v4BackPlane; D3DXPLANE m_v4BackPlane;
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD> // 개수
DWORD m_dwVertexCount; DWORD m_dwVertexCount;
DWORD m_dwPrimitiveCount; DWORD m_dwPrimitiveCount;
// <EFBFBD><EFBFBD><EFBFBD>ý<EFBFBD> <20><><EFBFBD>ۿ<EFBFBD> <20>δ콺 <20><><EFBFBD><EFBFBD> // 버택스 버퍼와 인댁스 버퍼
// CGraphicVertexBuffer m_GraphicVertexBuffer; // CGraphicVertexBuffer m_GraphicVertexBuffer;
// CGraphicIndexBuffer m_GraphicIndexBuffer; // CGraphicIndexBuffer m_GraphicIndexBuffer;
// <EFBFBD><EFBFBD><EFBFBD>ý<EFBFBD> <20><><EFBFBD>ۿ<EFBFBD> <20>δ콺 <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ſ<EFBFBD> <20><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DrawIndexedPrimitiveUP<EFBFBD><EFBFBD> <20>׸<EFBFBD><D7B8><EFBFBD>. // 버택스 버퍼와 인댁스 버퍼 대신에 배열 만들고 DrawIndexedPrimitiveUP로 그리자.
typedef struct typedef struct
{ {
WORD m_wMinIndex; WORD m_wMinIndex;

View File

@ -9,22 +9,10 @@
<Configuration>Distribute</Configuration> <Configuration>Distribute</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="MfcDebug|Win32">
<Configuration>MfcDebug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="MfcRelease|Win32">
<Configuration>MfcRelease</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32"> <ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration> <Configuration>Release</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="VTune|Win32">
<Configuration>VTune</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup> </ItemGroup>
<PropertyGroup Label="Globals"> <PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion> <VCProjectVersion>17.0</VCProjectVersion>
@ -51,126 +39,58 @@
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v143</PlatformToolset> <PlatformToolset>v143</PlatformToolset>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType> <ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset> <PlatformToolset>v143</PlatformToolset>
<UseOfMfc>false</UseOfMfc> <UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
</ImportGroup> </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'" Label="PropertySheets"> <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup> </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> <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" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup> </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> <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" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup> </ImportGroup>
<PropertyGroup Label="UserMacros" /> <PropertyGroup Label="UserMacros" />
<PropertyGroup> <PropertyGroup>
<_ProjectFileVersion>17.0.32203.90</_ProjectFileVersion> <_ProjectFileVersion>17.0.32203.90</_ProjectFileVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir> <OutDir>$(SolutionDir)build\bin\$(Configuration)\</OutDir>
</PropertyGroup> <IntDir>$(SolutionDir)build\obj\$(ProjectName)\$(Configuration)\</IntDir>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir> <OutDir>$(SolutionDir)build\bin\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)build\obj\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir> <OutDir>$(SolutionDir)build\bin\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)build\obj\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<VcpkgUseStatic>true</VcpkgUseStatic> <VcpkgUseStatic>true</VcpkgUseStatic>
<VcpkgConfiguration>$(Configuration)</VcpkgConfiguration> <VcpkgConfiguration>$(Configuration)</VcpkgConfiguration>
<VcpkgInstalledDir>$(SolutionDir)build\vcpkg\</VcpkgInstalledDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'"> <PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">
<VcpkgUseStatic>true</VcpkgUseStatic> <VcpkgUseStatic>true</VcpkgUseStatic>
<VcpkgConfiguration>Release</VcpkgConfiguration> <VcpkgConfiguration>Release</VcpkgConfiguration>
<VcpkgInstalledDir>$(SolutionDir)build\vcpkg\</VcpkgInstalledDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<VcpkgUseStatic>true</VcpkgUseStatic> <VcpkgUseStatic>true</VcpkgUseStatic>
<VcpkgConfiguration>$(Configuration)</VcpkgConfiguration> <VcpkgConfiguration>$(Configuration)</VcpkgConfiguration>
<VcpkgInstalledDir>$(SolutionDir)build\vcpkg\</VcpkgInstalledDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Label="Vcpkg"> <PropertyGroup Label="Vcpkg">
<VcpkgEnableManifest>true</VcpkgEnableManifest> <VcpkgEnableManifest>true</VcpkgEnableManifest>
</PropertyGroup> </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>.;../../extern/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>StdAfx.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile>
<AssemblerOutput>All</AssemblerOutput>
<AssemblerListingLocation>.\MfcRelease/</AssemblerListingLocation>
<ObjectFileName>.\MfcRelease/</ObjectFileName>
<ProgramDataBaseFileName>.\MfcRelease/</ProgramDataBaseFileName>
<BrowseInformation />
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0412</Culture>
<AdditionalIncludeDirectories>c:/eterlib/bin/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Lib>
<OutputFile>.\MfcRelease\eterlib.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile> <ClCompile>
<Optimization>Disabled</Optimization> <Optimization>Disabled</Optimization>
@ -180,10 +100,6 @@
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>Use</PrecompiledHeader> <PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>StdAfx.h</PrecompiledHeaderFile> <PrecompiledHeaderFile>StdAfx.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
<ObjectFileName>.\Debug/</ObjectFileName>
<ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
<BrowseInformation /> <BrowseInformation />
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner> <SuppressStartupBanner>true</SuppressStartupBanner>
@ -200,69 +116,6 @@
<SuppressStartupBanner>true</SuppressStartupBanner> <SuppressStartupBanner>true</SuppressStartupBanner>
</Lib> </Lib>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">
<ClCompile>
<AdditionalOptions>/Gs %(AdditionalOptions)</AdditionalOptions>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.;../../extern/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>StdAfx.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile>
<AssemblerOutput>All</AssemblerOutput>
<AssemblerListingLocation>.\VTune/</AssemblerListingLocation>
<ObjectFileName>.\VTune/</ObjectFileName>
<ProgramDataBaseFileName>.\VTune/</ProgramDataBaseFileName>
<BrowseInformation />
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0412</Culture>
<AdditionalIncludeDirectories>c:/eterlib/bin/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Lib>
<OutputFile>.\VTune\eterlib.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.;../../extern/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>StdAfx.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\MfcDebug/</AssemblerListingLocation>
<ObjectFileName>.\MfcDebug/</ObjectFileName>
<ProgramDataBaseFileName>.\MfcDebug/</ProgramDataBaseFileName>
<BrowseInformation />
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0412</Culture>
</ResourceCompile>
<Lib>
<OutputFile>.\MfcDebug\eterlib.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile> <ClCompile>
<Optimization>MaxSpeed</Optimization> <Optimization>MaxSpeed</Optimization>
@ -274,10 +127,6 @@
<FunctionLevelLinking>true</FunctionLevelLinking> <FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>Use</PrecompiledHeader> <PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>StdAfx.h</PrecompiledHeaderFile> <PrecompiledHeaderFile>StdAfx.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\Release/</AssemblerListingLocation>
<ObjectFileName>.\Release/</ObjectFileName>
<ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
<BrowseInformation /> <BrowseInformation />
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner> <SuppressStartupBanner>true</SuppressStartupBanner>
@ -306,11 +155,7 @@
<FunctionLevelLinking>true</FunctionLevelLinking> <FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>Use</PrecompiledHeader> <PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>StdAfx.h</PrecompiledHeaderFile> <PrecompiledHeaderFile>StdAfx.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile>
<AssemblerOutput>All</AssemblerOutput> <AssemblerOutput>All</AssemblerOutput>
<AssemblerListingLocation>.\Distribute/</AssemblerListingLocation>
<ObjectFileName>.\Distribute/</ObjectFileName>
<ProgramDataBaseFileName>.\Distribute/</ProgramDataBaseFileName>
<BrowseInformation /> <BrowseInformation />
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner> <SuppressStartupBanner>true</SuppressStartupBanner>
@ -396,10 +241,7 @@
<ClCompile Include="StdAfx.cpp"> <ClCompile Include="StdAfx.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">Create</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Distribute|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='MfcDebug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='MfcRelease|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='VTune|Win32'">Create</PrecompiledHeader>
</ClCompile> </ClCompile>
<ClCompile Include="TargaResource.cpp" /> <ClCompile Include="TargaResource.cpp" />
<ClCompile Include="TextBar.cpp" /> <ClCompile Include="TextBar.cpp" />

View File

@ -47,9 +47,6 @@ void CFileLoaderThread::Destroy()
CloseHandle(m_hSemaphore); CloseHandle(m_hSemaphore);
m_hSemaphore = NULL; m_hSemaphore = NULL;
} }
stl_wipe(m_pRequestDeque);
stl_wipe(m_pCompleteDeque);
} }
UINT CFileLoaderThread::Setup() UINT CFileLoaderThread::Setup()
@ -79,7 +76,7 @@ void CFileLoaderThread::Shutdown()
} }
while (!bRet); while (!bRet);
WaitForSingleObject(m_hThread, 10000); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD> <20>DZ⸦ 10<31><30> <20><><EFBFBD>ٸ<EFBFBD> WaitForSingleObject(m_hThread, 10000); // 쓰레드가 종료 되기를 10초 기다림
} }
UINT CFileLoaderThread::Execute(void * /*pvArg*/) UINT CFileLoaderThread::Execute(void * /*pvArg*/)
@ -111,13 +108,11 @@ UINT CFileLoaderThread::Execute(void * /*pvArg*/)
return 1; return 1;
} }
void CFileLoaderThread::Request(std::string & c_rstFileName) // called in main thread void CFileLoaderThread::Request(const std::string& c_rstFileName) // called in main thread
{ {
TData * pData = new TData; TData pData;
pData.fileName = c_rstFileName;
pData->dwSize = 0; pData.data = nullptr;
pData->pvBuf = NULL;
pData->stFileName = c_rstFileName;
m_RequestMutex.Lock(); m_RequestMutex.Lock();
m_pRequestDeque.push_back(pData); m_pRequestDeque.push_back(pData);
@ -131,7 +126,7 @@ void CFileLoaderThread::Request(std::string & c_rstFileName) // called in main t
--m_iRestSemCount; --m_iRestSemCount;
} }
bool CFileLoaderThread::Fetch(TData ** ppData) // called in main thread bool CFileLoaderThread::Fetch(TData& data) // called in main thread
{ {
m_CompleteMutex.Lock(); m_CompleteMutex.Lock();
@ -141,7 +136,7 @@ bool CFileLoaderThread::Fetch(TData ** ppData) // called in main thread
return false; return false;
} }
*ppData = m_pCompleteDeque.front(); data = m_pCompleteDeque.front();
m_pCompleteDeque.pop_front(); m_pCompleteDeque.pop_front();
m_CompleteMutex.Unlock(); m_CompleteMutex.Unlock();
@ -158,22 +153,16 @@ void CFileLoaderThread::Process() // called in loader thread
return; return;
} }
TData * pData = m_pRequestDeque.front(); auto request = m_pRequestDeque.front();
m_pRequestDeque.pop_front(); m_pRequestDeque.pop_front();
m_RequestMutex.Unlock(); m_RequestMutex.Unlock();
LPCVOID pvBuf; if (!CEterPackManager::Instance().Get(request.fileName, request.data))
request.data = nullptr;
if (CEterPackManager::Instance().Get(pData->File, pData->stFileName.c_str(), &pvBuf))
{
pData->dwSize = pData->File.Size();
pData->pvBuf = new char [pData->dwSize];
memcpy(pData->pvBuf, pvBuf, pData->dwSize);
}
m_CompleteMutex.Lock(); m_CompleteMutex.Lock();
m_pCompleteDeque.push_back(pData); m_pCompleteDeque.push_back(request);
m_CompleteMutex.Unlock(); m_CompleteMutex.Unlock();
Sleep(g_iLoadingDelayTime); Sleep(g_iLoadingDelayTime);

View File

@ -2,20 +2,18 @@
#define __INC_YMIR_ETERLIB_FILELOADERTHREAD_H__ #define __INC_YMIR_ETERLIB_FILELOADERTHREAD_H__
#include <deque> #include <deque>
#include <memory>
#include <vector>
#include "Thread.h" #include "Thread.h"
#include "Mutex.h" #include "Mutex.h"
#include "../eterBase/MappedFile.h"
class CFileLoaderThread class CFileLoaderThread
{ {
public: public:
typedef struct SData typedef struct SData
{ {
std::string stFileName; std::string fileName;
std::shared_ptr<std::vector<char>> data;
CMappedFile File;
LPVOID pvBuf;
DWORD dwSize;
} TData; } TData;
public: public:
@ -25,8 +23,8 @@ class CFileLoaderThread
int Create(void * arg); int Create(void * arg);
public: public:
void Request(std::string & c_rstFileName); void Request(const std::string& c_rstFileName);
bool Fetch(TData ** ppData); bool Fetch(TData& data);
void Shutdown(); void Shutdown();
protected: protected:
@ -49,10 +47,10 @@ class CFileLoaderThread
void Process(); void Process();
private: private:
std::deque<TData *> m_pRequestDeque; std::deque<TData> m_pRequestDeque;
Mutex m_RequestMutex; Mutex m_RequestMutex;
std::deque<TData *> m_pCompleteDeque; std::deque<TData> m_pCompleteDeque;
Mutex m_CompleteMutex; Mutex m_CompleteMutex;
HANDLE m_hSemaphore; HANDLE m_hSemaphore;

View File

@ -75,13 +75,13 @@ int CGraphicBase::ms_iWavingPower;
DWORD CGraphicBase::ms_dwFlashingEndTime; DWORD CGraphicBase::ms_dwFlashingEndTime;
D3DXCOLOR CGraphicBase::ms_FlashingColor; D3DXCOLOR CGraphicBase::ms_FlashingColor;
// Terrain picking<EFBFBD><EFBFBD> Ray... CCamera <EFBFBD>̿<EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD>.. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ray<61><79> <20><><EFBFBD><EFBFBD> <20>ʿ<EFBFBD>... // Terrain picking Ray... CCamera 이용하는 버전.. 기존의 Ray와 통합 필요...
CRay CGraphicBase::ms_Ray; CRay CGraphicBase::ms_Ray;
bool CGraphicBase::ms_bSupportDXT = true; bool CGraphicBase::ms_bSupportDXT = true;
bool CGraphicBase::ms_isLowTextureMemory = false; bool CGraphicBase::ms_isLowTextureMemory = false;
bool CGraphicBase::ms_isHighTextureMemory = false; bool CGraphicBase::ms_isHighTextureMemory = false;
// 2004.11.18.myevan.DynamicVertexBuffer<EFBFBD><EFBFBD> <20><>ü // 2004.11.18.myevan.DynamicVertexBuffer로 교체
/* /*
std::vector<TIndex> CGraphicBase::ms_lineIdxVector; std::vector<TIndex> CGraphicBase::ms_lineIdxVector;
std::vector<TIndex> CGraphicBase::ms_lineTriIdxVector; std::vector<TIndex> CGraphicBase::ms_lineTriIdxVector;

View File

@ -230,7 +230,7 @@ class CGraphicBase
void UpdatePipeLineMatrix(); void UpdatePipeLineMatrix();
protected: protected:
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD> D3DX Mesh <EFBFBD><EFBFBD> (<28>÷<EFBFBD><C3B7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ǥ<><C7A5>Ȱ <20><> <20><><EFBFBD><EFBFBD>) // 각종 D3DX Mesh 들 (컬루젼 데이터 등을 표시활 때 쓴다)
static LPD3DXMESH ms_lpSphereMesh; static LPD3DXMESH ms_lpSphereMesh;
static LPD3DXMESH ms_lpCylinderMesh; static LPD3DXMESH ms_lpCylinderMesh;
@ -274,7 +274,7 @@ class CGraphicBase
static float ms_fNearY; static float ms_fNearY;
static float ms_fFarY; static float ms_fFarY;
// 2004.11.18.myevan.DynamicVertexBuffer<EFBFBD><EFBFBD> <20><>ü // 2004.11.18.myevan.DynamicVertexBuffer로 교체
/* /*
static std::vector<TIndex> ms_lineIdxVector; static std::vector<TIndex> ms_lineIdxVector;
static std::vector<TIndex> ms_lineTriIdxVector; static std::vector<TIndex> ms_lineTriIdxVector;
@ -292,7 +292,7 @@ class CGraphicBase
static DWORD ms_dwFlashingEndTime; static DWORD ms_dwFlashingEndTime;
static D3DXCOLOR ms_FlashingColor; static D3DXCOLOR ms_FlashingColor;
// Terrain picking<EFBFBD><EFBFBD> Ray... CCamera <EFBFBD>̿<EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD>.. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ray<61><79> <20><><EFBFBD><EFBFBD> <20>ʿ<EFBFBD>... // Terrain picking Ray... CCamera 이용하는 버전.. 기존의 Ray와 통합 필요...
static CRay ms_Ray; static CRay ms_Ray;
// //

View File

@ -18,8 +18,8 @@ class CGraphicCollisionObject : public CGraphicBase
bool IntersectSphere(const D3DXVECTOR3 & c_rv3Position, float fRadius, const D3DXVECTOR3 & c_rv3RayOriginal, const D3DXVECTOR3 & c_rv3RayDirection); bool IntersectSphere(const D3DXVECTOR3 & c_rv3Position, float fRadius, const D3DXVECTOR3 & c_rv3RayOriginal, const D3DXVECTOR3 & c_rv3RayDirection);
bool IntersectCylinder(const D3DXVECTOR3 & c_rv3Position, float fRadius, float fHeight, const D3DXVECTOR3 & c_rv3RayOriginal, const D3DXVECTOR3 & c_rv3RayDirection); bool IntersectCylinder(const D3DXVECTOR3 & c_rv3Position, float fRadius, float fHeight, const D3DXVECTOR3 & c_rv3RayOriginal, const D3DXVECTOR3 & c_rv3RayDirection);
// NOTE : ms_vtPickRayOrig<EFBFBD><EFBFBD> ms_vtPickRayDir<EFBFBD><EFBFBD> CGraphicBGase<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִµ<D6B4> // NOTE : ms_vtPickRayOrig ms_vtPickRayDir CGraphicBGase가 가지고 있는데
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ڷ<EFBFBD> <20>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD> <20>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ°<D6B4>? Customize<EFBFBD><EFBFBD> <20><><EFBFBD>ؼ<EFBFBD>? - [levites] // 굳이 인자로 넣어줘야 하는 이유가 있는가? Customize를 위해서? - [levites]
bool IntersectSphere(const D3DXVECTOR3 & c_rv3Position, float fRadius); bool IntersectSphere(const D3DXVECTOR3 & c_rv3Position, float fRadius);
bool IntersectCylinder(const D3DXVECTOR3 & c_rv3Position, float fRadius, float fHeight); bool IntersectCylinder(const D3DXVECTOR3 & c_rv3Position, float fRadius, float fHeight);
}; };

View File

@ -183,7 +183,7 @@ static DWORD s_MaxTextureWidth, s_MaxTextureHeight;
BOOL EL3D_ConfirmDevice(D3DCAPS9& rkD3DCaps, UINT uBehavior, D3DFORMAT /*eD3DFmt*/) BOOL EL3D_ConfirmDevice(D3DCAPS9& rkD3DCaps, UINT uBehavior, D3DFORMAT /*eD3DFmt*/)
{ {
// PUREDEVICE<EFBFBD><EFBFBD> GetTransform / GetViewport <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ʴ´<CAB4>. // PUREDEVICE GetTransform / GetViewport 등이 되지 않는다.
if (uBehavior & D3DCREATE_PUREDEVICE) if (uBehavior & D3DCREATE_PUREDEVICE)
return FALSE; return FALSE;
@ -369,7 +369,7 @@ RETRY:
ms_iD3DAdapterInfo, ms_iD3DAdapterInfo,
D3DDEVTYPE_HAL, D3DDEVTYPE_HAL,
hWnd, hWnd,
// 2004. 1. 9 myevan <EFBFBD><EFBFBD><EFBFBD>ؽ<EFBFBD> <20><><EFBFBD>μ<EFBFBD><CEBC><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ڵ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>߰<EFBFBD> // 2004. 1. 9 myevan 버텍스 프로세싱 방식 자동 선택 추가
pkD3DModeInfo->m_dwD3DBehavior, pkD3DModeInfo->m_dwD3DBehavior,
&ms_d3dPresentParameter, &ms_d3dPresentParameter,
&ms_lpd3dDevice))) &ms_lpd3dDevice)))
@ -393,7 +393,7 @@ RETRY:
if (ErrorCorrection) if (ErrorCorrection)
return CREATE_DEVICE; return CREATE_DEVICE;
// 2004. 1. 9 myevan ū<EFBFBD>ǹ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>ڵ<EFBFBD><DAB5>ε<EFBFBD>.. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ǥ<><C7A5><EFBFBD>ϰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> // 2004. 1. 9 myevan 큰의미 없는 코드인듯.. 에러나면 표시하고 종료하자
iReflashRate = 0; iReflashRate = 0;
++ErrorCorrection; ++ErrorCorrection;
iRet = CREATE_REFRESHRATE; iRet = CREATE_REFRESHRATE;

View File

@ -23,8 +23,8 @@ public:
CREATE_GET_DEVICE_CAPS2 = (1 << 3), CREATE_GET_DEVICE_CAPS2 = (1 << 3),
CREATE_DEVICE = (1 << 4), CREATE_DEVICE = (1 << 4),
CREATE_REFRESHRATE = (1 << 5), CREATE_REFRESHRATE = (1 << 5),
CREATE_ENUM = (1 << 6), // 2003. 01. 09. myevan <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> CREATE_ENUM = (1 << 6), // 2003. 01. 09. myevan 모드 리스트 얻기 실패
CREATE_DETECT = (1 << 7), // 2003. 01. 09. myevan <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> CREATE_DETECT = (1 << 7), // 2003. 01. 09. myevan 모드 선택 실패
CREATE_NO_TNL = (1 << 8), CREATE_NO_TNL = (1 << 8),
CREATE_BAD_DRIVER = (1 << 9), CREATE_BAD_DRIVER = (1 << 9),
CREATE_FORMAT = (1 << 10), CREATE_FORMAT = (1 << 10),

View File

@ -116,7 +116,7 @@ void CGraphicExpandedImageInstance::OnRender()
break; break;
} }
// 2004.11.18.myevan.ctrl+alt+del <EFBFBD>ݺ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ƨ<><C6A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> // 2004.11.18.myevan.ctrl+alt+del 반복 사용시 튕기는 문제
if (CGraphicBase::SetPDTStream(vertices, 4)) if (CGraphicBase::SetPDTStream(vertices, 4))
{ {
CGraphicBase::SetDefaultIndexBuffer(CGraphicBase::DEFAULT_IB_FILL_RECT); CGraphicBase::SetDefaultIndexBuffer(CGraphicBase::DEFAULT_IB_FILL_RECT);

View File

@ -213,7 +213,7 @@ CGraphicFontTexture::TCharacterInfomation* CGraphicFontTexture::UpdateCharacterI
wchar_t keyValue = code.second; wchar_t keyValue = code.second;
if (keyValue == 0x08) if (keyValue == 0x08)
keyValue = L' '; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ٲ۴<D9B2> (<28>ƶ<EFBFBD> <20><><EFBFBD>½<EFBFBD> <20><> <20><><EFBFBD><EFBFBD>: NAME:\tTEXT -> TEXT\t:NAME <EFBFBD><EFBFBD> <20><>ȯ<EFBFBD><C8AF> ) keyValue = L' '; // 탭은 공백으로 바꾼다 (아랍 출력시 탭 사용: NAME:\tTEXT -> TEXT\t:NAME 로 전환됨 )
ABCFLOAT stABC; ABCFLOAT stABC;
SIZE size; SIZE size;

View File

@ -68,7 +68,7 @@ bool CGraphicImage::OnLoad(int iSize, const void * c_pvBuf)
m_imageTexture.SetFileName(CResource::GetFileName()); m_imageTexture.SetFileName(CResource::GetFileName());
// Ư<EFBFBD><EFBFBD> <20><>ǻ<EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD> Unknown<77><6E><EFBFBD><EFBFBD> '<27><>'<27>ϸ<EFBFBD> ƨ<><C6A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>-_-; -<EFBFBD><EFBFBD><EFBFBD><EFBFBD> // 특정 컴퓨터에서 Unknown으로 '안'하면 튕기는 현상이 있음-_-; -비엽
if (!m_imageTexture.CreateFromMemoryFile(iSize, c_pvBuf, D3DFMT_UNKNOWN, m_dwFilter)) if (!m_imageTexture.CreateFromMemoryFile(iSize, c_pvBuf, D3DFMT_UNKNOWN, m_dwFilter))
return false; return false;

View File

@ -83,7 +83,7 @@ void CGraphicImageInstance::OnRender()
vertices[3].texCoord = TTextureCoordinate(eu, ev); vertices[3].texCoord = TTextureCoordinate(eu, ev);
vertices[3].diffuse = m_DiffuseColor; vertices[3].diffuse = m_DiffuseColor;
// 2004.11.18.myevan.ctrl+alt+del <EFBFBD>ݺ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ƨ<><C6A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> // 2004.11.18.myevan.ctrl+alt+del 반복 사용시 튕기는 문제
if (CGraphicBase::SetPDTStream(vertices, 4)) if (CGraphicBase::SetPDTStream(vertices, 4))
{ {
CGraphicBase::SetDefaultIndexBuffer(CGraphicBase::DEFAULT_IB_FILL_RECT); CGraphicBase::SetDefaultIndexBuffer(CGraphicBase::DEFAULT_IB_FILL_RECT);
@ -207,7 +207,7 @@ void CGraphicImageInstance::Initialize()
void CGraphicImageInstance::Destroy() void CGraphicImageInstance::Destroy()
{ {
m_roImage.SetPointer(NULL); // CRef <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>۷<EFBFBD><DBB7><EFBFBD> ī<><C4AB>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>. m_roImage.SetPointer(NULL); // CRef 에서 레퍼런스 카운트가 떨어져야 함.
Initialize(); Initialize();
} }

View File

@ -44,19 +44,17 @@ bool CGraphicImageTexture::CreateDeviceObjects()
if (m_stFileName.empty()) if (m_stFileName.empty())
{ {
// <EFBFBD><EFBFBD>Ʈ <20>ؽ<EFBFBD><D8BD><EFBFBD> // 폰트 텍스쳐
if (FAILED(ms_lpd3dDevice->CreateTexture(m_width, m_height, 1, 0, m_d3dFmt, D3DPOOL_MANAGED, &m_lpd3dTexture, NULL))) if (FAILED(ms_lpd3dDevice->CreateTexture(m_width, m_height, 1, 0, m_d3dFmt, D3DPOOL_MANAGED, &m_lpd3dTexture, NULL)))
return false; return false;
} }
else else
{ {
CMappedFile mappedFile; CEterPackManager::TPackDataPtr data;
LPCVOID c_pvMap; if (!CEterPackManager::Instance().Get(m_stFileName, data))
if (!CEterPackManager::Instance().Get(mappedFile, m_stFileName.c_str(), &c_pvMap))
return false; return false;
return CreateFromMemoryFile(mappedFile.Size(), c_pvMap, m_d3dFmt, m_dwFilter); return CreateFromMemoryFile(data->size(), data->data(), m_d3dFmt, m_dwFilter);
} }
m_bEmpty = false; m_bEmpty = false;

View File

@ -97,18 +97,18 @@ struct LightComp
} }
}; };
// NOTE : FlushLight<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> // NOTE : FlushLight후 렌더링
// <EFBFBD><EFBFBD> <20><> <20>ݵ<EFBFBD><DDB5><EFBFBD> RestoreLight<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>߸<EFBFBD> <20>Ѵ<EFBFBD>. // 그 후 반드시 RestoreLight를 해줘야만 한다.
void CLightManager::FlushLight() void CLightManager::FlushLight()
{ {
Update(); Update();
m_LightSortVector.clear(); m_LightSortVector.clear();
// NOTE: Dynamic<EFBFBD><EFBFBD> Static<EFBFBD><EFBFBD> <20>и<EFBFBD> <20><>Ű<EFBFBD><C5B0> CenterPosition<EFBFBD><EFBFBD> <20>ٲ𶧸<D9B2><F0B6A7B8><EFBFBD> Static<EFBFBD><EFBFBD> // NOTE: Dynamic Static을 분리 시키고 CenterPosition이 바뀔때마다 Static
// <EFBFBD>ٽ<EFBFBD> Flush <EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ȭ <20><> <20><> <20>ִ<EFBFBD>. - [levites] // 다시 Flush 하는 식으로 최적화 할 수 있다. - [levites]
// light<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ÿ<EFBFBD><C5B8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>. // light들의 거리를 추출해 정렬한다.
TLightMap::iterator itor = m_LightMap.begin(); TLightMap::iterator itor = m_LightMap.begin();
for (; itor != m_LightMap.end(); ++itor) for (; itor != m_LightMap.end(); ++itor)
@ -124,7 +124,7 @@ void CLightManager::FlushLight()
// quick sort lights // quick sort lights
std::sort(m_LightSortVector.begin(), m_LightSortVector.end(), LightComp()); std::sort(m_LightSortVector.begin(), m_LightSortVector.end(), LightComp());
// NOTE - <EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ĵ<EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> Limit <20><><EFBFBD><EFBFBD> <20><>ŭ <20><><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD> <20><><EFBFBD>ش<EFBFBD>. // NOTE - 거리로 정렬된 라이트를 Limit 갯수 만큼 제한해서 켜준다.
STATEMANAGER.SaveRenderState(D3DRS_LIGHTING, TRUE); STATEMANAGER.SaveRenderState(D3DRS_LIGHTING, TRUE);
for (DWORD k = 0; k < min(m_dwLimitLightCount, m_LightSortVector.size()); ++k) for (DWORD k = 0; k < min(m_dwLimitLightCount, m_LightSortVector.size()); ++k)

View File

@ -93,8 +93,8 @@ class CLightManager : public CGraphicBase, public CLightBase, public CSingleton<
void Initialize(); void Initialize();
// NOTE : FlushLight<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> // NOTE : FlushLight후 렌더링
// <EFBFBD><EFBFBD> <20><> <20>ݵ<EFBFBD><DDB5><EFBFBD> RestoreLight<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>߸<EFBFBD> <20>Ѵ<EFBFBD>. // 그 후 반드시 RestoreLight를 해줘야만 한다.
void Update(); void Update();
void FlushLight(); void FlushLight();
void RestoreLight(); void RestoreLight();

View File

@ -241,7 +241,7 @@ void CGraphicMarkInstance::Initialize()
void CGraphicMarkInstance::Destroy() void CGraphicMarkInstance::Destroy()
{ {
m_roImage.SetPointer(NULL); // CRef <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>۷<EFBFBD><DBB7><EFBFBD> ī<><C4AB>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>. m_roImage.SetPointer(NULL); // CRef 에서 레퍼런스 카운트가 떨어져야 함.
Initialize(); Initialize();
} }

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