Compare commits

...

42 Commits

Author SHA1 Message Date
bb19e9abda Merge pull request 'Used antialiasing filter, removed unused code' (#21) from nightly into master
Reviewed-on: metin2/client#21
2025-04-13 16:48:54 +03:00
0fa4fe2494 Bumped version to 0.4.1 2025-04-13 11:02:05 +03:00
863c3f9296 Modified up/down-sampling filter for some 2D textures 2025-04-13 11:00:48 +03:00
363f729f5d Removed Armadillo Nanomite 2025-04-13 09:14:17 +03:00
1e96dae60b Remove P2P UDP & Hackshield packets 2025-04-13 09:05:07 +03:00
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
d82532f054 Bumped version in resource file to 0.3.0 2024-12-01 08:06:54 +02:00
82a1a28787 Merge updates from the nightly branch
Reviewed-on: metin2/client#8
2024-11-16 19:20:29 +02:00
e685bdd3e3 Added a crude build script, DirectX 9 documentation 2024-11-16 18:51:55 +02:00
d19dc772db Fixed buffer overflow issue in DXTCImage, added nicer error messages. 2024-07-07 21:09:33 +03:00
c698136614 Set the default client language to English 2024-06-01 15:21:03 +03:00
9fac112e35 Added required changes for the Argon2ID system 2024-06-01 15:06:24 +03:00
f46e28d3f2 Removed mobile/SMS from messenger 2024-03-31 10:35:00 +00:00
356 changed files with 4099 additions and 12412 deletions

12
.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

View File

@ -10,3 +10,16 @@ while using files from [TMP4's project](https://metin2.dev/topic/27610-40250-ref
Except for some work in order to ensure compatibility with the server, this client is pretty much Except for some work in order to ensure compatibility with the server, this client is pretty much
unchanged. unchanged.
## Requirements
### Installing DirectX 9.0c
The client has been updated to DirectX 9. This means that if DirectX 9 is not installed on your computer, you might be met with one of these error messages:
![picture](/doc/img/directx-error-1.png)
![picture](/doc/img/directx-error-2.png)
In this case, simply [download the DirectX End-User Runtimes (June 2010) from Microsoft's website](http://download.microsoft.com/download/8/4/A/84A35BF1-DAFE-4AE8-82AF-AD2AE20B6B14/directx_Jun2010_redist.exe) (SHA-1 checksum: `7E5D2E5E1A13FBC47F990CC55CBDB428CD12F759`). This is a self-extracting archive, so simply create a new folder, run the executable and extract its contents to that folder.
In this working folder, find and run `DXSETUP.exe` in order to start the install.
After the installation is complete, your client should run without issue.

8
bin/.gitignore vendored
View File

@ -1,18 +1,22 @@
# 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
# Log files # Log files
ErrorLog.txt
log.txt 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.

Binary file not shown.

View File

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

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

@ -265,22 +265,17 @@ LEFT_TIME Zb
LOGIN_CONNECT_FAILURE Chyba při spojení se serverem. LOGIN_CONNECT_FAILURE Chyba při spojení se serverem.
LOGIN_CONNECT_SUCCESS Byl jsi připojen na server. LOGIN_CONNECT_SUCCESS Byl jsi připojen na server.
LOGIN_CONNETING Budeš připojen na server... LOGIN_CONNETING Budeš připojen na server...
LOGIN_FAILURE_ALREAY Tvé konto je už připojeno. LOGIN_FAILURE_ALREADY Tvé konto je už pøipojeno.
LOGIN_FAILURE_BE_SAME_KEY Problém s přihlášením
LOGIN_FAILURE_BLOCK_ID Konto je zablokováno. LOGIN_FAILURE_BLOCK_ID Konto je zablokováno.
LOGIN_FAILURE_BLOCK_LOGIN Prosím, zvolte si některý z jiných serverů! LOGIN_FAILURE_BLOCK_LOGIN Prosím, zvolte si některý z jiných serverů!
LOGIN_FAILURE_NOBILL Konto nemá k dispozici žádnou hrací dobu.
LOGIN_FAILURE_NOT_AVAIL Konto není k dispozici. LOGIN_FAILURE_NOT_AVAIL Konto není k dispozici.
LOGIN_FAILURE_NOT_EXIST_ID Konto neexistuje nebo je chybné heslo.
LOGIN_FAILURE_REPAIR_ID Právě se znovu zřizují předměty pro toto konto. LOGIN_FAILURE_REPAIR_ID Právě se znovu zřizují předměty pro toto konto.
LOGIN_FAILURE_SAMELOGIN Někdo se připojil na tvůj účet. LOGIN_FAILURE_SAMELOGIN Někdo se připojil na tvůj účet.
LOGIN_FAILURE_SHUTDOWN Server zatím není přístupný. LOGIN_FAILURE_SHUTDOWN Server zatím není přístupný.
LOGIN_FAILURE_TOO_MANY_USER Nemohl jsi navázat spojení, protože právě hraje příliš mnoho hráčů. LOGIN_FAILURE_TOO_MANY_USER Nemohl jsi navázat spojení, protože právě hraje příliš mnoho hráčů.
LOGIN_FAILURE_UNKNOWN Z neznámých důvodů jsi se nemohl přihlásit. LOGIN_FAILURE_UNKNOWN Z neznámých důvodů jsi se nemohl přihlásit.
LOGIN_FAILURE_WEB_BLOCK Byl jsi na webové stránce zablokován. Prosím zkontroluj si e-maily. LOGIN_FAILURE_WEB_BLOCK Byl jsi na webové stránce zablokován. Prosím zkontroluj si e-maily.
LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER Zadal jsi špatné číslo. LOGIN_FAILURE_WRONG_CREDENTIALS Chybné jméno nebo heslo.
LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER_TRIPLE Zadal jsi třikrát špatné číslo. Tvoje připojení bude přerušeno.
LOGIN_FAILURE_WRONG_PASSWORD Chybné jméno nebo heslo.
LOGIN_INPUT_ID Zadej ID. LOGIN_INPUT_ID Zadej ID.
LOGIN_INPUT_PASSWORD Zadej heslo. LOGIN_INPUT_PASSWORD Zadej heslo.
LOGIN_PROCESSING Přihlášení probíhá... LOGIN_PROCESSING Přihlášení probíhá...

View File

@ -236,21 +236,16 @@ LEFT_TIME Verbl. Zeit
LOGIN_CONNECT_FAILURE Fehler beim Verbinden mit dem Server. LOGIN_CONNECT_FAILURE Fehler beim Verbinden mit dem Server.
LOGIN_CONNECT_SUCCESS Verbindung zum Server hergestellt. LOGIN_CONNECT_SUCCESS Verbindung zum Server hergestellt.
LOGIN_CONNETING Du wirst mit dem Server verbunden... LOGIN_CONNETING Du wirst mit dem Server verbunden...
LOGIN_FAILURE_ALREAY Dein Konto ist bereits verbunden. LOGIN_FAILURE_ALREADY Dein Konto ist bereits verbunden.
LOGIN_FAILURE_BE_SAME_KEY Anmeldeproblem
LOGIN_FAILURE_BLOCK_ID Das Konto ist gesperrt. LOGIN_FAILURE_BLOCK_ID Das Konto ist gesperrt.
LOGIN_FAILURE_BLOCK_LOGIN Bitte wähle einen anderen Server! LOGIN_FAILURE_BLOCK_LOGIN Bitte wähle einen anderen Server!
LOGIN_FAILURE_NOBILL Das Konto verfügt über keine Spielzeit.
LOGIN_FAILURE_NOT_AVAIL Das Konto ist nicht verfügbar. LOGIN_FAILURE_NOT_AVAIL Das Konto ist nicht verfügbar.
LOGIN_FAILURE_NOT_EXIST_ID Accountname oder Passwort falsch.
LOGIN_FAILURE_REPAIR_ID Für das Konto werden gerade Gegenstände wiederhergestellt. LOGIN_FAILURE_REPAIR_ID Für das Konto werden gerade Gegenstände wiederhergestellt.
LOGIN_FAILURE_SHUTDOWN Der Server ist noch nicht offen. LOGIN_FAILURE_SHUTDOWN Der Server ist noch nicht offen.
LOGIN_FAILURE_TOO_MANY_USER Du konntest keine Verbindung herstellen, da es zu viele Spieler gibt. LOGIN_FAILURE_TOO_MANY_USER Du konntest keine Verbindung herstellen, da es zu viele Spieler gibt.
LOGIN_FAILURE_UNKNOWN Du konntest dich aus unbekannten Gründen nicht anmelden. LOGIN_FAILURE_UNKNOWN Du konntest dich aus unbekannten Gründen nicht anmelden.
LOGIN_FAILURE_WEB_BLOCK Du wurdest auf der Webseite geblockt. Bitte überprüfe deine E-Mails. LOGIN_FAILURE_WEB_BLOCK Du wurdest auf der Webseite geblockt. Bitte überprüfe deine E-Mails.
LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER Du hast eine falsche Nr. eingegeben. LOGIN_FAILURE_WRONG_CREDENTIALS Accountname oder Passwort falsch.
LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER_TRIPLE Du hast dreimal eine falsche Nr. eingegeben. Deine Verbindung wird beendet.
LOGIN_FAILURE_WRONG_PASSWORD Accountname oder Passwort falsch.
LOGIN_INPUT_ID Gib die ID ein. LOGIN_INPUT_ID Gib die ID ein.
LOGIN_INPUT_PASSWORD Gib das Kennwort ein. LOGIN_INPUT_PASSWORD Gib das Kennwort ein.
LOGIN_PROCESSING Anmeldevorgang läuft... LOGIN_PROCESSING Anmeldevorgang läuft...

View File

@ -265,22 +265,17 @@ LEFT_TIME Resterende tid
LOGIN_CONNECT_FAILURE En fejl opstod ved forbindelsen til serveren. LOGIN_CONNECT_FAILURE En fejl opstod ved forbindelsen til serveren.
LOGIN_CONNECT_SUCCESS Du er forbundet til serveren. LOGIN_CONNECT_SUCCESS Du er forbundet til serveren.
LOGIN_CONNETING Forbinder til Serveren... LOGIN_CONNETING Forbinder til Serveren...
LOGIN_FAILURE_ALREAY Din account er allerede forbundet. LOGIN_FAILURE_ALREADY Din account er allerede forbundet.
LOGIN_FAILURE_BE_SAME_KEY Registrerings problem.
LOGIN_FAILURE_BLOCK_ID Din account er spærret. LOGIN_FAILURE_BLOCK_ID Din account er spærret.
LOGIN_FAILURE_BLOCK_LOGIN Vælg venligst en anden servere. LOGIN_FAILURE_BLOCK_LOGIN Vælg venligst en anden servere.
LOGIN_FAILURE_NOBILL Denne konto har ingen spilletid tilovers.
LOGIN_FAILURE_NOT_AVAIL Denne konto er ikke tilgængeligt. LOGIN_FAILURE_NOT_AVAIL Denne konto er ikke tilgængeligt.
LOGIN_FAILURE_NOT_EXIST_ID Forkert brugernavn eller password.
LOGIN_FAILURE_REPAIR_ID For denne konto bliver der gendannet nogle genstande. LOGIN_FAILURE_REPAIR_ID For denne konto bliver der gendannet nogle genstande.
LOGIN_FAILURE_SAMELOGIN En person har forbundet sig til din konto. LOGIN_FAILURE_SAMELOGIN En person har forbundet sig til din konto.
LOGIN_FAILURE_SHUTDOWN Denne server er ikke åben. LOGIN_FAILURE_SHUTDOWN Denne server er ikke åben.
LOGIN_FAILURE_TOO_MANY_USER Du kan ikke få forbindelse med serveren, da der er for mange spillere online. LOGIN_FAILURE_TOO_MANY_USER Du kan ikke få forbindelse med serveren, da der er for mange spillere online.
LOGIN_FAILURE_UNKNOWN Du kunne ikke logge på. Årsagen er ukendt. LOGIN_FAILURE_UNKNOWN Du kunne ikke logge på. Årsagen er ukendt.
LOGIN_FAILURE_WEB_BLOCK Du blev blokeret på websiden. Tjek venligst din e-mail. LOGIN_FAILURE_WEB_BLOCK Du blev blokeret på websiden. Tjek venligst din e-mail.
LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER Du har indtastet et forkert nr. LOGIN_FAILURE_WRONG_CREDENTIALS Forkert brugernavn eller password.
LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER_TRIPLE Du har 3 gange i træk indtastet et forkert nr. - din forbindelse blev afbrudt.
LOGIN_FAILURE_WRONG_PASSWORD Forkert brugernavn eller password.
LOGIN_INPUT_ID Angiv ID. LOGIN_INPUT_ID Angiv ID.
LOGIN_INPUT_PASSWORD Angiv kodeordet. LOGIN_INPUT_PASSWORD Angiv kodeordet.
LOGIN_PROCESSING Registreringen med serveren er i gang... LOGIN_PROCESSING Registreringen med serveren er i gang...

View File

@ -236,21 +236,16 @@ LEFT_TIME Time Remaining
LOGIN_CONNECT_FAILURE Error while connecting to the server. LOGIN_CONNECT_FAILURE Error while connecting to the server.
LOGIN_CONNECT_SUCCESS You have been connected to the server. LOGIN_CONNECT_SUCCESS You have been connected to the server.
LOGIN_CONNETING You will be connected to the server... LOGIN_CONNETING You will be connected to the server...
LOGIN_FAILURE_ALREAY Your account is already connected. LOGIN_FAILURE_ALREADY Your account is already connected.
LOGIN_FAILURE_BE_SAME_KEY Registration problem.
LOGIN_FAILURE_BLOCK_ID Your account is banned. LOGIN_FAILURE_BLOCK_ID Your account is banned.
LOGIN_FAILURE_BLOCK_LOGIN Please choose one of the other servers! LOGIN_FAILURE_BLOCK_LOGIN Please choose one of the other servers!
LOGIN_FAILURE_NOBILL Your account had no play time.
LOGIN_FAILURE_NOT_AVAIL Your account cannot be used. LOGIN_FAILURE_NOT_AVAIL Your account cannot be used.
LOGIN_FAILURE_NOT_EXIST_ID Account name or password incorrect.
LOGIN_FAILURE_REPAIR_ID Items have been restored for this account. LOGIN_FAILURE_REPAIR_ID Items have been restored for this account.
LOGIN_FAILURE_SHUTDOWN The server is not open yet. LOGIN_FAILURE_SHUTDOWN The server is not open yet.
LOGIN_FAILURE_TOO_MANY_USER You could not connect because too many players are online. LOGIN_FAILURE_TOO_MANY_USER You could not connect because too many players are online.
LOGIN_FAILURE_UNKNOWN You could not register for unknown reasons. LOGIN_FAILURE_UNKNOWN You could not register for unknown reasons.
LOGIN_FAILURE_WEB_BLOCK You have been blocked at the website. Please check your EMails. LOGIN_FAILURE_WEB_BLOCK You have been blocked at the website. Please check your EMails.
LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER You entered a wrong number. LOGIN_FAILURE_WRONG_CREDENTIALS Account name or password incorrect.
LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER_TRIPLE You entered a wrong number three times. /n Your connection will be disabled.
LOGIN_FAILURE_WRONG_PASSWORD Account name or password incorrect.
LOGIN_INPUT_ID Enter the ID. LOGIN_INPUT_ID Enter the ID.
LOGIN_INPUT_PASSWORD Enter the password. LOGIN_INPUT_PASSWORD Enter the password.
LOGIN_PROCESSING Logging in... LOGIN_PROCESSING Logging in...

View File

@ -265,22 +265,17 @@ LEFT_TIME Tiempo restante
LOGIN_CONNECT_FAILURE Error al conectar al servidor. LOGIN_CONNECT_FAILURE Error al conectar al servidor.
LOGIN_CONNECT_SUCCESS Has sido conectado al servidor. LOGIN_CONNECT_SUCCESS Has sido conectado al servidor.
LOGIN_CONNETING Estás siendo conectado al servidor... LOGIN_CONNETING Estás siendo conectado al servidor...
LOGIN_FAILURE_ALREAY Tu cuenta ya está conectada. LOGIN_FAILURE_ALREADY Tu cuenta ya está conectada.
LOGIN_FAILURE_BE_SAME_KEY Problema de registro.
LOGIN_FAILURE_BLOCK_ID Tu cuenta está baneada. LOGIN_FAILURE_BLOCK_ID Tu cuenta está baneada.
LOGIN_FAILURE_BLOCK_LOGIN ¡Por favor, elige uno de los otros servidores! LOGIN_FAILURE_BLOCK_LOGIN ¡Por favor, elige uno de los otros servidores!
LOGIN_FAILURE_NOBILL Tu cuenta no tiene horas de juego.
LOGIN_FAILURE_NOT_AVAIL Tu cuenta no puede ser usada. LOGIN_FAILURE_NOT_AVAIL Tu cuenta no puede ser usada.
LOGIN_FAILURE_NOT_EXIST_ID Nombre de cuenta o contraseńa incorrectos.
LOGIN_FAILURE_REPAIR_ID Han sido restablecidos objetos para esta cuenta. LOGIN_FAILURE_REPAIR_ID Han sido restablecidos objetos para esta cuenta.
LOGIN_FAILURE_SAMELOGIN Alguien se ha conectado con tu cuenta. LOGIN_FAILURE_SAMELOGIN Alguien se ha conectado con tu cuenta.
LOGIN_FAILURE_SHUTDOWN Este servidor aún no está abierto. LOGIN_FAILURE_SHUTDOWN Este servidor aún no está abierto.
LOGIN_FAILURE_TOO_MANY_USER No puedes conectar porque hay demasiados jugadores conectados. LOGIN_FAILURE_TOO_MANY_USER No puedes conectar porque hay demasiados jugadores conectados.
LOGIN_FAILURE_UNKNOWN No te puedes registrar por razones desconocidas. LOGIN_FAILURE_UNKNOWN No te puedes registrar por razones desconocidas.
LOGIN_FAILURE_WEB_BLOCK Has sido bloqueado del sitio web. Por favor comprueba tus EMails. LOGIN_FAILURE_WEB_BLOCK Has sido bloqueado del sitio web. Por favor comprueba tus EMails.
LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER Has introducido un número incorrecto. LOGIN_FAILURE_WRONG_CREDENTIALS Nombre de cuenta o contraseńa incorrectos
LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER_TRIPLE Has introducido un número incorrecto tres veces. /n Tu conexión será deshabilitada.
LOGIN_FAILURE_WRONG_PASSWORD Nombre de cuenta o contraseńa incorrectos
LOGIN_INPUT_ID Introduce el ID. LOGIN_INPUT_ID Introduce el ID.
LOGIN_INPUT_PASSWORD Introduce la contraseña. LOGIN_INPUT_PASSWORD Introduce la contraseña.
LOGIN_PROCESSING Registro en curso... LOGIN_PROCESSING Registro en curso...

View File

@ -236,21 +236,16 @@ LEFT_TIME Temps restant
LOGIN_CONNECT_FAILURE Erreur lors de la connection au serveur LOGIN_CONNECT_FAILURE Erreur lors de la connection au serveur
LOGIN_CONNECT_SUCCESS Connexion au serveur en cours. LOGIN_CONNECT_SUCCESS Connexion au serveur en cours.
LOGIN_CONNETING Connexion au serveur en cours. LOGIN_CONNETING Connexion au serveur en cours.
LOGIN_FAILURE_ALREAY Votre compte est déjà connecté. LOGIN_FAILURE_ALREADY Votre compte est déjà connecté.
LOGIN_FAILURE_BE_SAME_KEY Problème
LOGIN_FAILURE_BLOCK_ID Votre compte est banni LOGIN_FAILURE_BLOCK_ID Votre compte est banni
LOGIN_FAILURE_BLOCK_LOGIN Veuillez choisir un autre serveur ! LOGIN_FAILURE_BLOCK_LOGIN Veuillez choisir un autre serveur !
LOGIN_FAILURE_NOBILL Votre compte n'a pas de temps de jeu.
LOGIN_FAILURE_NOT_AVAIL Votre compte ne peut pas être utilisé. LOGIN_FAILURE_NOT_AVAIL Votre compte ne peut pas être utilisé.
LOGIN_FAILURE_NOT_EXIST_ID Compte ou mot de passe incorrect
LOGIN_FAILURE_REPAIR_ID Sur ce compte, les objets ont été restaurés LOGIN_FAILURE_REPAIR_ID Sur ce compte, les objets ont été restaurés
LOGIN_FAILURE_SHUTDOWN Le serveur n'est pour le moment pas ouvert LOGIN_FAILURE_SHUTDOWN Le serveur n'est pour le moment pas ouvert
LOGIN_FAILURE_TOO_MANY_USER Vous ne pouvez pas vous connecter car trop de joueurs sont actuellement en ligne. LOGIN_FAILURE_TOO_MANY_USER Vous ne pouvez pas vous connecter car trop de joueurs sont actuellement en ligne.
LOGIN_FAILURE_UNKNOWN Vous ne pouvez pas vous enregistrer vous des raisons inconnues. LOGIN_FAILURE_UNKNOWN Vous ne pouvez pas vous enregistrer vous des raisons inconnues.
LOGIN_FAILURE_WEB_BLOCK Vous avez été bloqué sur ce site. Veuillez consulter vos mails. LOGIN_FAILURE_WEB_BLOCK Vous avez été bloqué sur ce site. Veuillez consulter vos mails.
LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER Vous avez entré un mauvais numéro. LOGIN_FAILURE_WRONG_CREDENTIALS Compte ou mot de passe incorrect
LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER_TRIPLE Vous avez entré un mauvais numéro trois fois. La connexion va être perdue.
LOGIN_FAILURE_WRONG_PASSWORD Compte ou mot de passe incorrect
LOGIN_INPUT_ID Entrez le nom du compte LOGIN_INPUT_ID Entrez le nom du compte
LOGIN_INPUT_PASSWORD Entrez le mot de passe LOGIN_INPUT_PASSWORD Entrez le mot de passe
LOGIN_PROCESSING Connexion au compte en cours LOGIN_PROCESSING Connexion au compte en cours

View File

@ -265,22 +265,17 @@ LEFT_TIME
LOGIN_CONNECT_FAILURE Σφάλμα κατά τη σύνδεση. LOGIN_CONNECT_FAILURE Σφάλμα κατά τη σύνδεση.
LOGIN_CONNECT_SUCCESS Συνδέθηκες με τον σέρβερ. LOGIN_CONNECT_SUCCESS Συνδέθηκες με τον σέρβερ.
LOGIN_CONNETING Σύνδεση με σέρβερ... LOGIN_CONNETING Σύνδεση με σέρβερ...
LOGIN_FAILURE_ALREAY Ï ëïãáñéáóìüò åßíáé Þäç óõíäåäåìÝíïò. LOGIN_FAILURE_ALREADY Ï ëïãáñéáóìüò åßíáé Þäç óõíäåäåìÝíïò.
LOGIN_FAILURE_BE_SAME_KEY Ðñüâëçìá åããñáöÞò.
LOGIN_FAILURE_BLOCK_ID Ο λογαριασμός σου είναι τιμωρημένος. LOGIN_FAILURE_BLOCK_ID Ο λογαριασμός σου είναι τιμωρημένος.
LOGIN_FAILURE_BLOCK_LOGIN Παρακαλώ διαλέξτε έναν άλλο σέρβερ. LOGIN_FAILURE_BLOCK_LOGIN Παρακαλώ διαλέξτε έναν άλλο σέρβερ.
LOGIN_FAILURE_NOBILL Ï ëïãáñéáóìüò óïõ äåí åß÷å ÷ñüíï ðáé÷íéäéïý.
LOGIN_FAILURE_NOT_AVAIL Ο λογαριασμός σου δε μπορεί να χρησιμοποιηθεί. LOGIN_FAILURE_NOT_AVAIL Ο λογαριασμός σου δε μπορεί να χρησιμοποιηθεί.
LOGIN_FAILURE_NOT_EXIST_ID ËÜèïò ëïãáñéáóìüò Þ êùäéêüò.
LOGIN_FAILURE_REPAIR_ID Αποκαταστάθηκαν αντικείμενα για αυτόν το λογαριασμό. LOGIN_FAILURE_REPAIR_ID Αποκαταστάθηκαν αντικείμενα για αυτόν το λογαριασμό.
LOGIN_FAILURE_SAMELOGIN Κάποιος συνδέθηκε με τον λογαριασμό σου. LOGIN_FAILURE_SAMELOGIN Κάποιος συνδέθηκε με τον λογαριασμό σου.
LOGIN_FAILURE_SHUTDOWN Ο server δεν έχει ανοίξει ακόμη. LOGIN_FAILURE_SHUTDOWN Ο server δεν έχει ανοίξει ακόμη.
LOGIN_FAILURE_TOO_MANY_USER Δε μπορείς να συνδεθείς γιατί είναι πάρα πολλοί παίκτες συνδεδεμένοι. LOGIN_FAILURE_TOO_MANY_USER Δε μπορείς να συνδεθείς γιατί είναι πάρα πολλοί παίκτες συνδεδεμένοι.
LOGIN_FAILURE_UNKNOWN Δε μπόρεσες να εγγραφείς για άγνωστη αιτία. LOGIN_FAILURE_UNKNOWN Δε μπόρεσες να εγγραφείς για άγνωστη αιτία.
LOGIN_FAILURE_WEB_BLOCK Έχετε αποκελιστεί από την Ιστοσελίδα. Παρακαλώ δείτε τα E-mail σας LOGIN_FAILURE_WEB_BLOCK Έχετε αποκελιστεί από την Ιστοσελίδα. Παρακαλώ δείτε τα E-mail σας
LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER ÅéóÞãáãåò ëÜèïò áñéèìü. LOGIN_FAILURE_WRONG_CREDENTIALS ËÜèïò ëïãáñéáóìüò Þ êùäéêüò.
LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER_TRIPLE ÅéóÞãáãåò ëÜèïò áñéèìü ôñåéò öïñÝò. /n Ç óýíäåóÞ óïõ èá ôåèåß åêôüò ëåéôïõñãßáò.
LOGIN_FAILURE_WRONG_PASSWORD ËÜèïò ëïãáñéáóìüò Þ êùäéêüò.
LOGIN_INPUT_ID Εισήγαγε την ID. LOGIN_INPUT_ID Εισήγαγε την ID.
LOGIN_INPUT_PASSWORD Εισήγαγε το συνθηματικό. LOGIN_INPUT_PASSWORD Εισήγαγε το συνθηματικό.
LOGIN_PROCESSING Γίνεται εγγραφή... LOGIN_PROCESSING Γίνεται εγγραφή...

View File

@ -236,21 +236,16 @@ LEFT_TIME Marad
LOGIN_CONNECT_FAILURE Hiba a szerver kapcsolatban. LOGIN_CONNECT_FAILURE Hiba a szerver kapcsolatban.
LOGIN_CONNECT_SUCCESS A szerver kapcsolat létrejött. LOGIN_CONNECT_SUCCESS A szerver kapcsolat létrejött.
LOGIN_CONNETING Kapcsolódás a szerverhez... LOGIN_CONNETING Kapcsolódás a szerverhez...
LOGIN_FAILURE_ALREAY A számlád már csatlakoztatva van. LOGIN_FAILURE_ALREADY A számlád már csatlakoztatva van.
LOGIN_FAILURE_BE_SAME_KEY Bejelentkezési probléma
LOGIN_FAILURE_BLOCK_ID Az előfizetői számla le van tiltva. LOGIN_FAILURE_BLOCK_ID Az előfizetői számla le van tiltva.
LOGIN_FAILURE_BLOCK_LOGIN Kérlek válassz egyet a többi szerver közül! LOGIN_FAILURE_BLOCK_LOGIN Kérlek válassz egyet a többi szerver közül!
LOGIN_FAILURE_NOBILL Elõfizetõi számládnak nincs már játékideje
LOGIN_FAILURE_NOT_AVAIL Az előfizetői számla nem elérhető. LOGIN_FAILURE_NOT_AVAIL Az előfizetői számla nem elérhető.
LOGIN_FAILURE_NOT_EXIST_ID Hibás Felhasználónév vagy Jelszó.
LOGIN_FAILURE_REPAIR_ID Az előfizetői számlára éppen tárgyak helyreállítása van folyamatban. LOGIN_FAILURE_REPAIR_ID Az előfizetői számlára éppen tárgyak helyreállítása van folyamatban.
LOGIN_FAILURE_SHUTDOWN A szerver még nem nyílt meg. LOGIN_FAILURE_SHUTDOWN A szerver még nem nyílt meg.
LOGIN_FAILURE_TOO_MANY_USER Nem csatlakozhatsz, mert túl sokan játszanak. LOGIN_FAILURE_TOO_MANY_USER Nem csatlakozhatsz, mert túl sokan játszanak.
LOGIN_FAILURE_UNKNOWN Ismeretlen okból nem tudsz bejelentkezni. LOGIN_FAILURE_UNKNOWN Ismeretlen okból nem tudsz bejelentkezni.
LOGIN_FAILURE_WEB_BLOCK Le lettél tiltva a web oldalon. Ellenőrizd leveleidet. LOGIN_FAILURE_WEB_BLOCK Le lettél tiltva a web oldalon. Ellenőrizd leveleidet.
LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER Rossz számot adtál meg. LOGIN_FAILURE_WRONG_CREDENTIALS Hibás Felhasználónév vagy Jelszó.
LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER_TRIPLE Háromszor adtál meg helytelen számot. A kapcsolat lezáródik.
LOGIN_FAILURE_WRONG_PASSWORD Hibás Felhasználónév vagy Jelszó.
LOGIN_INPUT_ID Add meg az ID-t. LOGIN_INPUT_ID Add meg az ID-t.
LOGIN_INPUT_PASSWORD Add meg a jelszót. LOGIN_INPUT_PASSWORD Add meg a jelszót.
LOGIN_PROCESSING Bejelentkezés folyamatban... LOGIN_PROCESSING Bejelentkezés folyamatban...

View File

@ -265,22 +265,17 @@ LEFT_TIME Tempo rimanente
LOGIN_CONNECT_FAILURE Errore di collegamento con il server. LOGIN_CONNECT_FAILURE Errore di collegamento con il server.
LOGIN_CONNECT_SUCCESS Sei stato collegato al server. LOGIN_CONNECT_SUCCESS Sei stato collegato al server.
LOGIN_CONNETING Stai per essere collegato al server. LOGIN_CONNETING Stai per essere collegato al server.
LOGIN_FAILURE_ALREAY Il tuo account è già collegato. LOGIN_FAILURE_ALREADY Il tuo account è già collegato.
LOGIN_FAILURE_BE_SAME_KEY Problema d'iscrizione
LOGIN_FAILURE_BLOCK_ID Il tuo account è bloccato. LOGIN_FAILURE_BLOCK_ID Il tuo account è bloccato.
LOGIN_FAILURE_BLOCK_LOGIN Sei pregato di scegliere un altro server! LOGIN_FAILURE_BLOCK_LOGIN Sei pregato di scegliere un altro server!
LOGIN_FAILURE_NOBILL Il tuo account non ha tempo di gioco.
LOGIN_FAILURE_NOT_AVAIL L'account non è disponibile. LOGIN_FAILURE_NOT_AVAIL L'account non è disponibile.
LOGIN_FAILURE_NOT_EXIST_ID Nome account o password errati.
LOGIN_FAILURE_REPAIR_ID Vengono rigenerati oggetti per l'account. LOGIN_FAILURE_REPAIR_ID Vengono rigenerati oggetti per l'account.
LOGIN_FAILURE_SAMELOGIN Qualcuno si è collegato al tuo account. LOGIN_FAILURE_SAMELOGIN Qualcuno si è collegato al tuo account.
LOGIN_FAILURE_SHUTDOWN Il server non è ancora aperto. LOGIN_FAILURE_SHUTDOWN Il server non è ancora aperto.
LOGIN_FAILURE_TOO_MANY_USER Non sei riuscito a connetterti perchè ci sono troppi giocatori LOGIN_FAILURE_TOO_MANY_USER Non sei riuscito a connetterti perchè ci sono troppi giocatori
LOGIN_FAILURE_UNKNOWN Non sei riuscito a connetterti per ragioni sconosciute. LOGIN_FAILURE_UNKNOWN Non sei riuscito a connetterti per ragioni sconosciute.
LOGIN_FAILURE_WEB_BLOCK È stato bloccato sulla pagina web. Per favore controlli la sua e-mail LOGIN_FAILURE_WEB_BLOCK È stato bloccato sulla pagina web. Per favore controlli la sua e-mail
LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER Hai inserito un numero sbagliato. LOGIN_FAILURE_WRONG_CREDENTIALS Nome account o password errati.
LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER_TRIPLE Hai inserito per tre volte un numero sbagliato. La connessione è stata conclusa.
LOGIN_FAILURE_WRONG_PASSWORD Nome account o password errati.
LOGIN_INPUT_ID Inserisci l'ID. LOGIN_INPUT_ID Inserisci l'ID.
LOGIN_INPUT_PASSWORD Inserisci la password. LOGIN_INPUT_PASSWORD Inserisci la password.
LOGIN_PROCESSING È in corso il login. LOGIN_PROCESSING È in corso il login.

View File

@ -265,22 +265,17 @@ LEFT_TIME Overgebleven Tijd
LOGIN_CONNECT_FAILURE Fout bij de server verbinding. LOGIN_CONNECT_FAILURE Fout bij de server verbinding.
LOGIN_CONNECT_SUCCESS Je bent verbonden met de server LOGIN_CONNECT_SUCCESS Je bent verbonden met de server
LOGIN_CONNETING Je wordt verbonden met de server... LOGIN_CONNETING Je wordt verbonden met de server...
LOGIN_FAILURE_ALREAY Je account is al verbonden. LOGIN_FAILURE_ALREADY Je account is al verbonden.
LOGIN_FAILURE_BE_SAME_KEY Registratie probleem.
LOGIN_FAILURE_BLOCK_ID Je account is geband. LOGIN_FAILURE_BLOCK_ID Je account is geband.
LOGIN_FAILURE_BLOCK_LOGIN kies een van de andere servers! LOGIN_FAILURE_BLOCK_LOGIN kies een van de andere servers!
LOGIN_FAILURE_NOBILL Je account heeft geen speeltijd.
LOGIN_FAILURE_NOT_AVAIL Je account kan niet worden gebruikt. LOGIN_FAILURE_NOT_AVAIL Je account kan niet worden gebruikt.
LOGIN_FAILURE_NOT_EXIST_ID Account naam of wachtwoord is incorrect
LOGIN_FAILURE_REPAIR_ID Voorwerpen zijn hersteld voor dit account. LOGIN_FAILURE_REPAIR_ID Voorwerpen zijn hersteld voor dit account.
LOGIN_FAILURE_SAMELOGIN Iemand heeft zich met jouw account verbonden. LOGIN_FAILURE_SAMELOGIN Iemand heeft zich met jouw account verbonden.
LOGIN_FAILURE_SHUTDOWN De server is nog niet open. LOGIN_FAILURE_SHUTDOWN De server is nog niet open.
LOGIN_FAILURE_TOO_MANY_USER Je kan niet verbonden worden want er zijn teveel spelers online. LOGIN_FAILURE_TOO_MANY_USER Je kan niet verbonden worden want er zijn teveel spelers online.
LOGIN_FAILURE_UNKNOWN Je kon niet registreren voor onbekende redenen. LOGIN_FAILURE_UNKNOWN Je kon niet registreren voor onbekende redenen.
LOGIN_FAILURE_WEB_BLOCK Je bent geblokkerd bij de website. Controleer je e-mails alstublieft. LOGIN_FAILURE_WEB_BLOCK Je bent geblokkerd bij de website. Controleer je e-mails alstublieft.
LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER Je hebt een verkeerd nummer ingevoerd. LOGIN_FAILURE_WRONG_CREDENTIALS Account naam of wachtwoord is incorrect.
LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER_TRIPLE Je hebt drie keer een verkeerd nummer ingevoerd. /n Je verbinding wordt verbroken.
LOGIN_FAILURE_WRONG_PASSWORD Account naam of wachtwoord is incorrect.
LOGIN_INPUT_ID Voer ID in. LOGIN_INPUT_ID Voer ID in.
LOGIN_INPUT_PASSWORD Voer wachtwoord in. LOGIN_INPUT_PASSWORD Voer wachtwoord in.
LOGIN_PROCESSING Login proces is gestart. LOGIN_PROCESSING Login proces is gestart.

View File

@ -265,22 +265,17 @@ LEFT_TIME Pozosta
LOGIN_CONNECT_FAILURE Błąd podczas łączenia się z serwerem. LOGIN_CONNECT_FAILURE Błąd podczas łączenia się z serwerem.
LOGIN_CONNECT_SUCCESS Zostałeś połączony z serwerem. LOGIN_CONNECT_SUCCESS Zostałeś połączony z serwerem.
LOGIN_CONNETING Zostaniesz połączony z serwerem... LOGIN_CONNETING Zostaniesz połączony z serwerem...
LOGIN_FAILURE_ALREAY Twoje konto jest już połączone. LOGIN_FAILURE_ALREADY Twoje konto jest ju¿ po³¹czone.
LOGIN_FAILURE_BE_SAME_KEY Problem z rejestracją.
LOGIN_FAILURE_BLOCK_ID Twoje konto jest zablokowane. LOGIN_FAILURE_BLOCK_ID Twoje konto jest zablokowane.
LOGIN_FAILURE_BLOCK_LOGIN Serwer Zamknięty - proszę wybrać inny! LOGIN_FAILURE_BLOCK_LOGIN Serwer Zamknięty - proszę wybrać inny!
LOGIN_FAILURE_NOBILL Twoje konto nie ma czasu gry.
LOGIN_FAILURE_NOT_AVAIL Twoje konto nie może być użyte. LOGIN_FAILURE_NOT_AVAIL Twoje konto nie może być użyte.
LOGIN_FAILURE_NOT_EXIST_ID Nieprawidłowa nazwa konta lub hasło.
LOGIN_FAILURE_REPAIR_ID Przedmioty zostały przywrócone dla tego konta. LOGIN_FAILURE_REPAIR_ID Przedmioty zostały przywrócone dla tego konta.
LOGIN_FAILURE_SAMELOGIN Ktoś połączył się z Twoim kontem. LOGIN_FAILURE_SAMELOGIN Ktoś połączył się z Twoim kontem.
LOGIN_FAILURE_SHUTDOWN Serwer nie jest jeszcze otwarty. LOGIN_FAILURE_SHUTDOWN Serwer nie jest jeszcze otwarty.
LOGIN_FAILURE_TOO_MANY_USER Nie możesz się połączyć, ponieważ za dużo graczy jest online. LOGIN_FAILURE_TOO_MANY_USER Nie możesz się połączyć, ponieważ za dużo graczy jest online.
LOGIN_FAILURE_UNKNOWN Nie możesz się zarejestrować z nieznanych powodów. LOGIN_FAILURE_UNKNOWN Nie możesz się zarejestrować z nieznanych powodów.
LOGIN_FAILURE_WEB_BLOCK Twoje konto zostało zablokowane na stronie www. Proszę sprawdzić swoją pocztę e-mail. LOGIN_FAILURE_WEB_BLOCK Twoje konto zostało zablokowane na stronie www. Proszę sprawdzić swoją pocztę e-mail.
LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER Wpisałeś nieprawidłowy numer. LOGIN_FAILURE_WRONG_CREDENTIALS Nieprawid³owa nazwa konta lub has³o.
LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER_TRIPLE Wybrałeś zły numer trzy razy. /n Twoje połączenie zostanie zerwane.
LOGIN_FAILURE_WRONG_PASSWORD Nieprawidłowa nazwa konta lub hasło.
LOGIN_INPUT_ID Podaj swoje ID. LOGIN_INPUT_ID Podaj swoje ID.
LOGIN_INPUT_PASSWORD Wpisz swoje hasło. LOGIN_INPUT_PASSWORD Wpisz swoje hasło.
LOGIN_PROCESSING Logowanie... LOGIN_PROCESSING Logowanie...

View File

@ -265,22 +265,17 @@ LEFT_TIME Tempo Restante
LOGIN_CONNECT_FAILURE Ocorreu um erro enquanto te ligavas ao Servidor. LOGIN_CONNECT_FAILURE Ocorreu um erro enquanto te ligavas ao Servidor.
LOGIN_CONNECT_SUCCESS Estás ligado ao Servidor. LOGIN_CONNECT_SUCCESS Estás ligado ao Servidor.
LOGIN_CONNETING Vais ser ligado ao Servidor... LOGIN_CONNETING Vais ser ligado ao Servidor...
LOGIN_FAILURE_ALREAY A tua conta já está ligada. LOGIN_FAILURE_ALREADY A tua conta já está ligada.
LOGIN_FAILURE_BE_SAME_KEY Problema de registo.
LOGIN_FAILURE_BLOCK_ID A tua conta está bloqueada. LOGIN_FAILURE_BLOCK_ID A tua conta está bloqueada.
LOGIN_FAILURE_BLOCK_LOGIN Por favor escolhe um dos outros Servidores! LOGIN_FAILURE_BLOCK_LOGIN Por favor escolhe um dos outros Servidores!
LOGIN_FAILURE_NOBILL A tua conta não tinha tempo de jogo.
LOGIN_FAILURE_NOT_AVAIL A tua conta não pode ser usada. LOGIN_FAILURE_NOT_AVAIL A tua conta não pode ser usada.
LOGIN_FAILURE_NOT_EXIST_ID O nome da conta ou a palavra-passe está/ão incorrecta(s).
LOGIN_FAILURE_REPAIR_ID Foram restaurados Itens a esta conta. LOGIN_FAILURE_REPAIR_ID Foram restaurados Itens a esta conta.
LOGIN_FAILURE_SAMELOGIN Alguém se ligou à tua conta. LOGIN_FAILURE_SAMELOGIN Alguém se ligou à tua conta.
LOGIN_FAILURE_SHUTDOWN O Servidor ainda não está aberto. LOGIN_FAILURE_SHUTDOWN O Servidor ainda não está aberto.
LOGIN_FAILURE_TOO_MANY_USER Não te podes ligar ao Servidor porque estão muitos jogadores ligados. LOGIN_FAILURE_TOO_MANY_USER Não te podes ligar ao Servidor porque estão muitos jogadores ligados.
LOGIN_FAILURE_UNKNOWN Não te foi possível registar por razões desconhecidas. LOGIN_FAILURE_UNKNOWN Não te foi possível registar por razões desconhecidas.
LOGIN_FAILURE_WEB_BLOCK Foste bloqueado no site, por favor verifica os teus E-mails. LOGIN_FAILURE_WEB_BLOCK Foste bloqueado no site, por favor verifica os teus E-mails.
LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER Inseriste um número errado. LOGIN_FAILURE_WRONG_CREDENTIALS O nome da conta ou a palavra-passe está/ão incorrecta(s).
LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER_TRIPLE Inseriste um número errado três vezes. /n A tua ligação vai ser anulada.
LOGIN_FAILURE_WRONG_PASSWORD O nome da conta ou a palavra-passe está/ão incorrecta(s).
LOGIN_INPUT_ID Insere o ID. LOGIN_INPUT_ID Insere o ID.
LOGIN_INPUT_PASSWORD Insere a palavra-passe. LOGIN_INPUT_PASSWORD Insere a palavra-passe.
LOGIN_PROCESSING Processo de Login em progresso... LOGIN_PROCESSING Processo de Login em progresso...

View File

@ -265,22 +265,17 @@ LEFT_TIME Timp r
LOGIN_CONNECT_FAILURE Eroare la conectarea la server. LOGIN_CONNECT_FAILURE Eroare la conectarea la server.
LOGIN_CONNECT_SUCCESS Ai fost conectat la server. LOGIN_CONNECT_SUCCESS Ai fost conectat la server.
LOGIN_CONNETING Vei fi conectat la server... LOGIN_CONNETING Vei fi conectat la server...
LOGIN_FAILURE_ALREAY Contul tău este deja conectat. LOGIN_FAILURE_ALREADY Contul tău este deja conectat.
LOGIN_FAILURE_BE_SAME_KEY Problemă la login
LOGIN_FAILURE_BLOCK_ID Contul este blocat. LOGIN_FAILURE_BLOCK_ID Contul este blocat.
LOGIN_FAILURE_BLOCK_LOGIN Alege alt server! LOGIN_FAILURE_BLOCK_LOGIN Alege alt server!
LOGIN_FAILURE_NOBILL Contul nu deţine timp de joc.
LOGIN_FAILURE_NOT_AVAIL Contul este inaccesibil. LOGIN_FAILURE_NOT_AVAIL Contul este inaccesibil.
LOGIN_FAILURE_NOT_EXIST_ID Nume contului sau parola sunt greşite.
LOGIN_FAILURE_REPAIR_ID Pentru acest cont sunt refăcute obiectele. LOGIN_FAILURE_REPAIR_ID Pentru acest cont sunt refăcute obiectele.
LOGIN_FAILURE_SAMELOGIN Cineva s-a conectat la contul tau. LOGIN_FAILURE_SAMELOGIN Cineva s-a conectat la contul tau.
LOGIN_FAILURE_SHUTDOWN Serverul nu este încă deschis. LOGIN_FAILURE_SHUTDOWN Serverul nu este încă deschis.
LOGIN_FAILURE_TOO_MANY_USER Conectarea nu s-a realizat pentru ca există prea mulţi jucători. LOGIN_FAILURE_TOO_MANY_USER Conectarea nu s-a realizat pentru ca există prea mulţi jucători.
LOGIN_FAILURE_UNKNOWN Login a eşuat din motive necunoscute. LOGIN_FAILURE_UNKNOWN Login a eşuat din motive necunoscute.
LOGIN_FAILURE_WEB_BLOCK Ai fost blocat pe website. Verifică-ţi mailurile. LOGIN_FAILURE_WEB_BLOCK Ai fost blocat pe website. Verifică-ţi mailurile.
LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER Ai introdus un număr greşit. LOGIN_FAILURE_WRONG_CREDENTIALS Nume sau parola greşită.
LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER_TRIPLE Ai introdus de 3 ori un număr greşit. Conectarea va fi închisă.
LOGIN_FAILURE_WRONG_PASSWORD Nume sau parola greşită.
LOGIN_INPUT_ID Introdu ID-ul. LOGIN_INPUT_ID Introdu ID-ul.
LOGIN_INPUT_PASSWORD Introdu parola. LOGIN_INPUT_PASSWORD Introdu parola.
LOGIN_PROCESSING Conectarea rulează ... LOGIN_PROCESSING Conectarea rulează ...

View File

@ -265,22 +265,17 @@ LEFT_TIME
LOGIN_CONNECT_FAILURE Ошибка при соединении с сервером. LOGIN_CONNECT_FAILURE Ошибка при соединении с сервером.
LOGIN_CONNECT_SUCCESS Вы соединены с сервером. LOGIN_CONNECT_SUCCESS Вы соединены с сервером.
LOGIN_CONNETING Происходит соединение с сервером... LOGIN_CONNETING Происходит соединение с сервером...
LOGIN_FAILURE_ALREAY Ваша учётная запись уже соединена. LOGIN_FAILURE_ALREADY Ваша учётная запись уже соединена.
LOGIN_FAILURE_BE_SAME_KEY Проблема с регистрацией
LOGIN_FAILURE_BLOCK_ID Учетная запись заблокирована. LOGIN_FAILURE_BLOCK_ID Учетная запись заблокирована.
LOGIN_FAILURE_BLOCK_LOGIN Выберите другой сервер! LOGIN_FAILURE_BLOCK_LOGIN Выберите другой сервер!
LOGIN_FAILURE_NOBILL В вашей учётной записи нет игрового времени.
LOGIN_FAILURE_NOT_AVAIL Учётная запись недоступна. LOGIN_FAILURE_NOT_AVAIL Учётная запись недоступна.
LOGIN_FAILURE_NOT_EXIST_ID Неверное имя или пароль.
LOGIN_FAILURE_REPAIR_ID Предметы для данного учётной записи сейчас восстанавливаются. LOGIN_FAILURE_REPAIR_ID Предметы для данного учётной записи сейчас восстанавливаются.
LOGIN_FAILURE_SAMELOGIN Кто-то зашел на ваш аккаунт. LOGIN_FAILURE_SAMELOGIN Кто-то зашел на ваш аккаунт.
LOGIN_FAILURE_SHUTDOWN Сервер пока ещё закрыт. LOGIN_FAILURE_SHUTDOWN Сервер пока ещё закрыт.
LOGIN_FAILURE_TOO_MANY_USER В соединении отказано. Сервер переполнен. LOGIN_FAILURE_TOO_MANY_USER В соединении отказано. Сервер переполнен.
LOGIN_FAILURE_UNKNOWN Регистрация не состоялась по неизвестным причинам. LOGIN_FAILURE_UNKNOWN Регистрация не состоялась по неизвестным причинам.
LOGIN_FAILURE_WEB_BLOCK Вас заблокировали на сайте. Пожалуйста проверьте свой Email. LOGIN_FAILURE_WEB_BLOCK Вас заблокировали на сайте. Пожалуйста проверьте свой Email.
LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER Введён неверный номер. LOGIN_FAILURE_WRONG_CREDENTIALS Неправильное имя или пароль.
LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER_TRIPLE Неверный номер введён трижды. Связь будет прервана.
LOGIN_FAILURE_WRONG_PASSWORD Неправильное имя или пароль.
LOGIN_INPUT_ID Введите номер идентификации. LOGIN_INPUT_ID Введите номер идентификации.
LOGIN_INPUT_PASSWORD Введите пароль. LOGIN_INPUT_PASSWORD Введите пароль.
LOGIN_PROCESSING Происходит регистрация... LOGIN_PROCESSING Происходит регистрация...

View File

@ -265,22 +265,17 @@ LEFT_TIME Kalan S
LOGIN_CONNECT_FAILURE Sunucuya bağlanırken hata LOGIN_CONNECT_FAILURE Sunucuya bağlanırken hata
LOGIN_CONNECT_SUCCESS Sunucuya bağlandın. LOGIN_CONNECT_SUCCESS Sunucuya bağlandın.
LOGIN_CONNETING Sunucuya bağlanıyorsun... LOGIN_CONNETING Sunucuya bağlanıyorsun...
LOGIN_FAILURE_ALREAY Hesap zaten bağlı. LOGIN_FAILURE_ALREADY Hesap zaten baðlý.
LOGIN_FAILURE_BE_SAME_KEY Kayıt problemi
LOGIN_FAILURE_BLOCK_ID Hesabınız engellendi! LOGIN_FAILURE_BLOCK_ID Hesabınız engellendi!
LOGIN_FAILURE_BLOCK_LOGIN Lütfen başka server seç! LOGIN_FAILURE_BLOCK_LOGIN Lütfen başka server seç!
LOGIN_FAILURE_NOBILL Hesabınızın oyun süresi yok.
LOGIN_FAILURE_NOT_AVAIL Hesabınız kullanılamaz. LOGIN_FAILURE_NOT_AVAIL Hesabınız kullanılamaz.
LOGIN_FAILURE_NOT_EXIST_ID Hesap ismi veya şifre yanlış.
LOGIN_FAILURE_REPAIR_ID Bu hesap için, nesneler yüklendi. LOGIN_FAILURE_REPAIR_ID Bu hesap için, nesneler yüklendi.
LOGIN_FAILURE_SAMELOGIN Biri senin hesabınla giriş yaptı. LOGIN_FAILURE_SAMELOGIN Biri senin hesabınla giriş yaptı.
LOGIN_FAILURE_SHUTDOWN Sunucu henüz açılmadı. LOGIN_FAILURE_SHUTDOWN Sunucu henüz açılmadı.
LOGIN_FAILURE_TOO_MANY_USER Çok fazla kullanıcı bağlı olduğu için bağlanamazsınız. LOGIN_FAILURE_TOO_MANY_USER Çok fazla kullanıcı bağlı olduğu için bağlanamazsınız.
LOGIN_FAILURE_UNKNOWN Bilinmeyen bir nedenle kaydolamadınız. LOGIN_FAILURE_UNKNOWN Bilinmeyen bir nedenle kaydolamadınız.
LOGIN_FAILURE_WEB_BLOCK Web sitesine erişiminiz engellendi. Lütfen E-Postanızı kontrol ediniz. LOGIN_FAILURE_WEB_BLOCK Web sitesine erişiminiz engellendi. Lütfen E-Postanızı kontrol ediniz.
LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER Yanlış numara girdiniz. LOGIN_FAILURE_WRONG_CREDENTIALS Hesap ismi veya þifre yanlýþ.
LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER_TRIPLE 3 kere yanlış numara girdiniz. Bağlantınız kesildi.
LOGIN_FAILURE_WRONG_PASSWORD Hesap ismi veya şifre yanlış.
LOGIN_INPUT_ID ID nizi yazın. LOGIN_INPUT_ID ID nizi yazın.
LOGIN_INPUT_PASSWORD Şifreyi gir. LOGIN_INPUT_PASSWORD Şifreyi gir.
LOGIN_PROCESSING Giriş işlemi yapılıyor... LOGIN_PROCESSING Giriş işlemi yapılıyor...

View File

@ -683,13 +683,6 @@ class GameWindow(ui.ScriptWindow):
def RefreshGuildGradePage(self): def RefreshGuildGradePage(self):
self.interface.RefreshGuildGradePage() self.interface.RefreshGuildGradePage()
def RefreshMobile(self):
if self.interface:
self.interface.RefreshMobile()
def OnMobileAuthority(self):
self.interface.OnMobileAuthority()
def OnBlockMode(self, mode): def OnBlockMode(self, mode):
self.interface.OnBlockMode(mode) self.interface.OnBlockMode(mode)

View File

@ -610,12 +610,6 @@ class Interface(object):
self.wndMessenger.ClearGuildMember() self.wndMessenger.ClearGuildMember()
self.wndGuild.DeleteGuild() self.wndGuild.DeleteGuild()
def RefreshMobile(self):
self.dlgSystem.RefreshMobile()
def OnMobileAuthority(self):
self.dlgSystem.OnMobileAuthority()
def OnBlockMode(self, mode): def OnBlockMode(self, mode):
self.dlgSystem.OnBlockMode(mode) self.dlgSystem.OnBlockMode(mode)

View File

@ -203,27 +203,19 @@ class LoginWindow(ui.ScriptWindow):
self.loginFailureMsgDict={ self.loginFailureMsgDict={
#"DEFAULT" : localeInfo.LOGIN_FAILURE_UNKNOWN, #"DEFAULT" : localeInfo.LOGIN_FAILURE_UNKNOWN,
"ALREADY" : localeInfo.LOGIN_FAILURE_ALREAY, "ALREADY" : localeInfo.LOGIN_FAILURE_ALREADY,
"NOID" : localeInfo.LOGIN_FAILURE_NOT_EXIST_ID, "WRONGCRD" : localeInfo.LOGIN_FAILURE_WRONG_CREDENTIALS,
"WRONGPWD" : localeInfo.LOGIN_FAILURE_WRONG_PASSWORD,
"FULL" : localeInfo.LOGIN_FAILURE_TOO_MANY_USER, "FULL" : localeInfo.LOGIN_FAILURE_TOO_MANY_USER,
"SHUTDOWN" : localeInfo.LOGIN_FAILURE_SHUTDOWN, "SHUTDOWN" : localeInfo.LOGIN_FAILURE_SHUTDOWN,
"REPAIR" : localeInfo.LOGIN_FAILURE_REPAIR_ID, "REPAIR" : localeInfo.LOGIN_FAILURE_REPAIR_ID,
"BLOCK" : localeInfo.LOGIN_FAILURE_BLOCK_ID, "BLOCK" : localeInfo.LOGIN_FAILURE_BLOCK_ID,
"WRONGMAT" : localeInfo.LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER,
"QUIT" : localeInfo.LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER_TRIPLE,
"BESAMEKEY" : localeInfo.LOGIN_FAILURE_BE_SAME_KEY,
"NOTAVAIL" : localeInfo.LOGIN_FAILURE_NOT_AVAIL, "NOTAVAIL" : localeInfo.LOGIN_FAILURE_NOT_AVAIL,
"NOBILL" : localeInfo.LOGIN_FAILURE_NOBILL,
"BLKLOGIN" : localeInfo.LOGIN_FAILURE_BLOCK_LOGIN, "BLKLOGIN" : localeInfo.LOGIN_FAILURE_BLOCK_LOGIN,
"WEBBLK" : localeInfo.LOGIN_FAILURE_WEB_BLOCK, "WEBBLK" : localeInfo.LOGIN_FAILURE_WEB_BLOCK,
"BADSCLID" : localeInfo.LOGIN_FAILURE_WRONG_SOCIALID,
"AGELIMIT" : localeInfo.LOGIN_FAILURE_SHUTDOWN_TIME,
} }
self.loginFailureFuncDict = { self.loginFailureFuncDict = {
"WRONGPWD" : self.__DisconnectAndInputPassword, "WRONGCRD" : self.__DisconnectAndInputPassword,
"WRONGMAT" : self.__DisconnectAndInputMatrix,
"QUIT" : app.Exit, "QUIT" : app.Exit,
} }
@ -238,9 +230,7 @@ class LoginWindow(ui.ScriptWindow):
if app.loggined: if app.loggined:
self.loginFailureFuncDict = { self.loginFailureFuncDict = {
"WRONGPWD" : app.Exit, "WRONGCRD" : app.Exit,
"WRONGMAT" : app.Exit,
"QUIT" : app.Exit,
} }
if musicInfo.loginMusic != "": if musicInfo.loginMusic != "":
@ -491,20 +481,6 @@ class LoginWindow(ui.ScriptWindow):
self.SetPasswordEditLineFocus() self.SetPasswordEditLineFocus()
net.Disconnect() net.Disconnect()
def __DisconnectAndInputMatrix(self):
if self.connectingDialog:
self.connectingDialog.Close()
self.connectingDialog = None
self.stream.popupWindow.Close()
self.matrixInputChanceCount -= 1
if self.matrixInputChanceCount <= 0:
self.__OnCloseInputDialog()
elif self.inputDialog:
self.inputDialog.Show()
def __LoadScript(self, fileName): def __LoadScript(self, fileName):
import dbg import dbg
try: try:
@ -985,7 +961,6 @@ class LoginWindow(ui.ScriptWindow):
def OnExit(self): def OnExit(self):
self.stream.popupWindow.Close() self.stream.popupWindow.Close()
self.stream.popupWindow.Open(localeInfo.LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER_TRIPLE, app.Exit, localeInfo.UI_OK)
def OnUpdate(self): def OnUpdate(self):
ServerStateChecker.Update() ServerStateChecker.Update()

View File

@ -350,7 +350,6 @@ class SelectCharacterWindow(ui.Window):
def SameLoginDisconnect(self): def SameLoginDisconnect(self):
self.stream.popupWindow.Close() self.stream.popupWindow.Close()
self.stream.popupWindow.Open(localeInfo.LOGIN_FAILURE_SAMELOGIN, self.ExitSelect, localeInfo.UI_OK) self.stream.popupWindow.Open(localeInfo.LOGIN_FAILURE_SAMELOGIN, self.ExitSelect, localeInfo.UI_OK)
#self.stream.popupWindow.Open(localeInfo.LOGIN_FAILURE_ALREAY, app.Exit, localeInfo.UI_OK)
def MakeCharacter(self, index, id, name, race, form, hair): def MakeCharacter(self, index, id, name, race, form, hair):
if 0 == id: if 0 == id:

View File

@ -47,8 +47,6 @@ __IS_CIBN10 = "locale/cibn10" == app.GetLocalePath()
__IS_WE_KOREA = "locale/we_korea" == app.GetLocalePath() __IS_WE_KOREA = "locale/we_korea" == app.GetLocalePath()
__IS_TAIWAN = "locale/taiwan" == app.GetLocalePath() __IS_TAIWAN = "locale/taiwan" == app.GetLocalePath()
__IS_JAPAN = "locale/japan" == app.GetLocalePath() __IS_JAPAN = "locale/japan" == app.GetLocalePath()
LOGIN_FAILURE_WRONG_SOCIALID = "ASDF"
LOGIN_FAILURE_SHUTDOWN_TIME = "ASDF"
if __IS_CANADA: if __IS_CANADA:
__IS_EUROPE = True __IS_EUROPE = True

View File

@ -85,7 +85,6 @@ class MainStream(object):
net.SetHandler(self) net.SetHandler(self)
net.SetTCPRecvBufferSize(128*1024) net.SetTCPRecvBufferSize(128*1024)
net.SetTCPSendBufferSize(4096) net.SetTCPSendBufferSize(4096)
net.SetUDPRecvBufferSize(4096)
self.id="" self.id=""
self.pwd="" self.pwd=""
@ -261,8 +260,6 @@ class MainStream(object):
else: else:
net.ConnectTCP(self.addr, self.port) net.ConnectTCP(self.addr, self.port)
#net.ConnectUDP(IP, Port)
def SetConnectInfo(self, addr, port, account_addr=0, account_port=0): def SetConnectInfo(self, addr, port, account_addr=0, account_port=0):
self.addr = addr self.addr = addr
self.port = port self.port = port

View File

@ -14,11 +14,6 @@ import interfaceModule #
blockMode = 0 blockMode = 0
viewChatMode = 0 viewChatMode = 0
MOBILE = False
if localeInfo.IsYMIR():
MOBILE = True
class OptionDialog(ui.ScriptWindow): class OptionDialog(ui.ScriptWindow):
@ -87,22 +82,13 @@ class OptionDialog(ui.ScriptWindow):
self.showsalesTextButtonList.append(GetObject("salestext_on_button")) self.showsalesTextButtonList.append(GetObject("salestext_on_button"))
self.showsalesTextButtonList.append(GetObject("salestext_off_button")) self.showsalesTextButtonList.append(GetObject("salestext_off_button"))
global MOBILE
if MOBILE:
self.inputMobileButton = GetObject("input_mobile_button")
self.deleteMobileButton = GetObject("delete_mobile_button")
except: except:
import exception import exception
exception.Abort("OptionDialog.__Load_BindObject") exception.Abort("OptionDialog.__Load_BindObject")
def __Load(self): def __Load(self):
global MOBILE self.__Load_LoadScript("uiscript/gameoptiondialog.py")
if MOBILE:
self.__Load_LoadScript("uiscript/gameoptiondialog_formobile.py")
else:
self.__Load_LoadScript("uiscript/gameoptiondialog.py")
self.__Load_BindObject() self.__Load_BindObject()
@ -151,11 +137,6 @@ class OptionDialog(ui.ScriptWindow):
self.__ClickRadioButton(self.viewTargetBoardButtonList, constInfo.GET_VIEW_OTHER_EMPIRE_PLAYER_TARGET_BOARD()) self.__ClickRadioButton(self.viewTargetBoardButtonList, constInfo.GET_VIEW_OTHER_EMPIRE_PLAYER_TARGET_BOARD())
self.__SetPeacePKMode() self.__SetPeacePKMode()
#global MOBILE
if MOBILE:
self.inputMobileButton.SetEvent(ui.__mem_func__(self.__OnChangeMobilePhoneNumber))
self.deleteMobileButton.SetEvent(ui.__mem_func__(self.__OnDeleteMobilePhoneNumber))
def __ClickRadioButton(self, buttonList, buttonIndex): def __ClickRadioButton(self, buttonList, buttonIndex):
try: try:
selButton=buttonList[buttonIndex] selButton=buttonList[buttonIndex]
@ -334,67 +315,6 @@ class OptionDialog(ui.ScriptWindow):
def OnChangePKMode(self): def OnChangePKMode(self):
self.__RefreshPVPButtonList() self.__RefreshPVPButtonList()
def __OnChangeMobilePhoneNumber(self):
global MOBILE
if not MOBILE:
return
import uiCommon
inputDialog = uiCommon.InputDialog()
inputDialog.SetTitle(localeInfo.MESSENGER_INPUT_MOBILE_PHONE_NUMBER_TITLE)
inputDialog.SetMaxLength(13)
inputDialog.SetAcceptEvent(ui.__mem_func__(self.OnInputMobilePhoneNumber))
inputDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseInputDialog))
inputDialog.Open()
self.inputDialog = inputDialog
def __OnDeleteMobilePhoneNumber(self):
global MOBILE
if not MOBILE:
return
import uiCommon
questionDialog = uiCommon.QuestionDialog()
questionDialog.SetText(localeInfo.MESSENGER_DO_YOU_DELETE_PHONE_NUMBER)
questionDialog.SetAcceptEvent(ui.__mem_func__(self.OnDeleteMobile))
questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
questionDialog.Open()
self.questionDialog = questionDialog
def OnInputMobilePhoneNumber(self):
global MOBILE
if not MOBILE:
return
text = self.inputDialog.GetText()
if not text:
return
text.replace('-', '')
net.SendChatPacket("/mobile " + text)
self.OnCloseInputDialog()
return True
def OnInputMobileAuthorityCode(self):
global MOBILE
if not MOBILE:
return
text = self.inputDialog.GetText()
net.SendChatPacket("/mobile_auth " + text)
self.OnCloseInputDialog()
return True
def OnDeleteMobile(self):
global MOBILE
if not MOBILE:
return
net.SendChatPacket("/mobile")
self.OnCloseQuestionDialog()
return True
def OnCloseInputDialog(self): def OnCloseInputDialog(self):
self.inputDialog.Close() self.inputDialog.Close()
self.inputDialog = None self.inputDialog = None
@ -409,34 +329,6 @@ class OptionDialog(ui.ScriptWindow):
self.Close() self.Close()
return True return True
def RefreshMobile(self):
global MOBILE
if not MOBILE:
return
if player.HasMobilePhoneNumber():
self.inputMobileButton.Hide()
self.deleteMobileButton.Show()
else:
self.inputMobileButton.Show()
self.deleteMobileButton.Hide()
def OnMobileAuthority(self):
global MOBILE
if not MOBILE:
return
import uiCommon
inputDialog = uiCommon.InputDialogWithDescription()
inputDialog.SetTitle(localeInfo.MESSENGER_INPUT_MOBILE_AUTHORITY_TITLE)
inputDialog.SetDescription(localeInfo.MESSENGER_INPUT_MOBILE_AUTHORITY_DESCRIPTION)
inputDialog.SetAcceptEvent(ui.__mem_func__(self.OnInputMobileAuthorityCode))
inputDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseInputDialog))
inputDialog.SetMaxLength(4)
inputDialog.SetBoardWidth(310)
inputDialog.Open()
self.inputDialog = inputDialog
def RefreshBlock(self): def RefreshBlock(self):
global blockMode global blockMode
for i in xrange(len(self.blockButtonList)): for i in xrange(len(self.blockButtonList)):
@ -483,7 +375,6 @@ class OptionDialog(ui.ScriptWindow):
self.RefreshBlock() self.RefreshBlock()
def Show(self): def Show(self):
self.RefreshMobile()
self.RefreshBlock() self.RefreshBlock()
ui.ScriptWindow.Show(self) ui.ScriptWindow.Show(self)

View File

@ -71,15 +71,9 @@ class MessengerItem(ui.Window):
def IsOnline(self): def IsOnline(self):
return False return False
def IsMobile(self):
return False
def OnWhisper(self): def OnWhisper(self):
pass pass
def OnMobileMessage(self):
pass
# Remove # Remove
def CanRemove(self): def CanRemove(self):
return False return False
@ -123,17 +117,16 @@ class MessengerMemberItem(MessengerItem):
STATE_OFFLINE = 0 STATE_OFFLINE = 0
STATE_ONLINE = 1 STATE_ONLINE = 1
STATE_MOBILE = 2
IMAGE_FILE_NAME = { "ONLINE" : "d:/ymir work/ui/game/windows/messenger_list_online.sub", IMAGE_FILE_NAME = {
"OFFLINE" : "d:/ymir work/ui/game/windows/messenger_list_offline.sub", "ONLINE" : "d:/ymir work/ui/game/windows/messenger_list_online.sub",
"MOBILE" : "d:/ymir work/ui/game/windows/messenger_list_mobile.sub", } "OFFLINE" : "d:/ymir work/ui/game/windows/messenger_list_offline.sub",
}
def __init__(self, getParentEvent): def __init__(self, getParentEvent):
MessengerItem.__init__(self, getParentEvent) MessengerItem.__init__(self, getParentEvent)
self.key = None self.key = None
self.state = self.STATE_OFFLINE self.state = self.STATE_OFFLINE
self.mobileFlag = False
self.Offline() self.Offline()
def GetStepWidth(self): def GetStepWidth(self):
@ -151,30 +144,13 @@ class MessengerMemberItem(MessengerItem):
return False return False
def IsMobile(self):
if self.STATE_MOBILE == self.state:
return True
return False
def Online(self): def Online(self):
self.image.LoadImage(self.IMAGE_FILE_NAME["ONLINE"]) self.image.LoadImage(self.IMAGE_FILE_NAME["ONLINE"])
self.state = self.STATE_ONLINE self.state = self.STATE_ONLINE
def Offline(self): def Offline(self):
if self.mobileFlag: self.image.LoadImage(self.IMAGE_FILE_NAME["OFFLINE"])
self.image.LoadImage(self.IMAGE_FILE_NAME["MOBILE"]) self.state = self.STATE_OFFLINE
self.state = self.STATE_MOBILE
else:
self.image.LoadImage(self.IMAGE_FILE_NAME["OFFLINE"])
self.state = self.STATE_OFFLINE
def SetMobile(self, flag):
self.mobileFlag = flag
if not self.IsOnline():
self.Offline()
def CanWhisper(self): def CanWhisper(self):
if self.IsOnline(): if self.IsOnline():
@ -186,15 +162,6 @@ class MessengerMemberItem(MessengerItem):
if self.IsOnline(): if self.IsOnline():
self.getParentEvent().whisperButtonEvent(self.GetName()) self.getParentEvent().whisperButtonEvent(self.GetName())
def OnMobileMessage(self):
if not uiGameOption.MOBILE:
return
if not self.IsMobile():
return
self.getParentEvent().SendMobileMessage(self.GetName())
def Select(self): def Select(self):
MessengerItem.Select(self) MessengerItem.Select(self)
@ -370,7 +337,6 @@ class MessengerWindow(ui.ScriptWindow):
self.showingPageSize = 0 self.showingPageSize = 0
self.startLine = 0 self.startLine = 0
self.hasMobilePhoneNumber = True
self.isLoaded = 0 self.isLoaded = 0
@ -396,7 +362,6 @@ class MessengerWindow(ui.ScriptWindow):
self.board = self.GetChild("board") self.board = self.GetChild("board")
self.scrollBar = self.GetChild("ScrollBar") self.scrollBar = self.GetChild("ScrollBar")
self.whisperButton = self.GetChild("WhisperButton") self.whisperButton = self.GetChild("WhisperButton")
self.mobileButton = self.GetChild("MobileButton")
self.removeButton = self.GetChild("RemoveButton") self.removeButton = self.GetChild("RemoveButton")
self.addFriendButton = self.GetChild("AddFriendButton") self.addFriendButton = self.GetChild("AddFriendButton")
self.guildButton = self.GetChild("GuildButton") self.guildButton = self.GetChild("GuildButton")
@ -407,22 +372,11 @@ class MessengerWindow(ui.ScriptWindow):
self.board.SetCloseEvent(ui.__mem_func__(self.Close)) self.board.SetCloseEvent(ui.__mem_func__(self.Close))
self.scrollBar.SetScrollEvent(ui.__mem_func__(self.OnScroll)) self.scrollBar.SetScrollEvent(ui.__mem_func__(self.OnScroll))
self.whisperButton.SetEvent(ui.__mem_func__(self.OnPressWhisperButton)) self.whisperButton.SetEvent(ui.__mem_func__(self.OnPressWhisperButton))
self.mobileButton.SetEvent(ui.__mem_func__(self.OnPressMobileButton))
self.removeButton.SetEvent(ui.__mem_func__(self.OnPressRemoveButton)) self.removeButton.SetEvent(ui.__mem_func__(self.OnPressRemoveButton))
self.addFriendButton.SetEvent(ui.__mem_func__(self.OnPressAddFriendButton)) self.addFriendButton.SetEvent(ui.__mem_func__(self.OnPressAddFriendButton))
self.guildButton.SetEvent(ui.__mem_func__(self.OnPressGuildButton)) self.guildButton.SetEvent(ui.__mem_func__(self.OnPressGuildButton))
if not uiGameOption.MOBILE: #constInfo.SEND_MOBILE_PHONE_MESSAGE_ENABLE:
self.mobileButton.Hide()
width = self.GetWidth()
height = self.GetHeight()
self.addFriendButton.SetPosition(-60, 30)
self.whisperButton.SetPosition(-20, 30)
self.removeButton.SetPosition(20, 30)
self.guildButton.SetPosition(60, 30)
self.whisperButton.Disable() self.whisperButton.Disable()
self.mobileButton.Disable()
self.removeButton.Disable() self.removeButton.Disable()
resizeButton = self.ResizeButton() resizeButton = self.ResizeButton()
@ -450,11 +404,9 @@ class MessengerWindow(ui.ScriptWindow):
self.friendNameBoard = None self.friendNameBoard = None
self.questionDialog = None self.questionDialog = None
self.popupDialog = None self.popupDialog = None
self.inputDialog = None
self.familyGroup = None self.familyGroup = None
self.whisperButton = None self.whisperButton = None
self.mobileButton = None
self.removeButton = None self.removeButton = None
def OnCloseQuestionDialog(self): def OnCloseQuestionDialog(self):
@ -543,84 +495,6 @@ class MessengerWindow(ui.ScriptWindow):
def SetGuildButtonEvent(self, event): def SetGuildButtonEvent(self, event):
self.guildButtonEvent=event self.guildButtonEvent=event
def SendMobileMessage(self, name):
if not uiGameOption.MOBILE:
return
if not self.hasMobilePhoneNumber:
questionDialog = uiCommon.QuestionDialog2()
questionDialog.SetText1(localeInfo.MESSENGER_INPUT_MOBILE_PHONE_NUMBER_1)
questionDialog.SetText2(localeInfo.MESSENGER_INPUT_MOBILE_PHONE_NUMBER_2)
questionDialog.SetAcceptEvent(ui.__mem_func__(self.OnAcceptInputMobilePhoneNumber))
questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCancelInputMobilePhoneNumber))
questionDialog.SetWidth(400)
questionDialog.Open()
self.questionDialog = questionDialog
return
## Input Sending Mobile Message
inputDialog = uiCommon.InputDialog()
inputDialog.SetTitle(localeInfo.MESSENGER_SEND_MOBILE_MESSAGE_TITLE)
inputDialog.SetMaxLength(50)
inputDialog.SetAcceptEvent(ui.__mem_func__(self.OnInputMobileMessage))
inputDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseInputDialog))
inputDialog.name = name
inputDialog.Open()
self.inputDialog = inputDialog
def OnAcceptInputMobilePhoneNumber(self):
if not uiGameOption.MOBILE:
return
## Input Mobile Phone Number
inputDialog = uiCommon.InputDialog()
inputDialog.SetTitle(localeInfo.MESSENGER_INPUT_MOBILE_PHONE_NUMBER_TITLE)
inputDialog.SetMaxLength(13)
inputDialog.SetAcceptEvent(ui.__mem_func__(self.OnInputMobilePhoneNumber))
inputDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseInputDialog))
inputDialog.Open()
self.inputDialog = inputDialog
self.OnCancelInputMobilePhoneNumber()
def OnCancelInputMobilePhoneNumber(self):
if not uiGameOption.MOBILE:
return
self.questionDialog.Close()
self.questionDialog = None
return True
def OnInputMobilePhoneNumber(self):
if not uiGameOption.MOBILE:
return
text = self.inputDialog.GetText()
if not text:
return
text.replace('-', '')
net.SendChatPacket("/mobile " + text)
self.OnCloseInputDialog()
return True
def OnInputMobileMessage(self):
if not uiGameOption.MOBILE:
return
text = self.inputDialog.GetText()
if not text:
return
net.SendMobileMessagePacket(self.inputDialog.name, text)
self.OnCloseInputDialog()
return True
def OnCloseInputDialog(self):
self.inputDialog.Close()
self.inputDialog = None
return True
def OnPressGuildButton(self): def OnPressGuildButton(self):
self.guildButtonEvent() self.guildButtonEvent()
@ -649,10 +523,6 @@ class MessengerWindow(ui.ScriptWindow):
if self.selectedItem: if self.selectedItem:
self.selectedItem.OnWhisper() self.selectedItem.OnWhisper()
def OnPressMobileButton(self):
if self.selectedItem:
self.selectedItem.OnMobileMessage()
def OnPressRemoveButton(self): def OnPressRemoveButton(self):
if self.selectedItem: if self.selectedItem:
if self.selectedItem.CanRemove(): if self.selectedItem.CanRemove():
@ -702,11 +572,6 @@ class MessengerWindow(ui.ScriptWindow):
else: else:
self.whisperButton.Disable() self.whisperButton.Disable()
if self.selectedItem.IsMobile():
self.mobileButton.Enable()
else:
self.mobileButton.Disable()
if self.selectedItem.CanRemove(): if self.selectedItem.CanRemove():
self.removeButton.Enable() self.removeButton.Enable()
else: else:
@ -720,9 +585,6 @@ class MessengerWindow(ui.ScriptWindow):
if self.selectedItem.IsOnline(): if self.selectedItem.IsOnline():
self.OnPressWhisperButton() self.OnPressWhisperButton()
elif self.selectedItem.IsMobile():
self.OnPressMobileButton()
def GetSelf(self): def GetSelf(self):
return self return self
@ -796,14 +658,6 @@ class MessengerWindow(ui.ScriptWindow):
member.Offline() member.Offline()
self.OnRefreshList() self.OnRefreshList()
def OnMobile(self, groupIndex, key, mobileFlag):
group = self.groupList[groupIndex]
member = group.FindMember(key)
if not member:
return
member.SetMobile(mobileFlag)
self.OnRefreshList()
def OnAddLover(self, name, lovePoint): def OnAddLover(self, name, lovePoint):
if not self.familyGroup: if not self.familyGroup:
self.__AddFamilyGroup() self.__AddFamilyGroup()

View File

@ -9,11 +9,6 @@ import constInfo
import chrmgr import chrmgr
import player import player
MOBILE = False
if localeInfo.IsYMIR():
MOBILE = True
blockMode = 0 blockMode = 0
class OptionDialog(ui.ScriptWindow): class OptionDialog(ui.ScriptWindow):
@ -45,15 +40,9 @@ class OptionDialog(ui.ScriptWindow):
print " -------------------------------------- DESTROY OPTION DIALOG" print " -------------------------------------- DESTROY OPTION DIALOG"
def __LoadDialog(self): def __LoadDialog(self):
global NO_MOBILE
try: try:
pyScriptLoader = ui.PythonScriptLoader() pyScriptLoader = ui.PythonScriptLoader()
pyScriptLoader.LoadScriptFile(self, "uiscript/optiondialog.py")
if MOBILE:
pyScriptLoader.LoadScriptFile(self, "uiscript/optiondialog_formobile.py")
else:
pyScriptLoader.LoadScriptFile(self, "uiscript/optiondialog.py")
except: except:
import exception import exception
@ -83,10 +72,6 @@ class OptionDialog(ui.ScriptWindow):
self.blockButtonList.append(GetObject("block_whisper_button")) self.blockButtonList.append(GetObject("block_whisper_button"))
self.blockButtonList.append(GetObject("block_friend_button")) self.blockButtonList.append(GetObject("block_friend_button"))
if MOBILE:
self.inputMobileButton = GetObject("input_mobile_button")
self.deleteMobileButton = GetObject("delete_mobile_button")
except: except:
import exception import exception
exception.Abort("OptionDialog.__LoadDialog.BindObject") exception.Abort("OptionDialog.__LoadDialog.BindObject")
@ -134,10 +119,6 @@ class OptionDialog(ui.ScriptWindow):
self.__ClickRadioButton(self.viewTargetBoardButtonList, constInfo.GET_VIEW_OTHER_EMPIRE_PLAYER_TARGET_BOARD()) self.__ClickRadioButton(self.viewTargetBoardButtonList, constInfo.GET_VIEW_OTHER_EMPIRE_PLAYER_TARGET_BOARD())
self.__SetPeacePKMode() self.__SetPeacePKMode()
if MOBILE:
self.inputMobileButton.SetEvent(ui.__mem_func__(self.__OnChangeMobilePhoneNumber))
self.deleteMobileButton.SetEvent(ui.__mem_func__(self.__OnDeleteMobilePhoneNumber))
def __ClickRadioButton(self, buttonList, buttonIndex): def __ClickRadioButton(self, buttonList, buttonIndex):
try: try:
selButton=buttonList[buttonIndex] selButton=buttonList[buttonIndex]
@ -294,53 +275,6 @@ class OptionDialog(ui.ScriptWindow):
snd.SetSoundVolumef(pos) snd.SetSoundVolumef(pos)
systemSetting.SetSoundVolumef(pos) systemSetting.SetSoundVolumef(pos)
def __OnChangeMobilePhoneNumber(self):
import uiCommon
inputDialog = uiCommon.InputDialog()
inputDialog.SetTitle(localeInfo.MESSENGER_INPUT_MOBILE_PHONE_NUMBER_TITLE)
inputDialog.SetMaxLength(13)
inputDialog.SetAcceptEvent(ui.__mem_func__(self.OnInputMobilePhoneNumber))
inputDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseInputDialog))
inputDialog.Open()
self.inputDialog = inputDialog
def __OnDeleteMobilePhoneNumber(self):
import uiCommon
questionDialog = uiCommon.QuestionDialog()
questionDialog.SetText(localeInfo.MESSENGER_DO_YOU_DELETE_PHONE_NUMBER)
questionDialog.SetAcceptEvent(ui.__mem_func__(self.OnDeleteMobile))
questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
questionDialog.Open()
self.questionDialog = questionDialog
def OnInputMobilePhoneNumber(self):
text = self.inputDialog.GetText()
if not text:
return
text.replace('-', '')
net.SendChatPacket("/mobile " + text)
self.OnCloseInputDialog()
return True
def OnInputMobileAuthorityCode(self):
text = self.inputDialog.GetText()
net.SendChatPacket("/mobile_auth " + text)
self.OnCloseInputDialog()
return True
def OnDeleteMobile(self):
net.SendChatPacket("/mobile")
self.OnCloseQuestionDialog()
return True
def OnCloseInputDialog(self):
self.inputDialog.Close()
self.inputDialog = None
return True
def OnCloseQuestionDialog(self): def OnCloseQuestionDialog(self):
self.questionDialog.Close() self.questionDialog.Close()
self.questionDialog = None self.questionDialog = None
@ -350,30 +284,6 @@ class OptionDialog(ui.ScriptWindow):
self.Close() self.Close()
return True return True
def RefreshMobile(self):
global MOBILE
if not MOBILE:
return
if player.HasMobilePhoneNumber():
self.inputMobileButton.Hide()
self.deleteMobileButton.Show()
else:
self.inputMobileButton.Show()
self.deleteMobileButton.Hide()
def OnMobileAuthority(self):
import uiCommon
inputDialog = uiCommon.InputDialogWithDescription()
inputDialog.SetTitle(localeInfo.MESSENGER_INPUT_MOBILE_AUTHORITY_TITLE)
inputDialog.SetDescription(localeInfo.MESSENGER_INPUT_MOBILE_AUTHORITY_DESCRIPTION)
inputDialog.SetAcceptEvent(ui.__mem_func__(self.OnInputMobileAuthorityCode))
inputDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseInputDialog))
inputDialog.SetMaxLength(4)
inputDialog.SetBoardWidth(310)
inputDialog.Open()
self.inputDialog = inputDialog
def RefreshBlock(self): def RefreshBlock(self):
global blockMode global blockMode
for i in xrange(len(self.blockButtonList)): for i in xrange(len(self.blockButtonList)):
@ -388,7 +298,6 @@ class OptionDialog(ui.ScriptWindow):
self.RefreshBlock() self.RefreshBlock()
def Show(self): def Show(self):
self.RefreshMobile()
self.RefreshBlock() self.RefreshBlock()
ui.ScriptWindow.Show(self) ui.ScriptWindow.Show(self)

View File

@ -136,16 +136,6 @@ class SystemDialog(ui.ScriptWindow):
self.Hide() self.Hide()
return True return True
def RefreshMobile(self):
if self.gameOptionDlg:
self.gameOptionDlg.RefreshMobile()
#self.optionDialog.RefreshMobile()
def OnMobileAuthority(self):
if self.gameOptionDlg:
self.gameOptionDlg.OnMobileAuthority()
#self.optionDialog.OnMobileAuthority()
def OnBlockMode(self, mode): def OnBlockMode(self, mode):
uiGameOption.blockMode = mode uiGameOption.blockMode = mode
if self.gameOptionDlg: if self.gameOptionDlg:

View File

@ -1,479 +0,0 @@
import uiScriptLocale
ROOT_PATH = "d:/ymir work/ui/public/"
TEMPORARY_X = +13
BUTTON_TEMPORARY_X = 5
PVP_X = -10
LINE_LABEL_X = 30
LINE_DATA_X = 90
LINE_STEP = 0
SMALL_BUTTON_WIDTH = 45
MIDDLE_BUTTON_WIDTH = 65
window = {
"name" : "GameOptionDialog",
"style" : ("movable", "float",),
"x" : 0,
"y" : 0,
"width" : 300,
"height" : (258+25),
"children" :
(
{
"name" : "board",
"type" : "board",
"x" : 0,
"y" : 0,
"width" : 300,
"height" : 25*12+8,
"children" :
(
## Title
{
"name" : "titlebar",
"type" : "titlebar",
"style" : ("attach",),
"x" : 8,
"y" : 8,
"width" : 284,
"color" : "gray",
"children" :
(
{ "name":"titlename", "type":"text", "x":0, "y":3,
"text" : uiScriptLocale.GAMEOPTION_TITLE,
"horizontal_align":"center", "text_horizontal_align":"center" },
),
},
## À̸§»ö
{
"name" : "name_color",
"type" : "text",
"x" : LINE_LABEL_X,
"y" : 40+2,
"text" : uiScriptLocale.OPTION_NAME_COLOR,
},
{
"name" : "name_color_normal",
"type" : "radio_button",
"x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH*0,
"y" : 40,
"text" : uiScriptLocale.OPTION_NAME_COLOR_NORMAL,
"default_image" : ROOT_PATH + "Middle_Button_01.sub",
"over_image" : ROOT_PATH + "Middle_Button_02.sub",
"down_image" : ROOT_PATH + "Middle_Button_03.sub",
},
{
"name" : "name_color_empire",
"type" : "radio_button",
"x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH*1,
"y" : 40,
"text" : uiScriptLocale.OPTION_NAME_COLOR_EMPIRE,
"default_image" : ROOT_PATH + "Middle_Button_01.sub",
"over_image" : ROOT_PATH + "Middle_Button_02.sub",
"down_image" : ROOT_PATH + "Middle_Button_03.sub",
},
## Ÿ°Ùâ
{
"name" : "target_board",
"type" : "text",
"x" : LINE_LABEL_X,
"y" : 65+2,
"text" : uiScriptLocale.OPTION_TARGET_BOARD,
},
{
"name" : "target_board_no_view",
"type" : "radio_button",
"x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH*0,
"y" : 65,
"text" : uiScriptLocale.OPTION_TARGET_BOARD_NO_VIEW,
"default_image" : ROOT_PATH + "Middle_Button_01.sub",
"over_image" : ROOT_PATH + "Middle_Button_02.sub",
"down_image" : ROOT_PATH + "Middle_Button_03.sub",
},
{
"name" : "target_board_view",
"type" : "radio_button",
"x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH*1,
"y" : 65,
"text" : uiScriptLocale.OPTION_TARGET_BOARD_VIEW,
"default_image" : ROOT_PATH + "Middle_Button_01.sub",
"over_image" : ROOT_PATH + "Middle_Button_02.sub",
"down_image" : ROOT_PATH + "Middle_Button_03.sub",
},
## PvP Mode
{
"name" : "pvp_mode",
"type" : "text",
"x" : LINE_LABEL_X,
"y" : 90+2,
"text" : uiScriptLocale.OPTION_PVPMODE,
},
{
"name" : "pvp_peace",
"type" : "radio_button",
"x" : LINE_DATA_X+SMALL_BUTTON_WIDTH*0,
"y" : 90,
"text" : uiScriptLocale.OPTION_PVPMODE_PEACE,
"tooltip_text" : uiScriptLocale.OPTION_PVPMODE_PEACE_TOOLTIP,
"default_image" : ROOT_PATH + "small_Button_01.sub",
"over_image" : ROOT_PATH + "small_Button_02.sub",
"down_image" : ROOT_PATH + "small_Button_03.sub",
},
{
"name" : "pvp_revenge",
"type" : "radio_button",
"x" : LINE_DATA_X+SMALL_BUTTON_WIDTH*1,
"y" : 90,
"text" : uiScriptLocale.OPTION_PVPMODE_REVENGE,
"tooltip_text" : uiScriptLocale.OPTION_PVPMODE_REVENGE_TOOLTIP,
"default_image" : ROOT_PATH + "small_Button_01.sub",
"over_image" : ROOT_PATH + "small_Button_02.sub",
"down_image" : ROOT_PATH + "small_Button_03.sub",
},
{
"name" : "pvp_guild",
"type" : "radio_button",
"x" : LINE_DATA_X+SMALL_BUTTON_WIDTH*2,
"y" : 90,
"text" : uiScriptLocale.OPTION_PVPMODE_GUILD,
"tooltip_text" : uiScriptLocale.OPTION_PVPMODE_GUILD_TOOLTIP,
"default_image" : ROOT_PATH + "small_Button_01.sub",
"over_image" : ROOT_PATH + "small_Button_02.sub",
"down_image" : ROOT_PATH + "small_Button_03.sub",
},
{
"name" : "pvp_free",
"type" : "radio_button",
"x" : LINE_DATA_X+SMALL_BUTTON_WIDTH*3,
"y" : 90,
"text" : uiScriptLocale.OPTION_PVPMODE_FREE,
"tooltip_text" : uiScriptLocale.OPTION_PVPMODE_FREE_TOOLTIP,
"default_image" : ROOT_PATH + "small_Button_01.sub",
"over_image" : ROOT_PATH + "small_Button_02.sub",
"down_image" : ROOT_PATH + "small_Button_03.sub",
},
## Block
{
"name" : "block",
"type" : "text",
"x" : LINE_LABEL_X,
"y" : 115+2,
"text" : uiScriptLocale.OPTION_BLOCK,
},
{
"name" : "block_exchange_button",
"type" : "toggle_button",
"x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH*0,
"y" : 115,
"text" : uiScriptLocale.OPTION_BLOCK_EXCHANGE,
"default_image" : ROOT_PATH + "middle_button_01.sub",
"over_image" : ROOT_PATH + "middle_button_02.sub",
"down_image" : ROOT_PATH + "middle_button_03.sub",
},
{
"name" : "block_party_button",
"type" : "toggle_button",
"x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH*1,
"y" : 115,
"text" : uiScriptLocale.OPTION_BLOCK_PARTY,
"default_image" : ROOT_PATH + "middle_button_01.sub",
"over_image" : ROOT_PATH + "middle_button_02.sub",
"down_image" : ROOT_PATH + "middle_button_03.sub",
},
{
"name" : "block_guild_button",
"type" : "toggle_button",
"x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH*2,
"y" : 115,
"text" : uiScriptLocale.OPTION_BLOCK_GUILD,
"default_image" : ROOT_PATH + "middle_button_01.sub",
"over_image" : ROOT_PATH + "middle_button_02.sub",
"down_image" : ROOT_PATH + "middle_button_03.sub",
},
{
"name" : "block_whisper_button",
"type" : "toggle_button",
"x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH*0,
"y" : 140,
"text" : uiScriptLocale.OPTION_BLOCK_WHISPER,
"default_image" : ROOT_PATH + "middle_button_01.sub",
"over_image" : ROOT_PATH + "middle_button_02.sub",
"down_image" : ROOT_PATH + "middle_button_03.sub",
},
{
"name" : "block_friend_button",
"type" : "toggle_button",
"x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH*1,
"y" : 140,
"text" : uiScriptLocale.OPTION_BLOCK_FRIEND,
"default_image" : ROOT_PATH + "middle_button_01.sub",
"over_image" : ROOT_PATH + "middle_button_02.sub",
"down_image" : ROOT_PATH + "middle_button_03.sub",
},
{
"name" : "block_party_request_button",
"type" : "toggle_button",
"x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH*2,
"y" : 140,
"text" : uiScriptLocale.OPTION_BLOCK_PARTY_REQUEST,
"default_image" : ROOT_PATH + "middle_button_01.sub",
"over_image" : ROOT_PATH + "middle_button_02.sub",
"down_image" : ROOT_PATH + "middle_button_03.sub",
},
## Chat
{
"name" : "chat",
"type" : "text",
"x" : LINE_LABEL_X,
"y" : 165+2,
"text" : uiScriptLocale.OPTION_VIEW_CHAT,
},
{
"name" : "view_chat_on_button",
"type" : "radio_button",
"x" : LINE_DATA_X,
"y" : 165,
"text" : uiScriptLocale.OPTION_VIEW_CHAT_ON,
"default_image" : ROOT_PATH + "middle_button_01.sub",
"over_image" : ROOT_PATH + "middle_button_02.sub",
"down_image" : ROOT_PATH + "middle_button_03.sub",
},
{
"name" : "view_chat_off_button",
"type" : "radio_button",
"x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH,
"y" : 165,
"text" : uiScriptLocale.OPTION_VIEW_CHAT_OFF,
"default_image" : ROOT_PATH + "middle_button_01.sub",
"over_image" : ROOT_PATH + "middle_button_02.sub",
"down_image" : ROOT_PATH + "middle_button_03.sub",
},
## Always Show Name
{
"name" : "always_show_name",
"type" : "text",
"x" : LINE_LABEL_X,
"y" : 190+2,
"text" : uiScriptLocale.OPTION_ALWAYS_SHOW_NAME,
},
{
"name" : "always_show_name_on_button",
"type" : "radio_button",
"x" : LINE_DATA_X,
"y" : 190,
"text" : uiScriptLocale.OPTION_ALWAYS_SHOW_NAME_ON,
"default_image" : ROOT_PATH + "middle_button_01.sub",
"over_image" : ROOT_PATH + "middle_button_02.sub",
"down_image" : ROOT_PATH + "middle_button_03.sub",
},
{
"name" : "always_show_name_off_button",
"type" : "radio_button",
"x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH,
"y" : 190,
"text" : uiScriptLocale.OPTION_ALWAYS_SHOW_NAME_OFF,
"default_image" : ROOT_PATH + "middle_button_01.sub",
"over_image" : ROOT_PATH + "middle_button_02.sub",
"down_image" : ROOT_PATH + "middle_button_03.sub",
},
## Mobile
{
"name" : "mobile",
"type" : "text",
"x" : LINE_LABEL_X,
"y" : 215+2,
"text" : uiScriptLocale.OPTION_MOBILE,
},
{
"name" : "input_mobile_button",
"type" : "button",
"x" : LINE_DATA_X,
"y" : 215,
"text" : uiScriptLocale.OPTION_INPUT_MOBILE_BUTTON,
"default_image" : ROOT_PATH + "Large_Button_01.sub",
"over_image" : ROOT_PATH + "Large_Button_02.sub",
"down_image" : ROOT_PATH + "Large_Button_03.sub",
},
{
"name" : "delete_mobile_button",
"type" : "button",
"x" : 90,
"y" : 215,
"text" : uiScriptLocale.OPTION_DELETE_MOBILE_BUTTON,
"default_image" : ROOT_PATH + "Large_Button_01.sub",
"over_image" : ROOT_PATH + "Large_Button_02.sub",
"down_image" : ROOT_PATH + "Large_Button_03.sub",
},
## Effect On/Off
{
"name" : "effect_on_off",
"type" : "text",
"x" : LINE_LABEL_X,
"y" : 240+2,
"text" : uiScriptLocale.OPTION_EFFECT,
},
{
"name" : "show_damage_on_button",
"type" : "radio_button",
"x" : LINE_DATA_X,
"y" : 240,
"text" : uiScriptLocale.OPTION_VIEW_CHAT_ON,
"default_image" : ROOT_PATH + "middle_button_01.sub",
"over_image" : ROOT_PATH + "middle_button_02.sub",
"down_image" : ROOT_PATH + "middle_button_03.sub",
},
{
"name" : "show_damage_off_button",
"type" : "radio_button",
"x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH,
"y" : 240,
"text" : uiScriptLocale.OPTION_VIEW_CHAT_OFF,
"default_image" : ROOT_PATH + "middle_button_01.sub",
"over_image" : ROOT_PATH + "middle_button_02.sub",
"down_image" : ROOT_PATH + "middle_button_03.sub",
},
## ÆÇ¸Å¹®±¸
{
"name" : "salestext_on_off",
"type" : "text",
"x" : LINE_LABEL_X,
"y" : 265+2,
"text" : uiScriptLocale.OPTION_SALESTEXT,
},
{
"name" : "salestext_on_button",
"type" : "radio_button",
"x" : LINE_DATA_X,
"y" : 265,
"text" : uiScriptLocale.OPTION_SALESTEXT_VIEW_ON,
"default_image" : ROOT_PATH + "middle_button_01.sub",
"over_image" : ROOT_PATH + "middle_button_02.sub",
"down_image" : ROOT_PATH + "middle_button_03.sub",
},
{
"name" : "salestext_off_button",
"type" : "radio_button",
"x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH,
"y" : 265,
"text" : uiScriptLocale.OPTION_SALESTEXT_VIEW_OFF,
"default_image" : ROOT_PATH + "middle_button_01.sub",
"over_image" : ROOT_PATH + "middle_button_02.sub",
"down_image" : ROOT_PATH + "middle_button_03.sub",
},
),
},
),
}

View File

@ -1,7 +1,7 @@
import uiScriptLocale import uiScriptLocale
BUTTON_START_X_POS = -60 BUTTON_START_X_POS = -60
BUTTON_X_STEP = 30 BUTTON_X_STEP = 40
window = { window = {
"name" : "MessengerWindow", "name" : "MessengerWindow",
@ -73,28 +73,11 @@ window = {
"down_image" : "d:/ymir work/ui/game/windows/messenger_whisper_03.sub", "down_image" : "d:/ymir work/ui/game/windows/messenger_whisper_03.sub",
"disable_image" : "d:/ymir work/ui/game/windows/messenger_whisper_04.sub", "disable_image" : "d:/ymir work/ui/game/windows/messenger_whisper_04.sub",
}, },
{
"name" : "MobileButton",
"type" : "button",
"x" : BUTTON_START_X_POS + BUTTON_X_STEP*2,
"y" : 30,
"horizontal_align" : "center",
"vertical_align" : "bottom",
"tooltip_text" : uiScriptLocale.MESSENGER_MOBILE,
"tooltip_x" : 0,
"tooltip_y" : 35,
"default_image" : "d:/ymir work/ui/game/windows/messenger_mobile_01.sub",
"over_image" : "d:/ymir work/ui/game/windows/messenger_mobile_02.sub",
"down_image" : "d:/ymir work/ui/game/windows/messenger_mobile_03.sub",
"disable_image" : "d:/ymir work/ui/game/windows/messenger_mobile_04.sub",
},
{ {
"name" : "RemoveButton", "name" : "RemoveButton",
"type" : "button", "type" : "button",
"x" : BUTTON_START_X_POS + BUTTON_X_STEP*3, "x" : BUTTON_START_X_POS + BUTTON_X_STEP*2,
"y" : 30, "y" : 30,
"horizontal_align" : "center", "horizontal_align" : "center",
"vertical_align" : "bottom", "vertical_align" : "bottom",
@ -111,7 +94,7 @@ window = {
"name" : "GuildButton", "name" : "GuildButton",
"type" : "button", "type" : "button",
"x" : BUTTON_START_X_POS + BUTTON_X_STEP*4, "x" : BUTTON_START_X_POS + BUTTON_X_STEP*3,
"y" : 30, "y" : 30,
"horizontal_align" : "center", "horizontal_align" : "center",
"vertical_align" : "bottom", "vertical_align" : "bottom",

62
build.bat Normal file
View File

@ -0,0 +1,62 @@
@echo off
ECHO ======================================================
ECHO The Old Metin2 Project - Automated client build script
ECHO Only use on a clean project directory.
ECHO ======================================================
rem SET M2_MSVC_DIR=C:\Program Files\Microsoft Visual Studio\2022\Community\
rem SET M2_7ZIP_PATH=C:\Program Files\7-Zip\7z.exe
rem Check the environment variables
VERIFY OTHER 2>nul
SETLOCAL ENABLEEXTENSIONS
IF ERRORLEVEL 1 ECHO Unable to enable extensions
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.
EXIT /B -1
)
IF NOT DEFINED M2_7ZIP_PATH (
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
)
ENDLOCAL
rem Cause variables to be expanded at execution time (in order for !errorlevel! to work)
SETLOCAL EnableDelayedExpansion
rem Initialize the MSVC environment
CALL "%M2_MSVC_DIR%\VC\Auxiliary\Build\vcvars32.bat"
rem Build
msbuild Metin2Client.sln /p:Configuration=Distribute /p:Platform="Win32"
if !errorlevel! neq 0 exit /b !errorlevel!
rem Start assembling the client package
RMDIR /S /Q dist
MKDIR dist\
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
xcopy bin\ dist\ /Y /Q
DEL /S dist\.gitignore
xcopy bin\BGM\ dist\BGM\ /E /Y /Q
xcopy bin\lib\ dist\lib\ /E /Y /Q
MKDIR dist\mark\
xcopy bin\miles\ dist\miles\ /E /Y /Q
MKDIR dist\pack\
COPY /Y bin\pack\Index dist\pack\
COPY /Y bin\pack\*.rdch dist\pack\
MKDIR dist\screenshot\
xcopy bin\upload\ dist\upload\ /E /Y /Q
rem Build and copy the archives
DEL /F /Q "bin\pack\*.zip"
FOR /d %%i IN ("bin\pack\*") DO (
echo Packing %%i
"%M2_7ZIP_PATH%" a "%%i.zip" ".\%%i\*"
if !errorlevel! neq 0 exit /b !errorlevel!
)
MOVE /Y bin\pack\*.zip dist\pack\

BIN
doc/img/directx-error-1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

BIN
doc/img/directx-error-2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

View File

@ -1,157 +0,0 @@
#if defined(__BORLANDC__)
/* These definitions provided by Dr. Todd Brennan, 04Oct2002 */
#define SECUREBEGIN _asm {db 0xEB; db 0x03; db 0xD6; db 0xD6; db 0x00;}
#define SECUREEND _asm {db 0xEB; db 0x03; db 0xD6; db 0xD6; db 0xFF;}
#define SECUREBEGIN_A _asm {db 0xEB; db 0x03; db 0xD6; db 0xD6; db 0x01;}
#define SECUREEND_A _asm {db 0xEB; db 0x03; db 0xD6; db 0xD6; db 0xFF;}
#define SECUREBEGIN_B _asm {db 0xEB; db 0x03; db 0xD6; db 0xD6; db 0x02;}
#define SECUREEND_B _asm {db 0xEB; db 0x03; db 0xD6; db 0xD6; db 0xFF;}
#define SECUREBEGIN_C _asm {db 0xEB; db 0x03; db 0xD6; db 0xD6; db 0x03;}
#define SECUREEND_C _asm {db 0xEB; db 0x03; db 0xD6; db 0xD6; db 0xFF;}
#define SECUREBEGIN_D _asm {db 0xEB; db 0x03; db 0xD6; db 0xD6; db 0x04;}
#define SECUREEND_D _asm {db 0xEB; db 0x03; db 0xD6; db 0xD6; db 0xFF;}
#define SECUREBEGIN_E _asm {db 0xEB; db 0x03; db 0xD6; db 0xD6; db 0x05;}
#define SECUREEND_E _asm {db 0xEB; db 0x03; db 0xD6; db 0xD6; db 0xFF;}
#define SECUREBEGIN_F _asm {db 0xEB; db 0x03; db 0xD6; db 0xD6; db 0x06;}
#define SECUREEND_F _asm {db 0xEB; db 0x03; db 0xD6; db 0xD6; db 0xFF;}
#define SECUREBEGIN_G _asm {db 0xEB; db 0x03; db 0xD6; db 0xD6; db 0x07;}
#define SECUREEND_G _asm {db 0xEB; db 0x03; db 0xD6; db 0xD6; db 0xFF;}
#define SECUREBEGIN_H _asm {db 0xEB; db 0x03; db 0xD6; db 0xD6; db 0x08;}
#define SECUREEND_H _asm {db 0xEB; db 0x03; db 0xD6; db 0xD6; db 0xFF;}
#define SECUREBEGIN_I _asm {db 0xEB; db 0x03; db 0xD6; db 0xD6; db 0x09;}
#define SECUREEND_I _asm {db 0xEB; db 0x03; db 0xD6; db 0xD6; db 0xFF;}
#define SECUREBEGIN_J _asm {db 0xEB; db 0x03; db 0xD6; db 0xD6; db 0x0A;}
#define SECUREEND_J _asm {db 0xEB; db 0x03; db 0xD6; db 0xD6; db 0xFF;}
#define SECUREBEGIN_K _asm {db 0xEB; db 0x03; db 0xD6; db 0xD6; db 0x0B;}
#define SECUREEND_K _asm {db 0xEB; db 0x03; db 0xD6; db 0xD6; db 0xFF;}
#define NANOBEGIN _asm {db 0xEB; db 0x03; db 0xD6; db 0xD7; db 0x01;}
#define NANOEND _asm {db 0xEB; db 0x03; db 0xD6; db 0xD7; db 0x00;}
/* The former definitions for Borland C++ Builder, if anyone needs them. */
/*
#define SECUREBEGIN __emit__ (0xEB,0x03,0xD6,0xD6,0x00);
#define SECUREEND __emit__ (0xEB,0x03,0xD6,0xD6,0xFF);
#define SECUREBEGIN_A __emit__ (0xEB,0x03,0xD6,0xD6,0x01);
#define SECUREEND_A __emit__ (0xEB,0x03,0xD6,0xD6,0xFF);
#define SECUREBEGIN_B __emit__ (0xEB,0x03,0xD6,0xD6,0x02);
#define SECUREEND_B __emit__ (0xEB,0x03,0xD6,0xD6,0xFF);
#define SECUREBEGIN_C __emit__ (0xEB,0x03,0xD6,0xD6,0x03);
#define SECUREEND_C __emit__ (0xEB,0x03,0xD6,0xD6,0xFF);
#define NANOBEGIN __emit__ (0xEB,0x03,0xD6,0xD7,0x01);
#define NANOEND __emit__ (0xEB,0x03,0xD6,0xD7,0x00);
*/
#elif defined(__LCC__)
/* Provided by Rubem Pechansky, 26Feb2003 */
#define SECUREBEGIN _asm(".byte 0xEB,0x03,0xD6,0xD6,0x00");
#define SECUREEND _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
#define SECUREBEGIN_A _asm(".byte 0xEB,0x03,0xD6,0xD6,0x01");
#define SECUREEND_A _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
#define SECUREBEGIN_B _asm(".byte 0xEB,0x03,0xD6,0xD6,0x02");
#define SECUREEND_B _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
#define SECUREBEGIN_C _asm(".byte 0xEB,0x03,0xD6,0xD6,0x03");
#define SECUREEND_C _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
#define SECUREBEGIN_D _asm(".byte 0xEB,0x03,0xD6,0xD6,0x04");
#define SECUREEND_D _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
#define SECUREBEGIN_E _asm(".byte 0xEB,0x03,0xD6,0xD6,0x05");
#define SECUREEND_E _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
#define SECUREBEGIN_F _asm(".byte 0xEB,0x03,0xD6,0xD6,0x06");
#define SECUREEND_F _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
#define SECUREBEGIN_G _asm(".byte 0xEB,0x03,0xD6,0xD6,0x07");
#define SECUREEND_G _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
#define SECUREBEGIN_H _asm(".byte 0xEB,0x03,0xD6,0xD6,0x08");
#define SECUREEND_H _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
#define SECUREBEGIN_I _asm(".byte 0xEB,0x03,0xD6,0xD6,0x09");
#define SECUREEND_I _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
#define SECUREBEGIN_J _asm(".byte 0xEB,0x03,0xD6,0xD6,0x0A");
#define SECUREEND_J _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
#define SECUREBEGIN_K _asm(".byte 0xEB,0x03,0xD6,0xD6,0x0B");
#define SECUREEND_K _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
#define NANOBEGIN _asm(".byte 0xEB,0x03,0xD6,0xD7,0x01");
#define NANOEND _asm(".byte 0xEB,0x03,0xD6,0xD7,0x00");
#endif
#ifdef _WIN64
#define ARMACCESS_API __declspec(dllimport) __stdcall
extern "C" void ARMACCESS_API SECUREBEGIN(void);
extern "C" void ARMACCESS_API SECUREBEGIN_A(void);
extern "C" void ARMACCESS_API SECUREBEGIN_B(void);
extern "C" void ARMACCESS_API SECUREBEGIN_C(void);
extern "C" void ARMACCESS_API SECUREBEGIN_D(void);
extern "C" void ARMACCESS_API SECUREBEGIN_E(void);
extern "C" void ARMACCESS_API SECUREBEGIN_F(void);
extern "C" void ARMACCESS_API SECUREBEGIN_G(void);
extern "C" void ARMACCESS_API SECUREBEGIN_H(void);
extern "C" void ARMACCESS_API SECUREBEGIN_I(void);
extern "C" void ARMACCESS_API SECUREBEGIN_J(void);
extern "C" void ARMACCESS_API SECUREBEGIN_K(void);
extern "C" void ARMACCESS_API SECUREEND(void);
extern "C" void ARMACCESS_API SECUREEND_A(void);
extern "C" void ARMACCESS_API SECUREEND_B(void);
extern "C" void ARMACCESS_API SECUREEND_C(void);
extern "C" void ARMACCESS_API SECUREEND_D(void);
extern "C" void ARMACCESS_API SECUREEND_E(void);
extern "C" void ARMACCESS_API SECUREEND_F(void);
extern "C" void ARMACCESS_API SECUREEND_G(void);
extern "C" void ARMACCESS_API SECUREEND_H(void);
extern "C" void ARMACCESS_API SECUREEND_I(void);
extern "C" void ARMACCESS_API SECUREEND_J(void);
extern "C" void ARMACCESS_API SECUREEND_K(void);
extern "C" void ARMACCESS_API NANOBEGIN(void);
extern "C" void ARMACCESS_API NANOEND(void);
#define SECUREBEGIN SECUREBEGIN()
#define SECUREEND SECUREEND()
#define SECUREBEGIN_A SECUREBEGIN_A()
#define SECUREEND_A SECUREEND_A()
#define SECUREBEGIN_B SECUREBEGIN_B()
#define SECUREEND_B SECUREEND_B()
#define SECUREBEGIN_C SECUREBEGIN_C()
#define SECUREEND_C SECUREEND_C()
#define SECUREBEGIN_D SECUREBEGIN_D()
#define SECUREEND_D SECUREEND_D()
#define SECUREBEGIN_E SECUREBEGIN_E()
#define SECUREEND_E SECUREEND_E()
#define SECUREBEGIN_F SECUREBEGIN_F()
#define SECUREEND_F SECUREEND_F()
#define SECUREBEGIN_G SECUREBEGIN_G()
#define SECUREEND_G SECUREEND_G()
#define SECUREBEGIN_H SECUREBEGIN_H()
#define SECUREEND_H SECUREEND_H()
#define SECUREBEGIN_I SECUREBEGIN_I()
#define SECUREEND_I SECUREEND_I()
#define SECUREBEGIN_J SECUREBEGIN_J()
#define SECUREEND_J SECUREEND_J()
#define SECUREBEGIN_K SECUREBEGIN_K()
#define SECUREEND_K SECUREEND_K()
#define NANOBEGIN NANOBEGIN()
#define NANOEND NANOEND()
#else
#define SECUREBEGIN __asm _emit 0xEB __asm _emit 0x03 __asm _emit 0xD6 __asm _emit 0xD6 __asm _emit 0x00
#define SECUREEND __asm _emit 0xEB __asm _emit 0x03 __asm _emit 0xD6 __asm _emit 0xD6 __asm _emit 0xFF
#define SECUREBEGIN_A __asm _emit 0xEB __asm _emit 0x03 __asm _emit 0xD6 __asm _emit 0xD6 __asm _emit 0x01
#define SECUREEND_A __asm _emit 0xEB __asm _emit 0x03 __asm _emit 0xD6 __asm _emit 0xD6 __asm _emit 0xFF
#define SECUREBEGIN_B __asm _emit 0xEB __asm _emit 0x03 __asm _emit 0xD6 __asm _emit 0xD6 __asm _emit 0x02
#define SECUREEND_B __asm _emit 0xEB __asm _emit 0x03 __asm _emit 0xD6 __asm _emit 0xD6 __asm _emit 0xFF
#define SECUREBEGIN_C __asm _emit 0xEB __asm _emit 0x03 __asm _emit 0xD6 __asm _emit 0xD6 __asm _emit 0x03
#define SECUREEND_C __asm _emit 0xEB __asm _emit 0x03 __asm _emit 0xD6 __asm _emit 0xD6 __asm _emit 0xFF
#define SECUREBEGIN_D __asm _emit 0xEB __asm _emit 0x03 __asm _emit 0xD6 __asm _emit 0xD6 __asm _emit 0x04
#define SECUREEND_D __asm _emit 0xEB __asm _emit 0x03 __asm _emit 0xD6 __asm _emit 0xD6 __asm _emit 0xFF
#define SECUREBEGIN_E __asm _emit 0xEB __asm _emit 0x03 __asm _emit 0xD6 __asm _emit 0xD6 __asm _emit 0x05
#define SECUREEND_E __asm _emit 0xEB __asm _emit 0x03 __asm _emit 0xD6 __asm _emit 0xD6 __asm _emit 0xFF
#define SECUREBEGIN_F __asm _emit 0xEB __asm _emit 0x03 __asm _emit 0xD6 __asm _emit 0xD6 __asm _emit 0x06
#define SECUREEND_F __asm _emit 0xEB __asm _emit 0x03 __asm _emit 0xD6 __asm _emit 0xD6 __asm _emit 0xFF
#define SECUREBEGIN_G __asm _emit 0xEB __asm _emit 0x03 __asm _emit 0xD6 __asm _emit 0xD6 __asm _emit 0x07
#define SECUREEND_G __asm _emit 0xEB __asm _emit 0x03 __asm _emit 0xD6 __asm _emit 0xD6 __asm _emit 0xFF
#define SECUREBEGIN_H __asm _emit 0xEB __asm _emit 0x03 __asm _emit 0xD6 __asm _emit 0xD6 __asm _emit 0x08
#define SECUREEND_H __asm _emit 0xEB __asm _emit 0x03 __asm _emit 0xD6 __asm _emit 0xD6 __asm _emit 0xFF
#define SECUREBEGIN_I __asm _emit 0xEB __asm _emit 0x03 __asm _emit 0xD6 __asm _emit 0xD6 __asm _emit 0x09
#define SECUREEND_I __asm _emit 0xEB __asm _emit 0x03 __asm _emit 0xD6 __asm _emit 0xD6 __asm _emit 0xFF
#define SECUREBEGIN_J __asm _emit 0xEB __asm _emit 0x03 __asm _emit 0xD6 __asm _emit 0xD6 __asm _emit 0x0A
#define SECUREEND_J __asm _emit 0xEB __asm _emit 0x03 __asm _emit 0xD6 __asm _emit 0xD6 __asm _emit 0xFF
#define SECUREBEGIN_K __asm _emit 0xEB __asm _emit 0x03 __asm _emit 0xD6 __asm _emit 0xD6 __asm _emit 0x0B
#define SECUREEND_K __asm _emit 0xEB __asm _emit 0x03 __asm _emit 0xD6 __asm _emit 0xD6 __asm _emit 0xFF
#define NANOBEGIN __asm _emit 0xEB __asm _emit 0x03 __asm _emit 0xD6 __asm _emit 0xD7 __asm _emit 0x01
#define NANOEND __asm _emit 0xEB __asm _emit 0x03 __asm _emit 0xD6 __asm _emit 0xD7 __asm _emit 0x00
#endif

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,1,0
PRODUCTVERSION 0,4,1,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.1.0"
VALUE "InternalName", METIN2_COMPONENT_INTERNALNAME
VALUE "LegalCopyright", "Copyright (C) 2022-2025"
VALUE "OriginalFilename", METIN2_COMPONENT_FILENAME
VALUE "ProductName", "Metin2Config"
VALUE "ProductVersion", "0.4.1.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 : 이 부분은 그다지 맘에 들지 않는다. 좋은 아이디어를 찾아내어 고치자. // FIXME : 이 부분은 그다지 맘에 들지 않는다. 좋은 아이디어를 찾아내어 고치자.
// 상위가 (특화된) 상위의 인터페이스 때문에 모양이 바뀌어야 한다는 것은 옳지 못하다. - [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 : 매트릭스에서 위치를 직접 얻어온다 - [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. 이펙트 모니터링 하는 코드 // 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 를 포인터형으로 리턴하게 하고.. // CEffectData 를 포인터형으로 리턴하게 하고..
// CEffectData에서 CRC를 얻을수 있게 한다 // 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에 직접 찍는 Effect용 함수... EffectInstance의 Pointer를 반환한다. // Area에 직접 찍는 Effect용 함수... EffectInstance의 Pointer를 반환한다.
// EffectManager 내부 EffectInstanceMap을 이용하지 않는다. // 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 단위 텍스춰 데이타의 인스턴스이다. // 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의 Up Vector와 Cross Vector 자체를 View Vector 기준으로 // NOTE : Rotation Routine. Camera의 Up Vector와 Cross Vector 자체를 View Vector 기준으로
// Rotation 시킨다. // Rotation 시킨다.
// FIXME : 반드시 최적화 할 것! // 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: 속도가 길이에 주는 영향 : log(velocity)만큼 늘어난다. // 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의 Up Vector와 Cross Vector 자체를 View Vector 기준으로 // NOTE : Rotation Routine. Camera의 Up Vector와 Cross Vector 자체를 View Vector 기준으로
// Rotation 시킨다. // Rotation 시킨다.
// FIXME : 반드시 최적화 할 것! // 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: 속도가 길이에 주는 영향 : log(velocity)만큼 늘어난다. // 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를 호출하지 않고 Rendering 되기 때문에 length가 0이 되는 문제가 있다. // NOTE : Update를 호출하지 않고 Rendering 되기 때문에 length가 0이 되는 문제가 있다.
// Velocity를 구한 후 그만큼 빼준 값으로 초기화 해주도록 바꿨음 - [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 일 경우 LocalMatrix 의 Rotation 값을 Random 에 적용한다. // Rotation - Lie 일 경우 LocalMatrix 의 Rotation 값을 Random 에 적용한다.
// 매번 할 필요는 없을듯. 어느 정도의 최적화가 필요. - [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. 파티클 제거 루틴 // 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, // 바닥에 누은 형상 BILLBOARD_TYPE_LIE, // 바닥에 누은 형상
BILLBOARD_TYPE_2FACE, // / and \ BILLBOARD_TYPE_2FACE, // / and \
BILLBOARD_TYPE_3FACE, // / and \ and - BILLBOARD_TYPE_3FACE, // / and \ and -
//BILLBOARD_TYPE_RAY, // 잔상 //BILLBOARD_TYPE_RAY, // 잔상
}; };
@ -220,8 +220,8 @@ typedef std::vector<TTimeEventTypeVector2> TTimeEventTableVector2;
typedef std::vector<TTimeEventTypeVector3> TTimeEventTableVector3; typedef std::vector<TTimeEventTypeVector3> TTimeEventTableVector3;
// NOTE : TimeEventValue 함수들은 값을 넘겨 받지 말아야 하는 때도 있으므로 // NOTE : TimeEventValue 함수들은 값을 넘겨 받지 말아야 하는 때도 있으므로
// 값의 직접 리턴이 아닌 포인터 리턴으로 작성 했습니다. - [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 * @brief
*/ */
class CPostIt class CPostIt
{ {
public: public:
/** /**
* @brief CPostIt constructor * @brief CPostIt constructor
* @param [in] szAppName : . * @param [in] szAppName : .
*/ */
explicit CPostIt( LPCSTR szAppName ); explicit CPostIt( LPCSTR szAppName );
@ -23,45 +23,45 @@ public:
~CPostIt( void ); ~CPostIt( void );
/** /**
* @brief CPostIt class에서 . * @brief CPostIt class에서 .
*/ */
BOOL Flush( void ); BOOL Flush( void );
/** /**
* @brief CPostIt class에서 . * @brief CPostIt class에서 .
*/ */
void Empty( void ); void Empty( void );
/** /**
* @brief . * @brief .
* @param [in] lpszKeyName : . "KEY" . * @param [in] lpszKeyName : . "KEY" .
* @param [in] lpszData : * @param [in] lpszData :
* @param [in] nSize : lpszData * @param [in] nSize : lpszData
*/ */
BOOL Get( LPCSTR lpszKeyName, LPSTR lpszData, DWORD nSize ); BOOL Get( LPCSTR lpszKeyName, LPSTR lpszData, DWORD nSize );
/** /**
* @brief . * @brief .
* @param [in] lpBuffer : . "KEY=DATA" . * @param [in] lpBuffer : . "KEY=DATA" .
*/ */
BOOL Set( LPCSTR lpszData ); BOOL Set( LPCSTR lpszData );
/** /**
* @brief . * @brief .
* @param [in] lpszKeyName : . "KEY" . * @param [in] lpszKeyName : . "KEY" .
* @param [in] lpszData : . "DATA" . * @param [in] lpszData : . "DATA" .
*/ */
BOOL Set( LPCSTR lpszKeyName, LPCSTR lpszData ); BOOL Set( LPCSTR lpszKeyName, LPCSTR lpszData );
/** /**
* @brief (DWORD) . * @brief (DWORD) .
* @param [in] lpBuffer : . "KEY=DATA" . * @param [in] lpBuffer : . "KEY=DATA" .
* @param [in] dwValue : . (DWORD) * @param [in] dwValue : . (DWORD)
*/ */
BOOL Set( LPCSTR lpszKeyName, DWORD dwValue ); BOOL Set( LPCSTR lpszKeyName, DWORD dwValue );
/** /**
* @brief CPostIt class를 . ( constructor에 , ) * @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 : 임시 변수 - [levites] // NOTE : 임시 변수 - [levites]
// 최종적으로는 무조건 TRUE 형태로 만든다. // 최종적으로는 무조건 TRUE 형태로 만든다.
// 그전에 전 프로젝트의 CDir을 사용하는 곳에서 Extension을 "wav", "gr2" 이런식으로 넣게끔 한다. - [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));
// 추가 코드. 맨뒤에 탭이 있는 경우를 체크한다. - [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));
// 추가 코드. 맨뒤에 탭이 있는 경우를 체크한다. - [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 넘어가는거 끄기 #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) // 압축된 데이터가 이 포인터로 연결 된다 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 개수 제한 문제 체크 // 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 개수 제한 문제 체크 // 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 개수 제한 문제 체크 // 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 넘어가는거 끄기 #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>
@ -40,16 +40,6 @@
#define atoi _atoi64 #define atoi _atoi64
#endif #endif
// Armadillo nanomite protection
#if !defined(NANOBEGIN) && !defined(NANOEND)
#ifdef _DEBUG
#define NANOBEGIN
#define NANOEND
#else
#include <armadillo/SecuredSections.h>
#endif
#endif
#include "vk.h" #include "vk.h"
#include "filename.h" #include "filename.h"
#include "ServiceDefs.h" #include "ServiceDefs.h"

View File

@ -27,7 +27,7 @@ BOOL ELTimer_Init()
DWORD ELTimer_GetMSec() DWORD ELTimer_GetMSec()
{ {
//assert(gs_dwBaseTime!=0 && "ELTimer_Init 를 먼저 실행하세요"); //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;
@ -35,13 +35,8 @@ DWORD ELTimer_GetMSec()
VOID ELTimer_SetServerMSec(DWORD dwServerTime) VOID ELTimer_SetServerMSec(DWORD dwServerTime)
{ {
NANOBEGIN gs_dwServerTime = dwServerTime;
if (0 != dwServerTime) // nanomite를 위한 더미 if gs_dwClientTime = CTimer::instance().GetCurrentMillisecond();
{
gs_dwServerTime = dwServerTime;
gs_dwClientTime = CTimer::instance().GetCurrentMillisecond();
}
NANOEND
} }
DWORD ELTimer_GetServerMSec() DWORD ELTimer_GetServerMSec()
@ -69,18 +64,13 @@ CTimer::CTimer()
{ {
ELTimer_Init(); ELTimer_Init();
NANOBEGIN m_dwCurrentTime = 0;
if (this) // nanomite를 위한 더미 if m_bUseRealTime = true;
{ m_index = 0;
m_dwCurrentTime = 0;
m_bUseRealTime = true;
m_index = 0;
m_dwElapsedTime = 0; m_dwElapsedTime = 0;
m_fCurrentTime = 0.0f; m_fCurrentTime = 0.0f;
}
NANOEND
} }
CTimer::~CTimer() CTimer::~CTimer()

View File

@ -433,7 +433,7 @@ void MyCreateDirectory(const char* path)
if (strlen(path) >= 3) if (strlen(path) >= 3)
{ {
if (*(path + 1) == ':') // C:, D: 같은 경우를 체크 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); // 모두 소문자로 만들고, \는 /로 바꾼다. extern void StringPath(char * pString); // 모두 소문자로 만들고, \는 /로 바꾼다.
extern void StringPath(const char * c_szSrc, char * szDest); // 모두 소문자로 만들고, \는 /로 바꾼다. extern void StringPath(const char * c_szSrc, char * szDest); // 모두 소문자로 만들고, \는 /로 바꾼다.
extern void StringPath(const char * c_szSrc, std::string & rString); // 모두 소문자로 만들고, \는 /로 바꾼다. 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

@ -7,32 +7,13 @@
FILE * fException; FILE * fException;
/*
static char __msg[4000], __cmsg[4000];
static int __idx;
CLZObject __l;
*/
/*
typedef BOOL
(CALLBACK *PENUMLOADED_MODULES_CALLBACK)(
__in PCSTR ModuleName,
__in ULONG ModuleBase,
__in ULONG ModuleSize,
__in_opt PVOID UserContext
);
*/
#if _MSC_VER >= 1400
BOOL CALLBACK EnumerateLoadedModulesProc(PCSTR ModuleName, ULONG ModuleBase, ULONG ModuleSize, PVOID UserContext) BOOL CALLBACK EnumerateLoadedModulesProc(PCSTR ModuleName, ULONG ModuleBase, ULONG ModuleSize, PVOID UserContext)
#else
BOOL CALLBACK EnumerateLoadedModulesProc(PSTR ModuleName, ULONG ModuleBase, ULONG ModuleSize, PVOID UserContext)
#endif
{ {
DWORD offset = *((DWORD*)UserContext); DWORD offset = *((DWORD*)UserContext);
if (offset >= ModuleBase && offset <= ModuleBase + ModuleSize) if (offset >= ModuleBase && offset <= ModuleBase + ModuleSize)
{ {
fprintf(fException, "%s", ModuleName); fprintf(fException, "%s", ModuleName);
//__idx += sprintf(__msg+__idx, "%s", ModuleName);
return FALSE; return FALSE;
} }
else else
@ -56,21 +37,11 @@ LONG __stdcall EterExceptionFilter(_EXCEPTION_POINTERS* pExceptionInfo)
module_time = (time_t)GetTimestampForLoadedLibrary(hModule); module_time = (time_t)GetTimestampForLoadedLibrary(hModule);
fprintf(fException, "Module Name: %s\n", module_name); fprintf(fException, "Module Name: %s\n", module_name);
fprintf(fException, "Time Stamp: 0x%08x - %s\n", module_time, ctime(&module_time)); fprintf(fException, "Time Stamp: %lld - %s\n", module_time, ctime(&module_time));
fprintf(fException, "\n"); fprintf(fException, "\n");
fprintf(fException, "Exception Type: 0x%08x\n", pExceptionInfo->ExceptionRecord->ExceptionCode); fprintf(fException, "Exception Type: 0x%08x\n", pExceptionInfo->ExceptionRecord->ExceptionCode);
fprintf(fException, "\n"); fprintf(fException, "\n");
/*
{
__idx+=sprintf(__msg+__idx,"Module Name: %s\n", module_name);
__idx+=sprintf(__msg+__idx, "Time Stamp: 0x%08x - %s\n", module_time, ctime(&module_time));
__idx+=sprintf(__msg+__idx, "\n");
__idx+=sprintf(__msg+__idx, "Exception Type: 0x%08x\n", pExceptionInfo->ExceptionRecord->ExceptionCode);
__idx+=sprintf(__msg+__idx, "\n");
}
*/
CONTEXT& context = *pExceptionInfo->ContextRecord; CONTEXT& context = *pExceptionInfo->ContextRecord;
fprintf(fException, "eax: 0x%08x\tebx: 0x%08x\n", context.Eax, context.Ebx); fprintf(fException, "eax: 0x%08x\tebx: 0x%08x\n", context.Eax, context.Ebx);
@ -78,15 +49,6 @@ LONG __stdcall EterExceptionFilter(_EXCEPTION_POINTERS* pExceptionInfo)
fprintf(fException, "esi: 0x%08x\tedi: 0x%08x\n", context.Esi, context.Edi); fprintf(fException, "esi: 0x%08x\tedi: 0x%08x\n", context.Esi, context.Edi);
fprintf(fException, "ebp: 0x%08x\tesp: 0x%08x\n", context.Ebp, context.Esp); fprintf(fException, "ebp: 0x%08x\tesp: 0x%08x\n", context.Ebp, context.Esp);
fprintf(fException, "\n"); fprintf(fException, "\n");
/*
{
__idx+=sprintf(__msg+__idx, "eax: 0x%08x\tebx: 0x%08x\n", context.Eax, context.Ebx);
__idx+=sprintf(__msg+__idx, "ecx: 0x%08x\tedx: 0x%08x\n", context.Ecx, context.Edx);
__idx+=sprintf(__msg+__idx, "esi: 0x%08x\tedi: 0x%08x\n", context.Esi, context.Edi);
__idx+=sprintf(__msg+__idx, "ebp: 0x%08x\tesp: 0x%08x\n", context.Ebp, context.Esp);
__idx+=sprintf(__msg+__idx, "\n");
}
*/
STACKFRAME stackFrame = {0,}; STACKFRAME stackFrame = {0,};
stackFrame.AddrPC.Offset = context.Eip; stackFrame.AddrPC.Offset = context.Eip;
@ -101,11 +63,8 @@ LONG __stdcall EterExceptionFilter(_EXCEPTION_POINTERS* pExceptionInfo)
if (StackWalk(IMAGE_FILE_MACHINE_I386, hProcess, hThread, &stackFrame, &context, NULL, NULL, NULL, NULL) != FALSE) if (StackWalk(IMAGE_FILE_MACHINE_I386, hProcess, hThread, &stackFrame, &context, NULL, NULL, NULL, NULL) != FALSE)
{ {
fprintf(fException, "0x%08x\t", stackFrame.AddrPC.Offset); fprintf(fException, "0x%08x\t", stackFrame.AddrPC.Offset);
//__idx+=sprintf(__msg+__idx, "0x%08x\t", stackFrame.AddrPC.Offset);
EnumerateLoadedModules(hProcess, (PENUMLOADED_MODULES_CALLBACK) EnumerateLoadedModulesProc, &stackFrame.AddrPC.Offset); EnumerateLoadedModules(hProcess, (PENUMLOADED_MODULES_CALLBACK) EnumerateLoadedModulesProc, &stackFrame.AddrPC.Offset);
fprintf(fException, "\n"); fprintf(fException, "\n");
//__idx+=sprintf(__msg+__idx, "\n");
} }
else else
{ {
@ -114,89 +73,13 @@ LONG __stdcall EterExceptionFilter(_EXCEPTION_POINTERS* pExceptionInfo)
} }
fprintf(fException, "\n"); fprintf(fException, "\n");
//__idx+=sprintf(__msg+__idx, "\n");
/*
BYTE* stack = (BYTE*)(context.Esp);
fprintf(fException, "stack %08x - %08x\n", context.Esp, context.Esp+1024);
//__idx+=sprintf(__msg+__idx, "stack %08x - %08x\n", context.Esp, context.Esp+1024);
for(i=0; i<16; ++i)
{
fprintf(fException, "%08X : ", context.Esp+i*16);
//__idx+=sprintf(__msg+__idx, "%08X : ", context.Esp+i*16);
for(int j=0; j<16; ++j)
{
fprintf(fException, "%02X ", stack[i*16+j]);
//__idx+=sprintf(__msg+__idx, "%02X ", stack[i*16+j]);
}
fprintf(fException, "\n");
//__idx+=sprintf(__msg+__idx, "\n");
}
fprintf(fException, "\n");
//__idx+=sprintf(__msg+__idx, "\n");
*/
fflush(fException); fflush(fException);
fclose(fException); fclose(fException);
fException = NULL; fException = NULL;
//WinExec() MessageBox(NULL, "A fatal error was encountered while running the game.\nAn error log was saved to ErrorLog.txt.\nPlease consider reporting this issue.", "Error!", MB_OK);
/*CreateProcess("cmd.exe",NULL,NULL,NULL,FALSE,
CREATE_NEW_PROCESS_GROUP|DETACHED_PROCESS,NULL,NULL,NULL,NULL);
MessageBox(NULL,"게임 실행에 치명적인 문제가 발생하였습니다.\n게임을 종료하고 에러 로그를 남깁니다.\n에러 로그를 서버에 보내시겠습니까?","에러 발생!",MB_YESNO);*/
/*
__l.BeginCompressInBuffer(__msg,__idx,__cmsg);
if (__l.Compress())
{
//fprintf(fException,"Compress printing\n");
// send this to server
SOCKET s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
ioctlsocket(s,FIONBIO,0);
if (s==INVALID_SOCKET)
{
//fprintf(fException,"INVALID %X\n",WSAGetLastError());
}
sockaddr_in sa;
sa.sin_family = AF_INET;
sa.sin_port = htons(19294);
sa.sin_addr.s_addr = inet_addr("147.46.127.42");
if (connect(s,(sockaddr*)&sa,sizeof(sa)))
{
//fprintf(fException,"%X\n",WSAGetLastError());
}
int total = 0;
int ret=0;
while(1)
{
//ret = send(s,(char*)__msg+total,__idx-total,0);
ret = send(s,(char*)__l.GetBuffer()+total,__l.GetSize()-total,0);
//fprintf(fException,"send %d\n",ret);
if (ret<0)
{
//fprintf(fException,"%X\n",WSAGetLastError());
break;
}
total+=ret;
if (total>=__idx)
//if (total>=__l.GetSize())
break;
}
//__l.GetBuffer();
Sleep(500);
closesocket(s);
}*/
WinExec("errorlog.exe",SW_SHOW);
} }
return EXCEPTION_EXECUTE_HANDLER; return EXCEPTION_EXECUTE_HANDLER;

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) +
// 암호화를 위한 fourCC 4바이트 // 암호화를 위한 fourCC 4바이트
// 압축된 후 만들어질 수 있는 최대 용량 + // 압축된 후 만들어질 수 있는 최대 용량 +
// 암호화를 위한 8 바이트 // 암호화를 위한 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) +
// 암호화를 위한 fourCC 4바이트 // 암호화를 위한 fourCC 4바이트
// 압축된 후 만들어질 수 있는 최대 용량 + // 압축된 후 만들어질 수 있는 최대 용량 +
// 암호화를 위한 8 바이트 // 암호화를 위한 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; // 암호화된 크기 DWORD dwEncryptSize; // 암호화된 크기
DWORD dwCompressedSize; // 압축된 데이터 크기 DWORD dwCompressedSize; // 압축된 데이터 크기
DWORD dwRealSize; // 실제 데이터 크기 DWORD dwRealSize; // 실제 데이터 크기
} THeader; } THeader;
#pragma pack() #pragma pack()

View File

@ -1,8 +1,8 @@
/* /*
* Filename: tea.c * Filename: tea.c
* Description: TEA * Description: TEA
* *
* Author: (aka. , Cronan), (aka. myevan, ) * 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 aka. , 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 / . key 16 . * 8 / . key 16 .
* sz, sy 8 . * 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);
* 8 / . size * 8 / . size
* 8 8 "늘려서" . * 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 를 권장하며, 높을 수록 결과가 난해해 진다. #define TEA_ROUND 32 // 32 를 권장하며, 높을 수록 결과가 난해해 진다.
#define DELTA 0x9E3779B9 // DELTA 값 바꾸지 말것. #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

@ -91,7 +91,6 @@ void __FreeDeformVertexBuffer(CGraphicVertexBuffer* pkDelVB)
void __ReserveSharedVertexBuffers(unsigned index, unsigned count) void __ReserveSharedVertexBuffers(unsigned index, unsigned count)
{ {
NANOBEGIN
if (index >= SHARED_VB_NUM) if (index >= SHARED_VB_NUM)
return; return;
@ -107,7 +106,6 @@ void __ReserveSharedVertexBuffers(unsigned index, unsigned count)
D3DPOOL_MANAGED); D3DPOOL_MANAGED);
gs_vbs[index].push_back(pkNewVB); gs_vbs[index].push_back(pkNewVB);
} }
NANOEND
} }
void GrannyCreateSharedDeformBuffer() void GrannyCreateSharedDeformBuffer()
@ -282,8 +280,8 @@ void CGrannyLODController::AddModel(CGraphicThing * pThing, int iSrcModel, CGran
} }
else else
{ {
// FIXME : CModelInstance::m_pgrnWorldPose를 Update에서 사용하는데, // FIXME : CModelInstance::m_pgrnWorldPose를 Update에서 사용하는데,
// Deform을 하지 않으면 NULL 입니다. 구조가 조금 바뀌어야 할지도.. - [levites] // Deform을 하지 않으면 NULL 입니다. 구조가 조금 바뀌어야 할지도.. - [levites]
pModelInstance->DeformNoSkin(&ms_matIdentity); pModelInstance->DeformNoSkin(&ms_matIdentity);
} }
@ -460,10 +458,10 @@ void CGrannyLODController::UpdateLODLevel(float fDistanceFromCenter, float fDist
assert(m_pCurrentModelInstance != NULL); assert(m_pCurrentModelInstance != NULL);
if (fDistanceFromCenter > LOD_APPLY_MIN) // 중심 LOD 예외 취소 if (fDistanceFromCenter > LOD_APPLY_MIN) // 중심 LOD 예외 취소
{ {
// 카메라부터 멀어질 수록 fLODRate가 작아진다 // 카메라부터 멀어질 수록 fLODRate가 작아진다
// 3개 LOD가 있을때.. 가장 먼게 0, 가까울 수록 숫자가 커진다 // 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일 때 클라 크래쉬나는 문제 수정(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 렌더링이 필요한 지 검사 // 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));
// 오퍼시티가 있으면 블렌딩 메쉬 // 오퍼시티가 있으면 블렌딩 메쉬
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)
{ {
// -_-렌더링 프로세스가 좀 구려서... Save & Restore 하면 순서때문에 좀 꼬인다. 귀찮으니 Save & Restore 대신 따로 저장해 둠. // -_-렌더링 프로세스가 좀 구려서... 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해서 찍는 부분은 Specular를 적용시키지 않는다 - [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) // 천의 동굴 2층 크래쉬 발생 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() - 왜 리빌드를 하는가- -?"); 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) // 메쉬가 없는 모델 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 : 현재는 하드웨어의 한계로 2장의 텍스춰로 제한이 되어있는 상태이기에 이런 // FIXME : 현재는 하드웨어의 한계로 2장의 텍스춰로 제한이 되어있는 상태이기에 이런
// 불안정한 아키텍춰가 가능하지만, 궁극적인 방향은 (모델 텍스춰 전부) + (효과용 텍스춰) // 불안정한 아키텍춰가 가능하지만, 궁극적인 방향은 (모델 텍스춰 전부) + (효과용 텍스춰)
// 이런식의 자동 셋팅이 이뤄져야 되지 않나 생각합니다. - [levites] // 이런식의 자동 셋팅이 이뤄져야 되지 않나 생각합니다. - [levites]
// NOTE : 내부에 if문을 포함 시키기 보다는 조금은 번거롭지만 이렇게 함수 콜 자체를 분리 // NOTE : 내부에 if문을 포함 시키기 보다는 조금은 번거롭지만 이렇게 함수 콜 자체를 분리
// 시키는 것이 퍼포먼스 적인 측면에서는 더 나은 것 같습니다. - [levites] // 시키는 것이 퍼포먼스 적인 측면에서는 더 나은 것 같습니다. - [levites]
// NOTE : 건물은 무조건 OneTexture. 캐릭터는 경우에 따라 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; // 현재 월드 포즈 포인터 //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; // 실제 메모리는 여기에 할당 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

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