diff options
Diffstat (limited to 'src/others/irrlicht-1.8.1/examples/25.XmlHandling')
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) | ||
6 | Target := 25.XmlHandling | ||
7 | # List of source files, separated by spaces | ||
8 | Sources := main.cpp | ||
9 | # Path to Irrlicht directory, should contain include/ and lib/ | ||
10 | IrrlichtHome := ../.. | ||
11 | # Path for the executable. Note that Irrlicht.dll should usually also be there for win32 systems | ||
12 | BinPath = ../../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 | ||
16 | USERCPPFLAGS = | ||
17 | # compiler flags such as optimization flags | ||
18 | USERCXXFLAGS = -O3 -ffast-math | ||
19 | #USERCXXFLAGS = -g -Wall | ||
20 | # linker flags such as additional libraries and link paths | ||
21 | USERLDFLAGS = | ||
22 | |||
23 | #### | ||
24 | #no changes necessary below this line | ||
25 | #### | ||
26 | |||
27 | CPPFLAGS = -I$(IrrlichtHome)/include -I/usr/X11R6/include $(USERCPPFLAGS) | ||
28 | CXXFLAGS = $(USERCXXFLAGS) | ||
29 | LDFLAGS = $(USERLDFLAGS) | ||
30 | |||
31 | #default target is Linux | ||
32 | all: all_linux | ||
33 | |||
34 | # target specific settings | ||
35 | all_linux all_win32 static_win32: LDFLAGS += -L$(IrrlichtHome)/lib/$(SYSTEM) -lIrrlicht | ||
36 | all_linux: LDFLAGS += -L/usr/X11R6/lib$(LIBSELECT) -lGL -lXxf86vm -lXext -lX11 -lXcursor | ||
37 | all_linux clean_linux: SYSTEM=Linux | ||
38 | all_win32 clean_win32 static_win32: SYSTEM=Win32-gcc | ||
39 | all_win32 clean_win32 static_win32: SUF=.exe | ||
40 | static_win32: CPPFLAGS += -D_IRR_STATIC_LIB_ | ||
41 | all_win32: LDFLAGS += -lopengl32 -lm | ||
42 | static_win32: LDFLAGS += -lgdi32 -lwinspool -lcomdlg32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32 -lopengl32 | ||
43 | # name of the binary - only valid for targets which set SYSTEM | ||
44 | DESTPATH = $(BinPath)/$(Target)$(SUF) | ||
45 | |||
46 | all_linux all_win32 static_win32: | ||
47 | $(warning Building...) | ||
48 | $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(Sources) -o $(DESTPATH) $(LDFLAGS) | ||
49 | |||
50 | clean: clean_linux clean_win32 | ||
51 | $(warning Cleaning...) | ||
52 | |||
53 | clean_linux clean_win32: | ||
54 | @$(RM) $(DESTPATH) | ||
55 | |||
56 | .PHONY: all all_win32 static_win32 clean clean_linux clean_win32 | ||
57 | |||
58 | #multilib handling | ||
59 | ifeq ($(HOSTTYPE), x86_64) | ||
60 | LIBSELECT=64 | ||
61 | endif | ||
62 | #solaris real-time features | ||
63 | ifeq ($(HOSTTYPE), sun4) | ||
64 | LDFLAGS += -lrt | ||
65 | endif | ||
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 | |||
3 | Demonstrates loading and saving of configurations via XML | ||
4 | |||
5 | @author Y.M. Bosman \<yoran.bosman@gmail.com\> | ||
6 | |||
7 | This demo features a fully usable system for configuration handling. The code | ||
8 | can easily be integrated into own apps. | ||
9 | |||
10 | */ | ||
11 | |||
12 | #include <irrlicht.h> | ||
13 | |||
14 | using namespace irr; | ||
15 | using namespace core; | ||
16 | using namespace scene; | ||
17 | using namespace video; | ||
18 | using namespace io; | ||
19 | using namespace gui; | ||
20 | |||
21 | #ifdef _IRR_WINDOWS_ | ||
22 | #pragma comment(lib, "Irrlicht.lib") | ||
23 | #endif | ||
24 | |||
25 | |||
26 | /* SettingManager class. | ||
27 | |||
28 | This class loads and writes the settings and manages the options. | ||
29 | |||
30 | The class makes use of irrMap which is a an associative arrays using a | ||
31 | red-black tree it allows easy mapping of a key to a value, along the way there | ||
32 | is some information on how to use it. | ||
33 | */ | ||
34 | |||
35 | class SettingManager | ||
36 | { | ||
37 | public: | ||
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 | |||
252 | public: | ||
253 | map<stringw, s32> DriverOptions; //available options for driver config | ||
254 | map<stringw, dimension2du> ResolutionOptions; //available options for resolution config | ||
255 | private: | ||
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 | /* | ||
266 | Application context for global variables | ||
267 | */ | ||
268 | struct 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 | */ | ||
306 | class MyEventReceiver : public IEventReceiver | ||
307 | { | ||
308 | public: | ||
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 | |||
352 | private: | ||
353 | SAppContext & App; | ||
354 | }; | ||
355 | |||
356 | |||
357 | /* | ||
358 | Function to create a video settings dialog | ||
359 | This dialog shows the current settings from the configuration xml and allows them to be changed | ||
360 | */ | ||
361 | void 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 | /* | ||
417 | The main function. Creates all objects and does the XML handling. | ||
418 | */ | ||
419 | int 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 | **/ | ||