diff --git a/changes.txt b/changes.txt
index aff4b77d..6ba84d7b 100644
--- a/changes.txt
+++ b/changes.txt
@@ -8,6 +8,44 @@ Changes in ogl-es (not yet released - will be merged with trunk at some point)
--------------------------
Changes in 1.9 (not yet released)
+- Fix first calculation of the camerascenenode boundingsphere.
+- Fix bug with ignored opening brace in .X files with DeclData section. Thx @Alin for bugreport and patch.
+- Fix problem with OpenGL textures cache.
+- Add clear buffer flags and marked some methods used for clear buffers as deprecated.
+- Fix: CGUIImage no longer scales wrong when working with textures which don't have the original image size.
+- Fix CSoftwareTexture2 calculation for OriginalSize of ITexture. It was returning the changed texture size instead of the original one before.
+- Fix skinned meshes not playing their last frame. Also clarified animation documentation to describe current behavior more exactly.
+- Add IWriteFile::flush interface (thx @ JLouisB for the patch).
+- CLightSceneNode::updateAbsolutePosition does now light recalculations. This is to fix using animators with lights.
+- Fix collada export for objects with rotations around more than 1 axis.
+- Add ISceneNodeAnimatorCameraMaya::setTargetMinDistance and getTargetMinDistance.
+- Add override font to IGUITreeView
+- CGUIComboBox now updates selection-list when font changes while it's open (thx @ rubixcuber for bugreport)
+- CAnimatedMeshSceneNode::setMesh does now set the animation speed again to that of the mesh (had been changed in 1.7, but not for obvious reasons)
+- .x meshloader regards now AnimTicksPerSecond (thx @qian for a test-model and bugreport)
+- Interface getMeshType moved from IAnimatedMesh up to IMesh.
+- Add b3d mesh-writer. Static writer written by Hendu, support for animated meshes added by JLouisB, testing and bugfixes by CuteAlien.
+- Node-collision functions of SceneCollisionManager like getSceneNodeFromScreenCoordinatesBB will now ignore collisions against empty boundingboxes.
+- Cameras return again an empty boundingbox (at 0,0,0) instead of returning the frustum boundingbox (was changed in very old Irrlicht version).
+ You can access the frustum boundingbox through the frustum itself.
+ This means cameras no longer show up in the node-collision of the SceneCollisionManager (showing up there because of their frustum bounding-box was too confusing).
+- Fix problem in IrrlichtDevice::setResizable on X11 that caused window titlebars to hide occasionally under the taskbar in some systems (Ubuntu, Mint).
+- Added new IRenderTarget interface.
+- Replace the swprintf and snprintf defines by swprintf_irr and snprintf_irr to avoid conflicts with the standard libraries (and other libraries).
+- XBox support removed as it would need DX8 (this was about the original XBox).
+- Support for Direct3D 8 removed after svn revision 5052 due to lack of maintenance.
+- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX removed. This was a bugfix for VS2003 (in combination with .NET) which we haven't supported in a while.
+- VS 2005 support removed after svn revision 5048.
+- WinCE 6 supported removed after svn revision 5046.
+- NVidia CG support removed after svn revision 5045 due to lack of maintenance. NVidia has also stopped supporting this.
+- TA burningvideo:
+ enabled triangle fan again so that skybox works.[need more testmeshes if other trianglefan than skybox doesn't work]
+ correct vc2013 project files for x64,static lib
+ correct alphablend vs add [was broken]
+- Add a new core::rect constructor which takes a dimension parameter and set's left-top to 0.
+- mtl (obj) format reader and write now regards texture scaling and translation. (thx @thanhle for noticing and patch proposal).
+- Added Visual Studio 2013 project files.
+- Added new color formats: ECF_R8, ECF_R8G8, ECF_D16, ECF_D32, ECF_D24S8.
- Can now enable/disable backround drawing for IGUITable.
- Bugfix: Cloning CBillboardSceneNode now copies colors and sizes.
- EditBox works now with numpad on X11
@@ -84,9 +122,28 @@ Changes in 1.9 (not yet released)
- Add IColladaMeshWriter::findGeometryNameForNode
- Add getters IGUIButton::isDrawBorderEnabled and IGUIButton::isDrawBackgroundEnabled
---------------------------
-Changes in 1.8.2
+- changed CSkyBoxSceneNode to drawIndexedTriangleList instead of drawIndexedTriangleFan (because software renderers don't have fans.. and i needed the demo functionable)
+- added x64 to vs2008 project ( buildAllExamples_v9 ) [paths: obj64, win64-visualstudio]
+- burningvideo: getMaxTextureSize adjusted [ changed meaning of SOFTWARE_DRIVER_2_TEXTURE_MAXSIZE
+- burningvideo: mipmaplevel adjusted ( not that bad bokeh...(sometimes) )
+--------------------------
+Changes in 1.8.4
+ - Tests give now a warning when stabilizing screenshots failed. Aslo trying more often now (a hack as taking screenshots otherwise fails often in windowed mode on some systems).
+
+--------------------------
+Changes in 1.8.3 (13.9.2015)
+ - Fix the fix for compiling on GCC5 (thanks to est31 for report and patch)
+
+--------------------------
+Changes in 1.8.2 (30.8.2015)
+
+ - Add VS2013 project files
+ - Fix compiling with IRR_LINUX_XCURSOR_
+ - Fix compiling with NO_IRR_COMPILE_WITH_LIBJPEG_ (thx to anontypist for report and patch).
+ - Fix compiling on GCC5 on MinGW (thanks to Slipxy for finding the bug and to osense for reporting it).
+ - Fix loading of .X and .B3D models with non-normalized quaternion rotations (thanks to JLouisB for a test-model).
+ - Fix compiling on Free BSD (thanks to leper for reporting and patch)
- Fix bug with multiple SetPixelFormat calls. (reported and fixed by anontypist)
- Fix bug related to memory release in PNG image loader. Thanks elephoenix for it.
- Fix crash in CGUIListBox when users pressed end key folled by any other key in an empty, focused list box (thanks at porcus for report and patch).
diff --git a/examples/01.HelloWorld/HelloWorld.dev b/examples/01.HelloWorld/HelloWorld.dev
deleted file mode 100644
index 9de3da79..00000000
--- a/examples/01.HelloWorld/HelloWorld.dev
+++ /dev/null
@@ -1,59 +0,0 @@
-[Project]
-FileName=example.dev
-Name=Irrlicht Example 01 HelloWorld
-UnitCount=1
-Type=1
-Ver=1
-ObjFiles=
-Includes=..\..\include
-Libs=
-PrivateResource=
-ResourceIncludes=
-MakeIncludes=
-Compiler=
-CppCompiler=
-Linker=../../lib/Win32-gcc/libIrrlicht.a_@@_
-IsCpp=1
-Icon=
-ExeOutput=../../bin/Win32-gcc
-ObjectOutput=
-OverrideOutput=1
-OverrideOutputName=01.HelloWorld.exe
-HostApplication=
-Folders=
-CommandLine=
-IncludeVersionInfo=0
-SupportXPThemes=0
-CompilerSet=0
-CompilerSettings=0000000000000000000000
-UseCustomMakefile=0
-CustomMakefile=
-
-[Unit1]
-FileName=main.cpp
-CompileCpp=1
-Folder=Projekt1
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[VersionInfo]
-Major=0
-Minor=1
-Release=1
-Build=1
-LanguageID=1033
-CharsetID=1252
-CompanyName=
-FileVersion=
-FileDescription=Irrlicht Engine example compiled using DevCpp and gcc
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=
-AutoIncBuildNr=0
-
diff --git a/examples/01.HelloWorld/HelloWorld_vc10.vcxproj b/examples/01.HelloWorld/HelloWorld_vc10.vcxproj
index 696621fc..509ccbed 100644
--- a/examples/01.HelloWorld/HelloWorld_vc10.vcxproj
+++ b/examples/01.HelloWorld/HelloWorld_vc10.vcxproj
@@ -38,11 +38,13 @@
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
diff --git a/examples/01.HelloWorld/HelloWorld_vc11.vcxproj b/examples/01.HelloWorld/HelloWorld_vc11.vcxproj
index f5f1fae8..c131e023 100644
--- a/examples/01.HelloWorld/HelloWorld_vc11.vcxproj
+++ b/examples/01.HelloWorld/HelloWorld_vc11.vcxproj
@@ -28,25 +28,25 @@
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
diff --git a/examples/01.HelloWorld/HelloWorld_vc12.vcxproj b/examples/01.HelloWorld/HelloWorld_vc12.vcxproj
new file mode 100644
index 00000000..109da6b3
--- /dev/null
+++ b/examples/01.HelloWorld/HelloWorld_vc12.vcxproj
@@ -0,0 +1,235 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 01.HelloWorld
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}
+ HelloWorld
+
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win32-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Debug/HelloWorld.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\01.HelloWorld.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/HelloWorld.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\01.HelloWorld.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Release/HelloWorld.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\01.HelloWorld.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release/HelloWorld.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\01.HelloWorld.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/01.HelloWorld/HelloWorld_vc14.vcxproj b/examples/01.HelloWorld/HelloWorld_vc14.vcxproj
new file mode 100644
index 00000000..23853d7b
--- /dev/null
+++ b/examples/01.HelloWorld/HelloWorld_vc14.vcxproj
@@ -0,0 +1,235 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 01.HelloWorld
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}
+ HelloWorld
+
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win32-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Debug/HelloWorld.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\01.HelloWorld.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/HelloWorld.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\01.HelloWorld.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Release/HelloWorld.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\01.HelloWorld.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release/HelloWorld.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\01.HelloWorld.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/01.HelloWorld/HelloWorld_vc8.vcproj b/examples/01.HelloWorld/HelloWorld_vc8.vcproj
deleted file mode 100644
index ac110312..00000000
--- a/examples/01.HelloWorld/HelloWorld_vc8.vcproj
+++ /dev/null
@@ -1,231 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/01.HelloWorld/HelloWorld_vc9.vcproj b/examples/01.HelloWorld/HelloWorld_vc9.vcproj
deleted file mode 100644
index 982d2025..00000000
--- a/examples/01.HelloWorld/HelloWorld_vc9.vcproj
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/01.HelloWorld/main.cpp b/examples/01.HelloWorld/main.cpp
index 31776efc..226bcf2c 100644
--- a/examples/01.HelloWorld/main.cpp
+++ b/examples/01.HelloWorld/main.cpp
@@ -43,6 +43,7 @@ After we have set up the IDE, the compiler will know where to find the Irrlicht
Engine header files so we can include it now in our code.
*/
#include
+#include "exampleHelper.h"
/*
In the Irrlicht Engine, everything can be found in the namespace 'irr'. So if
@@ -77,7 +78,7 @@ of the console window, which pops up when starting a program with main(). This
is done by the second pragma. We could also use the WinMain method, though
losing platform independence then.
*/
-#ifdef _IRR_WINDOWS_
+#ifdef _MSC_VER
#pragma comment(lib, "Irrlicht.lib")
#pragma comment(linker, "/subsystem:windows /ENTRY:mainCRTStartup")
#endif
@@ -95,10 +96,9 @@ int main()
parameters:
- deviceType: Type of the device. This can currently be the Null-device,
- one of the two software renderers, D3D8, D3D9, or OpenGL. In this
+ one of the two software renderers, D3D9, or OpenGL. In this
example we use EDT_SOFTWARE, but to try out, you might want to
- change it to EDT_BURNINGSVIDEO, EDT_NULL, EDT_DIRECT3D8,
- EDT_DIRECT3D9, or EDT_OPENGL.
+ change it to EDT_BURNINGSVIDEO, EDT_NULL, EDT_DIRECT3D9, or EDT_OPENGL.
- windowSize: Size of the Window or screen in FullScreenMode to be
created. In this example we use 640x480.
@@ -153,6 +153,11 @@ int main()
guienv->addStaticText(L"Hello World! This is the Irrlicht Software renderer!",
rect(10,10,260,22), true);
+ /*
+ Get a media path dedicated for your platform.
+ */
+ const io::path mediaPath = getExampleMediaPath();
+
/*
To show something interesting, we load a Quake 2 model and display it.
We only have to get the Mesh from the Scene Manager with getMesh() and add
@@ -165,7 +170,7 @@ int main()
other supported file format. By the way, that cool Quake 2 model
called sydney was modelled by Brian Collins.
*/
- IAnimatedMesh* mesh = smgr->getMesh("../../media/sydney.md2");
+ IAnimatedMesh* mesh = smgr->getMesh(mediaPath + "sydney.md2");
if (!mesh)
{
device->drop();
@@ -185,7 +190,7 @@ int main()
{
node->setMaterialFlag(EMF_LIGHTING, false);
node->setMD2Animation(scene::EMAT_STAND);
- node->setMaterialTexture( 0, driver->getTexture("../../media/sydney.bmp") );
+ node->setMaterialTexture( 0, driver->getTexture(mediaPath + "sydney.bmp") );
}
/*
@@ -210,7 +215,7 @@ int main()
the GUI Environment draw their content. With the endScene()
call everything is presented on the screen.
*/
- driver->beginScene(true, true, SColor(255,100,101,140));
+ driver->beginScene(ECBF_COLOR | ECBF_DEPTH, SColor(255,100,101,140));
smgr->drawAll();
guienv->drawAll();
diff --git a/examples/02.Quake3Map/Quake3Map.dev b/examples/02.Quake3Map/Quake3Map.dev
deleted file mode 100644
index 3e0a69e7..00000000
--- a/examples/02.Quake3Map/Quake3Map.dev
+++ /dev/null
@@ -1,59 +0,0 @@
-[Project]
-FileName=example.dev
-Name=Irrlicht Example 02 Quake3Map
-UnitCount=1
-Type=1
-Ver=1
-ObjFiles=
-Includes=..\..\include
-Libs=
-PrivateResource=
-ResourceIncludes=
-MakeIncludes=
-Compiler=
-CppCompiler=
-Linker=../../lib/Win32-gcc/libIrrlicht.a_@@_
-IsCpp=1
-Icon=
-ExeOutput=../../bin/Win32-gcc
-ObjectOutput=obj
-OverrideOutput=1
-OverrideOutputName=02.Quake3Map.exe
-HostApplication=
-Folders=
-CommandLine=
-IncludeVersionInfo=0
-SupportXPThemes=0
-CompilerSet=0
-CompilerSettings=0000000000000000000000
-UseCustomMakefile=0
-CustomMakefile=
-
-[Unit1]
-FileName=main.cpp
-CompileCpp=1
-Folder=Projekt1
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[VersionInfo]
-Major=0
-Minor=1
-Release=1
-Build=1
-LanguageID=1033
-CharsetID=1252
-CompanyName=
-FileVersion=
-FileDescription=Irrlicht Engine example compiled using DevCpp and gcc
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=
-AutoIncBuildNr=0
-
diff --git a/examples/02.Quake3Map/Quake3Map_vc10.vcxproj b/examples/02.Quake3Map/Quake3Map_vc10.vcxproj
index da32873a..f45673aa 100644
--- a/examples/02.Quake3Map/Quake3Map_vc10.vcxproj
+++ b/examples/02.Quake3Map/Quake3Map_vc10.vcxproj
@@ -28,21 +28,25 @@
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
diff --git a/examples/02.Quake3Map/Quake3Map_vc11.vcxproj b/examples/02.Quake3Map/Quake3Map_vc11.vcxproj
index 579a0162..f45673aa 100644
--- a/examples/02.Quake3Map/Quake3Map_vc11.vcxproj
+++ b/examples/02.Quake3Map/Quake3Map_vc11.vcxproj
@@ -28,25 +28,25 @@
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
diff --git a/examples/02.Quake3Map/Quake3Map_vc12.vcxproj b/examples/02.Quake3Map/Quake3Map_vc12.vcxproj
new file mode 100644
index 00000000..042060f3
--- /dev/null
+++ b/examples/02.Quake3Map/Quake3Map_vc12.vcxproj
@@ -0,0 +1,235 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 02.Quake3Map
+ {D1A464A2-D479-458C-98A2-60965D823CD1}
+ Quake3Map
+
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Debug/Quake3Map.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\02.Quake3Map.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/Quake3Map.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\02.Quake3Map.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Release/Quake3Map.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\02.Quake3Map.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release/Quake3Map.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\02.Quake3Map.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/02.Quake3Map/Quake3Map_vc14.vcxproj b/examples/02.Quake3Map/Quake3Map_vc14.vcxproj
new file mode 100644
index 00000000..df7001d1
--- /dev/null
+++ b/examples/02.Quake3Map/Quake3Map_vc14.vcxproj
@@ -0,0 +1,235 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 02.Quake3Map
+ {D1A464A2-D479-458C-98A2-60965D823CD1}
+ Quake3Map
+
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Debug/Quake3Map.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\02.Quake3Map.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/Quake3Map.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\02.Quake3Map.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Release/Quake3Map.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\02.Quake3Map.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release/Quake3Map.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\02.Quake3Map.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/02.Quake3Map/Quake3Map_vc8.vcproj b/examples/02.Quake3Map/Quake3Map_vc8.vcproj
deleted file mode 100644
index bae5931d..00000000
--- a/examples/02.Quake3Map/Quake3Map_vc8.vcproj
+++ /dev/null
@@ -1,231 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/02.Quake3Map/Quake3Map_vc9.vcproj b/examples/02.Quake3Map/Quake3Map_vc9.vcproj
deleted file mode 100644
index 8acc07a5..00000000
--- a/examples/02.Quake3Map/Quake3Map_vc9.vcproj
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/02.Quake3Map/main.cpp b/examples/02.Quake3Map/main.cpp
index 6cfcea27..cd3f32fe 100644
--- a/examples/02.Quake3Map/main.cpp
+++ b/examples/02.Quake3Map/main.cpp
@@ -13,7 +13,8 @@ and an additional file to be able to ask the user for a driver type using the
console.
*/
#include
-#include
+#include "driverChoice.h"
+#include "exampleHelper.h"
/*
As already written in the HelloWorld example, in the Irrlicht Engine everything
@@ -47,36 +48,12 @@ int main()
which video driver to use. The Software device might be
too slow to draw a huge Quake 3 map, but just for the fun of it, we make
this decision possible, too.
- Instead of copying this whole code into your app, you can simply include
- driverChoice.h from Irrlicht's include directory. The function
- driverChoiceConsole does exactly the same.
*/
// ask user for driver
-
- video::E_DRIVER_TYPE driverType;
-
- printf("Please select the driver you want for this example:\n"\
- " (a) OpenGL ES 2.x\n (b) OpenGL ES 1.x\n (c) OpenGL 1.x-4.x\n"\
- " (d) Direct3D 9.0c\n (e) Direct3D 8.1\n"\
- " (f) Burning's Software Renderer\n (g) Software Renderer\n"\
- " (h) NullDevice\n (otherKey) exit\n\n");
-
- char i;
- std::cin >> i;
-
- switch(i)
- {
- case 'a': driverType = video::EDT_OGLES2; break;
- case 'b': driverType = video::EDT_OGLES1; break;
- case 'c': driverType = video::EDT_OPENGL; break;
- case 'd': driverType = video::EDT_DIRECT3D9;break;
- case 'e': driverType = video::EDT_DIRECT3D8;break;
- case 'f': driverType = video::EDT_BURNINGSVIDEO;break;
- case 'g': driverType = video::EDT_SOFTWARE; break;
- case 'h': driverType = video::EDT_NULL; break;
- default: return 1;
- }
+ video::E_DRIVER_TYPE driverType=driverChoiceConsole();
+ if (driverType==video::EDT_COUNT)
+ return 1;
// create device and exit if creation failed
@@ -101,7 +78,7 @@ int main()
we are able to read from the files in that archive as if they are
directly stored on the disk.
*/
- device->getFileSystem()->addFileArchive("../../media/map-20kdm2.pk3");
+ device->getFileSystem()->addFileArchive(getExampleMediaPath() + "map-20kdm2.pk3");
/*
Now we can load the mesh by calling
@@ -176,7 +153,7 @@ int main()
{
if (device->isWindowActive())
{
- driver->beginScene(true, true, video::SColor(255,200,200,200));
+ driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(255,200,200,200));
smgr->drawAll();
driver->endScene();
diff --git a/examples/03.CustomSceneNode/CustomSceneNode.dev b/examples/03.CustomSceneNode/CustomSceneNode.dev
deleted file mode 100644
index 57c5ee0c..00000000
--- a/examples/03.CustomSceneNode/CustomSceneNode.dev
+++ /dev/null
@@ -1,59 +0,0 @@
-[Project]
-FileName=example.dev
-Name=Irrlicht Example 03 Custom Scene Node
-UnitCount=1
-Type=1
-Ver=1
-ObjFiles=
-Includes=..\..\include
-Libs=
-PrivateResource=
-ResourceIncludes=
-MakeIncludes=
-Compiler=
-CppCompiler=
-Linker=../../lib/Win32-gcc/libIrrlicht.a_@@_
-IsCpp=1
-Icon=
-ExeOutput=../../bin/Win32-gcc
-ObjectOutput=obj
-OverrideOutput=1
-OverrideOutputName=03.CustomSceneNode.exe
-HostApplication=
-Folders=
-CommandLine=
-IncludeVersionInfo=0
-SupportXPThemes=0
-CompilerSet=0
-CompilerSettings=0000000000000000000000
-UseCustomMakefile=0
-CustomMakefile=
-
-[Unit1]
-FileName=main.cpp
-CompileCpp=1
-Folder=Projekt1
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[VersionInfo]
-Major=0
-Minor=1
-Release=1
-Build=1
-LanguageID=1033
-CharsetID=1252
-CompanyName=
-FileVersion=
-FileDescription=Irrlicht Engine example compiled using DevCpp and gcc
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=
-AutoIncBuildNr=0
-
diff --git a/examples/03.CustomSceneNode/CustomSceneNode_vc10.vcxproj b/examples/03.CustomSceneNode/CustomSceneNode_vc10.vcxproj
index 5512e23d..77e9e6e1 100644
--- a/examples/03.CustomSceneNode/CustomSceneNode_vc10.vcxproj
+++ b/examples/03.CustomSceneNode/CustomSceneNode_vc10.vcxproj
@@ -28,21 +28,25 @@
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
diff --git a/examples/03.CustomSceneNode/CustomSceneNode_vc11.vcxproj b/examples/03.CustomSceneNode/CustomSceneNode_vc11.vcxproj
index 52f6ef20..77e9e6e1 100644
--- a/examples/03.CustomSceneNode/CustomSceneNode_vc11.vcxproj
+++ b/examples/03.CustomSceneNode/CustomSceneNode_vc11.vcxproj
@@ -28,25 +28,25 @@
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
diff --git a/examples/03.CustomSceneNode/CustomSceneNode_vc12.vcxproj b/examples/03.CustomSceneNode/CustomSceneNode_vc12.vcxproj
new file mode 100644
index 00000000..aa125e42
--- /dev/null
+++ b/examples/03.CustomSceneNode/CustomSceneNode_vc12.vcxproj
@@ -0,0 +1,247 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 03.CustomSceneNode
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}
+ CustomSceneNode
+
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Debug/CustomSceneNode.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\03.CustomSceneNode.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/CustomSceneNode.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\03.CustomSceneNode.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Release/CustomSceneNode.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ .\Release/CustomSceneNode.pch
+ .\Release/
+ .\Release/
+ .\Release/
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\03.CustomSceneNode.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ .\Release/CustomSceneNode.pdb
+ Console
+ false
+
+
+
+
+
+
+ .\Release/CustomSceneNode.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ .\Release/CustomSceneNode.pch
+ .\Release/
+ .\Release/
+ .\Release/
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\03.CustomSceneNode.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ .\Release/CustomSceneNode.pdb
+ Console
+ false
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/03.CustomSceneNode/CustomSceneNode_vc14.vcxproj b/examples/03.CustomSceneNode/CustomSceneNode_vc14.vcxproj
new file mode 100644
index 00000000..42e75d1f
--- /dev/null
+++ b/examples/03.CustomSceneNode/CustomSceneNode_vc14.vcxproj
@@ -0,0 +1,247 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 03.CustomSceneNode
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}
+ CustomSceneNode
+
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Debug/CustomSceneNode.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\03.CustomSceneNode.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/CustomSceneNode.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\03.CustomSceneNode.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Release/CustomSceneNode.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ .\Release/CustomSceneNode.pch
+ .\Release/
+ .\Release/
+ .\Release/
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\03.CustomSceneNode.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ .\Release/CustomSceneNode.pdb
+ Console
+ false
+
+
+
+
+
+
+ .\Release/CustomSceneNode.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ .\Release/CustomSceneNode.pch
+ .\Release/
+ .\Release/
+ .\Release/
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\03.CustomSceneNode.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ .\Release/CustomSceneNode.pdb
+ Console
+ false
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/03.CustomSceneNode/CustomSceneNode_vc8.vcproj b/examples/03.CustomSceneNode/CustomSceneNode_vc8.vcproj
deleted file mode 100644
index 42c7879e..00000000
--- a/examples/03.CustomSceneNode/CustomSceneNode_vc8.vcproj
+++ /dev/null
@@ -1,231 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/03.CustomSceneNode/CustomSceneNode_vc9.vcproj b/examples/03.CustomSceneNode/CustomSceneNode_vc9.vcproj
deleted file mode 100644
index 50f0382b..00000000
--- a/examples/03.CustomSceneNode/CustomSceneNode_vc9.vcproj
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/03.CustomSceneNode/main.cpp b/examples/03.CustomSceneNode/main.cpp
index 37bc2094..4e842955 100644
--- a/examples/03.CustomSceneNode/main.cpp
+++ b/examples/03.CustomSceneNode/main.cpp
@@ -244,7 +244,7 @@ int main()
u32 frames=0;
while(device->run())
{
- driver->beginScene(true, true, video::SColor(0,100,100,100));
+ driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(0,100,100,100));
smgr->drawAll();
diff --git a/examples/04.Movement/Movement.dev b/examples/04.Movement/Movement.dev
deleted file mode 100644
index 0753c109..00000000
--- a/examples/04.Movement/Movement.dev
+++ /dev/null
@@ -1,59 +0,0 @@
-[Project]
-FileName=example.dev
-Name=Irrlicht Example 04 Movement
-UnitCount=1
-Type=1
-Ver=1
-ObjFiles=
-Includes=..\..\include
-Libs=
-PrivateResource=
-ResourceIncludes=
-MakeIncludes=
-Compiler=
-CppCompiler=
-Linker=../../lib/Win32-gcc/libIrrlicht.a_@@_
-IsCpp=1
-Icon=
-ExeOutput=../../bin/Win32-gcc
-ObjectOutput=obj
-OverrideOutput=1
-OverrideOutputName=04.Movement.exe
-HostApplication=
-Folders=
-CommandLine=
-IncludeVersionInfo=0
-SupportXPThemes=0
-CompilerSet=0
-CompilerSettings=0000000000000000000000
-UseCustomMakefile=0
-CustomMakefile=
-
-[Unit1]
-FileName=main.cpp
-CompileCpp=1
-Folder=Projekt1
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[VersionInfo]
-Major=0
-Minor=1
-Release=1
-Build=1
-LanguageID=1033
-CharsetID=1252
-CompanyName=
-FileVersion=
-FileDescription=Irrlicht Engine example compiled using DevCpp and gcc
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=
-AutoIncBuildNr=0
-
diff --git a/examples/04.Movement/Movement_vc10.vcxproj b/examples/04.Movement/Movement_vc10.vcxproj
index 7e59058b..131479da 100644
--- a/examples/04.Movement/Movement_vc10.vcxproj
+++ b/examples/04.Movement/Movement_vc10.vcxproj
@@ -28,21 +28,25 @@
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
diff --git a/examples/04.Movement/Movement_vc11.vcxproj b/examples/04.Movement/Movement_vc11.vcxproj
index 7fe03392..131479da 100644
--- a/examples/04.Movement/Movement_vc11.vcxproj
+++ b/examples/04.Movement/Movement_vc11.vcxproj
@@ -28,25 +28,25 @@
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
diff --git a/examples/04.Movement/Movement_vc12.vcxproj b/examples/04.Movement/Movement_vc12.vcxproj
new file mode 100644
index 00000000..bbebe747
--- /dev/null
+++ b/examples/04.Movement/Movement_vc12.vcxproj
@@ -0,0 +1,235 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 04.Movement
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}
+ Movement
+
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Debug/Movement.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\04.Movement.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/Movement.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\04.Movement.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Release/Movement.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\04.Movement.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release/Movement.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\04.Movement.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/04.Movement/Movement_vc14.vcxproj b/examples/04.Movement/Movement_vc14.vcxproj
new file mode 100644
index 00000000..f56853e9
--- /dev/null
+++ b/examples/04.Movement/Movement_vc14.vcxproj
@@ -0,0 +1,235 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 04.Movement
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}
+ Movement
+
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Debug/Movement.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\04.Movement.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/Movement.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\04.Movement.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Release/Movement.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\04.Movement.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release/Movement.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\04.Movement.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/04.Movement/Movement_vc8.vcproj b/examples/04.Movement/Movement_vc8.vcproj
deleted file mode 100644
index 8f56add3..00000000
--- a/examples/04.Movement/Movement_vc8.vcproj
+++ /dev/null
@@ -1,231 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/04.Movement/Movement_vc9.vcproj b/examples/04.Movement/Movement_vc9.vcproj
deleted file mode 100644
index 074fe40b..00000000
--- a/examples/04.Movement/Movement_vc9.vcproj
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/04.Movement/main.cpp b/examples/04.Movement/main.cpp
index 7bacda36..af890924 100644
--- a/examples/04.Movement/main.cpp
+++ b/examples/04.Movement/main.cpp
@@ -19,6 +19,7 @@ and tell the linker to link with the .lib file.
#include
#include "driverChoice.h"
+#include "exampleHelper.h"
using namespace irr;
@@ -87,6 +88,8 @@ int main()
video::IVideoDriver* driver = device->getVideoDriver();
scene::ISceneManager* smgr = device->getSceneManager();
+ const io::path mediaPath = getExampleMediaPath();
+
/*
Create the node which will be moved with the WSAD keys. We create a
sphere node, which is a built-in geometry primitive. We place the node
@@ -98,7 +101,7 @@ int main()
if (node)
{
node->setPosition(core::vector3df(0,0,30));
- node->setMaterialTexture(0, driver->getTexture("../../media/wall.bmp"));
+ node->setMaterialTexture(0, driver->getTexture(mediaPath + "wall.bmp"));
node->setMaterialFlag(video::EMF_LIGHTING, false);
}
@@ -115,7 +118,7 @@ int main()
if (n)
{
- n->setMaterialTexture(0, driver->getTexture("../../media/t351sml.jpg"));
+ n->setMaterialTexture(0, driver->getTexture(mediaPath + "t351sml.jpg"));
n->setMaterialFlag(video::EMF_LIGHTING, false);
scene::ISceneNodeAnimator* anim =
smgr->createFlyCircleAnimator(core::vector3df(0,0,30), 20.0f);
@@ -131,7 +134,7 @@ int main()
a b3d model, which uses a 'fly straight' animator to run between to points.
*/
scene::IAnimatedMeshSceneNode* anms =
- smgr->addAnimatedMeshSceneNode(smgr->getMesh("../../media/ninja.b3d"));
+ smgr->addAnimatedMeshSceneNode(smgr->getMesh(mediaPath + "ninja.b3d"));
if (anms)
{
@@ -164,7 +167,7 @@ int main()
anms->setScale(core::vector3df(2.f,2.f,2.f));
anms->setRotation(core::vector3df(0,-90,0));
-// anms->setMaterialTexture(0, driver->getTexture("../../media/sydney.bmp"));
+// anms->setMaterialTexture(0, driver->getTexture(mediaPath + "sydney.bmp"));
}
@@ -180,7 +183,7 @@ int main()
Add a colorful irrlicht logo
*/
device->getGUIEnvironment()->addImage(
- driver->getTexture("../../media/irrlichtlogoalpha2.tga"),
+ driver->getTexture(mediaPath + "irrlichtlogoalpha2.tga"),
core::position2d(10,20));
gui::IGUIStaticText* diagnostics = device->getGUIEnvironment()->addStaticText(
@@ -224,7 +227,7 @@ int main()
node->setPosition(nodePosition);
- driver->beginScene(true, true, video::SColor(255,113,113,133));
+ driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(255,113,113,133));
smgr->drawAll(); // draw the 3d scene
device->getGUIEnvironment()->drawAll(); // draw the gui environment (the logo)
diff --git a/examples/05.UserInterface/UserInterface.dev b/examples/05.UserInterface/UserInterface.dev
deleted file mode 100644
index 6a32ece1..00000000
--- a/examples/05.UserInterface/UserInterface.dev
+++ /dev/null
@@ -1,59 +0,0 @@
-[Project]
-FileName=example.dev
-Name=Irrlicht Example 05 User Interface
-UnitCount=1
-Type=1
-Ver=1
-ObjFiles=
-Includes=..\..\include
-Libs=
-PrivateResource=
-ResourceIncludes=
-MakeIncludes=
-Compiler=
-CppCompiler=
-Linker=../../lib/Win32-gcc/libIrrlicht.a_@@_
-IsCpp=1
-Icon=
-ExeOutput=../../bin/Win32-gcc
-ObjectOutput=obj
-OverrideOutput=1
-OverrideOutputName=05.UserInterface.exe
-HostApplication=
-Folders=
-CommandLine=
-IncludeVersionInfo=0
-SupportXPThemes=0
-CompilerSet=0
-CompilerSettings=0000000000000000000000
-UseCustomMakefile=0
-CustomMakefile=
-
-[Unit1]
-FileName=main.cpp
-CompileCpp=1
-Folder=Projekt1
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[VersionInfo]
-Major=0
-Minor=1
-Release=1
-Build=1
-LanguageID=1033
-CharsetID=1252
-CompanyName=
-FileVersion=
-FileDescription=Irrlicht Engine example compiled using DevCpp and gcc
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=
-AutoIncBuildNr=0
-
diff --git a/examples/05.UserInterface/UserInterface_vc10.vcxproj b/examples/05.UserInterface/UserInterface_vc10.vcxproj
index 12c05010..d4be57f1 100644
--- a/examples/05.UserInterface/UserInterface_vc10.vcxproj
+++ b/examples/05.UserInterface/UserInterface_vc10.vcxproj
@@ -28,21 +28,25 @@
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
diff --git a/examples/05.UserInterface/UserInterface_vc11.vcxproj b/examples/05.UserInterface/UserInterface_vc11.vcxproj
index cc6561b3..d4be57f1 100644
--- a/examples/05.UserInterface/UserInterface_vc11.vcxproj
+++ b/examples/05.UserInterface/UserInterface_vc11.vcxproj
@@ -28,25 +28,25 @@
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
diff --git a/examples/05.UserInterface/UserInterface_vc12.vcxproj b/examples/05.UserInterface/UserInterface_vc12.vcxproj
new file mode 100644
index 00000000..3945262f
--- /dev/null
+++ b/examples/05.UserInterface/UserInterface_vc12.vcxproj
@@ -0,0 +1,235 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 05.UserInterface
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}
+ UserInterface
+
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Debug/UserInterface.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\05.UserInterface.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/UserInterface.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\05.UserInterface.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Release/UserInterface.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\05.UserInterface.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release/UserInterface.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\05.UserInterface.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/05.UserInterface/UserInterface_vc14.vcxproj b/examples/05.UserInterface/UserInterface_vc14.vcxproj
new file mode 100644
index 00000000..0b66809b
--- /dev/null
+++ b/examples/05.UserInterface/UserInterface_vc14.vcxproj
@@ -0,0 +1,235 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 05.UserInterface
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}
+ UserInterface
+
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Debug/UserInterface.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\05.UserInterface.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/UserInterface.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\05.UserInterface.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Release/UserInterface.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\05.UserInterface.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release/UserInterface.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\05.UserInterface.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/05.UserInterface/UserInterface_vc8.vcproj b/examples/05.UserInterface/UserInterface_vc8.vcproj
deleted file mode 100644
index fdc4fef2..00000000
--- a/examples/05.UserInterface/UserInterface_vc8.vcproj
+++ /dev/null
@@ -1,231 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/05.UserInterface/UserInterface_vc9.vcproj b/examples/05.UserInterface/UserInterface_vc9.vcproj
deleted file mode 100644
index e1922389..00000000
--- a/examples/05.UserInterface/UserInterface_vc9.vcproj
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/05.UserInterface/main.cpp b/examples/05.UserInterface/main.cpp
index e8fcc0e2..654b6ee2 100644
--- a/examples/05.UserInterface/main.cpp
+++ b/examples/05.UserInterface/main.cpp
@@ -12,6 +12,7 @@ and a pointer to a listbox.
*/
#include
#include "driverChoice.h"
+#include "exampleHelper.h"
using namespace irr;
@@ -21,7 +22,7 @@ using namespace video;
using namespace io;
using namespace gui;
-#ifdef _IRR_WINDOWS_
+#ifdef _MSC_VER
#pragma comment(lib, "Irrlicht.lib")
#endif
@@ -198,6 +199,8 @@ int main()
video::IVideoDriver* driver = device->getVideoDriver();
IGUIEnvironment* env = device->getGUIEnvironment();
+ const io::path mediaPath = getExampleMediaPath();
+
/*
To make the font a little bit nicer, we load an external font
and set it as the new default font in the skin.
@@ -206,7 +209,7 @@ int main()
*/
IGUISkin* skin = env->getSkin();
- IGUIFont* font = env->getFont("../../media/fonthaettenschweiler.bmp");
+ IGUIFont* font = env->getFont(mediaPath + "fonthaettenschweiler.bmp");
if (font)
skin->setFont(font);
@@ -264,7 +267,7 @@ int main()
/*
And at last, we create a nice Irrlicht Engine logo in the top left corner.
*/
- env->addImage(driver->getTexture("../../media/irrlichtlogo2.png"),
+ env->addImage(driver->getTexture(mediaPath + "irrlichtlogo2.png"),
position2d(10,10));
@@ -275,7 +278,7 @@ int main()
while(device->run() && driver)
if (device->isWindowActive())
{
- driver->beginScene(true, true, SColor(0,200,200,200));
+ driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, SColor(0,200,200,200));
env->drawAll();
diff --git a/examples/06.2DGraphics/2DGraphics.dev b/examples/06.2DGraphics/2DGraphics.dev
deleted file mode 100644
index 93694f1f..00000000
--- a/examples/06.2DGraphics/2DGraphics.dev
+++ /dev/null
@@ -1,59 +0,0 @@
-[Project]
-FileName=example.dev
-Name=Irrlicht Example 06 2D Graphics
-UnitCount=1
-Type=1
-Ver=1
-ObjFiles=
-Includes=..\..\include
-Libs=
-PrivateResource=
-ResourceIncludes=
-MakeIncludes=
-Compiler=
-CppCompiler=
-Linker=../../lib/Win32-gcc/libIrrlicht.a_@@_
-IsCpp=1
-Icon=
-ExeOutput=../../bin/Win32-gcc
-ObjectOutput=obj
-OverrideOutput=1
-OverrideOutputName=06.2DGraphics.exe
-HostApplication=
-Folders=
-CommandLine=
-IncludeVersionInfo=0
-SupportXPThemes=0
-CompilerSet=0
-CompilerSettings=0000000000000000000000
-UseCustomMakefile=0
-CustomMakefile=
-
-[Unit1]
-FileName=main.cpp
-CompileCpp=1
-Folder=Projekt1
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[VersionInfo]
-Major=0
-Minor=1
-Release=1
-Build=1
-LanguageID=1033
-CharsetID=1252
-CompanyName=
-FileVersion=
-FileDescription=Irrlicht Engine example compiled using DevCpp and gcc
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=
-AutoIncBuildNr=0
-
diff --git a/examples/06.2DGraphics/2DGraphics_vc10.vcxproj b/examples/06.2DGraphics/2DGraphics_vc10.vcxproj
index b0f184ed..07fd309f 100644
--- a/examples/06.2DGraphics/2DGraphics_vc10.vcxproj
+++ b/examples/06.2DGraphics/2DGraphics_vc10.vcxproj
@@ -28,21 +28,25 @@
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
diff --git a/examples/06.2DGraphics/2DGraphics_vc11.vcxproj b/examples/06.2DGraphics/2DGraphics_vc11.vcxproj
index 66e7aa07..07fd309f 100644
--- a/examples/06.2DGraphics/2DGraphics_vc11.vcxproj
+++ b/examples/06.2DGraphics/2DGraphics_vc11.vcxproj
@@ -28,25 +28,25 @@
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
diff --git a/examples/06.2DGraphics/2DGraphics_vc12.vcxproj b/examples/06.2DGraphics/2DGraphics_vc12.vcxproj
new file mode 100644
index 00000000..a4750aad
--- /dev/null
+++ b/examples/06.2DGraphics/2DGraphics_vc12.vcxproj
@@ -0,0 +1,235 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 06.2DGraphics
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}
+ 2DGraphics
+
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Release/2DGraphics.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\06.2DGraphics.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release/2DGraphics.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\06.2DGraphics.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Debug/2DGraphics.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\06.2DGraphics.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/2DGraphics.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\06.2DGraphics.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/06.2DGraphics/2DGraphics_vc14.vcxproj b/examples/06.2DGraphics/2DGraphics_vc14.vcxproj
new file mode 100644
index 00000000..e4d22b1c
--- /dev/null
+++ b/examples/06.2DGraphics/2DGraphics_vc14.vcxproj
@@ -0,0 +1,235 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 06.2DGraphics
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}
+ 2DGraphics
+
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Release/2DGraphics.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\06.2DGraphics.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release/2DGraphics.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\06.2DGraphics.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Debug/2DGraphics.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\06.2DGraphics.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/2DGraphics.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\06.2DGraphics.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/06.2DGraphics/2DGraphics_vc8.vcproj b/examples/06.2DGraphics/2DGraphics_vc8.vcproj
deleted file mode 100644
index 8a10914c..00000000
--- a/examples/06.2DGraphics/2DGraphics_vc8.vcproj
+++ /dev/null
@@ -1,231 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/06.2DGraphics/2DGraphics_vc9.vcproj b/examples/06.2DGraphics/2DGraphics_vc9.vcproj
deleted file mode 100644
index e78f8a03..00000000
--- a/examples/06.2DGraphics/2DGraphics_vc9.vcproj
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/06.2DGraphics/main.cpp b/examples/06.2DGraphics/main.cpp
index 40e311a4..4338a9bf 100644
--- a/examples/06.2DGraphics/main.cpp
+++ b/examples/06.2DGraphics/main.cpp
@@ -11,6 +11,7 @@ and tell the linker to link with the .lib file.
*/
#include
#include "driverChoice.h"
+#include "exampleHelper.h"
using namespace irr;
@@ -41,6 +42,8 @@ int main()
video::IVideoDriver* driver = device->getVideoDriver();
+ const io::path mediaPath = getExampleMediaPath();
+
/*
All 2d graphics in this example are put together into one texture,
2ddemo.png. Because we want to draw colorkey based sprites, we need to
@@ -54,7 +57,7 @@ int main()
e.g. all black pixels transparent. Please note that
makeColorKeyTexture just creates an alpha channel based on the color.
*/
- video::ITexture* images = driver->getTexture("../../media/2ddemo.png");
+ video::ITexture* images = driver->getTexture(mediaPath + "2ddemo.png");
driver->makeColorKeyTexture(images, core::position2d(0,0));
/*
@@ -66,7 +69,7 @@ int main()
*/
gui::IGUIFont* font = device->getGUIEnvironment()->getBuiltInFont();
gui::IGUIFont* font2 =
- device->getGUIEnvironment()->getFont("../../media/fonthaettenschweiler.bmp");
+ device->getGUIEnvironment()->getFont(mediaPath + "fonthaettenschweiler.bmp");
core::rect imp1(349,15,385,78);
core::rect imp2(387,15,423,78);
@@ -90,7 +93,7 @@ int main()
{
u32 time = device->getTimer()->getTime();
- driver->beginScene(true, true, video::SColor(255,120,102,136));
+ driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(255,120,102,136));
/*
First, we draw 3 sprites, using the alpha channel we
diff --git a/examples/07.Collision/Collision.dev b/examples/07.Collision/Collision.dev
deleted file mode 100644
index c13a041e..00000000
--- a/examples/07.Collision/Collision.dev
+++ /dev/null
@@ -1,59 +0,0 @@
-[Project]
-FileName=example.dev
-Name=Irrlicht Example 07 Collision
-UnitCount=1
-Type=1
-Ver=1
-ObjFiles=
-Includes=..\..\include
-Libs=
-PrivateResource=
-ResourceIncludes=
-MakeIncludes=
-Compiler=
-CppCompiler=
-Linker=../../lib/Win32-gcc/libIrrlicht.a_@@_
-IsCpp=1
-Icon=
-ExeOutput=../../bin/Win32-gcc
-ObjectOutput=obj
-OverrideOutput=1
-OverrideOutputName=07.Collision.exe
-HostApplication=
-Folders=
-CommandLine=
-IncludeVersionInfo=0
-SupportXPThemes=0
-CompilerSet=0
-CompilerSettings=0000000000000000000000
-UseCustomMakefile=0
-CustomMakefile=
-
-[Unit1]
-FileName=main.cpp
-CompileCpp=1
-Folder=Projekt1
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[VersionInfo]
-Major=0
-Minor=1
-Release=1
-Build=1
-LanguageID=1033
-CharsetID=1252
-CompanyName=
-FileVersion=
-FileDescription=Irrlicht Engine example compiled using DevCpp and gcc
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=
-AutoIncBuildNr=0
-
diff --git a/examples/07.Collision/Collision_vc10.vcxproj b/examples/07.Collision/Collision_vc10.vcxproj
index 03a94c8a..72fcae0a 100644
--- a/examples/07.Collision/Collision_vc10.vcxproj
+++ b/examples/07.Collision/Collision_vc10.vcxproj
@@ -28,21 +28,25 @@
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
diff --git a/examples/07.Collision/Collision_vc11.vcxproj b/examples/07.Collision/Collision_vc11.vcxproj
index 0db4b42f..72fcae0a 100644
--- a/examples/07.Collision/Collision_vc11.vcxproj
+++ b/examples/07.Collision/Collision_vc11.vcxproj
@@ -28,25 +28,25 @@
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
diff --git a/examples/07.Collision/Collision_vc12.vcxproj b/examples/07.Collision/Collision_vc12.vcxproj
new file mode 100644
index 00000000..6434626b
--- /dev/null
+++ b/examples/07.Collision/Collision_vc12.vcxproj
@@ -0,0 +1,235 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 07.Collision
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}
+ Collision
+
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Debug/Collision.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\07.Collision.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/Collision.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\07.Collision.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Release/Collision.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\07.Collision.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release/Collision.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\07.Collision.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/07.Collision/Collision_vc14.vcxproj b/examples/07.Collision/Collision_vc14.vcxproj
new file mode 100644
index 00000000..06983f17
--- /dev/null
+++ b/examples/07.Collision/Collision_vc14.vcxproj
@@ -0,0 +1,235 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 07.Collision
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}
+ Collision
+
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Debug/Collision.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\07.Collision.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/Collision.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\07.Collision.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Release/Collision.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\07.Collision.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release/Collision.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\07.Collision.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/07.Collision/Collision_vc8.vcproj b/examples/07.Collision/Collision_vc8.vcproj
deleted file mode 100644
index 4a2b6c17..00000000
--- a/examples/07.Collision/Collision_vc8.vcproj
+++ /dev/null
@@ -1,231 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/07.Collision/Collision_vc9.vcproj b/examples/07.Collision/Collision_vc9.vcproj
deleted file mode 100644
index 3cca93da..00000000
--- a/examples/07.Collision/Collision_vc9.vcproj
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/07.Collision/main.cpp b/examples/07.Collision/main.cpp
index 8387c499..6d785268 100644
--- a/examples/07.Collision/main.cpp
+++ b/examples/07.Collision/main.cpp
@@ -12,6 +12,7 @@ following code starts up the engine and loads the level, as per tutorial 2.
*/
#include
#include "driverChoice.h"
+#include "exampleHelper.h"
using namespace irr;
@@ -53,7 +54,9 @@ int main()
video::IVideoDriver* driver = device->getVideoDriver();
scene::ISceneManager* smgr = device->getSceneManager();
- device->getFileSystem()->addFileArchive("../../media/map-20kdm2.pk3");
+ const io::path mediaPath = getExampleMediaPath();
+
+ device->getFileSystem()->addFileArchive(mediaPath + "map-20kdm2.pk3");
scene::IAnimatedMesh* q3levelmesh = smgr->getMesh("20kdm2.bsp");
scene::IMeshSceneNode* q3node = 0;
@@ -153,7 +156,7 @@ int main()
// Add the billboard.
scene::IBillboardSceneNode * bill = smgr->addBillboardSceneNode();
bill->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR );
- bill->setMaterialTexture(0, driver->getTexture("../../media/particle.bmp"));
+ bill->setMaterialTexture(0, driver->getTexture(mediaPath + "particle.bmp"));
bill->setMaterialFlag(video::EMF_LIGHTING, false);
bill->setMaterialFlag(video::EMF_ZBUFFER, false);
bill->setSize(core::dimension2d(20.0f, 20.0f));
@@ -167,13 +170,13 @@ int main()
video::SMaterial material;
// Add an MD2 node, which uses vertex-based animation.
- node = smgr->addAnimatedMeshSceneNode(smgr->getMesh("../../media/faerie.md2"),
+ node = smgr->addAnimatedMeshSceneNode(smgr->getMesh(mediaPath + "faerie.md2"),
0, IDFlag_IsPickable | IDFlag_IsHighlightable);
node->setPosition(core::vector3df(-90,-15,-140)); // Put its feet on the floor.
node->setScale(core::vector3df(1.6f)); // Make it appear realistically scaled
node->setMD2Animation(scene::EMAT_POINT);
node->setAnimationSpeed(20.f);
- material.setTexture(0, driver->getTexture("../../media/faerie2.bmp"));
+ material.setTexture(0, driver->getTexture(mediaPath + "faerie2.bmp"));
material.Lighting = true;
material.NormalizeNormals = true;
node->getMaterial(0) = material;
@@ -185,7 +188,7 @@ int main()
selector->drop(); // We're done with this selector, so drop it now.
// And this B3D file uses skinned skeletal animation.
- node = smgr->addAnimatedMeshSceneNode(smgr->getMesh("../../media/ninja.b3d"),
+ node = smgr->addAnimatedMeshSceneNode(smgr->getMesh(mediaPath + "ninja.b3d"),
0, IDFlag_IsPickable | IDFlag_IsHighlightable);
node->setScale(core::vector3df(10));
node->setPosition(core::vector3df(-75,-66,-80));
@@ -199,7 +202,7 @@ int main()
selector->drop();
// This X files uses skeletal animation, but without skinning.
- node = smgr->addAnimatedMeshSceneNode(smgr->getMesh("../../media/dwarf.x"),
+ node = smgr->addAnimatedMeshSceneNode(smgr->getMesh(mediaPath + "dwarf.x"),
0, IDFlag_IsPickable | IDFlag_IsHighlightable);
node->setPosition(core::vector3df(-70,-66,-30)); // Put its feet on the floor.
node->setRotation(core::vector3df(0,-90,0)); // And turn it towards the camera.
@@ -211,7 +214,7 @@ int main()
// And this mdl file uses skinned skeletal animation.
- node = smgr->addAnimatedMeshSceneNode(smgr->getMesh("../../media/yodan.mdl"),
+ node = smgr->addAnimatedMeshSceneNode(smgr->getMesh(mediaPath + "yodan.mdl"),
0, IDFlag_IsPickable | IDFlag_IsHighlightable);
node->setPosition(core::vector3df(-90,-25,20));
node->setScale(core::vector3df(0.8f));
@@ -242,7 +245,7 @@ int main()
while(device->run())
if (device->isWindowActive())
{
- driver->beginScene(true, true, 0);
+ driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(0));
smgr->drawAll();
// Unlight any currently highlighted scene node
diff --git a/examples/08.SpecialFX/SpecialFX.dev b/examples/08.SpecialFX/SpecialFX.dev
deleted file mode 100644
index b2c2f261..00000000
--- a/examples/08.SpecialFX/SpecialFX.dev
+++ /dev/null
@@ -1,59 +0,0 @@
-[Project]
-FileName=example.dev
-Name=Irrlicht Example 08 Special Effects
-UnitCount=1
-Type=1
-Ver=1
-ObjFiles=
-Includes=..\..\include
-Libs=
-PrivateResource=
-ResourceIncludes=
-MakeIncludes=
-Compiler=
-CppCompiler=
-Linker=../../lib/Win32-gcc/libIrrlicht.a_@@_
-IsCpp=1
-Icon=
-ExeOutput=../../bin/Win32-gcc
-ObjectOutput=obj
-OverrideOutput=1
-OverrideOutputName=08.SpecialFX.exe
-HostApplication=
-Folders=
-CommandLine=
-IncludeVersionInfo=0
-SupportXPThemes=0
-CompilerSet=0
-CompilerSettings=0000000000000000000000
-UseCustomMakefile=0
-CustomMakefile=
-
-[Unit1]
-FileName=main.cpp
-CompileCpp=1
-Folder=Projekt1
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[VersionInfo]
-Major=0
-Minor=1
-Release=1
-Build=1
-LanguageID=1033
-CharsetID=1252
-CompanyName=
-FileVersion=
-FileDescription=Irrlicht Engine example compiled using DevCpp and gcc
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=
-AutoIncBuildNr=0
-
diff --git a/examples/08.SpecialFX/SpecialFX_vc10.vcxproj b/examples/08.SpecialFX/SpecialFX_vc10.vcxproj
index c46d1c03..fd669a1a 100644
--- a/examples/08.SpecialFX/SpecialFX_vc10.vcxproj
+++ b/examples/08.SpecialFX/SpecialFX_vc10.vcxproj
@@ -28,21 +28,25 @@
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
diff --git a/examples/08.SpecialFX/SpecialFX_vc11.vcxproj b/examples/08.SpecialFX/SpecialFX_vc11.vcxproj
index 3e2e1c04..fd669a1a 100644
--- a/examples/08.SpecialFX/SpecialFX_vc11.vcxproj
+++ b/examples/08.SpecialFX/SpecialFX_vc11.vcxproj
@@ -28,25 +28,25 @@
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
diff --git a/examples/08.SpecialFX/SpecialFX_vc12.vcxproj b/examples/08.SpecialFX/SpecialFX_vc12.vcxproj
new file mode 100644
index 00000000..45f60640
--- /dev/null
+++ b/examples/08.SpecialFX/SpecialFX_vc12.vcxproj
@@ -0,0 +1,235 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 08.SpecialFX
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}
+ SpecialFX
+
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Release/SpecialFX.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\08.SpecialFx.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release/SpecialFX.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\08.SpecialFx.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Debug/SpecialFX.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\08.SpecialFx.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/SpecialFX.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\08.SpecialFx.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/08.SpecialFX/SpecialFX_vc14.vcxproj b/examples/08.SpecialFX/SpecialFX_vc14.vcxproj
new file mode 100644
index 00000000..d91a31f6
--- /dev/null
+++ b/examples/08.SpecialFX/SpecialFX_vc14.vcxproj
@@ -0,0 +1,235 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 08.SpecialFX
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}
+ SpecialFX
+
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Release/SpecialFX.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\08.SpecialFx.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release/SpecialFX.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\08.SpecialFx.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Debug/SpecialFX.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\08.SpecialFx.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/SpecialFX.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\08.SpecialFx.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/08.SpecialFX/SpecialFX_vc8.vcproj b/examples/08.SpecialFX/SpecialFX_vc8.vcproj
deleted file mode 100644
index 21dd96f0..00000000
--- a/examples/08.SpecialFX/SpecialFX_vc8.vcproj
+++ /dev/null
@@ -1,231 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/08.SpecialFX/SpecialFX_vc9.vcproj b/examples/08.SpecialFX/SpecialFX_vc9.vcproj
deleted file mode 100644
index 29763e5f..00000000
--- a/examples/08.SpecialFX/SpecialFX_vc9.vcproj
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/08.SpecialFX/ant.properties b/examples/08.SpecialFX/ant.properties
deleted file mode 100644
index a51e6a08..00000000
--- a/examples/08.SpecialFX/ant.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file is used to override default values used by the Ant build system.
-#
-# This file must be checked into Version Control Systems, as it is
-# integral to the build system of your project.
-
-# This file is only used by the Ant script.
-
-# You can use this to override default values such as
-# 'source.dir' for the location of your java source folder and
-# 'out.dir' for the location of your output folder.
-
-# You can also use it define how the release builds are signed by declaring
-# the following properties:
-# 'key.store' for the location of your keystore and
-# 'key.alias' for the name of the key to use.
-# The password will be asked during the build when you use the 'release' target.
-
diff --git a/examples/08.SpecialFX/jni/Application.mk b/examples/08.SpecialFX/jni/Application.mk
deleted file mode 100644
index 3b68cfdd..00000000
--- a/examples/08.SpecialFX/jni/Application.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-APP_MODULES := SFX
-APP_PLATFORM :=android-9
diff --git a/examples/08.SpecialFX/main.cpp b/examples/08.SpecialFX/main.cpp
index 1e5716d1..c2abaa61 100644
--- a/examples/08.SpecialFX/main.cpp
+++ b/examples/08.SpecialFX/main.cpp
@@ -13,14 +13,9 @@ runs slow on your hardware.
*/
#include
-#ifndef _IRR_ANDROID_PLATFORM_
-# include
-# include "driverChoice.h"
-#else
-# include "CAndroidAssetFileArchive.h"
-# include
-# include
-#endif
+#include
+#include "driverChoice.h"
+#include "exampleHelper.h"
using namespace irr;
@@ -28,17 +23,8 @@ using namespace irr;
#pragma comment(lib, "Irrlicht.lib")
#endif
-#ifndef _IRR_ANDROID_PLATFORM_
int main()
-#else
-void android_main(struct android_app* app)
-#endif
{
-#ifdef _IRR_ANDROID_PLATFORM_
- app_dummy();
- const bool shadows = false;
- video::E_DRIVER_TYPE driverType=video::EDT_OGLES1;
-#else
// ask if user would like shadows
char i;
printf("Please press 'y' if you want to use realtime shadows.\n");
@@ -50,46 +36,25 @@ void android_main(struct android_app* app)
// ask user for driver
video::E_DRIVER_TYPE driverType=driverChoiceConsole();
if (driverType==video::EDT_COUNT)
- {
-#ifdef _IRR_ANDROID_PLATFORM_
- return;
-#else
return 1;
-#endif
- }
-#endif
+
/*
Create device and exit if creation failed. We make the stencil flag
optional to avoid slow screen modes for runs without shadows.
*/
-#ifdef _IRR_ANDROID_PLATFORM_
- struct irr::SIrrlichtCreationParameters p;
- p.DriverType = driverType;
- // The android app object is needed by the irrlicht device.
- p.PrivateData = app;
- p.WindowSize = core::dimension2d(1280,800);
- IrrlichtDevice *device = createDeviceEx(p);
-#else
IrrlichtDevice *device =
createDevice(driverType, core::dimension2d(640, 480),
- 16, false, shadows);
-#endif
-
+ 16, false, shadows);
if (device == 0)
- {
-#ifdef _IRR_ANDROID_PLATFORM_
- return;
-#else
- return 1; // could not create selected driver.
-#endif
- }
+ return 1; // could not create selected driver.
video::IVideoDriver* driver = device->getVideoDriver();
scene::ISceneManager* smgr = device->getSceneManager();
- scene::ISceneNode* node = 0;
+
+ const io::path mediaPath = getExampleMediaPath();
/*
For our environment, we load a .3ds file. It is a small room I modelled
@@ -105,29 +70,15 @@ void android_main(struct android_app* app)
off too with this code.
*/
-#ifdef _IRR_ANDROID_PLATFORM_
- scene::IAnimatedMesh* mesh = smgr->getMesh("media/room.3ds");
-#else
- scene::IAnimatedMesh* mesh = smgr->getMesh("../../media/room.3ds");
-#endif
+ scene::IAnimatedMesh* mesh = smgr->getMesh(mediaPath + "room.3ds");
- if (mesh)
- {
- smgr->getMeshManipulator()->makePlanarTextureMapping(mesh->getMesh(0), 0.004f);
+ smgr->getMeshManipulator()->makePlanarTextureMapping(mesh->getMesh(0), 0.004f);
- node = smgr->addAnimatedMeshSceneNode(mesh);
- if (node)
- {
- ((scene::IAnimatedMeshSceneNode*)node)->addShadowVolumeSceneNode();
+ scene::ISceneNode* node = 0;
-#ifdef _IRR_ANDROID_PLATFORM_
- node->setMaterialTexture(0, driver->getTexture("media/wall.jpg"));
-#else
- node->setMaterialTexture(0, driver->getTexture("../../media/wall.jpg"));
-#endif
- node->getMaterial(0).SpecularColor.set(0,0,0,0);
- }
- }
+ node = smgr->addAnimatedMeshSceneNode(mesh);
+ node->setMaterialTexture(0, driver->getTexture(mediaPath + "wall.jpg"));
+ node->getMaterial(0).SpecularColor.set(0,0,0,0);
/*
Now, for the first special effect: Animated water. It works like this:
@@ -140,30 +91,19 @@ void android_main(struct android_app* app)
want to.
*/
- mesh = 0;//smgr->addHillPlaneMesh( "myHill",
-// core::dimension2d(20,20),
-// core::dimension2d(40,40), 0, 0,
-// core::dimension2d(0,0),
-// core::dimension2d(10,10));
+ mesh = smgr->addHillPlaneMesh( "myHill",
+ core::dimension2d(20,20),
+ core::dimension2d(40,40), 0, 0,
+ core::dimension2d(0,0),
+ core::dimension2d(10,10));
- if (mesh)
- {
- node = smgr->addWaterSurfaceSceneNode(mesh->getMesh(0), 3.0f, 300.0f, 30.0f);
- if (node)
- {
- node->setPosition(core::vector3df(0,7,0));
+ node = smgr->addWaterSurfaceSceneNode(mesh->getMesh(0), 3.0f, 300.0f, 30.0f);
+ node->setPosition(core::vector3df(0,7,0));
-#ifdef _IRR_ANDROID_PLATFORM_
- node->setMaterialTexture(0, driver->getTexture("media/stones.jpg"));
- node->setMaterialTexture(1, driver->getTexture("media/water.jpg"));
-#else
- node->setMaterialTexture(0, driver->getTexture("../../media/stones.jpg"));
- node->setMaterialTexture(1, driver->getTexture("../../media/water.jpg"));
-#endif
+ node->setMaterialTexture(0, driver->getTexture(mediaPath + "stones.jpg"));
+ node->setMaterialTexture(1, driver->getTexture(mediaPath + "water.jpg"));
- node->setMaterialType(video::EMT_REFLECTION_2_LAYER);
- }
- }
+ node->setMaterialType(video::EMT_REFLECTION_2_LAYER);
/*
The second special effect is very basic, I bet you saw it already in
@@ -176,70 +116,17 @@ void android_main(struct android_app* app)
node = smgr->addLightSceneNode(0, core::vector3df(0,0,0),
video::SColorf(1.0f, 0.6f, 0.7f, 1.0f), 800.0f);
- if (node)
- {
- scene::ISceneNodeAnimator* anim = 0;
- anim = smgr->createFlyCircleAnimator (core::vector3df(0,150,0),250.0f);
- node->addAnimator(anim);
- anim->drop();
- }
+ scene::ISceneNodeAnimator* anim = 0;
+ anim = smgr->createFlyCircleAnimator (core::vector3df(0,150,0),250.0f);
+ node->addAnimator(anim);
+ anim->drop();
// attach billboard to light
node = smgr->addBillboardSceneNode(node, core::dimension2d(50, 50));
- if (node)
- {
- node->setMaterialFlag(video::EMF_LIGHTING, false);
- node->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
-#ifdef _IRR_ANDROID_PLATFORM_
- node->setMaterialTexture(0, driver->getTexture("media/particlewhite.bmp"));
-#else
- node->setMaterialTexture(0, driver->getTexture("../../media/particlewhite.bmp"));
-#endif
- }
-
- /*
- Next we add a volumetric light node, which adds a glowing fake area light to
- the scene. Like with the billboards and particle systems we also assign a
- texture for the desired effect, though this time we'll use a texture animator
- to create the illusion of a magical glowing area effect.
- */
- scene::IVolumeLightSceneNode * n = smgr->addVolumeLightSceneNode(0, -1,
- 32, // Subdivisions on U axis
- 32, // Subdivisions on V axis
- video::SColor(0, 255, 255, 255), // foot color
- video::SColor(0, 0, 0, 0)); // tail color
-
- if (n)
- {
- n->setScale(core::vector3df(56.0f, 56.0f, 56.0f));
- n->setPosition(core::vector3df(-120,50,40));
-
- // load textures for animation
- core::array textures;
- for (s32 g=7; g > 0; --g)
- {
- core::stringc tmp;
-#ifdef _IRR_ANDROID_PLATFORM_
- tmp = "media/portal";
-#else
- tmp = "../../media/portal";
-#endif
- tmp += g;
- tmp += ".bmp";
- video::ITexture* t = driver->getTexture( tmp.c_str() );
- textures.push_back(t);
- }
-
- // create texture animator
- scene::ISceneNodeAnimator* glow = smgr->createTextureAnimator(textures, 150);
-
- // add the animator
- n->addAnimator(glow);
-
- // drop the animator because it was created with a create() function
- glow->drop();
- }
+ node->setMaterialFlag(video::EMF_LIGHTING, false);
+ node->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
+ node->setMaterialTexture(0, driver->getTexture(mediaPath + "particlewhite.bmp"));
/*
The next special effect is a lot more interesting: A particle system.
@@ -278,7 +165,7 @@ void android_main(struct android_app* app)
// create a particle system
- scene::IParticleSystemSceneNode* ps =
+ scene::IParticleSystemSceneNode* ps =
smgr->addParticleSystemSceneNode(false);
if (ps)
@@ -305,10 +192,49 @@ void android_main(struct android_app* app)
ps->setScale(core::vector3df(2,2,2));
ps->setMaterialFlag(video::EMF_LIGHTING, false);
ps->setMaterialFlag(video::EMF_ZWRITE_ENABLE, false);
- ps->setMaterialTexture(0, driver->getTexture("../../media/fire.bmp"));
+ ps->setMaterialTexture(0, driver->getTexture(mediaPath + "fire.bmp"));
ps->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
}
+ /*
+ Next we add a volumetric light node, which adds a glowing fake area light to
+ the scene. Like with the billboards and particle systems we also assign a
+ texture for the desired effect, though this time we'll use a texture animator
+ to create the illusion of a magical glowing area effect.
+ */
+ scene::IVolumeLightSceneNode * n = smgr->addVolumeLightSceneNode(0, -1,
+ 32, // Subdivisions on U axis
+ 32, // Subdivisions on V axis
+ video::SColor(0, 255, 255, 255), // foot color
+ video::SColor(0, 0, 0, 0)); // tail color
+
+ if (n)
+ {
+ n->setScale(core::vector3df(56.0f, 56.0f, 56.0f));
+ n->setPosition(core::vector3df(-120,50,40));
+
+ // load textures for animation
+ core::array textures;
+ for (s32 g=7; g > 0; --g)
+ {
+ core::stringc tmp(mediaPath);
+ tmp += "portal";
+ tmp += g;
+ tmp += ".bmp";
+ video::ITexture* t = driver->getTexture( tmp.c_str() );
+ textures.push_back(t);
+ }
+
+ // create texture animator
+ scene::ISceneNodeAnimator* glow = smgr->createTextureAnimator(textures, 150);
+
+ // add the animator
+ n->addAnimator(glow);
+
+ // drop the animator because it was created with a create() function
+ glow->drop();
+ }
+
/*
As our last special effect, we want a dynamic shadow be casted from an
animated character. For this we load a DirectX .x model and place it
@@ -327,11 +253,7 @@ void android_main(struct android_app* app)
// add animated character
-#ifdef _IRR_ANDROID_PLATFORM_
- mesh = smgr->getMesh("media/dwarf.x");
-#else
- mesh = smgr->getMesh("../../media/dwarf.x");
-#endif
+ mesh = smgr->getMesh(mediaPath + "dwarf.x");
scene::IAnimatedMeshSceneNode* anode = 0;
anode = smgr->addAnimatedMeshSceneNode(mesh);
@@ -363,7 +285,7 @@ void android_main(struct android_app* app)
while(device->run())
if (device->isWindowActive())
{
- driver->beginScene(true, true, 0);
+ driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(0));
smgr->drawAll();
@@ -385,12 +307,7 @@ void android_main(struct android_app* app)
device->drop();
-#ifdef _IRR_ANDROID_PLATFORM_
- return;
-#else
- return 0;
-#endif
-
+ return 0;
}
/*
diff --git a/examples/09.Meshviewer/MeshViewer.dev b/examples/09.Meshviewer/MeshViewer.dev
deleted file mode 100644
index 47416a14..00000000
--- a/examples/09.Meshviewer/MeshViewer.dev
+++ /dev/null
@@ -1,59 +0,0 @@
-[Project]
-FileName=example.dev
-Name=Irrlicht Example 09 Mesh Viewer
-UnitCount=1
-Type=1
-Ver=1
-ObjFiles=
-Includes=..\..\include
-Libs=
-PrivateResource=
-ResourceIncludes=
-MakeIncludes=
-Compiler=
-CppCompiler=
-Linker=../../lib/Win32-gcc/libIrrlicht.a_@@_
-IsCpp=1
-Icon=
-ExeOutput=../../bin/Win32-gcc
-ObjectOutput=obj
-OverrideOutput=1
-OverrideOutputName=09.MeshViewer.exe
-HostApplication=
-Folders=
-CommandLine=
-IncludeVersionInfo=0
-SupportXPThemes=0
-CompilerSet=0
-CompilerSettings=0000000000000000000000
-UseCustomMakefile=0
-CustomMakefile=
-
-[Unit1]
-FileName=main.cpp
-CompileCpp=1
-Folder=Projekt1
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[VersionInfo]
-Major=0
-Minor=1
-Release=1
-Build=1
-LanguageID=1033
-CharsetID=1252
-CompanyName=
-FileVersion=
-FileDescription=Irrlicht Engine example compiled using DevCpp and gcc
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=
-AutoIncBuildNr=0
-
diff --git a/examples/09.Meshviewer/Meshviewer_vc10.vcxproj b/examples/09.Meshviewer/Meshviewer_vc10.vcxproj
index c9e9e970..eb918ccd 100644
--- a/examples/09.Meshviewer/Meshviewer_vc10.vcxproj
+++ b/examples/09.Meshviewer/Meshviewer_vc10.vcxproj
@@ -28,21 +28,25 @@
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
diff --git a/examples/09.Meshviewer/Meshviewer_vc11.vcxproj b/examples/09.Meshviewer/Meshviewer_vc11.vcxproj
index 24ffe1e3..eb918ccd 100644
--- a/examples/09.Meshviewer/Meshviewer_vc11.vcxproj
+++ b/examples/09.Meshviewer/Meshviewer_vc11.vcxproj
@@ -28,25 +28,25 @@
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
diff --git a/examples/09.Meshviewer/Meshviewer_vc12.vcxproj b/examples/09.Meshviewer/Meshviewer_vc12.vcxproj
new file mode 100644
index 00000000..effddf22
--- /dev/null
+++ b/examples/09.Meshviewer/Meshviewer_vc12.vcxproj
@@ -0,0 +1,235 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 09.Meshviewer
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}
+ Meshviewer
+
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Release/Meshviewer.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\09.MeshViewer.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release/Meshviewer.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\09.MeshViewer.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Debug/Meshviewer.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\09.MeshViewer.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/Meshviewer.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\09.MeshViewer.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/09.Meshviewer/Meshviewer_vc14.vcxproj b/examples/09.Meshviewer/Meshviewer_vc14.vcxproj
new file mode 100644
index 00000000..f96053dd
--- /dev/null
+++ b/examples/09.Meshviewer/Meshviewer_vc14.vcxproj
@@ -0,0 +1,235 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 09.Meshviewer
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}
+ Meshviewer
+
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Release/Meshviewer.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\09.MeshViewer.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release/Meshviewer.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\09.MeshViewer.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Debug/Meshviewer.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\09.MeshViewer.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/Meshviewer.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\09.MeshViewer.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/09.Meshviewer/Meshviewer_vc8.vcproj b/examples/09.Meshviewer/Meshviewer_vc8.vcproj
deleted file mode 100644
index 03467710..00000000
--- a/examples/09.Meshviewer/Meshviewer_vc8.vcproj
+++ /dev/null
@@ -1,231 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/09.Meshviewer/Meshviewer_vc9.vcproj b/examples/09.Meshviewer/Meshviewer_vc9.vcproj
deleted file mode 100644
index f6a80386..00000000
--- a/examples/09.Meshviewer/Meshviewer_vc9.vcproj
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/09.Meshviewer/main.cpp b/examples/09.Meshviewer/main.cpp
index b9dc5502..559646e7 100644
--- a/examples/09.Meshviewer/main.cpp
+++ b/examples/09.Meshviewer/main.cpp
@@ -15,6 +15,7 @@ tutorial, we use a lot stuff from the gui namespace.
*/
#include
#include "driverChoice.h"
+#include "exampleHelper.h"
using namespace irr;
using namespace gui;
@@ -239,7 +240,6 @@ void loadModel(const c8* fn)
else
{
scene::IAnimatedMeshSceneNode* animModel = Device->getSceneManager()->addAnimatedMeshSceneNode(m);
- animModel->setAnimationSpeed(30);
Model = animModel;
}
Model->setMaterialFlag(video::EMF_LIGHTING, UseLight);
@@ -756,7 +756,7 @@ int main(int argc, char* argv[])
video::SColorf(1.0f,1.0f,1.0f),2000);
smgr->setAmbientLight(video::SColorf(0.3f,0.3f,0.3f));
// add our media directory as "search path"
- Device->getFileSystem()->addFileArchive("../../media/");
+ Device->getFileSystem()->addFileArchive(getExampleMediaPath());
/*
The next step is to read the configuration file. It is stored in the xml
@@ -997,7 +997,7 @@ int main(int argc, char* argv[])
if (Device->isWindowActive())
{
- driver->beginScene(true, true, video::SColor(150,50,50,50));
+ driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(150,50,50,50));
smgr->drawAll();
env->drawAll();
diff --git a/examples/10.Shaders/Shaders.dev b/examples/10.Shaders/Shaders.dev
deleted file mode 100644
index bcaa4f88..00000000
--- a/examples/10.Shaders/Shaders.dev
+++ /dev/null
@@ -1,59 +0,0 @@
-[Project]
-FileName=example.dev
-Name=Irrlicht Example 10 Shaders
-UnitCount=1
-Type=1
-Ver=1
-ObjFiles=
-Includes=..\..\include
-Libs=
-PrivateResource=
-ResourceIncludes=
-MakeIncludes=
-Compiler=
-CppCompiler=
-Linker=../../lib/Win32-gcc/libIrrlicht.a_@@_
-IsCpp=1
-Icon=
-ExeOutput=../../bin/Win32-gcc
-ObjectOutput=obj
-OverrideOutput=1
-OverrideOutputName=10.Shaders.exe
-HostApplication=
-Folders=
-CommandLine=
-IncludeVersionInfo=0
-SupportXPThemes=0
-CompilerSet=0
-CompilerSettings=0000000000000000000000
-UseCustomMakefile=0
-CustomMakefile=
-
-[Unit1]
-FileName=main.cpp
-CompileCpp=1
-Folder=Projekt1
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[VersionInfo]
-Major=0
-Minor=1
-Release=1
-Build=1
-LanguageID=1033
-CharsetID=1252
-CompanyName=
-FileVersion=
-FileDescription=Irrlicht Engine example compiled using DevCpp and gcc
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=
-AutoIncBuildNr=0
-
diff --git a/examples/10.Shaders/Shaders_vc10.vcxproj b/examples/10.Shaders/Shaders_vc10.vcxproj
index c2a526e6..55e1e888 100644
--- a/examples/10.Shaders/Shaders_vc10.vcxproj
+++ b/examples/10.Shaders/Shaders_vc10.vcxproj
@@ -28,21 +28,25 @@
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
diff --git a/examples/10.Shaders/Shaders_vc11.vcxproj b/examples/10.Shaders/Shaders_vc11.vcxproj
index 30ae6427..55e1e888 100644
--- a/examples/10.Shaders/Shaders_vc11.vcxproj
+++ b/examples/10.Shaders/Shaders_vc11.vcxproj
@@ -28,25 +28,25 @@
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
diff --git a/examples/10.Shaders/Shaders_vc12.vcxproj b/examples/10.Shaders/Shaders_vc12.vcxproj
new file mode 100644
index 00000000..b7dedf0a
--- /dev/null
+++ b/examples/10.Shaders/Shaders_vc12.vcxproj
@@ -0,0 +1,235 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 10.Shaders
+ {27158C82-CD15-4A9B-9848-35E7065B209F}
+ Shaders
+
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Debug/Shaders.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\10.Shaders.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/Shaders.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\10.Shaders.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Release/Shaders.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\10.Shaders.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release/Shaders.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\10.Shaders.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/10.Shaders/Shaders_vc14.vcxproj b/examples/10.Shaders/Shaders_vc14.vcxproj
new file mode 100644
index 00000000..dfc7ff69
--- /dev/null
+++ b/examples/10.Shaders/Shaders_vc14.vcxproj
@@ -0,0 +1,235 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 10.Shaders
+ {27158C82-CD15-4A9B-9848-35E7065B209F}
+ Shaders
+
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Debug/Shaders.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\10.Shaders.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/Shaders.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\10.Shaders.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Release/Shaders.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\10.Shaders.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release/Shaders.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\10.Shaders.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/10.Shaders/Shaders_vc8.vcproj b/examples/10.Shaders/Shaders_vc8.vcproj
deleted file mode 100644
index f107140c..00000000
--- a/examples/10.Shaders/Shaders_vc8.vcproj
+++ /dev/null
@@ -1,231 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/10.Shaders/Shaders_vc9.vcproj b/examples/10.Shaders/Shaders_vc9.vcproj
deleted file mode 100644
index d870b03e..00000000
--- a/examples/10.Shaders/Shaders_vc9.vcproj
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/10.Shaders/main.cpp b/examples/10.Shaders/main.cpp
index 7bee49fa..779ef1ba 100644
--- a/examples/10.Shaders/main.cpp
+++ b/examples/10.Shaders/main.cpp
@@ -1,12 +1,12 @@
/** Example 010 Shaders
-This tutorial shows how to use shaders for D3D8, D3D9, OpenGL, and Cg with the
+This tutorial shows how to use shaders for D3D9, and OpenGL with the
engine and how to create new material types with them. It also shows how to
disable the generation of mipmaps at texture loading, and how to use text scene
nodes.
This tutorial does not explain how shaders work. I would recommend to read the
-D3D, OpenGL, or Cg documentation, to search a tutorial, or to read a book about
+D3D or OpenGL, documentation, to search a tutorial, or to read a book about
this.
At first, we need to include all headers and do the stuff we always do, like in
@@ -15,6 +15,7 @@ nearly all other tutorials:
#include
#include
#include "driverChoice.h"
+#include "exampleHelper.h"
using namespace irr;
@@ -42,7 +43,6 @@ the variable name as parameter instead of the register index.
IrrlichtDevice* device = 0;
bool UseHighLevelShaders = false;
-bool UseCgShaders = false;
class MyShaderCallBack : public video::IShaderConstantSetCallBack
{
@@ -169,10 +169,6 @@ int main()
if (i == 'y')
{
UseHighLevelShaders = true;
- printf("Please press 'y' if you want to use Cg shaders.\n");
- std::cin >> i;
- if (i == 'y')
- UseCgShaders = true;
}
}
@@ -188,16 +184,18 @@ int main()
scene::ISceneManager* smgr = device->getSceneManager();
gui::IGUIEnvironment* gui = device->getGUIEnvironment();
+ const io::path mediaPath = getExampleMediaPath();
+
/*
Now for the more interesting parts. If we are using Direct3D, we want
to load vertex and pixel shader programs, if we have OpenGL, we want to
use ARB fragment and vertex programs. I wrote the corresponding
- programs down into the files d3d8.ps, d3d8.vs, d3d9.ps, d3d9.vs,
- opengl.ps and opengl.vs. We only need the right filenames now. This is
- done in the following switch. Note, that it is not necessary to write
- the shaders into text files, like in this example. You can even write
- the shaders directly as strings into the cpp source file, and use later
- addShaderMaterial() instead of addShaderMaterialFromFiles().
+ programs down into the files d3d9.ps, d3d9.vs, opengl.ps and opengl.vs.
+ We only need the right filenames now. This is done in the following switch.
+ Note, that it is not necessary to write the shaders into text files,
+ like in this example. You can even write the shaders directly as strings
+ into the cpp source file, and use later addShaderMaterial() instead of
+ addShaderMaterialFromFiles().
*/
io::path vsFileName; // filename for the vertex shader
@@ -205,21 +203,16 @@ int main()
switch(driverType)
{
- case video::EDT_DIRECT3D8:
- psFileName = "../../media/d3d8.psh";
- vsFileName = "../../media/d3d8.vsh";
- break;
case video::EDT_DIRECT3D9:
if (UseHighLevelShaders)
{
- // Cg can also handle this syntax
- psFileName = "../../media/d3d9.hlsl";
+ psFileName = mediaPath + "d3d9.hlsl";
vsFileName = psFileName; // both shaders are in the same file
}
else
{
- psFileName = "../../media/d3d9.psh";
- vsFileName = "../../media/d3d9.vsh";
+ psFileName = mediaPath + "d3d9.psh";
+ vsFileName = mediaPath + "d3d9.vsh";
}
break;
@@ -234,22 +227,13 @@ int main()
case video::EDT_OPENGL:
if (UseHighLevelShaders)
{
- if (!UseCgShaders)
- {
- psFileName = "../../media/opengl.frag";
- vsFileName = "../../media/opengl.vert";
- }
- else
- {
- // Use HLSL syntax for Cg
- psFileName = "../../media/d3d9.hlsl";
- vsFileName = psFileName; // both shaders are in the same file
- }
+ psFileName = mediaPath + "opengl.frag";
+ vsFileName = mediaPath + "opengl.vert";
}
else
{
- psFileName = "../../media/opengl.psh";
- vsFileName = "../../media/opengl.vsh";
+ psFileName = mediaPath + "opengl.psh";
+ vsFileName = mediaPath + "opengl.vsh";
}
break;
}
@@ -322,12 +306,10 @@ int main()
if (UseHighLevelShaders)
{
// Choose the desired shader type. Default is the native
- // shader type for the driver, for Cg pass the special
- // enum value EGSL_CG
- const video::E_GPU_SHADING_LANGUAGE shadingLanguage =
- UseCgShaders ? video::EGSL_CG:video::EGSL_DEFAULT;
+ // shader type for the driver
+ const video::E_GPU_SHADING_LANGUAGE shadingLanguage = video::EGSL_DEFAULT;
- // create material from high level shaders (hlsl, glsl or cg)
+ // create material from high level shaders (hlsl, glsl)
newMaterialType1 = gpu->addHighLevelShaderMaterialFromFiles(
vsFileName, "vertexMain", video::EVST_VS_1_1,
@@ -364,7 +346,7 @@ int main()
scene::ISceneNode* node = smgr->addCubeSceneNode(50);
node->setPosition(core::vector3df(0,0,0));
- node->setMaterialTexture(0, driver->getTexture("../../media/wall.bmp"));
+ node->setMaterialTexture(0, driver->getTexture(mediaPath + "wall.bmp"));
node->setMaterialFlag(video::EMF_LIGHTING, false);
node->setMaterialType((video::E_MATERIAL_TYPE)newMaterialType1);
@@ -385,7 +367,7 @@ int main()
node = smgr->addCubeSceneNode(50);
node->setPosition(core::vector3df(0,-10,50));
- node->setMaterialTexture(0, driver->getTexture("../../media/wall.bmp"));
+ node->setMaterialTexture(0, driver->getTexture(mediaPath + "wall.bmp"));
node->setMaterialFlag(video::EMF_LIGHTING, false);
node->setMaterialFlag(video::EMF_BLEND_OPERATION, true);
node->setMaterialType((video::E_MATERIAL_TYPE)newMaterialType2);
@@ -407,7 +389,7 @@ int main()
node = smgr->addCubeSceneNode(50);
node->setPosition(core::vector3df(0,50,25));
- node->setMaterialTexture(0, driver->getTexture("../../media/wall.bmp"));
+ node->setMaterialTexture(0, driver->getTexture(mediaPath + "wall.bmp"));
node->setMaterialFlag(video::EMF_LIGHTING, false);
smgr->addTextSceneNode(gui->getBuiltInFont(), L"NO SHADER",
video::SColor(255,255,255,255), node);
@@ -423,12 +405,12 @@ int main()
driver->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS, false);
smgr->addSkyBoxSceneNode(
- driver->getTexture("../../media/irrlicht2_up.jpg"),
- driver->getTexture("../../media/irrlicht2_dn.jpg"),
- driver->getTexture("../../media/irrlicht2_lf.jpg"),
- driver->getTexture("../../media/irrlicht2_rt.jpg"),
- driver->getTexture("../../media/irrlicht2_ft.jpg"),
- driver->getTexture("../../media/irrlicht2_bk.jpg"));
+ driver->getTexture(mediaPath + "irrlicht2_up.jpg"),
+ driver->getTexture(mediaPath + "irrlicht2_dn.jpg"),
+ driver->getTexture(mediaPath + "irrlicht2_lf.jpg"),
+ driver->getTexture(mediaPath + "irrlicht2_rt.jpg"),
+ driver->getTexture(mediaPath + "irrlicht2_ft.jpg"),
+ driver->getTexture(mediaPath + "irrlicht2_bk.jpg"));
driver->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS, true);
@@ -448,7 +430,7 @@ int main()
while(device->run())
if (device->isWindowActive())
{
- driver->beginScene(true, true, video::SColor(255,0,0,0));
+ driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(255,0,0,0));
smgr->drawAll();
driver->endScene();
diff --git a/examples/11.PerPixelLighting/PerPixelLighting.dev b/examples/11.PerPixelLighting/PerPixelLighting.dev
deleted file mode 100644
index c83a502b..00000000
--- a/examples/11.PerPixelLighting/PerPixelLighting.dev
+++ /dev/null
@@ -1,59 +0,0 @@
-[Project]
-FileName=example.dev
-Name=Irrlicht Example 11 Per-Pixel Lighting
-UnitCount=1
-Type=1
-Ver=1
-ObjFiles=
-Includes=..\..\include
-Libs=
-PrivateResource=
-ResourceIncludes=
-MakeIncludes=
-Compiler=
-CppCompiler=
-Linker=../../lib/Win32-gcc/libIrrlicht.a_@@_
-IsCpp=1
-Icon=
-ExeOutput=../../bin/Win32-gcc
-ObjectOutput=obj
-OverrideOutput=1
-OverrideOutputName=11.PerPixelLighting.exe
-HostApplication=
-Folders=
-CommandLine=
-IncludeVersionInfo=0
-SupportXPThemes=0
-CompilerSet=0
-CompilerSettings=0000000000000000000000
-UseCustomMakefile=0
-CustomMakefile=
-
-[Unit1]
-FileName=main.cpp
-CompileCpp=1
-Folder=Projekt1
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[VersionInfo]
-Major=0
-Minor=1
-Release=1
-Build=1
-LanguageID=1033
-CharsetID=1252
-CompanyName=
-FileVersion=
-FileDescription=Irrlicht Engine example compiled using DevCpp and gcc
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=
-AutoIncBuildNr=0
-
diff --git a/examples/11.PerPixelLighting/PerPixelLighting_vc10.vcxproj b/examples/11.PerPixelLighting/PerPixelLighting_vc10.vcxproj
index 267ded9e..2179bc44 100644
--- a/examples/11.PerPixelLighting/PerPixelLighting_vc10.vcxproj
+++ b/examples/11.PerPixelLighting/PerPixelLighting_vc10.vcxproj
@@ -28,21 +28,25 @@
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
diff --git a/examples/11.PerPixelLighting/PerPixelLighting_vc11.vcxproj b/examples/11.PerPixelLighting/PerPixelLighting_vc11.vcxproj
index 06fce8fe..2179bc44 100644
--- a/examples/11.PerPixelLighting/PerPixelLighting_vc11.vcxproj
+++ b/examples/11.PerPixelLighting/PerPixelLighting_vc11.vcxproj
@@ -28,25 +28,25 @@
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
diff --git a/examples/11.PerPixelLighting/PerPixelLighting_vc12.vcxproj b/examples/11.PerPixelLighting/PerPixelLighting_vc12.vcxproj
new file mode 100644
index 00000000..ca2c3f4c
--- /dev/null
+++ b/examples/11.PerPixelLighting/PerPixelLighting_vc12.vcxproj
@@ -0,0 +1,235 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 11.PerPixelLighting
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}
+ PerPixelLighting
+
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Debug/PerPixelLighting.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\11.PerPixelLighting.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/PerPixelLighting.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\11.PerPixelLighting.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Release/PerPixelLighting.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\11.PerPixelLighting.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release/PerPixelLighting.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\11.PerPixelLighting.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/11.PerPixelLighting/PerPixelLighting_vc14.vcxproj b/examples/11.PerPixelLighting/PerPixelLighting_vc14.vcxproj
new file mode 100644
index 00000000..3e6da846
--- /dev/null
+++ b/examples/11.PerPixelLighting/PerPixelLighting_vc14.vcxproj
@@ -0,0 +1,235 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 11.PerPixelLighting
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}
+ PerPixelLighting
+
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Debug/PerPixelLighting.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\11.PerPixelLighting.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/PerPixelLighting.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\11.PerPixelLighting.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Release/PerPixelLighting.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\11.PerPixelLighting.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release/PerPixelLighting.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\11.PerPixelLighting.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/11.PerPixelLighting/PerPixelLighting_vc8.vcproj b/examples/11.PerPixelLighting/PerPixelLighting_vc8.vcproj
deleted file mode 100644
index b6830db2..00000000
--- a/examples/11.PerPixelLighting/PerPixelLighting_vc8.vcproj
+++ /dev/null
@@ -1,231 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/11.PerPixelLighting/PerPixelLighting_vc9.vcproj b/examples/11.PerPixelLighting/PerPixelLighting_vc9.vcproj
deleted file mode 100644
index c9ed0337..00000000
--- a/examples/11.PerPixelLighting/PerPixelLighting_vc9.vcproj
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/11.PerPixelLighting/main.cpp b/examples/11.PerPixelLighting/main.cpp
index d0e3daec..337d4b3e 100644
--- a/examples/11.PerPixelLighting/main.cpp
+++ b/examples/11.PerPixelLighting/main.cpp
@@ -10,6 +10,7 @@ nearly all other tutorials.
*/
#include
#include "driverChoice.h"
+#include "exampleHelper.h"
using namespace irr;
@@ -38,7 +39,7 @@ public:
// set a nicer font
gui::IGUISkin* skin = env->getSkin();
- gui::IGUIFont* font = env->getFont("../../media/fonthaettenschweiler.bmp");
+ gui::IGUIFont* font = env->getFont(getExampleMediaPath() + "fonthaettenschweiler.bmp");
if (font)
skin->setFont(font);
@@ -198,8 +199,10 @@ int main()
driver->setTextureCreationFlag(video::ETCF_ALWAYS_32_BIT, true);
+ const io::path mediaPath = getExampleMediaPath();
+
// add irrlicht logo
- env->addImage(driver->getTexture("../../media/irrlichtlogo3.png"),
+ env->addImage(driver->getTexture(mediaPath + "irrlichtlogo3.png"),
core::position2d(10,10));
// add camera
@@ -228,7 +231,7 @@ int main()
IMeshManipulator::makePlanarTextureMapping() method.
*/
- scene::IAnimatedMesh* roomMesh = smgr->getMesh("../../media/room.3ds");
+ scene::IAnimatedMesh* roomMesh = smgr->getMesh(mediaPath + "room.3ds");
scene::ISceneNode* room = 0;
scene::ISceneNode* earth = 0;
@@ -256,14 +259,14 @@ int main()
*/
video::ITexture* normalMap =
- driver->getTexture("../../media/rockwall_height.bmp");
+ driver->getTexture(mediaPath + "rockwall_height.bmp");
if (normalMap)
driver->makeNormalMapTexture(normalMap, 9.0f);
/*
// The Normal Map and the displacement map/height map in the alpha channel
video::ITexture* normalMap =
- driver->getTexture("../../media/rockwall_NRM.tga");
+ driver->getTexture(mediaPath + "rockwall_NRM.tga");
*/
/*
But just setting color and normal map is not everything. The
@@ -283,7 +286,7 @@ int main()
room = smgr->addMeshSceneNode(tangentMesh);
room->setMaterialTexture(0,
- driver->getTexture("../../media/rockwall.jpg"));
+ driver->getTexture(mediaPath + "rockwall.jpg"));
room->setMaterialTexture(1, normalMap);
// Stones don't glitter..
@@ -311,7 +314,7 @@ int main()
// add earth sphere
- scene::IAnimatedMesh* earthMesh = smgr->getMesh("../../media/earth.x");
+ scene::IAnimatedMesh* earthMesh = smgr->getMesh(mediaPath + "earth.x");
if (earthMesh)
{
//perform various task with the mesh manipulator
@@ -334,7 +337,7 @@ int main()
earth->setPosition(core::vector3df(-70,130,45));
// load heightmap, create normal map from it and set it
- video::ITexture* earthNormalMap = driver->getTexture("../../media/earthbump.jpg");
+ video::ITexture* earthNormalMap = driver->getTexture(mediaPath + "earthbump.jpg");
if (earthNormalMap)
{
driver->makeNormalMapTexture(earthNormalMap, 20.0f);
@@ -381,7 +384,7 @@ int main()
bill->setMaterialFlag(video::EMF_LIGHTING, false);
bill->setMaterialFlag(video::EMF_ZWRITE_ENABLE, false);
bill->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
- bill->setMaterialTexture(0, driver->getTexture("../../media/particlegreen.jpg"));
+ bill->setMaterialTexture(0, driver->getTexture(mediaPath + "particlegreen.jpg"));
/*
Now the same again, with the second light. The difference is that we
@@ -412,7 +415,7 @@ int main()
bill->setMaterialFlag(video::EMF_LIGHTING, false);
bill->setMaterialFlag(video::EMF_ZWRITE_ENABLE, false);
bill->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
- bill->setMaterialTexture(0, driver->getTexture("../../media/particlered.bmp"));
+ bill->setMaterialTexture(0, driver->getTexture(mediaPath + "particlered.bmp"));
// add particle system
scene::IParticleSystemSceneNode* ps =
@@ -439,7 +442,7 @@ int main()
// adjust some material settings
ps->setMaterialFlag(video::EMF_LIGHTING, false);
ps->setMaterialFlag(video::EMF_ZWRITE_ENABLE, false);
- ps->setMaterialTexture(0, driver->getTexture("../../media/fireball.bmp"));
+ ps->setMaterialTexture(0, driver->getTexture(mediaPath + "fireball.bmp"));
ps->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
MyEventReceiver receiver(room, earth, env, driver);
@@ -454,7 +457,7 @@ int main()
while(device->run())
if (device->isWindowActive())
{
- driver->beginScene(true, true, 0);
+ driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(0));
smgr->drawAll();
env->drawAll();
diff --git a/examples/12.TerrainRendering/TerrainRendering.dev b/examples/12.TerrainRendering/TerrainRendering.dev
deleted file mode 100644
index 678e5365..00000000
--- a/examples/12.TerrainRendering/TerrainRendering.dev
+++ /dev/null
@@ -1,59 +0,0 @@
-[Project]
-FileName=example.dev
-Name=Irrlicht Example 12 Terrain Rendering
-UnitCount=1
-Type=1
-Ver=1
-ObjFiles=
-Includes=..\..\include
-Libs=
-PrivateResource=
-ResourceIncludes=
-MakeIncludes=
-Compiler=
-CppCompiler=
-Linker=../../lib/Win32-gcc/libIrrlicht.a_@@_
-IsCpp=1
-Icon=
-ExeOutput=../../bin/Win32-gcc
-ObjectOutput=obj
-OverrideOutput=1
-OverrideOutputName=12.TerrainRendering.exe
-HostApplication=
-Folders=
-CommandLine=
-IncludeVersionInfo=0
-SupportXPThemes=0
-CompilerSet=0
-CompilerSettings=0000000000000000000000
-UseCustomMakefile=0
-CustomMakefile=
-
-[Unit1]
-FileName=main.cpp
-CompileCpp=1
-Folder=Projekt1
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[VersionInfo]
-Major=0
-Minor=1
-Release=1
-Build=1
-LanguageID=1033
-CharsetID=1252
-CompanyName=
-FileVersion=
-FileDescription=Irrlicht Engine example compiled using DevCpp and gcc
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=
-AutoIncBuildNr=0
-
diff --git a/examples/12.TerrainRendering/TerrainRendering_vc10.vcxproj b/examples/12.TerrainRendering/TerrainRendering_vc10.vcxproj
index c68f9ff6..22bd8b6d 100644
--- a/examples/12.TerrainRendering/TerrainRendering_vc10.vcxproj
+++ b/examples/12.TerrainRendering/TerrainRendering_vc10.vcxproj
@@ -28,21 +28,25 @@
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
diff --git a/examples/12.TerrainRendering/TerrainRendering_vc11.vcxproj b/examples/12.TerrainRendering/TerrainRendering_vc11.vcxproj
index d91cb762..22bd8b6d 100644
--- a/examples/12.TerrainRendering/TerrainRendering_vc11.vcxproj
+++ b/examples/12.TerrainRendering/TerrainRendering_vc11.vcxproj
@@ -28,25 +28,25 @@
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
diff --git a/examples/12.TerrainRendering/TerrainRendering_vc12.vcxproj b/examples/12.TerrainRendering/TerrainRendering_vc12.vcxproj
new file mode 100644
index 00000000..4fb6b9b8
--- /dev/null
+++ b/examples/12.TerrainRendering/TerrainRendering_vc12.vcxproj
@@ -0,0 +1,235 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 12.TerrainRendering
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}
+ TerrainRendering
+
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Debug/TerrainRendering.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\12.TerrainRendering.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/TerrainRendering.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\12.TerrainRendering.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Release/TerrainRendering.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\12.TerrainRendering.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release/TerrainRendering.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\12.TerrainRendering.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/12.TerrainRendering/TerrainRendering_vc14.vcxproj b/examples/12.TerrainRendering/TerrainRendering_vc14.vcxproj
new file mode 100644
index 00000000..bf067fa2
--- /dev/null
+++ b/examples/12.TerrainRendering/TerrainRendering_vc14.vcxproj
@@ -0,0 +1,235 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 12.TerrainRendering
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}
+ TerrainRendering
+
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Debug/TerrainRendering.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\12.TerrainRendering.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/TerrainRendering.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\12.TerrainRendering.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Release/TerrainRendering.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\12.TerrainRendering.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release/TerrainRendering.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\12.TerrainRendering.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/12.TerrainRendering/TerrainRendering_vc8.vcproj b/examples/12.TerrainRendering/TerrainRendering_vc8.vcproj
deleted file mode 100644
index 757e2f66..00000000
--- a/examples/12.TerrainRendering/TerrainRendering_vc8.vcproj
+++ /dev/null
@@ -1,231 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/12.TerrainRendering/TerrainRendering_vc9.vcproj b/examples/12.TerrainRendering/TerrainRendering_vc9.vcproj
deleted file mode 100644
index 8a7f2f13..00000000
--- a/examples/12.TerrainRendering/TerrainRendering_vc9.vcproj
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/12.TerrainRendering/main.cpp b/examples/12.TerrainRendering/main.cpp
index d8292448..5686bf32 100644
--- a/examples/12.TerrainRendering/main.cpp
+++ b/examples/12.TerrainRendering/main.cpp
@@ -16,6 +16,7 @@ toggles between solid and detail mapped material.
*/
#include
#include "driverChoice.h"
+#include "exampleHelper.h"
using namespace irr;
@@ -118,12 +119,14 @@ int main()
driver->setTextureCreationFlag(video::ETCF_ALWAYS_32_BIT, true);
+ const io::path mediaPath = getExampleMediaPath();
+
// add irrlicht logo
- env->addImage(driver->getTexture("../../media/irrlichtlogo2.png"),
+ env->addImage(driver->getTexture(mediaPath + "irrlichtlogo2.png"),
core::position2d(10,10));
//set other font
- env->getSkin()->setFont(env->getFont("../../media/fontlucida.png"));
+ env->getSkin()->setFont(env->getFont(mediaPath + "fontlucida.png"));
// add some help text
env->addStaticText(
@@ -160,7 +163,7 @@ int main()
// add terrain scene node
scene::ITerrainSceneNode* terrain = smgr->addTerrainSceneNode(
- "../../media/terrain-heightmap.bmp",
+ mediaPath + "terrain-heightmap.bmp",
0, // parent node
-1, // node id
core::vector3df(0.f, 0.f, 0.f), // position
@@ -175,9 +178,9 @@ int main()
terrain->setMaterialFlag(video::EMF_LIGHTING, false);
terrain->setMaterialTexture(0,
- driver->getTexture("../../media/terrain-texture.jpg"));
+ driver->getTexture(mediaPath + "terrain-texture.jpg"));
terrain->setMaterialTexture(1,
- driver->getTexture("../../media/detailmap3.jpg"));
+ driver->getTexture(mediaPath + "detailmap3.jpg"));
terrain->setMaterialType(video::EMT_DETAIL_MAP);
@@ -226,13 +229,13 @@ int main()
driver->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS, false);
scene::ISceneNode* skybox=smgr->addSkyBoxSceneNode(
- driver->getTexture("../../media/irrlicht2_up.jpg"),
- driver->getTexture("../../media/irrlicht2_dn.jpg"),
- driver->getTexture("../../media/irrlicht2_lf.jpg"),
- driver->getTexture("../../media/irrlicht2_rt.jpg"),
- driver->getTexture("../../media/irrlicht2_ft.jpg"),
- driver->getTexture("../../media/irrlicht2_bk.jpg"));
- scene::ISceneNode* skydome=smgr->addSkyDomeSceneNode(driver->getTexture("../../media/skydome.jpg"),16,8,0.95f,2.0f);
+ driver->getTexture(mediaPath + "irrlicht2_up.jpg"),
+ driver->getTexture(mediaPath + "irrlicht2_dn.jpg"),
+ driver->getTexture(mediaPath + "irrlicht2_lf.jpg"),
+ driver->getTexture(mediaPath + "irrlicht2_rt.jpg"),
+ driver->getTexture(mediaPath + "irrlicht2_ft.jpg"),
+ driver->getTexture(mediaPath + "irrlicht2_bk.jpg"));
+ scene::ISceneNode* skydome=smgr->addSkyDomeSceneNode(driver->getTexture(mediaPath + "skydome.jpg"),16,8,0.95f,2.0f);
driver->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS, true);
@@ -249,7 +252,7 @@ int main()
while(device->run())
if (device->isWindowActive())
{
- driver->beginScene(true, true, 0 );
+ driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(0));
smgr->drawAll();
env->drawAll();
diff --git a/examples/13.RenderToTexture/RenderToTexture.dev b/examples/13.RenderToTexture/RenderToTexture.dev
deleted file mode 100644
index 0ebdf280..00000000
--- a/examples/13.RenderToTexture/RenderToTexture.dev
+++ /dev/null
@@ -1,59 +0,0 @@
-[Project]
-FileName=example.dev
-Name=Irrlicht Example 13 Render To Texture
-UnitCount=1
-Type=1
-Ver=1
-ObjFiles=
-Includes=..\..\include
-Libs=
-PrivateResource=
-ResourceIncludes=
-MakeIncludes=
-Compiler=
-CppCompiler=
-Linker=../../lib/Win32-gcc/libIrrlicht.a_@@_
-IsCpp=1
-Icon=
-ExeOutput=../../bin/Win32-gcc
-ObjectOutput=obj
-OverrideOutput=1
-OverrideOutputName=13.RenderToTexture.exe
-HostApplication=
-Folders=
-CommandLine=
-IncludeVersionInfo=0
-SupportXPThemes=0
-CompilerSet=0
-CompilerSettings=0000000000000000000000
-UseCustomMakefile=0
-CustomMakefile=
-
-[Unit1]
-FileName=main.cpp
-CompileCpp=1
-Folder=Projekt1
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[VersionInfo]
-Major=0
-Minor=1
-Release=1
-Build=1
-LanguageID=1033
-CharsetID=1252
-CompanyName=
-FileVersion=
-FileDescription=Irrlicht Engine example compiled using DevCpp and gcc
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=
-AutoIncBuildNr=0
-
diff --git a/examples/13.RenderToTexture/RenderToTexture_vc10.vcxproj b/examples/13.RenderToTexture/RenderToTexture_vc10.vcxproj
index e3760545..b41b2772 100644
--- a/examples/13.RenderToTexture/RenderToTexture_vc10.vcxproj
+++ b/examples/13.RenderToTexture/RenderToTexture_vc10.vcxproj
@@ -28,21 +28,25 @@
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
diff --git a/examples/13.RenderToTexture/RenderToTexture_vc11.vcxproj b/examples/13.RenderToTexture/RenderToTexture_vc11.vcxproj
index f80b7c73..b41b2772 100644
--- a/examples/13.RenderToTexture/RenderToTexture_vc11.vcxproj
+++ b/examples/13.RenderToTexture/RenderToTexture_vc11.vcxproj
@@ -28,25 +28,25 @@
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
diff --git a/examples/13.RenderToTexture/RenderToTexture_vc12.vcxproj b/examples/13.RenderToTexture/RenderToTexture_vc12.vcxproj
new file mode 100644
index 00000000..5ede2aee
--- /dev/null
+++ b/examples/13.RenderToTexture/RenderToTexture_vc12.vcxproj
@@ -0,0 +1,235 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 13.RenderToTexture
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}
+ RenderToTexture
+
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Release/RenderToTexture.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\13.RenderToTexture.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release/RenderToTexture.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\13.RenderToTexture.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Debug/RenderToTexture.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\13.RenderToTexture.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/RenderToTexture.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\13.RenderToTexture.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/13.RenderToTexture/RenderToTexture_vc14.vcxproj b/examples/13.RenderToTexture/RenderToTexture_vc14.vcxproj
new file mode 100644
index 00000000..5316976e
--- /dev/null
+++ b/examples/13.RenderToTexture/RenderToTexture_vc14.vcxproj
@@ -0,0 +1,235 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 13.RenderToTexture
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}
+ RenderToTexture
+
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Release/RenderToTexture.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\13.RenderToTexture.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release/RenderToTexture.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\13.RenderToTexture.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Debug/RenderToTexture.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\13.RenderToTexture.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/RenderToTexture.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\13.RenderToTexture.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/13.RenderToTexture/RenderToTexture_vc8.vcproj b/examples/13.RenderToTexture/RenderToTexture_vc8.vcproj
deleted file mode 100644
index dc2840c2..00000000
--- a/examples/13.RenderToTexture/RenderToTexture_vc8.vcproj
+++ /dev/null
@@ -1,231 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/13.RenderToTexture/RenderToTexture_vc9.vcproj b/examples/13.RenderToTexture/RenderToTexture_vc9.vcproj
deleted file mode 100644
index 7ee213bc..00000000
--- a/examples/13.RenderToTexture/RenderToTexture_vc9.vcproj
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/13.RenderToTexture/main.cpp b/examples/13.RenderToTexture/main.cpp
index 35ea0095..1d3166ac 100644
--- a/examples/13.RenderToTexture/main.cpp
+++ b/examples/13.RenderToTexture/main.cpp
@@ -10,6 +10,7 @@ for the rendering driver, create the Irrlicht Device:
#include
#include "driverChoice.h"
+#include "exampleHelper.h"
using namespace irr;
@@ -36,6 +37,8 @@ int main()
video::IVideoDriver* driver = device->getVideoDriver();
scene::ISceneManager* smgr = device->getSceneManager();
gui::IGUIEnvironment* env = device->getGUIEnvironment();
+
+ const io::path mediaPath = getExampleMediaPath();
/*
Now, we load an animated mesh to be displayed. As in most examples,
@@ -48,12 +51,12 @@ int main()
// load and display animated fairy mesh
scene::IAnimatedMeshSceneNode* fairy = smgr->addAnimatedMeshSceneNode(
- smgr->getMesh("../../media/faerie.md2"));
+ smgr->getMesh(mediaPath + "faerie.md2"));
if (fairy)
{
fairy->setMaterialTexture(0,
- driver->getTexture("../../media/faerie2.bmp")); // set diffuse texture
+ driver->getTexture(mediaPath + "faerie2.bmp")); // set diffuse texture
fairy->setMaterialFlag(video::EMF_LIGHTING, true); // enable dynamic lighting
fairy->getMaterial(0).Shininess = 20.0f; // set size of specular highlights
fairy->setPosition(core::vector3df(-10,0,-100));
@@ -109,14 +112,20 @@ int main()
*/
// create render target
- video::ITexture* rt = 0;
+ video::IRenderTarget* renderTarget = 0;
+ video::ITexture* renderTargetTex = 0;
scene::ICameraSceneNode* fixedCam = 0;
if (driver->queryFeature(video::EVDF_RENDER_TO_TARGET))
{
- rt = driver->addRenderTargetTexture(core::dimension2d(256,256), "RTT1");
- test->setMaterialTexture(0, rt); // set material of cube to render target
+ renderTargetTex = driver->addRenderTargetTexture(core::dimension2d(256, 256), "RTT1", video::ECF_A8R8G8B8);
+ video::ITexture* renderTargetDepth = driver->addRenderTargetTexture(core::dimension2d(256, 256), "DepthStencil", video::ECF_D16);
+
+ renderTarget = driver->addRenderTarget();
+ renderTarget->setTexture(renderTargetTex, renderTargetDepth);
+
+ test->setMaterialTexture(0, renderTargetTex); // set material of cube to render target
// add fixed camera
fixedCam = smgr->addCameraSceneNode(0, core::vector3df(10,10,-80),
@@ -126,7 +135,7 @@ int main()
{
// create problem text
gui::IGUISkin* skin = env->getSkin();
- gui::IGUIFont* font = env->getFont("../../media/fonthaettenschweiler.bmp");
+ gui::IGUIFont* font = env->getFont(mediaPath + "fonthaettenschweiler.bmp");
if (font)
skin->setFont(font);
@@ -159,14 +168,14 @@ int main()
while(device->run())
if (device->isWindowActive())
{
- driver->beginScene(true, true, 0);
+ driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(0));
- if (rt)
+ if (renderTarget)
{
// draw scene into render target
// set render target texture
- driver->setRenderTarget(rt, true, true, video::SColor(0,0,0,255));
+ driver->setRenderTarget(renderTarget, video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(0,0,0,255));
// make cube invisible and set fixed camera as active camera
test->setVisible(false);
@@ -177,7 +186,7 @@ int main()
// set back old render target
// The buffer might have been distorted, so clear it
- driver->setRenderTarget(0, true, true, 0);
+ driver->setRenderTarget((video::IRenderTarget*)0, 0, video::SColor(0));
// make the cube visible and set the user controlled camera as active one
test->setVisible(true);
diff --git a/examples/14.Win32Window/Win32Window.dev b/examples/14.Win32Window/Win32Window.dev
deleted file mode 100644
index 61925633..00000000
--- a/examples/14.Win32Window/Win32Window.dev
+++ /dev/null
@@ -1,59 +0,0 @@
-[Project]
-FileName=example.dev
-Name=Irrlicht Example 14 Win32 Window
-UnitCount=1
-Type=1
-Ver=1
-ObjFiles=
-Includes=..\..\include
-Libs=
-PrivateResource=
-ResourceIncludes=
-MakeIncludes=
-Compiler=
-CppCompiler=
-Linker=../../lib/Win32-gcc/libIrrlicht.a_@@_
-IsCpp=1
-Icon=
-ExeOutput=../../bin/Win32-gcc
-ObjectOutput=obj
-OverrideOutput=1
-OverrideOutputName=14.Win32Window.exe
-HostApplication=
-Folders=
-CommandLine=
-IncludeVersionInfo=0
-SupportXPThemes=0
-CompilerSet=0
-CompilerSettings=0000000000000000000000
-UseCustomMakefile=0
-CustomMakefile=
-
-[Unit1]
-FileName=main.cpp
-CompileCpp=1
-Folder=Projekt1
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[VersionInfo]
-Major=0
-Minor=1
-Release=1
-Build=1
-LanguageID=1033
-CharsetID=1252
-CompanyName=
-FileVersion=
-FileDescription=Irrlicht Engine example compiled using DevCpp and gcc
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=
-AutoIncBuildNr=0
-
diff --git a/examples/14.Win32Window/Win32Window_vc10.vcxproj b/examples/14.Win32Window/Win32Window_vc10.vcxproj
index f18c5834..0ea47dbd 100644
--- a/examples/14.Win32Window/Win32Window_vc10.vcxproj
+++ b/examples/14.Win32Window/Win32Window_vc10.vcxproj
@@ -28,21 +28,25 @@
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
diff --git a/examples/14.Win32Window/Win32Window_vc11.vcxproj b/examples/14.Win32Window/Win32Window_vc11.vcxproj
index 07a2fce9..0ea47dbd 100644
--- a/examples/14.Win32Window/Win32Window_vc11.vcxproj
+++ b/examples/14.Win32Window/Win32Window_vc11.vcxproj
@@ -28,25 +28,25 @@
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
diff --git a/examples/14.Win32Window/Win32Window_vc12.vcxproj b/examples/14.Win32Window/Win32Window_vc12.vcxproj
new file mode 100644
index 00000000..814a398d
--- /dev/null
+++ b/examples/14.Win32Window/Win32Window_vc12.vcxproj
@@ -0,0 +1,239 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 14.Win32Window
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}
+ Win32Window
+
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Debug/Win32Window.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ opengl32.lib;%(AdditionalDependencies)
+ ..\..\bin\Win32-VisualStudio\14.Win32Window.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/Win32Window.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ opengl32.lib;%(AdditionalDependencies)
+ ..\..\bin\Win64-VisualStudio\14.Win32Window.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Release/Win32Window.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ opengl32.lib;%(AdditionalDependencies)
+ ..\..\bin\Win32-VisualStudio\14.Win32Window.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release/Win32Window.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ opengl32.lib;%(AdditionalDependencies)
+ ..\..\bin\Win64-VisualStudio\14.Win32Window.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/14.Win32Window/Win32Window_vc14.vcxproj b/examples/14.Win32Window/Win32Window_vc14.vcxproj
new file mode 100644
index 00000000..3142d412
--- /dev/null
+++ b/examples/14.Win32Window/Win32Window_vc14.vcxproj
@@ -0,0 +1,239 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 14.Win32Window
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}
+ Win32Window
+
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Debug/Win32Window.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ opengl32.lib;%(AdditionalDependencies)
+ ..\..\bin\Win32-VisualStudio\14.Win32Window.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/Win32Window.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ opengl32.lib;%(AdditionalDependencies)
+ ..\..\bin\Win64-VisualStudio\14.Win32Window.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Release/Win32Window.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ opengl32.lib;%(AdditionalDependencies)
+ ..\..\bin\Win32-VisualStudio\14.Win32Window.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release/Win32Window.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ opengl32.lib;%(AdditionalDependencies)
+ ..\..\bin\Win64-VisualStudio\14.Win32Window.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/14.Win32Window/Win32Window_vc8.vcproj b/examples/14.Win32Window/Win32Window_vc8.vcproj
deleted file mode 100644
index efbf43d3..00000000
--- a/examples/14.Win32Window/Win32Window_vc8.vcproj
+++ /dev/null
@@ -1,232 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/14.Win32Window/Win32Window_vc9.vcproj b/examples/14.Win32Window/Win32Window_vc9.vcproj
deleted file mode 100644
index 2902fba4..00000000
--- a/examples/14.Win32Window/Win32Window_vc9.vcproj
+++ /dev/null
@@ -1,232 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/14.Win32Window/main.cpp b/examples/14.Win32Window/main.cpp
index 8de3303e..183381b9 100644
--- a/examples/14.Win32Window/main.cpp
+++ b/examples/14.Win32Window/main.cpp
@@ -16,10 +16,13 @@ windows book for details.
#include // this example only runs with windows
#include
#include "driverChoice.h"
+#include "exampleHelper.h"
using namespace irr;
+#ifdef _MSC_VER
#pragma comment(lib, "irrlicht.lib")
+#endif
HWND hOKButton;
HWND hWnd;
@@ -76,7 +79,7 @@ int main()
HINSTANCE hInstance = 0;
// create dialog
- const char* Win32ClassName = "CIrrlichtWindowsTestDialog";
+ const fschar_t* Win32ClassName = __TEXT("CIrrlichtWindowsTestDialog");
WNDCLASSEX wcex;
wcex.cbSize = sizeof(WNDCLASSEX);
@@ -100,7 +103,7 @@ int main()
int windowWidth = 440;
int windowHeight = 380;
- hWnd = CreateWindow( Win32ClassName, "Irrlicht Win32 window example",
+ hWnd = CreateWindow( Win32ClassName, __TEXT("Irrlicht Win32 window example"),
style, 100, 100, windowWidth, windowHeight,
NULL, NULL, hInstance, NULL);
@@ -111,18 +114,18 @@ int main()
// create ok button
- hOKButton = CreateWindow("BUTTON", "OK - Close", WS_CHILD | WS_VISIBLE | BS_TEXT,
+ hOKButton = CreateWindow(__TEXT("BUTTON"), __TEXT("OK - Close"), WS_CHILD | WS_VISIBLE | BS_TEXT,
windowWidth - 160, windowHeight - 40, 150, 30, hWnd, NULL, hInstance, NULL);
// create some text
- CreateWindow("STATIC", "This is Irrlicht running inside a standard Win32 window.\n"\
- "Also mixing with MFC and .NET Windows.Forms is possible.",
+ CreateWindow(__TEXT("STATIC"), __TEXT("This is Irrlicht running inside a standard Win32 window.\n")\
+ __TEXT("Also mixing with MFC and .NET Windows.Forms is possible."),
WS_CHILD | WS_VISIBLE, 20, 20, 400, 40, hWnd, NULL, hInstance, NULL);
// create window to put irrlicht in
- HWND hIrrlichtWindow = CreateWindow("BUTTON", "",
+ HWND hIrrlichtWindow = CreateWindow(__TEXT("BUTTON"), __TEXT(""),
WS_CHILD | WS_VISIBLE | BS_OWNERDRAW,
50, 80, 320, 220, hWnd, NULL, hInstance, NULL);
video::SExposedVideoData videodata((key=='b')?hIrrlichtWindow:0);
@@ -172,18 +175,20 @@ int main()
scene::ISceneNode* cube = smgr->addCubeSceneNode(20);
- cube->setMaterialTexture(0, driver->getTexture("../../media/wall.bmp"));
- cube->setMaterialTexture(1, driver->getTexture("../../media/water.jpg"));
+ const io::path mediaPath = getExampleMediaPath();
+
+ cube->setMaterialTexture(0, driver->getTexture(mediaPath + "wall.bmp"));
+ cube->setMaterialTexture(1, driver->getTexture(mediaPath + "water.jpg"));
cube->setMaterialFlag( video::EMF_LIGHTING, false );
cube->setMaterialType( video::EMT_REFLECTION_2_LAYER );
smgr->addSkyBoxSceneNode(
- driver->getTexture("../../media/irrlicht2_up.jpg"),
- driver->getTexture("../../media/irrlicht2_dn.jpg"),
- driver->getTexture("../../media/irrlicht2_lf.jpg"),
- driver->getTexture("../../media/irrlicht2_rt.jpg"),
- driver->getTexture("../../media/irrlicht2_ft.jpg"),
- driver->getTexture("../../media/irrlicht2_bk.jpg"));
+ driver->getTexture(mediaPath + "irrlicht2_up.jpg"),
+ driver->getTexture(mediaPath + "irrlicht2_dn.jpg"),
+ driver->getTexture(mediaPath + "irrlicht2_lf.jpg"),
+ driver->getTexture(mediaPath + "irrlicht2_rt.jpg"),
+ driver->getTexture(mediaPath + "irrlicht2_ft.jpg"),
+ driver->getTexture(mediaPath + "irrlicht2_bk.jpg"));
// This shows that we can render to multiple windows within one application
device->getGUIEnvironment()->addStaticText(core::stringw("Second screen render").c_str(),core::recti(0,0,200,200));
@@ -209,12 +214,12 @@ int main()
while (device->run())
{
- driver->beginScene(true, true, 0, videodata);
+ driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(0), 1.f, 0, videodata);
smgr->drawAll();
driver->endScene();
if (key=='b')
{
- driver->beginScene(true, true, 0xbbbbbbbb);
+ driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(0xbbbbbbbb));
device->getGUIEnvironment()->drawAll();
driver->endScene();
}
diff --git a/examples/15.LoadIrrFile/LoadIrrFile.dev b/examples/15.LoadIrrFile/LoadIrrFile.dev
deleted file mode 100644
index b43fe688..00000000
--- a/examples/15.LoadIrrFile/LoadIrrFile.dev
+++ /dev/null
@@ -1,59 +0,0 @@
-[Project]
-FileName=example.dev
-Name=Irrlicht Example 15 Load .irr File
-UnitCount=1
-Type=1
-Ver=1
-ObjFiles=
-Includes=..\..\include
-Libs=
-PrivateResource=
-ResourceIncludes=
-MakeIncludes=
-Compiler=
-CppCompiler=
-Linker=../../lib/Win32-gcc/libIrrlicht.a_@@_
-IsCpp=1
-Icon=
-ExeOutput=../../bin/Win32-gcc
-ObjectOutput=obj
-OverrideOutput=1
-OverrideOutputName=15.LoadIrrFile.exe
-HostApplication=
-Folders=
-CommandLine=
-IncludeVersionInfo=0
-SupportXPThemes=0
-CompilerSet=0
-CompilerSettings=0000000000000000000000
-UseCustomMakefile=0
-CustomMakefile=
-
-[Unit1]
-FileName=main.cpp
-CompileCpp=1
-Folder=Projekt1
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[VersionInfo]
-Major=0
-Minor=1
-Release=1
-Build=1
-LanguageID=1033
-CharsetID=1252
-CompanyName=
-FileVersion=
-FileDescription=Irrlicht Engine example compiled using DevCpp and gcc
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=
-AutoIncBuildNr=0
-
diff --git a/examples/15.LoadIrrFile/LoadIrrFile_vc10.vcxproj b/examples/15.LoadIrrFile/LoadIrrFile_vc10.vcxproj
index ffc91ed0..db6dec20 100644
--- a/examples/15.LoadIrrFile/LoadIrrFile_vc10.vcxproj
+++ b/examples/15.LoadIrrFile/LoadIrrFile_vc10.vcxproj
@@ -28,21 +28,25 @@
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
diff --git a/examples/15.LoadIrrFile/LoadIrrFile_vc11.vcxproj b/examples/15.LoadIrrFile/LoadIrrFile_vc11.vcxproj
index 42306968..db6dec20 100644
--- a/examples/15.LoadIrrFile/LoadIrrFile_vc11.vcxproj
+++ b/examples/15.LoadIrrFile/LoadIrrFile_vc11.vcxproj
@@ -28,25 +28,25 @@
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
diff --git a/examples/15.LoadIrrFile/LoadIrrFile_vc12.vcxproj b/examples/15.LoadIrrFile/LoadIrrFile_vc12.vcxproj
new file mode 100644
index 00000000..97b4c717
--- /dev/null
+++ b/examples/15.LoadIrrFile/LoadIrrFile_vc12.vcxproj
@@ -0,0 +1,235 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 15.LoadIrrFile
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}
+ LoadIrrFile
+
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Debug/LoadIrrFile.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\15.LoadIrrFile.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/LoadIrrFile.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\15.LoadIrrFile.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Release/LoadIrrFile.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\15.LoadIrrFile.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release/LoadIrrFile.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\15.LoadIrrFile.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/15.LoadIrrFile/LoadIrrFile_vc14.vcxproj b/examples/15.LoadIrrFile/LoadIrrFile_vc14.vcxproj
new file mode 100644
index 00000000..0811f131
--- /dev/null
+++ b/examples/15.LoadIrrFile/LoadIrrFile_vc14.vcxproj
@@ -0,0 +1,235 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 15.LoadIrrFile
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}
+ LoadIrrFile
+
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Debug/LoadIrrFile.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\15.LoadIrrFile.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/LoadIrrFile.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\15.LoadIrrFile.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Release/LoadIrrFile.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\15.LoadIrrFile.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release/LoadIrrFile.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\15.LoadIrrFile.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/15.LoadIrrFile/LoadIrrFile_vc8.vcproj b/examples/15.LoadIrrFile/LoadIrrFile_vc8.vcproj
deleted file mode 100644
index d78a2633..00000000
--- a/examples/15.LoadIrrFile/LoadIrrFile_vc8.vcproj
+++ /dev/null
@@ -1,231 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/15.LoadIrrFile/LoadIrrFile_vc9.vcproj b/examples/15.LoadIrrFile/LoadIrrFile_vc9.vcproj
deleted file mode 100644
index a7bea1b6..00000000
--- a/examples/15.LoadIrrFile/LoadIrrFile_vc9.vcproj
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/15.LoadIrrFile/main.cpp b/examples/15.LoadIrrFile/main.cpp
index 42327cd9..d28e6f67 100644
--- a/examples/15.LoadIrrFile/main.cpp
+++ b/examples/15.LoadIrrFile/main.cpp
@@ -12,6 +12,7 @@ Lets start: Create an Irrlicht device and setup the window.
#include
#include "driverChoice.h"
+#include "exampleHelper.h"
using namespace irr;
@@ -51,10 +52,17 @@ int main(int argc, char** argv)
*/
// load the scene
+ /* You might have to work around some minor problems in current .irr loader:
+ - It can't load meshes relative to the .irr file, but only relative to the working directory.
+ So you might have to change your working directory to the path where the .irr file is in.
+ - When passing a custom parent node to loadScene then irr_scene attributes will be passed to that.
+ Usually not a problem, but for example AmbientLight will not change that way unless you create a custom
+ SceneNode type which can interpret those attributes.
+ */
if (argc>1)
smgr->loadScene(argv[1]);
else
- smgr->loadScene("../../media/example.irr");
+ smgr->loadScene(getExampleMediaPath() + "example.irr");
/*
Now we'll create a camera, and give it a collision response animator
@@ -145,7 +153,7 @@ int main(int argc, char** argv)
while(device->run())
if (device->isWindowActive())
{
- driver->beginScene(true, true, video::SColor(0,200,200,200));
+ driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(0,200,200,200));
smgr->drawAll();
driver->endScene();
diff --git a/examples/16.Quake3MapShader/Quake3MapShader.dev b/examples/16.Quake3MapShader/Quake3MapShader.dev
deleted file mode 100644
index 14ebb420..00000000
--- a/examples/16.Quake3MapShader/Quake3MapShader.dev
+++ /dev/null
@@ -1,59 +0,0 @@
-[Project]
-FileName=example.dev
-Name=Irrlicht Example 16 Quake3 Map Shader
-UnitCount=1
-Type=1
-Ver=1
-ObjFiles=
-Includes=..\..\include
-Libs=
-PrivateResource=
-ResourceIncludes=
-MakeIncludes=
-Compiler=
-CppCompiler=
-Linker=../../lib/Win32-gcc/libIrrlicht.a_@@_
-IsCpp=1
-Icon=
-ExeOutput=../../bin/Win32-gcc
-ObjectOutput=obj
-OverrideOutput=1
-OverrideOutputName=16.Quake3MapShader.exe
-HostApplication=
-Folders=
-CommandLine=
-IncludeVersionInfo=0
-SupportXPThemes=0
-CompilerSet=0
-CompilerSettings=0000000000000000000000
-UseCustomMakefile=0
-CustomMakefile=
-
-[Unit1]
-FileName=main.cpp
-CompileCpp=1
-Folder=Projekt1
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[VersionInfo]
-Major=0
-Minor=1
-Release=1
-Build=1
-LanguageID=1033
-CharsetID=1252
-CompanyName=
-FileVersion=
-FileDescription=Irrlicht Engine example compiled using DevCpp and gcc
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=
-AutoIncBuildNr=0
-
diff --git a/examples/16.Quake3MapShader/Quake3MapShader_vc10.vcxproj b/examples/16.Quake3MapShader/Quake3MapShader_vc10.vcxproj
index ea09774a..b5564f80 100644
--- a/examples/16.Quake3MapShader/Quake3MapShader_vc10.vcxproj
+++ b/examples/16.Quake3MapShader/Quake3MapShader_vc10.vcxproj
@@ -28,18 +28,22 @@
Application
MultiByte
+ Windows7.1SDK
Application
MultiByte
+ Windows7.1SDK
Application
MultiByte
+ Windows7.1SDK
Application
MultiByte
+ Windows7.1SDK
diff --git a/examples/16.Quake3MapShader/Quake3MapShader_vc11.vcxproj b/examples/16.Quake3MapShader/Quake3MapShader_vc11.vcxproj
index 1bd3735e..b5564f80 100644
--- a/examples/16.Quake3MapShader/Quake3MapShader_vc11.vcxproj
+++ b/examples/16.Quake3MapShader/Quake3MapShader_vc11.vcxproj
@@ -28,22 +28,22 @@
Application
MultiByte
- v110
+ Windows7.1SDK
Application
MultiByte
- v110
+ Windows7.1SDK
Application
MultiByte
- v110
+ Windows7.1SDK
Application
MultiByte
- v110
+ Windows7.1SDK
diff --git a/examples/16.Quake3MapShader/Quake3MapShader_vc12.vcxproj b/examples/16.Quake3MapShader/Quake3MapShader_vc12.vcxproj
new file mode 100644
index 00000000..e41579e1
--- /dev/null
+++ b/examples/16.Quake3MapShader/Quake3MapShader_vc12.vcxproj
@@ -0,0 +1,194 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 16.Quake3MapShader
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}
+ 16.Quake3MapShader
+ Win32Proj
+
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+ true
+ true
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+ Cdecl
+
+
+ ..\..\bin\Win32-VisualStudio\16.Quake3MapShader.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+ Cdecl
+
+
+ ..\..\bin\Win64-VisualStudio\16.Quake3MapShader.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ true
+ Speed
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ MultiThreaded
+ false
+
+
+ Level3
+
+
+ Cdecl
+
+
+ ..\..\bin\Win32-VisualStudio\16.Quake3MapShader.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+
+
+
+
+
+
+ true
+ Speed
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ MultiThreaded
+ false
+
+
+ Level3
+
+
+ Cdecl
+
+
+ ..\..\bin\Win64-VisualStudio\16.Quake3MapShader.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/16.Quake3MapShader/Quake3MapShader_vc14.vcxproj b/examples/16.Quake3MapShader/Quake3MapShader_vc14.vcxproj
new file mode 100644
index 00000000..9c850a13
--- /dev/null
+++ b/examples/16.Quake3MapShader/Quake3MapShader_vc14.vcxproj
@@ -0,0 +1,194 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 16.Quake3MapShader
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}
+ 16.Quake3MapShader
+ Win32Proj
+
+
+
+ Application
+ MultiByte
+ v140
+
+
+ Application
+ MultiByte
+ v140
+
+
+ Application
+ MultiByte
+ v140
+
+
+ Application
+ MultiByte
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+ true
+ true
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+ Cdecl
+
+
+ ..\..\bin\Win32-VisualStudio\16.Quake3MapShader.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+ Cdecl
+
+
+ ..\..\bin\Win64-VisualStudio\16.Quake3MapShader.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ true
+ Speed
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ MultiThreaded
+ false
+
+
+ Level3
+
+
+ Cdecl
+
+
+ ..\..\bin\Win32-VisualStudio\16.Quake3MapShader.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+
+
+
+
+
+
+ true
+ Speed
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ MultiThreaded
+ false
+
+
+ Level3
+
+
+ Cdecl
+
+
+ ..\..\bin\Win64-VisualStudio\16.Quake3MapShader.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/16.Quake3MapShader/Quake3MapShader_vc8.vcproj b/examples/16.Quake3MapShader/Quake3MapShader_vc8.vcproj
deleted file mode 100644
index 65fc83c2..00000000
--- a/examples/16.Quake3MapShader/Quake3MapShader_vc8.vcproj
+++ /dev/null
@@ -1,190 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/16.Quake3MapShader/Quake3MapShader_vc9.vcproj b/examples/16.Quake3MapShader/Quake3MapShader_vc9.vcproj
deleted file mode 100644
index a533ce0d..00000000
--- a/examples/16.Quake3MapShader/Quake3MapShader_vc9.vcproj
+++ /dev/null
@@ -1,188 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/16.Quake3MapShader/main.cpp b/examples/16.Quake3MapShader/main.cpp
index 63917053..4a91b4e3 100644
--- a/examples/16.Quake3MapShader/main.cpp
+++ b/examples/16.Quake3MapShader/main.cpp
@@ -10,6 +10,7 @@ to ask the user for a driver type using the console.
*/
#include
#include "driverChoice.h"
+#include "exampleHelper.h"
/*
define which Quake3 Level should be loaded
@@ -32,7 +33,7 @@ to ask the user for a driver type using the console.
#ifdef IRRLICHT_QUAKE3_ARENA
#define QUAKE3_STORAGE_FORMAT addFileArchive
- #define QUAKE3_STORAGE_1 "../../media/map-20kdm2.pk3"
+ #define QUAKE3_STORAGE_1 getExampleMediaPath() + "map-20kdm2.pk3"
#define QUAKE3_MAP_NAME "maps/20kdm2.bsp"
#endif
@@ -75,7 +76,7 @@ public:
if (image)
{
c8 buf[256];
- snprintf(buf, 256, "%s_shot%04d.jpg",
+ snprintf_irr(buf, 256, "%s_shot%04d.jpg",
FilenameTemplate.c_str(),
++Number);
Device->getVideoDriver()->writeImageToFile(image, buf, 85 );
@@ -144,8 +145,10 @@ int IRRCALLCONV main(int argc, char* argv[])
scene::ISceneManager* smgr = device->getSceneManager();
gui::IGUIEnvironment* gui = device->getGUIEnvironment();
+ const io::path mediaPath = getExampleMediaPath();
+
//! add our private media directory to the file system
- device->getFileSystem()->addFileArchive("../../media/");
+ device->getFileSystem()->addFileArchive(mediaPath);
/*
To display the Quake 3 map, we first need to load it. Quake 3 maps
@@ -211,7 +214,7 @@ int IRRCALLCONV main(int argc, char* argv[])
const scene::IMesh * const additional_mesh = mesh->getMesh(quake3::E_Q3_MESH_ITEMS);
#ifdef SHOW_SHADER_NAME
- gui::IGUIFont *font = device->getGUIEnvironment()->getFont("../../media/fontlucida.png");
+ gui::IGUIFont *font = device->getGUIEnvironment()->getFont(mediaPath + "fontlucida.png");
u32 count = 0;
#endif
@@ -329,7 +332,6 @@ int IRRCALLCONV main(int argc, char* argv[])
case video::EDT_OPENGL:
gui->addImage(driver->getTexture("opengllogo.png"), pos);
break;
- case video::EDT_DIRECT3D8:
case video::EDT_DIRECT3D9:
gui->addImage(driver->getTexture("directxlogo.png"), pos);
break;
@@ -347,7 +349,7 @@ int IRRCALLCONV main(int argc, char* argv[])
while(device->run())
if (device->isWindowActive())
{
- driver->beginScene(true, true, video::SColor(255,20,20,40));
+ driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(255,20,20,40));
smgr->drawAll();
gui->drawAll();
driver->endScene();
diff --git a/examples/17.HelloWorld_Mobile/17. HelloWorld for Windows Mobile on PC_vc10.vcxproj b/examples/17.HelloWorld_Mobile/17. HelloWorld for Windows Mobile on PC_vc10.vcxproj
index e46cb0c9..0f047407 100644
--- a/examples/17.HelloWorld_Mobile/17. HelloWorld for Windows Mobile on PC_vc10.vcxproj
+++ b/examples/17.HelloWorld_Mobile/17. HelloWorld for Windows Mobile on PC_vc10.vcxproj
@@ -29,19 +29,23 @@
Application
Unicode
true
+ Windows7.1SDK
Application
Unicode
true
+ Windows7.1SDK
Application
Unicode
+ Windows7.1SDK
Application
Unicode
+ Windows7.1SDK
diff --git a/examples/17.HelloWorld_Mobile/17. HelloWorld for Windows Mobile on PC_vc11.vcxproj b/examples/17.HelloWorld_Mobile/17. HelloWorld for Windows Mobile on PC_vc11.vcxproj
index 27b8ed41..0f047407 100644
--- a/examples/17.HelloWorld_Mobile/17. HelloWorld for Windows Mobile on PC_vc11.vcxproj
+++ b/examples/17.HelloWorld_Mobile/17. HelloWorld for Windows Mobile on PC_vc11.vcxproj
@@ -29,23 +29,23 @@
Application
Unicode
true
- v110
+ Windows7.1SDK
Application
Unicode
true
- v110
+ Windows7.1SDK
Application
Unicode
- v110
+ Windows7.1SDK
Application
Unicode
- v110
+ Windows7.1SDK
diff --git a/examples/17.HelloWorld_Mobile/17. HelloWorld for Windows Mobile on PC_vc12.vcxproj b/examples/17.HelloWorld_Mobile/17. HelloWorld for Windows Mobile on PC_vc12.vcxproj
new file mode 100644
index 00000000..30079f8b
--- /dev/null
+++ b/examples/17.HelloWorld_Mobile/17. HelloWorld for Windows Mobile on PC_vc12.vcxproj
@@ -0,0 +1,180 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 17.HelloWorld_Mobile
+ {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}
+ My17HelloWorldforWindowsMobileonPC
+ Win32Proj
+
+
+
+ Application
+ Unicode
+ true
+ Windows7.1SDK
+
+
+ Application
+ Unicode
+ true
+ Windows7.1SDK
+
+
+ Application
+ Unicode
+ Windows7.1SDK
+
+
+ Application
+ Unicode
+ Windows7.1SDK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+ true
+ true
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+ false
+ false
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ EnableFastChecks
+ MultiThreadedDebugDLL
+
+
+ Level3
+ EditAndContinue
+
+
+ ..\..\bin\Win32-VisualStudio\17.HelloWorld_Mobile.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebugDLL
+
+
+ Level3
+ ProgramDatabase
+
+
+ ..\..\bin\Win64-VisualStudio\17.HelloWorld_Mobile.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ MultiThreadedDLL
+
+
+ Level3
+ ProgramDatabase
+
+
+ ..\..\bin\Win32-VisualStudio\17.HelloWorld_Mobile.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+
+
+
+
+
+
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ MultiThreadedDLL
+
+
+ Level3
+ ProgramDatabase
+
+
+ ..\..\bin\Win64-VisualStudio\17.HelloWorld_Mobile.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/17.HelloWorld_Mobile/main.cpp b/examples/17.HelloWorld_Mobile/main.cpp
index 24a82ca5..9db5806f 100644
--- a/examples/17.HelloWorld_Mobile/main.cpp
+++ b/examples/17.HelloWorld_Mobile/main.cpp
@@ -1,17 +1,15 @@
-/** Example 017 Helloworld mobile
- This example show Hello World for Windows mobile.
- It compiles on other platform too. The only differences between the original
- examples are. You need a GUI, because otherwise you can't quit the application.
- You need a Filesystem, which is relative based to your executable.
+/** Deprecated. This was Example 017 Helloworld mobile for WinCE 6.
+ But WinCE6 support has been removed for Irrlicht 1.9.
+ If you still need that please use Irrlicht 1.8 or svn revision 5045 which was the last one to include it.
+
+ Sources still kept for now as it compiles on other platform too. And we might use this example again
+ once we support Windows RT.
*/
#include
-#ifdef _IRR_WINDOWS_
+#if defined ( _IRR_WINDOWS_ )
#include
-#elif defined(_IRR_IPHONE_PLATFORM_)
- #import
- #import
#endif
using namespace irr;
@@ -23,20 +21,6 @@ using namespace gui;
#pragma comment(lib, "Irrlicht.lib")
-
-#ifdef _IRR_IPHONE_PLATFORM_
-@interface AppDelegate : UIResponder
-{
- UIWindow* window;
- IrrlichtDevice* device;
-}
-
-@property (strong, nonatomic) UIWindow *window;
-
-@end
-#endif
-
-#if !defined(_IRR_IPHONE_PLATFORM_)
class EventReceiver_basic : public IEventReceiver
{
private:
@@ -65,6 +49,170 @@ public:
}
};
+class CSampleSceneNode : public ISceneNode
+{
+ aabbox3d Box;
+ S3DVertex Vertices[4];
+ SMaterial Material;
+public:
+
+ CSampleSceneNode(ISceneNode* parent, ISceneManager* mgr, s32 id)
+ : ISceneNode(parent, mgr, id)
+ {
+ Material.Wireframe = false;
+ Material.Lighting = false;
+
+ Vertices[0] = S3DVertex(0,0,10, 1,1,0, SColor(255,0,255,255), 0, 1);
+ Vertices[1] = S3DVertex(10,0,-10, 1,0,0, SColor(255,255,0,255), 1, 1);
+ Vertices[2] = S3DVertex(0,20,0, 0,1,1, SColor(255,255,255,0), 1, 0);
+ Vertices[3] = S3DVertex(-10,0,-10, 0,0,1, SColor(255,0,255,0), 0, 0);
+ Box.reset(Vertices[0].Pos);
+ for (s32 i=1; i<4; ++i)
+ Box.addInternalPoint(Vertices[i].Pos);
+ }
+ virtual void OnRegisterSceneNode()
+ {
+ if (IsVisible)
+ SceneManager->registerNodeForRendering(this);
+
+ ISceneNode::OnRegisterSceneNode();
+ }
+
+ virtual void render()
+ {
+ u16 indices[] = { 0,2,3, 2,1,3, 1,0,3, 2,0,1 };
+ IVideoDriver* driver = SceneManager->getVideoDriver();
+
+ driver->setMaterial(Material);
+ driver->setTransform(ETS_WORLD, AbsoluteTransformation);
+ driver->drawIndexedTriangleList(&Vertices[0], 4, &indices[0], 4);
+ }
+
+ virtual const aabbox3d& getBoundingBox() const
+ {
+ return Box;
+ }
+
+ virtual u32 getMaterialCount()
+ {
+ return 1;
+ }
+
+ virtual SMaterial& getMaterial(u32 i)
+ {
+ return Material;
+ }
+};
+
+/*!
+ Startup a Windows Mobile Device
+*/
+IrrlichtDevice *startup()
+{
+ // both software and burnings video can be used
+ E_DRIVER_TYPE driverType = EDT_SOFTWARE; // EDT_BURNINGSVIDEO;
+
+ // create device
+ IrrlichtDevice *device = 0;
+
+ // Use window mode on PC
+ device = createDevice(driverType, dimension2d(240, 320), 16, false );
+ if ( 0 == device )
+ return 0;
+
+ IVideoDriver* driver = device->getVideoDriver();
+ ISceneManager* smgr = device->getSceneManager();
+ IGUIEnvironment* guienv = device->getGUIEnvironment();
+
+ // set the filesystem relative to the executable
+#if defined (_IRR_WINDOWS_)
+ {
+ wchar_t buf[255];
+ GetModuleFileNameW ( 0, buf, 255 );
+
+ io::path base = buf;
+ base = base.subString ( 0, base.findLast ( '\\' ) + 1 );
+ device->getFileSystem()->addFileArchive ( base );
+ }
+#endif
+
+ IGUIStaticText *text = guienv->addStaticText(L"FPS: 25",
+ rect(140,15,200,30), false, false, 0, 100 );
+
+ guienv->addButton(core::rect(200,10,238,30), 0, 2, L"Quit");
+
+ // add irrlicht logo
+ guienv->addImage(driver->getTexture("../../media/irrlichtlogo3.png"),
+ core::position2d(0,-2));
+ return device;
+}
+
+/*!
+*/
+int run ( IrrlichtDevice *device )
+{
+ while(device->run())
+ if (device->isWindowActive())
+ {
+ device->getVideoDriver()->beginScene(true, true, SColor(0,100,100,100));
+ device->getSceneManager()->drawAll();
+ device->getGUIEnvironment()->drawAll();
+ device->getVideoDriver()->endScene ();
+
+ IGUIElement *stat = device->getGUIEnvironment()->
+ getRootGUIElement()->getElementFromId ( 100 );
+ if ( stat )
+ {
+ stringw str = L"FPS: ";
+ str += (s32)device->getVideoDriver()->getFPS();
+
+ stat->setText ( str.c_str() );
+ }
+ }
+
+ device->drop();
+ return 0;
+}
+
+/*!
+*/
+int example_customscenenode()
+{
+ // create device
+ IrrlichtDevice *device = startup();
+ if (device == 0)
+ return 1; // could not create selected driver.
+
+ // create engine and camera
+ EventReceiver_basic receiver(device);
+ device->setEventReceiver(&receiver);
+
+ IVideoDriver* driver = device->getVideoDriver();
+ ISceneManager* smgr = device->getSceneManager();
+ IGUIEnvironment* guienv = device->getGUIEnvironment();
+
+
+ smgr->addCameraSceneNode(0, vector3df(0,-40,0), vector3df(0,0,0));
+
+ CSampleSceneNode *myNode =
+ new CSampleSceneNode(smgr->getRootSceneNode(), smgr, 666);
+
+ ISceneNodeAnimator* anim =
+ smgr->createRotationAnimator(vector3df(0.8f, 0, 0.8f));
+
+ if(anim)
+ {
+ myNode->addAnimator(anim);
+ anim->drop();
+ anim = 0; // As I shouldn't refer to it again, ensure that I can't
+ }
+
+ myNode->drop();
+ myNode = 0; // As I shouldn't refer to it again, ensure that I can't
+
+ return run ( device );
+}
+
class EventReceiver_terrain : public IEventReceiver
{
public:
@@ -134,208 +282,11 @@ private:
bool showBox;
};
-class CSampleSceneNode : public ISceneNode
-{
- aabbox3d Box;
- S3DVertex Vertices[4];
- SMaterial Material;
-public:
- CSampleSceneNode(ISceneNode* parent, ISceneManager* mgr, s32 id)
- : ISceneNode(parent, mgr, id)
- {
- Material.Wireframe = false;
- Material.Lighting = false;
-
- Vertices[0] = S3DVertex(0,0,10, 1,1,0, SColor(255,0,255,255), 0, 1);
- Vertices[1] = S3DVertex(10,0,-10, 1,0,0, SColor(255,255,0,255), 1, 1);
- Vertices[2] = S3DVertex(0,20,0, 0,1,1, SColor(255,255,255,0), 1, 0);
- Vertices[3] = S3DVertex(-10,0,-10, 0,0,1, SColor(255,0,255,0), 0, 0);
- Box.reset(Vertices[0].Pos);
- for (s32 i=1; i<4; ++i)
- Box.addInternalPoint(Vertices[i].Pos);
- }
- virtual void OnRegisterSceneNode()
- {
- if (IsVisible)
- SceneManager->registerNodeForRendering(this);
-
- ISceneNode::OnRegisterSceneNode();
- }
-
- virtual void render()
- {
- u16 indices[] = { 0,2,3, 2,1,3, 1,0,3, 2,0,1 };
- IVideoDriver* driver = SceneManager->getVideoDriver();
-
- driver->setMaterial(Material);
- driver->setTransform(ETS_WORLD, AbsoluteTransformation);
- driver->drawIndexedTriangleList(&Vertices[0], 4, &indices[0], 4);
- }
-
- virtual const aabbox3d& getBoundingBox() const
- {
- return Box;
- }
-
- virtual u32 getMaterialCount()
- {
- return 1;
- }
-
- virtual SMaterial& getMaterial(u32 i)
- {
- return Material;
- }
-};
-#endif
-
-IrrlichtDevice *startup()
-{
- // create device
- IrrlichtDevice *device = 0;
-
-#ifdef _IRR_IPHONE_PLATFORM_
- AppDelegate* delegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
-
- SIrrlichtCreationParameters param;
- param.DriverType = EDT_OGLES2;
- param.WindowSize = dimension2d(0,0);
- param.WindowId = delegate.window;
- param.Bits = 24;
- param.ZBufferBits = 16;
- param.AntiAlias = 0;
-
- device = createDeviceEx(param);
-#elif defined(_IRR_USE_WINDOWS_CE_DEVICE_)
- // set to standard mobile fullscreen 240x320
- device = createDevice(EDT_OPENGL, dimension2d(240, 320), 16, true);
-#else
- // on PC. use window mode
- device = createDevice(EDT_OPENGL, dimension2d(240, 320), 16, false);
-#endif
- if (!device)
- return 0;
-
- IVideoDriver* driver = device->getVideoDriver();
- ISceneManager* smgr = device->getSceneManager();
- IGUIEnvironment* guienv = device->getGUIEnvironment();
-
-#if defined(_IRR_IPHONE_PLATFORM_)
- stringc mediaPath = "media/";
-#else
- stringc mediaPath = "../../media/";
-#endif
-
- // set the filesystem relative to the executable
-#if defined (_IRR_WINDOWS_)
- {
- wchar_t buf[255];
- GetModuleFileNameW ( 0, buf, 255 );
-
- io::path base = buf;
- base = base.subString ( 0, base.findLast ( '\\' ) + 1 );
- device->getFileSystem()->addFileArchive ( base );
- }
-#endif
-
- IGUIStaticText *text = guienv->addStaticText(L"FPS: 25",
- rect(140,15,200,30), false, false, 0, 100 );
-
-
-#if !defined(_IRR_IPHONE_PLATFORM_)
- // programmable quit button isn't allowed on iOS.
- guienv->addButton(core::rect(200,10,238,30), 0, 2, L"Quit");
-#endif
-
- // add irrlicht logo
- guienv->addImage(driver->getTexture(mediaPath + "irrlichtlogo3.png"),
- core::position2d(0,-2));
- return device;
-}
-
-/*!
+/*
+The start of the main function starts like in most other example. We ask the user
+for the desired renderer and start it up. This time with the advanced parameter handling.
*/
-int run ( IrrlichtDevice *device )
-{
-#ifdef _IRR_IPHONE_PLATFORM_
- while (device)
- {
- NSAutoreleasePool* tPool = [[NSAutoreleasePool alloc] init];
- while(CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0.002f, TRUE) == kCFRunLoopRunHandledSource);
- [tPool release];
-
- if(device->run())
-#else
- while(device->run())
- if (device->isWindowActive())
-#endif
- {
- device->getVideoDriver()->beginScene(true, true, SColor(0,100,100,100));
- device->getSceneManager()->drawAll();
- device->getGUIEnvironment()->drawAll();
- device->getVideoDriver()->endScene ();
-
- IGUIElement *stat = device->getGUIEnvironment()->
- getRootGUIElement()->getElementFromId ( 100 );
- if ( stat )
- {
- stringw str = L"FPS: ";
- str += (s32)device->getVideoDriver()->getFPS();
-
- stat->setText ( str.c_str() );
- }
- }
-
-#ifndef _IRR_IPHONE_PLATFORM_
- device->drop();
-#else
- else
- break;
- }
-#endif
-
- return 1;
-}
-
-#if !defined(_IRR_IPHONE_PLATFORM_)
-int example_customscenenode()
-{
- // create device
- IrrlichtDevice *device = startup();
- if (device == 0)
- return 1; // could not create selected driver.
-
- // create engine and camera
- EventReceiver_basic receiver(device);
- device->setEventReceiver(&receiver);
-
- IVideoDriver* driver = device->getVideoDriver();
- ISceneManager* smgr = device->getSceneManager();
- IGUIEnvironment* guienv = device->getGUIEnvironment();
-
-
- smgr->addCameraSceneNode(0, vector3df(0,-40,0), vector3df(0,0,0));
-
- CSampleSceneNode *myNode =
- new CSampleSceneNode(smgr->getRootSceneNode(), smgr, 666);
-
- ISceneNodeAnimator* anim =
- smgr->createRotationAnimator(vector3df(0.8f, 0, 0.8f));
-
- if(anim)
- {
- myNode->addAnimator(anim);
- anim->drop();
- anim = 0; // As I shouldn't refer to it again, ensure that I can't
- }
-
- myNode->drop();
- myNode = 0; // As I shouldn't refer to it again, ensure that I can't
-
- return run ( device );
-}
-
int example_terrain()
{
// create device
@@ -478,46 +429,26 @@ int example_terrain()
return run ( device );
}
-#endif
-#ifdef _IRR_IPHONE_PLATFORM_
-IrrlichtDevice* example_helloworld()
-#else
+/*
+*/
int example_helloworld()
-#endif
{
// create device
IrrlichtDevice *device = startup();
-
if (device == 0)
-#ifdef _IRR_IPHONE_PLATFORM_
- return 0;
-#else
- return 1;
-#endif
+ return 1; // could not create selected driver.
IVideoDriver* driver = device->getVideoDriver();
ISceneManager* smgr = device->getSceneManager();
IGUIEnvironment* guienv = device->getGUIEnvironment();
-#if defined(_IRR_IPHONE_PLATFORM_)
- stringc mediaPath = "media/";
-#else
- stringc mediaPath = "../../media/";
-#endif
-
- IAnimatedMesh* mesh = smgr->getMesh(mediaPath + "sydney.md2");
-
+ IAnimatedMesh* mesh = smgr->getMesh("../../media/sydney.md2");
if (!mesh)
{
device->drop();
-#ifdef _IRR_IPHONE_PLATFORM_
- return 0;
-#else
- return 1;
-#endif
+ return 1;
}
-
IAnimatedMeshSceneNode* node = smgr->addAnimatedMeshSceneNode( mesh );
/*
@@ -532,7 +463,7 @@ int example_helloworld()
{
node->setMaterialFlag(EMF_LIGHTING, false);
node->setMD2Animation(scene::EMAT_STAND);
- node->setMaterialTexture( 0, driver->getTexture(mediaPath + "sydney.bmp") );
+ node->setMaterialTexture( 0, driver->getTexture("../../media/sydney.bmp") );
}
/*
@@ -542,98 +473,25 @@ int example_helloworld()
*/
smgr->addCameraSceneNode(0, vector3df(0,30,-40), vector3df(0,5,0));
-#ifdef _IRR_IPHONE_PLATFORM_
- return device;
-#else
EventReceiver_basic receiver(device);
device->setEventReceiver(&receiver);
return run ( device );
-#endif
+
}
-#if defined (_IRR_USE_WINDOWS_CE_DEVICE_)
- #pragma comment(linker, "/subsystem:WINDOWSCE /ENTRY:main")
-#elif defined (_IRR_WINDOWS_)
+#if defined (_IRR_WINDOWS_)
#pragma comment(linker, "/subsystem:windows /ENTRY:mainCRTStartup")
#endif
/*
*/
-#ifdef _IRR_IPHONE_PLATFORM_
-@implementation AppDelegate
-
-@synthesize window;
-
-- (void)applicationDidFinishLaunching:(UIApplication*)application
+int main()
{
- // if you need ViewController or you don't want to see warning:
- // "Application windows are expected to have a root view controller
- // at the end of application launch" create custom UIWindow here
- // and apply your ViewController to it in following way:
- // window.rootViewController = YourViewController
- // it's important to do this step before createDevice method.
- device = example_helloworld();
-
- [self performSelectorOnMainThread:@selector(applicationUpdate) withObject:nil waitUntilDone:NO];
-}
-
-- (void) applicationUpdate
-{
- run(device);
-}
-
-- (void)applicationDidEnterBackground:(UIApplication *)application
-{
- // you should pause rendering here, because some iOS versions,
- // doesn't allow to send OpenGL rendering commands, when app
- // is inactive.
-}
-
-- (void)applicationWillEnterForeground:(UIApplication *)application
-{
- // you should unpause rendering here.
-}
-
-- (void)applicationWillResignActive:(UIApplication *)application
-{
- // you should pause rendering here, because some iOS versions,
- // doesn't allow to send OpenGL rendering commands, when app
- // is inactive.
-}
-
-- (void)applicationDidBecomeActive:(UIApplication *)application
-{
- // you should unpause rendering here.
-}
-
-- (void)applicationWillTerminate:(UIApplication *)application
-{
- device->drop();
-}
-
-- (void)dealloc
-{
- [window release];
- [super dealloc];
-}
-
-@end
-#endif
-
-int main(int argc, char *argv[])
-{
-#ifdef _IRR_IPHONE_PLATFORM_
- NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
- int retVal = UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
- [pool release];
-
- return retVal;
-#else
- example_helloworld();
+ example_helloworld ();
example_customscenenode();
//example_terrain();
-
- return 0;
-#endif
}
+
+/*
+**/
diff --git a/examples/18.SplitScreen/SplitScreen.dev b/examples/18.SplitScreen/SplitScreen.dev
deleted file mode 100644
index cd843c63..00000000
--- a/examples/18.SplitScreen/SplitScreen.dev
+++ /dev/null
@@ -1,59 +0,0 @@
-[Project]
-FileName=example.dev
-Name=Irrlicht Example 18 SplitScreen
-UnitCount=1
-Type=1
-Ver=1
-ObjFiles=
-Includes=..\..\include
-Libs=
-PrivateResource=
-ResourceIncludes=
-MakeIncludes=
-Compiler=
-CppCompiler=
-Linker=../../lib/Win32-gcc/libIrrlicht.a_@@_
-IsCpp=1
-Icon=
-ExeOutput=../../bin/Win32-gcc
-ObjectOutput=obj
-OverrideOutput=1
-OverrideOutputName=18.SplitScreen.exe
-HostApplication=
-Folders=
-CommandLine=
-IncludeVersionInfo=0
-SupportXPThemes=0
-CompilerSet=0
-CompilerSettings=0000000000000000000000
-UseCustomMakefile=0
-CustomMakefile=
-
-[Unit1]
-FileName=main.cpp
-CompileCpp=1
-Folder=Projekt1
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[VersionInfo]
-Major=0
-Minor=1
-Release=1
-Build=1
-LanguageID=1033
-CharsetID=1252
-CompanyName=
-FileVersion=
-FileDescription=Irrlicht Engine example compiled using DevCpp and gcc
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=
-AutoIncBuildNr=0
-
diff --git a/examples/18.SplitScreen/SplitScreen_vc10.vcxproj b/examples/18.SplitScreen/SplitScreen_vc10.vcxproj
index a5c926ec..a0c211c7 100644
--- a/examples/18.SplitScreen/SplitScreen_vc10.vcxproj
+++ b/examples/18.SplitScreen/SplitScreen_vc10.vcxproj
@@ -28,18 +28,22 @@
Application
MultiByte
+ Windows7.1SDK
Application
MultiByte
+ Windows7.1SDK
Application
MultiByte
+ Windows7.1SDK
Application
MultiByte
+ Windows7.1SDK
diff --git a/examples/18.SplitScreen/SplitScreen_vc11.vcxproj b/examples/18.SplitScreen/SplitScreen_vc11.vcxproj
index 954ace31..e4707c58 100644
--- a/examples/18.SplitScreen/SplitScreen_vc11.vcxproj
+++ b/examples/18.SplitScreen/SplitScreen_vc11.vcxproj
@@ -28,22 +28,22 @@
Application
MultiByte
- v110
+ Windows7.1SDK
Application
MultiByte
- v110
+ Windows7.1SDK
Application
MultiByte
- v110
+ Windows7.1SDK
Application
MultiByte
- v110
+ Windows7.1SDK
diff --git a/examples/18.SplitScreen/SplitScreen_vc12.vcxproj b/examples/18.SplitScreen/SplitScreen_vc12.vcxproj
new file mode 100644
index 00000000..1c6c62d3
--- /dev/null
+++ b/examples/18.SplitScreen/SplitScreen_vc12.vcxproj
@@ -0,0 +1,194 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 18.SplitScreen
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}
+ 18.SplitScreen
+ Win32Proj
+
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+ true
+ true
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ ..\..\bin\Win32-VisualStudio\18.SplitScreen.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ $(OutDir)SplitScreen.pdb
+ Console
+
+
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ ..\..\bin\Win64-VisualStudio\18.SplitScreen.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ $(OutDir)SplitScreen.pdb
+ Console
+
+
+
+
+
+
+ true
+ Speed
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ MultiThreaded
+ false
+
+
+ Level3
+
+
+ Cdecl
+
+
+ ..\..\bin\Win32-VisualStudio\18.SplitScreen.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+
+
+
+
+
+
+ true
+ Speed
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ MultiThreaded
+ false
+
+
+ Level3
+
+
+ Cdecl
+
+
+ ..\..\bin\Win64-VisualStudio\18.SplitScreen.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/18.SplitScreen/SplitScreen_vc14.vcxproj b/examples/18.SplitScreen/SplitScreen_vc14.vcxproj
new file mode 100644
index 00000000..7004b80c
--- /dev/null
+++ b/examples/18.SplitScreen/SplitScreen_vc14.vcxproj
@@ -0,0 +1,194 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 18.SplitScreen
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}
+ 18.SplitScreen
+ Win32Proj
+
+
+
+ Application
+ MultiByte
+ v140
+
+
+ Application
+ MultiByte
+ v140
+
+
+ Application
+ MultiByte
+ v140
+
+
+ Application
+ MultiByte
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+ true
+ true
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ ..\..\bin\Win32-VisualStudio\18.SplitScreen.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ $(OutDir)SplitScreen.pdb
+ Console
+
+
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ ..\..\bin\Win64-VisualStudio\18.SplitScreen.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ $(OutDir)SplitScreen.pdb
+ Console
+
+
+
+
+
+
+ true
+ Speed
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ MultiThreaded
+ false
+
+
+ Level3
+
+
+ Cdecl
+
+
+ ..\..\bin\Win32-VisualStudio\18.SplitScreen.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+
+
+
+
+
+
+ true
+ Speed
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ MultiThreaded
+ false
+
+
+ Level3
+
+
+ Cdecl
+
+
+ ..\..\bin\Win64-VisualStudio\18.SplitScreen.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/18.SplitScreen/SplitScreen_vc8.vcproj b/examples/18.SplitScreen/SplitScreen_vc8.vcproj
deleted file mode 100644
index 906b9504..00000000
--- a/examples/18.SplitScreen/SplitScreen_vc8.vcproj
+++ /dev/null
@@ -1,189 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/18.SplitScreen/SplitScreen_vc9.vcproj b/examples/18.SplitScreen/SplitScreen_vc9.vcproj
deleted file mode 100644
index 86f6552b..00000000
--- a/examples/18.SplitScreen/SplitScreen_vc9.vcproj
+++ /dev/null
@@ -1,188 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/18.SplitScreen/main.cpp b/examples/18.SplitScreen/main.cpp
index 32266c5b..600b7bf8 100644
--- a/examples/18.SplitScreen/main.cpp
+++ b/examples/18.SplitScreen/main.cpp
@@ -12,6 +12,7 @@ nothing to say about it)
#include
#include "driverChoice.h"
+#include "exampleHelper.h"
#ifdef _MSC_VER
#pragma comment(lib, "Irrlicht.lib")
@@ -93,15 +94,17 @@ int main()
ISceneManager *smgr = device->getSceneManager();
IVideoDriver *driver = device->getVideoDriver();
+ const io::path mediaPath = getExampleMediaPath();
+
//Load model
- IAnimatedMesh *model = smgr->getMesh("../../media/sydney.md2");
+ IAnimatedMesh *model = smgr->getMesh(mediaPath + "sydney.md2");
if (!model)
return 1;
IAnimatedMeshSceneNode *model_node = smgr->addAnimatedMeshSceneNode(model);
//Load texture
if (model_node)
{
- ITexture *texture = driver->getTexture("../../media/sydney.bmp");
+ ITexture *texture = driver->getTexture(mediaPath + "sydney.bmp");
model_node->setMaterialTexture(0,texture);
model_node->setMD2Animation(scene::EMAT_RUN);
//Disable lighting (we've got no light)
@@ -109,7 +112,7 @@ int main()
}
//Load map
- device->getFileSystem()->addFileArchive("../../media/map-20kdm2.pk3");
+ device->getFileSystem()->addFileArchive(mediaPath + "map-20kdm2.pk3");
IAnimatedMesh *map = smgr->getMesh("20kdm2.bsp");
if (map)
{
@@ -169,7 +172,7 @@ Sounds a little complicated, but you'll see it isn't:
{
//Set the viewpoint to the whole screen and begin scene
driver->setViewPort(rect(0,0,ResX,ResY));
- driver->beginScene(true,true,SColor(255,100,100,100));
+ driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, SColor(255,100,100,100));
//If SplitScreen is used
if (SplitScreen)
{
diff --git a/examples/19.MouseAndJoystick/MouseAndJoystick.dev b/examples/19.MouseAndJoystick/MouseAndJoystick.dev
deleted file mode 100644
index cac84183..00000000
--- a/examples/19.MouseAndJoystick/MouseAndJoystick.dev
+++ /dev/null
@@ -1,59 +0,0 @@
-[Project]
-FileName=example.dev
-Name=Irrlicht Example 04 MouseAndJoystick
-UnitCount=1
-Type=1
-Ver=1
-ObjFiles=
-Includes=..\..\include
-Libs=
-PrivateResource=
-ResourceIncludes=
-MakeIncludes=
-Compiler=
-CppCompiler=
-Linker=../../lib/Win32-gcc/libIrrlicht.a_@@_
-IsCpp=1
-Icon=
-ExeOutput=../../bin/Win32-gcc
-ObjectOutput=obj
-OverrideOutput=1
-OverrideOutputName=19.MouseAndJoystick.exe
-HostApplication=
-Folders=
-CommandLine=
-IncludeVersionInfo=0
-SupportXPThemes=0
-CompilerSet=0
-CompilerSettings=0000000000000000000000
-UseCustomMakefile=0
-CustomMakefile=
-
-[Unit1]
-FileName=main.cpp
-CompileCpp=1
-Folder=Projekt1
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[VersionInfo]
-Major=0
-Minor=1
-Release=1
-Build=1
-LanguageID=1033
-CharsetID=1252
-CompanyName=
-FileVersion=
-FileDescription=Irrlicht Engine example compiled using DevCpp and gcc
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=
-AutoIncBuildNr=0
-
diff --git a/examples/19.MouseAndJoystick/MouseAndJoystick_vc10.vcxproj b/examples/19.MouseAndJoystick/MouseAndJoystick_vc10.vcxproj
index aaa80275..16c3a38f 100644
--- a/examples/19.MouseAndJoystick/MouseAndJoystick_vc10.vcxproj
+++ b/examples/19.MouseAndJoystick/MouseAndJoystick_vc10.vcxproj
@@ -27,18 +27,22 @@
Application
MultiByte
+ Windows7.1SDK
Application
MultiByte
+ Windows7.1SDK
Application
MultiByte
+ Windows7.1SDK
Application
MultiByte
+ Windows7.1SDK
diff --git a/examples/19.MouseAndJoystick/MouseAndJoystick_vc11.vcxproj b/examples/19.MouseAndJoystick/MouseAndJoystick_vc11.vcxproj
index 44c2b07b..16c3a38f 100644
--- a/examples/19.MouseAndJoystick/MouseAndJoystick_vc11.vcxproj
+++ b/examples/19.MouseAndJoystick/MouseAndJoystick_vc11.vcxproj
@@ -27,22 +27,22 @@
Application
MultiByte
- v110
+ Windows7.1SDK
Application
MultiByte
- v110
+ Windows7.1SDK
Application
MultiByte
- v110
+ Windows7.1SDK
Application
MultiByte
- v110
+ Windows7.1SDK
diff --git a/examples/19.MouseAndJoystick/MouseAndJoystick_vc12.vcxproj b/examples/19.MouseAndJoystick/MouseAndJoystick_vc12.vcxproj
new file mode 100644
index 00000000..24dca694
--- /dev/null
+++ b/examples/19.MouseAndJoystick/MouseAndJoystick_vc12.vcxproj
@@ -0,0 +1,231 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 19.MouseAndJoystick
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}
+ MouseAndJoystick
+
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Debug/MouseAndJoystick.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\19.MouseAndJoystick.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/MouseAndJoystick.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\19.MouseAndJoystick.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Release/MouseAndJoystick.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\19.MouseAndJoystick.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release/MouseAndJoystick.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\19.MouseAndJoystick.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/19.MouseAndJoystick/MouseAndJoystick_vc14.vcxproj b/examples/19.MouseAndJoystick/MouseAndJoystick_vc14.vcxproj
new file mode 100644
index 00000000..1c452c59
--- /dev/null
+++ b/examples/19.MouseAndJoystick/MouseAndJoystick_vc14.vcxproj
@@ -0,0 +1,231 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 19.MouseAndJoystick
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}
+ MouseAndJoystick
+
+
+
+ Application
+ MultiByte
+ v140
+
+
+ Application
+ MultiByte
+ v140
+
+
+ Application
+ MultiByte
+ v140
+
+
+ Application
+ MultiByte
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Debug/MouseAndJoystick.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\19.MouseAndJoystick.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/MouseAndJoystick.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\19.MouseAndJoystick.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Release/MouseAndJoystick.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\19.MouseAndJoystick.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release/MouseAndJoystick.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\19.MouseAndJoystick.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/19.MouseAndJoystick/MouseAndJoystick_vc8.vcproj b/examples/19.MouseAndJoystick/MouseAndJoystick_vc8.vcproj
deleted file mode 100644
index 51b7facd..00000000
--- a/examples/19.MouseAndJoystick/MouseAndJoystick_vc8.vcproj
+++ /dev/null
@@ -1,231 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/19.MouseAndJoystick/MouseAndJoystick_vc9.vcproj b/examples/19.MouseAndJoystick/MouseAndJoystick_vc9.vcproj
deleted file mode 100644
index e121452f..00000000
--- a/examples/19.MouseAndJoystick/MouseAndJoystick_vc9.vcproj
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/19.MouseAndJoystick/main.cpp b/examples/19.MouseAndJoystick/main.cpp
index 4563278a..faa63057 100644
--- a/examples/19.MouseAndJoystick/main.cpp
+++ b/examples/19.MouseAndJoystick/main.cpp
@@ -268,7 +268,7 @@ int main()
// Turn lighting on and off depending on whether the left mouse button is down.
node->setMaterialFlag(video::EMF_LIGHTING, receiver.GetMouseState().LeftButtonDown);
- driver->beginScene(true, true, video::SColor(255,113,113,133));
+ driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(255,113,113,133));
smgr->drawAll(); // draw the 3d scene
driver->endScene();
}
diff --git a/examples/20.ManagedLights/ManagedLights.dev b/examples/20.ManagedLights/ManagedLights.dev
deleted file mode 100644
index 9804fee2..00000000
--- a/examples/20.ManagedLights/ManagedLights.dev
+++ /dev/null
@@ -1,59 +0,0 @@
-[Project]
-FileName=example.dev
-Name=Irrlicht Example 20 ManagedLights
-UnitCount=1
-Type=1
-Ver=1
-ObjFiles=
-Includes=..\..\include
-Libs=
-PrivateResource=
-ResourceIncludes=
-MakeIncludes=
-Compiler=
-CppCompiler=
-Linker=../../lib/Win32-gcc/libIrrlicht.a_@@_
-IsCpp=1
-Icon=
-ExeOutput=../../bin/Win32-gcc
-ObjectOutput=obj
-OverrideOutput=1
-OverrideOutputName=20.ManagedLights.exe
-HostApplication=
-Folders=
-CommandLine=
-IncludeVersionInfo=0
-SupportXPThemes=0
-CompilerSet=0
-CompilerSettings=0000000000000000000000
-UseCustomMakefile=0
-CustomMakefile=
-
-[Unit1]
-FileName=main.cpp
-CompileCpp=1
-Folder=Projekt1
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[VersionInfo]
-Major=0
-Minor=1
-Release=1
-Build=1
-LanguageID=1033
-CharsetID=1252
-CompanyName=
-FileVersion=
-FileDescription=Irrlicht Engine example compiled using DevCpp and gcc
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=
-AutoIncBuildNr=0
-
diff --git a/examples/20.ManagedLights/ManagedLights_vc10.vcxproj b/examples/20.ManagedLights/ManagedLights_vc10.vcxproj
index 0144522e..53568a92 100644
--- a/examples/20.ManagedLights/ManagedLights_vc10.vcxproj
+++ b/examples/20.ManagedLights/ManagedLights_vc10.vcxproj
@@ -27,18 +27,22 @@
Application
MultiByte
+ Windows7.1SDK
Application
MultiByte
+ Windows7.1SDK
Application
MultiByte
+ Windows7.1SDK
Application
MultiByte
+ Windows7.1SDK
diff --git a/examples/20.ManagedLights/ManagedLights_vc11.vcxproj b/examples/20.ManagedLights/ManagedLights_vc11.vcxproj
index 7a861292..53568a92 100644
--- a/examples/20.ManagedLights/ManagedLights_vc11.vcxproj
+++ b/examples/20.ManagedLights/ManagedLights_vc11.vcxproj
@@ -27,22 +27,22 @@
Application
MultiByte
- v110
+ Windows7.1SDK
Application
MultiByte
- v110
+ Windows7.1SDK
Application
MultiByte
- v110
+ Windows7.1SDK
Application
MultiByte
- v110
+ Windows7.1SDK
diff --git a/examples/20.ManagedLights/ManagedLights_vc12.vcxproj b/examples/20.ManagedLights/ManagedLights_vc12.vcxproj
new file mode 100644
index 00000000..287f1b96
--- /dev/null
+++ b/examples/20.ManagedLights/ManagedLights_vc12.vcxproj
@@ -0,0 +1,234 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 20.ManagedLights
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}
+ ManagedLights
+
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Debug/ManagedLights.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\Lib\Win32-visualstudio\Irrlicht.lib;%(AdditionalDependencies)
+ ..\..\bin\Win32-VisualStudio\20.ManagedLights.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/ManagedLights.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+ ..\..\bin\Win64-VisualStudio\20.ManagedLights.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Release/ManagedLights.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\20.ManagedLights.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release/ManagedLights.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\20.ManagedLights.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+ kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/20.ManagedLights/ManagedLights_vc14.vcxproj b/examples/20.ManagedLights/ManagedLights_vc14.vcxproj
new file mode 100644
index 00000000..31e9e782
--- /dev/null
+++ b/examples/20.ManagedLights/ManagedLights_vc14.vcxproj
@@ -0,0 +1,234 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 20.ManagedLights
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}
+ ManagedLights
+
+
+
+ Application
+ MultiByte
+ v140
+
+
+ Application
+ MultiByte
+ v140
+
+
+ Application
+ MultiByte
+ v140
+
+
+ Application
+ MultiByte
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Debug/ManagedLights.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\Lib\Win32-visualstudio\Irrlicht.lib;%(AdditionalDependencies)
+ ..\..\bin\Win32-VisualStudio\20.ManagedLights.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug/ManagedLights.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+ ..\..\bin\Win64-VisualStudio\20.ManagedLights.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Release/ManagedLights.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\20.ManagedLights.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release/ManagedLights.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\20.ManagedLights.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+ kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/20.ManagedLights/ManagedLights_vc8.vcproj b/examples/20.ManagedLights/ManagedLights_vc8.vcproj
deleted file mode 100644
index 2f37f63f..00000000
--- a/examples/20.ManagedLights/ManagedLights_vc8.vcproj
+++ /dev/null
@@ -1,231 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/20.ManagedLights/ManagedLights_vc9.vcproj b/examples/20.ManagedLights/ManagedLights_vc9.vcproj
deleted file mode 100644
index 736faa65..00000000
--- a/examples/20.ManagedLights/ManagedLights_vc9.vcproj
+++ /dev/null
@@ -1,231 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/20.ManagedLights/main.cpp b/examples/20.ManagedLights/main.cpp
index f67337ab..f1fdb50d 100644
--- a/examples/20.ManagedLights/main.cpp
+++ b/examples/20.ManagedLights/main.cpp
@@ -8,6 +8,7 @@ node callbacks, are left out for simplicity of the example.
#include
#include "driverChoice.h"
+#include "exampleHelper.h"
using namespace irr;
using namespace core;
@@ -290,11 +291,13 @@ int main(int argumentCount, char * argumentValues[])
scene::ISceneManager* smgr = device->getSceneManager();
gui::IGUIEnvironment* guienv = device->getGUIEnvironment();
+ const io::path mediaPath = getExampleMediaPath();
+
gui::IGUISkin* skin = guienv->getSkin();
if (skin)
{
skin->setColor(gui::EGDC_BUTTON_TEXT, video::SColor(255, 255, 255, 255));
- gui::IGUIFont* font = guienv->getFont("../../media/fontlucida.png");
+ gui::IGUIFont* font = guienv->getFont(mediaPath + "fontlucida.png");
if(font)
skin->setFont(font);
}
@@ -325,21 +328,21 @@ Add several "zones". You could use this technique to light individual rooms, fo
scene::IBillboardSceneNode * billboard = smgr->addBillboardSceneNode(node);
billboard->setPosition(vector3df(0, -14, 30));
billboard->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR );
- billboard->setMaterialTexture(0, driver->getTexture("../../media/particle.bmp"));
+ billboard->setMaterialTexture(0, driver->getTexture(mediaPath + "particle.bmp"));
billboard->setMaterialFlag(video::EMF_LIGHTING, false);
smgr->addLightSceneNode(billboard, vector3df(0, 0, 0), video::SColorf(1, 0, 0), lightRadius);
billboard = smgr->addBillboardSceneNode(node);
billboard->setPosition(vector3df(-21, -14, -21));
billboard->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR );
- billboard->setMaterialTexture(0, driver->getTexture("../../media/particle.bmp"));
+ billboard->setMaterialTexture(0, driver->getTexture(mediaPath + "particle.bmp"));
billboard->setMaterialFlag(video::EMF_LIGHTING, false);
smgr->addLightSceneNode(billboard, vector3df(0, 0, 0), video::SColorf(0, 1, 0), lightRadius);
billboard = smgr->addBillboardSceneNode(node);
billboard->setPosition(vector3df(21, -14, -21));
billboard->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR );
- billboard->setMaterialTexture(0, driver->getTexture("../../media/particle.bmp"));
+ billboard->setMaterialTexture(0, driver->getTexture(mediaPath + "particle.bmp"));
billboard->setMaterialFlag(video::EMF_LIGHTING, false);
smgr->addLightSceneNode(billboard, vector3df(0, 0, 0), video::SColorf(0, 0, 1), lightRadius);
@@ -359,7 +362,7 @@ Add several "zones". You could use this technique to light individual rooms, fo
while(device->run())
{
- driver->beginScene(true, true, video::SColor(255,100,101,140));
+ driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(255,100,101,140));
smgr->drawAll();
guienv->drawAll();
driver->endScene();
diff --git a/examples/21.Quake3Explorer/Quake3Explorer.dev b/examples/21.Quake3Explorer/Quake3Explorer.dev
deleted file mode 100644
index 193c6bd9..00000000
--- a/examples/21.Quake3Explorer/Quake3Explorer.dev
+++ /dev/null
@@ -1,99 +0,0 @@
-[Project]
-FileName=Quake3Explorer.dev
-Name=Irrlicht Example 21 Quake3 Explorer
-UnitCount=5
-Type=1
-Ver=1
-ObjFiles=
-Includes=..\..\include
-Libs=
-PrivateResource=
-ResourceIncludes=
-MakeIncludes=
-Compiler=
-CppCompiler=
-Linker=../../lib/Win32-gcc/libIrrlicht.a_@@_
-IsCpp=1
-Icon=
-ExeOutput=../../bin/Win32-gcc
-ObjectOutput=obj
-OverrideOutput=1
-OverrideOutputName=21.Quake3Explorer.exe
-HostApplication=
-Folders=
-CommandLine=
-IncludeVersionInfo=0
-SupportXPThemes=0
-CompilerSet=0
-CompilerSettings=0000000000000000000000
-UseCustomMakefile=0
-CustomMakefile=
-
-[Unit1]
-FileName=main.cpp
-CompileCpp=1
-Folder=Projekt1
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[VersionInfo]
-Major=0
-Minor=1
-Release=1
-Build=1
-LanguageID=1033
-CharsetID=1252
-CompanyName=
-FileVersion=
-FileDescription=Irrlicht Engine example compiled using DevCpp and gcc
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=
-AutoIncBuildNr=0
-
-[Unit2]
-FileName=q3factory.cpp
-CompileCpp=1
-Folder=Irrlicht Example 21 Quake3 Explorer
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit3]
-FileName=q3factory.h
-CompileCpp=1
-Folder=Irrlicht Example 21 Quake3 Explorer
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit4]
-FileName=sound.cpp
-CompileCpp=1
-Folder=Irrlicht Example 21 Quake3 Explorer
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit5]
-FileName=sound.h
-CompileCpp=1
-Folder=Irrlicht Example 21 Quake3 Explorer
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
diff --git a/examples/21.Quake3Explorer/Quake3Explorer_vc10.vcxproj b/examples/21.Quake3Explorer/Quake3Explorer_vc10.vcxproj
index 1d0a4780..6520ded2 100644
--- a/examples/21.Quake3Explorer/Quake3Explorer_vc10.vcxproj
+++ b/examples/21.Quake3Explorer/Quake3Explorer_vc10.vcxproj
@@ -28,18 +28,22 @@
Application
MultiByte
+ Windows7.1SDK
Application
MultiByte
+ Windows7.1SDK
Application
MultiByte
+ Windows7.1SDK
Application
MultiByte
+ Windows7.1SDK
diff --git a/examples/21.Quake3Explorer/Quake3Explorer_vc11.vcxproj b/examples/21.Quake3Explorer/Quake3Explorer_vc11.vcxproj
index d0c29b2c..fd2e79a9 100644
--- a/examples/21.Quake3Explorer/Quake3Explorer_vc11.vcxproj
+++ b/examples/21.Quake3Explorer/Quake3Explorer_vc11.vcxproj
@@ -28,22 +28,22 @@
Application
MultiByte
- v110
+ Windows7.1SDK
Application
MultiByte
- v110
+ Windows7.1SDK
Application
MultiByte
- v110
+ Windows7.1SDK
Application
MultiByte
- v110
+ Windows7.1SDK
diff --git a/examples/21.Quake3Explorer/Quake3Explorer_vc12.vcxproj b/examples/21.Quake3Explorer/Quake3Explorer_vc12.vcxproj
new file mode 100644
index 00000000..cec12893
--- /dev/null
+++ b/examples/21.Quake3Explorer/Quake3Explorer_vc12.vcxproj
@@ -0,0 +1,200 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 21.Quake3Explorer
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}
+ 21.Quake3Explorer
+ Win32Proj
+
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+ true
+ true
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+ false
+ false
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ ..\..\bin\Win32-VisualStudio\21.Quake3Explorer.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ $(OutDir)Quake3MapShader.pdb
+ Console
+
+
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ ..\..\bin\Win64-VisualStudio\21.Quake3Explorer.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ $(OutDir)Quake3MapShader.pdb
+ Console
+
+
+
+
+
+
+ true
+ Speed
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ MultiThreaded
+ false
+
+
+ Level3
+
+
+ FastCall
+
+
+ ..\..\bin\Win32-VisualStudio\21.Quake3Explorer.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+
+
+
+
+
+
+ true
+ Speed
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ MultiThreaded
+ false
+
+
+ Level3
+
+
+ FastCall
+
+
+ ..\..\bin\Win64-VisualStudio\21.Quake3Explorer.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/21.Quake3Explorer/Quake3Explorer_vc14.vcxproj b/examples/21.Quake3Explorer/Quake3Explorer_vc14.vcxproj
new file mode 100644
index 00000000..eadcfea5
--- /dev/null
+++ b/examples/21.Quake3Explorer/Quake3Explorer_vc14.vcxproj
@@ -0,0 +1,200 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 21.Quake3Explorer
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}
+ 21.Quake3Explorer
+ Win32Proj
+
+
+
+ Application
+ MultiByte
+ v140
+
+
+ Application
+ MultiByte
+ v140
+
+
+ Application
+ MultiByte
+ v140
+
+
+ Application
+ MultiByte
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+ true
+ true
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+ false
+ false
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ ..\..\bin\Win32-VisualStudio\21.Quake3Explorer.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ $(OutDir)Quake3MapShader.pdb
+ Console
+
+
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ ..\..\bin\Win64-VisualStudio\21.Quake3Explorer.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ $(OutDir)Quake3MapShader.pdb
+ Console
+
+
+
+
+
+
+ true
+ Speed
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ MultiThreaded
+ false
+
+
+ Level3
+
+
+ FastCall
+
+
+ ..\..\bin\Win32-VisualStudio\21.Quake3Explorer.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+
+
+
+
+
+
+ true
+ Speed
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ MultiThreaded
+ false
+
+
+ Level3
+
+
+ FastCall
+
+
+ ..\..\bin\Win64-VisualStudio\21.Quake3Explorer.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/21.Quake3Explorer/Quake3Explorer_vc8.vcproj b/examples/21.Quake3Explorer/Quake3Explorer_vc8.vcproj
deleted file mode 100644
index 90450273..00000000
--- a/examples/21.Quake3Explorer/Quake3Explorer_vc8.vcproj
+++ /dev/null
@@ -1,210 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/21.Quake3Explorer/Quake3Explorer_vc9.vcproj b/examples/21.Quake3Explorer/Quake3Explorer_vc9.vcproj
deleted file mode 100644
index 36aee41e..00000000
--- a/examples/21.Quake3Explorer/Quake3Explorer_vc9.vcproj
+++ /dev/null
@@ -1,204 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/21.Quake3Explorer/main.cpp b/examples/21.Quake3Explorer/main.cpp
index ca59cd0a..23860788 100644
--- a/examples/21.Quake3Explorer/main.cpp
+++ b/examples/21.Quake3Explorer/main.cpp
@@ -19,8 +19,9 @@ ftp://ftp.idsoftware.com/idstuff/quake3/win32/q3ademo.exe
Copyright 2006-2011 Burningwater, Thomas Alten
*/
-#include "driverChoice.h"
#include
+#include "driverChoice.h"
+#include "exampleHelper.h"
#include "q3factory.h"
#include "sound.h"
@@ -107,14 +108,16 @@ void GameData::setDefault ()
CurrentMapName = "";
CurrentArchiveList.clear ();
+ const io::path mediaPath = getExampleMediaPath();
+
// Explorer Media directory
- CurrentArchiveList.push_back ( StartupDir + "../../media/" );
+ CurrentArchiveList.push_back ( StartupDir + mediaPath );
// Add the original quake3 files before you load your custom map
// Most mods are using the original shaders, models&items&weapons
CurrentArchiveList.push_back("/q/baseq3/");
- CurrentArchiveList.push_back(StartupDir + "../../media/map-20kdm2.pk3");
+ CurrentArchiveList.push_back(StartupDir + mediaPath + "map-20kdm2.pk3");
}
/*
@@ -196,13 +199,13 @@ s32 GameData::save ( const path &filename )
if (!file)
return 0;
- snprintf ( buf, 128, "playerposition %.f %.f %.f\nplayerrotation %.f %.f %.f\n",
+ snprintf_irr ( buf, 128, "playerposition %.f %.f %.f\nplayerrotation %.f %.f %.f\n",
PlayerPosition.X, PlayerPosition.Z, PlayerPosition.Y,
PlayerRotation.X, PlayerRotation.Z, PlayerRotation.Y);
file->write ( buf, (s32) strlen ( buf ) );
for ( i = 0; i != fs->getFileArchiveCount(); ++i )
{
- snprintf ( buf, 128, "archive %s\n",stringc ( fs->getFileArchive(i)->getFileList()->getPath() ).c_str () );
+ snprintf_irr ( buf, 128, "archive %s\n",stringc ( fs->getFileArchive(i)->getFileList()->getPath() ).c_str () );
file->write ( buf, (s32) strlen ( buf ) );
}
@@ -327,7 +330,7 @@ void Q3Player::create ( IrrlichtDevice *device, IQ3LevelMesh* mesh, ISceneNode *
s32 count = weaponMesh->getAnimationCount();
for ( s32 i = 0; i != count; ++i )
{
- snprintf ( buf, 64, "Animation: %s", weaponMesh->getAnimationName(i) );
+ snprintf_irr ( buf, 64, "Animation: %s", weaponMesh->getAnimationName(i) );
device->getLogger()->log(buf, ELL_INFORMATION);
}
}
@@ -410,7 +413,7 @@ void Q3Player::setAnim ( const c8 *name )
{
if ( name )
{
- snprintf ( animation, 64, "%s", name );
+ snprintf_irr ( animation, 64, "%s", name );
if ( WeaponNode )
{
WeaponNode->setAnimationEndCallback ( this );
@@ -605,7 +608,7 @@ void CQuake3EventHandler::createTextures()
data = (u32*) ( (u8*) data + image->getPitch() );
}
image->unlock();
- snprintf ( buf, 64, "smoke_%02d", i );
+ snprintf_irr ( buf, 64, "smoke_%02d", i );
driver->addTexture( buf, image );
image->drop ();
}
@@ -624,7 +627,7 @@ void CQuake3EventHandler::createTextures()
data = (u32*) ( (u8*) data + image->getPitch() );
}
image->unlock();
- snprintf ( buf, 64, "fog_%02d", i );
+ snprintf_irr ( buf, 64, "fog_%02d", i );
driver->addTexture( buf, image );
image->drop ();
}
@@ -678,7 +681,6 @@ void CQuake3EventHandler::CreateGUI()
env->addStaticText ( L"VideoDriver:", rect( dim.Width - 400, 24, dim.Width - 310, 40 ),false, false, gui.Window, -1, false );
gui.VideoDriver = env->addComboBox(rect( dim.Width - 300, 24, dim.Width - 10, 40 ),gui.Window);
gui.VideoDriver->addItem(L"Direct3D 9.0c", EDT_DIRECT3D9 );
- gui.VideoDriver->addItem(L"Direct3D 8.1", EDT_DIRECT3D8 );
gui.VideoDriver->addItem(L"OpenGL 1.5", EDT_OPENGL);
gui.VideoDriver->addItem(L"Software Renderer", EDT_OGLES1);
gui.VideoDriver->addItem(L"Burning's Video (TM) Thomas Alten", EDT_BURNINGSVIDEO);
@@ -713,7 +715,7 @@ void CQuake3EventHandler::CreateGUI()
else if ( core::equals ( aspect, 1.6f ) ) a = "16:10 widescreen";
else if ( core::equals ( aspect, 2.133333f ) ) a = "20:9 widescreen";
- snprintf ( buf, sizeof ( buf ), "%d x %d, %s",w, h, a );
+ snprintf_irr ( buf, sizeof ( buf ), "%d x %d, %s",w, h, a );
gui.VideoMode->addItem ( stringw ( buf ).c_str(), val );
}
}
@@ -1150,14 +1152,14 @@ void CQuake3EventHandler::addSceneTreeItem( ISceneNode * parent, IGUITreeViewNod
if ( imageIndex < 0 )
{
- swprintf ( msg, 128, L"%hs,%hs",
+ swprintf_irr ( msg, 128, L"%hs,%hs",
Game->Device->getSceneManager ()->getSceneNodeTypeName ( (*it)->getType () ),
(*it)->getName()
);
}
else
{
- swprintf ( msg, 128, L"%hs",(*it)->getName() );
+ swprintf_irr ( msg, 128, L"%hs",(*it)->getName() );
}
node = nodeParent->addChildBack( msg, 0, imageIndex );
@@ -1167,7 +1169,7 @@ void CQuake3EventHandler::addSceneTreeItem( ISceneNode * parent, IGUITreeViewNod
for (; ait != (*it)->getAnimators().end(); ++ait)
{
imageIndex = -1;
- swprintf ( msg, 128, L"%hs",
+ swprintf_irr ( msg, 128, L"%hs",
Game->Device->getSceneManager ()->getAnimatorTypeName ( (*ait)->getType () )
);
@@ -1217,14 +1219,14 @@ void CQuake3EventHandler::AddSky( u32 dome, const c8 *texture)
static const c8*p[] = { "ft", "rt", "bk", "lf", "up", "dn" };
u32 i = 0;
- snprintf ( buf, 64, "%s_%s.jpg", texture, p[i] );
+ snprintf_irr ( buf, 64, "%s_%s.jpg", texture, p[i] );
SkyNode = smgr->addSkyBoxSceneNode( driver->getTexture ( buf ), 0, 0, 0, 0, 0 );
if (SkyNode)
{
for ( i = 0; i < 6; ++i )
{
- snprintf ( buf, 64, "%s_%s.jpg", texture, p[i] );
+ snprintf_irr ( buf, 64, "%s_%s.jpg", texture, p[i] );
SkyNode->getMaterial(i).setTexture ( 0, driver->getTexture ( buf ) );
}
}
@@ -1232,7 +1234,7 @@ void CQuake3EventHandler::AddSky( u32 dome, const c8 *texture)
else
if ( 1 == dome )
{
- snprintf ( buf, 64, "%s.jpg", texture );
+ snprintf_irr ( buf, 64, "%s.jpg", texture );
SkyNode = smgr->addSkyDomeSceneNode(
driver->getTexture( buf ), 32,32,
1.f, 1.f, 1000.f, 0, 11);
@@ -1240,7 +1242,7 @@ void CQuake3EventHandler::AddSky( u32 dome, const c8 *texture)
else
if ( 2 == dome )
{
- snprintf ( buf, 64, "%s.jpg", texture );
+ snprintf_irr ( buf, 64, "%s.jpg", texture );
SkyNode = smgr->addSkyDomeSceneNode(
driver->getTexture( buf ), 16,8,
0.95f, 2.f, 1000.f, 0, 11);
@@ -1518,11 +1520,8 @@ bool CQuake3EventHandler::OnEvent(const SEvent& eve)
rot = cam->getRotation ();
}
- static const c8 *dName[] = { "null", "software", "burning",
- "d3d8", "d3d9", "opengl" };
-
- snprintf(buf, 256, "%s_%ls_%.0f_%.0f_%.0f_%.0f_%.0f_%.0f.jpg",
- dName[Game->Device->getVideoDriver()->getDriverType()],
+ snprintf_irr(buf, 256, "%s_%ls_%.0f_%.0f_%.0f_%.0f_%.0f_%.0f.jpg",
+ DRIVER_TYPE_NAMES_SHORT[Game->Device->getVideoDriver()->getDriverType()],
Game->CurrentMapName.c_str(),
pos.X, pos.Y, pos.Z,
rot.X, rot.Y, rot.Z
@@ -1785,7 +1784,7 @@ void CQuake3EventHandler::useItem( Q3Player * player)
node->addAnimator(anim);
anim->drop();
- snprintf ( buf, 64, "bullet: %s on %.1f,%1.f,%1.f",
+ snprintf_irr ( buf, 64, "bullet: %s on %.1f,%1.f,%1.f",
imp.when ? "hit" : "nohit", end.X, end.Y, end.Z );
node->setName ( buf );
@@ -1853,7 +1852,7 @@ void CQuake3EventHandler::createParticleImpacts( u32 now )
{
pas = sm->addParticleSystemSceneNode(false, BulletParent, -1, Impacts[i].pos);
- snprintf ( buf, 64, "bullet impact smoke at %.1f,%.1f,%1.f",
+ snprintf_irr ( buf, 64, "bullet impact smoke at %.1f,%.1f,%1.f",
Impacts[i].pos.X,Impacts[i].pos.Y,Impacts[i].pos.Z);
pas->setName ( buf );
@@ -1929,7 +1928,7 @@ void CQuake3EventHandler::Render()
if (anaglyph)
{
scene::ICameraSceneNode* cameraOld = Game->Device->getSceneManager()->getActiveCamera();
- driver->beginScene(true, true, SColor(0,0,0,0));
+ driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, SColor(0,0,0,0));
driver->getOverrideMaterial().Material.ColorMask = ECP_NONE;
driver->getOverrideMaterial().EnableFlags = EMF_COLOR_MASK;
driver->getOverrideMaterial().EnablePasses = ESNRP_SKY_BOX +
@@ -1938,7 +1937,7 @@ void CQuake3EventHandler::Render()
ESNRP_TRANSPARENT_EFFECT +
ESNRP_SHADOW;
Game->Device->getSceneManager()->drawAll();
- driver->clearZBuffer();
+ driver->clearBuffers(video::ECBF_DEPTH, video::SColor(255,0,0,0));
const vector3df oldPosition = cameraOld->getPosition();
const vector3df oldTarget = cameraOld->getTarget();
@@ -1966,7 +1965,7 @@ void CQuake3EventHandler::Render()
camera->setTarget(focusPoint);
Game->Device->getSceneManager()->drawAll();
- driver->clearZBuffer();
+ driver->clearBuffers(video::ECBF_DEPTH, video::SColor(255, 0, 0, 0));
//Right eye...
move.setTranslation( vector3df(1.5f,0.0f,0.0f) );
@@ -2000,7 +1999,7 @@ void CQuake3EventHandler::Render()
}
else
{
- driver->beginScene(true, true, SColor(0,0,0,0));
+ driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, SColor(0,0,0,0));
Game->Device->getSceneManager()->drawAll();
}
Game->Device->getGUIEnvironment()->drawAll();
@@ -2026,7 +2025,7 @@ void CQuake3EventHandler::Animate()
#ifdef _IRR_SCENEMANAGER_DEBUG
IAttributes * attr = Game->Device->getSceneManager()->getParameters();
- swprintf ( msg, 128,
+ swprintf_irr ( msg, 128,
L"Q3 %s [%ls], FPS:%03d Tri:%.03fm Cull %d/%d nodes (%d,%d,%d)",
Game->CurrentMapName.c_str(),
driver->getName(),
@@ -2039,7 +2038,7 @@ void CQuake3EventHandler::Animate()
attr->getAttributeAsInt ( "drawn_transparent_effect" )
);
#else
-swprintf ( msg, 128,
+swprintf_irr ( msg, 128,
L"Q3 %s [%ls], FPS:%03d Tri:%.03fm",
Game->CurrentMapName.c_str(),
driver->getName(),
@@ -2049,7 +2048,7 @@ swprintf ( msg, 128,
#endif
Game->Device->setWindowCaption( msg );
- swprintf ( msg, 128,
+ swprintf_irr ( msg, 128,
L"%03d fps, F1 GUI on/off, F2 respawn, F3-F6 toggle Nodes, F7 Collision on/off"
L", F8 Gravity on/off, Right Mouse Toggle GUI",
Game->Device->getVideoDriver()->getFPS ()
diff --git a/examples/21.Quake3Explorer/q3factory.cpp b/examples/21.Quake3Explorer/q3factory.cpp
index 445543fc..0c98a080 100644
--- a/examples/21.Quake3Explorer/q3factory.cpp
+++ b/examples/21.Quake3Explorer/q3factory.cpp
@@ -331,7 +331,7 @@ void Q3ShaderFactory ( Q3LevelLoadParameter &loadParam,
loadParam.startTime = device->getTimer()->getRealTime();
if ( loadParam.verbose > 1 )
{
- snprintf(buf, 128, "q3shaderfactory start" );
+ snprintf_irr(buf, 128, "q3shaderfactory start" );
device->getLogger()->log( buf, ELL_INFORMATION);
}
}
@@ -402,7 +402,7 @@ void Q3ShaderFactory ( Q3LevelLoadParameter &loadParam,
// show Debug Shader Name
if ( showShaderName && node )
{
- swprintf ( (wchar_t*) buf, 64, L"%hs:%d", node->getName(),node->getID() );
+ swprintf_irr ( (wchar_t*) buf, 64, L"%hs:%d", node->getName(),node->getID() );
smgr->addBillboardTextSceneNode(
font,
(wchar_t*) buf,
@@ -485,7 +485,7 @@ void Q3ShaderFactory ( Q3LevelLoadParameter &loadParam,
if ( loadParam.verbose > 0 )
{
loadParam.endTime = device->getTimer()->getRealTime ();
- snprintf(buf, 128, "q3shaderfactory needed %04d ms to create %d shader nodes",
+ snprintf_irr(buf, 128, "q3shaderfactory needed %04d ms to create %d shader nodes",
loadParam.endTime - loadParam.startTime,
sceneNodeID
);
@@ -594,7 +594,7 @@ void Q3ModelFactory ( Q3LevelLoadParameter &loadParam,
if ( 0 == node )
{
- snprintf ( buf, 128, "q3ModelFactory shader %s failed", meshBuffer->Shader.c_str() );
+ snprintf_irr ( buf, 128, "q3ModelFactory shader %s failed", meshBuffer->Shader.c_str() );
device->getLogger()->log ( buf );
continue;
}
@@ -635,7 +635,7 @@ void Q3ModelFactory ( Q3LevelLoadParameter &loadParam,
// show name
if ( showShaderName )
{
- swprintf ( (wchar_t*) buf, sizeof(buf) / 2, L"%hs", itemElement->key );
+ swprintf_irr ( (wchar_t*) buf, sizeof(buf) / 2, L"%hs", itemElement->key );
smgr->addBillboardTextSceneNode(
font,
(wchar_t*) buf,
diff --git a/examples/21.Quake3Explorer/sound.cpp b/examples/21.Quake3Explorer/sound.cpp
index 75615c1d..f693e660 100644
--- a/examples/21.Quake3Explorer/sound.cpp
+++ b/examples/21.Quake3Explorer/sound.cpp
@@ -12,7 +12,7 @@
#ifdef USE_IRRKLANG
#include
-#ifdef _IRR_WINDOWS_
+#ifdef _MSC_VER
#pragma comment (lib, "irrKlang.lib")
#endif
@@ -22,12 +22,12 @@ struct soundfile: public IFileReader
{
soundfile ( io::IReadFile* f ): file (f ) {}
virtual ~soundfile () { file->drop (); }
-
+
virtual ik_s32 read(void* buffer, ik_u32 sizeToRead) { return file->read ( buffer, sizeToRead ); }
virtual bool seek(ik_s32 finalPos, bool relativeMovement = false) { return file->seek ( finalPos, relativeMovement ); }
virtual ik_s32 getSize(){ return file->getSize (); }
virtual ik_s32 getPos() {return file->getPos (); }
- virtual const ik_c8* getFileName() { return file->getFileName (); }
+ virtual const ik_c8* getFileName() { return file->getFileName().c_str(); }
io::IReadFile* file;
};
@@ -46,7 +46,7 @@ struct klangFactory : public irrklang::IFileFactory
IrrlichtDevice *Device;
};
-
+
ISoundEngine *engine = 0;
ISound *backMusic = 0;
diff --git a/examples/22.MaterialViewer/MaterialViewer.dev b/examples/22.MaterialViewer/MaterialViewer.dev
deleted file mode 100644
index dfd9d4db..00000000
--- a/examples/22.MaterialViewer/MaterialViewer.dev
+++ /dev/null
@@ -1,59 +0,0 @@
-[Project]
-FileName=example.dev
-Name=Irrlicht Example 22 Material Viewer
-UnitCount=1
-Type=1
-Ver=1
-ObjFiles=
-Includes=..\..\include
-Libs=
-PrivateResource=
-ResourceIncludes=
-MakeIncludes=
-Compiler=
-CppCompiler=
-Linker=../../lib/Win32-gcc/libIrrlicht.a_@@_
-IsCpp=1
-Icon=
-ExeOutput=../../bin/Win32-gcc
-ObjectOutput=obj
-OverrideOutput=1
-OverrideOutputName=22.MaterialViewer.exe
-HostApplication=
-Folders=
-CommandLine=
-IncludeVersionInfo=0
-SupportXPThemes=0
-CompilerSet=0
-CompilerSettings=0000000000000000000000
-UseCustomMakefile=0
-CustomMakefile=
-
-[Unit1]
-FileName=main.cpp
-CompileCpp=1
-Folder=Projekt1
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[VersionInfo]
-Major=0
-Minor=1
-Release=1
-Build=1
-LanguageID=1033
-CharsetID=1252
-CompanyName=
-FileVersion=
-FileDescription=Irrlicht Engine example compiled using DevCpp and gcc
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=
-AutoIncBuildNr=0
-
diff --git a/examples/22.MaterialViewer/MaterialViewer_vc10.vcxproj b/examples/22.MaterialViewer/MaterialViewer_vc10.vcxproj
index f74b53db..5e5560bd 100644
--- a/examples/22.MaterialViewer/MaterialViewer_vc10.vcxproj
+++ b/examples/22.MaterialViewer/MaterialViewer_vc10.vcxproj
@@ -27,18 +27,22 @@
Application
MultiByte
+ Windows7.1SDK
Application
MultiByte
+ Windows7.1SDK
Application
MultiByte
+ Windows7.1SDK
Application
MultiByte
+ Windows7.1SDK
diff --git a/examples/22.MaterialViewer/MaterialViewer_vc11.vcxproj b/examples/22.MaterialViewer/MaterialViewer_vc11.vcxproj
index 6ea9a2ba..582faee9 100644
--- a/examples/22.MaterialViewer/MaterialViewer_vc11.vcxproj
+++ b/examples/22.MaterialViewer/MaterialViewer_vc11.vcxproj
@@ -27,22 +27,22 @@
Application
MultiByte
- v110
+ Windows7.1SDK
Application
MultiByte
- v110
+ Windows7.1SDK
Application
MultiByte
- v110
+ Windows7.1SDK
Application
MultiByte
- v110
+ Windows7.1SDK
diff --git a/examples/22.MaterialViewer/MaterialViewer_vc12.vcxproj b/examples/22.MaterialViewer/MaterialViewer_vc12.vcxproj
new file mode 100644
index 00000000..ca494237
--- /dev/null
+++ b/examples/22.MaterialViewer/MaterialViewer_vc12.vcxproj
@@ -0,0 +1,235 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 22.MaterialViewer
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}
+ MaterialViewer
+
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Release/MaterialViewer.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\22.MaterialViewer.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ .\Release/MaterialViewer.pdb
+ Console
+
+
+
+
+
+
+ .\Release/MaterialViewer.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\22.MaterialViewer.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ .\Release/MaterialViewer.pdb
+ Console
+
+
+
+
+
+
+ .\Debug/MaterialViewer.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\22.MaterialViewer.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ .\Debug/MaterialViewer.pdb
+ Console
+
+
+
+
+
+
+ .\Debug/MaterialViewer.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\22.MaterialViewer.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ .\Debug/MaterialViewer.pdb
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/22.MaterialViewer/MaterialViewer_vc14.vcxproj b/examples/22.MaterialViewer/MaterialViewer_vc14.vcxproj
new file mode 100644
index 00000000..f568176e
--- /dev/null
+++ b/examples/22.MaterialViewer/MaterialViewer_vc14.vcxproj
@@ -0,0 +1,235 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 22.MaterialViewer
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}
+ MaterialViewer
+
+
+
+ Application
+ MultiByte
+ v140
+
+
+ Application
+ MultiByte
+ v140
+
+
+ Application
+ MultiByte
+ v140
+
+
+ Application
+ MultiByte
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Release/MaterialViewer.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\22.MaterialViewer.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ .\Release/MaterialViewer.pdb
+ Console
+
+
+
+
+
+
+ .\Release/MaterialViewer.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\22.MaterialViewer.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ .\Release/MaterialViewer.pdb
+ Console
+
+
+
+
+
+
+ .\Debug/MaterialViewer.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\22.MaterialViewer.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ .\Debug/MaterialViewer.pdb
+ Console
+
+
+
+
+
+
+ .\Debug/MaterialViewer.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\22.MaterialViewer.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ .\Debug/MaterialViewer.pdb
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/22.MaterialViewer/MaterialViewer_vc8.vcproj b/examples/22.MaterialViewer/MaterialViewer_vc8.vcproj
deleted file mode 100644
index 1e7c0db3..00000000
--- a/examples/22.MaterialViewer/MaterialViewer_vc8.vcproj
+++ /dev/null
@@ -1,231 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/22.MaterialViewer/MaterialViewer_vc9.vcproj b/examples/22.MaterialViewer/MaterialViewer_vc9.vcproj
deleted file mode 100644
index 8ce9803b..00000000
--- a/examples/22.MaterialViewer/MaterialViewer_vc9.vcproj
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/22.MaterialViewer/main.cpp b/examples/22.MaterialViewer/main.cpp
index d57a91be..08b7a21a 100755
--- a/examples/22.MaterialViewer/main.cpp
+++ b/examples/22.MaterialViewer/main.cpp
@@ -14,6 +14,7 @@ You can move the camera while left-mouse button is clicked.
#include
#include "driverChoice.h"
+#include "exampleHelper.h"
#include "main.h"
using namespace irr;
@@ -674,7 +675,7 @@ bool CApp::init(int argc, char *argv[])
// set a nicer font
gui::IGUISkin* skin = guiEnv->getSkin();
- gui::IGUIFont* font = guiEnv->getFont("../../media/fonthaettenschweiler.bmp");
+ gui::IGUIFont* font = guiEnv->getFont(getExampleMediaPath() + "fonthaettenschweiler.bmp");
if (font)
skin->setFont(font);
@@ -830,7 +831,7 @@ bool CApp::update()
// draw everything
video::SColor bkColor( skin->getColor(gui::EGDC_APP_WORKSPACE) );
- videoDriver->beginScene(true, true, bkColor);
+ videoDriver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, bkColor);
smgr->drawAll();
guiEnv->drawAll();
diff --git a/examples/23.SMeshHandling/SMeshHandling.dev b/examples/23.SMeshHandling/SMeshHandling.dev
deleted file mode 100644
index 94043f38..00000000
--- a/examples/23.SMeshHandling/SMeshHandling.dev
+++ /dev/null
@@ -1,59 +0,0 @@
-[Project]
-FileName=example.dev
-Name=Irrlicht Example 23 SMeshHandling
-UnitCount=1
-Type=1
-Ver=1
-ObjFiles=
-Includes=..\..\include
-Libs=
-PrivateResource=
-ResourceIncludes=
-MakeIncludes=
-Compiler=
-CppCompiler=
-Linker=../../lib/Win32-gcc/libIrrlicht.a_@@_
-IsCpp=1
-Icon=
-ExeOutput=../../bin/Win32-gcc
-ObjectOutput=obj
-OverrideOutput=1
-OverrideOutputName=23.SMeshHandling.exe
-HostApplication=
-Folders=
-CommandLine=
-IncludeVersionInfo=0
-SupportXPThemes=0
-CompilerSet=0
-CompilerSettings=0000000000000000000000
-UseCustomMakefile=0
-CustomMakefile=
-
-[Unit1]
-FileName=main.cpp
-CompileCpp=1
-Folder=Projekt1
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[VersionInfo]
-Major=0
-Minor=1
-Release=1
-Build=1
-LanguageID=1033
-CharsetID=1252
-CompanyName=
-FileVersion=
-FileDescription=Irrlicht Engine example compiled using DevCpp and gcc
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=
-AutoIncBuildNr=0
-
diff --git a/examples/23.SMeshHandling/SMeshHandling_vc10.vcxproj b/examples/23.SMeshHandling/SMeshHandling_vc10.vcxproj
index 4af5ad0d..949f1ce6 100644
--- a/examples/23.SMeshHandling/SMeshHandling_vc10.vcxproj
+++ b/examples/23.SMeshHandling/SMeshHandling_vc10.vcxproj
@@ -28,18 +28,22 @@
Application
MultiByte
+ Windows7.1SDK
Application
MultiByte
+ Windows7.1SDK
Application
MultiByte
+ Windows7.1SDK
Application
MultiByte
+ Windows7.1SDK
diff --git a/examples/23.SMeshHandling/SMeshHandling_vc11.vcxproj b/examples/23.SMeshHandling/SMeshHandling_vc11.vcxproj
index 7f2a7811..83332f4d 100644
--- a/examples/23.SMeshHandling/SMeshHandling_vc11.vcxproj
+++ b/examples/23.SMeshHandling/SMeshHandling_vc11.vcxproj
@@ -28,22 +28,22 @@
Application
MultiByte
- v110
+ Windows7.1SDK
Application
MultiByte
- v110
+ Windows7.1SDK
Application
MultiByte
- v110
+ Windows7.1SDK
Application
MultiByte
- v110
+ Windows7.1SDK
diff --git a/examples/23.SMeshHandling/SMeshHandling_vc12.vcxproj b/examples/23.SMeshHandling/SMeshHandling_vc12.vcxproj
new file mode 100644
index 00000000..46b2382c
--- /dev/null
+++ b/examples/23.SMeshHandling/SMeshHandling_vc12.vcxproj
@@ -0,0 +1,192 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 23.SMeshHandling
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}
+ 23.SMeshHandling
+ Win32Proj
+
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+ true
+ true
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+ false
+ false
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ ..\..\bin\Win32-VisualStudio\23.SMeshHandling.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ $(OutDir)SMeshHandling.pdb
+ Console
+
+
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ ..\..\bin\Win64-VisualStudio\23.SMeshHandling.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ $(OutDir)SMeshHandling.pdb
+ Console
+
+
+
+
+
+
+ true
+ Speed
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ Sync
+
+
+ Level3
+
+
+ Cdecl
+
+
+ ..\..\bin\Win32-VisualStudio\23.SMeshHandling.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+
+
+
+
+
+
+ true
+ Speed
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ Sync
+
+
+ Level3
+
+
+ Cdecl
+
+
+ ..\..\bin\Win64-VisualStudio\23.SMeshHandling.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/23.SMeshHandling/SMeshHandling_vc14.vcxproj b/examples/23.SMeshHandling/SMeshHandling_vc14.vcxproj
new file mode 100644
index 00000000..6c9b712b
--- /dev/null
+++ b/examples/23.SMeshHandling/SMeshHandling_vc14.vcxproj
@@ -0,0 +1,192 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 23.SMeshHandling
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}
+ 23.SMeshHandling
+ Win32Proj
+
+
+
+ Application
+ MultiByte
+ v140
+
+
+ Application
+ MultiByte
+ v140
+
+
+ Application
+ MultiByte
+ v140
+
+
+ Application
+ MultiByte
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+ true
+ true
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+ false
+ false
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ ..\..\bin\Win32-VisualStudio\23.SMeshHandling.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ $(OutDir)SMeshHandling.pdb
+ Console
+
+
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ ..\..\bin\Win64-VisualStudio\23.SMeshHandling.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ $(OutDir)SMeshHandling.pdb
+ Console
+
+
+
+
+
+
+ true
+ Speed
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ Sync
+
+
+ Level3
+
+
+ Cdecl
+
+
+ ..\..\bin\Win32-VisualStudio\23.SMeshHandling.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+
+
+
+
+
+
+ true
+ Speed
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ Sync
+
+
+ Level3
+
+
+ Cdecl
+
+
+ ..\..\bin\Win64-VisualStudio\23.SMeshHandling.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/23.SMeshHandling/SMeshHandling_vc8.vcproj b/examples/23.SMeshHandling/SMeshHandling_vc8.vcproj
deleted file mode 100644
index ecc91356..00000000
--- a/examples/23.SMeshHandling/SMeshHandling_vc8.vcproj
+++ /dev/null
@@ -1,190 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/23.SMeshHandling/SMeshHandling_vc9.vcproj b/examples/23.SMeshHandling/SMeshHandling_vc9.vcproj
deleted file mode 100644
index b1b921ef..00000000
--- a/examples/23.SMeshHandling/SMeshHandling_vc9.vcproj
+++ /dev/null
@@ -1,187 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/23.SMeshHandling/main.cpp b/examples/23.SMeshHandling/main.cpp
index c3c2ccf8..2baa1d95 100644
--- a/examples/23.SMeshHandling/main.cpp
+++ b/examples/23.SMeshHandling/main.cpp
@@ -411,7 +411,7 @@ int main(int argc, char* argv[])
mesh.init(hm, 50.f, yellow, driver);
}
- driver->beginScene(true, true, SColor(0xff000000));
+ driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, SColor(0xff000000));
smgr->drawAll();
driver->endScene();
}
diff --git a/examples/24.CursorControl/CursorControl_vc10.vcxproj b/examples/24.CursorControl/CursorControl_vc10.vcxproj
index 0ca57a94..913c520a 100644
--- a/examples/24.CursorControl/CursorControl_vc10.vcxproj
+++ b/examples/24.CursorControl/CursorControl_vc10.vcxproj
@@ -28,18 +28,22 @@
Application
MultiByte
+ Windows7.1SDK
Application
MultiByte
+ Windows7.1SDK
Application
MultiByte
+ Windows7.1SDK
Application
MultiByte
+ Windows7.1SDK
diff --git a/examples/24.CursorControl/CursorControl_vc11.vcxproj b/examples/24.CursorControl/CursorControl_vc11.vcxproj
index 362f064f..7eadc6f1 100644
--- a/examples/24.CursorControl/CursorControl_vc11.vcxproj
+++ b/examples/24.CursorControl/CursorControl_vc11.vcxproj
@@ -28,22 +28,22 @@
Application
MultiByte
- v110
+ Windows7.1SDK
Application
MultiByte
- v110
+ Windows7.1SDK
Application
MultiByte
- v110
+ Windows7.1SDK
Application
MultiByte
- v110
+ Windows7.1SDK
diff --git a/examples/24.CursorControl/CursorControl_vc12.vcxproj b/examples/24.CursorControl/CursorControl_vc12.vcxproj
new file mode 100644
index 00000000..26fdf871
--- /dev/null
+++ b/examples/24.CursorControl/CursorControl_vc12.vcxproj
@@ -0,0 +1,188 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 24.CursorControl
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}
+ 24.CursorControl
+ Win32Proj
+
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ ..\..\bin\Win32-VisualStudio\24.CursorControl.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ $(OutDir)CursorControl.pdb
+ Console
+
+
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ ..\..\bin\Win64-VisualStudio\24.CursorControl.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ $(OutDir)CursorControl.pdb
+ Console
+
+
+
+
+
+
+ true
+ Speed
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ Sync
+
+
+ Level3
+
+
+ Cdecl
+
+
+ ..\..\bin\Win32-VisualStudio\24.CursorControl.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+
+
+
+
+
+
+ true
+ Speed
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ Sync
+
+
+ Level3
+
+
+ Cdecl
+
+
+ ..\..\bin\Win64-VisualStudio\24.CursorControl.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/24.CursorControl/CursorControl_vc14.vcxproj b/examples/24.CursorControl/CursorControl_vc14.vcxproj
new file mode 100644
index 00000000..40a0a88e
--- /dev/null
+++ b/examples/24.CursorControl/CursorControl_vc14.vcxproj
@@ -0,0 +1,188 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 24.CursorControl
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}
+ 24.CursorControl
+ Win32Proj
+
+
+
+ Application
+ MultiByte
+ v140
+
+
+ Application
+ MultiByte
+ v140
+
+
+ Application
+ MultiByte
+ v140
+
+
+ Application
+ MultiByte
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ ..\..\bin\Win32-VisualStudio\24.CursorControl.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ $(OutDir)CursorControl.pdb
+ Console
+
+
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ ..\..\bin\Win64-VisualStudio\24.CursorControl.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ $(OutDir)CursorControl.pdb
+ Console
+
+
+
+
+
+
+ true
+ Speed
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ Sync
+
+
+ Level3
+
+
+ Cdecl
+
+
+ ..\..\bin\Win32-VisualStudio\24.CursorControl.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+
+
+
+
+
+
+ true
+ Speed
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ Sync
+
+
+ Level3
+
+
+ Cdecl
+
+
+ ..\..\bin\Win64-VisualStudio\24.CursorControl.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/24.CursorControl/CursorControl_vc8.vcproj b/examples/24.CursorControl/CursorControl_vc8.vcproj
deleted file mode 100644
index 61489427..00000000
--- a/examples/24.CursorControl/CursorControl_vc8.vcproj
+++ /dev/null
@@ -1,190 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/24.CursorControl/CursorControl_vc9.vcproj b/examples/24.CursorControl/CursorControl_vc9.vcproj
deleted file mode 100644
index 90ebf1fd..00000000
--- a/examples/24.CursorControl/CursorControl_vc9.vcproj
+++ /dev/null
@@ -1,185 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/24.CursorControl/main.cpp b/examples/24.CursorControl/main.cpp
index ff7c16f2..22c22cb7 100644
--- a/examples/24.CursorControl/main.cpp
+++ b/examples/24.CursorControl/main.cpp
@@ -6,6 +6,7 @@ It can also be used for experiments with the mouse in general.
#include
#include "driverChoice.h"
+#include "exampleHelper.h"
using namespace irr;
using namespace core;
@@ -14,7 +15,7 @@ using namespace video;
using namespace io;
using namespace gui;
-#ifdef _IRR_WINDOWS_
+#ifdef _MSC_VER
#pragma comment(lib, "Irrlicht.lib")
#endif
@@ -472,13 +473,15 @@ int main()
SpriteBankIcons = env->addEmptySpriteBank(io::path("cursor_icons"));
context.SpriteBox->setSpriteBank(SpriteBankIcons);
+ const io::path mediaPath = getExampleMediaPath();
+
// create one animated icon from several files
array< io::path > files;
- files.push_back( io::path("../../media/icon_crosshairs16x16bw1.png") );
- files.push_back( io::path("../../media/icon_crosshairs16x16bw2.png") );
- files.push_back( io::path("../../media/icon_crosshairs16x16bw3.png") );
- files.push_back( io::path("../../media/icon_crosshairs16x16bw3.png") );
- files.push_back( io::path("../../media/icon_crosshairs16x16bw2.png") );
+ files.push_back( io::path(mediaPath + "icon_crosshairs16x16bw1.png") );
+ files.push_back( io::path(mediaPath + "icon_crosshairs16x16bw2.png") );
+ files.push_back( io::path(mediaPath + "icon_crosshairs16x16bw3.png") );
+ files.push_back( io::path(mediaPath + "icon_crosshairs16x16bw3.png") );
+ files.push_back( io::path(mediaPath + "icon_crosshairs16x16bw2.png") );
SCursorSprite spriteBw; // the sprite + some additional information needed for cursors
spriteBw.SpriteId = AddAnimatedIconToSpriteBank( SpriteBankIcons, driver, files, 200 );
spriteBw.SpriteBank = SpriteBankIcons;
@@ -493,7 +496,7 @@ int main()
iconRects.push_back( rect(0,16, 16, 32) );
iconRects.push_back( rect(16,0, 32, 16) );
SCursorSprite spriteCol; // the sprite + some additional information needed for cursors
- spriteCol.SpriteId = AddAnimatedIconToSpriteBank( SpriteBankIcons, driver, io::path("../../media/icon_crosshairs16x16col.png"), iconRects, 200 );
+ spriteCol.SpriteId = AddAnimatedIconToSpriteBank( SpriteBankIcons, driver, io::path(mediaPath + "icon_crosshairs16x16col.png"), iconRects, 200 );
spriteCol.HotSpot = position2d(7,7);
spriteCol.SpriteBank = SpriteBankIcons;
context.addIcon(L"crosshair_colored", spriteCol);
@@ -503,15 +506,15 @@ int main()
SCursorSprite spriteNonAnimated(SpriteBankIcons, 0, position2d(7,7));
rectIcon = rect(0,0, 16, 16);
- spriteNonAnimated.SpriteId = AddIconToSpriteBank( SpriteBankIcons, driver, io::path("../../media/icon_crosshairs16x16col.png"), rectIcon );
+ spriteNonAnimated.SpriteId = AddIconToSpriteBank( SpriteBankIcons, driver, io::path(mediaPath + "icon_crosshairs16x16col.png"), rectIcon );
context.addIcon(L"crosshair_col1", spriteNonAnimated, false);
rectIcon = rect(16,0, 32, 16);
- spriteNonAnimated.SpriteId = AddIconToSpriteBank( SpriteBankIcons, driver, io::path("../../media/icon_crosshairs16x16col.png"), rectIcon );
+ spriteNonAnimated.SpriteId = AddIconToSpriteBank( SpriteBankIcons, driver, io::path(mediaPath + "icon_crosshairs16x16col.png"), rectIcon );
context.addIcon(L"crosshair_col2", spriteNonAnimated, false);
rectIcon = rect(0,16, 16, 32);
- spriteNonAnimated.SpriteId = AddIconToSpriteBank( SpriteBankIcons, driver, io::path("../../media/icon_crosshairs16x16col.png"), rectIcon );
+ spriteNonAnimated.SpriteId = AddIconToSpriteBank( SpriteBankIcons, driver, io::path(mediaPath + "icon_crosshairs16x16col.png"), rectIcon );
context.addIcon(L"crosshair_col3", spriteNonAnimated, false);
@@ -526,7 +529,7 @@ int main()
context.update();
- driver->beginScene(true, true, SColor(0,200,200,200));
+ driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, SColor(0,200,200,200));
env->drawAll();
diff --git a/examples/25.XmlHandling/XmlHandling_vc10.vcxproj b/examples/25.XmlHandling/XmlHandling_vc10.vcxproj
index 2f550a14..43f9e73f 100644
--- a/examples/25.XmlHandling/XmlHandling_vc10.vcxproj
+++ b/examples/25.XmlHandling/XmlHandling_vc10.vcxproj
@@ -28,18 +28,22 @@
Application
MultiByte
+ Windows7.1SDK
Application
MultiByte
+ Windows7.1SDK
Application
MultiByte
+ Windows7.1SDK
Application
MultiByte
+ Windows7.1SDK
diff --git a/examples/25.XmlHandling/XmlHandling_vc11.vcxproj b/examples/25.XmlHandling/XmlHandling_vc11.vcxproj
index b150b959..43f9e73f 100644
--- a/examples/25.XmlHandling/XmlHandling_vc11.vcxproj
+++ b/examples/25.XmlHandling/XmlHandling_vc11.vcxproj
@@ -28,22 +28,22 @@
Application
MultiByte
- v110
+ Windows7.1SDK
Application
MultiByte
- v110
+ Windows7.1SDK
Application
MultiByte
- v110
+ Windows7.1SDK
Application
MultiByte
- v110
+ Windows7.1SDK
diff --git a/examples/25.XmlHandling/XmlHandling_vc12.vcxproj b/examples/25.XmlHandling/XmlHandling_vc12.vcxproj
new file mode 100644
index 00000000..53546373
--- /dev/null
+++ b/examples/25.XmlHandling/XmlHandling_vc12.vcxproj
@@ -0,0 +1,182 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 25.XmlHandling
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}
+ 25.XmlHandling
+ Win32Proj
+
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ true
+ Speed
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ false
+
+
+ Level3
+
+
+ Cdecl
+
+
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+
+
+
+
+
+
+ true
+ Speed
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ false
+
+
+ Level3
+
+
+ Cdecl
+
+
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/25.XmlHandling/XmlHandling_vc14.vcxproj b/examples/25.XmlHandling/XmlHandling_vc14.vcxproj
new file mode 100644
index 00000000..4fdb56a3
--- /dev/null
+++ b/examples/25.XmlHandling/XmlHandling_vc14.vcxproj
@@ -0,0 +1,182 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 25.XmlHandling
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}
+ 25.XmlHandling
+ Win32Proj
+
+
+
+ Application
+ MultiByte
+ v140
+
+
+ Application
+ MultiByte
+ v140
+
+
+ Application
+ MultiByte
+ v140
+
+
+ Application
+ MultiByte
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ true
+ Speed
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ false
+
+
+ Level3
+
+
+ Cdecl
+
+
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+
+
+
+
+
+
+ true
+ Speed
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ false
+
+
+ Level3
+
+
+ Cdecl
+
+
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/25.XmlHandling/XmlHandling_vc8.vcproj b/examples/25.XmlHandling/XmlHandling_vc8.vcproj
deleted file mode 100644
index 0831ba9a..00000000
--- a/examples/25.XmlHandling/XmlHandling_vc8.vcproj
+++ /dev/null
@@ -1,190 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/25.XmlHandling/XmlHandling_vc9.vcproj b/examples/25.XmlHandling/XmlHandling_vc9.vcproj
deleted file mode 100644
index 79a1048f..00000000
--- a/examples/25.XmlHandling/XmlHandling_vc9.vcproj
+++ /dev/null
@@ -1,185 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/25.XmlHandling/main.cpp b/examples/25.XmlHandling/main.cpp
index 3eb261de..657ad8dc 100644
--- a/examples/25.XmlHandling/main.cpp
+++ b/examples/25.XmlHandling/main.cpp
@@ -10,6 +10,7 @@ can easily be integrated into own apps.
*/
#include
+#include "exampleHelper.h"
using namespace irr;
using namespace core;
@@ -18,7 +19,7 @@ using namespace video;
using namespace io;
using namespace gui;
-#ifdef _IRR_WINDOWS_
+#ifdef _MSC_VER
#pragma comment(lib, "Irrlicht.lib")
#endif
@@ -429,7 +430,7 @@ int main()
// Try to load config.
// I leave it as an exercise of the reader to store the configuration in the local application data folder,
// the only logical place to store config data for games. For all other operating systems I redirect to your manuals
- app.Settings = new SettingManager("../../media/settings.xml");
+ app.Settings = new SettingManager(getExampleMediaPath() + "settings.xml");
if ( !app.Settings->load() )
{
// ...
@@ -489,7 +490,7 @@ int main()
{
if (app.Device->isWindowActive())
{
- app.Driver->beginScene(true, true, SColor(0,200,200,200));
+ app.Driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, SColor(0,200,200,200));
app.Gui->drawAll();
app.Driver->endScene();
}
diff --git a/examples/26.OcclusionQuery/OcclusionQuery.dev b/examples/26.OcclusionQuery/OcclusionQuery.dev
deleted file mode 100644
index e9d7c04b..00000000
--- a/examples/26.OcclusionQuery/OcclusionQuery.dev
+++ /dev/null
@@ -1,59 +0,0 @@
-[Project]
-FileName=example.dev
-Name=Irrlicht Example 26 OcclusionQuery
-UnitCount=1
-Type=1
-Ver=1
-ObjFiles=
-Includes=..\..\include
-Libs=
-PrivateResource=
-ResourceIncludes=
-MakeIncludes=
-Compiler=
-CppCompiler=
-Linker=../../lib/Win32-gcc/libIrrlicht.a_@@_
-IsCpp=1
-Icon=
-ExeOutput=../../bin/Win32-gcc
-ObjectOutput=obj
-OverrideOutput=1
-OverrideOutputName=26.OcclusionQuery.exe
-HostApplication=
-Folders=
-CommandLine=
-IncludeVersionInfo=0
-SupportXPThemes=0
-CompilerSet=0
-CompilerSettings=0000000000000000000000
-UseCustomMakefile=0
-CustomMakefile=
-
-[Unit1]
-FileName=main.cpp
-CompileCpp=1
-Folder=Projekt1
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[VersionInfo]
-Major=0
-Minor=1
-Release=1
-Build=1
-LanguageID=1033
-CharsetID=1252
-CompanyName=
-FileVersion=
-FileDescription=Irrlicht Engine example compiled using DevCpp and gcc
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=
-AutoIncBuildNr=0
-
diff --git a/examples/26.OcclusionQuery/OcclusionQuery_vc10.vcxproj b/examples/26.OcclusionQuery/OcclusionQuery_vc10.vcxproj
index d56f9950..370d3683 100644
--- a/examples/26.OcclusionQuery/OcclusionQuery_vc10.vcxproj
+++ b/examples/26.OcclusionQuery/OcclusionQuery_vc10.vcxproj
@@ -28,21 +28,25 @@
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
Application
false
MultiByte
+ Windows7.1SDK
diff --git a/examples/26.OcclusionQuery/OcclusionQuery_vc11.vcxproj b/examples/26.OcclusionQuery/OcclusionQuery_vc11.vcxproj
index fb8b7a97..370d3683 100644
--- a/examples/26.OcclusionQuery/OcclusionQuery_vc11.vcxproj
+++ b/examples/26.OcclusionQuery/OcclusionQuery_vc11.vcxproj
@@ -28,25 +28,25 @@
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
Application
false
MultiByte
- v110
+ Windows7.1SDK
diff --git a/examples/26.OcclusionQuery/OcclusionQuery_vc12.vcxproj b/examples/26.OcclusionQuery/OcclusionQuery_vc12.vcxproj
new file mode 100644
index 00000000..e181a45f
--- /dev/null
+++ b/examples/26.OcclusionQuery/OcclusionQuery_vc12.vcxproj
@@ -0,0 +1,235 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 26.OcclusionQuery
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}
+ OcclusionQuery
+
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ false
+ MultiByte
+ Windows7.1SDK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Debug\OcclusionQuery.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\26.OcclusionQuery.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug\OcclusionQuery.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\26.OcclusionQuery.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Release\OcclusionQuery.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\26.OcclusionQuery.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release\OcclusionQuery.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\26.OcclusionQuery.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/26.OcclusionQuery/OcclusionQuery_vc14.vcxproj b/examples/26.OcclusionQuery/OcclusionQuery_vc14.vcxproj
new file mode 100644
index 00000000..d52b6d59
--- /dev/null
+++ b/examples/26.OcclusionQuery/OcclusionQuery_vc14.vcxproj
@@ -0,0 +1,235 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 26.OcclusionQuery
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}
+ OcclusionQuery
+
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ .\Debug\OcclusionQuery.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\26.OcclusionQuery.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Debug\OcclusionQuery.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\26.OcclusionQuery.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Console
+
+
+
+
+
+
+ .\Release\OcclusionQuery.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\26.OcclusionQuery.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ .\Release\OcclusionQuery.tlb
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win64-VisualStudio\26.OcclusionQuery.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Console
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/26.OcclusionQuery/OcclusionQuery_vc8.vcproj b/examples/26.OcclusionQuery/OcclusionQuery_vc8.vcproj
deleted file mode 100644
index faa137fc..00000000
--- a/examples/26.OcclusionQuery/OcclusionQuery_vc8.vcproj
+++ /dev/null
@@ -1,231 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/26.OcclusionQuery/OcclusionQuery_vc9.vcproj b/examples/26.OcclusionQuery/OcclusionQuery_vc9.vcproj
deleted file mode 100644
index c15a5275..00000000
--- a/examples/26.OcclusionQuery/OcclusionQuery_vc9.vcproj
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/26.OcclusionQuery/main.cpp b/examples/26.OcclusionQuery/main.cpp
index 17f64b2f..d6de904c 100644
--- a/examples/26.OcclusionQuery/main.cpp
+++ b/examples/26.OcclusionQuery/main.cpp
@@ -42,6 +42,7 @@ of the objects and camera.
#include
#include "driverChoice.h"
+#include "exampleHelper.h"
using namespace irr;
@@ -102,6 +103,8 @@ int main()
video::IVideoDriver* driver = device->getVideoDriver();
scene::ISceneManager* smgr = device->getSceneManager();
+ const io::path mediaPath = getExampleMediaPath();
+
smgr->getGUIEnvironment()->addStaticText(L"Press Space to hide occluder.", core::recti(10,10, 200,50));
/*
@@ -111,7 +114,7 @@ int main()
if (node)
{
node->setPosition(core::vector3df(0,0,60));
- node->setMaterialTexture(0, driver->getTexture("../../media/wall.bmp"));
+ node->setMaterialTexture(0, driver->getTexture(mediaPath + "wall.bmp"));
node->setMaterialFlag(video::EMF_LIGHTING, false);
}
@@ -124,7 +127,7 @@ int main()
if (plane)
{
- plane->setMaterialTexture(0, driver->getTexture("../../media/t351sml.jpg"));
+ plane->setMaterialTexture(0, driver->getTexture(mediaPath + "t351sml.jpg"));
plane->setMaterialFlag(video::EMF_LIGHTING, false);
plane->setMaterialFlag(video::EMF_BACK_FACE_CULLING, true);
}
@@ -154,7 +157,7 @@ int main()
{
plane->setVisible(!receiver.IsKeyDown(irr::KEY_SPACE));
- driver->beginScene(true, true, video::SColor(255,113,113,133));
+ driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(255,113,113,133));
/*
First, we draw the scene, possibly without the occluded element. This is necessary
because we need the occluder to be drawn first. You can also use several scene
diff --git a/examples/30.Profiling/Profiling_vc12.vcxproj b/examples/30.Profiling/Profiling_vc12.vcxproj
new file mode 100644
index 00000000..1b5e4972
--- /dev/null
+++ b/examples/30.Profiling/Profiling_vc12.vcxproj
@@ -0,0 +1,188 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 30.Profiling
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}
+ 30.Profiling
+ Win32Proj
+
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ ..\..\bin\Win32-VisualStudio\30.Profiling.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ $(OutDir)Profiling.pdb
+ Console
+
+
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ ..\..\bin\Win64-VisualStudio\30.Profiling.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ $(OutDir)Profiling.pdb
+ Console
+
+
+
+
+
+
+ true
+ Speed
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ Sync
+
+
+ Level3
+
+
+ Cdecl
+
+
+ ..\..\bin\Win32-VisualStudio\30.Profiling.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+
+
+
+
+
+
+ true
+ Speed
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ Sync
+
+
+ Level3
+
+
+ Cdecl
+
+
+ ..\..\bin\Win64-VisualStudio\30.Profiling.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/30.Profiling/Profiling_vc14.vcxproj b/examples/30.Profiling/Profiling_vc14.vcxproj
new file mode 100644
index 00000000..caf33cd9
--- /dev/null
+++ b/examples/30.Profiling/Profiling_vc14.vcxproj
@@ -0,0 +1,188 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ 30.Profiling
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}
+ 30.Profiling
+ Win32Proj
+
+
+
+ Application
+ MultiByte
+ v140
+
+
+ Application
+ MultiByte
+ v140
+
+
+ Application
+ MultiByte
+ v140
+
+
+ Application
+ MultiByte
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ ..\..\bin\Win32-VisualStudio\30.Profiling.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ $(OutDir)Profiling.pdb
+ Console
+
+
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ ..\..\bin\Win64-VisualStudio\30.Profiling.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ $(OutDir)Profiling.pdb
+ Console
+
+
+
+
+
+
+ true
+ Speed
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ Sync
+
+
+ Level3
+
+
+ Cdecl
+
+
+ ..\..\bin\Win32-VisualStudio\30.Profiling.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+
+
+
+
+
+
+ true
+ Speed
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ Sync
+
+
+ Level3
+
+
+ Cdecl
+
+
+ ..\..\bin\Win64-VisualStudio\30.Profiling.exe
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ false
+ Console
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/30.Profiling/Profiling_vc8.vcproj b/examples/30.Profiling/Profiling_vc8.vcproj
deleted file mode 100644
index faa34e95..00000000
--- a/examples/30.Profiling/Profiling_vc8.vcproj
+++ /dev/null
@@ -1,190 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/30.Profiling/Profiling_vc9.vcproj b/examples/30.Profiling/Profiling_vc9.vcproj
deleted file mode 100644
index 0b237daa..00000000
--- a/examples/30.Profiling/Profiling_vc9.vcproj
+++ /dev/null
@@ -1,185 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/30.Profiling/main.cpp b/examples/30.Profiling/main.cpp
index 34da11f4..0ad479af 100644
--- a/examples/30.Profiling/main.cpp
+++ b/examples/30.Profiling/main.cpp
@@ -53,8 +53,9 @@ collecting profiling information is disabled by default for speed reasons.
#include
#include "driverChoice.h"
+#include "exampleHelper.h"
-#ifdef _IRR_WINDOWS_
+#ifdef _MSC_VER
#pragma comment(lib, "Irrlicht.lib")
#endif
@@ -233,7 +234,7 @@ public:
*/
MY_PROFILE(CProfileScope p(L"dwarfes", L"grp switch scene");)
- scene::IAnimatedMesh* aniMesh = SceneManager->getMesh( "../../media/dwarf.x" );
+ scene::IAnimatedMesh* aniMesh = SceneManager->getMesh( getExampleMediaPath() + "dwarf.x" );
if (aniMesh)
{
scene::IMesh * mesh = aniMesh->getMesh (0);
@@ -336,10 +337,12 @@ int main()
IGUIEnvironment* env = device->getGUIEnvironment();
scene::ISceneManager* smgr = device->getSceneManager();
+ const io::path mediaPath = getExampleMediaPath();
+
/*
A map we use for one of our test-scenes.
*/
- device->getFileSystem()->addFileArchive("../../media/map-20kdm2.pk3");
+ device->getFileSystem()->addFileArchive(mediaPath + "map-20kdm2.pk3");
MyEventReceiver receiver(smgr);
device->setEventReceiver(&receiver);
@@ -373,7 +376,7 @@ int main()
/*
Get a monospaced font - it's nicer when working with rows of numbers.
*/
- IGUIFont* font = env->getFont("../../media/fontcourier.bmp");
+ IGUIFont* font = env->getFont(mediaPath + "fontcourier.bmp");
if (font)
receiver.GuiProfiler->setOverrideFont(font);
@@ -455,7 +458,7 @@ int main()
*/
recursive(5);
- driver->beginScene(true, true, SColor(0,200,200,200));
+ driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, SColor(0,200,200,200));
/*
If you want to profile only some lines and not a complete scope
diff --git a/examples/BuildAllExamples.workspace b/examples/BuildAllExamples.workspace
index 7ddbb5b4..5b070708 100644
--- a/examples/BuildAllExamples.workspace
+++ b/examples/BuildAllExamples.workspace
@@ -5,7 +5,7 @@
-
+
@@ -27,7 +27,7 @@
-
+
diff --git a/examples/BuildAllExamples_v8.sln b/examples/BuildAllExamples_v8.sln
deleted file mode 100644
index 43683788..00000000
--- a/examples/BuildAllExamples_v8.sln
+++ /dev/null
@@ -1,236 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Irrlicht", "..\source\Irrlicht\Irrlicht8.0.vcproj", "{E08E042A-6C45-411B-92BE-3CC31331019F}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "01.HelloWorld_vc8", "01.HelloWorld\HelloWorld_vc8.vcproj", "{5AD4C95C-BA38-4692-BA4B-8C25A86208F9}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02.Quake3Map_vc8", "02.Quake3Map\Quake3Map_vc8.vcproj", "{D1A464A2-D479-458C-98A2-60965D823CD1}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "03.CustomSceneNode_vc8", "03.CustomSceneNode\CustomSceneNode_vc8.vcproj", "{171CCDFA-C140-4956-8EB7-F0168F4521D3}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "04.Movement_vc8", "04.Movement\Movement_vc8.vcproj", "{7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "05.UserInterface_vc8", "05.UserInterface\UserInterface_vc8.vcproj", "{622C9DD7-0391-49FF-AF53-24F9D5A8EC53}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "06.2DGraphics_vc8", "06.2DGraphics\2DGraphics_vc8.vcproj", "{E71B6F18-10DC-4101-A541-F6D33F71B2BD}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "07.Collision_vc8", "07.Collision\Collision_vc8.vcproj", "{3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "08.SpecialFX_vc8", "08.SpecialFX\SpecialFX_vc8.vcproj", "{C869BF55-B9D6-4980-BC92-60FA0CF8411A}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "09.Meshviewer_vc8", "09.Meshviewer\Meshviewer_vc8.vcproj", "{2AE24484-22FC-481B-9A40-7CD0DA5C8E06}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "10.Shaders_vc8", "10.Shaders\Shaders_vc8.vcproj", "{27158C82-CD15-4A9B-9848-35E7065B209F}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "11.PerPixelLighting_vc8", "11.PerPixelLighting\PerPixelLighting_vc8.vcproj", "{C4B42409-542D-4EFC-9E6B-44713FD47A33}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "12.TerrainRendering_vc8", "12.TerrainRendering\TerrainRendering_vc8.vcproj", "{3A5B74E5-6390-43B0-A459-2793B81FFD31}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "13.RenderToTexture_vc8", "13.RenderToTexture\RenderToTexture_vc8.vcproj", "{0914E5C8-5352-467B-8421-C9EB35BD5596}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "14.Win32Window_vc8", "14.Win32Window\Win32Window_vc8.vcproj", "{772FBE05-D05A-467B-9842-BEC409EEA8D0}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "15.LoadIrrFile_vc8", "15.LoadIrrFile\LoadIrrFile_vc8.vcproj", "{78C9F424-523C-49AC-94B7-823AA4A26BF9}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "16.Quake3MapShader_vc8", "16.Quake3MapShader\Quake3MapShader_vc8.vcproj", "{EB3B38EA-5CE7-4983-845B-880661E69D09}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "17.HelloWorld for Windows Mobile on PC", "17.HelloWorld_Mobile\17. HelloWorld for Windows Mobile on PC_v8.vcproj", "{2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "19.MouseAndJoystick_vc8", "19.MouseAndJoystick\MouseAndJoystick_vc8.vcproj", "{FE853A36-E0D1-4AC5-A792-B643E70D2953}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "20.ManagedLights_vc8", "20.ManagedLights\ManagedLights_vc8.vcproj", "{16007FE2-142B-47F8-93E1-519BA3F39E71}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "21.Quake3Explorer_vc8", "21.Quake3Explorer\Quake3Explorer_vc8.vcproj", "{CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "22.MaterialViewer_vc8", "22.MaterialViewer\MaterialViewer_vc8.vcproj", "{2856AB41-9BC5-4716-9B35-762A65F6F5D1}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "23.SMeshHandling_vc8", "23.SMeshHandling\SMeshHandling_vc8.vcproj", "{08D2F676-9DEB-4443-AEF7-52CC6F7D5F7C}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "24.CursorControl_vc8", "24.CursorControl\CursorControl_vc8.vcproj", "{02B67A37-50E1-49DB-BECF-905BC029C2FE}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Demo_vc8", "Demo\Demo_vc8.vcproj", "{6F076455-D955-45D4-9C68-4AD4E45F2D47}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Debug|Win32.ActiveCfg = Debug|Win32
- {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Debug|Win32.Build.0 = Debug|Win32
- {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Release|Win32.ActiveCfg = Release|Win32
- {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Release|Win32.Build.0 = Release|Win32
- {D1A464A2-D479-458C-98A2-60965D823CD1}.Debug|Win32.ActiveCfg = Debug|Win32
- {D1A464A2-D479-458C-98A2-60965D823CD1}.Debug|Win32.Build.0 = Debug|Win32
- {D1A464A2-D479-458C-98A2-60965D823CD1}.Release|Win32.ActiveCfg = Release|Win32
- {D1A464A2-D479-458C-98A2-60965D823CD1}.Release|Win32.Build.0 = Release|Win32
- {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Debug|Win32.ActiveCfg = Debug|Win32
- {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Debug|Win32.Build.0 = Debug|Win32
- {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Release|Win32.ActiveCfg = Release|Win32
- {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Release|Win32.Build.0 = Release|Win32
- {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Debug|Win32.ActiveCfg = Debug|Win32
- {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Debug|Win32.Build.0 = Debug|Win32
- {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Release|Win32.ActiveCfg = Release|Win32
- {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Release|Win32.Build.0 = Release|Win32
- {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Debug|Win32.ActiveCfg = Debug|Win32
- {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Debug|Win32.Build.0 = Debug|Win32
- {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Release|Win32.ActiveCfg = Release|Win32
- {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Release|Win32.Build.0 = Release|Win32
- {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Debug|Win32.ActiveCfg = Debug|Win32
- {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Debug|Win32.Build.0 = Debug|Win32
- {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Release|Win32.ActiveCfg = Release|Win32
- {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Release|Win32.Build.0 = Release|Win32
- {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Debug|Win32.ActiveCfg = Debug|Win32
- {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Debug|Win32.Build.0 = Debug|Win32
- {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Release|Win32.ActiveCfg = Release|Win32
- {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Release|Win32.Build.0 = Release|Win32
- {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Debug|Win32.ActiveCfg = Debug|Win32
- {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Debug|Win32.Build.0 = Debug|Win32
- {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Release|Win32.ActiveCfg = Release|Win32
- {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Release|Win32.Build.0 = Release|Win32
- {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Debug|Win32.ActiveCfg = Debug|Win32
- {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Debug|Win32.Build.0 = Debug|Win32
- {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Release|Win32.ActiveCfg = Release|Win32
- {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Release|Win32.Build.0 = Release|Win32
- {27158C82-CD15-4A9B-9848-35E7065B209F}.Debug|Win32.ActiveCfg = Debug|Win32
- {27158C82-CD15-4A9B-9848-35E7065B209F}.Debug|Win32.Build.0 = Debug|Win32
- {27158C82-CD15-4A9B-9848-35E7065B209F}.Release|Win32.ActiveCfg = Release|Win32
- {27158C82-CD15-4A9B-9848-35E7065B209F}.Release|Win32.Build.0 = Release|Win32
- {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Debug|Win32.ActiveCfg = Debug|Win32
- {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Debug|Win32.Build.0 = Debug|Win32
- {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Release|Win32.ActiveCfg = Release|Win32
- {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Release|Win32.Build.0 = Release|Win32
- {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Debug|Win32.ActiveCfg = Debug|Win32
- {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Debug|Win32.Build.0 = Debug|Win32
- {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Release|Win32.ActiveCfg = Release|Win32
- {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Release|Win32.Build.0 = Release|Win32
- {0914E5C8-5352-467B-8421-C9EB35BD5596}.Debug|Win32.ActiveCfg = Debug|Win32
- {0914E5C8-5352-467B-8421-C9EB35BD5596}.Debug|Win32.Build.0 = Debug|Win32
- {0914E5C8-5352-467B-8421-C9EB35BD5596}.Release|Win32.ActiveCfg = Release|Win32
- {0914E5C8-5352-467B-8421-C9EB35BD5596}.Release|Win32.Build.0 = Release|Win32
- {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Debug|Win32.ActiveCfg = Debug|Win32
- {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Debug|Win32.Build.0 = Debug|Win32
- {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Release|Win32.ActiveCfg = Release|Win32
- {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Release|Win32.Build.0 = Release|Win32
- {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Debug|Win32.ActiveCfg = Debug|Win32
- {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Debug|Win32.Build.0 = Debug|Win32
- {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Release|Win32.ActiveCfg = Release|Win32
- {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Release|Win32.Build.0 = Release|Win32
- {E08E042A-6C45-411B-92BE-3CC31331019F}.Debug|Win32.ActiveCfg = Debug|Win32
- {E08E042A-6C45-411B-92BE-3CC31331019F}.Debug|Win32.Build.0 = Debug|Win32
- {E08E042A-6C45-411B-92BE-3CC31331019F}.Release|Win32.ActiveCfg = Release|Win32
- {E08E042A-6C45-411B-92BE-3CC31331019F}.Release|Win32.Build.0 = Release|Win32
- {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Debug|Win32.ActiveCfg = Debug|Win32
- {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Debug|Win32.Build.0 = Debug|Win32
- {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Release|Win32.ActiveCfg = Release|Win32
- {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Release|Win32.Build.0 = Release|Win32
- {EB3B38EA-5CE7-4983-845B-880661E69D09}.Debug|Win32.ActiveCfg = Debug|Win32
- {EB3B38EA-5CE7-4983-845B-880661E69D09}.Debug|Win32.Build.0 = Debug|Win32
- {EB3B38EA-5CE7-4983-845B-880661E69D09}.Release|Win32.ActiveCfg = Release|Win32
- {EB3B38EA-5CE7-4983-845B-880661E69D09}.Release|Win32.Build.0 = Release|Win32
- {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Debug|Win32.ActiveCfg = Debug|Win32
- {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Debug|Win32.Build.0 = Debug|Win32
- {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Release|Win32.ActiveCfg = Release|Win32
- {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Release|Win32.Build.0 = Release|Win32
- {16007FE2-142B-47F8-93E1-519BA3F39E71}.Debug|Win32.ActiveCfg = Debug|Win32
- {16007FE2-142B-47F8-93E1-519BA3F39E71}.Debug|Win32.Build.0 = Debug|Win32
- {16007FE2-142B-47F8-93E1-519BA3F39E71}.Release|Win32.ActiveCfg = Release|Win32
- {16007FE2-142B-47F8-93E1-519BA3F39E71}.Release|Win32.Build.0 = Release|Win32
- {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Debug|Win32.ActiveCfg = Debug|Win32
- {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Debug|Win32.Build.0 = Debug|Win32
- {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Release|Win32.ActiveCfg = Release|Win32
- {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Release|Win32.Build.0 = Release|Win32
- {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Debug|Win32.ActiveCfg = Debug|Win32
- {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Debug|Win32.Build.0 = Debug|Win32
- {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Release|Win32.ActiveCfg = Release|Win32
- {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Release|Win32.Build.0 = Release|Win32
- {2856AB41-9BC5-4716-9B35-762A65F6F5D1}.Debug|Win32.ActiveCfg = Debug|Win32
- {2856AB41-9BC5-4716-9B35-762A65F6F5D1}.Debug|Win32.Build.0 = Debug|Win32
- {2856AB41-9BC5-4716-9B35-762A65F6F5D1}.Release|Win32.ActiveCfg = Release|Win32
- {2856AB41-9BC5-4716-9B35-762A65F6F5D1}.Release|Win32.Build.0 = Release|Win32
- {08D2F676-9DEB-4443-AEF7-52CC6F7D5F7C}.Debug|Win32.ActiveCfg = Debug|Win32
- {08D2F676-9DEB-4443-AEF7-52CC6F7D5F7C}.Debug|Win32.Build.0 = Debug|Win32
- {08D2F676-9DEB-4443-AEF7-52CC6F7D5F7C}.Release|Win32.ActiveCfg = Release|Win32
- {08D2F676-9DEB-4443-AEF7-52CC6F7D5F7C}.Release|Win32.Build.0 = Release|Win32
- {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Debug|Win32.ActiveCfg = Debug|Win32
- {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Debug|Win32.Build.0 = Debug|Win32
- {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Release|Win32.ActiveCfg = Release|Win32
- {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/examples/BuildAllExamples_v9.sln b/examples/BuildAllExamples_v9.sln
deleted file mode 100644
index d56014ba..00000000
--- a/examples/BuildAllExamples_v9.sln
+++ /dev/null
@@ -1,290 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual C++ Express 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "01.HelloWorld_vc9", "01.HelloWorld\HelloWorld_vc9.vcproj", "{5AD4C95C-BA38-4692-BA4B-8C25A86208F9}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02.Quake3Map_vc9", "02.Quake3Map\Quake3Map_vc9.vcproj", "{D1A464A2-D479-458C-98A2-60965D823CD1}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "03.CustomSceneNode_vc9", "03.CustomSceneNode\CustomSceneNode_vc9.vcproj", "{171CCDFA-C140-4956-8EB7-F0168F4521D3}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "04.Movement_vc9", "04.Movement\Movement_vc9.vcproj", "{7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "05.UserInterface_vc8", "05.UserInterface\UserInterface_vc9.vcproj", "{622C9DD7-0391-49FF-AF53-24F9D5A8EC53}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "06.2DGraphics_vc9", "06.2DGraphics\2DGraphics_vc9.vcproj", "{E71B6F18-10DC-4101-A541-F6D33F71B2BD}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "07.Collision_vc9", "07.Collision\Collision_vc9.vcproj", "{3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "08.SpecialFX_vc9", "08.SpecialFX\SpecialFX_vc9.vcproj", "{C869BF55-B9D6-4980-BC92-60FA0CF8411A}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "09.Meshviewer_vc9", "09.Meshviewer\Meshviewer_vc9.vcproj", "{2AE24484-22FC-481B-9A40-7CD0DA5C8E06}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "10.Shaders_vc9", "10.Shaders\Shaders_vc9.vcproj", "{27158C82-CD15-4A9B-9848-35E7065B209F}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "11.PerPixelLighting_vc9", "11.PerPixelLighting\PerPixelLighting_vc9.vcproj", "{C4B42409-542D-4EFC-9E6B-44713FD47A33}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "12.TerrainRendering_vc9", "12.TerrainRendering\TerrainRendering_vc9.vcproj", "{3A5B74E5-6390-43B0-A459-2793B81FFD31}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "13.RenderToTexture_vc9", "13.RenderToTexture\RenderToTexture_vc9.vcproj", "{0914E5C8-5352-467B-8421-C9EB35BD5596}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "14.Win32Window_vc9", "14.Win32Window\Win32Window_vc9.vcproj", "{772FBE05-D05A-467B-9842-BEC409EEA8D0}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "15.LoadIrrFile_vc9", "15.LoadIrrFile\LoadIrrFile_vc9.vcproj", "{78C9F424-523C-49AC-94B7-823AA4A26BF9}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Irrlicht", "..\source\Irrlicht\Irrlicht9.0.vcproj", "{E08E042A-6C45-411B-92BE-3CC31331019F}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Demo_vc9", "Demo\Demo_vc9.vcproj", "{6F076455-D955-45D4-9C68-4AD4E45F2D47}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "16.Quake3MapShader_vc9", "16.Quake3MapShader\Quake3MapShader_vc9.vcproj", "{EB3B38EA-5CE7-4983-845B-880661E69D09}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "17.HelloWorld_Mobile_v9", "17.HelloWorld_Mobile\17. HelloWorld for Windows Mobile on PC_v9.vcproj", "{2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "18.SplitScreen_vc9", "18.SplitScreen\SplitScreen_vc9.vcproj", "{1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "19.MouseAndJoystick_vc9", "19.MouseAndJoystick\MouseAndJoystick_vc9.vcproj", "{FE853A36-E0D1-4AC5-A792-B643E70D2953}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "20.ManagedLights_vc9", "20.ManagedLights\ManagedLights_vc9.vcproj", "{16007FE2-142B-47F8-93E1-519BA3F39E71}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "21.Quake3Explorer_vc9", "21.Quake3Explorer\Quake3Explorer_vc9.vcproj", "{CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "22.MaterialViewer_vc9", "22.MaterialViewer\MaterialViewer_vc9.vcproj", "{F4C8112D-57A8-4D01-BB62-BAC6A09A6902}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "23.SMeshHandling_vc9", "23.SMeshHandling\SMeshHandling_vc9.vcproj", "{6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "24.CursorControl_vc9", "24.CursorControl\CursorControl_vc9.vcproj", "{02B67A37-50E1-49DB-BECF-905BC029C2FE}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GUI Editor_v9", "..\tools\GUIEditor\GUI Editor_v9.vcproj", "{853A396E-C031-4C26-A716-5B4E176BE11D}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Font Tool", "..\tools\IrrFontTool\newFontTool\irrFontTool_v9.vcproj", "{4D53E40F-37E3-42B1-8848-F4C6F8313A17}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Mesh Converter", "..\tools\MeshConverter\MeshConverter_v9.vcproj", "{E72B637E-4AA6-46F3-885F-AC67B4B470ED}"
- ProjectSection(ProjectDependencies) = postProject
- {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "25.XmlHandling_vc9", "25.XmlHandling\XmlHandling_vc9.vcproj", "{8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "26.OcclusionQuery_vc9", "26.OcclusionQuery\OcclusionQuery_vc9.vcproj", "{9A859369-0A56-4DAB-9E0C-9F93C91CF0F2}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "30.Profiling_vc9", "30.Profiling\Profiling_vc9.vcproj", "{65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Debug|Win32.ActiveCfg = Debug|Win32
- {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Debug|Win32.Build.0 = Debug|Win32
- {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Release|Win32.ActiveCfg = Release|Win32
- {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Release|Win32.Build.0 = Release|Win32
- {D1A464A2-D479-458C-98A2-60965D823CD1}.Debug|Win32.ActiveCfg = Debug|Win32
- {D1A464A2-D479-458C-98A2-60965D823CD1}.Debug|Win32.Build.0 = Debug|Win32
- {D1A464A2-D479-458C-98A2-60965D823CD1}.Release|Win32.ActiveCfg = Release|Win32
- {D1A464A2-D479-458C-98A2-60965D823CD1}.Release|Win32.Build.0 = Release|Win32
- {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Debug|Win32.ActiveCfg = Debug|Win32
- {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Debug|Win32.Build.0 = Debug|Win32
- {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Release|Win32.ActiveCfg = Release|Win32
- {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Release|Win32.Build.0 = Release|Win32
- {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Debug|Win32.ActiveCfg = Debug|Win32
- {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Debug|Win32.Build.0 = Debug|Win32
- {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Release|Win32.ActiveCfg = Release|Win32
- {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Release|Win32.Build.0 = Release|Win32
- {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Debug|Win32.ActiveCfg = Debug|Win32
- {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Debug|Win32.Build.0 = Debug|Win32
- {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Release|Win32.ActiveCfg = Release|Win32
- {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Release|Win32.Build.0 = Release|Win32
- {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Debug|Win32.ActiveCfg = Debug|Win32
- {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Debug|Win32.Build.0 = Debug|Win32
- {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Release|Win32.ActiveCfg = Release|Win32
- {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Release|Win32.Build.0 = Release|Win32
- {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Debug|Win32.ActiveCfg = Debug|Win32
- {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Debug|Win32.Build.0 = Debug|Win32
- {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Release|Win32.ActiveCfg = Release|Win32
- {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Release|Win32.Build.0 = Release|Win32
- {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Debug|Win32.ActiveCfg = Debug|Win32
- {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Debug|Win32.Build.0 = Debug|Win32
- {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Release|Win32.ActiveCfg = Release|Win32
- {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Release|Win32.Build.0 = Release|Win32
- {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Debug|Win32.ActiveCfg = Debug|Win32
- {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Debug|Win32.Build.0 = Debug|Win32
- {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Release|Win32.ActiveCfg = Release|Win32
- {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Release|Win32.Build.0 = Release|Win32
- {27158C82-CD15-4A9B-9848-35E7065B209F}.Debug|Win32.ActiveCfg = Debug|Win32
- {27158C82-CD15-4A9B-9848-35E7065B209F}.Debug|Win32.Build.0 = Debug|Win32
- {27158C82-CD15-4A9B-9848-35E7065B209F}.Release|Win32.ActiveCfg = Release|Win32
- {27158C82-CD15-4A9B-9848-35E7065B209F}.Release|Win32.Build.0 = Release|Win32
- {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Debug|Win32.ActiveCfg = Debug|Win32
- {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Debug|Win32.Build.0 = Debug|Win32
- {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Release|Win32.ActiveCfg = Release|Win32
- {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Release|Win32.Build.0 = Release|Win32
- {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Debug|Win32.ActiveCfg = Debug|Win32
- {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Debug|Win32.Build.0 = Debug|Win32
- {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Release|Win32.ActiveCfg = Release|Win32
- {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Release|Win32.Build.0 = Release|Win32
- {0914E5C8-5352-467B-8421-C9EB35BD5596}.Debug|Win32.ActiveCfg = Debug|Win32
- {0914E5C8-5352-467B-8421-C9EB35BD5596}.Debug|Win32.Build.0 = Debug|Win32
- {0914E5C8-5352-467B-8421-C9EB35BD5596}.Release|Win32.ActiveCfg = Release|Win32
- {0914E5C8-5352-467B-8421-C9EB35BD5596}.Release|Win32.Build.0 = Release|Win32
- {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Debug|Win32.ActiveCfg = Debug|Win32
- {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Debug|Win32.Build.0 = Debug|Win32
- {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Release|Win32.ActiveCfg = Release|Win32
- {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Release|Win32.Build.0 = Release|Win32
- {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Debug|Win32.ActiveCfg = Debug|Win32
- {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Debug|Win32.Build.0 = Debug|Win32
- {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Release|Win32.ActiveCfg = Release|Win32
- {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Release|Win32.Build.0 = Release|Win32
- {E08E042A-6C45-411B-92BE-3CC31331019F}.Debug|Win32.ActiveCfg = Debug|Win32
- {E08E042A-6C45-411B-92BE-3CC31331019F}.Debug|Win32.Build.0 = Debug|Win32
- {E08E042A-6C45-411B-92BE-3CC31331019F}.Release|Win32.ActiveCfg = Release|Win32
- {E08E042A-6C45-411B-92BE-3CC31331019F}.Release|Win32.Build.0 = Release|Win32
- {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Debug|Win32.ActiveCfg = Debug|Win32
- {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Debug|Win32.Build.0 = Debug|Win32
- {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Release|Win32.ActiveCfg = Release|Win32
- {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Release|Win32.Build.0 = Release|Win32
- {EB3B38EA-5CE7-4983-845B-880661E69D09}.Debug|Win32.ActiveCfg = Debug|Win32
- {EB3B38EA-5CE7-4983-845B-880661E69D09}.Debug|Win32.Build.0 = Debug|Win32
- {EB3B38EA-5CE7-4983-845B-880661E69D09}.Release|Win32.ActiveCfg = Release|Win32
- {EB3B38EA-5CE7-4983-845B-880661E69D09}.Release|Win32.Build.0 = Release|Win32
- {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Debug|Win32.ActiveCfg = Debug|Win32
- {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Debug|Win32.Build.0 = Debug|Win32
- {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Release|Win32.ActiveCfg = Release|Win32
- {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Release|Win32.Build.0 = Release|Win32
- {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Debug|Win32.ActiveCfg = Debug|Win32
- {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Debug|Win32.Build.0 = Debug|Win32
- {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Release|Win32.ActiveCfg = Release|Win32
- {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Release|Win32.Build.0 = Release|Win32
- {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Debug|Win32.ActiveCfg = Debug|Win32
- {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Debug|Win32.Build.0 = Debug|Win32
- {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Release|Win32.ActiveCfg = Release|Win32
- {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Release|Win32.Build.0 = Release|Win32
- {16007FE2-142B-47F8-93E1-519BA3F39E71}.Debug|Win32.ActiveCfg = Debug|Win32
- {16007FE2-142B-47F8-93E1-519BA3F39E71}.Debug|Win32.Build.0 = Debug|Win32
- {16007FE2-142B-47F8-93E1-519BA3F39E71}.Release|Win32.ActiveCfg = Release|Win32
- {16007FE2-142B-47F8-93E1-519BA3F39E71}.Release|Win32.Build.0 = Release|Win32
- {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Debug|Win32.ActiveCfg = Debug|Win32
- {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Debug|Win32.Build.0 = Debug|Win32
- {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Release|Win32.ActiveCfg = Release|Win32
- {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Release|Win32.Build.0 = Release|Win32
- {F4C8112D-57A8-4D01-BB62-BAC6A09A6902}.Debug|Win32.ActiveCfg = Debug|Win32
- {F4C8112D-57A8-4D01-BB62-BAC6A09A6902}.Debug|Win32.Build.0 = Debug|Win32
- {F4C8112D-57A8-4D01-BB62-BAC6A09A6902}.Release|Win32.ActiveCfg = Release|Win32
- {F4C8112D-57A8-4D01-BB62-BAC6A09A6902}.Release|Win32.Build.0 = Release|Win32
- {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Debug|Win32.ActiveCfg = Debug|Win32
- {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Debug|Win32.Build.0 = Debug|Win32
- {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Release|Win32.ActiveCfg = Release|Win32
- {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Release|Win32.Build.0 = Release|Win32
- {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Debug|Win32.ActiveCfg = Debug|Win32
- {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Debug|Win32.Build.0 = Debug|Win32
- {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Release|Win32.ActiveCfg = Release|Win32
- {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Release|Win32.Build.0 = Release|Win32
- {853A396E-C031-4C26-A716-5B4E176BE11D}.Debug|Win32.ActiveCfg = Debug|Win32
- {853A396E-C031-4C26-A716-5B4E176BE11D}.Debug|Win32.Build.0 = Debug|Win32
- {853A396E-C031-4C26-A716-5B4E176BE11D}.Release|Win32.ActiveCfg = Release|Win32
- {853A396E-C031-4C26-A716-5B4E176BE11D}.Release|Win32.Build.0 = Release|Win32
- {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Debug|Win32.ActiveCfg = Debug|Win32
- {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Debug|Win32.Build.0 = Debug|Win32
- {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Release|Win32.ActiveCfg = Release|Win32
- {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Release|Win32.Build.0 = Release|Win32
- {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Debug|Win32.ActiveCfg = Debug|Win32
- {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Debug|Win32.Build.0 = Debug|Win32
- {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Release|Win32.ActiveCfg = Release|Win32
- {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Release|Win32.Build.0 = Release|Win32
- {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Debug|Win32.ActiveCfg = Debug|Win32
- {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Debug|Win32.Build.0 = Debug|Win32
- {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Release|Win32.ActiveCfg = Release|Win32
- {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Release|Win32.Build.0 = Release|Win32
- {9A859369-0A56-4DAB-9E0C-9F93C91CF0F2}.Debug|Win32.ActiveCfg = Debug|Win32
- {9A859369-0A56-4DAB-9E0C-9F93C91CF0F2}.Debug|Win32.Build.0 = Debug|Win32
- {9A859369-0A56-4DAB-9E0C-9F93C91CF0F2}.Release|Win32.ActiveCfg = Release|Win32
- {9A859369-0A56-4DAB-9E0C-9F93C91CF0F2}.Release|Win32.Build.0 = Release|Win32
- {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Debug|Win32.ActiveCfg = Debug|Win32
- {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Debug|Win32.Build.0 = Debug|Win32
- {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Release|Win32.ActiveCfg = Release|Win32
- {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/examples/BuildAllExamples_vc12.sln b/examples/BuildAllExamples_vc12.sln
new file mode 100644
index 00000000..4c87d9fc
--- /dev/null
+++ b/examples/BuildAllExamples_vc12.sln
@@ -0,0 +1,1072 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Express 2013 for Windows Desktop
+VisualStudioVersion = 12.0.30501.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "01.HelloWorld", "01.HelloWorld\HelloWorld_vc12.vcxproj", "{5AD4C95C-BA38-4692-BA4B-8C25A86208F9}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02.Quake3Map", "02.Quake3Map\Quake3Map_vc12.vcxproj", "{D1A464A2-D479-458C-98A2-60965D823CD1}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "03.CustomSceneNode", "03.CustomSceneNode\CustomSceneNode_vc12.vcxproj", "{171CCDFA-C140-4956-8EB7-F0168F4521D3}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "04.Movement", "04.Movement\Movement_vc12.vcxproj", "{7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "05.UserInterface", "05.UserInterface\UserInterface_vc12.vcxproj", "{622C9DD7-0391-49FF-AF53-24F9D5A8EC53}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "06.2DGraphics", "06.2DGraphics\2DGraphics_vc12.vcxproj", "{E71B6F18-10DC-4101-A541-F6D33F71B2BD}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "07.Collision", "07.Collision\Collision_vc12.vcxproj", "{3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "08.SpecialFX", "08.SpecialFX\SpecialFX_vc12.vcxproj", "{C869BF55-B9D6-4980-BC92-60FA0CF8411A}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "09.Meshviewer", "09.Meshviewer\Meshviewer_vc12.vcxproj", "{2AE24484-22FC-481B-9A40-7CD0DA5C8E06}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "10.Shaders", "10.Shaders\Shaders_vc12.vcxproj", "{27158C82-CD15-4A9B-9848-35E7065B209F}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "11.PerPixelLighting", "11.PerPixelLighting\PerPixelLighting_vc12.vcxproj", "{C4B42409-542D-4EFC-9E6B-44713FD47A33}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "12.TerrainRendering", "12.TerrainRendering\TerrainRendering_vc12.vcxproj", "{3A5B74E5-6390-43B0-A459-2793B81FFD31}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "13.RenderToTexture", "13.RenderToTexture\RenderToTexture_vc12.vcxproj", "{0914E5C8-5352-467B-8421-C9EB35BD5596}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "14.Win32Window", "14.Win32Window\Win32Window_vc12.vcxproj", "{772FBE05-D05A-467B-9842-BEC409EEA8D0}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "15.LoadIrrFile", "15.LoadIrrFile\LoadIrrFile_vc12.vcxproj", "{78C9F424-523C-49AC-94B7-823AA4A26BF9}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "16.Quake3MapShader", "16.Quake3MapShader\Quake3MapShader_vc12.vcxproj", "{EB3B38EA-5CE7-4983-845B-880661E69D09}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "17.HelloWorld_Mobile", "17.HelloWorld_Mobile\17. HelloWorld for Windows Mobile on PC_vc12.vcxproj", "{2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "18.SplitScreen", "18.SplitScreen\SplitScreen_vc12.vcxproj", "{1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "19.MouseAndJoystick", "19.MouseAndJoystick\MouseAndJoystick_vc12.vcxproj", "{FE853A36-E0D1-4AC5-A792-B643E70D2953}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "20.ManagedLights", "20.ManagedLights\ManagedLights_vc12.vcxproj", "{16007FE2-142B-47F8-93E1-519BA3F39E71}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "21.Quake3Explorer", "21.Quake3Explorer\Quake3Explorer_vc12.vcxproj", "{CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "22.MaterialViewer", "22.MaterialViewer\MaterialViewer_vc12.vcxproj", "{4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "23.SMeshHandling", "23.SMeshHandling\SMeshHandling_vc12.vcxproj", "{6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "24.CursorControl", "24.CursorControl\CursorControl_vc12.vcxproj", "{02B67A37-50E1-49DB-BECF-905BC029C2FE}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "25.XmlHandling", "25.XmlHandling\XmlHandling_vc12.vcxproj", "{8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "26.OcclusionQuery", "26.OcclusionQuery\OcclusionQuery_vc12.vcxproj", "{5CE0E2E7-879D-4152-B61D-24E7D0707B45}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "30.Profiling", "30.Profiling\Profiling_vc12.vcxproj", "{65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GUIEditor", "..\tools\GUIEditor\GUI Editor_vc12.vcxproj", "{853A396E-C031-4C26-A716-5B4E176BE11D}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FontTool", "..\tools\IrrFontTool\newFontTool\irrFontTool_vc12.vcxproj", "{4D53E40F-37E3-42B1-8848-F4C6F8313A17}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MeshConverter", "..\tools\MeshConverter\MeshConverter_vc12.vcxproj", "{E72B637E-4AA6-46F3-885F-AC67B4B470ED}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Demo", "Demo\Demo_vc12.vcxproj", "{6F076455-D955-45D4-9C68-4AD4E45F2D47}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Irrlicht", "..\source\Irrlicht\Irrlicht12.0.vcxproj", "{E08E042A-6C45-411B-92BE-3CC31331019F}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Release - Fast FPU|Win32 = Release - Fast FPU|Win32
+ Release - Fast FPU|x64 = Release - Fast FPU|x64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ SDL-Debug|Win32 = SDL-Debug|Win32
+ SDL-Debug|x64 = SDL-Debug|x64
+ Static lib - Debug|Win32 = Static lib - Debug|Win32
+ Static lib - Debug|x64 = Static lib - Debug|x64
+ Static lib - Release - Fast FPU|Win32 = Static lib - Release - Fast FPU|Win32
+ Static lib - Release - Fast FPU|x64 = Static lib - Release - Fast FPU|x64
+ Static lib - Release|Win32 = Static lib - Release|Win32
+ Static lib - Release|x64 = Static lib - Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Debug|Win32.ActiveCfg = Debug|Win32
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Debug|Win32.Build.0 = Debug|Win32
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Debug|x64.ActiveCfg = Debug|x64
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Debug|x64.Build.0 = Debug|x64
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Release|Win32.ActiveCfg = Release|Win32
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Release|Win32.Build.0 = Release|Win32
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Release|x64.ActiveCfg = Release|x64
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Release|x64.Build.0 = Release|x64
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.SDL-Debug|x64.Build.0 = Debug|x64
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Static lib - Release|x64.Build.0 = Release|x64
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Debug|Win32.ActiveCfg = Debug|Win32
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Debug|Win32.Build.0 = Debug|Win32
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Debug|x64.ActiveCfg = Debug|x64
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Debug|x64.Build.0 = Debug|x64
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Release|Win32.ActiveCfg = Release|Win32
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Release|Win32.Build.0 = Release|Win32
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Release|x64.ActiveCfg = Release|x64
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Release|x64.Build.0 = Release|x64
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.SDL-Debug|x64.Build.0 = Debug|x64
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Static lib - Release|x64.Build.0 = Release|x64
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Debug|Win32.ActiveCfg = Debug|Win32
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Debug|Win32.Build.0 = Debug|Win32
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Debug|x64.ActiveCfg = Debug|x64
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Debug|x64.Build.0 = Debug|x64
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Release|Win32.ActiveCfg = Release|Win32
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Release|Win32.Build.0 = Release|Win32
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Release|x64.ActiveCfg = Release|x64
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Release|x64.Build.0 = Release|x64
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.SDL-Debug|x64.Build.0 = Debug|x64
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Static lib - Release|x64.Build.0 = Release|x64
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Debug|Win32.ActiveCfg = Debug|Win32
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Debug|Win32.Build.0 = Debug|Win32
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Debug|x64.ActiveCfg = Debug|x64
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Debug|x64.Build.0 = Debug|x64
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Release|Win32.ActiveCfg = Release|Win32
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Release|Win32.Build.0 = Release|Win32
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Release|x64.ActiveCfg = Release|x64
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Release|x64.Build.0 = Release|x64
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.SDL-Debug|x64.Build.0 = Debug|x64
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Static lib - Release|x64.Build.0 = Release|x64
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Debug|Win32.ActiveCfg = Debug|Win32
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Debug|Win32.Build.0 = Debug|Win32
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Debug|x64.ActiveCfg = Debug|x64
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Debug|x64.Build.0 = Debug|x64
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Release|Win32.ActiveCfg = Release|Win32
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Release|Win32.Build.0 = Release|Win32
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Release|x64.ActiveCfg = Release|x64
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Release|x64.Build.0 = Release|x64
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.SDL-Debug|x64.Build.0 = Debug|x64
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Static lib - Release|x64.Build.0 = Release|x64
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Debug|Win32.ActiveCfg = Debug|Win32
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Debug|Win32.Build.0 = Debug|Win32
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Debug|x64.ActiveCfg = Debug|x64
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Debug|x64.Build.0 = Debug|x64
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Release|Win32.ActiveCfg = Release|Win32
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Release|Win32.Build.0 = Release|Win32
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Release|x64.ActiveCfg = Release|x64
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Release|x64.Build.0 = Release|x64
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.SDL-Debug|x64.Build.0 = Debug|x64
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Static lib - Release|x64.Build.0 = Release|x64
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Debug|Win32.Build.0 = Debug|Win32
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Debug|x64.ActiveCfg = Debug|x64
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Debug|x64.Build.0 = Debug|x64
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Release|Win32.ActiveCfg = Release|Win32
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Release|Win32.Build.0 = Release|Win32
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Release|x64.ActiveCfg = Release|x64
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Release|x64.Build.0 = Release|x64
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.SDL-Debug|x64.Build.0 = Debug|x64
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Static lib - Release|x64.Build.0 = Release|x64
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Debug|Win32.Build.0 = Debug|Win32
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Debug|x64.ActiveCfg = Debug|x64
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Debug|x64.Build.0 = Debug|x64
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Release|Win32.ActiveCfg = Release|Win32
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Release|Win32.Build.0 = Release|Win32
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Release|x64.ActiveCfg = Release|x64
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Release|x64.Build.0 = Release|x64
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.SDL-Debug|x64.Build.0 = Debug|x64
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Static lib - Release|x64.Build.0 = Release|x64
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Debug|Win32.ActiveCfg = Debug|Win32
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Debug|Win32.Build.0 = Debug|Win32
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Debug|x64.ActiveCfg = Debug|x64
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Debug|x64.Build.0 = Debug|x64
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Release|Win32.ActiveCfg = Release|Win32
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Release|Win32.Build.0 = Release|Win32
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Release|x64.ActiveCfg = Release|x64
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Release|x64.Build.0 = Release|x64
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.SDL-Debug|x64.Build.0 = Debug|x64
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Static lib - Release|x64.Build.0 = Release|x64
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Debug|Win32.ActiveCfg = Debug|Win32
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Debug|Win32.Build.0 = Debug|Win32
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Debug|x64.ActiveCfg = Debug|x64
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Debug|x64.Build.0 = Debug|x64
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Release|Win32.ActiveCfg = Release|Win32
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Release|Win32.Build.0 = Release|Win32
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Release|x64.ActiveCfg = Release|x64
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Release|x64.Build.0 = Release|x64
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.SDL-Debug|x64.Build.0 = Debug|x64
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Static lib - Release|x64.Build.0 = Release|x64
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Debug|Win32.Build.0 = Debug|Win32
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Debug|x64.ActiveCfg = Debug|x64
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Debug|x64.Build.0 = Debug|x64
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Release|Win32.ActiveCfg = Release|Win32
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Release|Win32.Build.0 = Release|Win32
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Release|x64.ActiveCfg = Release|x64
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Release|x64.Build.0 = Release|x64
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.SDL-Debug|x64.Build.0 = Debug|x64
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Static lib - Release|x64.Build.0 = Release|x64
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Debug|Win32.ActiveCfg = Debug|Win32
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Debug|Win32.Build.0 = Debug|Win32
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Debug|x64.ActiveCfg = Debug|x64
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Debug|x64.Build.0 = Debug|x64
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Release|Win32.ActiveCfg = Release|Win32
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Release|Win32.Build.0 = Release|Win32
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Release|x64.ActiveCfg = Release|x64
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Release|x64.Build.0 = Release|x64
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.SDL-Debug|x64.Build.0 = Debug|x64
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Static lib - Release|x64.Build.0 = Release|x64
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Debug|Win32.ActiveCfg = Debug|Win32
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Debug|Win32.Build.0 = Debug|Win32
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Debug|x64.ActiveCfg = Debug|x64
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Debug|x64.Build.0 = Debug|x64
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Release|Win32.ActiveCfg = Release|Win32
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Release|Win32.Build.0 = Release|Win32
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Release|x64.ActiveCfg = Release|x64
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Release|x64.Build.0 = Release|x64
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.SDL-Debug|x64.Build.0 = Debug|x64
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Static lib - Release|x64.Build.0 = Release|x64
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Debug|Win32.ActiveCfg = Debug|Win32
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Debug|Win32.Build.0 = Debug|Win32
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Debug|x64.ActiveCfg = Debug|x64
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Debug|x64.Build.0 = Debug|x64
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Release|Win32.ActiveCfg = Release|Win32
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Release|Win32.Build.0 = Release|Win32
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Release|x64.ActiveCfg = Release|x64
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Release|x64.Build.0 = Release|x64
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.SDL-Debug|x64.Build.0 = Debug|x64
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Static lib - Release|x64.Build.0 = Release|x64
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Debug|Win32.ActiveCfg = Debug|Win32
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Debug|Win32.Build.0 = Debug|Win32
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Debug|x64.ActiveCfg = Debug|x64
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Debug|x64.Build.0 = Debug|x64
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Release|Win32.ActiveCfg = Release|Win32
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Release|Win32.Build.0 = Release|Win32
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Release|x64.ActiveCfg = Release|x64
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Release|x64.Build.0 = Release|x64
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.SDL-Debug|x64.Build.0 = Debug|x64
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Static lib - Release|x64.Build.0 = Release|x64
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Debug|Win32.Build.0 = Debug|Win32
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Debug|x64.ActiveCfg = Debug|x64
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Debug|x64.Build.0 = Debug|x64
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Release|Win32.ActiveCfg = Release|Win32
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Release|Win32.Build.0 = Release|Win32
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Release|x64.ActiveCfg = Release|x64
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Release|x64.Build.0 = Release|x64
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.SDL-Debug|x64.Build.0 = Debug|x64
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Static lib - Release|x64.Build.0 = Release|x64
+ {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Debug|Win32.ActiveCfg = Debug|Win32
+ {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Debug|Win32.Build.0 = Debug|Win32
+ {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Debug|x64.ActiveCfg = Debug|x64
+ {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Debug|x64.Build.0 = Debug|x64
+ {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Release|Win32.ActiveCfg = Release|Win32
+ {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Release|Win32.Build.0 = Release|Win32
+ {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Release|x64.ActiveCfg = Release|x64
+ {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Release|x64.Build.0 = Release|x64
+ {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.SDL-Debug|x64.Build.0 = Debug|x64
+ {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Static lib - Release|x64.Build.0 = Release|x64
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Debug|Win32.ActiveCfg = Debug|Win32
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Debug|Win32.Build.0 = Debug|Win32
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Debug|x64.ActiveCfg = Debug|x64
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Debug|x64.Build.0 = Debug|x64
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Release|Win32.ActiveCfg = Release|Win32
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Release|Win32.Build.0 = Release|Win32
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Release|x64.ActiveCfg = Release|x64
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Release|x64.Build.0 = Release|x64
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.SDL-Debug|x64.Build.0 = Debug|x64
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Static lib - Release|x64.Build.0 = Release|x64
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Debug|Win32.ActiveCfg = Debug|Win32
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Debug|Win32.Build.0 = Debug|Win32
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Debug|x64.ActiveCfg = Debug|x64
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Debug|x64.Build.0 = Debug|x64
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Release|Win32.ActiveCfg = Release|Win32
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Release|Win32.Build.0 = Release|Win32
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Release|x64.ActiveCfg = Release|x64
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Release|x64.Build.0 = Release|x64
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.SDL-Debug|x64.Build.0 = Debug|x64
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Static lib - Release|x64.Build.0 = Release|x64
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Debug|Win32.ActiveCfg = Debug|Win32
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Debug|Win32.Build.0 = Debug|Win32
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Debug|x64.ActiveCfg = Debug|x64
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Debug|x64.Build.0 = Debug|x64
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Release|Win32.ActiveCfg = Release|Win32
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Release|Win32.Build.0 = Release|Win32
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Release|x64.ActiveCfg = Release|x64
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Release|x64.Build.0 = Release|x64
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.SDL-Debug|x64.Build.0 = Debug|x64
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Static lib - Release|x64.Build.0 = Release|x64
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Debug|Win32.ActiveCfg = Debug|Win32
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Debug|Win32.Build.0 = Debug|Win32
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Debug|x64.ActiveCfg = Debug|x64
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Debug|x64.Build.0 = Debug|x64
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Release|Win32.ActiveCfg = Release|Win32
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Release|Win32.Build.0 = Release|Win32
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Release|x64.ActiveCfg = Release|x64
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Release|x64.Build.0 = Release|x64
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.SDL-Debug|x64.Build.0 = Debug|x64
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Static lib - Release|x64.Build.0 = Release|x64
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Debug|Win32.ActiveCfg = Debug|Win32
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Debug|Win32.Build.0 = Debug|Win32
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Debug|x64.ActiveCfg = Debug|x64
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Debug|x64.Build.0 = Debug|x64
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Release|Win32.ActiveCfg = Release|Win32
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Release|Win32.Build.0 = Release|Win32
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Release|x64.ActiveCfg = Release|x64
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Release|x64.Build.0 = Release|x64
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.SDL-Debug|x64.Build.0 = Debug|x64
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Static lib - Release|x64.Build.0 = Release|x64
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Debug|Win32.ActiveCfg = Debug|Win32
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Debug|Win32.Build.0 = Debug|Win32
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Debug|x64.ActiveCfg = Debug|x64
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Debug|x64.Build.0 = Debug|x64
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Release|Win32.ActiveCfg = Release|Win32
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Release|Win32.Build.0 = Release|Win32
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Release|x64.ActiveCfg = Release|x64
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Release|x64.Build.0 = Release|x64
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.SDL-Debug|x64.Build.0 = Debug|x64
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Static lib - Release|x64.Build.0 = Release|x64
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Debug|Win32.ActiveCfg = Debug|Win32
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Debug|Win32.Build.0 = Debug|Win32
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Debug|x64.ActiveCfg = Debug|x64
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Debug|x64.Build.0 = Debug|x64
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Release|Win32.ActiveCfg = Release|Win32
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Release|Win32.Build.0 = Release|Win32
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Release|x64.ActiveCfg = Release|x64
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Release|x64.Build.0 = Release|x64
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.SDL-Debug|x64.Build.0 = Debug|x64
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Static lib - Release|x64.Build.0 = Release|x64
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Debug|Win32.Build.0 = Debug|Win32
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Debug|x64.ActiveCfg = Debug|x64
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Debug|x64.Build.0 = Debug|x64
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Release|Win32.ActiveCfg = Release|Win32
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Release|Win32.Build.0 = Release|Win32
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Release|x64.ActiveCfg = Release|x64
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Release|x64.Build.0 = Release|x64
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.SDL-Debug|x64.Build.0 = Debug|x64
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Static lib - Release|x64.Build.0 = Release|x64
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Debug|Win32.ActiveCfg = Debug|Win32
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Debug|Win32.Build.0 = Debug|Win32
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Debug|x64.ActiveCfg = Debug|x64
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Debug|x64.Build.0 = Debug|x64
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Release|Win32.ActiveCfg = Release|Win32
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Release|Win32.Build.0 = Release|Win32
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Release|x64.ActiveCfg = Release|x64
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Release|x64.Build.0 = Release|x64
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.SDL-Debug|x64.Build.0 = Debug|x64
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Static lib - Release|x64.Build.0 = Release|x64
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Debug|Win32.ActiveCfg = Debug|Win32
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Debug|Win32.Build.0 = Debug|Win32
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Debug|x64.ActiveCfg = Debug|x64
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Debug|x64.Build.0 = Debug|x64
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Release|Win32.ActiveCfg = Release|Win32
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Release|Win32.Build.0 = Release|Win32
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Release|x64.ActiveCfg = Release|x64
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Release|x64.Build.0 = Release|x64
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.SDL-Debug|x64.Build.0 = Debug|x64
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Static lib - Release|x64.Build.0 = Release|x64
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Debug|Win32.ActiveCfg = Debug|Win32
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Debug|Win32.Build.0 = Debug|Win32
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Debug|x64.ActiveCfg = Debug|x64
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Debug|x64.Build.0 = Debug|x64
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Release|Win32.ActiveCfg = Release|Win32
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Release|Win32.Build.0 = Release|Win32
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Release|x64.ActiveCfg = Release|x64
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Release|x64.Build.0 = Release|x64
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.SDL-Debug|x64.Build.0 = Debug|x64
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Static lib - Release|x64.Build.0 = Release|x64
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Debug|Win32.ActiveCfg = Debug|Win32
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Debug|Win32.Build.0 = Debug|Win32
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Debug|x64.ActiveCfg = Debug|x64
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Debug|x64.Build.0 = Debug|x64
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Release|Win32.ActiveCfg = Release|Win32
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Release|Win32.Build.0 = Release|Win32
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Release|x64.ActiveCfg = Release|x64
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Release|x64.Build.0 = Release|x64
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.SDL-Debug|x64.Build.0 = Debug|x64
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Static lib - Release|x64.Build.0 = Release|x64
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Debug|Win32.ActiveCfg = Debug|Win32
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Debug|Win32.Build.0 = Debug|Win32
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Debug|x64.ActiveCfg = Debug|x64
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Debug|x64.Build.0 = Debug|x64
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Release|Win32.ActiveCfg = Release|Win32
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Release|Win32.Build.0 = Release|Win32
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Release|x64.ActiveCfg = Release|x64
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Release|x64.Build.0 = Release|x64
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.SDL-Debug|x64.Build.0 = Debug|x64
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Static lib - Release|x64.Build.0 = Release|x64
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Debug|Win32.ActiveCfg = Debug|Win32
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Debug|Win32.Build.0 = Debug|Win32
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Debug|x64.ActiveCfg = Debug|x64
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Debug|x64.Build.0 = Debug|x64
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Release|Win32.ActiveCfg = Release|Win32
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Release|Win32.Build.0 = Release|Win32
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Release|x64.ActiveCfg = Release|x64
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Release|x64.Build.0 = Release|x64
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.SDL-Debug|x64.Build.0 = Debug|x64
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Static lib - Release|x64.Build.0 = Release|x64
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Debug|Win32.ActiveCfg = Debug|Win32
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Debug|Win32.Build.0 = Debug|Win32
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Debug|x64.ActiveCfg = Debug|x64
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Debug|x64.Build.0 = Debug|x64
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Release - Fast FPU|Win32.ActiveCfg = Release - Fast FPU|Win32
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Release - Fast FPU|Win32.Build.0 = Release - Fast FPU|Win32
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Release - Fast FPU|x64.ActiveCfg = Release - Fast FPU|x64
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Release - Fast FPU|x64.Build.0 = Release - Fast FPU|x64
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Release|Win32.ActiveCfg = Release|Win32
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Release|Win32.Build.0 = Release|Win32
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Release|x64.ActiveCfg = Release|x64
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Release|x64.Build.0 = Release|x64
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.SDL-Debug|Win32.ActiveCfg = SDL-Debug|Win32
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.SDL-Debug|Win32.Build.0 = SDL-Debug|Win32
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.SDL-Debug|x64.ActiveCfg = SDL-Debug|x64
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.SDL-Debug|x64.Build.0 = SDL-Debug|x64
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Static lib - Debug|Win32.ActiveCfg = Static lib - Debug|Win32
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Static lib - Debug|Win32.Build.0 = Static lib - Debug|Win32
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Static lib - Debug|x64.ActiveCfg = Static lib - Debug|x64
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Static lib - Debug|x64.Build.0 = Static lib - Debug|x64
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Static lib - Release - Fast FPU|Win32
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Static lib - Release - Fast FPU|Win32.Build.0 = Static lib - Release - Fast FPU|Win32
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Static lib - Release - Fast FPU|x64.ActiveCfg = Static lib - Release - Fast FPU|x64
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Static lib - Release - Fast FPU|x64.Build.0 = Static lib - Release - Fast FPU|x64
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Static lib - Release|Win32.ActiveCfg = Static lib - Release|Win32
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Static lib - Release|Win32.Build.0 = Static lib - Release|Win32
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Static lib - Release|x64.ActiveCfg = Static lib - Release|x64
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Static lib - Release|x64.Build.0 = Static lib - Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/examples/BuildAllExamples_vc14.sln b/examples/BuildAllExamples_vc14.sln
new file mode 100644
index 00000000..baa04847
--- /dev/null
+++ b/examples/BuildAllExamples_vc14.sln
@@ -0,0 +1,1039 @@
+
+Microsoft Visual Studio Solution File, Format Version 14.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.23107.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "01.HelloWorld", "01.HelloWorld\HelloWorld_vc14.vcxproj", "{5AD4C95C-BA38-4692-BA4B-8C25A86208F9}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02.Quake3Map", "02.Quake3Map\Quake3Map_vc14.vcxproj", "{D1A464A2-D479-458C-98A2-60965D823CD1}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "03.CustomSceneNode", "03.CustomSceneNode\CustomSceneNode_vc14.vcxproj", "{171CCDFA-C140-4956-8EB7-F0168F4521D3}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "04.Movement", "04.Movement\Movement_vc14.vcxproj", "{7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "05.UserInterface", "05.UserInterface\UserInterface_vc14.vcxproj", "{622C9DD7-0391-49FF-AF53-24F9D5A8EC53}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "06.2DGraphics", "06.2DGraphics\2DGraphics_vc14.vcxproj", "{E71B6F18-10DC-4101-A541-F6D33F71B2BD}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "07.Collision", "07.Collision\Collision_vc14.vcxproj", "{3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "08.SpecialFX", "08.SpecialFX\SpecialFX_vc14.vcxproj", "{C869BF55-B9D6-4980-BC92-60FA0CF8411A}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "09.Meshviewer", "09.Meshviewer\Meshviewer_vc14.vcxproj", "{2AE24484-22FC-481B-9A40-7CD0DA5C8E06}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "10.Shaders", "10.Shaders\Shaders_vc14.vcxproj", "{27158C82-CD15-4A9B-9848-35E7065B209F}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "11.PerPixelLighting", "11.PerPixelLighting\PerPixelLighting_vc14.vcxproj", "{C4B42409-542D-4EFC-9E6B-44713FD47A33}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "12.TerrainRendering", "12.TerrainRendering\TerrainRendering_vc14.vcxproj", "{3A5B74E5-6390-43B0-A459-2793B81FFD31}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "13.RenderToTexture", "13.RenderToTexture\RenderToTexture_vc14.vcxproj", "{0914E5C8-5352-467B-8421-C9EB35BD5596}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "14.Win32Window", "14.Win32Window\Win32Window_vc14.vcxproj", "{772FBE05-D05A-467B-9842-BEC409EEA8D0}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "15.LoadIrrFile", "15.LoadIrrFile\LoadIrrFile_vc14.vcxproj", "{78C9F424-523C-49AC-94B7-823AA4A26BF9}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "16.Quake3MapShader", "16.Quake3MapShader\Quake3MapShader_vc14.vcxproj", "{EB3B38EA-5CE7-4983-845B-880661E69D09}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "18.SplitScreen", "18.SplitScreen\SplitScreen_vc14.vcxproj", "{1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "19.MouseAndJoystick", "19.MouseAndJoystick\MouseAndJoystick_vc14.vcxproj", "{FE853A36-E0D1-4AC5-A792-B643E70D2953}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "20.ManagedLights", "20.ManagedLights\ManagedLights_vc14.vcxproj", "{16007FE2-142B-47F8-93E1-519BA3F39E71}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "21.Quake3Explorer", "21.Quake3Explorer\Quake3Explorer_vc14.vcxproj", "{CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "22.MaterialViewer", "22.MaterialViewer\MaterialViewer_vc14.vcxproj", "{4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "23.SMeshHandling", "23.SMeshHandling\SMeshHandling_vc14.vcxproj", "{6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "24.CursorControl", "24.CursorControl\CursorControl_vc14.vcxproj", "{02B67A37-50E1-49DB-BECF-905BC029C2FE}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "25.XmlHandling", "25.XmlHandling\XmlHandling_vc14.vcxproj", "{8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "26.OcclusionQuery", "26.OcclusionQuery\OcclusionQuery_vc14.vcxproj", "{5CE0E2E7-879D-4152-B61D-24E7D0707B45}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "30.Profiling", "30.Profiling\Profiling_vc14.vcxproj", "{65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GUIEditor", "..\tools\GUIEditor\GUI Editor_vc14.vcxproj", "{853A396E-C031-4C26-A716-5B4E176BE11D}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FontTool", "..\tools\IrrFontTool\newFontTool\irrFontTool_vc14.vcxproj", "{4D53E40F-37E3-42B1-8848-F4C6F8313A17}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MeshConverter", "..\tools\MeshConverter\MeshConverter_vc14.vcxproj", "{E72B637E-4AA6-46F3-885F-AC67B4B470ED}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Demo", "Demo\Demo_vc14.vcxproj", "{6F076455-D955-45D4-9C68-4AD4E45F2D47}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Irrlicht", "..\source\Irrlicht\Irrlicht14.0.vcxproj", "{E08E042A-6C45-411B-92BE-3CC31331019F}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Release - Fast FPU|Win32 = Release - Fast FPU|Win32
+ Release - Fast FPU|x64 = Release - Fast FPU|x64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ SDL-Debug|Win32 = SDL-Debug|Win32
+ SDL-Debug|x64 = SDL-Debug|x64
+ Static lib - Debug|Win32 = Static lib - Debug|Win32
+ Static lib - Debug|x64 = Static lib - Debug|x64
+ Static lib - Release - Fast FPU|Win32 = Static lib - Release - Fast FPU|Win32
+ Static lib - Release - Fast FPU|x64 = Static lib - Release - Fast FPU|x64
+ Static lib - Release|Win32 = Static lib - Release|Win32
+ Static lib - Release|x64 = Static lib - Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Debug|Win32.ActiveCfg = Debug|Win32
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Debug|Win32.Build.0 = Debug|Win32
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Debug|x64.ActiveCfg = Debug|x64
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Debug|x64.Build.0 = Debug|x64
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Release|Win32.ActiveCfg = Release|Win32
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Release|Win32.Build.0 = Release|Win32
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Release|x64.ActiveCfg = Release|x64
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Release|x64.Build.0 = Release|x64
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.SDL-Debug|x64.Build.0 = Debug|x64
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {5AD4C95C-BA38-4692-BA4B-8C25A86208F9}.Static lib - Release|x64.Build.0 = Release|x64
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Debug|Win32.ActiveCfg = Debug|Win32
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Debug|Win32.Build.0 = Debug|Win32
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Debug|x64.ActiveCfg = Debug|x64
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Debug|x64.Build.0 = Debug|x64
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Release|Win32.ActiveCfg = Release|Win32
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Release|Win32.Build.0 = Release|Win32
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Release|x64.ActiveCfg = Release|x64
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Release|x64.Build.0 = Release|x64
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.SDL-Debug|x64.Build.0 = Debug|x64
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {D1A464A2-D479-458C-98A2-60965D823CD1}.Static lib - Release|x64.Build.0 = Release|x64
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Debug|Win32.ActiveCfg = Debug|Win32
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Debug|Win32.Build.0 = Debug|Win32
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Debug|x64.ActiveCfg = Debug|x64
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Debug|x64.Build.0 = Debug|x64
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Release|Win32.ActiveCfg = Release|Win32
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Release|Win32.Build.0 = Release|Win32
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Release|x64.ActiveCfg = Release|x64
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Release|x64.Build.0 = Release|x64
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.SDL-Debug|x64.Build.0 = Debug|x64
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {171CCDFA-C140-4956-8EB7-F0168F4521D3}.Static lib - Release|x64.Build.0 = Release|x64
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Debug|Win32.ActiveCfg = Debug|Win32
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Debug|Win32.Build.0 = Debug|Win32
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Debug|x64.ActiveCfg = Debug|x64
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Debug|x64.Build.0 = Debug|x64
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Release|Win32.ActiveCfg = Release|Win32
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Release|Win32.Build.0 = Release|Win32
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Release|x64.ActiveCfg = Release|x64
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Release|x64.Build.0 = Release|x64
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.SDL-Debug|x64.Build.0 = Debug|x64
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}.Static lib - Release|x64.Build.0 = Release|x64
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Debug|Win32.ActiveCfg = Debug|Win32
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Debug|Win32.Build.0 = Debug|Win32
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Debug|x64.ActiveCfg = Debug|x64
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Debug|x64.Build.0 = Debug|x64
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Release|Win32.ActiveCfg = Release|Win32
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Release|Win32.Build.0 = Release|Win32
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Release|x64.ActiveCfg = Release|x64
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Release|x64.Build.0 = Release|x64
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.SDL-Debug|x64.Build.0 = Debug|x64
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {622C9DD7-0391-49FF-AF53-24F9D5A8EC53}.Static lib - Release|x64.Build.0 = Release|x64
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Debug|Win32.ActiveCfg = Debug|Win32
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Debug|Win32.Build.0 = Debug|Win32
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Debug|x64.ActiveCfg = Debug|x64
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Debug|x64.Build.0 = Debug|x64
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Release|Win32.ActiveCfg = Release|Win32
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Release|Win32.Build.0 = Release|Win32
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Release|x64.ActiveCfg = Release|x64
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Release|x64.Build.0 = Release|x64
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.SDL-Debug|x64.Build.0 = Debug|x64
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {E71B6F18-10DC-4101-A541-F6D33F71B2BD}.Static lib - Release|x64.Build.0 = Release|x64
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Debug|Win32.Build.0 = Debug|Win32
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Debug|x64.ActiveCfg = Debug|x64
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Debug|x64.Build.0 = Debug|x64
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Release|Win32.ActiveCfg = Release|Win32
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Release|Win32.Build.0 = Release|Win32
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Release|x64.ActiveCfg = Release|x64
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Release|x64.Build.0 = Release|x64
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.SDL-Debug|x64.Build.0 = Debug|x64
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {3E30297B-5BE3-4A5C-B31E-08A28ADDB29E}.Static lib - Release|x64.Build.0 = Release|x64
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Debug|Win32.Build.0 = Debug|Win32
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Debug|x64.ActiveCfg = Debug|x64
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Debug|x64.Build.0 = Debug|x64
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Release|Win32.ActiveCfg = Release|Win32
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Release|Win32.Build.0 = Release|Win32
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Release|x64.ActiveCfg = Release|x64
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Release|x64.Build.0 = Release|x64
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.SDL-Debug|x64.Build.0 = Debug|x64
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {C869BF55-B9D6-4980-BC92-60FA0CF8411A}.Static lib - Release|x64.Build.0 = Release|x64
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Debug|Win32.ActiveCfg = Debug|Win32
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Debug|Win32.Build.0 = Debug|Win32
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Debug|x64.ActiveCfg = Debug|x64
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Debug|x64.Build.0 = Debug|x64
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Release|Win32.ActiveCfg = Release|Win32
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Release|Win32.Build.0 = Release|Win32
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Release|x64.ActiveCfg = Release|x64
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Release|x64.Build.0 = Release|x64
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.SDL-Debug|x64.Build.0 = Debug|x64
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {2AE24484-22FC-481B-9A40-7CD0DA5C8E06}.Static lib - Release|x64.Build.0 = Release|x64
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Debug|Win32.ActiveCfg = Debug|Win32
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Debug|Win32.Build.0 = Debug|Win32
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Debug|x64.ActiveCfg = Debug|x64
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Debug|x64.Build.0 = Debug|x64
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Release|Win32.ActiveCfg = Release|Win32
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Release|Win32.Build.0 = Release|Win32
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Release|x64.ActiveCfg = Release|x64
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Release|x64.Build.0 = Release|x64
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.SDL-Debug|x64.Build.0 = Debug|x64
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {27158C82-CD15-4A9B-9848-35E7065B209F}.Static lib - Release|x64.Build.0 = Release|x64
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Debug|Win32.Build.0 = Debug|Win32
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Debug|x64.ActiveCfg = Debug|x64
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Debug|x64.Build.0 = Debug|x64
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Release|Win32.ActiveCfg = Release|Win32
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Release|Win32.Build.0 = Release|Win32
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Release|x64.ActiveCfg = Release|x64
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Release|x64.Build.0 = Release|x64
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.SDL-Debug|x64.Build.0 = Debug|x64
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {C4B42409-542D-4EFC-9E6B-44713FD47A33}.Static lib - Release|x64.Build.0 = Release|x64
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Debug|Win32.ActiveCfg = Debug|Win32
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Debug|Win32.Build.0 = Debug|Win32
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Debug|x64.ActiveCfg = Debug|x64
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Debug|x64.Build.0 = Debug|x64
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Release|Win32.ActiveCfg = Release|Win32
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Release|Win32.Build.0 = Release|Win32
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Release|x64.ActiveCfg = Release|x64
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Release|x64.Build.0 = Release|x64
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.SDL-Debug|x64.Build.0 = Debug|x64
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {3A5B74E5-6390-43B0-A459-2793B81FFD31}.Static lib - Release|x64.Build.0 = Release|x64
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Debug|Win32.ActiveCfg = Debug|Win32
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Debug|Win32.Build.0 = Debug|Win32
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Debug|x64.ActiveCfg = Debug|x64
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Debug|x64.Build.0 = Debug|x64
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Release|Win32.ActiveCfg = Release|Win32
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Release|Win32.Build.0 = Release|Win32
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Release|x64.ActiveCfg = Release|x64
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Release|x64.Build.0 = Release|x64
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.SDL-Debug|x64.Build.0 = Debug|x64
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {0914E5C8-5352-467B-8421-C9EB35BD5596}.Static lib - Release|x64.Build.0 = Release|x64
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Debug|Win32.ActiveCfg = Debug|Win32
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Debug|Win32.Build.0 = Debug|Win32
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Debug|x64.ActiveCfg = Debug|x64
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Debug|x64.Build.0 = Debug|x64
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Release|Win32.ActiveCfg = Release|Win32
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Release|Win32.Build.0 = Release|Win32
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Release|x64.ActiveCfg = Release|x64
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Release|x64.Build.0 = Release|x64
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.SDL-Debug|x64.Build.0 = Debug|x64
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {772FBE05-D05A-467B-9842-BEC409EEA8D0}.Static lib - Release|x64.Build.0 = Release|x64
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Debug|Win32.ActiveCfg = Debug|Win32
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Debug|Win32.Build.0 = Debug|Win32
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Debug|x64.ActiveCfg = Debug|x64
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Debug|x64.Build.0 = Debug|x64
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Release|Win32.ActiveCfg = Release|Win32
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Release|Win32.Build.0 = Release|Win32
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Release|x64.ActiveCfg = Release|x64
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Release|x64.Build.0 = Release|x64
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.SDL-Debug|x64.Build.0 = Debug|x64
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {78C9F424-523C-49AC-94B7-823AA4A26BF9}.Static lib - Release|x64.Build.0 = Release|x64
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Debug|Win32.Build.0 = Debug|Win32
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Debug|x64.ActiveCfg = Debug|x64
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Debug|x64.Build.0 = Debug|x64
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Release|Win32.ActiveCfg = Release|Win32
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Release|Win32.Build.0 = Release|Win32
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Release|x64.ActiveCfg = Release|x64
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Release|x64.Build.0 = Release|x64
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.SDL-Debug|x64.Build.0 = Debug|x64
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {EB3B38EA-5CE7-4983-845B-880661E69D09}.Static lib - Release|x64.Build.0 = Release|x64
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Debug|Win32.ActiveCfg = Debug|Win32
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Debug|Win32.Build.0 = Debug|Win32
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Debug|x64.ActiveCfg = Debug|x64
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Debug|x64.Build.0 = Debug|x64
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Release|Win32.ActiveCfg = Release|Win32
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Release|Win32.Build.0 = Release|Win32
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Release|x64.ActiveCfg = Release|x64
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Release|x64.Build.0 = Release|x64
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.SDL-Debug|x64.Build.0 = Debug|x64
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Static lib - Release|x64.Build.0 = Release|x64
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Debug|Win32.ActiveCfg = Debug|Win32
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Debug|Win32.Build.0 = Debug|Win32
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Debug|x64.ActiveCfg = Debug|x64
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Debug|x64.Build.0 = Debug|x64
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Release|Win32.ActiveCfg = Release|Win32
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Release|Win32.Build.0 = Release|Win32
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Release|x64.ActiveCfg = Release|x64
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Release|x64.Build.0 = Release|x64
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.SDL-Debug|x64.Build.0 = Debug|x64
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {FE853A36-E0D1-4AC5-A792-B643E70D2953}.Static lib - Release|x64.Build.0 = Release|x64
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Debug|Win32.ActiveCfg = Debug|Win32
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Debug|Win32.Build.0 = Debug|Win32
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Debug|x64.ActiveCfg = Debug|x64
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Debug|x64.Build.0 = Debug|x64
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Release|Win32.ActiveCfg = Release|Win32
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Release|Win32.Build.0 = Release|Win32
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Release|x64.ActiveCfg = Release|x64
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Release|x64.Build.0 = Release|x64
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.SDL-Debug|x64.Build.0 = Debug|x64
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {16007FE2-142B-47F8-93E1-519BA3F39E71}.Static lib - Release|x64.Build.0 = Release|x64
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Debug|Win32.ActiveCfg = Debug|Win32
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Debug|Win32.Build.0 = Debug|Win32
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Debug|x64.ActiveCfg = Debug|x64
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Debug|x64.Build.0 = Debug|x64
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Release|Win32.ActiveCfg = Release|Win32
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Release|Win32.Build.0 = Release|Win32
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Release|x64.ActiveCfg = Release|x64
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Release|x64.Build.0 = Release|x64
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.SDL-Debug|x64.Build.0 = Debug|x64
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Static lib - Release|x64.Build.0 = Release|x64
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Debug|Win32.ActiveCfg = Debug|Win32
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Debug|Win32.Build.0 = Debug|Win32
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Debug|x64.ActiveCfg = Debug|x64
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Debug|x64.Build.0 = Debug|x64
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Release|Win32.ActiveCfg = Release|Win32
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Release|Win32.Build.0 = Release|Win32
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Release|x64.ActiveCfg = Release|x64
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Release|x64.Build.0 = Release|x64
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.SDL-Debug|x64.Build.0 = Debug|x64
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Static lib - Release|x64.Build.0 = Release|x64
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Debug|Win32.ActiveCfg = Debug|Win32
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Debug|Win32.Build.0 = Debug|Win32
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Debug|x64.ActiveCfg = Debug|x64
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Debug|x64.Build.0 = Debug|x64
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Release|Win32.ActiveCfg = Release|Win32
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Release|Win32.Build.0 = Release|Win32
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Release|x64.ActiveCfg = Release|x64
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Release|x64.Build.0 = Release|x64
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.SDL-Debug|x64.Build.0 = Debug|x64
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Static lib - Release|x64.Build.0 = Release|x64
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Debug|Win32.ActiveCfg = Debug|Win32
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Debug|Win32.Build.0 = Debug|Win32
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Debug|x64.ActiveCfg = Debug|x64
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Debug|x64.Build.0 = Debug|x64
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Release|Win32.ActiveCfg = Release|Win32
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Release|Win32.Build.0 = Release|Win32
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Release|x64.ActiveCfg = Release|x64
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Release|x64.Build.0 = Release|x64
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.SDL-Debug|x64.Build.0 = Debug|x64
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {02B67A37-50E1-49DB-BECF-905BC029C2FE}.Static lib - Release|x64.Build.0 = Release|x64
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Debug|Win32.Build.0 = Debug|Win32
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Debug|x64.ActiveCfg = Debug|x64
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Debug|x64.Build.0 = Debug|x64
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Release|Win32.ActiveCfg = Release|Win32
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Release|Win32.Build.0 = Release|Win32
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Release|x64.ActiveCfg = Release|x64
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Release|x64.Build.0 = Release|x64
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.SDL-Debug|x64.Build.0 = Debug|x64
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Static lib - Release|x64.Build.0 = Release|x64
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Debug|Win32.ActiveCfg = Debug|Win32
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Debug|Win32.Build.0 = Debug|Win32
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Debug|x64.ActiveCfg = Debug|x64
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Debug|x64.Build.0 = Debug|x64
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Release|Win32.ActiveCfg = Release|Win32
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Release|Win32.Build.0 = Release|Win32
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Release|x64.ActiveCfg = Release|x64
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Release|x64.Build.0 = Release|x64
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.SDL-Debug|x64.Build.0 = Debug|x64
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {5CE0E2E7-879D-4152-B61D-24E7D0707B45}.Static lib - Release|x64.Build.0 = Release|x64
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Debug|Win32.ActiveCfg = Debug|Win32
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Debug|Win32.Build.0 = Debug|Win32
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Debug|x64.ActiveCfg = Debug|x64
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Debug|x64.Build.0 = Debug|x64
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Release|Win32.ActiveCfg = Release|Win32
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Release|Win32.Build.0 = Release|Win32
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Release|x64.ActiveCfg = Release|x64
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Release|x64.Build.0 = Release|x64
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.SDL-Debug|x64.Build.0 = Debug|x64
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {65D9DE2E-B73E-4ADF-96D1-BF4A8B7F4F97}.Static lib - Release|x64.Build.0 = Release|x64
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Debug|Win32.ActiveCfg = Debug|Win32
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Debug|Win32.Build.0 = Debug|Win32
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Debug|x64.ActiveCfg = Debug|x64
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Debug|x64.Build.0 = Debug|x64
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Release|Win32.ActiveCfg = Release|Win32
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Release|Win32.Build.0 = Release|Win32
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Release|x64.ActiveCfg = Release|x64
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Release|x64.Build.0 = Release|x64
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.SDL-Debug|x64.Build.0 = Debug|x64
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {853A396E-C031-4C26-A716-5B4E176BE11D}.Static lib - Release|x64.Build.0 = Release|x64
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Debug|Win32.ActiveCfg = Debug|Win32
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Debug|Win32.Build.0 = Debug|Win32
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Debug|x64.ActiveCfg = Debug|x64
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Debug|x64.Build.0 = Debug|x64
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Release|Win32.ActiveCfg = Release|Win32
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Release|Win32.Build.0 = Release|Win32
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Release|x64.ActiveCfg = Release|x64
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Release|x64.Build.0 = Release|x64
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.SDL-Debug|x64.Build.0 = Debug|x64
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {4D53E40F-37E3-42B1-8848-F4C6F8313A17}.Static lib - Release|x64.Build.0 = Release|x64
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Debug|Win32.ActiveCfg = Debug|Win32
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Debug|Win32.Build.0 = Debug|Win32
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Debug|x64.ActiveCfg = Debug|x64
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Debug|x64.Build.0 = Debug|x64
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Release|Win32.ActiveCfg = Release|Win32
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Release|Win32.Build.0 = Release|Win32
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Release|x64.ActiveCfg = Release|x64
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Release|x64.Build.0 = Release|x64
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.SDL-Debug|x64.Build.0 = Debug|x64
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Static lib - Release|x64.Build.0 = Release|x64
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Debug|Win32.ActiveCfg = Debug|Win32
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Debug|Win32.Build.0 = Debug|Win32
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Debug|x64.ActiveCfg = Debug|x64
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Debug|x64.Build.0 = Debug|x64
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Release - Fast FPU|x64.Build.0 = Release|x64
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Release|Win32.ActiveCfg = Release|Win32
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Release|Win32.Build.0 = Release|Win32
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Release|x64.ActiveCfg = Release|x64
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Release|x64.Build.0 = Release|x64
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.SDL-Debug|Win32.ActiveCfg = Debug|Win32
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.SDL-Debug|Win32.Build.0 = Debug|Win32
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.SDL-Debug|x64.ActiveCfg = Debug|x64
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.SDL-Debug|x64.Build.0 = Debug|x64
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Static lib - Debug|Win32.ActiveCfg = Debug|Win32
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Static lib - Debug|Win32.Build.0 = Debug|Win32
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Static lib - Debug|x64.ActiveCfg = Debug|x64
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Static lib - Debug|x64.Build.0 = Debug|x64
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Release|Win32
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Static lib - Release - Fast FPU|Win32.Build.0 = Release|Win32
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Static lib - Release - Fast FPU|x64.ActiveCfg = Release|x64
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Static lib - Release - Fast FPU|x64.Build.0 = Release|x64
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Static lib - Release|Win32.ActiveCfg = Release|Win32
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Static lib - Release|Win32.Build.0 = Release|Win32
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Static lib - Release|x64.ActiveCfg = Release|x64
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}.Static lib - Release|x64.Build.0 = Release|x64
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Debug|Win32.ActiveCfg = Debug|Win32
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Debug|Win32.Build.0 = Debug|Win32
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Debug|x64.ActiveCfg = Debug|x64
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Debug|x64.Build.0 = Debug|x64
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Release - Fast FPU|Win32.ActiveCfg = Release - Fast FPU|Win32
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Release - Fast FPU|Win32.Build.0 = Release - Fast FPU|Win32
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Release - Fast FPU|x64.ActiveCfg = Release - Fast FPU|x64
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Release - Fast FPU|x64.Build.0 = Release - Fast FPU|x64
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Release|Win32.ActiveCfg = Release|Win32
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Release|Win32.Build.0 = Release|Win32
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Release|x64.ActiveCfg = Release|x64
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Release|x64.Build.0 = Release|x64
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.SDL-Debug|Win32.ActiveCfg = SDL-Debug|Win32
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.SDL-Debug|Win32.Build.0 = SDL-Debug|Win32
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.SDL-Debug|x64.ActiveCfg = SDL-Debug|x64
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.SDL-Debug|x64.Build.0 = SDL-Debug|x64
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Static lib - Debug|Win32.ActiveCfg = Static lib - Debug|Win32
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Static lib - Debug|Win32.Build.0 = Static lib - Debug|Win32
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Static lib - Debug|x64.ActiveCfg = Static lib - Debug|x64
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Static lib - Debug|x64.Build.0 = Static lib - Debug|x64
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Static lib - Release - Fast FPU|Win32.ActiveCfg = Static lib - Release - Fast FPU|Win32
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Static lib - Release - Fast FPU|Win32.Build.0 = Static lib - Release - Fast FPU|Win32
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Static lib - Release - Fast FPU|x64.ActiveCfg = Static lib - Release - Fast FPU|x64
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Static lib - Release - Fast FPU|x64.Build.0 = Static lib - Release - Fast FPU|x64
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Static lib - Release|Win32.ActiveCfg = Static lib - Release|Win32
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Static lib - Release|Win32.Build.0 = Static lib - Release|Win32
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Static lib - Release|x64.ActiveCfg = Static lib - Release|x64
+ {E08E042A-6C45-411B-92BE-3CC31331019F}.Static lib - Release|x64.Build.0 = Static lib - Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/examples/Demo/CDemo.cpp b/examples/Demo/CDemo.cpp
index 82400257..e9babcdf 100644
--- a/examples/Demo/CDemo.cpp
+++ b/examples/Demo/CDemo.cpp
@@ -2,6 +2,7 @@
// This file is not documented.
#include "CDemo.h"
+#include "exampleHelper.h"
CDemo::CDemo(bool f, bool m, bool s, bool a, bool v, bool fsaa, video::E_DRIVER_TYPE d)
: fullscreen(f), music(m), shadows(s), additive(a), vsync(v), aa(fsaa),
@@ -59,14 +60,16 @@ void CDemo::run()
if (!device)
return;
+ const io::path mediaPath = getExampleMediaPath();
+
if (device->getFileSystem()->existFile("irrlicht.dat"))
device->getFileSystem()->addFileArchive("irrlicht.dat");
else
- device->getFileSystem()->addFileArchive("../../media/irrlicht.dat");
+ device->getFileSystem()->addFileArchive(mediaPath + "irrlicht.dat");
if (device->getFileSystem()->existFile("map-20kdm2.pk3"))
device->getFileSystem()->addFileArchive("map-20kdm2.pk3");
else
- device->getFileSystem()->addFileArchive("../../media/map-20kdm2.pk3");
+ device->getFileSystem()->addFileArchive(mediaPath + "map-20kdm2.pk3");
video::IVideoDriver* driver = device->getVideoDriver();
scene::ISceneManager* smgr = device->getSceneManager();
@@ -102,7 +105,12 @@ void CDemo::run()
createParticleImpacts();
- driver->beginScene(timeForThisScene != -1, true, backColor);
+ u16 clearFlag = video::ECBF_DEPTH;
+
+ if (timeForThisScene != -1)
+ clearFlag |= video::ECBF_COLOR;
+
+ driver->beginScene(clearFlag, backColor);
smgr->drawAll();
guienv->drawAll();
@@ -111,7 +119,7 @@ void CDemo::run()
// write statistics
const s32 nowfps = driver->getFPS();
- swprintf(tmp, 255, L"%ls fps:%3d triangles:%0.3f mio/s",
+ swprintf_irr(tmp, 255, L"%ls fps:%3d triangles:%0.3f mio/s",
driver->getName(), driver->getFPS(),
driver->getPrimitiveCountDrawn(1) * (1.f / 1000000.f));
@@ -405,16 +413,18 @@ void CDemo::loadSceneData()
}
}
+ const io::path mediaPath = getExampleMediaPath();
+
// load sydney model and create 2 instances
scene::IAnimatedMesh* mesh = 0;
- mesh = sm->getMesh("../../media/sydney.md2");
+ mesh = sm->getMesh(mediaPath + "sydney.md2");
if (mesh)
{
model1 = sm->addAnimatedMeshSceneNode(mesh);
if (model1)
{
- model1->setMaterialTexture(0, driver->getTexture("../../media/spheremap.jpg"));
+ model1->setMaterialTexture(0, driver->getTexture(mediaPath + "spheremap.jpg"));
model1->setPosition(core::vector3df(100,40,-80));
model1->setScale(core::vector3df(2,2,2));
model1->setMD2Animation(scene::EMAT_STAND);
@@ -430,7 +440,7 @@ void CDemo::loadSceneData()
model2->setPosition(core::vector3df(180,15,-60));
model2->setScale(core::vector3df(2,2,2));
model2->setMD2Animation(scene::EMAT_RUN);
- model2->setMaterialTexture(0, device->getVideoDriver()->getTexture("../../media/sydney.bmp"));
+ model2->setMaterialTexture(0, device->getVideoDriver()->getTexture(mediaPath + "sydney.bmp"));
model2->setMaterialFlag(video::EMF_LIGHTING, true);
model2->setMaterialFlag(video::EMF_NORMALIZE_NORMALS, true);
model2->addShadowVolumeSceneNode();
@@ -442,12 +452,12 @@ void CDemo::loadSceneData()
// create sky box
driver->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS, false);
skyboxNode = sm->addSkyBoxSceneNode(
- driver->getTexture("../../media/irrlicht2_up.jpg"),
- driver->getTexture("../../media/irrlicht2_dn.jpg"),
- driver->getTexture("../../media/irrlicht2_lf.jpg"),
- driver->getTexture("../../media/irrlicht2_rt.jpg"),
- driver->getTexture("../../media/irrlicht2_ft.jpg"),
- driver->getTexture("../../media/irrlicht2_bk.jpg"));
+ driver->getTexture(mediaPath + "irrlicht2_up.jpg"),
+ driver->getTexture(mediaPath + "irrlicht2_dn.jpg"),
+ driver->getTexture(mediaPath + "irrlicht2_lf.jpg"),
+ driver->getTexture(mediaPath + "irrlicht2_rt.jpg"),
+ driver->getTexture(mediaPath + "irrlicht2_ft.jpg"),
+ driver->getTexture(mediaPath + "irrlicht2_bk.jpg"));
driver->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS, true);
// create walk-between-portals animation
@@ -469,7 +479,7 @@ void CDemo::loadSceneData()
core::array textures;
for (s32 g=1; g<8; ++g)
{
- core::stringc tmp("../../media/portal");
+ core::stringc tmp(mediaPath + "portal");
tmp += g;
tmp += ".bmp";
video::ITexture* t = driver->getTexture( tmp );
@@ -487,7 +497,7 @@ void CDemo::loadSceneData()
bill = sm->addBillboardSceneNode(0, core::dimension2d(100,100),
waypoint[r]+ core::vector3df(0,20,0));
bill->setMaterialFlag(video::EMF_LIGHTING, false);
- bill->setMaterialTexture(0, driver->getTexture("../../media/portal1.bmp"));
+ bill->setMaterialTexture(0, driver->getTexture(mediaPath + "portal1.bmp"));
bill->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
bill->addAnimator(anim);
}
@@ -510,7 +520,7 @@ void CDemo::loadSceneData()
bill = device->getSceneManager()->addBillboardSceneNode(
light, core::dimension2d(40,40));
bill->setMaterialFlag(video::EMF_LIGHTING, false);
- bill->setMaterialTexture(0, driver->getTexture("../../media/particlewhite.bmp"));
+ bill->setMaterialTexture(0, driver->getTexture(mediaPath + "particlewhite.bmp"));
bill->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
// create meta triangle selector with all triangles selectors in it.
@@ -539,7 +549,7 @@ void CDemo::loadSceneData()
campFire->setMaterialFlag(video::EMF_LIGHTING, false);
campFire->setMaterialFlag(video::EMF_ZWRITE_ENABLE, false);
- campFire->setMaterialTexture(0, driver->getTexture("../../media/fireball.bmp"));
+ campFire->setMaterialTexture(0, driver->getTexture(mediaPath + "fireball.bmp"));
campFire->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
// load music
@@ -570,8 +580,10 @@ void CDemo::createLoadingScreen()
inOutFader = device->getGUIEnvironment()->addInOutFader();
inOutFader->setColor(backColor, video::SColor ( 0, 230, 230, 230 ));
+ const io::path mediaPath = getExampleMediaPath();
+
// irrlicht logo
- device->getGUIEnvironment()->addImage(device->getVideoDriver()->getTexture("../../media/irrlichtlogo2.png"),
+ device->getGUIEnvironment()->addImage(device->getVideoDriver()->getTexture(mediaPath + "irrlichtlogo2.png"),
core::position2d(5,5));
// loading text
@@ -588,7 +600,7 @@ void CDemo::createLoadingScreen()
// load bigger font
device->getGUIEnvironment()->getSkin()->setFont(
- device->getGUIEnvironment()->getFont("../../media/fonthaettenschweiler.bmp"));
+ device->getGUIEnvironment()->getFont(mediaPath + "fonthaettenschweiler.bmp"));
// set new font color
@@ -649,7 +661,7 @@ void CDemo::shoot()
core::dimension2d(25,25), start);
node->setMaterialFlag(video::EMF_LIGHTING, false);
- node->setMaterialTexture(0, device->getVideoDriver()->getTexture("../../media/fireball.bmp"));
+ node->setMaterialTexture(0, device->getVideoDriver()->getTexture(getExampleMediaPath() + "fireball.bmp"));
node->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
f32 length = (f32)(end - start).getLength();
@@ -716,7 +728,7 @@ void CDemo::createParticleImpacts()
pas->setMaterialFlag(video::EMF_LIGHTING, false);
pas->setMaterialFlag(video::EMF_ZWRITE_ENABLE, false);
- pas->setMaterialTexture(0, device->getVideoDriver()->getTexture("../../media/smoke.bmp"));
+ pas->setMaterialTexture(0, device->getVideoDriver()->getTexture(getExampleMediaPath() + "smoke.bmp"));
pas->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
scene::ISceneNodeAnimator* anim = sm->createDeleteAnimator(2000);
@@ -759,9 +771,11 @@ void CDemo::startIrrKlang()
if (!irrKlang)
return;
+ const io::path mediaPath = getExampleMediaPath();
+
// play music
- irrklang::ISound* snd = irrKlang->play2D("../../media/IrrlichtTheme.ogg", true, false, true);
+ irrklang::ISound* snd = irrKlang->play2D((mediaPath + "IrrlichtTheme.ogg").c_str(), true, false, true);
if ( !snd )
snd = irrKlang->play2D("IrrlichtTheme.ogg", true, false, true);
@@ -773,8 +787,8 @@ void CDemo::startIrrKlang()
// preload both sound effects
- ballSound = irrKlang->getSoundSource("../../media/ball.wav");
- impactSound = irrKlang->getSoundSource("../../media/impact.wav");
+ ballSound = irrKlang->getSoundSource(mediaPath + "ball.wav");
+ impactSound = irrKlang->getSoundSource(mediaPath + "impact.wav");
}
#endif
@@ -791,12 +805,14 @@ void CDemo::startSound()
if (Mix_OpenAudio(22050, AUDIO_S16, 2, 128))
return;
- stream = Mix_LoadMUS("../../media/IrrlichtTheme.ogg");
+ const io::path mediaPath = getExampleMediaPath();
+
+ stream = Mix_LoadMUS((mediaPath + "IrrlichtTheme.ogg").c_str());
if (stream)
Mix_PlayMusic(stream, -1);
- ballSound = Mix_LoadWAV("../../media/ball.wav");
- impactSound = Mix_LoadWAV("../../media/impact.wav");
+ ballSound = Mix_LoadWAV(mediaPath + "ball.wav");
+ impactSound = Mix_LoadWAV(mediaPath + "impact.wav");
}
void CDemo::playSound(Mix_Chunk *sample)
diff --git a/examples/Demo/CDemo.h b/examples/Demo/CDemo.h
index e2c564dc..0b2ca39c 100644
--- a/examples/Demo/CDemo.h
+++ b/examples/Demo/CDemo.h
@@ -21,7 +21,7 @@ using namespace irr;
#include // problem here? go to http://www.ambiera.com/irrklang and download
// the irrKlang library or undefine USE_IRRKLANG at the beginning
// of this file.
- #ifdef _IRR_WINDOWS_
+ #ifdef _MSC_VER
#pragma comment (lib, "irrKlang.lib")
#endif
#endif
diff --git a/examples/Demo/CMainMenu.cpp b/examples/Demo/CMainMenu.cpp
index b66d42b2..eca73895 100644
--- a/examples/Demo/CMainMenu.cpp
+++ b/examples/Demo/CMainMenu.cpp
@@ -2,6 +2,7 @@
// This file is not documented.
#include "CMainMenu.h"
+#include "exampleHelper.h"
@@ -26,10 +27,12 @@ bool CMainMenu::run(bool& outFullscreen, bool& outMusic, bool& outShadows,
MenuDevice = createDevice(driverType,
core::dimension2d(512, 384), 16, false, false, false, this);
+ const io::path mediaPath = getExampleMediaPath();
+
if (MenuDevice->getFileSystem()->existFile("irrlicht.dat"))
MenuDevice->getFileSystem()->addFileArchive("irrlicht.dat");
else
- MenuDevice->getFileSystem()->addFileArchive("../../media/irrlicht.dat");
+ MenuDevice->getFileSystem()->addFileArchive(mediaPath + "irrlicht.dat");
video::IVideoDriver* driver = MenuDevice->getVideoDriver();
scene::ISceneManager* smgr = MenuDevice->getSceneManager();
@@ -45,7 +48,7 @@ bool CMainMenu::run(bool& outFullscreen, bool& outMusic, bool& outShadows,
newskin->drop();
// load font
- gui::IGUIFont* font = guienv->getFont("../../media/fonthaettenschweiler.bmp");
+ gui::IGUIFont* font = guienv->getFont(mediaPath + "fonthaettenschweiler.bmp");
if (font)
guienv->getSkin()->setFont(font);
@@ -62,10 +65,11 @@ bool CMainMenu::run(bool& outFullscreen, bool& outMusic, bool& outShadows,
// add list box
gui::IGUIListBox* box = guienv->addListBox(core::rect(10,10,220,120), optTab, 1);
+
const wchar_t* const names[] =
{L"Software Renderer", L"Burning's Video",
- L"Direct3D 8", L"Direct3D 9",
- L"OpenGL 1.x-4.x", L"OpenGL-ES 1.x", L"OpenGL-ES 2.x"};
+ L"Direct3D 9", L"OpenGL 1.x-4.x",
+ L"OpenGL-ES 1.x", L"OpenGL-ES 2.x"};
for (u32 i=1; igetMesh("../../media/faerie.md2");
+ scene::IAnimatedMesh* mesh = smgr->getMesh(mediaPath + "faerie.md2");
scene::IAnimatedMeshSceneNode* modelNode = smgr->addAnimatedMeshSceneNode(mesh);
if (modelNode)
{
modelNode->setPosition( core::vector3df(0.f, 0.f, -5.f) );
- modelNode->setMaterialTexture(0, driver->getTexture("../../media/faerie2.bmp"));
+ modelNode->setMaterialTexture(0, driver->getTexture(mediaPath + "faerie2.bmp"));
modelNode->setMaterialFlag(video::EMF_LIGHTING, true);
modelNode->getMaterial(0).Shininess = 50.f;
modelNode->getMaterial(0).NormalizeNormals = true;
@@ -176,7 +180,7 @@ bool CMainMenu::run(bool& outFullscreen, bool& outMusic, bool& outShadows,
{
bill->setMaterialFlag(video::EMF_LIGHTING, false);
bill->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
- bill->setMaterialTexture(0, driver->getTexture("../../media/particlered.bmp"));
+ bill->setMaterialTexture(0, driver->getTexture(mediaPath + "particlered.bmp"));
}
// add fly circle animator to the light
anim = smgr->createFlyCircleAnimator(core::vector3df(0.f,0.f,-5.f),20.f,
@@ -194,7 +198,7 @@ bool CMainMenu::run(bool& outFullscreen, bool& outMusic, bool& outShadows,
{
bill->setMaterialFlag(video::EMF_LIGHTING, false);
bill->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
- bill->setMaterialTexture(0, driver->getTexture("../../media/portal1.bmp"));
+ bill->setMaterialTexture(0, driver->getTexture(mediaPath + "portal1.bmp"));
}
// add fly circle animator to the light
anim = smgr->createFlyCircleAnimator(core::vector3df(0.f,0.f,-5.f),20.f,
@@ -217,10 +221,10 @@ bool CMainMenu::run(bool& outFullscreen, bool& outMusic, bool& outShadows,
bool oldMipMapState = driver->getTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS);
driver->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS, false);
- guienv->addImage(driver->getTexture("../../media/irrlichtlogo3.png"),
+ guienv->addImage(driver->getTexture(mediaPath + "irrlichtlogo3.png"),
core::position2d(5,5));
- video::ITexture* irrlichtBack = driver->getTexture("../../media/demoback.jpg");
+ video::ITexture* irrlichtBack = driver->getTexture(mediaPath + "demoback.jpg");
driver->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS, oldMipMapState);
@@ -236,7 +240,7 @@ bool CMainMenu::run(bool& outFullscreen, bool& outMusic, bool& outShadows,
{
if (MenuDevice->isWindowActive())
{
- driver->beginScene(false, true, video::SColor(0,0,0,0));
+ driver->beginScene(video::ECBF_DEPTH, video::SColor(0,0,0,0));
if (irrlichtBack)
driver->draw2DImage(irrlichtBack,
diff --git a/examples/Demo/Demo_vc10.vcxproj b/examples/Demo/Demo_vc10.vcxproj
index 73b5a2f4..c6d213fe 100644
--- a/examples/Demo/Demo_vc10.vcxproj
+++ b/examples/Demo/Demo_vc10.vcxproj
@@ -26,18 +26,22 @@
Application
MultiByte
+ Windows7.1SDK
Application
MultiByte
+ Windows7.1SDK
Application
MultiByte
+ Windows7.1SDK
Application
MultiByte
+ Windows7.1SDK
@@ -110,7 +114,7 @@
0x0c07
- ..\..\bin\Win32-VisualStudio\Demo.exe
+ ..\..\bin\Win64-VisualStudio\Demo.exe
..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
Windows
@@ -144,7 +148,7 @@
0x0c07
- ..\..\bin\Win32-VisualStudio\Demo.exe
+ $(OutDir)$(TargetName)$(TargetExt)
..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
Windows
diff --git a/examples/Demo/Demo_vc11.vcxproj b/examples/Demo/Demo_vc11.vcxproj
index ecb5f330..f1db13d6 100644
--- a/examples/Demo/Demo_vc11.vcxproj
+++ b/examples/Demo/Demo_vc11.vcxproj
@@ -26,22 +26,22 @@
Application
MultiByte
- v110
+ Windows7.1SDK
Application
MultiByte
- v110
+ Windows7.1SDK
Application
MultiByte
- v110
+ Windows7.1SDK
Application
MultiByte
- v110
+ Windows7.1SDK
diff --git a/examples/Demo/Demo_vc12.vcxproj b/examples/Demo/Demo_vc12.vcxproj
new file mode 100644
index 00000000..320adde3
--- /dev/null
+++ b/examples/Demo/Demo_vc12.vcxproj
@@ -0,0 +1,283 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}
+ Demo
+
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+ Application
+ MultiByte
+ Windows7.1SDK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ true
+ true
+ Win32
+ .\Release/Demo.tlb
+
+
+
+
+ MaxSpeed
+ Default
+ false
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\Demo.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Windows
+
+
+
+
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ true
+ true
+ .\Release/Demo.tlb
+
+
+
+
+ MaxSpeed
+ Default
+ false
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ $(OutDir)$(TargetName)$(TargetExt)
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Windows
+
+
+
+
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ true
+ true
+ Win32
+ .\Debug/Demo.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Windows
+
+
+
+
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ true
+ true
+ .\Debug/Demo.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Windows
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/Demo/Demo_vc14.vcxproj b/examples/Demo/Demo_vc14.vcxproj
new file mode 100644
index 00000000..cb85feb3
--- /dev/null
+++ b/examples/Demo/Demo_vc14.vcxproj
@@ -0,0 +1,283 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {6F076455-D955-45D4-9C68-4AD4E45F2D47}
+ Demo
+
+
+
+ Application
+ MultiByte
+ v140
+
+
+ Application
+ MultiByte
+ v140
+
+
+ Application
+ MultiByte
+ v140
+
+
+ Application
+ MultiByte
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ ..\..\bin\Win32-VisualStudio\
+ ..\..\bin\Win64-VisualStudio\
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ true
+ true
+ Win32
+ .\Release/Demo.tlb
+
+
+
+
+ MaxSpeed
+ Default
+ false
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\bin\Win32-VisualStudio\Demo.exe
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ Windows
+
+
+
+
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ true
+ true
+ .\Release/Demo.tlb
+
+
+
+
+ MaxSpeed
+ Default
+ false
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ $(OutDir)$(TargetName)$(TargetExt)
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ Windows
+
+
+
+
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ true
+ true
+ Win32
+ .\Debug/Demo.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Windows
+
+
+
+
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ true
+ true
+ .\Debug/Demo.tlb
+
+
+
+
+ Disabled
+ ..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;WIN64;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0c07
+
+
+ ..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)
+ true
+ Windows
+
+
+
+
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+ Disabled
+ Disabled
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+ EnableFastChecks
+ EnableFastChecks
+ MaxSpeed
+ MaxSpeed
+ %(AdditionalIncludeDirectories)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/Demo/Demo_vc8.vcproj b/examples/Demo/Demo_vc8.vcproj
deleted file mode 100644
index 55043108..00000000
--- a/examples/Demo/Demo_vc8.vcproj
+++ /dev/null
@@ -1,300 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/Demo/Demo_vc9.vcproj b/examples/Demo/Demo_vc9.vcproj
deleted file mode 100644
index e0052aae..00000000
--- a/examples/Demo/Demo_vc9.vcproj
+++ /dev/null
@@ -1,300 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/Demo/demo.dev b/examples/Demo/demo.dev
deleted file mode 100644
index 9e1b4c09..00000000
--- a/examples/Demo/demo.dev
+++ /dev/null
@@ -1,99 +0,0 @@
-[Project]
-FileName=demo.dev
-Name=Irrlicht Tech Demo
-UnitCount=5
-Type=1
-Ver=1
-ObjFiles=
-Includes=..\..\include
-Libs=
-PrivateResource=
-ResourceIncludes=
-MakeIncludes=
-Compiler=
-CppCompiler=
-Linker=../../lib/Win32-gcc/libIrrlicht.a_@@_
-IsCpp=1
-Icon=
-ExeOutput=../../bin/Win32-gcc
-ObjectOutput=obj
-OverrideOutput=1
-OverrideOutputName=Demo.exe
-HostApplication=
-Folders=
-CommandLine=
-IncludeVersionInfo=0
-SupportXPThemes=0
-CompilerSet=0
-CompilerSettings=0000000000000000000000
-UseCustomMakefile=0
-CustomMakefile=
-
-[Unit1]
-FileName=main.cpp
-CompileCpp=1
-Folder=Projekt1
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[VersionInfo]
-Major=0
-Minor=1
-Release=1
-Build=1
-LanguageID=1033
-CharsetID=1252
-CompanyName=
-FileVersion=
-FileDescription=Irrlicht Engine example compiled using DevCpp and gcc
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=
-AutoIncBuildNr=0
-
-[Unit2]
-FileName=CDemo.h
-CompileCpp=1
-Folder=Irrlicht Tech Demo
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit3]
-FileName=CMainMenu.cpp
-CompileCpp=1
-Folder=Irrlicht Tech Demo
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit4]
-FileName=CMainMenu.h
-CompileCpp=1
-Folder=Irrlicht Tech Demo
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit5]
-FileName=CDemo.cpp
-CompileCpp=1
-Folder=Irrlicht Tech Demo
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
diff --git a/examples/Demo/main.cpp b/examples/Demo/main.cpp
index 3d269990..711910d8 100644
--- a/examples/Demo/main.cpp
+++ b/examples/Demo/main.cpp
@@ -13,7 +13,7 @@
using namespace irr;
-#ifdef _WIN32
+#ifdef _MSC_VER
#pragma comment(lib, "Irrlicht.lib")
INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT )
diff --git a/include/CMeshBuffer.h b/include/CMeshBuffer.h
index 7512a38f..4ab79683 100644
--- a/include/CMeshBuffer.h
+++ b/include/CMeshBuffer.h
@@ -21,7 +21,7 @@ namespace scene
CMeshBuffer():ChangedID_Vertex(1),ChangedID_Index(1),MappingHint_Vertex(EHM_NEVER), MappingHint_Index(EHM_NEVER)
{
#ifdef _DEBUG
- setDebugName("SMeshBuffer");
+ setDebugName("CMeshBuffer");
#endif
}
diff --git a/include/EDriverTypes.h b/include/EDriverTypes.h
index 3a92f4f0..f22f7646 100644
--- a/include/EDriverTypes.h
+++ b/include/EDriverTypes.h
@@ -39,10 +39,8 @@ namespace video
contribution. */
EDT_BURNINGSVIDEO,
- //! Direct3D8 device, only available on Win32 platforms.
- /** Performs hardware accelerated rendering of 3D and 2D
- primitives. */
- EDT_DIRECT3D8,
+ //! Direct3D8 device is longer supported in Irrlicht. You have to go back to Irrlicht 1.8 if you still need that.
+ DEPRECATED_EDT_DIRECT3D8_NO_LONGER_EXISTS, // keep enum to avoid breaking enumeration order (might be used in ini-files, serialization, etc)
//! Direct3D 9 device, only available on Win32 platforms.
/** Performs hardware accelerated rendering of 3D and 2D
@@ -77,7 +75,17 @@ namespace video
"OpenGL ES2",
0
};
-
+
+ const c8* const DRIVER_TYPE_NAMES_SHORT[] =
+ {
+ "null",
+ "software",
+ "burning",
+ "d3d8",
+ "d3d9",
+ "opengl",
+ 0
+ };
} // end namespace video
} // end namespace irr
diff --git a/include/EMeshWriterEnums.h b/include/EMeshWriterEnums.h
index fb2cfa4b..11f2e299 100644
--- a/include/EMeshWriterEnums.h
+++ b/include/EMeshWriterEnums.h
@@ -31,7 +31,10 @@ namespace scene
EMWT_OBJ = MAKE_IRR_ID('o','b','j',0),
//! PLY mesh writer for .ply files
- EMWT_PLY = MAKE_IRR_ID('p','l','y',0)
+ EMWT_PLY = MAKE_IRR_ID('p','l','y',0),
+
+ //! B3D mesh writer, for static .b3d files
+ EMWT_B3D = MAKE_IRR_ID('b', '3', 'd', 0)
};
diff --git a/include/IAnimatedMesh.h b/include/IAnimatedMesh.h
index 3e08528d..d7dd77fe 100644
--- a/include/IAnimatedMesh.h
+++ b/include/IAnimatedMesh.h
@@ -12,48 +12,6 @@ namespace irr
{
namespace scene
{
- //! Possible types of (animated) meshes.
- enum E_ANIMATED_MESH_TYPE
- {
- //! Unknown animated mesh type.
- EAMT_UNKNOWN = 0,
-
- //! Quake 2 MD2 model file
- EAMT_MD2,
-
- //! Quake 3 MD3 model file
- EAMT_MD3,
-
- //! Maya .obj static model
- EAMT_OBJ,
-
- //! Quake 3 .bsp static Map
- EAMT_BSP,
-
- //! 3D Studio .3ds file
- EAMT_3DS,
-
- //! My3D Mesh, the file format by Zhuck Dimitry
- EAMT_MY3D,
-
- //! Pulsar LMTools .lmts file. This Irrlicht loader was written by Jonas Petersen
- EAMT_LMTS,
-
- //! Cartography Shop .csm file. This loader was created by Saurav Mohapatra.
- EAMT_CSM,
-
- //! .oct file for Paul Nette's FSRad or from Murphy McCauley's Blender .oct exporter.
- /** The oct file format contains 3D geometry and lightmaps and
- can be loaded directly by Irrlicht */
- EAMT_OCT,
-
- //! Halflife MDL model file
- EAMT_MDL_HALFLIFE,
-
- //! generic skinned mesh
- EAMT_SKINNED
- };
-
//! Interface for an animated mesh.
/** There are already simple implementations of this interface available so
you don't have to implement this interface on your own if you need to:
@@ -64,8 +22,9 @@ namespace scene
public:
//! Gets the frame count of the animated mesh.
- /** \return The amount of frames. If the amount is 1,
- it is a static, non animated mesh. */
+ /** Note that the play-time is usually getFrameCount()-1 as it stops as soon as the last frame-key is reached.
+ \return The amount of frames. If the amount is 1,
+ it is a static, non animated mesh. */
virtual u32 getFrameCount() const = 0;
//! Gets the animation speed of the animated mesh.
diff --git a/include/IAnimatedMeshSceneNode.h b/include/IAnimatedMeshSceneNode.h
index 84d25a2a..3ccd52dd 100644
--- a/include/IAnimatedMeshSceneNode.h
+++ b/include/IAnimatedMeshSceneNode.h
@@ -72,7 +72,11 @@ namespace scene
virtual void setCurrentFrame(f32 frame) = 0;
//! Sets the frame numbers between the animation is looped.
- /** The default is 0 - MaximalFrameCount of the mesh.
+ /** The default is 0 to getFrameCount()-1 of the mesh.
+ Number of played frames is end-start.
+ It interpolates toward the last frame but stops when it is reached.
+ It does not interpolate back to start even when looping.
+ Looping animations should ensure last and first frame-key are identical.
\param begin: Start frame number of the loop.
\param end: End frame number of the loop.
\return True if successful, false if not. */
diff --git a/include/ICameraSceneNode.h b/include/ICameraSceneNode.h
index 213e6ead..e576256a 100644
--- a/include/ICameraSceneNode.h
+++ b/include/ICameraSceneNode.h
@@ -14,9 +14,9 @@ namespace scene
{
struct SViewFrustum;
- //! Scene Node which is a (controlable) camera.
+ //! Scene Node which is a (controllable) camera.
/** The whole scene will be rendered from the cameras point of view.
- Because the ICameraScenNode is a SceneNode, it can be attached to any
+ Because the ICameraSceneNode is a SceneNode, it can be attached to any
other scene node, and will follow its parents movement, rotation and so
on.
*/
@@ -135,8 +135,7 @@ namespace scene
virtual void setFOV(f32 fovy) =0;
//! Get the view frustum.
- /** Needed sometimes by bspTree or LOD render nodes.
- \return The current view frustum. */
+ /** \return The current view frustum. */
virtual const SViewFrustum* getViewFrustum() const =0;
//! Disables or enables the camera to get key or mouse inputs.
@@ -150,7 +149,6 @@ namespace scene
//! Checks if a camera is orthogonal.
virtual bool isOrthogonal() const
{
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
return IsOrthogonal;
}
@@ -161,7 +159,7 @@ namespace scene
point at the target point. FPS camera use this binding by
default; other cameras do not.
\param bound True to bind the camera's scene node rotation
- and targetting, false to unbind them.
+ and targeting, false to unbind them.
@see getTargetAndRotationBinding() */
virtual void bindTargetAndRotation(bool bound) =0;
diff --git a/include/IEventReceiver.h b/include/IEventReceiver.h
index ae40457c..11809102 100644
--- a/include/IEventReceiver.h
+++ b/include/IEventReceiver.h
@@ -455,7 +455,7 @@ struct SEvent
AXIS_R, // e.g. rudder, or analog 2 stick 2 top to bottom
AXIS_U,
AXIS_V,
- NUMBER_OF_AXES
+ NUMBER_OF_AXES=18 // (please tell Irrlicht maintainers if you absolutely need more axes)
};
/** A bitmap of button states. You can use IsButtonPressed() to
diff --git a/include/IGUIElement.h b/include/IGUIElement.h
index 66fe895c..3b1316a6 100644
--- a/include/IGUIElement.h
+++ b/include/IGUIElement.h
@@ -342,7 +342,6 @@ public:
//! Returns true if element is visible.
virtual bool isVisible() const
{
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
return IsVisible;
}
@@ -351,7 +350,6 @@ public:
false if this or any parent element is invisible. */
virtual bool isTrulyVisible() const
{
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
if(!IsVisible)
return false;
@@ -371,7 +369,6 @@ public:
//! Returns true if this element was created as part of its parent control
virtual bool isSubElement() const
{
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
return IsSubElement;
}
@@ -397,7 +394,6 @@ public:
//! Returns true if this element can be focused by navigating with the tab key
bool isTabStop() const
{
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
return IsTabStop;
}
@@ -451,7 +447,6 @@ public:
//! Returns true if this element is a tab group.
bool isTabGroup() const
{
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
return IsTabGroup;
}
@@ -478,7 +473,6 @@ public:
if ( isSubElement() && IsEnabled && getParent() )
return getParent()->isEnabled();
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
return IsEnabled;
}
@@ -554,7 +548,6 @@ public:
}
}
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
return false;
}
@@ -576,7 +569,6 @@ public:
}
}
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
return false;
}
@@ -628,7 +620,7 @@ public:
} while (child->Parent && child != this);
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
+
return child == this;
}
@@ -711,13 +703,11 @@ public:
// search within children
if ((*it)->getNextElement(startOrder, reverse, group, first, closest))
{
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
return true;
}
}
++it;
}
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
return false;
}
diff --git a/include/IGUITreeView.h b/include/IGUITreeView.h
index 95bf5857..e28cead9 100644
--- a/include/IGUITreeView.h
+++ b/include/IGUITreeView.h
@@ -253,6 +253,19 @@ namespace gui
*/
virtual void setIconFont( IGUIFont* font ) = 0;
+ //! Sets a skin independent font.
+ /** \param font: New font to set or 0 to use the skin-font. */
+ virtual void setOverrideFont(IGUIFont* font=0) = 0;
+
+ //! Gets the override font (if any)
+ /** \return The override font (may be 0) */
+ virtual IGUIFont* getOverrideFont(void) const = 0;
+
+ //! Get the font which is used for drawing
+ /** This is the override font when one is set and the
+ font of the skin otherwise. */
+ virtual IGUIFont* getActiveFont() const = 0;
+
//! Sets the image list which should be used for the image and selected image of every node.
/** The default is 0 (no images). */
virtual void setImageList( IGUIImageList* imageList ) = 0;
diff --git a/include/IImage.h b/include/IImage.h
index eb30a916..2031fa5e 100644
--- a/include/IImage.h
+++ b/include/IImage.h
@@ -9,6 +9,7 @@
#include "position2d.h"
#include "rect.h"
#include "SColor.h"
+#include
namespace irr
{
@@ -23,33 +24,215 @@ class IImage : public virtual IReferenceCounted
{
public:
+ //! constructor
+ IImage(ECOLOR_FORMAT format, const core::dimension2d& size, bool deleteMemory) :
+ Format(format), Size(size), Data(0), MipMapsData(0), BytesPerPixel(0), Pitch(0),
+ DeleteMemory(deleteMemory), DeleteMipMapsMemory(false)
+ {
+ BytesPerPixel = getBitsPerPixelFromFormat(Format) / 8;
+ Pitch = BytesPerPixel * Size.Width;
+ }
+
+ //! destructor
+ virtual ~IImage()
+ {
+ if (DeleteMemory)
+ delete[] Data;
+
+ if (DeleteMipMapsMemory)
+ delete[] MipMapsData;
+ }
+
+ //! Returns the color format
+ ECOLOR_FORMAT getColorFormat() const
+ {
+ return Format;
+ }
+
+ //! Returns width and height of image data.
+ const core::dimension2d& getDimension() const
+ {
+ return Size;
+ }
+
+ //! Returns bits per pixel.
+ u32 getBitsPerPixel() const
+ {
+
+ return getBitsPerPixelFromFormat(Format);
+ }
+
+ //! Returns bytes per pixel
+ u32 getBytesPerPixel() const
+ {
+ return BytesPerPixel;
+ }
+
+ //! Returns image data size in bytes
+ u32 getImageDataSizeInBytes() const
+ {
+ return getDataSizeFromFormat(Format, Size.Width, Size.Height);
+ }
+
+ //! Returns image data size in pixels
+ u32 getImageDataSizeInPixels() const
+ {
+ return Size.Width * Size.Height;
+ }
+
+ //! Returns pitch of image
+ u32 getPitch() const
+ {
+ return Pitch;
+ }
+
+ //! Returns mask for red value of a pixel
+ u32 getRedMask() const
+ {
+ switch (Format)
+ {
+ case ECF_A1R5G5B5:
+ return 0x1F << 10;
+ case ECF_R5G6B5:
+ return 0x1F << 11;
+ case ECF_R8G8B8:
+ return 0x00FF0000;
+ case ECF_A8R8G8B8:
+ return 0x00FF0000;
+ default:
+ return 0x0;
+ }
+ }
+
+ //! Returns mask for green value of a pixel
+ u32 getGreenMask() const
+ {
+ switch (Format)
+ {
+ case ECF_A1R5G5B5:
+ return 0x1F << 5;
+ case ECF_R5G6B5:
+ return 0x3F << 5;
+ case ECF_R8G8B8:
+ return 0x0000FF00;
+ case ECF_A8R8G8B8:
+ return 0x0000FF00;
+ default:
+ return 0x0;
+ }
+ }
+
+ //! Returns mask for blue value of a pixel
+ u32 getBlueMask() const
+ {
+ switch (Format)
+ {
+ case ECF_A1R5G5B5:
+ return 0x1F;
+ case ECF_R5G6B5:
+ return 0x1F;
+ case ECF_R8G8B8:
+ return 0x000000FF;
+ case ECF_A8R8G8B8:
+ return 0x000000FF;
+ default:
+ return 0x0;
+ }
+ }
+
+ //! Returns mask for alpha value of a pixel
+ u32 getAlphaMask() const
+ {
+ switch (Format)
+ {
+ case ECF_A1R5G5B5:
+ return 0x1 << 15;
+ case ECF_R5G6B5:
+ return 0x0;
+ case ECF_R8G8B8:
+ return 0x0;
+ case ECF_A8R8G8B8:
+ return 0xFF000000;
+ default:
+ return 0x0;
+ }
+ }
+
+ //! Use this to get a pointer to the image data.
+ void* getData() const
+ {
+ return Data;
+ }
+
//! Lock function. Use this to get a pointer to the image data.
/** After you don't need the pointer anymore, you must call unlock().
\return Pointer to the image data. What type of data is pointed to
depends on the color format of the image. For example if the color
format is ECF_A8R8G8B8, it is of u32. Be sure to call unlock() after
you don't need the pointer any more. */
- virtual void* lock() = 0;
+ _IRR_DEPRECATED_ void* lock()
+ {
+ return getData();
+ }
//! Unlock function.
/** Should be called after the pointer received by lock() is not
needed anymore. */
- virtual void unlock() = 0;
+ _IRR_DEPRECATED_ void unlock()
+ {
+ }
- //! Returns width and height of image data.
- virtual const core::dimension2d& getDimension() const = 0;
+ //! Get mipmaps data.
+ void* getMipMapsData() const
+ {
+ return MipMapsData;
+ }
- //! Returns bits per pixel.
- virtual u32 getBitsPerPixel() const = 0;
+ //! Set mipmaps data.
+ /** This method allows you to put custom mipmaps data for
+ image.
+ \param data A byte array with pixel color information
+ \param ownForeignMemory If true, the image will use the data
+ pointer directly and own it afterwards. If false, the memory
+ will by copied internally.
+ \param deleteMemory Whether the memory is deallocated upon
+ destruction. */
+ void setMipMapsData(void* data, bool ownForeignMemory, bool deleteMemory)
+ {
+ if (DeleteMipMapsMemory && data != MipMapsData)
+ delete[] MipMapsData;
- //! Returns bytes per pixel
- virtual u32 getBytesPerPixel() const = 0;
+ if (data)
+ {
+ if (ownForeignMemory)
+ {
+ DeleteMipMapsMemory = deleteMemory;
+ MipMapsData = static_cast(data);
+ }
+ else
+ {
+ u32 dataSize = 0;
+ u32 width = Size.Width;
+ u32 height = Size.Height;
- //! Returns image data size in bytes
- virtual u32 getImageDataSizeInBytes() const = 0;
+ do
+ {
+ if (width > 1)
+ width >>= 1;
- //! Returns image data size in pixels
- virtual u32 getImageDataSizeInPixels() const = 0;
+ if (height > 1)
+ height >>= 1;
+
+ dataSize += getDataSizeFromFormat(Format, width, height);
+ }
+ while (width != 1 || height != 1);
+
+ DeleteMipMapsMemory = true;
+ MipMapsData = new u8[dataSize];
+ memcpy(MipMapsData, data, dataSize);
+ }
+ }
+ }
//! Returns a pixel
virtual SColor getPixel(u32 x, u32 y) const = 0;
@@ -57,24 +240,6 @@ public:
//! Sets a pixel
virtual void setPixel(u32 x, u32 y, const SColor &color, bool blend = false ) = 0;
- //! Returns the color format
- virtual ECOLOR_FORMAT getColorFormat() const = 0;
-
- //! Returns mask for red value of a pixel
- virtual u32 getRedMask() const = 0;
-
- //! Returns mask for green value of a pixel
- virtual u32 getGreenMask() const = 0;
-
- //! Returns mask for blue value of a pixel
- virtual u32 getBlueMask() const = 0;
-
- //! Returns mask for alpha value of a pixel
- virtual u32 getAlphaMask() const = 0;
-
- //! Returns pitch of image
- virtual u32 getPitch() const =0;
-
//! Copies the image into the target, scaling the image to fit
virtual void copyToScaling(void* target, u32 width, u32 height, ECOLOR_FORMAT format=ECF_A8R8G8B8, u32 pitch=0) =0;
@@ -99,11 +264,17 @@ public:
virtual void fill(const SColor &color) =0;
//! Inform whether the image is compressed
- virtual bool isCompressed() const = 0;
+ _IRR_DEPRECATED_ bool isCompressed() const
+ {
+ return IImage::isCompressedFormat(Format);
+ }
//! Check whether the image has MipMaps
/** \return True if image has MipMaps, else false. */
- virtual bool hasMipMaps() const = 0;
+ _IRR_DEPRECATED_ bool hasMipMaps() const
+ {
+ return (getMipMapsData() != 0);
+ }
//! get the amount of Bits per Pixel of the given color format
static u32 getBitsPerPixelFromFormat(const ECOLOR_FORMAT format)
@@ -152,57 +323,70 @@ public:
return 64;
case ECF_A32B32G32R32F:
return 128;
+ case ECF_R8:
+ return 8;
+ case ECF_R8G8:
+ return 16;
+ case ECF_R16:
+ return 16;
+ case ECF_R16G16:
+ return 32;
+ case ECF_D16:
+ return 16;
+ case ECF_D32:
+ return 32;
+ case ECF_D24S8:
+ return 32;
default:
return 0;
}
}
- //! calculate compressed image size for selected width and height.
- static u32 getCompressedImageSize(ECOLOR_FORMAT format, u32 width, u32 height)
+ //! calculate image data size in bytes for selected format, width and height.
+ static u32 getDataSizeFromFormat(ECOLOR_FORMAT format, u32 width, u32 height)
{
- if (!isCompressedFormat(format))
- return 0;
-
- u32 compressedImageSize = 0;
+ u32 imageSize = 0;
switch (format)
{
- case ECF_DXT1:
- compressedImageSize = ((width + 3) / 4) * ((height + 3) / 4) * 8;
- break;
- case ECF_DXT2:
- case ECF_DXT3:
- case ECF_DXT4:
- case ECF_DXT5:
- compressedImageSize = ((width + 3) / 4) * ((height + 3) / 4) * 16;
- break;
- case ECF_PVRTC_RGB2:
- case ECF_PVRTC_ARGB2:
- compressedImageSize = (core::max_(width, 16) * core::max_(height, 8) * 2 + 7) / 8;
- break;
- case ECF_PVRTC_RGB4:
- case ECF_PVRTC_ARGB4:
- compressedImageSize = (core::max_(width, 8) * core::max_(height, 8) * 4 + 7) / 8;
- break;
- case ECF_PVRTC2_ARGB2:
- compressedImageSize = core::ceil32(width / 8.0f) * core::ceil32(height / 4.0f) * 8;
- break;
- case ECF_PVRTC2_ARGB4:
- case ECF_ETC1:
- case ECF_ETC2_RGB:
- compressedImageSize = core::ceil32(width / 4.0f) * core::ceil32(height / 4.0f) * 8;
- break;
- case ECF_ETC2_ARGB:
- compressedImageSize = core::ceil32(width / 4.0f) * core::ceil32(height / 4.0f) * 16;
- break;
- default:
- break;
+ case ECF_DXT1:
+ imageSize = ((width + 3) / 4) * ((height + 3) / 4) * 8;
+ break;
+ case ECF_DXT2:
+ case ECF_DXT3:
+ case ECF_DXT4:
+ case ECF_DXT5:
+ imageSize = ((width + 3) / 4) * ((height + 3) / 4) * 16;
+ break;
+ case ECF_PVRTC_RGB2:
+ case ECF_PVRTC_ARGB2:
+ imageSize = (core::max_(width, 16) * core::max_(height, 8) * 2 + 7) / 8;
+ break;
+ case ECF_PVRTC_RGB4:
+ case ECF_PVRTC_ARGB4:
+ imageSize = (core::max_(width, 8) * core::max_(height, 8) * 4 + 7) / 8;
+ break;
+ case ECF_PVRTC2_ARGB2:
+ imageSize = core::ceil32(width / 8.0f) * core::ceil32(height / 4.0f) * 8;
+ break;
+ case ECF_PVRTC2_ARGB4:
+ case ECF_ETC1:
+ case ECF_ETC2_RGB:
+ imageSize = core::ceil32(width / 4.0f) * core::ceil32(height / 4.0f) * 8;
+ break;
+ case ECF_ETC2_ARGB:
+ imageSize = core::ceil32(width / 4.0f) * core::ceil32(height / 4.0f) * 16;
+ break;
+ default: // uncompressed formats
+ imageSize = getBitsPerPixelFromFormat(format) / 8 * width;
+ imageSize *= height;
+ break;
}
- return compressedImageSize;
+ return imageSize;
}
- //! test if this is compressed color format
+ //! check if this is compressed color format
static bool isCompressedFormat(const ECOLOR_FORMAT format)
{
switch(format)
@@ -227,7 +411,21 @@ public:
}
}
- //! test if the color format is only viable for RenderTarget textures
+ //! check if the color format is only viable for depth/stencil textures
+ static bool isDepthFormat(const ECOLOR_FORMAT format)
+ {
+ switch(format)
+ {
+ case ECF_D16:
+ case ECF_D32:
+ case ECF_D24S8:
+ return true;
+ default:
+ return false;
+ }
+ }
+
+ //! check if the color format is only viable for RenderTarget textures
/** Since we don't have support for e.g. floating point IImage formats
one should test if the color format can be used for arbitrary usage, or
if it is restricted to RTTs. */
@@ -242,12 +440,29 @@ public:
case ECF_R5G6B5:
case ECF_R8G8B8:
case ECF_A8R8G8B8:
+ case ECF_DXT1:
+ case ECF_DXT2:
+ case ECF_DXT3:
+ case ECF_DXT4:
+ case ECF_DXT5:
return false;
default:
return true;
}
}
+protected:
+ ECOLOR_FORMAT Format;
+ core::dimension2d Size;
+
+ u8* Data;
+ u8* MipMapsData;
+
+ u32 BytesPerPixel;
+ u32 Pitch;
+
+ bool DeleteMemory;
+ bool DeleteMipMapsMemory;
};
} // end namespace video
diff --git a/include/IMaterialRenderer.h b/include/IMaterialRenderer.h
index 1828a712..145782a0 100644
--- a/include/IMaterialRenderer.h
+++ b/include/IMaterialRenderer.h
@@ -66,7 +66,7 @@ public:
\return Returns true if everything is ok, and false if nothing should
be rendered. The material renderer can choose to return false for
example if he doesn't support the specified vertex type. This is
- actually done in D3D8 and D3D9 when using a normal mapped material with
+ actually done in D3D9 when using a normal mapped material with
a vertex type other than EVT_TANGENTS. */
virtual bool OnRender(IMaterialRendererServices* service, E_VERTEX_TYPE vtxtype) { return true; }
diff --git a/include/IMesh.h b/include/IMesh.h
index 8e0bcc2d..1650e595 100644
--- a/include/IMesh.h
+++ b/include/IMesh.h
@@ -13,6 +13,54 @@ namespace irr
{
namespace scene
{
+ //! Possible types of meshes.
+ // Note: Was previously only used in IAnimatedMesh so it still has the "animated" in the name.
+ // But can now be used for all mesh-types as we need those casts as well.
+ enum E_ANIMATED_MESH_TYPE
+ {
+ //! Unknown animated mesh type.
+ EAMT_UNKNOWN = 0,
+
+ //! Quake 2 MD2 model file
+ EAMT_MD2,
+
+ //! Quake 3 MD3 model file
+ EAMT_MD3,
+
+ //! Maya .obj static model
+ EAMT_OBJ,
+
+ //! Quake 3 .bsp static Map
+ EAMT_BSP,
+
+ //! 3D Studio .3ds file
+ EAMT_3DS,
+
+ //! My3D Mesh, the file format by Zhuck Dimitry
+ EAMT_MY3D,
+
+ //! Pulsar LMTools .lmts file. This Irrlicht loader was written by Jonas Petersen
+ EAMT_LMTS,
+
+ //! Cartography Shop .csm file. This loader was created by Saurav Mohapatra.
+ EAMT_CSM,
+
+ //! .oct file for Paul Nette's FSRad or from Murphy McCauley's Blender .oct exporter.
+ /** The oct file format contains 3D geometry and lightmaps and
+ can be loaded directly by Irrlicht */
+ EAMT_OCT,
+
+ //! Halflife MDL model file
+ EAMT_MDL_HALFLIFE,
+
+ //! generic skinned mesh
+ EAMT_SKINNED,
+
+ //! generig non-animated mesh
+ EAMT_STATIC
+ };
+
+
class IMeshBuffer;
//! Class which holds the geometry of an object.
@@ -66,6 +114,17 @@ namespace scene
indices have changed. Otherwise, changes won't be updated
on the GPU in the next render cycle. */
virtual void setDirty(E_BUFFER_TYPE buffer=EBT_VERTEX_AND_INDEX) = 0;
+
+ //! Returns the type of the meshes.
+ /** This is useful for making a safe downcast. For example,
+ if getMeshType() returns EAMT_MD2 it's safe to cast the
+ IMesh to IAnimatedMeshMD2.
+ Note: It's no longer just about animated meshes, that name has just historical reasons.
+ \returns Type of the mesh */
+ virtual E_ANIMATED_MESH_TYPE getMeshType() const
+ {
+ return EAMT_STATIC;
+ }
};
} // end namespace scene
diff --git a/include/IMeshWriter.h b/include/IMeshWriter.h
index 555a7988..f7c1820a 100644
--- a/include/IMeshWriter.h
+++ b/include/IMeshWriter.h
@@ -43,7 +43,7 @@ namespace scene
s32 flags=EMWF_NONE) = 0;
// Writes an animated mesh
- // for future use, no writer is able to write animated meshes currently
+ // for future use, only b3d writer is able to write animated meshes currently and that was implemented using the writeMesh above.
/* \return Returns true if sucessful */
//virtual bool writeAnimatedMesh(io::IWriteFile* file,
// scene::IAnimatedMesh* mesh,
diff --git a/include/IRenderTarget.h b/include/IRenderTarget.h
new file mode 100644
index 00000000..7850e0ac
--- /dev/null
+++ b/include/IRenderTarget.h
@@ -0,0 +1,65 @@
+// Copyright (C) 2015 Patryk Nadrowski
+// This file is part of the "Irrlicht Engine".
+// For conditions of distribution and use, see copyright notice in irrlicht.h
+
+#ifndef __I_RENDER_TARGET_H_INCLUDED__
+#define __I_RENDER_TARGET_H_INCLUDED__
+
+#include "IReferenceCounted.h"
+#include "EDriverTypes.h"
+#include "irrArray.h"
+
+namespace irr
+{
+namespace video
+{
+ class ITexture;
+
+ //! Interface of a Render Target.
+ class IRenderTarget : public virtual IReferenceCounted
+ {
+ public:
+
+ //! constructor
+ IRenderTarget() : DepthStencil(0), DriverType(EDT_NULL)
+ {
+ }
+
+ //! Set multiple textures.
+ /** Set multiple textures for the render target.
+ \param texture Array of texture objects. These textures are used for a color outputs.
+ \param depthStencil Depth or packed depth-stencil texture. This texture is used as depth
+ or depth-stencil buffer. */
+ virtual void setTexture(const core::array& texture, ITexture* depthStencil) = 0;
+
+ //! Set one texture.
+ void setTexture(ITexture* texture, ITexture* depthStencil)
+ {
+ core::array textureArray(1);
+ textureArray.push_back(texture);
+
+ setTexture(textureArray, depthStencil);
+ }
+
+ //! Get driver type of render target.
+ E_DRIVER_TYPE getDriverType() const
+ {
+ return DriverType;
+ }
+
+ protected:
+
+ //! Textures assigned to render target.
+ core::array Texture;
+
+ //! Depth or packed depth-stencil texture assigned to render target.
+ ITexture* DepthStencil;
+
+ //! Driver type of render target.
+ E_DRIVER_TYPE DriverType;
+ };
+
+}
+}
+
+#endif
diff --git a/include/ISceneNode.h b/include/ISceneNode.h
index 04764eeb..1e903857 100644
--- a/include/ISceneNode.h
+++ b/include/ISceneNode.h
@@ -242,7 +242,6 @@ namespace scene
visible (if all parents are also visible). */
virtual bool isVisible() const
{
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
return IsVisible;
}
@@ -251,7 +250,6 @@ namespace scene
false if this or any parent node is invisible. */
virtual bool isTrulyVisible() const
{
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
if(!IsVisible)
return false;
@@ -328,7 +326,6 @@ namespace scene
return true;
}
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
return false;
}
@@ -595,7 +592,6 @@ namespace scene
\return If this node is a debug object, true is returned. */
bool isDebugObject() const
{
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
return IsDebugObject;
}
@@ -735,7 +731,7 @@ namespace scene
setPosition(in->getAttributeAsVector3d("Position", RelativeTranslation));
setRotation(in->getAttributeAsVector3d("Rotation", RelativeRotation));
- setScale(in->getAttributeAsVector3d("Scale", RelativeRotation));
+ setScale(in->getAttributeAsVector3d("Scale", RelativeScale));
IsVisible = in->getAttributeAsBool("Visible", IsVisible);
if (in->existsAttribute("AutomaticCulling"))
diff --git a/include/ISceneNodeAnimator.h b/include/ISceneNodeAnimator.h
index 6a727d4e..307e23be 100644
--- a/include/ISceneNodeAnimator.h
+++ b/include/ISceneNodeAnimator.h
@@ -55,7 +55,7 @@ namespace scene
}
//! Event receiver, override this function for camera controlling animators
- virtual bool OnEvent(const SEvent& event)
+ virtual bool OnEvent(const SEvent& event) _IRR_OVERRIDE_
{
return false;
}
diff --git a/include/ISceneNodeAnimatorCameraMaya.h b/include/ISceneNodeAnimatorCameraMaya.h
index 94bd2e57..333e7137 100644
--- a/include/ISceneNodeAnimatorCameraMaya.h
+++ b/include/ISceneNodeAnimatorCameraMaya.h
@@ -49,6 +49,13 @@ namespace scene
//! Set the distance
virtual void setDistance(f32 distance) = 0;
+
+ //! Set the minimal distance to the camera target for zoom
+ virtual void setTargetMinDistance(f32 minDistance) = 0;
+
+ //! Returns the minimal distance to the camera target for zoom
+ virtual f32 getTargetMinDistance() const = 0;
+
};
} // end namespace scene
diff --git a/include/ITexture.h b/include/ITexture.h
index 8e16bc8a..b9f4b8fd 100644
--- a/include/ITexture.h
+++ b/include/ITexture.h
@@ -151,7 +151,8 @@ class ITexture : public virtual IReferenceCounted
public:
//! constructor
- ITexture(const io::path& name, E_TEXTURE_TYPE type = ETT_2D) : NamedPath(name), Source(ETS_UNKNOWN), Type(type)
+ ITexture(const io::path& name, E_TEXTURE_TYPE type = ETT_2D) : NamedPath(name), DriverType(EDT_NULL), OriginalColorFormat(ECF_UNKNOWN),
+ ColorFormat(ECF_UNKNOWN), Pitch(0), HasMipMaps(false), IsRenderTarget(false), Source(ETS_UNKNOWN), Type(type)
{
}
@@ -182,6 +183,15 @@ public:
The last locked mip level will be unlocked. */
virtual void unlock() = 0;
+ //! Regenerates the mip map levels of the texture.
+ /** Required after modifying the texture, usually after calling unlock().
+ \param mipmapData Optional parameter to pass in image data which will be
+ used instead of the previously stored or automatically generated mipmap
+ data. The data has to be a continuous pixel data for all mipmaps until
+ 1x1 pixel. Each mipmap has to be half the width and height of the previous
+ level. At least one pixel will be always kept.*/
+ virtual void regenerateMipMapLevels(void* mipmapData = 0) = 0;
+
//! Get original size of the texture.
/** The texture is usually scaled, if it was created with an unoptimal
size. For example if the size was not a power of two. This method
@@ -190,53 +200,39 @@ public:
exact size of the original texture. Use ITexture::getSize() if you want
to know the real size it has now stored in the system.
\return The original size of the texture. */
- virtual const core::dimension2d& getOriginalSize() const = 0;
+ const core::dimension2d& getOriginalSize() const { return OriginalSize; };
//! Get dimension (=size) of the texture.
/** \return The size of the texture. */
- virtual const core::dimension2d& getSize() const = 0;
+ const core::dimension2d& getSize() const { return Size; };
//! Get driver type of texture.
/** This is the driver, which created the texture. This method is used
internally by the video devices, to check, if they may use a texture
because textures may be incompatible between different devices.
\return Driver type of texture. */
- virtual E_DRIVER_TYPE getDriverType() const = 0;
+ E_DRIVER_TYPE getDriverType() const { return DriverType; };
//! Get the color format of texture.
/** \return The color format of texture. */
- virtual ECOLOR_FORMAT getColorFormat() const = 0;
+ ECOLOR_FORMAT getColorFormat() const { return ColorFormat; };
//! Get pitch of the main texture (in bytes).
/** The pitch is the amount of bytes used for a row of pixels in a
texture.
\return Pitch of texture in bytes. */
- virtual u32 getPitch() const = 0;
+ u32 getPitch() const { return Pitch; };
//! Check whether the texture has MipMaps
/** \return True if texture has MipMaps, else false. */
- virtual bool hasMipMaps() const { return false; }
-
- //! Returns if the texture has an alpha channel
- virtual bool hasAlpha() const {
- return getColorFormat () == video::ECF_A8R8G8B8 || getColorFormat () == video::ECF_A1R5G5B5;
- }
-
- //! Regenerates the mip map levels of the texture.
- /** Required after modifying the texture, usually after calling unlock().
- \param mipmapData Optional parameter to pass in image data which will be
- used instead of the previously stored or automatically generated mipmap
- data. The data has to be a continuous pixel data for all mipmaps until
- 1x1 pixel. Each mipmap has to be half the width and height of the previous
- level. At least one pixel will be always kept.*/
- virtual void regenerateMipMapLevels(void* mipmapData=0) = 0;
+ bool hasMipMaps() const { return HasMipMaps; }
//! Check whether the texture is a render target
/** Render targets can be set as such in the video driver, in order to
render a scene into the texture. Once unbound as render target, they can
be used just as usual textures again.
\return True if this is a render target, otherwise false. */
- virtual bool isRenderTarget() const { return false; }
+ bool isRenderTarget() const { return IsRenderTarget; }
//! Get name of texture (in most cases this is the filename)
const io::SNamedPath& getName() const { return NamedPath; }
@@ -250,6 +246,31 @@ public:
//! Used internally by the engine to update Source status on IVideoDriver::getTexture calls.
void updateSource(E_TEXTURE_SOURCE source) { Source = source; }
+ //! Returns if the texture has an alpha channel
+ bool hasAlpha() const
+ {
+ bool status = false;
+
+ switch (ColorFormat)
+ {
+ case ECF_A8R8G8B8:
+ case ECF_A1R5G5B5:
+ case ECF_DXT1:
+ case ECF_DXT2:
+ case ECF_DXT3:
+ case ECF_DXT4:
+ case ECF_DXT5:
+ case ECF_A16B16G16R16F:
+ case ECF_A32B32G32R32F:
+ status = true;
+ break;
+ default:
+ break;
+ }
+
+ return status;
+ }
+
protected:
//! Helper function, helps to get the desired texture creation format from the flags.
@@ -269,6 +290,14 @@ protected:
}
io::SNamedPath NamedPath;
+ core::dimension2d OriginalSize;
+ core::dimension2d Size;
+ E_DRIVER_TYPE DriverType;
+ ECOLOR_FORMAT OriginalColorFormat;
+ ECOLOR_FORMAT ColorFormat;
+ u32 Pitch;
+ bool HasMipMaps;
+ bool IsRenderTarget;
E_TEXTURE_SOURCE Source;
E_TEXTURE_TYPE Type;
};
diff --git a/include/IVideoDriver.h b/include/IVideoDriver.h
index aec35615..d41f47a3 100644
--- a/include/IVideoDriver.h
+++ b/include/IVideoDriver.h
@@ -47,6 +47,7 @@ namespace video
class IImageWriter;
class IMaterialRenderer;
class IGPUProgrammingServices;
+ class IRenderTarget;
//! enumeration for geometry transformation states
enum E_TRANSFORMATION_STATE
@@ -129,6 +130,15 @@ namespace video
ERT_AUX_BUFFER4
};
+ //! Enum for the flags of clear buffer
+ enum E_CLEAR_BUFFER_FLAG
+ {
+ ECBF_NONE = 0,
+ ECBF_COLOR = 1,
+ ECBF_DEPTH = 2,
+ ECBF_STENCIL = 4
+ };
+
//! Enum for the types of fog distributions to choose from
enum E_FOG_TYPE
{
@@ -209,43 +219,6 @@ namespace video
};
- struct IRenderTarget
- {
- IRenderTarget(ITexture* texture,
- E_COLOR_PLANE colorMask=ECP_ALL,
- E_BLEND_FACTOR blendFuncSrc=EBF_ONE,
- E_BLEND_FACTOR blendFuncDst=EBF_ONE_MINUS_SRC_ALPHA,
- E_BLEND_OPERATION blendOp=EBO_NONE) :
- RenderTexture(texture),
- TargetType(ERT_RENDER_TEXTURE), ColorMask(colorMask),
- BlendFuncSrc(blendFuncSrc), BlendFuncDst(blendFuncDst),
- BlendOp(blendOp) {}
- IRenderTarget(E_RENDER_TARGET target,
- E_COLOR_PLANE colorMask=ECP_ALL,
- E_BLEND_FACTOR blendFuncSrc=EBF_ONE,
- E_BLEND_FACTOR blendFuncDst=EBF_ONE_MINUS_SRC_ALPHA,
- E_BLEND_OPERATION blendOp=EBO_NONE) :
- RenderTexture(0),
- TargetType(target), ColorMask(colorMask),
- BlendFuncSrc(blendFuncSrc), BlendFuncDst(blendFuncDst),
- BlendOp(blendOp) {}
- bool operator!=(const IRenderTarget& other) const
- {
- return ((RenderTexture != other.RenderTexture) ||
- (TargetType != other.TargetType) ||
- (ColorMask != other.ColorMask) ||
- (BlendFuncSrc != other.BlendFuncSrc) ||
- (BlendFuncDst != other.BlendFuncDst) ||
- (BlendOp != other.BlendOp));
- }
- ITexture* RenderTexture;
- E_RENDER_TARGET TargetType:8;
- E_COLOR_PLANE ColorMask:8;
- E_BLEND_FACTOR BlendFuncSrc:4;
- E_BLEND_FACTOR BlendFuncDst:4;
- E_BLEND_OPERATION BlendOp:4;
- };
-
//! Interface to driver which is able to perform 2d and 3d graphics functions.
/** This interface is one of the most important interfaces of
the Irrlicht Engine: All rendering and texture manipulation is done with
@@ -260,14 +233,10 @@ namespace video
//! Applications must call this method before performing any rendering.
/** This method can clear the back- and the z-buffer.
- \param backBuffer Specifies if the back buffer should be
- cleared, which means that the screen is filled with the color
- specified. If this parameter is false, the back buffer will
- not be cleared and the color parameter is ignored.
- \param zBuffer Specifies if the depth buffer (z buffer) should
- be cleared. It is not nesesarry to do so if only 2d drawing is
- used.
- \param color The color used for back buffer clearing
+ \param clearFlag The clear flags.
+ \param clearColor The clear color for the color buffer.
+ \param clearDepth The clear value for the depth buffer.
+ \param clearStencil The clear value for the stencil buffer.
\param videoData Handle of another window, if you want the
bitmap to be displayed on another window. If this is an empty
element, everything will be displayed in the default window.
@@ -276,16 +245,28 @@ namespace video
rectangle of the area to be presented. Set to null to present
everything. Note: not implemented in all devices.
\return False if failed. */
- virtual bool beginScene(bool backBuffer=true, bool zBuffer=true,
- SColor color=SColor(255,0,0,0),
- const SExposedVideoData& videoData=SExposedVideoData(),
- core::rect* sourceRect=0) =0;
+ virtual bool beginScene(u16 clearFlag, SColor clearColor = SColor(255,0,0,0), f32 clearDepth = 1.f, u8 clearStencil = 0,
+ const SExposedVideoData& videoData=SExposedVideoData(), core::rect* sourceRect = 0) = 0;
+
+ _IRR_DEPRECATED_ bool beginScene(bool backBuffer = true, bool zBuffer = true, SColor color = SColor(255,0,0,0),
+ const SExposedVideoData& videoData = SExposedVideoData(), core::rect* sourceRect = 0)
+ {
+ u16 flag = 0;
+
+ if (backBuffer)
+ flag |= ECBF_COLOR;
+
+ if (zBuffer)
+ flag |= ECBF_DEPTH;
+
+ return beginScene(flag, color, 1.f, 0, videoData, sourceRect);
+ }
//! Presents the rendered image to the screen.
/** Applications must call this method after performing any
rendering.
\return False if failed and true if succeeded. */
- virtual bool endScene() =0;
+ virtual bool endScene() = 0;
//! Queries the features of the driver.
/** Returns true if a feature is available
@@ -420,15 +401,28 @@ namespace video
/** \param name A name for the texture. Later calls of
getTexture() with this name will return this texture
\param image Image the texture is created from.
- \param mipmapData Optional pointer to a set of images which
- build up the whole mipmap set. Must be images of the same color
- type as image. If this parameter is not given, the mipmaps are
- derived from image.
+ \param mipmapData Optional pointer to a mipmaps data.
+ If this parameter is not given, the mipmaps are derived from image.
\return Pointer to the newly created texture. This pointer
should not be dropped. See IReferenceCounted::drop() for more
information. */
- virtual ITexture* addTexture(const io::path& name, IImage* image, void* mipmapData=0) = 0;
+ _IRR_DEPRECATED_ ITexture* addTexture(const io::path& name, IImage* image, void* mipmapData)
+ {
+ if (image)
+ image->setMipMapsData(mipmapData, false, true);
+ return addTexture(name, image);
+ }
+
+ //! Creates a texture from an IImage.
+ /** \param name A name for the texture. Later calls of
+ getTexture() with this name will return this texture
+ \param image Image the texture is created from.
+ \return Pointer to the newly created texture. This pointer
+ should not be dropped. See IReferenceCounted::drop() for more
+ information. */
+ virtual ITexture* addTexture(const io::path& name, IImage* image) = 0;
+
//! Creates a cube texture from loaded IImages.
/** \param name A name for the texture. Later calls of
getTexture() with this name will return this texture
@@ -519,6 +513,15 @@ namespace video
actual value of pixels. */
virtual u32 getOcclusionQueryResult(scene::ISceneNode* node) const =0;
+ //! Create render target.
+ virtual IRenderTarget* addRenderTarget() = 0;
+
+ //! Remove render target.
+ virtual void removeRenderTarget(IRenderTarget* renderTarget) = 0;
+
+ //! Remove all render targets.
+ virtual void removeAllRenderTargets() = 0;
+
//! Sets a boolean alpha channel on the texture based on a color key.
/** This makes the texture fully transparent at the texels where
this color key can be found when using for example draw2DImage
@@ -567,6 +570,23 @@ namespace video
information is multiplied.*/
virtual void makeNormalMapTexture(video::ITexture* texture, f32 amplitude=1.0f) const =0;
+ //! Set a render target.
+ /** This will only work if the driver supports the
+ EVDF_RENDER_TO_TARGET feature, which can be queried with
+ queryFeature(). Please note that you cannot render 3D or 2D
+ geometry with a render target as texture on it when you are rendering
+ the scene into this render target at the same time. It is usually only
+ possible to render into a texture between the
+ IVideoDriver::beginScene() and endScene() method calls.
+ \param target Render target object.
+ \param clearFlag The clear flags.
+ \param clearColor The clear color for the color buffer.
+ \param clearDepth The clear value for the depth buffer.
+ \param clearStencil The clear value for the stencil buffer.
+ \return True if sucessful and false if not. */
+ virtual bool setRenderTarget(IRenderTarget* target, u16 clearFlag, SColor clearColor = SColor(255,0,0,0),
+ f32 clearDepth = 1.f, u8 clearStencil = 0) = 0;
+
//! Sets a new render target.
/** This will only work if the driver supports the
EVDF_RENDER_TO_TARGET feature, which can be queried with
@@ -591,38 +611,27 @@ namespace video
IVideoDriver::addRenderTargetTexture(). If set to 0, it sets
the previous render target which was set before the last
setRenderTarget() call.
- \param clearBackBuffer Clears the backbuffer of the render
- target with the color parameter
- \param clearZBuffer Clears the zBuffer of the rendertarget.
- Note that because the frame buffer may share the zbuffer with
- the rendertarget, its zbuffer might be partially cleared too
- by this.
- \param color The background color for the render target.
+ \param clearFlag The clear flags.
+ \param clearColor The clear color for the color buffer.
+ \param clearDepth The clear value for the depth buffer.
+ \param clearStencil The clear value for the stencil buffer.
\return True if sucessful and false if not. */
- virtual bool setRenderTarget(video::ITexture* texture,
- bool clearBackBuffer=true, bool clearZBuffer=true,
- SColor color=video::SColor(0,0,0,0)) =0;
+ virtual bool setRenderTarget(ITexture* texture, u16 clearFlag, SColor clearColor = SColor(255,0,0,0),
+ f32 clearDepth = 1.f, u8 clearStencil = 0) = 0;
- //! set or reset special render targets
- /** This method enables access to special color buffers such as
- stereoscopic buffers or auxiliary buffers.
- \param target Enum value for the render target
- \param clearTarget Clears the target buffer with the color
- parameter
- \param clearZBuffer Clears the zBuffer of the rendertarget.
- Note that because the main frame buffer may share the zbuffer with
- the rendertarget, its zbuffer might be partially cleared too
- by this.
- \param color The background color for the render target.
- \return True if sucessful and false if not. */
- virtual bool setRenderTarget(E_RENDER_TARGET target, bool clearTarget=true,
- bool clearZBuffer=true,
- SColor color=video::SColor(0,0,0,0)) =0;
+ _IRR_DEPRECATED_ bool setRenderTarget(ITexture* texture, bool clearBackBuffer = true,
+ bool clearZBuffer = true, SColor color = SColor(255,0,0,0))
+ {
+ u16 flag = 0;
- //! Sets new multiple render targets.
- virtual bool setRenderTarget(const core::array& texture,
- bool clearBackBuffer=true, bool clearZBuffer=true,
- SColor color=video::SColor(0,0,0,0)) =0;
+ if (clearBackBuffer)
+ flag |= ECBF_COLOR;
+
+ if (clearZBuffer)
+ flag |= ECBF_DEPTH;
+
+ return setRenderTarget(texture, flag, color);
+ }
//! Sets a new viewport.
/** Every rendering operation is done into this new area.
@@ -1230,9 +1239,8 @@ namespace video
If you no longer need the image, you should call IImage::drop().
See IReferenceCounted::drop() for more information. */
virtual IImage* createImageFromData(ECOLOR_FORMAT format,
- const core::dimension2d& size, void *data,
- bool ownForeignMemory=false,
- bool deleteMemory = true) =0;
+ const core::dimension2d& size, void *data, bool ownForeignMemory = false,
+ bool deleteMemory = true) = 0;
//! Creates an empty software image.
/**
@@ -1376,6 +1384,26 @@ namespace video
//! Returns a pointer to the mesh manipulator.
virtual scene::IMeshManipulator* getMeshManipulator() =0;
+ //! Clear the color, depth and/or stencil buffers.
+ virtual void clearBuffers(u16 flag, SColor color = SColor(255,0,0,0), f32 depth = 1.f, u8 stencil = 0) = 0;
+
+ //! Clear the color, depth and/or stencil buffers.
+ _IRR_DEPRECATED_ void clearBuffers(bool backBuffer, bool depthBuffer, bool stencilBuffer, SColor color)
+ {
+ u16 flag = 0;
+
+ if (backBuffer)
+ flag |= ECBF_COLOR;
+
+ if (depthBuffer)
+ flag |= ECBF_DEPTH;
+
+ if (stencilBuffer)
+ flag |= ECBF_STENCIL;
+
+ clearBuffers(flag, color);
+ }
+
//! Clears the ZBuffer.
/** Note that you usually need not to call this method, as it
is automatically done in IVideoDriver::beginScene() or
@@ -1383,7 +1411,10 @@ namespace video
you have to render some special things, you can clear the
zbuffer during the rendering process with this method any time.
*/
- virtual void clearZBuffer() =0;
+ _IRR_DEPRECATED_ void clearZBuffer()
+ {
+ clearBuffers(ECBF_DEPTH, SColor(255,0,0,0), 1.f, 0);
+ }
//! Make a screenshot of the last rendered frame.
/** \return An image created from the last rendered frame. */
diff --git a/include/IVideoModeList.h b/include/IVideoModeList.h
index 4fe2e69a..cc87b2e2 100644
--- a/include/IVideoModeList.h
+++ b/include/IVideoModeList.h
@@ -14,12 +14,8 @@ namespace video
{
//! A list of all available video modes.
- /** You can get a list via IrrlichtDevice::getVideoModeList(). If you are confused
- now, because you think you have to create an Irrlicht Device with a video
- mode before being able to get the video mode list, let me tell you that
- there is no need to start up an Irrlicht Device with EDT_DIRECT3D8, EDT_OPENGL or
- EDT_SOFTWARE: For this (and for lots of other reasons) the null device,
- EDT_NULL exists.*/
+ /** You can get a list via IrrlichtDevice::getVideoModeList().
+ You only need the null device (EDT_NULL) to get the video-modes. */
class IVideoModeList : public virtual IReferenceCounted
{
public:
diff --git a/include/IWriteFile.h b/include/IWriteFile.h
index 2a07585f..ddc147df 100644
--- a/include/IWriteFile.h
+++ b/include/IWriteFile.h
@@ -38,6 +38,10 @@ namespace io
//! Get name of file.
/** \return File name as zero terminated character string. */
virtual const path& getFileName() const = 0;
+
+ //! Flush the content of the buffer in the file
+ /** \return True if successful, otherwise false. */
+ virtual bool flush() = 0;
};
} // end namespace io
diff --git a/include/IrrCompileConfig.h b/include/IrrCompileConfig.h
index 820b97c9..2eec61dc 100644
--- a/include/IrrCompileConfig.h
+++ b/include/IrrCompileConfig.h
@@ -17,9 +17,7 @@
#include // TODO: Although included elsewhere this is required at least for mingw
//! The defines for different operating system are:
-//! _IRR_XBOX_PLATFORM_ for XBox
//! _IRR_WINDOWS_ for all irrlicht supported Windows versions
-//! _IRR_WINDOWS_CE_PLATFORM_ for Windows CE
//! _IRR_WINDOWS_API_ for Windows or XBox
//! _IRR_LINUX_PLATFORM_ for Linux (it is defined here if no other os is defined)
//! _IRR_SOLARIS_PLATFORM_ for Solaris
@@ -32,7 +30,6 @@
//! DEVICE is the windowing system used, several PLATFORMs support more than one DEVICE
//! Irrlicht can be compiled with more than one device
//! _IRR_COMPILE_WITH_WINDOWS_DEVICE_ for Windows API based device
-//! _IRR_COMPILE_WITH_WINDOWS_CE_DEVICE_ for Windows CE API based device
//! _IRR_COMPILE_WITH_OSX_DEVICE_ for Cocoa native windowing on OSX
//! _IRR_COMPILE_WITH_X11_DEVICE_ for Linux X11 based device
//! _IRR_COMPILE_WITH_SDL_DEVICE_ for platform independent SDL framework
@@ -66,22 +63,14 @@
#define _IRR_COMPILE_WITH_WINDOWS_DEVICE_
#endif
-//! WINCE is a very restricted environment for mobile devices
-#if defined(_WIN32_WCE)
-#define _IRR_WINDOWS_
-#define _IRR_WINDOWS_API_
-#define _IRR_WINDOWS_CE_PLATFORM_
-#define _IRR_COMPILE_WITH_WINDOWS_CE_DEVICE_
+#if defined(_MSC_VER) && (_MSC_VER < 1500)
+# error "Only Microsoft Visual Studio 9.0 and later are supported."
#endif
-#if defined(_MSC_VER) && (_MSC_VER < 1300)
-# error "Only Microsoft Visual Studio 7.0 and later are supported."
-#endif
-
-// XBox only suppots the native Window stuff
+// XBox is deprecated (as DX8 is removed). Use Irrlicht 1.8 if you still want to work on this.
#if defined(_XBOX)
#undef _IRR_WINDOWS_
- #define _IRR_XBOX_PLATFORM_
+ #define _IRR_XBOX_PLATFORM_ // deprecated
#define _IRR_WINDOWS_API_
//#define _IRR_COMPILE_WITH_WINDOWS_DEVICE_
#undef _IRR_COMPILE_WITH_WINDOWS_DEVICE_
@@ -165,20 +154,14 @@ while it runs and enabling it will slow down the engine. */
#undef _IRR_COMPILE_WITH_PROFILING_
#endif
-//! Define _IRR_COMPILE_WITH_DIRECT3D_8_ and _IRR_COMPILE_WITH_DIRECT3D_9_ to
-//! compile the Irrlicht engine with Direct3D8 and/or DIRECT3D9.
+//! Define _IRR_COMPILE_WITH_DIRECT3D_9_ to compile the Irrlicht engine with DIRECT3D9.
/** If you only want to use the software device or opengl you can disable those defines.
This switch is mostly disabled because people do not get the g++ compiler compile
directX header files, and directX is only available on Windows platforms. If you
are using Dev-Cpp, and want to compile this using a DX dev pack, you can define
_IRR_COMPILE_WITH_DX9_DEV_PACK_. So you simply need to add something like this
to the compiler settings: -DIRR_COMPILE_WITH_DX9_DEV_PACK
-and this to the linker settings: -ld3dx9 -ld3dx8
-
-Microsoft have chosen to remove D3D8 headers from their recent DXSDKs, and
-so D3D8 support is now disabled by default. If you really want to build
-with D3D8 support, then you will have to source a DXSDK with the appropriate
-headers, e.g. Summer 2004. This is a Microsoft issue, not an Irrlicht one.
+and this to the linker settings: -ld3dx9
*/
#if defined(_IRR_WINDOWS_API_) && (!defined(__GNUC__) || defined(IRR_COMPILE_WITH_DX9_DEV_PACK))
@@ -194,13 +177,8 @@ If not defined, Windows Multimedia library is used, which offers also broad supp
#undef _IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_
#endif
-//! Only define _IRR_COMPILE_WITH_DIRECT3D_8_ if you have an appropriate DXSDK, e.g. Summer 2004
-// #define _IRR_COMPILE_WITH_DIRECT3D_8_
+//! enabled Direct3D 9
#define _IRR_COMPILE_WITH_DIRECT3D_9_
-
-#ifdef NO_IRR_COMPILE_WITH_DIRECT3D_8_
-#undef _IRR_COMPILE_WITH_DIRECT3D_8_
-#endif
#ifdef NO_IRR_COMPILE_WITH_DIRECT3D_9_
#undef _IRR_COMPILE_WITH_DIRECT3D_9_
#endif
@@ -230,7 +208,7 @@ define out. */
it should be usually the only HW accelerated one. OpenGL is currently disabled
if using this driver, to avoid problems with the ogl-es emulators.
*/
-#define _IRR_COMPILE_WITH_OGLES1_
+// #define _IRR_COMPILE_WITH_OGLES1_
#ifdef NO_IRR_COMPILE_WITH_OGLES1_
#undef _IRR_COMPILE_WITH_OGLES1_
#endif
@@ -405,15 +383,6 @@ to provide the user with the proper DLL. That's why it's disabled by default. */
#undef _IRR_D3D_USE_LEGACY_HLSL_COMPILER
#endif
-//! Define _IRR_COMPILE_WITH_CG_ to enable Cg Shading Language support
-//#define _IRR_COMPILE_WITH_CG_
-#ifdef NO_IRR_COMPILE_WITH_CG_
-#undef _IRR_COMPILE_WITH_CG_
-#endif
-#if !defined(_IRR_COMPILE_WITH_OPENGL_) && !defined(_IRR_COMPILE_WITH_DIRECT3D_9_)
-#undef _IRR_COMPILE_WITH_CG_
-#endif
-
//! Define _IRR_USE_NVIDIA_PERFHUD_ to opt-in to using the nVidia PerHUD tool
/** Enable, by opting-in, to use the nVidia PerfHUD performance analysis driver
tool . */
@@ -594,6 +563,11 @@ B3D, MS3D or X meshes */
#ifdef NO_IRR_COMPILE_WITH_PLY_WRITER_
#undef _IRR_COMPILE_WITH_PLY_WRITER_
#endif
+//! Define _IRR_COMPILE_WITH_B3D_WRITER_ if you want to write .b3d files
+#define _IRR_COMPILE_WITH_B3D_WRITER_
+#ifdef NO_IRR_COMPILE_WITH_B3D_WRITER_
+#undef _IRR_COMPILE_WITH_B3D_WRITER_
+#endif
//! Define _IRR_COMPILE_WITH_BMP_LOADER_ if you want to load .bmp files
//! Disabling this loader will also disable the built-in font
@@ -834,75 +808,6 @@ precision will be lower but speed higher. currently X86 only
#endif // _IRR_WINDOWS_API_
-// We need to disable DIRECT3D9 support for Visual Studio 6.0 because
-// those $%&$!! disabled support for it since Dec. 2004 and users are complaining
-// about linker errors. Comment this out only if you are knowing what you are
-// doing. (Which means you have an old DX9 SDK and VisualStudio6).
-#ifdef _MSC_VER
-#if (_MSC_VER < 1300 && !defined(__GNUC__))
-#undef _IRR_COMPILE_WITH_DIRECT3D_9_
-#pragma message("Compiling Irrlicht with Visual Studio 6.0, support for DX9 is disabled.")
-#endif
-#endif
-
-// XBox does not have OpenGL or DirectX9
-#if defined(_IRR_XBOX_PLATFORM_)
- #undef _IRR_COMPILE_WITH_OPENGL_
- #undef _IRR_COMPILE_WITH_DIRECT3D_9_
-#endif
-
-//! WinCE does not have OpenGL or DirectX9. use minimal loaders
-#if defined(_WIN32_WCE)
- #undef _IRR_COMPILE_WITH_OPENGL_
- #undef _IRR_COMPILE_WITH_DIRECT3D_8_
- #undef _IRR_COMPILE_WITH_DIRECT3D_9_
-
- #undef BURNINGVIDEO_RENDERER_BEAUTIFUL
- #undef BURNINGVIDEO_RENDERER_FAST
- #undef BURNINGVIDEO_RENDERER_ULTRA_FAST
- #define BURNINGVIDEO_RENDERER_CE
-
- #undef _IRR_COMPILE_WITH_WINDOWS_DEVICE_
- #define _IRR_COMPILE_WITH_WINDOWS_CE_DEVICE_
- //#define _IRR_WCHAR_FILESYSTEM
-
- #undef _IRR_COMPILE_WITH_IRR_MESH_LOADER_
- //#undef _IRR_COMPILE_WITH_MD2_LOADER_
- #undef _IRR_COMPILE_WITH_MD3_LOADER_
- #undef _IRR_COMPILE_WITH_3DS_LOADER_
- #undef _IRR_COMPILE_WITH_COLLADA_LOADER_
- #undef _IRR_COMPILE_WITH_CSM_LOADER_
- #undef _IRR_COMPILE_WITH_BSP_LOADER_
- #undef _IRR_COMPILE_WITH_DMF_LOADER_
- #undef _IRR_COMPILE_WITH_LMTS_LOADER_
- #undef _IRR_COMPILE_WITH_MY3D_LOADER_
- #undef _IRR_COMPILE_WITH_OBJ_LOADER_
- #undef _IRR_COMPILE_WITH_OCT_LOADER_
- #undef _IRR_COMPILE_WITH_OGRE_LOADER_
- #undef _IRR_COMPILE_WITH_LWO_LOADER_
- #undef _IRR_COMPILE_WITH_STL_LOADER_
- #undef _IRR_COMPILE_WITH_IRR_WRITER_
- #undef _IRR_COMPILE_WITH_COLLADA_WRITER_
- #undef _IRR_COMPILE_WITH_STL_WRITER_
- #undef _IRR_COMPILE_WITH_OBJ_WRITER_
- //#undef _IRR_COMPILE_WITH_BMP_LOADER_
- //#undef _IRR_COMPILE_WITH_JPG_LOADER_
- #undef _IRR_COMPILE_WITH_PCX_LOADER_
- //#undef _IRR_COMPILE_WITH_PNG_LOADER_
- #undef _IRR_COMPILE_WITH_PPM_LOADER_
- #undef _IRR_COMPILE_WITH_PSD_LOADER_
- //#undef _IRR_COMPILE_WITH_TGA_LOADER_
- #undef _IRR_COMPILE_WITH_WAL_LOADER_
- #undef _IRR_COMPILE_WITH_BMP_WRITER_
- #undef _IRR_COMPILE_WITH_JPG_WRITER_
- #undef _IRR_COMPILE_WITH_PCX_WRITER_
- #undef _IRR_COMPILE_WITH_PNG_WRITER_
- #undef _IRR_COMPILE_WITH_PPM_WRITER_
- #undef _IRR_COMPILE_WITH_PSD_WRITER_
- #undef _IRR_COMPILE_WITH_TGA_WRITER_
-
-#endif
-
#ifndef _IRR_WINDOWS_API_
#undef _IRR_WCHAR_FILESYSTEM
#endif
diff --git a/include/IrrlichtDevice.h b/include/IrrlichtDevice.h
index db7ef555..63e51abd 100644
--- a/include/IrrlichtDevice.h
+++ b/include/IrrlichtDevice.h
@@ -112,12 +112,9 @@ namespace irr
virtual ILogger* getLogger() = 0;
//! Gets a list with all video modes available.
- /** If you are confused now, because you think you have to
- create an Irrlicht Device with a video mode before being able
- to get the video mode list, let me tell you that there is no
- need to start up an Irrlicht Device with EDT_DIRECT3D8,
- EDT_OPENGL or EDT_SOFTWARE: For this (and for lots of other
- reasons) the null driver, EDT_NULL exists.
+ /** You only need a null driver (ED_NULL) to access
+ those video modes. So you can get the available modes
+ before starting any other video driver.
\return Pointer to a list with all video modes supported
by the gfx adapter. */
virtual video::IVideoModeList* getVideoModeList() = 0;
@@ -356,12 +353,6 @@ namespace irr
return true;
#else
return false;
-#endif
- case video::EDT_DIRECT3D8:
-#ifdef _IRR_COMPILE_WITH_DIRECT3D_8_
- return true;
-#else
- return false;
#endif
case video::EDT_DIRECT3D9:
#ifdef _IRR_COMPILE_WITH_DIRECT3D_9_
diff --git a/include/SColor.h b/include/SColor.h
index 6270c516..28973d41 100644
--- a/include/SColor.h
+++ b/include/SColor.h
@@ -13,7 +13,10 @@ namespace irr
namespace video
{
//! An enum for the color format of textures used by the Irrlicht Engine.
- /** A color format specifies how color information is stored. */
+ /** A color format specifies how color information is stored.
+ NOTE: Byte order in memory is usually flipped (it's probably correct in bitmap files, but flipped on reading).
+ So for example ECF_A8R8G8B8 is BGRA in memory same as in DX9's D3DFMT_A8R8G8B8 format.
+ */
enum ECOLOR_FORMAT
{
//! 16 bit color format used by the software driver.
@@ -75,26 +78,53 @@ namespace video
//! ETC2 ARGB.
ECF_ETC2_ARGB,
- /** Floating Point formats. The following formats may only be used for render target textures. */
+ /** The following formats may only be used for render target textures. */
- //! 16 bit floating point format using 16 bits for the red channel.
+ /** Floating point formats. */
+
+ //! 16 bit format using 16 bits for the red channel.
ECF_R16F,
- //! 32 bit floating point format using 16 bits for the red channel and 16 bits for the green channel.
+ //! 32 bit format using 16 bits for the red and green channels.
ECF_G16R16F,
- //! 64 bit floating point format 16 bits are used for the red, green, blue and alpha channels.
+ //! 64 bit format using 16 bits for the red, green, blue and alpha channels.
ECF_A16B16G16R16F,
- //! 32 bit floating point format using 32 bits for the red channel.
+ //! 32 bit format using 32 bits for the red channel.
ECF_R32F,
- //! 64 bit floating point format using 32 bits for the red channel and 32 bits for the green channel.
+ //! 64 bit format using 32 bits for the red and green channels.
ECF_G32R32F,
- //! 128 bit floating point format. 32 bits are used for the red, green, blue and alpha channels.
+ //! 128 bit format using 32 bits for the red, green, blue and alpha channels.
ECF_A32B32G32R32F,
+ /** Unsigned normalized integer formats. */
+
+ //! 8 bit format using 8 bits for the red channel.
+ ECF_R8,
+
+ //! 16 bit format using 8 bits for the red and green channels.
+ ECF_R8G8,
+
+ //! 16 bit format using 16 bits for the red channel.
+ ECF_R16,
+
+ //! 32 bit format using 16 bits for the red and green channels.
+ ECF_R16G16,
+
+ /** Depth and stencil formats. */
+
+ //! 16 bit format using 16 bits for depth.
+ ECF_D16,
+
+ //! 32 bit format using 32 bits for depth.
+ ECF_D32,
+
+ //! 32 bit format using 24 bits for depth and 8 bits for stencil.
+ ECF_D24S8,
+
//! Unknown color format:
ECF_UNKNOWN
};
@@ -448,7 +478,7 @@ namespace video
/** \param data: target to write the color. Must contain sufficiently large memory to receive the number of bytes neede for format
\param format: tells the format used to write the color into data
*/
- void getData(void *data, ECOLOR_FORMAT format)
+ void getData(void *data, ECOLOR_FORMAT format) const
{
switch(format)
{
diff --git a/include/SExposedVideoData.h b/include/SExposedVideoData.h
index 0b52e20e..25142ebf 100644
--- a/include/SExposedVideoData.h
+++ b/include/SExposedVideoData.h
@@ -40,19 +40,6 @@ struct SExposedVideoData
void* HWnd;
};
- struct SD3D8
- {
- //! Pointer to the IDirect3D8 interface
- IDirect3D8* D3D8;
-
- //! Pointer to the IDirect3DDevice8 interface
- IDirect3DDevice8* D3DDev8;
-
- //! Window handle.
- /** Get with for example with: HWND h = reinterpret_cast(exposedData.D3D8.HWnd) */
- void* HWnd;
- };
-
struct SOpenGLWin32
{
//! Private GDI Device Context.
@@ -79,7 +66,6 @@ struct SExposedVideoData
union
{
SD3D9 D3D9;
- SD3D8 D3D8;
SOpenGLWin32 OpenGLWin32;
SOpenGLLinux OpenGLLinux;
diff --git a/include/SIrrCreationParameters.h b/include/SIrrCreationParameters.h
index 2a00af6b..08e40c5d 100644
--- a/include/SIrrCreationParameters.h
+++ b/include/SIrrCreationParameters.h
@@ -27,10 +27,10 @@ namespace irr
DriverType(video::EDT_BURNINGSVIDEO),
WindowSize(core::dimension2d(800, 600)),
WindowPosition(core::position2di(-1,-1)),
- Bits(16),
- ZBufferBits(16),
+ Bits(32),
+ ZBufferBits(24),
Fullscreen(false),
- Stencilbuffer(false),
+ Stencilbuffer(true),
Vsync(false),
AntiAlias(0),
HandleSRGB(false),
@@ -109,9 +109,8 @@ namespace irr
//! Type of video driver used to render graphics.
/** This can currently be video::EDT_NULL, video::EDT_SOFTWARE,
- video::EDT_BURNINGSVIDEO, video::EDT_DIRECT3D8,
- video::EDT_DIRECT3D9, and video::EDT_OPENGL.
- Default: Software. */
+ video::EDT_BURNINGSVIDEO, video::EDT_DIRECT3D9, and video::EDT_OPENGL.
+ Default: EDT_BURNINGSVIDEO. */
video::E_DRIVER_TYPE DriverType;
//! Size of the window or the video mode in fullscreen mode. Default: 800x600
@@ -120,10 +119,10 @@ namespace irr
//! Position of the window on-screen. Default: (-1, -1) or centered.
core::position2di WindowPosition;
- //! Minimum Bits per pixel of the color buffer in fullscreen mode. Ignored if windowed mode. Default: 16.
+ //! Minimum Bits per pixel of the color buffer in fullscreen mode. Ignored if windowed mode. Default: 32.
u8 Bits;
- //! Minimum Bits per pixel of the depth buffer. Default: 16.
+ //! Minimum Bits per pixel of the depth buffer. Default: 24.
u8 ZBufferBits;
//! Should be set to true if the device should run in fullscreen.
@@ -135,7 +134,7 @@ namespace irr
stencil buffer shadows. Note that not all drivers are able to
use the stencil buffer, hence it can be ignored during device
creation. Without the stencil buffer no shadows will be drawn.
- Default: false. */
+ Default: true. */
bool Stencilbuffer;
//! Specifies vertical syncronisation.
@@ -235,7 +234,7 @@ namespace irr
\code
while (device->run())
{
- driver->beginScene(true, true, 0);
+ driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, 0);
smgr->drawAll();
driver->endScene();
}
@@ -267,7 +266,7 @@ namespace irr
device->getTimer()->tick();
// draw engine picture
- driver->beginScene(true, true, 0);
+ driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, 0);
smgr->drawAll();
driver->endScene();
}
diff --git a/include/SMaterial.h b/include/SMaterial.h
index 44e49487..81c80ee1 100644
--- a/include/SMaterial.h
+++ b/include/SMaterial.h
@@ -192,6 +192,7 @@ namespace video
//! High-quality anti-aliasing, not always supported, automatically enables SIMPLE mode
EAAM_QUALITY=3,
//! Line smoothing
+ //! Careful, enabling this can lead to software emulation under OpenGL
EAAM_LINE_SMOOTH=4,
//! point smoothing, often in software and slow, only with OpenGL
EAAM_POINT_SMOOTH=8,
@@ -246,6 +247,16 @@ namespace video
0
};
+ //! Fine-tuning for SMaterial.ZWriteFineControl
+ enum E_ZWRITE_FINE_CONTROL
+ {
+ //! Default. Only write zbuffer when When SMaterial::ZBuffer is true and SMaterial::isTransparent() returns false.
+ EZI_ONLY_NON_TRANSPARENT,
+ //! Writing will just be based on SMaterial::ZBuffer value, transparency is ignored.
+ //! Needed mostly for certain shader materials as SMaterial::isTransparent will always return false for those.
+ EZI_ZBUFFER_FLAG
+ };
+
//! Maximum number of texture an SMaterial can have.
const u32 MATERIAL_MAX_TEXTURES = _IRR_MATERIAL_MAX_TEXTURES_;
@@ -264,7 +275,8 @@ namespace video
PolygonOffsetFactor(0), PolygonOffsetDirection(EPO_FRONT),
Wireframe(false), PointCloud(false), GouraudShading(true),
Lighting(true), ZWriteEnable(true), BackfaceCulling(true), FrontfaceCulling(false),
- FogEnable(false), NormalizeNormals(false), UseMipMaps(true)
+ FogEnable(false), NormalizeNormals(false), UseMipMaps(true),
+ ZWriteFineControl(EZI_ONLY_NON_TRANSPARENT)
{ }
//! Copy constructor
@@ -318,6 +330,7 @@ namespace video
PolygonOffsetFactor = other.PolygonOffsetFactor;
PolygonOffsetDirection = other.PolygonOffsetDirection;
UseMipMaps = other.UseMipMaps;
+ ZWriteFineControl = other.ZWriteFineControl;
return *this;
}
@@ -398,8 +411,7 @@ namespace video
//! Sets the antialiasing mode
/** Values are chosen from E_ANTI_ALIASING_MODE. Default is
- EAAM_SIMPLE|EAAM_LINE_SMOOTH, i.e. simple multi-sample
- anti-aliasing and lime smoothing is enabled. */
+ EAAM_SIMPLE, i.e. simple multi-sample anti-aliasing. */
u8 AntiAliasing;
//! Defines the enabled color planes
@@ -475,6 +487,11 @@ namespace video
/** Sometimes, disabling mipmap usage can be useful. Default: true */
bool UseMipMaps:1;
+ //! Give more control how the ZWriteEnable flag is interpreted
+ /** Note that there is also the global flag AllowZWriteOnTransparent
+ which when set acts like all materials have set EZI_ALLOW_ON_TRANSPARENT. */
+ E_ZWRITE_FINE_CONTROL ZWriteFineControl;
+
//! Gets the texture transformation matrix for level i
/** \param i The desired level. Must not be larger than MATERIAL_MAX_TEXTURES.
\return Texture matrix for texture level i. */
@@ -695,7 +712,9 @@ namespace video
BlendFactor != b.BlendFactor ||
PolygonOffsetFactor != b.PolygonOffsetFactor ||
PolygonOffsetDirection != b.PolygonOffsetDirection ||
- UseMipMaps != b.UseMipMaps;
+ UseMipMaps != b.UseMipMaps ||
+ ZWriteFineControl != b.ZWriteFineControl;
+ ;
for (u32 i=0; (i0; --i)
{
- if (allDrivers || (irr::IrrlichtDevice::isDriverSupported(irr::video::E_DRIVER_TYPE(i-1))))
+ irr::video::E_DRIVER_TYPE driverType = irr::video::E_DRIVER_TYPE(i-1);
+ if ( driverType == irr::video::DEPRECATED_EDT_DIRECT3D8_NO_LONGER_EXISTS )
+ continue;
+ if (allDrivers || irr::IrrlichtDevice::isDriverSupported(driverType) )
printf(" (%c) %s\n", 'a'+irr::video::EDT_COUNT-i, irr::video::DRIVER_TYPE_NAMES[i-1]);
}
diff --git a/include/exampleHelper.h b/include/exampleHelper.h
new file mode 100755
index 00000000..867073a9
--- /dev/null
+++ b/include/exampleHelper.h
@@ -0,0 +1,25 @@
+// Copyright (C) 2015 Patryk Nadrowski
+// This file is part of the "Irrlicht Engine".
+// For conditions of distribution and use, see copyright notice in irrlicht.h
+
+#ifndef __EXAMPLE_HELPER_H_INCLUDED__
+#define __EXAMPLE_HELPER_H_INCLUDED__
+
+#include "IrrCompileConfig.h"
+#include "path.h"
+
+namespace irr
+{
+
+static io::path getExampleMediaPath()
+{
+#if defined (_IRR_IPHONE_PLATFORM_) || defined (_IRR_ANDROID_PLATFORM_) || defined (_IRR_OSX_PLATFORM_)
+ return io::path("media/");
+#else
+ return io::path("../../media/");
+#endif
+}
+
+} // end namespace irr
+
+#endif
diff --git a/include/irrArray.h b/include/irrArray.h
index 52b89b02..99c87c7b 100644
--- a/include/irrArray.h
+++ b/include/irrArray.h
@@ -33,7 +33,7 @@ public:
//! Constructs an array and allocates an initial chunk of memory.
/** \param start_count Amount of elements to pre-allocate. */
- array(u32 start_count) : data(0), allocated(0), used(0),
+ explicit array(u32 start_count) : data(0), allocated(0), used(0),
strategy(ALLOC_STRATEGY_DOUBLE),
free_when_destroyed(true), is_sorted(true)
{
diff --git a/include/irrList.h b/include/irrList.h
index f04119b1..706cc61d 100644
--- a/include/irrList.h
+++ b/include/irrList.h
@@ -67,10 +67,6 @@ public:
bool operator ==(const ConstIterator& other) const { return Current == other.Current; }
bool operator !=(const ConstIterator& other) const { return Current != other.Current; }
- #if defined (_MSC_VER) && (_MSC_VER < 1300)
- #pragma warning(disable:4284) // infix notation problem when using iterator operator ->
- #endif
-
T & operator * () { return Current->Element; }
T * operator ->() { return &Current->Element; }
diff --git a/include/irrMap.h b/include/irrMap.h
index 28a7c9e4..3297f49f 100644
--- a/include/irrMap.h
+++ b/include/irrMap.h
@@ -54,43 +54,36 @@ class map
const ValueTypeRB& getValue() const
{
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
return Value;
}
ValueTypeRB& getValue()
{
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
return Value;
}
const KeyTypeRB& getKey() const
{
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
return Key;
}
bool isRoot() const
{
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
return Parent==0;
}
bool isLeftChild() const
{
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
return (Parent != 0) && (Parent->getLeftChild()==this);
}
bool isRightChild() const
{
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
return (Parent!=0) && (Parent->getRightChild()==this);
}
bool isLeaf() const
{
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
return (LeftChild==0) && (RightChild==0);
}
@@ -105,13 +98,11 @@ class map
bool isRed() const
{
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
return IsRed;
}
bool isBlack() const
{
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
return !IsRed;
}
@@ -162,7 +153,6 @@ class map
bool atEnd() const
{
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
return Cur==0;
}
@@ -311,7 +301,6 @@ class map
bool atEnd() const
{
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
return Cur==0;
}
@@ -456,7 +445,6 @@ class map
bool atEnd() const
{
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
return Cur==0;
}
@@ -556,7 +544,6 @@ class map
bool atEnd() const
{
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
return Cur==0;
}
@@ -654,7 +641,6 @@ class map
// Not found
_IRR_DEBUG_BREAK_IF(node==0) // access violation
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
return node->getValue();
}
@@ -693,7 +679,6 @@ class map
if (!insert(newNode))
{
delete newNode;
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
return false;
}
@@ -832,7 +817,6 @@ class map
{
if (p == 0)
{
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
return false;
}
@@ -888,7 +872,6 @@ class map
//! \return Returns true if empty, false if not
bool empty() const
{
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
return Root == 0;
}
@@ -1073,7 +1056,6 @@ class map
++Size;
}
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
return result;
}
diff --git a/include/irrString.h b/include/irrString.h
index 82f6a9be..16e60dc6 100644
--- a/include/irrString.h
+++ b/include/irrString.h
@@ -121,7 +121,7 @@ public:
: array(0), allocated(0), used(0)
{
c8 tmpbuf[255];
- snprintf(tmpbuf, 255, "%0.6f", number);
+ snprintf_irr(tmpbuf, 255, "%0.6f", number);
*this = tmpbuf;
}
diff --git a/include/irrTypes.h b/include/irrTypes.h
index ce549089..b7a4d23f 100644
--- a/include/irrTypes.h
+++ b/include/irrTypes.h
@@ -113,16 +113,16 @@ typedef double f64;
#include
#ifdef _IRR_WINDOWS_API_
-//! Defines for s{w,n}printf because these methods do not match the ISO C
-//! standard on Windows platforms, but it does on all others.
-//! These should be int snprintf(char *str, size_t size, const char *format, ...);
-//! and int swprintf(wchar_t *wcs, size_t maxlen, const wchar_t *format, ...);
+//! Defines for s{w,n}printf_irr because s{w,n}printf methods do not match the ISO C
+//! standard on Windows platforms.
+//! We want int snprintf_irr(char *str, size_t size, const char *format, ...);
+//! and int swprintf_irr(wchar_t *wcs, size_t maxlen, const wchar_t *format, ...);
#if defined(_MSC_VER) && _MSC_VER > 1310 && !defined (_WIN32_WCE)
-#define swprintf swprintf_s
-#define snprintf sprintf_s
+#define swprintf_irr swprintf_s
+#define snprintf_irr sprintf_s
#elif !defined(__CYGWIN__)
-#define swprintf _snwprintf
-#define snprintf _snprintf
+#define swprintf_irr _snwprintf
+#define snprintf_irr _snprintf
#endif
// define the wchar_t type if not already built in.
@@ -140,6 +140,9 @@ typedef unsigned short wchar_t;
#define _WCHAR_T_DEFINED
#endif // wchar is not defined
#endif // microsoft compiler
+#else
+#define swprintf_irr swprintf
+#define snprintf_irr snprintf
#endif // _IRR_WINDOWS_API_
namespace irr
@@ -199,7 +202,7 @@ For functions: template _IRR_DEPRECATED_ void test4(void) {}
/** Usage in a derived class:
virtual void somefunc() _IRR_OVERRIDE_;
*/
-#if (__GNUC__ >= 4 && __GNUC_MINOR__ >= 7 && (defined(__GXX_EXPERIMENTAL_CXX0X) || __cplusplus >= 201103L) )
+#if ( ((__GNUC__ > 4 ) || ((__GNUC__ == 4 ) && (__GNUC_MINOR__ >= 7))) && (defined(__GXX_EXPERIMENTAL_CXX0X) || __cplusplus >= 201103L) )
#define _IRR_OVERRIDE_ override
#elif (_MSC_VER >= 1600 ) /* supported since MSVC 2010 */
#define _IRR_OVERRIDE_ override
@@ -209,19 +212,6 @@ virtual void somefunc() _IRR_OVERRIDE_;
#define _IRR_OVERRIDE_
#endif
-//! Defines a small statement to work around a microsoft compiler bug.
-/** The microsoft compiler 7.0 - 7.1 has a bug:
-When you call unmanaged code that returns a bool type value of false from managed code,
-the return value may appear as true. See
-http://support.microsoft.com/default.aspx?kbid=823071 for details.
-Compiler version defines: VC6.0 : 1200, VC7.0 : 1300, VC7.1 : 1310, VC8.0 : 1400*/
-#if defined(_IRR_WINDOWS_API_) && defined(_MSC_VER) && (_MSC_VER > 1299) && (_MSC_VER < 1400)
-#define _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX __asm mov eax,100
-#else
-#define _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX
-#endif // _IRR_MANAGED_MARSHALLING_BUGFIX
-
-
// memory debugging
#if defined(_DEBUG) && defined(IRRLICHT_EXPORTS) && defined(_MSC_VER) && \
(_MSC_VER > 1299) && !defined(_IRR_DONT_DO_MEMORY_DEBUGGING_HERE) && !defined(_WIN32_WCE)
@@ -234,12 +224,6 @@ Compiler version defines: VC6.0 : 1200, VC7.0 : 1300, VC7.1 : 1310, VC8.0 : 1400
#define new DEBUG_CLIENTBLOCK
#endif
-// disable truncated debug information warning in visual studio 6 by default
-#if defined(_MSC_VER) && (_MSC_VER < 1300 )
-#pragma warning( disable: 4786)
-#endif // _MSC
-
-
//! ignore VC8 warning deprecated
/** The microsoft compiler */
#if defined(_IRR_WINDOWS_API_) && defined(_MSC_VER) && (_MSC_VER >= 1400)
diff --git a/include/irrlicht.h b/include/irrlicht.h
index f82ff80c..f5e8882e 100644
--- a/include/irrlicht.h
+++ b/include/irrlicht.h
@@ -125,6 +125,7 @@
#include "IReferenceCounted.h"
#include "irrArray.h"
#include "IRandomizer.h"
+#include "IRenderTarget.h"
#include "IrrlichtDevice.h"
#include "irrList.h"
#include "irrMap.h"
@@ -231,7 +232,7 @@
* int main()
* {
* // start up the engine
- * IrrlichtDevice *device = createDevice(video::EDT_DIRECT3D8,
+ * IrrlichtDevice *device = createDevice(video::EDT_OPENGL,
* core::dimension2d(640,480));
*
* video::IVideoDriver* driver = device->getVideoDriver();
@@ -256,7 +257,7 @@
* // draw everything
* while(device->run() && driver)
* {
- * driver->beginScene(true, true, video::SColor(255,0,0,255));
+ * driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(255,0,0,255));
* scenemgr->drawAll();
* driver->endScene();
* }
@@ -310,7 +311,7 @@ namespace irr
/** If you need more parameters to be passed to the creation of the Irrlicht Engine device,
use the createDeviceEx() function.
\param deviceType: Type of the device. This can currently be video::EDT_NULL,
- video::EDT_SOFTWARE, video::EDT_BURNINGSVIDEO, video::EDT_DIRECT3D8, video::EDT_DIRECT3D9 and video::EDT_OPENGL.
+ video::EDT_SOFTWARE, video::EDT_BURNINGSVIDEO, video::EDT_DIRECT3D9 and video::EDT_OPENGL.
\param windowSize: Size of the window or the video mode in fullscreen mode.
\param bits: Bits per pixel in fullscreen mode. Ignored if windowed mode.
\param fullscreen: Should be set to true if the device should run in fullscreen. Otherwise
@@ -328,9 +329,9 @@ namespace irr
video::E_DRIVER_TYPE deviceType = video::EDT_SOFTWARE,
// parantheses are necessary for some compilers
const core::dimension2d& windowSize = (core::dimension2d(640,480)),
- u32 bits = 16,
+ u32 bits = 32,
bool fullscreen = false,
- bool stencilbuffer = false,
+ bool stencilbuffer = true,
bool vsync = false,
IEventReceiver* receiver = 0);
diff --git a/include/irrpack.h b/include/irrpack.h
index 3cf643f8..ff922d06 100644
--- a/include/irrpack.h
+++ b/include/irrpack.h
@@ -26,7 +26,7 @@
// it started to be necessary with gcc 4.7 on mingw unless compiled with -mno-ms-bitfields.
// And I found some hints on the web that older gcc versions on the other hand had sometimes
// trouble with pragma pack while they worked with __attribute__((packed)).
-# if (__GNUC__ >= 4 ) && (__GNUC_MINOR__ >= 7)
+# if (__GNUC__ > 4 ) || ((__GNUC__ == 4 ) && (__GNUC_MINOR__ >= 7))
# pragma pack( push, packing )
# pragma pack( 1 )
# define PACK_STRUCT
diff --git a/include/irrunpack.h b/include/irrunpack.h
index b42398da..ba478278 100644
--- a/include/irrunpack.h
+++ b/include/irrunpack.h
@@ -11,7 +11,7 @@
#elif defined (__DMC__)
# pragma pack( pop )
#elif defined( __GNUC__ )
-# if (__GNUC__ >= 4 ) && (__GNUC_MINOR__ >= 7)
+# if (__GNUC__ > 4 ) || ((__GNUC__ == 4 ) && (__GNUC_MINOR__ >= 7))
# pragma pack( pop, packing )
# endif
#endif
diff --git a/include/matrix4.h b/include/matrix4.h
index 6f9228ed..ff0de4a0 100644
--- a/include/matrix4.h
+++ b/include/matrix4.h
@@ -372,6 +372,11 @@ namespace core
\return Altered matrix */
CMatrix4& setTextureTranslate( f32 x, f32 y );
+ //! Get texture transformation translation
+ /** \param x returns offset on x axis
+ \param y returns offset on y axis */
+ void getTextureTranslate( f32& x, f32& y ) const;
+
//! Set texture transformation translation, using a transposed representation
/** Doesn't clear other elements than those affected.
\param x Offset on x axis
@@ -386,6 +391,11 @@ namespace core
\return Altered matrix. */
CMatrix4& setTextureScale( f32 sx, f32 sy );
+ //! Get texture transformation scale
+ /** \param sx Returns x axis scale factor
+ \param sy Returns y axis scale factor */
+ void getTextureScale( f32& sx, f32& sy ) const;
+
//! Set texture transformation scale, and recenter at (0.5,0.5)
/** Doesn't clear other elements than those affected.
\param sx Scale factor on x axis
@@ -862,8 +872,8 @@ namespace core
//! Returns a rotation that is equivalent to that set by setRotationDegrees().
/** This code was sent in by Chev. Note that it does not necessarily return
the *same* Euler angles as those set by setRotationDegrees(), but the rotation will
- be equivalent, i.e. will have the same result when used to rotate a vector or node.
- This code was orginally written by by Chev.
+ be equivalent, i.e. will have the same result when used to rotate a vector or node.
+ This code was orginally written by by Chev.
*/
template
inline core::vector3d CMatrix4::getRotationDegrees(const vector3d& scale_) const
@@ -923,7 +933,7 @@ namespace core
//! Returns a rotation that is equivalent to that set by setRotationDegrees().
/** This code was sent in by Chev. Note that it does not necessarily return
the *same* Euler angles as those set by setRotationDegrees(), but the rotation will
- be equivalent, i.e. will have the same result when used to rotate a vector or node.
+ be equivalent, i.e. will have the same result when used to rotate a vector or node.
This code was orginally written by by Chev. */
template
inline core::vector3d CMatrix4::getRotationDegrees() const
@@ -2150,6 +2160,12 @@ namespace core
return *this;
}
+ template
+ inline void CMatrix4::getTextureTranslate(f32& x, f32& y) const
+ {
+ x = (f32)M[8];
+ y = (f32)M[9];
+ }
template
inline CMatrix4& CMatrix4::setTextureTranslateTransposed ( f32 x, f32 y )
@@ -2174,6 +2190,12 @@ namespace core
return *this;
}
+ template
+ inline void CMatrix4::getTextureScale ( f32& sx, f32& sy ) const
+ {
+ sx = (f32)M[0];
+ sy = (f32)M[5];
+ }
template
inline CMatrix4& CMatrix4::setTextureScaleCenter( f32 sx, f32 sy )
diff --git a/include/quaternion.h b/include/quaternion.h
index a7392c70..fa0c7634 100644
--- a/include/quaternion.h
+++ b/include/quaternion.h
@@ -10,10 +10,15 @@
#include "matrix4.h"
#include "vector3d.h"
-// Between Irrlicht 1.7 and Irrlicht 1.8 the quaternion-matrix conversions got fixed.
-// This define disables all involved functions completely to allow finding all places
-// where the wrong conversions had been in use.
-#define IRR_TEST_BROKEN_QUATERNION_USE 0
+// NOTE: You *only* need this when updating an application from Irrlicht before 1.8 to Irrlicht 1.8 or later.
+// Between Irrlicht 1.7 and Irrlicht 1.8 the quaternion-matrix conversions changed.
+// Before the fix they had mixed left- and right-handed rotations.
+// To test if your code was affected by the change enable IRR_TEST_BROKEN_QUATERNION_USE and try to compile your application.
+// This defines removes those functions so you get compile errors anywhere you use them in your code.
+// For every line with a compile-errors you have to change the corresponding lines like that:
+// - When you pass the matrix to the quaternion constructor then replace the matrix by the transposed matrix.
+// - For uses of getMatrix() you have to use quaternion::getMatrix_transposed instead.
+// #define IRR_TEST_BROKEN_QUATERNION_USE
namespace irr
{
@@ -39,7 +44,7 @@ class quaternion
//! Constructor which converts euler angles (radians) to a quaternion
quaternion(const vector3df& vec);
-#if !IRR_TEST_BROKEN_QUATERNION_USE
+#ifndef IRR_TEST_BROKEN_QUATERNION_USE
//! Constructor which converts a matrix to a quaternion
quaternion(const matrix4& mat);
#endif
@@ -53,7 +58,7 @@ class quaternion
//! Assignment operator
inline quaternion& operator=(const quaternion& other);
-#if !IRR_TEST_BROKEN_QUATERNION_USE
+#ifndef IRR_TEST_BROKEN_QUATERNION_USE
//! Matrix assignment operator
inline quaternion& operator=(const matrix4& other);
#endif
@@ -62,6 +67,7 @@ class quaternion
quaternion operator+(const quaternion& other) const;
//! Multiplication operator
+ //! Be careful, unfortunately the operator order here is opposite of that in CMatrix4::operator*
quaternion operator*(const quaternion& other) const;
//! Multiplication operator with scalar
@@ -98,7 +104,7 @@ class quaternion
//! Normalizes the quaternion
inline quaternion& normalize();
-#if !IRR_TEST_BROKEN_QUATERNION_USE
+#ifndef IRR_TEST_BROKEN_QUATERNION_USE
//! Creates a matrix from this quaternion
matrix4 getMatrix() const;
#endif
@@ -196,7 +202,7 @@ inline quaternion::quaternion(const vector3df& vec)
set(vec.X,vec.Y,vec.Z);
}
-#if !IRR_TEST_BROKEN_QUATERNION_USE
+#ifndef IRR_TEST_BROKEN_QUATERNION_USE
// Constructor which converts a matrix to a quaternion
inline quaternion::quaternion(const matrix4& mat)
{
@@ -229,7 +235,7 @@ inline quaternion& quaternion::operator=(const quaternion& other)
return *this;
}
-#if !IRR_TEST_BROKEN_QUATERNION_USE
+#ifndef IRR_TEST_BROKEN_QUATERNION_USE
// matrix assignment operator
inline quaternion& quaternion::operator=(const matrix4& m)
{
@@ -333,7 +339,7 @@ inline quaternion quaternion::operator+(const quaternion& b) const
return quaternion(X+b.X, Y+b.Y, Z+b.Z, W+b.W);
}
-#if !IRR_TEST_BROKEN_QUATERNION_USE
+#ifndef IRR_TEST_BROKEN_QUATERNION_USE
// Creates a matrix from this quaternion
inline matrix4 quaternion::getMatrix() const
{
@@ -547,7 +553,7 @@ inline quaternion& quaternion::slerp(quaternion q1, quaternion q2, f32 time, f32
const f32 invscale = sinf(theta * time) * invsintheta;
return (*this = (q1*scale) + (q2*invscale));
}
- else // linear interploation
+ else // linear interpolation
return lerp(q1,q2,time);
}
diff --git a/include/rect.h b/include/rect.h
index 3f3883ea..aeb9cc5f 100644
--- a/include/rect.h
+++ b/include/rect.h
@@ -43,6 +43,11 @@ namespace core
rect(const position2d& pos, const dimension2d& size)
: UpperLeftCorner(pos), LowerRightCorner(pos.X + size.Width, pos.Y + size.Height) {}
+ //! Constructor with upper left at 0,0 and lower right using dimension
+ template
+ explicit rect(const dimension2d& size)
+ : UpperLeftCorner(0,0), LowerRightCorner(size.Width, size.Height) {}
+
//! move right by given numbers
rect operator+(const position2d& pos) const
{
diff --git a/media/d3d8.psh b/media/d3d8.psh
deleted file mode 100644
index d38a3d61..00000000
--- a/media/d3d8.psh
+++ /dev/null
@@ -1,10 +0,0 @@
-; part of the Irrlicht Engine Shader example.
-; This simple Direct3D9 pixel shader will be loaded by the engine.
-; Please note that these example shaders don't do anything really useful.
-; They only demonstrate that shaders can be used in Irrlicht.
-
-ps.1.1
-
-tex t0 ; sample color map
-mul_x2 t0, t0, v0 ; mulitply with color
-add r0, t0, t0 ; make it brighter and store result
diff --git a/media/d3d8.vsh b/media/d3d8.vsh
deleted file mode 100644
index e0c24f70..00000000
--- a/media/d3d8.vsh
+++ /dev/null
@@ -1,37 +0,0 @@
-; part of the Irrlicht Engine Shader example.
-; This Direct3D9 vertex shader will be loaded by the engine.
-; Please note that these example shaders don't do anything really useful.
-; They only demonstrate that shaders can be used in Irrlicht.
-
-vs.1.1
-
-; transpose and transform position to clip space
-mul r0, v0.x, c4
-mad r0, v0.y, c5, r0
-mad r0, v0.z, c6, r0
-add oPos, c7, r0
-
-; transform normal
-dp3 r1.x, v1, c0
-dp3 r1.y, v1, c1
-dp3 r1.z, v1, c2
-
-; renormalize normal
-dp3 r1.w, r1, r1
-rsq r1.w, r1.w
-mul r1, r1, r1.w
-
-; calculate light vector
-m4x4 r6, v0, c10 ; vertex into world position
-add r2, c8, -r6 ; vtxpos - lightpos
-
-; normalize light vector
-dp3 r2.w, r2, r2
-rsq r2.w, r2.w
-mul r2, r2, r2.w
-
-; calculate light color
-dp3 r3, r1, r2 ; dp3 with negative light vector
-lit r5, r3 ; clamp to zero if r3 < 0, r5 has diffuce component in r5.y
-mul oD0, r5.y, c9 ; ouput diffuse color
-mov oT0, v3 ; store texture coordinates
diff --git a/source/Irrlicht/CAnimatedMeshHalfLife.cpp b/source/Irrlicht/CAnimatedMeshHalfLife.cpp
index 51a7d611..f655f361 100644
--- a/source/Irrlicht/CAnimatedMeshHalfLife.cpp
+++ b/source/Irrlicht/CAnimatedMeshHalfLife.cpp
@@ -1034,8 +1034,7 @@ SHalflifeHeader* CAnimatedMeshHalfLife::loadModel(io::IReadFile* file, const io:
IImage* image = SceneManager->getVideoDriver()->createImage(ECF_R8G8B8, core::dimension2d(tex[i].width, tex[i].height));
- CColorConverter::convert8BitTo24Bit(src, (u8*)image->lock(), tex[i].width, tex[i].height, (u8*) palette, 0, false);
- image->unlock();
+ CColorConverter::convert8BitTo24Bit(src, (u8*)image->getData(), tex[i].width, tex[i].height, (u8*) palette, 0, false);
#ifdef HL_TEXTURE_ATLAS
TextureAtlas.addSource ( tex[i].name, image );
@@ -1166,7 +1165,7 @@ bool CAnimatedMeshHalfLife::postLoadModel( const io::path &filename )
c8 seq[8];
for (u32 i = 1; i < Header->numseqgroups; i++)
{
- snprintf( seq, 8, "%02d.mdl", i );
+ snprintf_irr( seq, 8, "%02u.mdl", i );
submodel = path + texname + seq;
AnimationHeader[i] = loadModel(0, submodel);
@@ -1190,11 +1189,11 @@ void CAnimatedMeshHalfLife::dumpModelInfo(u32 level) const
if (level == 0)
{
printf (
- "Bones: %d\n"
- "Bone Controllers: %d\n"
- "Hit Boxes: %d\n"
- "Sequences: %d\n"
- "Sequence Groups: %d\n",
+ "Bones: %u\n"
+ "Bone Controllers: %u\n"
+ "Hit Boxes: %u\n"
+ "Sequences: %u\n"
+ "Sequence Groups: %u\n",
hdr->numbones,
hdr->numbonecontrollers,
hdr->numhitboxes,
@@ -1202,10 +1201,10 @@ void CAnimatedMeshHalfLife::dumpModelInfo(u32 level) const
hdr->numseqgroups
);
printf (
- "Textures: %d\n"
- "Skin Families: %d\n"
- "Bodyparts: %d\n"
- "Attachments: %d\n"
+ "Textures: %u\n"
+ "Skin Families: %u\n"
+ "Bodyparts: %u\n"
+ "Attachments: %u\n"
"Transitions: %d\n",
hdr->numtextures,
hdr->numskinfamilies,
@@ -1228,91 +1227,91 @@ void CAnimatedMeshHalfLife::dumpModelInfo(u32 level) const
printf("flags: %d\n\n", hdr->flags);
- printf("numbones: %d\n", hdr->numbones);
+ printf("numbones: %u\n", hdr->numbones);
for (i = 0; i < hdr->numbones; i++)
{
const SHalflifeBone *bone = (const SHalflifeBone *) (phdr + hdr->boneindex);
- printf("bone %d.name: \"%s\"\n", i + 1, bone[i].name);
- printf("bone %d.parent: %d\n", i + 1, bone[i].parent);
- printf("bone %d.flags: %d\n", i + 1, bone[i].flags);
- printf("bone %d.bonecontroller: %d %d %d %d %d %d\n", i + 1, bone[i].bonecontroller[0], bone[i].bonecontroller[1], bone[i].bonecontroller[2], bone[i].bonecontroller[3], bone[i].bonecontroller[4], bone[i].bonecontroller[5]);
- printf("bone %d.value: %f %f %f %f %f %f\n", i + 1, bone[i].value[0], bone[i].value[1], bone[i].value[2], bone[i].value[3], bone[i].value[4], bone[i].value[5]);
- printf("bone %d.scale: %f %f %f %f %f %f\n", i + 1, bone[i].scale[0], bone[i].scale[1], bone[i].scale[2], bone[i].scale[3], bone[i].scale[4], bone[i].scale[5]);
+ printf("bone %u.name: \"%s\"\n", i + 1, bone[i].name);
+ printf("bone %u.parent: %d\n", i + 1, bone[i].parent);
+ printf("bone %u.flags: %d\n", i + 1, bone[i].flags);
+ printf("bone %u.bonecontroller: %d %d %d %d %d %d\n", i + 1, bone[i].bonecontroller[0], bone[i].bonecontroller[1], bone[i].bonecontroller[2], bone[i].bonecontroller[3], bone[i].bonecontroller[4], bone[i].bonecontroller[5]);
+ printf("bone %u.value: %f %f %f %f %f %f\n", i + 1, bone[i].value[0], bone[i].value[1], bone[i].value[2], bone[i].value[3], bone[i].value[4], bone[i].value[5]);
+ printf("bone %u.scale: %f %f %f %f %f %f\n", i + 1, bone[i].scale[0], bone[i].scale[1], bone[i].scale[2], bone[i].scale[3], bone[i].scale[4], bone[i].scale[5]);
}
- printf("\nnumbonecontrollers: %d\n", hdr->numbonecontrollers);
+ printf("\nnumbonecontrollers: %u\n", hdr->numbonecontrollers);
const SHalflifeBoneController *bonecontrollers = (const SHalflifeBoneController *) (phdr + hdr->bonecontrollerindex);
for (i = 0; i < hdr->numbonecontrollers; i++)
{
- printf("bonecontroller %d.bone: %d\n", i + 1, bonecontrollers[i].bone);
- printf("bonecontroller %d.type: %d\n", i + 1, bonecontrollers[i].type);
- printf("bonecontroller %d.start: %f\n", i + 1, bonecontrollers[i].start);
- printf("bonecontroller %d.end: %f\n", i + 1, bonecontrollers[i].end);
- printf("bonecontroller %d.rest: %d\n", i + 1, bonecontrollers[i].rest);
- printf("bonecontroller %d.index: %d\n", i + 1, bonecontrollers[i].index);
+ printf("bonecontroller %u.bone: %d\n", i + 1, bonecontrollers[i].bone);
+ printf("bonecontroller %u.type: %d\n", i + 1, bonecontrollers[i].type);
+ printf("bonecontroller %u.start: %f\n", i + 1, bonecontrollers[i].start);
+ printf("bonecontroller %u.end: %f\n", i + 1, bonecontrollers[i].end);
+ printf("bonecontroller %u.rest: %d\n", i + 1, bonecontrollers[i].rest);
+ printf("bonecontroller %u.index: %d\n", i + 1, bonecontrollers[i].index);
}
- printf("\nnumhitboxes: %d\n", hdr->numhitboxes);
+ printf("\nnumhitboxes: %u\n", hdr->numhitboxes);
const SHalflifeBBox *box = (const SHalflifeBBox *) (phdr + hdr->hitboxindex);
for (i = 0; i < hdr->numhitboxes; i++)
{
- printf("hitbox %d.bone: %d\n", i + 1, box[i].bone);
- printf("hitbox %d.group: %d\n", i + 1, box[i].group);
- printf("hitbox %d.bbmin: %f %f %f\n", i + 1, box[i].bbmin[0], box[i].bbmin[1], box[i].bbmin[2]);
- printf("hitbox %d.bbmax: %f %f %f\n", i + 1, box[i].bbmax[0], box[i].bbmax[1], box[i].bbmax[2]);
+ printf("hitbox %u.bone: %d\n", i + 1, box[i].bone);
+ printf("hitbox %u.group: %d\n", i + 1, box[i].group);
+ printf("hitbox %u.bbmin: %f %f %f\n", i + 1, box[i].bbmin[0], box[i].bbmin[1], box[i].bbmin[2]);
+ printf("hitbox %u.bbmax: %f %f %f\n", i + 1, box[i].bbmax[0], box[i].bbmax[1], box[i].bbmax[2]);
}
- printf("\nnumseq: %d\n", hdr->numseq);
+ printf("\nnumseq: %u\n", hdr->numseq);
const SHalflifeSequence *seq = (const SHalflifeSequence *) (phdr + hdr->seqindex);
for (i = 0; i < hdr->numseq; i++)
{
- printf("seqdesc %d.label: \"%s\"\n", i + 1, seq[i].label);
- printf("seqdesc %d.fps: %f\n", i + 1, seq[i].fps);
- printf("seqdesc %d.flags: %d\n", i + 1, seq[i].flags);
+ printf("seqdesc %u.label: \"%s\"\n", i + 1, seq[i].label);
+ printf("seqdesc %u.fps: %f\n", i + 1, seq[i].fps);
+ printf("seqdesc %u.flags: %d\n", i + 1, seq[i].flags);
printf("<...>\n");
}
- printf("\nnumseqgroups: %d\n", hdr->numseqgroups);
+ printf("\nnumseqgroups: %u\n", hdr->numseqgroups);
for (i = 0; i < hdr->numseqgroups; i++)
{
const SHalflifeSequenceGroup *group = (const SHalflifeSequenceGroup *) (phdr + hdr->seqgroupindex);
- printf("\nseqgroup %d.label: \"%s\"\n", i + 1, group[i].label);
- printf("\nseqgroup %d.namel: \"%s\"\n", i + 1, group[i].name);
- printf("\nseqgroup %d.data: %d\n", i + 1, group[i].data);
+ printf("\nseqgroup %u.label: \"%s\"\n", i + 1, group[i].label);
+ printf("\nseqgroup %u.namel: \"%s\"\n", i + 1, group[i].name);
+ printf("\nseqgroup %u.data: %d\n", i + 1, group[i].data);
}
- printf("\nnumskinref: %d\n", hdr->numskinref);
- printf("numskinfamilies: %d\n", hdr->numskinfamilies);
+ printf("\nnumskinref: %u\n", hdr->numskinref);
+ printf("numskinfamilies: %u\n", hdr->numskinfamilies);
- printf("\nnumbodyparts: %d\n", hdr->numbodyparts);
+ printf("\nnumbodyparts: %u\n", hdr->numbodyparts);
const SHalflifeBody *pbodyparts = (const SHalflifeBody*) ((const u8*) hdr + hdr->bodypartindex);
for (i = 0; i < hdr->numbodyparts; i++)
{
- printf("bodypart %d.name: \"%s\"\n", i + 1, pbodyparts[i].name);
- printf("bodypart %d.nummodels: %d\n", i + 1, pbodyparts[i].nummodels);
- printf("bodypart %d.base: %d\n", i + 1, pbodyparts[i].base);
- printf("bodypart %d.modelindex: %d\n", i + 1, pbodyparts[i].modelindex);
+ printf("bodypart %u.name: \"%s\"\n", i + 1, pbodyparts[i].name);
+ printf("bodypart %u.nummodels: %u\n", i + 1, pbodyparts[i].nummodels);
+ printf("bodypart %u.base: %u\n", i + 1, pbodyparts[i].base);
+ printf("bodypart %d.modelindex: %u\n", i + 1, pbodyparts[i].modelindex);
}
- printf("\nnumattachments: %d\n", hdr->numattachments);
+ printf("\nnumattachments: %u\n", hdr->numattachments);
for (i = 0; i < hdr->numattachments; i++)
{
const SHalflifeAttachment *attach = (const SHalflifeAttachment *) ((const u8*) hdr + hdr->attachmentindex);
- printf("attachment %d.name: \"%s\"\n", i + 1, attach[i].name);
+ printf("attachment %u.name: \"%s\"\n", i + 1, attach[i].name);
}
hdr = TextureHeader;
- printf("\nnumtextures: %d\n", hdr->numtextures);
- printf("textureindex: %d\n", hdr->textureindex);
- printf("texturedataindex: %d\n", hdr->texturedataindex);
+ printf("\nnumtextures: %u\n", hdr->numtextures);
+ printf("textureindex: %u\n", hdr->textureindex);
+ printf("texturedataindex: %u\n", hdr->texturedataindex);
const SHalflifeTexture *ptextures = (const SHalflifeTexture *) ((const u8*) hdr + hdr->textureindex);
for (i = 0; i < hdr->numtextures; i++)
{
- printf("texture %d.name: \"%s\"\n", i + 1, ptextures[i].name);
- printf("texture %d.flags: %d\n", i + 1, ptextures[i].flags);
- printf("texture %d.width: %d\n", i + 1, ptextures[i].width);
- printf("texture %d.height: %d\n", i + 1, ptextures[i].height);
- printf("texture %d.index: %d\n", i + 1, ptextures[i].index);
+ printf("texture %u.name: \"%s\"\n", i + 1, ptextures[i].name);
+ printf("texture %u.flags: %d\n", i + 1, ptextures[i].flags);
+ printf("texture %u.width: %d\n", i + 1, ptextures[i].width);
+ printf("texture %u.height: %d\n", i + 1, ptextures[i].height);
+ printf("texture %u.index: %d\n", i + 1, ptextures[i].index);
}
}
diff --git a/source/Irrlicht/CAnimatedMeshSceneNode.cpp b/source/Irrlicht/CAnimatedMeshSceneNode.cpp
index 04e99d55..43e0b4ba 100644
--- a/source/Irrlicht/CAnimatedMeshSceneNode.cpp
+++ b/source/Irrlicht/CAnimatedMeshSceneNode.cpp
@@ -849,8 +849,8 @@ void CAnimatedMeshSceneNode::setMesh(IAnimatedMesh* mesh)
}
// get start and begin time
-// setAnimationSpeed(Mesh->getAnimationSpeed());
- setFrameLoop(0, Mesh->getFrameCount());
+ setAnimationSpeed(Mesh->getAnimationSpeed()); // NOTE: This had been commented out (but not removed!) in r3526. Which caused meshloader-values for speed to be ignored unless users specified explicitly. Missing a test-case where this could go wrong so I put the code back in.
+ setFrameLoop(0, Mesh->getFrameCount()-1);
}
diff --git a/source/Irrlicht/CAnimatedMeshSceneNode.h b/source/Irrlicht/CAnimatedMeshSceneNode.h
index 1419814b..37acf699 100644
--- a/source/Irrlicht/CAnimatedMeshSceneNode.h
+++ b/source/Irrlicht/CAnimatedMeshSceneNode.h
@@ -47,6 +47,7 @@ namespace scene
//! sets the frames between the animation is looped.
//! the default is 0 - MaximalFrameCount of the mesh.
+ //! NOTE: setMesh will also change this value and set it to the full range of animations of the mesh
virtual bool setFrameLoop(s32 begin, s32 end) _IRR_OVERRIDE_;
//! Sets looping mode which is on by default. If set to false,
@@ -61,6 +62,7 @@ namespace scene
virtual void setAnimationEndCallback(IAnimationEndCallBack* callback=0) _IRR_OVERRIDE_;
//! sets the speed with which the animation is played
+ //! NOTE: setMesh will also change this value and set it to the default speed of the mesh
virtual void setAnimationSpeed(f32 framesPerSecond) _IRR_OVERRIDE_;
//! gets the speed with which the animation is played
diff --git a/source/Irrlicht/CAttributeImpl.h b/source/Irrlicht/CAttributeImpl.h
index 1b0bb2ce..bea24204 100644
--- a/source/Irrlicht/CAttributeImpl.h
+++ b/source/Irrlicht/CAttributeImpl.h
@@ -2041,7 +2041,7 @@ public:
virtual core::stringw getStringW() _IRR_OVERRIDE_
{
wchar_t buf[32];
- swprintf(buf, 32, L"%p", Value);
+ swprintf_irr(buf, 32, L"%p", Value);
return core::stringw(buf);
}
diff --git a/source/Irrlicht/CAttributes.cpp b/source/Irrlicht/CAttributes.cpp
index 26ded3be..f04e3ff3 100644
--- a/source/Irrlicht/CAttributes.cpp
+++ b/source/Irrlicht/CAttributes.cpp
@@ -645,7 +645,6 @@ bool CAttributes::getAttributeAsBool(s32 index)
if ((u32)index < Attributes.size())
ret = Attributes[index]->getBool();
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
return ret;
}
diff --git a/source/Irrlicht/CB3DMeshFileLoader.cpp b/source/Irrlicht/CB3DMeshFileLoader.cpp
index 04d1ccff..eb95dcb8 100644
--- a/source/Irrlicht/CB3DMeshFileLoader.cpp
+++ b/source/Irrlicht/CB3DMeshFileLoader.cpp
@@ -730,6 +730,7 @@ bool CB3DMeshFileLoader::readChunkKEYS(CSkinnedMesh::SJoint *inJoint)
oldRotKey=AnimatedMesh->addRotationKey(inJoint);
oldRotKey->frame = (f32)frame-1;
oldRot[1].set(oldRotKey->rotation.set(data[1], data[2], data[3], data[0]));
+ oldRot[1].normalize();
}
}
else if (oldRotKey==0 && isFirst[2])
@@ -738,6 +739,7 @@ bool CB3DMeshFileLoader::readChunkKEYS(CSkinnedMesh::SJoint *inJoint)
oldRotKey->frame = (f32)frame-1;
// meant to be in this order since b3d stores W first
oldRot[0].set(oldRotKey->rotation.set(data[1], data[2], data[3], data[0]));
+ oldRot[0].normalize();
oldRotKey=0;
isFirst[2]=false;
}
@@ -749,6 +751,7 @@ bool CB3DMeshFileLoader::readChunkKEYS(CSkinnedMesh::SJoint *inJoint)
oldRotKey->frame = (f32)frame-1;
// meant to be in this order since b3d stores W first
oldRot[1].set(oldRotKey->rotation.set(data[1], data[2], data[3], data[0]));
+ oldRot[1].normalize();
}
}
}
diff --git a/source/Irrlicht/CB3DMeshFileLoader.h b/source/Irrlicht/CB3DMeshFileLoader.h
index dba44d79..ea78e532 100644
--- a/source/Irrlicht/CB3DMeshFileLoader.h
+++ b/source/Irrlicht/CB3DMeshFileLoader.h
@@ -14,6 +14,7 @@
#include "IMeshLoader.h"
#include "ISceneManager.h"
#include "CSkinnedMesh.h"
+#include "SB3DStructs.h"
#include "IReadFile.h"
namespace irr
@@ -42,56 +43,6 @@ public:
private:
- struct SB3dChunkHeader
- {
- c8 name[4];
- s32 size;
- };
-
- struct SB3dChunk
- {
- SB3dChunk(const SB3dChunkHeader& header, long sp)
- : length(header.size+8), startposition(sp)
- {
- name[0]=header.name[0];
- name[1]=header.name[1];
- name[2]=header.name[2];
- name[3]=header.name[3];
- }
-
- c8 name[4];
- s32 length;
- long startposition;
- };
-
- struct SB3dTexture
- {
- core::stringc TextureName;
- s32 Flags;
- s32 Blend;
- f32 Xpos;
- f32 Ypos;
- f32 Xscale;
- f32 Yscale;
- f32 Angle;
- };
-
- struct SB3dMaterial
- {
- SB3dMaterial() : red(1.0f), green(1.0f),
- blue(1.0f), alpha(1.0f), shininess(0.0f), blend(1),
- fx(0)
- {
- for (u32 i=0; iwrite("BB3D", 4);
+ file->write(&Size, sizeof(u32)); // Updated later once known.
+
+ int version = 1;
+ write(file, &version, sizeof(int));
+
+ //
+
+ const u32 numBeshBuffers = mesh->getMeshBufferCount();
+ array texs;
+ map tex2id; // TODO: texture pointer as key not sufficient as same texture can have several id's
+ u32 texsizes = 0;
+ for (u32 i = 0; i < numBeshBuffers; i++)
+ {
+ const IMeshBuffer * const mb = mesh->getMeshBuffer(i);
+ const SMaterial &mat = mb->getMaterial();
+
+ for (u32 j = 0; j < MATERIAL_MAX_TEXTURES; j++)
+ {
+ if (mat.getTexture(j))
+ {
+ SB3dTexture t;
+ t.TextureName = core::stringc(mat.getTexture(j)->getName().getPath());
+
+ // TODO: need some description of Blitz3D texture-flags to figure this out. But Blend should likely depend on material-type.
+ t.Flags = j == 2 ? 65536 : 1;
+ t.Blend = 2;
+
+ // TODO: evaluate texture matrix
+ t.Xpos = 0;
+ t.Ypos = 0;
+ t.Xscale = 1;
+ t.Yscale = 1;
+ t.Angle = 0;
+
+ texs.push_back(t);
+ texsizes += 7*4 + t.TextureName.size() + 1;
+ tex2id[mat.getTexture(j)] = texs.size() - 1;
+ }
+ }
+ }
+
+ write(file, "TEXS", 4);
+ write(file, &texsizes, 4);
+
+ u32 numTexture = texs.size();
+ for (u32 i = 0; i < numTexture; i++)
+ {
+ write(file, texs[i].TextureName.c_str(), texs[i].TextureName.size() + 1);
+ write(file, &texs[i].Flags, 7*4);
+ }
+
+ //
+
+ const u32 brushsize = (7 * 4 + 1) * numBeshBuffers + numBeshBuffers * 4 * MATERIAL_MAX_TEXTURES + 4;
+ write(file, "BRUS", 4);
+ write(file, &brushsize, 4);
+ u32 brushcheck = Size;
+ const u32 usedtex = MATERIAL_MAX_TEXTURES;
+ write(file, &usedtex, 4);
+
+ for (u32 i = 0; i < numBeshBuffers; i++)
+ {
+ const IMeshBuffer * const mb = mesh->getMeshBuffer(i);
+ const SMaterial &mat = mb->getMaterial();
+
+ write(file, "", 1);
+
+ float f = 1;
+ write(file, &f, 4);
+ write(file, &f, 4);
+ write(file, &f, 4);
+ write(file, &f, 4);
+
+ f = 0;
+ write(file, &f, 4);
+
+ u32 tmp = 1;
+ write(file, &tmp, 4);
+ tmp = 0;
+ write(file, &tmp, 4);
+
+ for (u32 j = 0; j < MATERIAL_MAX_TEXTURES; j++)
+ {
+ if (mat.getTexture(j))
+ {
+ const u32 id = tex2id[mat.getTexture(j)];
+ write(file, &id, 4);
+ }
+ else
+ {
+ const int id = -1;
+ write(file, &id, 4);
+ }
+ }
+ }
+
+ // Check brushsize
+ brushcheck = Size - brushcheck;
+ if (brushcheck != brushsize)
+ {
+ printf("Failed in brush size calculation, size %u advanced %u\n",
+ brushsize, brushcheck);
+ }
+
+ write(file, "NODE", 4);
+
+ // Calculate node size
+ u32 nodesize = 41 + 8 + 4 + 8;
+ u32 bonesSize = 0;
+
+ if(ISkinnedMesh *skinnedMesh = getSkinned(mesh))
+ {
+ if (!skinnedMesh->isStatic())
+ {
+ bonesSize += 20;
+ }
+
+ const core::array rootJoints = getRootJoints(skinnedMesh);
+ for (u32 i = 0; i < rootJoints.size(); i++)
+ {
+ bonesSize += getJointChunkSize(skinnedMesh, rootJoints[i]);
+ }
+ nodesize += bonesSize;
+
+ // -------------------
+
+ }
+
+ // VERT data
+ nodesize += 12;
+
+ const u32 texcoords = getUVlayerCount(mesh);
+ for (u32 i = 0; i < numBeshBuffers; i++)
+ {
+ nodesize += 8 + 4;
+ const IMeshBuffer * const mb = mesh->getMeshBuffer(i);
+
+ nodesize += mb->getVertexCount() * 10 * 4;
+
+ nodesize += mb->getVertexCount() * texcoords * 2 * 4;
+ nodesize += mb->getIndexCount() * 4;
+ }
+ write(file, &nodesize, 4);
+ u32 nodecheck = Size;
+
+ // Node
+ write(file, "", 1);
+ float f = 0;
+ write(file, &f, 4);
+ write(file, &f, 4);
+ write(file, &f, 4);
+
+ f = 1;
+ write(file, &f, 4);
+ write(file, &f, 4);
+ write(file, &f, 4);
+
+ write(file, &f, 4);
+ f = 0;
+ write(file, &f, 4);
+ write(file, &f, 4);
+ write(file, &f, 4);
+
+ // Mesh
+ write(file, "MESH", 4);
+ const u32 meshsize = nodesize - 41 - 8 - bonesSize;
+ write(file, &meshsize, 4);
+ s32 brushID = -1;
+ write(file, &brushID, 4);
+
+
+
+ // Verts
+ write(file, "VRTS", 4);
+ u32 vertsize = 12;
+
+ for (u32 i = 0; i < numBeshBuffers; i++)
+ {
+ const IMeshBuffer * const mb = mesh->getMeshBuffer(i);
+
+ vertsize += mb->getVertexCount() * 10 * 4 +
+ mb->getVertexCount() * texcoords * 2 * 4;
+ }
+ write(file, &vertsize, 4);
+ u32 vertcheck = Size;
+
+ int flagsB3D = 3;
+ write(file, &flagsB3D, 4);
+
+ write(file, &texcoords, 4);
+ flagsB3D = 2;
+ write(file, &flagsB3D, 4);
+
+ for (u32 i = 0; i < numBeshBuffers; i++)
+ {
+ const IMeshBuffer * const mb = mesh->getMeshBuffer(i);
+ irr::u32 numVertices = mb->getVertexCount();
+ for (u32 j = 0; j < numVertices; j++)
+ {
+ const vector3df &pos = mb->getPosition(j);
+ write(file, &pos.X, 4);
+ write(file, &pos.Y, 4);
+ write(file, &pos.Z, 4);
+
+ const vector3df &n = mb->getNormal(j);
+ write(file, &n.X, 4);
+ write(file, &n.Y, 4);
+ write(file, &n.Z, 4);
+
+ const u32 zero = 0;
+ switch (mb->getVertexType())
+ {
+ case EVT_STANDARD:
+ {
+ S3DVertex *v = (S3DVertex *) mb->getVertices();
+ const SColorf col(v[j].Color);
+ write(file, &col.r, 4);
+ write(file, &col.g, 4);
+ write(file, &col.b, 4);
+ write(file, &col.a, 4);
+
+ write(file, &v[j].TCoords.X, 4);
+ write(file, &v[j].TCoords.Y, 4);
+ if (texcoords == 2)
+ {
+ write(file, &zero, 4);
+ write(file, &zero, 4);
+ }
+ }
+ break;
+ case EVT_2TCOORDS:
+ {
+ S3DVertex2TCoords *v = (S3DVertex2TCoords *) mb->getVertices();
+ const SColorf col(v[j].Color);
+ write(file, &col.r, 4);
+ write(file, &col.g, 4);
+ write(file, &col.b, 4);
+ write(file, &col.a, 4);
+
+ write(file, &v[j].TCoords.X, 4);
+ write(file, &v[j].TCoords.Y, 4);
+ write(file, &v[j].TCoords2.X, 4);
+ write(file, &v[j].TCoords2.Y, 4);
+ }
+ break;
+ case EVT_TANGENTS:
+ {
+ S3DVertexTangents *v = (S3DVertexTangents *) mb->getVertices();
+ const SColorf col(v[j].Color);
+ write(file, &col.r, 4);
+ write(file, &col.g, 4);
+ write(file, &col.b, 4);
+ write(file, &col.a, 4);
+
+ write(file, &v[j].TCoords.X, 4);
+ write(file, &v[j].TCoords.Y, 4);
+ if (texcoords == 2)
+ {
+ write(file, &zero, 4);
+ write(file, &zero, 4);
+ }
+ }
+ break;
+ }
+ }
+ }
+ // Check vertsize
+ vertcheck = Size - vertcheck;
+ if (vertcheck != vertsize)
+ {
+ printf("Failed in vertex size calculation, size %u advanced %u\n",
+ vertsize, vertcheck);
+ }
+
+ u32 currentMeshBufferIndex = 0;
+ // Tris
+ for (u32 i = 0; i < numBeshBuffers; i++)
+ {
+ const IMeshBuffer * const mb = mesh->getMeshBuffer(i);
+ write(file, "TRIS", 4);
+ const u32 trisize = 4 + mb->getIndexCount() * 4;
+ write(file, &trisize, 4);
+
+ u32 tricheck = Size;
+
+ write(file, &i, 4);
+
+ u32 numIndices = mb->getIndexCount();
+ const u16 * const idx = (u16 *) mb->getIndices();
+ for (u32 j = 0; j < numIndices; j += 3)
+ {
+ u32 tmp = idx[j] + currentMeshBufferIndex;
+ write(file, &tmp, sizeof(u32));
+
+ tmp = idx[j + 1] + currentMeshBufferIndex;
+ write(file, &tmp, sizeof(u32));
+
+ tmp = idx[j + 2] + currentMeshBufferIndex;
+ write(file, &tmp, sizeof(u32));
+ }
+
+ // Check that tris calculation was ok
+ tricheck = Size - tricheck;
+ if (tricheck != trisize)
+ {
+ printf("Failed in tris size calculation, size %u advanced %u\n",
+ trisize, tricheck);
+ }
+
+ currentMeshBufferIndex += mb->getVertexCount();
+ }
+
+ if(ISkinnedMesh *skinnedMesh = getSkinned(mesh))
+ {
+ // Write animation data
+ if (!skinnedMesh->isStatic())
+ {
+ write(file, "ANIM", 4);
+
+ const u32 animsize = 12;
+ write(file, &animsize, 4);
+
+ const u32 flags = 0;
+ const u32 frames = skinnedMesh->getFrameCount();
+ const f32 fps = skinnedMesh->getAnimationSpeed();
+
+ write(file, &flags, 4);
+ write(file, &frames, 4);
+ write(file, &fps, 4);
+ }
+
+ // Write joints
+ core::array rootJoints = getRootJoints(skinnedMesh);
+
+ for (u32 i = 0; i < rootJoints.size(); i++)
+ {
+ writeJointChunk(file, skinnedMesh, rootJoints[i]);
+ }
+ }
+
+ // Check that node calculation was ok
+ nodecheck = Size - nodecheck;
+ if (nodecheck != nodesize)
+ {
+ printf("Failed in node size calculation, size %u advanced %u\n",
+ nodesize, nodecheck);
+ }
+ file->seek(4);
+ file->write(&Size, 4);
+
+ return true;
+}
+
+
+
+void CB3DMeshWriter::writeJointChunk(io::IWriteFile* file, ISkinnedMesh* mesh , ISkinnedMesh::SJoint* joint)
+{
+ // Node
+ write(file, "NODE", 4);
+
+ // Calculate node size
+ u32 nodesize = getJointChunkSize(mesh, joint);
+ nodesize -= 8; // The declaration + size of THIS chunk shouldn't be added to the size
+
+ write(file, &nodesize, 4);
+
+
+ core::stringc name = joint->Name;
+ write(file, name.c_str(), name.size());
+ write(file, "", 1);
+
+ core::vector3df pos = joint->Animatedposition;
+ // Position
+ write(file, &pos.X, 4);
+ write(file, &pos.Y, 4);
+ write(file, &pos.Z, 4);
+
+ // Scale
+ core::vector3df scale = joint->Animatedscale;
+ if (scale == core::vector3df(0, 0, 0))
+ scale = core::vector3df(1, 1, 1);
+
+ write(file, &scale.X, 4);
+ write(file, &scale.Y, 4);
+ write(file, &scale.Z, 4);
+
+ // Rotation
+ core::quaternion quat = joint->Animatedrotation;
+ write(file, &quat.W, 4);
+ write(file, &quat.X, 4);
+ write(file, &quat.Y, 4);
+ write(file, &quat.Z, 4);
+
+ // Bone
+ write(file, "BONE", 4);
+ u32 bonesize = 8 * joint->Weights.size();
+ write(file, &bonesize, 4);
+
+ // Skinning ------------------
+ for (u32 i = 0; i < joint->Weights.size(); i++)
+ {
+ const u32 vertexID = joint->Weights[i].vertex_id;
+ const u32 bufferID = joint->Weights[i].buffer_id;
+ const f32 weight = joint->Weights[i].strength;
+
+ u32 b3dVertexID = vertexID;
+ for (u32 j = 0; j < bufferID; j++)
+ {
+ b3dVertexID += mesh->getMeshBuffer(j)->getVertexCount();
+ }
+
+ write(file, &b3dVertexID, 4);
+ write(file, &weight, 4);
+ }
+ // ---------------------------
+
+ // Animation keys
+ if (joint->PositionKeys.size())
+ {
+ write(file, "KEYS", 4);
+ u32 keysSize = 4 * joint->PositionKeys.size() * 4; // X, Y and Z pos + frame
+ keysSize += 4; // Flag to define the type of the key
+ write(file, &keysSize, 4);
+
+ u32 flag = 1; // 1 = flag for position keys
+ write(file, &flag, 4);
+
+ for (u32 i = 0; i < joint->PositionKeys.size(); i++)
+ {
+ const s32 frame = static_cast(joint->PositionKeys[i].frame);
+ const core::vector3df pos = joint->PositionKeys[i].position;
+
+ write (file, &frame, 4);
+
+ write (file, &pos.X, 4);
+ write (file, &pos.Y, 4);
+ write (file, &pos.Z, 4);
+
+ }
+ }
+ if (joint->RotationKeys.size())
+ {
+ write(file, "KEYS", 4);
+ u32 keysSize = 4 * joint->RotationKeys.size() * 5; // W, X, Y and Z rot + frame
+ keysSize += 4; // Flag
+ write(file, &keysSize, 4);
+
+ u32 flag = 4;
+ write(file, &flag, 4);
+
+ for (u32 i = 0; i < joint->RotationKeys.size(); i++)
+ {
+ const s32 frame = static_cast(joint->RotationKeys[i].frame);
+ const core::quaternion rot = joint->RotationKeys[i].rotation;
+
+ write (file, &frame, 4);
+
+ write (file, &rot.W, 4);
+ write (file, &rot.X, 4);
+ write (file, &rot.Y, 4);
+ write (file, &rot.Z, 4);
+ }
+ }
+ if (joint->ScaleKeys.size())
+ {
+ write(file, "KEYS", 4);
+ u32 keysSize = 4 * joint->ScaleKeys.size() * 4; // X, Y and Z scale + frame
+ keysSize += 4; // Flag
+ write(file, &keysSize, 4);
+
+ u32 flag = 2;
+ write(file, &flag, 4);
+
+ for (u32 i = 0; i < joint->ScaleKeys.size(); i++)
+ {
+ const s32 frame = static_cast(joint->ScaleKeys[i].frame);
+ const core::vector3df scale = joint->ScaleKeys[i].scale;
+
+ write (file, &frame, 4);
+
+ write (file, &scale.X, 4);
+ write (file, &scale.Y, 4);
+ write (file, &scale.Z, 4);
+ }
+ }
+
+ for (u32 i = 0; i < joint->Children.size(); i++)
+ {
+ writeJointChunk(file, mesh, joint->Children[i]);
+ }
+}
+
+
+ISkinnedMesh* CB3DMeshWriter::getSkinned (IMesh *mesh)
+{
+ if (mesh->getMeshType() == EAMT_SKINNED)
+ {
+ return static_cast(mesh);
+ }
+ return 0;
+}
+
+u32 CB3DMeshWriter::getJointChunkSize(const ISkinnedMesh* mesh, ISkinnedMesh::SJoint* joint)
+{
+ u32 chunkSize = 8 + 40; // Chunk declaration + chunk data
+ chunkSize += joint->Name.size() + 1; // the NULL character at the end of the string
+
+ u32 boneSize = joint->Weights.size() * 8; // vertex_id + weight = 8 bits per weight block
+ boneSize += 8; // declaration + size of he BONE chunk
+
+ u32 keysSize = 0;
+ if (joint->PositionKeys.size() != 0)
+ {
+ keysSize += 8; // KEYS + chunk size
+ keysSize += 4; // flags
+
+ keysSize += (joint->PositionKeys.size() * 16);
+ }
+ if (joint->RotationKeys.size() != 0)
+ {
+ keysSize += 8; // KEYS + chunk size
+ keysSize += 4; // flags
+
+ keysSize += (joint->RotationKeys.size() * 20);
+ }
+ if (joint->ScaleKeys.size() != 0)
+ {
+ keysSize += 8; // KEYS + chunk size
+ keysSize += 4; // flags
+
+ keysSize += (joint->ScaleKeys.size() * 16);
+ }
+
+ chunkSize += boneSize;
+ chunkSize += keysSize;
+
+ for (u32 i = 0; i < joint->Children.size(); ++i)
+ {
+ chunkSize += (getJointChunkSize(mesh, joint->Children[i]));
+ }
+ return chunkSize;
+}
+
+core::array CB3DMeshWriter::getRootJoints(const ISkinnedMesh* mesh)
+{
+ core::array roots;
+
+ core::array allJoints = mesh->getAllJoints();
+ for (u32 i = 0; i < allJoints.size(); i++)
+ {
+ bool isRoot = true;
+ ISkinnedMesh::SJoint* testedJoint = allJoints[i];
+ for (u32 j = 0; j < allJoints.size(); j++)
+ {
+ ISkinnedMesh::SJoint* testedJoint2 = allJoints[j];
+ for (u32 k = 0; k < testedJoint2->Children.size(); k++)
+ {
+ if (testedJoint == testedJoint2->Children[k])
+ isRoot = false;
+ }
+ }
+ if (isRoot)
+ roots.push_back(testedJoint);
+ }
+
+ return roots;
+}
+
+u32 CB3DMeshWriter::getUVlayerCount(IMesh* mesh)
+{
+ const u32 numBeshBuffers = mesh->getMeshBufferCount();
+ for (u32 i = 0; i < numBeshBuffers; i++)
+ {
+ const IMeshBuffer * const mb = mesh->getMeshBuffer(i);
+
+ if (mb->getVertexType() == EVT_2TCOORDS)
+ {
+ return 2;
+ }
+ }
+ return 1;
+}
+
+void CB3DMeshWriter::write(io::IWriteFile* file, const void *ptr, const u32 bytes)
+{
+ file->write(ptr, bytes);
+ Size += bytes;
+}
+
+} // end namespace
+} // end namespace
+
+#endif // _IRR_COMPILE_WITH_B3D_WRITER_
+
diff --git a/source/Irrlicht/CB3DMeshWriter.h b/source/Irrlicht/CB3DMeshWriter.h
new file mode 100644
index 00000000..d4653afd
--- /dev/null
+++ b/source/Irrlicht/CB3DMeshWriter.h
@@ -0,0 +1,53 @@
+// Copyright (C) 2014 Lauri Kasanen
+// This file is part of the "Irrlicht Engine".
+// For conditions of distribution and use, see copyright notice in irrlicht.h
+
+// Modified version with rigging/skinning support
+
+#ifndef __IRR_B3D_MESH_WRITER_H_INCLUDED__
+#define __IRR_B3D_MESH_WRITER_H_INCLUDED__
+
+#include "IMeshWriter.h"
+#include "IFileSystem.h"
+#include "SB3DStructs.h"
+#include "ISkinnedMesh.h"
+
+
+
+namespace irr
+{
+namespace scene
+{
+
+//! class to write B3D mesh files
+class CB3DMeshWriter : public IMeshWriter
+{
+public:
+
+ CB3DMeshWriter(io::IFileSystem *fs);
+
+ //! Returns the type of the mesh writer
+ virtual EMESH_WRITER_TYPE getType() const;
+
+ //! writes a mesh
+ virtual bool writeMesh(io::IWriteFile* file, scene::IMesh* mesh, s32 flags=EMWF_NONE);
+
+private:
+ io::IFileSystem *FileSystem;
+ u32 Size;
+
+ void writeJointChunk(io::IWriteFile* file, ISkinnedMesh* mesh , ISkinnedMesh::SJoint* joint);
+ u32 getJointChunkSize(const ISkinnedMesh* mesh, ISkinnedMesh::SJoint* joint);
+ core::array getRootJoints(const ISkinnedMesh* mesh);
+
+ u32 getUVlayerCount(IMesh *mesh);
+ ISkinnedMesh* getSkinned (IMesh *mesh);
+
+ void write(io::IWriteFile* file, const void *ptr, const u32 bytes);
+
+};
+
+} // end namespace
+} // end namespace
+
+#endif
diff --git a/source/Irrlicht/CBlit.h b/source/Irrlicht/CBlit.h
index ba8c129b..3fb6f0de 100644
--- a/source/Irrlicht/CBlit.h
+++ b/source/Irrlicht/CBlit.h
@@ -237,7 +237,7 @@ static void RenderLine32_Decal(video::IImage *t,
}
u32 *dst;
- dst = (u32*) ( (u8*) t->lock() + ( p0.Y * t->getPitch() ) + ( p0.X << 2 ) );
+ dst = (u32*) ( (u8*) t->getData() + ( p0.Y * t->getPitch() ) + ( p0.X << 2 ) );
if ( dy > dx )
{
@@ -267,8 +267,6 @@ static void RenderLine32_Decal(video::IImage *t,
}
run -= 1;
} while (run>=0);
-
- t->unlock();
}
@@ -303,7 +301,7 @@ static void RenderLine32_Blend(video::IImage *t,
}
u32 *dst;
- dst = (u32*) ( (u8*) t->lock() + ( p0.Y * t->getPitch() ) + ( p0.X << 2 ) );
+ dst = (u32*) ( (u8*) t->getData() + ( p0.Y * t->getPitch() ) + ( p0.X << 2 ) );
if ( dy > dx )
{
@@ -334,8 +332,6 @@ static void RenderLine32_Blend(video::IImage *t,
}
run -= 1;
} while (run>=0);
-
- t->unlock();
}
/*
@@ -369,7 +365,7 @@ static void RenderLine16_Decal(video::IImage *t,
}
u16 *dst;
- dst = (u16*) ( (u8*) t->lock() + ( p0.Y * t->getPitch() ) + ( p0.X << 1 ) );
+ dst = (u16*) ( (u8*) t->getData() + ( p0.Y * t->getPitch() ) + ( p0.X << 1 ) );
if ( dy > dx )
{
@@ -399,8 +395,6 @@ static void RenderLine16_Decal(video::IImage *t,
}
run -= 1;
} while (run>=0);
-
- t->unlock();
}
/*
@@ -435,7 +429,7 @@ static void RenderLine16_Blend(video::IImage *t,
}
u16 *dst;
- dst = (u16*) ( (u8*) t->lock() + ( p0.Y * t->getPitch() ) + ( p0.X << 1 ) );
+ dst = (u16*) ( (u8*) t->getData() + ( p0.Y * t->getPitch() ) + ( p0.X << 1 ) );
if ( dy > dx )
{
@@ -466,8 +460,6 @@ static void RenderLine16_Blend(video::IImage *t,
}
run -= 1;
} while (run>=0);
-
- t->unlock();
}
@@ -1139,7 +1131,7 @@ static s32 Blit(eBlitter operation,
{
job.srcPitch = source->getPitch();
job.srcPixelMul = source->getBytesPerPixel();
- job.src = (void*) ( (u8*) source->lock() + ( job.Source.y0 * job.srcPitch ) + ( job.Source.x0 * job.srcPixelMul ) );
+ job.src = (void*) ( (u8*) source->getData() + ( job.Source.y0 * job.srcPitch ) + ( job.Source.x0 * job.srcPixelMul ) );
}
else
{
@@ -1149,16 +1141,10 @@ static s32 Blit(eBlitter operation,
job.dstPitch = dest->getPitch();
job.dstPixelMul = dest->getBytesPerPixel();
- job.dst = (void*) ( (u8*) dest->lock() + ( job.Dest.y0 * job.dstPitch ) + ( job.Dest.x0 * job.dstPixelMul ) );
+ job.dst = (void*) ( (u8*) dest->getData() + ( job.Dest.y0 * job.dstPitch ) + ( job.Dest.x0 * job.dstPixelMul ) );
blitter( &job );
- if ( source )
- source->unlock();
-
- if ( dest )
- dest->unlock();
-
return 1;
}
@@ -1193,7 +1179,7 @@ static s32 StretchBlit(eBlitter operation,
{
job.srcPitch = source->getPitch();
job.srcPixelMul = source->getBytesPerPixel();
- job.src = (void*) ( (u8*) source->lock() + ( job.Source.y0 * job.srcPitch ) + ( job.Source.x0 * job.srcPixelMul ) );
+ job.src = (void*) ( (u8*) source->getData() + ( job.Source.y0 * job.srcPitch ) + ( job.Source.x0 * job.srcPixelMul ) );
}
else
{
@@ -1203,16 +1189,10 @@ static s32 StretchBlit(eBlitter operation,
job.dstPitch = dest->getPitch();
job.dstPixelMul = dest->getBytesPerPixel();
- job.dst = (void*) ( (u8*) dest->lock() + ( job.Dest.y0 * job.dstPitch ) + ( job.Dest.x0 * job.dstPixelMul ) );
+ job.dst = (void*) ( (u8*) dest->getData() + ( job.Dest.y0 * job.dstPitch ) + ( job.Dest.x0 * job.dstPixelMul ) );
blitter( &job );
- if ( source )
- source->unlock();
-
- if ( dest )
- dest->unlock();
-
return 1;
}
diff --git a/source/Irrlicht/CBurningShader_Raster_Reference.cpp b/source/Irrlicht/CBurningShader_Raster_Reference.cpp
index c392e9e3..c0ea0397 100644
--- a/source/Irrlicht/CBurningShader_Raster_Reference.cpp
+++ b/source/Irrlicht/CBurningShader_Raster_Reference.cpp
@@ -721,7 +721,7 @@ REALINLINE void CBurningShader_Raster_Reference::scanline2()
line.t[i][0] += line.t[i][1] * subPixel;
}
- pShader.dst = (tVideoSample*) ( (u8*) RenderTarget->lock() + ( line.y * RenderTarget->getPitch() ) + ( pShader.xStart << VIDEO_SAMPLE_GRANULARITY ) );
+ pShader.dst = (tVideoSample*) ( (u8*) RenderTarget->getData() + ( line.y * RenderTarget->getPitch() ) + ( pShader.xStart << VIDEO_SAMPLE_GRANULARITY ) );
pShader.z = (fp24*) ( (u8*) DepthBuffer->lock() + ( line.y * DepthBuffer->getPitch() ) + ( pShader.xStart << VIDEO_SAMPLE_GRANULARITY ) );
for ( pShader.i = 0; pShader.i <= pShader.dx; ++pShader.i )
@@ -803,7 +803,7 @@ REALINLINE void CBurningShader_Raster_Reference::scanline ()
line.w[0] = a;
line.w[1] = b;
- pShader.dst = (tVideoSample*) ( (u8*) RenderTarget->lock() + ( line.y * RenderTarget->getPitch() ) + ( pShader.xStart << VIDEO_SAMPLE_GRANULARITY ) );
+ pShader.dst = (tVideoSample*) ( (u8*) RenderTarget->getData() + ( line.y * RenderTarget->getPitch() ) + ( pShader.xStart << VIDEO_SAMPLE_GRANULARITY ) );
a = (f32) pShader.i + subPixel;
diff --git a/source/Irrlicht/CCameraSceneNode.cpp b/source/Irrlicht/CCameraSceneNode.cpp
index 3f9bc891..ea8b6911 100644
--- a/source/Irrlicht/CCameraSceneNode.cpp
+++ b/source/Irrlicht/CCameraSceneNode.cpp
@@ -17,6 +17,7 @@ namespace scene
CCameraSceneNode::CCameraSceneNode(ISceneNode* parent, ISceneManager* mgr, s32 id,
const core::vector3df& position, const core::vector3df& lookat)
: ICameraSceneNode(parent, mgr, id, position),
+ BoundingBox(core::vector3df(0, 0, 0)), // Camera has no size. Still not sure if FLT_MAX might be the better variant
Target(lookat), UpVector(0.0f, 1.0f, 0.0f), ZNear(1.0f), ZFar(3000.0f),
InputReceiverEnabled(true), TargetAndRotationAreBound(false)
{
@@ -34,9 +35,9 @@ CCameraSceneNode::CCameraSceneNode(ISceneNode* parent, ISceneManager* mgr, s32 i
else
Aspect = 4.0f / 3.0f; // Aspect ratio.
+ ViewArea.setFarNearDistance(ZFar - ZNear);
recalculateProjectionMatrix();
recalculateViewArea();
- ViewArea.setFarNearDistance(ZFar - ZNear);
}
@@ -50,7 +51,6 @@ void CCameraSceneNode::setInputReceiverEnabled(bool enabled)
//! Returns if the input receiver of the camera is currently enabled.
bool CCameraSceneNode::isInputReceiverEnabled() const
{
- _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
return InputReceiverEnabled;
}
@@ -284,11 +284,14 @@ void CCameraSceneNode::updateMatrices()
//! returns the axis aligned bounding box of this node
const core::aabbox3d& CCameraSceneNode::getBoundingBox() const
{
- return ViewArea.getBoundingBox();
+ // NOTE: We deliberately don't return the boundingbox of the ViewArea. People can access that already.
+ // We want to prevent cameras from having their bounding box colliding in the SceneCollisionManager.
+ // If another boundingbox is ever necessary then please move BoundingBox to ICameraSceneNode and make it accessible (via a setter or an enum with options).
+ return BoundingBox;
}
-//! returns the view frustum. needed sometimes by bsp or lod render nodes.
+//! returns the view frustum.
const SViewFrustum* CCameraSceneNode::getViewFrustum() const
{
return &ViewArea;
diff --git a/source/Irrlicht/CCameraSceneNode.h b/source/Irrlicht/CCameraSceneNode.h
index 6fdc6f55..b1cd13c8 100644
--- a/source/Irrlicht/CCameraSceneNode.h
+++ b/source/Irrlicht/CCameraSceneNode.h
@@ -119,7 +119,7 @@ namespace scene
//! Returns the axis aligned bounding box of this node
virtual const core::aabbox3d& getBoundingBox() const _IRR_OVERRIDE_;
- //! Returns the view area. Sometimes needed by bsp or lod render nodes.
+ //! Returns the view area.
virtual const SViewFrustum* getViewFrustum() const _IRR_OVERRIDE_;
//! Disables or enables the camera to get key or mouse inputs.
@@ -153,6 +153,8 @@ namespace scene
void recalculateProjectionMatrix();
void recalculateViewArea();
+ core::aabbox3d BoundingBox;
+
core::vector3df Target;
core::vector3df UpVector;
diff --git a/source/Irrlicht/CCgMaterialRenderer.cpp b/source/Irrlicht/CCgMaterialRenderer.cpp
deleted file mode 100644
index 06b9cd26..00000000
--- a/source/Irrlicht/CCgMaterialRenderer.cpp
+++ /dev/null
@@ -1,334 +0,0 @@
-// Copyright (C) 2012 Patryk Nadrowski
-// This file is part of the "Irrlicht Engine".
-// For conditions of distribution and use, see copyright notice in irrlicht.h
-
-#include "IrrCompileConfig.h"
-#ifdef _IRR_COMPILE_WITH_CG_
-
-#include "CCgMaterialRenderer.h"
-
-namespace irr
-{
-namespace video
-{
-
-CCgUniform::CCgUniform(const CGparameter& parameter, bool global) : Parameter(parameter), Type(CG_UNKNOWN_TYPE)
-{
- Name = cgGetParameterName(Parameter);
-
- if(global)
- Space = CG_GLOBAL;
- else
- Space = CG_PROGRAM;
-}
-
-CCgUniform::~CCgUniform()
-{
-}
-
-const core::stringc& CCgUniform::getName() const
-{
- return Name;
-}
-
-const CGparameter& CCgUniform::getParameter() const
-{
- return Parameter;
-}
-
-CGenum CCgUniform::getSpace() const
-{
- return Space;
-}
-
-CGtype CCgUniform::getType() const
-{
- return Type;
-}
-
-CCgUniform1f::CCgUniform1f(const CGparameter& parameter, bool global) : CCgUniform(parameter, global)
-{
- Type = CG_FLOAT;
-}
-
-void CCgUniform1f::update(const void* data, const SMaterial& material) const
-{
- f32* Data = (f32*)data;
- cgSetParameter1f(Parameter, *Data);
-}
-
-CCgUniform2f::CCgUniform2f(const CGparameter& parameter, bool global) : CCgUniform(parameter, global)
-{
- Type = CG_FLOAT2;
-}
-
-void CCgUniform2f::update(const void* data, const SMaterial& material) const
-{
- f32* Data = (f32*)data;
- cgSetParameter2f(Parameter, *Data, *(Data+1));
-}
-
-CCgUniform3f::CCgUniform3f(const CGparameter& parameter, bool global) : CCgUniform(parameter, global)
-{
- Type = CG_FLOAT3;
-}
-
-void CCgUniform3f::update(const void* data, const SMaterial& material) const
-{
- f32* Data = (f32*)data;
- cgSetParameter3f(Parameter, *Data, *(Data+1), *(Data+2));
-}
-
-CCgUniform4f::CCgUniform4f(const CGparameter& parameter, bool global) : CCgUniform(parameter, global)
-{
- Type = CG_FLOAT4;
-}
-
-void CCgUniform4f::update(const void* data, const SMaterial& material) const
-{
- f32* Data = (f32*)data;
- cgSetParameter4f(Parameter, *Data, *(Data+1), *(Data+2), *(Data+3));
-}
-
-CCgUniform1i::CCgUniform1i(const CGparameter& parameter, bool global) : CCgUniform(parameter, global)
-{
- Type = CG_INT;
-}
-
-void CCgUniform1i::update(const void* data, const SMaterial& material) const
-{
- s32* Data = (s32*)data;
- cgSetParameter1i(Parameter, *Data);
-}
-
-CCgUniform2i::CCgUniform2i(const CGparameter& parameter, bool global) : CCgUniform(parameter, global)
-{
- Type = CG_INT2;
-}
-
-void CCgUniform2i::update(const void* data, const SMaterial& material) const
-{
- s32* Data = (s32*)data;
- cgSetParameter2i(Parameter, *Data, *(Data+1));
-}
-
-CCgUniform3i::CCgUniform3i(const CGparameter& parameter, bool global) : CCgUniform(parameter, global)
-{
- Type = CG_INT3;
-}
-
-void CCgUniform3i::update(const void* data, const SMaterial& material) const
-{
- s32* Data = (s32*)data;
- cgSetParameter3i(Parameter, *Data, *(Data+1), *(Data+2));
-}
-
-CCgUniform4i::CCgUniform4i(const CGparameter& parameter, bool global) : CCgUniform(parameter, global)
-{
- Type = CG_INT4;
-}
-
-void CCgUniform4i::update(const void* data, const SMaterial& material) const
-{
- s32* Data = (s32*)data;
- cgSetParameter4i(Parameter, *Data, *(Data+1), *(Data+2), *(Data+3));
-}
-
-CCgUniform4x4f::CCgUniform4x4f(const CGparameter& parameter, bool global) : CCgUniform(parameter, global)
-{
- Type = CG_FLOAT4x4;
-}
-
-void CCgUniform4x4f::update(const void* data, const SMaterial& material) const
-{
- f32* Data = (f32*)data;
- cgSetMatrixParameterfr(Parameter, Data);
-}
-
-CCgUniformSampler2D::CCgUniformSampler2D(const CGparameter& parameter, bool global) : CCgUniform(parameter, global)
-{
- Type = CG_SAMPLER2D;
-}
-
-void CCgUniformSampler2D::update(const void* data, const SMaterial& material) const
-{
-}
-
-CCgMaterialRenderer::CCgMaterialRenderer(IShaderConstantSetCallBack* callback, s32 userData) :
- CallBack(callback), UserData(userData),
- VertexProgram(0), FragmentProgram(0), GeometryProgram(0), VertexProfile(CG_PROFILE_UNKNOWN), FragmentProfile(CG_PROFILE_UNKNOWN), GeometryProfile(CG_PROFILE_UNKNOWN),
- Material(IdentityMaterial), Error(CG_NO_ERROR)
-{
- #ifdef _DEBUG
- setDebugName("CCgMaterialRenderer");
- #endif
-
- if(CallBack)
- CallBack->grab();
-}
-
-CCgMaterialRenderer::~CCgMaterialRenderer()
-{
- if(CallBack)
- CallBack->drop();
-
- for(unsigned int i = 0; i < UniformInfo.size(); ++i)
- delete UniformInfo[i];
-
- UniformInfo.clear();
-}
-
-s32 CCgMaterialRenderer::getVertexShaderConstantID(const c8* name)
-{
- return getPixelShaderConstantID(name);
-}
-
-s32 CCgMaterialRenderer::getPixelShaderConstantID(const c8* name)
-{
- for(u32 i = 0; i < UniformInfo.size(); ++i)
- {
- if(UniformInfo[i]->getName() == name)
- return i;
- }
-
- return -1;
-}
-
-void CCgMaterialRenderer::setVertexShaderConstant(const f32* data, s32 startRegister, s32 constantAmount)
-{
- os::Printer::log("Cannot set constant, please use high level shader call instead.", ELL_WARNING);
-}
-
-void CCgMaterialRenderer::setPixelShaderConstant(const f32* data, s32 startRegister, s32 constantAmount)
-{
- os::Printer::log("Cannot set constant, please use high level shader call instead.", ELL_WARNING);
-}
-
-bool CCgMaterialRenderer::setVertexShaderConstant(s32 index, const f32* floats, int count)
-{
- return setPixelShaderConstant(index, floats, count);
-}
-
-bool CCgMaterialRenderer::setVertexShaderConstant(s32 index, const s32* ints, int count)
-{
- return setPixelShaderConstant(index, ints, count);
-}
-
-bool CCgMaterialRenderer::setPixelShaderConstant(s32 index, const f32* floats, int count)
-{
- if(index < 0)
- return false;
-
- UniformInfo[index]->update(floats, Material);
-
- return true;
-}
-
-bool CCgMaterialRenderer::setPixelShaderConstant(s32 index, const s32* ints, int count)
-{
- if(index < 0)
- return false;
-
- UniformInfo[index]->update(ints, Material);
-
- return true;
-}
-
-void CCgMaterialRenderer::getUniformList()
-{
- for(unsigned int i = 0; i < UniformInfo.size(); ++i)
- delete UniformInfo[i];
-
- UniformInfo.clear();
-
- for(unsigned int i = 0; i < 2; ++i)
- {
- CGenum Space = CG_GLOBAL;
- bool IsGlobal = 1;
-
- if(i == 1)
- {
- Space = CG_PROGRAM;
- IsGlobal = 0;
- }
-
- for(unsigned int j = 0; j < 3; ++j)
- {
- CGprogram* Program = 0;
-
- switch(j)
- {
- case 0:
- Program = &VertexProgram;
- break;
- case 1:
- Program = &FragmentProgram;
- break;
- case 2:
- Program = &GeometryProgram;
- break;
- }
-
- if(*Program)
- {
- CGparameter Parameter = cgGetFirstParameter(*Program, Space);
-
- while(Parameter)
- {
- if(cgGetParameterVariability(Parameter) == CG_UNIFORM && cgGetParameterDirection(Parameter) == CG_IN)
- {
- CCgUniform* Uniform = 0;
-
- CGtype Type = cgGetParameterType(Parameter);
-
- switch(Type)
- {
- case CG_FLOAT:
- case CG_FLOAT1:
- Uniform = new CCgUniform1f(Parameter, IsGlobal);
- break;
- case CG_FLOAT2:
- Uniform = new CCgUniform2f(Parameter, IsGlobal);
- break;
- case CG_FLOAT3:
- Uniform = new CCgUniform3f(Parameter, IsGlobal);
- break;
- case CG_FLOAT4:
- Uniform = new CCgUniform4f(Parameter, IsGlobal);
- break;
- case CG_INT:
- case CG_INT1:
- Uniform = new CCgUniform1i(Parameter, IsGlobal);
- break;
- case CG_INT2:
- Uniform = new CCgUniform2i(Parameter, IsGlobal);
- break;
- case CG_INT3:
- Uniform = new CCgUniform3i(Parameter, IsGlobal);
- break;
- case CG_INT4:
- Uniform = new CCgUniform4i(Parameter, IsGlobal);
- break;
- case CG_FLOAT4x4:
- Uniform = new CCgUniform4x4f(Parameter, IsGlobal);
- break;
- case CG_SAMPLER2D:
- Uniform = new CCgUniformSampler2D(Parameter, IsGlobal);
- break;
- }
-
- if(Uniform)
- UniformInfo.push_back(Uniform);
- }
-
- Parameter = cgGetNextParameter(Parameter);
- }
- }
- }
- }
-}
-
-}
-}
-
-#endif
diff --git a/source/Irrlicht/CCgMaterialRenderer.h b/source/Irrlicht/CCgMaterialRenderer.h
deleted file mode 100644
index 6e0d93c7..00000000
--- a/source/Irrlicht/CCgMaterialRenderer.h
+++ /dev/null
@@ -1,170 +0,0 @@
-// Copyright (C) 2012 Patryk Nadrowski
-// This file is part of the "Irrlicht Engine".
-// For conditions of distribution and use, see copyright notice in irrlicht.h
-
-#ifndef __C_CG_MATERIAL_RENDERER_H_INCLUDED__
-#define __C_CG_MATERIAL_RENDERER_H_INCLUDED__
-
-#include "IrrCompileConfig.h"
-#ifdef _IRR_COMPILE_WITH_CG_
-
-#include "IMaterialRenderer.h"
-#include "IMaterialRendererServices.h"
-#include "IShaderConstantSetCallBack.h"
-#include "IGPUProgrammingServices.h"
-#include "irrArray.h"
-#include "irrString.h"
-#include "IVideoDriver.h"
-#include "os.h"
-#include "Cg/cg.h"
-
-#ifdef _MSC_VER
- #pragma comment(lib, "cg.lib")
-#endif
-
-namespace irr
-{
-namespace video
-{
-
-class CCgUniform
-{
-public:
- CCgUniform(const CGparameter& parameter, bool global);
- virtual ~CCgUniform();
-
- const core::stringc& getName() const;
- const CGparameter& getParameter() const;
- CGenum getSpace() const;
- CGtype getType() const;
-
- virtual void update(const void* data, const SMaterial& material) const = 0;
-
-protected:
- core::stringc Name;
- CGparameter Parameter;
- CGenum Space;
- CGtype Type;
-};
-
-class CCgUniform1f : public CCgUniform
-{
-public:
- CCgUniform1f(const CGparameter& parameter, bool global);
-
- virtual void update(const void* data, const SMaterial& material) const _IRR_OVERRIDE_;
-};
-
-class CCgUniform2f : public CCgUniform
-{
-public:
- CCgUniform2f(const CGparameter& parameter, bool global);
-
- virtual void update(const void* data, const SMaterial& material) const _IRR_OVERRIDE_;
-};
-
-class CCgUniform3f : public CCgUniform
-{
-public:
- CCgUniform3f(const CGparameter& parameter, bool global);
-
- virtual void update(const void* data, const SMaterial& material) const _IRR_OVERRIDE_;
-};
-
-class CCgUniform4f : public CCgUniform
-{
-public:
- CCgUniform4f(const CGparameter& parameter, bool global);
-
- virtual void update(const void* data, const SMaterial& material) const _IRR_OVERRIDE_;
-};
-
-class CCgUniform1i : public CCgUniform
-{
-public:
- CCgUniform1i(const CGparameter& parameter, bool global);
-
- virtual void update(const void* data, const SMaterial& material) const _IRR_OVERRIDE_;
-};
-
-class CCgUniform2i : public CCgUniform
-{
-public:
- CCgUniform2i(const CGparameter& parameter, bool global);
-
- virtual void update(const void* data, const SMaterial& material) const _IRR_OVERRIDE_;
-};
-
-class CCgUniform3i : public CCgUniform
-{
-public:
- CCgUniform3i(const CGparameter& parameter, bool global);
-
- virtual void update(const void* data, const SMaterial& material) const _IRR_OVERRIDE_;
-};
-
-class CCgUniform4i : public CCgUniform
-{
-public:
- CCgUniform4i(const CGparameter& parameter, bool global);
-
- virtual void update(const void* data, const SMaterial& material) const _IRR_OVERRIDE_;
-};
-
-class CCgUniform4x4f : public CCgUniform
-{
-public:
- CCgUniform4x4f(const CGparameter& parameter, bool global);
-
- virtual void update(const void* data, const SMaterial& material) const _IRR_OVERRIDE_;
-};
-
-class CCgUniformSampler2D : public CCgUniform
-{
-public:
- CCgUniformSampler2D(const CGparameter& parameter, bool global);
-
- virtual void update(const void* data, const SMaterial& material) const _IRR_OVERRIDE_;
-};
-
-class CCgMaterialRenderer : public IMaterialRenderer, public IMaterialRendererServices
-{
-public:
- CCgMaterialRenderer(IShaderConstantSetCallBack* callback = 0, s32 userData = 0);
- virtual ~CCgMaterialRenderer();
-
- virtual bool isTransparent() const = 0;
-
- virtual s32 getVertexShaderConstantID(const c8* name) _IRR_OVERRIDE_;
- virtual s32 getPixelShaderConstantID(const c8* name) _IRR_OVERRIDE_;
- virtual void setVertexShaderConstant(const f32* data, s32 startRegister, s32 constantAmount=1) _IRR_OVERRIDE_;
- virtual void setPixelShaderConstant(const f32* data, s32 startRegister, s32 constantAmount=1) _IRR_OVERRIDE_;
- virtual bool setVertexShaderConstant(s32 index, const f32* floats, int count) _IRR_OVERRIDE_;
- virtual bool setVertexShaderConstant(s32 index, const s32* ints, int count) _IRR_OVERRIDE_;
- virtual bool setPixelShaderConstant(s32 index, const f32* floats, int count) _IRR_OVERRIDE_;
- virtual bool setPixelShaderConstant(s32 index, const s32* ints, int count) _IRR_OVERRIDE_;
-
-protected:
- void getUniformList();
-
- IShaderConstantSetCallBack* CallBack;
- s32 UserData;
-
- core::array UniformInfo;
-
- CGprogram VertexProgram;
- CGprogram FragmentProgram;
- CGprogram GeometryProgram;
- CGprofile VertexProfile;
- CGprofile FragmentProfile;
- CGprofile GeometryProfile;
-
- SMaterial Material;
- CGerror Error;
-};
-
-}
-}
-
-#endif
-#endif
diff --git a/source/Irrlicht/CColladaMeshWriter.cpp b/source/Irrlicht/CColladaMeshWriter.cpp
index d4befb64..54503aed 100644
--- a/source/Irrlicht/CColladaMeshWriter.cpp
+++ b/source/Irrlicht/CColladaMeshWriter.cpp
@@ -211,7 +211,7 @@ irr::core::stringw CColladaMeshWriterNames::nameForMaterial(const video::SMateri
irr::core::stringw CColladaMeshWriterNames::nameForPtr(const void* ptr) const
{
wchar_t buf[32];
- swprintf(buf, 32, L"%p", ptr);
+ swprintf_irr(buf, 32, L"%p", ptr);
return irr::core::stringw(buf);
}
@@ -763,11 +763,15 @@ void CColladaMeshWriter::writeSceneNode(irr::scene::ISceneNode * node )
}
else
{
- irr::core::vector3df rot(node->getRotation());
writeTranslateElement( node->getPosition() );
- writeRotateElement( irr::core::vector3df(1.f, 0.f, 0.f), rot.X );
- writeRotateElement( irr::core::vector3df(0.f, 1.f, 0.f), rot.Y );
- writeRotateElement( irr::core::vector3df(0.f, 0.f, 1.f), rot.Z );
+
+ irr::core::vector3df rot(node->getRotation());
+ core::quaternion quat(rot*core::DEGTORAD);
+ f32 angle;
+ core::vector3df axis;
+ quat.toAngleAxis(angle, axis);
+ writeRotateElement( axis, angle*core::RADTODEG );
+
writeScaleElement( node->getScale() );
}
@@ -980,7 +984,7 @@ bool CColladaMeshWriter::hasSecondTextureCoordinates(video::E_VERTEX_TYPE type)
void CColladaMeshWriter::writeVector(const irr::core::vector3df& vec)
{
wchar_t tmpbuf[255];
- swprintf(tmpbuf, 255, L"%f %f %f", vec.X, vec.Y, vec.Z);
+ swprintf_irr(tmpbuf, 255, L"%f %f %f", vec.X, vec.Y, vec.Z);
Writer->writeText(tmpbuf);
}
@@ -989,7 +993,7 @@ void CColladaMeshWriter::writeUv(const irr::core::vector2df& vec)
{
// change handedness
wchar_t tmpbuf[255];
- swprintf(tmpbuf, 255, L"%f %f", vec.X, 1.f-vec.Y);
+ swprintf_irr(tmpbuf, 255, L"%f %f", vec.X, 1.f-vec.Y);
Writer->writeText(tmpbuf);
}
@@ -997,7 +1001,7 @@ void CColladaMeshWriter::writeUv(const irr::core::vector2df& vec)
void CColladaMeshWriter::writeVector(const irr::core::vector2df& vec)
{
wchar_t tmpbuf[255];
- swprintf(tmpbuf, 255, L"%f %f", vec.X, vec.Y);
+ swprintf_irr(tmpbuf, 255, L"%f %f", vec.X, vec.Y);
Writer->writeText(tmpbuf);
}
@@ -1006,9 +1010,9 @@ void CColladaMeshWriter::writeColor(const irr::video::SColorf& colorf, bool writ
{
wchar_t tmpbuf[255];
if ( writeAlpha )
- swprintf(tmpbuf, 255, L"%f %f %f %f", colorf.getRed(), colorf.getGreen(), colorf.getBlue(), colorf.getAlpha());
+ swprintf_irr(tmpbuf, 255, L"%f %f %f %f", colorf.getRed(), colorf.getGreen(), colorf.getBlue(), colorf.getAlpha());
else
- swprintf(tmpbuf, 255, L"%f %f %f", colorf.getRed(), colorf.getGreen(), colorf.getBlue());
+ swprintf_irr(tmpbuf, 255, L"%f %f %f", colorf.getRed(), colorf.getGreen(), colorf.getBlue());
Writer->writeText(tmpbuf);
}
@@ -1117,7 +1121,7 @@ irr::core::stringw CColladaMeshWriter::nameForMaterial(const video::SMaterial &
irr::core::stringw CColladaMeshWriter::nameForMaterialSymbol(const scene::IMesh* mesh, int materialId) const
{
wchar_t buf[100];
- swprintf(buf, 100, L"mat_symb_%p_%d", mesh, materialId);
+ swprintf_irr(buf, 100, L"mat_symb_%p_%d", mesh, materialId);
return irr::core::stringw(buf);
}
@@ -2248,7 +2252,7 @@ void CColladaMeshWriter::writeLookAtElement(const irr::core::vector3df& eyePos,
Writer->writeElement(L"lookat", false);
wchar_t tmpbuf[255];
- swprintf(tmpbuf, 255, L"%f %f %f %f %f %f %f %f %f", eyePos.X, eyePos.Y, eyePos.Z, targetPos.X, targetPos.Y, targetPos.Z, upVector.X, upVector.Y, upVector.Z);
+ swprintf_irr(tmpbuf, 255, L"%f %f %f %f %f %f %f %f %f", eyePos.X, eyePos.Y, eyePos.Z, targetPos.X, targetPos.Y, targetPos.Z, upVector.X, upVector.Y, upVector.Z);
Writer->writeText(tmpbuf);
Writer->writeClosingTag(L"lookat");
diff --git a/source/Irrlicht/CColorConverter.h b/source/Irrlicht/CColorConverter.h
index 07e05615..e77ad5fe 100644
--- a/source/Irrlicht/CColorConverter.h
+++ b/source/Irrlicht/CColorConverter.h
@@ -48,8 +48,10 @@ public:
static void convert32BitTo32Bit(const s32* in, s32* out, s32 width, s32 height, s32 linepad, bool flip=false);
- //! functions for converting one image format to another efficiently
+ //! Functions for converting one image format to another efficiently
//! and hopefully correctly.
+ //! Note that the format descriptions refer to the ECOLOR_FORMAT's and not to memory layout.
+ //! Reasons for that go back to DX9 naming which tended to flip 32-bit and 16-bit byte orders so ARGB usually means BGRA.
//!
//! \param sP pointer to source pixel data
//! \param sN number of source pixels to copy
diff --git a/source/Irrlicht/CD3D8Driver.cpp b/source/Irrlicht/CD3D8Driver.cpp
deleted file mode 100644
index 3dd41e74..00000000
--- a/source/Irrlicht/CD3D8Driver.cpp
+++ /dev/null
@@ -1,2576 +0,0 @@
-// Copyright (C) 2002-2012 Nikolaus Gebhardt
-// This file is part of the "Irrlicht Engine".
-// For conditions of distribution and use, see copyright notice in irrlicht.h
-
-#include "IrrCompileConfig.h"
-
-#define _IRR_DONT_DO_MEMORY_DEBUGGING_HERE
-#include "CD3D8Driver.h"
-
-#ifdef _IRR_COMPILE_WITH_DIRECT3D_8_
-
-#include "os.h"
-#include "S3DVertex.h"
-#include "CD3D8Texture.h"
-#include "CD3D8MaterialRenderer.h"
-#include "CD3D8ShaderMaterialRenderer.h"
-#include "CD3D8NormalMapRenderer.h"
-#include "CD3D8ParallaxMapRenderer.h"
-#include "SIrrCreationParameters.h"
-
-namespace irr
-{
-namespace video
-{
-
-
-//! constructor
-CD3D8Driver::CD3D8Driver(const SIrrlichtCreationParameters& params, io::IFileSystem* io)
- : CNullDriver(io, params.WindowSize), BridgeCalls(0), CurrentRenderMode(ERM_NONE),
- ResetRenderStates(true), Transformation3DChanged(false),
- D3DLibrary(0), pID3D(0), pID3DDevice(0), PrevRenderTarget(0),
- WindowId(0), SceneSourceRect(0),
- LastVertexType((video::E_VERTEX_TYPE)-1),
- MaxTextureUnits(0), MaxUserClipPlanes(0),
- MaxLightDistance(0), LastSetLight(-1), DeviceLost(false),
- DriverWasReset(true), Params(params)
-{
- #ifdef _DEBUG
- setDebugName("CD3D8Driver");
- #endif
-
- printVersion();
-
- for (u32 i=0; iRelease();
-
- if (pID3D)
- pID3D->Release();
-}
-
-
-void CD3D8Driver::createMaterialRenderers()
-{
- // create D3D8 material renderers
-
- addAndDropMaterialRenderer(new CD3D8MaterialRenderer_SOLID(pID3DDevice, this));
- addAndDropMaterialRenderer(new CD3D8MaterialRenderer_SOLID_2_LAYER(pID3DDevice, this));
-
- // add the same renderer for all lightmap types
- CD3D8MaterialRenderer_LIGHTMAP* lmr = new CD3D8MaterialRenderer_LIGHTMAP(pID3DDevice, this);
- addMaterialRenderer(lmr); // for EMT_LIGHTMAP:
- addMaterialRenderer(lmr); // for EMT_LIGHTMAP_ADD:
- addMaterialRenderer(lmr); // for EMT_LIGHTMAP_M2:
- addMaterialRenderer(lmr); // for EMT_LIGHTMAP_M4:
- addMaterialRenderer(lmr); // for EMT_LIGHTMAP_LIGHTING:
- addMaterialRenderer(lmr); // for EMT_LIGHTMAP_LIGHTING_M2:
- addMaterialRenderer(lmr); // for EMT_LIGHTMAP_LIGHTING_M4:
- lmr->drop();
-
- // add remaining material renderers
- addAndDropMaterialRenderer(new CD3D8MaterialRenderer_DETAIL_MAP(pID3DDevice, this));
- addAndDropMaterialRenderer(new CD3D8MaterialRenderer_SPHERE_MAP(pID3DDevice, this));
- addAndDropMaterialRenderer(new CD3D8MaterialRenderer_REFLECTION_2_LAYER(pID3DDevice, this));
- addAndDropMaterialRenderer(new CD3D8MaterialRenderer_TRANSPARENT_ADD_COLOR(pID3DDevice, this));
- addAndDropMaterialRenderer(new CD3D8MaterialRenderer_TRANSPARENT_ALPHA_CHANNEL(pID3DDevice, this));
- addAndDropMaterialRenderer(new CD3D8MaterialRenderer_TRANSPARENT_ALPHA_CHANNEL_REF(pID3DDevice, this));
- addAndDropMaterialRenderer(new CD3D8MaterialRenderer_TRANSPARENT_VERTEX_ALPHA(pID3DDevice, this));
- addAndDropMaterialRenderer(new CD3D8MaterialRenderer_TRANSPARENT_REFLECTION_2_LAYER(pID3DDevice, this));
-
- // add normal map renderers
- s32 tmp = 0;
- video::IMaterialRenderer* renderer = 0;
-
- renderer = new CD3D8NormalMapRenderer(pID3DDevice, this, tmp,
- MaterialRenderers[EMT_SOLID].Renderer);
- renderer->drop();
-
- renderer = new CD3D8NormalMapRenderer(pID3DDevice, this, tmp,
- MaterialRenderers[EMT_TRANSPARENT_ADD_COLOR].Renderer);
- renderer->drop();
-
- renderer = new CD3D8NormalMapRenderer(pID3DDevice, this, tmp,
- MaterialRenderers[EMT_TRANSPARENT_VERTEX_ALPHA].Renderer);
- renderer->drop();
-
- // add parallax map renderers
-
- renderer = new CD3D8ParallaxMapRenderer(pID3DDevice, this, tmp,
- MaterialRenderers[EMT_SOLID].Renderer);
- renderer->drop();
-
- renderer = new CD3D8ParallaxMapRenderer(pID3DDevice, this, tmp,
- MaterialRenderers[EMT_TRANSPARENT_ADD_COLOR].Renderer);
- renderer->drop();
-
- renderer = new CD3D8ParallaxMapRenderer(pID3DDevice, this, tmp,
- MaterialRenderers[EMT_TRANSPARENT_VERTEX_ALPHA].Renderer);
- renderer->drop();
-
- // add basic 1 texture blending
- addAndDropMaterialRenderer(new CD3D8MaterialRenderer_ONETEXTURE_BLEND(pID3DDevice, this));
-}
-
-
-//! initialises the Direct3D API
-bool CD3D8Driver::initDriver(HWND hwnd, bool pureSoftware)
-{
- HRESULT hr;
- typedef IDirect3D8 * (__stdcall *D3DCREATETYPE)(UINT);
-
-#if defined( _IRR_XBOX_PLATFORM_)
- D3DCREATETYPE d3dCreate = (D3DCREATETYPE) &Direct3DCreate8;
-#else
- D3DLibrary = LoadLibrary( __TEXT("d3d8.dll") );
-
- if (!D3DLibrary)
- {
- os::Printer::log("Error, could not load d3d8.dll.", ELL_ERROR);
- return false;
- }
-
- D3DCREATETYPE d3dCreate = (D3DCREATETYPE) GetProcAddress(D3DLibrary, "Direct3DCreate8");
-
- if (!d3dCreate)
- {
- os::Printer::log("Error, could not get proc adress of Direct3DCreate8.", ELL_ERROR);
- return false;
- }
-#endif
-
- //just like pID3D = Direct3DCreate8(D3D_SDK_VERSION);
- pID3D = (*d3dCreate)(D3D_SDK_VERSION);
-
- if (!pID3D)
- {
- os::Printer::log("Error initializing D3D.", ELL_ERROR);
- return false;
- }
-
- // print device information
- D3DADAPTER_IDENTIFIER8 dai;
- if (!FAILED(pID3D->GetAdapterIdentifier(Params.DisplayAdapter, D3DENUM_NO_WHQL_LEVEL, &dai)))
- {
- char tmp[512];
-
- s32 Product = HIWORD(dai.DriverVersion.HighPart);
- s32 Version = LOWORD(dai.DriverVersion.HighPart);
- s32 SubVersion = HIWORD(dai.DriverVersion.LowPart);
- s32 Build = LOWORD(dai.DriverVersion.LowPart);
-
- sprintf(tmp, "%s %s %d.%d.%d.%d", dai.Description, dai.Driver, Product, Version,
- SubVersion, Build);
- os::Printer::log(tmp, ELL_INFORMATION);
- }
-
- D3DDISPLAYMODE d3ddm;
- hr = pID3D->GetAdapterDisplayMode(Params.DisplayAdapter, &d3ddm);
- if (FAILED(hr))
- {
- os::Printer::log("Error: Could not get Adapter Display mode.", ELL_ERROR);
- return false;
- }
-
- ZeroMemory(&present, sizeof(present));
-
- present.SwapEffect = D3DSWAPEFFECT_DISCARD;
- present.Windowed = TRUE;
- present.BackBufferFormat = d3ddm.Format;
- present.EnableAutoDepthStencil = TRUE;
-
- if (Params.Fullscreen)
- {
- present.SwapEffect = D3DSWAPEFFECT_FLIP;
- present.Windowed = FALSE;
- present.BackBufferWidth = Params.WindowSize.Width;
- present.BackBufferHeight = Params.WindowSize.Height;
- present.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT;
-
- if (Params.Vsync)
- present.FullScreen_PresentationInterval = D3DPRESENT_INTERVAL_ONE;
- else
- present.FullScreen_PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;
-
- if (Params.Bits == 32)
- present.BackBufferFormat = D3DFMT_X8R8G8B8;
- else
- present.BackBufferFormat = D3DFMT_R5G6B5;
- }
-
- D3DDEVTYPE devtype = D3DDEVTYPE_HAL;
- #ifndef _IRR_D3D_NO_SHADER_DEBUGGING
- devtype = D3DDEVTYPE_REF;
- #endif
-
- // enable anti alias if possible and whished
- if (Params.AntiAlias > 0)
- {
- if(Params.AntiAlias > 16)
- Params.AntiAlias = 16;
-
- while(Params.AntiAlias > 0)
- {
- if(!FAILED(pID3D->CheckDeviceMultiSampleType(Params.DisplayAdapter,
- devtype , present.BackBufferFormat, !Params.Fullscreen,
- (D3DMULTISAMPLE_TYPE)Params.AntiAlias)))
- {
- present.MultiSampleType = (D3DMULTISAMPLE_TYPE)Params.AntiAlias;
- present.SwapEffect = D3DSWAPEFFECT_DISCARD;
- break;
- }
- --Params.AntiAlias;
- }
-
- if(Params.AntiAlias==0)
- os::Printer::log("Anti aliasing disabled because hardware/driver lacks necessary caps.", ELL_WARNING);
- }
-
- // check stencil buffer compatibility
- if (Params.Stencilbuffer)
- {
- present.AutoDepthStencilFormat = D3DFMT_D24S8;
- if(FAILED(pID3D->CheckDeviceFormat(Params.DisplayAdapter, devtype,
- present.BackBufferFormat, D3DUSAGE_DEPTHSTENCIL,
- D3DRTYPE_SURFACE, present.AutoDepthStencilFormat)))
- {
-#if !defined( _IRR_XBOX_PLATFORM_)
- present.AutoDepthStencilFormat = D3DFMT_D24X4S4;
- if(FAILED(pID3D->CheckDeviceFormat(Params.DisplayAdapter, devtype,
- present.BackBufferFormat, D3DUSAGE_DEPTHSTENCIL,
- D3DRTYPE_SURFACE, present.AutoDepthStencilFormat)))
- {
- present.AutoDepthStencilFormat = D3DFMT_D15S1;
- if(FAILED(pID3D->CheckDeviceFormat(Params.DisplayAdapter, devtype,
- present.BackBufferFormat, D3DUSAGE_DEPTHSTENCIL,
- D3DRTYPE_SURFACE, present.AutoDepthStencilFormat)))
- {
- os::Printer::log("Device does not support stencilbuffer, disabling stencil buffer.", ELL_WARNING);
- Params.Stencilbuffer = false;
- }
- }
-#endif
- }
- else
- if(FAILED(pID3D->CheckDepthStencilMatch(Params.DisplayAdapter, devtype,
- present.BackBufferFormat, present.BackBufferFormat, present.AutoDepthStencilFormat)))
- {
- os::Printer::log("Depth-stencil format is not compatible with display format, disabling stencil buffer.", ELL_WARNING);
- Params.Stencilbuffer = false;
- }
- }
- // do not use else here to cope with flag change in previous block
- if (!Params.Stencilbuffer)
- {
-#if !defined( _IRR_XBOX_PLATFORM_)
- present.AutoDepthStencilFormat = D3DFMT_D32;
- if(FAILED(pID3D->CheckDeviceFormat(Params.DisplayAdapter, devtype,
- present.BackBufferFormat, D3DUSAGE_DEPTHSTENCIL,
- D3DRTYPE_SURFACE, present.AutoDepthStencilFormat)))
- {
- present.AutoDepthStencilFormat = D3DFMT_D24X8;
- if(FAILED(pID3D->CheckDeviceFormat(Params.DisplayAdapter, devtype,
- present.BackBufferFormat, D3DUSAGE_DEPTHSTENCIL,
- D3DRTYPE_SURFACE, present.AutoDepthStencilFormat)))
- {
- present.AutoDepthStencilFormat = D3DFMT_D16;
- if(FAILED(pID3D->CheckDeviceFormat(Params.DisplayAdapter, devtype,
- present.BackBufferFormat, D3DUSAGE_DEPTHSTENCIL,
- D3DRTYPE_SURFACE, present.AutoDepthStencilFormat)))
- {
- os::Printer::log("Device does not support required depth buffer.", ELL_WARNING);
- return false;
- }
- }
- }
-#else
- present.AutoDepthStencilFormat = D3DFMT_D16;
- if(FAILED(pID3D->CheckDeviceFormat(Params.DisplayAdapter, devtype,
- present.BackBufferFormat, D3DUSAGE_DEPTHSTENCIL,
- D3DRTYPE_SURFACE, present.AutoDepthStencilFormat)))
- {
- os::Printer::log("Device does not support required depth buffer.", ELL_WARNING);
- return false;
- }
-#endif
- }
-
- // create device
-#if defined( _IRR_XBOX_PLATFORM_)
- DWORD fpuPrecision = 0;
-#else
- DWORD fpuPrecision = Params.HighPrecisionFPU ? D3DCREATE_FPU_PRESERVE : 0;
- DWORD multithreaded = Params.DriverMultithreaded ? D3DCREATE_MULTITHREADED : 0;
-#endif
- if (pureSoftware)
- {
- hr = pID3D->CreateDevice(Params.DisplayAdapter, D3DDEVTYPE_REF, hwnd,
- fpuPrecision | multithreaded | D3DCREATE_SOFTWARE_VERTEXPROCESSING, &present, &pID3DDevice);
-
- if (FAILED(hr))
- os::Printer::log("Was not able to create Direct3D8 software device.", ELL_ERROR);
- }
- else
- {
- hr = pID3D->CreateDevice(Params.DisplayAdapter, devtype, hwnd,
- fpuPrecision | multithreaded | D3DCREATE_HARDWARE_VERTEXPROCESSING, &present, &pID3DDevice);
-
- if(FAILED(hr))
- hr = pID3D->CreateDevice(Params.DisplayAdapter, devtype, hwnd,
- fpuPrecision | multithreaded | D3DCREATE_MIXED_VERTEXPROCESSING , &present, &pID3DDevice);
- if(FAILED(hr))
- hr = pID3D->CreateDevice(Params.DisplayAdapter, devtype, hwnd,
- fpuPrecision | multithreaded | D3DCREATE_SOFTWARE_VERTEXPROCESSING, &present, &pID3DDevice);
- if (FAILED(hr))
- os::Printer::log("Was not able to create Direct3D8 device.", ELL_ERROR);
- }
-
- if (!pID3DDevice)
- {
- os::Printer::log("Was not able to create Direct3D8 device.", ELL_ERROR);
- return false;
- }
-
- // get caps
- pID3DDevice->GetDeviceCaps(&Caps);
-
- if (Params.Stencilbuffer &&
- (!(Caps.StencilCaps & D3DSTENCILCAPS_DECRSAT) ||
- !(Caps.StencilCaps & D3DSTENCILCAPS_INCRSAT) ||
- !(Caps.StencilCaps & D3DSTENCILCAPS_KEEP)))
- {
- os::Printer::log("Device not able to use stencil buffer, disabling stencil buffer.", ELL_WARNING);
- Params.Stencilbuffer = false;
- }
-
- if (!BridgeCalls)
- BridgeCalls = new CD3D8CallBridge(pID3DDevice);
-
- // set default vertex shader
- setVertexShader(EVT_STANDARD);
-
- // enable antialiasing
- if (Params.AntiAlias>0)
- pID3DDevice->SetRenderState(D3DRS_MULTISAMPLEANTIALIAS, TRUE);
-
- // set fog mode
- setFog(FogColor, FogType, FogStart, FogEnd, FogDensity, PixelFog, RangeFog);
-
- // set exposed data
- ExposedData.D3D8.D3D8 = pID3D;
- ExposedData.D3D8.D3DDev8 = pID3DDevice;
- ExposedData.D3D8.HWnd = hwnd;
-
- ResetRenderStates = true;
-
- // create materials
- createMaterialRenderers();
-
- MaxTextureUnits = core::min_((u32)Caps.MaxSimultaneousTextures, MATERIAL_MAX_TEXTURES);
- MaxUserClipPlanes = (u32)Caps.MaxUserClipPlanes;
-
- DriverAttributes->setAttribute("MaxTextures", (s32)MaxTextureUnits);
- DriverAttributes->setAttribute("MaxSupportedTextures", (s32)Caps.MaxSimultaneousTextures);
- DriverAttributes->setAttribute("MaxLights", (s32)Caps.MaxActiveLights);
- DriverAttributes->setAttribute("MaxAnisotropy", (s32)Caps.MaxAnisotropy);
- DriverAttributes->setAttribute("MaxUserClipPlanes", (s32)Caps.MaxUserClipPlanes);
- DriverAttributes->setAttribute("MaxIndices", (s32)Caps.MaxVertexIndex);
- DriverAttributes->setAttribute("MaxTextureSize", (s32)core::min_(Caps.MaxTextureHeight,Caps.MaxTextureWidth));
- DriverAttributes->setAttribute("MaxTextureLODBias", 16.f);
- DriverAttributes->setAttribute("Version", 800);
- DriverAttributes->setAttribute("ShaderLanguageVersion", (s32)Caps.VertexShaderVersion*100);
- DriverAttributes->setAttribute("AntiAlias", Params.AntiAlias);
-
- // set the renderstates
- setRenderStates3DMode();
-
- // so far so good.
- return true;
-}
-
-
-//! applications must call this method before performing any rendering. returns false if failed.
-bool CD3D8Driver::beginScene(bool backBuffer, bool zBuffer, SColor color,
- const SExposedVideoData& videoData, core::rect* sourceRect)
-{
- CNullDriver::beginScene(backBuffer, zBuffer, color, videoData, sourceRect);
- WindowId = (HWND)videoData.D3D8.HWnd;
- SceneSourceRect = sourceRect;
-
- if (!pID3DDevice)
- return false;
-
- HRESULT hr;
- if (DeviceLost)
- {
-#ifndef _IRR_XBOX_PLATFORM_
- if(FAILED(hr = pID3DDevice->TestCooperativeLevel()))
- {
- if (hr == D3DERR_DEVICELOST)
- {
- Sleep(100);
- hr = pID3DDevice->TestCooperativeLevel();
- if (hr == D3DERR_DEVICELOST)
- return false;
- }
-
- if ((hr == D3DERR_DEVICENOTRESET) && !reset())
- return false;
- }
-#endif
- }
-
- DWORD flags = 0;
-
- if (backBuffer)
- flags |= D3DCLEAR_TARGET;
-
- if (zBuffer)
- flags |= D3DCLEAR_ZBUFFER;
-
- if (Params.Stencilbuffer)
- flags |= D3DCLEAR_STENCIL;
-
- if (flags)
- {
- hr = pID3DDevice->Clear( 0, NULL, flags, color.color, 1.0, 0);
- if (FAILED(hr))
- os::Printer::log("Direct3D8 clear failed.", ELL_WARNING);
- }
-
- hr = pID3DDevice->BeginScene();
- if (FAILED(hr))
- {
- os::Printer::log("Direct3D8 begin scene failed.", ELL_WARNING);
- return false;
- }
-
- return true;
-}
-
-
-//! applications must call this method after performing any rendering. returns false if failed.
-bool CD3D8Driver::endScene()
-{
- CNullDriver::endScene();
- DriverWasReset=false;
-
- HRESULT hr = pID3DDevice->EndScene();
- if (FAILED(hr))
- {
- os::Printer::log("DIRECT3D8 end scene failed.", ELL_WARNING);
- return false;
- }
-
- RECT* srcRct = 0;
- RECT sourceRectData;
- if ( SceneSourceRect)
- {
- srcRct = &sourceRectData;
- sourceRectData.left = SceneSourceRect->UpperLeftCorner.X;
- sourceRectData.top = SceneSourceRect->UpperLeftCorner.Y;
- sourceRectData.right = SceneSourceRect->LowerRightCorner.X;
- sourceRectData.bottom = SceneSourceRect->LowerRightCorner.Y;
- }
-
- hr = pID3DDevice->Present(srcRct, NULL, WindowId, NULL);
-
- if (SUCCEEDED(hr))
- return true;
-
- if (hr == D3DERR_DEVICELOST)
- {
- DeviceLost = true;
- os::Printer::log("DIRECT3D8 device lost.", ELL_WARNING);
- }
- else
- os::Printer::log("DIRECT3D8 present failed.", ELL_WARNING);
- return false;
-}
-
-
-//! resets the device
-bool CD3D8Driver::reset()
-{
- u32 i;
- os::Printer::log("Resetting D3D8 device.", ELL_INFORMATION);
-
- for (i=0; iisRenderTarget())
- {
- IDirect3DTexture8* tex = ((CD3D8Texture*)(Textures[i].Surface))->getDX8Texture();
- if (tex)
- tex->Release();
- }
- }
- DriverWasReset=true;
-
- HRESULT hr = pID3DDevice->Reset(&present);
-
- for (i=0; iisRenderTarget())
- ((CD3D8Texture*)(Textures[i].Surface))->createRenderTarget();
- }
-
- if (FAILED(hr))
- {
- if (hr == D3DERR_DEVICELOST)
- {
- DeviceLost = true;
- os::Printer::log("Resetting failed due to device lost.", ELL_WARNING);
- }
- else
- os::Printer::log("Resetting failed.", ELL_WARNING);
- return false;
- }
-
- DeviceLost = false;
- ResetRenderStates = true;
- LastVertexType = (E_VERTEX_TYPE)-1;
-
- for (i=0; i= D3DVS_VERSION(1,1);
- case EVDF_VERTEX_SHADER_2_0:
- return Caps.VertexShaderVersion >= D3DVS_VERSION(2,0);
- case EVDF_VERTEX_SHADER_3_0:
- return Caps.VertexShaderVersion >= D3DVS_VERSION(3,0);
- case EVDF_PIXEL_SHADER_1_1:
- return Caps.PixelShaderVersion >= D3DPS_VERSION(1,1);
- case EVDF_PIXEL_SHADER_1_2:
- return Caps.PixelShaderVersion >= D3DPS_VERSION(1,2);
- case EVDF_PIXEL_SHADER_1_3:
- return Caps.PixelShaderVersion >= D3DPS_VERSION(1,3);
- case EVDF_PIXEL_SHADER_1_4:
- return Caps.PixelShaderVersion >= D3DPS_VERSION(1,4);
- case EVDF_PIXEL_SHADER_2_0:
- return Caps.PixelShaderVersion >= D3DPS_VERSION(2,0);
- case EVDF_PIXEL_SHADER_3_0:
- return Caps.PixelShaderVersion >= D3DPS_VERSION(3,0);
- case EVDF_TEXTURE_NSQUARE:
- return (Caps.TextureCaps & D3DPTEXTURECAPS_SQUAREONLY) == 0;
- case EVDF_TEXTURE_NPOT:
- return (Caps.TextureCaps & D3DPTEXTURECAPS_POW2) == 0;
- case EVDF_COLOR_MASK:
- return (Caps.PrimitiveMiscCaps & D3DPMISCCAPS_COLORWRITEENABLE) != 0;
- case EVDF_BLEND_OPERATIONS:
- return true;
- case EVDF_BLEND_SEPARATE:
- return false;
- case EVDF_TEXTURE_MATRIX:
- return true;
- default:
- return false;
- };
-}
-
-
-//! sets transformation
-void CD3D8Driver::setTransform(E_TRANSFORMATION_STATE state,
- const core::matrix4& mat)
-{
- switch(state)
- {
- case ETS_VIEW:
- pID3DDevice->SetTransform(D3DTS_VIEW, (D3DMATRIX*)((void*)mat.pointer()));
- Transformation3DChanged = true;
- break;
- case ETS_WORLD:
- pID3DDevice->SetTransform(D3DTS_WORLD, (D3DMATRIX*)((void*)mat.pointer()));
- Transformation3DChanged = true;
- break;
- case ETS_PROJECTION:
- pID3DDevice->SetTransform( D3DTS_PROJECTION, (D3DMATRIX*)((void*)mat.pointer()));
- Transformation3DChanged = true;
- break;
- case ETS_COUNT:
- return;
- default:
- if (state-ETS_TEXTURE_0 < MATERIAL_MAX_TEXTURES)
- {
- pID3DDevice->SetTextureStageState( state - ETS_TEXTURE_0, D3DTSS_TEXTURETRANSFORMFLAGS, D3DTTFF_COUNT2 );
- pID3DDevice->SetTransform((D3DTRANSFORMSTATETYPE)(D3DTS_TEXTURE0+ ( state - ETS_TEXTURE_0 )),
- (D3DMATRIX*)((void*)mat.pointer()));
- }
- break;
- }
-
- Matrices[state] = mat;
-}
-
-
-//! sets the current Texture
-bool CD3D8Driver::setActiveTexture(u32 stage, const video::ITexture* texture)
-{
- if (CurrentTexture[stage] == texture)
- return true;
-
- if (texture && (texture->getDriverType() != EDT_DIRECT3D8))
- {
- os::Printer::log("Fatal Error: Tried to set a texture not owned by this driver.", ELL_ERROR);
- return false;
- }
-
- CurrentTexture[stage] = texture;
-
- if (!texture)
- {
- pID3DDevice->SetTexture(stage, 0);
- pID3DDevice->SetTextureStageState( stage, D3DTSS_TEXTURETRANSFORMFLAGS, D3DTTFF_DISABLE );
- }
- else
- {
- pID3DDevice->SetTexture(stage, ((const CD3D8Texture*)texture)->getDX8Texture());
- }
- return true;
-}
-
-
-//! sets a material
-void CD3D8Driver::setMaterial(const SMaterial& material)
-{
- Material = material;
- OverrideMaterial.apply(Material);
-
- for (u32 i=0; igetColorFormat(), surface->getDimension()))
- texture = new CD3D8Texture(surface, this, TextureCreationFlags, name, mipmapData);
-
- return texture;
-}
-
-
-//! Enables or disables a texture creation flag.
-void CD3D8Driver::setTextureCreationFlag(E_TEXTURE_CREATION_FLAG flag,
- bool enabled)
-{
- if (flag == video::ETCF_CREATE_MIP_MAPS && !queryFeature(EVDF_MIP_MAP))
- enabled = false;
-
- CNullDriver::setTextureCreationFlag(flag, enabled);
-}
-
-
-//! sets a render target
-bool CD3D8Driver::setRenderTarget(video::ITexture* texture,
- bool clearBackBuffer, bool clearZBuffer, SColor color)
-{
- // check for right driver type
-
- if (texture && texture->getDriverType() != EDT_DIRECT3D8)
- {
- os::Printer::log("Fatal Error: Tried to set a texture not owned by this driver.", ELL_ERROR);
- return false;
- }
-
- // check for valid render target
-
- CD3D8Texture* tex = (CD3D8Texture*)texture;
-
- if (texture && !tex->isRenderTarget())
- {
- os::Printer::log("Fatal Error: Tried to set a non render target texture as render target.", ELL_ERROR);
- return false;
- }
-
- if (texture && (tex->getSize().Width > ScreenSize.Width ||
- tex->getSize().Height > ScreenSize.Height ))
- {
- os::Printer::log("Error: Tried to set a render target texture which is bigger than the screen.", ELL_ERROR);
- return false;
- }
-
- // check if we should set the previous RT back
-
- bool ret = true;
-
- if (tex == 0)
- {
- if (PrevRenderTarget)
- {
- IDirect3DSurface8* dss = 0;
- pID3DDevice->GetDepthStencilSurface(&dss);
-
- if (FAILED(pID3DDevice->SetRenderTarget(PrevRenderTarget, dss)))
- {
- os::Printer::log("Error: Could not set back to previous render target.", ELL_ERROR);
- ret = false;
- }
-
- if (dss)
- dss->Release();
-
- CurrentRendertargetSize = core::dimension2d(0,0);
- PrevRenderTarget->Release();
- PrevRenderTarget = 0;
- }
- }
- else
- {
- // we want to set a new target. so do this.
-
- // store previous target
-
- if (!PrevRenderTarget && (FAILED(pID3DDevice->GetRenderTarget(&PrevRenderTarget))))
- {
- os::Printer::log("Could not get previous render target.", ELL_ERROR);
- return false;
- }
-
- // set new render target
-
- IDirect3DSurface8* dss = 0;
- pID3DDevice->GetDepthStencilSurface(&dss);
-
- if (FAILED(pID3DDevice->SetRenderTarget(tex->getRenderTargetSurface(), dss)))
- {
- os::Printer::log("Error: Could not set render target.", ELL_ERROR);
- ret = false;
- }
-
- if (dss)
- dss->Release();
-
- CurrentRendertargetSize = tex->getSize();
- }
- Transformation3DChanged = true;
-
- if (clearBackBuffer || clearZBuffer)
- {
- DWORD flags = 0;
-
- if (clearBackBuffer)
- flags |= D3DCLEAR_TARGET;
-
- if (clearZBuffer)
- flags |= D3DCLEAR_ZBUFFER;
-
- pID3DDevice->Clear(0, NULL, flags, color.color, 1.0f, 0);
- }
-
- return ret;
-}
-
-
-//! Creates a render target texture.
-ITexture* CD3D8Driver::addRenderTargetTexture(
- const core::dimension2d& size, const io::path& name,
- const ECOLOR_FORMAT format)
-{
- CD3D8Texture* tex = new CD3D8Texture(this, size, name);
- if (tex)
- {
- if (!tex->Texture)
- {
- tex->drop();
- return 0;
- }
- addTexture(tex);
- tex->drop();
- }
- return tex;
-}
-
-
-//! sets a viewport
-void CD3D8Driver::setViewPort(const core::rect& area)
-{
- core::rect vp(area);
- core::rect rendert(0,0, ScreenSize.Width, ScreenSize.Height);
- vp.clipAgainst(rendert);
-
- D3DVIEWPORT8 viewPort;
- viewPort.X = vp.UpperLeftCorner.X;
- viewPort.Y = vp.UpperLeftCorner.Y;
- viewPort.Width = vp.getWidth();
- viewPort.Height = vp.getHeight();
- viewPort.MinZ = 0.0f;
- viewPort.MaxZ = 1.0f;
-
- HRESULT hr = D3DERR_INVALIDCALL;
- if (vp.getHeight()>0 && vp.getWidth()>0)
- hr = pID3DDevice->SetViewport(&viewPort);
-
- if (FAILED(hr))
- os::Printer::log("Failed setting the viewport.", ELL_WARNING);
-
- ViewPort = vp;
-}
-
-
-//! gets the area of the current viewport
-const core::rect& CD3D8Driver::getViewPort() const
-{
- return ViewPort;
-}
-
-
-//! draws a vertex primitive list
-void CD3D8Driver::drawVertexPrimitiveList(const void* vertices,
- u32 vertexCount, const void* indexList, u32 primitiveCount,
- E_VERTEX_TYPE vType, scene::E_PRIMITIVE_TYPE pType,
- E_INDEX_TYPE iType)
-{
- if (!checkPrimitiveCount(primitiveCount))
- return;
-
- CNullDriver::drawVertexPrimitiveList(vertices, vertexCount, indexList, primitiveCount, vType, pType,iType);
-
- if (!vertexCount || !primitiveCount)
- return;
-
- draw2D3DVertexPrimitiveList(vertices, vertexCount, indexList, primitiveCount,
- vType, pType, iType, true);
-}
-
-
-//! draws a vertex primitive list in 2d
-void CD3D8Driver::draw2DVertexPrimitiveList(const void* vertices,
- u32 vertexCount, const void* indexList, u32 primitiveCount,
- E_VERTEX_TYPE vType, scene::E_PRIMITIVE_TYPE pType,
- E_INDEX_TYPE iType)
-{
- if (!checkPrimitiveCount(primitiveCount))
- return;
-
- CNullDriver::draw2DVertexPrimitiveList(vertices, vertexCount, indexList, primitiveCount, vType, pType,iType);
-
- if (!vertexCount || !primitiveCount)
- return;
-
- draw2D3DVertexPrimitiveList(vertices, vertexCount, indexList, primitiveCount,
- vType, pType, iType, false);
-}
-
-
-void CD3D8Driver::draw2D3DVertexPrimitiveList(const void* vertices,
- u32 vertexCount, const void* indexList, u32 primitiveCount,
- E_VERTEX_TYPE vType, scene::E_PRIMITIVE_TYPE pType,
- E_INDEX_TYPE iType, bool is3D)
-{
- setVertexShader(vType);
-
- const u32 stride = getVertexPitchFromType(vType);
-
- D3DFORMAT indexType=D3DFMT_UNKNOWN;
- switch (iType)
- {
- case (EIT_16BIT):
- {
- indexType=D3DFMT_INDEX16;
- break;
- }
- case (EIT_32BIT):
- {
- indexType=D3DFMT_INDEX32;
- break;
- }
- }
-
- if (is3D)
- {
- if (!setRenderStates3DMode())
- return;
- }
- else
- {
- if (Material.MaterialType==EMT_ONETEXTURE_BLEND)
- {
- E_BLEND_FACTOR srcFact;
- E_BLEND_FACTOR dstFact;
- E_MODULATE_FUNC modulo;
- u32 alphaSource;
- unpack_textureBlendFunc ( srcFact, dstFact, modulo, alphaSource, Material.MaterialTypeParam);
- setRenderStates2DMode(alphaSource&video::EAS_VERTEX_COLOR, (Material.getTexture(0) != 0), (alphaSource&video::EAS_TEXTURE) != 0);
- }
- else
- setRenderStates2DMode(Material.MaterialType==EMT_TRANSPARENT_VERTEX_ALPHA, (Material.getTexture(0) != 0), Material.MaterialType==EMT_TRANSPARENT_ALPHA_CHANNEL);
- }
-
- switch (pType)
- {
- case scene::EPT_POINT_SPRITES:
- case scene::EPT_POINTS:
- {
- f32 tmp=Material.Thickness/getScreenSize().Height;
- if (pType==scene::EPT_POINT_SPRITES)
- pID3DDevice->SetRenderState(D3DRS_POINTSPRITEENABLE, TRUE);
- pID3DDevice->SetRenderState(D3DRS_POINTSCALEENABLE, TRUE);
- pID3DDevice->SetRenderState(D3DRS_POINTSIZE, *(DWORD*)(&tmp));
- tmp=1.0f;
- pID3DDevice->SetRenderState(D3DRS_POINTSCALE_A, *(DWORD*)(&tmp));
- pID3DDevice->SetRenderState(D3DRS_POINTSCALE_B, *(DWORD*)(&tmp));
- pID3DDevice->SetRenderState(D3DRS_POINTSIZE_MIN, *(DWORD*)(&tmp));
- tmp=0.0f;
- pID3DDevice->SetRenderState(D3DRS_POINTSCALE_C, *(DWORD*)(&tmp));
- pID3DDevice->DrawIndexedPrimitiveUP(D3DPT_POINTLIST, 0, vertexCount,
- primitiveCount, indexList, indexType, vertices, stride);
- pID3DDevice->SetRenderState(D3DRS_POINTSCALEENABLE, FALSE);
- if (pType==scene::EPT_POINT_SPRITES)
- pID3DDevice->SetRenderState(D3DRS_POINTSPRITEENABLE, FALSE);
- }
- break;
- case scene::EPT_LINE_STRIP:
- pID3DDevice->DrawIndexedPrimitiveUP(D3DPT_LINESTRIP, 0, vertexCount,
- primitiveCount, indexList, indexType, vertices, stride);
- break;
- case scene::EPT_LINE_LOOP:
- {
- pID3DDevice->DrawIndexedPrimitiveUP(D3DPT_LINESTRIP, 0, vertexCount,
- primitiveCount - 1, indexList, indexType, vertices, stride);
- u16 tmpIndices[] = {primitiveCount - 1, 0};
- pID3DDevice->DrawIndexedPrimitiveUP(D3DPT_LINELIST, 0, vertexCount,
- 1, tmpIndices, indexType, vertices, stride);
- }
- break;
- case scene::EPT_LINES:
- pID3DDevice->DrawIndexedPrimitiveUP(D3DPT_LINELIST, 0, vertexCount,
- primitiveCount, indexList, indexType, vertices, stride);
- break;
- case scene::EPT_TRIANGLE_STRIP:
- pID3DDevice->DrawIndexedPrimitiveUP(D3DPT_TRIANGLESTRIP, 0, vertexCount,
- primitiveCount, indexList, indexType, vertices, stride);
- break;
- case scene::EPT_TRIANGLE_FAN:
- pID3DDevice->DrawIndexedPrimitiveUP(D3DPT_TRIANGLEFAN, 0, vertexCount,
- primitiveCount, indexList, indexType, vertices, stride);
- break;
- case scene::EPT_TRIANGLES:
- pID3DDevice->DrawIndexedPrimitiveUP(D3DPT_TRIANGLELIST, 0, vertexCount,
- primitiveCount, indexList, indexType, vertices, stride);
- break;
- }
-}
-
-
-//! draws an 2d image, using a color (if color is other then Color(255,255,255,255)) and the alpha channel of the texture if wanted.
-void CD3D8Driver::draw2DImage(const video::ITexture* texture,
- const core::position2d& pos,
- const core::rect& sourceRect,
- const core::rect* clipRect, SColor color,
- bool useAlphaChannelOfTexture)
-{
- if (!texture)
- return;
-
- if (!sourceRect.isValid())
- return;
-
- if (!setActiveTexture(0, texture))
- return;
-
- core::position2d targetPos = pos;
- core::position2d sourcePos = sourceRect.UpperLeftCorner;
- // This needs to be signed as it may go negative.
- core::dimension2d sourceSize(sourceRect.getSize());
- const core::dimension2d& renderTargetSize = getCurrentRenderTargetSize();
-
- if (clipRect)
- {
- if (targetPos.X < clipRect->UpperLeftCorner.X)
- {
- sourceSize.Width += targetPos.X - clipRect->UpperLeftCorner.X;
- if (sourceSize.Width <= 0)
- return;
-
- sourcePos.X -= targetPos.X - clipRect->UpperLeftCorner.X;
- targetPos.X = clipRect->UpperLeftCorner.X;
- }
-
- if (targetPos.X + (s32)sourceSize.Width > clipRect->LowerRightCorner.X)
- {
- sourceSize.Width -= (targetPos.X + sourceSize.Width) - clipRect->LowerRightCorner.X;
- if (sourceSize.Width <= 0)
- return;
- }
-
- if (targetPos.Y < clipRect->UpperLeftCorner.Y)
- {
- sourceSize.Height += targetPos.Y - clipRect->UpperLeftCorner.Y;
- if (sourceSize.Height <= 0)
- return;
-
- sourcePos.Y -= targetPos.Y - clipRect->UpperLeftCorner.Y;
- targetPos.Y = clipRect->UpperLeftCorner.Y;
- }
-
- if (targetPos.Y + (s32)sourceSize.Height > clipRect->LowerRightCorner.Y)
- {
- sourceSize.Height -= (targetPos.Y + sourceSize.Height) - clipRect->LowerRightCorner.Y;
- if (sourceSize.Height <= 0)
- return;
- }
- }
-
- // clip these coordinates
-
- if (targetPos.X<0)
- {
- sourceSize.Width += targetPos.X;
- if (sourceSize.Width <= 0)
- return;
-
- sourcePos.X -= targetPos.X;
- targetPos.X = 0;
- }
-
- if (targetPos.X + sourceSize.Width > (s32)renderTargetSize.Width)
- {
- sourceSize.Width -= (targetPos.X + sourceSize.Width) - renderTargetSize.Width;
- if (sourceSize.Width <= 0)
- return;
- }
-
- if (targetPos.Y<0)
- {
- sourceSize.Height += targetPos.Y;
- if (sourceSize.Height <= 0)
- return;
-
- sourcePos.Y -= targetPos.Y;
- targetPos.Y = 0;
- }
-
- if (targetPos.Y + sourceSize.Height > (s32)renderTargetSize.Height)
- {
- sourceSize.Height -= (targetPos.Y + sourceSize.Height) - renderTargetSize.Height;
- if (sourceSize.Height <= 0)
- return;
- }
-
- // ok, we've clipped everything.
- // now draw it.
-
- core::rect tcoords;
- tcoords.UpperLeftCorner.X = (f32)sourcePos.X / texture->getOriginalSize().Width ;
- tcoords.UpperLeftCorner.Y = (f32)sourcePos.Y / texture->getOriginalSize().Height;
- tcoords.LowerRightCorner.X = tcoords.UpperLeftCorner.X + (f32)sourceSize.Width / texture->getOriginalSize().Width;
- tcoords.LowerRightCorner.Y = tcoords.UpperLeftCorner.Y + (f32)sourceSize.Height / texture->getOriginalSize().Height;
-
- const core::rect poss(targetPos, sourceSize);
-
- setRenderStates2DMode(color.getAlpha()<255, true, useAlphaChannelOfTexture);
-
- S3DVertex vtx[4];
- vtx[0] = S3DVertex((f32)poss.UpperLeftCorner.X,
- (f32)poss.UpperLeftCorner.Y, 0.0f,
- 0.0f, 0.0f, 0.0f, color,
- tcoords.UpperLeftCorner.X, tcoords.UpperLeftCorner.Y);
- vtx[1] = S3DVertex((f32)poss.LowerRightCorner.X,
- (f32)poss.UpperLeftCorner.Y, 0.0f,
- 0.0f, 0.0f, 0.0f, color,
- tcoords.LowerRightCorner.X, tcoords.UpperLeftCorner.Y);
- vtx[2] = S3DVertex((f32)poss.LowerRightCorner.X,
- (f32)poss.LowerRightCorner.Y, 0.0f,
- 0.0f, 0.0f, 0.0f, color,
- tcoords.LowerRightCorner.X, tcoords.LowerRightCorner.Y);
- vtx[3] = S3DVertex((f32)poss.UpperLeftCorner.X,
- (f32)poss.LowerRightCorner.Y, 0.0f,
- 0.0f, 0.0f, 0.0f, color,
- tcoords.UpperLeftCorner.X, tcoords.LowerRightCorner.Y);
-
- const s16 indices[6] = {0,1,2,0,2,3};
-
- setVertexShader(EVT_STANDARD);
-
- pID3DDevice->DrawIndexedPrimitiveUP(D3DPT_TRIANGLELIST, 0, 4, 2, &indices[0],
- D3DFMT_INDEX16, &vtx[0], sizeof(S3DVertex));
-}
-
-
-void CD3D8Driver::draw2DImage(const video::ITexture* texture,
- const core::rect