diff options
Diffstat (limited to '')
8 files changed, 1564 insertions, 0 deletions
diff --git a/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl.cbp b/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl.cbp new file mode 100644 index 0000000..6d1b92a --- /dev/null +++ b/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl.cbp | |||
@@ -0,0 +1,56 @@ | |||
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 24 Cursor Control" /> | ||
6 | <Option pch_mode="0" /> | ||
7 | <Option compiler="gcc" /> | ||
8 | <Build> | ||
9 | <Target title="Linux"> | ||
10 | <Option platforms="Unix;" /> | ||
11 | <Option output="..\..\bin\Linux\CursorControl" 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\CursorControl" prefix_auto="0" extension_auto="1" /> | ||
28 | <Option type="1" /> | ||
29 | <Option compiler="gcc" /> | ||
30 | <Option projectResourceIncludeDirsRelation="1" /> | ||
31 | <Compiler> | ||
32 | <Add option="-g" /> | ||
33 | </Compiler> | ||
34 | <Linker> | ||
35 | <Add directory="..\..\lib\Win32-gcc" /> | ||
36 | </Linker> | ||
37 | </Target> | ||
38 | </Build> | ||
39 | <VirtualTargets> | ||
40 | <Add alias="All" targets="Windows;Linux;" /> | ||
41 | </VirtualTargets> | ||
42 | <Compiler> | ||
43 | <Add option="-g" /> | ||
44 | <Add directory="..\..\include" /> | ||
45 | </Compiler> | ||
46 | <Linker> | ||
47 | <Add library="Irrlicht" /> | ||
48 | </Linker> | ||
49 | <Unit filename="main.cpp" /> | ||
50 | <Extensions> | ||
51 | <code_completion /> | ||
52 | <debugger /> | ||
53 | <envvars /> | ||
54 | </Extensions> | ||
55 | </Project> | ||
56 | </CodeBlocks_project_file> | ||
diff --git a/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl.vcproj b/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl.vcproj new file mode 100644 index 0000000..1bc2f53 --- /dev/null +++ b/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl.vcproj | |||
@@ -0,0 +1,132 @@ | |||
1 | <?xml version="1.0" encoding="Windows-1252"?> | ||
2 | <VisualStudioProject | ||
3 | ProjectType="Visual C++" | ||
4 | Version="7.10" | ||
5 | Name="24.CursorControl" | ||
6 | ProjectGUID="{02B67A37-50E1-49db-BECF-905BC029C2FE}" | ||
7 | Keyword="Win32Proj"> | ||
8 | <Platforms> | ||
9 | <Platform | ||
10 | Name="Win32"/> | ||
11 | </Platforms> | ||
12 | <Configurations> | ||
13 | <Configuration | ||
14 | Name="Debug|Win32" | ||
15 | OutputDirectory="Debug" | ||
16 | IntermediateDirectory="Debug" | ||
17 | ConfigurationType="1" | ||
18 | CharacterSet="2"> | ||
19 | <Tool | ||
20 | Name="VCCLCompilerTool" | ||
21 | Optimization="0" | ||
22 | AdditionalIncludeDirectories="..\..\include" | ||
23 | PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS" | ||
24 | MinimalRebuild="TRUE" | ||
25 | BasicRuntimeChecks="3" | ||
26 | RuntimeLibrary="5" | ||
27 | UsePrecompiledHeader="0" | ||
28 | WarningLevel="3" | ||
29 | Detect64BitPortabilityProblems="TRUE" | ||
30 | DebugInformationFormat="4"/> | ||
31 | <Tool | ||
32 | Name="VCCustomBuildTool"/> | ||
33 | <Tool | ||
34 | Name="VCLinkerTool" | ||
35 | OutputFile="..\..\bin\Win32-VisualStudio\24.CursorControl.exe" | ||
36 | LinkIncremental="1" | ||
37 | AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio" | ||
38 | GenerateDebugInformation="TRUE" | ||
39 | ProgramDatabaseFile="$(OutDir)/CursorControl.pdb" | ||
40 | SubSystem="1" | ||
41 | TargetMachine="1"/> | ||
42 | <Tool | ||
43 | Name="VCMIDLTool"/> | ||
44 | <Tool | ||
45 | Name="VCPostBuildEventTool"/> | ||
46 | <Tool | ||
47 | Name="VCPreBuildEventTool"/> | ||
48 | <Tool | ||
49 | Name="VCPreLinkEventTool"/> | ||
50 | <Tool | ||
51 | Name="VCResourceCompilerTool"/> | ||
52 | <Tool | ||
53 | Name="VCWebServiceProxyGeneratorTool"/> | ||
54 | <Tool | ||
55 | Name="VCXMLDataGeneratorTool"/> | ||
56 | <Tool | ||
57 | Name="VCWebDeploymentTool"/> | ||
58 | <Tool | ||
59 | Name="VCManagedWrapperGeneratorTool"/> | ||
60 | <Tool | ||
61 | Name="VCAuxiliaryManagedWrapperGeneratorTool"/> | ||
62 | </Configuration> | ||
63 | <Configuration | ||
64 | Name="Release|Win32" | ||
65 | OutputDirectory="Release" | ||
66 | IntermediateDirectory="Release" | ||
67 | ConfigurationType="1" | ||
68 | CharacterSet="2" | ||
69 | WholeProgramOptimization="TRUE"> | ||
70 | <Tool | ||
71 | Name="VCCLCompilerTool" | ||
72 | AdditionalOptions="/QIfist /Oa" | ||
73 | Optimization="3" | ||
74 | GlobalOptimizations="TRUE" | ||
75 | InlineFunctionExpansion="2" | ||
76 | EnableIntrinsicFunctions="TRUE" | ||
77 | FavorSizeOrSpeed="1" | ||
78 | OmitFramePointers="TRUE" | ||
79 | AdditionalIncludeDirectories="..\..\include" | ||
80 | PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS" | ||
81 | RuntimeLibrary="4" | ||
82 | BufferSecurityCheck="FALSE" | ||
83 | UsePrecompiledHeader="0" | ||
84 | WarningLevel="3" | ||
85 | Detect64BitPortabilityProblems="TRUE" | ||
86 | DebugInformationFormat="0" | ||
87 | CallingConvention="1"/> | ||
88 | <Tool | ||
89 | Name="VCCustomBuildTool"/> | ||
90 | <Tool | ||
91 | Name="VCLinkerTool" | ||
92 | OutputFile="..\..\bin\Win32-VisualStudio\24.CursorControl.exe" | ||
93 | LinkIncremental="1" | ||
94 | SuppressStartupBanner="TRUE" | ||
95 | AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio" | ||
96 | GenerateDebugInformation="FALSE" | ||
97 | SubSystem="1" | ||
98 | OptimizeReferences="2" | ||
99 | EnableCOMDATFolding="2" | ||
100 | TargetMachine="1"/> | ||
101 | <Tool | ||
102 | Name="VCMIDLTool"/> | ||
103 | <Tool | ||
104 | Name="VCPostBuildEventTool"/> | ||
105 | <Tool | ||
106 | Name="VCPreBuildEventTool"/> | ||
107 | <Tool | ||
108 | Name="VCPreLinkEventTool"/> | ||
109 | <Tool | ||
110 | Name="VCResourceCompilerTool"/> | ||
111 | <Tool | ||
112 | Name="VCWebServiceProxyGeneratorTool"/> | ||
113 | <Tool | ||
114 | Name="VCXMLDataGeneratorTool"/> | ||
115 | <Tool | ||
116 | Name="VCWebDeploymentTool"/> | ||
117 | <Tool | ||
118 | Name="VCManagedWrapperGeneratorTool"/> | ||
119 | <Tool | ||
120 | Name="VCAuxiliaryManagedWrapperGeneratorTool"/> | ||
121 | </Configuration> | ||
122 | </Configurations> | ||
123 | <References> | ||
124 | </References> | ||
125 | <Files> | ||
126 | <File | ||
127 | RelativePath=".\main.cpp"> | ||
128 | </File> | ||
129 | </Files> | ||
130 | <Globals> | ||
131 | </Globals> | ||
132 | </VisualStudioProject> | ||
diff --git a/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl_vc10.vcxproj b/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl_vc10.vcxproj new file mode 100644 index 0000000..9912eda --- /dev/null +++ b/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl_vc10.vcxproj | |||
@@ -0,0 +1,184 @@ | |||
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>24.CursorControl</ProjectName> | ||
23 | <ProjectGuid>{02B67A37-50E1-49DB-BECF-905BC029C2FE}</ProjectGuid> | ||
24 | <RootNamespace>24.CursorControl</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 | <OutputFile>..\..\bin\Win32-VisualStudio\24.CursorControl.exe</OutputFile> | ||
98 | <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||
99 | <GenerateDebugInformation>true</GenerateDebugInformation> | ||
100 | <ProgramDatabaseFile>$(OutDir)CursorControl.pdb</ProgramDatabaseFile> | ||
101 | <SubSystem>Console</SubSystem> | ||
102 | <DataExecutionPrevention> | ||
103 | </DataExecutionPrevention> | ||
104 | </Link> | ||
105 | </ItemDefinitionGroup> | ||
106 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> | ||
107 | <ClCompile> | ||
108 | <Optimization>Disabled</Optimization> | ||
109 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||
110 | <PreprocessorDefinitions>WIN32;WIN64;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||
111 | <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | ||
112 | <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> | ||
113 | <PrecompiledHeader> | ||
114 | </PrecompiledHeader> | ||
115 | <WarningLevel>Level3</WarningLevel> | ||
116 | <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||
117 | </ClCompile> | ||
118 | <Link> | ||
119 | <OutputFile>..\..\bin\Win64-VisualStudio\24.CursorControl.exe</OutputFile> | ||
120 | <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||
121 | <GenerateDebugInformation>true</GenerateDebugInformation> | ||
122 | <ProgramDatabaseFile>$(OutDir)CursorControl.pdb</ProgramDatabaseFile> | ||
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>Sync</ExceptionHandling> | ||
135 | <PrecompiledHeader> | ||
136 | </PrecompiledHeader> | ||
137 | <WarningLevel>Level3</WarningLevel> | ||
138 | <DebugInformationFormat> | ||
139 | </DebugInformationFormat> | ||
140 | <CallingConvention>Cdecl</CallingConvention> | ||
141 | </ClCompile> | ||
142 | <Link> | ||
143 | <OutputFile>..\..\bin\Win32-VisualStudio\24.CursorControl.exe</OutputFile> | ||
144 | <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||
145 | <GenerateDebugInformation>false</GenerateDebugInformation> | ||
146 | <SubSystem>Console</SubSystem> | ||
147 | <OptimizeReferences>true</OptimizeReferences> | ||
148 | <EnableCOMDATFolding>true</EnableCOMDATFolding> | ||
149 | <DataExecutionPrevention> | ||
150 | </DataExecutionPrevention> | ||
151 | </Link> | ||
152 | </ItemDefinitionGroup> | ||
153 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> | ||
154 | <ClCompile> | ||
155 | <IntrinsicFunctions>true</IntrinsicFunctions> | ||
156 | <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> | ||
157 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||
158 | <PreprocessorDefinitions>WIN32;WIN64;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||
159 | <ExceptionHandling>Sync</ExceptionHandling> | ||
160 | <PrecompiledHeader> | ||
161 | </PrecompiledHeader> | ||
162 | <WarningLevel>Level3</WarningLevel> | ||
163 | <DebugInformationFormat> | ||
164 | </DebugInformationFormat> | ||
165 | <CallingConvention>Cdecl</CallingConvention> | ||
166 | </ClCompile> | ||
167 | <Link> | ||
168 | <OutputFile>..\..\bin\Win64-VisualStudio\24.CursorControl.exe</OutputFile> | ||
169 | <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||
170 | <GenerateDebugInformation>false</GenerateDebugInformation> | ||
171 | <SubSystem>Console</SubSystem> | ||
172 | <OptimizeReferences>true</OptimizeReferences> | ||
173 | <EnableCOMDATFolding>true</EnableCOMDATFolding> | ||
174 | <DataExecutionPrevention> | ||
175 | </DataExecutionPrevention> | ||
176 | </Link> | ||
177 | </ItemDefinitionGroup> | ||
178 | <ItemGroup> | ||
179 | <ClCompile Include="main.cpp" /> | ||
180 | </ItemGroup> | ||
181 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | ||
182 | <ImportGroup Label="ExtensionTargets"> | ||
183 | </ImportGroup> | ||
184 | </Project> \ No newline at end of file | ||
diff --git a/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl_vc11.vcxproj b/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl_vc11.vcxproj new file mode 100644 index 0000000..362f064 --- /dev/null +++ b/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl_vc11.vcxproj | |||
@@ -0,0 +1,188 @@ | |||
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>24.CursorControl</ProjectName> | ||
23 | <ProjectGuid>{02B67A37-50E1-49DB-BECF-905BC029C2FE}</ProjectGuid> | ||
24 | <RootNamespace>24.CursorControl</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 | <OutputFile>..\..\bin\Win32-VisualStudio\24.CursorControl.exe</OutputFile> | ||
102 | <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||
103 | <GenerateDebugInformation>true</GenerateDebugInformation> | ||
104 | <ProgramDatabaseFile>$(OutDir)CursorControl.pdb</ProgramDatabaseFile> | ||
105 | <SubSystem>Console</SubSystem> | ||
106 | <DataExecutionPrevention> | ||
107 | </DataExecutionPrevention> | ||
108 | </Link> | ||
109 | </ItemDefinitionGroup> | ||
110 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> | ||
111 | <ClCompile> | ||
112 | <Optimization>Disabled</Optimization> | ||
113 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||
114 | <PreprocessorDefinitions>WIN32;WIN64;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||
115 | <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | ||
116 | <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> | ||
117 | <PrecompiledHeader> | ||
118 | </PrecompiledHeader> | ||
119 | <WarningLevel>Level3</WarningLevel> | ||
120 | <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | ||
121 | </ClCompile> | ||
122 | <Link> | ||
123 | <OutputFile>..\..\bin\Win64-VisualStudio\24.CursorControl.exe</OutputFile> | ||
124 | <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||
125 | <GenerateDebugInformation>true</GenerateDebugInformation> | ||
126 | <ProgramDatabaseFile>$(OutDir)CursorControl.pdb</ProgramDatabaseFile> | ||
127 | <SubSystem>Console</SubSystem> | ||
128 | <DataExecutionPrevention> | ||
129 | </DataExecutionPrevention> | ||
130 | </Link> | ||
131 | </ItemDefinitionGroup> | ||
132 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | ||
133 | <ClCompile> | ||
134 | <IntrinsicFunctions>true</IntrinsicFunctions> | ||
135 | <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> | ||
136 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||
137 | <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||
138 | <ExceptionHandling>Sync</ExceptionHandling> | ||
139 | <PrecompiledHeader> | ||
140 | </PrecompiledHeader> | ||
141 | <WarningLevel>Level3</WarningLevel> | ||
142 | <DebugInformationFormat> | ||
143 | </DebugInformationFormat> | ||
144 | <CallingConvention>Cdecl</CallingConvention> | ||
145 | </ClCompile> | ||
146 | <Link> | ||
147 | <OutputFile>..\..\bin\Win32-VisualStudio\24.CursorControl.exe</OutputFile> | ||
148 | <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||
149 | <GenerateDebugInformation>false</GenerateDebugInformation> | ||
150 | <SubSystem>Console</SubSystem> | ||
151 | <OptimizeReferences>true</OptimizeReferences> | ||
152 | <EnableCOMDATFolding>true</EnableCOMDATFolding> | ||
153 | <DataExecutionPrevention> | ||
154 | </DataExecutionPrevention> | ||
155 | </Link> | ||
156 | </ItemDefinitionGroup> | ||
157 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> | ||
158 | <ClCompile> | ||
159 | <IntrinsicFunctions>true</IntrinsicFunctions> | ||
160 | <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> | ||
161 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||
162 | <PreprocessorDefinitions>WIN32;WIN64;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||
163 | <ExceptionHandling>Sync</ExceptionHandling> | ||
164 | <PrecompiledHeader> | ||
165 | </PrecompiledHeader> | ||
166 | <WarningLevel>Level3</WarningLevel> | ||
167 | <DebugInformationFormat> | ||
168 | </DebugInformationFormat> | ||
169 | <CallingConvention>Cdecl</CallingConvention> | ||
170 | </ClCompile> | ||
171 | <Link> | ||
172 | <OutputFile>..\..\bin\Win64-VisualStudio\24.CursorControl.exe</OutputFile> | ||
173 | <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||
174 | <GenerateDebugInformation>false</GenerateDebugInformation> | ||
175 | <SubSystem>Console</SubSystem> | ||
176 | <OptimizeReferences>true</OptimizeReferences> | ||
177 | <EnableCOMDATFolding>true</EnableCOMDATFolding> | ||
178 | <DataExecutionPrevention> | ||
179 | </DataExecutionPrevention> | ||
180 | </Link> | ||
181 | </ItemDefinitionGroup> | ||
182 | <ItemGroup> | ||
183 | <ClCompile Include="main.cpp" /> | ||
184 | </ItemGroup> | ||
185 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | ||
186 | <ImportGroup Label="ExtensionTargets"> | ||
187 | </ImportGroup> | ||
188 | </Project> \ No newline at end of file | ||
diff --git a/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl_vc8.vcproj b/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl_vc8.vcproj new file mode 100644 index 0000000..6148942 --- /dev/null +++ b/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl_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="24.CursorControl_vc8" | ||
6 | ProjectGUID="{02B67A37-50E1-49DB-BECF-905BC029C2FE}" | ||
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\24.CursorControl.exe" | ||
65 | LinkIncremental="2" | ||
66 | AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio" | ||
67 | GenerateDebugInformation="true" | ||
68 | ProgramDatabaseFile="$(OutDir)/CursorControl.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\24.CursorControl.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/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl_vc9.vcproj b/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl_vc9.vcproj new file mode 100644 index 0000000..90ebf1f --- /dev/null +++ b/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl_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="24.CursorControl_vc9" | ||
6 | ProjectGUID="{02B67A37-50E1-49DB-BECF-905BC029C2FE}" | ||
7 | RootNamespace="24.CursorControl_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\24.CursorControl.exe" | ||
66 | AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio" | ||
67 | GenerateDebugInformation="true" | ||
68 | ProgramDatabaseFile="$(OutDir)/CursorControl.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\24.CursorControl.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/libraries/irrlicht-1.8/examples/24.CursorControl/Makefile b/libraries/irrlicht-1.8/examples/24.CursorControl/Makefile new file mode 100644 index 0000000..bc2a137 --- /dev/null +++ b/libraries/irrlicht-1.8/examples/24.CursorControl/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 := 24.CursorControl | ||
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/libraries/irrlicht-1.8/examples/24.CursorControl/main.cpp b/libraries/irrlicht-1.8/examples/24.CursorControl/main.cpp new file mode 100644 index 0000000..ff7c16f --- /dev/null +++ b/libraries/irrlicht-1.8/examples/24.CursorControl/main.cpp | |||
@@ -0,0 +1,563 @@ | |||
1 | /** Example 024 CursorControl | ||
2 | |||
3 | Show how to modify cursors and offer some useful tool-functions for creating cursors. | ||
4 | It can also be used for experiments with the mouse in general. | ||
5 | */ | ||
6 | |||
7 | #include <irrlicht.h> | ||
8 | #include "driverChoice.h" | ||
9 | |||
10 | using namespace irr; | ||
11 | using namespace core; | ||
12 | using namespace scene; | ||
13 | using namespace video; | ||
14 | using namespace io; | ||
15 | using namespace gui; | ||
16 | |||
17 | #ifdef _IRR_WINDOWS_ | ||
18 | #pragma comment(lib, "Irrlicht.lib") | ||
19 | #endif | ||
20 | |||
21 | const int DELAY_TIME = 3000; | ||
22 | |||
23 | enum ETimerAction | ||
24 | { | ||
25 | ETA_MOUSE_VISIBLE, | ||
26 | ETA_MOUSE_INVISIBLE, | ||
27 | }; | ||
28 | |||
29 | /* | ||
30 | Structure to allow delayed execution of some actions. | ||
31 | */ | ||
32 | struct TimerAction | ||
33 | { | ||
34 | u32 TargetTime; | ||
35 | ETimerAction Action; | ||
36 | }; | ||
37 | |||
38 | /* | ||
39 | */ | ||
40 | struct SAppContext | ||
41 | { | ||
42 | SAppContext() | ||
43 | : Device(0), InfoStatic(0), EventBox(0), CursorBox(0), SpriteBox(0) | ||
44 | , ButtonSetVisible(0), ButtonSetInvisible(0), ButtonSimulateBadFps(0) | ||
45 | , ButtonChangeIcon(0) | ||
46 | , SimulateBadFps(false) | ||
47 | { | ||
48 | } | ||
49 | |||
50 | void update() | ||
51 | { | ||
52 | if (!Device) | ||
53 | return; | ||
54 | u32 timeNow = Device->getTimer()->getTime(); | ||
55 | for ( u32 i=0; i < TimerActions.size(); ++i ) | ||
56 | { | ||
57 | if ( timeNow >= TimerActions[i].TargetTime ) | ||
58 | { | ||
59 | runTimerAction(TimerActions[i]); | ||
60 | TimerActions.erase(i); | ||
61 | } | ||
62 | else | ||
63 | { | ||
64 | ++i; | ||
65 | } | ||
66 | } | ||
67 | } | ||
68 | |||
69 | void runTimerAction(const TimerAction& action) | ||
70 | { | ||
71 | if (ETA_MOUSE_VISIBLE == action.Action) | ||
72 | { | ||
73 | Device->getCursorControl()->setVisible(true); | ||
74 | ButtonSetVisible->setEnabled(true); | ||
75 | } | ||
76 | else if ( ETA_MOUSE_INVISIBLE == action.Action) | ||
77 | { | ||
78 | Device->getCursorControl()->setVisible(false); | ||
79 | ButtonSetInvisible->setEnabled(true); | ||
80 | } | ||
81 | } | ||
82 | |||
83 | /* | ||
84 | Add another icon which the user can click and select as cursor later on. | ||
85 | */ | ||
86 | void addIcon(const stringw& name, const SCursorSprite &sprite, bool addCursor=true) | ||
87 | { | ||
88 | // Sprites are just icons - not yet cursors. They can be displayed by Irrlicht sprite functions and be used to create cursors. | ||
89 | SpriteBox->addItem(name.c_str(), sprite.SpriteId); | ||
90 | Sprites.push_back(sprite); | ||
91 | |||
92 | // create the cursor together with the icon? | ||
93 | if ( addCursor ) | ||
94 | { | ||
95 | /* Here we create a hardware cursor from a sprite */ | ||
96 | Device->getCursorControl()->addIcon(sprite); | ||
97 | |||
98 | // ... and add it to the cursors selection listbox to the other system cursors. | ||
99 | CursorBox->addItem(name.c_str()); | ||
100 | } | ||
101 | } | ||
102 | |||
103 | IrrlichtDevice * Device; | ||
104 | gui::IGUIStaticText * InfoStatic; | ||
105 | gui::IGUIListBox * EventBox; | ||
106 | gui::IGUIListBox * CursorBox; | ||
107 | gui::IGUIListBox * SpriteBox; | ||
108 | gui::IGUIButton * ButtonSetVisible; | ||
109 | gui::IGUIButton * ButtonSetInvisible; | ||
110 | gui::IGUIButton * ButtonSimulateBadFps; | ||
111 | gui::IGUIButton * ButtonChangeIcon; | ||
112 | array<TimerAction> TimerActions; | ||
113 | bool SimulateBadFps; | ||
114 | array<SCursorSprite> Sprites; | ||
115 | }; | ||
116 | |||
117 | /* | ||
118 | Helper function to print mouse event names into a stringw | ||
119 | */ | ||
120 | void PrintMouseEventName(const SEvent& event, stringw &result) | ||
121 | { | ||
122 | switch ( event.MouseInput.Event ) | ||
123 | { | ||
124 | case EMIE_LMOUSE_PRESSED_DOWN: result += stringw(L"EMIE_LMOUSE_PRESSED_DOWN"); break; | ||
125 | case EMIE_RMOUSE_PRESSED_DOWN: result += stringw(L"EMIE_RMOUSE_PRESSED_DOWN"); break; | ||
126 | case EMIE_MMOUSE_PRESSED_DOWN: result += stringw(L"EMIE_MMOUSE_PRESSED_DOWN"); break; | ||
127 | case EMIE_LMOUSE_LEFT_UP: result += stringw(L"EMIE_LMOUSE_LEFT_UP"); break; | ||
128 | case EMIE_RMOUSE_LEFT_UP: result += stringw(L"EMIE_RMOUSE_LEFT_UP"); break; | ||
129 | case EMIE_MMOUSE_LEFT_UP: result += stringw(L"EMIE_MMOUSE_LEFT_UP"); break; | ||
130 | case EMIE_MOUSE_MOVED: result += stringw(L"EMIE_MOUSE_MOVED"); break; | ||
131 | case EMIE_MOUSE_WHEEL: result += stringw(L"EMIE_MOUSE_WHEEL"); break; | ||
132 | case EMIE_LMOUSE_DOUBLE_CLICK: result += stringw(L"EMIE_LMOUSE_DOUBLE_CLICK"); break; | ||
133 | case EMIE_RMOUSE_DOUBLE_CLICK: result += stringw(L"EMIE_RMOUSE_DOUBLE_CLICK"); break; | ||
134 | case EMIE_MMOUSE_DOUBLE_CLICK: result += stringw(L"EMIE_MMOUSE_DOUBLE_CLICK"); break; | ||
135 | case EMIE_LMOUSE_TRIPLE_CLICK: result += stringw(L"EMIE_LMOUSE_TRIPLE_CLICK"); break; | ||
136 | case EMIE_RMOUSE_TRIPLE_CLICK: result += stringw(L"EMIE_RMOUSE_TRIPLE_CLICK"); break; | ||
137 | case EMIE_MMOUSE_TRIPLE_CLICK: result += stringw(L"EMIE_MMOUSE_TRIPLE_CLICK"); break; | ||
138 | default: | ||
139 | break; | ||
140 | } | ||
141 | } | ||
142 | |||
143 | /* | ||
144 | Helper function to print all the state information which get from a mouse-event into a stringw | ||
145 | */ | ||
146 | void PrintMouseState(const SEvent& event, stringw &result) | ||
147 | { | ||
148 | result += stringw(L"X: "); | ||
149 | result += stringw(event.MouseInput.X); | ||
150 | result += stringw(L"\n"); | ||
151 | |||
152 | result += stringw(L"Y: "); | ||
153 | result += stringw(event.MouseInput.Y); | ||
154 | result += stringw(L"\n"); | ||
155 | |||
156 | |||
157 | result += stringw(L"Wheel: "); | ||
158 | result += stringw(event.MouseInput.Wheel); | ||
159 | result += stringw(L"\n"); | ||
160 | |||
161 | result += stringw(L"Shift: "); | ||
162 | if ( event.MouseInput.Shift ) | ||
163 | result += stringw(L"true\n"); | ||
164 | else | ||
165 | result += stringw(L"false\n"); | ||
166 | |||
167 | result += stringw(L"Control: "); | ||
168 | if ( event.MouseInput.Control ) | ||
169 | result += stringw(L"true\n"); | ||
170 | else | ||
171 | result += stringw(L"false\n"); | ||
172 | |||
173 | result += stringw(L"ButtonStates: "); | ||
174 | result += stringw(event.MouseInput.ButtonStates); | ||
175 | result += stringw(L"\n"); | ||
176 | |||
177 | result += stringw(L"isLeftPressed: "); | ||
178 | if ( event.MouseInput.isLeftPressed() ) | ||
179 | result += stringw(L"true\n"); | ||
180 | else | ||
181 | result += stringw(L"false\n"); | ||
182 | |||
183 | result += stringw(L"isRightPressed: "); | ||
184 | if ( event.MouseInput.isRightPressed() ) | ||
185 | result += stringw(L"true\n"); | ||
186 | else | ||
187 | result += stringw(L"false\n"); | ||
188 | |||
189 | result += stringw(L"isMiddlePressed: "); | ||
190 | if ( event.MouseInput.isMiddlePressed() ) | ||
191 | result += stringw(L"true\n"); | ||
192 | else | ||
193 | result += stringw(L"false\n"); | ||
194 | |||
195 | result += stringw(L"Event: "); | ||
196 | |||
197 | PrintMouseEventName(event, result); | ||
198 | |||
199 | result += stringw(L"\n"); | ||
200 | } | ||
201 | |||
202 | /* | ||
203 | A typical event receiver. | ||
204 | */ | ||
205 | class MyEventReceiver : public IEventReceiver | ||
206 | { | ||
207 | public: | ||
208 | MyEventReceiver(SAppContext & context) : Context(context) { } | ||
209 | |||
210 | virtual bool OnEvent(const SEvent& event) | ||
211 | { | ||
212 | if (event.EventType == EET_GUI_EVENT ) | ||
213 | { | ||
214 | switch ( event.GUIEvent.EventType ) | ||
215 | { | ||
216 | case EGET_BUTTON_CLICKED: | ||
217 | { | ||
218 | u32 timeNow = Context.Device->getTimer()->getTime(); | ||
219 | TimerAction action; | ||
220 | action.TargetTime = timeNow + DELAY_TIME; | ||
221 | if ( event.GUIEvent.Caller == Context.ButtonSetVisible ) | ||
222 | { | ||
223 | action.Action = ETA_MOUSE_VISIBLE; | ||
224 | Context.TimerActions.push_back(action); | ||
225 | Context.ButtonSetVisible->setEnabled(false); | ||
226 | } | ||
227 | else if ( event.GUIEvent.Caller == Context.ButtonSetInvisible ) | ||
228 | { | ||
229 | action.Action = ETA_MOUSE_INVISIBLE; | ||
230 | Context.TimerActions.push_back(action); | ||
231 | Context.ButtonSetInvisible->setEnabled(false); | ||
232 | } | ||
233 | else if ( event.GUIEvent.Caller == Context.ButtonSimulateBadFps ) | ||
234 | { | ||
235 | Context.SimulateBadFps = Context.ButtonSimulateBadFps->isPressed(); | ||
236 | } | ||
237 | else if ( event.GUIEvent.Caller == Context.ButtonChangeIcon ) | ||
238 | { | ||
239 | /* | ||
240 | Replace an existing cursor icon by another icon. | ||
241 | The user has to select both - the icon which should be replaced and the icon which will replace it. | ||
242 | */ | ||
243 | s32 selectedCursor = Context.CursorBox->getSelected(); | ||
244 | s32 selectedSprite = Context.SpriteBox->getSelected(); | ||
245 | if ( selectedCursor >= 0 && selectedSprite >= 0 ) | ||
246 | { | ||
247 | /* | ||
248 | This does replace the icon. | ||
249 | */ | ||
250 | Context.Device->getCursorControl()->changeIcon((ECURSOR_ICON)selectedCursor, Context.Sprites[selectedSprite] ); | ||
251 | |||
252 | /* | ||
253 | Do also show the new icon. | ||
254 | */ | ||
255 | Context.Device->getCursorControl()->setActiveIcon( ECURSOR_ICON(selectedCursor) ); | ||
256 | } | ||
257 | } | ||
258 | } | ||
259 | break; | ||
260 | case EGET_LISTBOX_CHANGED: | ||
261 | case EGET_LISTBOX_SELECTED_AGAIN: | ||
262 | { | ||
263 | if ( event.GUIEvent.Caller == Context.CursorBox ) | ||
264 | { | ||
265 | /* | ||
266 | Find out which cursor the user selected | ||
267 | */ | ||
268 | s32 selected = Context.CursorBox->getSelected(); | ||
269 | if ( selected >= 0 ) | ||
270 | { | ||
271 | /* | ||
272 | Here we set the new cursor icon which will now be used within our window. | ||
273 | */ | ||
274 | Context.Device->getCursorControl()->setActiveIcon( ECURSOR_ICON(selected) ); | ||
275 | } | ||
276 | } | ||
277 | } | ||
278 | break; | ||
279 | default: | ||
280 | break; | ||
281 | } | ||
282 | } | ||
283 | |||
284 | if (event.EventType == EET_MOUSE_INPUT_EVENT) | ||
285 | { | ||
286 | stringw infoText; | ||
287 | PrintMouseState(event, infoText); | ||
288 | Context.InfoStatic->setText(infoText.c_str()); | ||
289 | if ( event.MouseInput.Event != EMIE_MOUSE_MOVED && event.MouseInput.Event != EMIE_MOUSE_WHEEL ) // no spam | ||
290 | { | ||
291 | infoText = L""; | ||
292 | PrintMouseEventName(event, infoText); | ||
293 | Context.EventBox->insertItem(0, infoText.c_str(), -1); | ||
294 | } | ||
295 | } | ||
296 | |||
297 | return false; | ||
298 | } | ||
299 | |||
300 | private: | ||
301 | SAppContext & Context; | ||
302 | }; | ||
303 | |||
304 | /* | ||
305 | Use several imagefiles as animation frames for a sprite which can be used as cursor icon. | ||
306 | The images in those files all need to have the same size. | ||
307 | Return sprite index on success or -1 on failure | ||
308 | */ | ||
309 | s32 AddAnimatedIconToSpriteBank( gui::IGUISpriteBank * spriteBank, video::IVideoDriver* driver, const array< io::path >& files, u32 frameTime ) | ||
310 | { | ||
311 | if ( !spriteBank || !driver || !files.size() ) | ||
312 | return -1; | ||
313 | |||
314 | video::ITexture * tex = driver->getTexture( files[0] ); | ||
315 | if ( tex ) | ||
316 | { | ||
317 | array< rect<s32> >& spritePositions = spriteBank->getPositions(); | ||
318 | u32 idxRect = spritePositions.size(); | ||
319 | spritePositions.push_back( rect<s32>(0,0, tex->getSize().Width, tex->getSize().Height) ); | ||
320 | |||
321 | SGUISprite sprite; | ||
322 | sprite.frameTime = frameTime; | ||
323 | |||
324 | array< SGUISprite >& sprites = spriteBank->getSprites(); | ||
325 | u32 startIdx = spriteBank->getTextureCount(); | ||
326 | for ( u32 f=0; f < files.size(); ++f ) | ||
327 | { | ||
328 | tex = driver->getTexture( files[f] ); | ||
329 | if ( tex ) | ||
330 | { | ||
331 | spriteBank->addTexture( driver->getTexture(files[f]) ); | ||
332 | gui::SGUISpriteFrame frame; | ||
333 | frame.rectNumber = idxRect; | ||
334 | frame.textureNumber = startIdx+f; | ||
335 | sprite.Frames.push_back( frame ); | ||
336 | } | ||
337 | } | ||
338 | |||
339 | sprites.push_back( sprite ); | ||
340 | return sprites.size()-1; | ||
341 | } | ||
342 | |||
343 | return -1; | ||
344 | } | ||
345 | |||
346 | /* | ||
347 | Use several images within one imagefile as animation frames for a sprite which can be used as cursor icon | ||
348 | The sizes of the icons within that file all need to have the same size | ||
349 | Return sprite index on success or -1 on failure | ||
350 | */ | ||
351 | s32 AddAnimatedIconToSpriteBank( gui::IGUISpriteBank * spriteBank, video::IVideoDriver* driver, const io::path& file, const array< rect<s32> >& rects, u32 frameTime ) | ||
352 | { | ||
353 | if ( !spriteBank || !driver || !rects.size() ) | ||
354 | return -1; | ||
355 | |||
356 | video::ITexture * tex = driver->getTexture( file ); | ||
357 | if ( tex ) | ||
358 | { | ||
359 | array< rect<s32> >& spritePositions = spriteBank->getPositions(); | ||
360 | u32 idxRect = spritePositions.size(); | ||
361 | u32 idxTex = spriteBank->getTextureCount(); | ||
362 | spriteBank->addTexture( tex ); | ||
363 | |||
364 | SGUISprite sprite; | ||
365 | sprite.frameTime = frameTime; | ||
366 | |||
367 | array< SGUISprite >& sprites = spriteBank->getSprites(); | ||
368 | for ( u32 i=0; i < rects.size(); ++i ) | ||
369 | { | ||
370 | spritePositions.push_back( rects[i] ); | ||
371 | |||
372 | gui::SGUISpriteFrame frame; | ||
373 | frame.rectNumber = idxRect+i; | ||
374 | frame.textureNumber = idxTex; | ||
375 | sprite.Frames.push_back( frame ); | ||
376 | } | ||
377 | |||
378 | sprites.push_back( sprite ); | ||
379 | return sprites.size()-1; | ||
380 | } | ||
381 | |||
382 | return -1; | ||
383 | } | ||
384 | |||
385 | /* | ||
386 | Create a non-animated icon from the given file and position and put it into the spritebank. | ||
387 | We can use this icon later on in a cursor. | ||
388 | */ | ||
389 | s32 AddIconToSpriteBank( gui::IGUISpriteBank * spriteBank, video::IVideoDriver* driver, const io::path& file, const core::rect<s32>& rect ) | ||
390 | { | ||
391 | if ( !spriteBank || !driver ) | ||
392 | return -1; | ||
393 | |||
394 | video::ITexture * tex = driver->getTexture( file ); | ||
395 | if ( tex ) | ||
396 | { | ||
397 | core::array< core::rect<irr::s32> >& spritePositions = spriteBank->getPositions(); | ||
398 | spritePositions.push_back( rect ); | ||
399 | array< SGUISprite >& sprites = spriteBank->getSprites(); | ||
400 | spriteBank->addTexture( tex ); | ||
401 | |||
402 | gui::SGUISpriteFrame frame; | ||
403 | frame.rectNumber = spritePositions.size()-1; | ||
404 | frame.textureNumber = spriteBank->getTextureCount()-1; | ||
405 | |||
406 | SGUISprite sprite; | ||
407 | sprite.frameTime = 0; | ||
408 | sprite.Frames.push_back( frame ); | ||
409 | |||
410 | sprites.push_back( sprite ); | ||
411 | |||
412 | return sprites.size()-1; | ||
413 | } | ||
414 | |||
415 | return -1; | ||
416 | } | ||
417 | |||
418 | int main() | ||
419 | { | ||
420 | video::E_DRIVER_TYPE driverType = driverChoiceConsole(); | ||
421 | if (driverType==video::EDT_COUNT) | ||
422 | return 1; | ||
423 | |||
424 | IrrlichtDevice * device = createDevice(driverType, dimension2d<u32>(640, 480)); | ||
425 | if (device == 0) | ||
426 | return 1; // could not create selected driver. | ||
427 | |||
428 | // It's sometimes of interest to know how the mouse behaves after a resize | ||
429 | device->setResizable(true); | ||
430 | |||
431 | device->setWindowCaption(L"Cursor control - Irrlicht engine tutorial"); | ||
432 | video::IVideoDriver* driver = device->getVideoDriver(); | ||
433 | IGUIEnvironment* env = device->getGUIEnvironment(); | ||
434 | |||
435 | gui::IGUISpriteBank * SpriteBankIcons; | ||
436 | |||
437 | SAppContext context; | ||
438 | context.Device = device; | ||
439 | |||
440 | rect< s32 > rectInfoStatic(10,10, 200, 200); | ||
441 | env->addStaticText (L"Cursor state information", rectInfoStatic, true, true); | ||
442 | rectInfoStatic.UpperLeftCorner += dimension2di(0, 15); | ||
443 | context.InfoStatic = env->addStaticText (L"", rectInfoStatic, true, true); | ||
444 | rect< s32 > rectEventBox(10,210, 200, 400); | ||
445 | env->addStaticText (L"click events (new on top)", rectEventBox, true, true); | ||
446 | rectEventBox.UpperLeftCorner += dimension2di(0, 15); | ||
447 | context.EventBox = env->addListBox(rectEventBox); | ||
448 | rect< s32 > rectCursorBox(210,10, 400, 250); | ||
449 | env->addStaticText (L"cursors, click to set the active one", rectCursorBox, true, true); | ||
450 | rectCursorBox.UpperLeftCorner += dimension2di(0, 15); | ||
451 | context.CursorBox = env->addListBox(rectCursorBox); | ||
452 | rect< s32 > rectSpriteBox(210,260, 400, 400); | ||
453 | env->addStaticText (L"sprites", rectSpriteBox, true, true); | ||
454 | rectSpriteBox.UpperLeftCorner += dimension2di(0, 15); | ||
455 | context.SpriteBox = env->addListBox(rectSpriteBox); | ||
456 | |||
457 | context.ButtonSetVisible = env->addButton( rect<s32>( 410, 20, 560, 40 ), 0, -1, L"set visible (delayed)" ); | ||
458 | context.ButtonSetInvisible = env->addButton( rect<s32>( 410, 50, 560, 70 ), 0, -1, L"set invisible (delayed)" ); | ||
459 | context.ButtonSimulateBadFps = env->addButton( rect<s32>( 410, 80, 560, 100 ), 0, -1, L"simulate bad FPS" ); | ||
460 | context.ButtonSimulateBadFps->setIsPushButton(true); | ||
461 | context.ButtonChangeIcon = env->addButton( rect<s32>( 410, 140, 560, 160 ), 0, -1, L"replace cursor icon\n(cursor+sprite must be selected)" ); | ||
462 | |||
463 | // set the names for all the system cursors | ||
464 | for ( int i=0; i < (int)gui::ECI_COUNT; ++i ) | ||
465 | { | ||
466 | context.CursorBox->addItem(stringw( GUICursorIconNames[i] ).c_str()); | ||
467 | } | ||
468 | |||
469 | /* | ||
470 | Create sprites which then can be used as cursor icons. | ||
471 | */ | ||
472 | SpriteBankIcons = env->addEmptySpriteBank(io::path("cursor_icons")); | ||
473 | context.SpriteBox->setSpriteBank(SpriteBankIcons); | ||
474 | |||
475 | // create one animated icon from several files | ||
476 | array< io::path > files; | ||
477 | files.push_back( io::path("../../media/icon_crosshairs16x16bw1.png") ); | ||
478 | files.push_back( io::path("../../media/icon_crosshairs16x16bw2.png") ); | ||
479 | files.push_back( io::path("../../media/icon_crosshairs16x16bw3.png") ); | ||
480 | files.push_back( io::path("../../media/icon_crosshairs16x16bw3.png") ); | ||
481 | files.push_back( io::path("../../media/icon_crosshairs16x16bw2.png") ); | ||
482 | SCursorSprite spriteBw; // the sprite + some additional information needed for cursors | ||
483 | spriteBw.SpriteId = AddAnimatedIconToSpriteBank( SpriteBankIcons, driver, files, 200 ); | ||
484 | spriteBw.SpriteBank = SpriteBankIcons; | ||
485 | spriteBw.HotSpot = position2d<s32>(7,7); | ||
486 | context.addIcon(L"crosshair_bw", spriteBw); | ||
487 | |||
488 | // create one animated icon from one file | ||
489 | array< rect<s32> > iconRects; | ||
490 | iconRects.push_back( rect<s32>(0,0, 16, 16) ); | ||
491 | iconRects.push_back( rect<s32>(16,0, 32, 16) ); | ||
492 | iconRects.push_back( rect<s32>(0,16, 16, 32) ); | ||
493 | iconRects.push_back( rect<s32>(0,16, 16, 32) ); | ||
494 | iconRects.push_back( rect<s32>(16,0, 32, 16) ); | ||
495 | SCursorSprite spriteCol; // the sprite + some additional information needed for cursors | ||
496 | spriteCol.SpriteId = AddAnimatedIconToSpriteBank( SpriteBankIcons, driver, io::path("../../media/icon_crosshairs16x16col.png"), iconRects, 200 ); | ||
497 | spriteCol.HotSpot = position2d<s32>(7,7); | ||
498 | spriteCol.SpriteBank = SpriteBankIcons; | ||
499 | context.addIcon(L"crosshair_colored", spriteCol); | ||
500 | |||
501 | // Create some non-animated icons | ||
502 | rect<s32> rectIcon; | ||
503 | SCursorSprite spriteNonAnimated(SpriteBankIcons, 0, position2d<s32>(7,7)); | ||
504 | |||
505 | rectIcon = rect<s32>(0,0, 16, 16); | ||
506 | spriteNonAnimated.SpriteId = AddIconToSpriteBank( SpriteBankIcons, driver, io::path("../../media/icon_crosshairs16x16col.png"), rectIcon ); | ||
507 | context.addIcon(L"crosshair_col1", spriteNonAnimated, false); | ||
508 | |||
509 | rectIcon = rect<s32>(16,0, 32, 16); | ||
510 | spriteNonAnimated.SpriteId = AddIconToSpriteBank( SpriteBankIcons, driver, io::path("../../media/icon_crosshairs16x16col.png"), rectIcon ); | ||
511 | context.addIcon(L"crosshair_col2", spriteNonAnimated, false); | ||
512 | |||
513 | rectIcon = rect<s32>(0,16, 16, 32); | ||
514 | spriteNonAnimated.SpriteId = AddIconToSpriteBank( SpriteBankIcons, driver, io::path("../../media/icon_crosshairs16x16col.png"), rectIcon ); | ||
515 | context.addIcon(L"crosshair_col3", spriteNonAnimated, false); | ||
516 | |||
517 | |||
518 | MyEventReceiver receiver(context); | ||
519 | device->setEventReceiver(&receiver); | ||
520 | |||
521 | while(device->run() && driver) | ||
522 | { | ||
523 | // if (device->isWindowActive()) | ||
524 | { | ||
525 | u32 realTimeNow = device->getTimer()->getRealTime(); | ||
526 | |||
527 | context.update(); | ||
528 | |||
529 | driver->beginScene(true, true, SColor(0,200,200,200)); | ||
530 | |||
531 | env->drawAll(); | ||
532 | |||
533 | // draw custom sprite with Irrlicht functions for comparison. It should usually look the same as the cursors. | ||
534 | if ( context.SpriteBox ) | ||
535 | { | ||
536 | s32 selectedSprite = context.SpriteBox->getSelected(); | ||
537 | if ( selectedSprite >= 0 && context.Sprites[selectedSprite].SpriteId >= 0 ) | ||
538 | { | ||
539 | SpriteBankIcons->draw2DSprite(u32(context.Sprites[selectedSprite].SpriteId), position2di(580, 140), 0, video::SColor(255, 255, 255, 255), 0, realTimeNow); | ||
540 | } | ||
541 | } | ||
542 | |||
543 | driver->endScene(); | ||
544 | } | ||
545 | |||
546 | // By simulating bad fps we can find out if hardware-support for cursors works or not. If it works the cursor will move as usual,while it otherwise will just update with 2 fps now. | ||
547 | if ( context.SimulateBadFps ) | ||
548 | { | ||
549 | device->sleep(500); // 2 fps | ||
550 | } | ||
551 | else | ||
552 | { | ||
553 | device->sleep(10); | ||
554 | } | ||
555 | } | ||
556 | |||
557 | device->drop(); | ||
558 | |||
559 | return 0; | ||
560 | } | ||
561 | |||
562 | /* | ||
563 | **/ | ||