Merge pull request #100 from Vulpovile/release/0.0.107.0
Release 0.0.107.0
This commit is contained in:
@@ -1,11 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
||||||
<assemblyIdentity
|
|
||||||
version="0.0.106.2"
|
|
||||||
processorArchitecture="*"
|
|
||||||
name="Blocks3D.Blocks3D.Blocks3D"
|
|
||||||
type="win32"
|
|
||||||
/>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<dependentAssembly>
|
<dependentAssembly>
|
||||||
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/>
|
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/>
|
||||||
|
|||||||
+13
-3
@@ -49,7 +49,11 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="2"
|
Optimization="2"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="2"
|
||||||
|
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"
|
||||||
@@ -75,12 +79,17 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalDependencies="Advapi32.lib Comctl32.lib Comdlg32.lib Shell32.lib ode.lib OPCODE.lib Ole32.lib"
|
AdditionalDependencies="Advapi32.lib Comctl32.lib Comdlg32.lib Shell32.lib ode.lib Ole32.lib"
|
||||||
OutputFile="./Blocks3D.exe"
|
OutputFile="./Blocks3D.exe"
|
||||||
LinkIncremental="1"
|
LinkIncremental="1"
|
||||||
SuppressStartupBanner="true"
|
SuppressStartupBanner="true"
|
||||||
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
|
||||||
@@ -172,13 +181,14 @@
|
|||||||
/>
|
/>
|
||||||
<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 ode.lib OPCODE.lib"
|
AdditionalDependencies="Advapi32.lib UxTheme.lib Comctl32.lib Comdlg32.lib Shell32.lib Urlmon.lib ole32.lib oleaut32.lib uuid.lib oded.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
|
||||||
|
|||||||
+1
-11
@@ -6,17 +6,7 @@
|
|||||||
#include <commctrl.h>
|
#include <commctrl.h>
|
||||||
#include <richedit.h>
|
#include <richedit.h>
|
||||||
#include "src/include/resource.h"
|
#include "src/include/resource.h"
|
||||||
|
#include "src/include/versioning.h"
|
||||||
#define APP_GENER 0
|
|
||||||
#define APP_MAJOR 0
|
|
||||||
#define APP_MINOR 106
|
|
||||||
#define APP_PATCH 4
|
|
||||||
#define APP_VER_STRING APP_GENER.APP_MAJOR.APP_MINOR.APP_PATCH
|
|
||||||
|
|
||||||
#define VER_PREFIX( N ) v##N
|
|
||||||
#define HSTR( N ) #N
|
|
||||||
#define STR( N ) HSTR( N )
|
|
||||||
#define VER_STR( N ) STR( VER_PREFIX( N ) )
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
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
@@ -0,0 +1,588 @@
|
|||||||
|
<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
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
@@ -0,0 +1,578 @@
|
|||||||
|
<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
@@ -0,0 +1,660 @@
|
|||||||
|
<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>
|
||||||
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -7,10 +7,19 @@ 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);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -20,4 +20,16 @@ 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
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -13,6 +13,7 @@ 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;
|
||||||
@@ -20,4 +21,5 @@ private:
|
|||||||
int mouseDownStarty;
|
int mouseDownStarty;
|
||||||
bool dragging;
|
bool dragging;
|
||||||
bool mouseDown;
|
bool mouseDown;
|
||||||
|
Vector3 draggingPartOffset;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -15,5 +15,5 @@ public:
|
|||||||
void step(float stepSize);
|
void step(float stepSize);
|
||||||
void createBody(PartInstance* partInstance);
|
void createBody(PartInstance* partInstance);
|
||||||
void deleteBody(PartInstance* partInstance);
|
void deleteBody(PartInstance* partInstance);
|
||||||
void updateBody(PartInstance* partInstance, CoordinateFrame * cFrame);
|
void updateBody(PartInstance* partInstance);
|
||||||
};
|
};
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
#ifndef APP_GENER
|
||||||
|
|
||||||
|
//#define SNAPSHOT_VERSION
|
||||||
|
|
||||||
|
#define APP_GENER 0
|
||||||
|
#define APP_MAJOR 0
|
||||||
|
#define APP_MINOR 107
|
||||||
|
#define APP_PATCH 0
|
||||||
|
#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
|
||||||
@@ -323,6 +323,9 @@ void Application::onSimulation(RealTime rdt, SimTime sdt, SimTime idt) {
|
|||||||
|
|
||||||
if(_dataModel->isRunning())
|
if(_dataModel->isRunning())
|
||||||
{
|
{
|
||||||
|
LevelInstance* Level = _dataModel->getLevel();
|
||||||
|
Level->Step(sdt);
|
||||||
|
|
||||||
// XplicitNgine Start
|
// XplicitNgine Start
|
||||||
std::vector<PartInstance *> toDelete;
|
std::vector<PartInstance *> toDelete;
|
||||||
for(size_t i = 0; i < _dataModel->getWorkspace()->partObjects.size(); i++)
|
for(size_t i = 0; i < _dataModel->getWorkspace()->partObjects.size(); i++)
|
||||||
@@ -339,13 +342,14 @@ void Application::onSimulation(RealTime rdt, SimTime sdt, SimTime idt) {
|
|||||||
{
|
{
|
||||||
PartInstance * p = toDelete.back();
|
PartInstance * p = toDelete.back();
|
||||||
toDelete.pop_back();
|
toDelete.pop_back();
|
||||||
|
if(g_dataModel->getSelectionService()->isSelected(p))
|
||||||
g_dataModel->getSelectionService()->removeSelected(p);
|
g_dataModel->getSelectionService()->removeSelected(p);
|
||||||
p->setParent(NULL);
|
p->setParent(NULL);
|
||||||
delete p;
|
delete p;
|
||||||
}
|
}
|
||||||
for(int i = 0; i < 6; i++)
|
for(int i = 0; i < 4; i++)
|
||||||
{
|
{
|
||||||
_dataModel->getEngine()->step(0.1F);
|
_dataModel->getEngine()->step(0.03F);
|
||||||
}
|
}
|
||||||
onLogic();
|
onLogic();
|
||||||
|
|
||||||
@@ -565,12 +569,12 @@ 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.6F, 0.9F, 1.0F };
|
//float lightAmbient[] = { 0.5F, 0.5F, 0.5F, 1.0F };
|
||||||
//float lightDiffuse[] = { 0.6F, 0.4F, 0.9F, 1.0F };
|
//float lightDiffuse[] = { 0.6F, 0.6F, 0.6F, 1.0F };
|
||||||
//float lightSpecular[] = { 0.8F, 0.6F, 1.0F, 1.0F };
|
//float lightSpecular[] = { 0.8F, 0.8F, 0.8F, 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);
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
#include "DataModelV2/DataModelInstance.h"
|
||||||
#include "DataModelV2/LevelInstance.h"
|
#include "DataModelV2/LevelInstance.h"
|
||||||
|
|
||||||
LevelInstance::LevelInstance(void)
|
LevelInstance::LevelInstance(void)
|
||||||
@@ -16,6 +17,61 @@ 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()
|
||||||
@@ -29,12 +85,28 @@ 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);
|
||||||
@@ -43,11 +115,28 @@ std::vector<PROPGRIDITEM> LevelInstance::getProperties()
|
|||||||
"The amount of time in seconds the player has to complete this level.\r\n\r\nPut 0 if time is limitless.",
|
"The amount of time in seconds the player has to complete this level.\r\n\r\nPut 0 if time is limitless.",
|
||||||
(LPARAM)timerTxt,
|
(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 amount 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)
|
||||||
@@ -68,6 +157,87 @@ 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -116,8 +116,11 @@ 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);
|
g_dataModel->getEngine()->deleteBody(this);
|
||||||
|
}
|
||||||
Instance * cparent = getParent();
|
Instance * cparent = getParent();
|
||||||
while(cparent != NULL)
|
while(cparent != NULL)
|
||||||
{
|
{
|
||||||
@@ -202,9 +205,12 @@ void PartInstance::setSize(Vector3 newSize)
|
|||||||
|
|
||||||
size = Vector3(sizex, sizey, sizez);
|
size = Vector3(sizex, sizey, sizez);
|
||||||
|
|
||||||
|
if(this->physBody != NULL)
|
||||||
|
{
|
||||||
g_dataModel->getEngine()->deleteBody(this);
|
g_dataModel->getEngine()->deleteBody(this);
|
||||||
g_dataModel->getEngine()->createBody(this);
|
g_dataModel->getEngine()->createBody(this);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
Vector3 PartInstance::getSize()
|
Vector3 PartInstance::getSize()
|
||||||
{
|
{
|
||||||
return size;
|
return size;
|
||||||
@@ -224,8 +230,11 @@ 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()->deleteBody(this);
|
g_dataModel->getEngine()->deleteBody(this);
|
||||||
g_dataModel->getEngine()->createBody(this);
|
g_dataModel->getEngine()->createBody(this);
|
||||||
|
}
|
||||||
changed = true;
|
changed = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -233,14 +242,23 @@ void PartInstance::setPosition(Vector3 pos)
|
|||||||
{
|
{
|
||||||
position = pos;
|
position = pos;
|
||||||
setCFrame(CoordinateFrame(cFrame.rotation, pos));
|
setCFrame(CoordinateFrame(cFrame.rotation, pos));
|
||||||
|
|
||||||
|
if (anchored)
|
||||||
|
{
|
||||||
|
g_dataModel->getEngine()->deleteBody(this);
|
||||||
|
g_dataModel->getEngine()->createBody(this);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void PartInstance::setAnchored(bool anchored)
|
void PartInstance::setAnchored(bool anchored)
|
||||||
{
|
{
|
||||||
this->anchored = anchored;
|
this->anchored = anchored;
|
||||||
|
if(this->physBody != NULL)
|
||||||
|
{
|
||||||
g_dataModel->getEngine()->deleteBody(this);
|
g_dataModel->getEngine()->deleteBody(this);
|
||||||
g_dataModel->getEngine()->createBody(this);
|
g_dataModel->getEngine()->createBody(this);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool PartInstance::isAnchored()
|
bool PartInstance::isAnchored()
|
||||||
{
|
{
|
||||||
@@ -254,15 +272,14 @@ CoordinateFrame PartInstance::getCFrame()
|
|||||||
}
|
}
|
||||||
void PartInstance::setCFrame(CoordinateFrame coordinateFrame)
|
void PartInstance::setCFrame(CoordinateFrame coordinateFrame)
|
||||||
{
|
{
|
||||||
g_dataModel->getEngine()->updateBody(this, &coordinateFrame);
|
|
||||||
setCFrameNoSync(coordinateFrame);
|
setCFrameNoSync(coordinateFrame);
|
||||||
|
g_dataModel->getEngine()->updateBody(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PartInstance::setCFrameNoSync(CoordinateFrame coordinateFrame)
|
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)
|
||||||
|
|||||||
@@ -25,7 +25,13 @@ void ArrowTool::onButton1MouseDown(Mouse mouse)
|
|||||||
g_dataModel->getSelectionService()->clearSelection();
|
g_dataModel->getSelectionService()->clearSelection();
|
||||||
PartInstance * target = mouse.getTarget();
|
PartInstance * target = mouse.getTarget();
|
||||||
if(target != NULL)
|
if(target != NULL)
|
||||||
|
{
|
||||||
|
Vector3 mousePos = mouse.getPosition(g_dataModel->getSelectionService()->getSelection());
|
||||||
|
Vector3 targetPos = target->getPosition();
|
||||||
|
|
||||||
g_dataModel->getSelectionService()->addSelected(target);
|
g_dataModel->getSelectionService()->addSelected(target);
|
||||||
|
draggingPartOffset = targetPos-mousePos;
|
||||||
|
}
|
||||||
if(g_dataModel->getSelectionService()->getSelection().size() == 0)
|
if(g_dataModel->getSelectionService()->getSelection().size() == 0)
|
||||||
g_dataModel->getSelectionService()->addSelected(g_dataModel);
|
g_dataModel->getSelectionService()->addSelected(g_dataModel);
|
||||||
}
|
}
|
||||||
@@ -51,7 +57,40 @@ void ArrowTool::onMouseMoved(Mouse mouse)
|
|||||||
{
|
{
|
||||||
if(PartInstance * part = dynamic_cast<PartInstance *>(g_dataModel->getSelectionService()->getSelection()[i]))
|
if(PartInstance * part = dynamic_cast<PartInstance *>(g_dataModel->getSelectionService()->getSelection()[i]))
|
||||||
{
|
{
|
||||||
part->setPosition(mouse.getPosition(g_dataModel->getSelectionService()->getSelection()));
|
Vector3 mousePos = mouse.getPosition(g_dataModel->getSelectionService()->getSelection());
|
||||||
|
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->setPosition(vec);
|
||||||
|
part->setCFrame(CoordinateFrame(rot, vec));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
@@ -76,3 +115,19 @@ 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,21 +1,26 @@
|
|||||||
#include "XplicitNgine/XplicitNgine.h"
|
#include "XplicitNgine/XplicitNgine.h"
|
||||||
#include "Globals.h"
|
#include "Globals.h"
|
||||||
|
|
||||||
#define SIDE (0.5f)
|
//#define SIDE (0.5f)
|
||||||
#define MASS (1.0)
|
//#define MASS (1.0)
|
||||||
|
|
||||||
// constraints
|
// constraints
|
||||||
#define MAX_BODIES 65535
|
//#define MAX_BODIES 65535
|
||||||
#define OBJ_DENSITY (5.0)
|
//#define OBJ_DENSITY (5.0)
|
||||||
#define MAX_CONTACT_PER_BODY 4
|
//#define MAX_CONTACT_PER_BODY 4
|
||||||
|
|
||||||
XplicitNgine::XplicitNgine()
|
XplicitNgine::XplicitNgine()
|
||||||
{
|
{
|
||||||
|
|
||||||
physWorld = dWorldCreate();
|
physWorld = dWorldCreate();
|
||||||
physSpace = dHashSpaceCreate(0);
|
physSpace = dHashSpaceCreate(0);
|
||||||
contactgroup = dJointGroupCreate(0);
|
contactgroup = dJointGroupCreate(0);
|
||||||
|
|
||||||
dWorldSetGravity(physWorld, 0, -0.5, 0);
|
dWorldSetGravity(physWorld, 0, -9.8F, 0);
|
||||||
|
dWorldSetAutoDisableFlag(physWorld, 1);
|
||||||
|
dWorldSetAutoDisableLinearThreshold(physWorld, 0.5F);
|
||||||
|
dWorldSetAutoDisableAngularThreshold(physWorld, 0.5F);
|
||||||
|
dWorldSetAutoDisableSteps(physWorld, 20);
|
||||||
|
|
||||||
this->name = "PhysicsService";
|
this->name = "PhysicsService";
|
||||||
//dGeomID ground_geom = dCreatePlane(physSpace, 0, 1, 0, 0);
|
//dGeomID ground_geom = dCreatePlane(physSpace, 0, 1, 0, 0);
|
||||||
@@ -35,6 +40,7 @@ void collisionCallback(void *data, dGeomID o1, dGeomID o2)
|
|||||||
|
|
||||||
dBodyID b1 = dGeomGetBody(o1);
|
dBodyID b1 = dGeomGetBody(o1);
|
||||||
dBodyID b2 = dGeomGetBody(o2);
|
dBodyID b2 = dGeomGetBody(o2);
|
||||||
|
|
||||||
if (b1 && b2 && dAreConnected(b1, b2))
|
if (b1 && b2 && dAreConnected(b1, b2))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -48,7 +54,7 @@ void collisionCallback(void *data, dGeomID o1, dGeomID o2)
|
|||||||
// Define contact surface properties
|
// Define contact surface properties
|
||||||
|
|
||||||
contact[i].surface.bounce = 0.5; //Elasticity
|
contact[i].surface.bounce = 0.5; //Elasticity
|
||||||
contact[i].surface.mu = 0.3F; //Friction
|
contact[i].surface.mu = 0.4F; //Friction
|
||||||
contact[i].surface.slip1 = 0.0;
|
contact[i].surface.slip1 = 0.0;
|
||||||
contact[i].surface.slip2 = 0.0;
|
contact[i].surface.slip2 = 0.0;
|
||||||
contact[i].surface.soft_erp = 0.8F;
|
contact[i].surface.soft_erp = 0.8F;
|
||||||
@@ -70,8 +76,36 @@ void XplicitNgine::deleteBody(PartInstance* partInstance)
|
|||||||
{
|
{
|
||||||
if(partInstance->physBody != NULL)
|
if(partInstance->physBody != NULL)
|
||||||
{
|
{
|
||||||
while(dBodyGetNumJoints(partInstance->physBody) > 0) {
|
dBodyEnable(partInstance->physBody);
|
||||||
dJointDestroy(dBodyGetJoint(partInstance->physBody, 0));
|
dGeomEnable(partInstance->physGeom[0]);
|
||||||
|
if(partInstance->isAnchored())
|
||||||
|
{
|
||||||
|
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);
|
dBodyDestroy(partInstance->physBody);
|
||||||
dGeomDestroy(partInstance->physGeom[0]);
|
dGeomDestroy(partInstance->physGeom[0]);
|
||||||
@@ -84,12 +118,16 @@ void XplicitNgine::createBody(PartInstance* partInstance)
|
|||||||
// calculate collisions
|
// calculate collisions
|
||||||
//dSpaceCollide (physSpace,0,&collisionCallback);
|
//dSpaceCollide (physSpace,0,&collisionCallback);
|
||||||
|
|
||||||
Vector3 partSize = partInstance->getSize();
|
|
||||||
Vector3 partPosition = partInstance->getPosition();
|
|
||||||
if(partInstance->physBody == NULL)
|
if(partInstance->physBody == NULL)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
Vector3 partSize = partInstance->getSize();
|
||||||
|
Vector3 partPosition = partInstance->getPosition();
|
||||||
|
Vector3 velocity = partInstance->getVelocity();
|
||||||
|
Vector3 rotVelocity = partInstance->getRotVelocity();
|
||||||
// init body
|
// init body
|
||||||
partInstance->physBody = dBodyCreate(physWorld);
|
partInstance->physBody = dBodyCreate(physWorld);
|
||||||
|
dBodySetData(partInstance->physBody, partInstance);
|
||||||
|
|
||||||
// Create geom
|
// Create geom
|
||||||
if(partInstance->shape == Enum::Shape::Block)
|
if(partInstance->shape == Enum::Shape::Block)
|
||||||
@@ -114,7 +152,7 @@ void XplicitNgine::createBody(PartInstance* partInstance)
|
|||||||
}
|
}
|
||||||
|
|
||||||
dMass mass;
|
dMass mass;
|
||||||
mass.setBox(partSize.x, partSize.y, partSize.z, 0.7F);
|
mass.setBox(sqrt(partSize.x*2), sqrt(partSize.y*2), sqrt(partSize.z*2), 0.7F);
|
||||||
dBodySetMass(partInstance->physBody, &mass);
|
dBodySetMass(partInstance->physBody, &mass);
|
||||||
|
|
||||||
// Debug output
|
// Debug output
|
||||||
@@ -133,11 +171,13 @@ void XplicitNgine::createBody(PartInstance* partInstance)
|
|||||||
partPosition.y,
|
partPosition.y,
|
||||||
partPosition.z);
|
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;
|
Matrix3 g3dRot = partInstance->getCFrame().rotation;
|
||||||
float rotation [12] = { g3dRot[0][0], g3dRot[0][1], g3dRot[0][2], 0,
|
float rotation [12] = { g3dRot[0][0], g3dRot[0][1], g3dRot[0][2], 0,
|
||||||
g3dRot[1][0], g3dRot[1][1], g3dRot[1][2], 0,
|
g3dRot[1][0], g3dRot[1][1], g3dRot[1][2], 0,
|
||||||
g3dRot[2][0], g3dRot[2][1], g3dRot[2][2], 0};
|
g3dRot[2][0], g3dRot[2][1], g3dRot[2][2], 0};
|
||||||
|
|
||||||
dGeomSetRotation(partInstance->physGeom[0], rotation);
|
dGeomSetRotation(partInstance->physGeom[0], rotation);
|
||||||
dBodySetRotation(partInstance->physBody, rotation);
|
dBodySetRotation(partInstance->physBody, rotation);
|
||||||
|
|
||||||
@@ -149,6 +189,12 @@ void XplicitNgine::createBody(PartInstance* partInstance)
|
|||||||
} else {
|
} else {
|
||||||
if(!partInstance->isAnchored())
|
if(!partInstance->isAnchored())
|
||||||
{
|
{
|
||||||
|
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);
|
const dReal* physPosition = dBodyGetPosition(partInstance->physBody);
|
||||||
|
|
||||||
// TODO: Rotation code
|
// TODO: Rotation code
|
||||||
@@ -169,24 +215,28 @@ void XplicitNgine::createBody(PartInstance* partInstance)
|
|||||||
|
|
||||||
void XplicitNgine::step(float stepSize)
|
void XplicitNgine::step(float stepSize)
|
||||||
{
|
{
|
||||||
|
dJointGroupEmpty(contactgroup);
|
||||||
dSpaceCollide (physSpace,0,&collisionCallback);
|
dSpaceCollide (physSpace,0,&collisionCallback);
|
||||||
dWorldQuickStep(physWorld, stepSize);
|
dWorldQuickStep(physWorld, stepSize);
|
||||||
dJointGroupEmpty(contactgroup);
|
//dWorldStepFast1(physWorld, stepSize*2, 100);
|
||||||
|
//dWorldStep(physWorld, stepSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
void XplicitNgine::updateBody(PartInstance *partInstance, CoordinateFrame * cFrame)
|
void XplicitNgine::updateBody(PartInstance *partInstance)
|
||||||
{
|
{
|
||||||
if(partInstance->physBody != NULL)
|
if(partInstance->physBody != NULL)
|
||||||
{
|
{
|
||||||
Vector3 position = cFrame->translation;
|
Vector3 position = partInstance->getCFrame().translation;
|
||||||
|
|
||||||
dBodySetPosition(partInstance->physBody,
|
dBodySetPosition(partInstance->physBody,
|
||||||
position[0],
|
position[0],
|
||||||
position[1],
|
position[1],
|
||||||
position[2]
|
position[2]
|
||||||
);
|
);
|
||||||
|
dBodyEnable(partInstance->physBody);
|
||||||
|
dGeomEnable(partInstance->physGeom[0]);
|
||||||
|
|
||||||
Matrix3 g3dRot = cFrame->rotation;
|
Matrix3 g3dRot = partInstance->getCFrame().rotation;
|
||||||
float rotation [12] = { g3dRot[0][0], g3dRot[0][1], g3dRot[0][2], 0,
|
float rotation [12] = { g3dRot[0][0], g3dRot[0][1], g3dRot[0][2], 0,
|
||||||
g3dRot[1][0], g3dRot[1][1], g3dRot[1][2], 0,
|
g3dRot[1][0], g3dRot[1][1], g3dRot[1][2], 0,
|
||||||
g3dRot[2][0], g3dRot[2][1], g3dRot[2][2], 0};
|
g3dRot[2][0], g3dRot[2][1], g3dRot[2][2], 0};
|
||||||
|
|||||||
Reference in New Issue
Block a user