420 Commits

Author SHA1 Message Date
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
andreja6
e419a4edcd Testing 2020-01-26 15:58:22 -08:00
andreja6
72dcc5ef8e Added a function (Not done) 2019-11-11 23:50:05 -08:00
andreja6
c9e79c2063 Made cylinder tops flatter 2019-11-11 16:05:31 -08:00
andreja6
3035478c77 fixed memory leak 2019-11-11 14:13:36 -08:00
andreja6
152b376c02 Multiselection and Models 2019-11-11 14:05:17 -08:00
DirtPiper
ef2a3bc146 completely fixed cylinder scaling
uwu
2019-11-11 16:15:38 -05:00
andreja6
d781627fff Fixed cylinder scaling 2019-11-11 11:53:35 -08:00
andreja6
02bb8b20fa Removed smoothing for now 2019-11-11 01:06:15 -08:00
andreja6
ec721abdcc Cylinders 2019-11-10 23:36:32 -08:00
andreja6
0269e63af9 Undid commit #1688865, Fixed smooth verticies 2019-11-10 20:16:11 -08:00
andreja6
8926860107 Added a library, tried to make IWebBrowser2 not fail 2019-11-10 20:11:22 -08:00
DirtPiper
da3cdf405e Can now use left control + O to bring up open dialog 2019-11-10 23:02:29 -05:00
DirtPiper
98f4246f17 File importer now supports shapes, camera pan is now locked to 45 degree increments
this was a massive pain in the ass :)
2019-11-10 22:59:08 -05:00
MusicalProgrammer
1f4147fd90 window.external progress? 2019-11-08 23:38:06 -05:00
andreja6
4c51383bce Moved some variables in datamodelinstance from public to private 2019-11-08 17:55:59 -08:00
Vulpovile
f965c82b58 Starting work on cylinder 2019-11-08 15:18:43 -08:00
andreja6
1688865462 slowly optimizing render 2019-11-07 22:30:56 -08:00
andreja6
f99e6cbff7 Turns out raycasting every 1/30th of a second takes a massive hit on performance 2019-11-07 21:52:46 -08:00
Cosmo224
4d13650c6d remove part type file 2019-11-07 21:33:38 +00:00
DirtPiper
913fc16657 removed parttype
ffsdf
2019-11-07 16:20:09 -05:00
andreja6
44c2928c6a Made spheres actual "spheres" 2019-11-07 10:59:03 -08:00
andreja6
7b87773abf Added shapes, found and fixed possible memory leak 2019-11-07 10:28:19 -08:00
Cosmo224
b2240a4ad0 Update copyright + more user friendly HWND failed message 2019-11-06 19:57:38 +00:00
andreja6
8848d37d0f Initialize propWindow with NULL first 2019-11-06 11:29:56 -08:00
andreja6
b8c23348ba ? 2019-11-06 11:21:47 -08:00
andreja6
782504278c Prop window null? 2019-11-06 11:08:37 -08:00
andreja6
a4ef9bbad1 Maybe rush condition? 2019-11-06 10:49:16 -08:00
andreja6
559dfea041 Works very, very well now 2019-11-05 23:10:32 -08:00
andreja6
01bc10f852 Attempted to make property window always on top... ineffective 2019-11-05 22:51:27 -08:00
andreja6
f9a1eea0d2 Made legacy renderer faster 2019-11-05 22:32:28 -08:00
MusicalProgrammer
5501b7a5d7 Fixed random level loading bug. 2019-11-05 22:06:35 -05:00
MusicalProgrammer
68ccf1be6e More file error handling. 2019-11-05 21:24:01 -05:00
MusicalProgrammer
6eed189855 Added an error message if a level fails to load. 2019-11-05 20:47:06 -05:00
andreja6
39173f34a1 Tried to make old renderer suck less 2019-11-05 13:19:11 -08:00
andreja6
55f3ff8964 Made it possible to switch between legacy renderer and new renderer in code 2019-11-05 13:14:24 -08:00
andreja6
bb01d01950 I didn't push that yet? 2019-11-04 21:21:49 -08:00
andreja6
22ed6acc7f Added FPS counter on debug 2019-11-04 21:09:38 -08:00
MusicalProgrammer
72057499ce Update .gitignore 2019-11-05 00:08:01 -05:00
MusicalProgrammer
2292a82a85 Update G3DTest.sln 2019-11-05 00:07:47 -05:00
MusicalProgrammer
aa11f5f120 GUI separated from Application.cpp 2019-11-04 23:57:31 -05:00
MusicalProgrammer
1fe59aa9ff Updated project file, deleted clone file 2019-11-04 20:55:35 -05:00
MusicalProgrammer
5e449d8882 Big cleanup... Expect bugs 2019-11-04 20:37:32 -05:00
Cosmo224
f1d0d48dfa add icon to some errors + replace old comments 2019-11-04 22:51:49 +00:00
andreja6
1e27e105b7 Show entire error when in debug mode 2019-11-03 23:50:55 -08:00
andreja6
476610fe06 Finally got rid of truncation errors 2019-11-03 23:46:43 -08:00
andreja6
7898df7a8e Changed icons, added Todo, fixed location of icons in properties combo box 2019-11-03 23:23:34 -08:00
Vulpovile
552be1ec54 Merge pull request #31 from Vulpovile/property-window
Property window fixes
2019-11-03 18:16:14 -08:00
MusicalProgrammer
6b3230abd0 Update PartInstance.cpp
NameShown fixed.
2019-11-02 22:12:35 -04:00
MusicalProgrammer
718bce5289 Camera properly focuses on Part again. 2019-11-02 21:20:23 -04:00
MusicalProgrammer
55f59e46e0 Explorer fixed, and renamed SetProperties()
SetProperties() doesn't describe what it actually does.
Changed to:
UpdateSelected()
2019-11-02 20:27:18 -04:00
andreja6
bc8742b5f5 Now has icons 2019-11-02 12:26:01 -07:00
MusicalProgrammer
08d8dc4df0 IEBrowser gets the external object. Nothing else. 2019-11-02 14:51:44 -04:00
DirtPiper
d8ba0dcfc8 Fixed level names on import 2019-11-02 14:02:01 -04:00
MusicalProgrammer
6be44fa9f1 Merge branch 'MusicalProgrammer'
Expect bugs
2019-10-26 18:07:45 -04:00
Vulpovile
284cd129e0 Added the licence, for some reason wasn't here 2019-06-12 08:41:45 +02:00
andreja6
fdc4f4e647 Something 2019-05-15 12:20:17 -07:00
andreja6
3417a34f37 Sped up rendering 2019-05-15 12:16:51 -07:00
Cosmo224
7f0b358f80 Create Documentation 2019-03-16 17:18:16 +00:00
Cosmo224
bf291d6fe3 I don't think we need comic sans {#2}
yeah.png
2019-03-16 17:03:26 +00:00
Cosmo224
3f6d032c10 I don't think we need comic sans 2019-03-16 17:03:07 +00:00
DirtPiper
d16bf9e39b Added Spawn to SurfaceType 2018-12-10 21:45:39 -05:00
andreja6
828584a2d9 Run on R 2018-12-03 14:37:39 -08:00
andreja6
69d78f139f Removed unsafe functions 2018-11-01 13:52:11 -07:00
andreja6
d51bde7330 Fixed unsafe function 2018-10-31 20:40:25 -07:00
MusicalProgrammer
d12654b4d3 Merge remote-tracking branch 'origin/Brickcolors' into MusicalProgrammer 2018-10-30 19:29:57 -04:00
MusicalProgrammer
5a20b4aefc Objects now clear on load. 2018-10-30 19:19:30 -04:00
MusicalProgrammer
08a3f9f307 Open now works by pressing CTRL+O 2018-10-30 19:14:17 -04:00
andreja6
77ce5c9a5a Brickcolors 2018-10-30 15:10:41 -07:00
andreja6
8a097f7eb1 Completely removed shadows 2018-10-30 13:31:57 -07:00
MusicalProgrammer
e9a13b8163 2005 Model works, but is mirrored 2018-10-30 16:10:24 -04:00
DirtPiper
78875d3b7e Update .gitignore 2018-10-29 15:55:59 -04:00
MusicalProgrammer
33a43c5072 Merge branch 'master' into MusicalProgrammer 2018-10-29 14:33:27 -04:00
MusicalProgrammer
f2347970c4 Updated vcproj 2018-10-28 21:03:16 -04:00
MusicalProgrammer
d0b0ffd7f1 Very unstable and broken XML loader added. 2018-10-28 21:00:34 -04:00
andreja6
ab242470b6 Added tilt and rotate to drag, made drag a bit cleaner 2018-10-27 21:14:24 -07:00
andreja6
03eceeae93 Merge pull request #27 from andreja6/Shadows
Dragging
2018-10-27 20:39:25 -07:00
andreja6
2919f4ebaa Disabled shadows 2018-10-27 20:38:33 -07:00
andreja6
1dd930af49 fixed crashing 2018-10-27 20:32:48 -07:00
andreja6
98e73cd7ca Kinda sorta works 2018-10-27 19:40:41 -07:00
MusicalProgrammer
057d86e05a Using new part dragging code... (Needs adjusting) 2018-10-27 19:32:28 -04:00
andreja6
89f9e0bfa2 Moving works-ish, fixed box selection 2018-10-27 11:21:09 -07:00
andreja6
61d07a8557 "Drag" 2018-10-27 09:00:39 -07:00
andreja6
948835df98 Shadows work (?) 2018-10-26 19:43:46 -07:00
andreja6
e83a67ade2 hm 2018-10-27 02:24:08 -07:00
MusicalProgrammer
6ec4ab466d RapidXML imported and ready to test 2018-10-26 18:09:36 -04:00
andreja6
f5f5f269d5 Fixed CoordinateFrame 2018-10-26 14:03:00 -07:00
andreja6
d492e438d2 Fixed camera a bit 2018-10-26 13:34:55 -07:00
andreja6
1700258001 Added dynamic cast to camera to prevent corrupted CFrame 2018-10-26 13:28:44 -07:00
andreja6
ff5b855e12 Fixed bevels going mentally insane on duplicate 2018-10-26 13:15:54 -07:00
DirtPiper
c9bb2ae72b Bevel fix
Made more accurate.
2018-10-25 22:33:45 -04:00
andreja6
5773584f48 made bevels a bit bigger 2018-10-25 19:01:14 -07:00
andreja6
7e2eb2c694 Parts with "ShowName" enabled now do what they are supposed to. Huzzah! 2018-10-25 18:56:00 -07:00
andreja6
f7d6781698 Fixed properties 2018-10-25 18:18:08 -07:00
andreja6
30a05af3b2 Added postrender 2018-10-25 18:16:39 -07:00
MusicalProgrammer
b1af53995a Parts now recolor properly again. 2018-10-25 20:51:15 -04:00
MusicalProgrammer
866d644c63 Manual merge... (Improved renderer, and added bevels.) 2018-10-25 20:29:38 -04:00
MusicalProgrammer
1108af7cf3 Bevels Added, and improved rendernig performance. 2018-10-25 20:10:14 -04:00
andreja6
7b4abe3efe Made properties "dynamically update", no longer simply says NO when object makes no sense 2018-10-25 15:43:45 -07:00
andreja6
5dd6ae7d9c Physixxxxx 2018-10-25 12:58:56 -07:00
andreja6
0566dd0217 Removed unneeded include 2018-10-25 11:50:40 -07:00
andreja6
99d5a1de38 Made parent selectable if exists 2018-10-25 10:06:52 -07:00
DirtPiper
5020de484c name fix for accuracy
hnnnnng dat accuracy boiii
2018-10-25 12:48:59 -04:00
andreja6
62208a14a5 Made LevelInstance (DataModel V1.1_01?) 2018-10-25 09:45:13 -07:00
andreja6
d7b491e073 Merge pull request #25 from andreja6/datamodel-v1.1
Datamodel v1.1
2018-10-24 20:50:09 -07:00
andreja6
c50d2a8166 Added basic shape stuff 2018-10-24 20:49:26 -07:00
andreja6
d2e0b29051 Changed icon 2018-10-24 20:34:14 -07:00
andreja6
4df67897dc Datamodel V1.1 2018-10-24 19:45:51 -07:00
andreja6
0f0be7f0b9 Attempted to fix dinging
On phone, can't test
2018-10-24 16:44:33 -07:00
andreja6
581f8a3413 made delete work 2018-10-24 15:14:24 -07:00
andreja6
0174605a3e Made mouse way less awkward 2018-10-24 14:40:46 -07:00
andreja6
edf1bc701b The closest i've gotten so far to images on the property grid 2018-10-24 14:14:38 -07:00
andreja6
69d55d0a5c Merge pull request #24 from andreja6/master
Request to merge master into MusicalProgrammer branch, to work on bevels.
2018-10-24 13:46:15 -07:00
andreja6
99ab8e1620 Fixed an oops 2018-10-24 13:44:50 -07:00
andreja6
ebe7ad682e Added MeasureItem case 2018-10-24 13:02:31 -07:00
andreja6
abe406990b Made properties explorer "work" and added bitmaps 2018-10-24 12:54:12 -07:00
andreja6
78c6dec932 Fixed 2018-10-24 11:19:17 -07:00
andreja6
2c65001536 Fixed crash on duplicate 2018-10-24 11:07:27 -07:00
andreja6
07a2eb4d98 Instances call constructor of base class 2018-10-24 11:02:13 -07:00
andreja6
ea072e424a Removed file that should not be here 2018-10-24 10:50:50 -07:00
andreja6
8b3da447a4 Prevented workspace duplication 2018-10-24 10:50:08 -07:00
andreja6
77615c5b8f Commented out code that produced warnings 2018-10-24 10:38:46 -07:00
andreja6
dc6c002250 Added some stuff to the Properties page 2018-10-24 10:20:05 -07:00
andreja6
70fba67b6e Made instances call parent function on properties, Deselecting everything opens Datamodel in the property grid
Instances now call the parent method after setting/getting properties,
Made delete no longer delete workspace
2018-10-24 09:55:49 -07:00
andreja6
1159be9b1b Fixed Color3 2018-10-24 05:47:21 -07:00
andreja6
6752c5da68 Added size 2018-10-23 21:38:53 -07:00
andreja6
77b7c3e62b Changed name to Color3 2018-10-23 21:33:17 -07:00
andreja6
7d7552d141 Added color3 2018-10-23 21:32:55 -07:00
andreja6
7f7e015706 Added new way of dealing with enums 2018-10-23 19:42:42 -07:00
MusicalProgrammer
ebbbbb3a69 Renamed selectedInstances to g_selectedInstances 2018-10-23 21:54:52 -04:00
MusicalProgrammer
b608a3ab9e PropertyGrid Selection Explorer Implemented 2018-10-23 21:43:29 -04:00
andreja6
ccf3ade099 Changed the way enums work 2018-10-23 17:42:15 -07:00
MusicalProgrammer
3c2ae53449 Added a ComboBox 2018-10-23 18:35:23 -04:00
andreja6
421498e1fe Made parts deselectable 2018-10-23 15:15:08 -07:00
andreja6
8909ded488 Made window show on double click 2018-10-23 15:09:08 -07:00
andreja6
5114ceb4b7 Removed navigate for now, made char work 2018-10-23 14:11:28 -07:00
andreja6
1472b7d6a5 Made it use addresses 2018-10-23 13:43:56 -07:00
andreja6
52d2cbf5dd Removed useless class, properties work 2018-10-23 13:42:10 -07:00
andreja6
e4529a949a Kinda sorta works 2018-10-23 12:46:54 -07:00
andreja6
6d1428ced9 Added properties to PhysicalInstance 2018-10-23 12:29:36 -07:00
MusicalProgrammer
0f700aeda5 Fixed PropertyWindow Procedure 2018-10-23 15:22:22 -04:00
DirtPiper
7273ee9ce0 struct removal and stopped parts from moving up 2018-10-23 14:00:28 -04:00
andreja6
1a7cd2e250 Failed at adding a struct, i may just use two vectors 2018-10-23 07:25:47 -07:00
andreja6
99f78be344 Added update property method 2018-10-23 06:52:06 -07:00
andreja6
ee528d1245 Changed how properties work 2018-10-23 06:49:41 -07:00
willemsteller
18b856602c Move duplicated part up 2018-10-23 09:52:45 +02:00
andreja6
0dcd054da3 Properties work 2018-10-22 22:59:41 -07:00
andreja6
268a0cd2ee Keep getting access violation exceptions 2018-10-22 22:01:46 -07:00
andreja6
c71dcb8a91 What 2018-10-22 21:05:50 -07:00
andreja6
24306c04ec Tried something, it kinda works 2018-10-22 21:04:21 -07:00
andreja6
b986815fcb Changed how properties work 2018-10-22 20:35:23 -07:00
andreja6
a70cc31d28 Class cleanup 2018-10-22 18:59:05 -07:00
andreja6
b097cb15e4 Added properties 2018-10-22 18:20:28 -07:00
andreja6
b18ebfb56f Merge branch 'master' of https://github.com/andreja6/G3D-Fun 2018-10-22 12:16:53 -07:00
andreja6
eade3d8e93 Fixed deselect on rotate 2018-10-22 12:16:50 -07:00
MusicalProgrammer
ccf440a65e _redraw(HWND) is now just _redraw() 2018-10-22 15:02:44 -04:00
DirtPiper
551a0e4b9e more propertygrid testing 2018-10-22 14:50:23 -04:00
DirtPiper
4afe95ae26 Merge branch 'master' of https://github.com/andreja6/G3D-Fun 2018-10-22 14:25:26 -04:00
DirtPiper
c6151b58e2 zip 2018-10-22 14:25:25 -04:00
andreja6
6f91ad5881 Added required H and CPP files to VCProj 2018-10-22 11:24:42 -07:00
MusicalProgrammer
09d9af492f PropertyGrid successfully implemented. 2018-10-22 14:19:51 -04:00
DirtPiper
bd37f8e22d tab 2018-10-22 14:00:31 -04:00
DirtPiper
c5485fbf55 Merge branch 'master' of https://github.com/andreja6/G3D-Fun 2018-10-22 13:07:07 -04:00
DirtPiper
f02272976a a bunch of nothing 2018-10-22 13:07:05 -04:00
andreja6
0b9429d1bd Fixed icon 2018-10-22 09:54:08 -07:00
DirtPiper
43e606f08e Merge branch 'master' of https://github.com/andreja6/G3D-Fun 2018-10-22 12:39:10 -04:00
DirtPiper
8fd2cb8f68 spaces 2018-10-22 12:39:08 -04:00
andreja6
a19103c896 Made property grid tool window 2018-10-22 09:34:53 -07:00
DarkKnight64
06660a9f46 erik was born in 1967, not 1969 2018-10-22 17:31:11 +01:00
DarkKnight64
aa1c2df26c Readme 2018-10-22 17:29:53 +01:00
DirtPiper
03d696a8fa test failed 2018-10-22 10:57:14 -04:00
andreja6
240b342870 Made minimize and maximize hide 2018-10-22 06:58:15 -07:00
DirtPiper
ef9e6c798b Added Dependencies 2018-10-22 09:49:34 -04:00
MusicalProgrammer
a29c59f8d2 Property Grid added, but not showing yet 2018-10-21 23:25:10 -04:00
andreja6
aa2e62d2b5 Fixed memory leak 2018-10-21 19:30:21 -07:00
andreja6
19f125dcc6 Made propertygrid work, added enums yet again 2018-10-21 19:19:00 -07:00
DirtPiper
0f3ccb8045 readded the enums
yeet
2018-10-21 22:11:28 -04:00
andreja6
2134c66124 Tried to add property grid 2018-10-21 18:25:42 -07:00
DirtPiper
5806b48bae Merge branch 'master' of https://github.com/andreja6/G3D-Fun 2018-10-21 21:09:52 -04:00
DirtPiper
507b0a9ace New Enums
All 05-era enums added (might be more, idk tbh)
2018-10-21 21:09:49 -04:00
andreja6
679dbe69b8 Attempted a thing 2018-10-21 17:30:38 -07:00
andreja6
4f766d8617 wat 2018-10-21 17:00:00 -07:00
andreja6
90e74e5133 Duplicate works! 2018-10-21 16:11:31 -07:00
andreja6
1c9b93d6ab Hm 2018-10-21 16:07:47 -07:00
andreja6
5eafaa401a NOT a good solution 2018-10-21 16:05:14 -07:00
andreja6
e0ba49a03c Attempted to make duplicate 2018-10-21 15:36:17 -07:00
andreja6
2725f6da58 Removed terrible instance type check, added dynamic casting 2018-10-21 13:44:53 -07:00
andreja6
8985579159 Made selected a vector 2018-09-18 19:24:12 -07:00
andreja6
c03160c3fd Did a test and failed, removed reference to ATL 2018-09-18 18:43:23 -07:00
andreja6
9193dfcabb Disabled textures 2018-08-08 17:35:24 -07:00
scottbeebiwan
c4df4131df hopefully fixed navigation canceled problems on xp, added all files to vcproj/sln, webbrowser error shows "placeholder crash" as title instead of just the name 2018-07-07 18:23:01 -07:00
MusicalProgrammer
374d3d3627 Merge branch 'master' of https://github.com/andreja6/G3D-Fun 2018-07-07 20:55:46 -04:00
MusicalProgrammer
fe65f8945c IEBrowser class added 2018-07-07 20:55:18 -04:00
scottbeebiwan
db4c46cf20 WHAT ARE YOU DOING
IM TAKING A PIIIIISSS
IM AN ENEMY YOUR SUPPOSED TO JUMP AT ME MOTHERFOCKUR
2018-07-07 13:09:20 -07:00
andreja6
c00e52a9e2 Fixed message 2018-07-07 12:57:00 -07:00
andreja6
c65ac42d64 OMFG 2018-07-07 12:56:06 -07:00
andreja6
95d041bf5e Fixed string 2018-07-07 12:54:27 -07:00
scottbeebiwan
89d2d0b981 did you know im fucking stupid 2018-07-07 12:53:50 -07:00
scottbeebiwan
0417060c1b *someone somehow undid commit 341866b god dman it* 2018-07-07 12:50:05 -07:00
andreja6
e7ea4c4b72 It compiles 👍 2018-07-07 12:46:28 -07:00
andreja6
bbab248209 l i n k e r e r r o r s 2018-07-07 12:41:08 -07:00
andreja6
4401fb8773 Thing that sorta kinda works 2018-07-07 12:39:31 -07:00
scottbeebiwan
3bbfeae228 Merge branch 'master' of https://github.com/andreja6/G3D-Fun 2018-07-07 12:12:12 -07:00
scottbeebiwan
4bb2098fe1 ignore desktop.ini 2018-07-07 12:11:45 -07:00
andreja6
ee1258b177 help 2018-07-07 12:07:32 -07:00
scottbeebiwan
341866b8bb placeholderName now shows on failed to create hwnd screen instead of "Hypercube" 2018-07-07 01:01:51 -07:00
andreja6
dae6dd5390 Failed miserably at external functions 2018-07-06 22:38:27 -07:00
MusicalProgrammer
03fd38aaa7 IWebBrowser2 added and is functional. 2018-07-06 19:23:52 -04:00
andreja6
f99d18f6ae Added AX 2018-07-06 12:42:03 -07:00
andreja6
a47268830b Added web browser variable 2018-07-06 11:48:25 -07:00
scottbeebiwan
838f69944e un-break my commit,
make a easy way to change placeholder name
2018-07-05 21:02:37 -07:00
scottbeebiwan
c6d6c3fd40 Merge branch 'master' of https://github.com/andreja6/G3D-Fun 2018-07-05 20:49:28 -07:00
andreja6
bf946ead54 Changed placeholder name to another placeholder name 2018-07-05 20:02:51 -07:00
scottbeebiwan
2a2d6a777b Keyboard camera controls.
Comma: Pan Left
Period: Pan Right
I: Zoom in
O: Zoom out
2018-07-05 18:06:27 -07:00
MusicalProgrammer
5c90258546 Quick initialization fix. Small mouse bug fixed too. 2018-06-12 14:24:14 -04:00
andreja6
018c4a1557 Added basic textures for now 2018-06-10 21:02:38 -07:00
andreja6
0bd49da8f4 Merge branch 'master' of https://github.com/andreja6/G3D-Fun 2018-06-10 20:26:46 -07:00
andreja6
1926dfa686 Added surfaces 2018-06-10 20:26:33 -07:00
andreja6
1c337b0cdc test 2018-06-05 00:00:59 -07:00
andreja6
54b19ba659 Added "Oh No!" to test gitlab 2018-06-04 23:55:55 -07:00
MusicalProgrammer
336b978fd3 Disabled editing inside the ComboBox. 2018-06-04 23:01:45 -04:00
MusicalProgrammer
90c609d06d Child windows added. 2018-06-04 22:58:20 -04:00
andreja6
22e018e138 replaced DLL 2018-06-04 08:52:35 -07:00
andreja6
a676a44fea updated VCPROJ 2018-06-02 21:30:56 -07:00
MusicalProgrammer
cd7785ce06 Bye bye GApp. We need more control. 2018-06-02 21:27:10 -04:00
MusicalProgrammer
fb3513c6f6 WindowFunctions.cpp added for annoyingly long win32 stuff. 2018-06-02 19:22:01 -04:00
andreja6
0cf7813bea Made mouse cursor not flicker 2018-06-02 15:24:32 -07:00
andreja6
39f68e1acc Removed many useless variables 2018-06-02 14:54:15 -07:00
MusicalProgrammer
be124fff75 Merge pull request #22 from andreja6/MusicalProgrammer
Fixed a camera zooming bug.
2018-06-02 16:37:34 -04:00
MusicalProgrammer
db9e030b53 Fixed a camera zooming bug. 2018-06-02 16:29:34 -04:00
MusicalProgrammer
b1a7aac481 Merge pull request #21 from andreja6/MusicalProgrammer
Musical programmer
2018-06-02 15:21:02 -04:00
MusicalProgrammer
e03a438169 Cleaned up old code. 2018-06-02 15:16:58 -04:00
MusicalProgrammer
f934a3fa38 Merge branch 'master' into MusicalProgrammer 2018-06-02 15:08:49 -04:00
andreja6
8f72e8e666 Removed inner border on 9x machines 2018-06-02 12:06:19 -07:00
MusicalProgrammer
da9d64c56f Big camera improvements. 2018-06-02 15:04:52 -04:00
andreja6
e5f7c7d1cc Fixed mouse down issues on buttons
Bypassed isHolding(VK_LBUTTON) with (GetKeyState(VK_LBUTTON) & 0x100) != 0; temporarily
2018-06-01 23:23:28 -07:00
andreja6
08b4d062e9 Added todo comment 2018-06-01 23:10:22 -07:00
andreja6
a8bfa1b4cd No longer pushing and poping state for each button drawn 2018-06-01 23:07:00 -07:00
andreja6
312ea44922 Made rendering slightly more efficient (Draw::Box is really not effective) 2018-06-01 23:04:06 -07:00
andreja6
6accc7e366 fixed vcproj 2018-06-01 19:28:37 -07:00
andreja6
f16d626f0d Merge pull request #20 from andreja6/MusicalProgrammer
Musical programmer
2018-06-01 18:46:43 -07:00
MusicalProgrammer
636d39bd2d Final cleanup 2018-06-01 21:35:32 -04:00
MusicalProgrammer
6730ddc7bc Pan and tilt restored. 2018-06-01 20:53:57 -04:00
MusicalProgrammer
b66d676254 Custom unstable camera added. 2018-06-01 19:16:50 -04:00
MusicalProgrammer
a6eb176ec3 Fixed cursor displacement issues, and stopped ClipCursor from firing. 2018-05-31 21:23:15 -04:00
MusicalProgrammer
8816e96ba3 Mouse hover, and part selection is now functional. 2018-05-31 19:59:17 -04:00
MusicalProgrammer
5aaf134ba8 GUI Mouse clicks now functional. 2018-05-31 19:27:07 -04:00
MusicalProgrammer
66391f69c4 Various user input functions added. 2018-05-31 19:13:08 -04:00
MusicalProgrammer
b40a2559f6 App class removed. It's no longer used. 2018-05-31 15:09:07 -04:00
MusicalProgrammer
741f4eaf14 Merge branch 'master' into MusicalProgrammer 2018-05-31 14:12:17 -04:00
andreja6
be7e532ead Merge pull request #19 from andreja6/dialogs
Literally did nothing even close to dialogs
2018-05-30 22:04:05 -07:00
MusicalProgrammer
72954be880 3D Viewport resizing added. (Resizes very smooth!) 2018-05-30 23:47:01 -04:00
MusicalProgrammer
a16953c8a0 Keyboard Controls changed to Win32 API. 2018-05-30 22:42:48 -04:00
MusicalProgrammer
b2c0fb58da Changed SDL Window to Win32Window. 2018-05-30 21:46:53 -04:00
MusicalProgrammer
828c0dcb41 Merge branch 'master' into MusicalProgrammer 2018-05-30 21:19:46 -04:00
MusicalProgrammer
cd0f1617cb Revert "Polishing panning"
This reverts commit 2bdef97edf.
2018-05-30 20:47:05 -04:00
andreja6
2607fc8551 Exit on alt+f4 rather than ESC 2018-05-03 12:13:14 -07:00
andreja6
1de2fb6811 Set controls to UHJK 2018-05-03 11:41:08 -07:00
andreja6
c84a2173c8 Removed repeat function 2018-05-03 11:09:45 -07:00
andreja6
c38ede1bd1 Added message functions to DataModel 2018-05-02 19:59:49 -07:00
andreja6
0f609662bb Literally nothing changed 2018-05-02 19:12:41 -07:00
andreja6
512655b448 Changed spacing 2018-05-02 17:10:29 -07:00
andreja6
4fea98467d Added versioning 2018-05-02 17:09:18 -07:00
andreja6
29dad6bd8d Cleaned up useless code and comments 2018-05-02 17:04:36 -07:00
andreja6
e04f53c071 Changed how buttons render 2018-05-02 16:47:14 -07:00
MusicalProgrammer
2bdef97edf Polishing panning 2018-04-30 12:02:52 -04:00
MusicalProgrammer
df5076e90f Pan left added. Whoops 2018-04-30 11:22:25 -04:00
MusicalProgrammer
78ece8c2a2 Panning done? 2018-04-30 11:04:05 -04:00
MusicalProgrammer
59510383e6 What I have thus far
Camera panning still needs work.
2018-04-29 23:47:40 -04:00
183 changed files with 21054 additions and 2797 deletions

7
.gitignore vendored
View File

@@ -36,8 +36,6 @@
*.user *.user
*.pdb *.pdb
*.idb *.idb
*.manifest
*.htm
*.res *.res
*.ilk *.ilk
*.dep *.dep
@@ -51,3 +49,8 @@ log.txt
G3DTest.suo G3DTest.suo
G3DTest.suo G3DTest.suo
stderr.txt stderr.txt
desktop.ini
*.db
#Redist
!Installer/Redist/*

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 Studio 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

937
Blocks3D.vcproj Normal file
View File

@@ -0,0 +1,937 @@
<?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\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>

View File

@@ -1,15 +0,0 @@
#include "ButtonListener.h"
ButtonListener::ButtonListener(void)
{
}
ButtonListener::~ButtonListener(void)
{
}
void ButtonListener::onButton1MouseClick(BaseButtonInstance* button)
{
}

View File

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

View File

@@ -1,27 +0,0 @@
#include "DataModelInstance.h"
WorkspaceInstance* workspace;
Instance* guiRoot;
DataModelInstance::DataModelInstance(void)
{
workspace = new WorkspaceInstance();
guiRoot = new Instance();
children.push_back(workspace);
className = "dataModel";
}
DataModelInstance::~DataModelInstance(void)
{
}
WorkspaceInstance* DataModelInstance::getWorkspace()
{
return workspace;
}
Instance* DataModelInstance::getGuiRoot()
{
return guiRoot;
}

View File

@@ -1,13 +0,0 @@
#pragma once
#include "instance.h"
#include "WorkspaceInstance.h"
class DataModelInstance :
public Instance
{
public:
DataModelInstance(void);
~DataModelInstance(void);
WorkspaceInstance* getWorkspace();
Instance* getGuiRoot();
};

Binary file not shown.

View File

@@ -1,149 +1,96 @@
// Microsoft Visual C++ generated resource script. // Generated by ResEdit 1.6.6
// Copyright (C) 2006-2015
// http://www.resedit.net
#include <windows.h>
#include <commctrl.h>
#include <richedit.h>
#include "src/include/resource.h"
#define APP_GENER 0
#define APP_MAJOR 0
#define APP_MINOR 106
#define APP_PATCH 2
#define APP_VER_STRING APP_GENER.APP_MAJOR.APP_MINOR.APP_PATCH
#define VER_PREFIX( N ) v##N
#define HSTR( N ) #N
#define STR( N ) HSTR( N )
#define VER_STR( N ) STR( VER_PREFIX( N ) )
// //
#include "resource.h" // Bitmap resources
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// //
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
3 TEXTINCLUDE
BEGIN
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
IDD_TOOLBOX DIALOGEX 0, 0, 398, 64
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD
FONT 8, "MS Shell Dlg", 0, 0, 0x0
BEGIN
CONTROL "",IDC_TOOLBOX_BROWSER,
"{A8F8E829-06DA-11D2-8D70-00A0C98B28E2}",WS_TABSTOP,0,0,398,64
END
/////////////////////////////////////////////////////////////////////////////
//
// Dialog Info
//
IDD_TOOLBOX DLGINIT
BEGIN
IDC_TOOLBOX_BROWSER, 0x376, 76, 0
0x0000, 0x0000, 0xb293, 0x0000, 0x0048, 0x0000, 0x0003, 0x0008, 0xf20b,
0x4757, 0x0020, 0x0000, 0x005f, 0x0065, 0x0078, 0x0074, 0x0065, 0x006e,
0x0074, 0x0078, 0x3db4, 0x0000, 0x0003, 0x0008, 0xf20a, 0x4757, 0xffe0,
0xffff, 0x005f, 0x0065, 0x0078, 0x0074, 0x0065, 0x006e, 0x0074, 0x0079,
0x0ac0, 0x0000,
0
END
#endif // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// English (Canada) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENC)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_CAN LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_CAN
#pragma code_page(1252) IDB_BITMAP1 BITMAP "Parts.bmp"
#endif //_WIN32
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
1 VERSIONINFO
FILEVERSION APP_GENER,APP_MAJOR,APP_MINOR,APP_PATCH
PRODUCTVERSION APP_GENER,APP_MAJOR,APP_MINOR,APP_PATCH
FILEOS VOS__WINDOWS32
FILETYPE VFT_APP
FILESUBTYPE VFT2_UNKNOWN
FILEFLAGSMASK 0
FILEFLAGS 0
{
BLOCK "StringFileInfo"
{
BLOCK "100901B5"
{
VALUE "Comments", ""
VALUE "CompanyName", "Blocks3D Team"
VALUE "FileDescription", "Blocks 3D"
VALUE "FileVersion", VER_STR(APP_VER_STRING)
VALUE "InternalName", "Blocks3D"
VALUE "LegalCopyright", "Blocks3D Team - 2022"
VALUE "LegalTrademarks", ""
VALUE "OriginalFilename", "Blocks3D.exe"
VALUE "PrivateBuild", ""
VALUE "ProductName", "Blocks3D"
VALUE "ProductVersion", VER_STR(APP_VER_STRING)
VALUE "SpecialBuild", ""
}
}
BLOCK "VarFileInfo"
{
VALUE "Translation", 0x1009, 0x01B5
}
}
/////////////////////////////////////////////////////////////////////////////
// //
// Dialog // Dialog resources
// //
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
IDD_ABOUT_DIALOG DIALOGEX 0, 0, 226, 151 IDD_DIALOG1 DIALOG 0, 0, 295, 43
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_SETFOREGROUND | DS_SHELLFONT | WS_CAPTION | WS_VISIBLE | WS_POPUP | WS_SYSMENU
CAPTION "About" EXSTYLE WS_EX_WINDOWEDGE
FONT 8, "MS Shell Dlg", 400, 0, 0x1 CAPTION "Insert Object"
BEGIN FONT 8, "Ms Shell Dlg"
DEFPUSHBUTTON "OK",IDOK,169,130,50,14 {
PUSHBUTTON "Cancel",IDCANCEL,112,130,50,14 EDITTEXT IDC_EDIT1, 35, 6, 195, 14, ES_AUTOHSCROLL, WS_EX_LEFT
END 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
}
/////////////////////////////////////////////////////////////////////////////
// //
// DESIGNINFO // Icon resources
// //
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_CAN
#ifdef APSTUDIO_INVOKED IDI_ICON1 ICON "FatB3dIcon.ico"
GUIDELINES DESIGNINFO
BEGIN
IDD_ABOUT_DIALOG, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 219
TOPMARGIN, 7
BOTTOMMARGIN, 144
END
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
// //
// Icon // Manifest resources
// //
#ifndef _DEBUG
// Icon with lowest ID value placed first to ensure application icon LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
// remains consistent on all systems. 1 MANIFEST ".\\Blocks3D.exe.manifest"
IDI_ICON1 ICON "icon1.ico" #endif
#endif // English (Canada) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED

13
Documentation/index.html Normal file
View File

@@ -0,0 +1,13 @@
<html>
<head>
<title> RBX05R Documentation </title>
<meta charset="utf-8">
</head>
<body>
<div class="content" style="text-align:center;">
<h1> ROBLOX 2005 Recreation documentation </h1>
<br>
<h4> Current for: r360 </h4>
</div>
</body>
</html>

BIN
FatB3dIcon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

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,363 +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"
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"
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="2"
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"
OutputFile="./G3DTest-Debug.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
GenerateDebugInformation="true"
ProgramDatabaseFile=".\Debug/G3DTest.pdb"
SubSystem="2"
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=".\AudioPlayer.cpp"
>
</File>
<File
RelativePath=".\ButtonListener.cpp"
>
</File>
<File
RelativePath=".\Dialogs.rc"
>
</File>
<File
RelativePath="main.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
<Filter
Name="Instances"
>
<File
RelativePath=".\BaseButtonInstance.cpp"
>
</File>
<File
RelativePath=".\DataModelInstance.cpp"
>
</File>
<File
RelativePath=".\ImageButtonInstance.cpp"
>
</File>
<File
RelativePath=".\Instance.cpp"
>
</File>
<File
RelativePath=".\PhysicalInstance.cpp"
>
</File>
<File
RelativePath=".\TextButtonInstance.cpp"
>
</File>
<File
RelativePath=".\WorkspaceInstance.cpp"
>
</File>
</Filter>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl"
>
<File
RelativePath=".\AudioPlayer.h"
>
</File>
<File
RelativePath=".\ButtonListener.h"
>
</File>
<File
RelativePath=".\resource.h"
>
</File>
<Filter
Name="Instances"
>
<File
RelativePath=".\BaseButtonInstance.h"
>
</File>
<File
RelativePath=".\DataModelInstance.h"
>
</File>
<File
RelativePath=".\ImageButtonInstance.h"
>
</File>
<File
RelativePath=".\Instance.h"
>
</File>
<File
RelativePath=".\PhysicalInstance.h"
>
</File>
<File
RelativePath=".\TextButtonInstance.h"
>
</File>
<File
RelativePath=".\WorkspaceInstance.h"
>
</File>
</Filter>
</Filter>
<Filter
Name="Resource Files"
Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
>
<File
RelativePath=".\icon1.ico"
>
</File>
</Filter>
</Files>
<Globals>
<Global
Name="RESOURCE_FILE"
Value="Dialogs.rc"
/>
</Globals>
</VisualStudioProject>

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

View File

@@ -1,23 +0,0 @@
#include <G3DAll.h>
#pragma once
class Instance
{
public:
Instance(void);
virtual ~Instance(void);
std::string name;
virtual void render(RenderDevice*);
std::vector<Instance*> children; // All children.
std::string getClassName();
Instance* findFirstChild(std::string);
std::vector<Instance* > getChildren();
std::vector<Instance* > getAllChildren();
void setParent(Instance*);
void addChild(Instance*);
void removeChild(Instance*);
Instance* getParent();
protected:
std::string className;
Instance* parent; // Another pointer.
};

339
LICENSE Normal file
View File

@@ -0,0 +1,339 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

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.

BIN
Parts.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -1,115 +0,0 @@
#include "PhysicalInstance.h"
bool canCollide = true;
bool anchored = false;
Vector3 size;
Vector3 position;
Vector3 velocity;
Vector3 rotVelocity;
CoordinateFrame cFrame;
Color3 color;
bool changed = true;
Box itemBox = Box();
PhysicalInstance::PhysicalInstance(void)
{
name = "Default PhysicalInstance";
className = "Part";
canCollide = true;
anchored = true;
size = Vector3(2,1,4);
position = Vector3(0,0,0);
cFrame = CoordinateFrame(position);
color = Color3::gray();
velocity = Vector3(0,0,0);
rotVelocity = Vector3(0,0,0);
}
void PhysicalInstance::setSize(Vector3 newSize)
{
int minsize = 1;
int maxsize = 512;
changed = true;
int sizex = (int)newSize.x;
if(sizex <= 0)
sizex = 1;
if(sizex > 512)
sizex = 512;
int sizey = (int)newSize.y;
if(sizey <= 0)
sizey = 1;
if(sizey > 512)
sizey = 512;
int sizez = (int)newSize.z;
if(sizez <= 0)
sizez = 1;
if(sizez > 512)
sizez = 512;
size = Vector3(sizex, sizey, sizez);
}
Vector3 PhysicalInstance::getSize()
{
return size;
}
Vector3 PhysicalInstance::getPosition()
{
return position;
}
void PhysicalInstance::setPosition(Vector3 pos)
{
position = pos;
cFrame = CoordinateFrame(pos);
changed = true;
}
CoordinateFrame PhysicalInstance::getCFrame()
{
return cFrame;
}
void PhysicalInstance::setCFrame(CoordinateFrame coordinateFrame)
{
cFrame = coordinateFrame;
position = coordinateFrame.translation;
changed = true;
}
CoordinateFrame PhysicalInstance::getCFrameRenderBased()
{
return CoordinateFrame(getCFrame().rotation,Vector3(getCFrame().translation.x/2, getCFrame().translation.y/2, getCFrame().translation.z/2));
}
Box PhysicalInstance::getBox()
{
if(changed)
{
Box box = Box(Vector3(0+size.x/4, 0+size.y/4, 0+size.z/4) ,Vector3(0-size.x/4,0-size.y/4,0-size.z/4));
CoordinateFrame c = getCFrameRenderBased();
itemBox = c.toWorldSpace(box);
}
return itemBox;
}
void PhysicalInstance::render(RenderDevice* rd)
{
Draw::box(getBox(), rd, color, Color4::clear());
if(!children.empty())
{
for(size_t i = 0; i < children.size(); i++)
{
children.at(i)->render(rd);
}
}
}
PhysicalInstance::~PhysicalInstance(void)
{
}

View File

@@ -1,26 +0,0 @@
#pragma once
#include "instance.h"
class PhysicalInstance :
public Instance
{
public:
PhysicalInstance(void);
~PhysicalInstance(void);
virtual void render(RenderDevice*);
Vector3 velocity;
Vector3 rotvelocity;
CoordinateFrame cFrame;
Color3 color;
Vector3 getPosition();
void setPosition(Vector3);
CoordinateFrame getCFrame();
void setCFrame(CoordinateFrame);
Box getBox();
CoordinateFrame getCFrameRenderBased();
Vector3 getSize();
void setSize(Vector3);
private:
Vector3 position;
Vector3 size;
};

View File

@@ -1,14 +1,10 @@
# G3D-Fun # ROBLOX 2005 Recreation Project
## Why are we doing this?
ROBLOX in 2005 was a different game, based around minigames with win and lose conditions rather than a 3D building game. Since this build of the client is presumed lost despite having around 100 users, we have to recreate it. We are using era-appropriate tools for this as well (Visual Studio 2005 and 2005-era compilers), as well as G3D 6.10, the era-appropriate version of the Graphics3D graphics library used by ROBLOX to this day.
Despite its name, this is actually a recreation of ROBLOX as it was in 2005. Early development. Uses roughly time-accurate development tools. ## Features
Equivalent to known features of 05 as it stood in October 2005 with the 'Morgan McGuire builds'
# COMPILE WITH ## Credits
- Morgan McGuire, creator of G3D - his old pre-2006 website for the only existing colour pictures of 2005 era roblox on the internet, as well as a couple of helpful emails. He assisted roblox development in the 2004-2006 timeframe.
Graphics3D 6.10 (Released July 21, 2006) - David Baszucki and Erik Cassel (1967-2013, RIP) - for creating roblox
SDL 1.2.7 (1.2.9 could work as well)
Visual Studio 2005 Professional or Visual Studio 2005 Express with Platform SDK
# NOTE
Please know that there currently is no documentation and minimal commenting. As such, it may be confusing to follow the code.
Code for this project is written quickly at random intervals, where each individual thinks of a solution to a problem and adds it.

BIN
SDL.dll

Binary file not shown.

View File

@@ -1,12 +0,0 @@
#pragma once
#include "instance.h"
class WorkspaceInstance :
public Instance
{
public:
float timer;
int score;
WorkspaceInstance(void);
~WorkspaceInstance(void);
};

View File

@@ -1,75 +0,0 @@
# Building Setup
##### G3D is super delicate, meaning that you have to go about building in a special way
#### Skip to steps 7-13 if you have already built this program
1. Install Visual Studio 2005. Google where to find it. Make note of which version you downloaded.
2. Download and install G3D from [this link here](https://sourceforge.net/projects/g3d/files/g3d-cpp/6.10/g3d-6_10_win32.exe/download).
3. Make sure G3D is included under your build directories by going under Tools -> Options -> Projects and Solutions -> VC++ Directories and check and see if:
* `g3d-6_10\bin` is under executable files
* `g3d-6_10\include` is under include files
* `g3d-6_10\bin` is under executable files
* `g3d-6_10\win32-vc8-lib` is under library files
* Ex: `C:\libraries\g3d-6_10\bin`
4. Download SDL version 1.2.7 from [this link](http://www.libsdl.org/release/SDL-devel-1.2.7-VC6.zip)
5. Extract the file to a folder on your computer. Keep note of this folder.
6. Include the extracted files by going to Tools -> Options -> Projects and Solutions -> VC++ Directories and adding the following links:
* Include files - extractpath\`include`
* Library files - extractpath\`lib`
* Ex: `C:\libraries\SDL-1.2.7\bin`
#### Steps 7-11 are optional if you are using Visual Studio Professional. Check the Error stuff section if it doesn't work, most reference steps from here.
7. Download and install the [platform SDK](https://www.microsoft.com/en-us/download/details.aspx?id=6510).
8. Put the platform SDK into your directories (Tools -> Options -> Projects and Solutions -> VC++ Directories) by replacing all mentions of $(VCInstallDir)PlatformSDK with the actual path.
Ex: `$(VCInstallDir)PlatformSDK\include` -> `C:\Program Files\Microsoft Platform SDK\Include`
9. Right click Source files -> Dialogs.rc -> View Code
10. Edit line 10 to say
```cpp
#include "WinResrc.h"
#define IDC_STATIC -1
```
instead of
```cpp
#include "afxres.h"
```
11. Right click the project -> Properties -> Configuration Properties -> Linker -> Input, and add `AdvAPI32.lib` under Additional Dependencies.
### Continue back here if you're skipping steps 7-11
12. Right click the project -> Properties -> Configuration Properties -> Linker -> General, and make sure Additional Library Directories is blank.
13. Try building using Build -> Build G3DTest.
## Error stuff
```c:\libraries\g3d-6_10\include\G3D/platform.h(235) : fatal error C1083: Cannot open include file: 'windows.h': No such file or directory``` > Download and install platform SDK (lines 7-8)
```G3D-debug.lib(RegistryUtil.obj) : error LNK2019: unresolved external symbol __imp__RegCloseKey@4 referenced in function "public: static bool __cdecl G3D::RegistryUtil::keyExists(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?keyExists@RegistryUtil@G3D@@SA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)``` > Add AdvAPI32.lib under Additional Dependencies (step 11)
```.\Dialogs.rc(10) : fatal error RC1015: cannot open include file 'afxres.h'.``` > Perform steps 9-10
Enjoy!
please report unfriendliness of this page

Binary file not shown.

BIN
content/font/arial.fnt Normal file

Binary file not shown.

Binary file not shown.

BIN
content/font/arialblack.fnt Normal file

Binary file not shown.

BIN
content/font/arialround.fnt Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 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

BIN
content/images/surface.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 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="alert(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

1812
main.cpp

File diff suppressed because it is too large Load Diff

BIN
ode-0.5.7z Normal file

Binary file not shown.

View File

@@ -1,19 +0,0 @@
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by Dialogs.rc
//
#define IDD_ABOUT_DIALOG 102
#define IDD_TOOLBOX 103
#define IDI_ICON1 106
#define IDC_TOOLBOX_BROWSER 1001
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 107
#define _APS_NEXT_COMMAND_VALUE 40004
#define _APS_NEXT_CONTROL_VALUE 1002
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif

BIN
roblox_RN1_icon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

92
src/include/Application.h Normal file
View File

@@ -0,0 +1,92 @@
#pragma once
#include <G3DAll.h>
#include "PropertyWindow.h"
#include "DataModelV2/TextButtonInstance.h"
#include "DataModelV2/ImageButtonInstance.h"
#include "CameraController.h"
#include "IEBrowser.h"
#include "Mouse.h"
#include "Tool/Tool.h"
//#include "GuiRoot.h"
class TextButtonInstance;
class ImageButtonInstance;
class PartInstance;
class CameraController;
class Application { // : public GApp {
public:
Application(HWND parentWindow);
void Boop();
virtual ~Application() {}
virtual void exitApplication();
virtual void onInit();
virtual void onLogic();
virtual void onNetwork();
virtual void onSimulation(RealTime rdt, SimTime sdt, SimTime idt);
virtual void onGraphics(RenderDevice* rd);
virtual void onUserInput(UserInput* ui);
virtual void onCleanup();
void clearInstances();
void navigateToolbox(std::string);
PartInstance* makePart();
void drawButtons(RenderDevice* rd);
void drawOutline(Vector3 from, Vector3 to, RenderDevice* rd, LightingParameters lighting, Vector3 size, Vector3 pos, CoordinateFrame c);
void deleteInstance();
void run();
void QuitApp();
void resizeWithParent(HWND parentWindow);
void onCreate(HWND parentWindow);
void onKeyPressed(int key);
void onKeyUp(int key);
void onMouseLeftPressed(HWND hwnd,int x, int y);
void onMouseLeftUp(RenderDevice* renderDevice, int x, int y);
void onMouseRightPressed(int x, int y);
void onMouseRightUp(int x, int y);
void onMouseMoved(int x, int y);
void onMouseWheel(int x, int y, short delta);
void setFocus(bool isFocused);
int getMode();
void unSetMode();
CameraController cameraController;
UserInput* userInput;
PropertyWindow* _propWindow;
void generateShadowMap(const CoordinateFrame& lightViewMatrix) const;
RenderDevice* getRenderDevice();
void selectInstance(Instance* selectedInstance,PropertyWindow* propWindow);
void setMode(int mode);
Tool * tool;
void changeTool(Tool *);
Mouse mouse;
bool viewportHasFocus();
private:
bool mouseMoveState;
RenderDevice* renderDevice;
//void initGUI();
HWND _hWndMain;
SkyRef sky;
bool quit;
bool mouseOnScreen;
bool rightButtonHolding;
void main();
GWindow* _window;
HWND _hwndToolbox;
HWND _buttonTest;
HWND _hwndRenderer;
DataModelInstance* _dataModel;
G3D::TextureRef shadowMap;
std::string _title;
bool _dragging;
int _mode;
GAppSettings _settings;
double lightProjX, lightProjY, lightProjNear, lightProjFar;
IEBrowser* webBrowser;
protected:
Stopwatch m_graphicsWatch;
Stopwatch m_logicWatch;
Stopwatch m_networkWatch;
Stopwatch m_userInputWatch;
Stopwatch m_simulationWatch;
Stopwatch m_waitWatch;
};

View File

@@ -0,0 +1,8 @@
#pragma once
#include <Mshtmhst.h>
class BrowserCallHandler : IDocHostUIHandler
{
public:
BrowserCallHandler(void);
~BrowserCallHandler(void);
};

View File

@@ -0,0 +1,48 @@
#pragma once
#include <G3DAll.h>
#include "DataModelV2/Instance.h"
#include "Globals.h"
#include <string>
#define CAM_ZOOM_MIN 0.1f
#define CAM_ZOOM_MAX 100.f
class Application;
class CameraController {
public:
CameraController();
G3D::CoordinateFrame getCoordinateFrame();
void setFrame(const CoordinateFrame& cf);
void lookAt(const Vector3& position);
void refreshZoom(const CoordinateFrame& frame);
void pan(CoordinateFrame* frame,float spdX,float spdY);
void panLock(CoordinateFrame* frame,float spdX,float spdY);
void update(Application* app);
void centerCamera(Instance* selection);
void panLeft();
void panRight();
void tiltUp();
void tiltDown();
void zoomExtents();
void Zoom(short delta);
bool onMouseWheel(int x, int y, short delta);
GCamera* getCamera();
private:
Vector3 translation;
Vector3 focusPosition;
float yaw;
float pitch;
float moveRate;
float zoom;
bool forwards;
bool backwards;
bool left;
bool right;
bool rightButtonHolding;
POINT oldDesktopMouse;
GCamera g3dCamera;
std::string cameraSound;
};

View File

@@ -1,21 +1,24 @@
#pragma once #pragma once
#include "instance.h" #include "Instance.h"
#pragma once #include "Listener/ButtonListener.h"
#include "ButtonListener.h"
class ButtonListener; class ButtonListener;
class Instance;
class BaseButtonInstance : public Instance class BaseButtonInstance : public Instance
{ {
public: public:
BaseButtonInstance(void); BaseButtonInstance(void);
virtual ~BaseButtonInstance(void); virtual ~BaseButtonInstance(void);
virtual void render(RenderDevice* rd);
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;
bool disabled; volatile bool disabled;
bool selected; bool selected;
protected: protected:
bool mouseInArea(float, float, float, float, float, float); bool mouseInArea(float, float, float, float, float, float);

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

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

View File

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

View File

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

View File

@@ -1,5 +1,8 @@
#pragma once #pragma once
#include "BaseButtonInstance.h" #include "BaseButtonInstance.h"
class BaseButtonInstance;
class ImageButtonInstance : public BaseButtonInstance class ImageButtonInstance : public BaseButtonInstance
{ {
public: public:

View File

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

View File

@@ -0,0 +1,16 @@
#pragma once
#include "instance.h"
class LevelInstance :
public Instance
{
public:
LevelInstance(void);
~LevelInstance(void);
float timer;
int score;
virtual std::vector<PROPGRIDITEM> getProperties();
std::string winMessage;
std::string loseMessage;
virtual void PropUpdate(LPPROPGRIDITEM &pItem);
};

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

@@ -0,0 +1,76 @@
#pragma once
#include "PVInstance.h"
#include "Enum.h"
#define _USE_MATH_DEFINES
#include <cmath>
class PartInstance : public PVInstance
{
public:
PartInstance(void);
PartInstance(const PartInstance &oinst);
~PartInstance(void);
Instance* clone() const { return new PartInstance(*this); }
//Rendering
virtual void PartInstance::postRender(RenderDevice* rd);
virtual void render(RenderDevice*);
//Surfaces
Enum::SurfaceType::Value top;
Enum::SurfaceType::Value front;
Enum::SurfaceType::Value right;
Enum::SurfaceType::Value back;
Enum::SurfaceType::Value left;
Enum::SurfaceType::Value bottom;
Enum::Shape::Value shape;
//Variables
Color3 color;
bool canCollide;
dBodyID physBody;
dGeomID physGeom[3];
//Getters
Vector3 getPosition();
Vector3 getVelocity();
Vector3 getRotVelocity();
Vector3 getSize();
Box getBox();
Sphere getSphere();
Box getScaledBox();
CoordinateFrame getCFrame();
//Setters
void setParent(Instance* parent);
void setPosition(Vector3);
void setVelocity(Vector3);
void setRotVelocity(Vector3);
void setCFrame(CoordinateFrame);
void setCFrameNoSync(CoordinateFrame);
void setSize(Vector3);
void setShape(Enum::Shape::Value shape);
void setChanged();
void setSurface(int face, Enum::SurfaceType::Value surface);
void setAnchored(bool anchored);
bool isAnchored();
float getMass();
//Collision
bool collides(PartInstance * part);
bool collides(Box);
//Properties
virtual std::vector<PROPGRIDITEM> getProperties();
virtual void PropUpdate(LPPROPGRIDITEM &pItem);
private:
bool anchored;
Vector3 position;
Vector3 size;
Vector3 velocity;
Vector3 rotVelocity;
bool changed;
Box itemBox;
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

@@ -21,6 +21,10 @@ public:
Color4 textOutlineColorDn; Color4 textOutlineColorDn;
Color4 boxColorDn; Color4 boxColorDn;
Color4 boxOutlineColorDn; Color4 boxOutlineColorDn;
Color4 textColorDis;
Color4 textOutlineColorDis;
Color4 boxColorDis;
Color4 boxOutlineColorDis;
bool centeredWithinBox; bool centeredWithinBox;
std::string title; std::string title;
G3D::GFontRef font; G3D::GFontRef font;

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

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

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
};
}
}

View File

@@ -0,0 +1,6 @@
#pragma once
#include <string>
void OnError(int err, std::string msg = "");
void MessageBoxStr(std::string msg);
void MessageBoxStream(std::stringstream msg);

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

41
src/include/Globals.h Normal file
View File

@@ -0,0 +1,41 @@
#pragma once
#include "DataModelV2/DataModelInstance.h"
#include "XplicitNgine/XplicitNgine.h"
class Application;
class Globals
{
public:
Globals(void);
~Globals(void);
static DataModelInstance* dataModel;
//static bool showMouse;
static POINT mousepoint;
static bool useMousePoint;
static const int gen;
static const int major;
static const int minor;
static const int patch;
static G3D::TextureRef surface;
static int surfaceId;
static const std::string g_appName;
static COLORREF g_acrCustClr[16]; //Will be dynamic later
static HWND mainHwnd;
};
extern std::vector<Instance*> postRenderStack;
extern bool running;
extern DataModelInstance* g_dataModel;
extern XplicitNgine* g_xplicitNgine;
extern Application* g_usableApp;
extern GFontRef g_fntdominant;
extern GFontRef g_fntlighttrek;
extern COLORREF g_acrCustClr[16]; //Will be dynamic later
extern std::string cameraSound;
extern std::string clickSound;
extern std::string dingSound;
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

@@ -0,0 +1,29 @@
#pragma once
#include "oaidl.h"
//DEFINE_GUID(CLSID_G3d, 0xB323F8E0L, 0x2E68, 0x11D0, 0x90, 0xEA, 0x00, 0xAA, 0x00, 0x60, 0xF8, 0x6F);
class IEDispatcher : public IDispatch
{
/*
EXTERN_C const IID IID_IDispatch;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("B323F8E0-2E68-11D0-90EA-00AA0060F86F")
IEDispatcher : public IDispatch
{
*/
public:
IEDispatcher(void);
~IEDispatcher(void);
HRESULT STDMETHODCALLTYPE IEDispatcher::QueryInterface(const IID &riid, void **ppvObject);
ULONG STDMETHODCALLTYPE IEDispatcher::AddRef();
ULONG STDMETHODCALLTYPE IEDispatcher::Release();
HRESULT STDMETHODCALLTYPE IEDispatcher::GetTypeInfoCount(UINT *pctinfo);
HRESULT STDMETHODCALLTYPE IEDispatcher::GetTypeInfo(UINT, LCID, ITypeInfo **);
HRESULT STDMETHODCALLTYPE IEDispatcher::GetIDsOfNames(const IID &, LPOLESTR *, UINT, LCID, DISPID *);
HRESULT STDMETHODCALLTYPE IEDispatcher::Invoke(DISPID, const IID &, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT *);
};
//#endif

View File

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

View File

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

View File

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

View File

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

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