aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/others/irrlicht-1.8.1/examples/25.XmlHandling
diff options
context:
space:
mode:
Diffstat (limited to 'src/others/irrlicht-1.8.1/examples/25.XmlHandling')
-rw-r--r--src/others/irrlicht-1.8.1/examples/25.XmlHandling/Makefile66
-rw-r--r--src/others/irrlicht-1.8.1/examples/25.XmlHandling/XmlHandling.cbp55
-rw-r--r--src/others/irrlicht-1.8.1/examples/25.XmlHandling/XmlHandling.vcproj195
-rw-r--r--src/others/irrlicht-1.8.1/examples/25.XmlHandling/XmlHandling_vc10.vcxproj178
-rw-r--r--src/others/irrlicht-1.8.1/examples/25.XmlHandling/XmlHandling_vc11.vcxproj182
-rw-r--r--src/others/irrlicht-1.8.1/examples/25.XmlHandling/XmlHandling_vc8.vcproj190
-rw-r--r--src/others/irrlicht-1.8.1/examples/25.XmlHandling/XmlHandling_vc9.vcproj185
-rw-r--r--src/others/irrlicht-1.8.1/examples/25.XmlHandling/main.cpp505
8 files changed, 1556 insertions, 0 deletions
diff --git a/src/others/irrlicht-1.8.1/examples/25.XmlHandling/Makefile b/src/others/irrlicht-1.8.1/examples/25.XmlHandling/Makefile
new file mode 100644
index 0000000..92f5655
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/25.XmlHandling/Makefile
@@ -0,0 +1,66 @@
1# Makefile for Irrlicht Examples
2# It's usually sufficient to change just the target name and source file list
3# and be sure that CXX is set to a valid compiler
4
5# Name of the executable created (.exe will be added automatically if necessary)
6Target := 25.XmlHandling
7# List of source files, separated by spaces
8Sources := main.cpp
9# Path to Irrlicht directory, should contain include/ and lib/
10IrrlichtHome := ../..
11# Path for the executable. Note that Irrlicht.dll should usually also be there for win32 systems
12BinPath = ../../bin/$(SYSTEM)
13
14# general compiler settings (might need to be set when compiling the lib, too)
15# preprocessor flags, e.g. defines and include paths
16USERCPPFLAGS =
17# compiler flags such as optimization flags
18USERCXXFLAGS = -O3 -ffast-math
19#USERCXXFLAGS = -g -Wall
20# linker flags such as additional libraries and link paths
21USERLDFLAGS =
22
23####
24#no changes necessary below this line
25####
26
27CPPFLAGS = -I$(IrrlichtHome)/include -I/usr/X11R6/include $(USERCPPFLAGS)
28CXXFLAGS = $(USERCXXFLAGS)
29LDFLAGS = $(USERLDFLAGS)
30
31#default target is Linux
32all: all_linux
33
34# target specific settings
35all_linux all_win32 static_win32: LDFLAGS += -L$(IrrlichtHome)/lib/$(SYSTEM) -lIrrlicht
36all_linux: LDFLAGS += -L/usr/X11R6/lib$(LIBSELECT) -lGL -lXxf86vm -lXext -lX11 -lXcursor
37all_linux clean_linux: SYSTEM=Linux
38all_win32 clean_win32 static_win32: SYSTEM=Win32-gcc
39all_win32 clean_win32 static_win32: SUF=.exe
40static_win32: CPPFLAGS += -D_IRR_STATIC_LIB_
41all_win32: LDFLAGS += -lopengl32 -lm
42static_win32: LDFLAGS += -lgdi32 -lwinspool -lcomdlg32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32 -lopengl32
43# name of the binary - only valid for targets which set SYSTEM
44DESTPATH = $(BinPath)/$(Target)$(SUF)
45
46all_linux all_win32 static_win32:
47 $(warning Building...)
48 $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(Sources) -o $(DESTPATH) $(LDFLAGS)
49
50clean: clean_linux clean_win32
51 $(warning Cleaning...)
52
53clean_linux clean_win32:
54 @$(RM) $(DESTPATH)
55
56.PHONY: all all_win32 static_win32 clean clean_linux clean_win32
57
58#multilib handling
59ifeq ($(HOSTTYPE), x86_64)
60LIBSELECT=64
61endif
62#solaris real-time features
63ifeq ($(HOSTTYPE), sun4)
64LDFLAGS += -lrt
65endif
66
diff --git a/src/others/irrlicht-1.8.1/examples/25.XmlHandling/XmlHandling.cbp b/src/others/irrlicht-1.8.1/examples/25.XmlHandling/XmlHandling.cbp
new file mode 100644
index 0000000..3ecf5a2
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/25.XmlHandling/XmlHandling.cbp
@@ -0,0 +1,55 @@
1<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
2<CodeBlocks_project_file>
3 <FileVersion major="1" minor="6" />
4 <Project>
5 <Option title="Irrlicht Example 25 Xml handling" />
6 <Option pch_mode="0" />
7 <Option compiler="gcc" />
8 <Build>
9 <Target title="Linux">
10 <Option platforms="Unix;" />
11 <Option output="..\..\bin\Linux\XmlHandling" prefix_auto="0" extension_auto="0" />
12 <Option type="1" />
13 <Option compiler="gcc" />
14 <Compiler>
15 <Add option="-g" />
16 <Add option="-D_IRR_STATIC_LIB_" />
17 </Compiler>
18 <Linker>
19 <Add library="Xxf86vm" />
20 <Add library="Xcursor" />
21 <Add library="GL" />
22 <Add directory="..\..\lib\Linux" />
23 </Linker>
24 </Target>
25 <Target title="Windows">
26 <Option platforms="Windows;" />
27 <Option output="..\..\bin\Win32-gcc\XmlHandling" prefix_auto="0" extension_auto="1" />
28 <Option type="1" />
29 <Option compiler="gcc" />
30 <Compiler>
31 <Add option="-g" />
32 </Compiler>
33 <Linker>
34 <Add directory="..\..\lib\Win32-gcc" />
35 </Linker>
36 </Target>
37 </Build>
38 <VirtualTargets>
39 <Add alias="All" targets="Windows;Linux;" />
40 </VirtualTargets>
41 <Compiler>
42 <Add option="-g" />
43 <Add directory="..\..\include" />
44 </Compiler>
45 <Linker>
46 <Add library="Irrlicht" />
47 </Linker>
48 <Unit filename="main.cpp" />
49 <Extensions>
50 <code_completion />
51 <debugger />
52 <envvars />
53 </Extensions>
54 </Project>
55</CodeBlocks_project_file>
diff --git a/src/others/irrlicht-1.8.1/examples/25.XmlHandling/XmlHandling.vcproj b/src/others/irrlicht-1.8.1/examples/25.XmlHandling/XmlHandling.vcproj
new file mode 100644
index 0000000..152a415
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/25.XmlHandling/XmlHandling.vcproj
@@ -0,0 +1,195 @@
1<?xml version="1.0" encoding="Windows-1252"?>
2<VisualStudioProject
3 ProjectType="Visual C++"
4 Version="9,00"
5 Name="25.XmlHandling"
6 ProjectGUID="{8FDA260E-EF27-4f8c-8720-7AF707DD0D9E}"
7 Keyword="Win32Proj"
8 TargetFrameworkVersion="131072"
9 >
10 <Platforms>
11 <Platform
12 Name="Win32"
13 />
14 </Platforms>
15 <ToolFiles>
16 </ToolFiles>
17 <Configurations>
18 <Configuration
19 Name="Debug|Win32"
20 OutputDirectory="Debug"
21 IntermediateDirectory="Debug"
22 ConfigurationType="1"
23 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
24 CharacterSet="2"
25 >
26 <Tool
27 Name="VCPreBuildEventTool"
28 />
29 <Tool
30 Name="VCCustomBuildTool"
31 />
32 <Tool
33 Name="VCXMLDataGeneratorTool"
34 />
35 <Tool
36 Name="VCWebServiceProxyGeneratorTool"
37 />
38 <Tool
39 Name="VCMIDLTool"
40 />
41 <Tool
42 Name="VCCLCompilerTool"
43 Optimization="0"
44 AdditionalIncludeDirectories="..\..\include"
45 PreprocessorDefinitions="_IRR_STATIC_LIB_;WIN32;_DEBUG;_WINDOWS"
46 MinimalRebuild="true"
47 BasicRuntimeChecks="3"
48 RuntimeLibrary="1"
49 UsePrecompiledHeader="0"
50 WarningLevel="3"
51 Detect64BitPortabilityProblems="true"
52 DebugInformationFormat="4"
53 />
54 <Tool
55 Name="VCManagedResourceCompilerTool"
56 />
57 <Tool
58 Name="VCResourceCompilerTool"
59 />
60 <Tool
61 Name="VCPreLinkEventTool"
62 />
63 <Tool
64 Name="VCLinkerTool"
65 OutputFile="..\..\bin\Win32-VisualStudio\25.XmlHandling.exe"
66 LinkIncremental="1"
67 AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
68 GenerateDebugInformation="true"
69 ProgramDatabaseFile="$(OutDir)/XmlHandling.pdb"
70 SubSystem="1"
71 RandomizedBaseAddress="1"
72 DataExecutionPrevention="0"
73 TargetMachine="1"
74 />
75 <Tool
76 Name="VCALinkTool"
77 />
78 <Tool
79 Name="VCManifestTool"
80 />
81 <Tool
82 Name="VCXDCMakeTool"
83 />
84 <Tool
85 Name="VCBscMakeTool"
86 />
87 <Tool
88 Name="VCFxCopTool"
89 />
90 <Tool
91 Name="VCAppVerifierTool"
92 />
93 <Tool
94 Name="VCPostBuildEventTool"
95 />
96 </Configuration>
97 <Configuration
98 Name="Release|Win32"
99 OutputDirectory="Release"
100 IntermediateDirectory="Release"
101 ConfigurationType="1"
102 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
103 CharacterSet="2"
104 WholeProgramOptimization="1"
105 >
106 <Tool
107 Name="VCPreBuildEventTool"
108 />
109 <Tool
110 Name="VCCustomBuildTool"
111 />
112 <Tool
113 Name="VCXMLDataGeneratorTool"
114 />
115 <Tool
116 Name="VCWebServiceProxyGeneratorTool"
117 />
118 <Tool
119 Name="VCMIDLTool"
120 />
121 <Tool
122 Name="VCCLCompilerTool"
123 AdditionalOptions="/QIfist /Oa"
124 Optimization="3"
125 InlineFunctionExpansion="2"
126 EnableIntrinsicFunctions="true"
127 FavorSizeOrSpeed="1"
128 OmitFramePointers="true"
129 AdditionalIncludeDirectories="..\..\include"
130 PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
131 RuntimeLibrary="0"
132 BufferSecurityCheck="false"
133 UsePrecompiledHeader="0"
134 WarningLevel="3"
135 Detect64BitPortabilityProblems="true"
136 DebugInformationFormat="0"
137 CallingConvention="1"
138 />
139 <Tool
140 Name="VCManagedResourceCompilerTool"
141 />
142 <Tool
143 Name="VCResourceCompilerTool"
144 />
145 <Tool
146 Name="VCPreLinkEventTool"
147 />
148 <Tool
149 Name="VCLinkerTool"
150 OutputFile="..\..\bin\Win32-VisualStudio\25.XmlHandling.exe"
151 LinkIncremental="1"
152 SuppressStartupBanner="true"
153 AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
154 GenerateDebugInformation="false"
155 SubSystem="1"
156 OptimizeReferences="2"
157 EnableCOMDATFolding="2"
158 RandomizedBaseAddress="1"
159 DataExecutionPrevention="0"
160 TargetMachine="1"
161 />
162 <Tool
163 Name="VCALinkTool"
164 />
165 <Tool
166 Name="VCManifestTool"
167 />
168 <Tool
169 Name="VCXDCMakeTool"
170 />
171 <Tool
172 Name="VCBscMakeTool"
173 />
174 <Tool
175 Name="VCFxCopTool"
176 />
177 <Tool
178 Name="VCAppVerifierTool"
179 />
180 <Tool
181 Name="VCPostBuildEventTool"
182 />
183 </Configuration>
184 </Configurations>
185 <References>
186 </References>
187 <Files>
188 <File
189 RelativePath=".\main.cpp"
190 >
191 </File>
192 </Files>
193 <Globals>
194 </Globals>
195</VisualStudioProject>
diff --git a/src/others/irrlicht-1.8.1/examples/25.XmlHandling/XmlHandling_vc10.vcxproj b/src/others/irrlicht-1.8.1/examples/25.XmlHandling/XmlHandling_vc10.vcxproj
new file mode 100644
index 0000000..2f550a1
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/25.XmlHandling/XmlHandling_vc10.vcxproj
@@ -0,0 +1,178 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup Label="ProjectConfigurations">
4 <ProjectConfiguration Include="Debug|Win32">
5 <Configuration>Debug</Configuration>
6 <Platform>Win32</Platform>
7 </ProjectConfiguration>
8 <ProjectConfiguration Include="Debug|x64">
9 <Configuration>Debug</Configuration>
10 <Platform>x64</Platform>
11 </ProjectConfiguration>
12 <ProjectConfiguration Include="Release|Win32">
13 <Configuration>Release</Configuration>
14 <Platform>Win32</Platform>
15 </ProjectConfiguration>
16 <ProjectConfiguration Include="Release|x64">
17 <Configuration>Release</Configuration>
18 <Platform>x64</Platform>
19 </ProjectConfiguration>
20 </ItemGroup>
21 <PropertyGroup Label="Globals">
22 <ProjectName>25.XmlHandling</ProjectName>
23 <ProjectGuid>{8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}</ProjectGuid>
24 <RootNamespace>25.XmlHandling</RootNamespace>
25 <Keyword>Win32Proj</Keyword>
26 </PropertyGroup>
27 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
28 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
29 <ConfigurationType>Application</ConfigurationType>
30 <CharacterSet>MultiByte</CharacterSet>
31 </PropertyGroup>
32 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
33 <ConfigurationType>Application</ConfigurationType>
34 <CharacterSet>MultiByte</CharacterSet>
35 </PropertyGroup>
36 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
37 <ConfigurationType>Application</ConfigurationType>
38 <CharacterSet>MultiByte</CharacterSet>
39 </PropertyGroup>
40 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
41 <ConfigurationType>Application</ConfigurationType>
42 <CharacterSet>MultiByte</CharacterSet>
43 </PropertyGroup>
44 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
45 <ImportGroup Label="ExtensionSettings">
46 </ImportGroup>
47 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
48 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
49 <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
50 </ImportGroup>
51 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
52 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
53 <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
54 </ImportGroup>
55 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
56 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
57 <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
58 </ImportGroup>
59 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
60 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
61 <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
62 </ImportGroup>
63 <PropertyGroup Label="UserMacros" />
64 <PropertyGroup>
65 <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
66 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
67 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
68 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
69 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
70 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
71 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
72 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
73 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
74 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
75 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
76 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
77 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
78 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
79 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
80 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
81 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
82 </PropertyGroup>
83 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
84 <ClCompile>
85 <Optimization>Disabled</Optimization>
86 <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
87 <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
88 <MinimalRebuild>true</MinimalRebuild>
89 <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
90 <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
91 <PrecompiledHeader>
92 </PrecompiledHeader>
93 <WarningLevel>Level3</WarningLevel>
94 <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
95 </ClCompile>
96 <Link>
97 <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
98 <GenerateDebugInformation>true</GenerateDebugInformation>
99 <SubSystem>Console</SubSystem>
100 <DataExecutionPrevention>
101 </DataExecutionPrevention>
102 </Link>
103 </ItemDefinitionGroup>
104 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
105 <ClCompile>
106 <Optimization>Disabled</Optimization>
107 <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
108 <PreprocessorDefinitions>WIN32;WIN64;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
109 <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
110 <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
111 <PrecompiledHeader>
112 </PrecompiledHeader>
113 <WarningLevel>Level3</WarningLevel>
114 <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
115 </ClCompile>
116 <Link>
117 <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
118 <GenerateDebugInformation>true</GenerateDebugInformation>
119 <SubSystem>Console</SubSystem>
120 <DataExecutionPrevention>
121 </DataExecutionPrevention>
122 </Link>
123 </ItemDefinitionGroup>
124 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
125 <ClCompile>
126 <IntrinsicFunctions>true</IntrinsicFunctions>
127 <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
128 <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
129 <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
130 <ExceptionHandling>false</ExceptionHandling>
131 <PrecompiledHeader>
132 </PrecompiledHeader>
133 <WarningLevel>Level3</WarningLevel>
134 <DebugInformationFormat>
135 </DebugInformationFormat>
136 <CallingConvention>Cdecl</CallingConvention>
137 </ClCompile>
138 <Link>
139 <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
140 <GenerateDebugInformation>false</GenerateDebugInformation>
141 <SubSystem>Console</SubSystem>
142 <OptimizeReferences>true</OptimizeReferences>
143 <EnableCOMDATFolding>true</EnableCOMDATFolding>
144 <DataExecutionPrevention>
145 </DataExecutionPrevention>
146 </Link>
147 </ItemDefinitionGroup>
148 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
149 <ClCompile>
150 <IntrinsicFunctions>true</IntrinsicFunctions>
151 <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
152 <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
153 <PreprocessorDefinitions>WIN32;WIN64;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
154 <ExceptionHandling>false</ExceptionHandling>
155 <PrecompiledHeader>
156 </PrecompiledHeader>
157 <WarningLevel>Level3</WarningLevel>
158 <DebugInformationFormat>
159 </DebugInformationFormat>
160 <CallingConvention>Cdecl</CallingConvention>
161 </ClCompile>
162 <Link>
163 <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
164 <GenerateDebugInformation>false</GenerateDebugInformation>
165 <SubSystem>Console</SubSystem>
166 <OptimizeReferences>true</OptimizeReferences>
167 <EnableCOMDATFolding>true</EnableCOMDATFolding>
168 <DataExecutionPrevention>
169 </DataExecutionPrevention>
170 </Link>
171 </ItemDefinitionGroup>
172 <ItemGroup>
173 <ClCompile Include="main.cpp" />
174 </ItemGroup>
175 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
176 <ImportGroup Label="ExtensionTargets">
177 </ImportGroup>
178</Project> \ No newline at end of file
diff --git a/src/others/irrlicht-1.8.1/examples/25.XmlHandling/XmlHandling_vc11.vcxproj b/src/others/irrlicht-1.8.1/examples/25.XmlHandling/XmlHandling_vc11.vcxproj
new file mode 100644
index 0000000..b150b95
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/25.XmlHandling/XmlHandling_vc11.vcxproj
@@ -0,0 +1,182 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup Label="ProjectConfigurations">
4 <ProjectConfiguration Include="Debug|Win32">
5 <Configuration>Debug</Configuration>
6 <Platform>Win32</Platform>
7 </ProjectConfiguration>
8 <ProjectConfiguration Include="Debug|x64">
9 <Configuration>Debug</Configuration>
10 <Platform>x64</Platform>
11 </ProjectConfiguration>
12 <ProjectConfiguration Include="Release|Win32">
13 <Configuration>Release</Configuration>
14 <Platform>Win32</Platform>
15 </ProjectConfiguration>
16 <ProjectConfiguration Include="Release|x64">
17 <Configuration>Release</Configuration>
18 <Platform>x64</Platform>
19 </ProjectConfiguration>
20 </ItemGroup>
21 <PropertyGroup Label="Globals">
22 <ProjectName>25.XmlHandling</ProjectName>
23 <ProjectGuid>{8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}</ProjectGuid>
24 <RootNamespace>25.XmlHandling</RootNamespace>
25 <Keyword>Win32Proj</Keyword>
26 </PropertyGroup>
27 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
28 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
29 <ConfigurationType>Application</ConfigurationType>
30 <CharacterSet>MultiByte</CharacterSet>
31 <PlatformToolset>v110</PlatformToolset>
32 </PropertyGroup>
33 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
34 <ConfigurationType>Application</ConfigurationType>
35 <CharacterSet>MultiByte</CharacterSet>
36 <PlatformToolset>v110</PlatformToolset>
37 </PropertyGroup>
38 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
39 <ConfigurationType>Application</ConfigurationType>
40 <CharacterSet>MultiByte</CharacterSet>
41 <PlatformToolset>v110</PlatformToolset>
42 </PropertyGroup>
43 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
44 <ConfigurationType>Application</ConfigurationType>
45 <CharacterSet>MultiByte</CharacterSet>
46 <PlatformToolset>v110</PlatformToolset>
47 </PropertyGroup>
48 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
49 <ImportGroup Label="ExtensionSettings">
50 </ImportGroup>
51 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
52 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
53 <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
54 </ImportGroup>
55 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
56 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
57 <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
58 </ImportGroup>
59 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
60 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
61 <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
62 </ImportGroup>
63 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
64 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
65 <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
66 </ImportGroup>
67 <PropertyGroup Label="UserMacros" />
68 <PropertyGroup>
69 <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
70 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
71 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
72 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
73 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
74 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
75 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
76 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
77 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
78 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
79 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
80 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
81 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
82 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
83 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
84 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
85 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
86 </PropertyGroup>
87 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
88 <ClCompile>
89 <Optimization>Disabled</Optimization>
90 <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
91 <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
92 <MinimalRebuild>true</MinimalRebuild>
93 <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
94 <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
95 <PrecompiledHeader>
96 </PrecompiledHeader>
97 <WarningLevel>Level3</WarningLevel>
98 <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
99 </ClCompile>
100 <Link>
101 <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
102 <GenerateDebugInformation>true</GenerateDebugInformation>
103 <SubSystem>Console</SubSystem>
104 <DataExecutionPrevention>
105 </DataExecutionPrevention>
106 </Link>
107 </ItemDefinitionGroup>
108 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
109 <ClCompile>
110 <Optimization>Disabled</Optimization>
111 <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
112 <PreprocessorDefinitions>WIN32;WIN64;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
113 <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
114 <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
115 <PrecompiledHeader>
116 </PrecompiledHeader>
117 <WarningLevel>Level3</WarningLevel>
118 <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
119 </ClCompile>
120 <Link>
121 <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
122 <GenerateDebugInformation>true</GenerateDebugInformation>
123 <SubSystem>Console</SubSystem>
124 <DataExecutionPrevention>
125 </DataExecutionPrevention>
126 </Link>
127 </ItemDefinitionGroup>
128 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
129 <ClCompile>
130 <IntrinsicFunctions>true</IntrinsicFunctions>
131 <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
132 <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
133 <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
134 <ExceptionHandling>false</ExceptionHandling>
135 <PrecompiledHeader>
136 </PrecompiledHeader>
137 <WarningLevel>Level3</WarningLevel>
138 <DebugInformationFormat>
139 </DebugInformationFormat>
140 <CallingConvention>Cdecl</CallingConvention>
141 </ClCompile>
142 <Link>
143 <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
144 <GenerateDebugInformation>false</GenerateDebugInformation>
145 <SubSystem>Console</SubSystem>
146 <OptimizeReferences>true</OptimizeReferences>
147 <EnableCOMDATFolding>true</EnableCOMDATFolding>
148 <DataExecutionPrevention>
149 </DataExecutionPrevention>
150 </Link>
151 </ItemDefinitionGroup>
152 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
153 <ClCompile>
154 <IntrinsicFunctions>true</IntrinsicFunctions>
155 <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
156 <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
157 <PreprocessorDefinitions>WIN32;WIN64;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
158 <ExceptionHandling>false</ExceptionHandling>
159 <PrecompiledHeader>
160 </PrecompiledHeader>
161 <WarningLevel>Level3</WarningLevel>
162 <DebugInformationFormat>
163 </DebugInformationFormat>
164 <CallingConvention>Cdecl</CallingConvention>
165 </ClCompile>
166 <Link>
167 <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
168 <GenerateDebugInformation>false</GenerateDebugInformation>
169 <SubSystem>Console</SubSystem>
170 <OptimizeReferences>true</OptimizeReferences>
171 <EnableCOMDATFolding>true</EnableCOMDATFolding>
172 <DataExecutionPrevention>
173 </DataExecutionPrevention>
174 </Link>
175 </ItemDefinitionGroup>
176 <ItemGroup>
177 <ClCompile Include="main.cpp" />
178 </ItemGroup>
179 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
180 <ImportGroup Label="ExtensionTargets">
181 </ImportGroup>
182</Project> \ No newline at end of file
diff --git a/src/others/irrlicht-1.8.1/examples/25.XmlHandling/XmlHandling_vc8.vcproj b/src/others/irrlicht-1.8.1/examples/25.XmlHandling/XmlHandling_vc8.vcproj
new file mode 100644
index 0000000..0831ba9
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/25.XmlHandling/XmlHandling_vc8.vcproj
@@ -0,0 +1,190 @@
1<?xml version="1.0" encoding="Windows-1252"?>
2<VisualStudioProject
3 ProjectType="Visual C++"
4 Version="8,00"
5 Name="25.XmlHandling_vc8"
6 ProjectGUID="{8FDA260E-EF27-4f8c-8720-7AF707DD0D9E}"
7 Keyword="Win32Proj"
8 >
9 <Platforms>
10 <Platform
11 Name="Win32"
12 />
13 </Platforms>
14 <ToolFiles>
15 </ToolFiles>
16 <Configurations>
17 <Configuration
18 Name="Debug|Win32"
19 OutputDirectory="Debug"
20 IntermediateDirectory="Debug"
21 ConfigurationType="1"
22 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
23 CharacterSet="2"
24 >
25 <Tool
26 Name="VCPreBuildEventTool"
27 />
28 <Tool
29 Name="VCCustomBuildTool"
30 />
31 <Tool
32 Name="VCXMLDataGeneratorTool"
33 />
34 <Tool
35 Name="VCWebServiceProxyGeneratorTool"
36 />
37 <Tool
38 Name="VCMIDLTool"
39 />
40 <Tool
41 Name="VCCLCompilerTool"
42 Optimization="0"
43 AdditionalIncludeDirectories="..\..\include"
44 PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
45 MinimalRebuild="true"
46 BasicRuntimeChecks="3"
47 RuntimeLibrary="1"
48 UsePrecompiledHeader="0"
49 WarningLevel="3"
50 Detect64BitPortabilityProblems="true"
51 DebugInformationFormat="4"
52 />
53 <Tool
54 Name="VCManagedResourceCompilerTool"
55 />
56 <Tool
57 Name="VCResourceCompilerTool"
58 />
59 <Tool
60 Name="VCPreLinkEventTool"
61 />
62 <Tool
63 Name="VCLinkerTool"
64 OutputFile="..\..\bin\Win32-VisualStudio\25.XmlHandling.exe"
65 LinkIncremental="2"
66 AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
67 GenerateDebugInformation="true"
68 ProgramDatabaseFile="$(OutDir)/XmlHandling.pdb"
69 SubSystem="1"
70 TargetMachine="1"
71 />
72 <Tool
73 Name="VCALinkTool"
74 />
75 <Tool
76 Name="VCManifestTool"
77 />
78 <Tool
79 Name="VCXDCMakeTool"
80 />
81 <Tool
82 Name="VCBscMakeTool"
83 />
84 <Tool
85 Name="VCFxCopTool"
86 />
87 <Tool
88 Name="VCAppVerifierTool"
89 />
90 <Tool
91 Name="VCWebDeploymentTool"
92 />
93 <Tool
94 Name="VCPostBuildEventTool"
95 />
96 </Configuration>
97 <Configuration
98 Name="Release|Win32"
99 OutputDirectory="Release"
100 IntermediateDirectory="Release"
101 ConfigurationType="1"
102 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
103 CharacterSet="2"
104 >
105 <Tool
106 Name="VCPreBuildEventTool"
107 />
108 <Tool
109 Name="VCCustomBuildTool"
110 />
111 <Tool
112 Name="VCXMLDataGeneratorTool"
113 />
114 <Tool
115 Name="VCWebServiceProxyGeneratorTool"
116 />
117 <Tool
118 Name="VCMIDLTool"
119 />
120 <Tool
121 Name="VCCLCompilerTool"
122 EnableIntrinsicFunctions="true"
123 FavorSizeOrSpeed="1"
124 AdditionalIncludeDirectories="..\..\include"
125 PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
126 RuntimeLibrary="0"
127 BufferSecurityCheck="false"
128 UsePrecompiledHeader="0"
129 WarningLevel="3"
130 Detect64BitPortabilityProblems="true"
131 DebugInformationFormat="0"
132 CallingConvention="1"
133 />
134 <Tool
135 Name="VCManagedResourceCompilerTool"
136 />
137 <Tool
138 Name="VCResourceCompilerTool"
139 />
140 <Tool
141 Name="VCPreLinkEventTool"
142 />
143 <Tool
144 Name="VCLinkerTool"
145 OutputFile="..\..\bin\Win32-VisualStudio\25.XmlHandling.exe"
146 LinkIncremental="1"
147 AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
148 GenerateDebugInformation="false"
149 SubSystem="1"
150 OptimizeReferences="2"
151 EnableCOMDATFolding="2"
152 TargetMachine="1"
153 />
154 <Tool
155 Name="VCALinkTool"
156 />
157 <Tool
158 Name="VCManifestTool"
159 />
160 <Tool
161 Name="VCXDCMakeTool"
162 />
163 <Tool
164 Name="VCBscMakeTool"
165 />
166 <Tool
167 Name="VCFxCopTool"
168 />
169 <Tool
170 Name="VCAppVerifierTool"
171 />
172 <Tool
173 Name="VCWebDeploymentTool"
174 />
175 <Tool
176 Name="VCPostBuildEventTool"
177 />
178 </Configuration>
179 </Configurations>
180 <References>
181 </References>
182 <Files>
183 <File
184 RelativePath=".\main.cpp"
185 >
186 </File>
187 </Files>
188 <Globals>
189 </Globals>
190</VisualStudioProject>
diff --git a/src/others/irrlicht-1.8.1/examples/25.XmlHandling/XmlHandling_vc9.vcproj b/src/others/irrlicht-1.8.1/examples/25.XmlHandling/XmlHandling_vc9.vcproj
new file mode 100644
index 0000000..79a1048
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/25.XmlHandling/XmlHandling_vc9.vcproj
@@ -0,0 +1,185 @@
1<?xml version="1.0" encoding="Windows-1252"?>
2<VisualStudioProject
3 ProjectType="Visual C++"
4 Version="9,00"
5 Name="25.XmlHandling_vc9"
6 ProjectGUID="{8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}"
7 RootNamespace="25.XmlHandling_vc9"
8 Keyword="Win32Proj"
9 TargetFrameworkVersion="131072"
10 >
11 <Platforms>
12 <Platform
13 Name="Win32"
14 />
15 </Platforms>
16 <ToolFiles>
17 </ToolFiles>
18 <Configurations>
19 <Configuration
20 Name="Debug|Win32"
21 OutputDirectory="Debug"
22 IntermediateDirectory="Debug"
23 ConfigurationType="1"
24 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
25 CharacterSet="2"
26 >
27 <Tool
28 Name="VCPreBuildEventTool"
29 />
30 <Tool
31 Name="VCCustomBuildTool"
32 />
33 <Tool
34 Name="VCXMLDataGeneratorTool"
35 />
36 <Tool
37 Name="VCWebServiceProxyGeneratorTool"
38 />
39 <Tool
40 Name="VCMIDLTool"
41 />
42 <Tool
43 Name="VCCLCompilerTool"
44 Optimization="0"
45 AdditionalIncludeDirectories="..\..\include"
46 PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
47 MinimalRebuild="true"
48 BasicRuntimeChecks="3"
49 RuntimeLibrary="1"
50 UsePrecompiledHeader="0"
51 WarningLevel="3"
52 DebugInformationFormat="4"
53 />
54 <Tool
55 Name="VCManagedResourceCompilerTool"
56 />
57 <Tool
58 Name="VCResourceCompilerTool"
59 />
60 <Tool
61 Name="VCPreLinkEventTool"
62 />
63 <Tool
64 Name="VCLinkerTool"
65 OutputFile="..\..\bin\Win32-VisualStudio\25.XmlHandling.exe"
66 AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
67 GenerateDebugInformation="true"
68 ProgramDatabaseFile="$(OutDir)/XmlHandling.pdb"
69 SubSystem="1"
70 RandomizedBaseAddress="1"
71 DataExecutionPrevention="0"
72 TargetMachine="1"
73 />
74 <Tool
75 Name="VCALinkTool"
76 />
77 <Tool
78 Name="VCManifestTool"
79 />
80 <Tool
81 Name="VCXDCMakeTool"
82 />
83 <Tool
84 Name="VCBscMakeTool"
85 />
86 <Tool
87 Name="VCFxCopTool"
88 />
89 <Tool
90 Name="VCAppVerifierTool"
91 />
92 <Tool
93 Name="VCPostBuildEventTool"
94 />
95 </Configuration>
96 <Configuration
97 Name="Release|Win32"
98 OutputDirectory="Release"
99 IntermediateDirectory="Release"
100 ConfigurationType="1"
101 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
102 CharacterSet="2"
103 >
104 <Tool
105 Name="VCPreBuildEventTool"
106 />
107 <Tool
108 Name="VCCustomBuildTool"
109 />
110 <Tool
111 Name="VCXMLDataGeneratorTool"
112 />
113 <Tool
114 Name="VCWebServiceProxyGeneratorTool"
115 />
116 <Tool
117 Name="VCMIDLTool"
118 />
119 <Tool
120 Name="VCCLCompilerTool"
121 EnableIntrinsicFunctions="true"
122 FavorSizeOrSpeed="1"
123 AdditionalIncludeDirectories="..\..\include"
124 PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
125 ExceptionHandling="1"
126 UsePrecompiledHeader="0"
127 WarningLevel="3"
128 DebugInformationFormat="0"
129 CallingConvention="0"
130 />
131 <Tool
132 Name="VCManagedResourceCompilerTool"
133 />
134 <Tool
135 Name="VCResourceCompilerTool"
136 />
137 <Tool
138 Name="VCPreLinkEventTool"
139 />
140 <Tool
141 Name="VCLinkerTool"
142 OutputFile="..\..\bin\Win32-VisualStudio\25.XmlHandling.exe"
143 AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
144 GenerateDebugInformation="false"
145 SubSystem="1"
146 OptimizeReferences="2"
147 EnableCOMDATFolding="2"
148 RandomizedBaseAddress="1"
149 DataExecutionPrevention="0"
150 TargetMachine="1"
151 />
152 <Tool
153 Name="VCALinkTool"
154 />
155 <Tool
156 Name="VCManifestTool"
157 />
158 <Tool
159 Name="VCXDCMakeTool"
160 />
161 <Tool
162 Name="VCBscMakeTool"
163 />
164 <Tool
165 Name="VCFxCopTool"
166 />
167 <Tool
168 Name="VCAppVerifierTool"
169 />
170 <Tool
171 Name="VCPostBuildEventTool"
172 />
173 </Configuration>
174 </Configurations>
175 <References>
176 </References>
177 <Files>
178 <File
179 RelativePath=".\main.cpp"
180 >
181 </File>
182 </Files>
183 <Globals>
184 </Globals>
185</VisualStudioProject>
diff --git a/src/others/irrlicht-1.8.1/examples/25.XmlHandling/main.cpp b/src/others/irrlicht-1.8.1/examples/25.XmlHandling/main.cpp
new file mode 100644
index 0000000..3eb261d
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/25.XmlHandling/main.cpp
@@ -0,0 +1,505 @@
1/** Example 025 Xml Handling
2
3Demonstrates loading and saving of configurations via XML
4
5@author Y.M. Bosman \<yoran.bosman@gmail.com\>
6
7This demo features a fully usable system for configuration handling. The code
8can easily be integrated into own apps.
9
10*/
11
12#include <irrlicht.h>
13
14using namespace irr;
15using namespace core;
16using namespace scene;
17using namespace video;
18using namespace io;
19using namespace gui;
20
21#ifdef _IRR_WINDOWS_
22#pragma comment(lib, "Irrlicht.lib")
23#endif
24
25
26/* SettingManager class.
27
28This class loads and writes the settings and manages the options.
29
30The class makes use of irrMap which is a an associative arrays using a
31red-black tree it allows easy mapping of a key to a value, along the way there
32is some information on how to use it.
33*/
34
35class SettingManager
36{
37public:
38
39 // Construct setting managers and set default settings
40 SettingManager(const stringw& settings_file): SettingsFile(settings_file), NullDevice(0)
41 {
42 // Irrlicht null device, we want to load settings before we actually created our device, therefore, nulldevice
43 NullDevice = irr::createDevice(irr::video::EDT_NULL);
44
45 //DriverOptions is an irrlicht map,
46 //we can insert values in the map in two ways by calling insert(key,value) or by using the [key] operator
47 //the [] operator overrides values if they already exist
48 DriverOptions.insert(L"Software", EDT_SOFTWARE);
49 DriverOptions.insert(L"OpenGL", EDT_OPENGL);
50 DriverOptions.insert(L"Direct3D9", EDT_DIRECT3D9);
51
52 //some resolution options
53 ResolutionOptions.insert(L"640x480", dimension2du(640,480));
54 ResolutionOptions.insert(L"800x600", dimension2du(800,600));
55 ResolutionOptions.insert(L"1024x768", dimension2du(1024,768));
56
57 //our preferred defaults
58 SettingMap.insert(L"driver", L"Direct3D9");
59 SettingMap.insert(L"resolution", L"640x480");
60 SettingMap.insert(L"fullscreen", L"0"); //0 is false
61 }
62
63 // Destructor, you could store settings automatically on exit of your
64 // application if you wanted to in our case we simply drop the
65 // nulldevice
66 ~SettingManager()
67 {
68 if (NullDevice)
69 {
70 NullDevice->closeDevice();
71 NullDevice->drop();
72 }
73 };
74
75 /*
76 Load xml from disk, overwrite default settings
77 The xml we are trying to load has the following structure
78 settings nested in sections nested in the root node, like so
79 <pre>
80 <?xml version="1.0"?>
81 <mygame>
82 <video>
83 <setting name="driver" value="Direct3D9" />
84 <setting name="fullscreen" value="0" />
85 <setting name="resolution" value="1024x768" />
86 </video>
87 </mygame>
88 </pre>
89 */
90 bool load()
91 {
92 //if not able to create device don't attempt to load
93 if (!NullDevice)
94 return false;
95
96 irr::io::IXMLReader* xml = NullDevice->getFileSystem()->createXMLReader(SettingsFile); //create xml reader
97 if (!xml)
98 return false;
99
100 const stringw settingTag(L"setting"); //we'll be looking for this tag in the xml
101 stringw currentSection; //keep track of our current section
102 const stringw videoTag(L"video"); //constant for videotag
103
104 //while there is more to read
105 while (xml->read())
106 {
107 //check the node type
108 switch (xml->getNodeType())
109 {
110 //we found a new element
111 case irr::io::EXN_ELEMENT:
112 {
113 //we currently are in the empty or mygame section and find the video tag so we set our current section to video
114 if (currentSection.empty() && videoTag.equals_ignore_case(xml->getNodeName()))
115 {
116 currentSection = videoTag;
117 }
118 //we are in the video section and we find a setting to parse
119 else if (currentSection.equals_ignore_case(videoTag) && settingTag.equals_ignore_case(xml->getNodeName() ))
120 {
121 //read in the key
122 stringw key = xml->getAttributeValueSafe(L"name");
123 //if there actually is a key to set
124 if (!key.empty())
125 {
126 //set the setting in the map to the value,
127 //the [] operator overrides values if they already exist or inserts a new key value
128 //pair into the settings map if it was not defined yet
129 SettingMap[key] = xml->getAttributeValueSafe(L"value");
130 }
131 }
132
133 //..
134 // You can add your own sections and tags to read in here
135 //..
136 }
137 break;
138
139 //we found the end of an element
140 case irr::io::EXN_ELEMENT_END:
141 //we were at the end of the video section so we reset our tag
142 currentSection=L"";
143 break;
144 }
145 }
146
147 // don't forget to delete the xml reader
148 xml->drop();
149
150 return true;
151 }
152
153 // Save the xml to disk. We use the nulldevice.
154 bool save()
155 {
156
157 //if not able to create device don't attempt to save
158 if (!NullDevice)
159 return false;
160
161 //create xml writer
162 irr::io::IXMLWriter* xwriter = NullDevice->getFileSystem()->createXMLWriter( SettingsFile );
163 if (!xwriter)
164 return false;
165
166 //write out the obligatory xml header. Each xml-file needs to have exactly one of those.
167 xwriter->writeXMLHeader();
168
169 //start element mygame, you replace the label "mygame" with anything you want
170 xwriter->writeElement(L"mygame");
171 xwriter->writeLineBreak(); //new line
172
173 //start section with video settings
174 xwriter->writeElement(L"video");
175 xwriter->writeLineBreak(); //new line
176
177 // getIterator gets us a pointer to the first node of the settings map
178 // every iteration we increase the iterator which gives us the next map node
179 // until we reach the end we write settings one by one by using the nodes key and value functions
180 map<stringw, stringw>::Iterator i = SettingMap.getIterator();
181 for(; !i.atEnd(); i++)
182 {
183 //write element as <setting name="key" value="x" />
184 //the second parameter indicates this is an empty element with no children, just attributes
185 xwriter->writeElement(L"setting",true, L"name", i->getKey().c_str(), L"value",i->getValue().c_str() );
186 xwriter->writeLineBreak();
187 }
188 xwriter->writeLineBreak();
189
190 //close video section
191 xwriter->writeClosingTag(L"video");
192 xwriter->writeLineBreak();
193
194 //..
195 // You can add writing sound settings, savegame information etc
196 //..
197
198 //close mygame section
199 xwriter->writeClosingTag(L"mygame");
200
201 //delete xml writer
202 xwriter->drop();
203
204 return true;
205 }
206
207 // Set setting in our manager
208 void setSetting(const stringw& name, const stringw& value)
209 {
210 SettingMap[name]=value;
211 }
212
213 // set setting overload to quickly assign integers to our setting map
214 void setSetting(const stringw& name, s32 value)
215 {
216 SettingMap[name]=stringw(value);
217 }
218
219 // Get setting as string
220 stringw getSetting(const stringw& key) const
221 {
222 //the find function or irrmap returns a pointer to a map Node
223 //if the key can be found, otherwise it returns null
224 //the map node has the function getValue and getKey, as we already know the key, we return node->getValue()
225 map<stringw, stringw>::Node* n = SettingMap.find(key);
226 if (n)
227 return n->getValue();
228 else
229 return L"";
230 }
231
232 //
233 bool getSettingAsBoolean(const stringw& key ) const
234 {
235 stringw s = getSetting(key);
236 if (s.empty())
237 return false;
238 return s.equals_ignore_case(L"1");
239 }
240
241 //
242 s32 getSettingAsInteger(const stringw& key) const
243 {
244 //we implicitly cast to string instead of stringw because strtol10 does not accept wide strings
245 const stringc s = getSetting(key);
246 if (s.empty())
247 return 0;
248
249 return strtol10(s.c_str());
250 }
251
252public:
253 map<stringw, s32> DriverOptions; //available options for driver config
254 map<stringw, dimension2du> ResolutionOptions; //available options for resolution config
255private:
256 SettingManager(const SettingManager& other); // defined but not implemented
257 SettingManager& operator=(const SettingManager& other); // defined but not implemented
258
259 map<stringw, stringw> SettingMap; //current config
260
261 stringw SettingsFile; // location of the xml, usually the
262 irr::IrrlichtDevice* NullDevice;
263};
264
265/*
266Application context for global variables
267*/
268struct SAppContext
269{
270 SAppContext()
271 : Device(0),Gui(0), Driver(0), Settings(0), ShouldQuit(false),
272 ButtonSave(0), ButtonExit(0), ListboxDriver(0),
273 ListboxResolution(0), CheckboxFullscreen(0)
274 {
275 }
276
277 ~SAppContext()
278 {
279 if (Settings)
280 delete Settings;
281
282 if (Device)
283 {
284 Device->closeDevice();
285 Device->drop();
286 }
287 }
288
289 IrrlichtDevice* Device;
290 IGUIEnvironment* Gui;
291 IVideoDriver* Driver;
292 SettingManager* Settings;
293 bool ShouldQuit;
294
295 //settings dialog
296 IGUIButton* ButtonSave;
297 IGUIButton* ButtonExit;
298 IGUIListBox* ListboxDriver;
299 IGUIListBox* ListboxResolution;
300 IGUICheckBox* CheckboxFullscreen;
301};
302
303/*
304 A typical event receiver.
305*/
306class MyEventReceiver : public IEventReceiver
307{
308public:
309 MyEventReceiver(SAppContext & a) : App(a) { }
310
311 virtual bool OnEvent(const SEvent& event)
312 {
313 if (event.EventType == EET_GUI_EVENT )
314 {
315 switch ( event.GUIEvent.EventType )
316 {
317 //handle button click events
318 case EGET_BUTTON_CLICKED:
319 {
320 //Our save button was called so we obtain the settings from our dialog and save them
321 if ( event.GUIEvent.Caller == App.ButtonSave )
322 {
323 //if there is a selection write it
324 if ( App.ListboxDriver->getSelected() != -1)
325 App.Settings->setSetting(L"driver", App.ListboxDriver->getListItem(App.ListboxDriver->getSelected()));
326
327 //if there is a selection write it
328 if ( App.ListboxResolution->getSelected() != -1)
329 App.Settings->setSetting(L"resolution", App.ListboxResolution->getListItem(App.ListboxResolution->getSelected()));
330
331 App.Settings->setSetting(L"fullscreen", App.CheckboxFullscreen->isChecked());
332
333
334 if (App.Settings->save())
335 {
336 App.Gui->addMessageBox(L"settings save",L"settings saved, please restart for settings to change effect","",true);
337 }
338 }
339 // cancel/exit button clicked, tell the application to exit
340 else if ( event.GUIEvent.Caller == App.ButtonExit)
341 {
342 App.ShouldQuit = true;
343 }
344 }
345 break;
346 }
347 }
348
349 return false;
350 }
351
352private:
353 SAppContext & App;
354};
355
356
357/*
358Function to create a video settings dialog
359This dialog shows the current settings from the configuration xml and allows them to be changed
360*/
361void createSettingsDialog(SAppContext& app)
362{
363 // first get rid of alpha in gui
364 for (irr::s32 i=0; i<irr::gui::EGDC_COUNT ; ++i)
365 {
366 irr::video::SColor col = app.Gui->getSkin()->getColor((irr::gui::EGUI_DEFAULT_COLOR)i);
367 col.setAlpha(255);
368 app.Gui->getSkin()->setColor((irr::gui::EGUI_DEFAULT_COLOR)i, col);
369 }
370
371 //create video settings windows
372 gui::IGUIWindow* windowSettings = app.Gui->addWindow(rect<s32>(10,10,400,400),true,L"Videosettings");
373 app.Gui->addStaticText (L"Select your desired video settings", rect< s32 >(10,20, 200, 40), false, true, windowSettings);
374
375 // add listbox for driver choice
376 app.Gui->addStaticText (L"Driver", rect< s32 >(10,50, 200, 60), false, true, windowSettings);
377 app.ListboxDriver = app.Gui->addListBox(rect<s32>(10,60,220,120), windowSettings, 1,true);
378
379 //add all available options to the driver choice listbox
380 map<stringw, s32>::Iterator i = app.Settings->DriverOptions.getIterator();
381 for(; !i.atEnd(); i++)
382 app.ListboxDriver->addItem(i->getKey().c_str());
383
384 //set currently selected driver
385 app.ListboxDriver->setSelected(app.Settings->getSetting("driver").c_str());
386
387 // add listbox for resolution choice
388 app.Gui->addStaticText (L"Resolution", rect< s32 >(10,130, 200, 140), false, true, windowSettings);
389 app.ListboxResolution = app.Gui->addListBox(rect<s32>(10,140,220,200), windowSettings, 1,true);
390
391 //add all available options to the resolution listbox
392 map<stringw, dimension2du>::Iterator ri = app.Settings->ResolutionOptions.getIterator();
393 for(; !ri.atEnd(); ri++)
394 app.ListboxResolution->addItem(ri->getKey().c_str());
395
396 //set currently selected resolution
397 app.ListboxResolution->setSelected(app.Settings->getSetting("resolution").c_str());
398
399 //add checkbox to toggle fullscreen, initially set to loaded setting
400 app.CheckboxFullscreen = app.Gui->addCheckBox(
401 app.Settings->getSettingAsBoolean("fullscreen"),
402 rect<s32>(10,220,220,240), windowSettings, -1,
403 L"Fullscreen");
404
405 //last but not least add save button
406 app.ButtonSave = app.Gui->addButton(
407 rect<s32>(80,250,150,270), windowSettings, 2,
408 L"Save video settings");
409
410 //exit/cancel button
411 app.ButtonExit = app.Gui->addButton(
412 rect<s32>(160,250,240,270), windowSettings, 2,
413 L"Cancel and exit");
414}
415
416/*
417The main function. Creates all objects and does the XML handling.
418*/
419int main()
420{
421 //create new application context
422 SAppContext app;
423
424 //create device creation parameters that can get overwritten by our settings file
425 SIrrlichtCreationParameters param;
426 param.DriverType = EDT_SOFTWARE;
427 param.WindowSize.set(640,480);
428
429 // Try to load config.
430 // I leave it as an exercise of the reader to store the configuration in the local application data folder,
431 // the only logical place to store config data for games. For all other operating systems I redirect to your manuals
432 app.Settings = new SettingManager("../../media/settings.xml");
433 if ( !app.Settings->load() )
434 {
435 // ...
436 // Here add your own exception handling, for now we continue because there are defaults set in SettingManager constructor
437 // ...
438 }
439 else
440 {
441 //settings xml loaded from disk,
442
443 //map driversetting to driver type and test if the setting is valid
444 //the DriverOptions map contains string representations mapped to to irrlicht E_DRIVER_TYPE enum
445 //e.g "direct3d9" will become 4
446 //see DriverOptions in the settingmanager class for details
447 map<stringw, s32>::Node* driver = app.Settings->DriverOptions.find( app.Settings->getSetting("driver") );
448
449 if (driver)
450 {
451 if ( irr::IrrlichtDevice::isDriverSupported( static_cast<E_DRIVER_TYPE>( driver->getValue() )))
452 {
453 // selected driver is supported, so we use it.
454 param.DriverType = static_cast<E_DRIVER_TYPE>( driver->getValue());
455 }
456 }
457
458 //map resolution setting to dimension in a similar way as demonstrated above
459 map<stringw, dimension2du>::Node* res = app.Settings->ResolutionOptions.find( app.Settings->getSetting("resolution") );
460 if (res)
461 {
462 param.WindowSize = res->getValue();
463 }
464
465 //get fullscreen setting from config
466 param.Fullscreen = app.Settings->getSettingAsBoolean("fullscreen");
467 }
468
469 //create the irrlicht device using the settings
470 app.Device = createDeviceEx(param);
471 if (app.Device == 0)
472 {
473 // You can add your own exception handling on driver failure
474 exit(0);
475 }
476
477 app.Device->setWindowCaption(L"Xmlhandling - Irrlicht engine tutorial");
478 app.Driver = app.Device->getVideoDriver();
479 app.Gui = app.Device->getGUIEnvironment();
480
481 createSettingsDialog(app);
482
483 //set event receiver so we can respond to gui events
484 MyEventReceiver receiver(app);
485 app.Device->setEventReceiver(&receiver);
486
487 //enter main loop
488 while (!app.ShouldQuit && app.Device->run())
489 {
490 if (app.Device->isWindowActive())
491 {
492 app.Driver->beginScene(true, true, SColor(0,200,200,200));
493 app.Gui->drawAll();
494 app.Driver->endScene();
495 }
496 app.Device->sleep(10);
497 }
498
499 //app destroys device in destructor
500
501 return 0;
502}
503
504/*
505**/