diff options
author | David Walter Seikel | 2013-01-13 18:54:10 +1000 |
---|---|---|
committer | David Walter Seikel | 2013-01-13 18:54:10 +1000 |
commit | 959831f4ef5a3e797f576c3de08cd65032c997ad (patch) | |
tree | e7351908be5995f0b325b2ebeaa02d5a34b82583 /libraries/irrlicht-1.8/examples/09.Meshviewer | |
parent | Add info about changes to Irrlicht. (diff) | |
download | SledjHamr-959831f4ef5a3e797f576c3de08cd65032c997ad.zip SledjHamr-959831f4ef5a3e797f576c3de08cd65032c997ad.tar.gz SledjHamr-959831f4ef5a3e797f576c3de08cd65032c997ad.tar.bz2 SledjHamr-959831f4ef5a3e797f576c3de08cd65032c997ad.tar.xz |
Remove damned ancient DOS line endings from Irrlicht. Hopefully I did not go overboard.
Diffstat (limited to 'libraries/irrlicht-1.8/examples/09.Meshviewer')
11 files changed, 2509 insertions, 2509 deletions
diff --git a/libraries/irrlicht-1.8/examples/09.Meshviewer/9.Meshviewer.rc b/libraries/irrlicht-1.8/examples/09.Meshviewer/9.Meshviewer.rc index 3208583..d1e6126 100644 --- a/libraries/irrlicht-1.8/examples/09.Meshviewer/9.Meshviewer.rc +++ b/libraries/irrlicht-1.8/examples/09.Meshviewer/9.Meshviewer.rc | |||
@@ -1,84 +1,84 @@ | |||
1 | // Microsoft Visual C++ generated resource script. | 1 | // Microsoft Visual C++ generated resource script. |
2 | // | 2 | // |
3 | #include "resource.h" | 3 | #include "resource.h" |
4 | 4 | ||
5 | #define APSTUDIO_READONLY_SYMBOLS | 5 | #define APSTUDIO_READONLY_SYMBOLS |
6 | ///////////////////////////////////////////////////////////////////////////// | 6 | ///////////////////////////////////////////////////////////////////////////// |
7 | // | 7 | // |
8 | // Generated from the TEXTINCLUDE 2 resource. | 8 | // Generated from the TEXTINCLUDE 2 resource. |
9 | // | 9 | // |
10 | #include "afxres.h" | 10 | #include "afxres.h" |
11 | 11 | ||
12 | ///////////////////////////////////////////////////////////////////////////// | 12 | ///////////////////////////////////////////////////////////////////////////// |
13 | #undef APSTUDIO_READONLY_SYMBOLS | 13 | #undef APSTUDIO_READONLY_SYMBOLS |
14 | 14 | ||
15 | ///////////////////////////////////////////////////////////////////////////// | 15 | ///////////////////////////////////////////////////////////////////////////// |
16 | // English (U.S.) resources | 16 | // English (U.S.) resources |
17 | 17 | ||
18 | #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) | 18 | #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) |
19 | #ifdef _WIN32 | 19 | #ifdef _WIN32 |
20 | LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US | 20 | LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US |
21 | #pragma code_page(1252) | 21 | #pragma code_page(1252) |
22 | #endif //_WIN32 | 22 | #endif //_WIN32 |
23 | 23 | ||
24 | #ifdef APSTUDIO_INVOKED | 24 | #ifdef APSTUDIO_INVOKED |
25 | ///////////////////////////////////////////////////////////////////////////// | 25 | ///////////////////////////////////////////////////////////////////////////// |
26 | // | 26 | // |
27 | // TEXTINCLUDE | 27 | // TEXTINCLUDE |
28 | // | 28 | // |
29 | 29 | ||
30 | 1 TEXTINCLUDE | 30 | 1 TEXTINCLUDE |
31 | BEGIN | 31 | BEGIN |
32 | "resource.h\0" | 32 | "resource.h\0" |
33 | END | 33 | END |
34 | 34 | ||
35 | 2 TEXTINCLUDE | 35 | 2 TEXTINCLUDE |
36 | BEGIN | 36 | BEGIN |
37 | "#include ""afxres.h""\r\n" | 37 | "#include ""afxres.h""\r\n" |
38 | "\0" | 38 | "\0" |
39 | END | 39 | END |
40 | 40 | ||
41 | 3 TEXTINCLUDE | 41 | 3 TEXTINCLUDE |
42 | BEGIN | 42 | BEGIN |
43 | "\r\n" | 43 | "\r\n" |
44 | "\0" | 44 | "\0" |
45 | END | 45 | END |
46 | 46 | ||
47 | #endif // APSTUDIO_INVOKED | 47 | #endif // APSTUDIO_INVOKED |
48 | 48 | ||
49 | #endif // English (U.S.) resources | 49 | #endif // English (U.S.) resources |
50 | ///////////////////////////////////////////////////////////////////////////// | 50 | ///////////////////////////////////////////////////////////////////////////// |
51 | 51 | ||
52 | 52 | ||
53 | ///////////////////////////////////////////////////////////////////////////// | 53 | ///////////////////////////////////////////////////////////////////////////// |
54 | // German (Austria) resources | 54 | // German (Austria) resources |
55 | 55 | ||
56 | #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_DEA) | 56 | #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_DEA) |
57 | #ifdef _WIN32 | 57 | #ifdef _WIN32 |
58 | LANGUAGE LANG_GERMAN, SUBLANG_GERMAN_AUSTRIAN | 58 | LANGUAGE LANG_GERMAN, SUBLANG_GERMAN_AUSTRIAN |
59 | #pragma code_page(1252) | 59 | #pragma code_page(1252) |
60 | #endif //_WIN32 | 60 | #endif //_WIN32 |
61 | 61 | ||
62 | ///////////////////////////////////////////////////////////////////////////// | 62 | ///////////////////////////////////////////////////////////////////////////// |
63 | // | 63 | // |
64 | // Icon | 64 | // Icon |
65 | // | 65 | // |
66 | 66 | ||
67 | // Icon with lowest ID value placed first to ensure application icon | 67 | // Icon with lowest ID value placed first to ensure application icon |
68 | // remains consistent on all systems. | 68 | // remains consistent on all systems. |
69 | IDI_ICON1 ICON "icon.ico" | 69 | IDI_ICON1 ICON "icon.ico" |
70 | #endif // German (Austria) resources | 70 | #endif // German (Austria) resources |
71 | ///////////////////////////////////////////////////////////////////////////// | 71 | ///////////////////////////////////////////////////////////////////////////// |
72 | 72 | ||
73 | 73 | ||
74 | 74 | ||
75 | #ifndef APSTUDIO_INVOKED | 75 | #ifndef APSTUDIO_INVOKED |
76 | ///////////////////////////////////////////////////////////////////////////// | 76 | ///////////////////////////////////////////////////////////////////////////// |
77 | // | 77 | // |
78 | // Generated from the TEXTINCLUDE 3 resource. | 78 | // Generated from the TEXTINCLUDE 3 resource. |
79 | // | 79 | // |
80 | 80 | ||
81 | 81 | ||
82 | ///////////////////////////////////////////////////////////////////////////// | 82 | ///////////////////////////////////////////////////////////////////////////// |
83 | #endif // not APSTUDIO_INVOKED | 83 | #endif // not APSTUDIO_INVOKED |
84 | 84 | ||
diff --git a/libraries/irrlicht-1.8/examples/09.Meshviewer/Makefile b/libraries/irrlicht-1.8/examples/09.Meshviewer/Makefile index 99fe9d0..0d38522 100644 --- a/libraries/irrlicht-1.8/examples/09.Meshviewer/Makefile +++ b/libraries/irrlicht-1.8/examples/09.Meshviewer/Makefile | |||
@@ -1,38 +1,38 @@ | |||
1 | # Makefile for Irrlicht Examples | 1 | # Makefile for Irrlicht Examples |
2 | # It's usually sufficient to change just the target name and source file list | 2 | # It's usually sufficient to change just the target name and source file list |
3 | # and be sure that CXX is set to a valid compiler | 3 | # and be sure that CXX is set to a valid compiler |
4 | Target = 09.Meshviewer | 4 | Target = 09.Meshviewer |
5 | Sources = main.cpp | 5 | Sources = main.cpp |
6 | 6 | ||
7 | # general compiler settings | 7 | # general compiler settings |
8 | CPPFLAGS = -I../../include -I/usr/X11R6/include | 8 | CPPFLAGS = -I../../include -I/usr/X11R6/include |
9 | CXXFLAGS = -O3 -ffast-math | 9 | CXXFLAGS = -O3 -ffast-math |
10 | #CXXFLAGS = -g -Wall | 10 | #CXXFLAGS = -g -Wall |
11 | 11 | ||
12 | #default target is Linux | 12 | #default target is Linux |
13 | all: all_linux | 13 | all: all_linux |
14 | 14 | ||
15 | ifeq ($(HOSTTYPE), x86_64) | 15 | ifeq ($(HOSTTYPE), x86_64) |
16 | LIBSELECT=64 | 16 | LIBSELECT=64 |
17 | endif | 17 | endif |
18 | 18 | ||
19 | # target specific settings | 19 | # target specific settings |
20 | all_linux: LDFLAGS = -L/usr/X11R6/lib$(LIBSELECT) -L../../lib/Linux -lIrrlicht -lGL -lXxf86vm -lXext -lX11 -lXcursor | 20 | all_linux: LDFLAGS = -L/usr/X11R6/lib$(LIBSELECT) -L../../lib/Linux -lIrrlicht -lGL -lXxf86vm -lXext -lX11 -lXcursor |
21 | all_linux clean_linux: SYSTEM=Linux | 21 | all_linux clean_linux: SYSTEM=Linux |
22 | all_win32: LDFLAGS = -L../../lib/Win32-gcc -lIrrlicht -lopengl32 -lm | 22 | all_win32: LDFLAGS = -L../../lib/Win32-gcc -lIrrlicht -lopengl32 -lm |
23 | all_win32 clean_win32: SYSTEM=Win32-gcc | 23 | all_win32 clean_win32: SYSTEM=Win32-gcc |
24 | all_win32 clean_win32: SUF=.exe | 24 | all_win32 clean_win32: SUF=.exe |
25 | # name of the binary - only valid for targets which set SYSTEM | 25 | # name of the binary - only valid for targets which set SYSTEM |
26 | DESTPATH = ../../bin/$(SYSTEM)/$(Target)$(SUF) | 26 | DESTPATH = ../../bin/$(SYSTEM)/$(Target)$(SUF) |
27 | 27 | ||
28 | all_linux all_win32: | 28 | all_linux all_win32: |
29 | $(warning Building...) | 29 | $(warning Building...) |
30 | $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(Sources) -o $(DESTPATH) $(LDFLAGS) | 30 | $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(Sources) -o $(DESTPATH) $(LDFLAGS) |
31 | 31 | ||
32 | clean: clean_linux clean_win32 | 32 | clean: clean_linux clean_win32 |
33 | $(warning Cleaning...) | 33 | $(warning Cleaning...) |
34 | 34 | ||
35 | clean_linux clean_win32: | 35 | clean_linux clean_win32: |
36 | @$(RM) $(DESTPATH) | 36 | @$(RM) $(DESTPATH) |
37 | 37 | ||
38 | .PHONY: all all_win32 clean clean_linux clean_win32 | 38 | .PHONY: all all_win32 clean clean_linux clean_win32 |
diff --git a/libraries/irrlicht-1.8/examples/09.Meshviewer/MeshViewer.dev b/libraries/irrlicht-1.8/examples/09.Meshviewer/MeshViewer.dev index 47416a1..191859a 100644 --- a/libraries/irrlicht-1.8/examples/09.Meshviewer/MeshViewer.dev +++ b/libraries/irrlicht-1.8/examples/09.Meshviewer/MeshViewer.dev | |||
@@ -1,59 +1,59 @@ | |||
1 | [Project] | 1 | [Project] |
2 | FileName=example.dev | 2 | FileName=example.dev |
3 | Name=Irrlicht Example 09 Mesh Viewer | 3 | Name=Irrlicht Example 09 Mesh Viewer |
4 | UnitCount=1 | 4 | UnitCount=1 |
5 | Type=1 | 5 | Type=1 |
6 | Ver=1 | 6 | Ver=1 |
7 | ObjFiles= | 7 | ObjFiles= |
8 | Includes=..\..\include | 8 | Includes=..\..\include |
9 | Libs= | 9 | Libs= |
10 | PrivateResource= | 10 | PrivateResource= |
11 | ResourceIncludes= | 11 | ResourceIncludes= |
12 | MakeIncludes= | 12 | MakeIncludes= |
13 | Compiler= | 13 | Compiler= |
14 | CppCompiler= | 14 | CppCompiler= |
15 | Linker=../../lib/Win32-gcc/libIrrlicht.a_@@_ | 15 | Linker=../../lib/Win32-gcc/libIrrlicht.a_@@_ |
16 | IsCpp=1 | 16 | IsCpp=1 |
17 | Icon= | 17 | Icon= |
18 | ExeOutput=../../bin/Win32-gcc | 18 | ExeOutput=../../bin/Win32-gcc |
19 | ObjectOutput=obj | 19 | ObjectOutput=obj |
20 | OverrideOutput=1 | 20 | OverrideOutput=1 |
21 | OverrideOutputName=09.MeshViewer.exe | 21 | OverrideOutputName=09.MeshViewer.exe |
22 | HostApplication= | 22 | HostApplication= |
23 | Folders= | 23 | Folders= |
24 | CommandLine= | 24 | CommandLine= |
25 | IncludeVersionInfo=0 | 25 | IncludeVersionInfo=0 |
26 | SupportXPThemes=0 | 26 | SupportXPThemes=0 |
27 | CompilerSet=0 | 27 | CompilerSet=0 |
28 | CompilerSettings=0000000000000000000000 | 28 | CompilerSettings=0000000000000000000000 |
29 | UseCustomMakefile=0 | 29 | UseCustomMakefile=0 |
30 | CustomMakefile= | 30 | CustomMakefile= |
31 | 31 | ||
32 | [Unit1] | 32 | [Unit1] |
33 | FileName=main.cpp | 33 | FileName=main.cpp |
34 | CompileCpp=1 | 34 | CompileCpp=1 |
35 | Folder=Projekt1 | 35 | Folder=Projekt1 |
36 | Compile=1 | 36 | Compile=1 |
37 | Link=1 | 37 | Link=1 |
38 | Priority=1000 | 38 | Priority=1000 |
39 | OverrideBuildCmd=0 | 39 | OverrideBuildCmd=0 |
40 | BuildCmd= | 40 | BuildCmd= |
41 | 41 | ||
42 | [VersionInfo] | 42 | [VersionInfo] |
43 | Major=0 | 43 | Major=0 |
44 | Minor=1 | 44 | Minor=1 |
45 | Release=1 | 45 | Release=1 |
46 | Build=1 | 46 | Build=1 |
47 | LanguageID=1033 | 47 | LanguageID=1033 |
48 | CharsetID=1252 | 48 | CharsetID=1252 |
49 | CompanyName= | 49 | CompanyName= |
50 | FileVersion= | 50 | FileVersion= |
51 | FileDescription=Irrlicht Engine example compiled using DevCpp and gcc | 51 | FileDescription=Irrlicht Engine example compiled using DevCpp and gcc |
52 | InternalName= | 52 | InternalName= |
53 | LegalCopyright= | 53 | LegalCopyright= |
54 | LegalTrademarks= | 54 | LegalTrademarks= |
55 | OriginalFilename= | 55 | OriginalFilename= |
56 | ProductName= | 56 | ProductName= |
57 | ProductVersion= | 57 | ProductVersion= |
58 | AutoIncBuildNr=0 | 58 | AutoIncBuildNr=0 |
59 | 59 | ||
diff --git a/libraries/irrlicht-1.8/examples/09.Meshviewer/Meshviewer.vcproj b/libraries/irrlicht-1.8/examples/09.Meshviewer/Meshviewer.vcproj index 4077b86..468807a 100644 --- a/libraries/irrlicht-1.8/examples/09.Meshviewer/Meshviewer.vcproj +++ b/libraries/irrlicht-1.8/examples/09.Meshviewer/Meshviewer.vcproj | |||
@@ -1,163 +1,163 @@ | |||
1 | <?xml version="1.0" encoding="Windows-1252"?> | 1 | <?xml version="1.0" encoding="Windows-1252"?> |
2 | <VisualStudioProject | 2 | <VisualStudioProject |
3 | ProjectType="Visual C++" | 3 | ProjectType="Visual C++" |
4 | Version="7.10" | 4 | Version="7.10" |
5 | Name="09.MeshViewer" | 5 | Name="09.MeshViewer" |
6 | ProjectGUID="{EF198BF9-7446-443D-961E-E617E1BD3AFB}" | 6 | ProjectGUID="{EF198BF9-7446-443D-961E-E617E1BD3AFB}" |
7 | SccProjectName="" | 7 | SccProjectName="" |
8 | SccLocalPath=""> | 8 | SccLocalPath=""> |
9 | <Platforms> | 9 | <Platforms> |
10 | <Platform | 10 | <Platform |
11 | Name="Win32"/> | 11 | Name="Win32"/> |
12 | </Platforms> | 12 | </Platforms> |
13 | <Configurations> | 13 | <Configurations> |
14 | <Configuration | 14 | <Configuration |
15 | Name="Release|Win32" | 15 | Name="Release|Win32" |
16 | OutputDirectory=".\Release" | 16 | OutputDirectory=".\Release" |
17 | IntermediateDirectory=".\Release" | 17 | IntermediateDirectory=".\Release" |
18 | ConfigurationType="1" | 18 | ConfigurationType="1" |
19 | UseOfMFC="0" | 19 | UseOfMFC="0" |
20 | ATLMinimizesCRunTimeLibraryUsage="FALSE" | 20 | ATLMinimizesCRunTimeLibraryUsage="FALSE" |
21 | CharacterSet="2"> | 21 | CharacterSet="2"> |
22 | <Tool | 22 | <Tool |
23 | Name="VCCLCompilerTool" | 23 | Name="VCCLCompilerTool" |
24 | Optimization="2" | 24 | Optimization="2" |
25 | InlineFunctionExpansion="1" | 25 | InlineFunctionExpansion="1" |
26 | AdditionalIncludeDirectories="..\..\include" | 26 | AdditionalIncludeDirectories="..\..\include" |
27 | PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" | 27 | PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" |
28 | StringPooling="TRUE" | 28 | StringPooling="TRUE" |
29 | RuntimeLibrary="4" | 29 | RuntimeLibrary="4" |
30 | EnableFunctionLevelLinking="TRUE" | 30 | EnableFunctionLevelLinking="TRUE" |
31 | UsePrecompiledHeader="2" | 31 | UsePrecompiledHeader="2" |
32 | PrecompiledHeaderFile=".\Release/Meshviewer.pch" | 32 | PrecompiledHeaderFile=".\Release/Meshviewer.pch" |
33 | AssemblerListingLocation=".\Release/" | 33 | AssemblerListingLocation=".\Release/" |
34 | ObjectFile=".\Release/" | 34 | ObjectFile=".\Release/" |
35 | ProgramDataBaseFileName=".\Release/" | 35 | ProgramDataBaseFileName=".\Release/" |
36 | WarningLevel="3" | 36 | WarningLevel="3" |
37 | SuppressStartupBanner="TRUE" | 37 | SuppressStartupBanner="TRUE" |
38 | CompileAs="0"/> | 38 | CompileAs="0"/> |
39 | <Tool | 39 | <Tool |
40 | Name="VCCustomBuildTool"/> | 40 | Name="VCCustomBuildTool"/> |
41 | <Tool | 41 | <Tool |
42 | Name="VCLinkerTool" | 42 | Name="VCLinkerTool" |
43 | OutputFile="..\..\bin\Win32-VisualStudio\09.MeshViewer.exe" | 43 | OutputFile="..\..\bin\Win32-VisualStudio\09.MeshViewer.exe" |
44 | LinkIncremental="0" | 44 | LinkIncremental="0" |
45 | SuppressStartupBanner="TRUE" | 45 | SuppressStartupBanner="TRUE" |
46 | AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio" | 46 | AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio" |
47 | ProgramDatabaseFile=".\Release/MeshViewer.pdb" | 47 | ProgramDatabaseFile=".\Release/MeshViewer.pdb" |
48 | SubSystem="1" | 48 | SubSystem="1" |
49 | TargetMachine="1"/> | 49 | TargetMachine="1"/> |
50 | <Tool | 50 | <Tool |
51 | Name="VCMIDLTool" | 51 | Name="VCMIDLTool" |
52 | TypeLibraryName=".\Release/Meshviewer.tlb" | 52 | TypeLibraryName=".\Release/Meshviewer.tlb" |
53 | HeaderFileName=""/> | 53 | HeaderFileName=""/> |
54 | <Tool | 54 | <Tool |
55 | Name="VCPostBuildEventTool"/> | 55 | Name="VCPostBuildEventTool"/> |
56 | <Tool | 56 | <Tool |
57 | Name="VCPreBuildEventTool"/> | 57 | Name="VCPreBuildEventTool"/> |
58 | <Tool | 58 | <Tool |
59 | Name="VCPreLinkEventTool"/> | 59 | Name="VCPreLinkEventTool"/> |
60 | <Tool | 60 | <Tool |
61 | Name="VCResourceCompilerTool" | 61 | Name="VCResourceCompilerTool" |
62 | PreprocessorDefinitions="NDEBUG" | 62 | PreprocessorDefinitions="NDEBUG" |
63 | Culture="3079"/> | 63 | Culture="3079"/> |
64 | <Tool | 64 | <Tool |
65 | Name="VCWebServiceProxyGeneratorTool"/> | 65 | Name="VCWebServiceProxyGeneratorTool"/> |
66 | <Tool | 66 | <Tool |
67 | Name="VCXMLDataGeneratorTool"/> | 67 | Name="VCXMLDataGeneratorTool"/> |
68 | <Tool | 68 | <Tool |
69 | Name="VCWebDeploymentTool"/> | 69 | Name="VCWebDeploymentTool"/> |
70 | <Tool | 70 | <Tool |
71 | Name="VCManagedWrapperGeneratorTool"/> | 71 | Name="VCManagedWrapperGeneratorTool"/> |
72 | <Tool | 72 | <Tool |
73 | Name="VCAuxiliaryManagedWrapperGeneratorTool"/> | 73 | Name="VCAuxiliaryManagedWrapperGeneratorTool"/> |
74 | </Configuration> | 74 | </Configuration> |
75 | <Configuration | 75 | <Configuration |
76 | Name="Debug|Win32" | 76 | Name="Debug|Win32" |
77 | OutputDirectory=".\Debug" | 77 | OutputDirectory=".\Debug" |
78 | IntermediateDirectory=".\Debug" | 78 | IntermediateDirectory=".\Debug" |
79 | ConfigurationType="1" | 79 | ConfigurationType="1" |
80 | UseOfMFC="0" | 80 | UseOfMFC="0" |
81 | ATLMinimizesCRunTimeLibraryUsage="FALSE" | 81 | ATLMinimizesCRunTimeLibraryUsage="FALSE" |
82 | CharacterSet="2"> | 82 | CharacterSet="2"> |
83 | <Tool | 83 | <Tool |
84 | Name="VCCLCompilerTool" | 84 | Name="VCCLCompilerTool" |
85 | Optimization="0" | 85 | Optimization="0" |
86 | AdditionalIncludeDirectories="..\..\include" | 86 | AdditionalIncludeDirectories="..\..\include" |
87 | PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" | 87 | PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" |
88 | BasicRuntimeChecks="3" | 88 | BasicRuntimeChecks="3" |
89 | RuntimeLibrary="5" | 89 | RuntimeLibrary="5" |
90 | UsePrecompiledHeader="2" | 90 | UsePrecompiledHeader="2" |
91 | PrecompiledHeaderFile=".\Debug/Meshviewer.pch" | 91 | PrecompiledHeaderFile=".\Debug/Meshviewer.pch" |
92 | AssemblerListingLocation=".\Debug/" | 92 | AssemblerListingLocation=".\Debug/" |
93 | ObjectFile=".\Debug/" | 93 | ObjectFile=".\Debug/" |
94 | ProgramDataBaseFileName=".\Debug/" | 94 | ProgramDataBaseFileName=".\Debug/" |
95 | WarningLevel="3" | 95 | WarningLevel="3" |
96 | SuppressStartupBanner="TRUE" | 96 | SuppressStartupBanner="TRUE" |
97 | DebugInformationFormat="4" | 97 | DebugInformationFormat="4" |
98 | CompileAs="0"/> | 98 | CompileAs="0"/> |
99 | <Tool | 99 | <Tool |
100 | Name="VCCustomBuildTool"/> | 100 | Name="VCCustomBuildTool"/> |
101 | <Tool | 101 | <Tool |
102 | Name="VCLinkerTool" | 102 | Name="VCLinkerTool" |
103 | OutputFile="..\..\bin\Win32-VisualStudio\09.MeshViewer.exe" | 103 | OutputFile="..\..\bin\Win32-VisualStudio\09.MeshViewer.exe" |
104 | LinkIncremental="0" | 104 | LinkIncremental="0" |
105 | SuppressStartupBanner="TRUE" | 105 | SuppressStartupBanner="TRUE" |
106 | AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio" | 106 | AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio" |
107 | GenerateDebugInformation="TRUE" | 107 | GenerateDebugInformation="TRUE" |
108 | ProgramDatabaseFile=".\Debug/MeshViewer.pdb" | 108 | ProgramDatabaseFile=".\Debug/MeshViewer.pdb" |
109 | SubSystem="1" | 109 | SubSystem="1" |
110 | TargetMachine="1"/> | 110 | TargetMachine="1"/> |
111 | <Tool | 111 | <Tool |
112 | Name="VCMIDLTool" | 112 | Name="VCMIDLTool" |
113 | TypeLibraryName=".\Debug/Meshviewer.tlb" | 113 | TypeLibraryName=".\Debug/Meshviewer.tlb" |
114 | HeaderFileName=""/> | 114 | HeaderFileName=""/> |
115 | <Tool | 115 | <Tool |
116 | Name="VCPostBuildEventTool"/> | 116 | Name="VCPostBuildEventTool"/> |
117 | <Tool | 117 | <Tool |
118 | Name="VCPreBuildEventTool"/> | 118 | Name="VCPreBuildEventTool"/> |
119 | <Tool | 119 | <Tool |
120 | Name="VCPreLinkEventTool"/> | 120 | Name="VCPreLinkEventTool"/> |
121 | <Tool | 121 | <Tool |
122 | Name="VCResourceCompilerTool" | 122 | Name="VCResourceCompilerTool" |
123 | PreprocessorDefinitions="_DEBUG" | 123 | PreprocessorDefinitions="_DEBUG" |
124 | Culture="3079"/> | 124 | Culture="3079"/> |
125 | <Tool | 125 | <Tool |
126 | Name="VCWebServiceProxyGeneratorTool"/> | 126 | Name="VCWebServiceProxyGeneratorTool"/> |
127 | <Tool | 127 | <Tool |
128 | Name="VCXMLDataGeneratorTool"/> | 128 | Name="VCXMLDataGeneratorTool"/> |
129 | <Tool | 129 | <Tool |
130 | Name="VCWebDeploymentTool"/> | 130 | Name="VCWebDeploymentTool"/> |
131 | <Tool | 131 | <Tool |
132 | Name="VCManagedWrapperGeneratorTool"/> | 132 | Name="VCManagedWrapperGeneratorTool"/> |
133 | <Tool | 133 | <Tool |
134 | Name="VCAuxiliaryManagedWrapperGeneratorTool"/> | 134 | Name="VCAuxiliaryManagedWrapperGeneratorTool"/> |
135 | </Configuration> | 135 | </Configuration> |
136 | </Configurations> | 136 | </Configurations> |
137 | <References> | 137 | <References> |
138 | </References> | 138 | </References> |
139 | <Files> | 139 | <Files> |
140 | <File | 140 | <File |
141 | RelativePath="main.cpp"> | 141 | RelativePath="main.cpp"> |
142 | <FileConfiguration | 142 | <FileConfiguration |
143 | Name="Release|Win32"> | 143 | Name="Release|Win32"> |
144 | <Tool | 144 | <Tool |
145 | Name="VCCLCompilerTool" | 145 | Name="VCCLCompilerTool" |
146 | Optimization="2" | 146 | Optimization="2" |
147 | AdditionalIncludeDirectories="" | 147 | AdditionalIncludeDirectories="" |
148 | PreprocessorDefinitions=""/> | 148 | PreprocessorDefinitions=""/> |
149 | </FileConfiguration> | 149 | </FileConfiguration> |
150 | <FileConfiguration | 150 | <FileConfiguration |
151 | Name="Debug|Win32"> | 151 | Name="Debug|Win32"> |
152 | <Tool | 152 | <Tool |
153 | Name="VCCLCompilerTool" | 153 | Name="VCCLCompilerTool" |
154 | Optimization="0" | 154 | Optimization="0" |
155 | AdditionalIncludeDirectories="" | 155 | AdditionalIncludeDirectories="" |
156 | PreprocessorDefinitions="" | 156 | PreprocessorDefinitions="" |
157 | BasicRuntimeChecks="3"/> | 157 | BasicRuntimeChecks="3"/> |
158 | </FileConfiguration> | 158 | </FileConfiguration> |
159 | </File> | 159 | </File> |
160 | </Files> | 160 | </Files> |
161 | <Globals> | 161 | <Globals> |
162 | </Globals> | 162 | </Globals> |
163 | </VisualStudioProject> | 163 | </VisualStudioProject> |
diff --git a/libraries/irrlicht-1.8/examples/09.Meshviewer/Meshviewer_vc10.vcxproj b/libraries/irrlicht-1.8/examples/09.Meshviewer/Meshviewer_vc10.vcxproj index c9e9e97..6f1614f 100644 --- a/libraries/irrlicht-1.8/examples/09.Meshviewer/Meshviewer_vc10.vcxproj +++ b/libraries/irrlicht-1.8/examples/09.Meshviewer/Meshviewer_vc10.vcxproj | |||
@@ -1,231 +1,231 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | 1 | <?xml version="1.0" encoding="utf-8"?> |
2 | <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | 2 | <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
3 | <ItemGroup Label="ProjectConfigurations"> | 3 | <ItemGroup Label="ProjectConfigurations"> |
4 | <ProjectConfiguration Include="Debug|Win32"> | 4 | <ProjectConfiguration Include="Debug|Win32"> |
5 | <Configuration>Debug</Configuration> | 5 | <Configuration>Debug</Configuration> |
6 | <Platform>Win32</Platform> | 6 | <Platform>Win32</Platform> |
7 | </ProjectConfiguration> | 7 | </ProjectConfiguration> |
8 | <ProjectConfiguration Include="Debug|x64"> | 8 | <ProjectConfiguration Include="Debug|x64"> |
9 | <Configuration>Debug</Configuration> | 9 | <Configuration>Debug</Configuration> |
10 | <Platform>x64</Platform> | 10 | <Platform>x64</Platform> |
11 | </ProjectConfiguration> | 11 | </ProjectConfiguration> |
12 | <ProjectConfiguration Include="Release|Win32"> | 12 | <ProjectConfiguration Include="Release|Win32"> |
13 | <Configuration>Release</Configuration> | 13 | <Configuration>Release</Configuration> |
14 | <Platform>Win32</Platform> | 14 | <Platform>Win32</Platform> |
15 | </ProjectConfiguration> | 15 | </ProjectConfiguration> |
16 | <ProjectConfiguration Include="Release|x64"> | 16 | <ProjectConfiguration Include="Release|x64"> |
17 | <Configuration>Release</Configuration> | 17 | <Configuration>Release</Configuration> |
18 | <Platform>x64</Platform> | 18 | <Platform>x64</Platform> |
19 | </ProjectConfiguration> | 19 | </ProjectConfiguration> |
20 | </ItemGroup> | 20 | </ItemGroup> |
21 | <PropertyGroup Label="Globals"> | 21 | <PropertyGroup Label="Globals"> |
22 | <ProjectName>09.Meshviewer</ProjectName> | 22 | <ProjectName>09.Meshviewer</ProjectName> |
23 | <ProjectGuid>{2AE24484-22FC-481B-9A40-7CD0DA5C8E06}</ProjectGuid> | 23 | <ProjectGuid>{2AE24484-22FC-481B-9A40-7CD0DA5C8E06}</ProjectGuid> |
24 | <RootNamespace>Meshviewer</RootNamespace> | 24 | <RootNamespace>Meshviewer</RootNamespace> |
25 | </PropertyGroup> | 25 | </PropertyGroup> |
26 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> | 26 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> |
27 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> | 27 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> |
28 | <ConfigurationType>Application</ConfigurationType> | 28 | <ConfigurationType>Application</ConfigurationType> |
29 | <UseOfMfc>false</UseOfMfc> | 29 | <UseOfMfc>false</UseOfMfc> |
30 | <CharacterSet>MultiByte</CharacterSet> | 30 | <CharacterSet>MultiByte</CharacterSet> |
31 | </PropertyGroup> | 31 | </PropertyGroup> |
32 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> | 32 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> |
33 | <ConfigurationType>Application</ConfigurationType> | 33 | <ConfigurationType>Application</ConfigurationType> |
34 | <UseOfMfc>false</UseOfMfc> | 34 | <UseOfMfc>false</UseOfMfc> |
35 | <CharacterSet>MultiByte</CharacterSet> | 35 | <CharacterSet>MultiByte</CharacterSet> |
36 | </PropertyGroup> | 36 | </PropertyGroup> |
37 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> | 37 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> |
38 | <ConfigurationType>Application</ConfigurationType> | 38 | <ConfigurationType>Application</ConfigurationType> |
39 | <UseOfMfc>false</UseOfMfc> | 39 | <UseOfMfc>false</UseOfMfc> |
40 | <CharacterSet>MultiByte</CharacterSet> | 40 | <CharacterSet>MultiByte</CharacterSet> |
41 | </PropertyGroup> | 41 | </PropertyGroup> |
42 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> | 42 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> |
43 | <ConfigurationType>Application</ConfigurationType> | 43 | <ConfigurationType>Application</ConfigurationType> |
44 | <UseOfMfc>false</UseOfMfc> | 44 | <UseOfMfc>false</UseOfMfc> |
45 | <CharacterSet>MultiByte</CharacterSet> | 45 | <CharacterSet>MultiByte</CharacterSet> |
46 | </PropertyGroup> | 46 | </PropertyGroup> |
47 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> | 47 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> |
48 | <ImportGroup Label="ExtensionSettings"> | 48 | <ImportGroup Label="ExtensionSettings"> |
49 | </ImportGroup> | 49 | </ImportGroup> |
50 | <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> | 50 | <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> |
51 | <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | 51 | <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> |
52 | <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> | 52 | <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> |
53 | </ImportGroup> | 53 | </ImportGroup> |
54 | <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> | 54 | <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> |
55 | <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | 55 | <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> |
56 | <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> | 56 | <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> |
57 | </ImportGroup> | 57 | </ImportGroup> |
58 | <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> | 58 | <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> |
59 | <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | 59 | <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> |
60 | <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> | 60 | <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> |
61 | </ImportGroup> | 61 | </ImportGroup> |
62 | <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> | 62 | <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> |
63 | <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | 63 | <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> |
64 | <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> | 64 | <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> |
65 | </ImportGroup> | 65 | </ImportGroup> |
66 | <PropertyGroup Label="UserMacros" /> | 66 | <PropertyGroup Label="UserMacros" /> |
67 | <PropertyGroup> | 67 | <PropertyGroup> |
68 | <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> | 68 | <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> |
69 | <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\bin\Win32-VisualStudio\</OutDir> | 69 | <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\bin\Win32-VisualStudio\</OutDir> |
70 | <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\bin\Win64-VisualStudio\</OutDir> | 70 | <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\bin\Win64-VisualStudio\</OutDir> |
71 | <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> | 71 | <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> |
72 | <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> | 72 | <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> |
73 | <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\bin\Win32-VisualStudio\</OutDir> | 73 | <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\bin\Win32-VisualStudio\</OutDir> |
74 | <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\bin\Win64-VisualStudio\</OutDir> | 74 | <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\bin\Win64-VisualStudio\</OutDir> |
75 | <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> | 75 | <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> |
76 | <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> | 76 | <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> |
77 | <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> | 77 | <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> |
78 | <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet> | 78 | <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet> |
79 | <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> | 79 | <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> |
80 | <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> | 80 | <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> |
81 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> | 81 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> |
82 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> | 82 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> |
83 | <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> | 83 | <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> |
84 | <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet> | 84 | <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet> |
85 | <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> | 85 | <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> |
86 | <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> | 86 | <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> |
87 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> | 87 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> |
88 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> | 88 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> |
89 | </PropertyGroup> | 89 | </PropertyGroup> |
90 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | 90 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> |
91 | <Midl> | 91 | <Midl> |
92 | <TypeLibraryName>.\Release/Meshviewer.tlb</TypeLibraryName> | 92 | <TypeLibraryName>.\Release/Meshviewer.tlb</TypeLibraryName> |
93 | <HeaderFileName> | 93 | <HeaderFileName> |
94 | </HeaderFileName> | 94 | </HeaderFileName> |
95 | </Midl> | 95 | </Midl> |
96 | <ClCompile> | 96 | <ClCompile> |
97 | <Optimization>MaxSpeed</Optimization> | 97 | <Optimization>MaxSpeed</Optimization> |
98 | <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> | 98 | <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> |
99 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | 99 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
100 | <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | 100 | <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
101 | <StringPooling>true</StringPooling> | 101 | <StringPooling>true</StringPooling> |
102 | <RuntimeLibrary>MultiThreaded</RuntimeLibrary> | 102 | <RuntimeLibrary>MultiThreaded</RuntimeLibrary> |
103 | <FunctionLevelLinking>true</FunctionLevelLinking> | 103 | <FunctionLevelLinking>true</FunctionLevelLinking> |
104 | <PrecompiledHeader> | 104 | <PrecompiledHeader> |
105 | </PrecompiledHeader> | 105 | </PrecompiledHeader> |
106 | <WarningLevel>Level3</WarningLevel> | 106 | <WarningLevel>Level3</WarningLevel> |
107 | </ClCompile> | 107 | </ClCompile> |
108 | <ResourceCompile> | 108 | <ResourceCompile> |
109 | <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | 109 | <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
110 | <Culture>0x0c07</Culture> | 110 | <Culture>0x0c07</Culture> |
111 | </ResourceCompile> | 111 | </ResourceCompile> |
112 | <Link> | 112 | <Link> |
113 | <OutputFile>..\..\bin\Win32-VisualStudio\09.MeshViewer.exe</OutputFile> | 113 | <OutputFile>..\..\bin\Win32-VisualStudio\09.MeshViewer.exe</OutputFile> |
114 | <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | 114 | <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> |
115 | <SubSystem>Console</SubSystem> | 115 | <SubSystem>Console</SubSystem> |
116 | <DataExecutionPrevention> | 116 | <DataExecutionPrevention> |
117 | </DataExecutionPrevention> | 117 | </DataExecutionPrevention> |
118 | </Link> | 118 | </Link> |
119 | </ItemDefinitionGroup> | 119 | </ItemDefinitionGroup> |
120 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> | 120 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> |
121 | <Midl> | 121 | <Midl> |
122 | <TypeLibraryName>.\Release/Meshviewer.tlb</TypeLibraryName> | 122 | <TypeLibraryName>.\Release/Meshviewer.tlb</TypeLibraryName> |
123 | <HeaderFileName> | 123 | <HeaderFileName> |
124 | </HeaderFileName> | 124 | </HeaderFileName> |
125 | </Midl> | 125 | </Midl> |
126 | <ClCompile> | 126 | <ClCompile> |
127 | <Optimization>MaxSpeed</Optimization> | 127 | <Optimization>MaxSpeed</Optimization> |
128 | <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> | 128 | <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> |
129 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | 129 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
130 | <PreprocessorDefinitions>WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | 130 | <PreprocessorDefinitions>WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
131 | <StringPooling>true</StringPooling> | 131 | <StringPooling>true</StringPooling> |
132 | <RuntimeLibrary>MultiThreaded</RuntimeLibrary> | 132 | <RuntimeLibrary>MultiThreaded</RuntimeLibrary> |
133 | <FunctionLevelLinking>true</FunctionLevelLinking> | 133 | <FunctionLevelLinking>true</FunctionLevelLinking> |
134 | <PrecompiledHeader> | 134 | <PrecompiledHeader> |
135 | </PrecompiledHeader> | 135 | </PrecompiledHeader> |
136 | <WarningLevel>Level3</WarningLevel> | 136 | <WarningLevel>Level3</WarningLevel> |
137 | </ClCompile> | 137 | </ClCompile> |
138 | <ResourceCompile> | 138 | <ResourceCompile> |
139 | <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | 139 | <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
140 | <Culture>0x0c07</Culture> | 140 | <Culture>0x0c07</Culture> |
141 | </ResourceCompile> | 141 | </ResourceCompile> |
142 | <Link> | 142 | <Link> |
143 | <OutputFile>..\..\bin\Win64-VisualStudio\09.MeshViewer.exe</OutputFile> | 143 | <OutputFile>..\..\bin\Win64-VisualStudio\09.MeshViewer.exe</OutputFile> |
144 | <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | 144 | <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> |
145 | <SubSystem>Console</SubSystem> | 145 | <SubSystem>Console</SubSystem> |
146 | <DataExecutionPrevention> | 146 | <DataExecutionPrevention> |
147 | </DataExecutionPrevention> | 147 | </DataExecutionPrevention> |
148 | </Link> | 148 | </Link> |
149 | </ItemDefinitionGroup> | 149 | </ItemDefinitionGroup> |
150 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> | 150 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> |
151 | <Midl> | 151 | <Midl> |
152 | <TypeLibraryName>.\Debug/Meshviewer.tlb</TypeLibraryName> | 152 | <TypeLibraryName>.\Debug/Meshviewer.tlb</TypeLibraryName> |
153 | <HeaderFileName> | 153 | <HeaderFileName> |
154 | </HeaderFileName> | 154 | </HeaderFileName> |
155 | </Midl> | 155 | </Midl> |
156 | <ClCompile> | 156 | <ClCompile> |
157 | <Optimization>Disabled</Optimization> | 157 | <Optimization>Disabled</Optimization> |
158 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | 158 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
159 | <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | 159 | <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
160 | <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | 160 | <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> |
161 | <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> | 161 | <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> |
162 | <PrecompiledHeader> | 162 | <PrecompiledHeader> |
163 | </PrecompiledHeader> | 163 | </PrecompiledHeader> |
164 | <WarningLevel>Level3</WarningLevel> | 164 | <WarningLevel>Level3</WarningLevel> |
165 | <DebugInformationFormat>EditAndContinue</DebugInformationFormat> | 165 | <DebugInformationFormat>EditAndContinue</DebugInformationFormat> |
166 | </ClCompile> | 166 | </ClCompile> |
167 | <ResourceCompile> | 167 | <ResourceCompile> |
168 | <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | 168 | <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
169 | <Culture>0x0c07</Culture> | 169 | <Culture>0x0c07</Culture> |
170 | </ResourceCompile> | 170 | </ResourceCompile> |
171 | <Link> | 171 | <Link> |
172 | <OutputFile>..\..\bin\Win32-VisualStudio\09.MeshViewer.exe</OutputFile> | 172 | <OutputFile>..\..\bin\Win32-VisualStudio\09.MeshViewer.exe</OutputFile> |
173 | <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | 173 | <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> |
174 | <GenerateDebugInformation>true</GenerateDebugInformation> | 174 | <GenerateDebugInformation>true</GenerateDebugInformation> |
175 | <SubSystem>Console</SubSystem> | 175 | <SubSystem>Console</SubSystem> |
176 | <DataExecutionPrevention> | 176 | <DataExecutionPrevention> |
177 | </DataExecutionPrevention> | 177 | </DataExecutionPrevention> |
178 | </Link> | 178 | </Link> |
179 | </ItemDefinitionGroup> | 179 | </ItemDefinitionGroup> |
180 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> | 180 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> |
181 | <Midl> | 181 | <Midl> |
182 | <TypeLibraryName>.\Debug/Meshviewer.tlb</TypeLibraryName> | 182 | <TypeLibraryName>.\Debug/Meshviewer.tlb</TypeLibraryName> |
183 | <HeaderFileName> | 183 | <HeaderFileName> |
184 | </HeaderFileName> | 184 | </HeaderFileName> |
185 | </Midl> | 185 | </Midl> |
186 | <ClCompile> | 186 | <ClCompile> |
187 | <Optimization>Disabled</Optimization> | 187 | <Optimization>Disabled</Optimization> |
188 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | 188 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
189 | <PreprocessorDefinitions>WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | 189 | <PreprocessorDefinitions>WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
190 | <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | 190 | <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> |
191 | <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> | 191 | <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> |
192 | <PrecompiledHeader> | 192 | <PrecompiledHeader> |
193 | </PrecompiledHeader> | 193 | </PrecompiledHeader> |
194 | <WarningLevel>Level3</WarningLevel> | 194 | <WarningLevel>Level3</WarningLevel> |
195 | <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | 195 | <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> |
196 | </ClCompile> | 196 | </ClCompile> |
197 | <ResourceCompile> | 197 | <ResourceCompile> |
198 | <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | 198 | <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
199 | <Culture>0x0c07</Culture> | 199 | <Culture>0x0c07</Culture> |
200 | </ResourceCompile> | 200 | </ResourceCompile> |
201 | <Link> | 201 | <Link> |
202 | <OutputFile>..\..\bin\Win64-VisualStudio\09.MeshViewer.exe</OutputFile> | 202 | <OutputFile>..\..\bin\Win64-VisualStudio\09.MeshViewer.exe</OutputFile> |
203 | <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | 203 | <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> |
204 | <GenerateDebugInformation>true</GenerateDebugInformation> | 204 | <GenerateDebugInformation>true</GenerateDebugInformation> |
205 | <SubSystem>Console</SubSystem> | 205 | <SubSystem>Console</SubSystem> |
206 | <DataExecutionPrevention> | 206 | <DataExecutionPrevention> |
207 | </DataExecutionPrevention> | 207 | </DataExecutionPrevention> |
208 | </Link> | 208 | </Link> |
209 | </ItemDefinitionGroup> | 209 | </ItemDefinitionGroup> |
210 | <ItemGroup> | 210 | <ItemGroup> |
211 | <ClCompile Include="main.cpp"> | 211 | <ClCompile Include="main.cpp"> |
212 | <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> | 212 | <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> |
213 | <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization> | 213 | <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization> |
214 | <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | 214 | <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
215 | <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | 215 | <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
216 | <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions> | 216 | <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions> |
217 | <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions> | 217 | <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions> |
218 | <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> | 218 | <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> |
219 | <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks> | 219 | <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks> |
220 | <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> | 220 | <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> |
221 | <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization> | 221 | <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization> |
222 | <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | 222 | <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
223 | <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | 223 | <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
224 | <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions> | 224 | <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions> |
225 | <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions> | 225 | <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions> |
226 | </ClCompile> | 226 | </ClCompile> |
227 | </ItemGroup> | 227 | </ItemGroup> |
228 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | 228 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> |
229 | <ImportGroup Label="ExtensionTargets"> | 229 | <ImportGroup Label="ExtensionTargets"> |
230 | </ImportGroup> | 230 | </ImportGroup> |
231 | </Project> \ No newline at end of file | 231 | </Project> \ No newline at end of file |
diff --git a/libraries/irrlicht-1.8/examples/09.Meshviewer/Meshviewer_vc11.vcxproj b/libraries/irrlicht-1.8/examples/09.Meshviewer/Meshviewer_vc11.vcxproj index 24ffe1e..9cd80e6 100644 --- a/libraries/irrlicht-1.8/examples/09.Meshviewer/Meshviewer_vc11.vcxproj +++ b/libraries/irrlicht-1.8/examples/09.Meshviewer/Meshviewer_vc11.vcxproj | |||
@@ -1,235 +1,235 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | 1 | <?xml version="1.0" encoding="utf-8"?> |
2 | <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | 2 | <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
3 | <ItemGroup Label="ProjectConfigurations"> | 3 | <ItemGroup Label="ProjectConfigurations"> |
4 | <ProjectConfiguration Include="Debug|Win32"> | 4 | <ProjectConfiguration Include="Debug|Win32"> |
5 | <Configuration>Debug</Configuration> | 5 | <Configuration>Debug</Configuration> |
6 | <Platform>Win32</Platform> | 6 | <Platform>Win32</Platform> |
7 | </ProjectConfiguration> | 7 | </ProjectConfiguration> |
8 | <ProjectConfiguration Include="Debug|x64"> | 8 | <ProjectConfiguration Include="Debug|x64"> |
9 | <Configuration>Debug</Configuration> | 9 | <Configuration>Debug</Configuration> |
10 | <Platform>x64</Platform> | 10 | <Platform>x64</Platform> |
11 | </ProjectConfiguration> | 11 | </ProjectConfiguration> |
12 | <ProjectConfiguration Include="Release|Win32"> | 12 | <ProjectConfiguration Include="Release|Win32"> |
13 | <Configuration>Release</Configuration> | 13 | <Configuration>Release</Configuration> |
14 | <Platform>Win32</Platform> | 14 | <Platform>Win32</Platform> |
15 | </ProjectConfiguration> | 15 | </ProjectConfiguration> |
16 | <ProjectConfiguration Include="Release|x64"> | 16 | <ProjectConfiguration Include="Release|x64"> |
17 | <Configuration>Release</Configuration> | 17 | <Configuration>Release</Configuration> |
18 | <Platform>x64</Platform> | 18 | <Platform>x64</Platform> |
19 | </ProjectConfiguration> | 19 | </ProjectConfiguration> |
20 | </ItemGroup> | 20 | </ItemGroup> |
21 | <PropertyGroup Label="Globals"> | 21 | <PropertyGroup Label="Globals"> |
22 | <ProjectName>09.Meshviewer</ProjectName> | 22 | <ProjectName>09.Meshviewer</ProjectName> |
23 | <ProjectGuid>{2AE24484-22FC-481B-9A40-7CD0DA5C8E06}</ProjectGuid> | 23 | <ProjectGuid>{2AE24484-22FC-481B-9A40-7CD0DA5C8E06}</ProjectGuid> |
24 | <RootNamespace>Meshviewer</RootNamespace> | 24 | <RootNamespace>Meshviewer</RootNamespace> |
25 | </PropertyGroup> | 25 | </PropertyGroup> |
26 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> | 26 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> |
27 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> | 27 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> |
28 | <ConfigurationType>Application</ConfigurationType> | 28 | <ConfigurationType>Application</ConfigurationType> |
29 | <UseOfMfc>false</UseOfMfc> | 29 | <UseOfMfc>false</UseOfMfc> |
30 | <CharacterSet>MultiByte</CharacterSet> | 30 | <CharacterSet>MultiByte</CharacterSet> |
31 | <PlatformToolset>v110</PlatformToolset> | 31 | <PlatformToolset>v110</PlatformToolset> |
32 | </PropertyGroup> | 32 | </PropertyGroup> |
33 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> | 33 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> |
34 | <ConfigurationType>Application</ConfigurationType> | 34 | <ConfigurationType>Application</ConfigurationType> |
35 | <UseOfMfc>false</UseOfMfc> | 35 | <UseOfMfc>false</UseOfMfc> |
36 | <CharacterSet>MultiByte</CharacterSet> | 36 | <CharacterSet>MultiByte</CharacterSet> |
37 | <PlatformToolset>v110</PlatformToolset> | 37 | <PlatformToolset>v110</PlatformToolset> |
38 | </PropertyGroup> | 38 | </PropertyGroup> |
39 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> | 39 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> |
40 | <ConfigurationType>Application</ConfigurationType> | 40 | <ConfigurationType>Application</ConfigurationType> |
41 | <UseOfMfc>false</UseOfMfc> | 41 | <UseOfMfc>false</UseOfMfc> |
42 | <CharacterSet>MultiByte</CharacterSet> | 42 | <CharacterSet>MultiByte</CharacterSet> |
43 | <PlatformToolset>v110</PlatformToolset> | 43 | <PlatformToolset>v110</PlatformToolset> |
44 | </PropertyGroup> | 44 | </PropertyGroup> |
45 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> | 45 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> |
46 | <ConfigurationType>Application</ConfigurationType> | 46 | <ConfigurationType>Application</ConfigurationType> |
47 | <UseOfMfc>false</UseOfMfc> | 47 | <UseOfMfc>false</UseOfMfc> |
48 | <CharacterSet>MultiByte</CharacterSet> | 48 | <CharacterSet>MultiByte</CharacterSet> |
49 | <PlatformToolset>v110</PlatformToolset> | 49 | <PlatformToolset>v110</PlatformToolset> |
50 | </PropertyGroup> | 50 | </PropertyGroup> |
51 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> | 51 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> |
52 | <ImportGroup Label="ExtensionSettings"> | 52 | <ImportGroup Label="ExtensionSettings"> |
53 | </ImportGroup> | 53 | </ImportGroup> |
54 | <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> | 54 | <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> |
55 | <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | 55 | <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> |
56 | <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> | 56 | <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> |
57 | </ImportGroup> | 57 | </ImportGroup> |
58 | <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> | 58 | <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> |
59 | <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | 59 | <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> |
60 | <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> | 60 | <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> |
61 | </ImportGroup> | 61 | </ImportGroup> |
62 | <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> | 62 | <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> |
63 | <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | 63 | <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> |
64 | <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> | 64 | <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> |
65 | </ImportGroup> | 65 | </ImportGroup> |
66 | <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> | 66 | <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> |
67 | <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | 67 | <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> |
68 | <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> | 68 | <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> |
69 | </ImportGroup> | 69 | </ImportGroup> |
70 | <PropertyGroup Label="UserMacros" /> | 70 | <PropertyGroup Label="UserMacros" /> |
71 | <PropertyGroup> | 71 | <PropertyGroup> |
72 | <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> | 72 | <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> |
73 | <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\bin\Win32-VisualStudio\</OutDir> | 73 | <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\bin\Win32-VisualStudio\</OutDir> |
74 | <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\bin\Win64-VisualStudio\</OutDir> | 74 | <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\bin\Win64-VisualStudio\</OutDir> |
75 | <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> | 75 | <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> |
76 | <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> | 76 | <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> |
77 | <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\bin\Win32-VisualStudio\</OutDir> | 77 | <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\bin\Win32-VisualStudio\</OutDir> |
78 | <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\bin\Win64-VisualStudio\</OutDir> | 78 | <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\bin\Win64-VisualStudio\</OutDir> |
79 | <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> | 79 | <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> |
80 | <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> | 80 | <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> |
81 | <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> | 81 | <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> |
82 | <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet> | 82 | <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet> |
83 | <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> | 83 | <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> |
84 | <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> | 84 | <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> |
85 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> | 85 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> |
86 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> | 86 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> |
87 | <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> | 87 | <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> |
88 | <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet> | 88 | <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet> |
89 | <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> | 89 | <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> |
90 | <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> | 90 | <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> |
91 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> | 91 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> |
92 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> | 92 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> |
93 | </PropertyGroup> | 93 | </PropertyGroup> |
94 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | 94 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> |
95 | <Midl> | 95 | <Midl> |
96 | <TypeLibraryName>.\Release/Meshviewer.tlb</TypeLibraryName> | 96 | <TypeLibraryName>.\Release/Meshviewer.tlb</TypeLibraryName> |
97 | <HeaderFileName> | 97 | <HeaderFileName> |
98 | </HeaderFileName> | 98 | </HeaderFileName> |
99 | </Midl> | 99 | </Midl> |
100 | <ClCompile> | 100 | <ClCompile> |
101 | <Optimization>MaxSpeed</Optimization> | 101 | <Optimization>MaxSpeed</Optimization> |
102 | <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> | 102 | <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> |
103 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | 103 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
104 | <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | 104 | <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
105 | <StringPooling>true</StringPooling> | 105 | <StringPooling>true</StringPooling> |
106 | <RuntimeLibrary>MultiThreaded</RuntimeLibrary> | 106 | <RuntimeLibrary>MultiThreaded</RuntimeLibrary> |
107 | <FunctionLevelLinking>true</FunctionLevelLinking> | 107 | <FunctionLevelLinking>true</FunctionLevelLinking> |
108 | <PrecompiledHeader> | 108 | <PrecompiledHeader> |
109 | </PrecompiledHeader> | 109 | </PrecompiledHeader> |
110 | <WarningLevel>Level3</WarningLevel> | 110 | <WarningLevel>Level3</WarningLevel> |
111 | </ClCompile> | 111 | </ClCompile> |
112 | <ResourceCompile> | 112 | <ResourceCompile> |
113 | <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | 113 | <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
114 | <Culture>0x0c07</Culture> | 114 | <Culture>0x0c07</Culture> |
115 | </ResourceCompile> | 115 | </ResourceCompile> |
116 | <Link> | 116 | <Link> |
117 | <OutputFile>..\..\bin\Win32-VisualStudio\09.MeshViewer.exe</OutputFile> | 117 | <OutputFile>..\..\bin\Win32-VisualStudio\09.MeshViewer.exe</OutputFile> |
118 | <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | 118 | <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> |
119 | <SubSystem>Console</SubSystem> | 119 | <SubSystem>Console</SubSystem> |
120 | <DataExecutionPrevention> | 120 | <DataExecutionPrevention> |
121 | </DataExecutionPrevention> | 121 | </DataExecutionPrevention> |
122 | </Link> | 122 | </Link> |
123 | </ItemDefinitionGroup> | 123 | </ItemDefinitionGroup> |
124 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> | 124 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> |
125 | <Midl> | 125 | <Midl> |
126 | <TypeLibraryName>.\Release/Meshviewer.tlb</TypeLibraryName> | 126 | <TypeLibraryName>.\Release/Meshviewer.tlb</TypeLibraryName> |
127 | <HeaderFileName> | 127 | <HeaderFileName> |
128 | </HeaderFileName> | 128 | </HeaderFileName> |
129 | </Midl> | 129 | </Midl> |
130 | <ClCompile> | 130 | <ClCompile> |
131 | <Optimization>MaxSpeed</Optimization> | 131 | <Optimization>MaxSpeed</Optimization> |
132 | <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> | 132 | <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> |
133 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | 133 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
134 | <PreprocessorDefinitions>WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | 134 | <PreprocessorDefinitions>WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
135 | <StringPooling>true</StringPooling> | 135 | <StringPooling>true</StringPooling> |
136 | <RuntimeLibrary>MultiThreaded</RuntimeLibrary> | 136 | <RuntimeLibrary>MultiThreaded</RuntimeLibrary> |
137 | <FunctionLevelLinking>true</FunctionLevelLinking> | 137 | <FunctionLevelLinking>true</FunctionLevelLinking> |
138 | <PrecompiledHeader> | 138 | <PrecompiledHeader> |
139 | </PrecompiledHeader> | 139 | </PrecompiledHeader> |
140 | <WarningLevel>Level3</WarningLevel> | 140 | <WarningLevel>Level3</WarningLevel> |
141 | </ClCompile> | 141 | </ClCompile> |
142 | <ResourceCompile> | 142 | <ResourceCompile> |
143 | <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | 143 | <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
144 | <Culture>0x0c07</Culture> | 144 | <Culture>0x0c07</Culture> |
145 | </ResourceCompile> | 145 | </ResourceCompile> |
146 | <Link> | 146 | <Link> |
147 | <OutputFile>..\..\bin\Win64-VisualStudio\09.MeshViewer.exe</OutputFile> | 147 | <OutputFile>..\..\bin\Win64-VisualStudio\09.MeshViewer.exe</OutputFile> |
148 | <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | 148 | <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> |
149 | <SubSystem>Console</SubSystem> | 149 | <SubSystem>Console</SubSystem> |
150 | <DataExecutionPrevention> | 150 | <DataExecutionPrevention> |
151 | </DataExecutionPrevention> | 151 | </DataExecutionPrevention> |
152 | </Link> | 152 | </Link> |
153 | </ItemDefinitionGroup> | 153 | </ItemDefinitionGroup> |
154 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> | 154 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> |
155 | <Midl> | 155 | <Midl> |
156 | <TypeLibraryName>.\Debug/Meshviewer.tlb</TypeLibraryName> | 156 | <TypeLibraryName>.\Debug/Meshviewer.tlb</TypeLibraryName> |
157 | <HeaderFileName> | 157 | <HeaderFileName> |
158 | </HeaderFileName> | 158 | </HeaderFileName> |
159 | </Midl> | 159 | </Midl> |
160 | <ClCompile> | 160 | <ClCompile> |
161 | <Optimization>Disabled</Optimization> | 161 | <Optimization>Disabled</Optimization> |
162 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | 162 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
163 | <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | 163 | <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
164 | <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | 164 | <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> |
165 | <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> | 165 | <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> |
166 | <PrecompiledHeader> | 166 | <PrecompiledHeader> |
167 | </PrecompiledHeader> | 167 | </PrecompiledHeader> |
168 | <WarningLevel>Level3</WarningLevel> | 168 | <WarningLevel>Level3</WarningLevel> |
169 | <DebugInformationFormat>EditAndContinue</DebugInformationFormat> | 169 | <DebugInformationFormat>EditAndContinue</DebugInformationFormat> |
170 | </ClCompile> | 170 | </ClCompile> |
171 | <ResourceCompile> | 171 | <ResourceCompile> |
172 | <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | 172 | <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
173 | <Culture>0x0c07</Culture> | 173 | <Culture>0x0c07</Culture> |
174 | </ResourceCompile> | 174 | </ResourceCompile> |
175 | <Link> | 175 | <Link> |
176 | <OutputFile>..\..\bin\Win32-VisualStudio\09.MeshViewer.exe</OutputFile> | 176 | <OutputFile>..\..\bin\Win32-VisualStudio\09.MeshViewer.exe</OutputFile> |
177 | <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | 177 | <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> |
178 | <GenerateDebugInformation>true</GenerateDebugInformation> | 178 | <GenerateDebugInformation>true</GenerateDebugInformation> |
179 | <SubSystem>Console</SubSystem> | 179 | <SubSystem>Console</SubSystem> |
180 | <DataExecutionPrevention> | 180 | <DataExecutionPrevention> |
181 | </DataExecutionPrevention> | 181 | </DataExecutionPrevention> |
182 | </Link> | 182 | </Link> |
183 | </ItemDefinitionGroup> | 183 | </ItemDefinitionGroup> |
184 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> | 184 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> |
185 | <Midl> | 185 | <Midl> |
186 | <TypeLibraryName>.\Debug/Meshviewer.tlb</TypeLibraryName> | 186 | <TypeLibraryName>.\Debug/Meshviewer.tlb</TypeLibraryName> |
187 | <HeaderFileName> | 187 | <HeaderFileName> |
188 | </HeaderFileName> | 188 | </HeaderFileName> |
189 | </Midl> | 189 | </Midl> |
190 | <ClCompile> | 190 | <ClCompile> |
191 | <Optimization>Disabled</Optimization> | 191 | <Optimization>Disabled</Optimization> |
192 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | 192 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
193 | <PreprocessorDefinitions>WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | 193 | <PreprocessorDefinitions>WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
194 | <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | 194 | <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> |
195 | <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> | 195 | <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> |
196 | <PrecompiledHeader> | 196 | <PrecompiledHeader> |
197 | </PrecompiledHeader> | 197 | </PrecompiledHeader> |
198 | <WarningLevel>Level3</WarningLevel> | 198 | <WarningLevel>Level3</WarningLevel> |
199 | <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | 199 | <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> |
200 | </ClCompile> | 200 | </ClCompile> |
201 | <ResourceCompile> | 201 | <ResourceCompile> |
202 | <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | 202 | <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
203 | <Culture>0x0c07</Culture> | 203 | <Culture>0x0c07</Culture> |
204 | </ResourceCompile> | 204 | </ResourceCompile> |
205 | <Link> | 205 | <Link> |
206 | <OutputFile>..\..\bin\Win64-VisualStudio\09.MeshViewer.exe</OutputFile> | 206 | <OutputFile>..\..\bin\Win64-VisualStudio\09.MeshViewer.exe</OutputFile> |
207 | <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | 207 | <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> |
208 | <GenerateDebugInformation>true</GenerateDebugInformation> | 208 | <GenerateDebugInformation>true</GenerateDebugInformation> |
209 | <SubSystem>Console</SubSystem> | 209 | <SubSystem>Console</SubSystem> |
210 | <DataExecutionPrevention> | 210 | <DataExecutionPrevention> |
211 | </DataExecutionPrevention> | 211 | </DataExecutionPrevention> |
212 | </Link> | 212 | </Link> |
213 | </ItemDefinitionGroup> | 213 | </ItemDefinitionGroup> |
214 | <ItemGroup> | 214 | <ItemGroup> |
215 | <ClCompile Include="main.cpp"> | 215 | <ClCompile Include="main.cpp"> |
216 | <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> | 216 | <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> |
217 | <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization> | 217 | <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization> |
218 | <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | 218 | <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
219 | <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | 219 | <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
220 | <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions> | 220 | <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions> |
221 | <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions> | 221 | <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions> |
222 | <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> | 222 | <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> |
223 | <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks> | 223 | <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks> |
224 | <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> | 224 | <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> |
225 | <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization> | 225 | <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization> |
226 | <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | 226 | <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
227 | <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | 227 | <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
228 | <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions> | 228 | <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions> |
229 | <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions> | 229 | <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions> |
230 | </ClCompile> | 230 | </ClCompile> |
231 | </ItemGroup> | 231 | </ItemGroup> |
232 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | 232 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> |
233 | <ImportGroup Label="ExtensionTargets"> | 233 | <ImportGroup Label="ExtensionTargets"> |
234 | </ImportGroup> | 234 | </ImportGroup> |
235 | </Project> \ No newline at end of file | 235 | </Project> \ No newline at end of file |
diff --git a/libraries/irrlicht-1.8/examples/09.Meshviewer/Meshviewer_vc8.vcproj b/libraries/irrlicht-1.8/examples/09.Meshviewer/Meshviewer_vc8.vcproj index 0346771..1069365 100644 --- a/libraries/irrlicht-1.8/examples/09.Meshviewer/Meshviewer_vc8.vcproj +++ b/libraries/irrlicht-1.8/examples/09.Meshviewer/Meshviewer_vc8.vcproj | |||
@@ -1,231 +1,231 @@ | |||
1 | <?xml version="1.0" encoding="Windows-1252"?> | 1 | <?xml version="1.0" encoding="Windows-1252"?> |
2 | <VisualStudioProject | 2 | <VisualStudioProject |
3 | ProjectType="Visual C++" | 3 | ProjectType="Visual C++" |
4 | Version="8.00" | 4 | Version="8.00" |
5 | Name="09.Meshviewer_vc8" | 5 | Name="09.Meshviewer_vc8" |
6 | ProjectGUID="{2AE24484-22FC-481B-9A40-7CD0DA5C8E06}" | 6 | ProjectGUID="{2AE24484-22FC-481B-9A40-7CD0DA5C8E06}" |
7 | RootNamespace="Meshviewer_vc8" | 7 | RootNamespace="Meshviewer_vc8" |
8 | > | 8 | > |
9 | <Platforms> | 9 | <Platforms> |
10 | <Platform | 10 | <Platform |
11 | Name="Win32" | 11 | Name="Win32" |
12 | /> | 12 | /> |
13 | </Platforms> | 13 | </Platforms> |
14 | <ToolFiles> | 14 | <ToolFiles> |
15 | </ToolFiles> | 15 | </ToolFiles> |
16 | <Configurations> | 16 | <Configurations> |
17 | <Configuration | 17 | <Configuration |
18 | Name="Release|Win32" | 18 | Name="Release|Win32" |
19 | OutputDirectory=".\Release" | 19 | OutputDirectory=".\Release" |
20 | IntermediateDirectory=".\Release" | 20 | IntermediateDirectory=".\Release" |
21 | ConfigurationType="1" | 21 | ConfigurationType="1" |
22 | InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" | 22 | InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" |
23 | UseOfMFC="0" | 23 | UseOfMFC="0" |
24 | ATLMinimizesCRunTimeLibraryUsage="false" | 24 | ATLMinimizesCRunTimeLibraryUsage="false" |
25 | CharacterSet="2" | 25 | CharacterSet="2" |
26 | > | 26 | > |
27 | <Tool | 27 | <Tool |
28 | Name="VCPreBuildEventTool" | 28 | Name="VCPreBuildEventTool" |
29 | /> | 29 | /> |
30 | <Tool | 30 | <Tool |
31 | Name="VCCustomBuildTool" | 31 | Name="VCCustomBuildTool" |
32 | /> | 32 | /> |
33 | <Tool | 33 | <Tool |
34 | Name="VCXMLDataGeneratorTool" | 34 | Name="VCXMLDataGeneratorTool" |
35 | /> | 35 | /> |
36 | <Tool | 36 | <Tool |
37 | Name="VCWebServiceProxyGeneratorTool" | 37 | Name="VCWebServiceProxyGeneratorTool" |
38 | /> | 38 | /> |
39 | <Tool | 39 | <Tool |
40 | Name="VCMIDLTool" | 40 | Name="VCMIDLTool" |
41 | TypeLibraryName=".\Release/Meshviewer.tlb" | 41 | TypeLibraryName=".\Release/Meshviewer.tlb" |
42 | HeaderFileName="" | 42 | HeaderFileName="" |
43 | /> | 43 | /> |
44 | <Tool | 44 | <Tool |
45 | Name="VCCLCompilerTool" | 45 | Name="VCCLCompilerTool" |
46 | Optimization="2" | 46 | Optimization="2" |
47 | InlineFunctionExpansion="1" | 47 | InlineFunctionExpansion="1" |
48 | AdditionalIncludeDirectories="..\..\include" | 48 | AdditionalIncludeDirectories="..\..\include" |
49 | PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" | 49 | PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" |
50 | StringPooling="true" | 50 | StringPooling="true" |
51 | RuntimeLibrary="0" | 51 | RuntimeLibrary="0" |
52 | EnableFunctionLevelLinking="true" | 52 | EnableFunctionLevelLinking="true" |
53 | UsePrecompiledHeader="0" | 53 | UsePrecompiledHeader="0" |
54 | PrecompiledHeaderFile=".\Release/Meshviewer.pch" | 54 | PrecompiledHeaderFile=".\Release/Meshviewer.pch" |
55 | AssemblerListingLocation=".\Release/" | 55 | AssemblerListingLocation=".\Release/" |
56 | ObjectFile=".\Release/" | 56 | ObjectFile=".\Release/" |
57 | ProgramDataBaseFileName=".\Release/" | 57 | ProgramDataBaseFileName=".\Release/" |
58 | WarningLevel="3" | 58 | WarningLevel="3" |
59 | SuppressStartupBanner="true" | 59 | SuppressStartupBanner="true" |
60 | CompileAs="0" | 60 | CompileAs="0" |
61 | /> | 61 | /> |
62 | <Tool | 62 | <Tool |
63 | Name="VCManagedResourceCompilerTool" | 63 | Name="VCManagedResourceCompilerTool" |
64 | /> | 64 | /> |
65 | <Tool | 65 | <Tool |
66 | Name="VCResourceCompilerTool" | 66 | Name="VCResourceCompilerTool" |
67 | PreprocessorDefinitions="NDEBUG" | 67 | PreprocessorDefinitions="NDEBUG" |
68 | Culture="3079" | 68 | Culture="3079" |
69 | /> | 69 | /> |
70 | <Tool | 70 | <Tool |
71 | Name="VCPreLinkEventTool" | 71 | Name="VCPreLinkEventTool" |
72 | /> | 72 | /> |
73 | <Tool | 73 | <Tool |
74 | Name="VCLinkerTool" | 74 | Name="VCLinkerTool" |
75 | OutputFile="..\..\bin\Win32-VisualStudio\09.MeshViewer.exe" | 75 | OutputFile="..\..\bin\Win32-VisualStudio\09.MeshViewer.exe" |
76 | LinkIncremental="0" | 76 | LinkIncremental="0" |
77 | SuppressStartupBanner="true" | 77 | SuppressStartupBanner="true" |
78 | AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio" | 78 | AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio" |
79 | ProgramDatabaseFile=".\Release/MeshViewer.pdb" | 79 | ProgramDatabaseFile=".\Release/MeshViewer.pdb" |
80 | SubSystem="1" | 80 | SubSystem="1" |
81 | TargetMachine="1" | 81 | TargetMachine="1" |
82 | /> | 82 | /> |
83 | <Tool | 83 | <Tool |
84 | Name="VCALinkTool" | 84 | Name="VCALinkTool" |
85 | /> | 85 | /> |
86 | <Tool | 86 | <Tool |
87 | Name="VCManifestTool" | 87 | Name="VCManifestTool" |
88 | /> | 88 | /> |
89 | <Tool | 89 | <Tool |
90 | Name="VCXDCMakeTool" | 90 | Name="VCXDCMakeTool" |
91 | /> | 91 | /> |
92 | <Tool | 92 | <Tool |
93 | Name="VCBscMakeTool" | 93 | Name="VCBscMakeTool" |
94 | /> | 94 | /> |
95 | <Tool | 95 | <Tool |
96 | Name="VCFxCopTool" | 96 | Name="VCFxCopTool" |
97 | /> | 97 | /> |
98 | <Tool | 98 | <Tool |
99 | Name="VCAppVerifierTool" | 99 | Name="VCAppVerifierTool" |
100 | /> | 100 | /> |
101 | <Tool | 101 | <Tool |
102 | Name="VCWebDeploymentTool" | 102 | Name="VCWebDeploymentTool" |
103 | /> | 103 | /> |
104 | <Tool | 104 | <Tool |
105 | Name="VCPostBuildEventTool" | 105 | Name="VCPostBuildEventTool" |
106 | /> | 106 | /> |
107 | </Configuration> | 107 | </Configuration> |
108 | <Configuration | 108 | <Configuration |
109 | Name="Debug|Win32" | 109 | Name="Debug|Win32" |
110 | OutputDirectory=".\Debug" | 110 | OutputDirectory=".\Debug" |
111 | IntermediateDirectory=".\Debug" | 111 | IntermediateDirectory=".\Debug" |
112 | ConfigurationType="1" | 112 | ConfigurationType="1" |
113 | InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" | 113 | InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" |
114 | UseOfMFC="0" | 114 | UseOfMFC="0" |
115 | ATLMinimizesCRunTimeLibraryUsage="false" | 115 | ATLMinimizesCRunTimeLibraryUsage="false" |
116 | CharacterSet="2" | 116 | CharacterSet="2" |
117 | > | 117 | > |
118 | <Tool | 118 | <Tool |
119 | Name="VCPreBuildEventTool" | 119 | Name="VCPreBuildEventTool" |
120 | /> | 120 | /> |
121 | <Tool | 121 | <Tool |
122 | Name="VCCustomBuildTool" | 122 | Name="VCCustomBuildTool" |
123 | /> | 123 | /> |
124 | <Tool | 124 | <Tool |
125 | Name="VCXMLDataGeneratorTool" | 125 | Name="VCXMLDataGeneratorTool" |
126 | /> | 126 | /> |
127 | <Tool | 127 | <Tool |
128 | Name="VCWebServiceProxyGeneratorTool" | 128 | Name="VCWebServiceProxyGeneratorTool" |
129 | /> | 129 | /> |
130 | <Tool | 130 | <Tool |
131 | Name="VCMIDLTool" | 131 | Name="VCMIDLTool" |
132 | TypeLibraryName=".\Debug/Meshviewer.tlb" | 132 | TypeLibraryName=".\Debug/Meshviewer.tlb" |
133 | HeaderFileName="" | 133 | HeaderFileName="" |
134 | /> | 134 | /> |
135 | <Tool | 135 | <Tool |
136 | Name="VCCLCompilerTool" | 136 | Name="VCCLCompilerTool" |
137 | Optimization="0" | 137 | Optimization="0" |
138 | AdditionalIncludeDirectories="..\..\include" | 138 | AdditionalIncludeDirectories="..\..\include" |
139 | PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" | 139 | PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" |
140 | BasicRuntimeChecks="3" | 140 | BasicRuntimeChecks="3" |
141 | RuntimeLibrary="1" | 141 | RuntimeLibrary="1" |
142 | UsePrecompiledHeader="0" | 142 | UsePrecompiledHeader="0" |
143 | PrecompiledHeaderFile=".\Debug/Meshviewer.pch" | 143 | PrecompiledHeaderFile=".\Debug/Meshviewer.pch" |
144 | AssemblerListingLocation=".\Debug/" | 144 | AssemblerListingLocation=".\Debug/" |
145 | ObjectFile=".\Debug/" | 145 | ObjectFile=".\Debug/" |
146 | ProgramDataBaseFileName=".\Debug/" | 146 | ProgramDataBaseFileName=".\Debug/" |
147 | WarningLevel="3" | 147 | WarningLevel="3" |
148 | SuppressStartupBanner="true" | 148 | SuppressStartupBanner="true" |
149 | DebugInformationFormat="4" | 149 | DebugInformationFormat="4" |
150 | CompileAs="0" | 150 | CompileAs="0" |
151 | /> | 151 | /> |
152 | <Tool | 152 | <Tool |
153 | Name="VCManagedResourceCompilerTool" | 153 | Name="VCManagedResourceCompilerTool" |
154 | /> | 154 | /> |
155 | <Tool | 155 | <Tool |
156 | Name="VCResourceCompilerTool" | 156 | Name="VCResourceCompilerTool" |
157 | PreprocessorDefinitions="_DEBUG" | 157 | PreprocessorDefinitions="_DEBUG" |
158 | Culture="3079" | 158 | Culture="3079" |
159 | /> | 159 | /> |
160 | <Tool | 160 | <Tool |
161 | Name="VCPreLinkEventTool" | 161 | Name="VCPreLinkEventTool" |
162 | /> | 162 | /> |
163 | <Tool | 163 | <Tool |
164 | Name="VCLinkerTool" | 164 | Name="VCLinkerTool" |
165 | OutputFile="..\..\bin\Win32-VisualStudio\09.MeshViewer.exe" | 165 | OutputFile="..\..\bin\Win32-VisualStudio\09.MeshViewer.exe" |
166 | LinkIncremental="0" | 166 | LinkIncremental="0" |
167 | SuppressStartupBanner="true" | 167 | SuppressStartupBanner="true" |
168 | AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio" | 168 | AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio" |
169 | GenerateDebugInformation="true" | 169 | GenerateDebugInformation="true" |
170 | ProgramDatabaseFile=".\Debug/MeshViewer.pdb" | 170 | ProgramDatabaseFile=".\Debug/MeshViewer.pdb" |
171 | SubSystem="1" | 171 | SubSystem="1" |
172 | TargetMachine="1" | 172 | TargetMachine="1" |
173 | /> | 173 | /> |
174 | <Tool | 174 | <Tool |
175 | Name="VCALinkTool" | 175 | Name="VCALinkTool" |
176 | /> | 176 | /> |
177 | <Tool | 177 | <Tool |
178 | Name="VCManifestTool" | 178 | Name="VCManifestTool" |
179 | /> | 179 | /> |
180 | <Tool | 180 | <Tool |
181 | Name="VCXDCMakeTool" | 181 | Name="VCXDCMakeTool" |
182 | /> | 182 | /> |
183 | <Tool | 183 | <Tool |
184 | Name="VCBscMakeTool" | 184 | Name="VCBscMakeTool" |
185 | /> | 185 | /> |
186 | <Tool | 186 | <Tool |
187 | Name="VCFxCopTool" | 187 | Name="VCFxCopTool" |
188 | /> | 188 | /> |
189 | <Tool | 189 | <Tool |
190 | Name="VCAppVerifierTool" | 190 | Name="VCAppVerifierTool" |
191 | /> | 191 | /> |
192 | <Tool | 192 | <Tool |
193 | Name="VCWebDeploymentTool" | 193 | Name="VCWebDeploymentTool" |
194 | /> | 194 | /> |
195 | <Tool | 195 | <Tool |
196 | Name="VCPostBuildEventTool" | 196 | Name="VCPostBuildEventTool" |
197 | /> | 197 | /> |
198 | </Configuration> | 198 | </Configuration> |
199 | </Configurations> | 199 | </Configurations> |
200 | <References> | 200 | <References> |
201 | </References> | 201 | </References> |
202 | <Files> | 202 | <Files> |
203 | <File | 203 | <File |
204 | RelativePath="main.cpp" | 204 | RelativePath="main.cpp" |
205 | > | 205 | > |
206 | <FileConfiguration | 206 | <FileConfiguration |
207 | Name="Release|Win32" | 207 | Name="Release|Win32" |
208 | > | 208 | > |
209 | <Tool | 209 | <Tool |
210 | Name="VCCLCompilerTool" | 210 | Name="VCCLCompilerTool" |
211 | Optimization="2" | 211 | Optimization="2" |
212 | AdditionalIncludeDirectories="" | 212 | AdditionalIncludeDirectories="" |
213 | PreprocessorDefinitions="" | 213 | PreprocessorDefinitions="" |
214 | /> | 214 | /> |
215 | </FileConfiguration> | 215 | </FileConfiguration> |
216 | <FileConfiguration | 216 | <FileConfiguration |
217 | Name="Debug|Win32" | 217 | Name="Debug|Win32" |
218 | > | 218 | > |
219 | <Tool | 219 | <Tool |
220 | Name="VCCLCompilerTool" | 220 | Name="VCCLCompilerTool" |
221 | Optimization="0" | 221 | Optimization="0" |
222 | AdditionalIncludeDirectories="" | 222 | AdditionalIncludeDirectories="" |
223 | PreprocessorDefinitions="" | 223 | PreprocessorDefinitions="" |
224 | BasicRuntimeChecks="3" | 224 | BasicRuntimeChecks="3" |
225 | /> | 225 | /> |
226 | </FileConfiguration> | 226 | </FileConfiguration> |
227 | </File> | 227 | </File> |
228 | </Files> | 228 | </Files> |
229 | <Globals> | 229 | <Globals> |
230 | </Globals> | 230 | </Globals> |
231 | </VisualStudioProject> | 231 | </VisualStudioProject> |
diff --git a/libraries/irrlicht-1.8/examples/09.Meshviewer/Meshviewer_vc9.vcproj b/libraries/irrlicht-1.8/examples/09.Meshviewer/Meshviewer_vc9.vcproj index f6a8038..09474ec 100644 --- a/libraries/irrlicht-1.8/examples/09.Meshviewer/Meshviewer_vc9.vcproj +++ b/libraries/irrlicht-1.8/examples/09.Meshviewer/Meshviewer_vc9.vcproj | |||
@@ -1,230 +1,230 @@ | |||
1 | <?xml version="1.0" encoding="Windows-1252"?> | 1 | <?xml version="1.0" encoding="Windows-1252"?> |
2 | <VisualStudioProject | 2 | <VisualStudioProject |
3 | ProjectType="Visual C++" | 3 | ProjectType="Visual C++" |
4 | Version="9,00" | 4 | Version="9,00" |
5 | Name="09.Meshviewer_vc9" | 5 | Name="09.Meshviewer_vc9" |
6 | ProjectGUID="{2AE24484-22FC-481B-9A40-7CD0DA5C8E06}" | 6 | ProjectGUID="{2AE24484-22FC-481B-9A40-7CD0DA5C8E06}" |
7 | RootNamespace="Meshviewer_vc9" | 7 | RootNamespace="Meshviewer_vc9" |
8 | TargetFrameworkVersion="131072" | 8 | TargetFrameworkVersion="131072" |
9 | > | 9 | > |
10 | <Platforms> | 10 | <Platforms> |
11 | <Platform | 11 | <Platform |
12 | Name="Win32" | 12 | Name="Win32" |
13 | /> | 13 | /> |
14 | </Platforms> | 14 | </Platforms> |
15 | <ToolFiles> | 15 | <ToolFiles> |
16 | </ToolFiles> | 16 | </ToolFiles> |
17 | <Configurations> | 17 | <Configurations> |
18 | <Configuration | 18 | <Configuration |
19 | Name="Release|Win32" | 19 | Name="Release|Win32" |
20 | OutputDirectory=".\Release" | 20 | OutputDirectory=".\Release" |
21 | IntermediateDirectory=".\Release" | 21 | IntermediateDirectory=".\Release" |
22 | ConfigurationType="1" | 22 | ConfigurationType="1" |
23 | InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" | 23 | InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" |
24 | UseOfMFC="0" | 24 | UseOfMFC="0" |
25 | ATLMinimizesCRunTimeLibraryUsage="false" | 25 | ATLMinimizesCRunTimeLibraryUsage="false" |
26 | CharacterSet="2" | 26 | CharacterSet="2" |
27 | > | 27 | > |
28 | <Tool | 28 | <Tool |
29 | Name="VCPreBuildEventTool" | 29 | Name="VCPreBuildEventTool" |
30 | /> | 30 | /> |
31 | <Tool | 31 | <Tool |
32 | Name="VCCustomBuildTool" | 32 | Name="VCCustomBuildTool" |
33 | /> | 33 | /> |
34 | <Tool | 34 | <Tool |
35 | Name="VCXMLDataGeneratorTool" | 35 | Name="VCXMLDataGeneratorTool" |
36 | /> | 36 | /> |
37 | <Tool | 37 | <Tool |
38 | Name="VCWebServiceProxyGeneratorTool" | 38 | Name="VCWebServiceProxyGeneratorTool" |
39 | /> | 39 | /> |
40 | <Tool | 40 | <Tool |
41 | Name="VCMIDLTool" | 41 | Name="VCMIDLTool" |
42 | TypeLibraryName=".\Release/Meshviewer.tlb" | 42 | TypeLibraryName=".\Release/Meshviewer.tlb" |
43 | HeaderFileName="" | 43 | HeaderFileName="" |
44 | /> | 44 | /> |
45 | <Tool | 45 | <Tool |
46 | Name="VCCLCompilerTool" | 46 | Name="VCCLCompilerTool" |
47 | Optimization="2" | 47 | Optimization="2" |
48 | InlineFunctionExpansion="1" | 48 | InlineFunctionExpansion="1" |
49 | AdditionalIncludeDirectories="..\..\include" | 49 | AdditionalIncludeDirectories="..\..\include" |
50 | PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" | 50 | PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" |
51 | StringPooling="true" | 51 | StringPooling="true" |
52 | RuntimeLibrary="0" | 52 | RuntimeLibrary="0" |
53 | EnableFunctionLevelLinking="true" | 53 | EnableFunctionLevelLinking="true" |
54 | UsePrecompiledHeader="0" | 54 | UsePrecompiledHeader="0" |
55 | PrecompiledHeaderFile=".\Release/Meshviewer.pch" | 55 | PrecompiledHeaderFile=".\Release/Meshviewer.pch" |
56 | AssemblerListingLocation=".\Release/" | 56 | AssemblerListingLocation=".\Release/" |
57 | ObjectFile=".\Release/" | 57 | ObjectFile=".\Release/" |
58 | ProgramDataBaseFileName=".\Release/" | 58 | ProgramDataBaseFileName=".\Release/" |
59 | WarningLevel="3" | 59 | WarningLevel="3" |
60 | SuppressStartupBanner="true" | 60 | SuppressStartupBanner="true" |
61 | CompileAs="0" | 61 | CompileAs="0" |
62 | /> | 62 | /> |
63 | <Tool | 63 | <Tool |
64 | Name="VCManagedResourceCompilerTool" | 64 | Name="VCManagedResourceCompilerTool" |
65 | /> | 65 | /> |
66 | <Tool | 66 | <Tool |
67 | Name="VCResourceCompilerTool" | 67 | Name="VCResourceCompilerTool" |
68 | PreprocessorDefinitions="NDEBUG" | 68 | PreprocessorDefinitions="NDEBUG" |
69 | Culture="3079" | 69 | Culture="3079" |
70 | /> | 70 | /> |
71 | <Tool | 71 | <Tool |
72 | Name="VCPreLinkEventTool" | 72 | Name="VCPreLinkEventTool" |
73 | /> | 73 | /> |
74 | <Tool | 74 | <Tool |
75 | Name="VCLinkerTool" | 75 | Name="VCLinkerTool" |
76 | OutputFile="..\..\bin\Win32-VisualStudio\09.MeshViewer.exe" | 76 | OutputFile="..\..\bin\Win32-VisualStudio\09.MeshViewer.exe" |
77 | LinkIncremental="0" | 77 | LinkIncremental="0" |
78 | SuppressStartupBanner="true" | 78 | SuppressStartupBanner="true" |
79 | AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio" | 79 | AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio" |
80 | ProgramDatabaseFile=".\Release/MeshViewer.pdb" | 80 | ProgramDatabaseFile=".\Release/MeshViewer.pdb" |
81 | SubSystem="1" | 81 | SubSystem="1" |
82 | RandomizedBaseAddress="1" | 82 | RandomizedBaseAddress="1" |
83 | DataExecutionPrevention="0" | 83 | DataExecutionPrevention="0" |
84 | TargetMachine="1" | 84 | TargetMachine="1" |
85 | /> | 85 | /> |
86 | <Tool | 86 | <Tool |
87 | Name="VCALinkTool" | 87 | Name="VCALinkTool" |
88 | /> | 88 | /> |
89 | <Tool | 89 | <Tool |
90 | Name="VCManifestTool" | 90 | Name="VCManifestTool" |
91 | /> | 91 | /> |
92 | <Tool | 92 | <Tool |
93 | Name="VCXDCMakeTool" | 93 | Name="VCXDCMakeTool" |
94 | /> | 94 | /> |
95 | <Tool | 95 | <Tool |
96 | Name="VCBscMakeTool" | 96 | Name="VCBscMakeTool" |
97 | /> | 97 | /> |
98 | <Tool | 98 | <Tool |
99 | Name="VCFxCopTool" | 99 | Name="VCFxCopTool" |
100 | /> | 100 | /> |
101 | <Tool | 101 | <Tool |
102 | Name="VCAppVerifierTool" | 102 | Name="VCAppVerifierTool" |
103 | /> | 103 | /> |
104 | <Tool | 104 | <Tool |
105 | Name="VCPostBuildEventTool" | 105 | Name="VCPostBuildEventTool" |
106 | /> | 106 | /> |
107 | </Configuration> | 107 | </Configuration> |
108 | <Configuration | 108 | <Configuration |
109 | Name="Debug|Win32" | 109 | Name="Debug|Win32" |
110 | OutputDirectory=".\Debug" | 110 | OutputDirectory=".\Debug" |
111 | IntermediateDirectory=".\Debug" | 111 | IntermediateDirectory=".\Debug" |
112 | ConfigurationType="1" | 112 | ConfigurationType="1" |
113 | InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" | 113 | InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" |
114 | UseOfMFC="0" | 114 | UseOfMFC="0" |
115 | ATLMinimizesCRunTimeLibraryUsage="false" | 115 | ATLMinimizesCRunTimeLibraryUsage="false" |
116 | CharacterSet="2" | 116 | CharacterSet="2" |
117 | > | 117 | > |
118 | <Tool | 118 | <Tool |
119 | Name="VCPreBuildEventTool" | 119 | Name="VCPreBuildEventTool" |
120 | /> | 120 | /> |
121 | <Tool | 121 | <Tool |
122 | Name="VCCustomBuildTool" | 122 | Name="VCCustomBuildTool" |
123 | /> | 123 | /> |
124 | <Tool | 124 | <Tool |
125 | Name="VCXMLDataGeneratorTool" | 125 | Name="VCXMLDataGeneratorTool" |
126 | /> | 126 | /> |
127 | <Tool | 127 | <Tool |
128 | Name="VCWebServiceProxyGeneratorTool" | 128 | Name="VCWebServiceProxyGeneratorTool" |
129 | /> | 129 | /> |
130 | <Tool | 130 | <Tool |
131 | Name="VCMIDLTool" | 131 | Name="VCMIDLTool" |
132 | TypeLibraryName=".\Debug/Meshviewer.tlb" | 132 | TypeLibraryName=".\Debug/Meshviewer.tlb" |
133 | HeaderFileName="" | 133 | HeaderFileName="" |
134 | /> | 134 | /> |
135 | <Tool | 135 | <Tool |
136 | Name="VCCLCompilerTool" | 136 | Name="VCCLCompilerTool" |
137 | Optimization="0" | 137 | Optimization="0" |
138 | AdditionalIncludeDirectories="..\..\include" | 138 | AdditionalIncludeDirectories="..\..\include" |
139 | PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" | 139 | PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" |
140 | BasicRuntimeChecks="3" | 140 | BasicRuntimeChecks="3" |
141 | RuntimeLibrary="1" | 141 | RuntimeLibrary="1" |
142 | UsePrecompiledHeader="0" | 142 | UsePrecompiledHeader="0" |
143 | PrecompiledHeaderFile=".\Debug/Meshviewer.pch" | 143 | PrecompiledHeaderFile=".\Debug/Meshviewer.pch" |
144 | AssemblerListingLocation=".\Debug/" | 144 | AssemblerListingLocation=".\Debug/" |
145 | ObjectFile=".\Debug/" | 145 | ObjectFile=".\Debug/" |
146 | ProgramDataBaseFileName=".\Debug/" | 146 | ProgramDataBaseFileName=".\Debug/" |
147 | WarningLevel="3" | 147 | WarningLevel="3" |
148 | SuppressStartupBanner="true" | 148 | SuppressStartupBanner="true" |
149 | DebugInformationFormat="4" | 149 | DebugInformationFormat="4" |
150 | CompileAs="0" | 150 | CompileAs="0" |
151 | /> | 151 | /> |
152 | <Tool | 152 | <Tool |
153 | Name="VCManagedResourceCompilerTool" | 153 | Name="VCManagedResourceCompilerTool" |
154 | /> | 154 | /> |
155 | <Tool | 155 | <Tool |
156 | Name="VCResourceCompilerTool" | 156 | Name="VCResourceCompilerTool" |
157 | PreprocessorDefinitions="_DEBUG" | 157 | PreprocessorDefinitions="_DEBUG" |
158 | Culture="3079" | 158 | Culture="3079" |
159 | /> | 159 | /> |
160 | <Tool | 160 | <Tool |
161 | Name="VCPreLinkEventTool" | 161 | Name="VCPreLinkEventTool" |
162 | /> | 162 | /> |
163 | <Tool | 163 | <Tool |
164 | Name="VCLinkerTool" | 164 | Name="VCLinkerTool" |
165 | OutputFile="..\..\bin\Win32-VisualStudio\09.MeshViewer.exe" | 165 | OutputFile="..\..\bin\Win32-VisualStudio\09.MeshViewer.exe" |
166 | LinkIncremental="0" | 166 | LinkIncremental="0" |
167 | SuppressStartupBanner="true" | 167 | SuppressStartupBanner="true" |
168 | AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio" | 168 | AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio" |
169 | GenerateDebugInformation="true" | 169 | GenerateDebugInformation="true" |
170 | ProgramDatabaseFile=".\Debug/MeshViewer.pdb" | 170 | ProgramDatabaseFile=".\Debug/MeshViewer.pdb" |
171 | SubSystem="1" | 171 | SubSystem="1" |
172 | RandomizedBaseAddress="1" | 172 | RandomizedBaseAddress="1" |
173 | DataExecutionPrevention="0" | 173 | DataExecutionPrevention="0" |
174 | TargetMachine="1" | 174 | TargetMachine="1" |
175 | /> | 175 | /> |
176 | <Tool | 176 | <Tool |
177 | Name="VCALinkTool" | 177 | Name="VCALinkTool" |
178 | /> | 178 | /> |
179 | <Tool | 179 | <Tool |
180 | Name="VCManifestTool" | 180 | Name="VCManifestTool" |
181 | /> | 181 | /> |
182 | <Tool | 182 | <Tool |
183 | Name="VCXDCMakeTool" | 183 | Name="VCXDCMakeTool" |
184 | /> | 184 | /> |
185 | <Tool | 185 | <Tool |
186 | Name="VCBscMakeTool" | 186 | Name="VCBscMakeTool" |
187 | /> | 187 | /> |
188 | <Tool | 188 | <Tool |
189 | Name="VCFxCopTool" | 189 | Name="VCFxCopTool" |
190 | /> | 190 | /> |
191 | <Tool | 191 | <Tool |
192 | Name="VCAppVerifierTool" | 192 | Name="VCAppVerifierTool" |
193 | /> | 193 | /> |
194 | <Tool | 194 | <Tool |
195 | Name="VCPostBuildEventTool" | 195 | Name="VCPostBuildEventTool" |
196 | /> | 196 | /> |
197 | </Configuration> | 197 | </Configuration> |
198 | </Configurations> | 198 | </Configurations> |
199 | <References> | 199 | <References> |
200 | </References> | 200 | </References> |
201 | <Files> | 201 | <Files> |
202 | <File | 202 | <File |
203 | RelativePath="main.cpp" | 203 | RelativePath="main.cpp" |
204 | > | 204 | > |
205 | <FileConfiguration | 205 | <FileConfiguration |
206 | Name="Release|Win32" | 206 | Name="Release|Win32" |
207 | > | 207 | > |
208 | <Tool | 208 | <Tool |
209 | Name="VCCLCompilerTool" | 209 | Name="VCCLCompilerTool" |
210 | Optimization="2" | 210 | Optimization="2" |
211 | AdditionalIncludeDirectories="" | 211 | AdditionalIncludeDirectories="" |
212 | PreprocessorDefinitions="" | 212 | PreprocessorDefinitions="" |
213 | /> | 213 | /> |
214 | </FileConfiguration> | 214 | </FileConfiguration> |
215 | <FileConfiguration | 215 | <FileConfiguration |
216 | Name="Debug|Win32" | 216 | Name="Debug|Win32" |
217 | > | 217 | > |
218 | <Tool | 218 | <Tool |
219 | Name="VCCLCompilerTool" | 219 | Name="VCCLCompilerTool" |
220 | Optimization="0" | 220 | Optimization="0" |
221 | AdditionalIncludeDirectories="" | 221 | AdditionalIncludeDirectories="" |
222 | PreprocessorDefinitions="" | 222 | PreprocessorDefinitions="" |
223 | BasicRuntimeChecks="3" | 223 | BasicRuntimeChecks="3" |
224 | /> | 224 | /> |
225 | </FileConfiguration> | 225 | </FileConfiguration> |
226 | </File> | 226 | </File> |
227 | </Files> | 227 | </Files> |
228 | <Globals> | 228 | <Globals> |
229 | </Globals> | 229 | </Globals> |
230 | </VisualStudioProject> | 230 | </VisualStudioProject> |
diff --git a/libraries/irrlicht-1.8/examples/09.Meshviewer/main.cpp b/libraries/irrlicht-1.8/examples/09.Meshviewer/main.cpp index b9dc550..60592d4 100644 --- a/libraries/irrlicht-1.8/examples/09.Meshviewer/main.cpp +++ b/libraries/irrlicht-1.8/examples/09.Meshviewer/main.cpp | |||
@@ -1,1042 +1,1042 @@ | |||
1 | /** Example 009 Mesh Viewer | 1 | /** Example 009 Mesh Viewer |
2 | 2 | ||
3 | This tutorial show how to create a more complex application with the engine. | 3 | This tutorial show how to create a more complex application with the engine. |
4 | We construct a simple mesh viewer using the user interface API and the | 4 | We construct a simple mesh viewer using the user interface API and the |
5 | scene management of Irrlicht. The tutorial show how to create and use Buttons, | 5 | scene management of Irrlicht. The tutorial show how to create and use Buttons, |
6 | Windows, Toolbars, Menus, ComboBoxes, Tabcontrols, Editboxes, Images, | 6 | Windows, Toolbars, Menus, ComboBoxes, Tabcontrols, Editboxes, Images, |
7 | MessageBoxes, SkyBoxes, and how to parse XML files with the integrated XML | 7 | MessageBoxes, SkyBoxes, and how to parse XML files with the integrated XML |
8 | reader of the engine. | 8 | reader of the engine. |
9 | 9 | ||
10 | We start like in most other tutorials: Include all necessary header files, add | 10 | We start like in most other tutorials: Include all necessary header files, add |
11 | a comment to let the engine be linked with the right .lib file in Visual | 11 | a comment to let the engine be linked with the right .lib file in Visual |
12 | Studio, and declare some global variables. We also add two 'using namespace' | 12 | Studio, and declare some global variables. We also add two 'using namespace' |
13 | statements, so we do not need to write the whole names of all classes. In this | 13 | statements, so we do not need to write the whole names of all classes. In this |
14 | tutorial, we use a lot stuff from the gui namespace. | 14 | tutorial, we use a lot stuff from the gui namespace. |
15 | */ | 15 | */ |
16 | #include <irrlicht.h> | 16 | #include <irrlicht.h> |
17 | #include "driverChoice.h" | 17 | #include "driverChoice.h" |
18 | 18 | ||
19 | using namespace irr; | 19 | using namespace irr; |
20 | using namespace gui; | 20 | using namespace gui; |
21 | 21 | ||
22 | #ifdef _MSC_VER | 22 | #ifdef _MSC_VER |
23 | #pragma comment(lib, "Irrlicht.lib") | 23 | #pragma comment(lib, "Irrlicht.lib") |
24 | #endif | 24 | #endif |
25 | 25 | ||
26 | 26 | ||
27 | /* | 27 | /* |
28 | Some global variables used later on | 28 | Some global variables used later on |
29 | */ | 29 | */ |
30 | IrrlichtDevice *Device = 0; | 30 | IrrlichtDevice *Device = 0; |
31 | core::stringc StartUpModelFile; | 31 | core::stringc StartUpModelFile; |
32 | core::stringw MessageText; | 32 | core::stringw MessageText; |
33 | core::stringw Caption; | 33 | core::stringw Caption; |
34 | scene::ISceneNode* Model = 0; | 34 | scene::ISceneNode* Model = 0; |
35 | scene::ISceneNode* SkyBox = 0; | 35 | scene::ISceneNode* SkyBox = 0; |
36 | bool Octree=false; | 36 | bool Octree=false; |
37 | bool UseLight=false; | 37 | bool UseLight=false; |
38 | 38 | ||
39 | scene::ICameraSceneNode* Camera[2] = {0, 0}; | 39 | scene::ICameraSceneNode* Camera[2] = {0, 0}; |
40 | 40 | ||
41 | // Values used to identify individual GUI elements | 41 | // Values used to identify individual GUI elements |
42 | enum | 42 | enum |
43 | { | 43 | { |
44 | GUI_ID_DIALOG_ROOT_WINDOW = 0x10000, | 44 | GUI_ID_DIALOG_ROOT_WINDOW = 0x10000, |
45 | 45 | ||
46 | GUI_ID_X_SCALE, | 46 | GUI_ID_X_SCALE, |
47 | GUI_ID_Y_SCALE, | 47 | GUI_ID_Y_SCALE, |
48 | GUI_ID_Z_SCALE, | 48 | GUI_ID_Z_SCALE, |
49 | 49 | ||
50 | GUI_ID_OPEN_MODEL, | 50 | GUI_ID_OPEN_MODEL, |
51 | GUI_ID_SET_MODEL_ARCHIVE, | 51 | GUI_ID_SET_MODEL_ARCHIVE, |
52 | GUI_ID_LOAD_AS_OCTREE, | 52 | GUI_ID_LOAD_AS_OCTREE, |
53 | 53 | ||
54 | GUI_ID_SKY_BOX_VISIBLE, | 54 | GUI_ID_SKY_BOX_VISIBLE, |
55 | GUI_ID_TOGGLE_DEBUG_INFO, | 55 | GUI_ID_TOGGLE_DEBUG_INFO, |
56 | 56 | ||
57 | GUI_ID_DEBUG_OFF, | 57 | GUI_ID_DEBUG_OFF, |
58 | GUI_ID_DEBUG_BOUNDING_BOX, | 58 | GUI_ID_DEBUG_BOUNDING_BOX, |
59 | GUI_ID_DEBUG_NORMALS, | 59 | GUI_ID_DEBUG_NORMALS, |
60 | GUI_ID_DEBUG_SKELETON, | 60 | GUI_ID_DEBUG_SKELETON, |
61 | GUI_ID_DEBUG_WIRE_OVERLAY, | 61 | GUI_ID_DEBUG_WIRE_OVERLAY, |
62 | GUI_ID_DEBUG_HALF_TRANSPARENT, | 62 | GUI_ID_DEBUG_HALF_TRANSPARENT, |
63 | GUI_ID_DEBUG_BUFFERS_BOUNDING_BOXES, | 63 | GUI_ID_DEBUG_BUFFERS_BOUNDING_BOXES, |
64 | GUI_ID_DEBUG_ALL, | 64 | GUI_ID_DEBUG_ALL, |
65 | 65 | ||
66 | GUI_ID_MODEL_MATERIAL_SOLID, | 66 | GUI_ID_MODEL_MATERIAL_SOLID, |
67 | GUI_ID_MODEL_MATERIAL_TRANSPARENT, | 67 | GUI_ID_MODEL_MATERIAL_TRANSPARENT, |
68 | GUI_ID_MODEL_MATERIAL_REFLECTION, | 68 | GUI_ID_MODEL_MATERIAL_REFLECTION, |
69 | 69 | ||
70 | GUI_ID_CAMERA_MAYA, | 70 | GUI_ID_CAMERA_MAYA, |
71 | GUI_ID_CAMERA_FIRST_PERSON, | 71 | GUI_ID_CAMERA_FIRST_PERSON, |
72 | 72 | ||
73 | GUI_ID_POSITION_TEXT, | 73 | GUI_ID_POSITION_TEXT, |
74 | 74 | ||
75 | GUI_ID_ABOUT, | 75 | GUI_ID_ABOUT, |
76 | GUI_ID_QUIT, | 76 | GUI_ID_QUIT, |
77 | 77 | ||
78 | GUI_ID_TEXTUREFILTER, | 78 | GUI_ID_TEXTUREFILTER, |
79 | GUI_ID_SKIN_TRANSPARENCY, | 79 | GUI_ID_SKIN_TRANSPARENCY, |
80 | GUI_ID_SKIN_ANIMATION_FPS, | 80 | GUI_ID_SKIN_ANIMATION_FPS, |
81 | 81 | ||
82 | GUI_ID_BUTTON_SET_SCALE, | 82 | GUI_ID_BUTTON_SET_SCALE, |
83 | GUI_ID_BUTTON_SCALE_MUL10, | 83 | GUI_ID_BUTTON_SCALE_MUL10, |
84 | GUI_ID_BUTTON_SCALE_DIV10, | 84 | GUI_ID_BUTTON_SCALE_DIV10, |
85 | GUI_ID_BUTTON_OPEN_MODEL, | 85 | GUI_ID_BUTTON_OPEN_MODEL, |
86 | GUI_ID_BUTTON_SHOW_ABOUT, | 86 | GUI_ID_BUTTON_SHOW_ABOUT, |
87 | GUI_ID_BUTTON_SHOW_TOOLBOX, | 87 | GUI_ID_BUTTON_SHOW_TOOLBOX, |
88 | GUI_ID_BUTTON_SELECT_ARCHIVE, | 88 | GUI_ID_BUTTON_SELECT_ARCHIVE, |
89 | 89 | ||
90 | GUI_ID_ANIMATION_INFO, | 90 | GUI_ID_ANIMATION_INFO, |
91 | 91 | ||
92 | // And some magic numbers | 92 | // And some magic numbers |
93 | MAX_FRAMERATE = 80, | 93 | MAX_FRAMERATE = 80, |
94 | DEFAULT_FRAMERATE = 30 | 94 | DEFAULT_FRAMERATE = 30 |
95 | }; | 95 | }; |
96 | 96 | ||
97 | 97 | ||
98 | /* | 98 | /* |
99 | Toggle between various cameras | 99 | Toggle between various cameras |
100 | */ | 100 | */ |
101 | void setActiveCamera(scene::ICameraSceneNode* newActive) | 101 | void setActiveCamera(scene::ICameraSceneNode* newActive) |
102 | { | 102 | { |
103 | if (0 == Device) | 103 | if (0 == Device) |
104 | return; | 104 | return; |
105 | 105 | ||
106 | scene::ICameraSceneNode * active = Device->getSceneManager()->getActiveCamera(); | 106 | scene::ICameraSceneNode * active = Device->getSceneManager()->getActiveCamera(); |
107 | active->setInputReceiverEnabled(false); | 107 | active->setInputReceiverEnabled(false); |
108 | 108 | ||
109 | newActive->setInputReceiverEnabled(true); | 109 | newActive->setInputReceiverEnabled(true); |
110 | Device->getSceneManager()->setActiveCamera(newActive); | 110 | Device->getSceneManager()->setActiveCamera(newActive); |
111 | } | 111 | } |
112 | 112 | ||
113 | /* | 113 | /* |
114 | Set the skin transparency by changing the alpha values of all skin-colors | 114 | Set the skin transparency by changing the alpha values of all skin-colors |
115 | */ | 115 | */ |
116 | void setSkinTransparency(s32 alpha, irr::gui::IGUISkin * skin) | 116 | void setSkinTransparency(s32 alpha, irr::gui::IGUISkin * skin) |
117 | { | 117 | { |
118 | for (s32 i=0; i<irr::gui::EGDC_COUNT ; ++i) | 118 | for (s32 i=0; i<irr::gui::EGDC_COUNT ; ++i) |
119 | { | 119 | { |
120 | video::SColor col = skin->getColor((EGUI_DEFAULT_COLOR)i); | 120 | video::SColor col = skin->getColor((EGUI_DEFAULT_COLOR)i); |
121 | col.setAlpha(alpha); | 121 | col.setAlpha(alpha); |
122 | skin->setColor((EGUI_DEFAULT_COLOR)i, col); | 122 | skin->setColor((EGUI_DEFAULT_COLOR)i, col); |
123 | } | 123 | } |
124 | } | 124 | } |
125 | 125 | ||
126 | /* | 126 | /* |
127 | Update the display of the model scaling | 127 | Update the display of the model scaling |
128 | */ | 128 | */ |
129 | void updateScaleInfo(scene::ISceneNode* model) | 129 | void updateScaleInfo(scene::ISceneNode* model) |
130 | { | 130 | { |
131 | IGUIElement* toolboxWnd = Device->getGUIEnvironment()->getRootGUIElement()->getElementFromId(GUI_ID_DIALOG_ROOT_WINDOW, true); | 131 | IGUIElement* toolboxWnd = Device->getGUIEnvironment()->getRootGUIElement()->getElementFromId(GUI_ID_DIALOG_ROOT_WINDOW, true); |
132 | if (!toolboxWnd) | 132 | if (!toolboxWnd) |
133 | return; | 133 | return; |
134 | if (!model) | 134 | if (!model) |
135 | { | 135 | { |
136 | toolboxWnd->getElementFromId(GUI_ID_X_SCALE, true)->setText( L"-" ); | 136 | toolboxWnd->getElementFromId(GUI_ID_X_SCALE, true)->setText( L"-" ); |
137 | toolboxWnd->getElementFromId(GUI_ID_Y_SCALE, true)->setText( L"-" ); | 137 | toolboxWnd->getElementFromId(GUI_ID_Y_SCALE, true)->setText( L"-" ); |
138 | toolboxWnd->getElementFromId(GUI_ID_Z_SCALE, true)->setText( L"-" ); | 138 | toolboxWnd->getElementFromId(GUI_ID_Z_SCALE, true)->setText( L"-" ); |
139 | } | 139 | } |
140 | else | 140 | else |
141 | { | 141 | { |
142 | core::vector3df scale = model->getScale(); | 142 | core::vector3df scale = model->getScale(); |
143 | toolboxWnd->getElementFromId(GUI_ID_X_SCALE, true)->setText( core::stringw(scale.X).c_str() ); | 143 | toolboxWnd->getElementFromId(GUI_ID_X_SCALE, true)->setText( core::stringw(scale.X).c_str() ); |
144 | toolboxWnd->getElementFromId(GUI_ID_Y_SCALE, true)->setText( core::stringw(scale.Y).c_str() ); | 144 | toolboxWnd->getElementFromId(GUI_ID_Y_SCALE, true)->setText( core::stringw(scale.Y).c_str() ); |
145 | toolboxWnd->getElementFromId(GUI_ID_Z_SCALE, true)->setText( core::stringw(scale.Z).c_str() ); | 145 | toolboxWnd->getElementFromId(GUI_ID_Z_SCALE, true)->setText( core::stringw(scale.Z).c_str() ); |
146 | } | 146 | } |
147 | } | 147 | } |
148 | 148 | ||
149 | /* | 149 | /* |
150 | Function showAboutText() displays a messagebox with a caption and | 150 | Function showAboutText() displays a messagebox with a caption and |
151 | a message text. The texts will be stored in the MessageText and Caption | 151 | a message text. The texts will be stored in the MessageText and Caption |
152 | variables at startup. | 152 | variables at startup. |
153 | */ | 153 | */ |
154 | void showAboutText() | 154 | void showAboutText() |
155 | { | 155 | { |
156 | // create modal message box with the text | 156 | // create modal message box with the text |
157 | // loaded from the xml file. | 157 | // loaded from the xml file. |
158 | Device->getGUIEnvironment()->addMessageBox( | 158 | Device->getGUIEnvironment()->addMessageBox( |
159 | Caption.c_str(), MessageText.c_str()); | 159 | Caption.c_str(), MessageText.c_str()); |
160 | } | 160 | } |
161 | 161 | ||
162 | 162 | ||
163 | /* | 163 | /* |
164 | Function loadModel() loads a model and displays it using an | 164 | Function loadModel() loads a model and displays it using an |
165 | addAnimatedMeshSceneNode and the scene manager. Nothing difficult. It also | 165 | addAnimatedMeshSceneNode and the scene manager. Nothing difficult. It also |
166 | displays a short message box, if the model could not be loaded. | 166 | displays a short message box, if the model could not be loaded. |
167 | */ | 167 | */ |
168 | void loadModel(const c8* fn) | 168 | void loadModel(const c8* fn) |
169 | { | 169 | { |
170 | // modify the name if it a .pk3 file | 170 | // modify the name if it a .pk3 file |
171 | 171 | ||
172 | io::path filename(fn); | 172 | io::path filename(fn); |
173 | 173 | ||
174 | io::path extension; | 174 | io::path extension; |
175 | core::getFileNameExtension(extension, filename); | 175 | core::getFileNameExtension(extension, filename); |
176 | extension.make_lower(); | 176 | extension.make_lower(); |
177 | 177 | ||
178 | // if a texture is loaded apply it to the current model.. | 178 | // if a texture is loaded apply it to the current model.. |
179 | if (extension == ".jpg" || extension == ".pcx" || | 179 | if (extension == ".jpg" || extension == ".pcx" || |
180 | extension == ".png" || extension == ".ppm" || | 180 | extension == ".png" || extension == ".ppm" || |
181 | extension == ".pgm" || extension == ".pbm" || | 181 | extension == ".pgm" || extension == ".pbm" || |
182 | extension == ".psd" || extension == ".tga" || | 182 | extension == ".psd" || extension == ".tga" || |
183 | extension == ".bmp" || extension == ".wal" || | 183 | extension == ".bmp" || extension == ".wal" || |
184 | extension == ".rgb" || extension == ".rgba") | 184 | extension == ".rgb" || extension == ".rgba") |
185 | { | 185 | { |
186 | video::ITexture * texture = | 186 | video::ITexture * texture = |
187 | Device->getVideoDriver()->getTexture( filename ); | 187 | Device->getVideoDriver()->getTexture( filename ); |
188 | if ( texture && Model ) | 188 | if ( texture && Model ) |
189 | { | 189 | { |
190 | // always reload texture | 190 | // always reload texture |
191 | Device->getVideoDriver()->removeTexture(texture); | 191 | Device->getVideoDriver()->removeTexture(texture); |
192 | texture = Device->getVideoDriver()->getTexture( filename ); | 192 | texture = Device->getVideoDriver()->getTexture( filename ); |
193 | 193 | ||
194 | Model->setMaterialTexture(0, texture); | 194 | Model->setMaterialTexture(0, texture); |
195 | } | 195 | } |
196 | return; | 196 | return; |
197 | } | 197 | } |
198 | // if a archive is loaded add it to the FileArchive.. | 198 | // if a archive is loaded add it to the FileArchive.. |
199 | else if (extension == ".pk3" || extension == ".zip" || extension == ".pak" || extension == ".npk") | 199 | else if (extension == ".pk3" || extension == ".zip" || extension == ".pak" || extension == ".npk") |
200 | { | 200 | { |
201 | Device->getFileSystem()->addFileArchive(filename.c_str()); | 201 | Device->getFileSystem()->addFileArchive(filename.c_str()); |
202 | return; | 202 | return; |
203 | } | 203 | } |
204 | 204 | ||
205 | // load a model into the engine | 205 | // load a model into the engine |
206 | 206 | ||
207 | if (Model) | 207 | if (Model) |
208 | Model->remove(); | 208 | Model->remove(); |
209 | 209 | ||
210 | Model = 0; | 210 | Model = 0; |
211 | 211 | ||
212 | if (extension==".irr") | 212 | if (extension==".irr") |
213 | { | 213 | { |
214 | core::array<scene::ISceneNode*> outNodes; | 214 | core::array<scene::ISceneNode*> outNodes; |
215 | Device->getSceneManager()->loadScene(filename); | 215 | Device->getSceneManager()->loadScene(filename); |
216 | Device->getSceneManager()->getSceneNodesFromType(scene::ESNT_ANIMATED_MESH, outNodes); | 216 | Device->getSceneManager()->getSceneNodesFromType(scene::ESNT_ANIMATED_MESH, outNodes); |
217 | if (outNodes.size()) | 217 | if (outNodes.size()) |
218 | Model = outNodes[0]; | 218 | Model = outNodes[0]; |
219 | return; | 219 | return; |
220 | } | 220 | } |
221 | 221 | ||
222 | scene::IAnimatedMesh* m = Device->getSceneManager()->getMesh( filename.c_str() ); | 222 | scene::IAnimatedMesh* m = Device->getSceneManager()->getMesh( filename.c_str() ); |
223 | 223 | ||
224 | if (!m) | 224 | if (!m) |
225 | { | 225 | { |
226 | // model could not be loaded | 226 | // model could not be loaded |
227 | 227 | ||
228 | if (StartUpModelFile != filename) | 228 | if (StartUpModelFile != filename) |
229 | Device->getGUIEnvironment()->addMessageBox( | 229 | Device->getGUIEnvironment()->addMessageBox( |
230 | Caption.c_str(), L"The model could not be loaded. " \ | 230 | Caption.c_str(), L"The model could not be loaded. " \ |
231 | L"Maybe it is not a supported file format."); | 231 | L"Maybe it is not a supported file format."); |
232 | return; | 232 | return; |
233 | } | 233 | } |
234 | 234 | ||
235 | // set default material properties | 235 | // set default material properties |
236 | 236 | ||
237 | if (Octree) | 237 | if (Octree) |
238 | Model = Device->getSceneManager()->addOctreeSceneNode(m->getMesh(0)); | 238 | Model = Device->getSceneManager()->addOctreeSceneNode(m->getMesh(0)); |
239 | else | 239 | else |
240 | { | 240 | { |
241 | scene::IAnimatedMeshSceneNode* animModel = Device->getSceneManager()->addAnimatedMeshSceneNode(m); | 241 | scene::IAnimatedMeshSceneNode* animModel = Device->getSceneManager()->addAnimatedMeshSceneNode(m); |
242 | animModel->setAnimationSpeed(30); | 242 | animModel->setAnimationSpeed(30); |
243 | Model = animModel; | 243 | Model = animModel; |
244 | } | 244 | } |
245 | Model->setMaterialFlag(video::EMF_LIGHTING, UseLight); | 245 | Model->setMaterialFlag(video::EMF_LIGHTING, UseLight); |
246 | Model->setMaterialFlag(video::EMF_NORMALIZE_NORMALS, UseLight); | 246 | Model->setMaterialFlag(video::EMF_NORMALIZE_NORMALS, UseLight); |
247 | // Model->setMaterialFlag(video::EMF_BACK_FACE_CULLING, false); | 247 | // Model->setMaterialFlag(video::EMF_BACK_FACE_CULLING, false); |
248 | Model->setDebugDataVisible(scene::EDS_OFF); | 248 | Model->setDebugDataVisible(scene::EDS_OFF); |
249 | 249 | ||
250 | // we need to uncheck the menu entries. would be cool to fake a menu event, but | 250 | // we need to uncheck the menu entries. would be cool to fake a menu event, but |
251 | // that's not so simple. so we do it brute force | 251 | // that's not so simple. so we do it brute force |
252 | gui::IGUIContextMenu* menu = (gui::IGUIContextMenu*)Device->getGUIEnvironment()->getRootGUIElement()->getElementFromId(GUI_ID_TOGGLE_DEBUG_INFO, true); | 252 | gui::IGUIContextMenu* menu = (gui::IGUIContextMenu*)Device->getGUIEnvironment()->getRootGUIElement()->getElementFromId(GUI_ID_TOGGLE_DEBUG_INFO, true); |
253 | if (menu) | 253 | if (menu) |
254 | for(int item = 1; item < 6; ++item) | 254 | for(int item = 1; item < 6; ++item) |
255 | menu->setItemChecked(item, false); | 255 | menu->setItemChecked(item, false); |
256 | updateScaleInfo(Model); | 256 | updateScaleInfo(Model); |
257 | } | 257 | } |
258 | 258 | ||
259 | 259 | ||
260 | /* | 260 | /* |
261 | Function createToolBox() creates a toolbox window. In this simple mesh | 261 | Function createToolBox() creates a toolbox window. In this simple mesh |
262 | viewer, this toolbox only contains a tab control with three edit boxes for | 262 | viewer, this toolbox only contains a tab control with three edit boxes for |
263 | changing the scale of the displayed model. | 263 | changing the scale of the displayed model. |
264 | */ | 264 | */ |
265 | void createToolBox() | 265 | void createToolBox() |
266 | { | 266 | { |
267 | // remove tool box if already there | 267 | // remove tool box if already there |
268 | IGUIEnvironment* env = Device->getGUIEnvironment(); | 268 | IGUIEnvironment* env = Device->getGUIEnvironment(); |
269 | IGUIElement* root = env->getRootGUIElement(); | 269 | IGUIElement* root = env->getRootGUIElement(); |
270 | IGUIElement* e = root->getElementFromId(GUI_ID_DIALOG_ROOT_WINDOW, true); | 270 | IGUIElement* e = root->getElementFromId(GUI_ID_DIALOG_ROOT_WINDOW, true); |
271 | if (e) | 271 | if (e) |
272 | e->remove(); | 272 | e->remove(); |
273 | 273 | ||
274 | // create the toolbox window | 274 | // create the toolbox window |
275 | IGUIWindow* wnd = env->addWindow(core::rect<s32>(600,45,800,480), | 275 | IGUIWindow* wnd = env->addWindow(core::rect<s32>(600,45,800,480), |
276 | false, L"Toolset", 0, GUI_ID_DIALOG_ROOT_WINDOW); | 276 | false, L"Toolset", 0, GUI_ID_DIALOG_ROOT_WINDOW); |
277 | 277 | ||
278 | // create tab control and tabs | 278 | // create tab control and tabs |
279 | IGUITabControl* tab = env->addTabControl( | 279 | IGUITabControl* tab = env->addTabControl( |
280 | core::rect<s32>(2,20,800-602,480-7), wnd, true, true); | 280 | core::rect<s32>(2,20,800-602,480-7), wnd, true, true); |
281 | 281 | ||
282 | IGUITab* t1 = tab->addTab(L"Config"); | 282 | IGUITab* t1 = tab->addTab(L"Config"); |
283 | 283 | ||
284 | // add some edit boxes and a button to tab one | 284 | // add some edit boxes and a button to tab one |
285 | env->addStaticText(L"Scale:", | 285 | env->addStaticText(L"Scale:", |
286 | core::rect<s32>(10,20,60,45), false, false, t1); | 286 | core::rect<s32>(10,20,60,45), false, false, t1); |
287 | env->addStaticText(L"X:", core::rect<s32>(22,48,40,66), false, false, t1); | 287 | env->addStaticText(L"X:", core::rect<s32>(22,48,40,66), false, false, t1); |
288 | env->addEditBox(L"1.0", core::rect<s32>(40,46,130,66), true, t1, GUI_ID_X_SCALE); | 288 | env->addEditBox(L"1.0", core::rect<s32>(40,46,130,66), true, t1, GUI_ID_X_SCALE); |
289 | env->addStaticText(L"Y:", core::rect<s32>(22,82,40,96), false, false, t1); | 289 | env->addStaticText(L"Y:", core::rect<s32>(22,82,40,96), false, false, t1); |
290 | env->addEditBox(L"1.0", core::rect<s32>(40,76,130,96), true, t1, GUI_ID_Y_SCALE); | 290 | env->addEditBox(L"1.0", core::rect<s32>(40,76,130,96), true, t1, GUI_ID_Y_SCALE); |
291 | env->addStaticText(L"Z:", core::rect<s32>(22,108,40,126), false, false, t1); | 291 | env->addStaticText(L"Z:", core::rect<s32>(22,108,40,126), false, false, t1); |
292 | env->addEditBox(L"1.0", core::rect<s32>(40,106,130,126), true, t1, GUI_ID_Z_SCALE); | 292 | env->addEditBox(L"1.0", core::rect<s32>(40,106,130,126), true, t1, GUI_ID_Z_SCALE); |
293 | 293 | ||
294 | env->addButton(core::rect<s32>(10,134,85,165), t1, GUI_ID_BUTTON_SET_SCALE, L"Set"); | 294 | env->addButton(core::rect<s32>(10,134,85,165), t1, GUI_ID_BUTTON_SET_SCALE, L"Set"); |
295 | 295 | ||
296 | // quick scale buttons | 296 | // quick scale buttons |
297 | env->addButton(core::rect<s32>(65,20,95,40), t1, GUI_ID_BUTTON_SCALE_MUL10, L"* 10"); | 297 | env->addButton(core::rect<s32>(65,20,95,40), t1, GUI_ID_BUTTON_SCALE_MUL10, L"* 10"); |
298 | env->addButton(core::rect<s32>(100,20,130,40), t1, GUI_ID_BUTTON_SCALE_DIV10, L"* 0.1"); | 298 | env->addButton(core::rect<s32>(100,20,130,40), t1, GUI_ID_BUTTON_SCALE_DIV10, L"* 0.1"); |
299 | 299 | ||
300 | updateScaleInfo(Model); | 300 | updateScaleInfo(Model); |
301 | 301 | ||
302 | // add transparency control | 302 | // add transparency control |
303 | env->addStaticText(L"GUI Transparency Control:", | 303 | env->addStaticText(L"GUI Transparency Control:", |
304 | core::rect<s32>(10,200,150,225), true, false, t1); | 304 | core::rect<s32>(10,200,150,225), true, false, t1); |
305 | IGUIScrollBar* scrollbar = env->addScrollBar(true, | 305 | IGUIScrollBar* scrollbar = env->addScrollBar(true, |
306 | core::rect<s32>(10,225,150,240), t1, GUI_ID_SKIN_TRANSPARENCY); | 306 | core::rect<s32>(10,225,150,240), t1, GUI_ID_SKIN_TRANSPARENCY); |
307 | scrollbar->setMax(255); | 307 | scrollbar->setMax(255); |
308 | scrollbar->setPos(255); | 308 | scrollbar->setPos(255); |
309 | 309 | ||
310 | // add framerate control | 310 | // add framerate control |
311 | env->addStaticText(L":", core::rect<s32>(10,240,150,265), true, false, t1); | 311 | env->addStaticText(L":", core::rect<s32>(10,240,150,265), true, false, t1); |
312 | env->addStaticText(L"Framerate:", | 312 | env->addStaticText(L"Framerate:", |
313 | core::rect<s32>(12,240,75,265), false, false, t1); | 313 | core::rect<s32>(12,240,75,265), false, false, t1); |
314 | // current frame info | 314 | // current frame info |
315 | env->addStaticText(L"", core::rect<s32>(75,240,200,265), false, false, t1, | 315 | env->addStaticText(L"", core::rect<s32>(75,240,200,265), false, false, t1, |
316 | GUI_ID_ANIMATION_INFO); | 316 | GUI_ID_ANIMATION_INFO); |
317 | scrollbar = env->addScrollBar(true, | 317 | scrollbar = env->addScrollBar(true, |
318 | core::rect<s32>(10,265,150,280), t1, GUI_ID_SKIN_ANIMATION_FPS); | 318 | core::rect<s32>(10,265,150,280), t1, GUI_ID_SKIN_ANIMATION_FPS); |
319 | scrollbar->setMax(MAX_FRAMERATE); | 319 | scrollbar->setMax(MAX_FRAMERATE); |
320 | scrollbar->setMin(-MAX_FRAMERATE); | 320 | scrollbar->setMin(-MAX_FRAMERATE); |
321 | scrollbar->setPos(DEFAULT_FRAMERATE); | 321 | scrollbar->setPos(DEFAULT_FRAMERATE); |
322 | scrollbar->setSmallStep(1); | 322 | scrollbar->setSmallStep(1); |
323 | } | 323 | } |
324 | 324 | ||
325 | /* | 325 | /* |
326 | Function updateToolBox() is called each frame to update dynamic information in | 326 | Function updateToolBox() is called each frame to update dynamic information in |
327 | the toolbox. | 327 | the toolbox. |
328 | */ | 328 | */ |
329 | void updateToolBox() | 329 | void updateToolBox() |
330 | { | 330 | { |
331 | IGUIEnvironment* env = Device->getGUIEnvironment(); | 331 | IGUIEnvironment* env = Device->getGUIEnvironment(); |
332 | IGUIElement* root = env->getRootGUIElement(); | 332 | IGUIElement* root = env->getRootGUIElement(); |
333 | IGUIElement* dlg = root->getElementFromId(GUI_ID_DIALOG_ROOT_WINDOW, true); | 333 | IGUIElement* dlg = root->getElementFromId(GUI_ID_DIALOG_ROOT_WINDOW, true); |
334 | if (!dlg ) | 334 | if (!dlg ) |
335 | return; | 335 | return; |
336 | 336 | ||
337 | // update the info we have about the animation of the model | 337 | // update the info we have about the animation of the model |
338 | IGUIStaticText * aniInfo = (IGUIStaticText *)(dlg->getElementFromId(GUI_ID_ANIMATION_INFO, true)); | 338 | IGUIStaticText * aniInfo = (IGUIStaticText *)(dlg->getElementFromId(GUI_ID_ANIMATION_INFO, true)); |
339 | if (aniInfo) | 339 | if (aniInfo) |
340 | { | 340 | { |
341 | if ( Model && scene::ESNT_ANIMATED_MESH == Model->getType() ) | 341 | if ( Model && scene::ESNT_ANIMATED_MESH == Model->getType() ) |
342 | { | 342 | { |
343 | scene::IAnimatedMeshSceneNode* animatedModel = (scene::IAnimatedMeshSceneNode*)Model; | 343 | scene::IAnimatedMeshSceneNode* animatedModel = (scene::IAnimatedMeshSceneNode*)Model; |
344 | 344 | ||
345 | core::stringw str( (s32)core::round_(animatedModel->getAnimationSpeed()) ); | 345 | core::stringw str( (s32)core::round_(animatedModel->getAnimationSpeed()) ); |
346 | str += L" Frame: "; | 346 | str += L" Frame: "; |
347 | str += core::stringw((s32)animatedModel->getFrameNr()); | 347 | str += core::stringw((s32)animatedModel->getFrameNr()); |
348 | aniInfo->setText(str.c_str()); | 348 | aniInfo->setText(str.c_str()); |
349 | } | 349 | } |
350 | else | 350 | else |
351 | aniInfo->setText(L""); | 351 | aniInfo->setText(L""); |
352 | } | 352 | } |
353 | } | 353 | } |
354 | 354 | ||
355 | void onKillFocus() | 355 | void onKillFocus() |
356 | { | 356 | { |
357 | // Avoid that the FPS-camera continues moving when the user presses alt-tab while | 357 | // Avoid that the FPS-camera continues moving when the user presses alt-tab while |
358 | // moving the camera. | 358 | // moving the camera. |
359 | const core::list<scene::ISceneNodeAnimator*>& animators = Camera[1]->getAnimators(); | 359 | const core::list<scene::ISceneNodeAnimator*>& animators = Camera[1]->getAnimators(); |
360 | core::list<irr::scene::ISceneNodeAnimator*>::ConstIterator iter = animators.begin(); | 360 | core::list<irr::scene::ISceneNodeAnimator*>::ConstIterator iter = animators.begin(); |
361 | while ( iter != animators.end() ) | 361 | while ( iter != animators.end() ) |
362 | { | 362 | { |
363 | if ( (*iter)->getType() == scene::ESNAT_CAMERA_FPS ) | 363 | if ( (*iter)->getType() == scene::ESNAT_CAMERA_FPS ) |
364 | { | 364 | { |
365 | // we send a key-down event for all keys used by this animator | 365 | // we send a key-down event for all keys used by this animator |
366 | scene::ISceneNodeAnimatorCameraFPS * fpsAnimator = static_cast<scene::ISceneNodeAnimatorCameraFPS*>(*iter); | 366 | scene::ISceneNodeAnimatorCameraFPS * fpsAnimator = static_cast<scene::ISceneNodeAnimatorCameraFPS*>(*iter); |
367 | const core::array<SKeyMap>& keyMap = fpsAnimator->getKeyMap(); | 367 | const core::array<SKeyMap>& keyMap = fpsAnimator->getKeyMap(); |
368 | for ( irr::u32 i=0; i< keyMap.size(); ++i ) | 368 | for ( irr::u32 i=0; i< keyMap.size(); ++i ) |
369 | { | 369 | { |
370 | irr::SEvent event; | 370 | irr::SEvent event; |
371 | event.EventType = EET_KEY_INPUT_EVENT; | 371 | event.EventType = EET_KEY_INPUT_EVENT; |
372 | event.KeyInput.Key = keyMap[i].KeyCode; | 372 | event.KeyInput.Key = keyMap[i].KeyCode; |
373 | event.KeyInput.PressedDown = false; | 373 | event.KeyInput.PressedDown = false; |
374 | fpsAnimator->OnEvent(event); | 374 | fpsAnimator->OnEvent(event); |
375 | } | 375 | } |
376 | } | 376 | } |
377 | ++iter; | 377 | ++iter; |
378 | } | 378 | } |
379 | } | 379 | } |
380 | 380 | ||
381 | /* | 381 | /* |
382 | Function hasModalDialog() checks if we currently have a modal dialog open. | 382 | Function hasModalDialog() checks if we currently have a modal dialog open. |
383 | */ | 383 | */ |
384 | bool hasModalDialog() | 384 | bool hasModalDialog() |
385 | { | 385 | { |
386 | if ( !Device ) | 386 | if ( !Device ) |
387 | return false; | 387 | return false; |
388 | IGUIEnvironment* env = Device->getGUIEnvironment(); | 388 | IGUIEnvironment* env = Device->getGUIEnvironment(); |
389 | IGUIElement * focused = env->getFocus(); | 389 | IGUIElement * focused = env->getFocus(); |
390 | while ( focused ) | 390 | while ( focused ) |
391 | { | 391 | { |
392 | if ( focused->isVisible() && focused->hasType(EGUIET_MODAL_SCREEN) ) | 392 | if ( focused->isVisible() && focused->hasType(EGUIET_MODAL_SCREEN) ) |
393 | return true; | 393 | return true; |
394 | focused = focused->getParent(); | 394 | focused = focused->getParent(); |
395 | } | 395 | } |
396 | return false; | 396 | return false; |
397 | } | 397 | } |
398 | 398 | ||
399 | /* | 399 | /* |
400 | To get all the events sent by the GUI Elements, we need to create an event | 400 | To get all the events sent by the GUI Elements, we need to create an event |
401 | receiver. This one is really simple. If an event occurs, it checks the id of | 401 | receiver. This one is really simple. If an event occurs, it checks the id of |
402 | the caller and the event type, and starts an action based on these values. For | 402 | the caller and the event type, and starts an action based on these values. For |
403 | example, if a menu item with id GUI_ID_OPEN_MODEL was selected, it opens a file-open-dialog. | 403 | example, if a menu item with id GUI_ID_OPEN_MODEL was selected, it opens a file-open-dialog. |
404 | */ | 404 | */ |
405 | class MyEventReceiver : public IEventReceiver | 405 | class MyEventReceiver : public IEventReceiver |
406 | { | 406 | { |
407 | public: | 407 | public: |
408 | virtual bool OnEvent(const SEvent& event) | 408 | virtual bool OnEvent(const SEvent& event) |
409 | { | 409 | { |
410 | // Escape swaps Camera Input | 410 | // Escape swaps Camera Input |
411 | if (event.EventType == EET_KEY_INPUT_EVENT && | 411 | if (event.EventType == EET_KEY_INPUT_EVENT && |
412 | event.KeyInput.PressedDown == false) | 412 | event.KeyInput.PressedDown == false) |
413 | { | 413 | { |
414 | if ( OnKeyUp(event.KeyInput.Key) ) | 414 | if ( OnKeyUp(event.KeyInput.Key) ) |
415 | return true; | 415 | return true; |
416 | } | 416 | } |
417 | 417 | ||
418 | if (event.EventType == EET_GUI_EVENT) | 418 | if (event.EventType == EET_GUI_EVENT) |
419 | { | 419 | { |
420 | s32 id = event.GUIEvent.Caller->getID(); | 420 | s32 id = event.GUIEvent.Caller->getID(); |
421 | IGUIEnvironment* env = Device->getGUIEnvironment(); | 421 | IGUIEnvironment* env = Device->getGUIEnvironment(); |
422 | 422 | ||
423 | switch(event.GUIEvent.EventType) | 423 | switch(event.GUIEvent.EventType) |
424 | { | 424 | { |
425 | case EGET_MENU_ITEM_SELECTED: | 425 | case EGET_MENU_ITEM_SELECTED: |
426 | // a menu item was clicked | 426 | // a menu item was clicked |
427 | OnMenuItemSelected( (IGUIContextMenu*)event.GUIEvent.Caller ); | 427 | OnMenuItemSelected( (IGUIContextMenu*)event.GUIEvent.Caller ); |
428 | break; | 428 | break; |
429 | 429 | ||
430 | case EGET_FILE_SELECTED: | 430 | case EGET_FILE_SELECTED: |
431 | { | 431 | { |
432 | // load the model file, selected in the file open dialog | 432 | // load the model file, selected in the file open dialog |
433 | IGUIFileOpenDialog* dialog = | 433 | IGUIFileOpenDialog* dialog = |
434 | (IGUIFileOpenDialog*)event.GUIEvent.Caller; | 434 | (IGUIFileOpenDialog*)event.GUIEvent.Caller; |
435 | loadModel(core::stringc(dialog->getFileName()).c_str()); | 435 | loadModel(core::stringc(dialog->getFileName()).c_str()); |
436 | } | 436 | } |
437 | break; | 437 | break; |
438 | 438 | ||
439 | case EGET_SCROLL_BAR_CHANGED: | 439 | case EGET_SCROLL_BAR_CHANGED: |
440 | 440 | ||
441 | // control skin transparency | 441 | // control skin transparency |
442 | if (id == GUI_ID_SKIN_TRANSPARENCY) | 442 | if (id == GUI_ID_SKIN_TRANSPARENCY) |
443 | { | 443 | { |
444 | const s32 pos = ((IGUIScrollBar*)event.GUIEvent.Caller)->getPos(); | 444 | const s32 pos = ((IGUIScrollBar*)event.GUIEvent.Caller)->getPos(); |
445 | setSkinTransparency(pos, env->getSkin()); | 445 | setSkinTransparency(pos, env->getSkin()); |
446 | } | 446 | } |
447 | // control animation speed | 447 | // control animation speed |
448 | else if (id == GUI_ID_SKIN_ANIMATION_FPS) | 448 | else if (id == GUI_ID_SKIN_ANIMATION_FPS) |
449 | { | 449 | { |
450 | const s32 pos = ((IGUIScrollBar*)event.GUIEvent.Caller)->getPos(); | 450 | const s32 pos = ((IGUIScrollBar*)event.GUIEvent.Caller)->getPos(); |
451 | if (scene::ESNT_ANIMATED_MESH == Model->getType()) | 451 | if (scene::ESNT_ANIMATED_MESH == Model->getType()) |
452 | ((scene::IAnimatedMeshSceneNode*)Model)->setAnimationSpeed((f32)pos); | 452 | ((scene::IAnimatedMeshSceneNode*)Model)->setAnimationSpeed((f32)pos); |
453 | } | 453 | } |
454 | break; | 454 | break; |
455 | 455 | ||
456 | case EGET_COMBO_BOX_CHANGED: | 456 | case EGET_COMBO_BOX_CHANGED: |
457 | 457 | ||
458 | // control anti-aliasing/filtering | 458 | // control anti-aliasing/filtering |
459 | if (id == GUI_ID_TEXTUREFILTER) | 459 | if (id == GUI_ID_TEXTUREFILTER) |
460 | { | 460 | { |
461 | OnTextureFilterSelected( (IGUIComboBox*)event.GUIEvent.Caller ); | 461 | OnTextureFilterSelected( (IGUIComboBox*)event.GUIEvent.Caller ); |
462 | } | 462 | } |
463 | break; | 463 | break; |
464 | 464 | ||
465 | case EGET_BUTTON_CLICKED: | 465 | case EGET_BUTTON_CLICKED: |
466 | 466 | ||
467 | switch(id) | 467 | switch(id) |
468 | { | 468 | { |
469 | case GUI_ID_BUTTON_SET_SCALE: | 469 | case GUI_ID_BUTTON_SET_SCALE: |
470 | { | 470 | { |
471 | // set scale | 471 | // set scale |
472 | gui::IGUIElement* root = env->getRootGUIElement(); | 472 | gui::IGUIElement* root = env->getRootGUIElement(); |
473 | core::vector3df scale; | 473 | core::vector3df scale; |
474 | core::stringc s; | 474 | core::stringc s; |
475 | 475 | ||
476 | s = root->getElementFromId(GUI_ID_X_SCALE, true)->getText(); | 476 | s = root->getElementFromId(GUI_ID_X_SCALE, true)->getText(); |
477 | scale.X = (f32)atof(s.c_str()); | 477 | scale.X = (f32)atof(s.c_str()); |
478 | s = root->getElementFromId(GUI_ID_Y_SCALE, true)->getText(); | 478 | s = root->getElementFromId(GUI_ID_Y_SCALE, true)->getText(); |
479 | scale.Y = (f32)atof(s.c_str()); | 479 | scale.Y = (f32)atof(s.c_str()); |
480 | s = root->getElementFromId(GUI_ID_Z_SCALE, true)->getText(); | 480 | s = root->getElementFromId(GUI_ID_Z_SCALE, true)->getText(); |
481 | scale.Z = (f32)atof(s.c_str()); | 481 | scale.Z = (f32)atof(s.c_str()); |
482 | 482 | ||
483 | if (Model) | 483 | if (Model) |
484 | Model->setScale(scale); | 484 | Model->setScale(scale); |
485 | updateScaleInfo(Model); | 485 | updateScaleInfo(Model); |
486 | } | 486 | } |
487 | break; | 487 | break; |
488 | case GUI_ID_BUTTON_SCALE_MUL10: | 488 | case GUI_ID_BUTTON_SCALE_MUL10: |
489 | if (Model) | 489 | if (Model) |
490 | Model->setScale(Model->getScale()*10.f); | 490 | Model->setScale(Model->getScale()*10.f); |
491 | updateScaleInfo(Model); | 491 | updateScaleInfo(Model); |
492 | break; | 492 | break; |
493 | case GUI_ID_BUTTON_SCALE_DIV10: | 493 | case GUI_ID_BUTTON_SCALE_DIV10: |
494 | if (Model) | 494 | if (Model) |
495 | Model->setScale(Model->getScale()*0.1f); | 495 | Model->setScale(Model->getScale()*0.1f); |
496 | updateScaleInfo(Model); | 496 | updateScaleInfo(Model); |
497 | break; | 497 | break; |
498 | case GUI_ID_BUTTON_OPEN_MODEL: | 498 | case GUI_ID_BUTTON_OPEN_MODEL: |
499 | env->addFileOpenDialog(L"Please select a model file to open"); | 499 | env->addFileOpenDialog(L"Please select a model file to open"); |
500 | break; | 500 | break; |
501 | case GUI_ID_BUTTON_SHOW_ABOUT: | 501 | case GUI_ID_BUTTON_SHOW_ABOUT: |
502 | showAboutText(); | 502 | showAboutText(); |
503 | break; | 503 | break; |
504 | case GUI_ID_BUTTON_SHOW_TOOLBOX: | 504 | case GUI_ID_BUTTON_SHOW_TOOLBOX: |
505 | createToolBox(); | 505 | createToolBox(); |
506 | break; | 506 | break; |
507 | case GUI_ID_BUTTON_SELECT_ARCHIVE: | 507 | case GUI_ID_BUTTON_SELECT_ARCHIVE: |
508 | env->addFileOpenDialog(L"Please select your game archive/directory"); | 508 | env->addFileOpenDialog(L"Please select your game archive/directory"); |
509 | break; | 509 | break; |
510 | } | 510 | } |
511 | 511 | ||
512 | break; | 512 | break; |
513 | default: | 513 | default: |
514 | break; | 514 | break; |
515 | } | 515 | } |
516 | } | 516 | } |
517 | 517 | ||
518 | return false; | 518 | return false; |
519 | } | 519 | } |
520 | 520 | ||
521 | 521 | ||
522 | /* | 522 | /* |
523 | Handle key-up events | 523 | Handle key-up events |
524 | */ | 524 | */ |
525 | bool OnKeyUp(irr::EKEY_CODE keyCode) | 525 | bool OnKeyUp(irr::EKEY_CODE keyCode) |
526 | { | 526 | { |
527 | // Don't handle keys if we have a modal dialog open as it would lead | 527 | // Don't handle keys if we have a modal dialog open as it would lead |
528 | // to unexpected application behaviour for the user. | 528 | // to unexpected application behaviour for the user. |
529 | if ( hasModalDialog() ) | 529 | if ( hasModalDialog() ) |
530 | return false; | 530 | return false; |
531 | 531 | ||
532 | if (keyCode == irr::KEY_ESCAPE) | 532 | if (keyCode == irr::KEY_ESCAPE) |
533 | { | 533 | { |
534 | if (Device) | 534 | if (Device) |
535 | { | 535 | { |
536 | scene::ICameraSceneNode * camera = | 536 | scene::ICameraSceneNode * camera = |
537 | Device->getSceneManager()->getActiveCamera(); | 537 | Device->getSceneManager()->getActiveCamera(); |
538 | if (camera) | 538 | if (camera) |
539 | { | 539 | { |
540 | camera->setInputReceiverEnabled( !camera->isInputReceiverEnabled() ); | 540 | camera->setInputReceiverEnabled( !camera->isInputReceiverEnabled() ); |
541 | } | 541 | } |
542 | return true; | 542 | return true; |
543 | } | 543 | } |
544 | } | 544 | } |
545 | else if (keyCode == irr::KEY_F1) | 545 | else if (keyCode == irr::KEY_F1) |
546 | { | 546 | { |
547 | if (Device) | 547 | if (Device) |
548 | { | 548 | { |
549 | IGUIElement* elem = Device->getGUIEnvironment()->getRootGUIElement()->getElementFromId(GUI_ID_POSITION_TEXT); | 549 | IGUIElement* elem = Device->getGUIEnvironment()->getRootGUIElement()->getElementFromId(GUI_ID_POSITION_TEXT); |
550 | if (elem) | 550 | if (elem) |
551 | elem->setVisible(!elem->isVisible()); | 551 | elem->setVisible(!elem->isVisible()); |
552 | } | 552 | } |
553 | } | 553 | } |
554 | else if (keyCode == irr::KEY_KEY_M) | 554 | else if (keyCode == irr::KEY_KEY_M) |
555 | { | 555 | { |
556 | if (Device) | 556 | if (Device) |
557 | Device->minimizeWindow(); | 557 | Device->minimizeWindow(); |
558 | } | 558 | } |
559 | else if (keyCode == irr::KEY_KEY_L) | 559 | else if (keyCode == irr::KEY_KEY_L) |
560 | { | 560 | { |
561 | UseLight=!UseLight; | 561 | UseLight=!UseLight; |
562 | if (Model) | 562 | if (Model) |
563 | { | 563 | { |
564 | Model->setMaterialFlag(video::EMF_LIGHTING, UseLight); | 564 | Model->setMaterialFlag(video::EMF_LIGHTING, UseLight); |
565 | Model->setMaterialFlag(video::EMF_NORMALIZE_NORMALS, UseLight); | 565 | Model->setMaterialFlag(video::EMF_NORMALIZE_NORMALS, UseLight); |
566 | } | 566 | } |
567 | } | 567 | } |
568 | return false; | 568 | return false; |
569 | } | 569 | } |
570 | 570 | ||
571 | 571 | ||
572 | /* | 572 | /* |
573 | Handle "menu item clicked" events. | 573 | Handle "menu item clicked" events. |
574 | */ | 574 | */ |
575 | void OnMenuItemSelected( IGUIContextMenu* menu ) | 575 | void OnMenuItemSelected( IGUIContextMenu* menu ) |
576 | { | 576 | { |
577 | s32 id = menu->getItemCommandId(menu->getSelectedItem()); | 577 | s32 id = menu->getItemCommandId(menu->getSelectedItem()); |
578 | IGUIEnvironment* env = Device->getGUIEnvironment(); | 578 | IGUIEnvironment* env = Device->getGUIEnvironment(); |
579 | 579 | ||
580 | switch(id) | 580 | switch(id) |
581 | { | 581 | { |
582 | case GUI_ID_OPEN_MODEL: // FilOnButtonSetScalinge -> Open Model | 582 | case GUI_ID_OPEN_MODEL: // FilOnButtonSetScalinge -> Open Model |
583 | env->addFileOpenDialog(L"Please select a model file to open"); | 583 | env->addFileOpenDialog(L"Please select a model file to open"); |
584 | break; | 584 | break; |
585 | case GUI_ID_SET_MODEL_ARCHIVE: // File -> Set Model Archive | 585 | case GUI_ID_SET_MODEL_ARCHIVE: // File -> Set Model Archive |
586 | env->addFileOpenDialog(L"Please select your game archive/directory"); | 586 | env->addFileOpenDialog(L"Please select your game archive/directory"); |
587 | break; | 587 | break; |
588 | case GUI_ID_LOAD_AS_OCTREE: // File -> LoadAsOctree | 588 | case GUI_ID_LOAD_AS_OCTREE: // File -> LoadAsOctree |
589 | Octree = !Octree; | 589 | Octree = !Octree; |
590 | menu->setItemChecked(menu->getSelectedItem(), Octree); | 590 | menu->setItemChecked(menu->getSelectedItem(), Octree); |
591 | break; | 591 | break; |
592 | case GUI_ID_QUIT: // File -> Quit | 592 | case GUI_ID_QUIT: // File -> Quit |
593 | Device->closeDevice(); | 593 | Device->closeDevice(); |
594 | break; | 594 | break; |
595 | case GUI_ID_SKY_BOX_VISIBLE: // View -> Skybox | 595 | case GUI_ID_SKY_BOX_VISIBLE: // View -> Skybox |
596 | menu->setItemChecked(menu->getSelectedItem(), !menu->isItemChecked(menu->getSelectedItem())); | 596 | menu->setItemChecked(menu->getSelectedItem(), !menu->isItemChecked(menu->getSelectedItem())); |
597 | SkyBox->setVisible(!SkyBox->isVisible()); | 597 | SkyBox->setVisible(!SkyBox->isVisible()); |
598 | break; | 598 | break; |
599 | case GUI_ID_DEBUG_OFF: // View -> Debug Information | 599 | case GUI_ID_DEBUG_OFF: // View -> Debug Information |
600 | menu->setItemChecked(menu->getSelectedItem()+1, false); | 600 | menu->setItemChecked(menu->getSelectedItem()+1, false); |
601 | menu->setItemChecked(menu->getSelectedItem()+2, false); | 601 | menu->setItemChecked(menu->getSelectedItem()+2, false); |
602 | menu->setItemChecked(menu->getSelectedItem()+3, false); | 602 | menu->setItemChecked(menu->getSelectedItem()+3, false); |
603 | menu->setItemChecked(menu->getSelectedItem()+4, false); | 603 | menu->setItemChecked(menu->getSelectedItem()+4, false); |
604 | menu->setItemChecked(menu->getSelectedItem()+5, false); | 604 | menu->setItemChecked(menu->getSelectedItem()+5, false); |
605 | menu->setItemChecked(menu->getSelectedItem()+6, false); | 605 | menu->setItemChecked(menu->getSelectedItem()+6, false); |
606 | if (Model) | 606 | if (Model) |
607 | Model->setDebugDataVisible(scene::EDS_OFF); | 607 | Model->setDebugDataVisible(scene::EDS_OFF); |
608 | break; | 608 | break; |
609 | case GUI_ID_DEBUG_BOUNDING_BOX: // View -> Debug Information | 609 | case GUI_ID_DEBUG_BOUNDING_BOX: // View -> Debug Information |
610 | menu->setItemChecked(menu->getSelectedItem(), !menu->isItemChecked(menu->getSelectedItem())); | 610 | menu->setItemChecked(menu->getSelectedItem(), !menu->isItemChecked(menu->getSelectedItem())); |
611 | if (Model) | 611 | if (Model) |
612 | Model->setDebugDataVisible((scene::E_DEBUG_SCENE_TYPE)(Model->isDebugDataVisible()^scene::EDS_BBOX)); | 612 | Model->setDebugDataVisible((scene::E_DEBUG_SCENE_TYPE)(Model->isDebugDataVisible()^scene::EDS_BBOX)); |
613 | break; | 613 | break; |
614 | case GUI_ID_DEBUG_NORMALS: // View -> Debug Information | 614 | case GUI_ID_DEBUG_NORMALS: // View -> Debug Information |
615 | menu->setItemChecked(menu->getSelectedItem(), !menu->isItemChecked(menu->getSelectedItem())); | 615 | menu->setItemChecked(menu->getSelectedItem(), !menu->isItemChecked(menu->getSelectedItem())); |
616 | if (Model) | 616 | if (Model) |
617 | Model->setDebugDataVisible((scene::E_DEBUG_SCENE_TYPE)(Model->isDebugDataVisible()^scene::EDS_NORMALS)); | 617 | Model->setDebugDataVisible((scene::E_DEBUG_SCENE_TYPE)(Model->isDebugDataVisible()^scene::EDS_NORMALS)); |
618 | break; | 618 | break; |
619 | case GUI_ID_DEBUG_SKELETON: // View -> Debug Information | 619 | case GUI_ID_DEBUG_SKELETON: // View -> Debug Information |
620 | menu->setItemChecked(menu->getSelectedItem(), !menu->isItemChecked(menu->getSelectedItem())); | 620 | menu->setItemChecked(menu->getSelectedItem(), !menu->isItemChecked(menu->getSelectedItem())); |
621 | if (Model) | 621 | if (Model) |
622 | Model->setDebugDataVisible((scene::E_DEBUG_SCENE_TYPE)(Model->isDebugDataVisible()^scene::EDS_SKELETON)); | 622 | Model->setDebugDataVisible((scene::E_DEBUG_SCENE_TYPE)(Model->isDebugDataVisible()^scene::EDS_SKELETON)); |
623 | break; | 623 | break; |
624 | case GUI_ID_DEBUG_WIRE_OVERLAY: // View -> Debug Information | 624 | case GUI_ID_DEBUG_WIRE_OVERLAY: // View -> Debug Information |
625 | menu->setItemChecked(menu->getSelectedItem(), !menu->isItemChecked(menu->getSelectedItem())); | 625 | menu->setItemChecked(menu->getSelectedItem(), !menu->isItemChecked(menu->getSelectedItem())); |
626 | if (Model) | 626 | if (Model) |
627 | Model->setDebugDataVisible((scene::E_DEBUG_SCENE_TYPE)(Model->isDebugDataVisible()^scene::EDS_MESH_WIRE_OVERLAY)); | 627 | Model->setDebugDataVisible((scene::E_DEBUG_SCENE_TYPE)(Model->isDebugDataVisible()^scene::EDS_MESH_WIRE_OVERLAY)); |
628 | break; | 628 | break; |
629 | case GUI_ID_DEBUG_HALF_TRANSPARENT: // View -> Debug Information | 629 | case GUI_ID_DEBUG_HALF_TRANSPARENT: // View -> Debug Information |
630 | menu->setItemChecked(menu->getSelectedItem(), !menu->isItemChecked(menu->getSelectedItem())); | 630 | menu->setItemChecked(menu->getSelectedItem(), !menu->isItemChecked(menu->getSelectedItem())); |
631 | if (Model) | 631 | if (Model) |
632 | Model->setDebugDataVisible((scene::E_DEBUG_SCENE_TYPE)(Model->isDebugDataVisible()^scene::EDS_HALF_TRANSPARENCY)); | 632 | Model->setDebugDataVisible((scene::E_DEBUG_SCENE_TYPE)(Model->isDebugDataVisible()^scene::EDS_HALF_TRANSPARENCY)); |
633 | break; | 633 | break; |
634 | case GUI_ID_DEBUG_BUFFERS_BOUNDING_BOXES: // View -> Debug Information | 634 | case GUI_ID_DEBUG_BUFFERS_BOUNDING_BOXES: // View -> Debug Information |
635 | menu->setItemChecked(menu->getSelectedItem(), !menu->isItemChecked(menu->getSelectedItem())); | 635 | menu->setItemChecked(menu->getSelectedItem(), !menu->isItemChecked(menu->getSelectedItem())); |
636 | if (Model) | 636 | if (Model) |
637 | Model->setDebugDataVisible((scene::E_DEBUG_SCENE_TYPE)(Model->isDebugDataVisible()^scene::EDS_BBOX_BUFFERS)); | 637 | Model->setDebugDataVisible((scene::E_DEBUG_SCENE_TYPE)(Model->isDebugDataVisible()^scene::EDS_BBOX_BUFFERS)); |
638 | break; | 638 | break; |
639 | case GUI_ID_DEBUG_ALL: // View -> Debug Information | 639 | case GUI_ID_DEBUG_ALL: // View -> Debug Information |
640 | menu->setItemChecked(menu->getSelectedItem()-1, true); | 640 | menu->setItemChecked(menu->getSelectedItem()-1, true); |
641 | menu->setItemChecked(menu->getSelectedItem()-2, true); | 641 | menu->setItemChecked(menu->getSelectedItem()-2, true); |
642 | menu->setItemChecked(menu->getSelectedItem()-3, true); | 642 | menu->setItemChecked(menu->getSelectedItem()-3, true); |
643 | menu->setItemChecked(menu->getSelectedItem()-4, true); | 643 | menu->setItemChecked(menu->getSelectedItem()-4, true); |
644 | menu->setItemChecked(menu->getSelectedItem()-5, true); | 644 | menu->setItemChecked(menu->getSelectedItem()-5, true); |
645 | menu->setItemChecked(menu->getSelectedItem()-6, true); | 645 | menu->setItemChecked(menu->getSelectedItem()-6, true); |
646 | if (Model) | 646 | if (Model) |
647 | Model->setDebugDataVisible(scene::EDS_FULL); | 647 | Model->setDebugDataVisible(scene::EDS_FULL); |
648 | break; | 648 | break; |
649 | case GUI_ID_ABOUT: // Help->About | 649 | case GUI_ID_ABOUT: // Help->About |
650 | showAboutText(); | 650 | showAboutText(); |
651 | break; | 651 | break; |
652 | case GUI_ID_MODEL_MATERIAL_SOLID: // View -> Material -> Solid | 652 | case GUI_ID_MODEL_MATERIAL_SOLID: // View -> Material -> Solid |
653 | if (Model) | 653 | if (Model) |
654 | Model->setMaterialType(video::EMT_SOLID); | 654 | Model->setMaterialType(video::EMT_SOLID); |
655 | break; | 655 | break; |
656 | case GUI_ID_MODEL_MATERIAL_TRANSPARENT: // View -> Material -> Transparent | 656 | case GUI_ID_MODEL_MATERIAL_TRANSPARENT: // View -> Material -> Transparent |
657 | if (Model) | 657 | if (Model) |
658 | Model->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR); | 658 | Model->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR); |
659 | break; | 659 | break; |
660 | case GUI_ID_MODEL_MATERIAL_REFLECTION: // View -> Material -> Reflection | 660 | case GUI_ID_MODEL_MATERIAL_REFLECTION: // View -> Material -> Reflection |
661 | if (Model) | 661 | if (Model) |
662 | Model->setMaterialType(video::EMT_SPHERE_MAP); | 662 | Model->setMaterialType(video::EMT_SPHERE_MAP); |
663 | break; | 663 | break; |
664 | 664 | ||
665 | case GUI_ID_CAMERA_MAYA: | 665 | case GUI_ID_CAMERA_MAYA: |
666 | setActiveCamera(Camera[0]); | 666 | setActiveCamera(Camera[0]); |
667 | break; | 667 | break; |
668 | case GUI_ID_CAMERA_FIRST_PERSON: | 668 | case GUI_ID_CAMERA_FIRST_PERSON: |
669 | setActiveCamera(Camera[1]); | 669 | setActiveCamera(Camera[1]); |
670 | break; | 670 | break; |
671 | } | 671 | } |
672 | } | 672 | } |
673 | 673 | ||
674 | /* | 674 | /* |
675 | Handle the event that one of the texture-filters was selected in the corresponding combobox. | 675 | Handle the event that one of the texture-filters was selected in the corresponding combobox. |
676 | */ | 676 | */ |
677 | void OnTextureFilterSelected( IGUIComboBox* combo ) | 677 | void OnTextureFilterSelected( IGUIComboBox* combo ) |
678 | { | 678 | { |
679 | s32 pos = combo->getSelected(); | 679 | s32 pos = combo->getSelected(); |
680 | switch (pos) | 680 | switch (pos) |
681 | { | 681 | { |
682 | case 0: | 682 | case 0: |
683 | if (Model) | 683 | if (Model) |
684 | { | 684 | { |
685 | Model->setMaterialFlag(video::EMF_BILINEAR_FILTER, false); | 685 | Model->setMaterialFlag(video::EMF_BILINEAR_FILTER, false); |
686 | Model->setMaterialFlag(video::EMF_TRILINEAR_FILTER, false); | 686 | Model->setMaterialFlag(video::EMF_TRILINEAR_FILTER, false); |
687 | Model->setMaterialFlag(video::EMF_ANISOTROPIC_FILTER, false); | 687 | Model->setMaterialFlag(video::EMF_ANISOTROPIC_FILTER, false); |
688 | } | 688 | } |
689 | break; | 689 | break; |
690 | case 1: | 690 | case 1: |
691 | if (Model) | 691 | if (Model) |
692 | { | 692 | { |
693 | Model->setMaterialFlag(video::EMF_BILINEAR_FILTER, true); | 693 | Model->setMaterialFlag(video::EMF_BILINEAR_FILTER, true); |
694 | Model->setMaterialFlag(video::EMF_TRILINEAR_FILTER, false); | 694 | Model->setMaterialFlag(video::EMF_TRILINEAR_FILTER, false); |
695 | } | 695 | } |
696 | break; | 696 | break; |
697 | case 2: | 697 | case 2: |
698 | if (Model) | 698 | if (Model) |
699 | { | 699 | { |
700 | Model->setMaterialFlag(video::EMF_BILINEAR_FILTER, false); | 700 | Model->setMaterialFlag(video::EMF_BILINEAR_FILTER, false); |
701 | Model->setMaterialFlag(video::EMF_TRILINEAR_FILTER, true); | 701 | Model->setMaterialFlag(video::EMF_TRILINEAR_FILTER, true); |
702 | } | 702 | } |
703 | break; | 703 | break; |
704 | case 3: | 704 | case 3: |
705 | if (Model) | 705 | if (Model) |
706 | { | 706 | { |
707 | Model->setMaterialFlag(video::EMF_ANISOTROPIC_FILTER, true); | 707 | Model->setMaterialFlag(video::EMF_ANISOTROPIC_FILTER, true); |
708 | } | 708 | } |
709 | break; | 709 | break; |
710 | case 4: | 710 | case 4: |
711 | if (Model) | 711 | if (Model) |
712 | { | 712 | { |
713 | Model->setMaterialFlag(video::EMF_ANISOTROPIC_FILTER, false); | 713 | Model->setMaterialFlag(video::EMF_ANISOTROPIC_FILTER, false); |
714 | } | 714 | } |
715 | break; | 715 | break; |
716 | } | 716 | } |
717 | } | 717 | } |
718 | }; | 718 | }; |
719 | 719 | ||
720 | 720 | ||
721 | /* | 721 | /* |
722 | Most of the hard work is done. We only need to create the Irrlicht Engine | 722 | Most of the hard work is done. We only need to create the Irrlicht Engine |
723 | device and all the buttons, menus and toolbars. We start up the engine as | 723 | device and all the buttons, menus and toolbars. We start up the engine as |
724 | usual, using createDevice(). To make our application catch events, we set our | 724 | usual, using createDevice(). To make our application catch events, we set our |
725 | eventreceiver as parameter. As you can see, there is also a call to | 725 | eventreceiver as parameter. As you can see, there is also a call to |
726 | IrrlichtDevice::setResizeable(). This makes the render window resizeable, which | 726 | IrrlichtDevice::setResizeable(). This makes the render window resizeable, which |
727 | is quite useful for a mesh viewer. | 727 | is quite useful for a mesh viewer. |
728 | */ | 728 | */ |
729 | int main(int argc, char* argv[]) | 729 | int main(int argc, char* argv[]) |
730 | { | 730 | { |
731 | // ask user for driver | 731 | // ask user for driver |
732 | video::E_DRIVER_TYPE driverType=driverChoiceConsole(); | 732 | video::E_DRIVER_TYPE driverType=driverChoiceConsole(); |
733 | if (driverType==video::EDT_COUNT) | 733 | if (driverType==video::EDT_COUNT) |
734 | return 1; | 734 | return 1; |
735 | 735 | ||
736 | // create device and exit if creation failed | 736 | // create device and exit if creation failed |
737 | MyEventReceiver receiver; | 737 | MyEventReceiver receiver; |
738 | Device = createDevice(driverType, core::dimension2d<u32>(800, 600), | 738 | Device = createDevice(driverType, core::dimension2d<u32>(800, 600), |
739 | 16, false, false, false, &receiver); | 739 | 16, false, false, false, &receiver); |
740 | 740 | ||
741 | if (Device == 0) | 741 | if (Device == 0) |
742 | return 1; // could not create selected driver. | 742 | return 1; // could not create selected driver. |
743 | 743 | ||
744 | Device->setResizable(true); | 744 | Device->setResizable(true); |
745 | 745 | ||
746 | Device->setWindowCaption(L"Irrlicht Engine - Loading..."); | 746 | Device->setWindowCaption(L"Irrlicht Engine - Loading..."); |
747 | 747 | ||
748 | video::IVideoDriver* driver = Device->getVideoDriver(); | 748 | video::IVideoDriver* driver = Device->getVideoDriver(); |
749 | IGUIEnvironment* env = Device->getGUIEnvironment(); | 749 | IGUIEnvironment* env = Device->getGUIEnvironment(); |
750 | scene::ISceneManager* smgr = Device->getSceneManager(); | 750 | scene::ISceneManager* smgr = Device->getSceneManager(); |
751 | smgr->getParameters()->setAttribute(scene::COLLADA_CREATE_SCENE_INSTANCES, true); | 751 | smgr->getParameters()->setAttribute(scene::COLLADA_CREATE_SCENE_INSTANCES, true); |
752 | 752 | ||
753 | driver->setTextureCreationFlag(video::ETCF_ALWAYS_32_BIT, true); | 753 | driver->setTextureCreationFlag(video::ETCF_ALWAYS_32_BIT, true); |
754 | 754 | ||
755 | smgr->addLightSceneNode(0, core::vector3df(200,200,200), | 755 | smgr->addLightSceneNode(0, core::vector3df(200,200,200), |
756 | video::SColorf(1.0f,1.0f,1.0f),2000); | 756 | video::SColorf(1.0f,1.0f,1.0f),2000); |
757 | smgr->setAmbientLight(video::SColorf(0.3f,0.3f,0.3f)); | 757 | smgr->setAmbientLight(video::SColorf(0.3f,0.3f,0.3f)); |
758 | // add our media directory as "search path" | 758 | // add our media directory as "search path" |
759 | Device->getFileSystem()->addFileArchive("../../media/"); | 759 | Device->getFileSystem()->addFileArchive("../../media/"); |
760 | 760 | ||
761 | /* | 761 | /* |
762 | The next step is to read the configuration file. It is stored in the xml | 762 | The next step is to read the configuration file. It is stored in the xml |
763 | format and looks a little bit like this: | 763 | format and looks a little bit like this: |
764 | 764 | ||
765 | @verbatim | 765 | @verbatim |
766 | <?xml version="1.0"?> | 766 | <?xml version="1.0"?> |
767 | <config> | 767 | <config> |
768 | <startUpModel file="some filename" /> | 768 | <startUpModel file="some filename" /> |
769 | <messageText caption="Irrlicht Engine Mesh Viewer"> | 769 | <messageText caption="Irrlicht Engine Mesh Viewer"> |
770 | Hello! | 770 | Hello! |
771 | </messageText> | 771 | </messageText> |
772 | </config> | 772 | </config> |
773 | @endverbatim | 773 | @endverbatim |
774 | 774 | ||
775 | We need the data stored in there to be written into the global variables | 775 | We need the data stored in there to be written into the global variables |
776 | StartUpModelFile, MessageText and Caption. This is now done using the | 776 | StartUpModelFile, MessageText and Caption. This is now done using the |
777 | Irrlicht Engine integrated XML parser: | 777 | Irrlicht Engine integrated XML parser: |
778 | */ | 778 | */ |
779 | 779 | ||
780 | // read configuration from xml file | 780 | // read configuration from xml file |
781 | 781 | ||
782 | io::IXMLReader* xml = Device->getFileSystem()->createXMLReader( L"config.xml"); | 782 | io::IXMLReader* xml = Device->getFileSystem()->createXMLReader( L"config.xml"); |
783 | 783 | ||
784 | while(xml && xml->read()) | 784 | while(xml && xml->read()) |
785 | { | 785 | { |
786 | switch(xml->getNodeType()) | 786 | switch(xml->getNodeType()) |
787 | { | 787 | { |
788 | case io::EXN_TEXT: | 788 | case io::EXN_TEXT: |
789 | // in this xml file, the only text which occurs is the | 789 | // in this xml file, the only text which occurs is the |
790 | // messageText | 790 | // messageText |
791 | MessageText = xml->getNodeData(); | 791 | MessageText = xml->getNodeData(); |
792 | break; | 792 | break; |
793 | case io::EXN_ELEMENT: | 793 | case io::EXN_ELEMENT: |
794 | { | 794 | { |
795 | if (core::stringw("startUpModel") == xml->getNodeName()) | 795 | if (core::stringw("startUpModel") == xml->getNodeName()) |
796 | StartUpModelFile = xml->getAttributeValue(L"file"); | 796 | StartUpModelFile = xml->getAttributeValue(L"file"); |
797 | else | 797 | else |
798 | if (core::stringw("messageText") == xml->getNodeName()) | 798 | if (core::stringw("messageText") == xml->getNodeName()) |
799 | Caption = xml->getAttributeValue(L"caption"); | 799 | Caption = xml->getAttributeValue(L"caption"); |
800 | } | 800 | } |
801 | break; | 801 | break; |
802 | default: | 802 | default: |
803 | break; | 803 | break; |
804 | } | 804 | } |
805 | } | 805 | } |
806 | 806 | ||
807 | if (xml) | 807 | if (xml) |
808 | xml->drop(); // don't forget to delete the xml reader | 808 | xml->drop(); // don't forget to delete the xml reader |
809 | 809 | ||
810 | if (argc > 1) | 810 | if (argc > 1) |
811 | StartUpModelFile = argv[1]; | 811 | StartUpModelFile = argv[1]; |
812 | 812 | ||
813 | /* | 813 | /* |
814 | That wasn't difficult. Now we'll set a nicer font and create the Menu. | 814 | That wasn't difficult. Now we'll set a nicer font and create the Menu. |
815 | It is possible to create submenus for every menu item. The call | 815 | It is possible to create submenus for every menu item. The call |
816 | menu->addItem(L"File", -1, true, true); for example adds a new menu | 816 | menu->addItem(L"File", -1, true, true); for example adds a new menu |
817 | Item with the name "File" and the id -1. The following parameter says | 817 | Item with the name "File" and the id -1. The following parameter says |
818 | that the menu item should be enabled, and the last one says, that there | 818 | that the menu item should be enabled, and the last one says, that there |
819 | should be a submenu. The submenu can now be accessed with | 819 | should be a submenu. The submenu can now be accessed with |
820 | menu->getSubMenu(0), because the "File" entry is the menu item with | 820 | menu->getSubMenu(0), because the "File" entry is the menu item with |
821 | index 0. | 821 | index 0. |
822 | */ | 822 | */ |
823 | 823 | ||
824 | // set a nicer font | 824 | // set a nicer font |
825 | 825 | ||
826 | IGUISkin* skin = env->getSkin(); | 826 | IGUISkin* skin = env->getSkin(); |
827 | IGUIFont* font = env->getFont("fonthaettenschweiler.bmp"); | 827 | IGUIFont* font = env->getFont("fonthaettenschweiler.bmp"); |
828 | if (font) | 828 | if (font) |
829 | skin->setFont(font); | 829 | skin->setFont(font); |
830 | 830 | ||
831 | // create menu | 831 | // create menu |
832 | gui::IGUIContextMenu* menu = env->addMenu(); | 832 | gui::IGUIContextMenu* menu = env->addMenu(); |
833 | menu->addItem(L"File", -1, true, true); | 833 | menu->addItem(L"File", -1, true, true); |
834 | menu->addItem(L"View", -1, true, true); | 834 | menu->addItem(L"View", -1, true, true); |
835 | menu->addItem(L"Camera", -1, true, true); | 835 | menu->addItem(L"Camera", -1, true, true); |
836 | menu->addItem(L"Help", -1, true, true); | 836 | menu->addItem(L"Help", -1, true, true); |
837 | 837 | ||
838 | gui::IGUIContextMenu* submenu; | 838 | gui::IGUIContextMenu* submenu; |
839 | submenu = menu->getSubMenu(0); | 839 | submenu = menu->getSubMenu(0); |
840 | submenu->addItem(L"Open Model File & Texture...", GUI_ID_OPEN_MODEL); | 840 | submenu->addItem(L"Open Model File & Texture...", GUI_ID_OPEN_MODEL); |
841 | submenu->addItem(L"Set Model Archive...", GUI_ID_SET_MODEL_ARCHIVE); | 841 | submenu->addItem(L"Set Model Archive...", GUI_ID_SET_MODEL_ARCHIVE); |
842 | submenu->addItem(L"Load as Octree", GUI_ID_LOAD_AS_OCTREE); | 842 | submenu->addItem(L"Load as Octree", GUI_ID_LOAD_AS_OCTREE); |
843 | submenu->addSeparator(); | 843 | submenu->addSeparator(); |
844 | submenu->addItem(L"Quit", GUI_ID_QUIT); | 844 | submenu->addItem(L"Quit", GUI_ID_QUIT); |
845 | 845 | ||
846 | submenu = menu->getSubMenu(1); | 846 | submenu = menu->getSubMenu(1); |
847 | submenu->addItem(L"sky box visible", GUI_ID_SKY_BOX_VISIBLE, true, false, true); | 847 | submenu->addItem(L"sky box visible", GUI_ID_SKY_BOX_VISIBLE, true, false, true); |
848 | submenu->addItem(L"toggle model debug information", GUI_ID_TOGGLE_DEBUG_INFO, true, true); | 848 | submenu->addItem(L"toggle model debug information", GUI_ID_TOGGLE_DEBUG_INFO, true, true); |
849 | submenu->addItem(L"model material", -1, true, true ); | 849 | submenu->addItem(L"model material", -1, true, true ); |
850 | 850 | ||
851 | submenu = submenu->getSubMenu(1); | 851 | submenu = submenu->getSubMenu(1); |
852 | submenu->addItem(L"Off", GUI_ID_DEBUG_OFF); | 852 | submenu->addItem(L"Off", GUI_ID_DEBUG_OFF); |
853 | submenu->addItem(L"Bounding Box", GUI_ID_DEBUG_BOUNDING_BOX); | 853 | submenu->addItem(L"Bounding Box", GUI_ID_DEBUG_BOUNDING_BOX); |
854 | submenu->addItem(L"Normals", GUI_ID_DEBUG_NORMALS); | 854 | submenu->addItem(L"Normals", GUI_ID_DEBUG_NORMALS); |
855 | submenu->addItem(L"Skeleton", GUI_ID_DEBUG_SKELETON); | 855 | submenu->addItem(L"Skeleton", GUI_ID_DEBUG_SKELETON); |
856 | submenu->addItem(L"Wire overlay", GUI_ID_DEBUG_WIRE_OVERLAY); | 856 | submenu->addItem(L"Wire overlay", GUI_ID_DEBUG_WIRE_OVERLAY); |
857 | submenu->addItem(L"Half-Transparent", GUI_ID_DEBUG_HALF_TRANSPARENT); | 857 | submenu->addItem(L"Half-Transparent", GUI_ID_DEBUG_HALF_TRANSPARENT); |
858 | submenu->addItem(L"Buffers bounding boxes", GUI_ID_DEBUG_BUFFERS_BOUNDING_BOXES); | 858 | submenu->addItem(L"Buffers bounding boxes", GUI_ID_DEBUG_BUFFERS_BOUNDING_BOXES); |
859 | submenu->addItem(L"All", GUI_ID_DEBUG_ALL); | 859 | submenu->addItem(L"All", GUI_ID_DEBUG_ALL); |
860 | 860 | ||
861 | submenu = menu->getSubMenu(1)->getSubMenu(2); | 861 | submenu = menu->getSubMenu(1)->getSubMenu(2); |
862 | submenu->addItem(L"Solid", GUI_ID_MODEL_MATERIAL_SOLID); | 862 | submenu->addItem(L"Solid", GUI_ID_MODEL_MATERIAL_SOLID); |
863 | submenu->addItem(L"Transparent", GUI_ID_MODEL_MATERIAL_TRANSPARENT); | 863 | submenu->addItem(L"Transparent", GUI_ID_MODEL_MATERIAL_TRANSPARENT); |
864 | submenu->addItem(L"Reflection", GUI_ID_MODEL_MATERIAL_REFLECTION); | 864 | submenu->addItem(L"Reflection", GUI_ID_MODEL_MATERIAL_REFLECTION); |
865 | 865 | ||
866 | submenu = menu->getSubMenu(2); | 866 | submenu = menu->getSubMenu(2); |
867 | submenu->addItem(L"Maya Style", GUI_ID_CAMERA_MAYA); | 867 | submenu->addItem(L"Maya Style", GUI_ID_CAMERA_MAYA); |
868 | submenu->addItem(L"First Person", GUI_ID_CAMERA_FIRST_PERSON); | 868 | submenu->addItem(L"First Person", GUI_ID_CAMERA_FIRST_PERSON); |
869 | 869 | ||
870 | submenu = menu->getSubMenu(3); | 870 | submenu = menu->getSubMenu(3); |
871 | submenu->addItem(L"About", GUI_ID_ABOUT); | 871 | submenu->addItem(L"About", GUI_ID_ABOUT); |
872 | 872 | ||
873 | /* | 873 | /* |
874 | Below the menu we want a toolbar, onto which we can place colored | 874 | Below the menu we want a toolbar, onto which we can place colored |
875 | buttons and important looking stuff like a senseless combobox. | 875 | buttons and important looking stuff like a senseless combobox. |
876 | */ | 876 | */ |
877 | 877 | ||
878 | // create toolbar | 878 | // create toolbar |
879 | 879 | ||
880 | gui::IGUIToolBar* bar = env->addToolBar(); | 880 | gui::IGUIToolBar* bar = env->addToolBar(); |
881 | 881 | ||
882 | video::ITexture* image = driver->getTexture("open.png"); | 882 | video::ITexture* image = driver->getTexture("open.png"); |
883 | bar->addButton(GUI_ID_BUTTON_OPEN_MODEL, 0, L"Open a model",image, 0, false, true); | 883 | bar->addButton(GUI_ID_BUTTON_OPEN_MODEL, 0, L"Open a model",image, 0, false, true); |
884 | 884 | ||
885 | image = driver->getTexture("tools.png"); | 885 | image = driver->getTexture("tools.png"); |
886 | bar->addButton(GUI_ID_BUTTON_SHOW_TOOLBOX, 0, L"Open Toolset",image, 0, false, true); | 886 | bar->addButton(GUI_ID_BUTTON_SHOW_TOOLBOX, 0, L"Open Toolset",image, 0, false, true); |
887 | 887 | ||
888 | image = driver->getTexture("zip.png"); | 888 | image = driver->getTexture("zip.png"); |
889 | bar->addButton(GUI_ID_BUTTON_SELECT_ARCHIVE, 0, L"Set Model Archive",image, 0, false, true); | 889 | bar->addButton(GUI_ID_BUTTON_SELECT_ARCHIVE, 0, L"Set Model Archive",image, 0, false, true); |
890 | 890 | ||
891 | image = driver->getTexture("help.png"); | 891 | image = driver->getTexture("help.png"); |
892 | bar->addButton(GUI_ID_BUTTON_SHOW_ABOUT, 0, L"Open Help", image, 0, false, true); | 892 | bar->addButton(GUI_ID_BUTTON_SHOW_ABOUT, 0, L"Open Help", image, 0, false, true); |
893 | 893 | ||
894 | // create a combobox for texture filters | 894 | // create a combobox for texture filters |
895 | 895 | ||
896 | gui::IGUIComboBox* box = env->addComboBox(core::rect<s32>(250,4,350,23), bar, GUI_ID_TEXTUREFILTER); | 896 | gui::IGUIComboBox* box = env->addComboBox(core::rect<s32>(250,4,350,23), bar, GUI_ID_TEXTUREFILTER); |
897 | box->addItem(L"No filtering"); | 897 | box->addItem(L"No filtering"); |
898 | box->addItem(L"Bilinear"); | 898 | box->addItem(L"Bilinear"); |
899 | box->addItem(L"Trilinear"); | 899 | box->addItem(L"Trilinear"); |
900 | box->addItem(L"Anisotropic"); | 900 | box->addItem(L"Anisotropic"); |
901 | box->addItem(L"Isotropic"); | 901 | box->addItem(L"Isotropic"); |
902 | 902 | ||
903 | /* | 903 | /* |
904 | To make the editor look a little bit better, we disable transparent gui | 904 | To make the editor look a little bit better, we disable transparent gui |
905 | elements, and add an Irrlicht Engine logo. In addition, a text showing | 905 | elements, and add an Irrlicht Engine logo. In addition, a text showing |
906 | the current frames per second value is created and the window caption is | 906 | the current frames per second value is created and the window caption is |
907 | changed. | 907 | changed. |
908 | */ | 908 | */ |
909 | 909 | ||
910 | // disable alpha | 910 | // disable alpha |
911 | 911 | ||
912 | for (s32 i=0; i<gui::EGDC_COUNT ; ++i) | 912 | for (s32 i=0; i<gui::EGDC_COUNT ; ++i) |
913 | { | 913 | { |
914 | video::SColor col = env->getSkin()->getColor((gui::EGUI_DEFAULT_COLOR)i); | 914 | video::SColor col = env->getSkin()->getColor((gui::EGUI_DEFAULT_COLOR)i); |
915 | col.setAlpha(255); | 915 | col.setAlpha(255); |
916 | env->getSkin()->setColor((gui::EGUI_DEFAULT_COLOR)i, col); | 916 | env->getSkin()->setColor((gui::EGUI_DEFAULT_COLOR)i, col); |
917 | } | 917 | } |
918 | 918 | ||
919 | // add a tabcontrol | 919 | // add a tabcontrol |
920 | 920 | ||
921 | createToolBox(); | 921 | createToolBox(); |
922 | 922 | ||
923 | // create fps text | 923 | // create fps text |
924 | 924 | ||
925 | IGUIStaticText* fpstext = env->addStaticText(L"", | 925 | IGUIStaticText* fpstext = env->addStaticText(L"", |
926 | core::rect<s32>(400,4,570,23), true, false, bar); | 926 | core::rect<s32>(400,4,570,23), true, false, bar); |
927 | 927 | ||
928 | IGUIStaticText* postext = env->addStaticText(L"", | 928 | IGUIStaticText* postext = env->addStaticText(L"", |
929 | core::rect<s32>(10,50,470,80),false, false, 0, GUI_ID_POSITION_TEXT); | 929 | core::rect<s32>(10,50,470,80),false, false, 0, GUI_ID_POSITION_TEXT); |
930 | postext->setVisible(false); | 930 | postext->setVisible(false); |
931 | 931 | ||
932 | // set window caption | 932 | // set window caption |
933 | 933 | ||
934 | Caption += " - ["; | 934 | Caption += " - ["; |
935 | Caption += driver->getName(); | 935 | Caption += driver->getName(); |
936 | Caption += "]"; | 936 | Caption += "]"; |
937 | Device->setWindowCaption(Caption.c_str()); | 937 | Device->setWindowCaption(Caption.c_str()); |
938 | 938 | ||
939 | /* | 939 | /* |
940 | That's nearly the whole application. We simply show the about message | 940 | That's nearly the whole application. We simply show the about message |
941 | box at start up, and load the first model. To make everything look | 941 | box at start up, and load the first model. To make everything look |
942 | better, a skybox is created and a user controlled camera, to make the | 942 | better, a skybox is created and a user controlled camera, to make the |
943 | application a little bit more interactive. Finally, everything is drawn | 943 | application a little bit more interactive. Finally, everything is drawn |
944 | in a standard drawing loop. | 944 | in a standard drawing loop. |
945 | */ | 945 | */ |
946 | 946 | ||
947 | // show about message box and load default model | 947 | // show about message box and load default model |
948 | if (argc==1) | 948 | if (argc==1) |
949 | showAboutText(); | 949 | showAboutText(); |
950 | loadModel(StartUpModelFile.c_str()); | 950 | loadModel(StartUpModelFile.c_str()); |
951 | 951 | ||
952 | // add skybox | 952 | // add skybox |
953 | 953 | ||
954 | SkyBox = smgr->addSkyBoxSceneNode( | 954 | SkyBox = smgr->addSkyBoxSceneNode( |
955 | driver->getTexture("irrlicht2_up.jpg"), | 955 | driver->getTexture("irrlicht2_up.jpg"), |
956 | driver->getTexture("irrlicht2_dn.jpg"), | 956 | driver->getTexture("irrlicht2_dn.jpg"), |
957 | driver->getTexture("irrlicht2_lf.jpg"), | 957 | driver->getTexture("irrlicht2_lf.jpg"), |
958 | driver->getTexture("irrlicht2_rt.jpg"), | 958 | driver->getTexture("irrlicht2_rt.jpg"), |
959 | driver->getTexture("irrlicht2_ft.jpg"), | 959 | driver->getTexture("irrlicht2_ft.jpg"), |
960 | driver->getTexture("irrlicht2_bk.jpg")); | 960 | driver->getTexture("irrlicht2_bk.jpg")); |
961 | 961 | ||
962 | // add a camera scene node | 962 | // add a camera scene node |
963 | Camera[0] = smgr->addCameraSceneNodeMaya(); | 963 | Camera[0] = smgr->addCameraSceneNodeMaya(); |
964 | Camera[0]->setFarValue(20000.f); | 964 | Camera[0]->setFarValue(20000.f); |
965 | // Maya cameras reposition themselves relative to their target, so target the location | 965 | // Maya cameras reposition themselves relative to their target, so target the location |
966 | // where the mesh scene node is placed. | 966 | // where the mesh scene node is placed. |
967 | Camera[0]->setTarget(core::vector3df(0,30,0)); | 967 | Camera[0]->setTarget(core::vector3df(0,30,0)); |
968 | 968 | ||
969 | Camera[1] = smgr->addCameraSceneNodeFPS(); | 969 | Camera[1] = smgr->addCameraSceneNodeFPS(); |
970 | Camera[1]->setFarValue(20000.f); | 970 | Camera[1]->setFarValue(20000.f); |
971 | Camera[1]->setPosition(core::vector3df(0,0,-70)); | 971 | Camera[1]->setPosition(core::vector3df(0,0,-70)); |
972 | Camera[1]->setTarget(core::vector3df(0,30,0)); | 972 | Camera[1]->setTarget(core::vector3df(0,30,0)); |
973 | 973 | ||
974 | setActiveCamera(Camera[0]); | 974 | setActiveCamera(Camera[0]); |
975 | 975 | ||
976 | // load the irrlicht engine logo | 976 | // load the irrlicht engine logo |
977 | IGUIImage *img = | 977 | IGUIImage *img = |
978 | env->addImage(driver->getTexture("irrlichtlogo2.png"), | 978 | env->addImage(driver->getTexture("irrlichtlogo2.png"), |
979 | core::position2d<s32>(10, driver->getScreenSize().Height - 128)); | 979 | core::position2d<s32>(10, driver->getScreenSize().Height - 128)); |
980 | 980 | ||
981 | // lock the logo's edges to the bottom left corner of the screen | 981 | // lock the logo's edges to the bottom left corner of the screen |
982 | img->setAlignment(EGUIA_UPPERLEFT, EGUIA_UPPERLEFT, | 982 | img->setAlignment(EGUIA_UPPERLEFT, EGUIA_UPPERLEFT, |
983 | EGUIA_LOWERRIGHT, EGUIA_LOWERRIGHT); | 983 | EGUIA_LOWERRIGHT, EGUIA_LOWERRIGHT); |
984 | 984 | ||
985 | // remember state so we notice when the window does lose the focus | 985 | // remember state so we notice when the window does lose the focus |
986 | bool hasFocus = Device->isWindowFocused(); | 986 | bool hasFocus = Device->isWindowFocused(); |
987 | 987 | ||
988 | // draw everything | 988 | // draw everything |
989 | 989 | ||
990 | while(Device->run() && driver) | 990 | while(Device->run() && driver) |
991 | { | 991 | { |
992 | // Catch focus changes (workaround until Irrlicht has events for this) | 992 | // Catch focus changes (workaround until Irrlicht has events for this) |
993 | bool focused = Device->isWindowFocused(); | 993 | bool focused = Device->isWindowFocused(); |
994 | if ( hasFocus && !focused ) | 994 | if ( hasFocus && !focused ) |
995 | onKillFocus(); | 995 | onKillFocus(); |
996 | hasFocus = focused; | 996 | hasFocus = focused; |
997 | 997 | ||
998 | if (Device->isWindowActive()) | 998 | if (Device->isWindowActive()) |
999 | { | 999 | { |
1000 | driver->beginScene(true, true, video::SColor(150,50,50,50)); | 1000 | driver->beginScene(true, true, video::SColor(150,50,50,50)); |
1001 | 1001 | ||
1002 | smgr->drawAll(); | 1002 | smgr->drawAll(); |
1003 | env->drawAll(); | 1003 | env->drawAll(); |
1004 | 1004 | ||
1005 | driver->endScene(); | 1005 | driver->endScene(); |
1006 | 1006 | ||
1007 | // update information about current frame-rate | 1007 | // update information about current frame-rate |
1008 | core::stringw str(L"FPS: "); | 1008 | core::stringw str(L"FPS: "); |
1009 | str.append(core::stringw(driver->getFPS())); | 1009 | str.append(core::stringw(driver->getFPS())); |
1010 | str += L" Tris: "; | 1010 | str += L" Tris: "; |
1011 | str.append(core::stringw(driver->getPrimitiveCountDrawn())); | 1011 | str.append(core::stringw(driver->getPrimitiveCountDrawn())); |
1012 | fpstext->setText(str.c_str()); | 1012 | fpstext->setText(str.c_str()); |
1013 | 1013 | ||
1014 | // update information about the active camera | 1014 | // update information about the active camera |
1015 | scene::ICameraSceneNode* cam = Device->getSceneManager()->getActiveCamera(); | 1015 | scene::ICameraSceneNode* cam = Device->getSceneManager()->getActiveCamera(); |
1016 | str = L"Pos: "; | 1016 | str = L"Pos: "; |
1017 | str.append(core::stringw(cam->getPosition().X)); | 1017 | str.append(core::stringw(cam->getPosition().X)); |
1018 | str += L" "; | 1018 | str += L" "; |
1019 | str.append(core::stringw(cam->getPosition().Y)); | 1019 | str.append(core::stringw(cam->getPosition().Y)); |
1020 | str += L" "; | 1020 | str += L" "; |
1021 | str.append(core::stringw(cam->getPosition().Z)); | 1021 | str.append(core::stringw(cam->getPosition().Z)); |
1022 | str += L" Tgt: "; | 1022 | str += L" Tgt: "; |
1023 | str.append(core::stringw(cam->getTarget().X)); | 1023 | str.append(core::stringw(cam->getTarget().X)); |
1024 | str += L" "; | 1024 | str += L" "; |
1025 | str.append(core::stringw(cam->getTarget().Y)); | 1025 | str.append(core::stringw(cam->getTarget().Y)); |
1026 | str += L" "; | 1026 | str += L" "; |
1027 | str.append(core::stringw(cam->getTarget().Z)); | 1027 | str.append(core::stringw(cam->getTarget().Z)); |
1028 | postext->setText(str.c_str()); | 1028 | postext->setText(str.c_str()); |
1029 | 1029 | ||
1030 | // update the tool dialog | 1030 | // update the tool dialog |
1031 | updateToolBox(); | 1031 | updateToolBox(); |
1032 | } | 1032 | } |
1033 | else | 1033 | else |
1034 | Device->yield(); | 1034 | Device->yield(); |
1035 | } | 1035 | } |
1036 | 1036 | ||
1037 | Device->drop(); | 1037 | Device->drop(); |
1038 | return 0; | 1038 | return 0; |
1039 | } | 1039 | } |
1040 | 1040 | ||
1041 | /* | 1041 | /* |
1042 | **/ | 1042 | **/ |
diff --git a/libraries/irrlicht-1.8/examples/09.Meshviewer/resource.h b/libraries/irrlicht-1.8/examples/09.Meshviewer/resource.h index a8e8616..4eabbb3 100644 --- a/libraries/irrlicht-1.8/examples/09.Meshviewer/resource.h +++ b/libraries/irrlicht-1.8/examples/09.Meshviewer/resource.h | |||
@@ -1,16 +1,16 @@ | |||
1 | //{{NO_DEPENDENCIES}} | 1 | //{{NO_DEPENDENCIES}} |
2 | // Microsoft Visual C++ generated include file. | 2 | // Microsoft Visual C++ generated include file. |
3 | // Used by 9.Meshviewer.rc | 3 | // Used by 9.Meshviewer.rc |
4 | // | 4 | // |
5 | #define IDI_ICON1 101 | 5 | #define IDI_ICON1 101 |
6 | 6 | ||
7 | // Next default values for new objects | 7 | // Next default values for new objects |
8 | // | 8 | // |
9 | #ifdef APSTUDIO_INVOKED | 9 | #ifdef APSTUDIO_INVOKED |
10 | #ifndef APSTUDIO_READONLY_SYMBOLS | 10 | #ifndef APSTUDIO_READONLY_SYMBOLS |
11 | #define _APS_NEXT_RESOURCE_VALUE 102 | 11 | #define _APS_NEXT_RESOURCE_VALUE 102 |
12 | #define _APS_NEXT_COMMAND_VALUE 40001 | 12 | #define _APS_NEXT_COMMAND_VALUE 40001 |
13 | #define _APS_NEXT_CONTROL_VALUE 1001 | 13 | #define _APS_NEXT_CONTROL_VALUE 1001 |
14 | #define _APS_NEXT_SYMED_VALUE 101 | 14 | #define _APS_NEXT_SYMED_VALUE 101 |
15 | #endif | 15 | #endif |
16 | #endif | 16 | #endif |
diff --git a/libraries/irrlicht-1.8/examples/09.Meshviewer/tutorial.html b/libraries/irrlicht-1.8/examples/09.Meshviewer/tutorial.html index d296b6c..a17db9f 100644 --- a/libraries/irrlicht-1.8/examples/09.Meshviewer/tutorial.html +++ b/libraries/irrlicht-1.8/examples/09.Meshviewer/tutorial.html | |||
@@ -1,182 +1,182 @@ | |||
1 | <html> | 1 | <html> |
2 | <head> | 2 | <head> |
3 | <title>Irrlicht Engine Tutorial</title> | 3 | <title>Irrlicht Engine Tutorial</title> |
4 | <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | 4 | <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> |
5 | </head> | 5 | </head> |
6 | 6 | ||
7 | <body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> | 7 | <body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> |
8 | <br> | 8 | <br> |
9 | <table width="95%" border="0" cellspacing="0" cellpadding="2" align="center"> | 9 | <table width="95%" border="0" cellspacing="0" cellpadding="2" align="center"> |
10 | <tr> | 10 | <tr> |
11 | <td bgcolor="#666699" width="10"><b><a href="http://irrlicht.sourceforge.net" target="_blank"><img src="../../media/irrlichtlogo.jpg" width="88" height="31" border="0"></a></b></td> | 11 | <td bgcolor="#666699" width="10"><b><a href="http://irrlicht.sourceforge.net" target="_blank"><img src="../../media/irrlichtlogo.jpg" width="88" height="31" border="0"></a></b></td> |
12 | <td bgcolor="#666699" width="100%"> | 12 | <td bgcolor="#666699" width="100%"> |
13 | <div align="center"> | 13 | <div align="center"> |
14 | <div align="left"><b><font color="#FFFFFF">Tutorial 9. Mesh Viewer</font></b></div> | 14 | <div align="left"><b><font color="#FFFFFF">Tutorial 9. Mesh Viewer</font></b></div> |
15 | </div> | 15 | </div> |
16 | </td> | 16 | </td> |
17 | </tr> | 17 | </tr> |
18 | <tr bgcolor="#eeeeff"> | 18 | <tr bgcolor="#eeeeff"> |
19 | <td height="90" colspan="2"> | 19 | <td height="90" colspan="2"> |
20 | <div align="left"> | 20 | <div align="left"> |
21 | <p> This tutorial shows how to create a more complex application with | 21 | <p> This tutorial shows how to create a more complex application with |
22 | the engine. We construct a simple mesh viewer using the user interface | 22 | the engine. We construct a simple mesh viewer using the user interface |
23 | API and the scenemanagement of Irrlicht.<br> | 23 | API and the scenemanagement of Irrlicht.<br> |
24 | The tutorial shows how to create and use Buttons, Windows, Toolbars, | 24 | The tutorial shows how to create and use Buttons, Windows, Toolbars, |
25 | Menus, ComboBoxes, Tabcontrols, Editboxes, Images, MessageBoxes, SkyBoxes, | 25 | Menus, ComboBoxes, Tabcontrols, Editboxes, Images, MessageBoxes, SkyBoxes, |
26 | and how to parse XML files with the integrated XML reader of the engine.</p> | 26 | and how to parse XML files with the integrated XML reader of the engine.</p> |
27 | <p>The program which is described here will look like this:</p> | 27 | <p>The program which is described here will look like this:</p> |
28 | <p align="center"><img src="../../media/009shot.jpg" width="260" height="203"><br> | 28 | <p align="center"><img src="../../media/009shot.jpg" width="260" height="203"><br> |
29 | </p> | 29 | </p> |
30 | </div> | 30 | </div> |
31 | </td> | 31 | </td> |
32 | </tr> | 32 | </tr> |
33 | </table> | 33 | </table> |
34 | <br> | 34 | <br> |
35 | <table width="95%" border="0" cellspacing="0" cellpadding="2" align="center"> | 35 | <table width="95%" border="0" cellspacing="0" cellpadding="2" align="center"> |
36 | <tr> | 36 | <tr> |
37 | <td bgcolor="#666699"> <b><font color="#FFFFFF">Lets start!</font></b></td> | 37 | <td bgcolor="#666699"> <b><font color="#FFFFFF">Lets start!</font></b></td> |
38 | </tr> | 38 | </tr> |
39 | <tr> | 39 | <tr> |
40 | <td height="90" bgcolor="#eeeeff" valign="top"> <div align="left"> | 40 | <td height="90" bgcolor="#eeeeff" valign="top"> <div align="left"> |
41 | <div align="left"> | 41 | <div align="left"> |
42 | <p>We start like in most other tutorials: Include all nesessary header | 42 | <p>We start like in most other tutorials: Include all nesessary header |
43 | files, add a comment to let the engine be linked with the right .lib | 43 | files, add a comment to let the engine be linked with the right .lib |
44 | file in Visual Studio, and deklare some global variables. We also | 44 | file in Visual Studio, and deklare some global variables. We also |
45 | add two 'using namespece' statements, so we do not need to write the | 45 | add two 'using namespece' statements, so we do not need to write the |
46 | whole names of all classes. In this tutorial, we use a lot stuff from | 46 | whole names of all classes. In this tutorial, we use a lot stuff from |
47 | the gui namespace.</p> | 47 | the gui namespace.</p> |
48 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> | 48 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> |
49 | <tr> | 49 | <tr> |
50 | <td> <pre>#include <irrlicht.h><br>#include <iostream><br><br>using namespace irr;<br>using namespace gui;<br><br>#pragma comment(lib, "Irrlicht.lib")<br><br>IrrlichtDevice *Device = 0;<br>core::stringc StartUpModelFile;<br>core::stringw MessageText;<br>core::stringw Caption;<br>scene::IAnimatedMeshSceneNode* Model = 0;<br>scene::ISceneNode* SkyBox = 0;<br></pre></td> | 50 | <td> <pre>#include <irrlicht.h><br>#include <iostream><br><br>using namespace irr;<br>using namespace gui;<br><br>#pragma comment(lib, "Irrlicht.lib")<br><br>IrrlichtDevice *Device = 0;<br>core::stringc StartUpModelFile;<br>core::stringw MessageText;<br>core::stringw Caption;<br>scene::IAnimatedMeshSceneNode* Model = 0;<br>scene::ISceneNode* SkyBox = 0;<br></pre></td> |
51 | </tr> | 51 | </tr> |
52 | </table> | 52 | </table> |
53 | <p> The three following functions do several stuff used by the mesh | 53 | <p> The three following functions do several stuff used by the mesh |
54 | viewer. The first function showAboutText() simply displays a messagebox | 54 | viewer. The first function showAboutText() simply displays a messagebox |
55 | with a caption and a message text. The texts will be stored in the | 55 | with a caption and a message text. The texts will be stored in the |
56 | MessageText and Caption variables at startup.</p> | 56 | MessageText and Caption variables at startup.</p> |
57 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> | 57 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> |
58 | <tr> | 58 | <tr> |
59 | <td> <pre>void showAboutText()<br>{<br><font color="#006600"> // create modal message box with the text<br> // loaded from the xml file</font><font color="#00CC00">.</font><br> Device->getGUIEnvironment()->addMessageBox(<br> Caption.c_str(), MessageText.c_str());<br>}</pre></td> | 59 | <td> <pre>void showAboutText()<br>{<br><font color="#006600"> // create modal message box with the text<br> // loaded from the xml file</font><font color="#00CC00">.</font><br> Device->getGUIEnvironment()->addMessageBox(<br> Caption.c_str(), MessageText.c_str());<br>}</pre></td> |
60 | </tr> | 60 | </tr> |
61 | </table> | 61 | </table> |
62 | <p> The second function loadModel() loads a model and displays it using | 62 | <p> The second function loadModel() loads a model and displays it using |
63 | an addAnimatedMeshSceneNode and the scene manager. Nothing difficult. | 63 | an addAnimatedMeshSceneNode and the scene manager. Nothing difficult. |
64 | It also displays a short message box, if the model could not be loaded. | 64 | It also displays a short message box, if the model could not be loaded. |
65 | </p> | 65 | </p> |
66 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> | 66 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> |
67 | <tr> | 67 | <tr> |
68 | <td> <pre>void loadModel(const c8* filename)<br>{<br> <font color="#006600">// load a model into the engine</font><br> if (Model)<br> Model->remove();<br> Model = 0;<br><br> scene::IAnimatedMesh* m = Device->getSceneManager()->getMesh(filename);<br> if (!m) <br> {<br> <font color="#006600">// model could not be loaded</font><br> if (StartUpModelFile != filename)<br> Device->getGUIEnvironment()->addMessageBox(<br> Caption.c_str(), L"The model could not be loaded. " \<br> L"Maybe it is not a supported file format.");<br> return;<br> }<br><br><font color="#006600"> // set default material properties</font><br> Model = Device->getSceneManager()->addAnimatedMeshSceneNode(m);<br> Model->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);<br> Model->setMaterialFlag(video::EMF_LIGHTING, false);<br> Model->setDebugDataVisible(true);<br>}</pre></td> | 68 | <td> <pre>void loadModel(const c8* filename)<br>{<br> <font color="#006600">// load a model into the engine</font><br> if (Model)<br> Model->remove();<br> Model = 0;<br><br> scene::IAnimatedMesh* m = Device->getSceneManager()->getMesh(filename);<br> if (!m) <br> {<br> <font color="#006600">// model could not be loaded</font><br> if (StartUpModelFile != filename)<br> Device->getGUIEnvironment()->addMessageBox(<br> Caption.c_str(), L"The model could not be loaded. " \<br> L"Maybe it is not a supported file format.");<br> return;<br> }<br><br><font color="#006600"> // set default material properties</font><br> Model = Device->getSceneManager()->addAnimatedMeshSceneNode(m);<br> Model->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);<br> Model->setMaterialFlag(video::EMF_LIGHTING, false);<br> Model->setDebugDataVisible(true);<br>}</pre></td> |
69 | </tr> | 69 | </tr> |
70 | </table> | 70 | </table> |
71 | <p> Finally, the third function creates a toolbox window. In this simple | 71 | <p> Finally, the third function creates a toolbox window. In this simple |
72 | mesh viewer, this toolbox only contains a tab control with three edit | 72 | mesh viewer, this toolbox only contains a tab control with three edit |
73 | boxes for changing the scale of the displayed model.</p> | 73 | boxes for changing the scale of the displayed model.</p> |
74 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> | 74 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> |
75 | <tr> | 75 | <tr> |
76 | <td> <pre>void createToolBox()<br>{<br> <font color="#006600">// remove tool box if already there</font><br> IGUIEnvironment* env = Device->getGUIEnvironment();<br> IGUIElement* root = env->getRootGUIElement();<br> IGUIElement* e = root->getElementFromId(5000, true);<br> if (e) e->remove();<br><br> <font color="#006600">// create the toolbox window</font><br> IGUIWindow* wnd = env->addWindow(core::rect<s32>(450,25,640,480),<br> false, L"Toolset", 0, 5000);<br><br> <font color="#006600">// create tab control and tabs</font><br> IGUITabControl* tab = env->addTabControl(<br> core::rect<s32>(2,20,640-452,480-7), wnd, true, true);<br> IGUITab* t1 = tab->addTab(L"Scale");<br> IGUITab* t2 = tab->addTab(L"Empty Tab");<br><br> <font color="#006600">// add some edit boxes and a button to tab one</font><br> env->addEditBox(L"1.0", core::rect<s32>(40,50,130,70), true, t1, 901);<br> env->addEditBox(L"1.0", core::rect<s32>(40,80,130,100), true, t1, 902);<br> env->addEditBox(L"1.0", core::rect<s32>(40,110,130,130), true, t1, 903);<br> env->addButton(core::rect<s32>(10,150,100,190), t1, 1101, L"set");<br><br> // bring irrlicht engine logo to front, because it<br> // now may be below the newly created toolbox<br> root->bringToFront(root->getElementFromId(666, true));<br>}</pre></td> | 76 | <td> <pre>void createToolBox()<br>{<br> <font color="#006600">// remove tool box if already there</font><br> IGUIEnvironment* env = Device->getGUIEnvironment();<br> IGUIElement* root = env->getRootGUIElement();<br> IGUIElement* e = root->getElementFromId(5000, true);<br> if (e) e->remove();<br><br> <font color="#006600">// create the toolbox window</font><br> IGUIWindow* wnd = env->addWindow(core::rect<s32>(450,25,640,480),<br> false, L"Toolset", 0, 5000);<br><br> <font color="#006600">// create tab control and tabs</font><br> IGUITabControl* tab = env->addTabControl(<br> core::rect<s32>(2,20,640-452,480-7), wnd, true, true);<br> IGUITab* t1 = tab->addTab(L"Scale");<br> IGUITab* t2 = tab->addTab(L"Empty Tab");<br><br> <font color="#006600">// add some edit boxes and a button to tab one</font><br> env->addEditBox(L"1.0", core::rect<s32>(40,50,130,70), true, t1, 901);<br> env->addEditBox(L"1.0", core::rect<s32>(40,80,130,100), true, t1, 902);<br> env->addEditBox(L"1.0", core::rect<s32>(40,110,130,130), true, t1, 903);<br> env->addButton(core::rect<s32>(10,150,100,190), t1, 1101, L"set");<br><br> // bring irrlicht engine logo to front, because it<br> // now may be below the newly created toolbox<br> root->bringToFront(root->getElementFromId(666, true));<br>}</pre></td> |
77 | </tr> | 77 | </tr> |
78 | </table> | 78 | </table> |
79 | <p> To get all the events sent by the GUI Elements, we need to create | 79 | <p> To get all the events sent by the GUI Elements, we need to create |
80 | an event receiver. This one is really simple. If an event occurs, | 80 | an event receiver. This one is really simple. If an event occurs, |
81 | it checks the id of the caller and the event type, and starts an action | 81 | it checks the id of the caller and the event type, and starts an action |
82 | based on these values. For example, if a menu item with id 100 was | 82 | based on these values. For example, if a menu item with id 100 was |
83 | selected, if opens a file-open-dialog. </p> | 83 | selected, if opens a file-open-dialog. </p> |
84 | </div> | 84 | </div> |
85 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> | 85 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> |
86 | <tr> | 86 | <tr> |
87 | <td> <pre><font size="2">class MyEventReceiver : public IEventReceiver<br>{<br>public:<br> virtual bool OnEvent(const SEvent& event)<br> {<br> if (event.EventType == EET_GUI_EVENT)<br> {<br> s32 id = event.GUIEvent.Caller->getID();<br> IGUIEnvironment* env = Device->getGUIEnvironment();<br> switch(event.GUIEvent.EventType)<br> {<br> case EGET_MENU_ITEM_SELECTED:<br> {<br> <font color="#006600"> // a menu item was clicked</font><br> IGUIContextMenu* menu = (IGUIContextMenu*)event.GUIEvent.Caller;<br> s32 id = menu->getItemCommandId(menu->getSelectedItem());<br> <br> switch(id)<br> {<br> case 100<font color="#006600">: // File -> Open Mode</font>l<br> env->addFileOpenDialog(L"Please select a model file to open");<br> break;<br> case 200<font color="#006600">: // File -> Quit</font><br> Device->closeDevice();<br> break;<br> case 300<font color="#006600">: // View -> Skybox</font><br> SkyBox->setVisible(!SkyBox->isVisible());<br> break;<br> case 400<font color="#006600">: // View -> Debug Informatio</font>n<br> if (Model)<br> Model->setDebugDataVisible(!Model->isDebugDataVisible());<br> break;<br> case 500<font color="#006600">: // Help->About</font><br> showAboutText();<br> break;<br> case 610<font color="#006600">: // View -> Material -> Soli</font>d<br> if (Model)<br> Model->setMaterialType(video::EMT_SOLID);<br> break;<br> case 620<font color="#006600">: // View -> Material -> Transparen</font>t<br> if (Model)<br> Model->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);<br> break;<br> case 630<font color="#006600">: // View -> Material -> Reflectio</font>n<br> if (Model)<br> Model->setMaterialType(video::EMT_SPHERE_MAP);<br> break;<br> }<br> break;<br> }<br> case EGET_FILE_SELECTED:<br> {<br> <font color="#006600"> // load the model file, selected in the file open dialo</font>g<br> IGUIFileOpenDialog* dialog = <br> (IGUIFileOpenDialog*)event.GUIEvent.Caller;<br> loadModel(core::stringc(dialog->getFilename()).c_str());<br> }<br> case EGET_BUTTON_CLICKED:<br> switch(id)<br> {<br> case 1101:<br> {<br> <font color="#006600"> // set scal</font>e<br> gui::IGUIElement* root = env->getRootGUIElement();<br> core::vector3df scale;<br> core::stringc s;<br> s = root->getElementFromId(901, true)->getText();<br> scale.X = (f32)atof(s.c_str());<br> s = root->getElementFromId(902, true)->getText();<br> scale.Y = (f32)atof(s.c_str());<br> s = root->getElementFromId(903, true)->getText();<br> scale.Z = (f32)atof(s.c_str());<br> if (Model)<br> Model->setScale(scale);<br> }<br> break;<br> case 1102:<br> env->addFileOpenDialog(L"Please select a model file to open");<br> break;<br> case 1103:<br> showAboutText();<br> break;<br> case 1104:<br> createToolBox();<br> break;<br> }<br> break;<br> }<br> }<br> return false;<br> }<br>};</font></pre></td> | 87 | <td> <pre><font size="2">class MyEventReceiver : public IEventReceiver<br>{<br>public:<br> virtual bool OnEvent(const SEvent& event)<br> {<br> if (event.EventType == EET_GUI_EVENT)<br> {<br> s32 id = event.GUIEvent.Caller->getID();<br> IGUIEnvironment* env = Device->getGUIEnvironment();<br> switch(event.GUIEvent.EventType)<br> {<br> case EGET_MENU_ITEM_SELECTED:<br> {<br> <font color="#006600"> // a menu item was clicked</font><br> IGUIContextMenu* menu = (IGUIContextMenu*)event.GUIEvent.Caller;<br> s32 id = menu->getItemCommandId(menu->getSelectedItem());<br> <br> switch(id)<br> {<br> case 100<font color="#006600">: // File -> Open Mode</font>l<br> env->addFileOpenDialog(L"Please select a model file to open");<br> break;<br> case 200<font color="#006600">: // File -> Quit</font><br> Device->closeDevice();<br> break;<br> case 300<font color="#006600">: // View -> Skybox</font><br> SkyBox->setVisible(!SkyBox->isVisible());<br> break;<br> case 400<font color="#006600">: // View -> Debug Informatio</font>n<br> if (Model)<br> Model->setDebugDataVisible(!Model->isDebugDataVisible());<br> break;<br> case 500<font color="#006600">: // Help->About</font><br> showAboutText();<br> break;<br> case 610<font color="#006600">: // View -> Material -> Soli</font>d<br> if (Model)<br> Model->setMaterialType(video::EMT_SOLID);<br> break;<br> case 620<font color="#006600">: // View -> Material -> Transparen</font>t<br> if (Model)<br> Model->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);<br> break;<br> case 630<font color="#006600">: // View -> Material -> Reflectio</font>n<br> if (Model)<br> Model->setMaterialType(video::EMT_SPHERE_MAP);<br> break;<br> }<br> break;<br> }<br> case EGET_FILE_SELECTED:<br> {<br> <font color="#006600"> // load the model file, selected in the file open dialo</font>g<br> IGUIFileOpenDialog* dialog = <br> (IGUIFileOpenDialog*)event.GUIEvent.Caller;<br> loadModel(core::stringc(dialog->getFilename()).c_str());<br> }<br> case EGET_BUTTON_CLICKED:<br> switch(id)<br> {<br> case 1101:<br> {<br> <font color="#006600"> // set scal</font>e<br> gui::IGUIElement* root = env->getRootGUIElement();<br> core::vector3df scale;<br> core::stringc s;<br> s = root->getElementFromId(901, true)->getText();<br> scale.X = (f32)atof(s.c_str());<br> s = root->getElementFromId(902, true)->getText();<br> scale.Y = (f32)atof(s.c_str());<br> s = root->getElementFromId(903, true)->getText();<br> scale.Z = (f32)atof(s.c_str());<br> if (Model)<br> Model->setScale(scale);<br> }<br> break;<br> case 1102:<br> env->addFileOpenDialog(L"Please select a model file to open");<br> break;<br> case 1103:<br> showAboutText();<br> break;<br> case 1104:<br> createToolBox();<br> break;<br> }<br> break;<br> }<br> }<br> return false;<br> }<br>};</font></pre></td> |
88 | </tr> | 88 | </tr> |
89 | </table> | 89 | </table> |
90 | <p> Most of the hard work is done. We only need to create the Irrlicht | 90 | <p> Most of the hard work is done. We only need to create the Irrlicht |
91 | Engine device and all the buttons, menus and toolbars. We start up the | 91 | Engine device and all the buttons, menus and toolbars. We start up the |
92 | engine as usual, using createDevice(). To make our application catch | 92 | engine as usual, using createDevice(). To make our application catch |
93 | events, we set our eventreceiver as parameter. The #ifdef WIN32 preprocessor | 93 | events, we set our eventreceiver as parameter. The #ifdef WIN32 preprocessor |
94 | commands are not necesarry, but I included them to make the tutorial | 94 | commands are not necesarry, but I included them to make the tutorial |
95 | use DirectX on Windows and OpenGL on all other platforms like Linux. | 95 | use DirectX on Windows and OpenGL on all other platforms like Linux. |
96 | As you can see, there is also a unusual call to IrrlichtDevice::setResizeAble(). | 96 | As you can see, there is also a unusual call to IrrlichtDevice::setResizeAble(). |
97 | This makes the render window resizeable, which is quite useful for a | 97 | This makes the render window resizeable, which is quite useful for a |
98 | mesh viewer. </p> | 98 | mesh viewer. </p> |
99 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> | 99 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> |
100 | <tr> | 100 | <tr> |
101 | <td><pre>int main()<br>{<br> // ask user for driver | 101 | <td><pre>int main()<br>{<br> // ask user for driver |
102 | <br> video::E_DRIVER_TYPE driverType; | 102 | <br> video::E_DRIVER_TYPE driverType; |
103 | <br> printf("Please select the driver you want for this example:\n"\<br> " (a) Direct3D 9.0c\n (b) Direct3D 8.1\n (c) OpenGL 1.5\n"\<br> " (d) Software Renderer\n (e) Apfelbaum Software Renderer\n"\<br> " (f) NullDevice\n (otherKey) exit\n\n");<br><br> char key;<br> std::cin >> key;<br><br> switch(key)<br> {<br> case 'a': driverType = video::EDT_DIRECT3D9;break;<br> case 'b': driverType = video::EDT_DIRECT3D8;break;<br> case 'c': driverType = video::EDT_OPENGL; break;<br> case 'd': driverType = video::EDT_SOFTWARE; break;<br> case 'e': driverType = video::EDT_BURNINGSVIDEO;break;<br> case 'f': driverType = video::EDT_NULL; break;<br> default: return 1;<br> } | 103 | <br> printf("Please select the driver you want for this example:\n"\<br> " (a) Direct3D 9.0c\n (b) Direct3D 8.1\n (c) OpenGL 1.5\n"\<br> " (d) Software Renderer\n (e) Apfelbaum Software Renderer\n"\<br> " (f) NullDevice\n (otherKey) exit\n\n");<br><br> char key;<br> std::cin >> key;<br><br> switch(key)<br> {<br> case 'a': driverType = video::EDT_DIRECT3D9;break;<br> case 'b': driverType = video::EDT_DIRECT3D8;break;<br> case 'c': driverType = video::EDT_OPENGL; break;<br> case 'd': driverType = video::EDT_SOFTWARE; break;<br> case 'e': driverType = video::EDT_BURNINGSVIDEO;break;<br> case 'f': driverType = video::EDT_NULL; break;<br> default: return 1;<br> } |
104 | <br> // create device and exit if creation failed | 104 | <br> // create device and exit if creation failed |
105 | <br> MyEventReceiver receiver;<br> Device = createDevice(driverType, core::dimension2d<s32>(640, 480),<br> 16, false, false, false, &receiver); | 105 | <br> MyEventReceiver receiver;<br> Device = createDevice(driverType, core::dimension2d<s32>(640, 480),<br> 16, false, false, false, &receiver); |
106 | <br> if (Device == 0)<br> return 1; // could not create selected driver.<br><br> Device->setResizable(true);<br> Device->setWindowCaption(L"Irrlicht Engine - Loading...");<br><br> video::IVideoDriver* driver = Device->getVideoDriver();<br> IGUIEnvironment* env = Device->getGUIEnvironment();<br> scene::ISceneManager* smgr = Device->getSceneManager();<br></pre></td> | 106 | <br> if (Device == 0)<br> return 1; // could not create selected driver.<br><br> Device->setResizable(true);<br> Device->setWindowCaption(L"Irrlicht Engine - Loading...");<br><br> video::IVideoDriver* driver = Device->getVideoDriver();<br> IGUIEnvironment* env = Device->getGUIEnvironment();<br> scene::ISceneManager* smgr = Device->getSceneManager();<br></pre></td> |
107 | </tr> | 107 | </tr> |
108 | </table> | 108 | </table> |
109 | <p> The next step is to read the configuration file. It is stored in the | 109 | <p> The next step is to read the configuration file. It is stored in the |
110 | xml format and looks a little bit like this:<br> | 110 | xml format and looks a little bit like this:<br> |
111 | <br> | 111 | <br> |
112 | <font face="Courier New, Courier, mono"><?xml version="1.0"?><br> | 112 | <font face="Courier New, Courier, mono"><?xml version="1.0"?><br> |
113 | <config><br> | 113 | <config><br> |
114 | <startUpModel file="some filename" /><br> | 114 | <startUpModel file="some filename" /><br> |
115 | <messageText caption="Irrlicht Engine Mesh Viewer"><br> | 115 | <messageText caption="Irrlicht Engine Mesh Viewer"><br> |
116 | Hello!<br> | 116 | Hello!<br> |
117 | </messageText><br> | 117 | </messageText><br> |
118 | </config></font><br> | 118 | </config></font><br> |
119 | <br> | 119 | <br> |
120 | We need the data stored in there to be written into the global variables | 120 | We need the data stored in there to be written into the global variables |
121 | StartUpModelFile, MessageText and Caption. This is now done using the | 121 | StartUpModelFile, MessageText and Caption. This is now done using the |
122 | Irrlicht Engine integrated XML parser: </p> | 122 | Irrlicht Engine integrated XML parser: </p> |
123 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> | 123 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> |
124 | <tr> | 124 | <tr> |
125 | <td><pre> <font color="#006600">// read configuration from xml file</font><br> io::IXMLReader* xml =<br> Device->getFileSystem()->createXMLReader("../../media/config.xml");<br> while(xml && xml->read())<br> {<br> switch(xml->getNodeType())<br> {<br> case io::EXN_TEXT:<br> <font color="#006600">// in this xml file, the only text which occurs is the messageText</font><br> MessageText = xml->getNodeData();<br> break;<br> case io::EXN_ELEMENT:<br> {<br> if (core::stringw("startUpModel") == xml->getNodeName())<br> StartUpModelFile = xml->getAttributeValue(L"file");<br> else<br> if (core::stringw("messageText") == xml->getNodeName())<br> Caption = xml->getAttributeValue(L"caption");<br> }<br> break;<br> }<br> }<br> if (xml)<br> xml->drop(); <font color="#006600">// don't forget to delete the xml reader </font><br> | 125 | <td><pre> <font color="#006600">// read configuration from xml file</font><br> io::IXMLReader* xml =<br> Device->getFileSystem()->createXMLReader("../../media/config.xml");<br> while(xml && xml->read())<br> {<br> switch(xml->getNodeType())<br> {<br> case io::EXN_TEXT:<br> <font color="#006600">// in this xml file, the only text which occurs is the messageText</font><br> MessageText = xml->getNodeData();<br> break;<br> case io::EXN_ELEMENT:<br> {<br> if (core::stringw("startUpModel") == xml->getNodeName())<br> StartUpModelFile = xml->getAttributeValue(L"file");<br> else<br> if (core::stringw("messageText") == xml->getNodeName())<br> Caption = xml->getAttributeValue(L"caption");<br> }<br> break;<br> }<br> }<br> if (xml)<br> xml->drop(); <font color="#006600">// don't forget to delete the xml reader </font><br> |
126 | </pre></td> | 126 | </pre></td> |
127 | </tr> | 127 | </tr> |
128 | </table> | 128 | </table> |
129 | <p> That wasn't difficult. Now we'll set a nicer font and create the Menu. | 129 | <p> That wasn't difficult. Now we'll set a nicer font and create the Menu. |
130 | It is possible to create submenus for every menu item. The call menu->addItem(L"File", | 130 | It is possible to create submenus for every menu item. The call menu->addItem(L"File", |
131 | -1, true, true); for example adds a new menu Item with the name "File" | 131 | -1, true, true); for example adds a new menu Item with the name "File" |
132 | and the id -1. The following parameter says that the menu item should | 132 | and the id -1. The following parameter says that the menu item should |
133 | be enabled, and the last one says, that there should be a submenu. The | 133 | be enabled, and the last one says, that there should be a submenu. The |
134 | submenu can now be accessed with menu->getSubMenu(0), because the | 134 | submenu can now be accessed with menu->getSubMenu(0), because the |
135 | "File" entry is the menu item with index 0. </p> | 135 | "File" entry is the menu item with index 0. </p> |
136 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> | 136 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> |
137 | <tr> | 137 | <tr> |
138 | <td><pre> <font color="#006600">// set a nicer font</font><br> IGUISkin* skin = env->getSkin();<br> IGUIFont* font = env->getFont("../../media/fonthaettenschweiler.bmp");<br> if (font)<br> skin->setFont(font);<br><br><font color="#006600"> // create menu</font><br> gui::IGUIContextMenu* menu = env->addMenu();<br> menu->addItem(L"File", -1, true, true);<br> menu->addItem(L"View", -1, true, true);<br> menu->addItem(L"Help", -1, true, true);<br><br> gui::IGUIContextMenu* submenu;<br> submenu = menu->getSubMenu(0);<br> submenu->addItem(L"Open Model File...", 100);<br> submenu->addSeparator();<br> submenu->addItem(L"Quit", 200);<br><br> submenu = menu->getSubMenu(1);<br> submenu->addItem(L"toggle sky box visibility", 300);<br> submenu->addItem(L"toggle model debug information", 400);<br> submenu->addItem(L"model material", -1, true, true );<br><br> submenu = submenu->getSubMenu(2);<br> submenu->addItem(L"Solid", 610);<br> submenu->addItem(L"Transparent", 620);<br> submenu->addItem(L"Reflection", 630);<br><br> submenu = menu->getSubMenu(2);<br> submenu->addItem(L"About", 500); | 138 | <td><pre> <font color="#006600">// set a nicer font</font><br> IGUISkin* skin = env->getSkin();<br> IGUIFont* font = env->getFont("../../media/fonthaettenschweiler.bmp");<br> if (font)<br> skin->setFont(font);<br><br><font color="#006600"> // create menu</font><br> gui::IGUIContextMenu* menu = env->addMenu();<br> menu->addItem(L"File", -1, true, true);<br> menu->addItem(L"View", -1, true, true);<br> menu->addItem(L"Help", -1, true, true);<br><br> gui::IGUIContextMenu* submenu;<br> submenu = menu->getSubMenu(0);<br> submenu->addItem(L"Open Model File...", 100);<br> submenu->addSeparator();<br> submenu->addItem(L"Quit", 200);<br><br> submenu = menu->getSubMenu(1);<br> submenu->addItem(L"toggle sky box visibility", 300);<br> submenu->addItem(L"toggle model debug information", 400);<br> submenu->addItem(L"model material", -1, true, true );<br><br> submenu = submenu->getSubMenu(2);<br> submenu->addItem(L"Solid", 610);<br> submenu->addItem(L"Transparent", 620);<br> submenu->addItem(L"Reflection", 630);<br><br> submenu = menu->getSubMenu(2);<br> submenu->addItem(L"About", 500); |
139 | </pre></td> | 139 | </pre></td> |
140 | </tr> | 140 | </tr> |
141 | </table> | 141 | </table> |
142 | <br> | 142 | <br> |
143 | We want a toolbar, onto which we can place colored buttons and important | 143 | We want a toolbar, onto which we can place colored buttons and important |
144 | looking stuff like a senseless combobox.<br> | 144 | looking stuff like a senseless combobox.<br> |
145 | <br> | 145 | <br> |
146 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> | 146 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> |
147 | <tr> | 147 | <tr> |
148 | <td><pre><font color="#006600"> // create toolbar</font><br> gui::IGUIToolBar* bar = env->addToolBar();<br> bar->addButton(1102, 0, driver->getTexture("../../media/open.bmp"));<br> bar->addButton(1103, 0, driver->getTexture("../../media/help.bmp"));<br> bar->addButton(1104, 0, driver->getTexture("../../media/tools.bmp"));<br><br><font color="#006600"> // create a combobox with some senseless texts</font><br> gui::IGUIComboBox* box = env->addComboBox(core::rect<s32>(100,5,200,25), bar);<br> box->addItem(L"Bilinear");<br> box->addItem(L"Trilinear");<br> box->addItem(L"Anisotropic");<br> box->addItem(L"Isotropic");<br> box->addItem(L"Psychedelic");<br> box->addItem(L"No filtering");</pre></td> | 148 | <td><pre><font color="#006600"> // create toolbar</font><br> gui::IGUIToolBar* bar = env->addToolBar();<br> bar->addButton(1102, 0, driver->getTexture("../../media/open.bmp"));<br> bar->addButton(1103, 0, driver->getTexture("../../media/help.bmp"));<br> bar->addButton(1104, 0, driver->getTexture("../../media/tools.bmp"));<br><br><font color="#006600"> // create a combobox with some senseless texts</font><br> gui::IGUIComboBox* box = env->addComboBox(core::rect<s32>(100,5,200,25), bar);<br> box->addItem(L"Bilinear");<br> box->addItem(L"Trilinear");<br> box->addItem(L"Anisotropic");<br> box->addItem(L"Isotropic");<br> box->addItem(L"Psychedelic");<br> box->addItem(L"No filtering");</pre></td> |
149 | </tr> | 149 | </tr> |
150 | </table> | 150 | </table> |
151 | <br> | 151 | <br> |
152 | To make the editor look a little bit better, we disable transparent gui | 152 | To make the editor look a little bit better, we disable transparent gui |
153 | elements, and add a Irrlicht Engine logo. In addition, a text, which will | 153 | elements, and add a Irrlicht Engine logo. In addition, a text, which will |
154 | show the current frame per second value is created, and the window caption | 154 | show the current frame per second value is created, and the window caption |
155 | changed.<br> | 155 | changed.<br> |
156 | <br> | 156 | <br> |
157 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> | 157 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> |
158 | <tr> | 158 | <tr> |
159 | <td><pre> <font color="#006600">// disable alpha</font><br> for (s32 i=0; i<gui::EGDC_COUNT ; ++i)<br> {<br> video::SColor col = env->getSkin()->getColor((gui::EGUI_DEFAULT_COLOR)i);<br> col.setAlpha(255);<br> env->getSkin()->setColor((gui::EGUI_DEFAULT_COLOR)i, col);<br> }<br><br><font color="#006600"> // add a tabcontrol</font><br> createToolBox();<br><br> <font color="#006600">// add the irrlicht engine logo</font><br> IGUIImage* img = env->addImage(core::rect<s32>(22,429,108,460), 0, 666);<br> img->setImage(driver->getTexture("../../media/irrlichtlogoaligned.jpg"));<br><br> <font color="#006600">// create fps text </font><br> IGUIStaticText* fpstext =<br> env->addStaticText(L"", core::rect<s32>(210,26,270,41), true);<br><br> <font color="#006600">// set window caption</font><br> Caption += " - [";<br> Caption += driver->getName();<br> Caption += "]";<br> Device->setWindowCaption(Caption.c_str());</pre></td> | 159 | <td><pre> <font color="#006600">// disable alpha</font><br> for (s32 i=0; i<gui::EGDC_COUNT ; ++i)<br> {<br> video::SColor col = env->getSkin()->getColor((gui::EGUI_DEFAULT_COLOR)i);<br> col.setAlpha(255);<br> env->getSkin()->setColor((gui::EGUI_DEFAULT_COLOR)i, col);<br> }<br><br><font color="#006600"> // add a tabcontrol</font><br> createToolBox();<br><br> <font color="#006600">// add the irrlicht engine logo</font><br> IGUIImage* img = env->addImage(core::rect<s32>(22,429,108,460), 0, 666);<br> img->setImage(driver->getTexture("../../media/irrlichtlogoaligned.jpg"));<br><br> <font color="#006600">// create fps text </font><br> IGUIStaticText* fpstext =<br> env->addStaticText(L"", core::rect<s32>(210,26,270,41), true);<br><br> <font color="#006600">// set window caption</font><br> Caption += " - [";<br> Caption += driver->getName();<br> Caption += "]";<br> Device->setWindowCaption(Caption.c_str());</pre></td> |
160 | </tr> | 160 | </tr> |
161 | </table> | 161 | </table> |
162 | <br> | 162 | <br> |
163 | That's nearly the whole application. We simply show the about message | 163 | That's nearly the whole application. We simply show the about message |
164 | box at start up, and load the first model. To make everything look better, | 164 | box at start up, and load the first model. To make everything look better, |
165 | a skybox is created and a user controled camera, to make the application | 165 | a skybox is created and a user controled camera, to make the application |
166 | a little bit more interactive. Finally, everything is drawed in a standard | 166 | a little bit more interactive. Finally, everything is drawed in a standard |
167 | drawing loop.<br> | 167 | drawing loop.<br> |
168 | <br> | 168 | <br> |
169 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> | 169 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> |
170 | <tr> | 170 | <tr> |
171 | <td><pre> <font color="#006600">// show about message box and load default model</font><br> showAboutText();<br> loadModel(StartUpModelFile.c_str());<br><font color="#006600"><br> // add skybox</font> <br> SkyBox = smgr->addSkyBoxSceneNode(<br> driver->getTexture("../../media/irrlicht2_up.bmp"),<br> driver->getTexture("../../media/irrlicht2_dn.bmp"),<br> driver->getTexture("../../media/irrlicht2_lf.bmp"),<br> driver->getTexture("../../media/irrlicht2_rt.bmp"),<br> driver->getTexture("../../media/irrlicht2_ft.bmp"),<br> driver->getTexture("../../media/irrlicht2_bk.bmp"));<br><br><font color="#006600"> // add a camera scene node </font><br> smgr->addCameraSceneNodeMaya();<br> <br> <font color="#006600">// draw everything</font><br> while(Device->run() && driver)<br> if (Device->isWindowActive())<br> {<br> driver->beginScene(true, true, video::SColor(150,50,50,50));<br> smgr->drawAll();<br> env->drawAll();<br> <br> driver->endScene();<br><br> core::stringw str = L"FPS: ";<br> str += driver->getFPS();<br> fpstext->setText(str.c_str());<br> }<br> Device->drop();<br> return 0;<br>}<br></pre></td> | 171 | <td><pre> <font color="#006600">// show about message box and load default model</font><br> showAboutText();<br> loadModel(StartUpModelFile.c_str());<br><font color="#006600"><br> // add skybox</font> <br> SkyBox = smgr->addSkyBoxSceneNode(<br> driver->getTexture("../../media/irrlicht2_up.bmp"),<br> driver->getTexture("../../media/irrlicht2_dn.bmp"),<br> driver->getTexture("../../media/irrlicht2_lf.bmp"),<br> driver->getTexture("../../media/irrlicht2_rt.bmp"),<br> driver->getTexture("../../media/irrlicht2_ft.bmp"),<br> driver->getTexture("../../media/irrlicht2_bk.bmp"));<br><br><font color="#006600"> // add a camera scene node </font><br> smgr->addCameraSceneNodeMaya();<br> <br> <font color="#006600">// draw everything</font><br> while(Device->run() && driver)<br> if (Device->isWindowActive())<br> {<br> driver->beginScene(true, true, video::SColor(150,50,50,50));<br> smgr->drawAll();<br> env->drawAll();<br> <br> driver->endScene();<br><br> core::stringw str = L"FPS: ";<br> str += driver->getFPS();<br> fpstext->setText(str.c_str());<br> }<br> Device->drop();<br> return 0;<br>}<br></pre></td> |
172 | </tr> | 172 | </tr> |
173 | </table> | 173 | </table> |
174 | <br> | 174 | <br> |
175 | Compile and run this, and you have a fully functional 3d Mesh viewer.<br> | 175 | Compile and run this, and you have a fully functional 3d Mesh viewer.<br> |
176 | </div> | 176 | </div> |
177 | </td> | 177 | </td> |
178 | </tr> | 178 | </tr> |
179 | </table> | 179 | </table> |
180 | <p> </p> | 180 | <p> </p> |
181 | </body> | 181 | </body> |
182 | </html> | 182 | </html> |