Compare commits
1 Commits
master
...
insertdial
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e50d2674ff |
25
.github/workflows/sync-develop.yml
vendored
25
.github/workflows/sync-develop.yml
vendored
@@ -1,25 +0,0 @@
|
|||||||
name: Sync Back to Develop
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
sync-branches:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
name: Syncing branches
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
- name: Set up Node
|
|
||||||
uses: actions/setup-node@v1
|
|
||||||
with:
|
|
||||||
node-version: 12
|
|
||||||
- name: Opening pull request
|
|
||||||
id: pull
|
|
||||||
uses: tretuna/sync-branches@1.2.0
|
|
||||||
with:
|
|
||||||
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
|
|
||||||
FROM_BRANCH: 'master'
|
|
||||||
TO_BRANCH: 'develop'
|
|
||||||
6
.gitignore
vendored
6
.gitignore
vendored
@@ -36,13 +36,12 @@
|
|||||||
*.user
|
*.user
|
||||||
*.pdb
|
*.pdb
|
||||||
*.idb
|
*.idb
|
||||||
|
*.manifest
|
||||||
|
*.htm
|
||||||
*.res
|
*.res
|
||||||
*.ilk
|
*.ilk
|
||||||
*.dep
|
*.dep
|
||||||
|
|
||||||
# ResEditor files
|
|
||||||
*.aps
|
|
||||||
|
|
||||||
/Debug
|
/Debug
|
||||||
/Release
|
/Release
|
||||||
stdout.txt
|
stdout.txt
|
||||||
@@ -57,4 +56,3 @@ desktop.ini
|
|||||||
|
|
||||||
#Redist
|
#Redist
|
||||||
!Installer/Redist/*
|
!Installer/Redist/*
|
||||||
UpgradeLog.htm
|
|
||||||
|
|||||||
35
Blocks3D-2003.sln
Normal file
35
Blocks3D-2003.sln
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 8.00
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Blocks3D", "Blocks3D-2003.vcproj", "{6C4D6EEF-B1D1-456A-B850-92CAB17124BE}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfiguration) = preSolution
|
||||||
|
Debug = Debug
|
||||||
|
Release = Release
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfiguration) = postSolution
|
||||||
|
{6C4D6EEF-B1D1-456A-B850-92CAB17124BE}.Debug.ActiveCfg = Debug|Win32
|
||||||
|
{6C4D6EEF-B1D1-456A-B850-92CAB17124BE}.Debug.Build.0 = Debug|Win32
|
||||||
|
{6C4D6EEF-B1D1-456A-B850-92CAB17124BE}.Release.ActiveCfg = Release|Win32
|
||||||
|
{6C4D6EEF-B1D1-456A-B850-92CAB17124BE}.Release.Build.0 = Release|Win32
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityAddIns) = postSolution
|
||||||
|
EndGlobalSection
|
||||||
|
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
|
||||||
649
Blocks3D-2003.vcproj
Normal file
649
Blocks3D-2003.vcproj
Normal file
@@ -0,0 +1,649 @@
|
|||||||
|
<?xml version="1.0" encoding="Windows-1252"?>
|
||||||
|
<VisualStudioProject
|
||||||
|
ProjectType="Visual C++"
|
||||||
|
Version="7.10"
|
||||||
|
Name="Blocks3D"
|
||||||
|
ProjectGUID="{6C4D6EEF-B1D1-456A-B850-92CAB17124BE}"
|
||||||
|
RootNamespace="Blocks3D">
|
||||||
|
<Platforms>
|
||||||
|
<Platform
|
||||||
|
Name="Win32"/>
|
||||||
|
</Platforms>
|
||||||
|
<Configurations>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|Win32"
|
||||||
|
OutputDirectory=".\Release"
|
||||||
|
IntermediateDirectory=".\Release"
|
||||||
|
ConfigurationType="1"
|
||||||
|
UseOfMFC="0"
|
||||||
|
UseOfATL="0"
|
||||||
|
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||||
|
CharacterSet="2">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="2"
|
||||||
|
InlineFunctionExpansion="1"
|
||||||
|
AdditionalIncludeDirectories="".\src\include""
|
||||||
|
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
|
||||||
|
StringPooling="TRUE"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
EnableFunctionLevelLinking="TRUE"
|
||||||
|
PrecompiledHeaderFile=".\Release/Blocks3D.pch"
|
||||||
|
AssemblerListingLocation=".\Release/"
|
||||||
|
ObjectFile=".\Release/"
|
||||||
|
ProgramDataBaseFileName=".\Release/"
|
||||||
|
WarningLevel="3"
|
||||||
|
SuppressStartupBanner="TRUE"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="Advapi32.lib Comctl32.lib Comdlg32.lib Shell32.lib"
|
||||||
|
OutputFile="./Blocks3D.exe"
|
||||||
|
LinkIncremental="1"
|
||||||
|
SuppressStartupBanner="TRUE"
|
||||||
|
ProgramDatabaseFile=".\Release/Blocks3D.pdb"
|
||||||
|
SubSystem="2"
|
||||||
|
TargetMachine="1"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
PreprocessorDefinitions="NDEBUG"
|
||||||
|
MkTypLibCompatible="TRUE"
|
||||||
|
SuppressStartupBanner="TRUE"
|
||||||
|
TargetEnvironment="1"
|
||||||
|
TypeLibraryName=".\Release/Blocks3D.tlb"
|
||||||
|
HeaderFileName=""/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
PreprocessorDefinitions="NDEBUG"
|
||||||
|
Culture="4105"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebDeploymentTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedWrapperGeneratorTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|Win32"
|
||||||
|
OutputDirectory=".\Debug"
|
||||||
|
IntermediateDirectory=".\Debug"
|
||||||
|
ConfigurationType="1"
|
||||||
|
UseOfMFC="0"
|
||||||
|
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||||
|
CharacterSet="2"
|
||||||
|
ManagedExtensions="FALSE">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="".\src\include""
|
||||||
|
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;NO_SPRINTF;IGNORE_CATCH"
|
||||||
|
MinimalRebuild="FALSE"
|
||||||
|
BasicRuntimeChecks="0"
|
||||||
|
RuntimeLibrary="3"
|
||||||
|
EnableFunctionLevelLinking="FALSE"
|
||||||
|
PrecompiledHeaderFile=".\Debug/Blocks3D.pch"
|
||||||
|
AssemblerListingLocation=".\Debug/"
|
||||||
|
ObjectFile=".\Debug/"
|
||||||
|
ProgramDataBaseFileName=".\Debug/"
|
||||||
|
WarningLevel="3"
|
||||||
|
SuppressStartupBanner="TRUE"
|
||||||
|
DebugInformationFormat="3"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="Advapi32.lib UxTheme.lib Comctl32.lib Comdlg32.lib Shell32.lib Urlmon.lib ole32.lib oleaut32.lib uuid.lib"
|
||||||
|
OutputFile="./Blocks3D-Debug.exe"
|
||||||
|
LinkIncremental="2"
|
||||||
|
SuppressStartupBanner="TRUE"
|
||||||
|
GenerateDebugInformation="TRUE"
|
||||||
|
ProgramDatabaseFile=".\Debug/Blocks3D.pdb"
|
||||||
|
SubSystem="1"
|
||||||
|
TargetMachine="1"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
PreprocessorDefinitions="_DEBUG"
|
||||||
|
MkTypLibCompatible="TRUE"
|
||||||
|
SuppressStartupBanner="TRUE"
|
||||||
|
TargetEnvironment="1"
|
||||||
|
TypeLibraryName=".\Debug/Blocks3D.tlb"
|
||||||
|
HeaderFileName=""/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
PreprocessorDefinitions="_DEBUG"
|
||||||
|
Culture="4105"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebDeploymentTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedWrapperGeneratorTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||||
|
</Configuration>
|
||||||
|
</Configurations>
|
||||||
|
<References>
|
||||||
|
<AssemblyReference
|
||||||
|
RelativePath="System.dll"/>
|
||||||
|
<AssemblyReference
|
||||||
|
RelativePath="System.Data.dll"/>
|
||||||
|
<AssemblyReference
|
||||||
|
RelativePath="System.Drawing.dll"/>
|
||||||
|
<AssemblyReference
|
||||||
|
RelativePath="System.Windows.Forms.dll"/>
|
||||||
|
<AssemblyReference
|
||||||
|
RelativePath="System.XML.dll"/>
|
||||||
|
</References>
|
||||||
|
<Files>
|
||||||
|
<Filter
|
||||||
|
Name="Source Files"
|
||||||
|
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\Application.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\AudioPlayer.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\ax.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\BrowserCallHandler.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\CameraController.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\ErrorFunctions.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\Globals.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\IEBrowser.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\IEDispatcher.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\main.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\Mouse.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\propertyGrid.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\PropertyWindow.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\Renderer.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\StringFunctions.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\TextureHandler.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\WindowFunctions.cpp">
|
||||||
|
</File>
|
||||||
|
<Filter
|
||||||
|
Name="Tool">
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\Tool\ArrowTool.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\Tool\SurfaceTool.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\Tool\Tool.cpp">
|
||||||
|
</File>
|
||||||
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="Listener">
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\Listener\ButtonListener.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\Listener\CameraButtonListener.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\Listener\DeleteListener.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\Listener\GUDButtonListener.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\Listener\MenuButtonListener.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\Listener\ModeSelectionListener.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\Listener\RotateButtonListener.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\Listener\ToolbarListener.cpp">
|
||||||
|
</File>
|
||||||
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="DataModelV2">
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\DataModelV2\DataModelInstance.cpp">
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|Win32">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
ObjectFile="$(IntDir)\$(InputName)1.obj"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Debug|Win32">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
ObjectFile="$(IntDir)\$(InputName)1.obj"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\DataModelV2\GroupInstance.cpp">
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|Win32">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
ObjectFile="$(IntDir)\$(InputName)1.obj"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Debug|Win32">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
ObjectFile="$(IntDir)\$(InputName)1.obj"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\DataModelV2\Instance.cpp">
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|Win32">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
ObjectFile="$(IntDir)\$(InputName)1.obj"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Debug|Win32">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
ObjectFile="$(IntDir)\$(InputName)1.obj"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\DataModelV2\LevelInstance.cpp">
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|Win32">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
ObjectFile="$(IntDir)\$(InputName)1.obj"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Debug|Win32">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
ObjectFile="$(IntDir)\$(InputName)1.obj"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\DataModelV2\PartInstance.cpp">
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|Win32">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
ObjectFile="$(IntDir)\$(InputName)1.obj"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Debug|Win32">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
ObjectFile="$(IntDir)\$(InputName)1.obj"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\DataModelV2\PVInstance.cpp">
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|Win32">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
ObjectFile="$(IntDir)\$(InputName)1.obj"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Debug|Win32">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
ObjectFile="$(IntDir)\$(InputName)1.obj"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\DataModelV2\WorkspaceInstance.cpp">
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|Win32">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
ObjectFile="$(IntDir)\$(InputName)1.obj"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Debug|Win32">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
ObjectFile="$(IntDir)\$(InputName)1.obj"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
</File>
|
||||||
|
<Filter
|
||||||
|
Name="Gui">
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\DataModelV2\BaseButtonInstance.cpp">
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|Win32">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
ObjectFile="$(IntDir)\$(InputName)1.obj"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Debug|Win32">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
ObjectFile="$(IntDir)\$(InputName)1.obj"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\DataModelV2\BaseGuiInstance.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\DataModelV2\GuiRootInstance.cpp">
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|Win32">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
ObjectFile="$(IntDir)\$(InputName)1.obj"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Debug|Win32">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
ObjectFile="$(IntDir)\$(InputName)1.obj"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\DataModelV2\ImageButtonInstance.cpp">
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|Win32">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
ObjectFile="$(IntDir)\$(InputName)1.obj"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Debug|Win32">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
ObjectFile="$(IntDir)\$(InputName)1.obj"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\DataModelV2\TextButtonInstance.cpp">
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|Win32">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
ObjectFile="$(IntDir)\$(InputName)1.obj"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Debug|Win32">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
ObjectFile="$(IntDir)\$(InputName)1.obj"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\DataModelV2\ToggleImageButtonInstance.cpp">
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|Win32">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
ObjectFile="$(IntDir)\$(InputName)1.obj"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Debug|Win32">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
ObjectFile="$(IntDir)\$(InputName)1.obj"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
</File>
|
||||||
|
</Filter>
|
||||||
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="Properties">
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\Properties\BoolProperty.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\source\Properties\Property.cpp">
|
||||||
|
</File>
|
||||||
|
</Filter>
|
||||||
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="Header Files"
|
||||||
|
Filter="h;hpp;hxx;hm;inl">
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\Application.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\AudioPlayer.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\ax.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\BrowserCallHandler.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\CameraController.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\Enum.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\ErrorFunctions.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\Faces.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\Globals.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\IEBrowser.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\IEDispatcher.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\Mouse.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\propertyGrid.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\PropertyWindow.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\Renderer.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\resource.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\StringFunctions.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\TextureHandler.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\win32Defines.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\WindowFunctions.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\winver.h">
|
||||||
|
</File>
|
||||||
|
<Filter
|
||||||
|
Name="RapidXML">
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\rapidxml\rapidxml.hpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\rapidxml\rapidxml_iterators.hpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\rapidxml\rapidxml_print.hpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\rapidxml\rapidxml_utils.hpp">
|
||||||
|
</File>
|
||||||
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="Listener">
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\Listener\ButtonListener.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\Listener\CameraButtonListener.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\Listener\DeleteListener.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\Listener\GUDButtonListener.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\Listener\MenuButtonListener.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\Listener\ModeSelectionListener.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\Listener\RotateButtonListener.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\Listener\ToolbarListener.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\DataModel\WorkspaceInstance.h">
|
||||||
|
</File>
|
||||||
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="Tool">
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\Tool\ArrowTool.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\Tool\SurfaceTool.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\Tool\Tool.h">
|
||||||
|
</File>
|
||||||
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="DataModelV2">
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\DataModelV2\DataModelInstance.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\DataModelV2\GroupInstance.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\DataModelV2\Instance.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\DataModelV2\LevelInstance.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\DataModelV2\PartInstance.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\DataModelV2\PVInstance.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\DataModelV2\WorkspaceInstance.h">
|
||||||
|
</File>
|
||||||
|
<Filter
|
||||||
|
Name="Gui">
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\DataModelV2\BaseButtonInstance.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\DataModelV2\BaseGuiInstance.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\DataModelV2\GuiRootInstance.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\DataModelV2\ImageButtonInstance.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\DataModelV2\TextButtonInstance.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\DataModelV2\ToggleImageButtonInstance.h">
|
||||||
|
</File>
|
||||||
|
</Filter>
|
||||||
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="Properties">
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\Properties\BoolProperty.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\Properties\Property.h">
|
||||||
|
</File>
|
||||||
|
</Filter>
|
||||||
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="Resource Files"
|
||||||
|
Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
|
||||||
|
<File
|
||||||
|
RelativePath=".\Dialogs.rc">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\icon1.ico">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\Parts.bmp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\roblox_RN1_icon.ico">
|
||||||
|
</File>
|
||||||
|
</Filter>
|
||||||
|
</Files>
|
||||||
|
<Globals>
|
||||||
|
<Global
|
||||||
|
Name="RESOURCE_FILE"
|
||||||
|
Value="Dialogs.rc"/>
|
||||||
|
</Globals>
|
||||||
|
</VisualStudioProject>
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
||||||
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
|
||||||
<dependency>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
</dependency>
|
|
||||||
</assembly>
|
|
||||||
@@ -49,11 +49,7 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="2"
|
Optimization="2"
|
||||||
InlineFunctionExpansion="2"
|
InlineFunctionExpansion="1"
|
||||||
EnableIntrinsicFunctions="true"
|
|
||||||
FavorSizeOrSpeed="1"
|
|
||||||
OmitFramePointers="true"
|
|
||||||
WholeProgramOptimization="true"
|
|
||||||
AdditionalIncludeDirectories="".\src\include""
|
AdditionalIncludeDirectories="".\src\include""
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
|
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
@@ -79,17 +75,13 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalDependencies="Advapi32.lib Comctl32.lib Comdlg32.lib Shell32.lib ode.lib Ole32.lib"
|
AdditionalDependencies="Advapi32.lib Comctl32.lib Comdlg32.lib Shell32.lib"
|
||||||
OutputFile="./Blocks3D.exe"
|
OutputFile="./Blocks3D.exe"
|
||||||
LinkIncremental="1"
|
LinkIncremental="1"
|
||||||
SuppressStartupBanner="true"
|
SuppressStartupBanner="true"
|
||||||
|
AdditionalManifestDependencies=""
|
||||||
ProgramDatabaseFile=".\Release/Blocks3D.pdb"
|
ProgramDatabaseFile=".\Release/Blocks3D.pdb"
|
||||||
SubSystem="2"
|
SubSystem="2"
|
||||||
StackReserveSize="16777216"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
OptimizeForWindows98="2"
|
|
||||||
LinkTimeCodeGeneration="1"
|
|
||||||
TargetMachine="1"
|
TargetMachine="1"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
@@ -154,7 +146,7 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories=""C:\libraries\ode-0.5\include\drawstuff";.\src\include"
|
AdditionalIncludeDirectories="".\src\include""
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
|
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
|
||||||
MinimalRebuild="false"
|
MinimalRebuild="false"
|
||||||
BasicRuntimeChecks="0"
|
BasicRuntimeChecks="0"
|
||||||
@@ -181,14 +173,13 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalDependencies="Advapi32.lib UxTheme.lib Comctl32.lib Comdlg32.lib Shell32.lib Urlmon.lib ole32.lib oleaut32.lib uuid.lib oded.lib"
|
AdditionalDependencies="Advapi32.lib UxTheme.lib Comctl32.lib Comdlg32.lib Shell32.lib Urlmon.lib ole32.lib oleaut32.lib uuid.lib"
|
||||||
OutputFile="./Blocks3D-Debug.exe"
|
OutputFile="./Blocks3D-Debug.exe"
|
||||||
LinkIncremental="2"
|
LinkIncremental="2"
|
||||||
SuppressStartupBanner="true"
|
SuppressStartupBanner="true"
|
||||||
GenerateDebugInformation="true"
|
GenerateDebugInformation="true"
|
||||||
ProgramDatabaseFile=".\Debug/Blocks3D.pdb"
|
ProgramDatabaseFile=".\Debug/Blocks3D.pdb"
|
||||||
SubSystem="1"
|
SubSystem="1"
|
||||||
StackReserveSize="16777216"
|
|
||||||
TargetMachine="1"
|
TargetMachine="1"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
@@ -501,10 +492,6 @@
|
|||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
</File>
|
</File>
|
||||||
<File
|
|
||||||
RelativePath=".\src\source\DataModel\SelectionService.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
<File
|
||||||
RelativePath=".\src\source\DataModelV2\WorkspaceInstance.cpp"
|
RelativePath=".\src\source\DataModelV2\WorkspaceInstance.cpp"
|
||||||
>
|
>
|
||||||
@@ -645,14 +632,6 @@
|
|||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
</File>
|
</File>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter
|
|
||||||
Name="XplicitNgine"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\source\XplicitNgine\XplicitNgine.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter
|
<Filter
|
||||||
Name="Properties"
|
Name="Properties"
|
||||||
@@ -732,7 +711,7 @@
|
|||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\src\include\resource.h"
|
RelativePath=".\resource.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
@@ -743,14 +722,6 @@
|
|||||||
RelativePath=".\src\include\TextureHandler.h"
|
RelativePath=".\src\include\TextureHandler.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
|
||||||
RelativePath=".\src\include\ToolEnum.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\include\VS2005CompatShim.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
<File
|
||||||
RelativePath=".\src\include\win32Defines.h"
|
RelativePath=".\src\include\win32Defines.h"
|
||||||
>
|
>
|
||||||
@@ -759,6 +730,10 @@
|
|||||||
RelativePath=".\src\include\WindowFunctions.h"
|
RelativePath=".\src\include\WindowFunctions.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\include\winver.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<Filter
|
<Filter
|
||||||
Name="RapidXML"
|
Name="RapidXML"
|
||||||
>
|
>
|
||||||
@@ -862,10 +837,6 @@
|
|||||||
RelativePath=".\src\include\DataModelV2\PVInstance.h"
|
RelativePath=".\src\include\DataModelV2\PVInstance.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
|
||||||
RelativePath=".\src\include\DataModelV2\SelectionService.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
<File
|
||||||
RelativePath=".\src\include\DataModelV2\WorkspaceInstance.h"
|
RelativePath=".\src\include\DataModelV2\WorkspaceInstance.h"
|
||||||
>
|
>
|
||||||
@@ -898,14 +869,6 @@
|
|||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter
|
|
||||||
Name="XplicitNgine"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\include\XplicitNgine\XplicitNgine.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter
|
<Filter
|
||||||
Name="Properties"
|
Name="Properties"
|
||||||
@@ -925,7 +888,7 @@
|
|||||||
Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||||
>
|
>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\Blocks3D.exe.manifest"
|
RelativePath=".\B3dIcon.ico"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
@@ -933,7 +896,7 @@
|
|||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\icon1.ico"
|
RelativePath=".\FatB3dIcon.ico"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
|
|||||||
BIN
Dialogs.aps
Normal file
BIN
Dialogs.aps
Normal file
Binary file not shown.
49
Dialogs.rc
49
Dialogs.rc
@@ -4,9 +4,7 @@
|
|||||||
|
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#include <commctrl.h>
|
#include <commctrl.h>
|
||||||
#include <richedit.h>
|
#include "resource.h"
|
||||||
#include "src/include/resource.h"
|
|
||||||
#include "src/include/versioning.h"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -17,39 +15,7 @@
|
|||||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_CAN
|
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_CAN
|
||||||
IDB_BITMAP1 BITMAP "Parts.bmp"
|
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
|
// Dialog resources
|
||||||
@@ -68,19 +34,8 @@ FONT 8, "Ms Shell Dlg"
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Icon resources
|
// Icon resources
|
||||||
//
|
//
|
||||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_CAN
|
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_CAN
|
||||||
IDI_ICON1 ICON "FatB3dIcon.ico"
|
IDI_ICON1 ICON "FatB3dIcon.ico"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//
|
|
||||||
// Manifest resources
|
|
||||||
//
|
|
||||||
#ifndef _DEBUG
|
|
||||||
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
|
||||||
1 MANIFEST ".\\Blocks3D.exe.manifest"
|
|
||||||
#endif
|
|
||||||
@@ -1,15 +1,14 @@
|
|||||||
;InnoSetupVersion=5.4.3
|
;InnoSetupVersion=5.4.3
|
||||||
#define AppVer GetFileVersion('..\Blocks3D.exe')
|
|
||||||
|
|
||||||
[Setup]
|
[Setup]
|
||||||
AppName=Blocks3D
|
AppName=Blocks3D
|
||||||
AppVersion=v{#AppVer}
|
|
||||||
AppId={{4C5DF268-0208-4CDE-A7F0-65F7E2CB5067}
|
AppId={{4C5DF268-0208-4CDE-A7F0-65F7E2CB5067}
|
||||||
|
AppVersion=v0_0_104_5
|
||||||
AppPublisherURL=http://blocks3d.com/
|
AppPublisherURL=http://blocks3d.com/
|
||||||
AppSupportURL=http://blocks3d.com/
|
AppSupportURL=http://blocks3d.com/
|
||||||
AppUpdatesURL=http://blocks3d.com/
|
AppUpdatesURL=http://blocks3d.com/
|
||||||
DefaultDirName={%localappdata}\Blocks3D
|
DefaultDirName={%localappdata}\Blocks3D
|
||||||
OutputBaseFilename=Blocks3D_Setup_v{#AppVer}
|
OutputBaseFilename=Blocks3D_Setup_{#SetupSetting("AppVersion")}
|
||||||
Compression=lzma2
|
Compression=lzma2
|
||||||
PrivilegesRequired=lowest
|
PrivilegesRequired=lowest
|
||||||
WizardImageFile=setup.bmp
|
WizardImageFile=setup.bmp
|
||||||
|
|||||||
0
Manifest.xml
Normal file
0
Manifest.xml
Normal file
@@ -1,6 +0,0 @@
|
|||||||
Open Dynamics Engine
|
|
||||||
|
|
||||||
Copyright (c) 2001-2004,
|
|
||||||
Russell L. Smith.
|
|
||||||
|
|
||||||
All rights reserved.
|
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,588 +0,0 @@
|
|||||||
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.roblox.com/roblox.xsd" version="4">
|
|
||||||
<External>null</External>
|
|
||||||
<External>nil</External>
|
|
||||||
<Item class="Workspace" referent="RBX0">
|
|
||||||
<Properties>
|
|
||||||
<token name="Controller">0</token>
|
|
||||||
<bool name="ControllerFlagShown">true</bool>
|
|
||||||
<Ref name="CurrentCamera">RBX1</Ref>
|
|
||||||
<double name="DistributedGameTime">0</double>
|
|
||||||
<CoordinateFrame name="ModelInPrimary">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
<R00>1</R00>
|
|
||||||
<R01>0</R01>
|
|
||||||
<R02>0</R02>
|
|
||||||
<R10>0</R10>
|
|
||||||
<R11>1</R11>
|
|
||||||
<R12>0</R12>
|
|
||||||
<R20>0</R20>
|
|
||||||
<R21>0</R21>
|
|
||||||
<R22>1</R22>
|
|
||||||
</CoordinateFrame>
|
|
||||||
<string name="Name">Workspace</string>
|
|
||||||
<Ref name="PrimaryPart">null</Ref>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
</Properties>
|
|
||||||
<Item class="Camera" referent="RBX1">
|
|
||||||
<Properties>
|
|
||||||
<Ref name="CameraSubject">null</Ref>
|
|
||||||
<token name="CameraType">0</token>
|
|
||||||
<CoordinateFrame name="CoordinateFrame">
|
|
||||||
<X>-2.9603548</X>
|
|
||||||
<Y>115.389259</Y>
|
|
||||||
<Z>44.9416084</Z>
|
|
||||||
<R00>0.112786211</R00>
|
|
||||||
<R01>0.522245169</R01>
|
|
||||||
<R02>-0.845304191</R02>
|
|
||||||
<R10>-2.22539209e-009</R10>
|
|
||||||
<R11>0.850732446</R11>
|
|
||||||
<R12>0.525598884</R12>
|
|
||||||
<R20>0.993619263</R20>
|
|
||||||
<R21>-0.0592803061</R21>
|
|
||||||
<R22>0.0959508941</R22>
|
|
||||||
</CoordinateFrame>
|
|
||||||
<CoordinateFrame name="Focus">
|
|
||||||
<X>13.9457293</X>
|
|
||||||
<Y>104.877281</Y>
|
|
||||||
<Z>43.0225906</Z>
|
|
||||||
<R00>1</R00>
|
|
||||||
<R01>0</R01>
|
|
||||||
<R02>0</R02>
|
|
||||||
<R10>0</R10>
|
|
||||||
<R11>1</R11>
|
|
||||||
<R12>0</R12>
|
|
||||||
<R20>0</R20>
|
|
||||||
<R21>0</R21>
|
|
||||||
<R22>1</R22>
|
|
||||||
</CoordinateFrame>
|
|
||||||
<string name="Name">Camera</string>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="Part" referent="RBX2">
|
|
||||||
<Properties>
|
|
||||||
<bool name="Anchored">false</bool>
|
|
||||||
<float name="BackParamA">-0.5</float>
|
|
||||||
<float name="BackParamB">0.5</float>
|
|
||||||
<token name="BackSurface">0</token>
|
|
||||||
<token name="BackSurfaceInput">0</token>
|
|
||||||
<float name="BottomParamA">-0.5</float>
|
|
||||||
<float name="BottomParamB">0.5</float>
|
|
||||||
<token name="BottomSurface">0</token>
|
|
||||||
<token name="BottomSurfaceInput">0</token>
|
|
||||||
<int name="BrickColor">21</int>
|
|
||||||
<CoordinateFrame name="CFrame">
|
|
||||||
<X>87.0174942</X>
|
|
||||||
<Y>48.0466728</Y>
|
|
||||||
<Z>25.0001202</Z>
|
|
||||||
<R00>-0.969314575</R00>
|
|
||||||
<R01>0.245822206</R01>
|
|
||||||
<R02>4.6762093e-006</R02>
|
|
||||||
<R10>0.245822206</R10>
|
|
||||||
<R11>0.969314933</R11>
|
|
||||||
<R12>6.9744442e-007</R12>
|
|
||||||
<R20>-4.35209677e-006</R20>
|
|
||||||
<R21>1.87532066e-006</R21>
|
|
||||||
<R22>-0.999999642</R22>
|
|
||||||
</CoordinateFrame>
|
|
||||||
<bool name="CanCollide">true</bool>
|
|
||||||
<token name="Controller">0</token>
|
|
||||||
<bool name="ControllerFlagShown">true</bool>
|
|
||||||
<bool name="DraggingV1">false</bool>
|
|
||||||
<float name="Elasticity">0.5</float>
|
|
||||||
<token name="FormFactor">0</token>
|
|
||||||
<float name="Friction">0.300000012</float>
|
|
||||||
<float name="FrontParamA">-0.5</float>
|
|
||||||
<float name="FrontParamB">0.5</float>
|
|
||||||
<token name="FrontSurface">0</token>
|
|
||||||
<token name="FrontSurfaceInput">0</token>
|
|
||||||
<float name="LeftParamA">-0.5</float>
|
|
||||||
<float name="LeftParamB">0.5</float>
|
|
||||||
<token name="LeftSurface">0</token>
|
|
||||||
<token name="LeftSurfaceInput">0</token>
|
|
||||||
<bool name="Locked">false</bool>
|
|
||||||
<string name="Name">Smooth Block Model</string>
|
|
||||||
<float name="Reflectance">0</float>
|
|
||||||
<float name="RightParamA">-0.5</float>
|
|
||||||
<float name="RightParamB">0.5</float>
|
|
||||||
<token name="RightSurface">0</token>
|
|
||||||
<token name="RightSurfaceInput">0</token>
|
|
||||||
<Vector3 name="RotVelocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<float name="TopParamA">-0.5</float>
|
|
||||||
<float name="TopParamB">0.5</float>
|
|
||||||
<token name="TopSurface">0</token>
|
|
||||||
<token name="TopSurfaceInput">0</token>
|
|
||||||
<float name="Transparency">0</float>
|
|
||||||
<Vector3 name="Velocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
<token name="shape">2</token>
|
|
||||||
<Vector3 name="size">
|
|
||||||
<X>6</X>
|
|
||||||
<Y>6</Y>
|
|
||||||
<Z>6</Z>
|
|
||||||
</Vector3>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="Part" referent="RBX3">
|
|
||||||
<Properties>
|
|
||||||
<bool name="Anchored">true</bool>
|
|
||||||
<float name="BackParamA">-0.5</float>
|
|
||||||
<float name="BackParamB">0.5</float>
|
|
||||||
<token name="BackSurface">0</token>
|
|
||||||
<token name="BackSurfaceInput">0</token>
|
|
||||||
<float name="BottomParamA">-0.5</float>
|
|
||||||
<float name="BottomParamB">0.5</float>
|
|
||||||
<token name="BottomSurface">4</token>
|
|
||||||
<token name="BottomSurfaceInput">0</token>
|
|
||||||
<int name="BrickColor">23</int>
|
|
||||||
<CoordinateFrame name="CFrame">
|
|
||||||
<X>108.911415</X>
|
|
||||||
<Y>38.7803154</Y>
|
|
||||||
<Z>27.5002155</Z>
|
|
||||||
<R00>-0.969314575</R00>
|
|
||||||
<R01>0.245822206</R01>
|
|
||||||
<R02>4.6762093e-006</R02>
|
|
||||||
<R10>0.245822206</R10>
|
|
||||||
<R11>0.969314933</R11>
|
|
||||||
<R12>6.9744442e-007</R12>
|
|
||||||
<R20>-4.35209677e-006</R20>
|
|
||||||
<R21>1.87532066e-006</R21>
|
|
||||||
<R22>-0.999999642</R22>
|
|
||||||
</CoordinateFrame>
|
|
||||||
<bool name="CanCollide">true</bool>
|
|
||||||
<token name="Controller">0</token>
|
|
||||||
<bool name="ControllerFlagShown">true</bool>
|
|
||||||
<bool name="DraggingV1">false</bool>
|
|
||||||
<float name="Elasticity">0.5</float>
|
|
||||||
<token name="FormFactor">1</token>
|
|
||||||
<float name="Friction">0.300000012</float>
|
|
||||||
<float name="FrontParamA">-0.5</float>
|
|
||||||
<float name="FrontParamB">0.5</float>
|
|
||||||
<token name="FrontSurface">0</token>
|
|
||||||
<token name="FrontSurfaceInput">0</token>
|
|
||||||
<float name="LeftParamA">-0.5</float>
|
|
||||||
<float name="LeftParamB">0.5</float>
|
|
||||||
<token name="LeftSurface">0</token>
|
|
||||||
<token name="LeftSurfaceInput">0</token>
|
|
||||||
<bool name="Locked">false</bool>
|
|
||||||
<string name="Name">Smooth Block Model</string>
|
|
||||||
<float name="Reflectance">0</float>
|
|
||||||
<float name="RightParamA">-0.5</float>
|
|
||||||
<float name="RightParamB">0.5</float>
|
|
||||||
<token name="RightSurface">0</token>
|
|
||||||
<token name="RightSurfaceInput">0</token>
|
|
||||||
<Vector3 name="RotVelocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<float name="TopParamA">-0.5</float>
|
|
||||||
<float name="TopParamB">0.5</float>
|
|
||||||
<token name="TopSurface">3</token>
|
|
||||||
<token name="TopSurfaceInput">0</token>
|
|
||||||
<float name="Transparency">0</float>
|
|
||||||
<Vector3 name="Velocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
<token name="shape">1</token>
|
|
||||||
<Vector3 name="size">
|
|
||||||
<X>53</X>
|
|
||||||
<Y>1.20000005</Y>
|
|
||||||
<Z>1</Z>
|
|
||||||
</Vector3>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="Part" referent="RBX4">
|
|
||||||
<Properties>
|
|
||||||
<bool name="Anchored">true</bool>
|
|
||||||
<float name="BackParamA">-0.5</float>
|
|
||||||
<float name="BackParamB">0.5</float>
|
|
||||||
<token name="BackSurface">0</token>
|
|
||||||
<token name="BackSurfaceInput">0</token>
|
|
||||||
<float name="BottomParamA">-0.5</float>
|
|
||||||
<float name="BottomParamB">0.5</float>
|
|
||||||
<token name="BottomSurface">4</token>
|
|
||||||
<token name="BottomSurfaceInput">0</token>
|
|
||||||
<int name="BrickColor">23</int>
|
|
||||||
<CoordinateFrame name="CFrame">
|
|
||||||
<X>141.499893</X>
|
|
||||||
<Y>38.1177788</Y>
|
|
||||||
<Z>27.0499611</Z>
|
|
||||||
<R00>1</R00>
|
|
||||||
<R01>-1.07914104e-006</R01>
|
|
||||||
<R02>-4.49890285e-006</R02>
|
|
||||||
<R10>-5.98966139e-008</R10>
|
|
||||||
<R11>0.969315231</R11>
|
|
||||||
<R12>-0.245820925</R12>
|
|
||||||
<R20>4.6261307e-006</R20>
|
|
||||||
<R21>0.245820925</R21>
|
|
||||||
<R22>0.969315231</R22>
|
|
||||||
</CoordinateFrame>
|
|
||||||
<bool name="CanCollide">true</bool>
|
|
||||||
<token name="Controller">0</token>
|
|
||||||
<bool name="ControllerFlagShown">true</bool>
|
|
||||||
<bool name="DraggingV1">false</bool>
|
|
||||||
<float name="Elasticity">0.5</float>
|
|
||||||
<token name="FormFactor">1</token>
|
|
||||||
<float name="Friction">0.300000012</float>
|
|
||||||
<float name="FrontParamA">-0.5</float>
|
|
||||||
<float name="FrontParamB">0.5</float>
|
|
||||||
<token name="FrontSurface">0</token>
|
|
||||||
<token name="FrontSurfaceInput">0</token>
|
|
||||||
<float name="LeftParamA">-0.5</float>
|
|
||||||
<float name="LeftParamB">0.5</float>
|
|
||||||
<token name="LeftSurface">0</token>
|
|
||||||
<token name="LeftSurfaceInput">0</token>
|
|
||||||
<bool name="Locked">false</bool>
|
|
||||||
<string name="Name">Smooth Block Model</string>
|
|
||||||
<float name="Reflectance">0</float>
|
|
||||||
<float name="RightParamA">-0.5</float>
|
|
||||||
<float name="RightParamB">0.5</float>
|
|
||||||
<token name="RightSurface">0</token>
|
|
||||||
<token name="RightSurfaceInput">0</token>
|
|
||||||
<Vector3 name="RotVelocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<float name="TopParamA">-0.5</float>
|
|
||||||
<float name="TopParamB">0.5</float>
|
|
||||||
<token name="TopSurface">3</token>
|
|
||||||
<token name="TopSurfaceInput">0</token>
|
|
||||||
<float name="Transparency">0</float>
|
|
||||||
<Vector3 name="Velocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
<token name="shape">1</token>
|
|
||||||
<Vector3 name="size">
|
|
||||||
<X>1</X>
|
|
||||||
<Y>16.8000011</Y>
|
|
||||||
<Z>12</Z>
|
|
||||||
</Vector3>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="Part" referent="RBX5">
|
|
||||||
<Properties>
|
|
||||||
<bool name="Anchored">true</bool>
|
|
||||||
<float name="BackParamA">-0.5</float>
|
|
||||||
<float name="BackParamB">0.5</float>
|
|
||||||
<token name="BackSurface">0</token>
|
|
||||||
<token name="BackSurfaceInput">0</token>
|
|
||||||
<float name="BottomParamA">-0.5</float>
|
|
||||||
<float name="BottomParamB">0.5</float>
|
|
||||||
<token name="BottomSurface">4</token>
|
|
||||||
<token name="BottomSurfaceInput">0</token>
|
|
||||||
<int name="BrickColor">23</int>
|
|
||||||
<CoordinateFrame name="CFrame">
|
|
||||||
<X>108.911438</X>
|
|
||||||
<Y>38.7803192</Y>
|
|
||||||
<Z>22.5002174</Z>
|
|
||||||
<R00>-0.969314575</R00>
|
|
||||||
<R01>0.245822206</R01>
|
|
||||||
<R02>4.6762093e-006</R02>
|
|
||||||
<R10>0.245822206</R10>
|
|
||||||
<R11>0.969314933</R11>
|
|
||||||
<R12>6.9744442e-007</R12>
|
|
||||||
<R20>-4.35209677e-006</R20>
|
|
||||||
<R21>1.87532066e-006</R21>
|
|
||||||
<R22>-0.999999642</R22>
|
|
||||||
</CoordinateFrame>
|
|
||||||
<bool name="CanCollide">true</bool>
|
|
||||||
<token name="Controller">0</token>
|
|
||||||
<bool name="ControllerFlagShown">true</bool>
|
|
||||||
<bool name="DraggingV1">false</bool>
|
|
||||||
<float name="Elasticity">0.5</float>
|
|
||||||
<token name="FormFactor">1</token>
|
|
||||||
<float name="Friction">0.300000012</float>
|
|
||||||
<float name="FrontParamA">-0.5</float>
|
|
||||||
<float name="FrontParamB">0.5</float>
|
|
||||||
<token name="FrontSurface">0</token>
|
|
||||||
<token name="FrontSurfaceInput">0</token>
|
|
||||||
<float name="LeftParamA">-0.5</float>
|
|
||||||
<float name="LeftParamB">0.5</float>
|
|
||||||
<token name="LeftSurface">0</token>
|
|
||||||
<token name="LeftSurfaceInput">0</token>
|
|
||||||
<bool name="Locked">false</bool>
|
|
||||||
<string name="Name">Smooth Block Model</string>
|
|
||||||
<float name="Reflectance">0</float>
|
|
||||||
<float name="RightParamA">-0.5</float>
|
|
||||||
<float name="RightParamB">0.5</float>
|
|
||||||
<token name="RightSurface">0</token>
|
|
||||||
<token name="RightSurfaceInput">0</token>
|
|
||||||
<Vector3 name="RotVelocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<float name="TopParamA">-0.5</float>
|
|
||||||
<float name="TopParamB">0.5</float>
|
|
||||||
<token name="TopSurface">3</token>
|
|
||||||
<token name="TopSurfaceInput">0</token>
|
|
||||||
<float name="Transparency">0</float>
|
|
||||||
<Vector3 name="Velocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
<token name="shape">1</token>
|
|
||||||
<Vector3 name="size">
|
|
||||||
<X>53</X>
|
|
||||||
<Y>1.20000005</Y>
|
|
||||||
<Z>1</Z>
|
|
||||||
</Vector3>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="Part" referent="RBX6">
|
|
||||||
<Properties>
|
|
||||||
<bool name="Anchored">true</bool>
|
|
||||||
<float name="BackParamA">-0.5</float>
|
|
||||||
<float name="BackParamB">0.5</float>
|
|
||||||
<token name="BackSurface">0</token>
|
|
||||||
<token name="BackSurfaceInput">0</token>
|
|
||||||
<float name="BottomParamA">-0.5</float>
|
|
||||||
<float name="BottomParamB">0.5</float>
|
|
||||||
<token name="BottomSurface">4</token>
|
|
||||||
<token name="BottomSurfaceInput">0</token>
|
|
||||||
<int name="BrickColor">23</int>
|
|
||||||
<CoordinateFrame name="CFrame">
|
|
||||||
<X>140.499786</X>
|
|
||||||
<Y>24.7802944</Y>
|
|
||||||
<Z>47.911438</Z>
|
|
||||||
<R00>4.35209677e-006</R00>
|
|
||||||
<R01>-1.87532066e-006</R01>
|
|
||||||
<R02>0.999999642</R02>
|
|
||||||
<R10>0.245822206</R10>
|
|
||||||
<R11>0.969314933</R11>
|
|
||||||
<R12>6.9744442e-007</R12>
|
|
||||||
<R20>-0.969314575</R20>
|
|
||||||
<R21>0.245822206</R21>
|
|
||||||
<R22>4.6762093e-006</R22>
|
|
||||||
</CoordinateFrame>
|
|
||||||
<bool name="CanCollide">true</bool>
|
|
||||||
<token name="Controller">0</token>
|
|
||||||
<bool name="ControllerFlagShown">true</bool>
|
|
||||||
<bool name="DraggingV1">false</bool>
|
|
||||||
<float name="Elasticity">0.5</float>
|
|
||||||
<token name="FormFactor">1</token>
|
|
||||||
<float name="Friction">0.300000012</float>
|
|
||||||
<float name="FrontParamA">-0.5</float>
|
|
||||||
<float name="FrontParamB">0.5</float>
|
|
||||||
<token name="FrontSurface">0</token>
|
|
||||||
<token name="FrontSurfaceInput">0</token>
|
|
||||||
<float name="LeftParamA">-0.5</float>
|
|
||||||
<float name="LeftParamB">0.5</float>
|
|
||||||
<token name="LeftSurface">0</token>
|
|
||||||
<token name="LeftSurfaceInput">0</token>
|
|
||||||
<bool name="Locked">false</bool>
|
|
||||||
<string name="Name">Smooth Block Model</string>
|
|
||||||
<float name="Reflectance">0</float>
|
|
||||||
<float name="RightParamA">-0.5</float>
|
|
||||||
<float name="RightParamB">0.5</float>
|
|
||||||
<token name="RightSurface">0</token>
|
|
||||||
<token name="RightSurfaceInput">0</token>
|
|
||||||
<Vector3 name="RotVelocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<float name="TopParamA">-0.5</float>
|
|
||||||
<float name="TopParamB">0.5</float>
|
|
||||||
<token name="TopSurface">3</token>
|
|
||||||
<token name="TopSurfaceInput">0</token>
|
|
||||||
<float name="Transparency">0</float>
|
|
||||||
<Vector3 name="Velocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
<token name="shape">1</token>
|
|
||||||
<Vector3 name="size">
|
|
||||||
<X>53</X>
|
|
||||||
<Y>1.20000005</Y>
|
|
||||||
<Z>1</Z>
|
|
||||||
</Vector3>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="Part" referent="RBX7">
|
|
||||||
<Properties>
|
|
||||||
<bool name="Anchored">true</bool>
|
|
||||||
<float name="BackParamA">-0.5</float>
|
|
||||||
<float name="BackParamB">0.5</float>
|
|
||||||
<token name="BackSurface">0</token>
|
|
||||||
<token name="BackSurfaceInput">0</token>
|
|
||||||
<float name="BottomParamA">-0.5</float>
|
|
||||||
<float name="BottomParamB">0.5</float>
|
|
||||||
<token name="BottomSurface">4</token>
|
|
||||||
<token name="BottomSurfaceInput">0</token>
|
|
||||||
<int name="BrickColor">23</int>
|
|
||||||
<CoordinateFrame name="CFrame">
|
|
||||||
<X>135.499786</X>
|
|
||||||
<Y>24.7802944</Y>
|
|
||||||
<Z>47.9114227</Z>
|
|
||||||
<R00>4.35515585e-006</R00>
|
|
||||||
<R01>-1.85873387e-006</R01>
|
|
||||||
<R02>0.999999881</R02>
|
|
||||||
<R10>0.245822236</R10>
|
|
||||||
<R11>0.969314933</R11>
|
|
||||||
<R12>7.14274279e-007</R12>
|
|
||||||
<R20>-0.969314814</R20>
|
|
||||||
<R21>0.245822236</R21>
|
|
||||||
<R22>4.67732343e-006</R22>
|
|
||||||
</CoordinateFrame>
|
|
||||||
<bool name="CanCollide">true</bool>
|
|
||||||
<token name="Controller">0</token>
|
|
||||||
<bool name="ControllerFlagShown">true</bool>
|
|
||||||
<bool name="DraggingV1">false</bool>
|
|
||||||
<float name="Elasticity">0.5</float>
|
|
||||||
<token name="FormFactor">1</token>
|
|
||||||
<float name="Friction">0.300000012</float>
|
|
||||||
<float name="FrontParamA">-0.5</float>
|
|
||||||
<float name="FrontParamB">0.5</float>
|
|
||||||
<token name="FrontSurface">0</token>
|
|
||||||
<token name="FrontSurfaceInput">0</token>
|
|
||||||
<float name="LeftParamA">-0.5</float>
|
|
||||||
<float name="LeftParamB">0.5</float>
|
|
||||||
<token name="LeftSurface">0</token>
|
|
||||||
<token name="LeftSurfaceInput">0</token>
|
|
||||||
<bool name="Locked">false</bool>
|
|
||||||
<string name="Name">Smooth Block Model</string>
|
|
||||||
<float name="Reflectance">0</float>
|
|
||||||
<float name="RightParamA">-0.5</float>
|
|
||||||
<float name="RightParamB">0.5</float>
|
|
||||||
<token name="RightSurface">0</token>
|
|
||||||
<token name="RightSurfaceInput">0</token>
|
|
||||||
<Vector3 name="RotVelocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<float name="TopParamA">-0.5</float>
|
|
||||||
<float name="TopParamB">0.5</float>
|
|
||||||
<token name="TopSurface">3</token>
|
|
||||||
<token name="TopSurfaceInput">0</token>
|
|
||||||
<float name="Transparency">0</float>
|
|
||||||
<Vector3 name="Velocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
<token name="shape">1</token>
|
|
||||||
<Vector3 name="size">
|
|
||||||
<X>53</X>
|
|
||||||
<Y>1.20000005</Y>
|
|
||||||
<Z>1</Z>
|
|
||||||
</Vector3>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
</Item>
|
|
||||||
<Item class="RunService" referent="RBX8">
|
|
||||||
<Properties>
|
|
||||||
<string name="Name">Run Service</string>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<External>RBX9</External>
|
|
||||||
<External>RBX10</External>
|
|
||||||
<Item class="Players" referent="RBX11">
|
|
||||||
<Properties>
|
|
||||||
<int name="MaxPlayers">12</int>
|
|
||||||
<string name="Name">Players</string>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="StarterPack" referent="RBX12">
|
|
||||||
<Properties>
|
|
||||||
<string name="Name">StarterPack</string>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="SoundService" referent="RBX13">
|
|
||||||
<Properties>
|
|
||||||
<token name="AmbientReverb">0</token>
|
|
||||||
<float name="DistanceFactor">10</float>
|
|
||||||
<float name="DopplerScale">1</float>
|
|
||||||
<string name="Name">Soundscape</string>
|
|
||||||
<float name="RolloffScale">1</float>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
</Properties>
|
|
||||||
<External>RBX14</External>
|
|
||||||
<External>RBX15</External>
|
|
||||||
<External>RBX16</External>
|
|
||||||
<External>RBX17</External>
|
|
||||||
<External>RBX18</External>
|
|
||||||
<External>RBX19</External>
|
|
||||||
<External>RBX20</External>
|
|
||||||
<External>RBX21</External>
|
|
||||||
<External>RBX22</External>
|
|
||||||
<External>RBX23</External>
|
|
||||||
<External>RBX24</External>
|
|
||||||
<External>RBX25</External>
|
|
||||||
<External>RBX26</External>
|
|
||||||
<External>RBX27</External>
|
|
||||||
</Item>
|
|
||||||
<Item class="ContentProvider" referent="RBX28">
|
|
||||||
<Properties>
|
|
||||||
<string name="Name">Instance</string>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="PhysicsService" referent="RBX29">
|
|
||||||
<Properties>
|
|
||||||
<string name="Name">PhysicsService</string>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<External>RBX30</External>
|
|
||||||
<Item class="Selection" referent="RBX31">
|
|
||||||
<Properties>
|
|
||||||
<string name="Name">Selection</string>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<External>RBX32</External>
|
|
||||||
<Item class="Lighting" referent="RBX33">
|
|
||||||
<Properties>
|
|
||||||
<Color3 name="Ambient">4286940549</Color3>
|
|
||||||
<float name="Brightness">1</float>
|
|
||||||
<Color3 name="ColorShift_Bottom">4278190080</Color3>
|
|
||||||
<Color3 name="ColorShift_Top">4278190080</Color3>
|
|
||||||
<float name="GeographicLatitude">41.7332993</float>
|
|
||||||
<string name="Name">Lighting</string>
|
|
||||||
<Color3 name="ShadowColor">4290295997</Color3>
|
|
||||||
<string name="TimeOfDay">14:00:00</string>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="ControllerService" referent="RBX34">
|
|
||||||
<Properties>
|
|
||||||
<string name="Name">Instance</string>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="ChangeHistoryService" referent="RBX35">
|
|
||||||
<Properties>
|
|
||||||
<string name="Name">ChangeHistoryService</string>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<External>RBX36</External>
|
|
||||||
</roblox>
|
|
||||||
586202
Physics Test/Roblox HQ.rbxl
586202
Physics Test/Roblox HQ.rbxl
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,578 +0,0 @@
|
|||||||
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.roblox.com/roblox.xsd" version="4">
|
|
||||||
<External>null</External>
|
|
||||||
<External>nil</External>
|
|
||||||
<Item class="RunService">
|
|
||||||
<Properties>
|
|
||||||
<string name="Name">Run Service</string>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="Selection">
|
|
||||||
<Properties>
|
|
||||||
<string name="Name">Selection</string>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="Workspace">
|
|
||||||
<Properties>
|
|
||||||
<token name="Controller">0</token>
|
|
||||||
<bool name="ControllerFlagShown">true</bool>
|
|
||||||
<Ref name="CurrentCamera">RBX0</Ref>
|
|
||||||
<CoordinateFrame name="ModelInPrimary">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
<R00>1</R00>
|
|
||||||
<R01>0</R01>
|
|
||||||
<R02>0</R02>
|
|
||||||
<R10>0</R10>
|
|
||||||
<R11>1</R11>
|
|
||||||
<R12>0</R12>
|
|
||||||
<R20>0</R20>
|
|
||||||
<R21>0</R21>
|
|
||||||
<R22>1</R22>
|
|
||||||
</CoordinateFrame>
|
|
||||||
<string name="Name">Workspace</string>
|
|
||||||
<Ref name="PrimaryPart">RBX1</Ref>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
</Properties>
|
|
||||||
<Item class="Camera" referent="RBX0">
|
|
||||||
<Properties>
|
|
||||||
<Ref name="CameraSubject">null</Ref>
|
|
||||||
<token name="CameraType">0</token>
|
|
||||||
<CoordinateFrame name="CoordinateFrame">
|
|
||||||
<X>202.42688</X>
|
|
||||||
<Y>55.4607582</Y>
|
|
||||||
<Z>3.2956109</Z>
|
|
||||||
<R00>0.0106770508</R00>
|
|
||||||
<R01>0.00328579429</R01>
|
|
||||||
<R02>0.999937654</R02>
|
|
||||||
<R10>4.65661287e-010</R10>
|
|
||||||
<R11>0.999994576</R11>
|
|
||||||
<R12>-0.00328598148</R12>
|
|
||||||
<R20>-0.999943018</R20>
|
|
||||||
<R21>3.50852497e-005</R21>
|
|
||||||
<R22>0.010676994</R22>
|
|
||||||
</CoordinateFrame>
|
|
||||||
<CoordinateFrame name="Focus">
|
|
||||||
<X>182.428116</X>
|
|
||||||
<Y>55.5264778</Y>
|
|
||||||
<Z>3.08207107</Z>
|
|
||||||
<R00>1</R00>
|
|
||||||
<R01>0</R01>
|
|
||||||
<R02>0</R02>
|
|
||||||
<R10>0</R10>
|
|
||||||
<R11>1</R11>
|
|
||||||
<R12>0</R12>
|
|
||||||
<R20>0</R20>
|
|
||||||
<R21>0</R21>
|
|
||||||
<R22>1</R22>
|
|
||||||
</CoordinateFrame>
|
|
||||||
<string name="Name">Camera</string>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="Part" referent="RBX1">
|
|
||||||
<Properties>
|
|
||||||
<bool name="Anchored">true</bool>
|
|
||||||
<float name="BackParamA">-0.5</float>
|
|
||||||
<float name="BackParamB">0.5</float>
|
|
||||||
<token name="BackSurface">0</token>
|
|
||||||
<token name="BackSurfaceInput">0</token>
|
|
||||||
<float name="BottomParamA">-0.5</float>
|
|
||||||
<float name="BottomParamB">0.5</float>
|
|
||||||
<token name="BottomSurface">0</token>
|
|
||||||
<token name="BottomSurfaceInput">0</token>
|
|
||||||
<int name="BrickColor">37</int>
|
|
||||||
<CoordinateFrame name="CFrame">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>2.79999995</Y>
|
|
||||||
<Z>-4</Z>
|
|
||||||
<R00>1</R00>
|
|
||||||
<R01>0</R01>
|
|
||||||
<R02>0</R02>
|
|
||||||
<R10>0</R10>
|
|
||||||
<R11>1</R11>
|
|
||||||
<R12>0</R12>
|
|
||||||
<R20>0</R20>
|
|
||||||
<R21>0</R21>
|
|
||||||
<R22>1</R22>
|
|
||||||
</CoordinateFrame>
|
|
||||||
<bool name="CanCollide">true</bool>
|
|
||||||
<bool name="CastsShadows">false</bool>
|
|
||||||
<token name="Controller">0</token>
|
|
||||||
<bool name="ControllerFlagShown">true</bool>
|
|
||||||
<bool name="Cullable">true</bool>
|
|
||||||
<bool name="DraggingV1">false</bool>
|
|
||||||
<float name="Elasticity">0.5</float>
|
|
||||||
<token name="FormFactor">0</token>
|
|
||||||
<float name="Friction">0.300000012</float>
|
|
||||||
<float name="FrontParamA">-0.5</float>
|
|
||||||
<float name="FrontParamB">0.5</float>
|
|
||||||
<token name="FrontSurface">0</token>
|
|
||||||
<token name="FrontSurfaceInput">0</token>
|
|
||||||
<float name="LeftParamA">-0.5</float>
|
|
||||||
<float name="LeftParamB">0.5</float>
|
|
||||||
<token name="LeftSurface">0</token>
|
|
||||||
<token name="LeftSurfaceInput">0</token>
|
|
||||||
<bool name="Locked">true</bool>
|
|
||||||
<string name="Name">Part</string>
|
|
||||||
<float name="Reflectance">0</float>
|
|
||||||
<float name="RightParamA">-0.5</float>
|
|
||||||
<float name="RightParamB">0.5</float>
|
|
||||||
<token name="RightSurface">0</token>
|
|
||||||
<token name="RightSurfaceInput">0</token>
|
|
||||||
<Vector3 name="RotVelocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<float name="TopParamA">-0.5</float>
|
|
||||||
<float name="TopParamB">0.5</float>
|
|
||||||
<token name="TopSurface">0</token>
|
|
||||||
<token name="TopSurfaceInput">0</token>
|
|
||||||
<float name="Transparency">0</float>
|
|
||||||
<Vector3 name="Velocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
<token name="shape">1</token>
|
|
||||||
<Vector3 name="size">
|
|
||||||
<X>64</X>
|
|
||||||
<Y>1</Y>
|
|
||||||
<Z>248</Z>
|
|
||||||
</Vector3>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="Part">
|
|
||||||
<Properties>
|
|
||||||
<bool name="Anchored">false</bool>
|
|
||||||
<float name="BackParamA">-0.5</float>
|
|
||||||
<float name="BackParamB">0.5</float>
|
|
||||||
<token name="BackSurface">0</token>
|
|
||||||
<token name="BackSurfaceInput">0</token>
|
|
||||||
<float name="BottomParamA">-0.5</float>
|
|
||||||
<float name="BottomParamB">0.5</float>
|
|
||||||
<token name="BottomSurface">0</token>
|
|
||||||
<token name="BottomSurfaceInput">0</token>
|
|
||||||
<int name="BrickColor">23</int>
|
|
||||||
<CoordinateFrame name="CFrame">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>78.3000031</Y>
|
|
||||||
<Z>-96</Z>
|
|
||||||
<R00>1</R00>
|
|
||||||
<R01>0</R01>
|
|
||||||
<R02>0</R02>
|
|
||||||
<R10>0</R10>
|
|
||||||
<R11>1</R11>
|
|
||||||
<R12>0</R12>
|
|
||||||
<R20>0</R20>
|
|
||||||
<R21>0</R21>
|
|
||||||
<R22>1</R22>
|
|
||||||
</CoordinateFrame>
|
|
||||||
<bool name="CanCollide">true</bool>
|
|
||||||
<bool name="CastsShadows">false</bool>
|
|
||||||
<token name="Controller">0</token>
|
|
||||||
<bool name="ControllerFlagShown">true</bool>
|
|
||||||
<bool name="Cullable">true</bool>
|
|
||||||
<bool name="DraggingV1">false</bool>
|
|
||||||
<float name="Elasticity">0.5</float>
|
|
||||||
<token name="FormFactor">0</token>
|
|
||||||
<float name="Friction">0.300000012</float>
|
|
||||||
<float name="FrontParamA">-0.5</float>
|
|
||||||
<float name="FrontParamB">0.5</float>
|
|
||||||
<token name="FrontSurface">0</token>
|
|
||||||
<token name="FrontSurfaceInput">0</token>
|
|
||||||
<float name="LeftParamA">-0.5</float>
|
|
||||||
<float name="LeftParamB">0.5</float>
|
|
||||||
<token name="LeftSurface">0</token>
|
|
||||||
<token name="LeftSurfaceInput">0</token>
|
|
||||||
<bool name="Locked">false</bool>
|
|
||||||
<string name="Name">Part</string>
|
|
||||||
<float name="Reflectance">0</float>
|
|
||||||
<float name="RightParamA">-0.5</float>
|
|
||||||
<float name="RightParamB">0.5</float>
|
|
||||||
<token name="RightSurface">0</token>
|
|
||||||
<token name="RightSurfaceInput">0</token>
|
|
||||||
<Vector3 name="RotVelocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<float name="TopParamA">-0.5</float>
|
|
||||||
<float name="TopParamB">0.5</float>
|
|
||||||
<token name="TopSurface">0</token>
|
|
||||||
<token name="TopSurfaceInput">0</token>
|
|
||||||
<float name="Transparency">0</float>
|
|
||||||
<Vector3 name="Velocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
<token name="shape">1</token>
|
|
||||||
<Vector3 name="size">
|
|
||||||
<X>2</X>
|
|
||||||
<Y>2</Y>
|
|
||||||
<Z>2</Z>
|
|
||||||
</Vector3>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="Part">
|
|
||||||
<Properties>
|
|
||||||
<bool name="Anchored">false</bool>
|
|
||||||
<float name="BackParamA">-0.5</float>
|
|
||||||
<float name="BackParamB">0.5</float>
|
|
||||||
<token name="BackSurface">0</token>
|
|
||||||
<token name="BackSurfaceInput">0</token>
|
|
||||||
<float name="BottomParamA">-0.5</float>
|
|
||||||
<float name="BottomParamB">0.5</float>
|
|
||||||
<token name="BottomSurface">0</token>
|
|
||||||
<token name="BottomSurfaceInput">0</token>
|
|
||||||
<int name="BrickColor">23</int>
|
|
||||||
<CoordinateFrame name="CFrame">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>79.3000031</Y>
|
|
||||||
<Z>-62</Z>
|
|
||||||
<R00>1</R00>
|
|
||||||
<R01>0</R01>
|
|
||||||
<R02>0</R02>
|
|
||||||
<R10>0</R10>
|
|
||||||
<R11>1</R11>
|
|
||||||
<R12>0</R12>
|
|
||||||
<R20>0</R20>
|
|
||||||
<R21>0</R21>
|
|
||||||
<R22>1</R22>
|
|
||||||
</CoordinateFrame>
|
|
||||||
<bool name="CanCollide">true</bool>
|
|
||||||
<bool name="CastsShadows">false</bool>
|
|
||||||
<token name="Controller">0</token>
|
|
||||||
<bool name="ControllerFlagShown">true</bool>
|
|
||||||
<bool name="Cullable">true</bool>
|
|
||||||
<bool name="DraggingV1">false</bool>
|
|
||||||
<float name="Elasticity">0.5</float>
|
|
||||||
<token name="FormFactor">0</token>
|
|
||||||
<float name="Friction">0.300000012</float>
|
|
||||||
<float name="FrontParamA">-0.5</float>
|
|
||||||
<float name="FrontParamB">0.5</float>
|
|
||||||
<token name="FrontSurface">0</token>
|
|
||||||
<token name="FrontSurfaceInput">0</token>
|
|
||||||
<float name="LeftParamA">-0.5</float>
|
|
||||||
<float name="LeftParamB">0.5</float>
|
|
||||||
<token name="LeftSurface">0</token>
|
|
||||||
<token name="LeftSurfaceInput">0</token>
|
|
||||||
<bool name="Locked">false</bool>
|
|
||||||
<string name="Name">Part</string>
|
|
||||||
<float name="Reflectance">0</float>
|
|
||||||
<float name="RightParamA">-0.5</float>
|
|
||||||
<float name="RightParamB">0.5</float>
|
|
||||||
<token name="RightSurface">0</token>
|
|
||||||
<token name="RightSurfaceInput">0</token>
|
|
||||||
<Vector3 name="RotVelocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<float name="TopParamA">-0.5</float>
|
|
||||||
<float name="TopParamB">0.5</float>
|
|
||||||
<token name="TopSurface">0</token>
|
|
||||||
<token name="TopSurfaceInput">0</token>
|
|
||||||
<float name="Transparency">0</float>
|
|
||||||
<Vector3 name="Velocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
<token name="shape">1</token>
|
|
||||||
<Vector3 name="size">
|
|
||||||
<X>4</X>
|
|
||||||
<Y>4</Y>
|
|
||||||
<Z>4</Z>
|
|
||||||
</Vector3>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="Part">
|
|
||||||
<Properties>
|
|
||||||
<bool name="Anchored">false</bool>
|
|
||||||
<float name="BackParamA">-0.5</float>
|
|
||||||
<float name="BackParamB">0.5</float>
|
|
||||||
<token name="BackSurface">0</token>
|
|
||||||
<token name="BackSurfaceInput">0</token>
|
|
||||||
<float name="BottomParamA">-0.5</float>
|
|
||||||
<float name="BottomParamB">0.5</float>
|
|
||||||
<token name="BottomSurface">0</token>
|
|
||||||
<token name="BottomSurfaceInput">0</token>
|
|
||||||
<int name="BrickColor">23</int>
|
|
||||||
<CoordinateFrame name="CFrame">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>81.3000031</Y>
|
|
||||||
<Z>-25</Z>
|
|
||||||
<R00>1</R00>
|
|
||||||
<R01>0</R01>
|
|
||||||
<R02>0</R02>
|
|
||||||
<R10>0</R10>
|
|
||||||
<R11>1</R11>
|
|
||||||
<R12>0</R12>
|
|
||||||
<R20>0</R20>
|
|
||||||
<R21>0</R21>
|
|
||||||
<R22>1</R22>
|
|
||||||
</CoordinateFrame>
|
|
||||||
<bool name="CanCollide">true</bool>
|
|
||||||
<bool name="CastsShadows">false</bool>
|
|
||||||
<token name="Controller">0</token>
|
|
||||||
<bool name="ControllerFlagShown">true</bool>
|
|
||||||
<bool name="Cullable">true</bool>
|
|
||||||
<bool name="DraggingV1">false</bool>
|
|
||||||
<float name="Elasticity">0.5</float>
|
|
||||||
<token name="FormFactor">0</token>
|
|
||||||
<float name="Friction">0.300000012</float>
|
|
||||||
<float name="FrontParamA">-0.5</float>
|
|
||||||
<float name="FrontParamB">0.5</float>
|
|
||||||
<token name="FrontSurface">0</token>
|
|
||||||
<token name="FrontSurfaceInput">0</token>
|
|
||||||
<float name="LeftParamA">-0.5</float>
|
|
||||||
<float name="LeftParamB">0.5</float>
|
|
||||||
<token name="LeftSurface">0</token>
|
|
||||||
<token name="LeftSurfaceInput">0</token>
|
|
||||||
<bool name="Locked">false</bool>
|
|
||||||
<string name="Name">Part</string>
|
|
||||||
<float name="Reflectance">0</float>
|
|
||||||
<float name="RightParamA">-0.5</float>
|
|
||||||
<float name="RightParamB">0.5</float>
|
|
||||||
<token name="RightSurface">0</token>
|
|
||||||
<token name="RightSurfaceInput">0</token>
|
|
||||||
<Vector3 name="RotVelocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<float name="TopParamA">-0.5</float>
|
|
||||||
<float name="TopParamB">0.5</float>
|
|
||||||
<token name="TopSurface">0</token>
|
|
||||||
<token name="TopSurfaceInput">0</token>
|
|
||||||
<float name="Transparency">0</float>
|
|
||||||
<Vector3 name="Velocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
<token name="shape">1</token>
|
|
||||||
<Vector3 name="size">
|
|
||||||
<X>8</X>
|
|
||||||
<Y>8</Y>
|
|
||||||
<Z>8</Z>
|
|
||||||
</Vector3>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="Part">
|
|
||||||
<Properties>
|
|
||||||
<bool name="Anchored">false</bool>
|
|
||||||
<float name="BackParamA">-0.5</float>
|
|
||||||
<float name="BackParamB">0.5</float>
|
|
||||||
<token name="BackSurface">0</token>
|
|
||||||
<token name="BackSurfaceInput">0</token>
|
|
||||||
<float name="BottomParamA">-0.5</float>
|
|
||||||
<float name="BottomParamB">0.5</float>
|
|
||||||
<token name="BottomSurface">0</token>
|
|
||||||
<token name="BottomSurfaceInput">0</token>
|
|
||||||
<int name="BrickColor">23</int>
|
|
||||||
<CoordinateFrame name="CFrame">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>85.3000031</Y>
|
|
||||||
<Z>18</Z>
|
|
||||||
<R00>1</R00>
|
|
||||||
<R01>0</R01>
|
|
||||||
<R02>0</R02>
|
|
||||||
<R10>0</R10>
|
|
||||||
<R11>1</R11>
|
|
||||||
<R12>0</R12>
|
|
||||||
<R20>0</R20>
|
|
||||||
<R21>0</R21>
|
|
||||||
<R22>1</R22>
|
|
||||||
</CoordinateFrame>
|
|
||||||
<bool name="CanCollide">true</bool>
|
|
||||||
<bool name="CastsShadows">false</bool>
|
|
||||||
<token name="Controller">0</token>
|
|
||||||
<bool name="ControllerFlagShown">true</bool>
|
|
||||||
<bool name="Cullable">true</bool>
|
|
||||||
<bool name="DraggingV1">false</bool>
|
|
||||||
<float name="Elasticity">0.5</float>
|
|
||||||
<token name="FormFactor">0</token>
|
|
||||||
<float name="Friction">0.300000012</float>
|
|
||||||
<float name="FrontParamA">-0.5</float>
|
|
||||||
<float name="FrontParamB">0.5</float>
|
|
||||||
<token name="FrontSurface">0</token>
|
|
||||||
<token name="FrontSurfaceInput">0</token>
|
|
||||||
<float name="LeftParamA">-0.5</float>
|
|
||||||
<float name="LeftParamB">0.5</float>
|
|
||||||
<token name="LeftSurface">0</token>
|
|
||||||
<token name="LeftSurfaceInput">0</token>
|
|
||||||
<bool name="Locked">false</bool>
|
|
||||||
<string name="Name">Part</string>
|
|
||||||
<float name="Reflectance">0</float>
|
|
||||||
<float name="RightParamA">-0.5</float>
|
|
||||||
<float name="RightParamB">0.5</float>
|
|
||||||
<token name="RightSurface">0</token>
|
|
||||||
<token name="RightSurfaceInput">0</token>
|
|
||||||
<Vector3 name="RotVelocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<float name="TopParamA">-0.5</float>
|
|
||||||
<float name="TopParamB">0.5</float>
|
|
||||||
<token name="TopSurface">0</token>
|
|
||||||
<token name="TopSurfaceInput">0</token>
|
|
||||||
<float name="Transparency">0</float>
|
|
||||||
<Vector3 name="Velocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
<token name="shape">1</token>
|
|
||||||
<Vector3 name="size">
|
|
||||||
<X>16</X>
|
|
||||||
<Y>16</Y>
|
|
||||||
<Z>16</Z>
|
|
||||||
</Vector3>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="Part">
|
|
||||||
<Properties>
|
|
||||||
<bool name="Anchored">false</bool>
|
|
||||||
<float name="BackParamA">-0.5</float>
|
|
||||||
<float name="BackParamB">0.5</float>
|
|
||||||
<token name="BackSurface">0</token>
|
|
||||||
<token name="BackSurfaceInput">0</token>
|
|
||||||
<float name="BottomParamA">-0.5</float>
|
|
||||||
<float name="BottomParamB">0.5</float>
|
|
||||||
<token name="BottomSurface">0</token>
|
|
||||||
<token name="BottomSurfaceInput">0</token>
|
|
||||||
<int name="BrickColor">23</int>
|
|
||||||
<CoordinateFrame name="CFrame">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>93.3000031</Y>
|
|
||||||
<Z>73</Z>
|
|
||||||
<R00>1</R00>
|
|
||||||
<R01>0</R01>
|
|
||||||
<R02>0</R02>
|
|
||||||
<R10>0</R10>
|
|
||||||
<R11>1</R11>
|
|
||||||
<R12>0</R12>
|
|
||||||
<R20>0</R20>
|
|
||||||
<R21>0</R21>
|
|
||||||
<R22>1</R22>
|
|
||||||
</CoordinateFrame>
|
|
||||||
<bool name="CanCollide">true</bool>
|
|
||||||
<bool name="CastsShadows">false</bool>
|
|
||||||
<token name="Controller">0</token>
|
|
||||||
<bool name="ControllerFlagShown">true</bool>
|
|
||||||
<bool name="Cullable">true</bool>
|
|
||||||
<bool name="DraggingV1">false</bool>
|
|
||||||
<float name="Elasticity">0.5</float>
|
|
||||||
<token name="FormFactor">0</token>
|
|
||||||
<float name="Friction">0.300000012</float>
|
|
||||||
<float name="FrontParamA">-0.5</float>
|
|
||||||
<float name="FrontParamB">0.5</float>
|
|
||||||
<token name="FrontSurface">0</token>
|
|
||||||
<token name="FrontSurfaceInput">0</token>
|
|
||||||
<float name="LeftParamA">-0.5</float>
|
|
||||||
<float name="LeftParamB">0.5</float>
|
|
||||||
<token name="LeftSurface">0</token>
|
|
||||||
<token name="LeftSurfaceInput">0</token>
|
|
||||||
<bool name="Locked">false</bool>
|
|
||||||
<string name="Name">Part</string>
|
|
||||||
<float name="Reflectance">0</float>
|
|
||||||
<float name="RightParamA">-0.5</float>
|
|
||||||
<float name="RightParamB">0.5</float>
|
|
||||||
<token name="RightSurface">0</token>
|
|
||||||
<token name="RightSurfaceInput">0</token>
|
|
||||||
<Vector3 name="RotVelocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<float name="TopParamA">-0.5</float>
|
|
||||||
<float name="TopParamB">0.5</float>
|
|
||||||
<token name="TopSurface">0</token>
|
|
||||||
<token name="TopSurfaceInput">0</token>
|
|
||||||
<float name="Transparency">0</float>
|
|
||||||
<Vector3 name="Velocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
<token name="shape">1</token>
|
|
||||||
<Vector3 name="size">
|
|
||||||
<X>32</X>
|
|
||||||
<Y>32</Y>
|
|
||||||
<Z>32</Z>
|
|
||||||
</Vector3>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
</Item>
|
|
||||||
<External>RBX2</External>
|
|
||||||
<External>RBX3</External>
|
|
||||||
<Item class="Players">
|
|
||||||
<Properties>
|
|
||||||
<string name="Name">Players</string>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
<int name="maxPlayers">10</int>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="StarterPack">
|
|
||||||
<Properties>
|
|
||||||
<string name="Name">StarterPack</string>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="SoundService">
|
|
||||||
<Properties>
|
|
||||||
<string name="Name">SoundService</string>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
<float name="distancefactor">10</float>
|
|
||||||
<float name="dopplerscale">1</float>
|
|
||||||
<float name="rolloffscale">1</float>
|
|
||||||
</Properties>
|
|
||||||
<External>RBX4</External>
|
|
||||||
<External>RBX5</External>
|
|
||||||
<External>RBX6</External>
|
|
||||||
<External>RBX7</External>
|
|
||||||
<External>RBX8</External>
|
|
||||||
<External>RBX9</External>
|
|
||||||
<External>RBX10</External>
|
|
||||||
<External>RBX11</External>
|
|
||||||
<External>RBX12</External>
|
|
||||||
<External>RBX13</External>
|
|
||||||
<External>RBX14</External>
|
|
||||||
<External>RBX15</External>
|
|
||||||
<External>RBX16</External>
|
|
||||||
<External>RBX17</External>
|
|
||||||
</Item>
|
|
||||||
<Item class="Lighting">
|
|
||||||
<Properties>
|
|
||||||
<Color3 name="BottomAmbientV9">4286220152</Color3>
|
|
||||||
<Color3 name="ClearColor">4278190080</Color3>
|
|
||||||
<string name="Name">Lighting</string>
|
|
||||||
<Color3 name="SpotLightV9">4290822336</Color3>
|
|
||||||
<string name="TimeOfDay">14:00:00</string>
|
|
||||||
<Color3 name="TopAmbientV9">4292006362</Color3>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="ControllerService">
|
|
||||||
<Properties>
|
|
||||||
<string name="Name">Instance</string>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<External>RBX18</External>
|
|
||||||
<External>RBX19</External>
|
|
||||||
<External>RBX20</External>
|
|
||||||
</roblox>
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,660 +0,0 @@
|
|||||||
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.roblox.com/roblox.xsd" version="4">
|
|
||||||
<External>null</External>
|
|
||||||
<External>nil</External>
|
|
||||||
<Item class="Workspace" referent="RBX0">
|
|
||||||
<Properties>
|
|
||||||
<token name="Controller">0</token>
|
|
||||||
<bool name="ControllerFlagShown">true</bool>
|
|
||||||
<Ref name="CurrentCamera">RBX1</Ref>
|
|
||||||
<double name="DistributedGameTime">0</double>
|
|
||||||
<CoordinateFrame name="ModelInPrimary">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
<R00>1</R00>
|
|
||||||
<R01>0</R01>
|
|
||||||
<R02>0</R02>
|
|
||||||
<R10>0</R10>
|
|
||||||
<R11>1</R11>
|
|
||||||
<R12>0</R12>
|
|
||||||
<R20>0</R20>
|
|
||||||
<R21>0</R21>
|
|
||||||
<R22>1</R22>
|
|
||||||
</CoordinateFrame>
|
|
||||||
<string name="Name">Workspace</string>
|
|
||||||
<Ref name="PrimaryPart">null</Ref>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
</Properties>
|
|
||||||
<Item class="Camera" referent="RBX1">
|
|
||||||
<Properties>
|
|
||||||
<Ref name="CameraSubject">null</Ref>
|
|
||||||
<token name="CameraType">0</token>
|
|
||||||
<CoordinateFrame name="CoordinateFrame">
|
|
||||||
<X>-62.3436203</X>
|
|
||||||
<Y>290.964996</Y>
|
|
||||||
<Z>130.047195</Z>
|
|
||||||
<R00>0.900759101</R00>
|
|
||||||
<R01>0.385544956</R01>
|
|
||||||
<R02>-0.199970409</R02>
|
|
||||||
<R10>3.07713033e-009</R10>
|
|
||||||
<R11>0.460422784</R11>
|
|
||||||
<R12>0.887699783</R12>
|
|
||||||
<R20>0.434319079</R20>
|
|
||||||
<R21>-0.799603641</R21>
|
|
||||||
<R22>0.414730012</R22>
|
|
||||||
</CoordinateFrame>
|
|
||||||
<CoordinateFrame name="Focus">
|
|
||||||
<X>-58.3442116</X>
|
|
||||||
<Y>273.210999</Y>
|
|
||||||
<Z>121.752594</Z>
|
|
||||||
<R00>1</R00>
|
|
||||||
<R01>0</R01>
|
|
||||||
<R02>0</R02>
|
|
||||||
<R10>0</R10>
|
|
||||||
<R11>1</R11>
|
|
||||||
<R12>0</R12>
|
|
||||||
<R20>0</R20>
|
|
||||||
<R21>0</R21>
|
|
||||||
<R22>1</R22>
|
|
||||||
</CoordinateFrame>
|
|
||||||
<string name="Name">Camera</string>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="Part" referent="RBX2">
|
|
||||||
<Properties>
|
|
||||||
<bool name="Anchored">true</bool>
|
|
||||||
<float name="BackParamA">-0.5</float>
|
|
||||||
<float name="BackParamB">0.5</float>
|
|
||||||
<token name="BackSurface">0</token>
|
|
||||||
<token name="BackSurfaceInput">0</token>
|
|
||||||
<float name="BottomParamA">-0.5</float>
|
|
||||||
<float name="BottomParamB">0.5</float>
|
|
||||||
<token name="BottomSurface">4</token>
|
|
||||||
<token name="BottomSurfaceInput">0</token>
|
|
||||||
<int name="BrickColor">37</int>
|
|
||||||
<CoordinateFrame name="CFrame">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0.600000024</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
<R00>-1</R00>
|
|
||||||
<R01>0</R01>
|
|
||||||
<R02>-0</R02>
|
|
||||||
<R10>-0</R10>
|
|
||||||
<R11>1</R11>
|
|
||||||
<R12>-0</R12>
|
|
||||||
<R20>-0</R20>
|
|
||||||
<R21>0</R21>
|
|
||||||
<R22>-1</R22>
|
|
||||||
</CoordinateFrame>
|
|
||||||
<bool name="CanCollide">true</bool>
|
|
||||||
<token name="Controller">0</token>
|
|
||||||
<bool name="ControllerFlagShown">true</bool>
|
|
||||||
<bool name="DraggingV1">false</bool>
|
|
||||||
<float name="Elasticity">0.5</float>
|
|
||||||
<token name="FormFactor">1</token>
|
|
||||||
<float name="Friction">0.300000012</float>
|
|
||||||
<float name="FrontParamA">-0.5</float>
|
|
||||||
<float name="FrontParamB">0.5</float>
|
|
||||||
<token name="FrontSurface">0</token>
|
|
||||||
<token name="FrontSurfaceInput">0</token>
|
|
||||||
<float name="LeftParamA">-0.5</float>
|
|
||||||
<float name="LeftParamB">0.5</float>
|
|
||||||
<token name="LeftSurface">0</token>
|
|
||||||
<token name="LeftSurfaceInput">0</token>
|
|
||||||
<bool name="Locked">true</bool>
|
|
||||||
<string name="Name">Baseplate</string>
|
|
||||||
<float name="Reflectance">0</float>
|
|
||||||
<float name="RightParamA">-0.5</float>
|
|
||||||
<float name="RightParamB">0.5</float>
|
|
||||||
<token name="RightSurface">0</token>
|
|
||||||
<token name="RightSurfaceInput">0</token>
|
|
||||||
<Vector3 name="RotVelocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<float name="TopParamA">-0.5</float>
|
|
||||||
<float name="TopParamB">0.5</float>
|
|
||||||
<token name="TopSurface">3</token>
|
|
||||||
<token name="TopSurfaceInput">0</token>
|
|
||||||
<float name="Transparency">0</float>
|
|
||||||
<Vector3 name="Velocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
<token name="shape">1</token>
|
|
||||||
<Vector3 name="size">
|
|
||||||
<X>512</X>
|
|
||||||
<Y>1.20000005</Y>
|
|
||||||
<Z>512</Z>
|
|
||||||
</Vector3>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="Part" referent="RBX3">
|
|
||||||
<Properties>
|
|
||||||
<bool name="Anchored">false</bool>
|
|
||||||
<float name="BackParamA">-0.5</float>
|
|
||||||
<float name="BackParamB">0.5</float>
|
|
||||||
<token name="BackSurface">0</token>
|
|
||||||
<token name="BackSurfaceInput">0</token>
|
|
||||||
<float name="BottomParamA">-0.5</float>
|
|
||||||
<float name="BottomParamB">0.5</float>
|
|
||||||
<token name="BottomSurface">4</token>
|
|
||||||
<token name="BottomSurfaceInput">0</token>
|
|
||||||
<int name="BrickColor">28</int>
|
|
||||||
<CoordinateFrame name="CFrame">
|
|
||||||
<X>-2</X>
|
|
||||||
<Y>5.69999981</Y>
|
|
||||||
<Z>1</Z>
|
|
||||||
<R00>-1</R00>
|
|
||||||
<R01>0</R01>
|
|
||||||
<R02>0</R02>
|
|
||||||
<R10>0</R10>
|
|
||||||
<R11>1</R11>
|
|
||||||
<R12>0</R12>
|
|
||||||
<R20>0</R20>
|
|
||||||
<R21>0</R21>
|
|
||||||
<R22>-1</R22>
|
|
||||||
</CoordinateFrame>
|
|
||||||
<bool name="CanCollide">true</bool>
|
|
||||||
<token name="Controller">0</token>
|
|
||||||
<bool name="ControllerFlagShown">true</bool>
|
|
||||||
<bool name="DraggingV1">false</bool>
|
|
||||||
<float name="Elasticity">0.5</float>
|
|
||||||
<token name="FormFactor">0</token>
|
|
||||||
<float name="Friction">0.300000012</float>
|
|
||||||
<float name="FrontParamA">-0.5</float>
|
|
||||||
<float name="FrontParamB">0.5</float>
|
|
||||||
<token name="FrontSurface">0</token>
|
|
||||||
<token name="FrontSurfaceInput">0</token>
|
|
||||||
<float name="LeftParamA">-0.5</float>
|
|
||||||
<float name="LeftParamB">0.5</float>
|
|
||||||
<token name="LeftSurface">0</token>
|
|
||||||
<token name="LeftSurfaceInput">0</token>
|
|
||||||
<bool name="Locked">false</bool>
|
|
||||||
<string name="Name">Smooth Block Model</string>
|
|
||||||
<float name="Reflectance">0</float>
|
|
||||||
<float name="RightParamA">-0.5</float>
|
|
||||||
<float name="RightParamB">0.5</float>
|
|
||||||
<token name="RightSurface">0</token>
|
|
||||||
<token name="RightSurfaceInput">0</token>
|
|
||||||
<Vector3 name="RotVelocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<float name="TopParamA">-0.5</float>
|
|
||||||
<float name="TopParamB">0.5</float>
|
|
||||||
<token name="TopSurface">3</token>
|
|
||||||
<token name="TopSurfaceInput">0</token>
|
|
||||||
<float name="Transparency">0</float>
|
|
||||||
<Vector3 name="Velocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
<token name="shape">1</token>
|
|
||||||
<Vector3 name="size">
|
|
||||||
<X>2</X>
|
|
||||||
<Y>9</Y>
|
|
||||||
<Z>2</Z>
|
|
||||||
</Vector3>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="Part" referent="RBX4">
|
|
||||||
<Properties>
|
|
||||||
<bool name="Anchored">false</bool>
|
|
||||||
<float name="BackParamA">-0.5</float>
|
|
||||||
<float name="BackParamB">0.5</float>
|
|
||||||
<token name="BackSurface">0</token>
|
|
||||||
<token name="BackSurfaceInput">0</token>
|
|
||||||
<float name="BottomParamA">-0.5</float>
|
|
||||||
<float name="BottomParamB">0.5</float>
|
|
||||||
<token name="BottomSurface">4</token>
|
|
||||||
<token name="BottomSurfaceInput">0</token>
|
|
||||||
<int name="BrickColor">28</int>
|
|
||||||
<CoordinateFrame name="CFrame">
|
|
||||||
<X>6</X>
|
|
||||||
<Y>5.69999981</Y>
|
|
||||||
<Z>1</Z>
|
|
||||||
<R00>-1</R00>
|
|
||||||
<R01>0</R01>
|
|
||||||
<R02>0</R02>
|
|
||||||
<R10>0</R10>
|
|
||||||
<R11>1</R11>
|
|
||||||
<R12>0</R12>
|
|
||||||
<R20>0</R20>
|
|
||||||
<R21>0</R21>
|
|
||||||
<R22>-1</R22>
|
|
||||||
</CoordinateFrame>
|
|
||||||
<bool name="CanCollide">true</bool>
|
|
||||||
<token name="Controller">0</token>
|
|
||||||
<bool name="ControllerFlagShown">true</bool>
|
|
||||||
<bool name="DraggingV1">false</bool>
|
|
||||||
<float name="Elasticity">0.5</float>
|
|
||||||
<token name="FormFactor">0</token>
|
|
||||||
<float name="Friction">0.300000012</float>
|
|
||||||
<float name="FrontParamA">-0.5</float>
|
|
||||||
<float name="FrontParamB">0.5</float>
|
|
||||||
<token name="FrontSurface">0</token>
|
|
||||||
<token name="FrontSurfaceInput">0</token>
|
|
||||||
<float name="LeftParamA">-0.5</float>
|
|
||||||
<float name="LeftParamB">0.5</float>
|
|
||||||
<token name="LeftSurface">0</token>
|
|
||||||
<token name="LeftSurfaceInput">0</token>
|
|
||||||
<bool name="Locked">false</bool>
|
|
||||||
<string name="Name">Smooth Block Model</string>
|
|
||||||
<float name="Reflectance">0</float>
|
|
||||||
<float name="RightParamA">-0.5</float>
|
|
||||||
<float name="RightParamB">0.5</float>
|
|
||||||
<token name="RightSurface">0</token>
|
|
||||||
<token name="RightSurfaceInput">0</token>
|
|
||||||
<Vector3 name="RotVelocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<float name="TopParamA">-0.5</float>
|
|
||||||
<float name="TopParamB">0.5</float>
|
|
||||||
<token name="TopSurface">3</token>
|
|
||||||
<token name="TopSurfaceInput">0</token>
|
|
||||||
<float name="Transparency">0</float>
|
|
||||||
<Vector3 name="Velocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
<token name="shape">1</token>
|
|
||||||
<Vector3 name="size">
|
|
||||||
<X>2</X>
|
|
||||||
<Y>9</Y>
|
|
||||||
<Z>2</Z>
|
|
||||||
</Vector3>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="Part" referent="RBX5">
|
|
||||||
<Properties>
|
|
||||||
<bool name="Anchored">false</bool>
|
|
||||||
<float name="BackParamA">-0.5</float>
|
|
||||||
<float name="BackParamB">0.5</float>
|
|
||||||
<token name="BackSurface">0</token>
|
|
||||||
<token name="BackSurfaceInput">0</token>
|
|
||||||
<float name="BottomParamA">-0.5</float>
|
|
||||||
<float name="BottomParamB">0.5</float>
|
|
||||||
<token name="BottomSurface">4</token>
|
|
||||||
<token name="BottomSurfaceInput">0</token>
|
|
||||||
<int name="BrickColor">28</int>
|
|
||||||
<CoordinateFrame name="CFrame">
|
|
||||||
<X>6</X>
|
|
||||||
<Y>5.69999981</Y>
|
|
||||||
<Z>-7</Z>
|
|
||||||
<R00>-1</R00>
|
|
||||||
<R01>0</R01>
|
|
||||||
<R02>0</R02>
|
|
||||||
<R10>0</R10>
|
|
||||||
<R11>1</R11>
|
|
||||||
<R12>0</R12>
|
|
||||||
<R20>0</R20>
|
|
||||||
<R21>0</R21>
|
|
||||||
<R22>-1</R22>
|
|
||||||
</CoordinateFrame>
|
|
||||||
<bool name="CanCollide">true</bool>
|
|
||||||
<token name="Controller">0</token>
|
|
||||||
<bool name="ControllerFlagShown">true</bool>
|
|
||||||
<bool name="DraggingV1">false</bool>
|
|
||||||
<float name="Elasticity">0.5</float>
|
|
||||||
<token name="FormFactor">0</token>
|
|
||||||
<float name="Friction">0.300000012</float>
|
|
||||||
<float name="FrontParamA">-0.5</float>
|
|
||||||
<float name="FrontParamB">0.5</float>
|
|
||||||
<token name="FrontSurface">0</token>
|
|
||||||
<token name="FrontSurfaceInput">0</token>
|
|
||||||
<float name="LeftParamA">-0.5</float>
|
|
||||||
<float name="LeftParamB">0.5</float>
|
|
||||||
<token name="LeftSurface">0</token>
|
|
||||||
<token name="LeftSurfaceInput">0</token>
|
|
||||||
<bool name="Locked">false</bool>
|
|
||||||
<string name="Name">Smooth Block Model</string>
|
|
||||||
<float name="Reflectance">0</float>
|
|
||||||
<float name="RightParamA">-0.5</float>
|
|
||||||
<float name="RightParamB">0.5</float>
|
|
||||||
<token name="RightSurface">0</token>
|
|
||||||
<token name="RightSurfaceInput">0</token>
|
|
||||||
<Vector3 name="RotVelocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<float name="TopParamA">-0.5</float>
|
|
||||||
<float name="TopParamB">0.5</float>
|
|
||||||
<token name="TopSurface">3</token>
|
|
||||||
<token name="TopSurfaceInput">0</token>
|
|
||||||
<float name="Transparency">0</float>
|
|
||||||
<Vector3 name="Velocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
<token name="shape">1</token>
|
|
||||||
<Vector3 name="size">
|
|
||||||
<X>2</X>
|
|
||||||
<Y>9</Y>
|
|
||||||
<Z>2</Z>
|
|
||||||
</Vector3>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="Part" referent="RBX6">
|
|
||||||
<Properties>
|
|
||||||
<bool name="Anchored">false</bool>
|
|
||||||
<float name="BackParamA">-0.5</float>
|
|
||||||
<float name="BackParamB">0.5</float>
|
|
||||||
<token name="BackSurface">0</token>
|
|
||||||
<token name="BackSurfaceInput">0</token>
|
|
||||||
<float name="BottomParamA">-0.5</float>
|
|
||||||
<float name="BottomParamB">0.5</float>
|
|
||||||
<token name="BottomSurface">4</token>
|
|
||||||
<token name="BottomSurfaceInput">0</token>
|
|
||||||
<int name="BrickColor">28</int>
|
|
||||||
<CoordinateFrame name="CFrame">
|
|
||||||
<X>-2</X>
|
|
||||||
<Y>5.69999981</Y>
|
|
||||||
<Z>-7</Z>
|
|
||||||
<R00>-1</R00>
|
|
||||||
<R01>0</R01>
|
|
||||||
<R02>0</R02>
|
|
||||||
<R10>0</R10>
|
|
||||||
<R11>1</R11>
|
|
||||||
<R12>0</R12>
|
|
||||||
<R20>0</R20>
|
|
||||||
<R21>0</R21>
|
|
||||||
<R22>-1</R22>
|
|
||||||
</CoordinateFrame>
|
|
||||||
<bool name="CanCollide">true</bool>
|
|
||||||
<token name="Controller">0</token>
|
|
||||||
<bool name="ControllerFlagShown">true</bool>
|
|
||||||
<bool name="DraggingV1">false</bool>
|
|
||||||
<float name="Elasticity">0.5</float>
|
|
||||||
<token name="FormFactor">0</token>
|
|
||||||
<float name="Friction">0.300000012</float>
|
|
||||||
<float name="FrontParamA">-0.5</float>
|
|
||||||
<float name="FrontParamB">0.5</float>
|
|
||||||
<token name="FrontSurface">0</token>
|
|
||||||
<token name="FrontSurfaceInput">0</token>
|
|
||||||
<float name="LeftParamA">-0.5</float>
|
|
||||||
<float name="LeftParamB">0.5</float>
|
|
||||||
<token name="LeftSurface">0</token>
|
|
||||||
<token name="LeftSurfaceInput">0</token>
|
|
||||||
<bool name="Locked">false</bool>
|
|
||||||
<string name="Name">Smooth Block Model</string>
|
|
||||||
<float name="Reflectance">0</float>
|
|
||||||
<float name="RightParamA">-0.5</float>
|
|
||||||
<float name="RightParamB">0.5</float>
|
|
||||||
<token name="RightSurface">0</token>
|
|
||||||
<token name="RightSurfaceInput">0</token>
|
|
||||||
<Vector3 name="RotVelocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<float name="TopParamA">-0.5</float>
|
|
||||||
<float name="TopParamB">0.5</float>
|
|
||||||
<token name="TopSurface">3</token>
|
|
||||||
<token name="TopSurfaceInput">0</token>
|
|
||||||
<float name="Transparency">0</float>
|
|
||||||
<Vector3 name="Velocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
<token name="shape">1</token>
|
|
||||||
<Vector3 name="size">
|
|
||||||
<X>2</X>
|
|
||||||
<Y>9</Y>
|
|
||||||
<Z>2</Z>
|
|
||||||
</Vector3>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="Part" referent="RBX7">
|
|
||||||
<Properties>
|
|
||||||
<bool name="Anchored">false</bool>
|
|
||||||
<float name="BackParamA">-0.5</float>
|
|
||||||
<float name="BackParamB">0.5</float>
|
|
||||||
<token name="BackSurface">0</token>
|
|
||||||
<token name="BackSurfaceInput">0</token>
|
|
||||||
<float name="BottomParamA">-0.5</float>
|
|
||||||
<float name="BottomParamB">0.5</float>
|
|
||||||
<token name="BottomSurface">4</token>
|
|
||||||
<token name="BottomSurfaceInput">0</token>
|
|
||||||
<int name="BrickColor">28</int>
|
|
||||||
<CoordinateFrame name="CFrame">
|
|
||||||
<X>2</X>
|
|
||||||
<Y>11.1999998</Y>
|
|
||||||
<Z>-3</Z>
|
|
||||||
<R00>-1</R00>
|
|
||||||
<R01>0</R01>
|
|
||||||
<R02>0</R02>
|
|
||||||
<R10>0</R10>
|
|
||||||
<R11>1</R11>
|
|
||||||
<R12>0</R12>
|
|
||||||
<R20>0</R20>
|
|
||||||
<R21>0</R21>
|
|
||||||
<R22>-1</R22>
|
|
||||||
</CoordinateFrame>
|
|
||||||
<bool name="CanCollide">true</bool>
|
|
||||||
<token name="Controller">0</token>
|
|
||||||
<bool name="ControllerFlagShown">true</bool>
|
|
||||||
<bool name="DraggingV1">false</bool>
|
|
||||||
<float name="Elasticity">0.5</float>
|
|
||||||
<token name="FormFactor">0</token>
|
|
||||||
<float name="Friction">0.300000012</float>
|
|
||||||
<float name="FrontParamA">-0.5</float>
|
|
||||||
<float name="FrontParamB">0.5</float>
|
|
||||||
<token name="FrontSurface">0</token>
|
|
||||||
<token name="FrontSurfaceInput">0</token>
|
|
||||||
<float name="LeftParamA">-0.5</float>
|
|
||||||
<float name="LeftParamB">0.5</float>
|
|
||||||
<token name="LeftSurface">0</token>
|
|
||||||
<token name="LeftSurfaceInput">0</token>
|
|
||||||
<bool name="Locked">false</bool>
|
|
||||||
<string name="Name">Smooth Block Model</string>
|
|
||||||
<float name="Reflectance">0</float>
|
|
||||||
<float name="RightParamA">-0.5</float>
|
|
||||||
<float name="RightParamB">0.5</float>
|
|
||||||
<token name="RightSurface">0</token>
|
|
||||||
<token name="RightSurfaceInput">0</token>
|
|
||||||
<Vector3 name="RotVelocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<float name="TopParamA">-0.5</float>
|
|
||||||
<float name="TopParamB">0.5</float>
|
|
||||||
<token name="TopSurface">3</token>
|
|
||||||
<token name="TopSurfaceInput">0</token>
|
|
||||||
<float name="Transparency">0</float>
|
|
||||||
<Vector3 name="Velocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
<token name="shape">1</token>
|
|
||||||
<Vector3 name="size">
|
|
||||||
<X>10</X>
|
|
||||||
<Y>2</Y>
|
|
||||||
<Z>10</Z>
|
|
||||||
</Vector3>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="Part" referent="RBX8">
|
|
||||||
<Properties>
|
|
||||||
<bool name="Anchored">false</bool>
|
|
||||||
<float name="BackParamA">-0.5</float>
|
|
||||||
<float name="BackParamB">0.5</float>
|
|
||||||
<token name="BackSurface">0</token>
|
|
||||||
<token name="BackSurfaceInput">0</token>
|
|
||||||
<float name="BottomParamA">-0.5</float>
|
|
||||||
<float name="BottomParamB">0.5</float>
|
|
||||||
<token name="BottomSurface">4</token>
|
|
||||||
<token name="BottomSurfaceInput">0</token>
|
|
||||||
<int name="BrickColor">28</int>
|
|
||||||
<CoordinateFrame name="CFrame">
|
|
||||||
<X>2</X>
|
|
||||||
<Y>13.1999998</Y>
|
|
||||||
<Z>-3</Z>
|
|
||||||
<R00>-1</R00>
|
|
||||||
<R01>0</R01>
|
|
||||||
<R02>0</R02>
|
|
||||||
<R10>0</R10>
|
|
||||||
<R11>1</R11>
|
|
||||||
<R12>0</R12>
|
|
||||||
<R20>0</R20>
|
|
||||||
<R21>0</R21>
|
|
||||||
<R22>-1</R22>
|
|
||||||
</CoordinateFrame>
|
|
||||||
<bool name="CanCollide">true</bool>
|
|
||||||
<token name="Controller">0</token>
|
|
||||||
<bool name="ControllerFlagShown">true</bool>
|
|
||||||
<bool name="DraggingV1">false</bool>
|
|
||||||
<float name="Elasticity">0.5</float>
|
|
||||||
<token name="FormFactor">0</token>
|
|
||||||
<float name="Friction">0.300000012</float>
|
|
||||||
<float name="FrontParamA">-0.5</float>
|
|
||||||
<float name="FrontParamB">0.5</float>
|
|
||||||
<token name="FrontSurface">0</token>
|
|
||||||
<token name="FrontSurfaceInput">0</token>
|
|
||||||
<float name="LeftParamA">-0.5</float>
|
|
||||||
<float name="LeftParamB">0.5</float>
|
|
||||||
<token name="LeftSurface">0</token>
|
|
||||||
<token name="LeftSurfaceInput">0</token>
|
|
||||||
<bool name="Locked">false</bool>
|
|
||||||
<string name="Name">Smooth Block Model</string>
|
|
||||||
<float name="Reflectance">0</float>
|
|
||||||
<float name="RightParamA">-0.5</float>
|
|
||||||
<float name="RightParamB">0.5</float>
|
|
||||||
<token name="RightSurface">0</token>
|
|
||||||
<token name="RightSurfaceInput">0</token>
|
|
||||||
<Vector3 name="RotVelocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<float name="TopParamA">-0.5</float>
|
|
||||||
<float name="TopParamB">0.5</float>
|
|
||||||
<token name="TopSurface">3</token>
|
|
||||||
<token name="TopSurfaceInput">0</token>
|
|
||||||
<float name="Transparency">0</float>
|
|
||||||
<Vector3 name="Velocity">
|
|
||||||
<X>0</X>
|
|
||||||
<Y>0</Y>
|
|
||||||
<Z>0</Z>
|
|
||||||
</Vector3>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
<token name="shape">1</token>
|
|
||||||
<Vector3 name="size">
|
|
||||||
<X>6</X>
|
|
||||||
<Y>2</Y>
|
|
||||||
<Z>6</Z>
|
|
||||||
</Vector3>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
</Item>
|
|
||||||
<Item class="RunService" referent="RBX9">
|
|
||||||
<Properties>
|
|
||||||
<string name="Name">Run Service</string>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<External>RBX10</External>
|
|
||||||
<External>RBX11</External>
|
|
||||||
<Item class="Players" referent="RBX12">
|
|
||||||
<Properties>
|
|
||||||
<int name="MaxPlayers">12</int>
|
|
||||||
<string name="Name">Players</string>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="StarterPack" referent="RBX13">
|
|
||||||
<Properties>
|
|
||||||
<string name="Name">StarterPack</string>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="SoundService" referent="RBX14">
|
|
||||||
<Properties>
|
|
||||||
<token name="AmbientReverb">0</token>
|
|
||||||
<float name="DistanceFactor">10</float>
|
|
||||||
<float name="DopplerScale">1</float>
|
|
||||||
<string name="Name">Soundscape</string>
|
|
||||||
<float name="RolloffScale">1</float>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
</Properties>
|
|
||||||
<External>RBX15</External>
|
|
||||||
<External>RBX16</External>
|
|
||||||
<External>RBX17</External>
|
|
||||||
<External>RBX18</External>
|
|
||||||
<External>RBX19</External>
|
|
||||||
<External>RBX20</External>
|
|
||||||
<External>RBX21</External>
|
|
||||||
<External>RBX22</External>
|
|
||||||
<External>RBX23</External>
|
|
||||||
<External>RBX24</External>
|
|
||||||
<External>RBX25</External>
|
|
||||||
<External>RBX26</External>
|
|
||||||
<External>RBX27</External>
|
|
||||||
<External>RBX28</External>
|
|
||||||
</Item>
|
|
||||||
<Item class="ContentProvider" referent="RBX29">
|
|
||||||
<Properties>
|
|
||||||
<string name="Name">Instance</string>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="PhysicsService" referent="RBX30">
|
|
||||||
<Properties>
|
|
||||||
<string name="Name">PhysicsService</string>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<External>RBX31</External>
|
|
||||||
<Item class="Selection" referent="RBX32">
|
|
||||||
<Properties>
|
|
||||||
<string name="Name">Selection</string>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<External>RBX33</External>
|
|
||||||
<Item class="Lighting" referent="RBX34">
|
|
||||||
<Properties>
|
|
||||||
<Color3 name="Ambient">4286611584</Color3>
|
|
||||||
<float name="Brightness">1</float>
|
|
||||||
<Color3 name="ColorShift_Bottom">4278190080</Color3>
|
|
||||||
<Color3 name="ColorShift_Top">4278190080</Color3>
|
|
||||||
<float name="GeographicLatitude">41.7332993</float>
|
|
||||||
<string name="Name">Lighting</string>
|
|
||||||
<Color3 name="ShadowColor">4289967032</Color3>
|
|
||||||
<string name="TimeOfDay">14:00:00</string>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="ControllerService" referent="RBX35">
|
|
||||||
<Properties>
|
|
||||||
<string name="Name">Instance</string>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<Item class="ChangeHistoryService" referent="RBX36">
|
|
||||||
<Properties>
|
|
||||||
<string name="Name">ChangeHistoryService</string>
|
|
||||||
<bool name="archivable">true</bool>
|
|
||||||
</Properties>
|
|
||||||
</Item>
|
|
||||||
<External>RBX37</External>
|
|
||||||
</roblox>
|
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<body style="background-color: ButtonFace; margin: 0; padding: 5px; overflow: hidden; border: outset 2px;">
|
<body style="background-color: ButtonFace; margin: 0; padding: 5px; overflow: hidden; border: outset 2px;">
|
||||||
<span class="container" onmousedown="toolOvr(this)" onmouseup="toolOut(this)" onmouseout="toolOut(this)" onclick="window.external.ToggleHopperBin(0)">
|
<span class="container" onmousedown="toolOvr(this)" onmouseup="toolOut(this)" onmouseout="toolOut(this)" onclick="alert(window.external.ToggleHopperBin(0))">
|
||||||
<img src="../images/GameTool.png" />
|
<img src="../images/GameTool.png" />
|
||||||
</span>
|
</span>
|
||||||
<span class="container" onmousedown="toolOvr(this)" onmouseup="toolOut(this)" onmouseout="toolOut(this)" onclick="window.external.ToggleHopperBin(1)">
|
<span class="container" onmousedown="toolOvr(this)" onmouseup="toolOut(this)" onmouseout="toolOut(this)" onclick="window.external.ToggleHopperBin(1)">
|
||||||
|
|||||||
BIN
ode-0.6.zip
BIN
ode-0.6.zip
Binary file not shown.
9
resource.h
Normal file
9
resource.h
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
#ifndef IDC_STATIC
|
||||||
|
#define IDC_STATIC (-1)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define IDI_ICON1 101
|
||||||
|
#define IDB_BITMAP1 102
|
||||||
|
#define IDD_DIALOG1 103
|
||||||
|
#define IDD_DIALOG2 104
|
||||||
|
#define IDC_EDIT1 1001
|
||||||
@@ -32,6 +32,7 @@ class Application { // : public GApp {
|
|||||||
PartInstance* makePart();
|
PartInstance* makePart();
|
||||||
void drawButtons(RenderDevice* rd);
|
void drawButtons(RenderDevice* rd);
|
||||||
void drawOutline(Vector3 from, Vector3 to, RenderDevice* rd, LightingParameters lighting, Vector3 size, Vector3 pos, CoordinateFrame c);
|
void drawOutline(Vector3 from, Vector3 to, RenderDevice* rd, LightingParameters lighting, Vector3 size, Vector3 pos, CoordinateFrame c);
|
||||||
|
std::vector<Instance*> getSelection();
|
||||||
void deleteInstance();
|
void deleteInstance();
|
||||||
void run();
|
void run();
|
||||||
void QuitApp();
|
void QuitApp();
|
||||||
@@ -59,7 +60,6 @@ class Application { // : public GApp {
|
|||||||
Tool * tool;
|
Tool * tool;
|
||||||
void changeTool(Tool *);
|
void changeTool(Tool *);
|
||||||
Mouse mouse;
|
Mouse mouse;
|
||||||
bool viewportHasFocus();
|
|
||||||
private:
|
private:
|
||||||
bool mouseMoveState;
|
bool mouseMoveState;
|
||||||
RenderDevice* renderDevice;
|
RenderDevice* renderDevice;
|
||||||
|
|||||||
@@ -26,7 +26,6 @@ class CameraController {
|
|||||||
void panRight();
|
void panRight();
|
||||||
void tiltUp();
|
void tiltUp();
|
||||||
void tiltDown();
|
void tiltDown();
|
||||||
void zoomExtents();
|
|
||||||
void Zoom(short delta);
|
void Zoom(short delta);
|
||||||
bool onMouseWheel(int x, int y, short delta);
|
bool onMouseWheel(int x, int y, short delta);
|
||||||
GCamera* getCamera();
|
GCamera* getCamera();
|
||||||
|
|||||||
@@ -2,10 +2,8 @@
|
|||||||
#include "WorkspaceInstance.h"
|
#include "WorkspaceInstance.h"
|
||||||
#include "LevelInstance.h"
|
#include "LevelInstance.h"
|
||||||
#include "PartInstance.h"
|
#include "PartInstance.h"
|
||||||
#include "SelectionService.h"
|
|
||||||
#include "rapidxml/rapidxml.hpp"
|
#include "rapidxml/rapidxml.hpp"
|
||||||
#include "GuiRootInstance.h"
|
#include "GuiRootInstance.h"
|
||||||
#include "XplicitNgine/XplicitNgine.h"
|
|
||||||
|
|
||||||
class GuiRootInstance;
|
class GuiRootInstance;
|
||||||
|
|
||||||
@@ -25,18 +23,21 @@ public:
|
|||||||
void drawMessage(RenderDevice*);
|
void drawMessage(RenderDevice*);
|
||||||
WorkspaceInstance* getWorkspace();
|
WorkspaceInstance* getWorkspace();
|
||||||
LevelInstance * getLevel();
|
LevelInstance * getLevel();
|
||||||
XplicitNgine * getEngine();
|
|
||||||
std::string message;
|
std::string message;
|
||||||
std::string _loadedFileName;
|
std::string _loadedFileName;
|
||||||
bool showMessage;
|
bool showMessage;
|
||||||
G3D::GFontRef font;
|
G3D::GFontRef font;
|
||||||
GuiRootInstance* getGuiRoot();
|
GuiRootInstance* getGuiRoot();
|
||||||
SelectionService* getSelectionService();
|
//float mousex;
|
||||||
|
//float mousey;
|
||||||
|
//Vector2 getMousePos();
|
||||||
|
//void setMousePos(int x,int y);
|
||||||
|
//void setMousePos(Vector2 pos);
|
||||||
|
//bool mouseButton1Down;
|
||||||
PartInstance* makePart();
|
PartInstance* makePart();
|
||||||
void clearLevel();
|
void clearLevel();
|
||||||
void toggleRun();
|
void toggleRun();
|
||||||
bool isRunning();
|
bool isRunning();
|
||||||
void resetEngine();
|
|
||||||
#if _DEBUG
|
#if _DEBUG
|
||||||
void modXMLLevel(float modY);
|
void modXMLLevel(float modY);
|
||||||
#endif
|
#endif
|
||||||
@@ -52,7 +53,5 @@ private:
|
|||||||
WorkspaceInstance* workspace;
|
WorkspaceInstance* workspace;
|
||||||
LevelInstance * level;
|
LevelInstance * level;
|
||||||
GuiRootInstance* guiRoot;
|
GuiRootInstance* guiRoot;
|
||||||
SelectionService* selectionService;
|
|
||||||
bool running;
|
bool running;
|
||||||
XplicitNgine * xplicitNgine;
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -2,6 +2,10 @@
|
|||||||
#include <G3DAll.h>
|
#include <G3DAll.h>
|
||||||
#include "propertyGrid.h"
|
#include "propertyGrid.h"
|
||||||
#include "map"
|
#include "map"
|
||||||
|
|
||||||
|
#ifdef NO_SPRINTF
|
||||||
|
#define sprintf_s sprintf
|
||||||
|
#endif
|
||||||
//#include "Properties/BoolProperty.h"
|
//#include "Properties/BoolProperty.h"
|
||||||
|
|
||||||
class Instance
|
class Instance
|
||||||
|
|||||||
@@ -7,19 +7,10 @@ class LevelInstance :
|
|||||||
public:
|
public:
|
||||||
LevelInstance(void);
|
LevelInstance(void);
|
||||||
~LevelInstance(void);
|
~LevelInstance(void);
|
||||||
bool HighScoreIsGood;
|
|
||||||
Enum::ActionType::Value TimerUpAction;
|
|
||||||
Enum::AffectType::Value TimerAffectsScore;
|
|
||||||
bool RunOnOpen;
|
|
||||||
float timer;
|
float timer;
|
||||||
int score;
|
int score;
|
||||||
virtual std::vector<PROPGRIDITEM> getProperties();
|
virtual std::vector<PROPGRIDITEM> getProperties();
|
||||||
std::string winMessage;
|
std::string winMessage;
|
||||||
std::string loseMessage;
|
std::string loseMessage;
|
||||||
virtual void PropUpdate(LPPROPGRIDITEM &pItem);
|
virtual void PropUpdate(LPPROPGRIDITEM &pItem);
|
||||||
void winCondition();
|
|
||||||
void loseCondition();
|
|
||||||
void pauseCondition();
|
|
||||||
void drawCondition();
|
|
||||||
void Step(SimTime sdt);
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include "instance.h"
|
#include "instance.h"
|
||||||
#include "enum.h"
|
#include "enum.h"
|
||||||
#include <ode/ode.h>
|
|
||||||
|
|
||||||
class PVInstance :
|
class PVInstance :
|
||||||
public Instance
|
public Instance
|
||||||
|
|||||||
@@ -29,8 +29,7 @@ public:
|
|||||||
//Variables
|
//Variables
|
||||||
Color3 color;
|
Color3 color;
|
||||||
bool canCollide;
|
bool canCollide;
|
||||||
dBodyID physBody;
|
bool anchored;
|
||||||
dGeomID physGeom[3];
|
|
||||||
|
|
||||||
//Getters
|
//Getters
|
||||||
Vector3 getPosition();
|
Vector3 getPosition();
|
||||||
@@ -48,16 +47,10 @@ public:
|
|||||||
void setVelocity(Vector3);
|
void setVelocity(Vector3);
|
||||||
void setRotVelocity(Vector3);
|
void setRotVelocity(Vector3);
|
||||||
void setCFrame(CoordinateFrame);
|
void setCFrame(CoordinateFrame);
|
||||||
void setCFrameNoSync(CoordinateFrame);
|
|
||||||
void setSize(Vector3);
|
void setSize(Vector3);
|
||||||
void setShape(Enum::Shape::Value shape);
|
void setShape(Enum::Shape::Value shape);
|
||||||
void setChanged();
|
void setChanged();
|
||||||
void setSurface(int face, Enum::SurfaceType::Value surface);
|
void setSurface(int face, Enum::SurfaceType::Value surface);
|
||||||
void setAnchored(bool anchored);
|
|
||||||
bool isAnchored();
|
|
||||||
float getMass();
|
|
||||||
bool isDragging();
|
|
||||||
void setDragging(bool value);
|
|
||||||
|
|
||||||
//Collision
|
//Collision
|
||||||
bool collides(PartInstance * part);
|
bool collides(PartInstance * part);
|
||||||
@@ -67,13 +60,11 @@ public:
|
|||||||
virtual std::vector<PROPGRIDITEM> getProperties();
|
virtual std::vector<PROPGRIDITEM> getProperties();
|
||||||
virtual void PropUpdate(LPPROPGRIDITEM &pItem);
|
virtual void PropUpdate(LPPROPGRIDITEM &pItem);
|
||||||
private:
|
private:
|
||||||
bool anchored;
|
|
||||||
Vector3 position;
|
Vector3 position;
|
||||||
Vector3 size;
|
Vector3 size;
|
||||||
Vector3 velocity;
|
Vector3 velocity;
|
||||||
Vector3 rotVelocity;
|
Vector3 rotVelocity;
|
||||||
bool changed;
|
bool changed;
|
||||||
bool dragging;
|
|
||||||
Box itemBox;
|
Box itemBox;
|
||||||
GLuint glList;
|
GLuint glList;
|
||||||
};
|
};
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
#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;
|
|
||||||
};
|
|
||||||
@@ -9,6 +9,5 @@ public:
|
|||||||
WorkspaceInstance(void);
|
WorkspaceInstance(void);
|
||||||
~WorkspaceInstance(void);
|
~WorkspaceInstance(void);
|
||||||
void clearChildren();
|
void clearChildren();
|
||||||
void zoomToExtents();
|
|
||||||
std::vector<PartInstance *> partObjects;
|
std::vector<PartInstance *> partObjects;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -20,16 +20,4 @@ namespace Enum
|
|||||||
Player = 7, KeyboardRight = 1, KeyboardLeft = 2, Joypad1 = 3, Joypad2 = 4, Chase = 5, Flee = 6, None = 0
|
Player = 7, KeyboardRight = 1, KeyboardLeft = 2, Joypad1 = 3, Joypad2 = 4, Chase = 5, Flee = 6, None = 0
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
namespace ActionType
|
|
||||||
{
|
|
||||||
enum Value {
|
|
||||||
Nothing = 0, Pause = 1, Lose = 2, Draw = 3, Win = 4
|
|
||||||
};
|
|
||||||
}
|
|
||||||
namespace AffectType
|
|
||||||
{
|
|
||||||
enum Value {
|
|
||||||
NoChange = 0, Increase = 1, Decrease = 2
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include "DataModelV2/DataModelInstance.h"
|
#include "DataModelV2/DataModelInstance.h"
|
||||||
#include "XplicitNgine/XplicitNgine.h"
|
|
||||||
|
|
||||||
class Application;
|
class Application;
|
||||||
|
|
||||||
@@ -25,9 +25,9 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
extern std::vector<Instance*> postRenderStack;
|
extern std::vector<Instance*> postRenderStack;
|
||||||
|
extern std::vector<Instance*> g_selectedInstances;
|
||||||
extern bool running;
|
extern bool running;
|
||||||
extern DataModelInstance* g_dataModel;
|
extern DataModelInstance* g_dataModel;
|
||||||
extern XplicitNgine* g_xplicitNgine;
|
|
||||||
extern Application* g_usableApp;
|
extern Application* g_usableApp;
|
||||||
|
|
||||||
extern GFontRef g_fntdominant;
|
extern GFontRef g_fntdominant;
|
||||||
|
|||||||
@@ -5,14 +5,13 @@ class PropertyWindow {
|
|||||||
public:
|
public:
|
||||||
PropertyWindow(int x, int y, int sx, int sy, HMODULE hThisInstance);
|
PropertyWindow(int x, int y, int sx, int sy, HMODULE hThisInstance);
|
||||||
bool onCreate(int x, int y, int sx, int sy, HMODULE hThisInstance);
|
bool onCreate(int x, int y, int sx, int sy, HMODULE hThisInstance);
|
||||||
void UpdateSelected(std::vector<Instance *> selection);
|
void UpdateSelected(Instance *);
|
||||||
void ClearProperties();
|
void ClearProperties();
|
||||||
void onResize();
|
void onResize();
|
||||||
void refreshExplorer(std::vector<Instance *> selection);
|
void refreshExplorer(Instance* selectedInstance);
|
||||||
HWND _hwndProp;
|
HWND _hwndProp;
|
||||||
private:
|
private:
|
||||||
HWND _propGrid;
|
HWND _propGrid;
|
||||||
HWND _explorerComboBox;
|
HWND _explorerComboBox;
|
||||||
void _resize();
|
void _resize();
|
||||||
void clearExplorer();
|
|
||||||
};
|
};
|
||||||
@@ -13,7 +13,6 @@ public:
|
|||||||
void onSelect(Mouse mouse);
|
void onSelect(Mouse mouse);
|
||||||
void onKeyDown(int key);
|
void onKeyDown(int key);
|
||||||
void onKeyUp(int key);
|
void onKeyUp(int key);
|
||||||
void roundDeg(float °ree);
|
|
||||||
private:
|
private:
|
||||||
bool lctrlDown;
|
bool lctrlDown;
|
||||||
bool rctrlDown;
|
bool rctrlDown;
|
||||||
@@ -21,5 +20,4 @@ private:
|
|||||||
int mouseDownStarty;
|
int mouseDownStarty;
|
||||||
bool dragging;
|
bool dragging;
|
||||||
bool mouseDown;
|
bool mouseDown;
|
||||||
Vector3 draggingPartOffset;
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
|
|
||||||
namespace Enum
|
|
||||||
{
|
|
||||||
namespace Hopper
|
|
||||||
{
|
|
||||||
enum Value {
|
|
||||||
GameTool = 0, Grab = 1, Clone = 2, Hammer = 3, Slingshot = 4, Rocket = 5, Laser = 6
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
#ifndef COMPAT_SHIM
|
|
||||||
#define COMPAT_SHIM
|
|
||||||
#include <sstream>
|
|
||||||
#include <string>
|
|
||||||
|
|
||||||
template<class T>
|
|
||||||
std::string toString(const T &value)
|
|
||||||
{
|
|
||||||
std::ostringstream os;
|
|
||||||
os << value;
|
|
||||||
return os.str();
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace std
|
|
||||||
{
|
|
||||||
std::string to_string( int value ) {return toString(value);}
|
|
||||||
std::string to_string( long value ) {return toString(value);}
|
|
||||||
std::string to_string( long long value ) {return toString(value);}
|
|
||||||
std::string to_string( unsigned value ) {return toString(value);}
|
|
||||||
std::string to_string( unsigned long value ) {return toString(value);}
|
|
||||||
std::string to_string( unsigned long long value ) {return toString(value);}
|
|
||||||
std::string to_string( float value ) {return toString(value);}
|
|
||||||
std::string to_string( double value ) {return toString(value);}
|
|
||||||
std::string to_string( long double value ) {return toString(value);}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
#include <ode/ode.h>
|
|
||||||
#include "DatamodelV2/Instance.h"
|
|
||||||
#include "DatamodelV2/PartInstance.h"
|
|
||||||
|
|
||||||
class XplicitNgine : public Instance
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
XplicitNgine();
|
|
||||||
~XplicitNgine();
|
|
||||||
dWorldID physWorld;
|
|
||||||
dSpaceID physSpace;
|
|
||||||
dJointGroupID contactgroup;
|
|
||||||
|
|
||||||
void step(float stepSize);
|
|
||||||
void createBody(PartInstance* partInstance);
|
|
||||||
void deleteBody(PartInstance* partInstance);
|
|
||||||
void updateBody(PartInstance* partInstance);
|
|
||||||
void resetBody(PartInstance* partInstance);
|
|
||||||
};
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
#define IDC_PROPERTYGRID 2000
|
|
||||||
#define IDC_STATIC 2
|
|
||||||
|
|
||||||
#define IDC_EDIT1 105
|
|
||||||
#define IDI_ICON1 102
|
|
||||||
#define IDB_BITMAP1 103
|
|
||||||
#define IDD_DIALOG1 104
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
#ifndef APP_GENER
|
|
||||||
|
|
||||||
//#define SNAPSHOT_VERSION
|
|
||||||
|
|
||||||
#define APP_GENER 0
|
|
||||||
#define APP_MAJOR 0
|
|
||||||
#define APP_MINOR 107
|
|
||||||
#define APP_PATCH 1
|
|
||||||
#define APP_VER_STRING APP_GENER.APP_MAJOR.APP_MINOR.APP_PATCH
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef SNAPSHOT_VERSION
|
|
||||||
#define VER_PREFIX( N ) v##N-SNAPSHOT
|
|
||||||
#else
|
|
||||||
#define VER_PREFIX( N ) v##N
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#define HSTR( N ) #N
|
|
||||||
#define STR( N ) HSTR( N )
|
|
||||||
#define VER_STR( N ) STR( VER_PREFIX( N ) )
|
|
||||||
|
|
||||||
#endif
|
|
||||||
5
src/include/winver.h
Normal file
5
src/include/winver.h
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
#ifndef WINVER
|
||||||
|
#define _WIN32_WINNT 0x0400
|
||||||
|
#define _WIN32_WINDOWS 0x0400
|
||||||
|
#define WINVER 0x0400
|
||||||
|
#endif
|
||||||
@@ -1,14 +1,13 @@
|
|||||||
#include <G3DAll.h>
|
#include <G3DAll.h>
|
||||||
#include <initguid.h>
|
#include <initguid.h>
|
||||||
#include <iomanip>
|
#include <iomanip>
|
||||||
#include "resource.h"
|
#include "../../resource.h"
|
||||||
#include "DataModelV2/Instance.h"
|
#include "DataModelV2/Instance.h"
|
||||||
#include "DataModelV2/PartInstance.h"
|
#include "DataModelV2/PartInstance.h"
|
||||||
#include "DataModelV2/TextButtonInstance.h"
|
#include "DataModelV2/TextButtonInstance.h"
|
||||||
#include "DataModelV2/ImageButtonInstance.h"
|
#include "DataModelV2/ImageButtonInstance.h"
|
||||||
#include "DataModelV2/DataModelInstance.h"
|
#include "DataModelV2/DataModelInstance.h"
|
||||||
#include "DataModelV2/GuiRootInstance.h"
|
#include "DataModelV2/GuiRootInstance.h"
|
||||||
#include "XplicitNgine/XplicitNgine.h"
|
|
||||||
#include "CameraController.h"
|
#include "CameraController.h"
|
||||||
#include "AudioPlayer.h"
|
#include "AudioPlayer.h"
|
||||||
#include "Globals.h"
|
#include "Globals.h"
|
||||||
@@ -143,11 +142,6 @@ Application::Application(HWND parentWindow) : _propWindow(NULL) { //: GApp(setti
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Application::viewportHasFocus()
|
|
||||||
{
|
|
||||||
return GetActiveWindow() == this->_hWndMain;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Application::navigateToolbox(std::string path)
|
void Application::navigateToolbox(std::string path)
|
||||||
{
|
{
|
||||||
int len = path.size() + 1;
|
int len = path.size() + 1;
|
||||||
@@ -159,29 +153,28 @@ void Application::navigateToolbox(std::string path)
|
|||||||
|
|
||||||
void Application::deleteInstance()
|
void Application::deleteInstance()
|
||||||
{
|
{
|
||||||
if(_dataModel->getSelectionService()->getSelection().size() > 0)
|
if(g_selectedInstances.size() > 0)
|
||||||
{
|
{
|
||||||
std::vector<Instance *> selection = _dataModel->getSelectionService()->getSelection();
|
size_t undeletable = 0;
|
||||||
std::vector<Instance *> toDelete;
|
while(g_selectedInstances.size() > undeletable)
|
||||||
for(size_t i = 0; i < selection.size(); i++) {
|
{
|
||||||
if(selection[i]->canDelete) {
|
if(g_selectedInstances.at(0)->canDelete)
|
||||||
toDelete.push_back(selection[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(toDelete.size() > 0)
|
|
||||||
{
|
{
|
||||||
AudioPlayer::playSound(GetFileInPath("/content/sounds/pageturn.wav"));
|
AudioPlayer::playSound(GetFileInPath("/content/sounds/pageturn.wav"));
|
||||||
for(size_t i = 0; i < toDelete.size(); i++) {
|
Instance* selectedInstance = g_selectedInstances.at(0);
|
||||||
Instance* selectedInstance = toDelete[i];
|
|
||||||
_dataModel->getSelectionService()->removeSelected(selectedInstance);
|
|
||||||
selectedInstance->setParent(NULL);
|
selectedInstance->setParent(NULL);
|
||||||
delete selectedInstance;
|
delete selectedInstance;
|
||||||
selectedInstance = NULL;
|
selectedInstance = NULL;
|
||||||
|
g_selectedInstances.erase(g_selectedInstances.begin());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
undeletable++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(_dataModel->getSelectionService()->getSelection().size() == 0)
|
if(g_selectedInstances.size() == 0)
|
||||||
_dataModel->getSelectionService()->addSelected(_dataModel);
|
g_usableApp->_propWindow->ClearProperties();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -195,8 +188,9 @@ void Application::onInit() {
|
|||||||
_dataModel->font = g_fntdominant;
|
_dataModel->font = g_fntdominant;
|
||||||
g_dataModel = _dataModel;
|
g_dataModel = _dataModel;
|
||||||
|
|
||||||
|
//initGUI();
|
||||||
|
|
||||||
#ifdef LEGACY_LOAD_G3DFUN_LEVEL
|
#ifdef LEGACY_LOAD_G3DFUN_LEVEL
|
||||||
// Anchored this baseplate for XplicitNgine tests
|
|
||||||
PartInstance* test = makePart();
|
PartInstance* test = makePart();
|
||||||
test->setParent(_dataModel->getWorkspace());
|
test->setParent(_dataModel->getWorkspace());
|
||||||
test->color = Color3(0.2F,0.3F,1);
|
test->color = Color3(0.2F,0.3F,1);
|
||||||
@@ -204,7 +198,6 @@ void Application::onInit() {
|
|||||||
test->setPosition(Vector3(0,0,0));
|
test->setPosition(Vector3(0,0,0));
|
||||||
test->setCFrame(test->getCFrame() * Matrix3::fromEulerAnglesXYZ(0,toRadians(0),toRadians(0)));
|
test->setCFrame(test->getCFrame() * Matrix3::fromEulerAnglesXYZ(0,toRadians(0),toRadians(0)));
|
||||||
test->setSurface(TOP, Enum::SurfaceType::Bumps);
|
test->setSurface(TOP, Enum::SurfaceType::Bumps);
|
||||||
test->setAnchored(true);
|
|
||||||
|
|
||||||
test = makePart();
|
test = makePart();
|
||||||
test->setParent(_dataModel->getWorkspace());
|
test->setParent(_dataModel->getWorkspace());
|
||||||
@@ -269,6 +262,9 @@ void Application::onInit() {
|
|||||||
test->setPosition(Vector3(-2,5,0));
|
test->setPosition(Vector3(-2,5,0));
|
||||||
test->setSurface(TOP, Enum::SurfaceType::Bumps);
|
test->setSurface(TOP, Enum::SurfaceType::Bumps);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
test = makePart();
|
test = makePart();
|
||||||
test->setParent(_dataModel->getWorkspace());
|
test->setParent(_dataModel->getWorkspace());
|
||||||
test->color = Color3::gray();
|
test->color = Color3::gray();
|
||||||
@@ -286,8 +282,6 @@ void Application::onInit() {
|
|||||||
_dataModel->debugGetOpen();
|
_dataModel->debugGetOpen();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
_dataModel->getSelectionService()->clearSelection();
|
|
||||||
_dataModel->getSelectionService()->addSelected(_dataModel);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -300,15 +294,86 @@ void Application::onInit() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void Application::onCleanup() {
|
void Application::onCleanup() {
|
||||||
clearInstances();
|
clearInstances();
|
||||||
sky->~Sky();
|
sky->~Sky();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Application::onLogic() {
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
|
||||||
|
Class HyperSnapSolver
|
||||||
|
|
||||||
|
function getCollisionDepth(Part colliding, part collider);
|
||||||
|
function getFaceCollision(Part colliding, part collider);
|
||||||
|
|
||||||
|
function eject(Part colliding, Part collider)
|
||||||
|
{
|
||||||
|
if(!colliding.canCollide || !collider.canCollide)
|
||||||
|
return;
|
||||||
|
if(getCollisionDepth(colliding, collider) != 0) {
|
||||||
|
int ejectMultiplier, ejectMultipliery = 1-(collider.Friction+colliding.Friction), ejectMultiplierz = 1-(collider.Friction/2+colliding.Friction/2);
|
||||||
|
if(colliding.Anchored)
|
||||||
|
ejectMultiplier = collider.elasticity;
|
||||||
|
int faceCollided = getFaceCollision(colliding, collider);
|
||||||
|
if(faceCollided % 3 == 1)
|
||||||
|
{
|
||||||
|
ejectMultipliery = ejectMultiplier;
|
||||||
|
ejectMultiplier = 1-(collider.Friction+colliding.Friction/2);
|
||||||
|
}
|
||||||
|
else if(faceCollided % 3 == 2)
|
||||||
|
{
|
||||||
|
ejectMultiplierz = ejectMultiplier;
|
||||||
|
ejectMultiplier = 1-(collider.Friction+colliding.Friction/2);
|
||||||
|
}
|
||||||
|
|
||||||
|
collider.Velocity *= Vector3.new(colliding.Velocity.x*ejectMultiplier,colliding.Velocity.y*ejectMultipliery,colliding.Velocity.z)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
double grav = 0.32666666666666666666666666666667;
|
||||||
|
void simGrav(PartInstance * collider)
|
||||||
|
{
|
||||||
|
if(!collider->anchored)
|
||||||
|
{
|
||||||
|
collider->setPosition(collider->getPosition()+collider->getVelocity());
|
||||||
|
collider->setVelocity(collider->getVelocity()-Vector3(0,grav,0));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void eject(PartInstance * colliding, PartInstance * collider)
|
||||||
|
{
|
||||||
|
if(colliding == collider || !colliding->canCollide || !collider->canCollide)
|
||||||
|
return;
|
||||||
|
if(G3D::CollisionDetection::fixedSolidBoxIntersectsFixedSolidBox(collider->getBox(), colliding->getBox()))
|
||||||
|
collider->setVelocity(collider->getVelocity().reflectionDirection(colliding->getCFrame().upVector())/1.3F);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void Application::onLogic() {
|
||||||
|
//PhysicsStart
|
||||||
|
for_each (_dataModel->getWorkspace()->partObjects.begin(), _dataModel->getWorkspace()->partObjects.end(), simGrav);
|
||||||
|
for(size_t i = 0; i < _dataModel->getWorkspace()->partObjects.size(); i++)
|
||||||
|
{
|
||||||
|
for(size_t j = 0; j < _dataModel->getWorkspace()->partObjects.size(); j++)
|
||||||
|
{
|
||||||
|
eject(_dataModel->getWorkspace()->partObjects[i], _dataModel->getWorkspace()->partObjects[j]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void Application::onNetwork() {
|
void Application::onNetwork() {
|
||||||
// Poll net messages here
|
// Poll net messages here
|
||||||
}
|
}
|
||||||
@@ -319,42 +384,15 @@ 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);
|
// 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) {
|
void Application::onSimulation(RealTime rdt, SimTime sdt, SimTime idt) {
|
||||||
|
|
||||||
if(_dataModel->isRunning())
|
if(_dataModel->isRunning())
|
||||||
{
|
|
||||||
LevelInstance* Level = _dataModel->getLevel();
|
|
||||||
Level->Step(sdt);
|
|
||||||
|
|
||||||
// XplicitNgine Start
|
|
||||||
std::vector<PartInstance *> toDelete;
|
|
||||||
for(size_t i = 0; i < _dataModel->getWorkspace()->partObjects.size(); i++)
|
|
||||||
{
|
|
||||||
PartInstance* partInstance = _dataModel->getWorkspace()->partObjects[i];
|
|
||||||
if(partInstance->getPosition().y < -255)
|
|
||||||
{
|
|
||||||
toDelete.push_back(partInstance);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
_dataModel->getEngine()->createBody(partInstance);
|
|
||||||
}
|
|
||||||
while(toDelete.size() > 0)
|
|
||||||
{
|
|
||||||
PartInstance * p = toDelete.back();
|
|
||||||
toDelete.pop_back();
|
|
||||||
if(g_dataModel->getSelectionService()->isSelected(p))
|
|
||||||
g_dataModel->getSelectionService()->removeSelected(p);
|
|
||||||
p->setParent(NULL);
|
|
||||||
delete p;
|
|
||||||
}
|
|
||||||
for(int i = 0; i < 4; i++)
|
|
||||||
{
|
|
||||||
_dataModel->getEngine()->step(0.03F);
|
|
||||||
}
|
|
||||||
onLogic();
|
onLogic();
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
_dataModel->getGuiRoot()->update();
|
_dataModel->getGuiRoot()->update();
|
||||||
|
|
||||||
if(_dataModel->name != _title)
|
if(_dataModel->name != _title)
|
||||||
@@ -369,21 +407,83 @@ void Application::onSimulation(RealTime rdt, SimTime sdt, SimTime idt) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*double getOSVersion() {
|
||||||
|
OSVERSIONINFO osvi;
|
||||||
|
|
||||||
|
ZeroMemory(&osvi, sizeof(OSVERSIONINFO));
|
||||||
|
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
|
||||||
|
|
||||||
|
GetVersionEx(&osvi);
|
||||||
|
std::string version = Convert(osvi.dwMajorVersion) + "." + Convert(osvi.dwMinorVersion);
|
||||||
|
return ::atof(version.c_str());
|
||||||
|
}*/
|
||||||
|
/*
|
||||||
|
bool IsHolding(int button)
|
||||||
|
{
|
||||||
|
return (GetKeyState(button) >> 1)>0;
|
||||||
|
}
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
void Application::onUserInput(UserInput* ui) {
|
void Application::onUserInput(UserInput* ui) {
|
||||||
if(mouseMoveState)
|
if(mouseMoveState)
|
||||||
{
|
{
|
||||||
mouseMoveState = false;
|
mouseMoveState = false;
|
||||||
tool->onMouseMoved(mouse);
|
tool->onMouseMoved(mouse);
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
if(GetHoldKeyState(VK_LCONTROL))
|
||||||
|
{
|
||||||
|
if(GetHoldKeyState('D'))
|
||||||
|
{
|
||||||
|
_messageTime = System::time();
|
||||||
|
if(debugMode())
|
||||||
|
_message = "Debug Mode Disabled";
|
||||||
|
else
|
||||||
|
_message = "Debug Mode Enabled";
|
||||||
|
setDebugMode(!debugMode());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*/
|
||||||
if(GetHoldKeyState(VK_F8))
|
if(GetHoldKeyState(VK_F8))
|
||||||
{
|
{
|
||||||
_dataModel->getGuiRoot()->setDebugMessage("FOV Set to 10", System::time());
|
_dataModel->getGuiRoot()->setDebugMessage("FOV Set to 10", System::time());
|
||||||
}
|
}
|
||||||
|
//}
|
||||||
|
|
||||||
|
//_dataModel->mousex = ui->getMouseX();
|
||||||
|
//_dataModel->mousey = ui->getMouseY();
|
||||||
mouse.setMouseDown((GetKeyState(VK_LBUTTON) & 0x100) != 0);
|
mouse.setMouseDown((GetKeyState(VK_LBUTTON) & 0x100) != 0);
|
||||||
|
|
||||||
// Camera KB Handling
|
if (GetHoldKeyState(VK_LBUTTON)) {
|
||||||
|
/* if (_dragging) {
|
||||||
|
PartInstance* part = NULL;
|
||||||
|
if(g_selectedInstances.size() > 0)
|
||||||
|
part = (PartInstance*) g_selectedInstances.at(0);
|
||||||
|
Ray dragRay = cameraController.getCamera()->worldRay(mouse.x, mouse.y, renderDevice->getViewport());
|
||||||
|
std::vector<Instance*> instances = _dataModel->getWorkspace()->getAllChildren();
|
||||||
|
for(size_t i = 0; i < instances.size(); i++)
|
||||||
|
{
|
||||||
|
if(PartInstance* moveTo = dynamic_cast<PartInstance*>(instances.at(i)))
|
||||||
|
{
|
||||||
|
float __time = testRay.intersectionTime(moveTo->getBox());
|
||||||
|
float __nearest=std::numeric_limits<float>::infinity();
|
||||||
|
if (__time != inf())
|
||||||
|
{
|
||||||
|
if (__nearest>__time)
|
||||||
|
{
|
||||||
|
// BROKEN
|
||||||
|
//Vector3 closest = (dragRay.closestPoint(moveTo->getPosition()) * 2);
|
||||||
|
//part->setPosition(closest);
|
||||||
|
//part->setPosition(Vector3(floor(closest.x),part->getPosition().y,floor(closest.z)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Sleep(10);
|
||||||
|
}*/
|
||||||
|
}
|
||||||
|
// Camera KB Handling {
|
||||||
if (GetKPBool(VK_OEM_COMMA)) //Left
|
if (GetKPBool(VK_OEM_COMMA)) //Left
|
||||||
g_usableApp->cameraController.panLeft();
|
g_usableApp->cameraController.panLeft();
|
||||||
else if (GetKPBool(VK_OEM_PERIOD)) // Right
|
else if (GetKPBool(VK_OEM_PERIOD)) // Right
|
||||||
@@ -392,6 +492,10 @@ void Application::onUserInput(UserInput* ui) {
|
|||||||
g_usableApp->cameraController.Zoom(1);
|
g_usableApp->cameraController.Zoom(1);
|
||||||
else if (GetKPBool(0x4F)) // Zoom Out (O)
|
else if (GetKPBool(0x4F)) // Zoom Out (O)
|
||||||
g_usableApp->cameraController.Zoom(-1);
|
g_usableApp->cameraController.Zoom(-1);
|
||||||
|
// }
|
||||||
|
|
||||||
|
//readMouseGUIInput();
|
||||||
|
// Add other key handling here
|
||||||
}
|
}
|
||||||
|
|
||||||
void Application::changeTool(Tool * newTool)
|
void Application::changeTool(Tool * newTool)
|
||||||
@@ -572,14 +676,15 @@ void Application::onGraphics(RenderDevice* rd) {
|
|||||||
//renderDevice->setShininess(70);
|
//renderDevice->setShininess(70);
|
||||||
//renderDevice->setSpecularCoefficient(Color3(0.1F, 0.1F, 0.1F));
|
//renderDevice->setSpecularCoefficient(Color3(0.1F, 0.1F, 0.1F));
|
||||||
|
|
||||||
//float lightAmbient[] = { 0.5F, 0.5F, 0.5F, 1.0F };
|
float lightAmbient[] = { 0.5F, 0.6F, 0.9F, 1.0F };
|
||||||
//float lightDiffuse[] = { 0.6F, 0.6F, 0.6F, 1.0F };
|
float lightDiffuse[] = { 0.6F, 0.4F, 0.9F, 1.0F };
|
||||||
//float lightSpecular[] = { 0.8F, 0.8F, 0.8F, 1.0F };
|
float lightSpecular[] = { 0.8F, 0.8F, 0.8F, 1.0F };
|
||||||
|
//float lightSpecular[] = { 0.8F, 0.6F, 1.0F, 1.0F };
|
||||||
|
|
||||||
//glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, lightAmbient);
|
glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, lightAmbient);
|
||||||
//glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, lightDiffuse);
|
glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, lightDiffuse);
|
||||||
//glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, lightSpecular);
|
glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, lightSpecular);
|
||||||
//glMateriali(GL_FRONT_AND_BACK, GL_SHININESS, 70);
|
glMateriali(GL_FRONT_AND_BACK, GL_SHININESS, 70);
|
||||||
|
|
||||||
|
|
||||||
rd->beforePrimitive();
|
rd->beforePrimitive();
|
||||||
@@ -599,16 +704,18 @@ 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());
|
//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++)
|
|
||||||
{
|
{
|
||||||
if(PartInstance* part = dynamic_cast<PartInstance*>(g_dataModel->getSelectionService()->getSelection()[i]))
|
for(size_t i = 0; i < g_selectedInstances.size(); i++)
|
||||||
|
{
|
||||||
|
if(PartInstance* part = dynamic_cast<PartInstance*>(g_selectedInstances.at(i)))
|
||||||
{
|
{
|
||||||
Vector3 size = part->getSize();
|
Vector3 size = part->getSize();
|
||||||
Vector3 pos = part->getPosition();
|
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());
|
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);
|
//Vector3 gamepoint = Vector3(0, 5, 0);
|
||||||
@@ -687,6 +794,11 @@ void Application::onKeyPressed(int key)
|
|||||||
{
|
{
|
||||||
_dataModel->getOpen();
|
_dataModel->getOpen();
|
||||||
}
|
}
|
||||||
|
if ((GetHoldKeyState(VK_LCONTROL) || GetHoldKeyState(VK_RCONTROL)) && key=='A')
|
||||||
|
{
|
||||||
|
std::vector<Instance *> vec = _dataModel->getWorkspace()->getAllChildren();
|
||||||
|
g_selectedInstances.insert(g_selectedInstances.end(), vec.begin(), vec.end());
|
||||||
|
}
|
||||||
tool->onKeyDown(key);
|
tool->onKeyDown(key);
|
||||||
}
|
}
|
||||||
void Application::onKeyUp(int key)
|
void Application::onKeyUp(int key)
|
||||||
@@ -696,6 +808,12 @@ void Application::onKeyUp(int key)
|
|||||||
|
|
||||||
void Application::onMouseLeftPressed(HWND hwnd,int x,int y)
|
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);
|
bool onGUI = _dataModel->getGuiRoot()->mouseInGUI(renderDevice, x, y);
|
||||||
|
|
||||||
|
|
||||||
@@ -705,6 +823,19 @@ 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()
|
G3D::RenderDevice* Application::getRenderDevice()
|
||||||
{
|
{
|
||||||
return renderDevice;
|
return renderDevice;
|
||||||
@@ -712,9 +843,13 @@ G3D::RenderDevice* Application::getRenderDevice()
|
|||||||
|
|
||||||
void Application::onMouseLeftUp(G3D::RenderDevice* renderDevice, int x, int y)
|
void Application::onMouseLeftUp(G3D::RenderDevice* renderDevice, int x, int y)
|
||||||
{
|
{
|
||||||
|
//std::cout << "Release: " << x << "," << y << std::endl;
|
||||||
_dataModel->getGuiRoot()->onMouseLeftUp(renderDevice, x, y);
|
_dataModel->getGuiRoot()->onMouseLeftUp(renderDevice, x, y);
|
||||||
_dragging = false;
|
_dragging = false;
|
||||||
tool->onButton1MouseUp(mouse);
|
tool->onButton1MouseUp(mouse);
|
||||||
|
//_message = "Dragging = false.";
|
||||||
|
//_messageTime = System::time();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Application::onMouseRightPressed(int x,int y)
|
void Application::onMouseRightPressed(int x,int y)
|
||||||
@@ -734,6 +869,8 @@ void Application::onMouseMoved(int x,int y)
|
|||||||
mouse.y = y;
|
mouse.y = y;
|
||||||
//tool->onMouseMoved(mouse);
|
//tool->onMouseMoved(mouse);
|
||||||
mouseMoveState = true;
|
mouseMoveState = true;
|
||||||
|
//_dataModel->mousex = x;
|
||||||
|
//_dataModel->mousey = y;
|
||||||
|
|
||||||
}
|
}
|
||||||
void Application::onMouseWheel(int x,int y,short delta)
|
void Application::onMouseWheel(int x,int y,short delta)
|
||||||
@@ -813,8 +950,6 @@ void Application::run() {
|
|||||||
SimTime sdt = timeStep * rate;
|
SimTime sdt = timeStep * rate;
|
||||||
SimTime idt = desiredFrameDuration * rate;
|
SimTime idt = desiredFrameDuration * rate;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
onSimulation(rdt,sdt,idt);
|
onSimulation(rdt,sdt,idt);
|
||||||
m_simulationWatch.tock();
|
m_simulationWatch.tock();
|
||||||
|
|
||||||
|
|||||||
@@ -159,11 +159,6 @@ void CameraController::tiltDown()
|
|||||||
setFrame(frame);
|
setFrame(frame);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CameraController::zoomExtents()
|
|
||||||
{
|
|
||||||
// do some weird jank math
|
|
||||||
}
|
|
||||||
|
|
||||||
void CameraController::centerCamera(Instance* selection)
|
void CameraController::centerCamera(Instance* selection)
|
||||||
{
|
{
|
||||||
CoordinateFrame frame = CoordinateFrame(g3dCamera.getCoordinateFrame().translation);
|
CoordinateFrame frame = CoordinateFrame(g3dCamera.getCoordinateFrame().translation);
|
||||||
@@ -193,8 +188,6 @@ void CameraController::update(Application* app)
|
|||||||
Vector3 cameraPos = g3dCamera.getCoordinateFrame().translation;
|
Vector3 cameraPos = g3dCamera.getCoordinateFrame().translation;
|
||||||
CoordinateFrame frame = g3dCamera.getCoordinateFrame();
|
CoordinateFrame frame = g3dCamera.getCoordinateFrame();
|
||||||
bool moving=false;
|
bool moving=false;
|
||||||
if(!app->viewportHasFocus())
|
|
||||||
return;
|
|
||||||
if(GetHoldKeyState('U')) {
|
if(GetHoldKeyState('U')) {
|
||||||
forwards = true;
|
forwards = true;
|
||||||
moving=true;
|
moving=true;
|
||||||
|
|||||||
@@ -1,58 +0,0 @@
|
|||||||
#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());
|
|
||||||
}
|
|
||||||
@@ -1,6 +1,5 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include "DataModelV2/GuiRootInstance.h"
|
#include "DataModelV2/GuiRootInstance.h"
|
||||||
#include "DataModelV2/ToggleImageButtonInstance.h"
|
|
||||||
#include "DataModelV2/DataModelInstance.h"
|
#include "DataModelV2/DataModelInstance.h"
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
@@ -14,14 +13,13 @@ using namespace std;
|
|||||||
using namespace rapidxml;
|
using namespace rapidxml;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
DataModelInstance::DataModelInstance(void)
|
DataModelInstance::DataModelInstance(void)
|
||||||
{
|
{
|
||||||
Instance::Instance();
|
Instance::Instance();
|
||||||
workspace = new WorkspaceInstance();
|
workspace = new WorkspaceInstance();
|
||||||
guiRoot = new GuiRootInstance();
|
guiRoot = new GuiRootInstance();
|
||||||
level = new LevelInstance();
|
level = new LevelInstance();
|
||||||
selectionService = new SelectionService();
|
|
||||||
selectionService->setPropertyWindow(g_usableApp->_propWindow);
|
|
||||||
//children.push_back(workspace);
|
//children.push_back(workspace);
|
||||||
//children.push_back(level);
|
//children.push_back(level);
|
||||||
className = "dataModel";
|
className = "dataModel";
|
||||||
@@ -36,35 +34,13 @@ DataModelInstance::DataModelInstance(void)
|
|||||||
_loadedFileName="..//skooter.rbxm";
|
_loadedFileName="..//skooter.rbxm";
|
||||||
listicon = 5;
|
listicon = 5;
|
||||||
running = false;
|
running = false;
|
||||||
xplicitNgine = NULL;
|
|
||||||
resetEngine();
|
|
||||||
}
|
|
||||||
|
|
||||||
void DataModelInstance::resetEngine()
|
|
||||||
{
|
|
||||||
if(xplicitNgine != NULL)
|
|
||||||
delete xplicitNgine;
|
|
||||||
xplicitNgine = new XplicitNgine();
|
|
||||||
g_xplicitNgine = xplicitNgine;
|
|
||||||
for(size_t i = 0; i < getWorkspace()->partObjects.size(); i++)
|
|
||||||
{
|
|
||||||
PartInstance* partInstance = getWorkspace()->partObjects[i];
|
|
||||||
partInstance->physBody = NULL;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
XplicitNgine * DataModelInstance::getEngine()
|
|
||||||
{
|
|
||||||
return xplicitNgine;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void DataModelInstance::toggleRun()
|
void DataModelInstance::toggleRun()
|
||||||
{
|
{
|
||||||
running = !running;
|
running = !running;
|
||||||
//if(!running)
|
|
||||||
//resetEngine();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DataModelInstance::isRunning()
|
bool DataModelInstance::isRunning()
|
||||||
{
|
{
|
||||||
return running;
|
return running;
|
||||||
@@ -72,7 +48,6 @@ bool DataModelInstance::isRunning()
|
|||||||
|
|
||||||
DataModelInstance::~DataModelInstance(void)
|
DataModelInstance::~DataModelInstance(void)
|
||||||
{
|
{
|
||||||
delete xplicitNgine;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
@@ -87,17 +62,8 @@ void DataModelInstance::modXMLLevel(float modY)
|
|||||||
|
|
||||||
void DataModelInstance::clearLevel()
|
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();
|
workspace->clearChildren();
|
||||||
|
g_usableApp->_propWindow->UpdateSelected(this);
|
||||||
}
|
}
|
||||||
PartInstance* DataModelInstance::makePart()
|
PartInstance* DataModelInstance::makePart()
|
||||||
{
|
{
|
||||||
@@ -305,7 +271,6 @@ bool DataModelInstance::scanXMLObject(xml_node<> * scanNode)
|
|||||||
xml_node<> *propNode = node->first_node();
|
xml_node<> *propNode = node->first_node();
|
||||||
xml_node<> *cFrameNode=0;
|
xml_node<> *cFrameNode=0;
|
||||||
xml_node<> *sizeNode=0;
|
xml_node<> *sizeNode=0;
|
||||||
xml_node<> *anchoredNode=0;
|
|
||||||
xml_node<> *shapeNode=0;
|
xml_node<> *shapeNode=0;
|
||||||
xml_node<> *colorNode=0;
|
xml_node<> *colorNode=0;
|
||||||
xml_node<> *brickColorNode=0;
|
xml_node<> *brickColorNode=0;
|
||||||
@@ -322,10 +287,6 @@ bool DataModelInstance::scanXMLObject(xml_node<> * scanNode)
|
|||||||
{
|
{
|
||||||
cFrameNode = partPropNode;
|
cFrameNode = partPropNode;
|
||||||
}
|
}
|
||||||
if (xmlValue=="Anchored")
|
|
||||||
{
|
|
||||||
anchoredNode = partPropNode;
|
|
||||||
}
|
|
||||||
if (xmlValue=="Name")
|
if (xmlValue=="Name")
|
||||||
{
|
{
|
||||||
nameNode = partPropNode;
|
nameNode = partPropNode;
|
||||||
@@ -436,10 +397,6 @@ bool DataModelInstance::scanXMLObject(xml_node<> * scanNode)
|
|||||||
{
|
{
|
||||||
test->color = bcToRGB(atoi(brickColorNode->value()));
|
test->color = bcToRGB(atoi(brickColorNode->value()));
|
||||||
}
|
}
|
||||||
if(anchoredNode)
|
|
||||||
{
|
|
||||||
test->setAnchored(stricmp(anchoredNode->value(), "true") == 0);
|
|
||||||
}
|
|
||||||
test->setSize(Vector3(sizeX,sizeY+_modY,sizeZ));
|
test->setSize(Vector3(sizeX,sizeY+_modY,sizeZ));
|
||||||
test->setName(newName);
|
test->setName(newName);
|
||||||
CoordinateFrame cf;
|
CoordinateFrame cf;
|
||||||
@@ -492,9 +449,6 @@ bool DataModelInstance::load(const char* filename, bool clearObjects)
|
|||||||
std::string hname = sfilename.substr(begin);
|
std::string hname = sfilename.substr(begin);
|
||||||
std::string tname = hname.substr(0, hname.length() - 5);
|
std::string tname = hname.substr(0, hname.length() - 5);
|
||||||
name = tname;
|
name = tname;
|
||||||
resetEngine();
|
|
||||||
selectionService->clearSelection();
|
|
||||||
selectionService->addSelected(this);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -565,7 +519,6 @@ bool DataModelInstance::getOpen()
|
|||||||
of.lpstrFile[0]='\0';
|
of.lpstrFile[0]='\0';
|
||||||
of.nMaxFile=500;
|
of.nMaxFile=500;
|
||||||
of.lpstrTitle="Hello";
|
of.lpstrTitle="Hello";
|
||||||
of.Flags = OFN_FILEMUSTEXIST;
|
|
||||||
ShowCursor(TRUE);
|
ShowCursor(TRUE);
|
||||||
BOOL file = GetOpenFileName(&of);
|
BOOL file = GetOpenFileName(&of);
|
||||||
if (file)
|
if (file)
|
||||||
@@ -573,6 +526,7 @@ bool DataModelInstance::getOpen()
|
|||||||
_loadedFileName = of.lpstrFile;
|
_loadedFileName = of.lpstrFile;
|
||||||
load(of.lpstrFile,true);
|
load(of.lpstrFile,true);
|
||||||
}
|
}
|
||||||
|
//else MessageBox(NULL, "Failed to open dialog", "Failure", MB_ICONHAND | MB_OK);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
void DataModelInstance::setMessage(std::string msg)
|
void DataModelInstance::setMessage(std::string msg)
|
||||||
@@ -637,16 +591,25 @@ WorkspaceInstance* DataModelInstance::getWorkspace()
|
|||||||
{
|
{
|
||||||
return workspace;
|
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()
|
GuiRootInstance* DataModelInstance::getGuiRoot()
|
||||||
{
|
{
|
||||||
return guiRoot;
|
return guiRoot;
|
||||||
}
|
}
|
||||||
|
|
||||||
SelectionService* DataModelInstance::getSelectionService()
|
|
||||||
{
|
|
||||||
return selectionService;
|
|
||||||
}
|
|
||||||
|
|
||||||
LevelInstance* DataModelInstance::getLevel()
|
LevelInstance* DataModelInstance::getLevel()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -34,11 +34,13 @@ void GroupInstance::PropUpdate(LPPROPGRIDITEM &pItem)
|
|||||||
|
|
||||||
std::vector<Instance *> GroupInstance::unGroup()
|
std::vector<Instance *> GroupInstance::unGroup()
|
||||||
{
|
{
|
||||||
|
std::vector<Instance *> child;
|
||||||
while(children.size() > 0)
|
while(children.size() > 0)
|
||||||
{
|
{
|
||||||
|
child.push_back(children[0]);
|
||||||
children[0]->setParent(parent);
|
children[0]->setParent(parent);
|
||||||
}
|
}
|
||||||
return std::vector<Instance *>();
|
return child;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GroupInstance::render(RenderDevice * rd)
|
void GroupInstance::render(RenderDevice * rd)
|
||||||
|
|||||||
@@ -184,6 +184,8 @@ GuiRootInstance::GuiRootInstance() : _message(""), _messageTime(0)
|
|||||||
button->fontLocationRelativeTo = Vector2(10, 0);
|
button->fontLocationRelativeTo = Vector2(10, 0);
|
||||||
button->setAllColorsSame();
|
button->setAllColorsSame();
|
||||||
button->boxColorOvr = Color4(0.6F,0.6F,0.6F,0.4F);
|
button->boxColorOvr = Color4(0.6F,0.6F,0.6F,0.4F);
|
||||||
|
button->setName("insert");
|
||||||
|
button->setButtonListener(menuListener);
|
||||||
|
|
||||||
button = makeTextButton();
|
button = makeTextButton();
|
||||||
button->boxBegin = Vector2(500, 0);
|
button->boxBegin = Vector2(500, 0);
|
||||||
@@ -507,8 +509,8 @@ void GuiRootInstance::update()
|
|||||||
button4->disabled = true;
|
button4->disabled = true;
|
||||||
button5->disabled = true;
|
button5->disabled = true;
|
||||||
button6->disabled = true;
|
button6->disabled = true;
|
||||||
for(size_t i = 0; i < g_dataModel->getSelectionService()->getSelection().size(); i++)
|
for(size_t i = 0; i < g_selectedInstances.size(); i++)
|
||||||
if(g_dataModel->getSelectionService()->getSelection()[i]->canDelete)
|
if(g_selectedInstances.at(i)->canDelete)
|
||||||
{
|
{
|
||||||
button->disabled = false;
|
button->disabled = false;
|
||||||
button2->disabled = false;
|
button2->disabled = false;
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
#define WINVER 0x0400
|
|
||||||
#include <G3DAll.h>
|
#include <G3DAll.h>
|
||||||
#include "DataModelV2/Instance.h"
|
#include "DataModelV2/Instance.h"
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
#include "DataModelV2/DataModelInstance.h"
|
|
||||||
#include "DataModelV2/LevelInstance.h"
|
#include "DataModelV2/LevelInstance.h"
|
||||||
|
|
||||||
LevelInstance::LevelInstance(void)
|
LevelInstance::LevelInstance(void)
|
||||||
@@ -17,61 +16,6 @@ LevelInstance::~LevelInstance(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static TCHAR* strActionType(int option)
|
|
||||||
{
|
|
||||||
switch(option)
|
|
||||||
{
|
|
||||||
case Enum::ActionType::Nothing:
|
|
||||||
return "Nothing";
|
|
||||||
case Enum::ActionType::Pause:
|
|
||||||
return "Pause";
|
|
||||||
case Enum::ActionType::Lose:
|
|
||||||
return "Lose";
|
|
||||||
case Enum::ActionType::Draw:
|
|
||||||
return "Draw";
|
|
||||||
case Enum::ActionType::Win:
|
|
||||||
return "Win";
|
|
||||||
}
|
|
||||||
return "Nothing";
|
|
||||||
}
|
|
||||||
|
|
||||||
static Enum::ActionType::Value EnumActionType(TCHAR* option)
|
|
||||||
{
|
|
||||||
if(strcmp("Nothing", option) == 0)
|
|
||||||
return Enum::ActionType::Nothing;
|
|
||||||
if(strcmp("Pause", option) == 0)
|
|
||||||
return Enum::ActionType::Pause;
|
|
||||||
if(strcmp("Lose", option) == 0)
|
|
||||||
return Enum::ActionType::Lose;
|
|
||||||
if(strcmp("Draw", option) == 0)
|
|
||||||
return Enum::ActionType::Draw;
|
|
||||||
return Enum::ActionType::Win;
|
|
||||||
}
|
|
||||||
|
|
||||||
static TCHAR* strAffectType(int option)
|
|
||||||
{
|
|
||||||
switch(option)
|
|
||||||
{
|
|
||||||
case Enum::AffectType::NoChange:
|
|
||||||
return "NoChange";
|
|
||||||
case Enum::AffectType::Increase:
|
|
||||||
return "Increase";
|
|
||||||
case Enum::AffectType::Decrease:
|
|
||||||
return "Decrease";
|
|
||||||
}
|
|
||||||
return "NoChange";
|
|
||||||
}
|
|
||||||
|
|
||||||
static Enum::AffectType::Value EnumAffectType(TCHAR* option)
|
|
||||||
{
|
|
||||||
if(strcmp("NoChange", option) == 0)
|
|
||||||
return Enum::AffectType::NoChange;
|
|
||||||
if(strcmp("Increase", option) == 0)
|
|
||||||
return Enum::AffectType::Increase;
|
|
||||||
return Enum::AffectType::Decrease;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
char timerTxt[12];
|
char timerTxt[12];
|
||||||
char scoreTxt[12];
|
char scoreTxt[12];
|
||||||
std::vector<PROPGRIDITEM> LevelInstance::getProperties()
|
std::vector<PROPGRIDITEM> LevelInstance::getProperties()
|
||||||
@@ -85,58 +29,25 @@ std::vector<PROPGRIDITEM> LevelInstance::getProperties()
|
|||||||
"The message that shows when the player wins.",
|
"The message that shows when the player wins.",
|
||||||
(LPARAM)winMessage.c_str(),
|
(LPARAM)winMessage.c_str(),
|
||||||
PIT_EDIT));
|
PIT_EDIT));
|
||||||
|
|
||||||
properties.push_back(createPGI("Messages",
|
properties.push_back(createPGI("Messages",
|
||||||
"LoseMessage",
|
"LoseMessage",
|
||||||
"The message that shows when the player loses.",
|
"The message that shows when the player loses.",
|
||||||
(LPARAM)loseMessage.c_str(),
|
(LPARAM)loseMessage.c_str(),
|
||||||
PIT_EDIT));
|
PIT_EDIT));
|
||||||
|
|
||||||
properties.push_back(createPGI(
|
|
||||||
"Gameplay",
|
|
||||||
"HighScoreIsGood",
|
|
||||||
"Some temporary string here",
|
|
||||||
(LPARAM)HighScoreIsGood,
|
|
||||||
PIT_CHECK
|
|
||||||
));
|
|
||||||
|
|
||||||
properties.push_back(createPGI(
|
|
||||||
"Gameplay",
|
|
||||||
"RunOnOpen",
|
|
||||||
"Some temporary string here",
|
|
||||||
(LPARAM)RunOnOpen,
|
|
||||||
PIT_CHECK
|
|
||||||
));
|
|
||||||
|
|
||||||
sprintf_s(timerTxt, "%g", timer);
|
sprintf_s(timerTxt, "%g", timer);
|
||||||
sprintf_s(scoreTxt, "%d", score);
|
sprintf_s(scoreTxt, "%d", score);
|
||||||
properties.push_back(createPGI("Gameplay",
|
properties.push_back(createPGI("Gameplay",
|
||||||
"InitialTimerValue",
|
"InitialTimerValue",
|
||||||
"The amount of time in seconds the player has to complete this level.\r\n\r\nPut 0 if time is limitless.",
|
"The ammount of time in seconds the player has to complete this level.\r\n\r\nPut 0 if time is limitless.",
|
||||||
(LPARAM)timerTxt,
|
(LPARAM)timerTxt,
|
||||||
PIT_EDIT));
|
PIT_EDIT));
|
||||||
|
|
||||||
properties.push_back(createPGI("Gameplay",
|
properties.push_back(createPGI("Gameplay",
|
||||||
"InitialScoreValue",
|
"InitialScoreValue",
|
||||||
"The amount of points the player starts with.",
|
"The ammount of points the player starts with.",
|
||||||
(LPARAM)scoreTxt,
|
(LPARAM)scoreTxt,
|
||||||
PIT_EDIT));
|
PIT_EDIT));
|
||||||
|
|
||||||
properties.push_back(createPGI("Gameplay",
|
|
||||||
"TimerUpAction",
|
|
||||||
"Some temporary string here",
|
|
||||||
(LPARAM)strActionType(TimerUpAction),
|
|
||||||
PIT_COMBO,
|
|
||||||
TEXT("Nothing\0Pause\0Lose\0Draw\0Win\0")
|
|
||||||
));
|
|
||||||
|
|
||||||
properties.push_back(createPGI("Gameplay",
|
|
||||||
"TimerAffectsScore",
|
|
||||||
"Some temporary string here",
|
|
||||||
(LPARAM)strAffectType(TimerAffectsScore),
|
|
||||||
PIT_COMBO,
|
|
||||||
TEXT("NoChange\0Increase\0Decrease\0")
|
|
||||||
));
|
|
||||||
return properties;
|
return properties;
|
||||||
}
|
}
|
||||||
void LevelInstance::PropUpdate(LPPROPGRIDITEM &pItem)
|
void LevelInstance::PropUpdate(LPPROPGRIDITEM &pItem)
|
||||||
@@ -157,87 +68,6 @@ void LevelInstance::PropUpdate(LPPROPGRIDITEM &pItem)
|
|||||||
{
|
{
|
||||||
winMessage = (LPSTR)pItem->lpCurValue;
|
winMessage = (LPSTR)pItem->lpCurValue;
|
||||||
}
|
}
|
||||||
else if(strcmp(pItem->lpszPropName, "TimerUpAction") == 0)
|
|
||||||
{
|
|
||||||
TimerUpAction = EnumActionType((TCHAR*)pItem->lpCurValue);
|
|
||||||
}
|
|
||||||
else if(strcmp(pItem->lpszPropName, "TimerAffectsScore") == 0)
|
|
||||||
{
|
|
||||||
TimerAffectsScore = EnumAffectType((TCHAR*)pItem->lpCurValue);
|
|
||||||
}
|
|
||||||
else if(strcmp(pItem->lpszPropName, "HighScoreIsGood") == 0)
|
|
||||||
{
|
|
||||||
HighScoreIsGood = pItem->lpCurValue == TRUE;
|
|
||||||
}
|
|
||||||
else if(strcmp(pItem->lpszPropName, "RunOnOpen") == 0)
|
|
||||||
{
|
|
||||||
RunOnOpen = pItem->lpCurValue == TRUE;
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
Instance::PropUpdate(pItem);
|
Instance::PropUpdate(pItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
void LevelInstance::winCondition()
|
|
||||||
{
|
|
||||||
DataModelInstance* DataModel = (DataModelInstance*)getParent(); //If level parent gets changed to something other than Datamodel it could cause nasty data corruption bugs
|
|
||||||
DataModel->setMessage(winMessage);
|
|
||||||
DataModel->toggleRun();
|
|
||||||
}
|
|
||||||
|
|
||||||
void LevelInstance::loseCondition()
|
|
||||||
{
|
|
||||||
DataModelInstance* DataModel = (DataModelInstance*)getParent();
|
|
||||||
DataModel->setMessage(loseMessage);
|
|
||||||
DataModel->toggleRun();
|
|
||||||
}
|
|
||||||
|
|
||||||
void LevelInstance::pauseCondition()
|
|
||||||
{
|
|
||||||
DataModelInstance* DataModel = (DataModelInstance*)getParent();
|
|
||||||
DataModel->toggleRun();
|
|
||||||
}
|
|
||||||
|
|
||||||
void LevelInstance::drawCondition()
|
|
||||||
{
|
|
||||||
DataModelInstance* DataModel = (DataModelInstance*)getParent();
|
|
||||||
DataModel->toggleRun();
|
|
||||||
}
|
|
||||||
|
|
||||||
void LevelInstance::Step(SimTime sdt)
|
|
||||||
{
|
|
||||||
switch(TimerAffectsScore)
|
|
||||||
{
|
|
||||||
case Enum::AffectType::NoChange:
|
|
||||||
break;
|
|
||||||
case Enum::AffectType::Increase:
|
|
||||||
score += 1;
|
|
||||||
break;
|
|
||||||
case Enum::AffectType::Decrease:
|
|
||||||
if (score > 0)
|
|
||||||
score -= 1;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (timer >= 0.1f){ //Due to timing used this could cause the number go into negatives for one step
|
|
||||||
timer -= sdt;
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
timer = 0.0f;
|
|
||||||
switch(TimerUpAction)
|
|
||||||
{
|
|
||||||
case Enum::ActionType::Nothing:
|
|
||||||
break;
|
|
||||||
case Enum::ActionType::Pause:
|
|
||||||
pauseCondition();
|
|
||||||
break;
|
|
||||||
case Enum::ActionType::Lose:
|
|
||||||
loseCondition();
|
|
||||||
break;
|
|
||||||
case Enum::ActionType::Draw:
|
|
||||||
drawCondition();
|
|
||||||
break;
|
|
||||||
case Enum::ActionType::Win:
|
|
||||||
winCondition();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -8,13 +8,11 @@
|
|||||||
PartInstance::PartInstance(void)
|
PartInstance::PartInstance(void)
|
||||||
{
|
{
|
||||||
PVInstance::PVInstance();
|
PVInstance::PVInstance();
|
||||||
physBody = NULL;
|
|
||||||
glList = glGenLists(1);
|
glList = glGenLists(1);
|
||||||
name = "Unnamed PVItem";
|
name = "Unnamed PVItem";
|
||||||
className = "Part";
|
className = "Part";
|
||||||
canCollide = true;
|
canCollide = true;
|
||||||
anchored = false;
|
anchored = false;
|
||||||
dragging = false;
|
|
||||||
size = Vector3(2,1,4);
|
size = Vector3(2,1,4);
|
||||||
setCFrame(CoordinateFrame(Vector3(0,0,0)));
|
setCFrame(CoordinateFrame(Vector3(0,0,0)));
|
||||||
color = Color3::gray();
|
color = Color3::gray();
|
||||||
@@ -29,27 +27,6 @@ PartInstance::PartInstance(void)
|
|||||||
shape = Enum::Shape::Block;
|
shape = Enum::Shape::Block;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool PartInstance::isDragging()
|
|
||||||
{
|
|
||||||
return dragging;
|
|
||||||
}
|
|
||||||
|
|
||||||
void PartInstance::setDragging(bool value)
|
|
||||||
{
|
|
||||||
if (dragging != value)
|
|
||||||
{
|
|
||||||
dragging = value;
|
|
||||||
g_dataModel->getEngine()->resetBody(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
float PartInstance::getMass()
|
|
||||||
{
|
|
||||||
if(shape == Enum::Shape::Block)
|
|
||||||
return size.x*size.y*size.z*0.7F;
|
|
||||||
else
|
|
||||||
return 1.3333333333333333333333333333333F*(size.x/2)*(size.y/2)*(size.z/2)*0.7F;
|
|
||||||
}
|
|
||||||
|
|
||||||
Vector3 PartInstance::getVelocity()
|
Vector3 PartInstance::getVelocity()
|
||||||
{
|
{
|
||||||
@@ -132,37 +109,32 @@ void PartInstance::setSurface(int face, Enum::SurfaceType::Value surface)
|
|||||||
|
|
||||||
void PartInstance::setParent(Instance* prnt)
|
void PartInstance::setParent(Instance* prnt)
|
||||||
{
|
{
|
||||||
if(this->physBody != NULL)
|
|
||||||
{
|
|
||||||
g_dataModel->getEngine()->deleteBody(this);
|
|
||||||
}
|
|
||||||
Instance * cparent = getParent();
|
Instance * cparent = getParent();
|
||||||
while(cparent != NULL)
|
while(cparent != NULL)
|
||||||
{
|
{
|
||||||
if(WorkspaceInstance* workspace = dynamic_cast<WorkspaceInstance*>(cparent))
|
if(WorkspaceInstance* workspace = dynamic_cast<WorkspaceInstance*>(cparent))
|
||||||
{
|
{
|
||||||
|
std::cout << "Removed from partarray " << std::endl;
|
||||||
workspace->partObjects.erase(std::remove(workspace->partObjects.begin(), workspace->partObjects.end(), this), workspace->partObjects.end());
|
workspace->partObjects.erase(std::remove(workspace->partObjects.begin(), workspace->partObjects.end(), this), workspace->partObjects.end());
|
||||||
}
|
|
||||||
cparent = cparent->getParent();
|
|
||||||
}
|
|
||||||
Instance::setParent(prnt);
|
|
||||||
cparent = getParent();
|
|
||||||
while(cparent != NULL)
|
|
||||||
{
|
|
||||||
if(WorkspaceInstance* workspace = dynamic_cast<WorkspaceInstance*>(cparent))
|
|
||||||
{
|
|
||||||
workspace->partObjects.push_back(this);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
cparent = cparent->getParent();
|
cparent = cparent->getParent();
|
||||||
}
|
}
|
||||||
|
Instance::setParent(prnt);
|
||||||
|
while(parent != NULL)
|
||||||
|
{
|
||||||
|
if(WorkspaceInstance* workspace = dynamic_cast<WorkspaceInstance*>(parent))
|
||||||
|
{
|
||||||
|
workspace->partObjects.push_back(this);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
parent = parent->getParent();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
PartInstance::PartInstance(const PartInstance &oinst)
|
PartInstance::PartInstance(const PartInstance &oinst)
|
||||||
{
|
{
|
||||||
PVInstance::PVInstance(oinst);
|
PVInstance::PVInstance(oinst);
|
||||||
physBody = NULL;
|
|
||||||
glList = glGenLists(1);
|
glList = glGenLists(1);
|
||||||
//name = oinst.name;
|
//name = oinst.name;
|
||||||
//className = "Part";
|
//className = "Part";
|
||||||
@@ -171,7 +143,7 @@ PartInstance::PartInstance(const PartInstance &oinst)
|
|||||||
setParent(oinst.parent);
|
setParent(oinst.parent);
|
||||||
anchored = oinst.anchored;
|
anchored = oinst.anchored;
|
||||||
size = oinst.size;
|
size = oinst.size;
|
||||||
setCFrameNoSync(oinst.cFrame);
|
setCFrame(oinst.cFrame);
|
||||||
color = oinst.color;
|
color = oinst.color;
|
||||||
velocity = oinst.velocity;
|
velocity = oinst.velocity;
|
||||||
rotVelocity = oinst.rotVelocity;
|
rotVelocity = oinst.rotVelocity;
|
||||||
@@ -220,8 +192,8 @@ void PartInstance::setSize(Vector3 newSize)
|
|||||||
|
|
||||||
size = Vector3(sizex, sizey, sizez);
|
size = Vector3(sizex, sizey, sizez);
|
||||||
|
|
||||||
if(this->physBody != NULL)
|
|
||||||
g_dataModel->getEngine()->resetBody(this);
|
|
||||||
}
|
}
|
||||||
Vector3 PartInstance::getSize()
|
Vector3 PartInstance::getSize()
|
||||||
{
|
{
|
||||||
@@ -242,48 +214,25 @@ void PartInstance::setShape(Enum::Shape::Value shape)
|
|||||||
this->shape = shape;
|
this->shape = shape;
|
||||||
this->setSize(this->getSize());
|
this->setSize(this->getSize());
|
||||||
}
|
}
|
||||||
if(this->physBody != NULL)
|
|
||||||
g_dataModel->getEngine()->resetBody(this);
|
|
||||||
|
|
||||||
changed = true;
|
changed = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void PartInstance::setPosition(Vector3 pos)
|
void PartInstance::setPosition(Vector3 pos)
|
||||||
{
|
{
|
||||||
position = pos;
|
position = pos;
|
||||||
setCFrame(CoordinateFrame(cFrame.rotation, pos));
|
cFrame = CoordinateFrame(cFrame.rotation, pos);
|
||||||
|
changed = true;
|
||||||
if (anchored)
|
|
||||||
g_dataModel->getEngine()->resetBody(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void PartInstance::setAnchored(bool anchored)
|
|
||||||
{
|
|
||||||
this->anchored = anchored;
|
|
||||||
if(this->physBody != NULL)
|
|
||||||
g_dataModel->getEngine()->resetBody(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool PartInstance::isAnchored()
|
|
||||||
{
|
|
||||||
return this->anchored;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
CoordinateFrame PartInstance::getCFrame()
|
CoordinateFrame PartInstance::getCFrame()
|
||||||
{
|
{
|
||||||
return cFrame;
|
return cFrame;
|
||||||
}
|
}
|
||||||
void PartInstance::setCFrame(CoordinateFrame coordinateFrame)
|
void PartInstance::setCFrame(CoordinateFrame coordinateFrame)
|
||||||
{
|
|
||||||
setCFrameNoSync(coordinateFrame);
|
|
||||||
g_dataModel->getEngine()->updateBody(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
void PartInstance::setCFrameNoSync(CoordinateFrame coordinateFrame)
|
|
||||||
{
|
{
|
||||||
cFrame = coordinateFrame;
|
cFrame = coordinateFrame;
|
||||||
position = coordinateFrame.translation;
|
position = coordinateFrame.translation;
|
||||||
|
changed = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool PartInstance::collides(PartInstance * part)
|
bool PartInstance::collides(PartInstance * part)
|
||||||
@@ -330,6 +279,7 @@ void PartInstance::render(RenderDevice* rd) {
|
|||||||
changed=false;
|
changed=false;
|
||||||
Vector3 renderSize = size/2;
|
Vector3 renderSize = size/2;
|
||||||
glNewList(glList, GL_COMPILE);
|
glNewList(glList, GL_COMPILE);
|
||||||
|
//glScalef(0.5f,0.5f,0.5f);
|
||||||
renderShape(this->shape, renderSize, color);
|
renderShape(this->shape, renderSize, color);
|
||||||
renderSurface(TOP, this->top, renderSize, this->controller, color);
|
renderSurface(TOP, this->top, renderSize, this->controller, color);
|
||||||
renderSurface(FRONT, this->front, renderSize, this->controller, color);
|
renderSurface(FRONT, this->front, renderSize, this->controller, color);
|
||||||
@@ -347,16 +297,6 @@ void PartInstance::render(RenderDevice* rd) {
|
|||||||
PartInstance::~PartInstance(void)
|
PartInstance::~PartInstance(void)
|
||||||
{
|
{
|
||||||
glDeleteLists(glList, 1);
|
glDeleteLists(glList, 1);
|
||||||
/*
|
|
||||||
// Causes some weird ODE error
|
|
||||||
// Someone, please look into this
|
|
||||||
|
|
||||||
dBodyDestroy(physBody);
|
|
||||||
for (int i = 0; i < 3; i++) {
|
|
||||||
if (physGeom[i] != NULL)
|
|
||||||
dGeomDestroy(physGeom[i]);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
char pto[512];
|
char pto[512];
|
||||||
@@ -395,7 +335,7 @@ void PartInstance::PropUpdate(LPPROPGRIDITEM &item)
|
|||||||
}
|
}
|
||||||
else if(strcmp(item->lpszPropName, "Anchored") == 0)
|
else if(strcmp(item->lpszPropName, "Anchored") == 0)
|
||||||
{
|
{
|
||||||
setAnchored(item->lpCurValue == TRUE);
|
anchored= item->lpCurValue == TRUE;
|
||||||
}
|
}
|
||||||
else if(strcmp(item->lpszPropName, "Offset") == 0)
|
else if(strcmp(item->lpszPropName, "Offset") == 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
#include "DataModelV2/WorkspaceInstance.h"
|
#include "DataModelV2/WorkspaceInstance.h"
|
||||||
#include "Globals.h"
|
|
||||||
#include "Application.h"
|
|
||||||
|
|
||||||
WorkspaceInstance::WorkspaceInstance(void)
|
WorkspaceInstance::WorkspaceInstance(void)
|
||||||
{
|
{
|
||||||
@@ -16,11 +15,6 @@ void WorkspaceInstance::clearChildren()
|
|||||||
Instance::clearChildren();
|
Instance::clearChildren();
|
||||||
}
|
}
|
||||||
|
|
||||||
void WorkspaceInstance::zoomToExtents()
|
|
||||||
{
|
|
||||||
g_usableApp->cameraController.zoomExtents();
|
|
||||||
}
|
|
||||||
|
|
||||||
WorkspaceInstance::~WorkspaceInstance(void)
|
WorkspaceInstance::~WorkspaceInstance(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,17 @@
|
|||||||
#include "Globals.h"
|
#include "Globals.h"
|
||||||
#include "Application.h"
|
#include "Application.h"
|
||||||
|
|
||||||
|
int const Globals::gen = 0;
|
||||||
|
int const Globals::major = 100;
|
||||||
|
int const Globals::minor = 4;
|
||||||
|
int const Globals::patch = 3;
|
||||||
int Globals::surfaceId = 2;
|
int Globals::surfaceId = 2;
|
||||||
//bool Globals::showMouse = true;
|
//bool Globals::showMouse = true;
|
||||||
bool Globals::useMousePoint = false;
|
bool Globals::useMousePoint = false;
|
||||||
std::vector<Instance*> postRenderStack = std::vector<Instance*>();
|
std::vector<Instance*> postRenderStack = std::vector<Instance*>();
|
||||||
|
|
||||||
|
std::vector<Instance*> g_selectedInstances = std::vector<Instance*>();
|
||||||
DataModelInstance* g_dataModel = NULL;
|
DataModelInstance* g_dataModel = NULL;
|
||||||
XplicitNgine* g_xplicitNgine = NULL;
|
|
||||||
|
|
||||||
bool running = false;
|
bool running = false;
|
||||||
G3D::TextureRef Globals::surface;
|
G3D::TextureRef Globals::surface;
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
#define WIN32_LEAN_AND_MEAN
|
#define WIN32_LEAN_AND_MEAN
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#include <Commdlg.h>
|
#include <Commdlg.h>
|
||||||
#include "IEBrowser.h"
|
#include "IEBrowser.h"
|
||||||
@@ -10,9 +11,6 @@
|
|||||||
#include "ax.h"
|
#include "ax.h"
|
||||||
#include "Tool/SurfaceTool.h"
|
#include "Tool/SurfaceTool.h"
|
||||||
#include "Application.h"
|
#include "Application.h"
|
||||||
#include "Enum.h"
|
|
||||||
#include "ToolEnum.h"
|
|
||||||
#include "VS2005CompatShim.h"
|
|
||||||
|
|
||||||
HRESULT IEBrowser::doExternal(std::wstring funcName,
|
HRESULT IEBrowser::doExternal(std::wstring funcName,
|
||||||
DISPID dispIdMember,
|
DISPID dispIdMember,
|
||||||
@@ -32,24 +30,9 @@ HRESULT IEBrowser::doExternal(std::wstring funcName,
|
|||||||
}
|
}
|
||||||
else if (funcName==L"ToggleHopperBin")
|
else if (funcName==L"ToggleHopperBin")
|
||||||
{
|
{
|
||||||
MessageBox(NULL, "BOOP", "Boopity boop",MB_OK);
|
pVarResult->vt = VT_INT;
|
||||||
|
pVarResult->intVal = 5;
|
||||||
/*To-do Make enums in ToolEnum work with this properly,
|
//MessageBox(NULL, "BOOP", "Boopity boop",MB_OK);
|
||||||
commented code is not fully tested.*/
|
|
||||||
/*MessageBox(NULL,
|
|
||||||
std::to_string(pDispParams->rgvarg->intVal).c_str(),
|
|
||||||
"Is it working?",
|
|
||||||
MB_OK);
|
|
||||||
Enum::Hopper::Value cont = (Enum::Hopper::Value)pDispParams->rgvarg->intVal;
|
|
||||||
|
|
||||||
switch (cont)
|
|
||||||
{
|
|
||||||
case GameTool
|
|
||||||
case Grab
|
|
||||||
|
|
||||||
break;
|
|
||||||
}*/
|
|
||||||
return S_OK;
|
|
||||||
}
|
}
|
||||||
else if (funcName==L"SetController")
|
else if (funcName==L"SetController")
|
||||||
{
|
{
|
||||||
@@ -60,9 +43,9 @@ HRESULT IEBrowser::doExternal(std::wstring funcName,
|
|||||||
if(pDispParams->rgvarg->intVal < 0 || pDispParams->rgvarg->intVal > 7)
|
if(pDispParams->rgvarg->intVal < 0 || pDispParams->rgvarg->intVal > 7)
|
||||||
return S_OK;
|
return S_OK;
|
||||||
Enum::Controller::Value cont = (Enum::Controller::Value)pDispParams->rgvarg->intVal;
|
Enum::Controller::Value cont = (Enum::Controller::Value)pDispParams->rgvarg->intVal;
|
||||||
for(size_t i = 0; i < g_dataModel->getSelectionService()->getSelection().size(); i++)
|
for(size_t i = 0; i < g_selectedInstances.size(); i++)
|
||||||
{
|
{
|
||||||
if(PVInstance* part = dynamic_cast<PVInstance*>(g_dataModel->getSelectionService()->getSelection()[i]))
|
if(PVInstance* part = dynamic_cast<PVInstance*>(g_selectedInstances.at(i)))
|
||||||
{
|
{
|
||||||
ding = true;
|
ding = true;
|
||||||
part->controller = cont;
|
part->controller = cont;
|
||||||
|
|||||||
@@ -7,8 +7,8 @@ void CameraButtonListener::onButton1MouseClick(BaseButtonInstance* button)
|
|||||||
{
|
{
|
||||||
AudioPlayer::playSound(cameraSound);
|
AudioPlayer::playSound(cameraSound);
|
||||||
CoordinateFrame frame = g_usableApp->cameraController.getCamera()->getCoordinateFrame();
|
CoordinateFrame frame = g_usableApp->cameraController.getCamera()->getCoordinateFrame();
|
||||||
if(button->name == "CenterCam" && g_dataModel->getSelectionService()->getSelection().size() > 0)
|
if(button->name == "CenterCam" && g_selectedInstances.size() > 0)
|
||||||
g_usableApp->cameraController.centerCamera(g_dataModel->getSelectionService()->getSelection()[0]);
|
g_usableApp->cameraController.centerCamera(g_selectedInstances.at(0));
|
||||||
else if(button->name == "ZoomIn")
|
else if(button->name == "ZoomIn")
|
||||||
g_usableApp->cameraController.Zoom(1);
|
g_usableApp->cameraController.Zoom(1);
|
||||||
else if(button->name == "ZoomOut")
|
else if(button->name == "ZoomOut")
|
||||||
|
|||||||
@@ -2,14 +2,13 @@
|
|||||||
#include "Application.h"
|
#include "Application.h"
|
||||||
#include "Globals.h"
|
#include "Globals.h"
|
||||||
#include "AudioPlayer.h"
|
#include "AudioPlayer.h"
|
||||||
#include "DataModelV2/SelectionService.h"
|
|
||||||
#include "Listener/GUDButtonListener.h"
|
#include "Listener/GUDButtonListener.h"
|
||||||
|
|
||||||
void GUDButtonListener::onButton1MouseClick(BaseButtonInstance* button)
|
void GUDButtonListener::onButton1MouseClick(BaseButtonInstance* button)
|
||||||
{
|
{
|
||||||
bool cont = false;
|
bool cont = false;
|
||||||
for(size_t i = 0; i < g_dataModel->getSelectionService()->getSelection().size(); i++)
|
for(size_t i = 0; i < g_selectedInstances.size(); i++)
|
||||||
if(g_dataModel->getSelectionService()->getSelection()[i]->canDelete)
|
if(g_selectedInstances.at(i)->canDelete)
|
||||||
{
|
{
|
||||||
cont = true;
|
cont = true;
|
||||||
break;
|
break;
|
||||||
@@ -20,46 +19,53 @@ void GUDButtonListener::onButton1MouseClick(BaseButtonInstance* button)
|
|||||||
if(button->name == "Duplicate")
|
if(button->name == "Duplicate")
|
||||||
{
|
{
|
||||||
std::vector<Instance*> newinst;
|
std::vector<Instance*> newinst;
|
||||||
for(size_t i = 0; i < g_dataModel->getSelectionService()->getSelection().size(); i++)
|
for(size_t i = 0; i < g_selectedInstances.size(); i++)
|
||||||
{
|
{
|
||||||
if(g_dataModel->getSelectionService()->getSelection()[i]->canDelete)
|
if(g_selectedInstances.at(i)->canDelete)
|
||||||
{
|
{
|
||||||
Instance* tempinst = g_dataModel->getSelectionService()->getSelection()[i];
|
Instance* tempinst = g_selectedInstances.at(i);
|
||||||
|
|
||||||
Instance* clonedInstance = g_dataModel->getSelectionService()->getSelection()[i]->clone();
|
Instance* clonedInstance = g_selectedInstances.at(i)->clone();
|
||||||
|
|
||||||
newinst.push_back(tempinst);
|
newinst.push_back(tempinst);
|
||||||
}
|
}
|
||||||
|
/*tempinst->setPosition(Vector3(tempPos.x, tempPos.y + tempSize.y, tempPos.z));
|
||||||
|
g_usableApp->cameraController.centerCamera(g_selectedInstances.at(0));*/
|
||||||
}
|
}
|
||||||
g_dataModel->getSelectionService()->clearSelection();
|
g_selectedInstances = newinst;
|
||||||
g_dataModel->getSelectionService()->addSelected(newinst);
|
if(g_selectedInstances.size() > 0)
|
||||||
|
g_usableApp->_propWindow->UpdateSelected(newinst.at(0));
|
||||||
}
|
}
|
||||||
else if(button->name == "Group")
|
else if(button->name == "Group")
|
||||||
{
|
{
|
||||||
GroupInstance * inst = new GroupInstance();
|
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_dataModel->getSelectionService()->getSelection()[i]->canDelete)
|
if(g_selectedInstances.at(i)->canDelete)
|
||||||
{
|
{
|
||||||
g_dataModel->getSelectionService()->getSelection()[i]->setParent(inst);
|
g_selectedInstances.at(i)->setParent(inst);
|
||||||
if(PartInstance* part = dynamic_cast<PartInstance*>(g_dataModel->getSelectionService()->getSelection()[i]))
|
if(PartInstance* part = dynamic_cast<PartInstance*>(g_selectedInstances.at(i)))
|
||||||
{
|
{
|
||||||
inst->primaryPart = part;
|
inst->primaryPart = part;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/*tempinst->setPosition(Vector3(tempPos.x, tempPos.y + tempSize.y, tempPos.z));
|
||||||
|
g_usableApp->cameraController.centerCamera(g_selectedInstances.at(0));*/
|
||||||
}
|
}
|
||||||
g_dataModel->getSelectionService()->clearSelection();
|
inst->setParent(g_dataModel->getWorkspace());
|
||||||
g_dataModel->getSelectionService()->addSelected(inst);
|
g_selectedInstances.clear();
|
||||||
|
g_selectedInstances.push_back(inst);
|
||||||
|
if(g_selectedInstances.size() > 0)
|
||||||
|
g_usableApp->_propWindow->UpdateSelected(g_selectedInstances.at(0));
|
||||||
}
|
}
|
||||||
else if(button->name == "UnGroup")
|
else if(button->name == "UnGroup")
|
||||||
{
|
{
|
||||||
std::vector<Instance*> newinst;
|
std::vector<Instance*> newinst;
|
||||||
for(size_t i = 0; i < g_dataModel->getSelectionService()->getSelection().size(); i++)
|
for(size_t i = 0; i < g_selectedInstances.size(); i++)
|
||||||
{
|
{
|
||||||
if(g_dataModel->getSelectionService()->getSelection()[i]->canDelete)
|
if(g_selectedInstances.at(i)->canDelete)
|
||||||
{
|
{
|
||||||
if(GroupInstance* model = dynamic_cast<GroupInstance*>(g_dataModel->getSelectionService()->getSelection()[i]))
|
if(GroupInstance* model = dynamic_cast<GroupInstance*>(g_selectedInstances.at(i)))
|
||||||
{
|
{
|
||||||
newinst = model->unGroup();
|
newinst = model->unGroup();
|
||||||
model->setParent(NULL);
|
model->setParent(NULL);
|
||||||
@@ -67,9 +73,13 @@ void GUDButtonListener::onButton1MouseClick(BaseButtonInstance* button)
|
|||||||
model = NULL;
|
model = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/*tempinst->setPosition(Vector3(tempPos.x, tempPos.y + tempSize.y, tempPos.z));
|
||||||
|
g_usableApp->cameraController.centerCamera(g_selectedInstances.at(0));*/
|
||||||
}
|
}
|
||||||
g_dataModel->getSelectionService()->clearSelection();
|
g_selectedInstances.clear();
|
||||||
g_dataModel->getSelectionService()->addSelected(newinst);
|
g_selectedInstances = newinst;
|
||||||
|
if(g_selectedInstances.size() > 0)
|
||||||
|
g_usableApp->_propWindow->UpdateSelected(newinst.at(0));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2,6 +2,33 @@
|
|||||||
#include "DataModelV2/ToggleImageButtonInstance.h"
|
#include "DataModelV2/ToggleImageButtonInstance.h"
|
||||||
#include "Application.h"
|
#include "Application.h"
|
||||||
#include "Globals.h"
|
#include "Globals.h"
|
||||||
|
#include "../../resource.h"
|
||||||
|
|
||||||
|
INT_PTR CALLBACK InsertDlgProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
|
||||||
|
{
|
||||||
|
switch(Message)
|
||||||
|
{
|
||||||
|
case WM_INITDIALOG:
|
||||||
|
return TRUE;
|
||||||
|
break;
|
||||||
|
case WM_COMMAND:
|
||||||
|
switch(LOWORD(wParam))
|
||||||
|
{
|
||||||
|
case IDOK:
|
||||||
|
//g_dataModel->setMessage("lol u thought");
|
||||||
|
EndDialog(hwnd, IDOK);
|
||||||
|
break;
|
||||||
|
case IDCANCEL:
|
||||||
|
EndDialog(hwnd, IDCANCEL);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
void MenuButtonListener::onButton1MouseClick(BaseButtonInstance* button)
|
void MenuButtonListener::onButton1MouseClick(BaseButtonInstance* button)
|
||||||
{
|
{
|
||||||
if(button->name == "go")
|
if(button->name == "go")
|
||||||
@@ -14,23 +41,17 @@ void MenuButtonListener::onButton1MouseClick(BaseButtonInstance* button)
|
|||||||
HMENU mainmenu = CreatePopupMenu();
|
HMENU mainmenu = CreatePopupMenu();
|
||||||
AppendMenu(mainmenu, MF_STRING, 100, "New");
|
AppendMenu(mainmenu, MF_STRING, 100, "New");
|
||||||
AppendMenu(mainmenu, MF_STRING, 101, "Open...");
|
AppendMenu(mainmenu, MF_STRING, 101, "Open...");
|
||||||
AppendMenu(mainmenu, MF_STRING, 102, "Close");
|
AppendMenu(mainmenu, MF_STRING, 101, "Close");
|
||||||
AppendMenu(mainmenu, MF_SEPARATOR, 0, NULL);
|
AppendMenu(mainmenu, MF_SEPARATOR, 0, NULL);
|
||||||
POINT p;
|
POINT p;
|
||||||
GetCursorPos(&p);
|
GetCursorPos(&p);
|
||||||
int menuClick = TrackPopupMenu(mainmenu, TPM_LEFTBUTTON | TPM_RETURNCMD, p.x, p.y, 0, Globals::mainHwnd, 0);
|
TrackPopupMenu(mainmenu, TPM_LEFTBUTTON, p.x, p.y, 0, Globals::mainHwnd, 0);
|
||||||
switch (menuClick)
|
|
||||||
{
|
|
||||||
case 100:
|
|
||||||
g_usableApp->clearInstances();
|
|
||||||
g_usableApp->onInit();
|
|
||||||
break;
|
|
||||||
case 101:
|
|
||||||
g_dataModel->getOpen();
|
|
||||||
break;
|
|
||||||
case 102:
|
|
||||||
g_usableApp->QuitApp();
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
else if(button->name == "insert")
|
||||||
|
{
|
||||||
|
//HWND aDiag = CreateDialog((HINSTANCE) GetWindowLong(Globals::mainHwnd, GWL_HINSTANCE), MAKEINTRESOURCE(IDD_DIALOG1), Globals::mainHwnd, (DLGPROC)InsertDlgProc);
|
||||||
|
HWND aDiag2 = CreateDialog((HINSTANCE) GetWindowLong(Globals::mainHwnd, GWL_HINSTANCE), MAKEINTRESOURCE(IDD_DIALOG2), Globals::mainHwnd, (DLGPROC)InsertDlgProc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -5,9 +5,9 @@
|
|||||||
|
|
||||||
void RotateButtonListener::onButton1MouseClick(BaseButtonInstance* button)
|
void RotateButtonListener::onButton1MouseClick(BaseButtonInstance* button)
|
||||||
{
|
{
|
||||||
if(g_dataModel->getSelectionService()->getSelection().size() > 0)
|
if(g_selectedInstances.size() > 0)
|
||||||
{
|
{
|
||||||
Instance* selectedInstance = g_dataModel->getSelectionService()->getSelection()[0];
|
Instance* selectedInstance = g_selectedInstances.at(0);
|
||||||
AudioPlayer::playSound(clickSound);
|
AudioPlayer::playSound(clickSound);
|
||||||
if(PartInstance* part = dynamic_cast<PartInstance*>(selectedInstance))
|
if(PartInstance* part = dynamic_cast<PartInstance*>(selectedInstance))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -112,3 +112,31 @@ void Mouse::setMouseDown(bool bval)
|
|||||||
{
|
{
|
||||||
mouseDown = 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;*/
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,17 @@
|
|||||||
#define _WINSOCKAPI_
|
#define _WINSOCKAPI_
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#include "WindowFunctions.h"
|
#include "WindowFunctions.h"
|
||||||
#include "resource.h"
|
#include "../../resource.h"
|
||||||
#include "PropertyWindow.h"
|
#include "PropertyWindow.h"
|
||||||
|
#include "Globals.h"
|
||||||
#include "strsafe.h"
|
#include "strsafe.h"
|
||||||
#include "Application.h"
|
#include "Application.h"
|
||||||
|
|
||||||
|
/*typedef struct typPRGP {
|
||||||
|
Instance* instance; // Declare member types
|
||||||
|
Property ∝
|
||||||
|
} PRGP;*/
|
||||||
|
|
||||||
std::vector<PROPGRIDITEM> prop;
|
std::vector<PROPGRIDITEM> prop;
|
||||||
std::vector<Instance*> children;
|
std::vector<Instance*> children;
|
||||||
Instance * selectedInstance;
|
Instance * selectedInstance;
|
||||||
@@ -171,8 +177,8 @@ LRESULT CALLBACK PropProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
|||||||
int ItemIndex = SendMessage((HWND) lParam, (UINT) CB_GETCURSEL, (WPARAM) 0, (LPARAM) 0);
|
int ItemIndex = SendMessage((HWND) lParam, (UINT) CB_GETCURSEL, (WPARAM) 0, (LPARAM) 0);
|
||||||
CHAR ListItem[256];
|
CHAR ListItem[256];
|
||||||
SendMessage((HWND) lParam, (UINT) CB_GETLBTEXT, (WPARAM) ItemIndex, (LPARAM) ListItem);
|
SendMessage((HWND) lParam, (UINT) CB_GETLBTEXT, (WPARAM) ItemIndex, (LPARAM) ListItem);
|
||||||
g_dataModel->getSelectionService()->clearSelection();
|
propWind->ClearProperties();
|
||||||
g_dataModel->getSelectionService()->addSelected(children.at(ItemIndex));
|
g_usableApp->selectInstance(children.at(ItemIndex),propWind);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -202,18 +208,13 @@ LRESULT CALLBACK PropProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void PropertyWindow::clearExplorer()
|
void PropertyWindow::refreshExplorer(Instance* selectedInstance)
|
||||||
{
|
{
|
||||||
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);
|
SendMessage(_explorerComboBox,CB_RESETCONTENT,0,0);
|
||||||
parent = NULL;
|
parent = NULL;
|
||||||
children.clear();
|
children.clear();
|
||||||
|
//g_selectedInstances.clear();
|
||||||
|
//for (unsigned int i=0;i<g_selectedInstances.size();i++) {
|
||||||
children.push_back(selectedInstance);
|
children.push_back(selectedInstance);
|
||||||
SendMessage(_explorerComboBox, CB_ADDSTRING, 0, (LPARAM)selectedInstance->name.c_str());
|
SendMessage(_explorerComboBox, CB_ADDSTRING, 0, (LPARAM)selectedInstance->name.c_str());
|
||||||
if(selectedInstance->getParent() != NULL)
|
if(selectedInstance->getParent() != NULL)
|
||||||
@@ -225,6 +226,7 @@ void PropertyWindow::refreshExplorer(std::vector<Instance*> selectedInstances)
|
|||||||
parent = selectedInstance->getParent();
|
parent = selectedInstance->getParent();
|
||||||
children.push_back(selectedInstance->getParent());
|
children.push_back(selectedInstance->getParent());
|
||||||
}
|
}
|
||||||
|
//children = g_selectedInstances[i]->getChildren();
|
||||||
|
|
||||||
std::vector<Instance*> selectedChildren = selectedInstance->getChildren();
|
std::vector<Instance*> selectedChildren = selectedInstance->getChildren();
|
||||||
for(size_t z = 0; z < selectedChildren.size(); z++)
|
for(size_t z = 0; z < selectedChildren.size(); z++)
|
||||||
@@ -341,17 +343,11 @@ void PropertyWindow::_resize()
|
|||||||
SetWindowPos(_explorerComboBox, NULL, 0, 0, rect.right, 400, SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE);
|
SetWindowPos(_explorerComboBox, NULL, 0, 0, rect.right, 400, SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PropertyWindow::UpdateSelected(std::vector<Instance *> instances)
|
void PropertyWindow::UpdateSelected(Instance * instance)
|
||||||
{
|
{
|
||||||
if(instances.size() <= 0)
|
|
||||||
{
|
|
||||||
ClearProperties();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
Instance * instance = instances[0];
|
|
||||||
PropGrid_ResetContent(_propGrid);
|
PropGrid_ResetContent(_propGrid);
|
||||||
prop = instance->getProperties();
|
prop = instance->getProperties();
|
||||||
//if (selectedInstance != instance)
|
if (selectedInstance != instance)
|
||||||
{
|
{
|
||||||
selectedInstance = instance;
|
selectedInstance = instance;
|
||||||
for(size_t i = 0; i < prop.size(); i++)
|
for(size_t i = 0; i < prop.size(); i++)
|
||||||
@@ -365,13 +361,12 @@ void PropertyWindow::UpdateSelected(std::vector<Instance *> instances)
|
|||||||
PropGrid_ExpandAllCatalogs(_propGrid);
|
PropGrid_ExpandAllCatalogs(_propGrid);
|
||||||
//SetWindowLongPtr(_propGrid,GWL_USERDATA,(LONG)this);
|
//SetWindowLongPtr(_propGrid,GWL_USERDATA,(LONG)this);
|
||||||
|
|
||||||
refreshExplorer(instances);
|
refreshExplorer(instance);
|
||||||
_resize();
|
_resize();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void PropertyWindow::ClearProperties()
|
void PropertyWindow::ClearProperties()
|
||||||
{
|
{
|
||||||
clearExplorer();
|
|
||||||
PropGrid_ResetContent(_propGrid);
|
PropGrid_ResetContent(_propGrid);
|
||||||
}
|
}
|
||||||
@@ -224,9 +224,8 @@ void renderShape(const Enum::Shape::Value& shape, const Vector3& size, const Col
|
|||||||
glPopMatrix();
|
glPopMatrix();
|
||||||
/*Plusses, can possibly integrate into cylinder code later on*/
|
/*Plusses, can possibly integrate into cylinder code later on*/
|
||||||
glVertexPointer(2, GL_FLOAT,0, square_arr);
|
glVertexPointer(2, GL_FLOAT,0, square_arr);
|
||||||
glPushMatrix();
|
|
||||||
glDisable(GL_COLOR_ARRAY);
|
|
||||||
glColor3f(127,127,127);
|
glColor3f(127,127,127);
|
||||||
|
glPushMatrix();
|
||||||
glRotatef(90,0,1,0);
|
glRotatef(90,0,1,0);
|
||||||
glTranslatef(0,0,-(size.z+0.001F));
|
glTranslatef(0,0,-(size.z+0.001F));
|
||||||
glScalef(0.75,0.75,0.75);
|
glScalef(0.75,0.75,0.75);
|
||||||
@@ -234,11 +233,9 @@ void renderShape(const Enum::Shape::Value& shape, const Vector3& size, const Col
|
|||||||
glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
|
glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
|
||||||
glScalef(1/(size.x*8),size.x*8,1);
|
glScalef(1/(size.x*8),size.x*8,1);
|
||||||
glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
|
glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
|
||||||
glEnable(GL_COLOR_ARRAY);
|
|
||||||
glPopMatrix();
|
glPopMatrix();
|
||||||
|
|
||||||
glPushMatrix();
|
glPushMatrix();
|
||||||
glDisable(GL_COLOR_ARRAY);
|
|
||||||
glRotatef(-90,0,1,0);
|
glRotatef(-90,0,1,0);
|
||||||
glTranslatef(0,0,-(size.z+0.001F));
|
glTranslatef(0,0,-(size.z+0.001F));
|
||||||
glScalef(0.75,0.75,0.75);
|
glScalef(0.75,0.75,0.75);
|
||||||
@@ -246,7 +243,6 @@ void renderShape(const Enum::Shape::Value& shape, const Vector3& size, const Col
|
|||||||
glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
|
glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
|
||||||
glScalef(1/(size.x*8),size.x*8,1);
|
glScalef(1/(size.x*8),size.x*8,1);
|
||||||
glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
|
glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
|
||||||
glEnable(GL_COLOR_ARRAY);
|
|
||||||
glPopMatrix();
|
glPopMatrix();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
#include "Tool/ArrowTool.h"
|
#include "Tool/ArrowTool.h"
|
||||||
#include "Application.h"
|
#include "Application.h"
|
||||||
#include "DataModelV2/SelectionService.h"
|
|
||||||
|
|
||||||
ArrowTool::ArrowTool(void)
|
ArrowTool::ArrowTool(void)
|
||||||
{
|
{
|
||||||
@@ -22,31 +21,18 @@ void ArrowTool::onButton1MouseDown(Mouse mouse)
|
|||||||
mouseDownStarty = mouse.y;
|
mouseDownStarty = mouse.y;
|
||||||
mouseDown = true;
|
mouseDown = true;
|
||||||
if(!lctrlDown && !rctrlDown)
|
if(!lctrlDown && !rctrlDown)
|
||||||
g_dataModel->getSelectionService()->clearSelection();
|
g_selectedInstances.clear();
|
||||||
PartInstance * target = mouse.getTarget();
|
PartInstance * target = mouse.getTarget();
|
||||||
if(target != NULL)
|
if(target != NULL && std::find(g_selectedInstances.begin(), g_selectedInstances.end(), target) == g_selectedInstances.end())
|
||||||
{
|
g_selectedInstances.push_back(target);
|
||||||
Vector3 mousePos = mouse.getPosition(g_dataModel->getSelectionService()->getSelection());
|
if(g_selectedInstances.size() == 0)
|
||||||
Vector3 targetPos = target->getPosition();
|
g_selectedInstances.push_back(g_dataModel);
|
||||||
|
g_usableApp->_propWindow->UpdateSelected(g_selectedInstances[0]);
|
||||||
g_dataModel->getSelectionService()->addSelected(target);
|
|
||||||
draggingPartOffset = targetPos-mousePos;
|
|
||||||
}
|
|
||||||
if(g_dataModel->getSelectionService()->getSelection().size() == 0)
|
|
||||||
g_dataModel->getSelectionService()->addSelected(g_dataModel);
|
|
||||||
}
|
}
|
||||||
void ArrowTool::onButton1MouseUp(Mouse mouse)
|
void ArrowTool::onButton1MouseUp(Mouse mouse)
|
||||||
{
|
{
|
||||||
mouseDown = false;
|
mouseDown = false;
|
||||||
dragging = false;
|
dragging = false;
|
||||||
|
|
||||||
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_dataModel->getSelectionService()->getSelection()[i]))
|
|
||||||
{
|
|
||||||
part->setDragging(false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ArrowTool::onMouseMoved(Mouse mouse)
|
void ArrowTool::onMouseMoved(Mouse mouse)
|
||||||
@@ -61,45 +47,11 @@ void ArrowTool::onMouseMoved(Mouse mouse)
|
|||||||
}
|
}
|
||||||
else return;
|
else return;
|
||||||
}
|
}
|
||||||
for(size_t i = 0; i < g_dataModel->getSelectionService()->getSelection().size(); i++) //This will later decide primary and move all parts according to primary
|
for(size_t i = 0; i < g_selectedInstances.size(); i++) //This will later decide primary and move all parts according to primary
|
||||||
{
|
{
|
||||||
if(PartInstance * part = dynamic_cast<PartInstance *>(g_dataModel->getSelectionService()->getSelection()[i]))
|
if(PartInstance * part = dynamic_cast<PartInstance *>(g_selectedInstances[i]))
|
||||||
{
|
{
|
||||||
Vector3 mousePos = mouse.getPosition(g_dataModel->getSelectionService()->getSelection());
|
part->setPosition(mouse.getPosition(g_selectedInstances));
|
||||||
Vector3 vec = mousePos + draggingPartOffset;
|
|
||||||
|
|
||||||
vec.x = (ceil(vec.x / 1) * 1);
|
|
||||||
vec.y = (ceil(vec.y / 1) * 1);
|
|
||||||
vec.z = (ceil(vec.z / 1) * 1);
|
|
||||||
|
|
||||||
if ( ((int)part->getSize().x)%2 == 1 )
|
|
||||||
vec.x += 0.5;
|
|
||||||
|
|
||||||
vec.y = mousePos.y + part->getSize().y/2 - 0.5;
|
|
||||||
|
|
||||||
if ( ((int)part->getSize().z)%2 == 1 )
|
|
||||||
vec.z += 0.5;
|
|
||||||
|
|
||||||
Matrix3 rot = part->getCFrame().rotation;
|
|
||||||
Vector3 rotEulerAngles;
|
|
||||||
|
|
||||||
rot.toEulerAnglesXYZ(rotEulerAngles.x, rotEulerAngles.y, rotEulerAngles.z);
|
|
||||||
|
|
||||||
rotEulerAngles = Vector3(
|
|
||||||
rotEulerAngles.x * 180 / M_PI,
|
|
||||||
rotEulerAngles.y * 180 / M_PI,
|
|
||||||
rotEulerAngles.z * 180 / M_PI
|
|
||||||
);
|
|
||||||
|
|
||||||
roundDeg(rotEulerAngles.x);
|
|
||||||
roundDeg(rotEulerAngles.y);
|
|
||||||
roundDeg(rotEulerAngles.z);
|
|
||||||
|
|
||||||
rot = rot.fromEulerAnglesXYZ( rotEulerAngles.x * (M_PI / 180), rotEulerAngles.y * (M_PI / 180), rotEulerAngles.z * (M_PI / 180) );
|
|
||||||
|
|
||||||
part->setDragging(true);
|
|
||||||
part->setPosition(vec);
|
|
||||||
part->setCFrame(CoordinateFrame(rot, vec));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
@@ -117,6 +69,30 @@ void ArrowTool::onKeyDown(int key)
|
|||||||
{
|
{
|
||||||
lctrlDown = true;
|
lctrlDown = true;
|
||||||
}
|
}
|
||||||
|
else if(key == 'R')
|
||||||
|
{
|
||||||
|
if(g_selectedInstances.size() > 0)
|
||||||
|
{
|
||||||
|
Instance* selectedInstance = g_selectedInstances.at(0);
|
||||||
|
AudioPlayer::playSound(clickSound);
|
||||||
|
if(PartInstance* part = dynamic_cast<PartInstance*>(selectedInstance))
|
||||||
|
{
|
||||||
|
part->setCFrame(part->getCFrame()*Matrix3::fromEulerAnglesXYZ(0,toRadians(90),0));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(key == 'T')
|
||||||
|
{
|
||||||
|
if(g_selectedInstances.size() > 0)
|
||||||
|
{
|
||||||
|
Instance* selectedInstance = g_selectedInstances.at(0);
|
||||||
|
AudioPlayer::playSound(clickSound);
|
||||||
|
if(PartInstance* part = dynamic_cast<PartInstance*>(selectedInstance))
|
||||||
|
{
|
||||||
|
part->setCFrame(part->getCFrame()*Matrix3::fromEulerAnglesXYZ(0,0,toRadians(90)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ArrowTool::onKeyUp(int key)
|
void ArrowTool::onKeyUp(int key)
|
||||||
@@ -124,19 +100,3 @@ void ArrowTool::onKeyUp(int key)
|
|||||||
if(key == VK_CONTROL)
|
if(key == VK_CONTROL)
|
||||||
lctrlDown = false;
|
lctrlDown = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ArrowTool::roundDeg(float °ree)
|
|
||||||
{
|
|
||||||
if ( ( degree < 0 && degree > -45 ) || ( degree > 0 && degree < 45 ) )
|
|
||||||
{
|
|
||||||
degree = 0;
|
|
||||||
}
|
|
||||||
else if ( ( degree < 0 && degree > -90 ) || ( degree > 45 && degree < 90 ) )
|
|
||||||
{
|
|
||||||
degree = 90;
|
|
||||||
}
|
|
||||||
else if ( ( degree < 0 && degree > -180 ) || ( degree > 90 && degree < 180 ) )
|
|
||||||
{
|
|
||||||
degree = 180;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,252 +0,0 @@
|
|||||||
#include "XplicitNgine/XplicitNgine.h"
|
|
||||||
#include "Globals.h"
|
|
||||||
|
|
||||||
//#define SIDE (0.5f)
|
|
||||||
//#define MASS (1.0)
|
|
||||||
|
|
||||||
// constraints
|
|
||||||
//#define MAX_BODIES 65535
|
|
||||||
//#define OBJ_DENSITY (5.0)
|
|
||||||
//#define MAX_CONTACT_PER_BODY 4
|
|
||||||
|
|
||||||
XplicitNgine::XplicitNgine()
|
|
||||||
{
|
|
||||||
|
|
||||||
physWorld = dWorldCreate();
|
|
||||||
physSpace = dHashSpaceCreate(0);
|
|
||||||
contactgroup = dJointGroupCreate(0);
|
|
||||||
|
|
||||||
dWorldSetGravity(physWorld, 0, -9.8F, 0);
|
|
||||||
dWorldSetAutoDisableFlag(physWorld, 1);
|
|
||||||
dWorldSetAutoDisableLinearThreshold(physWorld, 0.5F);
|
|
||||||
dWorldSetAutoDisableAngularThreshold(physWorld, 0.5F);
|
|
||||||
dWorldSetAutoDisableSteps(physWorld, 20);
|
|
||||||
|
|
||||||
this->name = "PhysicsService";
|
|
||||||
//dGeomID ground_geom = dCreatePlane(physSpace, 0, 1, 0, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
XplicitNgine::~XplicitNgine()
|
|
||||||
{
|
|
||||||
dJointGroupDestroy (contactgroup);
|
|
||||||
dSpaceDestroy (physSpace);
|
|
||||||
dWorldDestroy (physWorld);
|
|
||||||
dCloseODE();
|
|
||||||
}
|
|
||||||
|
|
||||||
void XplicitNgine::resetBody(PartInstance* partInstance)
|
|
||||||
{
|
|
||||||
deleteBody(partInstance);
|
|
||||||
createBody(partInstance);
|
|
||||||
}
|
|
||||||
|
|
||||||
void collisionCallback(void *data, dGeomID o1, dGeomID o2)
|
|
||||||
{
|
|
||||||
int i,n;
|
|
||||||
|
|
||||||
dBodyID b1 = dGeomGetBody(o1);
|
|
||||||
dBodyID b2 = dGeomGetBody(o2);
|
|
||||||
|
|
||||||
if (b1 && b2 && dAreConnected(b1, b2))
|
|
||||||
return;
|
|
||||||
|
|
||||||
const int N = 4;
|
|
||||||
dContact contact[N];
|
|
||||||
n = dCollide (o1,o2,N,&contact[0].geom,sizeof(dContact));
|
|
||||||
if (n > 0) {
|
|
||||||
for (i=0; i<n; i++) {
|
|
||||||
contact[i].surface.mode = dContactBounce | dContactSlip1 | dContactSlip2 | dContactSoftERP | dContactSoftCFM | dContactApprox1;
|
|
||||||
|
|
||||||
// Define contact surface properties
|
|
||||||
|
|
||||||
contact[i].surface.bounce = 0.5; //Elasticity
|
|
||||||
contact[i].surface.mu = 0.4F; //Friction
|
|
||||||
contact[i].surface.slip1 = 0.0;
|
|
||||||
contact[i].surface.slip2 = 0.0;
|
|
||||||
contact[i].surface.soft_erp = 0.8F;
|
|
||||||
contact[i].surface.soft_cfm = 0.01F;
|
|
||||||
|
|
||||||
// Create joints
|
|
||||||
dJointID c = dJointCreateContact(
|
|
||||||
g_xplicitNgine->physWorld,
|
|
||||||
g_xplicitNgine->contactgroup,
|
|
||||||
contact+i
|
|
||||||
);
|
|
||||||
|
|
||||||
dJointAttach (c,b1,b2);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void XplicitNgine::deleteBody(PartInstance* partInstance)
|
|
||||||
{
|
|
||||||
if(partInstance->physBody != NULL)
|
|
||||||
{
|
|
||||||
dBodyEnable(partInstance->physBody);
|
|
||||||
dGeomEnable(partInstance->physGeom[0]);
|
|
||||||
if(partInstance->isAnchored() || partInstance->isDragging())
|
|
||||||
{
|
|
||||||
dGeomSetBody(partInstance->physGeom[0], partInstance->physBody);
|
|
||||||
dGeomEnable(partInstance->physGeom[0]);
|
|
||||||
updateBody(partInstance);
|
|
||||||
step(0.03F);
|
|
||||||
}
|
|
||||||
|
|
||||||
for(int i = 0; i < dBodyGetNumJoints(partInstance->physBody); i++) {
|
|
||||||
dBodyID b1 = dJointGetBody(dBodyGetJoint(partInstance->physBody, i), 0);
|
|
||||||
dBodyID b2 = dJointGetBody(dBodyGetJoint(partInstance->physBody, i), 1);
|
|
||||||
|
|
||||||
if(b1 != NULL)
|
|
||||||
{
|
|
||||||
dBodyEnable(b1);
|
|
||||||
PartInstance * part = (PartInstance *)dBodyGetData(b1);
|
|
||||||
if(part != NULL)
|
|
||||||
dGeomEnable(part->physGeom[0]);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(b2 != NULL)
|
|
||||||
{
|
|
||||||
dBodyEnable(b2);
|
|
||||||
PartInstance * part = (PartInstance *)dBodyGetData(b2);
|
|
||||||
if(part != NULL)
|
|
||||||
dGeomEnable(part->physGeom[0]);
|
|
||||||
}
|
|
||||||
dJointDestroy(dBodyGetJoint(partInstance->physBody, i));
|
|
||||||
}
|
|
||||||
dBodyDestroy(partInstance->physBody);
|
|
||||||
dGeomDestroy(partInstance->physGeom[0]);
|
|
||||||
partInstance->physBody = NULL;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void XplicitNgine::createBody(PartInstance* partInstance)
|
|
||||||
{
|
|
||||||
// calculate collisions
|
|
||||||
//dSpaceCollide (physSpace,0,&collisionCallback);
|
|
||||||
|
|
||||||
if(partInstance->physBody == NULL)
|
|
||||||
{
|
|
||||||
|
|
||||||
Vector3 partSize = partInstance->getSize();
|
|
||||||
Vector3 partPosition = partInstance->getPosition();
|
|
||||||
Vector3 velocity = partInstance->getVelocity();
|
|
||||||
Vector3 rotVelocity = partInstance->getRotVelocity();
|
|
||||||
// init body
|
|
||||||
partInstance->physBody = dBodyCreate(physWorld);
|
|
||||||
dBodySetData(partInstance->physBody, partInstance);
|
|
||||||
|
|
||||||
// Create geom
|
|
||||||
if(partInstance->shape == Enum::Shape::Block)
|
|
||||||
{
|
|
||||||
partInstance->physGeom[0] = dCreateBox(physSpace,
|
|
||||||
partSize.x,
|
|
||||||
partSize.y,
|
|
||||||
partSize.z
|
|
||||||
);
|
|
||||||
|
|
||||||
dVector3 result;
|
|
||||||
dGeomBoxGetLengths(partInstance->physGeom[0], result);
|
|
||||||
//printf("[XplicitNgine] Part Geom Size: %.1f, %.1f, %.1f\n",
|
|
||||||
// result[0],
|
|
||||||
// result[1],
|
|
||||||
// result[2]
|
|
||||||
//);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
partInstance->physGeom[0] = dCreateSphere(physSpace, partSize[0]/2);
|
|
||||||
}
|
|
||||||
|
|
||||||
dMass mass;
|
|
||||||
mass.setBox(sqrt(partSize.x*2), sqrt(partSize.y*2), sqrt(partSize.z*2), 0.7F);
|
|
||||||
dBodySetMass(partInstance->physBody, &mass);
|
|
||||||
|
|
||||||
// Debug output
|
|
||||||
|
|
||||||
|
|
||||||
// Create rigid body
|
|
||||||
//printf("[XplicitNgine] Created Geom for PartInstance\n");
|
|
||||||
dBodySetPosition(partInstance->physBody,
|
|
||||||
partPosition.x,
|
|
||||||
partPosition.y,
|
|
||||||
partPosition.z
|
|
||||||
);
|
|
||||||
|
|
||||||
dGeomSetPosition(partInstance->physGeom[0],
|
|
||||||
partPosition.x,
|
|
||||||
partPosition.y,
|
|
||||||
partPosition.z);
|
|
||||||
|
|
||||||
dBodySetLinearVel(partInstance->physBody, velocity.x, velocity.y, velocity.z);
|
|
||||||
dBodySetAngularVel(partInstance->physBody, rotVelocity.x, rotVelocity.y, rotVelocity.z);
|
|
||||||
|
|
||||||
Matrix3 g3dRot = partInstance->getCFrame().rotation;
|
|
||||||
float rotation [12] = { g3dRot[0][0], g3dRot[0][1], g3dRot[0][2], 0,
|
|
||||||
g3dRot[1][0], g3dRot[1][1], g3dRot[1][2], 0,
|
|
||||||
g3dRot[2][0], g3dRot[2][1], g3dRot[2][2], 0};
|
|
||||||
dGeomSetRotation(partInstance->physGeom[0], rotation);
|
|
||||||
dBodySetRotation(partInstance->physBody, rotation);
|
|
||||||
|
|
||||||
//printf("[XplicitNgine] Created Body for PartInstance\n");
|
|
||||||
|
|
||||||
if(!partInstance->isAnchored() && !partInstance->isDragging())
|
|
||||||
dGeomSetBody(partInstance->physGeom[0], partInstance->physBody);
|
|
||||||
|
|
||||||
} else {
|
|
||||||
if(!partInstance->isAnchored() && !partInstance->isDragging())
|
|
||||||
{
|
|
||||||
const dReal* velocity = dBodyGetLinearVel(partInstance->physBody);
|
|
||||||
const dReal* rotVelocity = dBodyGetAngularVel(partInstance->physBody);
|
|
||||||
|
|
||||||
partInstance->setVelocity(Vector3(velocity[0],velocity[1],velocity[2]));
|
|
||||||
partInstance->setRotVelocity(Vector3(rotVelocity[0],rotVelocity[1],rotVelocity[2]));
|
|
||||||
|
|
||||||
const dReal* physPosition = dBodyGetPosition(partInstance->physBody);
|
|
||||||
|
|
||||||
// TODO: Rotation code
|
|
||||||
// Probably should be done AFTER we get physics KINDA working!!!
|
|
||||||
const dReal* physRotation = dGeomGetRotation(partInstance->physGeom[0]);
|
|
||||||
//partInstance->setPosition(Vector3(physPosition[0], physPosition[1], physPosition[2]));
|
|
||||||
partInstance->setCFrameNoSync(CoordinateFrame(
|
|
||||||
Matrix3(physRotation[0],physRotation[1],physRotation[2],
|
|
||||||
physRotation[4],physRotation[5],physRotation[6],
|
|
||||||
physRotation[8],physRotation[9],physRotation[10]),
|
|
||||||
Vector3(physPosition[0], physPosition[1], physPosition[2])));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//STEP SHOULD NOT BE HERE!
|
|
||||||
//dWorldQuickStep(physWorld, stepSize);
|
|
||||||
//dJointGroupEmpty(contactgroup);
|
|
||||||
}
|
|
||||||
|
|
||||||
void XplicitNgine::step(float stepSize)
|
|
||||||
{
|
|
||||||
dJointGroupEmpty(contactgroup);
|
|
||||||
dSpaceCollide (physSpace,0,&collisionCallback);
|
|
||||||
dWorldQuickStep(physWorld, stepSize);
|
|
||||||
//dWorldStepFast1(physWorld, stepSize*2, 100);
|
|
||||||
//dWorldStep(physWorld, stepSize);
|
|
||||||
}
|
|
||||||
|
|
||||||
void XplicitNgine::updateBody(PartInstance *partInstance)
|
|
||||||
{
|
|
||||||
if(partInstance->physBody != NULL)
|
|
||||||
{
|
|
||||||
Vector3 position = partInstance->getCFrame().translation;
|
|
||||||
|
|
||||||
dBodySetPosition(partInstance->physBody,
|
|
||||||
position[0],
|
|
||||||
position[1],
|
|
||||||
position[2]
|
|
||||||
);
|
|
||||||
dBodyEnable(partInstance->physBody);
|
|
||||||
dGeomEnable(partInstance->physGeom[0]);
|
|
||||||
|
|
||||||
Matrix3 g3dRot = partInstance->getCFrame().rotation;
|
|
||||||
float rotation [12] = { g3dRot[0][0], g3dRot[0][1], g3dRot[0][2], 0,
|
|
||||||
g3dRot[1][0], g3dRot[1][1], g3dRot[1][2], 0,
|
|
||||||
g3dRot[2][0], g3dRot[2][1], g3dRot[2][2], 0};
|
|
||||||
|
|
||||||
dBodySetRotation(partInstance->physBody, rotation);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,10 +1,6 @@
|
|||||||
// TODO: Move toolbar buttons with resized window.
|
// TODO: Move toolbar buttons with resized window.
|
||||||
#define _WIN32_WINNT 0x0400
|
#include "winver.h"
|
||||||
#define _WIN32_WINDOWS 0x0400
|
#include "../../resource.h"
|
||||||
#define WINVER 0x0400
|
|
||||||
#define _CRTBLD
|
|
||||||
|
|
||||||
#include "resource.h"
|
|
||||||
#include "Application.h"
|
#include "Application.h"
|
||||||
#include "WindowFunctions.h"
|
#include "WindowFunctions.h"
|
||||||
#include "ax.h"
|
#include "ax.h"
|
||||||
@@ -148,7 +144,10 @@ LRESULT CALLBACK G3DProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
|||||||
|
|
||||||
|
|
||||||
int main(int argc, char** argv) {
|
int main(int argc, char** argv) {
|
||||||
#ifndef _DEBUG
|
|
||||||
|
long double a = 1;
|
||||||
|
|
||||||
|
#ifndef IGNORE_CATCH
|
||||||
try{
|
try{
|
||||||
#endif
|
#endif
|
||||||
hresult = OleInitialize(NULL);
|
hresult = OleInitialize(NULL);
|
||||||
@@ -175,7 +174,7 @@ int main(int argc, char** argv) {
|
|||||||
|
|
||||||
icc.dwSize = sizeof(icc);
|
icc.dwSize = sizeof(icc);
|
||||||
icc.dwICC = ICC_WIN95_CLASSES/*|ICC_COOL_CLASSES|ICC_DATE_CLASSES|
|
icc.dwICC = ICC_WIN95_CLASSES/*|ICC_COOL_CLASSES|ICC_DATE_CLASSES|
|
||||||
ICC_PAGESCROLLER_CLASS|ICC_USEREX_CLASSES*/;
|
// ICC_PAGESCROLLER_CLASS|ICC_USEREX_CLASSES*/;
|
||||||
InitCommonControlsEx(&icc);
|
InitCommonControlsEx(&icc);
|
||||||
|
|
||||||
AudioPlayer::init();
|
AudioPlayer::init();
|
||||||
@@ -216,12 +215,12 @@ int main(int argc, char** argv) {
|
|||||||
Globals::mainHwnd = hwndMain;
|
Globals::mainHwnd = hwndMain;
|
||||||
Application app = Application(hwndMain);
|
Application app = Application(hwndMain);
|
||||||
app.run();
|
app.run();
|
||||||
#ifndef _DEBUG
|
#ifndef IGNORE_CATCH
|
||||||
}
|
}
|
||||||
catch(...)
|
catch(...)
|
||||||
{
|
{
|
||||||
OnError(-1);
|
OnError(-1);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,13 +31,12 @@
|
|||||||
|
|
||||||
//DWM 1.9: Suppress POCC Warning "Argument x to 'sscanf' does not match the format string;
|
//DWM 1.9: Suppress POCC Warning "Argument x to 'sscanf' does not match the format string;
|
||||||
// expected 'unsigned char *' but found 'unsigned long'"
|
// expected 'unsigned char *' but found 'unsigned long'"
|
||||||
|
#include "winver.h"
|
||||||
|
|
||||||
#ifdef __POCC__
|
#ifdef __POCC__
|
||||||
#pragma warn(disable:2234)
|
#pragma warn(disable:2234)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef _WIN32_WINNT // Necessary for WM_MOUSEWHEEL support
|
|
||||||
#define _WIN32_WINNT 0x0400
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// MSVC++ Support
|
// MSVC++ Support
|
||||||
#ifndef _CRT_SECURE_NO_WARNINGS
|
#ifndef _CRT_SECURE_NO_WARNINGS
|
||||||
@@ -3917,7 +3916,7 @@ static BOOL Grid_OnGetSel(INT iItem)
|
|||||||
static VOID Grid_OnResetContent(VOID)
|
static VOID Grid_OnResetContent(VOID)
|
||||||
{
|
{
|
||||||
ListBox_ResetContent(g_lpInst->hwndListMap);
|
ListBox_ResetContent(g_lpInst->hwndListMap);
|
||||||
g_lpInst->lpCurrent = NULL;
|
|
||||||
if (NULL != g_lpInst->hwndCtl1)
|
if (NULL != g_lpInst->hwndCtl1)
|
||||||
{
|
{
|
||||||
DestroyWindow(g_lpInst->hwndCtl1);
|
DestroyWindow(g_lpInst->hwndCtl1);
|
||||||
|
|||||||
Reference in New Issue
Block a user