aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/others/irrlicht-1.8.1/examples/02.Quake3Map
diff options
context:
space:
mode:
Diffstat (limited to 'src/others/irrlicht-1.8.1/examples/02.Quake3Map')
-rw-r--r--src/others/irrlicht-1.8.1/examples/02.Quake3Map/Makefile40
-rw-r--r--src/others/irrlicht-1.8.1/examples/02.Quake3Map/Quake3Map.cbp55
-rw-r--r--src/others/irrlicht-1.8.1/examples/02.Quake3Map/Quake3Map.dev59
-rw-r--r--src/others/irrlicht-1.8.1/examples/02.Quake3Map/Quake3Map.vcproj162
-rw-r--r--src/others/irrlicht-1.8.1/examples/02.Quake3Map/Quake3Map_vc10.vcxproj231
-rw-r--r--src/others/irrlicht-1.8.1/examples/02.Quake3Map/Quake3Map_vc11.vcxproj235
-rw-r--r--src/others/irrlicht-1.8.1/examples/02.Quake3Map/Quake3Map_vc8.vcproj231
-rw-r--r--src/others/irrlicht-1.8.1/examples/02.Quake3Map/Quake3Map_vc9.vcproj230
-rw-r--r--src/others/irrlicht-1.8.1/examples/02.Quake3Map/main.cpp206
-rw-r--r--src/others/irrlicht-1.8.1/examples/02.Quake3Map/tutorial.html181
10 files changed, 1630 insertions, 0 deletions
diff --git a/src/others/irrlicht-1.8.1/examples/02.Quake3Map/Makefile b/src/others/irrlicht-1.8.1/examples/02.Quake3Map/Makefile
new file mode 100644
index 0000000..09953cf
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/02.Quake3Map/Makefile
@@ -0,0 +1,40 @@
1# Makefile for Irrlicht Examples
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
4Target = 02.Quake3Map
5Sources = main.cpp
6
7# general compiler settings
8CPPFLAGS = -I../../include -I/usr/X11R6/include
9CXXFLAGS = -O3 -ffast-math
10#CXXFLAGS = -g -Wall
11
12#default target is Linux
13all: all_linux
14
15ifeq ($(HOSTTYPE), x86_64)
16LIBSELECT=64
17endif
18
19# target specific settings
20all_linux: LDFLAGS = -L/usr/X11R6/lib$(LIBSELECT) -L../../lib/Linux -lIrrlicht -lGL -lXxf86vm -lXext -lX11 -lXcursor
21all_linux clean_linux: SYSTEM=Linux
22all_win32: LDFLAGS = -L../../lib/Win32-gcc -lIrrlicht
23static_win32: LDFLAGS += -lgdi32 -lopengl32 -ld3dx9d -lwinmm -lm
24static_win32: CPPFLAGS += -D_IRR_STATIC_LIB_
25static_win32 all_win32 clean_win32: SYSTEM=Win32-gcc
26static_win32 all_win32 clean_win32: SUF=.exe
27# name of the binary - only valid for targets which set SYSTEM
28DESTPATH = ../../bin/$(SYSTEM)/$(Target)$(SUF)
29
30all_linux all_win32 static_win32:
31 $(warning Building...)
32 $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(Sources) -o $(DESTPATH) $(LDFLAGS)
33
34clean: clean_linux clean_win32
35 $(warning Cleaning...)
36
37clean_linux clean_win32:
38 @$(RM) $(DESTPATH)
39
40.PHONY: all all_win32 clean clean_linux clean_win32 static_win32
diff --git a/src/others/irrlicht-1.8.1/examples/02.Quake3Map/Quake3Map.cbp b/src/others/irrlicht-1.8.1/examples/02.Quake3Map/Quake3Map.cbp
new file mode 100644
index 0000000..59f82ba
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/02.Quake3Map/Quake3Map.cbp
@@ -0,0 +1,55 @@
1<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
2<CodeBlocks_project_file>
3 <FileVersion major="1" minor="6" />
4 <Project>
5 <Option title="Irrlicht Example 02 Quake Map" />
6 <Option pch_mode="0" />
7 <Option compiler="gcc" />
8 <Build>
9 <Target title="Linux">
10 <Option platforms="Unix;" />
11 <Option output="..\..\bin\Linux\QuakeMap" prefix_auto="0" extension_auto="0" />
12 <Option type="1" />
13 <Option compiler="gcc" />
14 <Compiler>
15 <Add option="-g" />
16 <Add option="-D_IRR_STATIC_LIB_" />
17 </Compiler>
18 <Linker>
19 <Add library="Xxf86vm" />
20 <Add library="Xcursor" />
21 <Add library="GL" />
22 <Add directory="..\..\lib\Linux" />
23 </Linker>
24 </Target>
25 <Target title="Windows">
26 <Option platforms="Windows;" />
27 <Option output="..\..\bin\Win32-gcc\Quake3Map" prefix_auto="0" extension_auto="1" />
28 <Option type="1" />
29 <Option compiler="gcc" />
30 <Compiler>
31 <Add option="-g" />
32 </Compiler>
33 <Linker>
34 <Add directory="..\..\lib\Win32-gcc" />
35 </Linker>
36 </Target>
37 </Build>
38 <VirtualTargets>
39 <Add alias="All" targets="Windows;Linux;" />
40 </VirtualTargets>
41 <Compiler>
42 <Add option="-g" />
43 <Add directory="..\..\include" />
44 </Compiler>
45 <Linker>
46 <Add library="Irrlicht" />
47 </Linker>
48 <Unit filename="main.cpp" />
49 <Extensions>
50 <code_completion />
51 <debugger />
52 <envvars />
53 </Extensions>
54 </Project>
55</CodeBlocks_project_file>
diff --git a/src/others/irrlicht-1.8.1/examples/02.Quake3Map/Quake3Map.dev b/src/others/irrlicht-1.8.1/examples/02.Quake3Map/Quake3Map.dev
new file mode 100644
index 0000000..3e0a69e
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/02.Quake3Map/Quake3Map.dev
@@ -0,0 +1,59 @@
1[Project]
2FileName=example.dev
3Name=Irrlicht Example 02 Quake3Map
4UnitCount=1
5Type=1
6Ver=1
7ObjFiles=
8Includes=..\..\include
9Libs=
10PrivateResource=
11ResourceIncludes=
12MakeIncludes=
13Compiler=
14CppCompiler=
15Linker=../../lib/Win32-gcc/libIrrlicht.a_@@_
16IsCpp=1
17Icon=
18ExeOutput=../../bin/Win32-gcc
19ObjectOutput=obj
20OverrideOutput=1
21OverrideOutputName=02.Quake3Map.exe
22HostApplication=
23Folders=
24CommandLine=
25IncludeVersionInfo=0
26SupportXPThemes=0
27CompilerSet=0
28CompilerSettings=0000000000000000000000
29UseCustomMakefile=0
30CustomMakefile=
31
32[Unit1]
33FileName=main.cpp
34CompileCpp=1
35Folder=Projekt1
36Compile=1
37Link=1
38Priority=1000
39OverrideBuildCmd=0
40BuildCmd=
41
42[VersionInfo]
43Major=0
44Minor=1
45Release=1
46Build=1
47LanguageID=1033
48CharsetID=1252
49CompanyName=
50FileVersion=
51FileDescription=Irrlicht Engine example compiled using DevCpp and gcc
52InternalName=
53LegalCopyright=
54LegalTrademarks=
55OriginalFilename=
56ProductName=
57ProductVersion=
58AutoIncBuildNr=0
59
diff --git a/src/others/irrlicht-1.8.1/examples/02.Quake3Map/Quake3Map.vcproj b/src/others/irrlicht-1.8.1/examples/02.Quake3Map/Quake3Map.vcproj
new file mode 100644
index 0000000..4416fbb
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/02.Quake3Map/Quake3Map.vcproj
@@ -0,0 +1,162 @@
1<?xml version="1.0" encoding="Windows-1252"?>
2<VisualStudioProject
3 ProjectType="Visual C++"
4 Version="7.10"
5 Name="02.Quake3Map"
6 SccProjectName=""
7 SccLocalPath="">
8 <Platforms>
9 <Platform
10 Name="Win32"/>
11 </Platforms>
12 <Configurations>
13 <Configuration
14 Name="Debug|Win32"
15 OutputDirectory=".\Debug"
16 IntermediateDirectory=".\Debug"
17 ConfigurationType="1"
18 UseOfMFC="0"
19 ATLMinimizesCRunTimeLibraryUsage="FALSE"
20 CharacterSet="2">
21 <Tool
22 Name="VCCLCompilerTool"
23 Optimization="0"
24 AdditionalIncludeDirectories="..\..\include"
25 PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
26 BasicRuntimeChecks="3"
27 RuntimeLibrary="5"
28 UsePrecompiledHeader="2"
29 PrecompiledHeaderFile=".\Debug/Quake3Map.pch"
30 AssemblerListingLocation=".\Debug/"
31 ObjectFile=".\Debug/"
32 ProgramDataBaseFileName=".\Debug/"
33 WarningLevel="3"
34 SuppressStartupBanner="TRUE"
35 DebugInformationFormat="4"
36 CompileAs="0"/>
37 <Tool
38 Name="VCCustomBuildTool"/>
39 <Tool
40 Name="VCLinkerTool"
41 OutputFile="..\..\bin\Win32-VisualStudio\02.Quake3Map.exe"
42 LinkIncremental="0"
43 SuppressStartupBanner="TRUE"
44 AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
45 GenerateDebugInformation="TRUE"
46 ProgramDatabaseFile=".\Debug/Quake3Map.pdb"
47 SubSystem="1"
48 TargetMachine="1"/>
49 <Tool
50 Name="VCMIDLTool"
51 TypeLibraryName=".\Debug/Quake3Map.tlb"
52 HeaderFileName=""/>
53 <Tool
54 Name="VCPostBuildEventTool"/>
55 <Tool
56 Name="VCPreBuildEventTool"/>
57 <Tool
58 Name="VCPreLinkEventTool"/>
59 <Tool
60 Name="VCResourceCompilerTool"
61 PreprocessorDefinitions="_DEBUG"
62 Culture="3079"/>
63 <Tool
64 Name="VCWebServiceProxyGeneratorTool"/>
65 <Tool
66 Name="VCXMLDataGeneratorTool"/>
67 <Tool
68 Name="VCWebDeploymentTool"/>
69 <Tool
70 Name="VCManagedWrapperGeneratorTool"/>
71 <Tool
72 Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
73 </Configuration>
74 <Configuration
75 Name="Release|Win32"
76 OutputDirectory=".\Release"
77 IntermediateDirectory=".\Release"
78 ConfigurationType="1"
79 UseOfMFC="0"
80 ATLMinimizesCRunTimeLibraryUsage="FALSE"
81 CharacterSet="2">
82 <Tool
83 Name="VCCLCompilerTool"
84 Optimization="2"
85 InlineFunctionExpansion="1"
86 AdditionalIncludeDirectories="..\..\include"
87 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
88 StringPooling="TRUE"
89 RuntimeLibrary="4"
90 EnableFunctionLevelLinking="TRUE"
91 UsePrecompiledHeader="2"
92 PrecompiledHeaderFile=".\Release/Quake3Map.pch"
93 AssemblerListingLocation=".\Release/"
94 ObjectFile=".\Release/"
95 ProgramDataBaseFileName=".\Release/"
96 WarningLevel="3"
97 SuppressStartupBanner="TRUE"
98 CompileAs="0"/>
99 <Tool
100 Name="VCCustomBuildTool"/>
101 <Tool
102 Name="VCLinkerTool"
103 OutputFile="..\..\bin\Win32-VisualStudio\02.Quake3Map.exe"
104 LinkIncremental="0"
105 SuppressStartupBanner="TRUE"
106 AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
107 ProgramDatabaseFile=".\Release/Quake3Map.pdb"
108 SubSystem="1"
109 TargetMachine="1"/>
110 <Tool
111 Name="VCMIDLTool"
112 TypeLibraryName=".\Release/Quake3Map.tlb"
113 HeaderFileName=""/>
114 <Tool
115 Name="VCPostBuildEventTool"/>
116 <Tool
117 Name="VCPreBuildEventTool"/>
118 <Tool
119 Name="VCPreLinkEventTool"/>
120 <Tool
121 Name="VCResourceCompilerTool"
122 PreprocessorDefinitions="NDEBUG"
123 Culture="3079"/>
124 <Tool
125 Name="VCWebServiceProxyGeneratorTool"/>
126 <Tool
127 Name="VCXMLDataGeneratorTool"/>
128 <Tool
129 Name="VCWebDeploymentTool"/>
130 <Tool
131 Name="VCManagedWrapperGeneratorTool"/>
132 <Tool
133 Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
134 </Configuration>
135 </Configurations>
136 <References>
137 </References>
138 <Files>
139 <File
140 RelativePath="main.cpp">
141 <FileConfiguration
142 Name="Debug|Win32">
143 <Tool
144 Name="VCCLCompilerTool"
145 Optimization="0"
146 AdditionalIncludeDirectories=""
147 PreprocessorDefinitions=""
148 BasicRuntimeChecks="3"/>
149 </FileConfiguration>
150 <FileConfiguration
151 Name="Release|Win32">
152 <Tool
153 Name="VCCLCompilerTool"
154 Optimization="2"
155 AdditionalIncludeDirectories=""
156 PreprocessorDefinitions=""/>
157 </FileConfiguration>
158 </File>
159 </Files>
160 <Globals>
161 </Globals>
162</VisualStudioProject>
diff --git a/src/others/irrlicht-1.8.1/examples/02.Quake3Map/Quake3Map_vc10.vcxproj b/src/others/irrlicht-1.8.1/examples/02.Quake3Map/Quake3Map_vc10.vcxproj
new file mode 100644
index 0000000..da32873
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/02.Quake3Map/Quake3Map_vc10.vcxproj
@@ -0,0 +1,231 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup Label="ProjectConfigurations">
4 <ProjectConfiguration Include="Debug|Win32">
5 <Configuration>Debug</Configuration>
6 <Platform>Win32</Platform>
7 </ProjectConfiguration>
8 <ProjectConfiguration Include="Debug|x64">
9 <Configuration>Debug</Configuration>
10 <Platform>x64</Platform>
11 </ProjectConfiguration>
12 <ProjectConfiguration Include="Release|Win32">
13 <Configuration>Release</Configuration>
14 <Platform>Win32</Platform>
15 </ProjectConfiguration>
16 <ProjectConfiguration Include="Release|x64">
17 <Configuration>Release</Configuration>
18 <Platform>x64</Platform>
19 </ProjectConfiguration>
20 </ItemGroup>
21 <PropertyGroup Label="Globals">
22 <ProjectName>02.Quake3Map</ProjectName>
23 <ProjectGuid>{D1A464A2-D479-458C-98A2-60965D823CD1}</ProjectGuid>
24 <RootNamespace>Quake3Map</RootNamespace>
25 </PropertyGroup>
26 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
27 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
28 <ConfigurationType>Application</ConfigurationType>
29 <UseOfMfc>false</UseOfMfc>
30 <CharacterSet>MultiByte</CharacterSet>
31 </PropertyGroup>
32 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
33 <ConfigurationType>Application</ConfigurationType>
34 <UseOfMfc>false</UseOfMfc>
35 <CharacterSet>MultiByte</CharacterSet>
36 </PropertyGroup>
37 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
38 <ConfigurationType>Application</ConfigurationType>
39 <UseOfMfc>false</UseOfMfc>
40 <CharacterSet>MultiByte</CharacterSet>
41 </PropertyGroup>
42 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
43 <ConfigurationType>Application</ConfigurationType>
44 <UseOfMfc>false</UseOfMfc>
45 <CharacterSet>MultiByte</CharacterSet>
46 </PropertyGroup>
47 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
48 <ImportGroup Label="ExtensionSettings">
49 </ImportGroup>
50 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
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" />
53 </ImportGroup>
54 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
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" />
57 </ImportGroup>
58 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
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" />
61 </ImportGroup>
62 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
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" />
65 </ImportGroup>
66 <PropertyGroup Label="UserMacros" />
67 <PropertyGroup>
68 <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
69 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
70 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
71 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
72 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
73 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
74 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
75 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
76 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
77 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
78 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
79 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
80 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
81 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
82 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
83 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
84 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
85 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
86 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
87 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
88 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
89 </PropertyGroup>
90 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
91 <Midl>
92 <TypeLibraryName>.\Debug/Quake3Map.tlb</TypeLibraryName>
93 <HeaderFileName>
94 </HeaderFileName>
95 </Midl>
96 <ClCompile>
97 <Optimization>Disabled</Optimization>
98 <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
99 <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
100 <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
101 <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
102 <PrecompiledHeader>
103 </PrecompiledHeader>
104 <WarningLevel>Level3</WarningLevel>
105 <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
106 </ClCompile>
107 <ResourceCompile>
108 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
109 <Culture>0x0c07</Culture>
110 </ResourceCompile>
111 <Link>
112 <OutputFile>..\..\bin\Win32-VisualStudio\02.Quake3Map.exe</OutputFile>
113 <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
114 <GenerateDebugInformation>true</GenerateDebugInformation>
115 <SubSystem>Console</SubSystem>
116 <DataExecutionPrevention>
117 </DataExecutionPrevention>
118 </Link>
119 </ItemDefinitionGroup>
120 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
121 <Midl>
122 <TypeLibraryName>.\Debug/Quake3Map.tlb</TypeLibraryName>
123 <HeaderFileName>
124 </HeaderFileName>
125 </Midl>
126 <ClCompile>
127 <Optimization>Disabled</Optimization>
128 <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
129 <PreprocessorDefinitions>WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
130 <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
131 <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
132 <PrecompiledHeader>
133 </PrecompiledHeader>
134 <WarningLevel>Level3</WarningLevel>
135 <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
136 </ClCompile>
137 <ResourceCompile>
138 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
139 <Culture>0x0c07</Culture>
140 </ResourceCompile>
141 <Link>
142 <OutputFile>..\..\bin\Win64-VisualStudio\02.Quake3Map.exe</OutputFile>
143 <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
144 <GenerateDebugInformation>true</GenerateDebugInformation>
145 <SubSystem>Console</SubSystem>
146 <DataExecutionPrevention>
147 </DataExecutionPrevention>
148 </Link>
149 </ItemDefinitionGroup>
150 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
151 <Midl>
152 <TypeLibraryName>.\Release/Quake3Map.tlb</TypeLibraryName>
153 <HeaderFileName>
154 </HeaderFileName>
155 </Midl>
156 <ClCompile>
157 <Optimization>MaxSpeed</Optimization>
158 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
159 <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
160 <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
161 <StringPooling>true</StringPooling>
162 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
163 <FunctionLevelLinking>true</FunctionLevelLinking>
164 <PrecompiledHeader>
165 </PrecompiledHeader>
166 <WarningLevel>Level3</WarningLevel>
167 </ClCompile>
168 <ResourceCompile>
169 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
170 <Culture>0x0c07</Culture>
171 </ResourceCompile>
172 <Link>
173 <OutputFile>..\..\bin\Win32-VisualStudio\02.Quake3Map.exe</OutputFile>
174 <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
175 <SubSystem>Console</SubSystem>
176 <DataExecutionPrevention>
177 </DataExecutionPrevention>
178 </Link>
179 </ItemDefinitionGroup>
180 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
181 <Midl>
182 <TypeLibraryName>.\Release/Quake3Map.tlb</TypeLibraryName>
183 <HeaderFileName>
184 </HeaderFileName>
185 </Midl>
186 <ClCompile>
187 <Optimization>MaxSpeed</Optimization>
188 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
189 <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
190 <PreprocessorDefinitions>WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
191 <StringPooling>true</StringPooling>
192 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
193 <FunctionLevelLinking>true</FunctionLevelLinking>
194 <PrecompiledHeader>
195 </PrecompiledHeader>
196 <WarningLevel>Level3</WarningLevel>
197 </ClCompile>
198 <ResourceCompile>
199 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
200 <Culture>0x0c07</Culture>
201 </ResourceCompile>
202 <Link>
203 <OutputFile>..\..\bin\Win64-VisualStudio\02.Quake3Map.exe</OutputFile>
204 <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
205 <SubSystem>Console</SubSystem>
206 <DataExecutionPrevention>
207 </DataExecutionPrevention>
208 </Link>
209 </ItemDefinitionGroup>
210 <ItemGroup>
211 <ClCompile Include="main.cpp">
212 <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
213 <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
214 <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
215 <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
216 <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
217 <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
218 <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
219 <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
220 <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
221 <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
222 <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
223 <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
224 <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
225 <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
226 </ClCompile>
227 </ItemGroup>
228 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
229 <ImportGroup Label="ExtensionTargets">
230 </ImportGroup>
231</Project> \ No newline at end of file
diff --git a/src/others/irrlicht-1.8.1/examples/02.Quake3Map/Quake3Map_vc11.vcxproj b/src/others/irrlicht-1.8.1/examples/02.Quake3Map/Quake3Map_vc11.vcxproj
new file mode 100644
index 0000000..579a016
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/02.Quake3Map/Quake3Map_vc11.vcxproj
@@ -0,0 +1,235 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup Label="ProjectConfigurations">
4 <ProjectConfiguration Include="Debug|Win32">
5 <Configuration>Debug</Configuration>
6 <Platform>Win32</Platform>
7 </ProjectConfiguration>
8 <ProjectConfiguration Include="Debug|x64">
9 <Configuration>Debug</Configuration>
10 <Platform>x64</Platform>
11 </ProjectConfiguration>
12 <ProjectConfiguration Include="Release|Win32">
13 <Configuration>Release</Configuration>
14 <Platform>Win32</Platform>
15 </ProjectConfiguration>
16 <ProjectConfiguration Include="Release|x64">
17 <Configuration>Release</Configuration>
18 <Platform>x64</Platform>
19 </ProjectConfiguration>
20 </ItemGroup>
21 <PropertyGroup Label="Globals">
22 <ProjectName>02.Quake3Map</ProjectName>
23 <ProjectGuid>{D1A464A2-D479-458C-98A2-60965D823CD1}</ProjectGuid>
24 <RootNamespace>Quake3Map</RootNamespace>
25 </PropertyGroup>
26 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
27 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
28 <ConfigurationType>Application</ConfigurationType>
29 <UseOfMfc>false</UseOfMfc>
30 <CharacterSet>MultiByte</CharacterSet>
31 <PlatformToolset>v110</PlatformToolset>
32 </PropertyGroup>
33 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
34 <ConfigurationType>Application</ConfigurationType>
35 <UseOfMfc>false</UseOfMfc>
36 <CharacterSet>MultiByte</CharacterSet>
37 <PlatformToolset>v110</PlatformToolset>
38 </PropertyGroup>
39 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
40 <ConfigurationType>Application</ConfigurationType>
41 <UseOfMfc>false</UseOfMfc>
42 <CharacterSet>MultiByte</CharacterSet>
43 <PlatformToolset>v110</PlatformToolset>
44 </PropertyGroup>
45 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
46 <ConfigurationType>Application</ConfigurationType>
47 <UseOfMfc>false</UseOfMfc>
48 <CharacterSet>MultiByte</CharacterSet>
49 <PlatformToolset>v110</PlatformToolset>
50 </PropertyGroup>
51 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
52 <ImportGroup Label="ExtensionSettings">
53 </ImportGroup>
54 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
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" />
57 </ImportGroup>
58 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
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" />
61 </ImportGroup>
62 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
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" />
65 </ImportGroup>
66 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
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" />
69 </ImportGroup>
70 <PropertyGroup Label="UserMacros" />
71 <PropertyGroup>
72 <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
73 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
74 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
75 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
76 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
77 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
78 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
79 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
80 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
81 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
82 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
83 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
84 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
85 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
86 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
87 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
88 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
89 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
90 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
91 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
92 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
93 </PropertyGroup>
94 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
95 <Midl>
96 <TypeLibraryName>.\Debug/Quake3Map.tlb</TypeLibraryName>
97 <HeaderFileName>
98 </HeaderFileName>
99 </Midl>
100 <ClCompile>
101 <Optimization>Disabled</Optimization>
102 <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
103 <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
104 <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
105 <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
106 <PrecompiledHeader>
107 </PrecompiledHeader>
108 <WarningLevel>Level3</WarningLevel>
109 <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
110 </ClCompile>
111 <ResourceCompile>
112 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
113 <Culture>0x0c07</Culture>
114 </ResourceCompile>
115 <Link>
116 <OutputFile>..\..\bin\Win32-VisualStudio\02.Quake3Map.exe</OutputFile>
117 <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
118 <GenerateDebugInformation>true</GenerateDebugInformation>
119 <SubSystem>Console</SubSystem>
120 <DataExecutionPrevention>
121 </DataExecutionPrevention>
122 </Link>
123 </ItemDefinitionGroup>
124 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
125 <Midl>
126 <TypeLibraryName>.\Debug/Quake3Map.tlb</TypeLibraryName>
127 <HeaderFileName>
128 </HeaderFileName>
129 </Midl>
130 <ClCompile>
131 <Optimization>Disabled</Optimization>
132 <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
133 <PreprocessorDefinitions>WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
134 <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
135 <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
136 <PrecompiledHeader>
137 </PrecompiledHeader>
138 <WarningLevel>Level3</WarningLevel>
139 <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
140 </ClCompile>
141 <ResourceCompile>
142 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
143 <Culture>0x0c07</Culture>
144 </ResourceCompile>
145 <Link>
146 <OutputFile>..\..\bin\Win64-VisualStudio\02.Quake3Map.exe</OutputFile>
147 <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
148 <GenerateDebugInformation>true</GenerateDebugInformation>
149 <SubSystem>Console</SubSystem>
150 <DataExecutionPrevention>
151 </DataExecutionPrevention>
152 </Link>
153 </ItemDefinitionGroup>
154 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
155 <Midl>
156 <TypeLibraryName>.\Release/Quake3Map.tlb</TypeLibraryName>
157 <HeaderFileName>
158 </HeaderFileName>
159 </Midl>
160 <ClCompile>
161 <Optimization>MaxSpeed</Optimization>
162 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
163 <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
164 <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
165 <StringPooling>true</StringPooling>
166 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
167 <FunctionLevelLinking>true</FunctionLevelLinking>
168 <PrecompiledHeader>
169 </PrecompiledHeader>
170 <WarningLevel>Level3</WarningLevel>
171 </ClCompile>
172 <ResourceCompile>
173 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
174 <Culture>0x0c07</Culture>
175 </ResourceCompile>
176 <Link>
177 <OutputFile>..\..\bin\Win32-VisualStudio\02.Quake3Map.exe</OutputFile>
178 <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
179 <SubSystem>Console</SubSystem>
180 <DataExecutionPrevention>
181 </DataExecutionPrevention>
182 </Link>
183 </ItemDefinitionGroup>
184 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
185 <Midl>
186 <TypeLibraryName>.\Release/Quake3Map.tlb</TypeLibraryName>
187 <HeaderFileName>
188 </HeaderFileName>
189 </Midl>
190 <ClCompile>
191 <Optimization>MaxSpeed</Optimization>
192 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
193 <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
194 <PreprocessorDefinitions>WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
195 <StringPooling>true</StringPooling>
196 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
197 <FunctionLevelLinking>true</FunctionLevelLinking>
198 <PrecompiledHeader>
199 </PrecompiledHeader>
200 <WarningLevel>Level3</WarningLevel>
201 </ClCompile>
202 <ResourceCompile>
203 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
204 <Culture>0x0c07</Culture>
205 </ResourceCompile>
206 <Link>
207 <OutputFile>..\..\bin\Win64-VisualStudio\02.Quake3Map.exe</OutputFile>
208 <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
209 <SubSystem>Console</SubSystem>
210 <DataExecutionPrevention>
211 </DataExecutionPrevention>
212 </Link>
213 </ItemDefinitionGroup>
214 <ItemGroup>
215 <ClCompile Include="main.cpp">
216 <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
217 <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
218 <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
219 <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
220 <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
221 <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
222 <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
223 <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
224 <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
225 <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
226 <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
227 <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
228 <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
229 <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
230 </ClCompile>
231 </ItemGroup>
232 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
233 <ImportGroup Label="ExtensionTargets">
234 </ImportGroup>
235</Project> \ No newline at end of file
diff --git a/src/others/irrlicht-1.8.1/examples/02.Quake3Map/Quake3Map_vc8.vcproj b/src/others/irrlicht-1.8.1/examples/02.Quake3Map/Quake3Map_vc8.vcproj
new file mode 100644
index 0000000..bae5931
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/02.Quake3Map/Quake3Map_vc8.vcproj
@@ -0,0 +1,231 @@
1<?xml version="1.0" encoding="Windows-1252"?>
2<VisualStudioProject
3 ProjectType="Visual C++"
4 Version="8.00"
5 Name="02.Quake3Map_vc8"
6 ProjectGUID="{D1A464A2-D479-458C-98A2-60965D823CD1}"
7 RootNamespace="Quake3Map_vc8"
8 >
9 <Platforms>
10 <Platform
11 Name="Win32"
12 />
13 </Platforms>
14 <ToolFiles>
15 </ToolFiles>
16 <Configurations>
17 <Configuration
18 Name="Debug|Win32"
19 OutputDirectory=".\Debug"
20 IntermediateDirectory=".\Debug"
21 ConfigurationType="1"
22 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
23 UseOfMFC="0"
24 ATLMinimizesCRunTimeLibraryUsage="false"
25 CharacterSet="2"
26 >
27 <Tool
28 Name="VCPreBuildEventTool"
29 />
30 <Tool
31 Name="VCCustomBuildTool"
32 />
33 <Tool
34 Name="VCXMLDataGeneratorTool"
35 />
36 <Tool
37 Name="VCWebServiceProxyGeneratorTool"
38 />
39 <Tool
40 Name="VCMIDLTool"
41 TypeLibraryName=".\Debug/Quake3Map.tlb"
42 HeaderFileName=""
43 />
44 <Tool
45 Name="VCCLCompilerTool"
46 Optimization="0"
47 AdditionalIncludeDirectories="..\..\include"
48 PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
49 BasicRuntimeChecks="3"
50 RuntimeLibrary="1"
51 UsePrecompiledHeader="0"
52 PrecompiledHeaderFile=".\Debug/Quake3Map.pch"
53 AssemblerListingLocation=".\Debug/"
54 ObjectFile=".\Debug/"
55 ProgramDataBaseFileName=".\Debug/"
56 WarningLevel="3"
57 SuppressStartupBanner="true"
58 DebugInformationFormat="4"
59 CompileAs="0"
60 />
61 <Tool
62 Name="VCManagedResourceCompilerTool"
63 />
64 <Tool
65 Name="VCResourceCompilerTool"
66 PreprocessorDefinitions="_DEBUG"
67 Culture="3079"
68 />
69 <Tool
70 Name="VCPreLinkEventTool"
71 />
72 <Tool
73 Name="VCLinkerTool"
74 OutputFile="..\..\bin\Win32-VisualStudio\02.Quake3Map.exe"
75 LinkIncremental="0"
76 SuppressStartupBanner="true"
77 AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
78 GenerateDebugInformation="true"
79 ProgramDatabaseFile=".\Debug/Quake3Map.pdb"
80 SubSystem="1"
81 TargetMachine="1"
82 />
83 <Tool
84 Name="VCALinkTool"
85 />
86 <Tool
87 Name="VCManifestTool"
88 />
89 <Tool
90 Name="VCXDCMakeTool"
91 />
92 <Tool
93 Name="VCBscMakeTool"
94 />
95 <Tool
96 Name="VCFxCopTool"
97 />
98 <Tool
99 Name="VCAppVerifierTool"
100 />
101 <Tool
102 Name="VCWebDeploymentTool"
103 />
104 <Tool
105 Name="VCPostBuildEventTool"
106 />
107 </Configuration>
108 <Configuration
109 Name="Release|Win32"
110 OutputDirectory=".\Release"
111 IntermediateDirectory=".\Release"
112 ConfigurationType="1"
113 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
114 UseOfMFC="0"
115 ATLMinimizesCRunTimeLibraryUsage="false"
116 CharacterSet="2"
117 >
118 <Tool
119 Name="VCPreBuildEventTool"
120 />
121 <Tool
122 Name="VCCustomBuildTool"
123 />
124 <Tool
125 Name="VCXMLDataGeneratorTool"
126 />
127 <Tool
128 Name="VCWebServiceProxyGeneratorTool"
129 />
130 <Tool
131 Name="VCMIDLTool"
132 TypeLibraryName=".\Release/Quake3Map.tlb"
133 HeaderFileName=""
134 />
135 <Tool
136 Name="VCCLCompilerTool"
137 Optimization="2"
138 InlineFunctionExpansion="1"
139 AdditionalIncludeDirectories="..\..\include"
140 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
141 StringPooling="true"
142 RuntimeLibrary="0"
143 EnableFunctionLevelLinking="true"
144 UsePrecompiledHeader="0"
145 PrecompiledHeaderFile=".\Release/Quake3Map.pch"
146 AssemblerListingLocation=".\Release/"
147 ObjectFile=".\Release/"
148 ProgramDataBaseFileName=".\Release/"
149 WarningLevel="3"
150 SuppressStartupBanner="true"
151 CompileAs="0"
152 />
153 <Tool
154 Name="VCManagedResourceCompilerTool"
155 />
156 <Tool
157 Name="VCResourceCompilerTool"
158 PreprocessorDefinitions="NDEBUG"
159 Culture="3079"
160 />
161 <Tool
162 Name="VCPreLinkEventTool"
163 />
164 <Tool
165 Name="VCLinkerTool"
166 OutputFile="..\..\bin\Win32-VisualStudio\02.Quake3Map.exe"
167 LinkIncremental="0"
168 SuppressStartupBanner="true"
169 AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
170 ProgramDatabaseFile=".\Release/Quake3Map.pdb"
171 SubSystem="1"
172 TargetMachine="1"
173 />
174 <Tool
175 Name="VCALinkTool"
176 />
177 <Tool
178 Name="VCManifestTool"
179 />
180 <Tool
181 Name="VCXDCMakeTool"
182 />
183 <Tool
184 Name="VCBscMakeTool"
185 />
186 <Tool
187 Name="VCFxCopTool"
188 />
189 <Tool
190 Name="VCAppVerifierTool"
191 />
192 <Tool
193 Name="VCWebDeploymentTool"
194 />
195 <Tool
196 Name="VCPostBuildEventTool"
197 />
198 </Configuration>
199 </Configurations>
200 <References>
201 </References>
202 <Files>
203 <File
204 RelativePath="main.cpp"
205 >
206 <FileConfiguration
207 Name="Debug|Win32"
208 >
209 <Tool
210 Name="VCCLCompilerTool"
211 Optimization="0"
212 AdditionalIncludeDirectories=""
213 PreprocessorDefinitions=""
214 BasicRuntimeChecks="3"
215 />
216 </FileConfiguration>
217 <FileConfiguration
218 Name="Release|Win32"
219 >
220 <Tool
221 Name="VCCLCompilerTool"
222 Optimization="2"
223 AdditionalIncludeDirectories=""
224 PreprocessorDefinitions=""
225 />
226 </FileConfiguration>
227 </File>
228 </Files>
229 <Globals>
230 </Globals>
231</VisualStudioProject>
diff --git a/src/others/irrlicht-1.8.1/examples/02.Quake3Map/Quake3Map_vc9.vcproj b/src/others/irrlicht-1.8.1/examples/02.Quake3Map/Quake3Map_vc9.vcproj
new file mode 100644
index 0000000..8acc07a
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/02.Quake3Map/Quake3Map_vc9.vcproj
@@ -0,0 +1,230 @@
1<?xml version="1.0" encoding="Windows-1252"?>
2<VisualStudioProject
3 ProjectType="Visual C++"
4 Version="9.00"
5 Name="02.Quake3Map_vc9"
6 ProjectGUID="{D1A464A2-D479-458C-98A2-60965D823CD1}"
7 RootNamespace="Quake3Map_vc9"
8 TargetFrameworkVersion="131072"
9 >
10 <Platforms>
11 <Platform
12 Name="Win32"
13 />
14 </Platforms>
15 <ToolFiles>
16 </ToolFiles>
17 <Configurations>
18 <Configuration
19 Name="Debug|Win32"
20 OutputDirectory=".\Debug"
21 IntermediateDirectory=".\Debug"
22 ConfigurationType="1"
23 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
24 UseOfMFC="0"
25 ATLMinimizesCRunTimeLibraryUsage="false"
26 CharacterSet="2"
27 >
28 <Tool
29 Name="VCPreBuildEventTool"
30 />
31 <Tool
32 Name="VCCustomBuildTool"
33 />
34 <Tool
35 Name="VCXMLDataGeneratorTool"
36 />
37 <Tool
38 Name="VCWebServiceProxyGeneratorTool"
39 />
40 <Tool
41 Name="VCMIDLTool"
42 TypeLibraryName=".\Debug/Quake3Map.tlb"
43 HeaderFileName=""
44 />
45 <Tool
46 Name="VCCLCompilerTool"
47 Optimization="0"
48 AdditionalIncludeDirectories="..\..\include"
49 PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
50 BasicRuntimeChecks="3"
51 RuntimeLibrary="1"
52 UsePrecompiledHeader="0"
53 PrecompiledHeaderFile=".\Debug/Quake3Map.pch"
54 AssemblerListingLocation=".\Debug/"
55 ObjectFile=".\Debug/"
56 ProgramDataBaseFileName=".\Debug/"
57 WarningLevel="3"
58 SuppressStartupBanner="true"
59 DebugInformationFormat="4"
60 CompileAs="0"
61 />
62 <Tool
63 Name="VCManagedResourceCompilerTool"
64 />
65 <Tool
66 Name="VCResourceCompilerTool"
67 PreprocessorDefinitions="_DEBUG"
68 Culture="3079"
69 />
70 <Tool
71 Name="VCPreLinkEventTool"
72 />
73 <Tool
74 Name="VCLinkerTool"
75 OutputFile="..\..\bin\Win32-VisualStudio\02.Quake3Map.exe"
76 LinkIncremental="0"
77 SuppressStartupBanner="true"
78 AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
79 GenerateDebugInformation="true"
80 ProgramDatabaseFile=".\Debug/Quake3Map.pdb"
81 SubSystem="1"
82 RandomizedBaseAddress="1"
83 DataExecutionPrevention="0"
84 TargetMachine="1"
85 />
86 <Tool
87 Name="VCALinkTool"
88 />
89 <Tool
90 Name="VCManifestTool"
91 />
92 <Tool
93 Name="VCXDCMakeTool"
94 />
95 <Tool
96 Name="VCBscMakeTool"
97 />
98 <Tool
99 Name="VCFxCopTool"
100 />
101 <Tool
102 Name="VCAppVerifierTool"
103 />
104 <Tool
105 Name="VCPostBuildEventTool"
106 />
107 </Configuration>
108 <Configuration
109 Name="Release|Win32"
110 OutputDirectory=".\Release"
111 IntermediateDirectory=".\Release"
112 ConfigurationType="1"
113 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
114 UseOfMFC="0"
115 ATLMinimizesCRunTimeLibraryUsage="false"
116 CharacterSet="2"
117 >
118 <Tool
119 Name="VCPreBuildEventTool"
120 />
121 <Tool
122 Name="VCCustomBuildTool"
123 />
124 <Tool
125 Name="VCXMLDataGeneratorTool"
126 />
127 <Tool
128 Name="VCWebServiceProxyGeneratorTool"
129 />
130 <Tool
131 Name="VCMIDLTool"
132 TypeLibraryName=".\Release/Quake3Map.tlb"
133 HeaderFileName=""
134 />
135 <Tool
136 Name="VCCLCompilerTool"
137 Optimization="2"
138 InlineFunctionExpansion="1"
139 AdditionalIncludeDirectories="..\..\include"
140 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
141 StringPooling="true"
142 RuntimeLibrary="0"
143 EnableFunctionLevelLinking="true"
144 UsePrecompiledHeader="0"
145 PrecompiledHeaderFile=".\Release/Quake3Map.pch"
146 AssemblerListingLocation=".\Release/"
147 ObjectFile=".\Release/"
148 ProgramDataBaseFileName=".\Release/"
149 WarningLevel="3"
150 SuppressStartupBanner="true"
151 CompileAs="0"
152 />
153 <Tool
154 Name="VCManagedResourceCompilerTool"
155 />
156 <Tool
157 Name="VCResourceCompilerTool"
158 PreprocessorDefinitions="NDEBUG"
159 Culture="3079"
160 />
161 <Tool
162 Name="VCPreLinkEventTool"
163 />
164 <Tool
165 Name="VCLinkerTool"
166 OutputFile="..\..\bin\Win32-VisualStudio\02.Quake3Map.exe"
167 LinkIncremental="0"
168 SuppressStartupBanner="true"
169 AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
170 ProgramDatabaseFile=".\Release/Quake3Map.pdb"
171 SubSystem="1"
172 RandomizedBaseAddress="1"
173 DataExecutionPrevention="0"
174 TargetMachine="1"
175 />
176 <Tool
177 Name="VCALinkTool"
178 />
179 <Tool
180 Name="VCManifestTool"
181 />
182 <Tool
183 Name="VCXDCMakeTool"
184 />
185 <Tool
186 Name="VCBscMakeTool"
187 />
188 <Tool
189 Name="VCFxCopTool"
190 />
191 <Tool
192 Name="VCAppVerifierTool"
193 />
194 <Tool
195 Name="VCPostBuildEventTool"
196 />
197 </Configuration>
198 </Configurations>
199 <References>
200 </References>
201 <Files>
202 <File
203 RelativePath="main.cpp"
204 >
205 <FileConfiguration
206 Name="Debug|Win32"
207 >
208 <Tool
209 Name="VCCLCompilerTool"
210 Optimization="0"
211 AdditionalIncludeDirectories=""
212 PreprocessorDefinitions=""
213 BasicRuntimeChecks="3"
214 />
215 </FileConfiguration>
216 <FileConfiguration
217 Name="Release|Win32"
218 >
219 <Tool
220 Name="VCCLCompilerTool"
221 Optimization="2"
222 AdditionalIncludeDirectories=""
223 PreprocessorDefinitions=""
224 />
225 </FileConfiguration>
226 </File>
227 </Files>
228 <Globals>
229 </Globals>
230</VisualStudioProject>
diff --git a/src/others/irrlicht-1.8.1/examples/02.Quake3Map/main.cpp b/src/others/irrlicht-1.8.1/examples/02.Quake3Map/main.cpp
new file mode 100644
index 0000000..fc7461f
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/02.Quake3Map/main.cpp
@@ -0,0 +1,206 @@
1/** Example 002 Quake3Map
2
3This Tutorial shows how to load a Quake 3 map into the engine, create a
4SceneNode for optimizing the speed of rendering, and how to create a user
5controlled camera.
6
7Please note that you should know the basics of the engine before starting this
8tutorial. Just take a short look at the first tutorial, if you haven't done
9this yet: http://irrlicht.sourceforge.net/tut001.html
10
11Lets start like the HelloWorld example: We include the irrlicht header files
12and an additional file to be able to ask the user for a driver type using the
13console.
14*/
15#include <irrlicht.h>
16#include <iostream>
17
18/*
19As already written in the HelloWorld example, in the Irrlicht Engine everything
20can be found in the namespace 'irr'. To get rid of the irr:: in front of the
21name of every class, we tell the compiler that we use that namespace from now
22on, and we will not have to write that 'irr::'. There are 5 other sub
23namespaces 'core', 'scene', 'video', 'io' and 'gui'. Unlike in the HelloWorld
24example, we do not call 'using namespace' for these 5 other namespaces, because
25in this way you will see what can be found in which namespace. But if you like,
26you can also include the namespaces like in the previous example.
27*/
28using namespace irr;
29
30/*
31Again, to be able to use the Irrlicht.DLL file, we need to link with the
32Irrlicht.lib. We could set this option in the project settings, but to make it
33easy, we use a pragma comment lib:
34*/
35#ifdef _MSC_VER
36#pragma comment(lib, "Irrlicht.lib")
37#endif
38
39/*
40Ok, lets start. Again, we use the main() method as start, not the WinMain().
41*/
42int main()
43{
44 /*
45 Like in the HelloWorld example, we create an IrrlichtDevice with
46 createDevice(). The difference now is that we ask the user to select
47 which video driver to use. The Software device might be
48 too slow to draw a huge Quake 3 map, but just for the fun of it, we make
49 this decision possible, too.
50 Instead of copying this whole code into your app, you can simply include
51 driverChoice.h from Irrlicht's include directory. The function
52 driverChoiceConsole does exactly the same.
53 */
54
55 // ask user for driver
56
57 video::E_DRIVER_TYPE driverType;
58
59 printf("Please select the driver you want for this example:\n"\
60 " (a) OpenGL 1.5\n (b) Direct3D 9.0c\n (c) Direct3D 8.1\n"\
61 " (d) Burning's Software Renderer\n (e) Software Renderer\n"\
62 " (f) NullDevice\n (otherKey) exit\n\n");
63
64 char i;
65 std::cin >> i;
66
67 switch(i)
68 {
69 case 'a': driverType = video::EDT_OPENGL; break;
70 case 'b': driverType = video::EDT_DIRECT3D9;break;
71 case 'c': driverType = video::EDT_DIRECT3D8;break;
72 case 'd': driverType = video::EDT_BURNINGSVIDEO;break;
73 case 'e': driverType = video::EDT_SOFTWARE; break;
74 case 'f': driverType = video::EDT_NULL; break;
75 default: return 1;
76 }
77
78 // create device and exit if creation failed
79
80 IrrlichtDevice *device =
81 createDevice(driverType, core::dimension2d<u32>(640, 480));
82
83 if (device == 0)
84 return 1; // could not create selected driver.
85
86 /*
87 Get a pointer to the video driver and the SceneManager so that
88 we do not always have to call irr::IrrlichtDevice::getVideoDriver() and
89 irr::IrrlichtDevice::getSceneManager().
90 */
91 video::IVideoDriver* driver = device->getVideoDriver();
92 scene::ISceneManager* smgr = device->getSceneManager();
93
94 /*
95 To display the Quake 3 map, we first need to load it. Quake 3 maps
96 are packed into .pk3 files which are nothing else than .zip files.
97 So we add the .pk3 file to our irr::io::IFileSystem. After it was added,
98 we are able to read from the files in that archive as if they are
99 directly stored on the disk.
100 */
101 device->getFileSystem()->addFileArchive("../../media/map-20kdm2.pk3");
102
103 /*
104 Now we can load the mesh by calling
105 irr::scene::ISceneManager::getMesh(). We get a pointer returned to an
106 irr::scene::IAnimatedMesh. As you might know, Quake 3 maps are not
107 really animated, they are only a huge chunk of static geometry with
108 some materials attached. Hence the IAnimatedMesh consists of only one
109 frame, so we get the "first frame" of the "animation", which is our
110 quake level and create an Octree scene node with it, using
111 irr::scene::ISceneManager::addOctreeSceneNode().
112 The Octree optimizes the scene a little bit, trying to draw only geometry
113 which is currently visible. An alternative to the Octree would be a
114 irr::scene::IMeshSceneNode, which would always draw the complete
115 geometry of the mesh, without optimization. Try it: Use
116 irr::scene::ISceneManager::addMeshSceneNode() instead of
117 addOctreeSceneNode() and compare the primitives drawn by the video
118 driver. (There is a irr::video::IVideoDriver::getPrimitiveCountDrawn()
119 method in the irr::video::IVideoDriver class). Note that this
120 optimization with the Octree is only useful when drawing huge meshes
121 consisting of lots of geometry.
122 */
123 scene::IAnimatedMesh* mesh = smgr->getMesh("20kdm2.bsp");
124 scene::ISceneNode* node = 0;
125
126 if (mesh)
127 node = smgr->addOctreeSceneNode(mesh->getMesh(0), 0, -1, 1024);
128// node = smgr->addMeshSceneNode(mesh->getMesh(0));
129
130 /*
131 Because the level was not modelled around the origin (0,0,0), we
132 translate the whole level a little bit. This is done on
133 irr::scene::ISceneNode level using the methods
134 irr::scene::ISceneNode::setPosition() (in this case),
135 irr::scene::ISceneNode::setRotation(), and
136 irr::scene::ISceneNode::setScale().
137 */
138 if (node)
139 node->setPosition(core::vector3df(-1300,-144,-1249));
140
141 /*
142 Now we only need a camera to look at the Quake 3 map.
143 We want to create a user controlled camera. There are some
144 cameras available in the Irrlicht engine. For example the
145 MayaCamera which can be controlled like the camera in Maya:
146 Rotate with left mouse button pressed, Zoom with both buttons pressed,
147 translate with right mouse button pressed. This could be created with
148 irr::scene::ISceneManager::addCameraSceneNodeMaya(). But for this
149 example, we want to create a camera which behaves like the ones in
150 first person shooter games (FPS) and hence use
151 irr::scene::ISceneManager::addCameraSceneNodeFPS().
152 */
153 smgr->addCameraSceneNodeFPS();
154
155 /*
156 The mouse cursor needs not be visible, so we hide it via the
157 irr::IrrlichtDevice::ICursorControl.
158 */
159 device->getCursorControl()->setVisible(false);
160
161 /*
162 We have done everything, so lets draw it. We also write the current
163 frames per second and the primitives drawn into the caption of the
164 window. The test for irr::IrrlichtDevice::isWindowActive() is optional,
165 but prevents the engine to grab the mouse cursor after task switching
166 when other programs are active. The call to
167 irr::IrrlichtDevice::yield() will avoid the busy loop to eat up all CPU
168 cycles when the window is not active.
169 */
170 int lastFPS = -1;
171
172 while(device->run())
173 {
174 if (device->isWindowActive())
175 {
176 driver->beginScene(true, true, video::SColor(255,200,200,200));
177 smgr->drawAll();
178 driver->endScene();
179
180 int fps = driver->getFPS();
181
182 if (lastFPS != fps)
183 {
184 core::stringw str = L"Irrlicht Engine - Quake 3 Map example [";
185 str += driver->getName();
186 str += "] FPS:";
187 str += fps;
188
189 device->setWindowCaption(str.c_str());
190 lastFPS = fps;
191 }
192 }
193 else
194 device->yield();
195 }
196
197 /*
198 In the end, delete the Irrlicht device.
199 */
200 device->drop();
201 return 0;
202}
203
204/*
205That's it. Compile and play around with the program.
206**/
diff --git a/src/others/irrlicht-1.8.1/examples/02.Quake3Map/tutorial.html b/src/others/irrlicht-1.8.1/examples/02.Quake3Map/tutorial.html
new file mode 100644
index 0000000..1858b86
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/02.Quake3Map/tutorial.html
@@ -0,0 +1,181 @@
1<html>
2<head>
3<title>Irrlicht Engine Tutorial</title>
4<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
5</head>
6
7<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
8<br>
9<table width="95%" border="0" cellspacing="0" cellpadding="2" align="center">
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>
12 <td bgcolor="#666699" width="100%"> <div align="center"><b><font color="#FFFFFF"></font></b></div>
13 <b><font color="#FFFFFF">Tutorial 2.Quake3Map</font></b></td>
14 </tr>
15 <tr bgcolor="#eeeeff">
16 <td height="90" colspan="2"> <div align="left">
17 <p>This Tutorial shows how to load a Quake 3 map into the engine, create
18 a SceneNode for optimizing the speed of rendering and how to create
19 a user controlled camera. Please note that you should know the basics
20 of the engine before starting this tutorial, just take a short look
21 at the first tutorial, 1.HelloWorld, if you haven't done this yet.<br>
22 The result of this example will look like this:</p>
23 <p align="center"><img src="../../media/002shot.jpg" width="259" height="202"><br>
24 </p>
25 </div></td>
26 </tr>
27</table>
28<br>
29<table width="95%" border="0" cellspacing="0" cellpadding="2" align="center">
30 <tr>
31 <td bgcolor="#666699"> <div align="center"><b><font color="#000000"></font></b></div>
32 <font color="#FFFFFF"><b>Lets start!</b></font></td>
33 </tr>
34 <tr>
35 <td height="90" bgcolor="#eeeeff" valign="top"> <div align="left">
36 <p>Lets start like the HelloWorld example: We include the irrlicht header
37 files and an additional file to be able<br>
38 to ask the user for a driver type using the console.</p>
39 <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center">
40 <tr>
41 <td> <pre>#include &lt;irrlicht.h&gt;<br>#include &lt;iostream&gt;<br></pre></td>
42 </tr>
43 </table>
44 <p>As already written in the HelloWorld example, in the Irrlicht Engine,
45 everything can be found in the namespace 'irr'. To get rid of the irr::
46 in front of the name of every class, we tell the compiler that we use
47 that namespace from now on, and we will not have to write that 'irr::'.<br>
48 There are 5 other sub namespaces 'core', 'scene', 'video', 'io' and
49 'gui'. Unlike in the HelloWorld example, we do not a 'using namespace'
50 for these 5 other namespaces because in this way you will see what can
51 be found in which namespace. But if you like, you can also include the
52 namespaces like in the previous example. Code just like you want to.</p>
53 <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center">
54 <tr>
55 <td> <pre>using namespace irr;</pre> </td>
56 </tr>
57 </table>
58 <p>Again, to be able to use the Irrlicht.DLL file, we need to link with
59 the Irrlicht.lib. We could set this option in the project settings,
60 but to make it easy, we use a pragma comment lib:</p>
61 <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center">
62 <tr>
63 <td> <pre>#pragma comment(lib, &quot;Irrlicht.lib&quot;)</pre> </td>
64 </tr>
65 </table>
66
67 </div>
68 <p>Ok, lets start. Again, we use the main() method as start, not the WinMain(),
69 because its shorter to write.</p>
70 <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center">
71 <tr>
72 <td> <pre>int main()<br>{</pre> </td>
73 </tr>
74 </table>
75 <p> Like in the HelloWorld example, we create an IrrlichtDevice with createDevice().
76 The difference now is that we ask the user to select which hardware accelerated
77 driver to use. The Software device would be too slow to draw a huge Quake
78 3 map, but just for the fun of it, we make this decision possible too.</p>
79 <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center">
80 <tr>
81 <td> <pre>// ask user for driver<br><br>video::E_DRIVER_TYPE driverType = video::EDT_DIRECT3D9;<br><br>printf(&quot;Please select the driver you want for this example:\n&quot;\<br> &quot; (a) Direct3D 9.0c\n (b) Direct3D 8.1\n (c) OpenGL 1.5\n&quot;\<br> &quot; (d) Software Renderer\n (e) Apfelbaum Software Renderer\n&quot;\<br> &quot; (f) NullDevice\n (otherKey) exit\n\n&quot;);<br>
82char i;<br>std::cin &gt;&gt; i;<br><br>switch(i)<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>} <br><br>// create device and exit if creation failed<br><br>IrrlichtDevice *device =<br> createDevice(driverType, core::dimension2d&lt;s32&gt;(640, 480));<br><br>if (device == 0)<br> return 1;</pre></td>
83 </tr>
84 </table>
85 <p>Get a pointer to the video driver and the SceneManager so that we do
86 not always have to write device-&gt;getVideoDriver() and device-&gt;getSceneManager().</p>
87 <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center">
88 <tr>
89 <td> <pre>video::IVideoDriver* driver = device-&gt;getVideoDriver();
90scene::ISceneManager* smgr = device-&gt;getSceneManager();</pre> </td>
91 </tr>
92 </table>
93 <p>To display the Quake 3 map, we first need to load it. Quake 3 maps are
94 packed into .pk3 files wich are nothing other than .zip files. So we add
95 the .pk3 file to our FileSystem. After it was added, we are able to read
96 from the files in that archive as they would directly be stored on disk.</p>
97 <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center">
98 <tr>
99 <td> <pre>device-&gt;getFileSystem()-&gt;addZipFileArchive(&quot;../../media/map-20kdm2.pk3&quot;);</pre> </td>
100 </tr>
101 </table>
102 <p>Now we can load the mesh by calling getMesh(). We get a pointer returned
103 to a IAnimatedMesh. As you know, Quake 3 maps are not really animated,
104 they are only a huge chunk of static geometry with some materials attached.
105 Hence the IAnimated mesh consists of only one frame,<br>
106 so we get the &quot;first frame&quot; of the &quot;animation&quot;, which
107 is our quake level and create an OctTree scene node with it, using addOctTreeSceneNode().
108 The OctTree optimizes the scene a little bit, trying to draw only geometry
109 which is currently visible. An alternative to the OctTree would be a AnimatedMeshSceneNode,
110 which would draw always the complete geometry of the mesh, without optimization.
111 Try it out: Write addAnimatedMeshSceneNode instead of addOctTreeSceneNode
112 and compare the primitives drawed by the video driver. (There is a getPrimitiveCountDrawed()
113 method in the IVideoDriver class). Note that this optimization with the
114 Octree is only useful when drawing huge meshes consiting of lots of geometry.</p>
115 <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center">
116 <tr>
117 <td> <pre>scene::IAnimatedMesh* mesh = smgr-&gt;getMesh(&quot;20kdm2.bsp&quot;);<br>scene::ISceneNode* node = 0;
118
119if (mesh)<br> node = smgr-&gt;addOctTreeSceneNode(mesh-&gt;getMesh(0));</pre> </td>
120 </tr>
121 </table>
122 <p>Because the level was modelled not around the origin (0,0,0), we translate
123 the whole level a little bit.</p>
124 <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center">
125 <tr>
126 <td> <pre>if (node)<br> node-&gt;setPosition(core::vector3df(-1300,-144,-1249));</pre> </td>
127 </tr>
128 </table>
129 <p>Now we only need a Camera to look at the Quake 3 map. And we want to
130 create a user controlled camera. There are some different cameras available
131 in the Irrlicht engine. For example the Maya Camera which can be controlled
132 compareable to the camera in Maya: Rotate with left mouse button pressed,
133 Zoom with both buttons pressed,<br>
134 translate with right mouse button pressed. This could be created with
135 addCameraSceneNodeMaya(). But for this example, we want to create a camera
136 which behaves like the ones in first person shooter games (FPS):</p>
137 <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center">
138 <tr>
139 <td> <pre>smgr-&gt;addCameraSceneNodeFPS();</pre> </td>
140 </tr>
141 </table>
142 <p>The mouse cursor needs not to be visible, so we make it invisible. </p>
143 <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center">
144 <tr>
145 <td> <pre>device-&gt;getCursorControl()-&gt;setVisible(false);</pre> </td>
146 </tr>
147 </table>
148 <p>We have done everything, so lets draw it. We also write the current frames
149 per second and the drawn primitives to the caption of the window. The
150 'if (device-&gt;isWindowActive())' line is optional, but prevents the
151 engine render to set the position of the mouse cursor after task switching
152 when other program are active.</p>
153 <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center">
154 <tr>
155 <td> <pre>int lastFPS = -1;</pre>
156 <pre>while(device-&gt;run())
157{
158 driver-&gt;beginScene(true, true, video::SColor(0,200,200,200));
159 smgr-&gt;drawAll();
160 driver-&gt;endScene();</pre>
161 <pre> int fps = driver-&gt;getFPS();</pre>
162 <pre> if (lastFPS != fps)
163 {
164 core::stringw str = L&quot;Irrlicht Engine - Quake 3 Map example [&quot;;<br> str += driver-&gt;getName();<br> str += &quot;] FPS:&quot;;<br> str += fps;<br> device-&gt;setWindowCaption(str.c_str());<br> lastFPS = fps;
165 }
166}</pre> </td>
167 </tr>
168 </table>
169 <p>In the end, delete the Irrlicht device.</p>
170 <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center">
171 <tr>
172 <td> <pre> device-&gt;drop();<br> return 0;<br>}</pre> </td>
173 </tr>
174 </table>
175 <p>That's it. Compile and play around with the program. </p></td>
176 </tr>
177</table>
178<p>&nbsp;</p>
179<p>&nbsp;</p>
180</body>
181</html>