33 Commits

Author SHA1 Message Date
359af6326b test5 2022-10-04 12:58:15 -04:00
Vulpovile
cb6be1e183 Fixed structure 2022-10-04 07:12:25 -07:00
Vulpovile
6f9e9da771 Fix merge conflicts 2022-10-04 07:08:56 -07:00
Vulpovile
d96bcd2a2b Merge pull request #78 from Vulpovile/bugfix/fix-broken-delete
Fix broken delete
2022-10-03 22:27:00 -07:00
Vulpovile
6de83febb5 Fix prefix 2022-10-03 22:26:09 -07:00
Vulpovile
aaceb4eb21 Version bump 2022-10-03 22:16:30 -07:00
Vulpovile
e1716e7417 Merge pull request #77 from Vulpovile/bugfix/fix-crash-on-void
Fix crash when bricks fall into void
2022-10-03 20:52:14 -07:00
Vulpovile
f5aaef5b16 Cleanup 2022-10-03 20:50:05 -07:00
Vulpovile
b66d524d7f Patch bump 2022-10-03 20:45:07 -07:00
Vulpovile
d468545428 Fix crash on falling into void 2022-10-03 20:44:23 -07:00
Vulpovile
1356ef52ab Merge pull request #76 from Vulpovile/feature/selection-service
Create a selection service
2022-10-03 20:16:05 -07:00
Vulpovile
67a5d99e1d Removed unused variable 2022-10-03 20:13:54 -07:00
Vulpovile
31db4dc894 Made innosetup version automatic 2022-10-03 20:00:22 -07:00
Vulpovile
50a5fd3ce1 Add program info 2022-10-03 19:48:45 -07:00
Vulpovile
a02a367a6e Fixed typo 2022-10-03 19:44:25 -07:00
Vulpovile
33a898e359 Made camera only move when application has focus 2022-10-03 19:43:35 -07:00
Vulpovile
f46e24d8f1 Moved selection to be a service 2022-10-03 19:30:38 -07:00
Vulpovile
b2db375ecf Merge pull request #75 from Vulpovile/bugfix/tie_phys_to_fps
Patch increment
2022-10-03 17:25:26 -07:00
Vulpovile
9039fbe862 Patch increment 2022-10-03 17:23:36 -07:00
DirtPiper
145e5c3340 Merge pull request #74 from Vulpovile/bugfix/tie_phys_to_fps
Tie physics to FPS
2022-10-03 20:23:24 -04:00
Vulpovile
ad741b86e5 Updated gitignore to not ignore manifest 2022-10-03 17:20:33 -07:00
Vulpovile
a04c178ed4 Made crash dialog not override AVE on debug 2022-10-03 17:19:30 -07:00
Vulpovile
584154d676 Add untracked manifest 2022-10-03 13:35:34 -07:00
88176d317c Placeholder 2022-10-03 15:28:11 -04:00
Vulpovile
6e2c135b47 Tied physics to FPS 2022-10-03 11:26:56 -07:00
Vulpovile
e8ecb14f64 Merge pull request #61 from Vulpovile/feature/bugfix_properties_duplicate
Fix Bugs
2022-10-03 08:15:25 -07:00
Vulpovile
ad29d96068 Fix manifest file 2022-10-03 07:57:11 -07:00
Vulpovile
43647086fb Fix duplication crash 2022-10-03 07:48:28 -07:00
Vulpovile
eb07d852db Add Manifest 2022-10-03 07:46:09 -07:00
Vulpovile
7f5ab0df7f Fixed selection crashing when brick is removed due to physics 2022-10-03 07:42:24 -07:00
Vulpovile
3d31421164 Add required ODE library to build
To be removed once a separate repo is made for this (ODE/G3D)
2022-10-02 21:17:27 -07:00
9dc3577bc8 splashhtml 2022-10-02 00:20:31 -04:00
3bdef8e3ab Add a broken SplashHTML 2022-10-01 14:23:57 -04:00
35 changed files with 1158 additions and 200 deletions

7
.gitignore vendored
View File

@@ -36,8 +36,6 @@
*.user
*.pdb
*.idb
*.manifest
*.htm
*.res
*.ilk
*.dep
@@ -52,7 +50,12 @@ G3DTest.suo
G3DTest.suo
stderr.txt
desktop.ini
UpgradeLog.XML
/_UpgradeReport_Files
/.vs
*.7.10.old
*.db
#Redist
!Installer/Redist/*
UpgradeLog.htm

20
Backup/Blocks3D.sln Normal file
View File

@@ -0,0 +1,20 @@

Microsoft Visual Studio Solution File, Format Version 9.00
# Visual C++ Express 2005
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Blocks3D", "Blocks3D.vcproj", "{6C4D6EEF-B1D1-456A-B850-92CAB17124BE}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{6C4D6EEF-B1D1-456A-B850-92CAB17124BE}.Debug|Win32.ActiveCfg = Debug|Win32
{6C4D6EEF-B1D1-456A-B850-92CAB17124BE}.Debug|Win32.Build.0 = Debug|Win32
{6C4D6EEF-B1D1-456A-B850-92CAB17124BE}.Release|Win32.ActiveCfg = Release|Win32
{6C4D6EEF-B1D1-456A-B850-92CAB17124BE}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

14
Blocks3D.exe.manifest Normal file
View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="0.0.106.2"
processorArchitecture="*"
name="Blocks3D.Blocks3D.Blocks3D"
type="win32"
/>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/>
</dependentAssembly>
</dependency>
</assembly>

View File

@@ -292,6 +292,10 @@
RelativePath=".\src\source\Renderer.cpp"
>
</File>
<File
RelativePath=".\src\source\SplashHTML.cpp"
>
</File>
<File
RelativePath=".\src\source\StringFunctions.cpp"
>
@@ -491,6 +495,10 @@
/>
</FileConfiguration>
</File>
<File
RelativePath=".\src\source\DataModel\SelectionService.cpp"
>
</File>
<File
RelativePath=".\src\source\DataModelV2\WorkspaceInstance.cpp"
>
@@ -718,7 +726,11 @@
>
</File>
<File
RelativePath=".\resource.h"
RelativePath=".\src\include\resource.h"
>
</File>
<File
RelativePath=".\src\include\SplashHTML.h"
>
</File>
<File
@@ -840,6 +852,10 @@
RelativePath=".\src\include\DataModelV2\PVInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV2\SelectionService.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV2\WorkspaceInstance.h"
>
@@ -898,6 +914,10 @@
Name="Resource Files"
Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
>
<File
RelativePath=".\Blocks3D.exe.manifest"
>
</File>
<File
RelativePath=".\Dialogs.rc"
>

340
Blocks3D.vcxproj Normal file
View File

@@ -0,0 +1,340 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion>
<ProjectGuid>{6C4D6EEF-B1D1-456A-B850-92CAB17124BE}</ProjectGuid>
<RootNamespace>Blocks3D</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
<CLRSupport>false</CLRSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
<UseOfAtl>false</UseOfAtl>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>17.0.32505.173</_ProjectFileVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>.\Release\</OutDir>
<IntDir>.\Release\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>.\Debug\</OutDir>
<IntDir>.\Debug\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Midl>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>Win32</TargetEnvironment>
<TypeLibraryName>.\Release/Blocks3D.tlb</TypeLibraryName>
<HeaderFileName />
</Midl>
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>.\src\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeaderOutputFile>.\Release/Blocks3D.pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\Release/</AssemblerListingLocation>
<ObjectFileName>.\Release/</ObjectFileName>
<ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x1009</Culture>
</ResourceCompile>
<Link>
<AdditionalDependencies>Advapi32.lib;Comctl32.lib;Comdlg32.lib;Shell32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>./Blocks3D.exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<ProgramDatabaseFile>.\Release/Blocks3D.pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>.\Release/Blocks3D.bsc</OutputFile>
</Bscmake>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Midl>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>Win32</TargetEnvironment>
<TypeLibraryName>.\Debug/Blocks3D.tlb</TypeLibraryName>
<HeaderFileName />
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\src\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<FunctionLevelLinking>false</FunctionLevelLinking>
<PrecompiledHeaderOutputFile>.\Debug/Blocks3D.pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
<ObjectFileName>.\Debug/</ObjectFileName>
<ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x1009</Culture>
</ResourceCompile>
<Link>
<AdditionalDependencies>Advapi32.lib;UxTheme.lib;Comctl32.lib;Comdlg32.lib;Shell32.lib;Urlmon.lib;ole32.lib;oleaut32.lib;uuid.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>./Blocks3D-Debug.exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>.\Debug/Blocks3D.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>.\Debug/Blocks3D.bsc</OutputFile>
</Bscmake>
</ItemDefinitionGroup>
<ItemGroup>
<Reference Include="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<CopyLocalSatelliteAssemblies>true</CopyLocalSatelliteAssemblies>
<ReferenceOutputAssembly>true</ReferenceOutputAssembly>
</Reference>
<Reference Include="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<CopyLocalSatelliteAssemblies>true</CopyLocalSatelliteAssemblies>
<ReferenceOutputAssembly>true</ReferenceOutputAssembly>
</Reference>
<Reference Include="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<CopyLocalSatelliteAssemblies>true</CopyLocalSatelliteAssemblies>
<ReferenceOutputAssembly>true</ReferenceOutputAssembly>
</Reference>
<Reference Include="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<CopyLocalSatelliteAssemblies>true</CopyLocalSatelliteAssemblies>
<ReferenceOutputAssembly>true</ReferenceOutputAssembly>
</Reference>
<Reference Include="System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<CopyLocalSatelliteAssemblies>true</CopyLocalSatelliteAssemblies>
<ReferenceOutputAssembly>true</ReferenceOutputAssembly>
</Reference>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\source\Application.cpp" />
<ClCompile Include="src\source\AudioPlayer.cpp" />
<ClCompile Include="src\source\ax.cpp" />
<ClCompile Include="src\source\BrowserCallHandler.cpp" />
<ClCompile Include="src\source\CameraController.cpp" />
<ClCompile Include="src\source\DataModelV2\BaseButtonInstance.cpp">
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>
<XMLDocumentationFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename)1.xdc</XMLDocumentationFileName>
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>
<XMLDocumentationFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename)1.xdc</XMLDocumentationFileName>
</ClCompile>
<ClCompile Include="src\source\DataModelV2\BaseGuiInstance.cpp" />
<ClCompile Include="src\source\DataModelV2\DataModelInstance.cpp">
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>
<XMLDocumentationFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename)1.xdc</XMLDocumentationFileName>
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>
<XMLDocumentationFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename)1.xdc</XMLDocumentationFileName>
</ClCompile>
<ClCompile Include="src\source\DataModelV2\GroupInstance.cpp">
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>
<XMLDocumentationFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename)1.xdc</XMLDocumentationFileName>
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>
<XMLDocumentationFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename)1.xdc</XMLDocumentationFileName>
</ClCompile>
<ClCompile Include="src\source\DataModelV2\GuiRootInstance.cpp">
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>
<XMLDocumentationFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename)1.xdc</XMLDocumentationFileName>
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>
<XMLDocumentationFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename)1.xdc</XMLDocumentationFileName>
</ClCompile>
<ClCompile Include="src\source\DataModelV2\ImageButtonInstance.cpp">
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>
<XMLDocumentationFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename)1.xdc</XMLDocumentationFileName>
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>
<XMLDocumentationFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename)1.xdc</XMLDocumentationFileName>
</ClCompile>
<ClCompile Include="src\source\DataModelV2\Instance.cpp">
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>
<XMLDocumentationFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename)1.xdc</XMLDocumentationFileName>
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>
<XMLDocumentationFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename)1.xdc</XMLDocumentationFileName>
</ClCompile>
<ClCompile Include="src\source\DataModelV2\LevelInstance.cpp">
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>
<XMLDocumentationFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename)1.xdc</XMLDocumentationFileName>
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>
<XMLDocumentationFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename)1.xdc</XMLDocumentationFileName>
</ClCompile>
<ClCompile Include="src\source\DataModelV2\PartInstance.cpp">
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>
<XMLDocumentationFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename)1.xdc</XMLDocumentationFileName>
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>
<XMLDocumentationFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename)1.xdc</XMLDocumentationFileName>
</ClCompile>
<ClCompile Include="src\source\DataModelV2\PVInstance.cpp">
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>
<XMLDocumentationFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename)1.xdc</XMLDocumentationFileName>
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>
<XMLDocumentationFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename)1.xdc</XMLDocumentationFileName>
</ClCompile>
<ClCompile Include="src\source\DataModelV2\TextButtonInstance.cpp">
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>
<XMLDocumentationFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename)1.xdc</XMLDocumentationFileName>
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>
<XMLDocumentationFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename)1.xdc</XMLDocumentationFileName>
</ClCompile>
<ClCompile Include="src\source\DataModelV2\ToggleImageButtonInstance.cpp">
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>
<XMLDocumentationFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename)1.xdc</XMLDocumentationFileName>
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>
<XMLDocumentationFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename)1.xdc</XMLDocumentationFileName>
</ClCompile>
<ClCompile Include="src\source\DataModelV2\WorkspaceInstance.cpp">
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>
<XMLDocumentationFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename)1.xdc</XMLDocumentationFileName>
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>
<XMLDocumentationFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename)1.xdc</XMLDocumentationFileName>
</ClCompile>
<ClCompile Include="src\source\ErrorFunctions.cpp" />
<ClCompile Include="src\source\Globals.cpp" />
<ClCompile Include="src\source\IEBrowser.cpp" />
<ClCompile Include="src\source\IEDispatcher.cpp" />
<ClCompile Include="src\source\Listener\ButtonListener.cpp" />
<ClCompile Include="src\source\Listener\CameraButtonListener.cpp" />
<ClCompile Include="src\source\Listener\DeleteListener.cpp" />
<ClCompile Include="src\source\Listener\GUDButtonListener.cpp" />
<ClCompile Include="src\source\Listener\MenuButtonListener.cpp" />
<ClCompile Include="src\source\Listener\ModeSelectionListener.cpp" />
<ClCompile Include="src\source\Listener\RotateButtonListener.cpp" />
<ClCompile Include="src\source\Listener\ToolbarListener.cpp" />
<ClCompile Include="src\source\main.cpp" />
<ClCompile Include="src\source\Mouse.cpp" />
<ClCompile Include="src\source\Properties\BoolProperty.cpp" />
<ClCompile Include="src\source\Properties\Property.cpp" />
<ClCompile Include="src\source\propertyGrid.cpp" />
<ClCompile Include="src\source\PropertyWindow.cpp" />
<ClCompile Include="src\source\Renderer.cpp" />
<ClCompile Include="src\source\StringFunctions.cpp" />
<ClCompile Include="src\source\TextureHandler.cpp" />
<ClCompile Include="src\source\Tool\ArrowTool.cpp" />
<ClCompile Include="src\source\Tool\SurfaceTool.cpp" />
<ClCompile Include="src\source\Tool\Tool.cpp" />
<ClCompile Include="src\source\WindowFunctions.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="resource.h" />
<ClInclude Include="src\include\Application.h" />
<ClInclude Include="src\include\AudioPlayer.h" />
<ClInclude Include="src\include\ax.h" />
<ClInclude Include="src\include\BrowserCallHandler.h" />
<ClInclude Include="src\include\CameraController.h" />
<ClInclude Include="src\include\DataModelV2\BaseButtonInstance.h" />
<ClInclude Include="src\include\DataModelV2\BaseGuiInstance.h" />
<ClInclude Include="src\include\DataModelV2\DataModelInstance.h" />
<ClInclude Include="src\include\DataModelV2\GroupInstance.h" />
<ClInclude Include="src\include\DataModelV2\GuiRootInstance.h" />
<ClInclude Include="src\include\DataModelV2\ImageButtonInstance.h" />
<ClInclude Include="src\include\DataModelV2\Instance.h" />
<ClInclude Include="src\include\DataModelV2\LevelInstance.h" />
<ClInclude Include="src\include\DataModelV2\PartInstance.h" />
<ClInclude Include="src\include\DataModelV2\PVInstance.h" />
<ClInclude Include="src\include\DataModelV2\TextButtonInstance.h" />
<ClInclude Include="src\include\DataModelV2\ToggleImageButtonInstance.h" />
<ClInclude Include="src\include\DataModelV2\WorkspaceInstance.h" />
<ClInclude Include="src\include\DataModel\WorkspaceInstance.h" />
<ClInclude Include="src\include\Enum.h" />
<ClInclude Include="src\include\ErrorFunctions.h" />
<ClInclude Include="src\include\Faces.h" />
<ClInclude Include="src\include\Globals.h" />
<ClInclude Include="src\include\IEBrowser.h" />
<ClInclude Include="src\include\IEDispatcher.h" />
<ClInclude Include="src\include\Listener\ButtonListener.h" />
<ClInclude Include="src\include\Listener\CameraButtonListener.h" />
<ClInclude Include="src\include\Listener\DeleteListener.h" />
<ClInclude Include="src\include\Listener\GUDButtonListener.h" />
<ClInclude Include="src\include\Listener\MenuButtonListener.h" />
<ClInclude Include="src\include\Listener\ModeSelectionListener.h" />
<ClInclude Include="src\include\Listener\RotateButtonListener.h" />
<ClInclude Include="src\include\Listener\ToolbarListener.h" />
<ClInclude Include="src\include\Mouse.h" />
<ClInclude Include="src\include\Properties\BoolProperty.h" />
<ClInclude Include="src\include\Properties\Property.h" />
<ClInclude Include="src\include\propertyGrid.h" />
<ClInclude Include="src\include\PropertyWindow.h" />
<ClInclude Include="src\include\rapidxml\rapidxml.hpp" />
<ClInclude Include="src\include\rapidxml\rapidxml_iterators.hpp" />
<ClInclude Include="src\include\rapidxml\rapidxml_print.hpp" />
<ClInclude Include="src\include\rapidxml\rapidxml_utils.hpp" />
<ClInclude Include="src\include\Renderer.h" />
<ClInclude Include="src\include\StringFunctions.h" />
<ClInclude Include="src\include\TextureHandler.h" />
<ClInclude Include="src\include\Tool\ArrowTool.h" />
<ClInclude Include="src\include\Tool\SurfaceTool.h" />
<ClInclude Include="src\include\Tool\Tool.h" />
<ClInclude Include="src\include\win32Defines.h" />
<ClInclude Include="src\include\WindowFunctions.h" />
<ClInclude Include="src\include\winver.h" />
</ItemGroup>
<ItemGroup>
<None Include="B3dIcon.ico" />
<None Include="FatB3dIcon.ico" />
<None Include="Parts.bmp" />
<None Include="roblox_RN1_icon.ico" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Dialogs.rc" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<ProjectExtensions>
<VisualStudio>
<UserProperties RESOURCE_FILE="Dialogs.rc" />
</VisualStudio>
</ProjectExtensions>
</Project>

358
Blocks3D.vcxproj.filters Normal file
View File

@@ -0,0 +1,358 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{9571c986-a719-4aa9-8f06-edd22511bbbf}</UniqueIdentifier>
<Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
</Filter>
<Filter Include="Source Files\Tool">
<UniqueIdentifier>{10225c23-5e14-45ed-aa65-5e2952d83749}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Listener">
<UniqueIdentifier>{9a362f2a-3ea4-4130-80e1-c7dae14a8862}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\DataModelV2">
<UniqueIdentifier>{018ed0d2-9b98-424f-9af8-172600aa12e3}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\DataModelV2\Gui">
<UniqueIdentifier>{870b4a49-cf43-4f47-8321-f48d7b01816b}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Properties">
<UniqueIdentifier>{7d5f8016-5447-4c00-b9cd-d2c5bb2e59b8}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{f959d8b8-bb6a-4c70-ad2c-f1c66758c461}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl</Extensions>
</Filter>
<Filter Include="Header Files\RapidXML">
<UniqueIdentifier>{6db93330-5b80-4675-8d44-4db372d9d5b5}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Listener">
<UniqueIdentifier>{8bb34ca3-25fe-465c-a77e-8057005450b0}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Tool">
<UniqueIdentifier>{b00aefef-dafe-4dc3-8aec-d5a4d56dd2e0}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\DataModelV2">
<UniqueIdentifier>{c13ee511-5b6b-4b79-8402-31323e149b75}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\DataModelV2\Gui">
<UniqueIdentifier>{2414eb84-1360-4601-af93-51eb6639ba14}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Properties">
<UniqueIdentifier>{1ff12666-0b54-4e78-8a68-43853c4f7f12}</UniqueIdentifier>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{f27a93e2-d403-4b4e-ac57-4081d78febbc}</UniqueIdentifier>
<Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\source\Application.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\source\AudioPlayer.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\source\ax.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\source\BrowserCallHandler.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\source\CameraController.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\source\ErrorFunctions.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\source\Globals.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\source\IEBrowser.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\source\IEDispatcher.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\source\main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\source\Mouse.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\source\propertyGrid.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\source\PropertyWindow.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\source\Renderer.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\source\StringFunctions.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\source\TextureHandler.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\source\WindowFunctions.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\source\Tool\ArrowTool.cpp">
<Filter>Source Files\Tool</Filter>
</ClCompile>
<ClCompile Include="src\source\Tool\SurfaceTool.cpp">
<Filter>Source Files\Tool</Filter>
</ClCompile>
<ClCompile Include="src\source\Tool\Tool.cpp">
<Filter>Source Files\Tool</Filter>
</ClCompile>
<ClCompile Include="src\source\Listener\ButtonListener.cpp">
<Filter>Source Files\Listener</Filter>
</ClCompile>
<ClCompile Include="src\source\Listener\CameraButtonListener.cpp">
<Filter>Source Files\Listener</Filter>
</ClCompile>
<ClCompile Include="src\source\Listener\DeleteListener.cpp">
<Filter>Source Files\Listener</Filter>
</ClCompile>
<ClCompile Include="src\source\Listener\GUDButtonListener.cpp">
<Filter>Source Files\Listener</Filter>
</ClCompile>
<ClCompile Include="src\source\Listener\MenuButtonListener.cpp">
<Filter>Source Files\Listener</Filter>
</ClCompile>
<ClCompile Include="src\source\Listener\ModeSelectionListener.cpp">
<Filter>Source Files\Listener</Filter>
</ClCompile>
<ClCompile Include="src\source\Listener\RotateButtonListener.cpp">
<Filter>Source Files\Listener</Filter>
</ClCompile>
<ClCompile Include="src\source\Listener\ToolbarListener.cpp">
<Filter>Source Files\Listener</Filter>
</ClCompile>
<ClCompile Include="src\source\DataModelV2\DataModelInstance.cpp">
<Filter>Source Files\DataModelV2</Filter>
</ClCompile>
<ClCompile Include="src\source\DataModelV2\GroupInstance.cpp">
<Filter>Source Files\DataModelV2</Filter>
</ClCompile>
<ClCompile Include="src\source\DataModelV2\Instance.cpp">
<Filter>Source Files\DataModelV2</Filter>
</ClCompile>
<ClCompile Include="src\source\DataModelV2\LevelInstance.cpp">
<Filter>Source Files\DataModelV2</Filter>
</ClCompile>
<ClCompile Include="src\source\DataModelV2\PartInstance.cpp">
<Filter>Source Files\DataModelV2</Filter>
</ClCompile>
<ClCompile Include="src\source\DataModelV2\PVInstance.cpp">
<Filter>Source Files\DataModelV2</Filter>
</ClCompile>
<ClCompile Include="src\source\DataModelV2\WorkspaceInstance.cpp">
<Filter>Source Files\DataModelV2</Filter>
</ClCompile>
<ClCompile Include="src\source\DataModelV2\BaseButtonInstance.cpp">
<Filter>Source Files\DataModelV2\Gui</Filter>
</ClCompile>
<ClCompile Include="src\source\DataModelV2\BaseGuiInstance.cpp">
<Filter>Source Files\DataModelV2\Gui</Filter>
</ClCompile>
<ClCompile Include="src\source\DataModelV2\GuiRootInstance.cpp">
<Filter>Source Files\DataModelV2\Gui</Filter>
</ClCompile>
<ClCompile Include="src\source\DataModelV2\ImageButtonInstance.cpp">
<Filter>Source Files\DataModelV2\Gui</Filter>
</ClCompile>
<ClCompile Include="src\source\DataModelV2\TextButtonInstance.cpp">
<Filter>Source Files\DataModelV2\Gui</Filter>
</ClCompile>
<ClCompile Include="src\source\DataModelV2\ToggleImageButtonInstance.cpp">
<Filter>Source Files\DataModelV2\Gui</Filter>
</ClCompile>
<ClCompile Include="src\source\Properties\BoolProperty.cpp">
<Filter>Source Files\Properties</Filter>
</ClCompile>
<ClCompile Include="src\source\Properties\Property.cpp">
<Filter>Source Files\Properties</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="src\include\Application.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\include\AudioPlayer.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\include\ax.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\include\BrowserCallHandler.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\include\CameraController.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\include\Enum.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\include\ErrorFunctions.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\include\Faces.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\include\Globals.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\include\IEBrowser.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\include\IEDispatcher.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\include\Mouse.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\include\propertyGrid.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\include\PropertyWindow.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\include\Renderer.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="resource.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\include\StringFunctions.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\include\TextureHandler.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\include\win32Defines.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\include\WindowFunctions.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\include\winver.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\include\rapidxml\rapidxml.hpp">
<Filter>Header Files\RapidXML</Filter>
</ClInclude>
<ClInclude Include="src\include\rapidxml\rapidxml_iterators.hpp">
<Filter>Header Files\RapidXML</Filter>
</ClInclude>
<ClInclude Include="src\include\rapidxml\rapidxml_print.hpp">
<Filter>Header Files\RapidXML</Filter>
</ClInclude>
<ClInclude Include="src\include\rapidxml\rapidxml_utils.hpp">
<Filter>Header Files\RapidXML</Filter>
</ClInclude>
<ClInclude Include="src\include\Listener\ButtonListener.h">
<Filter>Header Files\Listener</Filter>
</ClInclude>
<ClInclude Include="src\include\Listener\CameraButtonListener.h">
<Filter>Header Files\Listener</Filter>
</ClInclude>
<ClInclude Include="src\include\Listener\DeleteListener.h">
<Filter>Header Files\Listener</Filter>
</ClInclude>
<ClInclude Include="src\include\Listener\GUDButtonListener.h">
<Filter>Header Files\Listener</Filter>
</ClInclude>
<ClInclude Include="src\include\Listener\MenuButtonListener.h">
<Filter>Header Files\Listener</Filter>
</ClInclude>
<ClInclude Include="src\include\Listener\ModeSelectionListener.h">
<Filter>Header Files\Listener</Filter>
</ClInclude>
<ClInclude Include="src\include\Listener\RotateButtonListener.h">
<Filter>Header Files\Listener</Filter>
</ClInclude>
<ClInclude Include="src\include\Listener\ToolbarListener.h">
<Filter>Header Files\Listener</Filter>
</ClInclude>
<ClInclude Include="src\include\DataModel\WorkspaceInstance.h">
<Filter>Header Files\Listener</Filter>
</ClInclude>
<ClInclude Include="src\include\Tool\ArrowTool.h">
<Filter>Header Files\Tool</Filter>
</ClInclude>
<ClInclude Include="src\include\Tool\SurfaceTool.h">
<Filter>Header Files\Tool</Filter>
</ClInclude>
<ClInclude Include="src\include\Tool\Tool.h">
<Filter>Header Files\Tool</Filter>
</ClInclude>
<ClInclude Include="src\include\DataModelV2\DataModelInstance.h">
<Filter>Header Files\DataModelV2</Filter>
</ClInclude>
<ClInclude Include="src\include\DataModelV2\GroupInstance.h">
<Filter>Header Files\DataModelV2</Filter>
</ClInclude>
<ClInclude Include="src\include\DataModelV2\Instance.h">
<Filter>Header Files\DataModelV2</Filter>
</ClInclude>
<ClInclude Include="src\include\DataModelV2\LevelInstance.h">
<Filter>Header Files\DataModelV2</Filter>
</ClInclude>
<ClInclude Include="src\include\DataModelV2\PartInstance.h">
<Filter>Header Files\DataModelV2</Filter>
</ClInclude>
<ClInclude Include="src\include\DataModelV2\PVInstance.h">
<Filter>Header Files\DataModelV2</Filter>
</ClInclude>
<ClInclude Include="src\include\DataModelV2\WorkspaceInstance.h">
<Filter>Header Files\DataModelV2</Filter>
</ClInclude>
<ClInclude Include="src\include\DataModelV2\BaseButtonInstance.h">
<Filter>Header Files\DataModelV2\Gui</Filter>
</ClInclude>
<ClInclude Include="src\include\DataModelV2\BaseGuiInstance.h">
<Filter>Header Files\DataModelV2\Gui</Filter>
</ClInclude>
<ClInclude Include="src\include\DataModelV2\GuiRootInstance.h">
<Filter>Header Files\DataModelV2\Gui</Filter>
</ClInclude>
<ClInclude Include="src\include\DataModelV2\ImageButtonInstance.h">
<Filter>Header Files\DataModelV2\Gui</Filter>
</ClInclude>
<ClInclude Include="src\include\DataModelV2\TextButtonInstance.h">
<Filter>Header Files\DataModelV2\Gui</Filter>
</ClInclude>
<ClInclude Include="src\include\DataModelV2\ToggleImageButtonInstance.h">
<Filter>Header Files\DataModelV2\Gui</Filter>
</ClInclude>
<ClInclude Include="src\include\Properties\BoolProperty.h">
<Filter>Header Files\Properties</Filter>
</ClInclude>
<ClInclude Include="src\include\Properties\Property.h">
<Filter>Header Files\Properties</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="B3dIcon.ico">
<Filter>Resource Files</Filter>
</None>
<None Include="FatB3dIcon.ico">
<Filter>Resource Files</Filter>
</None>
<None Include="Parts.bmp">
<Filter>Resource Files</Filter>
</None>
<None Include="roblox_RN1_icon.ico">
<Filter>Resource Files</Filter>
</None>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Dialogs.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
</Project>

View File

@@ -7,6 +7,17 @@
#include <richedit.h>
#include "src/include/resource.h"
#define APP_GENER 0
#define APP_MAJOR 0
#define APP_MINOR 106
#define APP_PATCH 2
#define APP_VER_STRING APP_GENER.APP_MAJOR.APP_MINOR.APP_PATCH
#define VER_PREFIX( N ) v##N
#define HSTR( N ) #N
#define STR( N ) HSTR( N )
#define VER_STR( N ) STR( VER_PREFIX( N ) )
@@ -16,7 +27,39 @@
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_CAN
IDB_BITMAP1 BITMAP "Parts.bmp"
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
1 VERSIONINFO
FILEVERSION APP_GENER,APP_MAJOR,APP_MINOR,APP_PATCH
PRODUCTVERSION APP_GENER,APP_MAJOR,APP_MINOR,APP_PATCH
FILEOS VOS__WINDOWS32
FILETYPE VFT_APP
FILESUBTYPE VFT2_UNKNOWN
FILEFLAGSMASK 0
FILEFLAGS 0
{
BLOCK "StringFileInfo"
{
BLOCK "100901B5"
{
VALUE "Comments", ""
VALUE "CompanyName", "Blocks3D Team"
VALUE "FileDescription", "Blocks 3D"
VALUE "FileVersion", VER_STR(APP_VER_STRING)
VALUE "InternalName", "Blocks3D"
VALUE "LegalCopyright", "Blocks3D Team - 2022"
VALUE "LegalTrademarks", ""
VALUE "OriginalFilename", "Blocks3D.exe"
VALUE "PrivateBuild", ""
VALUE "ProductName", "Blocks3D"
VALUE "ProductVersion", VER_STR(APP_VER_STRING)
VALUE "SpecialBuild", ""
}
}
BLOCK "VarFileInfo"
{
VALUE "Translation", 0x1009, 0x01B5
}
}
//
// Dialog resources
@@ -41,3 +84,13 @@ FONT 8, "Ms Shell Dlg"
//
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_CAN
IDI_ICON1 ICON "FatB3dIcon.ico"
//
// Manifest resources
//
#ifndef _DEBUG
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
1 MANIFEST ".\\Blocks3D.exe.manifest"
#endif

View File

@@ -1,14 +1,15 @@
;InnoSetupVersion=5.4.3
#define AppVer GetFileVersion('..\Blocks3D.exe')
[Setup]
AppName=Blocks3D
AppVersion=v{#AppVer}
AppId={{4C5DF268-0208-4CDE-A7F0-65F7E2CB5067}
AppVersion=v0.0.105.0
AppPublisherURL=http://blocks3d.com/
AppSupportURL=http://blocks3d.com/
AppUpdatesURL=http://blocks3d.com/
DefaultDirName={%localappdata}\Blocks3D
OutputBaseFilename=Blocks3D_Setup_{#SetupSetting("AppVersion")}
OutputBaseFilename=Blocks3D_Setup_v{#AppVer}
Compression=lzma2
PrivilegesRequired=lowest
WizardImageFile=setup.bmp

View File

BIN
ode-0.5.7z Normal file

Binary file not shown.

View File

@@ -32,7 +32,6 @@ class Application { // : public GApp {
PartInstance* makePart();
void drawButtons(RenderDevice* rd);
void drawOutline(Vector3 from, Vector3 to, RenderDevice* rd, LightingParameters lighting, Vector3 size, Vector3 pos, CoordinateFrame c);
std::vector<Instance*> getSelection();
void deleteInstance();
void run();
void QuitApp();
@@ -60,6 +59,7 @@ class Application { // : public GApp {
Tool * tool;
void changeTool(Tool *);
Mouse mouse;
bool viewportHasFocus();
private:
bool mouseMoveState;
RenderDevice* renderDevice;

View File

@@ -2,6 +2,7 @@
#include "WorkspaceInstance.h"
#include "LevelInstance.h"
#include "PartInstance.h"
#include "SelectionService.h"
#include "rapidxml/rapidxml.hpp"
#include "GuiRootInstance.h"
#include "XplicitNgine/XplicitNgine.h"
@@ -30,12 +31,7 @@ public:
bool showMessage;
G3D::GFontRef font;
GuiRootInstance* getGuiRoot();
//float mousex;
//float mousey;
//Vector2 getMousePos();
//void setMousePos(int x,int y);
//void setMousePos(Vector2 pos);
//bool mouseButton1Down;
SelectionService* getSelectionService();
PartInstance* makePart();
void clearLevel();
void toggleRun();
@@ -56,6 +52,7 @@ private:
WorkspaceInstance* workspace;
LevelInstance * level;
GuiRootInstance* guiRoot;
SelectionService* selectionService;
bool running;
XplicitNgine * xplicitNgine;
};

View File

@@ -5,6 +5,7 @@ class LevelInstance :
public Instance
{
public:
std::string SplashHTML;
LevelInstance(void);
~LevelInstance(void);
float timer;

View File

@@ -0,0 +1,21 @@
#pragma once
#include "Instance.h"
#include "PropertyWindow.h"
class SelectionService : public Instance
{
public:
SelectionService(void);
~SelectionService(void);
SelectionService(const SelectionService &oinst);
std::vector<Instance *> getSelection();
void clearSelection();
bool isSelected(Instance * instance);
void addSelected(Instance * instance);
void removeSelected(Instance * instance);
void addSelected(const std::vector<Instance *> &instances);
void setPropertyWindow(PropertyWindow * propertyWindow);
private:
std::vector<Instance *> selection;
PropertyWindow * propertyWindow;
};

View File

@@ -25,7 +25,6 @@ public:
};
extern std::vector<Instance*> postRenderStack;
extern std::vector<Instance*> g_selectedInstances;
extern bool running;
extern DataModelInstance* g_dataModel;
extern XplicitNgine* g_xplicitNgine;

View File

@@ -5,13 +5,14 @@ class PropertyWindow {
public:
PropertyWindow(int x, int y, int sx, int sy, HMODULE hThisInstance);
bool onCreate(int x, int y, int sx, int sy, HMODULE hThisInstance);
void UpdateSelected(Instance *);
void UpdateSelected(std::vector<Instance *> selection);
void ClearProperties();
void onResize();
void refreshExplorer(Instance* selectedInstance);
void refreshExplorer(std::vector<Instance *> selection);
HWND _hwndProp;
private:
HWND _propGrid;
HWND _explorerComboBox;
void _resize();
void clearExplorer();
};

3
src/include/SplashHTML.h Normal file
View File

@@ -0,0 +1,3 @@
#include <string>
//int SplashHTMLLoad(std::string strHTML);
int SplashHTMLLoad(std::string strHTML);

View File

@@ -25,6 +25,7 @@
#include "PropertyWindow.h"
#include <commctrl.h>
#include "StringFunctions.h"
#include "SplashHTML.h"
#include "Listener/GUDButtonListener.h"
#include "Listener/ModeSelectionListener.h"
@@ -143,6 +144,11 @@ Application::Application(HWND parentWindow) : _propWindow(NULL) { //: GApp(setti
}
bool Application::viewportHasFocus()
{
return GetActiveWindow() == this->_hWndMain;
}
void Application::navigateToolbox(std::string path)
{
int len = path.size() + 1;
@@ -154,28 +160,29 @@ void Application::navigateToolbox(std::string path)
void Application::deleteInstance()
{
if(g_selectedInstances.size() > 0)
if(_dataModel->getSelectionService()->getSelection().size() > 0)
{
size_t undeletable = 0;
while(g_selectedInstances.size() > undeletable)
{
if(g_selectedInstances.at(0)->canDelete)
std::vector<Instance *> selection = _dataModel->getSelectionService()->getSelection();
std::vector<Instance *> toDelete;
for(size_t i = 0; i < selection.size(); i++) {
if(selection[i]->canDelete) {
toDelete.push_back(selection[i]);
}
}
if(toDelete.size() > 0)
{
AudioPlayer::playSound(GetFileInPath("/content/sounds/pageturn.wav"));
Instance* selectedInstance = g_selectedInstances.at(0);
for(size_t i = 0; i < toDelete.size(); i++) {
Instance* selectedInstance = toDelete[i];
_dataModel->getSelectionService()->removeSelected(selectedInstance);
selectedInstance->setParent(NULL);
delete selectedInstance;
selectedInstance = NULL;
g_selectedInstances.erase(g_selectedInstances.begin());
}
else
{
undeletable++;
}
}
}
if(g_selectedInstances.size() == 0)
g_usableApp->_propWindow->ClearProperties();
if(_dataModel->getSelectionService()->getSelection().size() == 0)
_dataModel->getSelectionService()->addSelected(_dataModel);
}
@@ -279,7 +286,12 @@ void Application::onInit() {
#else
_dataModel->debugGetOpen();
#endif
LevelInstance * level = g_dataModel->getLevel();
std::string GetCurrentSplash = level->SplashHTML;
SplashHTMLLoad(GetCurrentSplash);
_dataModel->getSelectionService()->clearSelection();
_dataModel->getSelectionService()->addSelected(_dataModel);
@@ -311,10 +323,6 @@ void Application::onNetwork() {
// return pow(pow((double)vector1.x - (double)vector2.x, 2) + pow((double)vector1.y - (double)vector2.y, 2) + pow((double)vector1.z - (double)vector2.z, 2), 0.5);
//}
std::vector<Instance*> Application::getSelection()
{
return g_selectedInstances;
}
void Application::onSimulation(RealTime rdt, SimTime sdt, SimTime idt) {
if(_dataModel->isRunning())
@@ -335,12 +343,13 @@ void Application::onSimulation(RealTime rdt, SimTime sdt, SimTime idt) {
{
PartInstance * p = toDelete.back();
toDelete.pop_back();
g_dataModel->getSelectionService()->removeSelected(p);
p->setParent(NULL);
delete p;
}
for(int i = 0; i < 6; i++)
{
_dataModel->getEngine()->step(sdt*2);
_dataModel->getEngine()->step(0.1F);
}
onLogic();
@@ -590,18 +599,16 @@ void Application::onGraphics(RenderDevice* rd) {
//Draw::box(G3D::Box(mouse.getPosition()-Vector3(2,0.5F,1),mouse.getPosition()+Vector3(2,0.5F,1)), rd, Color3::cyan(), Color4::clear());
if(g_selectedInstances.size() > 0)
for(size_t i = 0; i < _dataModel->getSelectionService()->getSelection().size(); i++)
{
for(size_t i = 0; i < g_selectedInstances.size(); i++)
{
if(PartInstance* part = dynamic_cast<PartInstance*>(g_selectedInstances.at(i)))
if(PartInstance* part = dynamic_cast<PartInstance*>(g_dataModel->getSelectionService()->getSelection()[i]))
{
Vector3 size = part->getSize();
Vector3 pos = part->getPosition();
drawOutline(Vector3(0+size.x/2, 0+size.y/2, 0+size.z/2) ,Vector3(0-size.x/2,0-size.y/2,0-size.z/2), rd, lighting, Vector3(size.x/2, size.y/2, size.z/2), Vector3(pos.x, pos.y, pos.z), part->getCFrame());
}
}
}
//Vector3 gamepoint = Vector3(0, 5, 0);
@@ -689,12 +696,6 @@ void Application::onKeyUp(int key)
void Application::onMouseLeftPressed(HWND hwnd,int x,int y)
{
//Removed set focus
//std::cout << "Click: " << x << "," << y << std::endl;
bool onGUI = _dataModel->getGuiRoot()->mouseInGUI(renderDevice, x, y);
@@ -704,19 +705,6 @@ void Application::onMouseLeftPressed(HWND hwnd,int x,int y)
}
}
void Application::selectInstance(Instance* selectedInstance, PropertyWindow* propWindow)
{
if(!GetHoldKeyState(VK_RCONTROL) && !GetHoldKeyState(VK_LCONTROL))
{
printf("No control key hold \n");
g_selectedInstances.clear();
}
else printf("Control held\n");
if(std::find(g_selectedInstances.begin(), g_selectedInstances.end(),selectedInstance)==g_selectedInstances.end())
g_selectedInstances.push_back(selectedInstance);
propWindow->UpdateSelected(selectedInstance);
}
G3D::RenderDevice* Application::getRenderDevice()
{
return renderDevice;
@@ -724,13 +712,9 @@ G3D::RenderDevice* Application::getRenderDevice()
void Application::onMouseLeftUp(G3D::RenderDevice* renderDevice, int x, int y)
{
//std::cout << "Release: " << x << "," << y << std::endl;
_dataModel->getGuiRoot()->onMouseLeftUp(renderDevice, x, y);
_dragging = false;
tool->onButton1MouseUp(mouse);
//_message = "Dragging = false.";
//_messageTime = System::time();
}
void Application::onMouseRightPressed(int x,int y)
@@ -750,8 +734,6 @@ void Application::onMouseMoved(int x,int y)
mouse.y = y;
//tool->onMouseMoved(mouse);
mouseMoveState = true;
//_dataModel->mousex = x;
//_dataModel->mousey = y;
}
void Application::onMouseWheel(int x,int y,short delta)

View File

@@ -193,6 +193,8 @@ void CameraController::update(Application* app)
Vector3 cameraPos = g3dCamera.getCoordinateFrame().translation;
CoordinateFrame frame = g3dCamera.getCoordinateFrame();
bool moving=false;
if(!app->viewportHasFocus())
return;
if(GetHoldKeyState('U')) {
forwards = true;
moving=true;

View File

@@ -0,0 +1,58 @@
#include "DataModelV2/SelectionService.h"
SelectionService::SelectionService(void){
Instance::Instance();
propertyWindow = NULL;
}
SelectionService::~SelectionService(void){
}
SelectionService::SelectionService(const SelectionService &oinst){
Instance::Instance(oinst);
propertyWindow = NULL;
}
std::vector<Instance *> SelectionService::getSelection(){
return this->selection;
}
void SelectionService::clearSelection(){
this->selection.clear();
if(propertyWindow != NULL)
propertyWindow->ClearProperties();
printf("selectionSize: %d\n", selection.size());
}
bool SelectionService::isSelected(Instance * instance){
return std::find(selection.begin(), selection.end(), instance) != selection.end();
}
void SelectionService::addSelected(Instance * instance){
if(!isSelected(instance))
this->selection.push_back(instance);
if(propertyWindow != NULL)
propertyWindow->UpdateSelected(selection);
printf("selectionSize: %d\n", selection.size());
}
void SelectionService::removeSelected(Instance * instance){
selection.erase(std::remove(selection.begin(), selection.end(), instance), selection.end());
if(propertyWindow != NULL)
propertyWindow->UpdateSelected(selection);
printf("selectionSize: %d\n", selection.size());
}
void SelectionService::addSelected(const std::vector<Instance *> &instances){
for(size_t i = 0; i < instances.size(); i++)
{
if(!isSelected(instances[i]))
this->selection.push_back(instances[i]);
}
if(propertyWindow != NULL)
propertyWindow->UpdateSelected(selection);
printf("selectionSize: %d\n", selection.size());
}
void SelectionService::setPropertyWindow(PropertyWindow * propertyWindow)
{
this->propertyWindow = propertyWindow;
if(propertyWindow != NULL)
propertyWindow->ClearProperties();
printf("selectionSize: %d\n", selection.size());
}

View File

@@ -1,5 +1,6 @@
#include <string>
#include "DataModelV2/GuiRootInstance.h"
#include "DataModelV2/ToggleImageButtonInstance.h"
#include "DataModelV2/DataModelInstance.h"
#include <fstream>
#include <iostream>
@@ -19,6 +20,8 @@ DataModelInstance::DataModelInstance(void)
workspace = new WorkspaceInstance();
guiRoot = new GuiRootInstance();
level = new LevelInstance();
selectionService = new SelectionService();
selectionService->setPropertyWindow(g_usableApp->_propWindow);
//children.push_back(workspace);
//children.push_back(level);
className = "dataModel";
@@ -61,6 +64,7 @@ void DataModelInstance::toggleRun()
//if(!running)
//resetEngine();
}
bool DataModelInstance::isRunning()
{
return running;
@@ -83,8 +87,17 @@ void DataModelInstance::modXMLLevel(float modY)
void DataModelInstance::clearLevel()
{
running = false;
Instance * goButton = this->getGuiRoot()->findFirstChild("go");
if(goButton != NULL){
if(ToggleImageButtonInstance* goButtonReal = dynamic_cast<ToggleImageButtonInstance*>(goButton))
{
goButtonReal->checked = false;
}
}
selectionService->clearSelection();
selectionService->addSelected(this);
workspace->clearChildren();
g_usableApp->_propWindow->UpdateSelected(this);
}
PartInstance* DataModelInstance::makePart()
{
@@ -480,6 +493,8 @@ bool DataModelInstance::load(const char* filename, bool clearObjects)
std::string tname = hname.substr(0, hname.length() - 5);
name = tname;
resetEngine();
selectionService->clearSelection();
selectionService->addSelected(this);
return true;
}
else
@@ -622,25 +637,16 @@ WorkspaceInstance* DataModelInstance::getWorkspace()
{
return workspace;
}
/*Vector2 DataModelInstance::getMousePos()
{
return Vector2(mousex,mousey);
}
void DataModelInstance::setMousePos(int x,int y)
{
mousex=x;
mousey=y;
}
void DataModelInstance::setMousePos(Vector2 pos)
{
mousex=pos.x;
mousey=pos.y;
}*/
GuiRootInstance* DataModelInstance::getGuiRoot()
{
return guiRoot;
}
SelectionService* DataModelInstance::getSelectionService()
{
return selectionService;
}
LevelInstance* DataModelInstance::getLevel()
{

View File

@@ -507,8 +507,8 @@ void GuiRootInstance::update()
button4->disabled = true;
button5->disabled = true;
button6->disabled = true;
for(size_t i = 0; i < g_selectedInstances.size(); i++)
if(g_selectedInstances.at(i)->canDelete)
for(size_t i = 0; i < g_dataModel->getSelectionService()->getSelection().size(); i++)
if(g_dataModel->getSelectionService()->getSelection()[i]->canDelete)
{
button->disabled = false;
button2->disabled = false;

View File

@@ -3,6 +3,7 @@
LevelInstance::LevelInstance(void)
{
Instance::Instance();
SplashHTML = "<html><body><b>Test</b><body></html>";
name = "Level";
winMessage = "You Won!";
loseMessage = "You Lost. Try Again";
@@ -23,6 +24,11 @@ std::vector<PROPGRIDITEM> LevelInstance::getProperties()
std::vector<PROPGRIDITEM> properties = Instance::getProperties();
properties.push_back(createPGI("Properties",
"SplashHTML",
"HTML that shows when the Level is loaded.",
(LPARAM)SplashHTML.c_str(),
PIT_EDIT));
properties.push_back(createPGI("Messages",
"WinMessage",
@@ -40,12 +46,12 @@ std::vector<PROPGRIDITEM> LevelInstance::getProperties()
sprintf_s(scoreTxt, "%d", score);
properties.push_back(createPGI("Gameplay",
"InitialTimerValue",
"The ammount of time in seconds the player has to complete this level.\r\n\r\nPut 0 if time is limitless.",
"The amount of time in seconds the player has to complete this level.\r\n\r\nPut 0 if time is limitless.",
(LPARAM)timerTxt,
PIT_EDIT));
properties.push_back(createPGI("Gameplay",
"InitialScoreValue",
"The ammount of points the player starts with.",
"The amount of points the player starts with.",
(LPARAM)scoreTxt,
PIT_EDIT));
return properties;

View File

@@ -144,6 +144,7 @@ void PartInstance::setParent(Instance* prnt)
PartInstance::PartInstance(const PartInstance &oinst)
{
PVInstance::PVInstance(oinst);
physBody = NULL;
glList = glGenLists(1);
//name = oinst.name;
//className = "Part";

View File

@@ -1,16 +1,11 @@
#include "Globals.h"
#include "Application.h"
int const Globals::gen = 0;
int const Globals::major = 0;
int const Globals::minor = 105;
int const Globals::patch = 0;
int Globals::surfaceId = 2;
//bool Globals::showMouse = true;
bool Globals::useMousePoint = false;
std::vector<Instance*> postRenderStack = std::vector<Instance*>();
std::vector<Instance*> g_selectedInstances = std::vector<Instance*>();
DataModelInstance* g_dataModel = NULL;
XplicitNgine* g_xplicitNgine = NULL;

View File

@@ -43,9 +43,9 @@ HRESULT IEBrowser::doExternal(std::wstring funcName,
if(pDispParams->rgvarg->intVal < 0 || pDispParams->rgvarg->intVal > 7)
return S_OK;
Enum::Controller::Value cont = (Enum::Controller::Value)pDispParams->rgvarg->intVal;
for(size_t i = 0; i < g_selectedInstances.size(); i++)
for(size_t i = 0; i < g_dataModel->getSelectionService()->getSelection().size(); i++)
{
if(PVInstance* part = dynamic_cast<PVInstance*>(g_selectedInstances.at(i)))
if(PVInstance* part = dynamic_cast<PVInstance*>(g_dataModel->getSelectionService()->getSelection()[i]))
{
ding = true;
part->controller = cont;

View File

@@ -7,8 +7,8 @@ void CameraButtonListener::onButton1MouseClick(BaseButtonInstance* button)
{
AudioPlayer::playSound(cameraSound);
CoordinateFrame frame = g_usableApp->cameraController.getCamera()->getCoordinateFrame();
if(button->name == "CenterCam" && g_selectedInstances.size() > 0)
g_usableApp->cameraController.centerCamera(g_selectedInstances.at(0));
if(button->name == "CenterCam" && g_dataModel->getSelectionService()->getSelection().size() > 0)
g_usableApp->cameraController.centerCamera(g_dataModel->getSelectionService()->getSelection()[0]);
else if(button->name == "ZoomIn")
g_usableApp->cameraController.Zoom(1);
else if(button->name == "ZoomOut")

View File

@@ -2,13 +2,14 @@
#include "Application.h"
#include "Globals.h"
#include "AudioPlayer.h"
#include "DataModelV2/SelectionService.h"
#include "Listener/GUDButtonListener.h"
void GUDButtonListener::onButton1MouseClick(BaseButtonInstance* button)
{
bool cont = false;
for(size_t i = 0; i < g_selectedInstances.size(); i++)
if(g_selectedInstances.at(i)->canDelete)
for(size_t i = 0; i < g_dataModel->getSelectionService()->getSelection().size(); i++)
if(g_dataModel->getSelectionService()->getSelection()[i]->canDelete)
{
cont = true;
break;
@@ -19,53 +20,46 @@ void GUDButtonListener::onButton1MouseClick(BaseButtonInstance* button)
if(button->name == "Duplicate")
{
std::vector<Instance*> newinst;
for(size_t i = 0; i < g_selectedInstances.size(); i++)
for(size_t i = 0; i < g_dataModel->getSelectionService()->getSelection().size(); i++)
{
if(g_selectedInstances.at(i)->canDelete)
if(g_dataModel->getSelectionService()->getSelection()[i]->canDelete)
{
Instance* tempinst = g_selectedInstances.at(i);
Instance* tempinst = g_dataModel->getSelectionService()->getSelection()[i];
Instance* clonedInstance = g_selectedInstances.at(i)->clone();
Instance* clonedInstance = g_dataModel->getSelectionService()->getSelection()[i]->clone();
newinst.push_back(tempinst);
}
/*tempinst->setPosition(Vector3(tempPos.x, tempPos.y + tempSize.y, tempPos.z));
g_usableApp->cameraController.centerCamera(g_selectedInstances.at(0));*/
}
g_selectedInstances = newinst;
if(g_selectedInstances.size() > 0)
g_usableApp->_propWindow->UpdateSelected(newinst.at(0));
g_dataModel->getSelectionService()->clearSelection();
g_dataModel->getSelectionService()->addSelected(newinst);
}
else if(button->name == "Group")
{
GroupInstance * inst = new GroupInstance();
inst->setParent(g_dataModel->getWorkspace());
for(size_t i = 0; i < g_selectedInstances.size(); i++)
for(size_t i = 0; i < g_dataModel->getSelectionService()->getSelection().size(); i++)
{
if(g_selectedInstances.at(i)->canDelete)
if(g_dataModel->getSelectionService()->getSelection()[i]->canDelete)
{
g_selectedInstances.at(i)->setParent(inst);
if(PartInstance* part = dynamic_cast<PartInstance*>(g_selectedInstances.at(i)))
g_dataModel->getSelectionService()->getSelection()[i]->setParent(inst);
if(PartInstance* part = dynamic_cast<PartInstance*>(g_dataModel->getSelectionService()->getSelection()[i]))
{
inst->primaryPart = part;
}
}
/*tempinst->setPosition(Vector3(tempPos.x, tempPos.y + tempSize.y, tempPos.z));
g_usableApp->cameraController.centerCamera(g_selectedInstances.at(0));*/
}
g_selectedInstances.clear();
g_selectedInstances.push_back(inst);
if(g_selectedInstances.size() > 0)
g_usableApp->_propWindow->UpdateSelected(g_selectedInstances.at(0));
g_dataModel->getSelectionService()->clearSelection();
g_dataModel->getSelectionService()->addSelected(inst);
}
else if(button->name == "UnGroup")
{
std::vector<Instance*> newinst;
for(size_t i = 0; i < g_selectedInstances.size(); i++)
for(size_t i = 0; i < g_dataModel->getSelectionService()->getSelection().size(); i++)
{
if(g_selectedInstances.at(i)->canDelete)
if(g_dataModel->getSelectionService()->getSelection()[i]->canDelete)
{
if(GroupInstance* model = dynamic_cast<GroupInstance*>(g_selectedInstances.at(i)))
if(GroupInstance* model = dynamic_cast<GroupInstance*>(g_dataModel->getSelectionService()->getSelection()[i]))
{
newinst = model->unGroup();
model->setParent(NULL);
@@ -73,13 +67,9 @@ void GUDButtonListener::onButton1MouseClick(BaseButtonInstance* button)
model = NULL;
}
}
/*tempinst->setPosition(Vector3(tempPos.x, tempPos.y + tempSize.y, tempPos.z));
g_usableApp->cameraController.centerCamera(g_selectedInstances.at(0));*/
}
g_selectedInstances.clear();
g_selectedInstances = newinst;
if(g_selectedInstances.size() > 0)
g_usableApp->_propWindow->UpdateSelected(newinst.at(0));
g_dataModel->getSelectionService()->clearSelection();
g_dataModel->getSelectionService()->addSelected(newinst);
}
}
}

View File

@@ -5,9 +5,9 @@
void RotateButtonListener::onButton1MouseClick(BaseButtonInstance* button)
{
if(g_selectedInstances.size() > 0)
if(g_dataModel->getSelectionService()->getSelection().size() > 0)
{
Instance* selectedInstance = g_selectedInstances.at(0);
Instance* selectedInstance = g_dataModel->getSelectionService()->getSelection()[0];
AudioPlayer::playSound(clickSound);
if(PartInstance* part = dynamic_cast<PartInstance*>(selectedInstance))
{

View File

@@ -112,31 +112,3 @@ void Mouse::setMouseDown(bool bval)
{
mouseDown = bval;
}
//bool found = false;
/*for(size_t i = 0; i < g_selectedInstances.size(); i++)
{
if(g_selectedInstances.at(i) == test)
{
found = true;
//ShowWindow(_propWindow->_hwndProp, SW_SHOW);
//SetActiveWindow(_propWindow->_hwndProp);
//SetForegroundWindow(_propWindow->_hwndProp);
break;
}
}
if(!found)
{
selectedInstance = test;
//if(!GetHoldKeyState(VK_RCONTROL) && !GetHoldKeyState(VK_LCONTROL))
//g_selectedInstances.clear();
//if(std::find(g_selectedInstances.begin(), g_selectedInstances.end(),test)==g_selectedInstances.end())
//g_selectedInstances.push_back(test);
}
//selectInstance(test, _propWindow);
//_message = "Dragging = true.";
//_messageTime = System::time();
//_dragging = true;*/

View File

@@ -3,7 +3,6 @@
#include "WindowFunctions.h"
#include "resource.h"
#include "PropertyWindow.h"
#include "Globals.h"
#include "strsafe.h"
#include "Application.h"
@@ -172,8 +171,8 @@ LRESULT CALLBACK PropProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
int ItemIndex = SendMessage((HWND) lParam, (UINT) CB_GETCURSEL, (WPARAM) 0, (LPARAM) 0);
CHAR ListItem[256];
SendMessage((HWND) lParam, (UINT) CB_GETLBTEXT, (WPARAM) ItemIndex, (LPARAM) ListItem);
propWind->ClearProperties();
g_usableApp->selectInstance(children.at(ItemIndex),propWind);
g_dataModel->getSelectionService()->clearSelection();
g_dataModel->getSelectionService()->addSelected(children.at(ItemIndex));
}
}
break;
@@ -203,13 +202,18 @@ LRESULT CALLBACK PropProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
return 0;
}
void PropertyWindow::refreshExplorer(Instance* selectedInstance)
void PropertyWindow::clearExplorer()
{
SendMessage(_explorerComboBox,CB_RESETCONTENT,0,0);
SendMessage(_explorerComboBox,CB_SETCURSEL,0,(LPARAM)0);
}
void PropertyWindow::refreshExplorer(std::vector<Instance*> selectedInstances)
{
Instance * instance = selectedInstances[0];
SendMessage(_explorerComboBox,CB_RESETCONTENT,0,0);
parent = NULL;
children.clear();
//g_selectedInstances.clear();
//for (unsigned int i=0;i<g_selectedInstances.size();i++) {
children.push_back(selectedInstance);
SendMessage(_explorerComboBox, CB_ADDSTRING, 0, (LPARAM)selectedInstance->name.c_str());
if(selectedInstance->getParent() != NULL)
@@ -221,7 +225,6 @@ void PropertyWindow::refreshExplorer(Instance* selectedInstance)
parent = selectedInstance->getParent();
children.push_back(selectedInstance->getParent());
}
//children = g_selectedInstances[i]->getChildren();
std::vector<Instance*> selectedChildren = selectedInstance->getChildren();
for(size_t z = 0; z < selectedChildren.size(); z++)
@@ -338,11 +341,17 @@ void PropertyWindow::_resize()
SetWindowPos(_explorerComboBox, NULL, 0, 0, rect.right, 400, SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE);
}
void PropertyWindow::UpdateSelected(Instance * instance)
void PropertyWindow::UpdateSelected(std::vector<Instance *> instances)
{
if(instances.size() <= 0)
{
ClearProperties();
return;
}
Instance * instance = instances[0];
PropGrid_ResetContent(_propGrid);
prop = instance->getProperties();
if (selectedInstance != instance)
//if (selectedInstance != instance)
{
selectedInstance = instance;
for(size_t i = 0; i < prop.size(); i++)
@@ -356,12 +365,13 @@ void PropertyWindow::UpdateSelected(Instance * instance)
PropGrid_ExpandAllCatalogs(_propGrid);
//SetWindowLongPtr(_propGrid,GWL_USERDATA,(LONG)this);
refreshExplorer(instance);
refreshExplorer(instances);
_resize();
}
}
void PropertyWindow::ClearProperties()
{
clearExplorer();
PropGrid_ResetContent(_propGrid);
}

94
src/source/SplashHTML.cpp Normal file
View File

@@ -0,0 +1,94 @@
#include "DataModelV2/LevelInstance.h"
#include "Globals.h"
#include "SplashHTML.h"
#include "Application.h"
#include <windows.h>
#include <MsHTML.h>
#include <Exdisp.h>
#include <ExDispid.h>
#include <shlwapi.h>
HWND SplashHTMLContainer()
{
HWND invisWindowHandle = CreateWindowEx(WS_EX_TOOLWINDOW,
"htmlWindow",
"Splash",
WS_OVERLAPPEDWINDOW & ~WS_MAXIMIZEBOX & ~WS_THICKFRAME,
200,
200,
500,
300,
NULL,
NULL,
NULL,
NULL);
printf("Creating Window HWND: %u\n", invisWindowHandle);
ShowWindow(invisWindowHandle, 1);
UpdateWindow(invisWindowHandle);
return invisWindowHandle;
}
void PH()
//int SplashHTMLLoad(std::string strHTML)
{
SplashHTMLContainer();
IHTMLDocument2 *document; // Declared earlier in the code
BSTR bstr = SysAllocString(OLESTR("Written by IHTMLDocument2::write()."));
// Creates a new one-dimensional array
SAFEARRAY *psaStrings = SafeArrayCreateVector(VT_VARIANT, 0, 1);
if (psaStrings == NULL) {
goto cleanup;
}
VARIANT *param;
HRESULT hr = SafeArrayAccessData(psaStrings, (LPVOID*)&param);
param->vt = VT_BSTR;
param->bstrVal = bstr;
hr = SafeArrayUnaccessData(psaStrings);
//hr = document->write(psaStrings);
cleanup:
// SafeArrayDestroy calls SysFreeString for each BSTR
if (psaStrings != NULL) {
SafeArrayDestroy(psaStrings);
}
}
int SplashHTMLLoad(std::string strHTML)
{
HWND splashContainer = SplashHTMLContainer();
SHANDLE_PTR browserHWND;
HWND parentResultSplash;
HRESULT InstanciateIEResult;
HRESULT NavigateResult;
HRESULT ShowBrowserResult;
VARIANT empty;
VariantInit(&empty);
IWebBrowser2* browser = NULL;
HRESULT hr = CoCreateInstance(CLSID_InternetExplorer, NULL,
CLSCTX_LOCAL_SERVER, IID_IWebBrowser2, (void**)&browser);
std::wstring HtmlWide;
HtmlWide.assign( strHTML.begin(), strHTML.end() );
if (browser)
{
BSTR URL = SysAllocString(L"http://google.com");
browser->put_AddressBar(false);
browser->put_ToolBar(false);
browser->put_TheaterMode(false);
browser->put_Width(500);
browser->put_Height(300);
browser->Navigate(URL, &empty, &empty, &empty, &empty);
SysFreeString(URL);
ShowBrowserResult = browser->get_HWND(&browserHWND);
ShowBrowserResult = browser->put_Visible(VARIANT_TRUE);
browser->Release();
parentResultSplash = SetParent((HWND)&browserHWND, splashContainer);
}
printf("%s \n%u \n%u \n", strHTML.c_str(), (HWND)&browserHWND, parentResultSplash);
CoUninitialize();
return 0;
}

View File

@@ -1,5 +1,6 @@
#include "Tool/ArrowTool.h"
#include "Application.h"
#include "DataModelV2/SelectionService.h"
ArrowTool::ArrowTool(void)
{
@@ -21,13 +22,12 @@ void ArrowTool::onButton1MouseDown(Mouse mouse)
mouseDownStarty = mouse.y;
mouseDown = true;
if(!lctrlDown && !rctrlDown)
g_selectedInstances.clear();
g_dataModel->getSelectionService()->clearSelection();
PartInstance * target = mouse.getTarget();
if(target != NULL && std::find(g_selectedInstances.begin(), g_selectedInstances.end(), target) == g_selectedInstances.end())
g_selectedInstances.push_back(target);
if(g_selectedInstances.size() == 0)
g_selectedInstances.push_back(g_dataModel);
g_usableApp->_propWindow->UpdateSelected(g_selectedInstances[0]);
if(target != NULL)
g_dataModel->getSelectionService()->addSelected(target);
if(g_dataModel->getSelectionService()->getSelection().size() == 0)
g_dataModel->getSelectionService()->addSelected(g_dataModel);
}
void ArrowTool::onButton1MouseUp(Mouse mouse)
{
@@ -47,11 +47,11 @@ void ArrowTool::onMouseMoved(Mouse mouse)
}
else return;
}
for(size_t i = 0; i < g_selectedInstances.size(); i++) //This will later decide primary and move all parts according to primary
for(size_t i = 0; i < g_dataModel->getSelectionService()->getSelection().size(); i++) //This will later decide primary and move all parts according to primary
{
if(PartInstance * part = dynamic_cast<PartInstance *>(g_selectedInstances[i]))
if(PartInstance * part = dynamic_cast<PartInstance *>(g_dataModel->getSelectionService()->getSelection()[i]))
{
part->setPosition(mouse.getPosition(g_selectedInstances));
part->setPosition(mouse.getPosition(g_dataModel->getSelectionService()->getSelection()));
}
}
return;

View File

@@ -24,6 +24,11 @@ DISPPARAMS dispparamsNoArgs = {NULL, NULL, 0, 0};
EXCEPINFO excepinfo;
UINT nArgErr;
LRESULT CALLBACK HtmlProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
return DefWindowProc(hwnd, msg, wParam, lParam);
}
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
Application *app = (Application *)GetWindowLongPtr(hwnd, GWL_USERDATA);
@@ -148,7 +153,9 @@ LRESULT CALLBACK G3DProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
int main(int argc, char** argv) {
#ifndef _DEBUG
try{
#endif
hresult = OleInitialize(NULL);
/* IInternetSecurityManager *pSecurityMgr;
@@ -183,6 +190,8 @@ int main(int argc, char** argv) {
settings.window.center = true; */
HMODULE hThisInstance = GetModuleHandle(NULL);
if (!createWindowClass("htmlWindow",HtmlProc,NULL))
return false;
if (!createWindowClass("mainHWND",WndProc,hThisInstance))
return false;
if (!createWindowClass("toolboxHWND",ToolboxProc,hThisInstance))
@@ -214,10 +223,12 @@ int main(int argc, char** argv) {
Globals::mainHwnd = hwndMain;
Application app = Application(hwndMain);
app.run();
#ifndef _DEBUG
}
catch(...)
{
OnError(-1);
}
#endif
return 0;
}