116 Commits

Author SHA1 Message Date
NT_x86
e365f3ed6c Open new place crash workaround
Reloads jointsservice on place open
2023-03-31 14:31:34 +03:00
NT_x86
998a22a43f Improved snap solver
Uses ODE collision detection instead
2023-03-29 21:00:15 +03:00
NT_x86
abb1f76c71 Joint solver basic implementation (axis aligned)
Does not handle rotation at all. solveWorkspaceSnaps is called in the debug game creation (Application.cpp)
Added isA to instance class
2023-03-28 21:05:08 +03:00
NT_x86
85e84bfdf3 Fix the crashing issue when closing Blocks3d
Physics engine now destroys JointsService on destructor
2023-03-27 20:16:17 +03:00
NT_x86
f7a76511a8 Improved snap deletion and added remove function to instance class
The current issue is that sometimes after deleting a snap and closing the game it throws an access violation (race condition?)
2023-03-27 12:06:57 +03:00
NT_x86
9cee74baf4 Initial JointsService and Snap implementation
This is incomplete and some issues need to be fixed
2023-03-26 18:51:11 +03:00
Vulpovile
0b8847cd8e Merge pull request #113 from Vulpovile/feature/draggers
Added dragger tool base, removed useless stuff
2022-10-15 22:00:16 -07:00
Vulpovile
4ec70e6ee7 Removed unwanted file 2022-10-15 21:59:51 -07:00
FlareMicrosystems
c6699b5112 ??? 2022-10-15 21:58:48 -07:00
FlareMicrosystems
48b90b1a93 Removed surfaces from code 2022-10-15 21:54:50 -07:00
FlareMicrosystems
c70d39fb25 Moved currently unnecessary files 2022-10-15 21:44:52 -07:00
FlareMicrosystems
1b34573b06 Remove 64 bit redist from installer 2022-10-15 20:13:18 -07:00
FlareMicrosystems
649a1aaa06 Cleanup 2022-10-15 20:10:13 -07:00
FlareMicrosystems
6b8ca28060 Add floppy disk setup generation 2022-10-15 19:37:06 -07:00
FlareMicrosystems
dc7f7f3cc5 Update versioning 2022-10-15 19:36:55 -07:00
FlareMicrosystems
575f5dab46 Added dragger tool, removed useless stuff 2022-10-15 16:43:06 -07:00
Vulpovile
efbc832321 Merge pull request #111 from Vulpovile/modnark
Modnark
2022-10-14 08:24:53 -07:00
Modnark
2471abb8dd Merge branch 'develop' into modnark 2022-10-12 13:51:21 -04:00
Modnark
57db5511bd Merge pull request #110 from pinksub/develop
Mouse.cpp is very confusing
2022-10-12 13:50:49 -04:00
Modnark
0ac516618a Add LightingInstance
Still need to work on PropertyGrid for it
2022-10-12 13:47:39 -04:00
Modnark
8916797e55 Merge branch 'develop' into modnark 2022-10-11 22:39:59 -04:00
Modnark
2dc7f3e667 solve merge conflict 2022-10-11 22:38:34 -04:00
Modnark
d32b0ea4e4 Add more sounds internally 2022-10-11 22:34:36 -04:00
Modnark
af5c31d5d0 Add dynamic_cast for playSound
makes it so developers don't need to dynamic_cast any time they want to play sound
2022-10-11 21:28:19 -04:00
Modnark
9df862f72e Add required sounds 2022-10-11 21:27:42 -04:00
Modnark
d269b360ce SoundService & SoundInstance
Basic implementation. More work needs to be done.
2022-10-11 21:16:14 -04:00
pinksub
d2dd05b620 Update Mouse.cpp 2022-10-11 13:58:38 -04:00
pinksub
9d62380df9 cleanup mouse.cpp code a bit more 2022-10-11 13:58:21 -04:00
pinksub
8f3d12c516 Stud snapping is confusing
Anything divided by 1 and anything multiplied by 1 is itself. Not sure if that was intentional,
2022-10-11 13:54:55 -04:00
Modnark
d2f3e718a7 Very basic implementation of OnTouch 2022-10-11 10:03:04 -04:00
Modnark
adade066cc Start OnTouch 2022-10-10 20:01:30 -04:00
Modnark
7e9f34e1ac handle some errors in ThumbnailGenerator 2022-10-10 18:47:49 -04:00
Modnark
5e74564956 Add listener for View button 2022-10-10 18:41:46 -04:00
Modnark
04823f5911 Add listeners for all menu buttons 2022-10-10 18:41:29 -04:00
Vulpovile
e62d3ab49c Merge pull request #109 from thecssdoom/patch-1
Name shown fix
2022-10-09 19:29:27 -07:00
thecssdoom
fb5d6495dc Update Application.cpp 2022-10-09 22:06:55 -03:00
thecssdoom
5078b849b0 Update PartInstance.cpp 2022-10-09 22:06:01 -03:00
thecssdoom
20e772f932 Update PartInstance.h 2022-10-09 22:05:09 -03:00
thecssdoom
00e61d4f17 Update Instance.cpp 2022-10-09 22:04:38 -03:00
thecssdoom
fe55127129 add rendername 2022-10-09 22:01:36 -03:00
Modnark
e8dbf50df9 Merge pull request #108 from Vulpovile/modnark
Modnark
2022-10-09 06:01:41 -04:00
Modnark
6ee7d76859 Undo FSAA changes
also removed some useless comment.
2022-10-08 21:11:35 -04:00
Modnark
8a2b7f6308 Merge branch 'modnark' of https://github.com/Vulpovile/Blocks3D into modnark 2022-10-08 21:05:10 -04:00
Modnark
415ea71664 Clean bloat comments
Please make sure these were bloat and not important.
2022-10-08 21:05:09 -04:00
Modnark
eefb981993 stupid thing you're in gitignore 2022-10-08 19:32:17 -04:00
Modnark
9f741e0df7 Base64 Output 2022-10-08 19:29:17 -04:00
Modnark
e2d75ae4d4 merge develop with my branch 2022-10-07 17:19:23 -04:00
Modnark
52c2f114a5 Merge branch 'develop' into modnark 2022-10-07 17:15:13 -04:00
Modnark
7f8cdc0f33 minor fixes for branch 2022-10-07 17:12:51 -04:00
Vulpovile
36153c293b Merge pull request #105 from Vulpovile/bugfix-negativetimer
Fix the timer going into the negatives when the game is running slowly
2022-10-07 10:47:09 -07:00
NT_x86
a63aa52108 Increment patch version number 2022-10-07 16:32:07 +03:00
NT_x86
d25f4a6ba2 Fix the timer going into the negatives when the game is running slowly 2022-10-07 12:10:24 +03:00
Vulpovile
b7ed5bd832 Merge pull request #104 from Vulpovile/master
sync: master to develop
2022-10-06 21:40:20 -07:00
Vulpovile
5251b98ec4 Merge pull request #103 from Vulpovile/bugfix-property-grid
Various Bugfixes
2022-10-06 21:38:21 -07:00
MusicalProgrammer
b6dfd62b4c Increment APP_PATCH instead 2022-10-06 22:10:25 -04:00
MusicalProgrammer
17f08a59ce Increment Versioning 2022-10-06 22:04:57 -04:00
MusicalProgrammer
1a0949f2e8 Fix: PropertyGrid crash when you resize it after it resets 2022-10-06 21:36:12 -04:00
Modnark
7a89ddd94e hide gui with thumbnail generation 2022-10-06 18:08:58 -04:00
MusicalProgrammer
b21d140d6f Merge pull request #102 from Vulpovile/dragging_improvements
Disable physics of dragged selected parts
2022-10-06 17:46:27 -04:00
MusicalProgrammer
083d94f811 Bugfix: Dragging physics happens for one frame. 2022-10-06 16:48:54 -04:00
MusicalProgrammer
c9db28a3a3 Disable physics of dragged selected parts 2022-10-06 16:37:18 -04:00
Vulpovile
b202337c81 Merge pull request #101 from Vulpovile/master
sync: master to develop
2022-10-06 12:18:15 -07:00
Vulpovile
db435a17ac Merge pull request #100 from Vulpovile/release/0.0.107.0
Release 0.0.107.0
2022-10-06 12:13:55 -07:00
Vulpovile
b6615ce5fe Remove snapshot preparing for release 2022-10-06 12:03:28 -07:00
Vulpovile
2052ed6379 Merge pull request #99 from Vulpovile/feature/physics_improvements_and_optimizations
Made physics sync velocity
2022-10-06 12:00:42 -07:00
Vulpovile
edf8e09936 Merge branch 'develop' into feature/physics_improvements_and_optimizations 2022-10-06 11:54:37 -07:00
Vulpovile
ecbbc7c8e8 Made physics sync velocity 2022-10-06 11:38:36 -07:00
Vulpovile
47e9516cc2 Merge pull request #98 from Vulpovile/feature/physics_improvements_and_optimizations
Feature/physics improvements and optimizations
2022-10-06 09:43:48 -07:00
Vulpovile
11b3c861d9 Add ODE libs as zip for now - Maybe unnecessary? 2022-10-06 09:34:30 -07:00
Modnark
c1118489e3 very basic ThumbnailGenerator 2022-10-06 12:18:35 -04:00
Modnark
71fda54338 Merge branch 'develop' into modnark 2022-10-06 12:18:11 -04:00
Vulpovile
aec7c33155 Merge branch 'develop' of github.com:Vulpovile/G3D-Fun into feature/physics_improvements_and_optimizations 2022-10-06 09:06:22 -07:00
Vulpovile
2f86192634 Merge pull request #97 from himdeez/develop
Improve dragging tool and fix some physics bugs
2022-10-06 09:06:07 -07:00
himdeez
36aba44b51 improve dragging 2022-10-06 18:52:26 +03:00
Vulpovile
41ab9cf18c Add physics test RBXLs 2022-10-06 06:47:57 -07:00
Vulpovile
4e4ad669da Update to ODE-0.6 to fix T-Posing Parts 2022-10-06 06:34:48 -07:00
himdeez
a1b25d115a Temporary physics bug fix (anchored parts not updating when moved) 2022-10-06 16:28:38 +03:00
Vulpovile
15dc340a10 Fix crashes 2022-10-06 06:15:05 -07:00
Vulpovile
b01f5765b1 Fixed removing anchored parts when sleeping 2022-10-05 20:51:01 -07:00
Vulpovile
530bcf2a74 Optimizations and Physics Improvements 2022-10-05 20:35:59 -07:00
Vulpovile
f587d1d6db Merge pull request #95 from Vulpovile/master
sync: master to develop
2022-10-05 20:34:42 -07:00
Vulpovile
2af7077a0a Merge pull request #94 from Vulpovile/bugfix/partcollison
Fix part collisions
2022-10-05 20:32:58 -07:00
Vulpovile
c2fe4b5c80 Merge pull request #93 from Vulpovile/feature/remove_assembly_identiy
Added versioning file, Removed assemblyIdentity
2022-10-05 19:54:34 -07:00
728e67e1a5 Fix part collisions 2022-10-05 22:53:54 -04:00
Vulpovile
3b2d01b8dc Seperated versioning into seperate file, added snapshot 2022-10-05 17:34:45 -07:00
Vulpovile
dc94873297 Remove assemblyIdentity from manifest as it's not useful 2022-10-05 16:46:04 -07:00
Vulpovile
c1e8d6cd23 Merge pull request #92 from Vulpovile/feature/physics_sleep
Physics improvement and optimization
2022-10-05 14:36:00 -07:00
Modnark
a456ee6196 Merge branch 'feature/physics_sleep' into modnark 2022-10-05 17:18:38 -04:00
Modnark
30ea19c5b0 change part fall height limit 2022-10-05 17:14:21 -04:00
Vulpovile
8a1cd0c248 Merge branch 'develop' of github.com:Vulpovile/G3D-Fun into feature/physics_sleep 2022-10-05 13:52:20 -07:00
Vulpovile
09ea4744fc Optimized 2022-10-05 13:52:03 -07:00
Vulpovile
d886c178b6 Merge pull request #91 from Vulpovile/master
Synchronize develop with master
2022-10-05 10:14:13 -07:00
8fa056e191 Merge pull request #88 from Vulpovile/bugfix/hopperbin-crash
Placeholder hopperbin fix
2022-10-05 13:08:55 -04:00
Vulpovile
72866a259d Merge pull request #89 from Vulpovile/feature/physics_sleep
Added physics sleep, fixed stack overflows
2022-10-05 08:47:07 -07:00
Vulpovile
7474bea895 Merge branch 'develop' into feature/physics_sleep 2022-10-05 08:44:07 -07:00
NT_x86
e8fac6148a Merge pull request #90 from Vulpovile/LevelService
Add functionality to level service
2022-10-05 18:42:01 +03:00
Vulpovile
c5f4f829b3 Now Roblox HQ can run! 2022-10-05 08:21:43 -07:00
Vulpovile
da759427fd Preallocated stack to reduce stack overflows 2022-10-05 08:12:15 -07:00
Vulpovile
79e8a9738e Added physics sleep, fixed stack overflows 2022-10-05 07:39:19 -07:00
NT_x86
27ac18b503 Separate each condition as separate functions 2022-10-05 17:25:35 +03:00
NT_x86
932de58185 Add unsaved comments 2022-10-05 13:19:05 +03:00
NT_x86
48e65358f4 Implement initial level service functionality 2022-10-05 13:13:54 +03:00
Vulpovile
69aacebbb2 Merge branch 'master' into bugfix/hopperbin-crash 2022-10-04 23:41:08 -07:00
791fa55767 PR update 2022-10-05 02:33:06 -04:00
3b83e527f8 Fix Hopper selection crash, add some placeholder enums, add a compaitiblity shim 2022-10-05 02:10:51 -04:00
Vulpovile
618a3eeec0 Merge pull request #87 from Vulpovile/master
sync: master to develop
2022-10-04 23:09:02 -07:00
Vulpovile
de53dcf6b0 Merge pull request #86 from Vulpovile/cleanup/remove_aps_from_repo
Remove  .aps file from repo
2022-10-04 23:08:08 -07:00
Vulpovile
8ef3bcd352 Merge pull request #85 from Vulpovile/master
sync: master to develop
2022-10-04 23:03:09 -07:00
Vulpovile
7adf511bf7 Remove APS files 2022-10-04 23:00:55 -07:00
NT_x86
72cdf2af35 Merge pull request #84 from Vulpovile/NT_x86
Minor optimization in createBody
2022-10-05 08:59:37 +03:00
NT_x86
d9a0e1e120 Increment patch number 2022-10-05 08:49:56 +03:00
NT_x86
90a1a1b325 Merge branch 'master' of https://github.com/Vulpovile/Blocks3D.git into NT_x86 2022-10-05 07:42:24 +03:00
NT_x86
984bea6136 Run GetSize and GetPosition only once in CreateBody function 2022-10-05 07:34:49 +03:00
Vulpovile
083cb38e81 Merge pull request #83 from Vulpovile/master
sync: master to develop
2022-10-04 13:44:26 -07:00
Vulpovile
6d65cd2a56 Merge pull request #82 from Vulpovile/feature/workflows
Add workflow to sync to develop
2022-10-04 13:42:18 -07:00
Vulpovile
223364907f Add workflow to sync to develop 2022-10-04 13:13:15 -07:00
138 changed files with 1029989 additions and 4644 deletions

25
.github/workflows/sync-develop.yml vendored Normal file
View File

@@ -0,0 +1,25 @@
name: Sync Back to Develop
on:
push:
branches:
- master
jobs:
sync-branches:
runs-on: ubuntu-latest
name: Syncing branches
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up Node
uses: actions/setup-node@v1
with:
node-version: 12
- name: Opening pull request
id: pull
uses: tretuna/sync-branches@1.2.0
with:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
FROM_BRANCH: 'master'
TO_BRANCH: 'develop'

11
.gitignore vendored
View File

@@ -39,6 +39,11 @@
*.res
*.ilk
*.dep
*.bin
*.7z
# ResEditor files
*.aps
/Debug
/Release
@@ -50,12 +55,10 @@ G3DTest.suo
G3DTest.suo
stderr.txt
desktop.ini
UpgradeLog.XML
/_UpgradeReport_Files
/.vs
*.7.10.old
*.db
#Redist
!Installer/Redist/*
UpgradeLog.htm
click_output.JPEG
click_output.PNG

View File

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

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

View File

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

View File

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

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

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

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8.00"
Version="8,00"
Name="Blocks3D"
ProjectGUID="{6C4D6EEF-B1D1-456A-B850-92CAB17124BE}"
RootNamespace="Blocks3D"
@@ -49,7 +49,11 @@
<Tool
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
InlineFunctionExpansion="2"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
OmitFramePointers="true"
WholeProgramOptimization="true"
AdditionalIncludeDirectories="&quot;.\src\include&quot;"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
StringPooling="true"
@@ -75,12 +79,17 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="Advapi32.lib Comctl32.lib Comdlg32.lib Shell32.lib ode.lib OPCODE.lib Ole32.lib"
AdditionalDependencies="Advapi32.lib Comctl32.lib Comdlg32.lib Shell32.lib ode.lib Ole32.lib"
OutputFile="./Blocks3D.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
ProgramDatabaseFile=".\Release/Blocks3D.pdb"
SubSystem="2"
StackReserveSize="16777216"
OptimizeReferences="2"
EnableCOMDATFolding="2"
OptimizeForWindows98="2"
LinkTimeCodeGeneration="1"
TargetMachine="1"
/>
<Tool
@@ -172,13 +181,14 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="Advapi32.lib UxTheme.lib Comctl32.lib Comdlg32.lib Shell32.lib Urlmon.lib ole32.lib oleaut32.lib uuid.lib ode.lib OPCODE.lib"
AdditionalDependencies="Advapi32.lib UxTheme.lib Comctl32.lib Comdlg32.lib Shell32.lib Urlmon.lib ole32.lib oleaut32.lib uuid.lib oded.lib"
OutputFile="./Blocks3D-Debug.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
GenerateDebugInformation="true"
ProgramDatabaseFile=".\Debug/Blocks3D.pdb"
SubSystem="1"
StackReserveSize="16777216"
TargetMachine="1"
/>
<Tool
@@ -292,10 +302,6 @@
RelativePath=".\src\source\Renderer.cpp"
>
</File>
<File
RelativePath=".\src\source\SplashHTML.cpp"
>
</File>
<File
RelativePath=".\src\source\StringFunctions.cpp"
>
@@ -315,6 +321,10 @@
RelativePath=".\src\source\Tool\ArrowTool.cpp"
>
</File>
<File
RelativePath=".\src\source\Tool\DraggerTool.cpp"
>
</File>
<File
RelativePath=".\src\source\Tool\SurfaceTool.cpp"
>
@@ -429,6 +439,10 @@
/>
</FileConfiguration>
</File>
<File
RelativePath=".\src\source\DataModelV2\JointsService.cpp"
>
</File>
<File
RelativePath=".\src\source\DataModelV2\LevelInstance.cpp"
>
@@ -451,6 +465,10 @@
/>
</FileConfiguration>
</File>
<File
RelativePath=".\src\source\DataModelV2\LightingInstance.cpp"
>
</File>
<File
RelativePath=".\src\source\DataModelV2\PartInstance.cpp"
>
@@ -496,7 +514,23 @@
</FileConfiguration>
</File>
<File
RelativePath=".\src\source\DataModel\SelectionService.cpp"
RelativePath=".\src\source\DataModelV2\SelectionService.cpp"
>
</File>
<File
RelativePath=".\src\source\DataModelV2\SnapInstance.cpp"
>
</File>
<File
RelativePath=".\src\source\DataModelV2\SoundInstance.cpp"
>
</File>
<File
RelativePath=".\src\source\DataModelV2\SoundService.cpp"
>
</File>
<File
RelativePath=".\ThumbnailGeneratorInstance.cpp"
>
</File>
<File
@@ -660,6 +694,14 @@
>
</File>
</Filter>
<Filter
Name="Helpers"
>
<File
RelativePath=".\src\source\base64.cpp"
>
</File>
</Filter>
</Filter>
<Filter
Name="Header Files"
@@ -729,10 +771,6 @@
RelativePath=".\src\include\resource.h"
>
</File>
<File
RelativePath=".\src\include\SplashHTML.h"
>
</File>
<File
RelativePath=".\src\include\StringFunctions.h"
>
@@ -741,6 +779,18 @@
RelativePath=".\src\include\TextureHandler.h"
>
</File>
<File
RelativePath=".\src\include\ToolEnum.h"
>
</File>
<File
RelativePath=".\src\include\versioning.h"
>
</File>
<File
RelativePath=".\src\include\VS2005CompatShim.h"
>
</File>
<File
RelativePath=".\src\include\win32Defines.h"
>
@@ -816,6 +866,10 @@
RelativePath=".\src\include\Tool\ArrowTool.h"
>
</File>
<File
RelativePath=".\src\include\Tool\DraggerTool.h"
>
</File>
<File
RelativePath=".\src\include\Tool\SurfaceTool.h"
>
@@ -840,10 +894,18 @@
RelativePath=".\src\include\DataModelV2\Instance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV2\JointsService.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"
>
@@ -856,6 +918,22 @@
RelativePath=".\src\include\DataModelV2\SelectionService.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV2\SnapInstance.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"
>
@@ -909,6 +987,14 @@
>
</File>
</Filter>
<Filter
Name="Helpers"
>
<File
RelativePath=".\src\include\base64.h"
>
</File>
</Filter>
</Filter>
<Filter
Name="Resource Files"

View File

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

View File

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

Binary file not shown.

View File

@@ -6,17 +6,7 @@
#include <commctrl.h>
#include <richedit.h>
#include "src/include/resource.h"
#define APP_GENER 0
#define APP_MAJOR 0
#define APP_MINOR 106
#define APP_PATCH 2
#define APP_VER_STRING APP_GENER.APP_MAJOR.APP_MINOR.APP_PATCH
#define VER_PREFIX( N ) v##N
#define HSTR( N ) #N
#define STR( N ) HSTR( N )
#define VER_STR( N ) STR( VER_PREFIX( N ) )
#include "src/include/versioning.h"

Binary file not shown.

View File

@@ -21,7 +21,7 @@ Type: filesandordirs; Name: "{app}"
[Files]
Source: "Redist\vcredist_x86.exe"; DestDir: "{tmp}"; Flags: ignoreversion
Source: "Redist\vcredist_x64.exe"; DestDir: "{tmp}"; Check: "IsWin64"; Flags: ignoreversion
;Source: "Redist\vcredist_x64.exe"; DestDir: "{tmp}"; Check: "IsWin64"; Flags: ignoreversion
Source: "..\content\*"; DestDir: "{app}\content"; Flags: ignoreversion recursesubdirs
Source: "..\SDL.DLL"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs
Source: "..\Blocks3D.exe"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs
@@ -31,7 +31,7 @@ Source: "..\Blocks3D.exe"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs
[Run]
Filename: "{tmp}\vcredist_x86.exe"; Parameters: "/q"; Tasks: instvc;
Filename: "{tmp}\vcredist_x64.exe"; Parameters: "/q"; Tasks: instvc; Check: "IsWin64";
;Filename: "{tmp}\vcredist_x64.exe"; Parameters: "/q"; Tasks: instvc; Check: "IsWin64";
Filename: "iexplore.exe"; Parameters: "http://www.blocks3d.com/FirstInstall"; Description: Start playing Blocks3D; Flags: shellexec postinstall nowait skipifsilent
[Icons]

View File

@@ -0,0 +1,51 @@
;InnoSetupVersion=5.4.3
#define AppVer GetFileVersion('..\Blocks3D.exe')
[Setup]
AppName=Blocks3D
AppVersion=v{#AppVer}
AppId={{4C5DF268-0208-4CDE-A7F0-65F7E2CB5067}
AppPublisherURL=http://blocks3d.com/
AppSupportURL=http://blocks3d.com/
AppUpdatesURL=http://blocks3d.com/
DefaultDirName={%localappdata}\Blocks3D
OutputBaseFilename=B3DSTP
Compression=lzma2
PrivilegesRequired=lowest
WizardImageFile=setup.bmp
DefaultGroupName=Blocks3D
DiskSpanning=yes
SlicesPerDisk=1
DiskSliceSize=1457664
[UninstallDelete]
Type: filesandordirs; Name: "{app}"
[Files]
Source: "Redist\vcredist_x86.exe"; DestDir: "{tmp}"; Flags: ignoreversion
;Source: "Redist\vcredist_x64.exe"; DestDir: "{tmp}"; Check: "IsWin64"; Flags: ignoreversion
Source: "..\content\*"; DestDir: "{app}\content"; Flags: ignoreversion recursesubdirs
Source: "..\SDL.DLL"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs
Source: "..\Blocks3D.exe"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs
[Registry]
[Run]
Filename: "{tmp}\vcredist_x86.exe"; Parameters: "/q"; Tasks: instvc;
;Filename: "{tmp}\vcredist_x64.exe"; Parameters: "/q"; Tasks: instvc; Check: "IsWin64";
Filename: "iexplore.exe"; Parameters: "http://www.blocks3d.com/FirstInstall"; Description: Start playing Blocks3D; Flags: shellexec postinstall nowait skipifsilent
[Icons]
Name: "{group}\Play Blocks3D"; Filename: "{%programfiles}\Internet Explorer\iexplore.exe"; Parameters: "http://www.blocks3d.com/Games"; IconFilename: "{app}\Blocks3D.exe"; Tasks: startscut;
Name: "{group}\Blocks3D Editor"; Filename: "{app}\Blocks3D.exe"; Tasks: startscut;
Name: "{userdesktop}\Play Blocks3D"; Filename: "{%programfiles}\Internet Explorer\iexplore.exe"; Parameters: "http://www.blocks3d.com/Games"; IconFilename: "{app}\Blocks3D.exe"; Tasks: startscut;
Name: "{userdesktop}\Blocks3D Editor"; Filename: "{app}\Blocks3D.exe"; Tasks: desktopicon
[Tasks]
Name: "instvc"; Description: "Install Visual C++ Redistributable 2005 SP1 (Requires elevated permissions)";
Name: "desktopicon"; Description: "Create Desktop Icons";
Name: "startscut"; Description: "Create Start Menu Icons";

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

588
Physics Test/Cylinder.rbxl Normal file
View File

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

586202
Physics Test/Roblox HQ.rbxl Normal file

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

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

File diff suppressed because it is too large Load Diff

View File

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

View File

@@ -0,0 +1,56 @@
#include "DataModelV2/ThumbnailGeneratorInstance.h"
#include "Application.h"
#include "Globals.h"
#include "base64.h"
#include <fstream>
ThumbnailGeneratorInstance::ThumbnailGeneratorInstance(void)
{
Instance::Instance();
name = "ThumbnailGenerator";
className = "ThumbnailGenerator";
canDelete = false;
}
ThumbnailGeneratorInstance::~ThumbnailGeneratorInstance(void) {}
/*
* TODO:
* Move functions like toggleSky into their own "Lighting" instance
* Make this headless, and allow for resolutions greater than the screen resolution
*/
std::string ThumbnailGeneratorInstance::click(std::string fileType, int cx, int cy, bool hideSky)
{
if(!G3D::GImage::supportedFormat(fileType)) {
printf("%s is not a valid fileType.", fileType);
return "";
}
RenderDevice* rd = g_usableApp->getRenderDevice();
GuiRootInstance* guiRoot = g_dataModel->getGuiRoot();
const G3D::GImage::Format format = G3D::GImage::stringToFormat(fileType);
int prevWidth = rd->width();
int prevHeight = rd->height();
G3D::GImage imgBuffer(cx, cy, 4);
G3D::BinaryOutput binOut;
guiRoot->hideGui(true);
g_usableApp->resize3DView(cx, cy);
if(hideSky)
g_dataModel->getLighting()->suppressSky(true);
g_usableApp->onGraphics(rd);
rd->screenshotPic(imgBuffer, true, hideSky);
imgBuffer.encode(format, binOut);
// Convert to Base64 string
std::string base64ImgStr = base64_encode(reinterpret_cast<const unsigned char*>(binOut.getCArray()), binOut.length(), false);
guiRoot->hideGui(false);
g_usableApp->resize3DView(prevWidth, prevHeight);
return base64ImgStr;
}

Binary file not shown.

View File

@@ -22,7 +22,7 @@
}
</style>
<body style="background-color: ButtonFace; margin: 0; padding: 5px; overflow: hidden; border: outset 2px;">
<span class="container" onmousedown="toolOvr(this)" onmouseup="toolOut(this)" onmouseout="toolOut(this)" onclick="alert(window.external.ToggleHopperBin(0))">
<span class="container" onmousedown="toolOvr(this)" onmouseup="toolOut(this)" onmouseout="toolOut(this)" onclick="window.external.ToggleHopperBin(0)">
<img src="../images/GameTool.png" />
</span>
<span class="container" onmousedown="toolOvr(this)" onmouseup="toolOut(this)" onmouseout="toolOut(this)" onclick="window.external.ToggleHopperBin(1)">

BIN
content/sounds/bass.wav Normal file

Binary file not shown.

BIN
content/sounds/collide.wav Normal file

Binary file not shown.

Binary file not shown.

BIN
content/sounds/snap.wav Normal file

Binary file not shown.

BIN
content/sounds/splat.wav Normal file

Binary file not shown.

BIN
content/sounds/swoosh.wav Normal file

Binary file not shown.

BIN
content/sounds/victory.wav Normal file

Binary file not shown.

Binary file not shown.

BIN
ode-0.6.zip Normal file

Binary file not shown.

View File

Before

Width:  |  Height:  |  Size: 576 B

After

Width:  |  Height:  |  Size: 576 B

View File

Before

Width:  |  Height:  |  Size: 637 B

After

Width:  |  Height:  |  Size: 637 B

Binary file not shown.

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

Before

Width:  |  Height:  |  Size: 353 B

After

Width:  |  Height:  |  Size: 353 B

View File

Before

Width:  |  Height:  |  Size: 433 B

After

Width:  |  Height:  |  Size: 433 B

View File

Before

Width:  |  Height:  |  Size: 628 B

After

Width:  |  Height:  |  Size: 628 B

View File

Before

Width:  |  Height:  |  Size: 595 B

After

Width:  |  Height:  |  Size: 595 B

View File

Before

Width:  |  Height:  |  Size: 665 B

After

Width:  |  Height:  |  Size: 665 B

View File

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

Before

Width:  |  Height:  |  Size: 627 B

After

Width:  |  Height:  |  Size: 627 B

View File

Before

Width:  |  Height:  |  Size: 788 B

After

Width:  |  Height:  |  Size: 788 B

View File

Before

Width:  |  Height:  |  Size: 660 B

After

Width:  |  Height:  |  Size: 660 B

View File

Before

Width:  |  Height:  |  Size: 552 B

After

Width:  |  Height:  |  Size: 552 B

View File

Before

Width:  |  Height:  |  Size: 655 B

After

Width:  |  Height:  |  Size: 655 B

View File

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

Before

Width:  |  Height:  |  Size: 798 B

After

Width:  |  Height:  |  Size: 798 B

View File

Before

Width:  |  Height:  |  Size: 522 B

After

Width:  |  Height:  |  Size: 522 B

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -7,7 +7,6 @@
#include "IEBrowser.h"
#include "Mouse.h"
#include "Tool/Tool.h"
//#include "GuiRoot.h"
class TextButtonInstance;
class ImageButtonInstance;
@@ -48,14 +47,16 @@ class Application { // : public GApp {
void setFocus(bool isFocused);
int getMode();
void unSetMode();
CameraController cameraController;
UserInput* userInput;
PropertyWindow* _propWindow;
void generateShadowMap(const CoordinateFrame& lightViewMatrix) const;
void generateShadowMap(const CoordinateFrame& lightViewMatrix) const;
RenderDevice* getRenderDevice();
void selectInstance(Instance* selectedInstance,PropertyWindow* propWindow);
void setMode(int mode);
void resize3DView(int w, int h);
Tool * tool;
void changeTool(Tool *);
Mouse mouse;
@@ -65,7 +66,6 @@ class Application { // : public GApp {
RenderDevice* renderDevice;
//void initGUI();
HWND _hWndMain;
SkyRef sky;
bool quit;
bool mouseOnScreen;
bool rightButtonHolding;

View File

@@ -6,6 +6,7 @@ class AudioPlayer
public:
AudioPlayer(void);
~AudioPlayer(void);
static void playSound(std::string);
static void init();
static void playSound(std::string);
};

View File

@@ -1,11 +1,19 @@
#pragma once
// Instances
#include "WorkspaceInstance.h"
#include "LevelInstance.h"
#include "PartInstance.h"
#include "SelectionService.h"
#include "rapidxml/rapidxml.hpp"
#include "GuiRootInstance.h"
#include "ThumbnailGeneratorInstance.h"
#include "XplicitNgine/XplicitNgine.h"
#include "SoundService.h"
#include "LightingInstance.h"
#include "JointsService.h"
// Libraries
#include "rapidxml/rapidxml.hpp"
class GuiRootInstance;
@@ -23,9 +31,16 @@ public:
bool load(const char* filename,bool clearObjects);
bool readXMLFileStream(std::ifstream* file);
void drawMessage(RenderDevice*);
WorkspaceInstance* getWorkspace();
LevelInstance * getLevel();
XplicitNgine * getEngine();
// Instance getters
WorkspaceInstance* getWorkspace();
LevelInstance* getLevel();
XplicitNgine* getEngine();
ThumbnailGeneratorInstance* getThumbnailGenerator();
SoundService* getSoundService();
JointsService* getJointsService();
LightingInstance* getLighting();
std::string message;
std::string _loadedFileName;
bool showMessage;
@@ -49,10 +64,17 @@ private:
std::string _errMsg;
bool _legacyLoad;
float _modY;
// Instances
WorkspaceInstance* workspace;
LevelInstance * level;
LevelInstance* level;
GuiRootInstance* guiRoot;
SelectionService* selectionService;
ThumbnailGeneratorInstance* thumbnailGenerator;
XplicitNgine* xplicitNgine;
SoundService* soundService;
LightingInstance* lightingInstance;
JointsService* jointsService;
bool running;
XplicitNgine * xplicitNgine;
};

View File

@@ -18,7 +18,9 @@ public:
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

@@ -2,7 +2,6 @@
#include <G3DAll.h>
#include "propertyGrid.h"
#include "map"
//#include "Properties/BoolProperty.h"
class Instance
{
@@ -13,9 +12,11 @@ public:
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();
bool Instance::isA(std::string name);
Instance* findFirstChild(std::string);
std::vector<Instance* > getChildren();
std::vector<Instance* > getAllChildren();
@@ -25,6 +26,7 @@ public:
void removeChild(Instance*);
void clearChildren();
Instance* getParent();
void remove();
virtual Instance* clone() const { return new Instance(*this); }
virtual std::vector<PROPGRIDITEM> getProperties();
virtual void PropUpdate(LPPROPGRIDITEM &pItem);

View File

@@ -0,0 +1,15 @@
#pragma once
#include "Instance.h"
#include "PartInstance.h"
class JointsService:
public Instance
{
public:
JointsService(void);
~JointsService(void);
void createSnap(PartInstance* Part1, PartInstance* Part2);
void destroyPartSnap(PartInstance* Part);
void JointsService::solvePartSnap(PartInstance* Part, PartInstance* Part2);
void JointsService::solveWorkspaceSnaps();
};

View File

@@ -5,13 +5,21 @@ class LevelInstance :
public Instance
{
public:
std::string SplashHTML;
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

@@ -0,0 +1,43 @@
#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

@@ -16,7 +16,8 @@ public:
//Rendering
virtual void PartInstance::postRender(RenderDevice* rd);
virtual void render(RenderDevice*);
virtual void renderName(RenderDevice*);
//Surfaces
Enum::SurfaceType::Value top;
Enum::SurfaceType::Value front;
@@ -24,8 +25,14 @@ public:
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;
@@ -42,6 +49,13 @@ public:
Box getScaledBox();
CoordinateFrame getCFrame();
//OnTouch Getters
bool isSingleShot();
int getTouchesToTrigger();
int getUniqueObjectsToTrigger();
int getChangeScore();
float getChangeTimer();
//Setters
void setParent(Instance* parent);
void setPosition(Vector3);
@@ -56,10 +70,15 @@ public:
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();
@@ -71,6 +90,15 @@ private:
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

@@ -15,6 +15,7 @@ public:
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

@@ -0,0 +1,14 @@
#pragma once
#include "Instance.h"
#include "PartInstance.h"
class SnapInstance:
public Instance
{
public:
SnapInstance(PartInstance* Part1, PartInstance* Part2);
~SnapInstance(void);
PartInstance* jPart1;
PartInstance* jPart2;
dJointID JointID;
};

View File

@@ -0,0 +1,30 @@
#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

@@ -0,0 +1,16 @@
#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

@@ -0,0 +1,14 @@
#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

@@ -20,4 +20,24 @@ namespace Enum
Player = 7, KeyboardRight = 1, KeyboardLeft = 2, Joypad1 = 3, Joypad2 = 4, Chase = 5, Flee = 6, None = 0
};
}
namespace ActionType
{
enum Value {
Nothing = 0, Pause = 1, Lose = 2, Draw = 3, Win = 4
};
}
namespace AffectType
{
enum Value {
NoChange = 0, Increase = 1, Decrease = 2
};
}
namespace Sound
{
enum Value {
NoSound = 0, Victory = 1, Boing = 2, Bomb = 3,
Ping = 4, Break = 5, Splat = 6, Swoosh = 7,
Snap = 8, Page = 9
};
}
}

View File

@@ -17,8 +17,6 @@ public:
static const int major;
static const int minor;
static const int patch;
static G3D::TextureRef surface;
static int surfaceId;
static const std::string g_appName;
static COLORREF g_acrCustClr[16]; //Will be dynamic later
static HWND mainHwnd;
@@ -29,6 +27,8 @@ extern bool running;
extern DataModelInstance* g_dataModel;
extern XplicitNgine* g_xplicitNgine;
extern Application* g_usableApp;
extern SkyRef g_sky;
extern RenderDevice g_renderDevice;
extern GFontRef g_fntdominant;
extern GFontRef g_fntlighttrek;

View File

@@ -27,8 +27,10 @@ public:
bool isMouseOnScreen();
bool isMouseDown();
void setMouseDown(bool mouseDown);
G3D::Ray * getRay();
G3D::Ray getRay();
G3D::Ray getLastRay();
G3D::Plane getPlane();
G3D::Plane getInversePlane();
private:
bool mouseDown;
};

View File

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

View File

@@ -13,6 +13,7 @@ public:
void onSelect(Mouse mouse);
void onKeyDown(int key);
void onKeyUp(int key);
void roundDeg(float &degree);
private:
bool lctrlDown;
bool rctrlDown;
@@ -20,4 +21,5 @@ private:
int mouseDownStarty;
bool dragging;
bool mouseDown;
Vector3 draggingPartOffset;
};

View File

@@ -0,0 +1,24 @@
#pragma once
#include "ArrowTool.h"
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;
Sphere handles[6];
};

View File

@@ -26,6 +26,7 @@ public:
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);

11
src/include/ToolEnum.h Normal file
View File

@@ -0,0 +1,11 @@
#pragma once
namespace Enum
{
namespace Hopper
{
enum Value {
GameTool = 0, Grab = 1, Clone = 2, Hammer = 3, Slingshot = 4, Rocket = 5, Laser = 6
};
}
}

View File

@@ -0,0 +1,26 @@
#ifndef COMPAT_SHIM
#define COMPAT_SHIM
#include <sstream>
#include <string>
template<class T>
std::string toString(const T &value)
{
std::ostringstream os;
os << value;
return os.str();
}
namespace std
{
std::string to_string( int value ) {return toString(value);}
std::string to_string( long value ) {return toString(value);}
std::string to_string( long long value ) {return toString(value);}
std::string to_string( unsigned value ) {return toString(value);}
std::string to_string( unsigned long value ) {return toString(value);}
std::string to_string( unsigned long long value ) {return toString(value);}
std::string to_string( float value ) {return toString(value);}
std::string to_string( double value ) {return toString(value);}
std::string to_string( long double value ) {return toString(value);}
}
#endif

View File

@@ -15,5 +15,8 @@ public:
void step(float stepSize);
void createBody(PartInstance* partInstance);
void deleteBody(PartInstance* partInstance);
void updateBody(PartInstance* partInstance, CoordinateFrame * cFrame);
void updateBody(PartInstance* partInstance);
void resetBody(PartInstance* partInstance);
dJointID createJoint(PartInstance *part1, PartInstance *part2);
void destroyJoints(PartInstance *part);
};

35
src/include/base64.h Normal file
View File

@@ -0,0 +1,35 @@
//
// base64 encoding and decoding with C++.
// Version: 2.rc.08 (release candidate)
//
#ifndef BASE64_H_C0CE2A47_D10E_42C9_A27C_C883944E704A
#define BASE64_H_C0CE2A47_D10E_42C9_A27C_C883944E704A
#include <string>
#if __cplusplus >= 201703L
#include <string_view>
#endif // __cplusplus >= 201703L
std::string base64_encode (std::string const& s, bool url = false);
std::string base64_encode_pem (std::string const& s);
std::string base64_encode_mime(std::string const& s);
std::string base64_decode(std::string const& s, bool remove_linebreaks = false);
std::string base64_encode(unsigned char const*, size_t len, bool url = false);
#if __cplusplus >= 201703L
//
// Interface with std::string_view rather than const std::string&
// Requires C++17
// Provided by Yannic Bonenberger (https://github.com/Yannic)
//
std::string base64_encode (std::string_view s, bool url = false);
std::string base64_encode_pem (std::string_view s);
std::string base64_encode_mime(std::string_view s);
std::string base64_decode(std::string_view s, bool remove_linebreaks = false);
#endif // __cplusplus >= 201703L
#endif /* BASE64_H_C0CE2A47_D10E_42C9_A27C_C883944E704A */

23
src/include/versioning.h Normal file
View File

@@ -0,0 +1,23 @@
#ifndef APP_GENER
#define SNAPSHOT_VERSION
#define APP_GENER 0
#define APP_MAJOR 0
#define APP_MINOR 108
#define APP_PATCH 0
#define APP_VER_STRING APP_GENER.APP_MAJOR.APP_MINOR.APP_PATCH
#ifdef SNAPSHOT_VERSION
#define VER_PREFIX( N ) v##N-SNAPSHOT
#else
#define VER_PREFIX( N ) v##N
#endif
#define HSTR( N ) #N
#define STR( N ) HSTR( N )
#define VER_STR( N ) STR( VER_PREFIX( N ) )
#endif

View File

@@ -9,6 +9,7 @@
#include "DataModelV2/DataModelInstance.h"
#include "DataModelV2/GuiRootInstance.h"
#include "XplicitNgine/XplicitNgine.h"
#include "DataModelV2/JointsService.h"
#include "CameraController.h"
#include "AudioPlayer.h"
#include "Globals.h"
@@ -25,7 +26,6 @@
#include "PropertyWindow.h"
#include <commctrl.h>
#include "StringFunctions.h"
#include "SplashHTML.h"
#include "Listener/GUDButtonListener.h"
#include "Listener/ModeSelectionListener.h"
@@ -34,10 +34,7 @@
#include "Listener/RotateButtonListener.h"
#include "Faces.h"
#define LEGACY_LOAD_G3DFUN_LEVEL
//Ray testRay;
//static int cursorid = 0;
//static int cursorOvrid = 0;
//static int currentcursorid = 0;
static bool mouseMovedBeginMotion = false;
static POINT oldGlobalMouse;
Vector2 oldMouse = Vector2(0,0);
@@ -111,6 +108,10 @@ Application::Application(HWND parentWindow) : _propWindow(NULL) { //: GApp(setti
_settings.writeLicenseFile = false;
_settings.logFilename = tempPath + "/g3dlog.txt";
_settings.window.center = true;
// Needs to be enabled if "B3DCCService" (still need to finalize that name)
//_settings.window.fsaaSamples = 8;
Win32Window* window = Win32Window::create(_settings.window,_hwndRenderer);
ShowWindow(_hwndRenderer, SW_SHOW);
ShowWindow(_hWndMain, SW_SHOW);
@@ -129,6 +130,8 @@ Application::Application(HWND parentWindow) : _propWindow(NULL) { //: GApp(setti
return;
}
AudioPlayer::init();
_window = renderDevice->window();
_window->makeCurrent();
@@ -198,11 +201,16 @@ void Application::onInit() {
#ifdef LEGACY_LOAD_G3DFUN_LEVEL
// Anchored this baseplate for XplicitNgine tests
//XplicitNgine ngine;
PartInstance* test = makePart();
PartInstance* test2;
PartInstance* test3;
JointsService* JointsSvc = g_dataModel->getJointsService();
test->setParent(_dataModel->getWorkspace());
test->color = Color3(0.2F,0.3F,1);
test->setSize(Vector3(24,1,24));
test->setPosition(Vector3(0,0,0));
test->setPosition(Vector3(0,-10,0));
test->setCFrame(test->getCFrame() * Matrix3::fromEulerAnglesXYZ(0,toRadians(0),toRadians(0)));
test->setSurface(TOP, Enum::SurfaceType::Bumps);
test->setAnchored(true);
@@ -221,12 +229,12 @@ void Application::onInit() {
test->setPosition(Vector3(10,1,0));
test->setSurface(TOP, Enum::SurfaceType::Bumps);
test = makePart();
test->setParent(_dataModel->getWorkspace());
test->color = Color3::gray();
test->setSize(Vector3(4,1,2));
test->setPosition(Vector3(7,2,0));
test->setSurface(TOP, Enum::SurfaceType::Bumps);
test2 = makePart();
test2->setParent(_dataModel->getWorkspace());
test2->color = Color3::red();
test2->setSize(Vector3(4,1,2));
test2->setPosition(Vector3(7,2,0));
test2->setSurface(TOP, Enum::SurfaceType::Bumps);
test = makePart();
test->setParent(_dataModel->getWorkspace());
@@ -235,12 +243,14 @@ void Application::onInit() {
test->setPosition(Vector3(-7,2,0));
test->setSurface(TOP, Enum::SurfaceType::Bumps);
test = makePart();
test->setParent(_dataModel->getWorkspace());
test->color = Color3::gray();
test->setSize(Vector3(4,1,2));
test->setPosition(Vector3(4,3,0));
test->setSurface(TOP, Enum::SurfaceType::Bumps);
test3 = makePart();
test3->setParent(_dataModel->getWorkspace());
test3->color = Color3::red();
test3->setSize(Vector3(4,1,2));
test3->setPosition(Vector3(4,3,0));
test3->setSurface(TOP, Enum::SurfaceType::Bumps);
//JointsSvc->createSnap(test2, test3);
test = makePart();
test->setParent(_dataModel->getWorkspace());
@@ -251,10 +261,12 @@ void Application::onInit() {
test = makePart();
test->setParent(_dataModel->getWorkspace());
test->color = Color3::gray();
test->color = Color3::red();
test->setSize(Vector3(4,1,2));
test->setPosition(Vector3(1,4,0));
test->setSurface(TOP, Enum::SurfaceType::Bumps);
//JointsSvc->createSnap(test, test3);
//JointsSvc->solvePartSnap(test3, test);
test = makePart();
test->setParent(_dataModel->getWorkspace());
@@ -283,30 +295,18 @@ void Application::onInit() {
test->setSize(Vector3(4,1,2));
test->setPosition(Vector3(2,7,0));
test->setSurface(TOP, Enum::SurfaceType::Bumps);
JointsSvc->solveWorkspaceSnaps();
#else
_dataModel->debugGetOpen();
#endif
LevelInstance * level = g_dataModel->getLevel();
std::string GetCurrentSplash = level->SplashHTML;
SplashHTMLLoad(GetCurrentSplash);
_dataModel->getSelectionService()->clearSelection();
_dataModel->getSelectionService()->addSelected(_dataModel);
//setDesiredFrameRate(60);
//GApplet::onInit();
}
void Application::onCleanup() {
clearInstances();
sky->~Sky();
}
void Application::onLogic() {
@@ -317,16 +317,13 @@ void Application::onNetwork() {
// Poll net messages here
}
//double getVectorDistance(Vector3 vector1, Vector3 vector2)
//{
// return pow(pow((double)vector1.x - (double)vector2.x, 2) + pow((double)vector1.y - (double)vector2.y, 2) + pow((double)vector1.z - (double)vector2.z, 2), 0.5);
//}
void Application::onSimulation(RealTime rdt, SimTime sdt, SimTime idt) {
if(_dataModel->isRunning())
{
LevelInstance* Level = _dataModel->getLevel();
Level->Step(sdt);
// XplicitNgine Start
std::vector<PartInstance *> toDelete;
for(size_t i = 0; i < _dataModel->getWorkspace()->partObjects.size(); i++)
@@ -343,16 +340,16 @@ void Application::onSimulation(RealTime rdt, SimTime sdt, SimTime idt) {
{
PartInstance * p = toDelete.back();
toDelete.pop_back();
g_dataModel->getSelectionService()->removeSelected(p);
if(g_dataModel->getSelectionService()->isSelected(p))
g_dataModel->getSelectionService()->removeSelected(p);
p->setParent(NULL);
delete p;
}
for(int i = 0; i < 6; i++)
for(int i = 0; i < 4; i++)
{
_dataModel->getEngine()->step(0.1F);
_dataModel->getEngine()->step(0.03F);
}
onLogic();
}
_dataModel->getGuiRoot()->update();
@@ -421,92 +418,10 @@ int Application::getMode()
return _mode;
}
void Application::drawOutline(Vector3 from, Vector3 to, RenderDevice* rd, LightingParameters lighting, Vector3 size, Vector3 pos, CoordinateFrame c)
{
rd->disableLighting();
Color3 outline = Color3::cyan();//Color3(0.098F,0.6F,1.0F);
float offsetSize = 0.05F;
//X
Draw::box(c.toWorldSpace(Box(Vector3(from.x - offsetSize, from.y + offsetSize, from.z + offsetSize), Vector3(to.x + offsetSize, from.y - offsetSize, from.z - offsetSize))), rd, outline, Color4::clear());
Draw::box(c.toWorldSpace(Box(Vector3(from.x - offsetSize, to.y + offsetSize, from.z + offsetSize), Vector3(to.x + offsetSize, to.y - offsetSize, from.z - offsetSize))), rd, outline, Color4::clear());
Draw::box(c.toWorldSpace(Box(Vector3(from.x - offsetSize, to.y + offsetSize, to.z + offsetSize), Vector3(to.x + offsetSize, to.y - offsetSize, to.z - offsetSize))), rd, outline, Color4::clear());
Draw::box(c.toWorldSpace(Box(Vector3(from.x - offsetSize, from.y + offsetSize, to.z + offsetSize), Vector3(to.x + offsetSize, from.y - offsetSize, to.z - offsetSize))), rd, outline, Color4::clear());
//Y
Draw::box(c.toWorldSpace(Box(Vector3(from.x + offsetSize, from.y - offsetSize + 0.1, from.z + offsetSize), Vector3(from.x - offsetSize, to.y + offsetSize - 0.1, from.z - offsetSize))), rd, outline, Color4::clear());
Draw::box(c.toWorldSpace(Box(Vector3(to.x + offsetSize, from.y - offsetSize + 0.1, from.z + offsetSize), Vector3(to.x - offsetSize, to.y + offsetSize - 0.1, from.z - offsetSize))), rd, outline, Color4::clear());
Draw::box(c.toWorldSpace(Box(Vector3(to.x + offsetSize, from.y - offsetSize + 0.1, to.z + offsetSize), Vector3(to.x - offsetSize, to.y + offsetSize-0.1, to.z - offsetSize))), rd, outline, Color4::clear());
Draw::box(c.toWorldSpace(Box(Vector3(from.x + offsetSize, from.y - offsetSize + 0.1, to.z + offsetSize), Vector3(from.x - offsetSize, to.y + offsetSize - 0.1, to.z - offsetSize))), rd, outline, Color4::clear());
//Z
Draw::box(c.toWorldSpace(Box(Vector3(from.x + offsetSize, from.y + offsetSize, from.z - offsetSize), Vector3(from.x - offsetSize, from.y - offsetSize, to.z + offsetSize))), rd, outline, Color4::clear());
Draw::box(c.toWorldSpace(Box(Vector3(from.x + offsetSize, to.y + offsetSize, from.z - offsetSize), Vector3(from.x - offsetSize, to.y - offsetSize, to.z + offsetSize))), rd, outline, Color4::clear());
Draw::box(c.toWorldSpace(Box(Vector3(to.x + offsetSize, from.y + offsetSize, from.z - offsetSize), Vector3(to.x - offsetSize, from.y - offsetSize, to.z + offsetSize))), rd, outline, Color4::clear());
Draw::box(c.toWorldSpace(Box(Vector3(to.x + offsetSize, to.y + offsetSize, from.z - offsetSize), Vector3(to.x - offsetSize, to.y - offsetSize, to.z + offsetSize))), rd, outline, Color4::clear());
if(_mode == ARROWS)
{
AABox box;
c.toWorldSpace(Box(from, to)).getBounds(box);
float max = box.high().y - pos.y;
Draw::arrow(pos, Vector3(0, 1.5+max, 0), rd);
Draw::arrow(pos, Vector3(0, (-1.5)-max, 0), rd);
max = box.high().x - pos.x;
Draw::arrow(pos, Vector3(1.5+max, 0, 0), rd);
Draw::arrow(pos, Vector3((-1.5)-max, 0, 0), rd);
max = box.high().z - pos.z;
Draw::arrow(pos, Vector3(0, 0, 1.5+max), rd);
Draw::arrow(pos, Vector3(0, 0, (-1.5)-max), rd);
}
else if(_mode == RESIZE)
{
Color3 sphereColor = outline;
Vector3 gamepoint = pos;
Vector3 camerapoint = rd->getCameraToWorldMatrix().translation;
float distance = pow(pow((double)gamepoint.x - (double)camerapoint.x, 2) + pow((double)gamepoint.y - (double)camerapoint.y, 2) + pow((double)gamepoint.z - (double)camerapoint.z, 2), 0.5);
if(distance < 200)
{
float multiplier = distance * 0.025F/2;
if(multiplier < 0.25F)
multiplier = 0.25F;
Vector3 position = pos + (c.lookVector()*((size.z)+1));
Draw::sphere(Sphere(position, multiplier), rd, sphereColor, Color4::clear());
position = pos - (c.lookVector()*((size.z)+1));
Draw::sphere(Sphere(position, multiplier), rd, sphereColor, Color4::clear());
position = pos + (c.rightVector()*((size.x)+1));
Draw::sphere(Sphere(position, multiplier), rd, sphereColor, Color4::clear());
position = pos - (c.rightVector()*((size.x)+1));
Draw::sphere(Sphere(position, multiplier), rd, sphereColor, Color4::clear());
position = pos + (c.upVector()*((size.y)+1));
Draw::sphere(Sphere(position, multiplier), rd, sphereColor, Color4::clear());
position = pos - (c.upVector()*((size.y)+1));
Draw::sphere(Sphere(position, multiplier), rd, sphereColor, Color4::clear());
}
}
rd->enableLighting();
}
void Application::exitApplication()
{
//endApplet = true;
//endProgram = true;
}
void Application::onGraphics(RenderDevice* rd) {
G3D::uint8 num = 0;
@@ -515,27 +430,18 @@ void Application::onGraphics(RenderDevice* rd) {
if (GetCursorPos(&mousepos))
{
POINT pointm = mousepos;
if (ScreenToClient(_hWndMain, &mousepos))
{
//mouseOnScreen = true;
//POINT pointm;
///GetCursorPos(&pointm);
if(_hwndRenderer != WindowFromPoint(pointm)) //OLD: mousepos.x < 1 || mousepos.y < 1 || mousepos.x >= rd->getViewport().width()-1 || mousepos.y >= rd->getViewport().height()-1
if (ScreenToClient(_hWndMain, &mousepos))
{
mouseOnScreen = false;
//ShowCursor(true);
//_window->setMouseVisible(true);
//rd->window()->setInputCaptureCount(0);
if(_hwndRenderer != WindowFromPoint(pointm))
{
mouseOnScreen = false;
}
else
{
mouseOnScreen = true;
}
}
else
{
mouseOnScreen = true;
//SetCursor(NULL);
//_window->setMouseVisible(false);
//rd->window()->setInputCaptureCount(1);
}
}
}
if(Globals::useMousePoint)
@@ -544,136 +450,13 @@ void Application::onGraphics(RenderDevice* rd) {
ScreenToClient(_hWndMain, &mousepos);
}
LightingParameters lighting(G3D::toSeconds(2, 00, 00, PM));
lighting.ambient = Color3(0.6F,0.6F,0.6F);
renderDevice->setProjectionAndCameraMatrix(*cameraController.getCamera());
renderDevice->setProjectionAndCameraMatrix(*cameraController.getCamera());
// Cyan background
//renderDevice->setColorClearValue(Color3(0.0f, 0.5f, 1.0f));
// Moved a lot of code to lighting
g_dataModel->getLighting()->update();
renderDevice->clear(sky.isNull(), true, true);
if (sky.notNull()) {
sky->render(renderDevice, lighting);
}
// Setup lighting
renderDevice->enableLighting();
renderDevice->setShadeMode(RenderDevice::SHADE_SMOOTH);
renderDevice->setAmbientLightColor(Color3(1,1,1));
renderDevice->setLight(0, GLight::directional(lighting.lightDirection, lighting.lightColor, true, true));
renderDevice->setAmbientLightColor(lighting.ambient);
//renderDevice->setBlendFunc(RenderDevice::BLEND_ONE, RenderDevice::BLEND_ONE);
renderDevice->setShininess(70);
renderDevice->setSpecularCoefficient(Color3(0.1F, 0.1F, 0.1F));
//float lightAmbient[] = { 0.5F, 0.6F, 0.9F, 1.0F };
//float lightDiffuse[] = { 0.6F, 0.4F, 0.9F, 1.0F };
//float lightSpecular[] = { 0.8F, 0.6F, 1.0F, 1.0F };
//glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, lightAmbient);
//glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, lightDiffuse);
//glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, lightSpecular);
//glMateriali(GL_FRONT_AND_BACK, GL_SHININESS, 70);
rd->beforePrimitive();
CoordinateFrame forDraw = rd->getObjectToWorldMatrix();
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_COLOR_ARRAY);
glEnableClientState(GL_NORMAL_ARRAY);
//if(_dataModel->getWorkspace() != NULL)
_dataModel->getWorkspace()->render(rd);
//else throw std::exception("Workspace not found");
glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_COLOR_ARRAY);
glDisableClientState(GL_NORMAL_ARRAY);
rd->setObjectToWorldMatrix(forDraw);
rd->afterPrimitive();
//Draw::box(G3D::Box(mouse.getPosition()-Vector3(2,0.5F,1),mouse.getPosition()+Vector3(2,0.5F,1)), rd, Color3::cyan(), Color4::clear());
for(size_t i = 0; i < _dataModel->getSelectionService()->getSelection().size(); i++)
{
if(PartInstance* part = dynamic_cast<PartInstance*>(g_dataModel->getSelectionService()->getSelection()[i]))
{
Vector3 size = part->getSize();
Vector3 pos = part->getPosition();
drawOutline(Vector3(0+size.x/2, 0+size.y/2, 0+size.z/2) ,Vector3(0-size.x/2,0-size.y/2,0-size.z/2), rd, lighting, Vector3(size.x/2, size.y/2, size.z/2), Vector3(pos.x, pos.y, pos.z), part->getCFrame());
}
}
//Vector3 gamepoint = Vector3(0, 5, 0);
//Vector3 camerapoint = rd->getCameraToWorldMatrix().translation;
//float distance = pow(pow((double)gamepoint.x - (double)camerapoint.x, 2) + pow((double)gamepoint.y - (double)camerapoint.y, 2) + pow((double)gamepoint.z - (double)camerapoint.z, 2), 0.5);
//if(distance < 50 && distance > -50)
//{
// if(distance < 0)
// distance = distance*-1;
// fntdominant->draw3D(rd, "Testing", CoordinateFrame(rd->getCameraToWorldMatrix().rotation, gamepoint), 0.04*distance, Color3::yellow(), Color3::black(), G3D::GFont::XALIGN_CENTER, G3D::GFont::YALIGN_CENTER);
//}
renderDevice->disableLighting();
if (sky.notNull()) {
sky->renderLensFlare(renderDevice, lighting);
}
renderDevice->push2D();
_dataModel->getGuiRoot()->renderGUI(renderDevice, m_graphicsWatch.FPS());
/*rd->pushState();
rd->beforePrimitive();
if(Globals::showMouse && mouseOnScreen)
{
glEnable( GL_TEXTURE_2D );
glEnable(GL_BLEND);// you enable blending function
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
/*
std::vector<Instance*> instances = _dataModel->getWorkspace()->getAllChildren();
currentcursorid = cursorid;
for(size_t i = 0; i < instances.size(); i++)
{
if(PartInstance* test = dynamic_cast<PartInstance*>(instances.at(i)))
{
float time = cameraController.getCamera()->worldRay(_dataModel->mousex, _dataModel->mousey, renderDevice->getViewport()).intersectionTime(test->getBox());
//float time = testRay.intersectionTime(test->getBox());
if (time != inf())
{
currentcursorid = cursorOvrid;
break;
}
}
}
*/
/*glBindTexture( GL_TEXTURE_2D, tool->getCursorId());
glBegin( GL_QUADS );
glTexCoord2d(0.0,0.0);
glVertex2f(mousepos.x-64, mousepos.y-64);
glTexCoord2d( 1.0,0.0 );
glVertex2f(mousepos.x+64, mousepos.y-64);
glTexCoord2d(1.0,1.0 );
glVertex2f(mousepos.x+64, mousepos.y+64 );
glTexCoord2d( 0.0,1.0 );
glVertex2f( mousepos.x-64, mousepos.y+64 );
glEnd();
glDisable( GL_TEXTURE_2D );*/
//}
/*rd->afterPrimitive();
rd->popState();*/
renderDevice->pop2D();
}
@@ -732,7 +515,6 @@ void Application::onMouseMoved(int x,int y)
mouse.oldy = mouse.y;
mouse.x = x;
mouse.y = y;
//tool->onMouseMoved(mouse);
mouseMoveState = true;
}
@@ -748,32 +530,12 @@ void Application::onMouseWheel(int x,int y,short delta)
void Application::run() {
g_usableApp = this;
//setDebugMode(false);
//debugController.setActive(false);
/*
if (!createWindowClass("ToolWindowClass",ToolProc,GetModuleHandle(0)))
{
return;
}
HWND propertyHWnd = CreateWindowEx(
WS_EX_TOOLWINDOW,"ToolWindowClass", "ToolWindow",
WS_SYSMENU | WS_VISIBLE | WS_CHILD,
0, 0, 800, 64,
hWndMain, NULL, GetModuleHandle(0), NULL);
ShowWindow(propertyHWnd,SW_SHOW);
*/
UpdateWindow(_hWndMain);
// Load objects here=
Globals::surface = Texture::fromFile(GetFileInPath("/content/images/surfacebr.png"));
Globals::surfaceId = Globals::surface->getOpenGLID();
// Load objects here
cameraSound = GetFileInPath("/content/sounds/SWITCH3.wav");
clickSound = GetFileInPath("/content/sounds/switch.wav");
dingSound = GetFileInPath("/content/sounds/electronicpingshort.wav");
sky = Sky::create(NULL, ExePath() + "/content/sky/");
RealTime now=0, lastTime=0;
double simTimeRate = 1.0f;
float fps=30.0f;
@@ -783,12 +545,7 @@ void Application::run() {
RealTime lastWaitTime=0;
MSG messages;
//RECT cRect;
//GetClientRect(_hWndMain,&cRect);
//renderDevice->notifyResize(cRect.right,cRect.bottom);
//Rect2D viewportRect = Rect2D::xywh(0,0,cRect.right,cRect.bottom);
//renderDevice->setViewport(viewportRect);
//window()->setInputCaptureCount(1);
resizeWithParent(_hWndMain);
glEnable(GL_CULL_FACE);
while (!quit)
@@ -800,21 +557,15 @@ void Application::run() {
m_userInputWatch.tick();
onUserInput(userInput);
//m_moduleManager->onUserInput(_userInput);
m_userInputWatch.tock();
m_simulationWatch.tick();
//debugController.doSimulation(clamp(timeStep, 0.0, 0.1));
//g3dCamera.setCoordinateFrame
//(debugController.getCoordinateFrame());
double rate = simTimeRate;
RealTime rdt = timeStep;
SimTime sdt = timeStep * rate;
SimTime idt = desiredFrameDuration * rate;
onSimulation(rdt,sdt,idt);
m_simulationWatch.tock();
@@ -863,6 +614,13 @@ void Application::resizeWithParent(HWND parentWindow)
}
void Application::resize3DView(int w, int h)
{
Rect2D newViewport = Rect2D::xywh(0, 0, w, h);
renderDevice->notifyResize(w, h);
renderDevice->setViewport(newViewport);
}
void Application::QuitApp()
{
PostQuitMessage(0);
@@ -871,7 +629,4 @@ void Application::QuitApp()
void Application::onCreate(HWND parentWindow)
{
//SetWindowLongPtr(hwndRenderer,GWL_USERDATA,(LONG)this);
//SetWindowLongPtr(hwndToolbox,GWL_USERDATA,(LONG)this);
//SetWindowLongPtr(hwndMain,GWL_USERDATA,(LONG)&app);
}
}

View File

@@ -4,7 +4,7 @@
#include <stdlib.h>
#include <malloc.h>
#include <string.h>
#define NUM_SOUNDS 10
#define NUM_SOUNDS 32
static SDL_AudioSpec fmt;
static bool initiated = false;
@@ -23,7 +23,7 @@ void AudioPlayer::init()
initiated = true;
extern void mixaudio(void *unused, Uint8 *stream, int len);
fmt.freq = 22050;
fmt.format = AUDIO_S16;
fmt.format = AUDIO_S16LSB;
fmt.channels = 2;
fmt.samples = 1024; /* A good value for games */
fmt.callback = mixaudio;

View File

@@ -1,62 +0,0 @@
#include "DataModel/BaseButtonInstance.h"
#include "Globals.h"
#include "Application.h"
ButtonListener* listener = NULL;
BaseButtonInstance::BaseButtonInstance(void)
{
Instance::Instance();
listener = NULL;
}
void BaseButtonInstance::render(RenderDevice* rd)
{
DataModelInstance* dataModel = g_dataModel;
Vector2 pos = Vector2(g_usableApp->mouse.x,g_usableApp->mouse.y);
drawObj(rd, pos, g_usableApp->mouse.isMouseDown());
Instance::render(rd);
}
BaseButtonInstance::~BaseButtonInstance(void)
{
if(listener != NULL && listener->doDelete)
{
delete listener;
listener = NULL;
}
}
void BaseButtonInstance::setButtonListener(ButtonListener& buttonListener)
{
listener = buttonListener;
}
void BaseButtonInstance::drawObj(RenderDevice* rd, Vector2 mousePos, bool mouseDown){}
bool BaseButtonInstance::mouseInButton(float mousex, float mousey, RenderDevice* rd){return false;}
void BaseButtonInstance::onMouseClick()
{
if(listener != NULL)
{
listener->onButton1MouseClick(this);
}
}
bool BaseButtonInstance::mouseInArea(float point1x, float point1y, float point2x, float point2y, float mousex, float mousey)
{
if(mousex >= point1x && mousey >= point1y)
{
if(mousex < point2x && mousey < point2y)
{
return true;
}
}
return false;
}

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