aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/others/irrlicht-1.8.1/examples/07.Collision
diff options
context:
space:
mode:
authorDavid Walter Seikel2016-03-28 22:28:34 +1000
committerDavid Walter Seikel2016-03-28 22:28:34 +1000
commit7028cbe09c688437910a25623098762bf0fa592d (patch)
tree10b5af58277d9880380c2251f109325542c4e6eb /src/others/irrlicht-1.8.1/examples/07.Collision
parentMove lemon to the src/others directory. (diff)
downloadSledjHamr-7028cbe09c688437910a25623098762bf0fa592d.zip
SledjHamr-7028cbe09c688437910a25623098762bf0fa592d.tar.gz
SledjHamr-7028cbe09c688437910a25623098762bf0fa592d.tar.bz2
SledjHamr-7028cbe09c688437910a25623098762bf0fa592d.tar.xz
Move Irrlicht to src/others.
Diffstat (limited to 'src/others/irrlicht-1.8.1/examples/07.Collision')
-rw-r--r--src/others/irrlicht-1.8.1/examples/07.Collision/Collision.cbp55
-rw-r--r--src/others/irrlicht-1.8.1/examples/07.Collision/Collision.dev59
-rw-r--r--src/others/irrlicht-1.8.1/examples/07.Collision/Collision.vcproj163
-rw-r--r--src/others/irrlicht-1.8.1/examples/07.Collision/Collision_vc10.vcxproj231
-rw-r--r--src/others/irrlicht-1.8.1/examples/07.Collision/Collision_vc11.vcxproj235
-rw-r--r--src/others/irrlicht-1.8.1/examples/07.Collision/Collision_vc8.vcproj231
-rw-r--r--src/others/irrlicht-1.8.1/examples/07.Collision/Collision_vc9.vcproj230
-rw-r--r--src/others/irrlicht-1.8.1/examples/07.Collision/Makefile38
-rw-r--r--src/others/irrlicht-1.8.1/examples/07.Collision/main.cpp330
-rw-r--r--src/others/irrlicht-1.8.1/examples/07.Collision/tutorial.html308
10 files changed, 1880 insertions, 0 deletions
diff --git a/src/others/irrlicht-1.8.1/examples/07.Collision/Collision.cbp b/src/others/irrlicht-1.8.1/examples/07.Collision/Collision.cbp
new file mode 100644
index 0000000..0d7f828
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/07.Collision/Collision.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 07 Collision" />
6 <Option pch_mode="0" />
7 <Option compiler="gcc" />
8 <Build>
9 <Target title="Windows">
10 <Option platforms="Windows;" />
11 <Option output="..\..\bin\Win32-gcc\Collision" prefix_auto="0" extension_auto="1" />
12 <Option type="1" />
13 <Option compiler="gcc" />
14 <Option projectResourceIncludeDirsRelation="1" />
15 <Compiler>
16 <Add option="-g" />
17 </Compiler>
18 <Linker>
19 <Add directory="..\..\lib\Win32-gcc" />
20 </Linker>
21 </Target>
22 <Target title="Linux">
23 <Option platforms="Unix;" />
24 <Option output="..\..\bin\Linux\Collision" prefix_auto="0" extension_auto="0" />
25 <Option type="1" />
26 <Option compiler="gcc" />
27 <Compiler>
28 <Add option="-g" />
29 </Compiler>
30 <Linker>
31 <Add library="Xxf86vm" />
32 <Add library="Xcursor" />
33 <Add library="GL" />
34 <Add directory="..\..\lib\Linux" />
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/07.Collision/Collision.dev b/src/others/irrlicht-1.8.1/examples/07.Collision/Collision.dev
new file mode 100644
index 0000000..c13a041
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/07.Collision/Collision.dev
@@ -0,0 +1,59 @@
1[Project]
2FileName=example.dev
3Name=Irrlicht Example 07 Collision
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=07.Collision.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/07.Collision/Collision.vcproj b/src/others/irrlicht-1.8.1/examples/07.Collision/Collision.vcproj
new file mode 100644
index 0000000..a4e4b07
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/07.Collision/Collision.vcproj
@@ -0,0 +1,163 @@
1<?xml version="1.0" encoding="Windows-1252"?>
2<VisualStudioProject
3 ProjectType="Visual C++"
4 Version="7.10"
5 Name="07.Collision"
6 ProjectGUID="{EB92287F-CBA1-4FF9-801E-89091F0B6D10}"
7 SccProjectName=""
8 SccLocalPath="">
9 <Platforms>
10 <Platform
11 Name="Win32"/>
12 </Platforms>
13 <Configurations>
14 <Configuration
15 Name="Debug|Win32"
16 OutputDirectory=".\Debug"
17 IntermediateDirectory=".\Debug"
18 ConfigurationType="1"
19 UseOfMFC="0"
20 ATLMinimizesCRunTimeLibraryUsage="FALSE"
21 CharacterSet="2">
22 <Tool
23 Name="VCCLCompilerTool"
24 Optimization="0"
25 AdditionalIncludeDirectories="..\..\include"
26 PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
27 BasicRuntimeChecks="3"
28 RuntimeLibrary="5"
29 UsePrecompiledHeader="2"
30 PrecompiledHeaderFile=".\Debug/Collision.pch"
31 AssemblerListingLocation=".\Debug/"
32 ObjectFile=".\Debug/"
33 ProgramDataBaseFileName=".\Debug/"
34 WarningLevel="3"
35 SuppressStartupBanner="TRUE"
36 DebugInformationFormat="4"
37 CompileAs="0"/>
38 <Tool
39 Name="VCCustomBuildTool"/>
40 <Tool
41 Name="VCLinkerTool"
42 OutputFile="..\..\bin\Win32-VisualStudio\07.Collision.exe"
43 LinkIncremental="0"
44 SuppressStartupBanner="TRUE"
45 AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
46 GenerateDebugInformation="TRUE"
47 ProgramDatabaseFile=".\Debug/Collision.pdb"
48 SubSystem="1"
49 TargetMachine="1"/>
50 <Tool
51 Name="VCMIDLTool"
52 TypeLibraryName=".\Debug/Collision.tlb"
53 HeaderFileName=""/>
54 <Tool
55 Name="VCPostBuildEventTool"/>
56 <Tool
57 Name="VCPreBuildEventTool"/>
58 <Tool
59 Name="VCPreLinkEventTool"/>
60 <Tool
61 Name="VCResourceCompilerTool"
62 PreprocessorDefinitions="_DEBUG"
63 Culture="3079"/>
64 <Tool
65 Name="VCWebServiceProxyGeneratorTool"/>
66 <Tool
67 Name="VCXMLDataGeneratorTool"/>
68 <Tool
69 Name="VCWebDeploymentTool"/>
70 <Tool
71 Name="VCManagedWrapperGeneratorTool"/>
72 <Tool
73 Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
74 </Configuration>
75 <Configuration
76 Name="Release|Win32"
77 OutputDirectory=".\Release"
78 IntermediateDirectory=".\Release"
79 ConfigurationType="1"
80 UseOfMFC="0"
81 ATLMinimizesCRunTimeLibraryUsage="FALSE"
82 CharacterSet="2">
83 <Tool
84 Name="VCCLCompilerTool"
85 Optimization="2"
86 InlineFunctionExpansion="1"
87 AdditionalIncludeDirectories="..\..\include"
88 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
89 StringPooling="TRUE"
90 RuntimeLibrary="4"
91 EnableFunctionLevelLinking="TRUE"
92 UsePrecompiledHeader="2"
93 PrecompiledHeaderFile=".\Release/Collision.pch"
94 AssemblerListingLocation=".\Release/"
95 ObjectFile=".\Release/"
96 ProgramDataBaseFileName=".\Release/"
97 WarningLevel="3"
98 SuppressStartupBanner="TRUE"
99 CompileAs="0"/>
100 <Tool
101 Name="VCCustomBuildTool"/>
102 <Tool
103 Name="VCLinkerTool"
104 OutputFile="..\..\bin\Win32-VisualStudio\07.Collision.exe"
105 LinkIncremental="0"
106 SuppressStartupBanner="TRUE"
107 AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
108 ProgramDatabaseFile=".\Release/Collision.pdb"
109 SubSystem="1"
110 TargetMachine="1"/>
111 <Tool
112 Name="VCMIDLTool"
113 TypeLibraryName=".\Release/Collision.tlb"
114 HeaderFileName=""/>
115 <Tool
116 Name="VCPostBuildEventTool"/>
117 <Tool
118 Name="VCPreBuildEventTool"/>
119 <Tool
120 Name="VCPreLinkEventTool"/>
121 <Tool
122 Name="VCResourceCompilerTool"
123 PreprocessorDefinitions="NDEBUG"
124 Culture="3079"/>
125 <Tool
126 Name="VCWebServiceProxyGeneratorTool"/>
127 <Tool
128 Name="VCXMLDataGeneratorTool"/>
129 <Tool
130 Name="VCWebDeploymentTool"/>
131 <Tool
132 Name="VCManagedWrapperGeneratorTool"/>
133 <Tool
134 Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
135 </Configuration>
136 </Configurations>
137 <References>
138 </References>
139 <Files>
140 <File
141 RelativePath="main.cpp">
142 <FileConfiguration
143 Name="Debug|Win32">
144 <Tool
145 Name="VCCLCompilerTool"
146 Optimization="0"
147 AdditionalIncludeDirectories=""
148 PreprocessorDefinitions=""
149 BasicRuntimeChecks="3"/>
150 </FileConfiguration>
151 <FileConfiguration
152 Name="Release|Win32">
153 <Tool
154 Name="VCCLCompilerTool"
155 Optimization="2"
156 AdditionalIncludeDirectories=""
157 PreprocessorDefinitions=""/>
158 </FileConfiguration>
159 </File>
160 </Files>
161 <Globals>
162 </Globals>
163</VisualStudioProject>
diff --git a/src/others/irrlicht-1.8.1/examples/07.Collision/Collision_vc10.vcxproj b/src/others/irrlicht-1.8.1/examples/07.Collision/Collision_vc10.vcxproj
new file mode 100644
index 0000000..03a94c8
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/07.Collision/Collision_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>07.Collision</ProjectName>
23 <ProjectGuid>{3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}</ProjectGuid>
24 <RootNamespace>Collision</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/Collision.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\07.Collision.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/Collision.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\07.Collision.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/Collision.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\07.Collision.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/Collision.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\07.Collision.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/07.Collision/Collision_vc11.vcxproj b/src/others/irrlicht-1.8.1/examples/07.Collision/Collision_vc11.vcxproj
new file mode 100644
index 0000000..0db4b42
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/07.Collision/Collision_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>07.Collision</ProjectName>
23 <ProjectGuid>{3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}</ProjectGuid>
24 <RootNamespace>Collision</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/Collision.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\07.Collision.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/Collision.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\07.Collision.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/Collision.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\07.Collision.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/Collision.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\07.Collision.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/07.Collision/Collision_vc8.vcproj b/src/others/irrlicht-1.8.1/examples/07.Collision/Collision_vc8.vcproj
new file mode 100644
index 0000000..4a2b6c1
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/07.Collision/Collision_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="07.Collision_vc8"
6 ProjectGUID="{3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}"
7 RootNamespace="Collision_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/Collision.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/Collision.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\07.Collision.exe"
75 LinkIncremental="0"
76 SuppressStartupBanner="true"
77 AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
78 GenerateDebugInformation="true"
79 ProgramDatabaseFile=".\Debug/Collision.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/Collision.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/Collision.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\07.Collision.exe"
167 LinkIncremental="0"
168 SuppressStartupBanner="true"
169 AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
170 ProgramDatabaseFile=".\Release/Collision.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/07.Collision/Collision_vc9.vcproj b/src/others/irrlicht-1.8.1/examples/07.Collision/Collision_vc9.vcproj
new file mode 100644
index 0000000..3cca93d
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/07.Collision/Collision_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="07.Collision_vc9"
6 ProjectGUID="{3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}"
7 RootNamespace="Collision_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/Collision.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/Collision.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\07.Collision.exe"
76 LinkIncremental="0"
77 SuppressStartupBanner="true"
78 AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
79 GenerateDebugInformation="true"
80 ProgramDatabaseFile=".\Debug/Collision.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/Collision.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/Collision.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\07.Collision.exe"
167 LinkIncremental="0"
168 SuppressStartupBanner="true"
169 AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
170 ProgramDatabaseFile=".\Release/Collision.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/07.Collision/Makefile b/src/others/irrlicht-1.8.1/examples/07.Collision/Makefile
new file mode 100644
index 0000000..6698725
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/07.Collision/Makefile
@@ -0,0 +1,38 @@
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 = 07.Collision
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 -lopengl32 -lm
23all_win32 clean_win32: SYSTEM=Win32-gcc
24all_win32 clean_win32: SUF=.exe
25# name of the binary - only valid for targets which set SYSTEM
26DESTPATH = ../../bin/$(SYSTEM)/$(Target)$(SUF)
27
28all_linux all_win32:
29 $(warning Building...)
30 $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(Sources) -o $(DESTPATH) $(LDFLAGS)
31
32clean: clean_linux clean_win32
33 $(warning Cleaning...)
34
35clean_linux clean_win32:
36 @$(RM) $(DESTPATH)
37
38.PHONY: all all_win32 clean clean_linux clean_win32
diff --git a/src/others/irrlicht-1.8.1/examples/07.Collision/main.cpp b/src/others/irrlicht-1.8.1/examples/07.Collision/main.cpp
new file mode 100644
index 0000000..8387c49
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/07.Collision/main.cpp
@@ -0,0 +1,330 @@
1/** Example 007 Collision
2
3We will describe 2 methods: Automatic collision detection for moving through
43d worlds with stair climbing and sliding, and manual scene node and triangle
5picking using a ray. In this case, we will use a ray coming out from the
6camera, but you can use any ray.
7
8To start, we take the program from tutorial 2, which loads and displays a
9quake 3 level. We will use the level to walk in it and to pick triangles from.
10In addition we'll place 3 animated models into it for triangle picking. The
11following code starts up the engine and loads the level, as per tutorial 2.
12*/
13#include <irrlicht.h>
14#include "driverChoice.h"
15
16using namespace irr;
17
18#ifdef _MSC_VER
19#pragma comment(lib, "Irrlicht.lib")
20#endif
21
22enum
23{
24 // I use this ISceneNode ID to indicate a scene node that is
25 // not pickable by getSceneNodeAndCollisionPointFromRay()
26 ID_IsNotPickable = 0,
27
28 // I use this flag in ISceneNode IDs to indicate that the
29 // scene node can be picked by ray selection.
30 IDFlag_IsPickable = 1 << 0,
31
32 // I use this flag in ISceneNode IDs to indicate that the
33 // scene node can be highlighted. In this example, the
34 // homonids can be highlighted, but the level mesh can't.
35 IDFlag_IsHighlightable = 1 << 1
36};
37
38int main()
39{
40 // ask user for driver
41 video::E_DRIVER_TYPE driverType=driverChoiceConsole();
42 if (driverType==video::EDT_COUNT)
43 return 1;
44
45 // create device
46
47 IrrlichtDevice *device =
48 createDevice(driverType, core::dimension2d<u32>(640, 480), 16, false);
49
50 if (device == 0)
51 return 1; // could not create selected driver.
52
53 video::IVideoDriver* driver = device->getVideoDriver();
54 scene::ISceneManager* smgr = device->getSceneManager();
55
56 device->getFileSystem()->addFileArchive("../../media/map-20kdm2.pk3");
57
58 scene::IAnimatedMesh* q3levelmesh = smgr->getMesh("20kdm2.bsp");
59 scene::IMeshSceneNode* q3node = 0;
60
61 // The Quake mesh is pickable, but doesn't get highlighted.
62 if (q3levelmesh)
63 q3node = smgr->addOctreeSceneNode(q3levelmesh->getMesh(0), 0, IDFlag_IsPickable);
64
65 /*
66 So far so good, we've loaded the quake 3 level like in tutorial 2. Now,
67 here comes something different: We create a triangle selector. A
68 triangle selector is a class which can fetch the triangles from scene
69 nodes for doing different things with them, for example collision
70 detection. There are different triangle selectors, and all can be
71 created with the ISceneManager. In this example, we create an
72 OctreeTriangleSelector, which optimizes the triangle output a little
73 bit by reducing it like an octree. This is very useful for huge meshes
74 like quake 3 levels. After we created the triangle selector, we attach
75 it to the q3node. This is not necessary, but in this way, we do not
76 need to care for the selector, for example dropping it after we do not
77 need it anymore.
78 */
79
80 scene::ITriangleSelector* selector = 0;
81
82 if (q3node)
83 {
84 q3node->setPosition(core::vector3df(-1350,-130,-1400));
85
86 selector = smgr->createOctreeTriangleSelector(
87 q3node->getMesh(), q3node, 128);
88 q3node->setTriangleSelector(selector);
89 // We're not done with this selector yet, so don't drop it.
90 }
91
92
93 /*
94 We add a first person shooter camera to the scene so that we can see and
95 move in the quake 3 level like in tutorial 2. But this, time, we add a
96 special animator to the camera: A Collision Response animator. This
97 animator modifies the scene node to which it is attached to in order to
98 prevent it moving through walls, and to add gravity to it. The
99 only thing we have to tell the animator is how the world looks like,
100 how big the scene node is, how much gravity to apply and so on. After the
101 collision response animator is attached to the camera, we do not have to do
102 anything more for collision detection, anything is done automatically.
103 The rest of the collision detection code below is for picking. And please
104 note another cool feature: The collision response animator can be
105 attached also to all other scene nodes, not only to cameras. And it can
106 be mixed with other scene node animators. In this way, collision
107 detection and response in the Irrlicht engine is really easy.
108
109 Now we'll take a closer look on the parameters of
110 createCollisionResponseAnimator(). The first parameter is the
111 TriangleSelector, which specifies how the world, against collision
112 detection is done looks like. The second parameter is the scene node,
113 which is the object, which is affected by collision detection, in our
114 case it is the camera. The third defines how big the object is, it is
115 the radius of an ellipsoid. Try it out and change the radius to smaller
116 values, the camera will be able to move closer to walls after this. The
117 next parameter is the direction and speed of gravity. We'll set it to
118 (0, -10, 0), which approximates to realistic gravity, assuming that our
119 units are metres. You could set it to (0,0,0) to disable gravity. And the
120 last value is just a translation: Without this, the ellipsoid with which
121 collision detection is done would be around the camera, and the camera would
122 be in the middle of the ellipsoid. But as human beings, we are used to have our
123 eyes on top of the body, with which we collide with our world, not in
124 the middle of it. So we place the scene node 50 units over the center
125 of the ellipsoid with this parameter. And that's it, collision
126 detection works now.
127 */
128
129 // Set a jump speed of 3 units per second, which gives a fairly realistic jump
130 // when used with the gravity of (0, -10, 0) in the collision response animator.
131 scene::ICameraSceneNode* camera =
132 smgr->addCameraSceneNodeFPS(0, 100.0f, .3f, ID_IsNotPickable, 0, 0, true, 3.f);
133 camera->setPosition(core::vector3df(50,50,-60));
134 camera->setTarget(core::vector3df(-70,30,-60));
135
136 if (selector)
137 {
138 scene::ISceneNodeAnimator* anim = smgr->createCollisionResponseAnimator(
139 selector, camera, core::vector3df(30,50,30),
140 core::vector3df(0,-10,0), core::vector3df(0,30,0));
141 selector->drop(); // As soon as we're done with the selector, drop it.
142 camera->addAnimator(anim);
143 anim->drop(); // And likewise, drop the animator when we're done referring to it.
144 }
145
146 // Now I create three animated characters which we can pick, a dynamic light for
147 // lighting them, and a billboard for drawing where we found an intersection.
148
149 // First, let's get rid of the mouse cursor. We'll use a billboard to show
150 // what we're looking at.
151 device->getCursorControl()->setVisible(false);
152
153 // Add the billboard.
154 scene::IBillboardSceneNode * bill = smgr->addBillboardSceneNode();
155 bill->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR );
156 bill->setMaterialTexture(0, driver->getTexture("../../media/particle.bmp"));
157 bill->setMaterialFlag(video::EMF_LIGHTING, false);
158 bill->setMaterialFlag(video::EMF_ZBUFFER, false);
159 bill->setSize(core::dimension2d<f32>(20.0f, 20.0f));
160 bill->setID(ID_IsNotPickable); // This ensures that we don't accidentally ray-pick it
161
162 /* Add 3 animated hominids, which we can pick using a ray-triangle intersection.
163 They all animate quite slowly, to make it easier to see that accurate triangle
164 selection is being performed. */
165 scene::IAnimatedMeshSceneNode* node = 0;
166
167 video::SMaterial material;
168
169 // Add an MD2 node, which uses vertex-based animation.
170 node = smgr->addAnimatedMeshSceneNode(smgr->getMesh("../../media/faerie.md2"),
171 0, IDFlag_IsPickable | IDFlag_IsHighlightable);
172 node->setPosition(core::vector3df(-90,-15,-140)); // Put its feet on the floor.
173 node->setScale(core::vector3df(1.6f)); // Make it appear realistically scaled
174 node->setMD2Animation(scene::EMAT_POINT);
175 node->setAnimationSpeed(20.f);
176 material.setTexture(0, driver->getTexture("../../media/faerie2.bmp"));
177 material.Lighting = true;
178 material.NormalizeNormals = true;
179 node->getMaterial(0) = material;
180
181 // Now create a triangle selector for it. The selector will know that it
182 // is associated with an animated node, and will update itself as necessary.
183 selector = smgr->createTriangleSelector(node);
184 node->setTriangleSelector(selector);
185 selector->drop(); // We're done with this selector, so drop it now.
186
187 // And this B3D file uses skinned skeletal animation.
188 node = smgr->addAnimatedMeshSceneNode(smgr->getMesh("../../media/ninja.b3d"),
189 0, IDFlag_IsPickable | IDFlag_IsHighlightable);
190 node->setScale(core::vector3df(10));
191 node->setPosition(core::vector3df(-75,-66,-80));
192 node->setRotation(core::vector3df(0,90,0));
193 node->setAnimationSpeed(8.f);
194 node->getMaterial(0).NormalizeNormals = true;
195 node->getMaterial(0).Lighting = true;
196 // Just do the same as we did above.
197 selector = smgr->createTriangleSelector(node);
198 node->setTriangleSelector(selector);
199 selector->drop();
200
201 // This X files uses skeletal animation, but without skinning.
202 node = smgr->addAnimatedMeshSceneNode(smgr->getMesh("../../media/dwarf.x"),
203 0, IDFlag_IsPickable | IDFlag_IsHighlightable);
204 node->setPosition(core::vector3df(-70,-66,-30)); // Put its feet on the floor.
205 node->setRotation(core::vector3df(0,-90,0)); // And turn it towards the camera.
206 node->setAnimationSpeed(20.f);
207 node->getMaterial(0).Lighting = true;
208 selector = smgr->createTriangleSelector(node);
209 node->setTriangleSelector(selector);
210 selector->drop();
211
212
213 // And this mdl file uses skinned skeletal animation.
214 node = smgr->addAnimatedMeshSceneNode(smgr->getMesh("../../media/yodan.mdl"),
215 0, IDFlag_IsPickable | IDFlag_IsHighlightable);
216 node->setPosition(core::vector3df(-90,-25,20));
217 node->setScale(core::vector3df(0.8f));
218 node->getMaterial(0).Lighting = true;
219 node->setAnimationSpeed(20.f);
220
221 // Just do the same as we did above.
222 selector = smgr->createTriangleSelector(node);
223 node->setTriangleSelector(selector);
224 selector->drop();
225
226 material.setTexture(0, 0);
227 material.Lighting = false;
228
229 // Add a light, so that the unselected nodes aren't completely dark.
230 scene::ILightSceneNode * light = smgr->addLightSceneNode(0, core::vector3df(-60,100,400),
231 video::SColorf(1.0f,1.0f,1.0f,1.0f), 600.0f);
232 light->setID(ID_IsNotPickable); // Make it an invalid target for selection.
233
234 // Remember which scene node is highlighted
235 scene::ISceneNode* highlightedSceneNode = 0;
236 scene::ISceneCollisionManager* collMan = smgr->getSceneCollisionManager();
237 int lastFPS = -1;
238
239 // draw the selection triangle only as wireframe
240 material.Wireframe=true;
241
242 while(device->run())
243 if (device->isWindowActive())
244 {
245 driver->beginScene(true, true, 0);
246 smgr->drawAll();
247
248 // Unlight any currently highlighted scene node
249 if (highlightedSceneNode)
250 {
251 highlightedSceneNode->setMaterialFlag(video::EMF_LIGHTING, true);
252 highlightedSceneNode = 0;
253 }
254
255 // All intersections in this example are done with a ray cast out from the camera to
256 // a distance of 1000. You can easily modify this to check (e.g.) a bullet
257 // trajectory or a sword's position, or create a ray from a mouse click position using
258 // ISceneCollisionManager::getRayFromScreenCoordinates()
259 core::line3d<f32> ray;
260 ray.start = camera->getPosition();
261 ray.end = ray.start + (camera->getTarget() - ray.start).normalize() * 1000.0f;
262
263 // Tracks the current intersection point with the level or a mesh
264 core::vector3df intersection;
265 // Used to show with triangle has been hit
266 core::triangle3df hitTriangle;
267
268 // This call is all you need to perform ray/triangle collision on every scene node
269 // that has a triangle selector, including the Quake level mesh. It finds the nearest
270 // collision point/triangle, and returns the scene node containing that point.
271 // Irrlicht provides other types of selection, including ray/triangle selector,
272 // ray/box and ellipse/triangle selector, plus associated helpers.
273 // See the methods of ISceneCollisionManager
274 scene::ISceneNode * selectedSceneNode =
275 collMan->getSceneNodeAndCollisionPointFromRay(
276 ray,
277 intersection, // This will be the position of the collision
278 hitTriangle, // This will be the triangle hit in the collision
279 IDFlag_IsPickable, // This ensures that only nodes that we have
280 // set up to be pickable are considered
281 0); // Check the entire scene (this is actually the implicit default)
282
283 // If the ray hit anything, move the billboard to the collision position
284 // and draw the triangle that was hit.
285 if(selectedSceneNode)
286 {
287 bill->setPosition(intersection);
288
289 // We need to reset the transform before doing our own rendering.
290 driver->setTransform(video::ETS_WORLD, core::matrix4());
291 driver->setMaterial(material);
292 driver->draw3DTriangle(hitTriangle, video::SColor(0,255,0,0));
293
294 // We can check the flags for the scene node that was hit to see if it should be
295 // highlighted. The animated nodes can be highlighted, but not the Quake level mesh
296 if((selectedSceneNode->getID() & IDFlag_IsHighlightable) == IDFlag_IsHighlightable)
297 {
298 highlightedSceneNode = selectedSceneNode;
299
300 // Highlighting in this case means turning lighting OFF for this node,
301 // which means that it will be drawn with full brightness.
302 highlightedSceneNode->setMaterialFlag(video::EMF_LIGHTING, false);
303 }
304 }
305
306 // We're all done drawing, so end the scene.
307 driver->endScene();
308
309 int fps = driver->getFPS();
310
311 if (lastFPS != fps)
312 {
313 core::stringw str = L"Collision detection example - Irrlicht Engine [";
314 str += driver->getName();
315 str += "] FPS:";
316 str += fps;
317
318 device->setWindowCaption(str.c_str());
319 lastFPS = fps;
320 }
321 }
322
323 device->drop();
324
325 return 0;
326}
327
328/*
329**/
330
diff --git a/src/others/irrlicht-1.8.1/examples/07.Collision/tutorial.html b/src/others/irrlicht-1.8.1/examples/07.Collision/tutorial.html
new file mode 100644
index 0000000..c04fce9
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/07.Collision/tutorial.html
@@ -0,0 +1,308 @@
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%">
13<div align="center">
14<div align="center"></div>
15 <div align="left"><b><font color="#FFFFFF">Tutorial 7. Collision detection
16 and response</font></b></div>
17 </div>
18 </td>
19 </tr>
20 <tr bgcolor="#eeeeff">
21 <td height="90" colspan="2">
22 <div align="left">
23 <p>In this tutorial, I will show how to collision detection with the Irrlicht
24 Engine. I will describe 3 methods: Automatic collision detection for
25 moving through 3d worlds with stair climbing and sliding, manual triangle
26 picking and manual scene node picking.</p>
27 <p>The program which is described here will look like this:</p>
28 <p align="center"><img src="../../media/007shot.jpg" width="259" height="204"><br>
29 </p>
30 </div>
31 </td>
32 </tr>
33</table>
34<br>
35<table width="95%" border="0" cellspacing="0" cellpadding="2" align="center">
36 <tr>
37 <td bgcolor="#666699"> <div align="center"><b><font color="#FFFFFF"></font></b></div>
38 <b><font color="#FFFFFF">Lets start!</font></b></td>
39 </tr>
40 <tr>
41 <td height="90" bgcolor="#eeeeff" valign="top"> <div align="left">
42 <div align="left">
43 <p>To start, we take the program from tutorial 2, which loaded and displayed
44 a quake 3 level. We will use the level to walk in it and to pick triangles
45 from it. In addition we'll place 3 animated models into it for scene
46 node picking. The following code starts up the engine and loads a
47 quake 3 level. I will not explain it, because it should already be
48 known from tutorial 2.</p>
49 <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center">
50 <tr>
51 <td> <pre><font size="2"><font color="#008000">#include &lt;irrlicht.h&gt;
52#include &lt;iostream&gt;<br>
53</font><b>using namespace </b>irr;
54
55<font color="#008000">#pragma comment(lib, &quot;Irrlicht.lib&quot;)
56
57</font><b>int </b>main()
58{
59<font color="#008000"> // let user select driver type</font>
60<br> video::E_DRIVER_TYPE driverType;<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><br> char 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 0;<br> } <br>
61<font color="#008000"> // create device</font></font></pre>
62 <pre> IrrlichtDevice *device = createDevice(driverType,
63 core::dimension2d&lt;s32&gt;(640, 480), 16, false);<br>
64 if (device == 0)<br> return 1; // could not create selected driver.<br><br> video::IVideoDriver* driver = device-&gt;getVideoDriver();<br> scene::ISceneManager* smgr = device-&gt;getSceneManager();<br><br> <font size="2">device-&gt;getFileSystem()-&gt;addZipFileArchive<br> (<font color="#FF0000">&quot;../../media/map-20kdm2.pk3&quot;</font>);
65
66
67 scene::IAnimatedMesh* q3levelmesh = smgr-&gt;getMesh(<font color="#FF0000">&quot;20kdm2.bsp&quot;</font>);
68 scene::ISceneNode* q3node = <font color="#800080">0</font>;
69
70 <b>if </b>(q3levelmesh)
71 q3node = smgr-&gt;addOctTreeSceneNode(q3levelmesh-&gt;getMesh(<font color="#800080">0</font>));
72</font></pre>
73 </td>
74 </tr>
75 </table>
76 <p> So far so good, we've loaded the quake 3 level like in tutorial
77 2. Now, here comes something different: We create a triangle selector.
78 A triangle selector is a class which can fetch the triangles from
79 scene nodes for doing different things with them, for example collision
80 detection. There are different triangle selectors, and all can be
81 created with the ISceneManager. In this example, we create an OctTreeTriangleSelector,
82 which optimizes the triangle output a little bit by reducing it like
83 an octree. This is very useful for huge meshes like quake 3 levels.<br>
84 Afte we created the triangle selector, we attach it to the q3node.
85 This is not necessary, but in this way, we do not need to care for
86 the selector, for example dropping it after we do not need it anymore.</p>
87 <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center">
88 <tr>
89 <td> <pre><font size="2">scene::ITriangleSelector* selector = <font color="#800080">0</font>;
90
91 <b>if </b>(q3node)
92 {
93 q3node-&gt;setPosition(core::vector3df(-<font color="#800080">1370</font>,-<font color="#800080">130</font>,-<font color="#800080">1400</font>));
94
95 selector = smgr-&gt;createOctTreeTriangleSelector(
96 q3levelmesh-&gt;getMesh(<font color="#800080">0</font>), q3node, <font color="#800080">128</font>);
97 q3node-&gt;setTriangleSelector(selector);
98 }</font></pre></td>
99 </tr>
100 </table>
101 <p> We add a first person shooter camera to the scene for being able
102 to move in the quake 3 level like in tutorial 2. But this, time, we
103 add a special animator to the camera: A Collision Response animator.
104 This thing modifies the scene node to which it is attached to in that
105 way, that it may no more move through walls and is affected by gravity.
106 The only thing we have to tell the animator is how the world looks
107 like, how big the scene node is, how gravity and so on. After the
108 collision response animator is attached to the camera, we do not have
109 to do anything more for collision detection, anything is done automaticly,
110 all other collision detection code below is for picking. And please
111 note another cool feature: The collsion response animator can be attached
112 also to all other scene nodes, not only to cameras. And it can be
113 mixed with other scene node animators. In this way, collision detection
114 and response in the Irrlicht<br>
115 engine is really, really easy.<br>
116 Now we'll take a closer look on the parameters of createCollisionResponseAnimator().
117 The first parameter is the TriangleSelector, which specifies how the
118 world, against collision detection is done looks like. The second
119 parameter is the scene node, which is the object, which is affected
120 by collision detection, in our case it is the camera. The third defines
121 how big the object is, it is the radius of an ellipsoid. Try it out
122 and change the radius to smaller values, the camera will be able to
123 move closer to walls after this. The next parameter is the direction
124 and speed of gravity. You could set it to (0,0,0) to disable gravity.
125 And the last value is just a translation: Without this, the ellipsoid
126 with which collision detection is done would be around the camera,
127 and the camera would be in the middle of the ellipsoid. But as human
128 beings, we are used to have our eyes on top of the body, with which
129 we collide with our world, not in the middle of it. So we place the
130 scene node 50 units over the center of the ellipsoid with this parameter.
131 And that's it, collision detection works now. <br>
132 </p>
133 <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center">
134 <tr>
135 <td> <pre><font size="2"> scene::ICameraSceneNode* camera = <br> camera = smgr-&gt;addCameraSceneNodeFPS(<font color="#800080">0</font>,<font color="#800080">100.0f</font>,<font color="#800080">300.0f</font>);
136 camera-&gt;setPosition(core::vector3df(-10<font color="#800080">0</font>,<font color="#800080">50</font>,-15<font color="#800080">0</font>));
137
138 scene::ISceneNodeAnimator* anim =<br> smgr-&gt;createCollisionResponseAnimator(
139 selector, camera, core::vector3df(<font color="#800080">30</font>,<font color="#800080">50</font>,<font color="#800080">30</font>),
140 core::vector3df(<font color="#800080">0</font>,<font color="#800080">-3</font>,<font color="#800080">0</font>),
141 core::vector3df(<font color="#800080">0</font>,<font color="#800080">50</font>,<font color="#800080">0</font>));<br>
142 selector-&gt;drop();<br>
143 camera-&gt;addAnimator(anim);
144 anim-&gt;drop();</font></pre></td>
145 </tr>
146 </table>
147 <p> Because collision detection is no big deal in irrlicht, I'll describe
148 how to do two different types of picking in the next section. But
149 before this, I'll prepare the scene a little. I need three animated
150 characters which we <br>
151 could pick later, a dynamic light for lighting them, a billboard for
152 drawing where we found an intersection, and, yes, I need to get rid
153 of this mouse cursor. :)</p>
154 <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center">
155 <tr>
156 <td> <pre><font size="2"> <font color="#0A246A"><i>// disable mouse cursor
157
158</i></font> device-&gt;getCursorControl()-&gt;setVisible(<b>false</b>);
159
160 <font color="#0A246A"><i>// add billboard
161
162</i></font> scene::IBillboardSceneNode * bill = smgr-&gt;addBillboardSceneNode();
163 bill-&gt;setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR );
164 bill-&gt;setMaterialTexture(<font color="#800080">0</font>, driver-&gt;getTexture(<br> <font color="#FF0000">&quot;../../media/particle.bmp&quot;</font>));
165 bill-&gt;setMaterialFlag(video::EMF_LIGHTING, <b>false</b>);
166 bill-&gt;setSize(core::dimension2d&lt;f32&gt;(<font color="#800080">20.0f</font>, <font color="#800080">20.0f</font>));
167
168 <font color="#0A246A"><i>// add 3 animated faeries.
169
170</i></font> video::SMaterial material;
171 material.Texture1 = driver-&gt;getTexture(<font color="#FF0000"><br> &quot;../../media/faerie2.bmp&quot;</font>);
172 material.Lighting = <b>true</b>;
173
174 scene::IAnimatedMeshSceneNode* node = <font color="#800080">0</font>;
175 scene::IAnimatedMesh* faerie = smgr-&gt;getMesh(<br> <font color="#FF0000">&quot;../../media/faerie.md2&quot;</font>);
176
177 <b>if </b>(faerie)
178 {
179 node = smgr-&gt;addAnimatedMeshSceneNode(faerie);
180 node-&gt;setPosition(core::vector3df(-<font color="#800080">70</font>,<font color="#800080">0</font>,-<font color="#800080">90</font>));
181 node-&gt;setMD2Animation(scene::EMAT_RUN);
182 node-&gt;getMaterial(<font color="#800080">0</font>) = material;
183
184 node = smgr-&gt;addAnimatedMeshSceneNode(faerie);
185 node-&gt;setPosition(core::vector3df(-<font color="#800080">70</font>,<font color="#800080">0</font>,-<font color="#800080">30</font>));
186 node-&gt;setMD2Animation(scene::EMAT_SALUTE);
187 node-&gt;getMaterial(<font color="#800080">0</font>) = material;
188
189 node = smgr-&gt;addAnimatedMeshSceneNode(faerie);
190 node-&gt;setPosition(core::vector3df(-<font color="#800080">70</font>,<font color="#800080">0</font>,-<font color="#800080">60</font>));
191 node-&gt;setMD2Animation(scene::EMAT_JUMP);
192 node-&gt;getMaterial(<font color="#800080">0</font>) = material;
193 }
194
195 material.Texture1 = <font color="#800080">0</font>;
196 material.Lighting = <b>false</b>;
197
198 <font color="#0A246A"><i>// Add a light
199
200</i></font> smgr-&gt;addLightSceneNode(<font color="#800080">0</font>, core::vector3df(-<font color="#800080">60</font>,<font color="#800080">100</font>,<font color="#800080">400</font>),
201 video::SColorf(<font color="#800080">1.0f</font>,<font color="#800080">1.0f</font>,<font color="#800080">1.0f</font>,<font color="#800080">1.0f</font>),
202 <font color="#800080">600.0f</font>);</font></pre></td>
203 </tr>
204 </table>
205 <p>For not making it to complicated, I'm doing picking inside the drawing
206 loop. We take two pointers for storing the current and the last selected
207 scene node and start the loop.</p>
208 </div>
209 <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center">
210 <tr>
211 <td> <pre><font size="2"> scene::ISceneNode* selectedSceneNode = <font color="#800080">0</font>;
212 scene::ISceneNode* lastSelectedSceneNode = <font color="#800080">0</font>;
213
214
215 <b>int </b>lastFPS = -<font color="#800080">1</font>;
216
217 <b>while</b>(device-&gt;run())<br> <strong>if</strong> (device-&gt;isWindowActive())
218 {
219 driver-&gt;beginScene(<b>true</b>, <b>true</b>, <font color="#800080">0</font>);
220
221 smgr-&gt;drawAll();</font></pre></td>
222 </tr>
223 </table>
224 <p> After we've drawn the whole scene whit smgr-&gt;drawAll(), we'll do
225 the first picking: We want to know which triangle of the world we are
226 looking at. In addition, we want the exact point of the quake 3 level
227 we are looking at. For this, we create a 3d line starting at the position
228 of the camera and going through the lookAt-target of it. Then we ask
229 the collision manager if this line collides with a triangle of the world
230 stored in the triangle selector. If yes, we draw the 3d triangle and
231 set the position of the billboard to the intersection point. </p>
232 <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center">
233 <tr>
234 <td><pre><font size="2"> core::line3d&lt;f32&gt; line;
235 line.start = camera-&gt;getPosition();
236 line.end = line.start +
237 (camera-&gt;getTarget() - line.start).normalize() * <font color="#800080">1000.0f</font>;
238
239 core::vector3df intersection;
240 core::triangle3df tri;
241
242 <b>if </b>(smgr-&gt;getSceneCollisionManager()-&gt;getCollisionPoint(
243 line, selector, intersection, tri))
244 {
245 bill-&gt;setPosition(intersection);
246
247 driver-&gt;setTransform(video::ETS_WORLD, core::matrix4());
248 driver-&gt;setMaterial(material);
249 driver-&gt;draw3DTriangle(tri, video::SColor(<font color="#800080">0</font>,<font color="#800080">255</font>,<font color="#800080">0</font>,<font color="#800080">0</font>));
250 }</font></pre></td>
251 </tr>
252 </table>
253 <p> Another type of picking supported by the Irrlicht Engine is scene
254 node picking based on bouding boxes. Every scene node has got a bounding
255 box, and because of that, it's very fast for example to get the scene
256 node which the camera looks<br>
257 at. Again, we ask the collision manager for this, and if we've got a
258 scene node, we highlight it by disabling Lighting in its material, if
259 it is not the billboard or the quake 3 level. </p>
260 <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center">
261 <tr>
262 <td><pre><font size="2"> selectedSceneNode = smgr-&gt;getSceneCollisionManager()-&gt;
263 getSceneNodeFromCameraBB(camera);
264
265 <b>if </b>(lastSelectedSceneNode)
266 lastSelectedSceneNode-&gt;setMaterialFlag(
267 video::EMF_LIGHTING, <b>true</b>);
268
269 <b>if </b>(selectedSceneNode == q3node ||
270 selectedSceneNode == bill)
271 selectedSceneNode = <font color="#800080">0</font>;
272
273 <b>if </b>(selectedSceneNode)
274 selectedSceneNode-&gt;setMaterialFlag(
275 video::EMF_LIGHTING, <b>false</b>);
276
277 lastSelectedSceneNode = selectedSceneNode;</font></pre></td>
278 </tr>
279 </table>
280 <p> That's it, we just have to finish drawing.</p>
281 <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center">
282 <tr>
283 <td> <pre><font size="2"> driver-&gt;endScene();
284
285 <b>int </b>fps = driver-&gt;getFPS();
286
287 <b>if </b>(lastFPS != fps)
288 {
289 core::stringw str = L&quot;Collision detection example - Irrlicht Engine [&quot;;<br> str += driver-&gt;getName();<br> str += &quot;] FPS:&quot;;<br> str += fps;<br><br> device-&gt;setWindowCaption(str.c_str());<br> lastFPS = fps;<br> }
290 }
291
292 device-&gt;drop();
293
294 <b>return </b><font color="#800080">0</font>;
295}
296
297</font></pre></td>
298 </tr>
299 </table>
300 <p>&nbsp;</p>
301 <p>&nbsp;</p>
302 </div>
303 </td>
304 </tr>
305</table>
306<p>&nbsp;</p>
307 </body>
308</html>