Compare commits

38 Commits

Author SHA1 Message Date
Vulpovile
e63e87fe29 Fix Syntax
All checks were successful
CSPublic/Blocks3D/pipeline/head This commit looks good
2025-04-13 09:53:35 -07:00
Vulpovile
d03cf2d8b3 Update Jenkinsfile
Some checks failed
CSPublic/Blocks3D/pipeline/head There was a failure building this commit
2025-04-13 09:52:41 -07:00
Vulpovile
a662fcf8fa Add Jenkinsfile
All checks were successful
CSPublic/Blocks3D/pipeline/head This commit looks good
2025-04-13 09:47:06 -07:00
Vulpovile
cd735f6c62 Reimplement button hover, go button 2025-04-08 18:37:43 -07:00
Vulpovile
7c29d7ca9f Fix memory error with reflection 2025-04-08 18:04:48 -07:00
Vulpovile
67f519705d Fix missed files 2025-04-08 10:15:27 -07:00
Vulpovile
a064697561 Fix parent datamodel issues, update callbacks 2025-04-08 08:04:32 -07:00
Vulpovile
d854ddfdd4 Add callbacks, make library locations part of project now 2025-04-07 19:44:51 -07:00
Vulpovile
d06251ce7f Finished signal service 2023-11-16 16:36:05 -08:00
Vulpovile
a222ac2b67 InputService stub 2023-11-12 22:12:23 -08:00
Vulpovile
528ab72e80 Signal service stub 2023-11-12 20:07:23 -08:00
Vulpovile
bb06376719 Create input service 2023-11-09 11:24:08 -08:00
Vulpovile
3928307609 Fixed bugs 2023-11-09 00:44:31 -08:00
Vulpovile
39d91f3943 Minor bugfix, added reflection notify 2023-11-09 00:36:59 -08:00
Vulpovile
11362f0f63 Deleted unused files 2023-11-08 23:47:49 -08:00
Vulpovile
0fb941bf07 It's alive\!\!\!... almost, still crashes on exit lol 2023-11-08 23:47:10 -08:00
Vulpovile
70bace117c The calm before the storm 2023-11-08 21:56:17 -08:00
starfrost013
791f0a7cff remove a bunch of old or useless files e.g. patent cursor 2023-11-08 22:51:04 +00:00
starfrost013
47dfe1ef06 For some reason half the Datamodelv3 files were not in the project, wtf? 2023-11-08 22:43:33 +00:00
Modnark
1e51b22a8a make GUI more accurate to Morgan McGuire screenshots 2023-11-08 15:56:24 -05:00
Modnark
adab8ef35c cleanup guirootinstance
foundations of a "factory" model
2023-11-08 07:33:16 -05:00
Vulpovile
ce808f672f Ported all instances, now the hard part 2023-11-07 17:21:21 -08:00
Vulpovile
944afec7a3 Fixed selection box error 2023-11-06 23:17:47 -08:00
Vulpovile
8726e1e3e3 Enable soundservice in datamodelinstance 2023-11-06 18:44:42 -08:00
Vulpovile
d8a2fe7495 Ported services and sound, now just GUI left 2023-11-06 18:28:57 -08:00
Vulpovile
b58161cf81 Implemented SelectionService 2023-11-05 22:39:06 -08:00
Vulpovile
ebfbade283 Ported workspace instance 2023-11-05 19:34:57 -08:00
Vulpovile
8a1a457f4b Ported GroupInstance 2023-11-05 19:14:06 -08:00
Vulpovile
cab66d1152 Implemented operator overloads for Reflection 2023-11-05 00:37:25 -07:00
Vulpovile
901539e594 Ported part and pvinstance, made XplicitNgine not use globals 2023-11-04 23:01:43 -07:00
Vulpovile
cb8f6f1a80 Address memory leak 2023-11-04 20:29:16 -07:00
Vulpovile
e8eef916b0 Add DMv3 stubs, add reflection warning 2023-11-04 20:15:07 -07:00
Vulpovile
53427dd385 Made impl name clearer 2023-11-04 00:31:00 -07:00
Vulpovile
c0aab09960 Added reflection memory cleanup 2023-11-04 00:28:41 -07:00
Vulpovile
26398f0586 Fixed template 2023-11-03 23:56:59 -07:00
Vulpovile
25d34d28ee Reflection stub 2023-11-03 22:56:09 -07:00
Vulpovile
061fc1e564 Merge pull request #136 from Vulpovile/bugfix/debug_assertion_failure
Added macro to disable VS2003 workaround when not required
2023-11-03 19:41:39 -08:00
Vulpovile
796a47ad38 Added macro to disable VS2003 workaround when not required 2023-11-03 19:57:11 -07:00
149 changed files with 5477 additions and 1032744 deletions

9
.gitignore vendored
View File

@@ -40,7 +40,6 @@
*.ilk
*.dep
*.bin
*.7z
# ResEditor files
*.aps
@@ -51,8 +50,6 @@ stdout.txt
log.txt
*.suo
*.suo
G3DTest.suo
G3DTest.suo
stderr.txt
desktop.ini
*.db
@@ -62,3 +59,9 @@ desktop.ini
UpgradeLog.htm
click_output.JPEG
click_output.PNG
#Level Files
*.b3dl
*.b3dm
*.rbxl
*.rbxm

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 KiB

View File

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

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

File diff suppressed because it is too large Load Diff

View File

@@ -1,105 +1,827 @@
# Microsoft Developer Studio Project File - Name="Blocks3D" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Application" 0x0101
CFG=Blocks3D - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "Blocks3D.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "Blocks3D.mak" CFG="Blocks3D - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "Blocks3D - Win32 Release" (based on "Win32 (x86) Application")
!MESSAGE "Blocks3D - Win32 Debug" (based on "Win32 (x86) Application")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "Blocks3D - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x1009 /d "NDEBUG"
# ADD RSC /l 0x1009 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
!ELSEIF "$(CFG)" == "Blocks3D - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x1009 /d "_DEBUG"
# ADD RSC /l 0x1009 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
!ENDIF
# Begin Target
# Name "Blocks3D - Win32 Release"
# Name "Blocks3D - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=.\main.cpp
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# End Group
# Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# End Group
# End Target
# End Project
# Microsoft Developer Studio Project File - Name="Blocks3D" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Application" 0x0101
CFG=Blocks3D - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "Blocks3D.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "Blocks3D.mak" CFG="Blocks3D - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "Blocks3D - Win32 Release" (based on "Win32 (x86) Application")
!MESSAGE "Blocks3D - Win32 Debug" (based on "Win32 (x86) Application")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "Blocks3D - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
!ELSEIF "$(CFG)" == "Blocks3D - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
!ENDIF
# Begin Target
# Name "Blocks3D - Win32 Release"
# Name "Blocks3D - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Group "DataModelV2"
# PROP Default_Filter ""
# Begin Source File
SOURCE=.\src\source\DataModelV2\BaseButtonInstance.cpp
# End Source File
# Begin Source File
SOURCE=.\src\source\DataModelV2\BaseGuiInstance.cpp
# End Source File
# Begin Source File
SOURCE=.\src\source\DataModelV2\DataModelInstance.cpp
# End Source File
# Begin Source File
SOURCE=.\src\source\DataModelV2\GroupInstance.cpp
# End Source File
# Begin Source File
SOURCE=.\src\source\DataModelV2\GuiRootInstance.cpp
# End Source File
# Begin Source File
SOURCE=.\src\source\DataModelV2\ImageButtonInstance.cpp
# End Source File
# Begin Source File
SOURCE=.\src\source\DataModelV2\Instance.cpp
# End Source File
# Begin Source File
SOURCE=.\src\source\DataModelV2\LevelInstance.cpp
# End Source File
# Begin Source File
SOURCE=.\src\source\DataModelV2\LightingInstance.cpp
# End Source File
# Begin Source File
SOURCE=.\src\source\DataModelV2\PartInstance.cpp
# End Source File
# Begin Source File
SOURCE=.\src\source\DataModelV2\PVInstance.cpp
# End Source File
# Begin Source File
SOURCE=.\src\source\DataModelV2\SelectionService.cpp
# End Source File
# Begin Source File
SOURCE=.\src\source\DataModelV2\SoundInstance.cpp
# End Source File
# Begin Source File
SOURCE=.\src\source\DataModelV2\SoundService.cpp
# End Source File
# Begin Source File
SOURCE=.\src\source\DataModelV2\TextButtonInstance.cpp
# End Source File
# Begin Source File
SOURCE=.\src\source\DataModelV2\ToggleImageButtonInstance.cpp
# End Source File
# Begin Source File
SOURCE=.\src\source\DataModelV2\WorkspaceInstance.cpp
# End Source File
# End Group
# Begin Group "Listener"
# PROP Default_Filter ""
# Begin Source File
SOURCE=.\src\source\Listener\ButtonListener.cpp
# End Source File
# Begin Source File
SOURCE=.\src\source\Listener\CameraButtonListener.cpp
# End Source File
# Begin Source File
SOURCE=.\src\source\Listener\DeleteListener.cpp
# End Source File
# Begin Source File
SOURCE=.\src\source\Listener\GUDButtonListener.cpp
# End Source File
# Begin Source File
SOURCE=.\src\source\Listener\MenuButtonListener.cpp
# End Source File
# Begin Source File
SOURCE=.\src\source\Listener\ModeSelectionListener.cpp
# End Source File
# Begin Source File
SOURCE=.\src\source\Listener\RotateButtonListener.cpp
# End Source File
# Begin Source File
SOURCE=.\src\source\Listener\ToolbarListener.cpp
# End Source File
# End Group
# Begin Group "Tool"
# PROP Default_Filter ""
# Begin Source File
SOURCE=.\src\source\Tool\ArrowTool.cpp
# End Source File
# Begin Source File
SOURCE=.\src\source\Tool\DraggerTool.cpp
# End Source File
# Begin Source File
SOURCE=.\src\source\Tool\SurfaceTool.cpp
# End Source File
# Begin Source File
SOURCE=.\src\source\Tool\Tool.cpp
# End Source File
# End Group
# Begin Group "Reflection"
# PROP Default_Filter ""
# Begin Source File
SOURCE=.\src\source\Reflection\ReflectionDataTable.cpp
# End Source File
# Begin Source File
SOURCE=.\src\source\Reflection\ReflectionProperty.cpp
# End Source File
# End Group
# Begin Group "XplicitNgine"
# PROP Default_Filter ""
# Begin Source File
SOURCE=.\src\source\XplicitNgine\XplicitNgine.cpp
# End Source File
# End Group
# Begin Source File
SOURCE=.\src\source\Application.cpp
!IF "$(CFG)" == "Blocks3D - Win32 Release"
# ADD CPP /I ".\src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ELSEIF "$(CFG)" == "Blocks3D - Win32 Debug"
# ADD CPP /I "src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ENDIF
# End Source File
# Begin Source File
SOURCE=.\src\source\AudioPlayer.cpp
!IF "$(CFG)" == "Blocks3D - Win32 Release"
# ADD CPP /I ".\src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ELSEIF "$(CFG)" == "Blocks3D - Win32 Debug"
# ADD CPP /I "src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ENDIF
# End Source File
# Begin Source File
SOURCE=.\src\source\ax.cpp
!IF "$(CFG)" == "Blocks3D - Win32 Release"
# ADD CPP /I ".\src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ELSEIF "$(CFG)" == "Blocks3D - Win32 Debug"
# ADD CPP /I "src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ENDIF
# End Source File
# Begin Source File
SOURCE=.\src\source\base64.cpp
!IF "$(CFG)" == "Blocks3D - Win32 Release"
# ADD CPP /I ".\src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ELSEIF "$(CFG)" == "Blocks3D - Win32 Debug"
# ADD CPP /I "src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ENDIF
# End Source File
# Begin Source File
SOURCE=.\src\source\BrowserCallHandler.cpp
!IF "$(CFG)" == "Blocks3D - Win32 Release"
# ADD CPP /I ".\src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ELSEIF "$(CFG)" == "Blocks3D - Win32 Debug"
# ADD CPP /I "src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ENDIF
# End Source File
# Begin Source File
SOURCE=.\src\source\CameraController.cpp
!IF "$(CFG)" == "Blocks3D - Win32 Release"
# ADD CPP /I ".\src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ELSEIF "$(CFG)" == "Blocks3D - Win32 Debug"
# ADD CPP /I "src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ENDIF
# End Source File
# Begin Source File
SOURCE=.\src\source\ErrorFunctions.cpp
!IF "$(CFG)" == "Blocks3D - Win32 Release"
# ADD CPP /I ".\src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ELSEIF "$(CFG)" == "Blocks3D - Win32 Debug"
# ADD CPP /I "src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ENDIF
# End Source File
# Begin Source File
SOURCE=.\src\source\Globals.cpp
!IF "$(CFG)" == "Blocks3D - Win32 Release"
# ADD CPP /I ".\src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ELSEIF "$(CFG)" == "Blocks3D - Win32 Debug"
# ADD CPP /I "src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ENDIF
# End Source File
# Begin Source File
SOURCE=.\src\source\IEBrowser.cpp
!IF "$(CFG)" == "Blocks3D - Win32 Release"
# ADD CPP /I ".\src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ELSEIF "$(CFG)" == "Blocks3D - Win32 Debug"
# ADD CPP /I "src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ENDIF
# End Source File
# Begin Source File
SOURCE=.\src\source\IEDispatcher.cpp
!IF "$(CFG)" == "Blocks3D - Win32 Release"
# ADD CPP /I ".\src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ELSEIF "$(CFG)" == "Blocks3D - Win32 Debug"
# ADD CPP /I "src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ENDIF
# End Source File
# Begin Source File
SOURCE=.\src\source\main.cpp
!IF "$(CFG)" == "Blocks3D - Win32 Release"
# ADD CPP /I ".\src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ELSEIF "$(CFG)" == "Blocks3D - Win32 Debug"
# ADD CPP /I "src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ENDIF
# End Source File
# Begin Source File
SOURCE=.\src\source\Mouse.cpp
!IF "$(CFG)" == "Blocks3D - Win32 Release"
# ADD CPP /I ".\src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ELSEIF "$(CFG)" == "Blocks3D - Win32 Debug"
# ADD CPP /I "src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ENDIF
# End Source File
# Begin Source File
SOURCE=.\src\source\propertyGrid.cpp
!IF "$(CFG)" == "Blocks3D - Win32 Release"
# ADD CPP /I ".\src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ELSEIF "$(CFG)" == "Blocks3D - Win32 Debug"
# ADD CPP /I "src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ENDIF
# End Source File
# Begin Source File
SOURCE=.\src\source\PropertyWindow.cpp
!IF "$(CFG)" == "Blocks3D - Win32 Release"
# ADD CPP /I ".\src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ELSEIF "$(CFG)" == "Blocks3D - Win32 Debug"
# ADD CPP /I "src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ENDIF
# End Source File
# Begin Source File
SOURCE=.\src\source\Renderer.cpp
!IF "$(CFG)" == "Blocks3D - Win32 Release"
# ADD CPP /I ".\src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ELSEIF "$(CFG)" == "Blocks3D - Win32 Debug"
# ADD CPP /I "src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ENDIF
# End Source File
# Begin Source File
SOURCE=.\src\source\StringFunctions.cpp
!IF "$(CFG)" == "Blocks3D - Win32 Release"
# ADD CPP /I ".\src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ELSEIF "$(CFG)" == "Blocks3D - Win32 Debug"
# ADD CPP /I "src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ENDIF
# End Source File
# Begin Source File
SOURCE=.\src\source\TextureHandler.cpp
!IF "$(CFG)" == "Blocks3D - Win32 Release"
# ADD CPP /I ".\src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ELSEIF "$(CFG)" == "Blocks3D - Win32 Debug"
# ADD CPP /I "src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ENDIF
# End Source File
# Begin Source File
SOURCE=.\src\source\WindowFunctions.cpp
!IF "$(CFG)" == "Blocks3D - Win32 Release"
# ADD CPP /I ".\src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ELSEIF "$(CFG)" == "Blocks3D - Win32 Debug"
# ADD CPP /I "src\include" /D "NO_SDL_MAIN"
# SUBTRACT CPP /X
!ENDIF
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Group "DataModelV2_h"
# PROP Default_Filter ""
# Begin Source File
SOURCE=.\src\include\DataModelV2\BaseButtonInstance.h
# End Source File
# Begin Source File
SOURCE=.\src\include\DataModelV2\BaseGuiInstance.h
# End Source File
# Begin Source File
SOURCE=.\src\include\DataModelV2\DataModelInstance.h
# End Source File
# Begin Source File
SOURCE=.\src\include\DataModelV2\GroupInstance.h
# End Source File
# Begin Source File
SOURCE=.\src\include\DataModelV2\GuiRootInstance.h
# End Source File
# Begin Source File
SOURCE=.\src\include\DataModelV2\ImageButtonInstance.h
# End Source File
# Begin Source File
SOURCE=.\src\include\DataModelV2\Instance.h
# End Source File
# Begin Source File
SOURCE=.\src\include\DataModelV2\LevelInstance.h
# End Source File
# Begin Source File
SOURCE=.\src\include\DataModelV2\LightingInstance.h
# End Source File
# Begin Source File
SOURCE=.\src\include\DataModelV2\PartInstance.h
# End Source File
# Begin Source File
SOURCE=.\src\include\DataModelV2\PVInstance.h
# End Source File
# Begin Source File
SOURCE=.\src\include\DataModelV2\SelectionService.h
# End Source File
# Begin Source File
SOURCE=.\src\include\DataModelV2\SoundInstance.h
# End Source File
# Begin Source File
SOURCE=.\src\include\DataModelV2\SoundService.h
# End Source File
# Begin Source File
SOURCE=.\src\include\DataModelV2\TextButtonInstance.h
# End Source File
# Begin Source File
SOURCE=.\src\include\DataModelV2\ThumbnailGeneratorInstance.h
# End Source File
# Begin Source File
SOURCE=.\src\include\DataModelV2\ToggleImageButtonInstance.h
# End Source File
# Begin Source File
SOURCE=.\src\include\DataModelV2\WorkspaceInstance.h
# End Source File
# End Group
# Begin Group "Listener_h"
# PROP Default_Filter ""
# Begin Source File
SOURCE=.\src\include\Listener\ButtonListener.h
# End Source File
# Begin Source File
SOURCE=.\src\include\Listener\CameraButtonListener.h
# End Source File
# Begin Source File
SOURCE=.\src\include\Listener\DeleteListener.h
# End Source File
# Begin Source File
SOURCE=.\src\include\Listener\GUDButtonListener.h
# End Source File
# Begin Source File
SOURCE=.\src\include\Listener\MenuButtonListener.h
# End Source File
# Begin Source File
SOURCE=.\src\include\Listener\ModeSelectionListener.h
# End Source File
# Begin Source File
SOURCE=.\src\include\Listener\RotateButtonListener.h
# End Source File
# Begin Source File
SOURCE=.\src\include\Listener\ToolbarListener.h
# End Source File
# End Group
# Begin Group "Tool_h"
# PROP Default_Filter ""
# Begin Source File
SOURCE=.\src\include\Tool\ArrowTool.h
# End Source File
# Begin Source File
SOURCE=.\src\include\Tool\DraggerTool.h
# End Source File
# Begin Source File
SOURCE=.\src\include\Tool\SurfaceTool.h
# End Source File
# Begin Source File
SOURCE=.\src\include\Tool\Tool.h
# End Source File
# End Group
# Begin Group "Reflection_h"
# PROP Default_Filter ""
# Begin Source File
SOURCE=.\src\include\Reflection\Reflection.h
# End Source File
# Begin Source File
SOURCE=.\src\include\Reflection\ReflectionDataTable.h
# End Source File
# Begin Source File
SOURCE=.\src\include\Reflection\ReflectionProperty.h
# End Source File
# End Group
# Begin Group "XplicitNgine_h"
# PROP Default_Filter ""
# Begin Source File
SOURCE=.\src\include\XplicitNgine\XplicitNgine.h
# End Source File
# End Group
# Begin Group "rapidxml"
# PROP Default_Filter ""
# Begin Source File
SOURCE=.\src\include\rapidxml\rapidxml.hpp
# End Source File
# Begin Source File
SOURCE=.\src\include\rapidxml\rapidxml_iterators.hpp
# End Source File
# Begin Source File
SOURCE=.\src\include\rapidxml\rapidxml_print.hpp
# End Source File
# Begin Source File
SOURCE=.\src\include\rapidxml\rapidxml_utils.hpp
# End Source File
# End Group
# Begin Source File
SOURCE=.\src\include\Application.h
# End Source File
# Begin Source File
SOURCE=.\src\include\AudioPlayer.h
# End Source File
# Begin Source File
SOURCE=.\src\include\ax.h
# End Source File
# Begin Source File
SOURCE=.\src\include\base64.h
# End Source File
# Begin Source File
SOURCE=.\src\include\BrowserCallHandler.h
# End Source File
# Begin Source File
SOURCE=.\src\include\CameraController.h
# End Source File
# Begin Source File
SOURCE=.\src\include\Enum.h
# End Source File
# Begin Source File
SOURCE=.\src\include\ErrorFunctions.h
# End Source File
# Begin Source File
SOURCE=.\src\include\Faces.h
# End Source File
# Begin Source File
SOURCE=.\src\include\Globals.h
# End Source File
# Begin Source File
SOURCE=.\src\include\IEBrowser.h
# End Source File
# Begin Source File
SOURCE=.\src\include\IEDispatcher.h
# End Source File
# Begin Source File
SOURCE=.\src\include\Mouse.h
# End Source File
# Begin Source File
SOURCE=.\src\include\propertyGrid.h
# End Source File
# Begin Source File
SOURCE=.\src\include\PropertyWindow.h
# End Source File
# Begin Source File
SOURCE=.\src\include\Renderer.h
# End Source File
# Begin Source File
SOURCE=.\src\include\resource.h
# End Source File
# Begin Source File
SOURCE=.\src\include\StringFunctions.h
# End Source File
# Begin Source File
SOURCE=.\src\include\TextureHandler.h
# End Source File
# Begin Source File
SOURCE=.\src\include\ToolEnum.h
# End Source File
# Begin Source File
SOURCE=.\src\include\versioning.h
# End Source File
# Begin Source File
SOURCE=.\src\include\VS2005CompatShim.h
# End Source File
# Begin Source File
SOURCE=.\src\include\win32Defines.h
# End Source File
# Begin Source File
SOURCE=.\src\include\WindowFunctions.h
# End Source File
# End Group
# Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# End Group
# End Target
# End Project

View File

@@ -1,29 +1,29 @@
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "Blocks3D"=.\Blocks3D.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "Blocks3D"=".\Blocks3D.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################

View File

@@ -5,9 +5,10 @@
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/>
</dependentAssembly>
</dependency>
<dependency>
<!--This should generally not be specified, but XP's VS2005 won't update automatically-->
<!-- <dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50727.6195" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
</dependentAssembly>
</dependency>
</dependency> -->
</assembly>

BIN
Blocks3D.opt Normal file

Binary file not shown.

120
Blocks3D.plg Normal file
View File

@@ -0,0 +1,120 @@
<html>
<body>
<pre>
<h1>Build Log</h1>
<h3>
--------------------Configuration: Blocks3D - Win32 Debug--------------------
</h3>
<h3>Command Lines</h3>
Creating temporary file "E:\DOCUME~1\Andreja\LOCALS~1\Temp\RSP109.tmp" with contents
[
/nologo /MLd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /Fp"Debug/Blocks3D.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c
"E:\Documents and Settings\Andreja\git\Blocks3D\src\source\DataModelV2\BaseButtonInstance.cpp"
"E:\Documents and Settings\Andreja\git\Blocks3D\src\source\DataModelV2\DataModelInstance.cpp"
"E:\Documents and Settings\Andreja\git\Blocks3D\src\source\DataModelV2\GroupInstance.cpp"
"E:\Documents and Settings\Andreja\git\Blocks3D\src\source\DataModelV2\GuiRootInstance.cpp"
"E:\Documents and Settings\Andreja\git\Blocks3D\src\source\DataModelV2\ImageButtonInstance.cpp"
"E:\Documents and Settings\Andreja\git\Blocks3D\src\source\DataModelV2\LevelInstance.cpp"
"E:\Documents and Settings\Andreja\git\Blocks3D\src\source\DataModelV2\PartInstance.cpp"
"E:\Documents and Settings\Andreja\git\Blocks3D\src\source\DataModelV2\PVInstance.cpp"
"E:\Documents and Settings\Andreja\git\Blocks3D\src\source\DataModelV2\TextButtonInstance.cpp"
"E:\Documents and Settings\Andreja\git\Blocks3D\src\source\DataModelV2\ToggleImageButtonInstance.cpp"
"E:\Documents and Settings\Andreja\git\Blocks3D\src\source\DataModelV2\WorkspaceInstance.cpp"
]
Creating command line "cl.exe @E:\DOCUME~1\Andreja\LOCALS~1\Temp\RSP109.tmp"
Creating temporary file "E:\DOCUME~1\Andreja\LOCALS~1\Temp\RSP10A.tmp" with contents
[
/nologo /MLd /W3 /Gm /GX /ZI /Od /I "src\include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "NO_SDL_MAIN" /Fp"Debug/Blocks3D.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c
"E:\Documents and Settings\Andreja\git\Blocks3D\src\source\Application.cpp"
]
Creating command line "cl.exe @E:\DOCUME~1\Andreja\LOCALS~1\Temp\RSP10A.tmp"
Creating temporary file "E:\DOCUME~1\Andreja\LOCALS~1\Temp\RSP10B.tmp" with contents
[
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /incremental:yes /pdb:"Debug/Blocks3D.pdb" /debug /machine:I386 /out:"Debug/Blocks3D.exe" /pdbtype:sept
".\Debug\BaseButtonInstance.obj"
".\Debug\BaseGuiInstance.obj"
".\Debug\DataModelInstance.obj"
".\Debug\GroupInstance.obj"
".\Debug\GuiRootInstance.obj"
".\Debug\ImageButtonInstance.obj"
".\Debug\Instance.obj"
".\Debug\LevelInstance.obj"
".\Debug\LightingInstance.obj"
".\Debug\PartInstance.obj"
".\Debug\PVInstance.obj"
".\Debug\SelectionService.obj"
".\Debug\SoundInstance.obj"
".\Debug\SoundService.obj"
".\Debug\TextButtonInstance.obj"
".\Debug\ToggleImageButtonInstance.obj"
".\Debug\WorkspaceInstance.obj"
".\Debug\ButtonListener.obj"
".\Debug\CameraButtonListener.obj"
".\Debug\DeleteListener.obj"
".\Debug\GUDButtonListener.obj"
".\Debug\MenuButtonListener.obj"
".\Debug\ModeSelectionListener.obj"
".\Debug\RotateButtonListener.obj"
".\Debug\ToolbarListener.obj"
".\Debug\ArrowTool.obj"
".\Debug\DraggerTool.obj"
".\Debug\SurfaceTool.obj"
".\Debug\Tool.obj"
".\Debug\ReflectionDataTable.obj"
".\Debug\ReflectionProperty.obj"
".\Debug\XplicitNgine.obj"
".\Debug\Application.obj"
".\Debug\AudioPlayer.obj"
".\Debug\ax.obj"
".\Debug\base64.obj"
".\Debug\BrowserCallHandler.obj"
".\Debug\CameraController.obj"
".\Debug\ErrorFunctions.obj"
".\Debug\Globals.obj"
".\Debug\IEBrowser.obj"
".\Debug\IEDispatcher.obj"
".\Debug\main.obj"
".\Debug\Mouse.obj"
".\Debug\propertyGrid.obj"
".\Debug\PropertyWindow.obj"
".\Debug\Renderer.obj"
".\Debug\StringFunctions.obj"
".\Debug\TextureHandler.obj"
".\Debug\WindowFunctions.obj"
]
Creating command line "link.exe @E:\DOCUME~1\Andreja\LOCALS~1\Temp\RSP10B.tmp"
<h3>Output Window</h3>
Compiling...
BaseButtonInstance.cpp
e:\documents and settings\andreja\git\blocks3d\src\source\datamodelv2\basebuttoninstance.cpp(1) : fatal error C1083: Cannot open include file: 'DataModelV2/BaseButtonInstance.h': No such file or directory
DataModelInstance.cpp
e:\documents and settings\andreja\git\blocks3d\src\source\datamodelv2\datamodelinstance.cpp(4) : fatal error C1083: Cannot open include file: 'DataModelV2/GuiRootInstance.h': No such file or directory
GroupInstance.cpp
e:\documents and settings\andreja\git\blocks3d\src\source\datamodelv2\groupinstance.cpp(1) : fatal error C1083: Cannot open include file: 'DataModelV2/GroupInstance.h': No such file or directory
GuiRootInstance.cpp
e:\documents and settings\andreja\git\blocks3d\src\source\datamodelv2\guirootinstance.cpp(4) : fatal error C1083: Cannot open include file: 'DataModelV2/BaseButtonInstance.h': No such file or directory
ImageButtonInstance.cpp
e:\documents and settings\andreja\git\blocks3d\src\source\datamodelv2\imagebuttoninstance.cpp(1) : fatal error C1083: Cannot open include file: 'DataModelV2/ImageButtonInstance.h': No such file or directory
LevelInstance.cpp
e:\documents and settings\andreja\git\blocks3d\src\source\datamodelv2\levelinstance.cpp(1) : fatal error C1083: Cannot open include file: 'DataModelV2/DataModelInstance.h': No such file or directory
PartInstance.cpp
e:\documents and settings\andreja\git\blocks3d\src\source\datamodelv2\partinstance.cpp(1) : fatal error C1083: Cannot open include file: 'DataModelV2/PartInstance.h': No such file or directory
PVInstance.cpp
e:\documents and settings\andreja\git\blocks3d\src\source\datamodelv2\pvinstance.cpp(1) : fatal error C1083: Cannot open include file: 'DataModelV2/PVInstance.h': No such file or directory
TextButtonInstance.cpp
e:\documents and settings\andreja\git\blocks3d\src\source\datamodelv2\textbuttoninstance.cpp(1) : fatal error C1083: Cannot open include file: 'DataModelV2/TextButtonInstance.h': No such file or directory
ToggleImageButtonInstance.cpp
e:\documents and settings\andreja\git\blocks3d\src\source\datamodelv2\toggleimagebuttoninstance.cpp(1) : fatal error C1083: Cannot open include file: 'DataModelV2/ToggleImageButtonInstance.h': No such file or directory
WorkspaceInstance.cpp
e:\documents and settings\andreja\git\blocks3d\src\source\datamodelv2\workspaceinstance.cpp(1) : fatal error C1083: Cannot open include file: 'DataModelV2/WorkspaceInstance.h': No such file or directory
Error executing cl.exe.
Build : warning : failed to (or don't know how to) build 'E:\Documents and Settings\Andreja\git\Blocks3D\src\source\Reflection\ReflectionProperty.cpp'
<h3>Results</h3>
Blocks3D.exe - 11 error(s), 1 warning(s)
</pre>
</body>
</html>

View File

@@ -335,346 +335,6 @@
>
</File>
</Filter>
<Filter
Name="Listener"
>
<File
RelativePath=".\src\source\Listener\ButtonListener.cpp"
>
</File>
<File
RelativePath=".\src\source\Listener\CameraButtonListener.cpp"
>
</File>
<File
RelativePath=".\src\source\Listener\DeleteListener.cpp"
>
</File>
<File
RelativePath=".\src\source\Listener\GUDButtonListener.cpp"
>
</File>
<File
RelativePath=".\src\source\Listener\MenuButtonListener.cpp"
>
</File>
<File
RelativePath=".\src\source\Listener\ModeSelectionListener.cpp"
>
</File>
<File
RelativePath=".\src\source\Listener\RotateButtonListener.cpp"
>
</File>
<File
RelativePath=".\src\source\Listener\ToolbarListener.cpp"
>
</File>
</Filter>
<Filter
Name="DataModelV2"
>
<File
RelativePath=".\src\source\DataModelV2\DataModelInstance.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\src\source\DataModelV2\GroupInstance.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\src\source\DataModelV2\Instance.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\src\source\DataModelV2\LevelInstance.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\src\source\DataModelV2\LightingInstance.cpp"
>
</File>
<File
RelativePath=".\src\source\DataModelV2\PartInstance.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\src\source\DataModelV2\PVInstance.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\src\source\DataModelV2\SelectionService.cpp"
>
</File>
<File
RelativePath=".\src\source\DataModelV2\SoundInstance.cpp"
>
</File>
<File
RelativePath=".\src\source\DataModelV2\SoundService.cpp"
>
</File>
<File
RelativePath=".\src\source\DataModelV2\ThumbnailGeneratorInstance.cpp"
>
</File>
<File
RelativePath=".\src\source\DataModelV2\WorkspaceInstance.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
</File>
<Filter
Name="Gui"
>
<File
RelativePath=".\src\source\DataModelV2\BaseButtonInstance.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\src\source\DataModelV2\BaseGuiInstance.cpp"
>
</File>
<File
RelativePath=".\src\source\DataModelV2\GuiRootInstance.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\src\source\DataModelV2\ImageButtonInstance.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\src\source\DataModelV2\TextButtonInstance.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\src\source\DataModelV2\ToggleImageButtonInstance.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
</File>
</Filter>
<Filter
Name="XplicitNgine"
>
<File
RelativePath=".\src\source\XplicitNgine\XplicitNgine.cpp"
>
</File>
</Filter>
</Filter>
<Filter
Name="Helpers"
>
@@ -683,6 +343,206 @@
>
</File>
</Filter>
<Filter
Name="Reflection"
>
<File
RelativePath=".\src\source\Reflection\ReflectionDataTable.cpp"
>
</File>
</Filter>
<Filter
Name="DataModelV3"
>
<File
RelativePath=".\src\source\DataModelV3\DataModelInstance.cpp"
>
</File>
<File
RelativePath=".\src\source\DataModelV3\GroupInstance.cpp"
>
</File>
<File
RelativePath=".\src\source\DataModelV3\Instance.cpp"
>
</File>
<File
RelativePath=".\src\source\DataModelV3\LevelInstance.cpp"
>
</File>
<File
RelativePath=".\src\source\DataModelV3\LightingInstance.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\src\source\DataModelV3\PartInstance.cpp"
>
</File>
<File
RelativePath=".\src\source\DataModelV3\PVInstance.cpp"
>
</File>
<File
RelativePath=".\src\source\DataModelV3\SelectionService.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\src\source\DataModelV3\SoundInstance.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\src\source\DataModelV3\SoundService.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\src\source\DataModelV3\WorkspaceInstance.cpp"
>
</File>
<Filter
Name="XplicitNgine"
>
<File
RelativePath=".\src\source\DataModelV3\XplicitNgine\XplicitNgine.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
</File>
</Filter>
<Filter
Name="Gui"
>
<File
RelativePath=".\src\source\DataModelV3\Gui\BaseButtonInstance.cpp"
>
</File>
<File
RelativePath=".\src\source\DataModelV3\Gui\BaseGuiInstance.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\src\source\DataModelV3\Gui\GuiRootInstance.cpp"
>
</File>
<File
RelativePath=".\src\source\DataModelV3\Gui\ImageButtonInstance.cpp"
>
</File>
<File
RelativePath=".\src\source\DataModelV3\Gui\TextButtonInstance.cpp"
>
</File>
<File
RelativePath=".\src\source\DataModelV3\Gui\ToggleImageButtonInstance.cpp"
>
</File>
</Filter>
</Filter>
</Filter>
<Filter
Name="Header Files"
@@ -800,46 +660,6 @@
>
</File>
</Filter>
<Filter
Name="Listener"
>
<File
RelativePath=".\src\include\Listener\ButtonListener.h"
>
</File>
<File
RelativePath=".\src\include\Listener\CameraButtonListener.h"
>
</File>
<File
RelativePath=".\src\include\Listener\DeleteListener.h"
>
</File>
<File
RelativePath=".\src\include\Listener\GUDButtonListener.h"
>
</File>
<File
RelativePath=".\src\include\Listener\MenuButtonListener.h"
>
</File>
<File
RelativePath=".\src\include\Listener\ModeSelectionListener.h"
>
</File>
<File
RelativePath=".\src\include\Listener\RotateButtonListener.h"
>
</File>
<File
RelativePath=".\src\include\Listener\ToolbarListener.h"
>
</File>
<File
RelativePath=".\src\include\DataModel\WorkspaceInstance.h"
>
</File>
</Filter>
<Filter
Name="Tool"
>
@@ -860,94 +680,6 @@
>
</File>
</Filter>
<Filter
Name="DataModelV2"
>
<File
RelativePath=".\src\include\DataModelV2\DataModelInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV2\GroupInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV2\Instance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV2\LevelInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV2\LightingInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV2\PartInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV2\PVInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV2\SelectionService.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV2\SoundInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV2\SoundService.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV2\ThumbnailGeneratorInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV2\WorkspaceInstance.h"
>
</File>
<Filter
Name="Gui"
>
<File
RelativePath=".\src\include\DataModelV2\BaseButtonInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV2\BaseGuiInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV2\GuiRootInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV2\ImageButtonInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV2\TextButtonInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV2\ToggleImageButtonInstance.h"
>
</File>
</Filter>
<Filter
Name="XplicitNgine"
>
<File
RelativePath=".\src\include\XplicitNgine\XplicitNgine.h"
>
</File>
</Filter>
</Filter>
<Filter
Name="Helpers"
>
@@ -956,6 +688,110 @@
>
</File>
</Filter>
<Filter
Name="Reflection"
>
<File
RelativePath=".\src\include\Reflection\Reflection.h"
>
</File>
<File
RelativePath=".\src\include\Reflection\ReflectionDataTable.h"
>
</File>
<File
RelativePath=".\src\include\Reflection\ReflectionProperty.h"
>
</File>
<File
RelativePath=".\src\include\Reflection\ReflectionProperty_impl.h"
>
</File>
</Filter>
<Filter
Name="DataModelV3"
>
<File
RelativePath=".\src\include\DataModelV3\DataModelInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV3\GroupInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV3\Instance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV3\LevelInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV3\LightingInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV3\PartInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV3\PVInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV3\SelectionService.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV3\SoundInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV3\SoundService.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV3\WorkspaceInstance.h"
>
</File>
<Filter
Name="Gui"
>
<File
RelativePath=".\src\include\DataModelV3\Gui\BaseButtonInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV3\Gui\BaseGuiInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV3\Gui\GuiRootInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV3\Gui\ImageButtonInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV3\Gui\TextButtonInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV3\Gui\ToggleImageButtonInstance.h"
>
</File>
</Filter>
<Filter
Name="XplicitNgin"
>
<File
RelativePath=".\src\include\DataModelV3\XplicitNgine\XplicitNgine.h"
>
</File>
</Filter>
</Filter>
</Filter>
<Filter
Name="Resource Files"

27
Jenkinsfile vendored Normal file
View File

@@ -0,0 +1,27 @@
pipeline {
agent {label 'windows'}
stages {
stage('Build') {
steps {
bat """
call "c:\\Program Files (x86)\\Microsoft Visual Studio .NET 2003\\Common7\\Tools\\vsvars32.bat"
devenv "Blocks3D VS2003.sln" /build release
"""
}
}
stage('Package') {
steps {
bat """
"C:\\Program Files (x86)\\Inno Setup 5\\ISCC" Installer\\install_script_vs2003.iss
"C:\\Program Files (x86)\\Inno Setup 5\\ISCC" Installer\\install_script_floppy_vs2003.iss
"""
}
}
stage('Archive') {
steps {
archiveArtifacts artifacts: 'Installer\\Output\\Blocks3D_Setup_*,Installer\\Output\\B3DSTP*', fingerprint: true
}
}
}
}

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

View File

@@ -1,588 +0,0 @@
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.roblox.com/roblox.xsd" version="4">
<External>null</External>
<External>nil</External>
<Item class="Workspace" referent="RBX0">
<Properties>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<Ref name="CurrentCamera">RBX1</Ref>
<double name="DistributedGameTime">0</double>
<CoordinateFrame name="ModelInPrimary">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
<R00>1</R00>
<R01>0</R01>
<R02>0</R02>
<R10>0</R10>
<R11>1</R11>
<R12>0</R12>
<R20>0</R20>
<R21>0</R21>
<R22>1</R22>
</CoordinateFrame>
<string name="Name">Workspace</string>
<Ref name="PrimaryPart">null</Ref>
<bool name="archivable">true</bool>
</Properties>
<Item class="Camera" referent="RBX1">
<Properties>
<Ref name="CameraSubject">null</Ref>
<token name="CameraType">0</token>
<CoordinateFrame name="CoordinateFrame">
<X>-2.9603548</X>
<Y>115.389259</Y>
<Z>44.9416084</Z>
<R00>0.112786211</R00>
<R01>0.522245169</R01>
<R02>-0.845304191</R02>
<R10>-2.22539209e-009</R10>
<R11>0.850732446</R11>
<R12>0.525598884</R12>
<R20>0.993619263</R20>
<R21>-0.0592803061</R21>
<R22>0.0959508941</R22>
</CoordinateFrame>
<CoordinateFrame name="Focus">
<X>13.9457293</X>
<Y>104.877281</Y>
<Z>43.0225906</Z>
<R00>1</R00>
<R01>0</R01>
<R02>0</R02>
<R10>0</R10>
<R11>1</R11>
<R12>0</R12>
<R20>0</R20>
<R21>0</R21>
<R22>1</R22>
</CoordinateFrame>
<string name="Name">Camera</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="Part" referent="RBX2">
<Properties>
<bool name="Anchored">false</bool>
<float name="BackParamA">-0.5</float>
<float name="BackParamB">0.5</float>
<token name="BackSurface">0</token>
<token name="BackSurfaceInput">0</token>
<float name="BottomParamA">-0.5</float>
<float name="BottomParamB">0.5</float>
<token name="BottomSurface">0</token>
<token name="BottomSurfaceInput">0</token>
<int name="BrickColor">21</int>
<CoordinateFrame name="CFrame">
<X>87.0174942</X>
<Y>48.0466728</Y>
<Z>25.0001202</Z>
<R00>-0.969314575</R00>
<R01>0.245822206</R01>
<R02>4.6762093e-006</R02>
<R10>0.245822206</R10>
<R11>0.969314933</R11>
<R12>6.9744442e-007</R12>
<R20>-4.35209677e-006</R20>
<R21>1.87532066e-006</R21>
<R22>-0.999999642</R22>
</CoordinateFrame>
<bool name="CanCollide">true</bool>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<float name="Friction">0.300000012</float>
<float name="FrontParamA">-0.5</float>
<float name="FrontParamB">0.5</float>
<token name="FrontSurface">0</token>
<token name="FrontSurfaceInput">0</token>
<float name="LeftParamA">-0.5</float>
<float name="LeftParamB">0.5</float>
<token name="LeftSurface">0</token>
<token name="LeftSurfaceInput">0</token>
<bool name="Locked">false</bool>
<string name="Name">Smooth Block Model</string>
<float name="Reflectance">0</float>
<float name="RightParamA">-0.5</float>
<float name="RightParamB">0.5</float>
<token name="RightSurface">0</token>
<token name="RightSurfaceInput">0</token>
<Vector3 name="RotVelocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<float name="TopParamA">-0.5</float>
<float name="TopParamB">0.5</float>
<token name="TopSurface">0</token>
<token name="TopSurfaceInput">0</token>
<float name="Transparency">0</float>
<Vector3 name="Velocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<bool name="archivable">true</bool>
<token name="shape">2</token>
<Vector3 name="size">
<X>6</X>
<Y>6</Y>
<Z>6</Z>
</Vector3>
</Properties>
</Item>
<Item class="Part" referent="RBX3">
<Properties>
<bool name="Anchored">true</bool>
<float name="BackParamA">-0.5</float>
<float name="BackParamB">0.5</float>
<token name="BackSurface">0</token>
<token name="BackSurfaceInput">0</token>
<float name="BottomParamA">-0.5</float>
<float name="BottomParamB">0.5</float>
<token name="BottomSurface">4</token>
<token name="BottomSurfaceInput">0</token>
<int name="BrickColor">23</int>
<CoordinateFrame name="CFrame">
<X>108.911415</X>
<Y>38.7803154</Y>
<Z>27.5002155</Z>
<R00>-0.969314575</R00>
<R01>0.245822206</R01>
<R02>4.6762093e-006</R02>
<R10>0.245822206</R10>
<R11>0.969314933</R11>
<R12>6.9744442e-007</R12>
<R20>-4.35209677e-006</R20>
<R21>1.87532066e-006</R21>
<R22>-0.999999642</R22>
</CoordinateFrame>
<bool name="CanCollide">true</bool>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">1</token>
<float name="Friction">0.300000012</float>
<float name="FrontParamA">-0.5</float>
<float name="FrontParamB">0.5</float>
<token name="FrontSurface">0</token>
<token name="FrontSurfaceInput">0</token>
<float name="LeftParamA">-0.5</float>
<float name="LeftParamB">0.5</float>
<token name="LeftSurface">0</token>
<token name="LeftSurfaceInput">0</token>
<bool name="Locked">false</bool>
<string name="Name">Smooth Block Model</string>
<float name="Reflectance">0</float>
<float name="RightParamA">-0.5</float>
<float name="RightParamB">0.5</float>
<token name="RightSurface">0</token>
<token name="RightSurfaceInput">0</token>
<Vector3 name="RotVelocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<float name="TopParamA">-0.5</float>
<float name="TopParamB">0.5</float>
<token name="TopSurface">3</token>
<token name="TopSurfaceInput">0</token>
<float name="Transparency">0</float>
<Vector3 name="Velocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>53</X>
<Y>1.20000005</Y>
<Z>1</Z>
</Vector3>
</Properties>
</Item>
<Item class="Part" referent="RBX4">
<Properties>
<bool name="Anchored">true</bool>
<float name="BackParamA">-0.5</float>
<float name="BackParamB">0.5</float>
<token name="BackSurface">0</token>
<token name="BackSurfaceInput">0</token>
<float name="BottomParamA">-0.5</float>
<float name="BottomParamB">0.5</float>
<token name="BottomSurface">4</token>
<token name="BottomSurfaceInput">0</token>
<int name="BrickColor">23</int>
<CoordinateFrame name="CFrame">
<X>141.499893</X>
<Y>38.1177788</Y>
<Z>27.0499611</Z>
<R00>1</R00>
<R01>-1.07914104e-006</R01>
<R02>-4.49890285e-006</R02>
<R10>-5.98966139e-008</R10>
<R11>0.969315231</R11>
<R12>-0.245820925</R12>
<R20>4.6261307e-006</R20>
<R21>0.245820925</R21>
<R22>0.969315231</R22>
</CoordinateFrame>
<bool name="CanCollide">true</bool>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">1</token>
<float name="Friction">0.300000012</float>
<float name="FrontParamA">-0.5</float>
<float name="FrontParamB">0.5</float>
<token name="FrontSurface">0</token>
<token name="FrontSurfaceInput">0</token>
<float name="LeftParamA">-0.5</float>
<float name="LeftParamB">0.5</float>
<token name="LeftSurface">0</token>
<token name="LeftSurfaceInput">0</token>
<bool name="Locked">false</bool>
<string name="Name">Smooth Block Model</string>
<float name="Reflectance">0</float>
<float name="RightParamA">-0.5</float>
<float name="RightParamB">0.5</float>
<token name="RightSurface">0</token>
<token name="RightSurfaceInput">0</token>
<Vector3 name="RotVelocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<float name="TopParamA">-0.5</float>
<float name="TopParamB">0.5</float>
<token name="TopSurface">3</token>
<token name="TopSurfaceInput">0</token>
<float name="Transparency">0</float>
<Vector3 name="Velocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>1</X>
<Y>16.8000011</Y>
<Z>12</Z>
</Vector3>
</Properties>
</Item>
<Item class="Part" referent="RBX5">
<Properties>
<bool name="Anchored">true</bool>
<float name="BackParamA">-0.5</float>
<float name="BackParamB">0.5</float>
<token name="BackSurface">0</token>
<token name="BackSurfaceInput">0</token>
<float name="BottomParamA">-0.5</float>
<float name="BottomParamB">0.5</float>
<token name="BottomSurface">4</token>
<token name="BottomSurfaceInput">0</token>
<int name="BrickColor">23</int>
<CoordinateFrame name="CFrame">
<X>108.911438</X>
<Y>38.7803192</Y>
<Z>22.5002174</Z>
<R00>-0.969314575</R00>
<R01>0.245822206</R01>
<R02>4.6762093e-006</R02>
<R10>0.245822206</R10>
<R11>0.969314933</R11>
<R12>6.9744442e-007</R12>
<R20>-4.35209677e-006</R20>
<R21>1.87532066e-006</R21>
<R22>-0.999999642</R22>
</CoordinateFrame>
<bool name="CanCollide">true</bool>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">1</token>
<float name="Friction">0.300000012</float>
<float name="FrontParamA">-0.5</float>
<float name="FrontParamB">0.5</float>
<token name="FrontSurface">0</token>
<token name="FrontSurfaceInput">0</token>
<float name="LeftParamA">-0.5</float>
<float name="LeftParamB">0.5</float>
<token name="LeftSurface">0</token>
<token name="LeftSurfaceInput">0</token>
<bool name="Locked">false</bool>
<string name="Name">Smooth Block Model</string>
<float name="Reflectance">0</float>
<float name="RightParamA">-0.5</float>
<float name="RightParamB">0.5</float>
<token name="RightSurface">0</token>
<token name="RightSurfaceInput">0</token>
<Vector3 name="RotVelocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<float name="TopParamA">-0.5</float>
<float name="TopParamB">0.5</float>
<token name="TopSurface">3</token>
<token name="TopSurfaceInput">0</token>
<float name="Transparency">0</float>
<Vector3 name="Velocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>53</X>
<Y>1.20000005</Y>
<Z>1</Z>
</Vector3>
</Properties>
</Item>
<Item class="Part" referent="RBX6">
<Properties>
<bool name="Anchored">true</bool>
<float name="BackParamA">-0.5</float>
<float name="BackParamB">0.5</float>
<token name="BackSurface">0</token>
<token name="BackSurfaceInput">0</token>
<float name="BottomParamA">-0.5</float>
<float name="BottomParamB">0.5</float>
<token name="BottomSurface">4</token>
<token name="BottomSurfaceInput">0</token>
<int name="BrickColor">23</int>
<CoordinateFrame name="CFrame">
<X>140.499786</X>
<Y>24.7802944</Y>
<Z>47.911438</Z>
<R00>4.35209677e-006</R00>
<R01>-1.87532066e-006</R01>
<R02>0.999999642</R02>
<R10>0.245822206</R10>
<R11>0.969314933</R11>
<R12>6.9744442e-007</R12>
<R20>-0.969314575</R20>
<R21>0.245822206</R21>
<R22>4.6762093e-006</R22>
</CoordinateFrame>
<bool name="CanCollide">true</bool>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">1</token>
<float name="Friction">0.300000012</float>
<float name="FrontParamA">-0.5</float>
<float name="FrontParamB">0.5</float>
<token name="FrontSurface">0</token>
<token name="FrontSurfaceInput">0</token>
<float name="LeftParamA">-0.5</float>
<float name="LeftParamB">0.5</float>
<token name="LeftSurface">0</token>
<token name="LeftSurfaceInput">0</token>
<bool name="Locked">false</bool>
<string name="Name">Smooth Block Model</string>
<float name="Reflectance">0</float>
<float name="RightParamA">-0.5</float>
<float name="RightParamB">0.5</float>
<token name="RightSurface">0</token>
<token name="RightSurfaceInput">0</token>
<Vector3 name="RotVelocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<float name="TopParamA">-0.5</float>
<float name="TopParamB">0.5</float>
<token name="TopSurface">3</token>
<token name="TopSurfaceInput">0</token>
<float name="Transparency">0</float>
<Vector3 name="Velocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>53</X>
<Y>1.20000005</Y>
<Z>1</Z>
</Vector3>
</Properties>
</Item>
<Item class="Part" referent="RBX7">
<Properties>
<bool name="Anchored">true</bool>
<float name="BackParamA">-0.5</float>
<float name="BackParamB">0.5</float>
<token name="BackSurface">0</token>
<token name="BackSurfaceInput">0</token>
<float name="BottomParamA">-0.5</float>
<float name="BottomParamB">0.5</float>
<token name="BottomSurface">4</token>
<token name="BottomSurfaceInput">0</token>
<int name="BrickColor">23</int>
<CoordinateFrame name="CFrame">
<X>135.499786</X>
<Y>24.7802944</Y>
<Z>47.9114227</Z>
<R00>4.35515585e-006</R00>
<R01>-1.85873387e-006</R01>
<R02>0.999999881</R02>
<R10>0.245822236</R10>
<R11>0.969314933</R11>
<R12>7.14274279e-007</R12>
<R20>-0.969314814</R20>
<R21>0.245822236</R21>
<R22>4.67732343e-006</R22>
</CoordinateFrame>
<bool name="CanCollide">true</bool>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">1</token>
<float name="Friction">0.300000012</float>
<float name="FrontParamA">-0.5</float>
<float name="FrontParamB">0.5</float>
<token name="FrontSurface">0</token>
<token name="FrontSurfaceInput">0</token>
<float name="LeftParamA">-0.5</float>
<float name="LeftParamB">0.5</float>
<token name="LeftSurface">0</token>
<token name="LeftSurfaceInput">0</token>
<bool name="Locked">false</bool>
<string name="Name">Smooth Block Model</string>
<float name="Reflectance">0</float>
<float name="RightParamA">-0.5</float>
<float name="RightParamB">0.5</float>
<token name="RightSurface">0</token>
<token name="RightSurfaceInput">0</token>
<Vector3 name="RotVelocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<float name="TopParamA">-0.5</float>
<float name="TopParamB">0.5</float>
<token name="TopSurface">3</token>
<token name="TopSurfaceInput">0</token>
<float name="Transparency">0</float>
<Vector3 name="Velocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>53</X>
<Y>1.20000005</Y>
<Z>1</Z>
</Vector3>
</Properties>
</Item>
</Item>
<Item class="RunService" referent="RBX8">
<Properties>
<string name="Name">Run Service</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
<External>RBX9</External>
<External>RBX10</External>
<Item class="Players" referent="RBX11">
<Properties>
<int name="MaxPlayers">12</int>
<string name="Name">Players</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="StarterPack" referent="RBX12">
<Properties>
<string name="Name">StarterPack</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="SoundService" referent="RBX13">
<Properties>
<token name="AmbientReverb">0</token>
<float name="DistanceFactor">10</float>
<float name="DopplerScale">1</float>
<string name="Name">Soundscape</string>
<float name="RolloffScale">1</float>
<bool name="archivable">true</bool>
</Properties>
<External>RBX14</External>
<External>RBX15</External>
<External>RBX16</External>
<External>RBX17</External>
<External>RBX18</External>
<External>RBX19</External>
<External>RBX20</External>
<External>RBX21</External>
<External>RBX22</External>
<External>RBX23</External>
<External>RBX24</External>
<External>RBX25</External>
<External>RBX26</External>
<External>RBX27</External>
</Item>
<Item class="ContentProvider" referent="RBX28">
<Properties>
<string name="Name">Instance</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="PhysicsService" referent="RBX29">
<Properties>
<string name="Name">PhysicsService</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
<External>RBX30</External>
<Item class="Selection" referent="RBX31">
<Properties>
<string name="Name">Selection</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
<External>RBX32</External>
<Item class="Lighting" referent="RBX33">
<Properties>
<Color3 name="Ambient">4286940549</Color3>
<float name="Brightness">1</float>
<Color3 name="ColorShift_Bottom">4278190080</Color3>
<Color3 name="ColorShift_Top">4278190080</Color3>
<float name="GeographicLatitude">41.7332993</float>
<string name="Name">Lighting</string>
<Color3 name="ShadowColor">4290295997</Color3>
<string name="TimeOfDay">14:00:00</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="ControllerService" referent="RBX34">
<Properties>
<string name="Name">Instance</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="ChangeHistoryService" referent="RBX35">
<Properties>
<string name="Name">ChangeHistoryService</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
<External>RBX36</External>
</roblox>

Binary file not shown.

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

View File

@@ -1,578 +0,0 @@
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.roblox.com/roblox.xsd" version="4">
<External>null</External>
<External>nil</External>
<Item class="RunService">
<Properties>
<string name="Name">Run Service</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="Selection">
<Properties>
<string name="Name">Selection</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="Workspace">
<Properties>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<Ref name="CurrentCamera">RBX0</Ref>
<CoordinateFrame name="ModelInPrimary">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
<R00>1</R00>
<R01>0</R01>
<R02>0</R02>
<R10>0</R10>
<R11>1</R11>
<R12>0</R12>
<R20>0</R20>
<R21>0</R21>
<R22>1</R22>
</CoordinateFrame>
<string name="Name">Workspace</string>
<Ref name="PrimaryPart">RBX1</Ref>
<bool name="archivable">true</bool>
</Properties>
<Item class="Camera" referent="RBX0">
<Properties>
<Ref name="CameraSubject">null</Ref>
<token name="CameraType">0</token>
<CoordinateFrame name="CoordinateFrame">
<X>202.42688</X>
<Y>55.4607582</Y>
<Z>3.2956109</Z>
<R00>0.0106770508</R00>
<R01>0.00328579429</R01>
<R02>0.999937654</R02>
<R10>4.65661287e-010</R10>
<R11>0.999994576</R11>
<R12>-0.00328598148</R12>
<R20>-0.999943018</R20>
<R21>3.50852497e-005</R21>
<R22>0.010676994</R22>
</CoordinateFrame>
<CoordinateFrame name="Focus">
<X>182.428116</X>
<Y>55.5264778</Y>
<Z>3.08207107</Z>
<R00>1</R00>
<R01>0</R01>
<R02>0</R02>
<R10>0</R10>
<R11>1</R11>
<R12>0</R12>
<R20>0</R20>
<R21>0</R21>
<R22>1</R22>
</CoordinateFrame>
<string name="Name">Camera</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="Part" referent="RBX1">
<Properties>
<bool name="Anchored">true</bool>
<float name="BackParamA">-0.5</float>
<float name="BackParamB">0.5</float>
<token name="BackSurface">0</token>
<token name="BackSurfaceInput">0</token>
<float name="BottomParamA">-0.5</float>
<float name="BottomParamB">0.5</float>
<token name="BottomSurface">0</token>
<token name="BottomSurfaceInput">0</token>
<int name="BrickColor">37</int>
<CoordinateFrame name="CFrame">
<X>0</X>
<Y>2.79999995</Y>
<Z>-4</Z>
<R00>1</R00>
<R01>0</R01>
<R02>0</R02>
<R10>0</R10>
<R11>1</R11>
<R12>0</R12>
<R20>0</R20>
<R21>0</R21>
<R22>1</R22>
</CoordinateFrame>
<bool name="CanCollide">true</bool>
<bool name="CastsShadows">false</bool>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="Cullable">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<float name="Friction">0.300000012</float>
<float name="FrontParamA">-0.5</float>
<float name="FrontParamB">0.5</float>
<token name="FrontSurface">0</token>
<token name="FrontSurfaceInput">0</token>
<float name="LeftParamA">-0.5</float>
<float name="LeftParamB">0.5</float>
<token name="LeftSurface">0</token>
<token name="LeftSurfaceInput">0</token>
<bool name="Locked">true</bool>
<string name="Name">Part</string>
<float name="Reflectance">0</float>
<float name="RightParamA">-0.5</float>
<float name="RightParamB">0.5</float>
<token name="RightSurface">0</token>
<token name="RightSurfaceInput">0</token>
<Vector3 name="RotVelocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<float name="TopParamA">-0.5</float>
<float name="TopParamB">0.5</float>
<token name="TopSurface">0</token>
<token name="TopSurfaceInput">0</token>
<float name="Transparency">0</float>
<Vector3 name="Velocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>64</X>
<Y>1</Y>
<Z>248</Z>
</Vector3>
</Properties>
</Item>
<Item class="Part">
<Properties>
<bool name="Anchored">false</bool>
<float name="BackParamA">-0.5</float>
<float name="BackParamB">0.5</float>
<token name="BackSurface">0</token>
<token name="BackSurfaceInput">0</token>
<float name="BottomParamA">-0.5</float>
<float name="BottomParamB">0.5</float>
<token name="BottomSurface">0</token>
<token name="BottomSurfaceInput">0</token>
<int name="BrickColor">23</int>
<CoordinateFrame name="CFrame">
<X>0</X>
<Y>78.3000031</Y>
<Z>-96</Z>
<R00>1</R00>
<R01>0</R01>
<R02>0</R02>
<R10>0</R10>
<R11>1</R11>
<R12>0</R12>
<R20>0</R20>
<R21>0</R21>
<R22>1</R22>
</CoordinateFrame>
<bool name="CanCollide">true</bool>
<bool name="CastsShadows">false</bool>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="Cullable">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<float name="Friction">0.300000012</float>
<float name="FrontParamA">-0.5</float>
<float name="FrontParamB">0.5</float>
<token name="FrontSurface">0</token>
<token name="FrontSurfaceInput">0</token>
<float name="LeftParamA">-0.5</float>
<float name="LeftParamB">0.5</float>
<token name="LeftSurface">0</token>
<token name="LeftSurfaceInput">0</token>
<bool name="Locked">false</bool>
<string name="Name">Part</string>
<float name="Reflectance">0</float>
<float name="RightParamA">-0.5</float>
<float name="RightParamB">0.5</float>
<token name="RightSurface">0</token>
<token name="RightSurfaceInput">0</token>
<Vector3 name="RotVelocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<float name="TopParamA">-0.5</float>
<float name="TopParamB">0.5</float>
<token name="TopSurface">0</token>
<token name="TopSurfaceInput">0</token>
<float name="Transparency">0</float>
<Vector3 name="Velocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>2</X>
<Y>2</Y>
<Z>2</Z>
</Vector3>
</Properties>
</Item>
<Item class="Part">
<Properties>
<bool name="Anchored">false</bool>
<float name="BackParamA">-0.5</float>
<float name="BackParamB">0.5</float>
<token name="BackSurface">0</token>
<token name="BackSurfaceInput">0</token>
<float name="BottomParamA">-0.5</float>
<float name="BottomParamB">0.5</float>
<token name="BottomSurface">0</token>
<token name="BottomSurfaceInput">0</token>
<int name="BrickColor">23</int>
<CoordinateFrame name="CFrame">
<X>0</X>
<Y>79.3000031</Y>
<Z>-62</Z>
<R00>1</R00>
<R01>0</R01>
<R02>0</R02>
<R10>0</R10>
<R11>1</R11>
<R12>0</R12>
<R20>0</R20>
<R21>0</R21>
<R22>1</R22>
</CoordinateFrame>
<bool name="CanCollide">true</bool>
<bool name="CastsShadows">false</bool>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="Cullable">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<float name="Friction">0.300000012</float>
<float name="FrontParamA">-0.5</float>
<float name="FrontParamB">0.5</float>
<token name="FrontSurface">0</token>
<token name="FrontSurfaceInput">0</token>
<float name="LeftParamA">-0.5</float>
<float name="LeftParamB">0.5</float>
<token name="LeftSurface">0</token>
<token name="LeftSurfaceInput">0</token>
<bool name="Locked">false</bool>
<string name="Name">Part</string>
<float name="Reflectance">0</float>
<float name="RightParamA">-0.5</float>
<float name="RightParamB">0.5</float>
<token name="RightSurface">0</token>
<token name="RightSurfaceInput">0</token>
<Vector3 name="RotVelocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<float name="TopParamA">-0.5</float>
<float name="TopParamB">0.5</float>
<token name="TopSurface">0</token>
<token name="TopSurfaceInput">0</token>
<float name="Transparency">0</float>
<Vector3 name="Velocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>4</X>
<Y>4</Y>
<Z>4</Z>
</Vector3>
</Properties>
</Item>
<Item class="Part">
<Properties>
<bool name="Anchored">false</bool>
<float name="BackParamA">-0.5</float>
<float name="BackParamB">0.5</float>
<token name="BackSurface">0</token>
<token name="BackSurfaceInput">0</token>
<float name="BottomParamA">-0.5</float>
<float name="BottomParamB">0.5</float>
<token name="BottomSurface">0</token>
<token name="BottomSurfaceInput">0</token>
<int name="BrickColor">23</int>
<CoordinateFrame name="CFrame">
<X>0</X>
<Y>81.3000031</Y>
<Z>-25</Z>
<R00>1</R00>
<R01>0</R01>
<R02>0</R02>
<R10>0</R10>
<R11>1</R11>
<R12>0</R12>
<R20>0</R20>
<R21>0</R21>
<R22>1</R22>
</CoordinateFrame>
<bool name="CanCollide">true</bool>
<bool name="CastsShadows">false</bool>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="Cullable">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<float name="Friction">0.300000012</float>
<float name="FrontParamA">-0.5</float>
<float name="FrontParamB">0.5</float>
<token name="FrontSurface">0</token>
<token name="FrontSurfaceInput">0</token>
<float name="LeftParamA">-0.5</float>
<float name="LeftParamB">0.5</float>
<token name="LeftSurface">0</token>
<token name="LeftSurfaceInput">0</token>
<bool name="Locked">false</bool>
<string name="Name">Part</string>
<float name="Reflectance">0</float>
<float name="RightParamA">-0.5</float>
<float name="RightParamB">0.5</float>
<token name="RightSurface">0</token>
<token name="RightSurfaceInput">0</token>
<Vector3 name="RotVelocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<float name="TopParamA">-0.5</float>
<float name="TopParamB">0.5</float>
<token name="TopSurface">0</token>
<token name="TopSurfaceInput">0</token>
<float name="Transparency">0</float>
<Vector3 name="Velocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>8</X>
<Y>8</Y>
<Z>8</Z>
</Vector3>
</Properties>
</Item>
<Item class="Part">
<Properties>
<bool name="Anchored">false</bool>
<float name="BackParamA">-0.5</float>
<float name="BackParamB">0.5</float>
<token name="BackSurface">0</token>
<token name="BackSurfaceInput">0</token>
<float name="BottomParamA">-0.5</float>
<float name="BottomParamB">0.5</float>
<token name="BottomSurface">0</token>
<token name="BottomSurfaceInput">0</token>
<int name="BrickColor">23</int>
<CoordinateFrame name="CFrame">
<X>0</X>
<Y>85.3000031</Y>
<Z>18</Z>
<R00>1</R00>
<R01>0</R01>
<R02>0</R02>
<R10>0</R10>
<R11>1</R11>
<R12>0</R12>
<R20>0</R20>
<R21>0</R21>
<R22>1</R22>
</CoordinateFrame>
<bool name="CanCollide">true</bool>
<bool name="CastsShadows">false</bool>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="Cullable">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<float name="Friction">0.300000012</float>
<float name="FrontParamA">-0.5</float>
<float name="FrontParamB">0.5</float>
<token name="FrontSurface">0</token>
<token name="FrontSurfaceInput">0</token>
<float name="LeftParamA">-0.5</float>
<float name="LeftParamB">0.5</float>
<token name="LeftSurface">0</token>
<token name="LeftSurfaceInput">0</token>
<bool name="Locked">false</bool>
<string name="Name">Part</string>
<float name="Reflectance">0</float>
<float name="RightParamA">-0.5</float>
<float name="RightParamB">0.5</float>
<token name="RightSurface">0</token>
<token name="RightSurfaceInput">0</token>
<Vector3 name="RotVelocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<float name="TopParamA">-0.5</float>
<float name="TopParamB">0.5</float>
<token name="TopSurface">0</token>
<token name="TopSurfaceInput">0</token>
<float name="Transparency">0</float>
<Vector3 name="Velocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>16</X>
<Y>16</Y>
<Z>16</Z>
</Vector3>
</Properties>
</Item>
<Item class="Part">
<Properties>
<bool name="Anchored">false</bool>
<float name="BackParamA">-0.5</float>
<float name="BackParamB">0.5</float>
<token name="BackSurface">0</token>
<token name="BackSurfaceInput">0</token>
<float name="BottomParamA">-0.5</float>
<float name="BottomParamB">0.5</float>
<token name="BottomSurface">0</token>
<token name="BottomSurfaceInput">0</token>
<int name="BrickColor">23</int>
<CoordinateFrame name="CFrame">
<X>0</X>
<Y>93.3000031</Y>
<Z>73</Z>
<R00>1</R00>
<R01>0</R01>
<R02>0</R02>
<R10>0</R10>
<R11>1</R11>
<R12>0</R12>
<R20>0</R20>
<R21>0</R21>
<R22>1</R22>
</CoordinateFrame>
<bool name="CanCollide">true</bool>
<bool name="CastsShadows">false</bool>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="Cullable">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<float name="Friction">0.300000012</float>
<float name="FrontParamA">-0.5</float>
<float name="FrontParamB">0.5</float>
<token name="FrontSurface">0</token>
<token name="FrontSurfaceInput">0</token>
<float name="LeftParamA">-0.5</float>
<float name="LeftParamB">0.5</float>
<token name="LeftSurface">0</token>
<token name="LeftSurfaceInput">0</token>
<bool name="Locked">false</bool>
<string name="Name">Part</string>
<float name="Reflectance">0</float>
<float name="RightParamA">-0.5</float>
<float name="RightParamB">0.5</float>
<token name="RightSurface">0</token>
<token name="RightSurfaceInput">0</token>
<Vector3 name="RotVelocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<float name="TopParamA">-0.5</float>
<float name="TopParamB">0.5</float>
<token name="TopSurface">0</token>
<token name="TopSurfaceInput">0</token>
<float name="Transparency">0</float>
<Vector3 name="Velocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>32</X>
<Y>32</Y>
<Z>32</Z>
</Vector3>
</Properties>
</Item>
</Item>
<External>RBX2</External>
<External>RBX3</External>
<Item class="Players">
<Properties>
<string name="Name">Players</string>
<bool name="archivable">true</bool>
<int name="maxPlayers">10</int>
</Properties>
</Item>
<Item class="StarterPack">
<Properties>
<string name="Name">StarterPack</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="SoundService">
<Properties>
<string name="Name">SoundService</string>
<bool name="archivable">true</bool>
<float name="distancefactor">10</float>
<float name="dopplerscale">1</float>
<float name="rolloffscale">1</float>
</Properties>
<External>RBX4</External>
<External>RBX5</External>
<External>RBX6</External>
<External>RBX7</External>
<External>RBX8</External>
<External>RBX9</External>
<External>RBX10</External>
<External>RBX11</External>
<External>RBX12</External>
<External>RBX13</External>
<External>RBX14</External>
<External>RBX15</External>
<External>RBX16</External>
<External>RBX17</External>
</Item>
<Item class="Lighting">
<Properties>
<Color3 name="BottomAmbientV9">4286220152</Color3>
<Color3 name="ClearColor">4278190080</Color3>
<string name="Name">Lighting</string>
<Color3 name="SpotLightV9">4290822336</Color3>
<string name="TimeOfDay">14:00:00</string>
<Color3 name="TopAmbientV9">4292006362</Color3>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="ControllerService">
<Properties>
<string name="Name">Instance</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
<External>RBX18</External>
<External>RBX19</External>
<External>RBX20</External>
</roblox>

File diff suppressed because it is too large Load Diff

View File

@@ -1,660 +0,0 @@
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.roblox.com/roblox.xsd" version="4">
<External>null</External>
<External>nil</External>
<Item class="Workspace" referent="RBX0">
<Properties>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<Ref name="CurrentCamera">RBX1</Ref>
<double name="DistributedGameTime">0</double>
<CoordinateFrame name="ModelInPrimary">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
<R00>1</R00>
<R01>0</R01>
<R02>0</R02>
<R10>0</R10>
<R11>1</R11>
<R12>0</R12>
<R20>0</R20>
<R21>0</R21>
<R22>1</R22>
</CoordinateFrame>
<string name="Name">Workspace</string>
<Ref name="PrimaryPart">null</Ref>
<bool name="archivable">true</bool>
</Properties>
<Item class="Camera" referent="RBX1">
<Properties>
<Ref name="CameraSubject">null</Ref>
<token name="CameraType">0</token>
<CoordinateFrame name="CoordinateFrame">
<X>-62.3436203</X>
<Y>290.964996</Y>
<Z>130.047195</Z>
<R00>0.900759101</R00>
<R01>0.385544956</R01>
<R02>-0.199970409</R02>
<R10>3.07713033e-009</R10>
<R11>0.460422784</R11>
<R12>0.887699783</R12>
<R20>0.434319079</R20>
<R21>-0.799603641</R21>
<R22>0.414730012</R22>
</CoordinateFrame>
<CoordinateFrame name="Focus">
<X>-58.3442116</X>
<Y>273.210999</Y>
<Z>121.752594</Z>
<R00>1</R00>
<R01>0</R01>
<R02>0</R02>
<R10>0</R10>
<R11>1</R11>
<R12>0</R12>
<R20>0</R20>
<R21>0</R21>
<R22>1</R22>
</CoordinateFrame>
<string name="Name">Camera</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="Part" referent="RBX2">
<Properties>
<bool name="Anchored">true</bool>
<float name="BackParamA">-0.5</float>
<float name="BackParamB">0.5</float>
<token name="BackSurface">0</token>
<token name="BackSurfaceInput">0</token>
<float name="BottomParamA">-0.5</float>
<float name="BottomParamB">0.5</float>
<token name="BottomSurface">4</token>
<token name="BottomSurfaceInput">0</token>
<int name="BrickColor">37</int>
<CoordinateFrame name="CFrame">
<X>0</X>
<Y>0.600000024</Y>
<Z>0</Z>
<R00>-1</R00>
<R01>0</R01>
<R02>-0</R02>
<R10>-0</R10>
<R11>1</R11>
<R12>-0</R12>
<R20>-0</R20>
<R21>0</R21>
<R22>-1</R22>
</CoordinateFrame>
<bool name="CanCollide">true</bool>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">1</token>
<float name="Friction">0.300000012</float>
<float name="FrontParamA">-0.5</float>
<float name="FrontParamB">0.5</float>
<token name="FrontSurface">0</token>
<token name="FrontSurfaceInput">0</token>
<float name="LeftParamA">-0.5</float>
<float name="LeftParamB">0.5</float>
<token name="LeftSurface">0</token>
<token name="LeftSurfaceInput">0</token>
<bool name="Locked">true</bool>
<string name="Name">Baseplate</string>
<float name="Reflectance">0</float>
<float name="RightParamA">-0.5</float>
<float name="RightParamB">0.5</float>
<token name="RightSurface">0</token>
<token name="RightSurfaceInput">0</token>
<Vector3 name="RotVelocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<float name="TopParamA">-0.5</float>
<float name="TopParamB">0.5</float>
<token name="TopSurface">3</token>
<token name="TopSurfaceInput">0</token>
<float name="Transparency">0</float>
<Vector3 name="Velocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>512</X>
<Y>1.20000005</Y>
<Z>512</Z>
</Vector3>
</Properties>
</Item>
<Item class="Part" referent="RBX3">
<Properties>
<bool name="Anchored">false</bool>
<float name="BackParamA">-0.5</float>
<float name="BackParamB">0.5</float>
<token name="BackSurface">0</token>
<token name="BackSurfaceInput">0</token>
<float name="BottomParamA">-0.5</float>
<float name="BottomParamB">0.5</float>
<token name="BottomSurface">4</token>
<token name="BottomSurfaceInput">0</token>
<int name="BrickColor">28</int>
<CoordinateFrame name="CFrame">
<X>-2</X>
<Y>5.69999981</Y>
<Z>1</Z>
<R00>-1</R00>
<R01>0</R01>
<R02>0</R02>
<R10>0</R10>
<R11>1</R11>
<R12>0</R12>
<R20>0</R20>
<R21>0</R21>
<R22>-1</R22>
</CoordinateFrame>
<bool name="CanCollide">true</bool>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<float name="Friction">0.300000012</float>
<float name="FrontParamA">-0.5</float>
<float name="FrontParamB">0.5</float>
<token name="FrontSurface">0</token>
<token name="FrontSurfaceInput">0</token>
<float name="LeftParamA">-0.5</float>
<float name="LeftParamB">0.5</float>
<token name="LeftSurface">0</token>
<token name="LeftSurfaceInput">0</token>
<bool name="Locked">false</bool>
<string name="Name">Smooth Block Model</string>
<float name="Reflectance">0</float>
<float name="RightParamA">-0.5</float>
<float name="RightParamB">0.5</float>
<token name="RightSurface">0</token>
<token name="RightSurfaceInput">0</token>
<Vector3 name="RotVelocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<float name="TopParamA">-0.5</float>
<float name="TopParamB">0.5</float>
<token name="TopSurface">3</token>
<token name="TopSurfaceInput">0</token>
<float name="Transparency">0</float>
<Vector3 name="Velocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>2</X>
<Y>9</Y>
<Z>2</Z>
</Vector3>
</Properties>
</Item>
<Item class="Part" referent="RBX4">
<Properties>
<bool name="Anchored">false</bool>
<float name="BackParamA">-0.5</float>
<float name="BackParamB">0.5</float>
<token name="BackSurface">0</token>
<token name="BackSurfaceInput">0</token>
<float name="BottomParamA">-0.5</float>
<float name="BottomParamB">0.5</float>
<token name="BottomSurface">4</token>
<token name="BottomSurfaceInput">0</token>
<int name="BrickColor">28</int>
<CoordinateFrame name="CFrame">
<X>6</X>
<Y>5.69999981</Y>
<Z>1</Z>
<R00>-1</R00>
<R01>0</R01>
<R02>0</R02>
<R10>0</R10>
<R11>1</R11>
<R12>0</R12>
<R20>0</R20>
<R21>0</R21>
<R22>-1</R22>
</CoordinateFrame>
<bool name="CanCollide">true</bool>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<float name="Friction">0.300000012</float>
<float name="FrontParamA">-0.5</float>
<float name="FrontParamB">0.5</float>
<token name="FrontSurface">0</token>
<token name="FrontSurfaceInput">0</token>
<float name="LeftParamA">-0.5</float>
<float name="LeftParamB">0.5</float>
<token name="LeftSurface">0</token>
<token name="LeftSurfaceInput">0</token>
<bool name="Locked">false</bool>
<string name="Name">Smooth Block Model</string>
<float name="Reflectance">0</float>
<float name="RightParamA">-0.5</float>
<float name="RightParamB">0.5</float>
<token name="RightSurface">0</token>
<token name="RightSurfaceInput">0</token>
<Vector3 name="RotVelocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<float name="TopParamA">-0.5</float>
<float name="TopParamB">0.5</float>
<token name="TopSurface">3</token>
<token name="TopSurfaceInput">0</token>
<float name="Transparency">0</float>
<Vector3 name="Velocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>2</X>
<Y>9</Y>
<Z>2</Z>
</Vector3>
</Properties>
</Item>
<Item class="Part" referent="RBX5">
<Properties>
<bool name="Anchored">false</bool>
<float name="BackParamA">-0.5</float>
<float name="BackParamB">0.5</float>
<token name="BackSurface">0</token>
<token name="BackSurfaceInput">0</token>
<float name="BottomParamA">-0.5</float>
<float name="BottomParamB">0.5</float>
<token name="BottomSurface">4</token>
<token name="BottomSurfaceInput">0</token>
<int name="BrickColor">28</int>
<CoordinateFrame name="CFrame">
<X>6</X>
<Y>5.69999981</Y>
<Z>-7</Z>
<R00>-1</R00>
<R01>0</R01>
<R02>0</R02>
<R10>0</R10>
<R11>1</R11>
<R12>0</R12>
<R20>0</R20>
<R21>0</R21>
<R22>-1</R22>
</CoordinateFrame>
<bool name="CanCollide">true</bool>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<float name="Friction">0.300000012</float>
<float name="FrontParamA">-0.5</float>
<float name="FrontParamB">0.5</float>
<token name="FrontSurface">0</token>
<token name="FrontSurfaceInput">0</token>
<float name="LeftParamA">-0.5</float>
<float name="LeftParamB">0.5</float>
<token name="LeftSurface">0</token>
<token name="LeftSurfaceInput">0</token>
<bool name="Locked">false</bool>
<string name="Name">Smooth Block Model</string>
<float name="Reflectance">0</float>
<float name="RightParamA">-0.5</float>
<float name="RightParamB">0.5</float>
<token name="RightSurface">0</token>
<token name="RightSurfaceInput">0</token>
<Vector3 name="RotVelocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<float name="TopParamA">-0.5</float>
<float name="TopParamB">0.5</float>
<token name="TopSurface">3</token>
<token name="TopSurfaceInput">0</token>
<float name="Transparency">0</float>
<Vector3 name="Velocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>2</X>
<Y>9</Y>
<Z>2</Z>
</Vector3>
</Properties>
</Item>
<Item class="Part" referent="RBX6">
<Properties>
<bool name="Anchored">false</bool>
<float name="BackParamA">-0.5</float>
<float name="BackParamB">0.5</float>
<token name="BackSurface">0</token>
<token name="BackSurfaceInput">0</token>
<float name="BottomParamA">-0.5</float>
<float name="BottomParamB">0.5</float>
<token name="BottomSurface">4</token>
<token name="BottomSurfaceInput">0</token>
<int name="BrickColor">28</int>
<CoordinateFrame name="CFrame">
<X>-2</X>
<Y>5.69999981</Y>
<Z>-7</Z>
<R00>-1</R00>
<R01>0</R01>
<R02>0</R02>
<R10>0</R10>
<R11>1</R11>
<R12>0</R12>
<R20>0</R20>
<R21>0</R21>
<R22>-1</R22>
</CoordinateFrame>
<bool name="CanCollide">true</bool>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<float name="Friction">0.300000012</float>
<float name="FrontParamA">-0.5</float>
<float name="FrontParamB">0.5</float>
<token name="FrontSurface">0</token>
<token name="FrontSurfaceInput">0</token>
<float name="LeftParamA">-0.5</float>
<float name="LeftParamB">0.5</float>
<token name="LeftSurface">0</token>
<token name="LeftSurfaceInput">0</token>
<bool name="Locked">false</bool>
<string name="Name">Smooth Block Model</string>
<float name="Reflectance">0</float>
<float name="RightParamA">-0.5</float>
<float name="RightParamB">0.5</float>
<token name="RightSurface">0</token>
<token name="RightSurfaceInput">0</token>
<Vector3 name="RotVelocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<float name="TopParamA">-0.5</float>
<float name="TopParamB">0.5</float>
<token name="TopSurface">3</token>
<token name="TopSurfaceInput">0</token>
<float name="Transparency">0</float>
<Vector3 name="Velocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>2</X>
<Y>9</Y>
<Z>2</Z>
</Vector3>
</Properties>
</Item>
<Item class="Part" referent="RBX7">
<Properties>
<bool name="Anchored">false</bool>
<float name="BackParamA">-0.5</float>
<float name="BackParamB">0.5</float>
<token name="BackSurface">0</token>
<token name="BackSurfaceInput">0</token>
<float name="BottomParamA">-0.5</float>
<float name="BottomParamB">0.5</float>
<token name="BottomSurface">4</token>
<token name="BottomSurfaceInput">0</token>
<int name="BrickColor">28</int>
<CoordinateFrame name="CFrame">
<X>2</X>
<Y>11.1999998</Y>
<Z>-3</Z>
<R00>-1</R00>
<R01>0</R01>
<R02>0</R02>
<R10>0</R10>
<R11>1</R11>
<R12>0</R12>
<R20>0</R20>
<R21>0</R21>
<R22>-1</R22>
</CoordinateFrame>
<bool name="CanCollide">true</bool>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<float name="Friction">0.300000012</float>
<float name="FrontParamA">-0.5</float>
<float name="FrontParamB">0.5</float>
<token name="FrontSurface">0</token>
<token name="FrontSurfaceInput">0</token>
<float name="LeftParamA">-0.5</float>
<float name="LeftParamB">0.5</float>
<token name="LeftSurface">0</token>
<token name="LeftSurfaceInput">0</token>
<bool name="Locked">false</bool>
<string name="Name">Smooth Block Model</string>
<float name="Reflectance">0</float>
<float name="RightParamA">-0.5</float>
<float name="RightParamB">0.5</float>
<token name="RightSurface">0</token>
<token name="RightSurfaceInput">0</token>
<Vector3 name="RotVelocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<float name="TopParamA">-0.5</float>
<float name="TopParamB">0.5</float>
<token name="TopSurface">3</token>
<token name="TopSurfaceInput">0</token>
<float name="Transparency">0</float>
<Vector3 name="Velocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>10</X>
<Y>2</Y>
<Z>10</Z>
</Vector3>
</Properties>
</Item>
<Item class="Part" referent="RBX8">
<Properties>
<bool name="Anchored">false</bool>
<float name="BackParamA">-0.5</float>
<float name="BackParamB">0.5</float>
<token name="BackSurface">0</token>
<token name="BackSurfaceInput">0</token>
<float name="BottomParamA">-0.5</float>
<float name="BottomParamB">0.5</float>
<token name="BottomSurface">4</token>
<token name="BottomSurfaceInput">0</token>
<int name="BrickColor">28</int>
<CoordinateFrame name="CFrame">
<X>2</X>
<Y>13.1999998</Y>
<Z>-3</Z>
<R00>-1</R00>
<R01>0</R01>
<R02>0</R02>
<R10>0</R10>
<R11>1</R11>
<R12>0</R12>
<R20>0</R20>
<R21>0</R21>
<R22>-1</R22>
</CoordinateFrame>
<bool name="CanCollide">true</bool>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<float name="Friction">0.300000012</float>
<float name="FrontParamA">-0.5</float>
<float name="FrontParamB">0.5</float>
<token name="FrontSurface">0</token>
<token name="FrontSurfaceInput">0</token>
<float name="LeftParamA">-0.5</float>
<float name="LeftParamB">0.5</float>
<token name="LeftSurface">0</token>
<token name="LeftSurfaceInput">0</token>
<bool name="Locked">false</bool>
<string name="Name">Smooth Block Model</string>
<float name="Reflectance">0</float>
<float name="RightParamA">-0.5</float>
<float name="RightParamB">0.5</float>
<token name="RightSurface">0</token>
<token name="RightSurfaceInput">0</token>
<Vector3 name="RotVelocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<float name="TopParamA">-0.5</float>
<float name="TopParamB">0.5</float>
<token name="TopSurface">3</token>
<token name="TopSurfaceInput">0</token>
<float name="Transparency">0</float>
<Vector3 name="Velocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>6</X>
<Y>2</Y>
<Z>6</Z>
</Vector3>
</Properties>
</Item>
</Item>
<Item class="RunService" referent="RBX9">
<Properties>
<string name="Name">Run Service</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
<External>RBX10</External>
<External>RBX11</External>
<Item class="Players" referent="RBX12">
<Properties>
<int name="MaxPlayers">12</int>
<string name="Name">Players</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="StarterPack" referent="RBX13">
<Properties>
<string name="Name">StarterPack</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="SoundService" referent="RBX14">
<Properties>
<token name="AmbientReverb">0</token>
<float name="DistanceFactor">10</float>
<float name="DopplerScale">1</float>
<string name="Name">Soundscape</string>
<float name="RolloffScale">1</float>
<bool name="archivable">true</bool>
</Properties>
<External>RBX15</External>
<External>RBX16</External>
<External>RBX17</External>
<External>RBX18</External>
<External>RBX19</External>
<External>RBX20</External>
<External>RBX21</External>
<External>RBX22</External>
<External>RBX23</External>
<External>RBX24</External>
<External>RBX25</External>
<External>RBX26</External>
<External>RBX27</External>
<External>RBX28</External>
</Item>
<Item class="ContentProvider" referent="RBX29">
<Properties>
<string name="Name">Instance</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="PhysicsService" referent="RBX30">
<Properties>
<string name="Name">PhysicsService</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
<External>RBX31</External>
<Item class="Selection" referent="RBX32">
<Properties>
<string name="Name">Selection</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
<External>RBX33</External>
<Item class="Lighting" referent="RBX34">
<Properties>
<Color3 name="Ambient">4286611584</Color3>
<float name="Brightness">1</float>
<Color3 name="ColorShift_Bottom">4278190080</Color3>
<Color3 name="ColorShift_Top">4278190080</Color3>
<float name="GeographicLatitude">41.7332993</float>
<string name="Name">Lighting</string>
<Color3 name="ShadowColor">4289967032</Color3>
<string name="TimeOfDay">14:00:00</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="ControllerService" referent="RBX35">
<Properties>
<string name="Name">Instance</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="ChangeHistoryService" referent="RBX36">
<Properties>
<string name="Name">ChangeHistoryService</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
<External>RBX37</External>
</roblox>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 955 B

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 971 B

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 984 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 864 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

View File

@@ -0,0 +1,8 @@
#pragma once
namespace B3D{
namespace AbstractedInput{
static const unsigned char MOUSE_LEFT = 0x01;
static const unsigned char MOUSE_RIGHT = 0x02;
static const unsigned char MOUSE_MIDDLE = 0x03;
}
}

View File

@@ -1,22 +1,21 @@
#pragma once
#include <G3DAll.h>
#include "PropertyWindow.h"
#include "DataModelV2/TextButtonInstance.h"
#include "DataModelV2/ImageButtonInstance.h"
#include "DataModelV3/Gui/TextButtonInstance.h"
#include "DataModelV3/Gui/ImageButtonInstance.h"
#include "CameraController.h"
#include "IEBrowser.h"
#include "Mouse.h"
#include "Tool/Tool.h"
class TextButtonInstance;
class ImageButtonInstance;
class PartInstance;
class B3D::TextButtonInstance;
class B3D::ImageButtonInstance;
class B3D::PartInstance;
class CameraController;
class Application { // : public GApp {
public:
Application(HWND parentWindow);
void Boop();
virtual ~Application() {}
virtual void exitApplication();
virtual void onInit();
@@ -29,8 +28,6 @@ class Application { // : public GApp {
void clearInstances();
void navigateToolbox(std::string);
PartInstance* makePart();
void drawButtons(RenderDevice* rd);
void drawOutline(Vector3 from, Vector3 to, RenderDevice* rd, LightingParameters lighting, Vector3 size, Vector3 pos, CoordinateFrame c);
void deleteInstance();
void run();
void QuitApp();
@@ -74,13 +71,15 @@ class Application { // : public GApp {
HWND _hwndToolbox;
HWND _buttonTest;
HWND _hwndRenderer;
//TODO make list
DataModelInstance* _dataModel;
G3D::TextureRef shadowMap;
std::string _title;
//TODO deprecated?
bool _dragging;
//TODO deprecated
int _mode;
//Can be moved?
GAppSettings _settings;
double lightProjX, lightProjY, lightProjNear, lightProjFar;
IEBrowser* webBrowser;
protected:
Stopwatch m_graphicsWatch;

View File

@@ -1,7 +1,7 @@
#pragma once
#include <G3DAll.h>
#include "DataModelV2/Instance.h"
#include "DataModelV3/Instance.h"
#include "Globals.h"
#include <string>

View File

@@ -1,26 +0,0 @@
#pragma once
#include "Instance.h"
#include "Listener/ButtonListener.h"
class ButtonListener;
class Instance;
class BaseButtonInstance : public Instance
{
public:
BaseButtonInstance(void);
virtual ~BaseButtonInstance(void);
virtual void render(RenderDevice* rd);
virtual void drawObj(RenderDevice* rd, Vector2 mousePos, bool mouseDown);
virtual bool mouseInButton(float, float, RenderDevice* rd);
virtual void onMouseClick();
void setButtonListener(ButtonListener&);
bool floatBottom;
bool floatRight;
bool floatCenter;
volatile bool disabled;
bool selected;
protected:
bool mouseInArea(float, float, float, float, float, float);
class ButtonListener* listener;
};

View File

@@ -1,57 +0,0 @@
#pragma once
#include "Instance.h"
struct UDim
{
float scale;
float offset;
UDim()
{
scale = offset = 0;
}
UDim(float scale_, float offset_)
{
scale = scale_;
offset = offset_;
}
};
struct UDim2
{
UDim x;
UDim y;
UDim2(UDim x_, UDim y_)
{
x = x_;
y = y_;
}
UDim2(float scale_x, float offset_x, float scale_y, float offset_y)
{
x = UDim(scale_x, offset_x);
y = UDim(scale_y, offset_y);
}
};
class Instance;
class BaseGuiInstance : public Instance
{
public:
BaseGuiInstance(void);
virtual ~BaseGuiInstance(void);
virtual void render(RenderDevice* rd);
virtual bool mouseHovered(float, float, RenderDevice* rd);
UDim2 position;
UDim2 size;
static G3D::Color4 translucentBackdrop()
{
return G3D::Color4(0.60000002F, 0.60000002F, 0.60000002F, 0.60000002F);
}
static G3D::Color4 disabledFill()
{
return G3D::Color4(0.69999999F, 0.69999999F, 0.69999999F, 0.5F);
}
protected:
bool mouseInArea(float, float, float, float, float, float);
class ButtonListener* listener;
};

View File

@@ -1,79 +0,0 @@
#pragma once
// Instances
#include "WorkspaceInstance.h"
#include "LevelInstance.h"
#include "PartInstance.h"
#include "SelectionService.h"
#include "GuiRootInstance.h"
#include "ThumbnailGeneratorInstance.h"
#include "XplicitNgine/XplicitNgine.h"
#include "SoundService.h"
#include "LightingInstance.h"
// Libraries
#include "rapidxml/rapidxml.hpp"
class GuiRootInstance;
class DataModelInstance :
public Instance
{
public:
DataModelInstance(void);
~DataModelInstance(void);
void setMessage(std::string);
void setMessageBrickCount();
void clearMessage();
bool debugGetOpen();
bool getOpen();
bool getOpenModel();
bool load(const char* filename,bool clearObjects);
bool loadModel(const char* filename);
bool readXMLFileStream(std::ifstream* file);
void drawMessage(RenderDevice*);
// Instance getters
WorkspaceInstance* getWorkspace();
LevelInstance* getLevel();
XplicitNgine* getEngine();
ThumbnailGeneratorInstance* getThumbnailGenerator();
SoundService* getSoundService();
LightingInstance* getLighting();
std::string message;
std::string _loadedFileName;
bool showMessage;
G3D::GFontRef font;
GuiRootInstance* getGuiRoot();
SelectionService* getSelectionService();
PartInstance* makePart();
void clearLevel();
void toggleRun();
bool isRunning();
void resetEngine();
#if _DEBUG
void modXMLLevel(float modY);
#endif
private:
bool isBrickCount;
bool scanXMLObject(rapidxml::xml_node<>* node);
rapidxml::xml_node<>* getNode(rapidxml::xml_node<> * node,const char* name );
float getFloatValue(rapidxml::xml_node<> * node,const char* name);
bool _successfulLoad;
std::string _errMsg;
bool _legacyLoad;
float _modY;
// Instances
WorkspaceInstance* workspace;
LevelInstance* level;
GuiRootInstance* guiRoot;
SelectionService* selectionService;
ThumbnailGeneratorInstance* thumbnailGenerator;
XplicitNgine* xplicitNgine;
SoundService* soundService;
LightingInstance* lightingInstance;
bool running;
};

View File

@@ -1,16 +0,0 @@
#pragma once
#include "PartInstance.h"
class GroupInstance :
public PVInstance
{
public:
GroupInstance(void);
~GroupInstance(void);
GroupInstance(const GroupInstance &oinst);
virtual std::vector<PROPGRIDITEM> getProperties();
virtual void PropUpdate(LPPROPGRIDITEM &pItem);
std::vector<Instance *> unGroup();
PartInstance * primaryPart;
void render(RenderDevice * r);
};

View File

@@ -1,26 +0,0 @@
#pragma once
#include "Instance.h"
class ImageButtonInstance;
class TextButtonInstance;
class GuiRootInstance : public Instance
{
public:
GuiRootInstance();
GuiRootInstance::~GuiRootInstance();
TextButtonInstance* makeTextButton();
void drawButtons(RenderDevice* rd);
ImageButtonInstance* makeImageButton(G3D::TextureRef newImage, G3D::TextureRef overImage, G3D::TextureRef downImage, G3D::TextureRef disableImage);
void renderGUI(G3D::RenderDevice* rd, double fps);
void setDebugMessage(std::string msg, G3D::RealTime msgTime);
void update();
bool mouseInGUI(G3D::RenderDevice* renderDevice,int x,int y);
void onMouseLeftUp(G3D::RenderDevice* renderDevice, int x,int y);
void hideGui(bool doHide);
private:
std::string _message;
G3D::RealTime _messageTime;
bool _hideGui;
};

View File

@@ -1,27 +0,0 @@
#pragma once
#include "BaseButtonInstance.h"
class BaseButtonInstance;
class ImageButtonInstance : public BaseButtonInstance
{
public:
//ImageButtonInstance(G3D::TextureRef);
//ImageButtonInstance(G3D::TextureRef,G3D::TextureRef);
//ImageButtonInstance(G3D::TextureRef,G3D::TextureRef,G3D::TextureRef);
ImageButtonInstance(G3D::TextureRef,G3D::TextureRef,G3D::TextureRef,G3D::TextureRef);
~ImageButtonInstance(void);
void drawObj(RenderDevice*, Vector2, bool);
Vector2 size;
Vector2 position;
G3D::TextureRef image;
int openGLID;
G3D::TextureRef image_ovr;
int openGLID_ovr;
G3D::TextureRef image_dn;
int openGLID_dn;
G3D::TextureRef image_ds;
int openGLID_ds;
bool mouseInButton(float, float, RenderDevice*);
};

View File

@@ -1,38 +0,0 @@
#pragma once
#include <G3DAll.h>
#include "propertyGrid.h"
#include "map"
class Instance
{
public:
bool canDelete;
Instance(void);
Instance(const Instance&);
virtual ~Instance(void);
std::string name;
virtual void render(RenderDevice*);
virtual void renderName(RenderDevice*);
virtual void update();
std::vector<Instance*> children; // All children.
std::string getClassName();
Instance* findFirstChild(std::string);
std::vector<Instance* > getChildren();
std::vector<Instance* > getAllChildren();
virtual void setParent(Instance*);
void setName(std::string newName);
void addChild(Instance*);
void removeChild(Instance*);
void clearChildren();
Instance* getParent();
virtual Instance* clone() const { return new Instance(*this); }
virtual std::vector<PROPGRIDITEM> getProperties();
virtual void PropUpdate(LPPROPGRIDITEM &pItem);
int listicon;
protected:
std::string className;
Instance* parent; // Another pointer.
PROPGRIDITEM createPGI(LPSTR catalog, LPSTR propName, LPSTR propDesc, LPARAM curVal, INT type, TCHAR choices[] = NULL);
private:
static const std::map<std::string, Instance> g_logLevelsDescriptions;
};

View File

@@ -1,25 +0,0 @@
#pragma once
#include "instance.h"
class LevelInstance :
public Instance
{
public:
LevelInstance(void);
~LevelInstance(void);
bool HighScoreIsGood;
Enum::ActionType::Value TimerUpAction;
Enum::AffectType::Value TimerAffectsScore;
bool RunOnOpen;
float timer;
int score;
virtual std::vector<PROPGRIDITEM> getProperties();
std::string winMessage;
std::string loseMessage;
virtual void PropUpdate(LPPROPGRIDITEM &pItem);
void winCondition();
void loseCondition();
void pauseCondition();
void drawCondition();
void Step(SimTime sdt);
};

View File

@@ -1,43 +0,0 @@
#pragma once
#include "Instance.h"
class LightingInstance :
public Instance
{
public:
LightingInstance(void);
~LightingInstance(void);
// Getters
G3D::Color3 getTopAmbient();
G3D::Color3 getBottomAmbient();
G3D::Color3 getSpotLight();
G3D::Color4 getClearColor();
G3D::SkyRef getSky();
G3D::LightingParameters getLightingParameters();
// Setters
void setTopAmbient(G3D::Color3 newValue);
void setBottomAmbient(G3D::Color3 newValue);
void setSpotLight(G3D::Color3 newValue);
void setClearColor(G3D::Color4 clearColor);
// Functions
void drawSky();
void suppressSky(bool doSuppress);
void update();
void drawEffects();
// Properties
void PropUpdate(LPPROPGRIDITEM &pItem);
std::vector<PROPGRIDITEM> getProperties();
private:
G3D::Color3 topAmbient;
G3D::Color3 bottomAmbient;
G3D::Color3 spotLight;
G3D::Color4 clearColor;
G3D::SkyRef sky;
G3D::LightingParameters lighting;
bool _hideSky;
};

View File

@@ -1,36 +0,0 @@
#pragma once
#include "instance.h"
#include "enum.h"
#include <ode/ode.h>
class PVInstance :
public Instance
{
public:
PVInstance(void);
~PVInstance(void);
PVInstance(const PVInstance &oinst);
virtual void postRender(RenderDevice* rd);
virtual std::vector<PROPGRIDITEM> getProperties();
virtual void PropUpdate(LPPROPGRIDITEM &pItem);
bool nameShown;
bool controllerFlagShown;
Enum::Controller::Value controller;
protected:
CoordinateFrame cFrame;
static G3D::Color3 getControllerColor(int controller)
{
switch(controller)
{
case Enum::Controller::KeyboardLeft:
return Color3::red();
case Enum::Controller::KeyboardRight:
return Color3::blue();
case Enum::Controller::Chase:
return Color3::black();
case Enum::Controller::Flee:
return Color3::yellow();
}
return Color3::gray();
}
};

View File

@@ -1,104 +0,0 @@
#pragma once
#include "PVInstance.h"
#include "Enum.h"
#define _USE_MATH_DEFINES
#include <cmath>
class PartInstance : public PVInstance
{
public:
PartInstance(void);
PartInstance(const PartInstance &oinst);
~PartInstance(void);
Instance* clone() const { return new PartInstance(*this); }
//Rendering
virtual void PartInstance::postRender(RenderDevice* rd);
virtual void render(RenderDevice*);
virtual void renderName(RenderDevice*);
//Surfaces
Enum::SurfaceType::Value top;
Enum::SurfaceType::Value front;
Enum::SurfaceType::Value right;
Enum::SurfaceType::Value back;
Enum::SurfaceType::Value left;
Enum::SurfaceType::Value bottom;
//Shapes
Enum::Shape::Value shape;
//OnTocuh
Enum::ActionType::Value OnTouchAction;
Enum::Sound::Value OnTouchSound;
//Variables
Color3 color;
bool canCollide;
dBodyID physBody;
dGeomID physGeom[3];
//Getters
Vector3 getPosition();
Vector3 getVelocity();
Vector3 getRotVelocity();
Vector3 getSize();
Box getBox();
Sphere getSphere();
Box getScaledBox();
CoordinateFrame getCFrame();
//OnTouch Getters
bool isSingleShot();
int getTouchesToTrigger();
int getUniqueObjectsToTrigger();
int getChangeScore();
float getChangeTimer();
//Setters
void setParent(Instance* parent);
void setPosition(Vector3);
void setVelocity(Vector3);
void setRotVelocity(Vector3);
void setCFrame(CoordinateFrame);
void setCFrameNoSync(CoordinateFrame);
void setSize(Vector3);
void setShape(Enum::Shape::Value shape);
void setChanged();
void setSurface(int face, Enum::SurfaceType::Value surface);
void setAnchored(bool anchored);
bool isAnchored();
float getMass();
bool isDragging();
void setDragging(bool value);
//Collision
bool collides(PartInstance * part);
bool collides(Box);
// onTouch
void onTouch();
//Properties
virtual std::vector<PROPGRIDITEM> getProperties();
virtual void PropUpdate(LPPROPGRIDITEM &pItem);
private:
bool anchored;
Vector3 position;
Vector3 size;
Vector3 velocity;
Vector3 rotVelocity;
bool changed;
bool dragging;
Box itemBox;
GLuint glList;
// OnTouch
bool singleShot;
int touchesToTrigger;
int uniqueObjectsToTrigger;
int changeScore;
float changeTimer;
bool _touchedOnce;
};

View File

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

View File

@@ -1,30 +0,0 @@
#pragma once
#include "Instance.h"
class SoundInstance :
public Instance
{
public:
SoundInstance(void);
~SoundInstance(void);
// Getters
float getSoundVolume();
std::string getSoundId();
bool isPlayedOnRemove();
bool isLooped();
// Setters
void setSoundVolume(float newVolume);
void setSoundId(std::string newSoundId);
void setIsPlayedOnRemove(bool isPlayed);
void setIsLooped(bool isLooped);
// Functions
void play();
private:
float soundVolume;
std::string soundId;
bool playOnRemove;
bool looped;
};

View File

@@ -1,16 +0,0 @@
#pragma once
#include "Instance.h"
#include "SoundInstance.h"
class SoundService :
public Instance
{
public:
SoundService(void);
~SoundService(void);
float getMusicVolume();
void playSound(Instance* sound);
private:
float musicVolume;
};

View File

@@ -1,35 +0,0 @@
#pragma once
#include "BaseButtonInstance.h"
class TextButtonInstance : public BaseButtonInstance
{
public:
TextButtonInstance(void);
~TextButtonInstance(void);
void setAllColorsSame();
Vector2 boxBegin;
Vector2 boxEnd;
Vector2 fontLocationRelativeTo;
Color4 textColor;
Color4 textOutlineColor;
Color4 boxColor;
Color4 boxOutlineColor;
Color4 textColorOvr;
Color4 textOutlineColorOvr;
Color4 boxColorOvr;
Color4 boxOutlineColorOvr;
Color4 textColorDn;
Color4 textOutlineColorDn;
Color4 boxColorDn;
Color4 boxOutlineColorDn;
Color4 textColorDis;
Color4 textOutlineColorDis;
Color4 boxColorDis;
Color4 boxOutlineColorDis;
bool centeredWithinBox;
std::string title;
G3D::GFontRef font;
bool visible;
int textSize;
void drawObj(RenderDevice*, Vector2, bool);
bool mouseInButton(float, float, RenderDevice*);
};

View File

@@ -1,14 +0,0 @@
#pragma once
#include "instance.h"
class ThumbnailGeneratorInstance :
public Instance
{
public:
// Constructor / Destructor
ThumbnailGeneratorInstance(void);
~ThumbnailGeneratorInstance(void);
// Functions
std::string click(std::string fileType, int cx, int cy, bool hideSky);
};

View File

@@ -1,29 +0,0 @@
#pragma once
#include "imagebuttoninstance.h"
class ToggleImageButtonInstance : public ImageButtonInstance
{
public:
//ImageButtonInstance(G3D::TextureRef);
//ImageButtonInstance(G3D::TextureRef,G3D::TextureRef);
//ImageButtonInstance(G3D::TextureRef,G3D::TextureRef,G3D::TextureRef);
ToggleImageButtonInstance(G3D::TextureRef newImage,G3D::TextureRef overImage = NULL,
G3D::TextureRef downImage = NULL,
G3D::TextureRef disableImage = NULL,
G3D::TextureRef newImage2 = NULL,
G3D::TextureRef overImage2 = NULL,
G3D::TextureRef downImage2 = NULL,
G3D::TextureRef disableImage2 = NULL);
~ToggleImageButtonInstance(void);
void drawObj(RenderDevice*, Vector2, bool);
bool checked;
G3D::TextureRef image2;
int openGLID2;
G3D::TextureRef image_ovr2;
int openGLID2_ovr;
G3D::TextureRef image_dn2;
int openGLID2_dn;
G3D::TextureRef image_ds2;
int openGLID2_ds;
};

View File

@@ -1,14 +0,0 @@
#pragma once
#include "GroupInstance.h"
#include "PartInstance.h"
class WorkspaceInstance :
public GroupInstance
{
public:
WorkspaceInstance(void);
~WorkspaceInstance(void);
void clearChildren();
void zoomToExtents();
std::vector<PartInstance *> partObjects;
};

View File

@@ -0,0 +1,68 @@
#include "Instance.h"
using namespace B3D;
#pragma once
// Instances
#include "WorkspaceInstance.h"
#include "LevelInstance.h"
#include "PartInstance.h"
#include "SelectionService.h"
#include "Gui/GuiRootInstance.h"
//#include "ThumbnailGeneratorInstance.h"
#include "XplicitNgine/XplicitNgine.h"
#include "SoundService.h"
#include "LightingInstance.h"
#include "SignalService.h"
// Libraries
//#include "rapidxml/rapidxml.hpp"
namespace B3D {
class DataModelInstance : public Instance
{
public:
DataModelInstance(void);
~DataModelInstance(void);
void setMessage(std::string);
void setMessageBrickCount();
void clearMessage();
void drawMessage(RenderDevice*);
// Instance getters
WorkspaceInstance* getWorkspace();
LevelInstance* getLevel();
XplicitNgine* getEngine();
// ThumbnailGeneratorInstance* getThumbnailGenerator();
SoundService* getSoundService();
LightingInstance* getLighting();
SignalService * getSignalService();
std::string message;
bool showMessage;
//Should probably not be here???
G3D::GFontRef font;
GuiRootInstance* getGuiRoot();
SelectionService* getSelectionService();
void clearLevel();
void toggleRun();
bool isRunning();
void resetEngine();
private:
bool isBrickCount;
Color3 DataModelInstance::bcToRGB(short bc);
// Instances
WorkspaceInstance* workspace;
LevelInstance* level;
GuiRootInstance* guiRoot;
SelectionService* selectionService;
// ThumbnailGeneratorInstance* thumbnailGenerator;
XplicitNgine* xplicitNgine;
SoundService* soundService;
LightingInstance* lightingInstance;
SignalService * signalService;
bool running;
};
}

View File

@@ -0,0 +1,17 @@
#pragma once
#include "PartInstance.h"
namespace B3D{
class GroupInstance : public PVInstance
{
public:
GroupInstance(void);
~GroupInstance(void);
GroupInstance(const GroupInstance &oinst);
std::vector<Instance *> unGroup();
PartInstance * primaryPart;
//This is used to render the controllerflag, we may want to move it elsewhere?
void render(RenderDevice * r);
protected:
GroupInstance(std::string className);
};
}

View File

@@ -0,0 +1,28 @@
#pragma once
#include <G3DAll.h>
#include "../Instance.h"
#include "../../MenuActions.h"
namespace B3D {
class BaseButtonInstance : public Instance
{
public:
BaseButtonInstance(void);
virtual ~BaseButtonInstance(void);
virtual void render(RenderDevice* rd);
virtual void drawObj(RenderDevice* rd, Vector2 mousePos, bool mouseDown);
virtual bool mouseInButton(float, float, RenderDevice* rd);
virtual void onMouseClick();
virtual void setCallback(void (*callback)(const ActionParam &actionParam));
void setActionCode(int actionCode);
bool floatBottom;
bool floatRight;
bool floatCenter;
volatile bool disabled;
bool selected;
protected:
int actionCode;
bool mouseInArea(float, float, float, float, float, float);
void (*callback)(const ActionParam &actionParam);
};
}

View File

@@ -0,0 +1,56 @@
#pragma once
#include <G3DAll.h>
#include "../Instance.h"
namespace B3D{
struct UDim
{
float scale;
float offset;
UDim()
{
scale = offset = 0;
}
UDim(float scale_, float offset_)
{
scale = scale_;
offset = offset_;
}
};
struct UDim2
{
UDim x;
UDim y;
UDim2(UDim x_, UDim y_)
{
x = x_;
y = y_;
}
UDim2(float scale_x, float offset_x, float scale_y, float offset_y)
{
x = UDim(scale_x, offset_x);
y = UDim(scale_y, offset_y);
}
};
class BaseGuiInstance : public Instance
{
public:
BaseGuiInstance(void);
virtual ~BaseGuiInstance(void);
virtual void render(RenderDevice* rd);
virtual bool mouseHovered(float, float, RenderDevice* rd);
UDim2 position;
UDim2 size;
static G3D::Color4 translucentBackdrop()
{
return G3D::Color4(0.60000002F, 0.60000002F, 0.60000002F, 0.60000002F);
}
static G3D::Color4 disabledFill()
{
return G3D::Color4(0.69999999F, 0.69999999F, 0.69999999F, 0.5F);
}
protected:
bool mouseInArea(float, float, float, float, float, float);
};
}

View File

@@ -0,0 +1,34 @@
#pragma once
#include "../Instance.h"
namespace B3D{
//TODO deprecated
class ImageButtonInstance;
//TODO deprecated
class TextButtonInstance;
class GuiRootInstance : public Instance
{
public:
GuiRootInstance();
GuiRootInstance::~GuiRootInstance();
//TODO deprecated
TextButtonInstance* makeTextButton();
void drawButtons(RenderDevice* rd);
//TODO deprecated
ImageButtonInstance* makeImageButton(G3D::TextureRef newImage, G3D::TextureRef overImage, G3D::TextureRef downImage, G3D::TextureRef disableImage);
void renderGUI(G3D::RenderDevice* rd, double fps);
void setDebugMessage(std::string msg, G3D::RealTime msgTime);
void update();
bool mouseInGUI(G3D::RenderDevice* renderDevice,int x,int y);
void onMouseLeftUp(G3D::RenderDevice* renderDevice, int x,int y);
void hideGui(bool doHide);
private:
G3D::GFontRef fntdominant;
G3D::GFontRef fntlighttrek;
std::string _message;
G3D::RealTime _messageTime;
bool _hideGui;
};
}

View File

@@ -0,0 +1,28 @@
#pragma once
#include "BaseButtonInstance.h"
namespace B3D{
class BaseButtonInstance;
class ImageButtonInstance : public BaseButtonInstance
{
public:
//ImageButtonInstance(G3D::TextureRef);
//ImageButtonInstance(G3D::TextureRef,G3D::TextureRef);
//ImageButtonInstance(G3D::TextureRef,G3D::TextureRef,G3D::TextureRef);
ImageButtonInstance(G3D::TextureRef,G3D::TextureRef,G3D::TextureRef,G3D::TextureRef);
~ImageButtonInstance(void);
void drawObj(RenderDevice*, Vector2, bool);
Vector2 size;
Vector2 position;
G3D::TextureRef image;
int openGLID;
G3D::TextureRef image_ovr;
int openGLID_ovr;
G3D::TextureRef image_dn;
int openGLID_dn;
G3D::TextureRef image_ds;
int openGLID_ds;
bool mouseInButton(float, float, RenderDevice*);
};
}

View File

@@ -0,0 +1,37 @@
#pragma once
#include "BaseButtonInstance.h"
namespace B3D{
class TextButtonInstance : public BaseButtonInstance
{
public:
TextButtonInstance(void);
~TextButtonInstance(void);
void setAllColorsSame();
Vector2 boxBegin;
Vector2 boxEnd;
Vector2 fontLocationRelativeTo;
Color4 textColor;
Color4 textOutlineColor;
Color4 boxColor;
Color4 boxOutlineColor;
Color4 textColorOvr;
Color4 textOutlineColorOvr;
Color4 boxColorOvr;
Color4 boxOutlineColorOvr;
Color4 textColorDn;
Color4 textOutlineColorDn;
Color4 boxColorDn;
Color4 boxOutlineColorDn;
Color4 textColorDis;
Color4 textOutlineColorDis;
Color4 boxColorDis;
Color4 boxOutlineColorDis;
bool centeredWithinBox;
std::string title;
G3D::GFontRef font;
bool visible;
int textSize;
void drawObj(RenderDevice*, Vector2, bool);
bool mouseInButton(float, float, RenderDevice*);
};
}

View File

@@ -0,0 +1,31 @@
#pragma once
#include "ImageButtonInstance.h"
namespace B3D{
class ToggleImageButtonInstance : public ImageButtonInstance
{
public:
//ImageButtonInstance(G3D::TextureRef);
//ImageButtonInstance(G3D::TextureRef,G3D::TextureRef);
//ImageButtonInstance(G3D::TextureRef,G3D::TextureRef,G3D::TextureRef);
//Oh dear god
ToggleImageButtonInstance(G3D::TextureRef newImage,G3D::TextureRef overImage = NULL,
G3D::TextureRef downImage = NULL,
G3D::TextureRef disableImage = NULL,
G3D::TextureRef newImage2 = NULL,
G3D::TextureRef overImage2 = NULL,
G3D::TextureRef downImage2 = NULL,
G3D::TextureRef disableImage2 = NULL);
~ToggleImageButtonInstance(void);
void drawObj(RenderDevice*, Vector2, bool);
bool checked;
G3D::TextureRef image2;
int openGLID2;
G3D::TextureRef image_ovr2;
int openGLID2_ovr;
G3D::TextureRef image_dn2;
int openGLID2_dn;
G3D::TextureRef image_ds2;
int openGLID2_ds;
};
}

View File

@@ -0,0 +1,46 @@
//Should potentially make a "Service" class
#pragma once
#include "Instance.h"
#include "PartInstance.h"
namespace B3D{
struct MousePoint{
Vector3 position;
B3D::PartInstance * target;
MousePoint(Vector3 pos, PartInstance * targ)
{
position = pos;
target = targ;
}
};
class InputService : public Instance{
public:
InputService(void);
~InputService(void);
//Polling
int pollKeyState(unsigned char keyCode);
int pollMouseX();
int pollMouseY();
int pollMouseButton(unsigned char button);
bool pollFocus();
//Update Input
void updateMouse(int x, int y);
void updateFocus(bool focus);
//Signal
void signalKeyState(unsigned char keyCode, bool isDown);
void signalMouseButtonState(unsigned char button, bool isDown);
void signalMouseWheelState(int step);
private:
int mouseX, mouseY;
Ray lastRay;
bool hasFocus;
};
}

View File

@@ -0,0 +1,62 @@
#pragma once
#include "Reflection/Reflection.h"
#include "Reflection/ReflectionDataTable.h"
#include "Reflection/ReflectionProperty.h"
#include <G3DAll.h>
#include "SignalTypes.h"
namespace B3D
{
class DataModelInstance;
class Instance
{
public:
//Constructors
Instance(void);
Instance(const Instance&);
virtual ~Instance(void);
//Virtual Functions
virtual void render(RenderDevice*);
virtual void renderName(RenderDevice*);
virtual void update();
virtual void setParent(Instance*);
virtual void updateParentDatamodel();
//TODO implement
virtual Instance* clone() const { return new Instance(*this); }
virtual void reflectionNotify(ReflectionProperty<void*>* property);
//Functions
std::vector<Instance*> children; // All children.
std::string getClassName();
Instance* findFirstChild(std::string);
std::vector<Instance* > getChildren();
std::vector<Instance* > getAllChildren();
void setName(std::string newName);
void addChild(Instance*);
void removeChild(Instance*);
void clearChildren();
Instance* getParent();
DataModelInstance * getParentDataModel(void);
//Variables
Reflection::ReflectionProperty<std::string> name;
bool canDelete;
virtual bool postMessage(SigMesg msgId, void* lParam, void* wParam);
protected:
//Constructor
//Used specifically to identify an instance class by an instance class,
//NOT for use outside of Instance and decendants!
Instance(std::string className);
//Variables
Reflection::ReflectionDataTable * dataTable;
Instance * parent;
DataModelInstance * parentDataModel;
};
}

View File

@@ -0,0 +1,29 @@
#pragma once
#include "Instance.h"
#include "Enum.h"
namespace B3D{
class LevelInstance : public Instance
{
public:
//Constructors
LevelInstance(void);
~LevelInstance(void);
//Functions
void winCondition();
void loseCondition();
void pauseCondition();
void drawCondition();
void Step(SimTime sdt);
//Values
Reflection::ReflectionProperty<bool> highScoreIsGood;
Reflection::ReflectionProperty<Enum::ActionType::Value> timerUpAction;
Reflection::ReflectionProperty<Enum::AffectType::Value> timerAffectsScore;
Reflection::ReflectionProperty<bool> runOnOpen;
Reflection::ReflectionProperty<float> timer;
Reflection::ReflectionProperty<int> score;
Reflection::ReflectionProperty<std::string> winMessage;
Reflection::ReflectionProperty<std::string> loseMessage;
};
}

View File

@@ -0,0 +1,41 @@
#pragma once
#include "Instance.h"
namespace B3D
{
class LightingInstance : public Instance
{
public:
LightingInstance(void);
~LightingInstance(void);
// Getters
G3D::Color3 getTopAmbient();
G3D::Color3 getBottomAmbient();
G3D::Color3 getSpotLight();
G3D::Color4 getClearColor();
G3D::SkyRef getSky();
G3D::LightingParameters getLightingParameters();
// Setters
void setTopAmbient(G3D::Color3 newValue);
void setBottomAmbient(G3D::Color3 newValue);
void setSpotLight(G3D::Color3 newValue);
void setClearColor(G3D::Color3 clearColor);
// Functions
void drawSky(RenderDevice* rd);
void suppressSky(bool doSuppress);
void update(RenderDevice* rd);
void drawEffects(RenderDevice* rd);
private:
Reflection::ReflectionProperty<G3D::Color3> topAmbient;
Reflection::ReflectionProperty<G3D::Color3> bottomAmbient;
Reflection::ReflectionProperty<G3D::Color3> spotLight;
Reflection::ReflectionProperty<G3D::Color4> clearColor;
G3D::SkyRef sky;
G3D::LightingParameters lighting;
bool _hideSky;
};
}

View File

@@ -0,0 +1,38 @@
#pragma once
#include "Instance.h"
#include "Enum.h"
#include <ode/ode.h>
namespace B3D {
class PVInstance : public Instance
{
public:
~PVInstance(void);
virtual void postRender(RenderDevice* rd);
Reflection::ReflectionProperty<bool> nameShown;
Reflection::ReflectionProperty<bool> controllerFlagShown;
Reflection::ReflectionProperty<Enum::Controller::Value> controller;
protected:
PVInstance(void);
PVInstance(std::string);
Reflection::ReflectionProperty<CoordinateFrame> cFrame;
//TODO move elsewhere?
static G3D::Color3 getControllerColor(int controller)
{
switch(controller)
{
case Enum::Controller::KeyboardLeft:
return Color3::red();
case Enum::Controller::KeyboardRight:
return Color3::blue();
case Enum::Controller::Chase:
return Color3::black();
case Enum::Controller::Flee:
return Color3::yellow();
}
return Color3::gray();
}
};
}

View File

@@ -0,0 +1,102 @@
#pragma once
#include "PVInstance.h"
#include "Enum.h"
#define _USE_MATH_DEFINES
#include <cmath>
namespace B3D
{
class PartInstance : public PVInstance
{
public:
PartInstance(void);
~PartInstance(void);
//Reflective Properties
Reflection::ReflectionProperty<Color3> color;
Reflection::ReflectionProperty<bool> canCollide;
//Surfaces
Reflection::ReflectionProperty<Enum::SurfaceType::Value> top, front, right, back, left, bottom;
//Shapes
Reflection::ReflectionProperty<Enum::Shape::Value> shape;
//OnTouch
Reflection::ReflectionProperty<Enum::ActionType::Value> onTouchAction;
Reflection::ReflectionProperty<Enum::Sound::Value> onTouchSound;
//Non-Reflective Variables
dBodyID physBody;
dGeomID physGeom[3];
//Functions
//Rendering
virtual void PartInstance::postRender(RenderDevice* rd);
virtual void render(RenderDevice*);
virtual void renderName(RenderDevice*);
//Getters
Vector3 getPosition();
Vector3 getVelocity();
Vector3 getRotVelocity();
Vector3 getSize();
Box getBox();
Sphere getSphere();
Box getScaledBox();
CoordinateFrame getCFrame();
//OnTouch Getters
bool isSingleShot();
int getTouchesToTrigger();
int getUniqueObjectsToTrigger();
int getChangeScore();
float getChangeTimer();
//Setters
void setParent(Instance* parent);
void setPosition(Vector3);
void setVelocity(Vector3);
void setRotVelocity(Vector3);
void setCFrame(CoordinateFrame);
void setCFrameNoSync(CoordinateFrame);
void setSize(Vector3);
void setShape(Enum::Shape::Value shape);
void setChanged();
void setSurface(int face, Enum::SurfaceType::Value surface);
void setAnchored(bool anchored);
void reflectionNotify(ReflectionProperty<void*>* property);
bool isAnchored();
float getMass();
bool isDragging();
void setDragging(bool value);
//Collision
bool collides(PartInstance * part);
bool collides(Box);
// onTouch
void onTouch();
private:
//Reflective Properties
Reflection::ReflectionProperty<bool> anchored;
Reflection::ReflectionProperty<Vector3> position;
Reflection::ReflectionProperty<Vector3> size;
Reflection::ReflectionProperty<Vector3> velocity;
Reflection::ReflectionProperty<Vector3> rotVelocity;
// OnTouch
Reflection::ReflectionProperty<bool> singleShot;
Reflection::ReflectionProperty<int> touchesToTrigger;
Reflection::ReflectionProperty<int> uniqueObjectsToTrigger;
Reflection::ReflectionProperty<int> changeScore;
Reflection::ReflectionProperty<float> changeTimer;
//Non-reflective Variables
bool changed;
bool dragging;
Box itemBox;
GLuint glList;
bool _touchedOnce;
};
}

View File

@@ -0,0 +1,30 @@
#pragma once
#include "Instance.h"
// TODO Port PropertyWindow
//#include "PropertyWindow.h"
namespace B3D{
class SelectionService : public Instance
{
public:
SelectionService(void);
~SelectionService(void);
SelectionService(const SelectionService &oinst);
std::vector<Instance *> getSelection();
void clearSelection();
bool isSelected(Instance * instance);
void addSelected(Instance * instance);
void removeSelected(Instance * instance);
void addSelected(const std::vector<Instance *> &instances);
// TODO Port PropertyWindow
//void setPropertyWindow(PropertyWindow * propertyWindow);
void render(RenderDevice * rd);
private:
void drawOutline(Vector3 from, Vector3 to, RenderDevice* rd, Vector3 size, Vector3 pos, CoordinateFrame c);
std::vector<Instance *> selection;
int mode;
// TODO Port PropertyWindow
//PropertyWindow * propertyWindow;
};
}

View File

@@ -0,0 +1,24 @@
#pragma once
#include "Instance.h"
#include "SignalTypes.h"
#include <set>
namespace B3D
{
class SignalService : public Instance
{
public:
SignalService(void);
~SignalService(void);
bool registerInstance(Instance * instance, SigMesg msgType);
bool revokeInstance(Instance * instance, SigMesg msgType);
bool revokeInstance(Instance * instance);
void revokeType(SigMesg msgType);
void revokeAll();
bool postMessage(SigMesg msgId, void* lParam, void* wParam);
private:
static const SigMesg MSG_MASK = 0x3F;
std::set<Instance *> messengerTable[SignalService::MSG_LENGTH];
};
}

View File

@@ -0,0 +1,30 @@
#pragma once
#include "Instance.h"
namespace B3D{
class SoundInstance : public Instance
{
public:
SoundInstance(void);
~SoundInstance(void);
// Getters
float getSoundVolume();
std::string getSoundId();
bool isPlayedOnRemove();
bool isLooped();
// Setters
void setSoundVolume(float newVolume);
void setSoundId(std::string newSoundId);
void setIsPlayedOnRemove(bool isPlayed);
void setIsLooped(bool isLooped);
// Functions
void play();
private:
Reflection::ReflectionProperty<float> soundVolume;
Reflection::ReflectionProperty<std::string> soundId;
Reflection::ReflectionProperty<bool> playOnRemove;
Reflection::ReflectionProperty<bool> looped;
};
}

View File

@@ -0,0 +1,17 @@
#pragma once
#include "Instance.h"
#include "SoundInstance.h"
namespace B3D
{
class SoundService : public Instance
{
public:
SoundService(void);
~SoundService(void);
float getMusicVolume();
void playSound(Instance* sound);
private:
float musicVolume;
};
}

View File

@@ -0,0 +1,15 @@
#pragma once
#include "GroupInstance.h"
#include "PartInstance.h"
namespace B3D
{
class WorkspaceInstance : public GroupInstance
{
public:
WorkspaceInstance(void);
~WorkspaceInstance(void);
void clearChildren();
void zoomToExtents();
std::vector<PartInstance *> partObjects;
};
}

View File

@@ -0,0 +1,28 @@
#pragma once
#include <ode/ode.h>
#include "DatamodelV3/Instance.h"
#include "DatamodelV3/PartInstance.h"
namespace B3D{
struct PhysWorldData{
dWorldID physWorld;
dSpaceID physSpace;
dJointGroupID contactgroup;
};
class XplicitNgine : public Instance
{
public:
XplicitNgine();
~XplicitNgine();
dWorldID physWorld;
dSpaceID physSpace;
PhysWorldData physWorldData;
dJointGroupID contactgroup;
void step(float stepSize);
void createBody(PartInstance* partInstance);
void deleteBody(PartInstance* partInstance);
void updateBody(PartInstance* partInstance);
void resetBody(PartInstance* partInstance);
};
}

View File

@@ -2,42 +2,82 @@
namespace Enum
{
struct EnumMeta {
int maxLength;
const char ** nameValues;
};
namespace SurfaceType
{
enum Value {
Smooth = 0, Bumps = 1, Hinge = 2, Motor = 3, StepperMotor = 4, Spawn = 5
static const char* STR_TABLE[] = {
"Smooth", "Bumps", "Hinge",
"Motor", "StepperMotor", "Spawn"
};
enum Value {
Smooth = 0, Bumps = 1, Hinge = 2, Motor = 3, StepperMotor = 4, Spawn = 5, LENGTH = 6
};
static const EnumMeta ENUM_META = {LENGTH, STR_TABLE};
}
namespace Shape
{
enum Value {
Ball = 0, Block = 1, Cylinder = 2
static const char* STR_TABLE[] = {
"Ball", "Block", "Cylinder"
};
enum Value {
Ball = 0, Block = 1, Cylinder = 2, LENGTH = 3
};
static const EnumMeta ENUM_META = {LENGTH, STR_TABLE};
}
namespace Controller
{
enum Value {
Player = 7, KeyboardRight = 1, KeyboardLeft = 2, Joypad1 = 3, Joypad2 = 4, Chase = 5, Flee = 6, None = 0
static const char* STR_TABLE[] = {
"None", "KeyboardRight", "KeyboardLeft", "Joypad1",
"Joypad2", "Chase", "Flee"
};
enum Value {
None = 0, KeyboardRight = 1, KeyboardLeft = 2, Joypad1 = 3, Joypad2 = 4, Chase = 5, Flee = 6, LENGTH=7
};
static const EnumMeta ENUM_META = {LENGTH, STR_TABLE};
}
namespace ActionType
{
enum Value {
Nothing = 0, Pause = 1, Lose = 2, Draw = 3, Win = 4
static const char* STR_TABLE[] = {
"Nothing", "Pause", "Lose", "Draw", "Win"
};
enum Value {
Nothing = 0, Pause = 1, Lose = 2, Draw = 3, Win = 4, LENGTH = 5
};
static const EnumMeta ENUM_META = {LENGTH, STR_TABLE};
}
namespace AffectType
{
enum Value {
NoChange = 0, Increase = 1, Decrease = 2
static const char* STR_TABLE[] = {
"NoChange", "Increase", "Decrease"
};
enum Value {
NoChange = 0, Increase = 1, Decrease = 2, LENGTH = 3
};
static const EnumMeta ENUM_META = {LENGTH, STR_TABLE};
}
namespace Sound
{
static const char* STR_TABLE[] = {
"NoSound", "Victory", "Boing", "Bomb",
"Ping", "Break", "Splat", "Swoosh",
"Snap", "Page", "Click", "Clock", "Step", "StepOn"
};
enum Value {
NoSound = 0, Victory = 1, Boing = 2, Bomb = 3,
Ping = 4, Break = 5, Splat = 6, Swoosh = 7,
Snap = 8, Page = 9, Click = 10, Clock = 11, Step = 12, StepOn = 13,
LENGTH = 14
};
static const EnumMeta ENUM_META = {LENGTH, STR_TABLE};
}
}

View File

@@ -1,6 +1,6 @@
#pragma once
#include "DataModelV2/DataModelInstance.h"
#include "XplicitNgine/XplicitNgine.h"
#include "DataModelV3/DataModelInstance.h"
#include "DataModelV3/XplicitNgine/XplicitNgine.h"
class Application;
@@ -25,7 +25,6 @@ public:
extern std::vector<Instance*> postRenderStack;
extern bool running;
extern DataModelInstance* g_dataModel;
extern XplicitNgine* g_xplicitNgine;
extern Application* g_usableApp;
extern SkyRef g_sky;
extern RenderDevice g_renderDevice;

View File

@@ -1,22 +0,0 @@
#pragma once
//#include "Application.h"
#include "DataModelV2/BaseButtonInstance.h"
class BaseButtonInstance;
class ButtonListener
{
public:
ButtonListener();
~ButtonListener(void);
virtual void onButton1MouseClick(BaseButtonInstance*);
bool doDelete;
//virtual void onMouseOver(); //TODO
//virtual void onMouseOut(); //TODO
//virtual void onButton1MouseDown(); //TODO
//virtual void onButton1MouseUp(); //TODO
//virtual void onButton2MouseClick(); //TODO
//virtual void onButton2MouseDown(); //TODO
//virtual void onButton2MouseUp(); //TODO
//What to do now...
};

View File

@@ -1,7 +0,0 @@
#pragma once
#include "ButtonListener.h"
class CameraButtonListener : public ButtonListener {
public:
void onButton1MouseClick(BaseButtonInstance*);
};

View File

@@ -1,6 +0,0 @@
#include "ButtonListener.h"
class DeleteListener : public ButtonListener {
public:
void onButton1MouseClick(BaseButtonInstance*);
};

View File

@@ -1,7 +0,0 @@
#pragma once
#include "ButtonListener.h"
class GUDButtonListener : public ButtonListener {
public:
void onButton1MouseClick(BaseButtonInstance*);
};

View File

@@ -1,8 +0,0 @@
#pragma once
#include "buttonlistener.h"
class MenuButtonListener :
public ButtonListener
{
public:
void onButton1MouseClick(BaseButtonInstance*);
};

View File

@@ -1,11 +0,0 @@
#pragma once
#include "ButtonListener.h"
#define CURSOR 0
#define ARROWS 1
#define RESIZE 2
class ModeSelectionListener : public ButtonListener {
public:
void onButton1MouseClick(BaseButtonInstance*);
};

View File

@@ -1,7 +0,0 @@
#pragma once
#include "ButtonListener.h"
class RotateButtonListener : public ButtonListener {
public:
void onButton1MouseClick(BaseButtonInstance*);
};

View File

@@ -1,13 +0,0 @@
#pragma once
#include "buttonlistener.h"
#pragma once
#include <G3DAll.h>
class ToolbarListener : public ButtonListener
{
public:
void onButton1MouseClick(BaseButtonInstance* button);
void addButtonRef(BaseButtonInstance* button);
private:
std::vector<BaseButtonInstance*> btns;
};

13
src/include/MenuActions.h Executable file
View File

@@ -0,0 +1,13 @@
#pragma once
#include "DataModelV3/DataModelInstance.h"
//TODO - Temporary location - Should be moved to different header once MFC gets involved
struct ActionParam {
DataModelInstance *dataModel;
Instance *caller;
int actionCode;
};
#define MENUBTN_MENU 1
#define MENUBTN_GO 2
void menuCallback(const ActionParam & actionParam);

View File

@@ -1,12 +1,12 @@
#pragma once
#include "DataModelV2/PartInstance.h"
#include "DataModelV3/PartInstance.h"
#pragma once
#include "DataModelV2/WorkspaceInstance.h"
#include "DataModelV3/WorkspaceInstance.h"
struct MousePoint{
Vector3 position;
PartInstance * target;
MousePoint(Vector3 pos, PartInstance * targ)
B3D::PartInstance * target;
MousePoint(Vector3 pos, B3D::PartInstance * targ)
{
position = pos;
target = targ;
@@ -21,9 +21,9 @@ public:
~Mouse(void);
int x, y;
int oldx, oldy;
PartInstance * getTarget();
MousePoint getPositionAndPart(std::vector<Instance *> ignore = std::vector<Instance *>());
Vector3 getPosition(std::vector<Instance *> ignore = std::vector<Instance *>());
B3D::PartInstance * getTarget();
MousePoint getPositionAndPart(std::vector<B3D::Instance *> ignore = std::vector<B3D::Instance *>());
Vector3 getPosition(std::vector<B3D::Instance *> ignore = std::vector<B3D::Instance *>());
bool isMouseOnScreen();
bool isMouseDown();
void setMouseDown(bool mouseDown);

View File

@@ -1,14 +1,14 @@
#pragma once
#include "DataModelV2/Instance.h"
#include "DataModelV3/Instance.h"
class PropertyWindow {
public:
PropertyWindow(int x, int y, int sx, int sy, HMODULE hThisInstance);
bool onCreate(int x, int y, int sx, int sy, HMODULE hThisInstance);
void UpdateSelected(std::vector<Instance *> selection);
void UpdateSelected(std::vector<B3D::Instance *> selection);
void ClearProperties();
void onResize();
void refreshExplorer(std::vector<Instance *> selection);
void refreshExplorer(std::vector<B3D::Instance *> selection);
HWND _hwndProp;
private:
HWND _propGrid;

View File

@@ -0,0 +1,22 @@
#pragma once
#include "ErrorFunctions.h"
//BE WARNED, IF YOU TOUCH REFLECTION YOUR BUILD WILL TAKE AGES
namespace B3D{
namespace Reflection{
//I do not like this... Structs?
enum ReflectionType {
TYPE_INT,
TYPE_FLOAT,
TYPE_STRING,
TYPE_VECTOR3,
TYPE_COLOR3,
TYPE_COLOR4,
TYPE_CFRAME,
TYPE_BOOLEAN,
TYPE_ENUM,
TYPE_INVALID,
LENGTH
};
}
}

View File

@@ -0,0 +1,28 @@
#pragma once
#include <iostream>
#include <string>
#include <map>
#include "ReflectionProperty.h"
namespace B3D{
class Instance;
namespace Reflection{
class ReflectionDataTable
{
public:
ReflectionDataTable(Instance * parentInstance, std::string className);
ReflectionDataTable::ReflectionDataTable(void);
~ReflectionDataTable(void);
std::string ReflectionDataTable::getClassName(void);
void mapProperty(std::string key, ReflectionProperty<void*>* prop);
void notify(ReflectionProperty<void*>* prop);
private:
//Perhaps not stored here?
std::string className;
std::map<std::string, ReflectionProperty<void*>*> propertyTable;
Instance * parentInstance;
};
}
}

View File

@@ -0,0 +1,52 @@
#pragma once
#include "Reflection.h"
//#include <windows.h>
//#include "propertyGrid.h"
#include <iostream>
#include <string>
#include <typeinfo>
namespace B3D{
namespace Reflection{
class ReflectionDataTable;
template<class T>
class ReflectionProperty
{
public:
//Could be private?
std::string key;
T value;
ReflectionType type;
ReflectionProperty(std::string key, T * valuePtr, ReflectionType type, ReflectionDataTable * containerTable, void* extData = NULL, bool archivable = true, bool locked = false, bool propertyHidden = false);
ReflectionProperty(std::string key, T defaultValue, ReflectionType type, ReflectionDataTable * containerTable, void* extData = NULL, bool archivable = true, bool locked = false, bool propertyHidden = false);
ReflectionProperty(void);
~ReflectionProperty(void);
T getValue();
T getValueClone();
T* getValuePtr();
//PROPGRIDITEM ReflectionProperty<T>::getProperty(void);
//void ReflectionProperty<T>::setProperty(void);
void setValue(T);
void setValueNotify(T);
//Too many
#include "ReflectionProperty_op_overload.h"
private:
std::string propertyName;
bool archivable;
bool locked;
bool propertyHidden;
void* extData;
ReflectionDataTable * containerTable;
};
}
}
//***really*** wanted to avoid implementing this inside of the header
#include "ReflectionProperty_impl.h"

View File

@@ -0,0 +1,96 @@
using namespace B3D::Reflection;
template<class T>
ReflectionProperty<T>::ReflectionProperty(void) {
this->key = "";
this->value = T();
this->type = TYPE_INVALID;
this->containerTable = NULL;
this->locked = false;
this->archivable = true;
this->propertyHidden = false;
this->extData = NULL;
}
template<class T>
ReflectionProperty<T>::ReflectionProperty(std::string key, T * value, ReflectionType type, ReflectionDataTable * containerTable, void* extData = NULL, bool archivable = true, bool locked = false, bool propertyHidden = false)
{
this->key = key;
this->value = T(value);
this->type = type;
this->containerTable = containerTable;
this->locked = locked;
this->archivable = archivable;
this->propertyHidden = propertyHidden;
this->extData = extData;
containerTable->mapProperty(key, (ReflectionProperty<void*>*)this);
}
template<class T>
ReflectionProperty<T>::ReflectionProperty(std::string key, T value, ReflectionType type, ReflectionDataTable * containerTable, void* extData = NULL, bool archivable = true, bool locked = false, bool propertyHidden = false)
{
this->key = key;
this->value = T(value);
this->type = type;
this->containerTable = containerTable;
this->locked = locked;
this->archivable = archivable;
this->propertyHidden = propertyHidden;
this->extData = extData;
containerTable->mapProperty(key, (ReflectionProperty<void*>*)this);
}
template<class T>
ReflectionProperty<T>::~ReflectionProperty(void)
{
}
/*
template<class T>
PROPGRIDITEM ReflectionProperty<T>::getProperty(void)
{
//This will come from metadata
std::string metaCategory = "Item";
PROPGRIDITEM propGridItem = NULL;
switch(type){
}
return propGridItem;
}
template<class T>
void ReflectionProperty<T>::setProperty(void)
{
switch(type){
}
}
*/
template<class T>
T ReflectionProperty<T>::getValueClone()
{
return T(value);
}
template<class T>
T ReflectionProperty<T>::getValue()
{
return value;
}
template<class T>
T* ReflectionProperty<T>::getValuePtr()
{
return &value;
}
template<class T>
void ReflectionProperty<T>::setValue(T value){
this->value=T(value);
}
template<class T>
void ReflectionProperty<T>::setValueNotify(T value){
this->value=T(value);
containerTable->notify((ReflectionProperty<void*>*)this);
}

View File

@@ -0,0 +1,175 @@
//Operator Overloads
T operator()()
{
return value;
}
//Assignment Operators
T operator=(T nVal)
{
value = nVal;
return value;
}
T operator+=(T nVal)
{
value += nVal;
return value;
}
T operator-=(T nVal)
{
value -= nVal;
return value;
}
T operator/=(T nVal)
{
value /= nVal;
return value;
}
T operator*=(T nVal)
{
value *= nVal;
return value;
}
T operator%=(T nVal)
{
value %= nVal;
return value;
}
T operator^=(T nVal)
{
value) ^= nVal;
return value;
}
T operator&=(T nVal)
{
value &= nVal;
return value;
}
T operator|=(T nVal)
{
value |= nVal;
return value;
}
T operator>>=(T nVal)
{
value >>= nVal;
return value;
}
T operator<<=(T nVal)
{
value <<= nVal;
return value;
}
//Mathematical Operations
T operator+(T nVal)
{
return value + nVal;
}
T operator-(T nVal)
{
return value - nVal;
}
T operator*(T nVal)
{
return value - nVal;
}
T operator/(T nVal)
{
return value / nVal;
}
T operator%(T nVal)
{
return value % nVal;
}
//Boolean operations
bool operator==(T nVal)
{
return value == nVal;
}
bool operator!=(T nVal)
{
return value != nVal;
}
bool operator<(T nVal)
{
return value < nVal;
}
bool operator<=(T nVal)
{
return value <= nVal;
}
bool operator>(T nVal)
{
return value > nVal;
}
bool operator>=(T nVal)
{
return value >= nVal;
}
T operator&&(T nVal)
{
return value && nVal;
}
T operator||(T nVal)
{
return value && nVal;
}
T operator!()
{
return !value;
}
//Bitwise operations
T operator&(T nVal)
{
return value && nVal;
}
T operator|(T nVal)
{
return value && nVal;
}
T operator>>(T nVal)
{
return value >> nVal;
}
T operator<<(T nVal)
{
return value << nVal;
}
T operator^(T nVal)
{
return value ^ nVal;
}
T operator~()
{
return ~value;
}

View File

@@ -1,7 +1,7 @@
#ifndef RENDERUTIL
#define RENDERUTIL
#include "Enum.h"
#include "DataModelV2/Instance.h"
#include "DataModelV3/Instance.h"
void renderShape(const Enum::Shape::Value& shape, const Vector3& size, const Color3& ncolor);
void renderSurface(const char face, const Enum::SurfaceType::Value& surface, const Vector3& size, const Enum::Controller::Value& controller, const Color3& color);
#endif

13
src/include/SignalTypes.h Normal file
View File

@@ -0,0 +1,13 @@
#pragma once
namespace B3D{
typedef unsigned char SigMesg;
const SigMesg OPT_DESTROY_LPARAM = 0x80;
const SigMesg OPT_DESTROY_WPARAM = 0x40;
const SigMesg MSG_MOUSECLICK = 0;
const SigMesg MSG_KEY_STATE = 1;
const SigMesg MSG_MOUSE_BUTTON_STATE = 2;
const SigMesg MSG_MOUSE_WHEEL_STEP = 3;
const SigMesg MSG_LENGTH = 4;
}

View File

@@ -1,25 +1,25 @@
#pragma once
#include "tool.h"
class ArrowTool :
public Tool
{
public:
ArrowTool(void); //OnSelect?
~ArrowTool(void); //OnDeselect?
void onButton1MouseDown(Mouse);
void onButton1MouseUp(Mouse);
void onMouseMoved(Mouse mouse);
void onSelect(Mouse mouse);
void onKeyDown(int key);
void onKeyUp(int key);
void roundDeg(float &degree);
private:
bool lctrlDown;
bool rctrlDown;
int mouseDownStartx;
int mouseDownStarty;
bool dragging;
bool mouseDown;
Vector3 draggingPartOffset;
};
namespace B3D {
class ArrowTool : public Tool
{
public:
ArrowTool(void); //OnSelect?
~ArrowTool(void); //OnDeselect?
void onButton1MouseDown(Mouse);
void onButton1MouseUp(Mouse);
void onMouseMoved(Mouse mouse);
void onSelect(Mouse mouse);
void onKeyDown(int key);
void onKeyUp(int key);
void roundDeg(float &degree);
private:
bool lctrlDown;
bool rctrlDown;
int mouseDownStartx;
int mouseDownStarty;
bool dragging;
bool mouseDown;
Vector3 draggingPartOffset;
};
}

View File

@@ -1,25 +1,25 @@
#pragma once
#include "ArrowTool.h"
class DraggerTool :
public ArrowTool
namespace B3D{
class DraggerTool : public ArrowTool
{
public:
DraggerTool(void);
~DraggerTool(void);
void onButton1MouseDown(Mouse);
void onButton1MouseUp(Mouse);
void onMouseMoved(Mouse mouse);
void onSelect(Mouse mouse);
void onKeyDown(int key);
void onKeyUp(int key);
void render(RenderDevice * rd, Mouse mouse);
private:
void createHandles();
void grabHandle(Mouse mouse);
bool hasHandles;
int handleGrabbed;
Vector3 center;
Vector3 CenterOffset;
Sphere handles[6];
};
public:
DraggerTool(void);
~DraggerTool(void);
void onButton1MouseDown(Mouse);
void onButton1MouseUp(Mouse);
void onMouseMoved(Mouse mouse);
void onSelect(Mouse mouse);
void onKeyDown(int key);
void onKeyUp(int key);
void render(RenderDevice * rd, Mouse mouse);
private:
void createHandles();
void grabHandle(Mouse mouse);
bool hasHandles;
int handleGrabbed;
Vector3 center;
Vector3 centerOffset;
Sphere handles[6];
};
}

View File

@@ -1,20 +1,20 @@
#pragma once
#include "tool.h"
#include "Enum.h"
class SurfaceTool :
public Tool
namespace B3D {
class SurfaceTool : public Tool
{
public:
SurfaceTool(int surface, int extraParam); //OnSelect?
~SurfaceTool(void); //OnDeselect?
void onButton1MouseDown(Mouse);
void onButton1MouseUp(Mouse);
void onMouseMoved(Mouse mouse);
void onSelect(Mouse mouse);
void onKeyDown(int key);
void onKeyUp(int key);
private:
int surface;
int param;
};
public:
SurfaceTool(int surface, int extraParam); //OnSelect?
~SurfaceTool(void); //OnDeselect?
void onButton1MouseDown(Mouse);
void onButton1MouseUp(Mouse);
void onMouseMoved(Mouse mouse);
void onSelect(Mouse mouse);
void onKeyDown(int key);
void onKeyUp(int key);
private:
int surface;
int param;
};
}

View File

@@ -9,27 +9,29 @@
#pragma once
#include "StringFunctions.h"
#pragma once
class Tool
{
public:
Tool(void);
~Tool(void);
virtual void onButton1MouseDown(Mouse); //yes
virtual void onButton2MouseDown(Mouse); //yes
virtual void onButton3MouseDown(Mouse); //no
virtual void onButton1MouseUp(Mouse);//yes
virtual void onButton2MouseUp(Mouse);//yes
virtual void onButton3MouseUp(Mouse); //no
virtual void onMouseMoved(Mouse);//yes
virtual void onSelect(Mouse);//yes
virtual void onDeselect(Mouse);//yes
virtual void onMouseScroll(Mouse);//Kinda
virtual void onKeyDown(int);//yes
virtual void onKeyUp(int);//yes
virtual void render(RenderDevice * rd, Mouse mouse);//yes
//virtual int getCursorId();//yes
protected:
//virtual void setCursor(std::string);
private:
//std::string cursorString;
};
namespace B3D{
class Tool
{
public:
Tool(void);
~Tool(void);
virtual void onButton1MouseDown(Mouse); //yes
virtual void onButton2MouseDown(Mouse); //yes
virtual void onButton3MouseDown(Mouse); //no
virtual void onButton1MouseUp(Mouse);//yes
virtual void onButton2MouseUp(Mouse);//yes
virtual void onButton3MouseUp(Mouse); //no
virtual void onMouseMoved(Mouse);//yes
virtual void onSelect(Mouse);//yes
virtual void onDeselect(Mouse);//yes
virtual void onMouseScroll(Mouse);//Kinda
virtual void onKeyDown(int);//yes
virtual void onKeyUp(int);//yes
virtual void render(RenderDevice * rd, Mouse mouse);//yes
//virtual int getCursorId();//yes
protected:
//virtual void setCursor(std::string);
private:
//std::string cursorString;
};
}

View File

@@ -3,6 +3,8 @@
#include <sstream>
#include <string>
// This class exists so that B3D compiles on VS 2003.
template<class T>
std::string toString(const T &value)
{

Some files were not shown because too many files have changed in this diff Show More