diff options
Diffstat (limited to 'src/others/irrlicht-1.8.1/examples/07.Collision')
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] | ||
2 | FileName=example.dev | ||
3 | Name=Irrlicht Example 07 Collision | ||
4 | UnitCount=1 | ||
5 | Type=1 | ||
6 | Ver=1 | ||
7 | ObjFiles= | ||
8 | Includes=..\..\include | ||
9 | Libs= | ||
10 | PrivateResource= | ||
11 | ResourceIncludes= | ||
12 | MakeIncludes= | ||
13 | Compiler= | ||
14 | CppCompiler= | ||
15 | Linker=../../lib/Win32-gcc/libIrrlicht.a_@@_ | ||
16 | IsCpp=1 | ||
17 | Icon= | ||
18 | ExeOutput=../../bin/Win32-gcc | ||
19 | ObjectOutput=obj | ||
20 | OverrideOutput=1 | ||
21 | OverrideOutputName=07.Collision.exe | ||
22 | HostApplication= | ||
23 | Folders= | ||
24 | CommandLine= | ||
25 | IncludeVersionInfo=0 | ||
26 | SupportXPThemes=0 | ||
27 | CompilerSet=0 | ||
28 | CompilerSettings=0000000000000000000000 | ||
29 | UseCustomMakefile=0 | ||
30 | CustomMakefile= | ||
31 | |||
32 | [Unit1] | ||
33 | FileName=main.cpp | ||
34 | CompileCpp=1 | ||
35 | Folder=Projekt1 | ||
36 | Compile=1 | ||
37 | Link=1 | ||
38 | Priority=1000 | ||
39 | OverrideBuildCmd=0 | ||
40 | BuildCmd= | ||
41 | |||
42 | [VersionInfo] | ||
43 | Major=0 | ||
44 | Minor=1 | ||
45 | Release=1 | ||
46 | Build=1 | ||
47 | LanguageID=1033 | ||
48 | CharsetID=1252 | ||
49 | CompanyName= | ||
50 | FileVersion= | ||
51 | FileDescription=Irrlicht Engine example compiled using DevCpp and gcc | ||
52 | InternalName= | ||
53 | LegalCopyright= | ||
54 | LegalTrademarks= | ||
55 | OriginalFilename= | ||
56 | ProductName= | ||
57 | ProductVersion= | ||
58 | AutoIncBuildNr=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 | ||
4 | Target = 07.Collision | ||
5 | Sources = main.cpp | ||
6 | |||
7 | # general compiler settings | ||
8 | CPPFLAGS = -I../../include -I/usr/X11R6/include | ||
9 | CXXFLAGS = -O3 -ffast-math | ||
10 | #CXXFLAGS = -g -Wall | ||
11 | |||
12 | #default target is Linux | ||
13 | all: all_linux | ||
14 | |||
15 | ifeq ($(HOSTTYPE), x86_64) | ||
16 | LIBSELECT=64 | ||
17 | endif | ||
18 | |||
19 | # target specific settings | ||
20 | all_linux: LDFLAGS = -L/usr/X11R6/lib$(LIBSELECT) -L../../lib/Linux -lIrrlicht -lGL -lXxf86vm -lXext -lX11 -lXcursor | ||
21 | all_linux clean_linux: SYSTEM=Linux | ||
22 | all_win32: LDFLAGS = -L../../lib/Win32-gcc -lIrrlicht -lopengl32 -lm | ||
23 | all_win32 clean_win32: SYSTEM=Win32-gcc | ||
24 | all_win32 clean_win32: SUF=.exe | ||
25 | # name of the binary - only valid for targets which set SYSTEM | ||
26 | DESTPATH = ../../bin/$(SYSTEM)/$(Target)$(SUF) | ||
27 | |||
28 | all_linux all_win32: | ||
29 | $(warning Building...) | ||
30 | $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(Sources) -o $(DESTPATH) $(LDFLAGS) | ||
31 | |||
32 | clean: clean_linux clean_win32 | ||
33 | $(warning Cleaning...) | ||
34 | |||
35 | clean_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 | |||
3 | We will describe 2 methods: Automatic collision detection for moving through | ||
4 | 3d worlds with stair climbing and sliding, and manual scene node and triangle | ||
5 | picking using a ray. In this case, we will use a ray coming out from the | ||
6 | camera, but you can use any ray. | ||
7 | |||
8 | To start, we take the program from tutorial 2, which loads and displays a | ||
9 | quake 3 level. We will use the level to walk in it and to pick triangles from. | ||
10 | In addition we'll place 3 animated models into it for triangle picking. The | ||
11 | following code starts up the engine and loads the level, as per tutorial 2. | ||
12 | */ | ||
13 | #include <irrlicht.h> | ||
14 | #include "driverChoice.h" | ||
15 | |||
16 | using namespace irr; | ||
17 | |||
18 | #ifdef _MSC_VER | ||
19 | #pragma comment(lib, "Irrlicht.lib") | ||
20 | #endif | ||
21 | |||
22 | enum | ||
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 | |||
38 | int 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 <irrlicht.h> | ||
52 | #include <iostream><br> | ||
53 | </font><b>using namespace </b>irr; | ||
54 | |||
55 | <font color="#008000">#pragma comment(lib, "Irrlicht.lib") | ||
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("Please select the driver you want for this example:\n"\<br> " (a) Direct3D 9.0c\n (b) Direct3D 8.1\n (c) OpenGL 1.5\n"\<br> " (d) Software Renderer\n (e) Apfelbaum Software Renderer\n"\<br> " (f) NullDevice\n (otherKey) exit\n\n");<br><br> char i;<br> std::cin >> 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<s32>(640, 480), 16, false);<br> | ||
64 | if (device == 0)<br> return 1; // could not create selected driver.<br><br> video::IVideoDriver* driver = device->getVideoDriver();<br> scene::ISceneManager* smgr = device->getSceneManager();<br><br> <font size="2">device->getFileSystem()->addZipFileArchive<br> (<font color="#FF0000">"../../media/map-20kdm2.pk3"</font>); | ||
65 | |||
66 | |||
67 | scene::IAnimatedMesh* q3levelmesh = smgr->getMesh(<font color="#FF0000">"20kdm2.bsp"</font>); | ||
68 | scene::ISceneNode* q3node = <font color="#800080">0</font>; | ||
69 | |||
70 | <b>if </b>(q3levelmesh) | ||
71 | q3node = smgr->addOctTreeSceneNode(q3levelmesh->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->setPosition(core::vector3df(-<font color="#800080">1370</font>,-<font color="#800080">130</font>,-<font color="#800080">1400</font>)); | ||
94 | |||
95 | selector = smgr->createOctTreeTriangleSelector( | ||
96 | q3levelmesh->getMesh(<font color="#800080">0</font>), q3node, <font color="#800080">128</font>); | ||
97 | q3node->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->addCameraSceneNodeFPS(<font color="#800080">0</font>,<font color="#800080">100.0f</font>,<font color="#800080">300.0f</font>); | ||
136 | camera->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->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->drop();<br> | ||
143 | camera->addAnimator(anim); | ||
144 | anim->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->getCursorControl()->setVisible(<b>false</b>); | ||
159 | |||
160 | <font color="#0A246A"><i>// add billboard | ||
161 | |||
162 | </i></font> scene::IBillboardSceneNode * bill = smgr->addBillboardSceneNode(); | ||
163 | bill->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR ); | ||
164 | bill->setMaterialTexture(<font color="#800080">0</font>, driver->getTexture(<br> <font color="#FF0000">"../../media/particle.bmp"</font>)); | ||
165 | bill->setMaterialFlag(video::EMF_LIGHTING, <b>false</b>); | ||
166 | bill->setSize(core::dimension2d<f32>(<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->getTexture(<font color="#FF0000"><br> "../../media/faerie2.bmp"</font>); | ||
172 | material.Lighting = <b>true</b>; | ||
173 | |||
174 | scene::IAnimatedMeshSceneNode* node = <font color="#800080">0</font>; | ||
175 | scene::IAnimatedMesh* faerie = smgr->getMesh(<br> <font color="#FF0000">"../../media/faerie.md2"</font>); | ||
176 | |||
177 | <b>if </b>(faerie) | ||
178 | { | ||
179 | node = smgr->addAnimatedMeshSceneNode(faerie); | ||
180 | node->setPosition(core::vector3df(-<font color="#800080">70</font>,<font color="#800080">0</font>,-<font color="#800080">90</font>)); | ||
181 | node->setMD2Animation(scene::EMAT_RUN); | ||
182 | node->getMaterial(<font color="#800080">0</font>) = material; | ||
183 | |||
184 | node = smgr->addAnimatedMeshSceneNode(faerie); | ||
185 | node->setPosition(core::vector3df(-<font color="#800080">70</font>,<font color="#800080">0</font>,-<font color="#800080">30</font>)); | ||
186 | node->setMD2Animation(scene::EMAT_SALUTE); | ||
187 | node->getMaterial(<font color="#800080">0</font>) = material; | ||
188 | |||
189 | node = smgr->addAnimatedMeshSceneNode(faerie); | ||
190 | node->setPosition(core::vector3df(-<font color="#800080">70</font>,<font color="#800080">0</font>,-<font color="#800080">60</font>)); | ||
191 | node->setMD2Animation(scene::EMAT_JUMP); | ||
192 | node->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->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->run())<br> <strong>if</strong> (device->isWindowActive()) | ||
218 | { | ||
219 | driver->beginScene(<b>true</b>, <b>true</b>, <font color="#800080">0</font>); | ||
220 | |||
221 | smgr->drawAll();</font></pre></td> | ||
222 | </tr> | ||
223 | </table> | ||
224 | <p> After we've drawn the whole scene whit smgr->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<f32> line; | ||
235 | line.start = camera->getPosition(); | ||
236 | line.end = line.start + | ||
237 | (camera->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->getSceneCollisionManager()->getCollisionPoint( | ||
243 | line, selector, intersection, tri)) | ||
244 | { | ||
245 | bill->setPosition(intersection); | ||
246 | |||
247 | driver->setTransform(video::ETS_WORLD, core::matrix4()); | ||
248 | driver->setMaterial(material); | ||
249 | driver->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->getSceneCollisionManager()-> | ||
263 | getSceneNodeFromCameraBB(camera); | ||
264 | |||
265 | <b>if </b>(lastSelectedSceneNode) | ||
266 | lastSelectedSceneNode->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->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->endScene(); | ||
284 | |||
285 | <b>int </b>fps = driver->getFPS(); | ||
286 | |||
287 | <b>if </b>(lastFPS != fps) | ||
288 | { | ||
289 | core::stringw str = L"Collision detection example - Irrlicht Engine [";<br> str += driver->getName();<br> str += "] FPS:";<br> str += fps;<br><br> device->setWindowCaption(str.c_str());<br> lastFPS = fps;<br> } | ||
290 | } | ||
291 | |||
292 | device->drop(); | ||
293 | |||
294 | <b>return </b><font color="#800080">0</font>; | ||
295 | } | ||
296 | |||
297 | </font></pre></td> | ||
298 | </tr> | ||
299 | </table> | ||
300 | <p> </p> | ||
301 | <p> </p> | ||
302 | </div> | ||
303 | </td> | ||
304 | </tr> | ||
305 | </table> | ||
306 | <p> </p> | ||
307 | </body> | ||
308 | </html> | ||