168 Commits

Author SHA1 Message Date
Vulpovile
2af7077a0a Merge pull request #94 from Vulpovile/bugfix/partcollison
Fix part collisions
2022-10-05 20:32:58 -07:00
728e67e1a5 Fix part collisions 2022-10-05 22:53:54 -04:00
8fa056e191 Merge pull request #88 from Vulpovile/bugfix/hopperbin-crash
Placeholder hopperbin fix
2022-10-05 13:08:55 -04: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
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
Vulpovile
d96bcd2a2b Merge pull request #78 from Vulpovile/bugfix/fix-broken-delete
Fix broken delete
2022-10-03 22:27:00 -07:00
Vulpovile
6de83febb5 Fix prefix 2022-10-03 22:26:09 -07:00
Vulpovile
aaceb4eb21 Version bump 2022-10-03 22:16:30 -07:00
Vulpovile
e1716e7417 Merge pull request #77 from Vulpovile/bugfix/fix-crash-on-void
Fix crash when bricks fall into void
2022-10-03 20:52:14 -07:00
Vulpovile
f5aaef5b16 Cleanup 2022-10-03 20:50:05 -07:00
Vulpovile
b66d524d7f Patch bump 2022-10-03 20:45:07 -07:00
Vulpovile
d468545428 Fix crash on falling into void 2022-10-03 20:44:23 -07:00
Vulpovile
1356ef52ab Merge pull request #76 from Vulpovile/feature/selection-service
Create a selection service
2022-10-03 20:16:05 -07:00
Vulpovile
67a5d99e1d Removed unused variable 2022-10-03 20:13:54 -07:00
Vulpovile
31db4dc894 Made innosetup version automatic 2022-10-03 20:00:22 -07:00
Vulpovile
50a5fd3ce1 Add program info 2022-10-03 19:48:45 -07:00
Vulpovile
a02a367a6e Fixed typo 2022-10-03 19:44:25 -07:00
Vulpovile
33a898e359 Made camera only move when application has focus 2022-10-03 19:43:35 -07:00
Vulpovile
f46e24d8f1 Moved selection to be a service 2022-10-03 19:30:38 -07:00
Vulpovile
b2db375ecf Merge pull request #75 from Vulpovile/bugfix/tie_phys_to_fps
Patch increment
2022-10-03 17:25:26 -07:00
Vulpovile
9039fbe862 Patch increment 2022-10-03 17:23:36 -07:00
DirtPiper
145e5c3340 Merge pull request #74 from Vulpovile/bugfix/tie_phys_to_fps
Tie physics to FPS
2022-10-03 20:23:24 -04:00
Vulpovile
ad741b86e5 Updated gitignore to not ignore manifest 2022-10-03 17:20:33 -07:00
Vulpovile
a04c178ed4 Made crash dialog not override AVE on debug 2022-10-03 17:19:30 -07:00
Vulpovile
584154d676 Add untracked manifest 2022-10-03 13:35:34 -07:00
Vulpovile
6e2c135b47 Tied physics to FPS 2022-10-03 11:26:56 -07:00
Vulpovile
e8ecb14f64 Merge pull request #61 from Vulpovile/feature/bugfix_properties_duplicate
Fix Bugs
2022-10-03 08:15:25 -07:00
Vulpovile
ad29d96068 Fix manifest file 2022-10-03 07:57:11 -07:00
Vulpovile
43647086fb Fix duplication crash 2022-10-03 07:48:28 -07:00
Vulpovile
eb07d852db Add Manifest 2022-10-03 07:46:09 -07:00
Vulpovile
7f5ab0df7f Fixed selection crashing when brick is removed due to physics 2022-10-03 07:42:24 -07:00
Vulpovile
3d31421164 Add required ODE library to build
To be removed once a separate repo is made for this (ODE/G3D)
2022-10-02 21:17:27 -07:00
Vulpovile
7b6cab626e Increment minor in setup again 2022-10-02 20:59:32 -07:00
Vulpovile
736a63e89f Increment minor in setup 2022-10-02 20:55:36 -07:00
Vulpovile
a74d485d1c Increment minor 2022-10-02 20:54:03 -07:00
DirtPiper
b7f276f849 Merge pull request #56 from Vulpovile/physics-test
Initial Physics Implementation
2022-10-02 23:44:51 -04:00
Vulpovile
e0be70f5e6 Last physics iteration for this one 2022-10-02 20:17:07 -07:00
Vulpovile
4ff212f2f3 Improved Physics again 2022-10-02 18:05:40 -07:00
Vulpovile
af8823c508 Improved Physics 2022-10-02 17:56:50 -07:00
Vulpovile
c27aa6a114 Fixed models crashing game 2022-10-02 17:17:40 -07:00
Vulpovile
df77572fe7 Made anchoring togglable in play mode 2022-10-02 16:44:59 -07:00
Vulpovile
8c47024960 a 2022-10-02 16:20:35 -07:00
Vulpovile
16a7b893e4 Merge branch 'master' of github.com:Vulpovile/G3D-Fun into physics-test 2022-10-02 16:12:01 -07:00
4a38f077a3 Merge pull request #55 from Vulpovile/FileDropDown
Added Switch Statement for File menu
2022-10-02 16:11:43 -07:00
Vulpovile
e17aa16086 Made physics work 2022-10-02 15:54:38 -07:00
Vulpovile
316359a395 Made physics let you move stuff 2022-10-02 14:28:45 -07:00
Vulpovile
226f2adda4 Made XplicitNgine secret instance of DataModel 2022-10-02 11:24:05 -07:00
FlareMicrosystems
d3f9b74ba1 Made cylinders and spheres act as spheres 2022-10-01 23:12:55 -07:00
FlareMicrosystems
ce999d226d Fixed icons 2022-10-01 22:03:54 -07:00
032e2ae668 Added Switch Statement for File menu 2022-10-02 01:00:44 -04:00
FlareMicrosystems
bc9a5bfc72 Added rotation 2022-10-01 19:30:57 -07:00
Modnark
8e73755d80 anchoring
Anchoring kinda works now
2022-10-01 21:13:40 -04:00
Modnark
2f3cb43807 init 2022-10-01 17:32:48 -04:00
Vulpovile
550962f1e6 Merge pull request #54 from Vulpovile/DataModelV2
Data model v2
2022-09-30 15:24:44 -07:00
FlareMicrosystems
c86fb57710 Removed Pro Requirement 2022-09-30 15:22:10 -07:00
Vulpovile
daacf6ae02 Icons 2021-08-17 13:28:59 -07:00
Vulpovile
066e955933 Added select all 2021-03-21 01:08:18 -07:00
Vulpovile
bba534be3c Fixes 2021-03-20 21:58:41 -07:00
Vulpovile
e473d0eb7e Removed old icon, made Dialogs.rc correct 2021-03-20 21:50:14 -07:00
Vulpovile
aab26d2e35 Finally got VS2005 to shut the hell up 2021-03-20 21:38:44 -07:00
Vulpovile
b9305d1fb9 Replaced resource.h because the old one was a disaster 2021-03-20 21:25:54 -07:00
Vulpovile
f9c4700e7d Removed redefinition from resources.h.
We should take a look at that file because it is insane
2021-03-20 21:14:11 -07:00
Vulpovile
239f7b8fa8 Tried to add VS2003 support... 2021-03-18 23:22:37 -07:00
Vulpovile
7ea74a3980 Removed yet another block of outdated render code, fixed unSetMode 2021-03-17 02:10:38 -07:00
unknown
3de82eb64d Fixed visual bugs, added stud snapping
Hope I've done this properly. Stud snapping is primitive and needs work done.
2021-03-16 13:24:47 -04:00
Vulpovile
d03e78a648 Made changing CFrame not require whole part re-rendering 2021-03-16 02:14:49 -07:00
Vulpovile
b361039f88 Deleted DataModelV1.1, made BaseGuiInstance, fixed delete ear rape 2021-03-16 02:10:57 -07:00
Vulpovile
2af1be327a New icon given by modnark 2021-03-15 16:24:38 -07:00
Vulpovile
79ce0b491f Made surface not crash, made surface release only on motor 2021-03-15 10:32:47 -07:00
Vulpovile
bfcb3f83ab Added surface selector, made faces reflect G3D faces 2021-03-15 10:12:45 -07:00
Vulpovile
0e3968acd4 Added surface tool 2021-03-15 01:53:25 -07:00
Vulpovile
c27a56b42f Fixed group 2021-03-15 00:34:24 -07:00
Vulpovile
d3dc479ec0 Removed incorrect mouse 2021-03-15 00:27:46 -07:00
Vulpovile
ca8fc41228 Finished surfaces 2021-03-14 18:34:31 -07:00
Vulpovile
049ef1a8d7 Moved renderer files 2021-03-14 14:13:21 -07:00
Vulpovile
02dfa34d15 Fixed model/place load causing memory leak 2021-03-14 13:45:18 -07:00
Vulpovile
816a67a40b Tried to fix clearing children but failed miserably 2021-03-14 13:43:12 -07:00
Vulpovile
2a6d90ad66 Cleaned up partinstance.h, moved CFrame to PVInstance 2021-03-13 22:18:25 -08:00
Vulpovile
3963dd5286 Removed legacy renderer, added cylinder pluses 2021-03-13 22:10:02 -08:00
Vulpovile
c472aa9411 Removed old renderer 2021-03-13 21:21:33 -08:00
Vulpovile
f0ac00a77b Renderer now stores vertices in GPU memory 2021-03-13 19:09:14 -08:00
Vulpovile
cdba7f6eee New render code 2021-03-13 19:07:15 -08:00
Vulpovile
8b4460c104 Adding properties 2021-03-10 21:32:58 -08:00
Vulpovile
7ca6b1e472 Added new redists, tried making PropertyGrid safer 2021-03-10 19:27:38 -08:00
Vulpovile
3935a7072e Made listeners use heap 2021-03-08 23:52:10 -08:00
Vulpovile
20afd874dc Add redist 2021-03-08 10:14:01 -08:00
Vulpovile
28b1cd6634 Starting DataModel V2 2021-03-07 23:57:53 -08:00
Vulpovile
9d95a5b891 Using DataModelV2 2021-03-07 21:25:31 -08:00
Vulpovile
a826d01b89 Merge branch 'master' into DataModelV2 2021-03-07 21:13:24 -08:00
Vulpovile
f668848ecb Removed DataModel V2 2021-03-07 21:12:26 -08:00
Vulpovile
776a0337b5 Added setup files 2021-03-07 21:10:03 -08:00
Vulpovile
d0f5c77024 Added installer generation files, removed UxTheme 2021-03-07 17:25:13 -08:00
Vulpovile
06e8ef4dae Test 2021-03-07 17:20:48 -08:00
Vulpovile
e2136671a3 Starting DataModel V2 2021-03-07 16:44:33 -08:00
Vulpovile
69be9dbb91 Sort of got menus working (not great design though) 2021-03-06 01:20:30 -08:00
Vulpovile
dd6cd509fa Corrected something 2021-03-06 01:04:34 -08:00
Vulpovile
2ba76bc9b7 Renamed G3D-Fun to Blocks3D 2021-03-05 22:23:40 -08:00
Vulpovile
84521dd124 Merge branch 'master' into DataModelV2 2021-03-05 19:31:13 -08:00
MusicalProgrammer
b7cb2d39ba Changed absolute paths to relative paths in project file. 2021-03-05 22:30:02 -05:00
Vulpovile
d2534616a2 Fixed my dumb mistake 2021-03-05 19:24:00 -08:00
Vulpovile
fe21cab8b0 hmm 2021-03-05 14:53:16 -08:00
Vulpovile
c99bcd64e4 Update Application.cpp 2021-03-05 08:24:56 -08:00
Vulpovile
8a6abac11f Merge pull request #46 from Vulpovile/datamodelv2
Must fix possible ACE insecurity before making DataModelV2
2021-03-05 08:10:47 -08:00
Vulpovile
f11bfa1536 Am lost 2021-03-05 01:22:44 -08:00
Vulpovile
f8dd5470da Edited pages 2021-03-05 00:43:07 -08:00
Vulpovile
788f8312f0 Fixed release 2021-03-04 23:45:23 -08:00
Vulpovile
89a6ea7124 Code cleanup 2021-03-04 23:02:08 -08:00
Vulpovile
f6c11373b4 Fixed accidental broken build 2021-03-04 22:59:59 -08:00
Vulpovile
1cc7f8fcb6 Refactor main, Fixed main getting taken out of gitignore for some reason 2021-03-04 22:59:28 -08:00
Vulpovile
67381618de Merge pull request #45 from Vulpovile/datamodelv2
Code refactor
2021-03-04 22:53:13 -08:00
Vulpovile
e044b606c1 Finished DataModel refactor 2021-03-04 22:50:11 -08:00
Vulpovile
299e22cf92 Refactor DataModel 2021-03-04 22:47:09 -08:00
Vulpovile
fa3e8909c8 DataModel refactor 2021-03-04 22:35:40 -08:00
Vulpovile
b14027c787 Listener refactor 2021-03-04 22:18:42 -08:00
Vulpovile
430837ccd6 Code refactor 2021-03-04 21:57:52 -08:00
Vulpovile
12843a0890 Code directory changes 2021-03-04 21:48:29 -08:00
Vulpovile
8bf27c6412 Merge pull request #44 from Vulpovile/tools-and-ui
Merge Tools and UI into master
2021-03-04 19:10:25 -08:00
Vulpovile
212cadac31 Merge branch 'master' into tools-and-ui 2021-03-04 19:09:26 -08:00
Vulpovile
fcfed4afcd Much more performant, new cylinder 2021-03-04 17:46:47 -08:00
Vulpovile
20c18c6f9b New lighting, new spheres 2021-03-04 13:07:04 -08:00
andreja6
c08254562f fixed teleporting drag 2020-03-16 21:11:28 -07:00
andreja6
0090c6c8a1 Added PartInstance->Collides function 2020-03-15 11:46:06 -07:00
andreja6
73a6b72c20 added getPositionAndPart 2020-03-14 18:56:49 -07:00
andreja6
5bdeac2f66 Removed comment 2020-03-14 17:59:56 -07:00
andreja6
24a4aed4f1 Made dragging slightly less horrific 2020-03-14 13:13:59 -07:00
andreja6
520e7f1bef Added (really horrible) dragging 2020-03-13 23:50:37 -07:00
andreja6
9217e78084 Attempted to make getPosition... 2020-03-13 23:13:58 -07:00
andreja6
bd8209958d New selection method, fixed crashing 2020-03-13 18:50:48 -07:00
andreja6
f08799d49c Fixed memory error 2020-03-13 18:06:55 -07:00
andreja6
24854a062a Added tools and texture handler 2020-03-13 16:28:12 -07:00
Vulpovile
3f4963795c Fixed exception 2020-03-13 10:42:30 -07:00
andreja6
cee1b1308c Added dependancies 2020-03-13 10:30:22 -07:00
andreja6
2494a5e509 Fixed 2020-03-13 10:08:40 -07:00
andreja6
9a8aff54ff Added change tool function 2020-03-13 10:08:03 -07:00
andreja6
0ec896e2fd Starting to transfer everything to Tool 2020-03-11 23:10:49 -07:00
andreja6
72c6d19d7f Menu now works 2020-03-10 13:26:01 -07:00
andreja6
30529c5387 Changed stuffs 2020-03-10 12:50:59 -07:00
andreja6
03a7d5345d Added tool, fixed some pages 2020-03-10 12:41:47 -07:00
Vulpovile
fb966e0b82 Merge pull request #40 from Vulpovile/hypersnap-engine
Added lots of tools
2020-03-10 12:15:55 -07:00
andreja6
463b2a42ce Added bump tool 2020-03-10 12:14:55 -07:00
andreja6
0e7e820481 Lots of menus added 2020-03-10 11:04:09 -07:00
andreja6
8003bee5f6 Made IEBrowser handle externals 2020-03-10 00:17:03 -07:00
andreja6
4f415cf98b Added controllerflag selection 2020-03-09 23:55:13 -07:00
andreja6
d36f9df272 Added pages 2020-03-09 18:58:08 -07:00
andreja6
36ec6b1dc5 Buttons no longer render twice 2020-03-09 14:48:24 -07:00
andreja6
7c85167030 Made selection boxes not succ 2020-03-09 13:22:46 -07:00
Vulpovile
cd7b886ada Merge pull request #39 from Vulpovile/master
Add new items in master
2020-03-09 13:16:23 -07:00
Vulpovile
a1db3bb38f Merge pull request #38 from Vulpovile/hypersnap-engine
Controllerflags
2020-03-09 12:02:49 -07:00
andreja6
44d8947975 Added controllers and flags 2020-03-08 23:22:42 -07:00
andreja6
9c76bf6956 Added controllerflags and primary parts 2020-03-08 20:06:13 -07:00
andreja6
4ff4d54f09 Physics kinda sorta? 2020-03-08 15:44:13 -07:00
andreja6
804e329516 Temporarily set it to legacy load 2020-03-08 14:29:37 -07:00
MusicalProgrammer
bf0115f2ad Cleaning up failed experiments 2020-03-07 18:32:54 -05:00
MusicalProgrammer
94b787804d External function support added. 2020-03-07 16:05:15 -05:00
MusicalProgrammer
47857e3fd1 ax.cpp has more functions now for us to play with 2020-03-07 12:57:30 -05:00
andreja6
f92f01be88 Added bare bones physics 2020-03-06 23:28:49 -08:00
andreja6
6fb111067d I hate the linker 2020-03-06 22:40:00 -08:00
168 changed files with 7221 additions and 1960 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

@@ -36,12 +36,13 @@
*.user *.user
*.pdb *.pdb
*.idb *.idb
*.manifest
*.htm
*.res *.res
*.ilk *.ilk
*.dep *.dep
# ResEditor files
*.aps
/Debug /Debug
/Release /Release
stdout.txt stdout.txt
@@ -52,6 +53,8 @@ G3DTest.suo
G3DTest.suo G3DTest.suo
stderr.txt stderr.txt
desktop.ini desktop.ini
main.cpp
*.db *.db
G3DTest.sln
#Redist
!Installer/Redist/*
UpgradeLog.htm

BIN
B3dIcon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

View File

@@ -1,24 +1,24 @@
# Microsoft Developer Studio Project File - Name="G3DTest" - Package Owner=<4> # Microsoft Developer Studio Project File - Name="Blocks3D" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00 # Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT ** # ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Application" 0x0101 # TARGTYPE "Win32 (x86) Application" 0x0101
CFG=G3DTest - Win32 Debug CFG=Blocks3D - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run !MESSAGE use the Export Makefile command and run
!MESSAGE !MESSAGE
!MESSAGE NMAKE /f "G3DTest.mak". !MESSAGE NMAKE /f "Blocks3D.mak".
!MESSAGE !MESSAGE
!MESSAGE You can specify a configuration when running NMAKE !MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE !MESSAGE
!MESSAGE NMAKE /f "G3DTest.mak" CFG="G3DTest - Win32 Debug" !MESSAGE NMAKE /f "Blocks3D.mak" CFG="Blocks3D - Win32 Debug"
!MESSAGE !MESSAGE
!MESSAGE Possible choices for configuration are: !MESSAGE Possible choices for configuration are:
!MESSAGE !MESSAGE
!MESSAGE "G3DTest - Win32 Release" (based on "Win32 (x86) Application") !MESSAGE "Blocks3D - Win32 Release" (based on "Win32 (x86) Application")
!MESSAGE "G3DTest - Win32 Debug" (based on "Win32 (x86) Application") !MESSAGE "Blocks3D - Win32 Debug" (based on "Win32 (x86) Application")
!MESSAGE !MESSAGE
# Begin Project # Begin Project
@@ -29,7 +29,7 @@ CPP=cl.exe
MTL=midl.exe MTL=midl.exe
RSC=rc.exe RSC=rc.exe
!IF "$(CFG)" == "G3DTest - Win32 Release" !IF "$(CFG)" == "Blocks3D - Win32 Release"
# PROP BASE Use_MFC 0 # PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0 # PROP BASE Use_Debug_Libraries 0
@@ -54,7 +54,7 @@ LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
!ELSEIF "$(CFG)" == "G3DTest - Win32 Debug" !ELSEIF "$(CFG)" == "Blocks3D - Win32 Debug"
# PROP BASE Use_MFC 0 # PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1 # PROP BASE Use_Debug_Libraries 1
@@ -83,8 +83,8 @@ LINK32=link.exe
# Begin Target # Begin Target
# Name "G3DTest - Win32 Release" # Name "Blocks3D - Win32 Release"
# Name "G3DTest - Win32 Debug" # Name "Blocks3D - Win32 Debug"
# Begin Group "Source Files" # Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"

View File

@@ -3,7 +3,7 @@ Microsoft Developer Studio Workspace File, Format Version 6.00
############################################################################### ###############################################################################
Project: "G3DTest"=.\G3DTest.dsp - Package Owner=<4> Project: "Blocks3D"=.\Blocks3D.dsp - Package Owner=<4>
Package=<5> Package=<5>
{{{ {{{

14
Blocks3D.exe.manifest Normal file
View File

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

View File

@@ -1,7 +1,7 @@
 
Microsoft Visual Studio Solution File, Format Version 9.00 Microsoft Visual Studio Solution File, Format Version 9.00
# Visual C++ Express 2005 # Visual C++ Express 2005
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "G3DTest", "G3DTest.vcproj", "{6C4D6EEF-B1D1-456A-B850-92CAB17124BE}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Blocks3D", "Blocks3D.vcproj", "{6C4D6EEF-B1D1-456A-B850-92CAB17124BE}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution

945
Blocks3D.vcproj Normal file
View File

@@ -0,0 +1,945 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8.00"
Name="Blocks3D"
ProjectGUID="{6C4D6EEF-B1D1-456A-B850-92CAB17124BE}"
RootNamespace="Blocks3D"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Release|Win32"
OutputDirectory=".\Release"
IntermediateDirectory=".\Release"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
UseOfMFC="0"
UseOfATL="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="NDEBUG"
MkTypLibCompatible="true"
SuppressStartupBanner="true"
TargetEnvironment="1"
TypeLibraryName=".\Release/Blocks3D.tlb"
HeaderFileName=""
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="&quot;.\src\include&quot;"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
StringPooling="true"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
PrecompiledHeaderFile=".\Release/Blocks3D.pch"
AssemblerListingLocation=".\Release/"
ObjectFile=".\Release/"
ProgramDataBaseFileName=".\Release/"
WarningLevel="3"
SuppressStartupBanner="true"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="4105"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="Advapi32.lib Comctl32.lib Comdlg32.lib Shell32.lib ode.lib OPCODE.lib Ole32.lib"
OutputFile="./Blocks3D.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
ProgramDatabaseFile=".\Release/Blocks3D.pdb"
SubSystem="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile=".\Release/Blocks3D.bsc"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Debug|Win32"
OutputDirectory=".\Debug"
IntermediateDirectory=".\Debug"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
ManagedExtensions="0"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="_DEBUG"
MkTypLibCompatible="true"
SuppressStartupBanner="true"
TargetEnvironment="1"
TypeLibraryName=".\Debug/Blocks3D.tlb"
HeaderFileName=""
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="&quot;C:\libraries\ode-0.5\include\drawstuff&quot;;.\src\include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
MinimalRebuild="false"
BasicRuntimeChecks="0"
RuntimeLibrary="3"
EnableFunctionLevelLinking="false"
PrecompiledHeaderFile=".\Debug/Blocks3D.pch"
AssemblerListingLocation=".\Debug/"
ObjectFile=".\Debug/"
ProgramDataBaseFileName=".\Debug/"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG"
Culture="4105"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<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"
OutputFile="./Blocks3D-Debug.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
GenerateDebugInformation="true"
ProgramDatabaseFile=".\Debug/Blocks3D.pdb"
SubSystem="1"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile=".\Debug/Blocks3D.bsc"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
<AssemblyReference
RelativePath="System.dll"
AssemblyName="System, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"
/>
<AssemblyReference
RelativePath="System.Data.dll"
AssemblyName="System.Data, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=x86"
/>
<AssemblyReference
RelativePath="System.Drawing.dll"
AssemblyName="System.Drawing, Version=2.0.0.0, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
/>
<AssemblyReference
RelativePath="System.Windows.Forms.dll"
AssemblyName="System.Windows.Forms, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"
/>
<AssemblyReference
RelativePath="System.XML.dll"
AssemblyName="System.Xml, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"
/>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
>
<File
RelativePath=".\src\source\Application.cpp"
>
</File>
<File
RelativePath=".\src\source\AudioPlayer.cpp"
>
</File>
<File
RelativePath=".\src\source\ax.cpp"
>
</File>
<File
RelativePath=".\src\source\BrowserCallHandler.cpp"
>
</File>
<File
RelativePath=".\src\source\CameraController.cpp"
>
</File>
<File
RelativePath=".\src\source\ErrorFunctions.cpp"
>
</File>
<File
RelativePath=".\src\source\Globals.cpp"
>
</File>
<File
RelativePath=".\src\source\IEBrowser.cpp"
>
</File>
<File
RelativePath=".\src\source\IEDispatcher.cpp"
>
</File>
<File
RelativePath=".\src\source\main.cpp"
>
</File>
<File
RelativePath=".\src\source\Mouse.cpp"
>
</File>
<File
RelativePath=".\src\source\propertyGrid.cpp"
>
</File>
<File
RelativePath=".\src\source\PropertyWindow.cpp"
>
</File>
<File
RelativePath=".\src\source\Renderer.cpp"
>
</File>
<File
RelativePath=".\src\source\StringFunctions.cpp"
>
</File>
<File
RelativePath=".\src\source\TextureHandler.cpp"
>
</File>
<File
RelativePath=".\src\source\WindowFunctions.cpp"
>
</File>
<Filter
Name="Tool"
>
<File
RelativePath=".\src\source\Tool\ArrowTool.cpp"
>
</File>
<File
RelativePath=".\src\source\Tool\SurfaceTool.cpp"
>
</File>
<File
RelativePath=".\src\source\Tool\Tool.cpp"
>
</File>
</Filter>
<Filter
Name="Listener"
>
<File
RelativePath=".\src\source\Listener\ButtonListener.cpp"
>
</File>
<File
RelativePath=".\src\source\Listener\CameraButtonListener.cpp"
>
</File>
<File
RelativePath=".\src\source\Listener\DeleteListener.cpp"
>
</File>
<File
RelativePath=".\src\source\Listener\GUDButtonListener.cpp"
>
</File>
<File
RelativePath=".\src\source\Listener\MenuButtonListener.cpp"
>
</File>
<File
RelativePath=".\src\source\Listener\ModeSelectionListener.cpp"
>
</File>
<File
RelativePath=".\src\source\Listener\RotateButtonListener.cpp"
>
</File>
<File
RelativePath=".\src\source\Listener\ToolbarListener.cpp"
>
</File>
</Filter>
<Filter
Name="DataModelV2"
>
<File
RelativePath=".\src\source\DataModelV2\DataModelInstance.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\src\source\DataModelV2\GroupInstance.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\src\source\DataModelV2\Instance.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\src\source\DataModelV2\LevelInstance.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\src\source\DataModelV2\PartInstance.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\src\source\DataModelV2\PVInstance.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\src\source\DataModel\SelectionService.cpp"
>
</File>
<File
RelativePath=".\src\source\DataModelV2\WorkspaceInstance.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
</File>
<Filter
Name="Gui"
>
<File
RelativePath=".\src\source\DataModelV2\BaseButtonInstance.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\src\source\DataModelV2\BaseGuiInstance.cpp"
>
</File>
<File
RelativePath=".\src\source\DataModelV2\GuiRootInstance.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\src\source\DataModelV2\ImageButtonInstance.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\src\source\DataModelV2\TextButtonInstance.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\src\source\DataModelV2\ToggleImageButtonInstance.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\$(InputName)1.obj"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
/>
</FileConfiguration>
</File>
</Filter>
<Filter
Name="XplicitNgine"
>
<File
RelativePath=".\src\source\XplicitNgine\XplicitNgine.cpp"
>
</File>
</Filter>
</Filter>
<Filter
Name="Properties"
>
<File
RelativePath=".\src\source\Properties\BoolProperty.cpp"
>
</File>
<File
RelativePath=".\src\source\Properties\Property.cpp"
>
</File>
</Filter>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl"
>
<File
RelativePath=".\src\include\Application.h"
>
</File>
<File
RelativePath=".\src\include\AudioPlayer.h"
>
</File>
<File
RelativePath=".\src\include\ax.h"
>
</File>
<File
RelativePath=".\src\include\BrowserCallHandler.h"
>
</File>
<File
RelativePath=".\src\include\CameraController.h"
>
</File>
<File
RelativePath=".\src\include\Enum.h"
>
</File>
<File
RelativePath=".\src\include\ErrorFunctions.h"
>
</File>
<File
RelativePath=".\src\include\Faces.h"
>
</File>
<File
RelativePath=".\src\include\Globals.h"
>
</File>
<File
RelativePath=".\src\include\IEBrowser.h"
>
</File>
<File
RelativePath=".\src\include\IEDispatcher.h"
>
</File>
<File
RelativePath=".\src\include\Mouse.h"
>
</File>
<File
RelativePath=".\src\include\propertyGrid.h"
>
</File>
<File
RelativePath=".\src\include\PropertyWindow.h"
>
</File>
<File
RelativePath=".\src\include\Renderer.h"
>
</File>
<File
RelativePath=".\src\include\resource.h"
>
</File>
<File
RelativePath=".\src\include\StringFunctions.h"
>
</File>
<File
RelativePath=".\src\include\TextureHandler.h"
>
</File>
<File
RelativePath=".\src\include\ToolEnum.h"
>
</File>
<File
RelativePath=".\src\include\VS2005CompatShim.h"
>
</File>
<File
RelativePath=".\src\include\win32Defines.h"
>
</File>
<File
RelativePath=".\src\include\WindowFunctions.h"
>
</File>
<Filter
Name="RapidXML"
>
<File
RelativePath=".\src\include\rapidxml\rapidxml.hpp"
>
</File>
<File
RelativePath=".\src\include\rapidxml\rapidxml_iterators.hpp"
>
</File>
<File
RelativePath=".\src\include\rapidxml\rapidxml_print.hpp"
>
</File>
<File
RelativePath=".\src\include\rapidxml\rapidxml_utils.hpp"
>
</File>
</Filter>
<Filter
Name="Listener"
>
<File
RelativePath=".\src\include\Listener\ButtonListener.h"
>
</File>
<File
RelativePath=".\src\include\Listener\CameraButtonListener.h"
>
</File>
<File
RelativePath=".\src\include\Listener\DeleteListener.h"
>
</File>
<File
RelativePath=".\src\include\Listener\GUDButtonListener.h"
>
</File>
<File
RelativePath=".\src\include\Listener\MenuButtonListener.h"
>
</File>
<File
RelativePath=".\src\include\Listener\ModeSelectionListener.h"
>
</File>
<File
RelativePath=".\src\include\Listener\RotateButtonListener.h"
>
</File>
<File
RelativePath=".\src\include\Listener\ToolbarListener.h"
>
</File>
<File
RelativePath=".\src\include\DataModel\WorkspaceInstance.h"
>
</File>
</Filter>
<Filter
Name="Tool"
>
<File
RelativePath=".\src\include\Tool\ArrowTool.h"
>
</File>
<File
RelativePath=".\src\include\Tool\SurfaceTool.h"
>
</File>
<File
RelativePath=".\src\include\Tool\Tool.h"
>
</File>
</Filter>
<Filter
Name="DataModelV2"
>
<File
RelativePath=".\src\include\DataModelV2\DataModelInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV2\GroupInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV2\Instance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV2\LevelInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV2\PartInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV2\PVInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV2\SelectionService.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV2\WorkspaceInstance.h"
>
</File>
<Filter
Name="Gui"
>
<File
RelativePath=".\src\include\DataModelV2\BaseButtonInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV2\BaseGuiInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV2\GuiRootInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV2\ImageButtonInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV2\TextButtonInstance.h"
>
</File>
<File
RelativePath=".\src\include\DataModelV2\ToggleImageButtonInstance.h"
>
</File>
</Filter>
<Filter
Name="XplicitNgine"
>
<File
RelativePath=".\src\include\XplicitNgine\XplicitNgine.h"
>
</File>
</Filter>
</Filter>
<Filter
Name="Properties"
>
<File
RelativePath=".\src\include\Properties\BoolProperty.h"
>
</File>
<File
RelativePath=".\src\include\Properties\Property.h"
>
</File>
</Filter>
</Filter>
<Filter
Name="Resource Files"
Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
>
<File
RelativePath=".\Blocks3D.exe.manifest"
>
</File>
<File
RelativePath=".\Dialogs.rc"
>
</File>
<File
RelativePath=".\icon1.ico"
>
</File>
<File
RelativePath=".\Parts.bmp"
>
</File>
<File
RelativePath=".\roblox_RN1_icon.ico"
>
</File>
</Filter>
</Files>
<Globals>
<Global
Name="RESOURCE_FILE"
Value="Dialogs.rc"
/>
</Globals>
</VisualStudioProject>

Binary file not shown.

View File

@@ -1,43 +1,96 @@
// Generated by ResEdit 1.6.6 // Generated by ResEdit 1.6.6
// Copyright (C) 2006-2015 // Copyright (C) 2006-2015
// http://www.resedit.net // http://www.resedit.net
#include <windows.h> #include <windows.h>
#include <commctrl.h> #include <commctrl.h>
#include <richedit.h> #include <richedit.h>
#include "resource.h" #include "src/include/resource.h"
#define APP_GENER 0
#define APP_MAJOR 0
#define APP_MINOR 106
// #define APP_PATCH 4
// Bitmap resources #define APP_VER_STRING APP_GENER.APP_MAJOR.APP_MINOR.APP_PATCH
//
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_CAN #define VER_PREFIX( N ) v##N
IDB_BITMAP1 BITMAP "Parts.bmp" #define HSTR( N ) #N
#define STR( N ) HSTR( N )
#define VER_STR( N ) STR( VER_PREFIX( N ) )
//
// Dialog resources
//
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL //
IDD_DIALOG1 DIALOG 0, 0, 295, 43 // Bitmap resources
STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_SETFOREGROUND | DS_SHELLFONT | WS_CAPTION | WS_VISIBLE | WS_POPUP | WS_SYSMENU //
EXSTYLE WS_EX_WINDOWEDGE LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_CAN
CAPTION "Insert Object" IDB_BITMAP1 BITMAP "Parts.bmp"
FONT 8, "Ms Shell Dlg"
{ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
EDITTEXT IDE_EDIT, 35, 6, 195, 14, ES_AUTOHSCROLL, WS_EX_LEFT 1 VERSIONINFO
LTEXT "Class:", 0, 10, 9, 20, 9, SS_LEFT, WS_EX_LEFT FILEVERSION APP_GENER,APP_MAJOR,APP_MINOR,APP_PATCH
PUSHBUTTON "Cancel", IDCANCEL, 237, 24, 50, 14, 0, WS_EX_LEFT PRODUCTVERSION APP_GENER,APP_MAJOR,APP_MINOR,APP_PATCH
DEFPUSHBUTTON "OK", IDOK, 237, 6, 50, 14, 0, WS_EX_LEFT FILEOS VOS__WINDOWS32
} FILETYPE VFT_APP
FILESUBTYPE VFT2_UNKNOWN
FILEFLAGSMASK 0
FILEFLAGS 0
// {
// Icon resources BLOCK "StringFileInfo"
// {
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_CAN BLOCK "100901B5"
IDI_ICON1 ICON "icon1.ico" {
VALUE "Comments", ""
VALUE "CompanyName", "Blocks3D Team"
VALUE "FileDescription", "Blocks 3D"
VALUE "FileVersion", VER_STR(APP_VER_STRING)
VALUE "InternalName", "Blocks3D"
VALUE "LegalCopyright", "Blocks3D Team - 2022"
VALUE "LegalTrademarks", ""
VALUE "OriginalFilename", "Blocks3D.exe"
VALUE "PrivateBuild", ""
VALUE "ProductName", "Blocks3D"
VALUE "ProductVersion", VER_STR(APP_VER_STRING)
VALUE "SpecialBuild", ""
}
}
BLOCK "VarFileInfo"
{
VALUE "Translation", 0x1009, 0x01B5
}
}
//
// Dialog resources
//
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
IDD_DIALOG1 DIALOG 0, 0, 295, 43
STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_SETFOREGROUND | DS_SHELLFONT | WS_CAPTION | WS_VISIBLE | WS_POPUP | WS_SYSMENU
EXSTYLE WS_EX_WINDOWEDGE
CAPTION "Insert Object"
FONT 8, "Ms Shell Dlg"
{
EDITTEXT IDC_EDIT1, 35, 6, 195, 14, ES_AUTOHSCROLL, WS_EX_LEFT
LTEXT "Class:", 0, 10, 9, 20, 9, SS_LEFT, WS_EX_LEFT
PUSHBUTTON "Cancel", IDCANCEL, 237, 24, 50, 14, 0, WS_EX_LEFT
DEFPUSHBUTTON "OK", IDOK, 237, 6, 50, 14, 0, WS_EX_LEFT
}
//
// Icon resources
//
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_CAN
IDI_ICON1 ICON "FatB3dIcon.ico"
//
// Manifest resources
//
#ifndef _DEBUG
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
1 MANIFEST ".\\Blocks3D.exe.manifest"
#endif

17
Enum.h
View File

@@ -1,17 +0,0 @@
#pragma once
namespace Enum
{
namespace SurfaceType
{
enum Value {
Smooth, Snaps, Inlets, Glue, Weld, Spawn, Hinge, Motor, Bumps
};
}
namespace Shape
{
enum Value {
Ball = 0, Block = 1, Cylinder = 2
};
}
}

16
Enums.h
View File

@@ -1,16 +0,0 @@
#ifdef UENUMS
#ifndef ENUM_H
#define ENUM_H
static enum BinType {GameTool, Grab, Clone, Hammer};
static enum ControllerType {None, KeyboardRight, KeyboardLeft, Joypad1, Joypad2, Chase, Flee};
//static enum JointType {UNK0, WeldJoint, SnapJoint, UNK3, Rotate, RotateP, RotateV, GlueJoint, UNK8, UNK9, None};
static enum ActionType {Nothing, Pause, Lose, Draw, Win};
static enum AffectType {NoChange, Increase, Decrease};
static enum InputType {NoInput, LeftTread, RightTread, Steer, Throtle, UpDown, Action1, Action2, Action3, Action4, Action5, Constant, Sin};
//static enum SurfaceConstraint {None, Hinge, SteppingMotor, Motor};
static enum SurfaceType{Smooth, Snaps, Inlets, Glue, Weld, Spawn, Hinge, Motor, Bumps};
static enum SoundType {NoSound, Boing, Bomb, Break, Click, Clock, Slingshot, Page, Ping, Snap, Splat, Step, StepOn, Swoosh, Victory};
static enum PartType {Ball, Block, Cylinder};
static enum KeywordFilterType {Include, Exclude};
#endif
#endif

BIN
FatB3dIcon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

Binary file not shown.

View File

@@ -1,32 +0,0 @@
<html>
<body>
<pre>
<h1>Build Log</h1>
<h3>
--------------------Configuration: G3DTest - Win32 Debug--------------------
</h3>
<h3>Command Lines</h3>
Creating temporary file "C:\Users\Andreja\AppData\Local\Temp\RSPFD70.tmp" with contents
[
/nologo /MLd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /Fp"Debug/G3DTest.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c
"C:\USERS\ANDREJA\G3D\G3DTest\main.cpp"
]
Creating command line "cl.exe @C:\Users\Andreja\AppData\Local\Temp\RSPFD70.tmp"
Creating temporary file "C:\Users\Andreja\AppData\Local\Temp\RSPFD71.tmp" with contents
[
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /incremental:yes /pdb:"Debug/G3DTest.pdb" /debug /machine:I386 /out:"Debug/G3DTest.exe" /pdbtype:sept
.\Debug\main.obj
]
Creating command line "link.exe @C:\Users\Andreja\AppData\Local\Temp\RSPFD71.tmp"
<h3>Output Window</h3>
Compiling...
main.cpp
Linking...
<h3>Results</h3>
G3DTest.exe - 0 error(s), 0 warning(s)
</pre>
</body>
</html>

View File

@@ -1,579 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8.00"
Name="G3DTest"
ProjectGUID="{6C4D6EEF-B1D1-456A-B850-92CAB17124BE}"
RootNamespace="G3DTest"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Release|Win32"
OutputDirectory=".\Release"
IntermediateDirectory=".\Release"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
UseOfMFC="0"
UseOfATL="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="NDEBUG"
MkTypLibCompatible="true"
SuppressStartupBanner="true"
TargetEnvironment="1"
TypeLibraryName=".\Release/G3DTest.tlb"
HeaderFileName=""
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
StringPooling="true"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
PrecompiledHeaderFile=".\Release/G3DTest.pch"
AssemblerListingLocation=".\Release/"
ObjectFile=".\Release/"
ProgramDataBaseFileName=".\Release/"
WarningLevel="3"
SuppressStartupBanner="true"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="4105"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="Advapi32.lib UxTheme.lib Comctl32.lib Comdlg32.lib Shell32.lib"
OutputFile="./G3DTest.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
ProgramDatabaseFile=".\Release/G3DTest.pdb"
SubSystem="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile=".\Release/G3DTest.bsc"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Debug|Win32"
OutputDirectory=".\Debug"
IntermediateDirectory=".\Debug"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
ManagedExtensions="0"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="_DEBUG"
MkTypLibCompatible="true"
SuppressStartupBanner="true"
TargetEnvironment="1"
TypeLibraryName=".\Debug/G3DTest.tlb"
HeaderFileName=""
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
MinimalRebuild="false"
BasicRuntimeChecks="0"
RuntimeLibrary="3"
EnableFunctionLevelLinking="false"
PrecompiledHeaderFile=".\Debug/G3DTest.pch"
AssemblerListingLocation=".\Debug/"
ObjectFile=".\Debug/"
ProgramDataBaseFileName=".\Debug/"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG"
Culture="4105"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="Advapi32.lib UxTheme.lib Comctl32.lib Comdlg32.lib Shell32.lib Urlmon.lib"
OutputFile="./G3DTest-Debug.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
GenerateDebugInformation="true"
ProgramDatabaseFile=".\Debug/G3DTest.pdb"
SubSystem="1"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile=".\Debug/G3DTest.bsc"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
<AssemblyReference
RelativePath="System.dll"
AssemblyName="System, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"
/>
<AssemblyReference
RelativePath="System.Data.dll"
AssemblyName="System.Data, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=x86"
/>
<AssemblyReference
RelativePath="System.Drawing.dll"
AssemblyName="System.Drawing, Version=2.0.0.0, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
/>
<AssemblyReference
RelativePath="System.Windows.Forms.dll"
AssemblyName="System.Windows.Forms, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"
/>
<AssemblyReference
RelativePath="System.XML.dll"
AssemblyName="System.Xml, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"
/>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
>
<File
RelativePath=".\Application.cpp"
>
</File>
<File
RelativePath=".\AudioPlayer.cpp"
>
</File>
<File
RelativePath=".\ax.cpp"
>
</File>
<File
RelativePath=".\BrowserCallHandler.cpp"
>
</File>
<File
RelativePath=".\ButtonListener.cpp"
>
</File>
<File
RelativePath=".\CameraController.cpp"
>
</File>
<File
RelativePath=".\ErrorFunctions.cpp"
>
</File>
<File
RelativePath=".\Globals.cpp"
>
</File>
<File
RelativePath=".\GroupInstance.cpp"
>
</File>
<File
RelativePath=".\GuiRoot.cpp"
>
</File>
<File
RelativePath=".\IEBrowser.cpp"
>
</File>
<File
RelativePath=".\IEDispatcher.cpp"
>
</File>
<File
RelativePath="main.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
<File
RelativePath=".\propertyGrid.cpp"
>
</File>
<File
RelativePath=".\PropertyWindow.cpp"
>
</File>
<File
RelativePath=".\StringFunctions.cpp"
>
</File>
<File
RelativePath=".\WindowFunctions.cpp"
>
</File>
<Filter
Name="Instance"
>
<File
RelativePath=".\BaseButtonInstance.cpp"
>
</File>
<File
RelativePath=".\DataModelInstance.cpp"
>
</File>
<File
RelativePath=".\ImageButtonInstance.cpp"
>
</File>
<File
RelativePath=".\Instance.cpp"
>
</File>
<File
RelativePath=".\LevelInstance.cpp"
>
</File>
<File
RelativePath=".\PartInstance.cpp"
>
</File>
<File
RelativePath=".\PVInstance.cpp"
>
</File>
<File
RelativePath=".\TextButtonInstance.cpp"
>
</File>
<File
RelativePath=".\WorkspaceInstance.cpp"
>
</File>
</Filter>
<Filter
Name="Listeners"
>
<File
RelativePath=".\CameraButtonListener.cpp"
>
</File>
<File
RelativePath=".\DeleteListener.cpp"
>
</File>
<File
RelativePath=".\GUDButtonListener.cpp"
>
</File>
<File
RelativePath=".\ModeSelectionListener.cpp"
>
</File>
<File
RelativePath=".\RotateButtonListener.cpp"
>
</File>
</Filter>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl"
>
<File
RelativePath=".\Application.h"
>
</File>
<File
RelativePath=".\AudioPlayer.h"
>
</File>
<File
RelativePath=".\ax.h"
>
</File>
<File
RelativePath=".\BrowserCallHandler.h"
>
</File>
<File
RelativePath=".\CameraController.h"
>
</File>
<File
RelativePath=".\Demo.h"
>
</File>
<File
RelativePath=".\Enum.h"
>
</File>
<File
RelativePath=".\Enums.h"
>
</File>
<File
RelativePath=".\ErrorFunctions.h"
>
</File>
<File
RelativePath=".\Globals.h"
>
</File>
<File
RelativePath=".\GuiRoot.h"
>
</File>
<File
RelativePath=".\IEBrowser.h"
>
</File>
<File
RelativePath=".\IEDispatcher.h"
>
</File>
<File
RelativePath=".\LevelInstance.h"
>
</File>
<File
RelativePath=".\propertyGrid.h"
>
</File>
<File
RelativePath=".\PropertyWindow.h"
>
</File>
<File
RelativePath=".\rapidxml\rapidxml.hpp"
>
</File>
<File
RelativePath=".\rapidxml\rapidxml_iterators.hpp"
>
</File>
<File
RelativePath=".\rapidxml\rapidxml_print.hpp"
>
</File>
<File
RelativePath=".\rapidxml\rapidxml_utils.hpp"
>
</File>
<File
RelativePath=".\resource.h"
>
</File>
<File
RelativePath=".\RotateButtonListener.h"
>
</File>
<File
RelativePath=".\StringFunctions.h"
>
</File>
<File
RelativePath=".\win32Defines.h"
>
</File>
<File
RelativePath=".\WindowFunctions.h"
>
</File>
<Filter
Name="Instance"
>
<File
RelativePath=".\BaseButtonInstance.h"
>
</File>
<File
RelativePath=".\DataModelInstance.h"
>
</File>
<File
RelativePath=".\GroupInstance.h"
>
</File>
<File
RelativePath=".\ImageButtonInstance.h"
>
</File>
<File
RelativePath=".\Instance.h"
>
</File>
<File
RelativePath=".\PartInstance.h"
>
</File>
<File
RelativePath=".\PVInstance.h"
>
</File>
<File
RelativePath=".\TextButtonInstance.h"
>
</File>
<File
RelativePath=".\WorkspaceInstance.h"
>
</File>
</Filter>
<Filter
Name="Listeners"
>
<File
RelativePath=".\ButtonListener.h"
>
</File>
<File
RelativePath=".\CameraButtonListener.h"
>
</File>
<File
RelativePath=".\DeleteListener.h"
>
</File>
<File
RelativePath=".\GUDButtonListener.h"
>
</File>
<File
RelativePath=".\ModeSelectionListener.h"
>
</File>
</Filter>
</Filter>
<Filter
Name="Resource Files"
Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
>
<File
RelativePath=".\Dialogs.rc"
>
</File>
<File
RelativePath=".\icon1.ico"
>
</File>
<File
RelativePath=".\Parts.bmp"
>
</File>
</Filter>
</Files>
<Globals>
<Global
Name="RESOURCE_FILE"
Value="Dialogs.rc"
/>
</Globals>
</VisualStudioProject>

View File

@@ -1,81 +0,0 @@
#include <G3DAll.h>
#include "Application.h"
#include "Globals.h"
#include "AudioPlayer.h"
#include "GUDButtonListener.h"
void GUDButtonListener::onButton1MouseClick(BaseButtonInstance* button)
{
bool cont = false;
for(size_t i = 0; i < g_selectedInstances.size(); i++)
if(g_selectedInstances.at(i)->canDelete)
{
cont = true;
break;
}
if(cont)
{
AudioPlayer::playSound(dingSound);
if(button->name == "Duplicate")
{
std::vector<Instance*> newinst;
for(size_t i = 0; i < g_selectedInstances.size(); i++)
{
if(g_selectedInstances.at(i)->canDelete)
{
Instance* tempinst = g_selectedInstances.at(i);
Instance* clonedInstance = g_selectedInstances.at(i)->clone();
newinst.push_back(tempinst);
}
/*tempinst->setPosition(Vector3(tempPos.x, tempPos.y + tempSize.y, tempPos.z));
g_usableApp->cameraController.centerCamera(g_selectedInstances.at(0));*/
}
g_selectedInstances = newinst;
if(g_selectedInstances.size() > 0)
g_usableApp->_propWindow->UpdateSelected(newinst.at(0));
}
else if(button->name == "Group")
{
GroupInstance * inst = new GroupInstance();
for(size_t i = 0; i < g_selectedInstances.size(); i++)
{
if(g_selectedInstances.at(i)->canDelete)
{
g_selectedInstances.at(i)->setParent(inst);
}
/*tempinst->setPosition(Vector3(tempPos.x, tempPos.y + tempSize.y, tempPos.z));
g_usableApp->cameraController.centerCamera(g_selectedInstances.at(0));*/
}
inst->setParent(g_dataModel->getWorkspace());
g_selectedInstances.clear();
g_selectedInstances.push_back(inst);
if(g_selectedInstances.size() > 0)
g_usableApp->_propWindow->UpdateSelected(g_selectedInstances.at(0));
}
else if(button->name == "UnGroup")
{
std::vector<Instance*> newinst;
for(size_t i = 0; i < g_selectedInstances.size(); i++)
{
if(g_selectedInstances.at(i)->canDelete)
{
if(GroupInstance* model = dynamic_cast<GroupInstance*>(g_selectedInstances.at(i)))
{
newinst = model->unGroup();
model->setParent(NULL);
delete model;
model = NULL;
}
}
/*tempinst->setPosition(Vector3(tempPos.x, tempPos.y + tempSize.y, tempPos.z));
g_usableApp->cameraController.centerCamera(g_selectedInstances.at(0));*/
}
g_selectedInstances.clear();
g_selectedInstances = newinst;
if(g_selectedInstances.size() > 0)
g_usableApp->_propWindow->UpdateSelected(newinst.at(0));
}
}
}

View File

@@ -1,42 +0,0 @@
#include "GroupInstance.h"
GroupInstance::GroupInstance(void)
{
PVInstance::PVInstance();
name = "Model";
className = "GroupInstance";
listicon = 12;
}
GroupInstance::GroupInstance(const GroupInstance &oinst)
{
PVInstance::PVInstance(oinst);
name = "Model";
className = "GroupInstance";
listicon = 12;
}
GroupInstance::~GroupInstance(void)
{
}
std::vector<PROPGRIDITEM> GroupInstance::getProperties()
{
std::vector<PROPGRIDITEM> properties = PVInstance::getProperties();
return properties;
}
void GroupInstance::PropUpdate(LPPROPGRIDITEM &pItem)
{
PVInstance::PropUpdate(pItem);
}
std::vector<Instance *> GroupInstance::unGroup()
{
std::vector<Instance *> child;
while(children.size() > 0)
{
child.push_back(children[0]);
children[0]->setParent(parent);
}
return child;
}

View File

@@ -1,117 +0,0 @@
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
#include <windows.h>
#include "IEBrowser.h"
#include "Globals.h"
#include "ax.h"
//#include "IEDispatcher.h"
void IEBrowser::Boop(char* test)
{
}
IEBrowser::IEBrowser(HWND attachHWnd) {
MSG messages;
while (PeekMessage (&messages, NULL, 0, 0,PM_REMOVE))
{
if (IsDialogMessage(hwnd, &messages) == 0)
{
TranslateMessage(&messages);
DispatchMessage(&messages);
}
}
hwnd = attachHWnd;
spDocument = 0;
webBrowser = 0;
SendMessage(hwnd,AX_INPLACE,1,0);
SendMessage(hwnd,AX_QUERYINTERFACE,(WPARAM)&IID_IWebBrowser2,(LPARAM)&webBrowser);
}
IEBrowser::~IEBrowser(void) {
if (webBrowser)
{
webBrowser->Release();
}
}
// Something goes here
int IEBrowser::setExternal(IDispatch** ext)
{
std::cout << &m_IEDispatcher;
IInternetHostSecurityManager* spSecMan;
spDocument2->QueryInterface(IID_IInternetHostSecurityManager,
(void **) &spSecMan);
// TODO: hr needs to say: 'S_OK'
//spSecMan->QueryCustomPolicy
HRESULT hr = spSecMan->ProcessUrlAction(URLACTION_ACTIVEX_OVERRIDE_OBJECT_SAFETY,
NULL, 0, NULL, 0, 0, PUAF_WARN_IF_DENIED);
(*ext) = &m_IEDispatcher;
return 1;
}
bool IEBrowser::navigateSyncURL(wchar_t* url)
{
MSG messages;
if (webBrowser)
{
webBrowser->Navigate(url,0,0,0,0);
for (int i=1;i<1000;i++)
{
while (PeekMessage (&messages, NULL, 0, 0,PM_REMOVE))
{
if (IsDialogMessage(hwnd, &messages) == 0)
{
TranslateMessage(&messages);
DispatchMessage(&messages);
}
}
Sleep(30);
HRESULT hresult = webBrowser->get_Document(&spDocument);
if (SUCCEEDED(hresult) && (spDocument != 0))
{
IOleObject* spOleObject;
if (SUCCEEDED(spDocument->QueryInterface(IID_IOleObject,(void**)&spOleObject)))
{
IOleClientSite* spClientSite;
hresult = spOleObject->GetClientSite(&spClientSite);
if (SUCCEEDED(hresult) && spClientSite)
{
m_spDefaultDocHostUIHandler = spClientSite;
ICustomDoc* spCustomDoc;
//IEDispatcher* spIEDispatcher;
if (SUCCEEDED(m_spDefaultDocHostUIHandler->QueryInterface(IID_IDocHostUIHandler,(void**)&m_spHandler)))
{
if (SUCCEEDED(spDocument->QueryInterface(IID_ICustomDoc,(void**)&spCustomDoc)))
{
spCustomDoc->SetUIHandler(m_spHandler);
m_spHandler->GetExternal(&m_spExternal);
spDocument->QueryInterface(IID_IHTMLDocument2, (void **) &spDocument2);
setExternal(&m_spExternal);
}
}
}
}
return true;
}
}
}
else
{
MessageBox(NULL,"Cannot read IWebBrowser2...",(g_PlaceholderName+" Crash").c_str(),MB_OK);
}
return false;
}

View File

@@ -1,25 +0,0 @@
//#include "WindowFunctions.h"
#pragma once
#include <mshtml.h>
#include <exdisp.h>
#include <Mshtmhst.h>
#include "IEDispatcher.h"
class IEBrowser {
public:
IEBrowser(HWND attachHWnd);
~IEBrowser(void);
bool navigateSyncURL(wchar_t* url);
void Boop(char* test);
private:
IWebBrowser2* webBrowser;
HWND hwnd;
IDispatch* spDocument;
IHTMLDocument* spDocument2;
IDocHostUIHandler* m_spHandler;
IDispatch* m_spExternal;
IDispatch* m_newExternal;
IEDispatcher m_IEDispatcher;
IOleClientSite* m_spDefaultDocHostUIHandler;
int setExternal(IDispatch** ext);
};

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,48 @@
;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=Blocks3D_Setup_v{#AppVer}
Compression=lzma2
PrivilegesRequired=lowest
WizardImageFile=setup.bmp
DefaultGroupName=Blocks3D
[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";

BIN
Installer/setup.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

BIN
Installer/setup.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

6
ODE Copyright.txt Normal file
View File

@@ -0,0 +1,6 @@
Open Dynamics Engine
Copyright (c) 2001-2004,
Russell L. Smith.
All rights reserved.

View File

@@ -1,42 +0,0 @@
#include "PVInstance.h"
PVInstance::PVInstance(void)
{
Instance::Instance();
nameShown = false;
className = "PVInstance";
listicon = 0;
}
PVInstance::PVInstance(const PVInstance &oinst)
{
Instance::Instance(oinst);
}
PVInstance::~PVInstance(void)
{
}
void PVInstance::postRender(RenderDevice* rd)
{
}
std::vector<PROPGRIDITEM> PVInstance::getProperties()
{
std::vector<PROPGRIDITEM> properties = Instance::getProperties();
properties.push_back(createPGI(
"Item",
"NameShown",
"This chooses whether the item name is shown",
nameShown,
PIT_CHECK));
return properties;
}
void PVInstance::PropUpdate(LPPROPGRIDITEM &pItem)
{
if(strcmp(pItem->lpszPropName, "NameShown") == 0)
{
nameShown = (bool)pItem->lpCurValue;
}
else Instance::PropUpdate(pItem);
}

View File

@@ -1,15 +0,0 @@
#pragma once
#include "instance.h"
class PVInstance :
public Instance
{
public:
PVInstance(void);
~PVInstance(void);
PVInstance(const PVInstance &oinst);
virtual void postRender(RenderDevice* rd);
virtual std::vector<PROPGRIDITEM> getProperties();
virtual void PropUpdate(LPPROPGRIDITEM &pItem);
bool nameShown;
};

View File

@@ -1,9 +0,0 @@
#include "ShapeRenderer.h"
ShapeRenderer::ShapeRenderer(void)
{
}
ShapeRenderer::~ShapeRenderer(void)
{
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
content/images/BumpTool.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
content/images/Clone.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

BIN
content/images/GameTool.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
content/images/GlueTool.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 950 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
content/images/Grab.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
content/images/Hammer.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

BIN
content/images/Laser.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

BIN
content/images/Rocket.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

122
content/page/color.html Normal file
View File

@@ -0,0 +1,122 @@
<html>
<script>
</script>
<style>
img{
height: 100%;
}
.container
{
height: 47px;
width: 50px;
margin-right: 10px;
}
.color
{
border-style: inset;
border-width: 2px;
width:16px;
height:16px;
font-size: 0;
display:inline-block;
*display:inline;
*zoom:1;
}
#currentcolor
{
width; 80%;
height: 80%;
border-style: inset;
border-width: 2px;
}
.colorPicker
{
width: 32px;
height: 32px;
}
</style>
<script>
var currentcolor = "white"; //This will be queried from the application later
function setColor(btn)
{
var color = btn.style.backgroundColor;
var clInt = parseInt(color.replace("#","0x"));
document.getElementById("currentcolor").style.backgroundColor = color;
window.external.SetColor(clInt);
}
function decimalColorToHTMLcolor(number) {
//Found at https://bytes.com/topic/javascript/insights/636088-function-convert-decimal-color-number-into-html-hex-color-string
var intnumber = number - 0;
var red, green, blue;
var template = "#000000";
red = (intnumber&0x0000ff) << 16;
green = intnumber&0x00ff00;
blue = (intnumber&0xff0000) >>> 16;
intnumber = red|green|blue;
var HTMLcolor = intnumber.toString(16);
HTMLcolor = template.substring(0,7 - HTMLcolor.length) + HTMLcolor;
return HTMLcolor;
}
function hex2decInt(hex)
{
return parseInt(hex, 16);
}
function queryColor()
{
var color = window.external.ChooseColor();
if(color != null)
{
color = decimalColorToHTMLcolor(color);
document.getElementById("currentcolor").style.backgroundColor = color;
}
}
</script>
<body style="background-color: ButtonFace; margin: 0; padding: 5px; overflow: hidden; border: outset 2px;">
<table height="100%">
<tr>
<th>
<div class="color" onclick="setColor(this)" style="background-color: #000000"></div>
<div class="color" onclick="setColor(this)" style="background-color: #808080"></div>
<div class="color" onclick="setColor(this)" style="background-color: #800000"></div>
<div class="color" onclick="setColor(this)" style="background-color: #808000"></div>
<div class="color" onclick="setColor(this)" style="background-color: #008000"></div>
<div class="color" onclick="setColor(this)" style="background-color: #008080"></div>
<div class="color" onclick="setColor(this)" style="background-color: #000080"></div>
<div class="color" onclick="setColor(this)" style="background-color: #800080"></div>
<div class="color" onclick="setColor(this)" style="background-color: #808040"></div>
<div class="color" onclick="setColor(this)" style="background-color: #004040"></div>
<div class="color" onclick="setColor(this)" style="background-color: #0080FF"></div>
<div class="color" onclick="setColor(this)" style="background-color: #004080"></div>
<div class="color" onclick="setColor(this)" style="background-color: #8000FF"></div>
<div class="color" onclick="setColor(this)" style="background-color: #804000"></div><br>
<div class="color" onclick="setColor(this)" style="background-color: #FFFFFF"></div>
<div class="color" onclick="setColor(this)" style="background-color: #C0C0C0"></div>
<div class="color" onclick="setColor(this)" style="background-color: #FF0000"></div>
<div class="color" onclick="setColor(this)" style="background-color: #FFFF00"></div>
<div class="color" onclick="setColor(this)" style="background-color: #00FF00"></div>
<div class="color" onclick="setColor(this)" style="background-color: #00FFFF"></div>
<div class="color" onclick="setColor(this)" style="background-color: #0000FF"></div>
<div class="color" onclick="setColor(this)" style="background-color: #FF00FF"></div>
<div class="color" onclick="setColor(this)" style="background-color: #FFFF80"></div>
<div class="color" onclick="setColor(this)" style="background-color: #00FF80"></div>
<div class="color" onclick="setColor(this)" style="background-color: #80FFFF"></div>
<div class="color" onclick="setColor(this)" style="background-color: #8080FF"></div>
<div class="color" onclick="setColor(this)" style="background-color: #FF0080"></div>
<div class="color" onclick="setColor(this)" style="background-color: #FF8040"></div>
</th>
<td>
<button onclick="queryColor();" class='colorPicker'>
<div id='currentcolor' style="background-color:white;">
</button>
</td>
</tr>
</table>
</body>
</html>

View File

@@ -0,0 +1,21 @@
<html>
<script>
function toolOvr(image)
{
if(image.src.indexOf("_dn.png") == -1)
image.src = image.src.replace(".png", "_dn.png");
}
function toolOut(image)
{
if(image.src.indexOf("_dn.png") != -1)
image.src = image.src.replace("_dn.png",".png");
}
</script>
<body style="background-color: ButtonFace; margin: 0; padding: 5px; overflow: hidden; border: outset 2px;">
<img src="../images/Controller1Tool.png" onclick="window.external.SetController(1)" onmousedown="toolOvr(this)" onmouseup="toolOut(this)"/>
<img src="../images/Controller2Tool.png" onclick="window.external.SetController(2)" onmousedown="toolOvr(this)" onmouseup="toolOut(this)"/>
<img src="../images/ControllerAI1Tool.png" onclick="window.external.SetController(5)" onmousedown="toolOvr(this)" onmouseup="toolOut(this)"/>
<img src="../images/ControllerAI2Tool.png" onclick="window.external.SetController(6)" onmousedown="toolOvr(this)" onmouseup="toolOut(this)"/>
<img src="../images/ControllerNoneTool.png" onclick="window.external.SetController(0)" onmousedown="toolOvr(this)" onmouseup="toolOut(this)"/>
</body>
</html>

47
content/page/hopper.html Normal file
View File

@@ -0,0 +1,47 @@
<html>
<script>
function toolOvr(image)
{
image.style.backgroundColor = "#cccccc";
}
function toolOut(image)
{
image.style.backgroundColor = "transparent";
}
</script>
<style>
img{
height: 100%;
}
.container
{
height: 47px;
width: 50px;
margin-right: 10px;
}
</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="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)">
<img src="../images/Grab.png" />
</span>
<span class="container" onmousedown="toolOvr(this)" onmouseup="toolOut(this)" onmouseout="toolOut(this)" onclick="window.external.ToggleHopperBin(2)">
<img src="../images/Clone.png" />
</span>
<span class="container" onmousedown="toolOvr(this)" onmouseup="toolOut(this)" onmouseout="toolOut(this)" onclick="window.external.ToggleHopperBin(3)">
<img src="../images/Hammer.png" />
</span>
<span class="container" onmousedown="toolOvr(this)" onmouseup="toolOut(this)" onmouseout="toolOut(this)" onclick="window.external.ToggleHopperBin(4)">
<img src="../images/Slingshot.png" />
</span>
<span class="container" onmousedown="toolOvr(this)" onmouseup="toolOut(this)" onmouseout="toolOut(this)" onclick="window.external.ToggleHopperBin(5)">
<img src="../images/Rocket.png" />
</span>
<span class="container" onmousedown="toolOvr(this)" onmouseup="toolOut(this)" onmouseout="toolOut(this)" onclick="window.external.ToggleHopperBin(6)">
<img src="../images/Laser.png" />
</span>
</body>
</html>

23
content/page/surface.html Normal file
View File

@@ -0,0 +1,23 @@
<html>
<script>
function toolOvr(image)
{
if(image.src.indexOf("_dn.png") == -1)
image.src = image.src.replace(".png", "_dn.png");
}
function toolOut(image)
{
if(image.src.indexOf("_dn.png") != -1)
image.src = image.src.replace("_dn.png",".png");
}
</script>
<body style="background-color: ButtonFace; margin: 0; padding: 5px; overflow: hidden; border: outset 2px;">
<img src="../images/FlatTool.png" onmouseout="toolOut(this)" onclick="window.external.SetSurface(0, 0)" onmousedown="toolOvr(this)" onmouseup="toolOut(this)"/>
<img src="../images/BumpTool.png" onmouseout="toolOut(this)" onclick="window.external.SetSurface(1, 0)" onmousedown="toolOvr(this)" onmouseup="toolOut(this)"/>
<img src="../images/HingeTool.png" onmouseout="toolOut(this)" onclick="window.external.SetSurface(2, 0)" onmousedown="toolOvr(this)" onmouseup="toolOut(this)"/>
<img src="../images/LeftMotorTool.png" onmouseout="toolOut(this)" onclick="window.external.SetSurface(3, 1)" onmousedown="toolOvr(this)" onmouseup="toolOut(this)"/>
<img src="../images/LeftMotorFastTool.png" onmouseout="toolOut(this)" onclick="window.external.SetSurface(3, 2)" onmousedown="toolOvr(this)" onmouseup="toolOut(this)"/>
<img src="../images/RightMotorTool.png" onmouseout="toolOut(this)" onclick="window.external.SetSurface(3, 3)" onmousedown="toolOvr(this)" onmouseup="toolOut(this)"/>
<img src="../images/RightMotorFastTool.png" onmouseout="toolOut(this)" onclick="window.external.SetSurface(3, 4)" onmousedown="toolOvr(this)" onmouseup="toolOut(this)"/>
</body>
</html>

BIN
icon1.ico

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

BIN
ode-0.5.7z Normal file

Binary file not shown.

BIN
roblox_RN1_icon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

View File

@@ -1,9 +1,12 @@
#pragma once #pragma once
#include <G3DAll.h> #include <G3DAll.h>
#include "PropertyWindow.h" #include "PropertyWindow.h"
#include "TextButtonInstance.h" #include "DataModelV2/TextButtonInstance.h"
#include "ImageButtonInstance.h" #include "DataModelV2/ImageButtonInstance.h"
#include "CameraController.h" #include "CameraController.h"
#include "IEBrowser.h"
#include "Mouse.h"
#include "Tool/Tool.h"
//#include "GuiRoot.h" //#include "GuiRoot.h"
class TextButtonInstance; class TextButtonInstance;
@@ -25,11 +28,10 @@ class Application { // : public GApp {
virtual void onUserInput(UserInput* ui); virtual void onUserInput(UserInput* ui);
virtual void onCleanup(); virtual void onCleanup();
void clearInstances(); void clearInstances();
void navigateToolbox(std::string);
PartInstance* makePart(); PartInstance* makePart();
void drawButtons(RenderDevice* rd); void drawButtons(RenderDevice* rd);
void drawOutline(Vector3 from, Vector3 to, RenderDevice* rd, LightingParameters lighting, Vector3 size, Vector3 pos, CoordinateFrame c); void drawOutline(Vector3 from, Vector3 to, RenderDevice* rd, LightingParameters lighting, Vector3 size, Vector3 pos, CoordinateFrame c);
void makeFlag(Vector3 &vec, RenderDevice* &rd);
std::vector<Instance*> getSelection();
void deleteInstance(); void deleteInstance();
void run(); void run();
void QuitApp(); void QuitApp();
@@ -45,6 +47,7 @@ class Application { // : public GApp {
void onMouseWheel(int x, int y, short delta); void onMouseWheel(int x, int y, short delta);
void setFocus(bool isFocused); void setFocus(bool isFocused);
int getMode(); int getMode();
void unSetMode();
CameraController cameraController; CameraController cameraController;
UserInput* userInput; UserInput* userInput;
PropertyWindow* _propWindow; PropertyWindow* _propWindow;
@@ -52,7 +55,13 @@ class Application { // : public GApp {
RenderDevice* getRenderDevice(); RenderDevice* getRenderDevice();
void selectInstance(Instance* selectedInstance,PropertyWindow* propWindow); void selectInstance(Instance* selectedInstance,PropertyWindow* propWindow);
void setMode(int mode); void setMode(int mode);
Tool * tool;
void changeTool(Tool *);
Mouse mouse;
bool viewportHasFocus();
private: private:
bool mouseMoveState;
RenderDevice* renderDevice; RenderDevice* renderDevice;
//void initGUI(); //void initGUI();
HWND _hWndMain; HWND _hWndMain;
@@ -72,6 +81,7 @@ class Application { // : public GApp {
int _mode; int _mode;
GAppSettings _settings; GAppSettings _settings;
double lightProjX, lightProjY, lightProjNear, lightProjFar; double lightProjX, lightProjY, lightProjNear, lightProjFar;
IEBrowser* webBrowser;
protected: protected:
Stopwatch m_graphicsWatch; Stopwatch m_graphicsWatch;
Stopwatch m_logicWatch; Stopwatch m_logicWatch;

View File

@@ -1,7 +1,7 @@
#pragma once #pragma once
#include <G3DAll.h> #include <G3DAll.h>
#include "Instance.h" #include "DataModelV2/Instance.h"
#include "Globals.h" #include "Globals.h"
#include <string> #include <string>
@@ -26,6 +26,7 @@ class CameraController {
void panRight(); void panRight();
void tiltUp(); void tiltUp();
void tiltDown(); void tiltDown();
void zoomExtents();
void Zoom(short delta); void Zoom(short delta);
bool onMouseWheel(int x, int y, short delta); bool onMouseWheel(int x, int y, short delta);
GCamera* getCamera(); GCamera* getCamera();

View File

@@ -1,6 +1,6 @@
#pragma once #pragma once
#include "instance.h" #include "Instance.h"
#include "ButtonListener.h" #include "Listener/ButtonListener.h"
class ButtonListener; class ButtonListener;
class Instance; class Instance;
@@ -14,7 +14,7 @@ public:
virtual void drawObj(RenderDevice* rd, Vector2 mousePos, bool mouseDown); virtual void drawObj(RenderDevice* rd, Vector2 mousePos, bool mouseDown);
virtual bool mouseInButton(float, float, RenderDevice* rd); virtual bool mouseInButton(float, float, RenderDevice* rd);
virtual void onMouseClick(); virtual void onMouseClick();
void setButtonListener(ButtonListener*); void setButtonListener(ButtonListener&);
bool floatBottom; bool floatBottom;
bool floatRight; bool floatRight;
bool floatCenter; bool floatCenter;

View File

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

View File

@@ -2,10 +2,12 @@
#include "WorkspaceInstance.h" #include "WorkspaceInstance.h"
#include "LevelInstance.h" #include "LevelInstance.h"
#include "PartInstance.h" #include "PartInstance.h"
#include "SelectionService.h"
#include "rapidxml/rapidxml.hpp" #include "rapidxml/rapidxml.hpp"
#include "GuiRoot.h" #include "GuiRootInstance.h"
#include "XplicitNgine/XplicitNgine.h"
class GuiRoot; class GuiRootInstance;
class DataModelInstance : class DataModelInstance :
public Instance public Instance
@@ -23,19 +25,18 @@ public:
void drawMessage(RenderDevice*); void drawMessage(RenderDevice*);
WorkspaceInstance* getWorkspace(); WorkspaceInstance* getWorkspace();
LevelInstance * getLevel(); LevelInstance * getLevel();
XplicitNgine * getEngine();
std::string message; std::string message;
std::string _loadedFileName; std::string _loadedFileName;
bool showMessage; bool showMessage;
G3D::GFontRef font; G3D::GFontRef font;
GuiRoot* getGuiRoot(); GuiRootInstance* getGuiRoot();
float mousex; SelectionService* getSelectionService();
float mousey;
Vector2 getMousePos();
void setMousePos(int x,int y);
void setMousePos(Vector2 pos);
bool mouseButton1Down;
PartInstance* makePart(); PartInstance* makePart();
void clearLevel(); void clearLevel();
void toggleRun();
bool isRunning();
void resetEngine();
#if _DEBUG #if _DEBUG
void modXMLLevel(float modY); void modXMLLevel(float modY);
#endif #endif
@@ -50,5 +51,8 @@ private:
float _modY; float _modY;
WorkspaceInstance* workspace; WorkspaceInstance* workspace;
LevelInstance * level; LevelInstance * level;
GuiRoot* guiRoot; GuiRootInstance* guiRoot;
SelectionService* selectionService;
bool running;
XplicitNgine * xplicitNgine;
}; };

View File

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

View File

@@ -5,10 +5,11 @@ class ImageButtonInstance;
class TextButtonInstance; class TextButtonInstance;
class GuiRoot : public Instance class GuiRootInstance : public Instance
{ {
public: public:
GuiRoot(); GuiRootInstance();
GuiRootInstance::~GuiRootInstance();
TextButtonInstance* makeTextButton(); TextButtonInstance* makeTextButton();
void drawButtons(RenderDevice* rd); void drawButtons(RenderDevice* rd);
ImageButtonInstance* makeImageButton(G3D::TextureRef newImage, G3D::TextureRef overImage, G3D::TextureRef downImage, G3D::TextureRef disableImage); ImageButtonInstance* makeImageButton(G3D::TextureRef newImage, G3D::TextureRef overImage, G3D::TextureRef downImage, G3D::TextureRef disableImage);

View File

@@ -1,6 +1,8 @@
#pragma once #pragma once
#include <G3DAll.h> #include <G3DAll.h>
#include "propertyGrid.h" #include "propertyGrid.h"
#include "map"
//#include "Properties/BoolProperty.h"
class Instance class Instance
{ {
@@ -17,7 +19,7 @@ public:
Instance* findFirstChild(std::string); Instance* findFirstChild(std::string);
std::vector<Instance* > getChildren(); std::vector<Instance* > getChildren();
std::vector<Instance* > getAllChildren(); std::vector<Instance* > getAllChildren();
void setParent(Instance*); virtual void setParent(Instance*);
void setName(std::string newName); void setName(std::string newName);
void addChild(Instance*); void addChild(Instance*);
void removeChild(Instance*); void removeChild(Instance*);
@@ -31,5 +33,6 @@ protected:
std::string className; std::string className;
Instance* parent; // Another pointer. Instance* parent; // Another pointer.
PROPGRIDITEM createPGI(LPSTR catalog, LPSTR propName, LPSTR propDesc, LPARAM curVal, INT type, TCHAR choices[] = NULL); PROPGRIDITEM createPGI(LPSTR catalog, LPSTR propName, LPSTR propDesc, LPARAM curVal, INT type, TCHAR choices[] = NULL);
private:
static const std::map<std::string, Instance> g_logLevelsDescriptions;
}; };

View File

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

View File

@@ -4,19 +4,20 @@
#define _USE_MATH_DEFINES #define _USE_MATH_DEFINES
#include <cmath> #include <cmath>
#define NEW_BOX_RENDER
class PartInstance : public PVInstance class PartInstance : public PVInstance
{ {
public: public:
PartInstance(void); PartInstance(void);
PartInstance(const PartInstance &oinst); PartInstance(const PartInstance &oinst);
Instance* clone() const { return new PartInstance(*this); }
virtual void PartInstance::postRender(RenderDevice* rd);
~PartInstance(void); ~PartInstance(void);
Instance* clone() const { return new PartInstance(*this); }
//Rendering
virtual void PartInstance::postRender(RenderDevice* rd);
virtual void render(RenderDevice*); virtual void render(RenderDevice*);
Vector3 velocity;
//Surfaces
Enum::SurfaceType::Value top; Enum::SurfaceType::Value top;
Enum::SurfaceType::Value front; Enum::SurfaceType::Value front;
Enum::SurfaceType::Value right; Enum::SurfaceType::Value right;
@@ -24,55 +25,52 @@ public:
Enum::SurfaceType::Value left; Enum::SurfaceType::Value left;
Enum::SurfaceType::Value bottom; Enum::SurfaceType::Value bottom;
Enum::Shape::Value shape; Enum::Shape::Value shape;
CoordinateFrame cFrame;
//Variables
Color3 color; Color3 color;
bool canCollide;
dBodyID physBody;
dGeomID physGeom[3];
//Getters
Vector3 getPosition(); Vector3 getPosition();
void setPosition(Vector3); Vector3 getVelocity();
CoordinateFrame getCFrame(); Vector3 getRotVelocity();
void setCFrame(CoordinateFrame);
Box getBox();
Box getScaledBox();
CoordinateFrame getCFrameRenderBased();
Vector3 getSize(); Vector3 getSize();
Box getBox();
Sphere getSphere();
Box getScaledBox();
CoordinateFrame getCFrame();
//Setters
void setParent(Instance* parent);
void setPosition(Vector3);
void setVelocity(Vector3);
void setRotVelocity(Vector3);
void setCFrame(CoordinateFrame);
void setCFrameNoSync(CoordinateFrame);
void setSize(Vector3); void setSize(Vector3);
void setShape(Enum::Shape::Value shape); void setShape(Enum::Shape::Value shape);
bool canCollide; void setChanged();
bool anchored; void setSurface(int face, Enum::SurfaceType::Value surface);
Vector3 rotVelocity; void setAnchored(bool anchored);
bool isAnchored();
float getMass();
//Collision
bool collides(PartInstance * part);
bool collides(Box); bool collides(Box);
//Properties
virtual std::vector<PROPGRIDITEM> getProperties(); virtual std::vector<PROPGRIDITEM> getProperties();
virtual void PropUpdate(LPPROPGRIDITEM &pItem); virtual void PropUpdate(LPPROPGRIDITEM &pItem);
#ifdef NEW_BOX_RENDER
void addVertex(Vector3 vertexPos,Color3 color);
void addNormals(Vector3 normal);
void addSingularNormal(Vector3 normal);
void addTriangle(Vector3 vertexPos,Vector3 vertexPos2, Vector3 vertexPos3);
void addQuad(Vector3 v1,Vector3 v2, Vector3 v3, Vector3 v4);
void genSmoothNormals(int);
void addSmoothTriangle(Vector3 vertexPos,Vector3 vertexPos2, Vector3 vertexPos3);
void makeSmoothFace(int vertex1, int vertex2, int vertex3);
void addPlus(Vector3 v1);
void addPlus2(Vector3 v1);
void debugPrintVertexIDs(RenderDevice* rd, GFontRef font, Matrix3 camRot);
void makeFace(int vertex1, int vertex2, int vertex3);
void fromArrays(float verts[], float norms[], float ind[], unsigned int countVN, unsigned int countInd);
bool isUniqueVertex(Vector3 pos);
#endif
private: private:
bool anchored;
Vector3 position; Vector3 position;
Vector3 size; Vector3 size;
float _bevelSize; Vector3 velocity;
int _parseVert; Vector3 rotVelocity;
int _debugTimer;
std::vector<Vector3> _debugUniqueVertices;
#ifdef NEW_BOX_RENDER
std::vector<GLfloat> _vertices;
std::vector<GLfloat> _normals;
#else
GLfloat _vertices[96];
#endif
std::vector<GLushort> _indices;
bool changed; bool changed;
Box itemBox; Box itemBox;
GLuint glList; GLuint glList;
}; };

View File

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

View File

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

View File

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

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

@@ -0,0 +1,23 @@
#pragma once
namespace Enum
{
namespace SurfaceType
{
enum Value {
Smooth = 0, Bumps = 1, Hinge = 2, Motor = 3, StepperMotor = 4, Spawn = 5
};
}
namespace Shape
{
enum Value {
Ball = 0, Block = 1, Cylinder = 2
};
}
namespace Controller
{
enum Value {
Player = 7, KeyboardRight = 1, KeyboardLeft = 2, Joypad1 = 3, Joypad2 = 4, Chase = 5, Flee = 6, None = 0
};
}
}

9
src/include/Faces.h Normal file
View File

@@ -0,0 +1,9 @@
#ifndef FACES_H
#define FACES_H
#define TOP 3
#define BOTTOM 5
#define LEFT 1
#define RIGHT 4
#define FRONT 0
#define BACK 2
#endif

View File

@@ -1,6 +1,6 @@
#pragma once #pragma once
#include "DataModelInstance.h" #include "DataModelV2/DataModelInstance.h"
#include <G3DAll.h> #include "XplicitNgine/XplicitNgine.h"
class Application; class Application;
@@ -10,7 +10,7 @@ public:
Globals(void); Globals(void);
~Globals(void); ~Globals(void);
static DataModelInstance* dataModel; static DataModelInstance* dataModel;
static bool showMouse; //static bool showMouse;
static POINT mousepoint; static POINT mousepoint;
static bool useMousePoint; static bool useMousePoint;
static const int gen; static const int gen;
@@ -19,19 +19,23 @@ public:
static const int patch; static const int patch;
static G3D::TextureRef surface; static G3D::TextureRef surface;
static int surfaceId; static int surfaceId;
static const std::string g_PlaceholderName; static const std::string g_appName;
static COLORREF g_acrCustClr[16]; //Will be dynamic later
static HWND mainHwnd;
}; };
extern std::vector<Instance*> postRenderStack; extern std::vector<Instance*> postRenderStack;
extern std::vector<Instance*> g_selectedInstances;
extern bool running; extern bool running;
extern DataModelInstance* g_dataModel; extern DataModelInstance* g_dataModel;
extern XplicitNgine* g_xplicitNgine;
extern Application* g_usableApp; extern Application* g_usableApp;
extern GFontRef g_fntdominant; extern GFontRef g_fntdominant;
extern GFontRef g_fntlighttrek; extern GFontRef g_fntlighttrek;
extern COLORREF g_acrCustClr[16]; //Will be dynamic later
extern std::string cameraSound; extern std::string cameraSound;
extern std::string clickSound; extern std::string clickSound;
extern std::string dingSound; extern std::string dingSound;
const std::string g_PlaceholderName = "HyperCube"; extern HWND mainHwnd;
const std::string g_appName = "Blocks3D";

28
src/include/IEBrowser.h Normal file
View File

@@ -0,0 +1,28 @@
//#include "WindowFunctions.h"
#pragma once
#include "Globals.h"
#pragma once
#include <mshtml.h>
#include <exdisp.h>
#include <Mshtmhst.h>
#include "IEDispatcher.h"
#include "AudioPlayer.h"
class IEBrowser {
public:
IEBrowser(HWND attachHWnd);
~IEBrowser(void);
bool navigateSyncURL(wchar_t* url);
HRESULT doExternal(std::wstring funcName,
DISPID dispIdMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS FAR* pDispParams,
VARIANT FAR* pVarResult,
EXCEPINFO FAR* pExcepInfo,
unsigned int FAR* puArgErr);
private:
IWebBrowser2* webBrowser;
HWND parentHwnd;
};

View File

@@ -1,6 +1,6 @@
#pragma once #pragma once
//#include "Application.h" //#include "Application.h"
//#include "BaseButtonInstance.h" #include "DataModelV2/BaseButtonInstance.h"
class BaseButtonInstance; class BaseButtonInstance;
@@ -10,6 +10,7 @@ class ButtonListener
ButtonListener(); ButtonListener();
~ButtonListener(void); ~ButtonListener(void);
virtual void onButton1MouseClick(BaseButtonInstance*); virtual void onButton1MouseClick(BaseButtonInstance*);
bool doDelete;
//virtual void onMouseOver(); //TODO //virtual void onMouseOver(); //TODO
//virtual void onMouseOut(); //TODO //virtual void onMouseOut(); //TODO
//virtual void onButton1MouseDown(); //TODO //virtual void onButton1MouseDown(); //TODO

View File

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

View File

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

34
src/include/Mouse.h Normal file
View File

@@ -0,0 +1,34 @@
#pragma once
#include "DataModelV2/PartInstance.h"
#pragma once
#include "DataModelV2/WorkspaceInstance.h"
struct MousePoint{
Vector3 position;
PartInstance * target;
MousePoint(Vector3 pos, PartInstance * targ)
{
position = pos;
target = targ;
}
};
#pragma once
class Mouse
{
public:
Mouse();
~Mouse(void);
int x, y;
int oldx, oldy;
PartInstance * getTarget();
MousePoint getPositionAndPart(std::vector<Instance *> ignore = std::vector<Instance *>());
Vector3 getPosition(std::vector<Instance *> ignore = std::vector<Instance *>());
bool isMouseOnScreen();
bool isMouseDown();
void setMouseDown(bool mouseDown);
G3D::Ray * getRay();
G3D::Ray getLastRay();
private:
bool mouseDown;
};

View File

@@ -0,0 +1,12 @@
#pragma once
#include "Property.h"
class BoolProperty : public Property<bool>
{
public:
BoolProperty(std::string name, bool& value, Instance& owner)
{
Property<bool>(name, value, owner);
}
~BoolProperty(void);
PROPGRIDITEM getPropGridItem();
};

View File

@@ -0,0 +1,30 @@
#pragma once
#include "DataModelV2/Instance.h"
#include <string>
class Instance;
template <typename T>
class Property
{
public:
Property(std::string name, T& value, Instance& owner)
{
_value = value;
_owner = owner;
}
~Property(void);
const T getValue()
{
return _value;
}
const void setValue(T val)
{
_value = val;
}
virtual PROPGRIDITEM getPropGridItem();
void setProperty(LPPROPGRIDITEM item);
protected:
Instance* _owner;
std::string _name;
T* _value;
};

View File

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

7
src/include/Renderer.h Normal file
View File

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

View File

@@ -0,0 +1,87 @@
#pragma once
#include <G3DAll.h>
#include <map>
class TextureHandler
{
public:
TextureHandler(void);
~TextureHandler(void);
static int getTextureVolatile(std::string str)
{
if(!volTex[str].isNull())
{
volExp[str] = G3D::System::time();
return volTex[str]->openGLID();
}
else
{
G3D::TextureRef tex = G3D::Texture::fromFile(str);
volExp[str] = G3D::System::time();
volTex[str] = tex;
return tex->openGLID();
}
}
static int getTexturePermanent(std::string str)
{
if(!permTex[str].isNull())
{
return permTex[str]->openGLID();
}
else
{
G3D::TextureRef tex = G3D::Texture::fromFile(str);
permTex[str] = tex;
return tex->openGLID();
}
}
static void flushVolatile()
{
std::map<std::string, G3D::RealTime>::iterator it;
for (it=volExp.begin(); it!=volExp.end(); ++it)
{
if(it->second < G3D::System::time() - 3)
{
volTex[it->first]->~Texture();
volTex.erase(it->first);
volExp.erase(it->first);
//it->second->~ReferenceCountedPointer();
}
}
}
static void dispose()
{
std::map<std::string, G3D::TextureRef>::iterator it;
for (it=volTex.begin(); it!=volTex.end(); ++it)
{
it->second->~Texture();
//it->second->~ReferenceCountedPointer();
}
for (it=permTex.begin(); it!=permTex.end(); ++it)
{
it->second->~Texture();
//it->second->~ReferenceCountedPointer();
}
permTex.clear();
volTex.clear();
}
static void remove(std::string str)
{
if(!volTex[str].isNull())
{
volTex[str]->~Texture();
//volTex[str]->~ReferenceCountedPointer();
volTex.erase(str);
}
if(!permTex[str].isNull())
{
permTex[str]->~Texture();
//permTex[str]->~ReferenceCountedPointer();
permTex.erase(str);
}
}
private:
static std::map<std::string, G3D::TextureRef> volTex;
static std::map<std::string, G3D::RealTime> volExp;
static std::map<std::string, G3D::TextureRef> permTex;
};

View File

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

View File

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

34
src/include/Tool/Tool.h Normal file
View File

@@ -0,0 +1,34 @@
#pragma once
#include "TextureHandler.h"
#pragma once
#include <G3DAll.h>
#pragma once
#include "Mouse.h"
#pragma once
#include "Globals.h"
#pragma once
#include "StringFunctions.h"
#pragma once
class Tool
{
public:
Tool(void);
~Tool(void);
virtual void onButton1MouseDown(Mouse); //yes
virtual void onButton2MouseDown(Mouse); //yes
virtual void onButton3MouseDown(Mouse); //no
virtual void onButton1MouseUp(Mouse);//yes
virtual void onButton2MouseUp(Mouse);//yes
virtual void onButton3MouseUp(Mouse); //no
virtual void onMouseMoved(Mouse);//yes
virtual void onSelect(Mouse);//yes
virtual void onDeselect(Mouse);//yes
virtual void onMouseScroll(Mouse);//Kinda
virtual void onKeyDown(int);//yes
virtual void onKeyUp(int);//yes
//virtual int getCursorId();//yes
protected:
//virtual void setCursor(std::string);
private:
//std::string cursorString;
};

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

@@ -1,4 +1,5 @@
#pragma once #pragma once
#include <windows.h> #include <windows.h>
bool createWindowClass(const char* name,WNDPROC proc,HMODULE hInstance); bool createWindowClass(const char* name,WNDPROC proc,HMODULE hInstance);

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