Commit Graph

252 Commits

Author SHA1 Message Date
parax0 2bcf29dd7f Correctly handle link modifications, run OnLoadFinished when creating new nodes 2016-03-16 19:36:38 -06:00
parax0 c4e05610f3 Fully implemented delete, added an easy-to-use ID lookup system for undo commands, fixed a bunch of crashes when undoing/redoing after creating/deleting an object 2016-03-16 19:09:59 -06:00
parax0 f02f7ada0f Moved selection handling code to CNodeSelection, implemented instance spawning, half-implemented instance deleting (this build is buggy/crash prone) 2016-03-13 22:30:04 -06:00
parax0 c6a4190042 Fixed edit link line not rendering correctly in rooms without a skybox 2016-03-07 21:23:58 -07:00
parax0 57b7fbe7f6 Split check for picking into a separate line 2016-03-07 21:14:43 -07:00
parax0 4b8a42f341 Draw the edit link line when picking from the modify tab 2016-03-07 21:13:44 -07:00
parax0 95d4deeab6 Draw a line in the viewport to visualize the link the user is editing 2016-03-07 17:34:48 -07:00
parax0 0eae2162b9 Added Edit button icon 2016-03-07 15:22:11 -07:00
parax0 0b5c7c8e90 Implemented World Editor Link/Unlink actions 2016-03-07 14:44:09 -07:00
parax0 93d6e8dd14 Added context menu for picking the connecting object when creating a link 2016-03-07 10:25:53 -07:00
parax0 f4484556c0 Disable ok button in the link dialog when there's no sender/receiver; fix toggling Active not changing game mode visibility 2016-03-07 07:41:45 -07:00
parax0 c3ae63718b Turn off pick mode when the link dialog is closed 2016-03-06 18:05:40 -07:00
parax0 8f82dcbdd9 Implemented functionality for editing, creating, and deleting script object links 2016-03-06 17:44:51 -07:00
parax0 984d9cf3f3 Added "add/edit link" dialog to the modify tab 2016-03-01 11:18:07 -07:00
parax0 2860c27d15 Made collision wireframe render with glPolygonMode 2016-03-01 04:05:40 -07:00
parax0 6ac7c1cbd2 Fixed undo/redo when selecting objects from the instance view, set DKCR to render basic lighting for objects with no ingame model 2016-02-27 02:51:11 -07:00
parax0 ecab7be63f Set up DKCR waypoints to draw using the color of their attached spline path 2016-02-27 02:16:29 -07:00
parax0 17bb4567df Renamed should_cook to cook_pref 2016-02-26 05:45:21 -07:00
parax0 146c88d016 Removed some lines that weren't deleted in an earlier commit for some reason, fixed some objects being selectable in game mode despite not being visible, fixed a few property templates 2016-02-26 05:38:26 -07:00
parax0 e8f48ef66a Bugfixes + removing warning for invalid property count in MP2/3 areas 2016-02-26 04:58:58 -07:00
parax0 baeb898f22 Made IPropertyTemplate::CookPreference non-virtual and replaced it with IProperty::ShouldCook 2016-02-24 07:18:29 -07:00
parax0 a166dd8ac3 Fixed incorrect LayerSwitch/LayerID templates, made IPropertyTemplate::CookPreference() virtual and overrode it for certain types, fixed a CAnimationParameters bug 2016-02-24 04:01:03 -07:00
parax0 9f2c4d75bf Added area cooking support for MP2 and MP3. DKCR support has been started but is currently broken. 2016-02-22 11:47:47 -07:00
parax0 200918671b Implemented grid toggle in the model editor 2016-02-20 04:48:17 -07:00
parax0 5fbdfc8298 Added/updated some icons and made some UI changes - added/changed some UI actions and removed some UI elements that aren't being used 2016-02-20 04:41:07 -07:00
parax0 8c722c8308 Quick fix to keep the "white ambient" flag from being enabled in MP1/2 2016-02-19 18:47:21 -07:00
parax0 1727a337c6 Added support for "white ambient" flag in DKCR to fix black world geometry 2016-02-17 03:43:15 -07:00
parax0 63bdc1def7 Set DKCR game mode to check for InternalState5/6 + fixed an infinite recursion issue 2016-02-17 02:40:17 -07:00
parax0 c36c09a674 Improved DKCR game mode + a few other assorted fixes 2016-02-17 01:55:19 -07:00
parax0 9eaf537611 Added application icon 2016-02-16 19:41:54 -07:00
parax0 dfd9ea92db Overhauled CompressionUtil 2016-02-15 06:20:34 -07:00
parax0 a35044ef83 Moved Log to Common and made some changes to log formatting 2016-02-15 05:28:20 -07:00
parax0 d39a9dd1c1 Added "support" for MayaSpline properties 2016-02-15 02:06:44 -07:00
parax0 c1e3808196 Added dialog for editing property templates 2016-02-14 21:36:24 -07:00
parax0 34eb7c436e Finished the template writer and regenerated templates (most of the template changes are just automated formatting changes) 2016-02-14 01:03:17 -07:00
parax0 3296948bea Fixes to avoid needless re-buffering in PostLoad + fix for a crash/memory leak when changing areas 2016-02-10 18:49:56 -07:00
parax0 7bd97f0fce Make enum properties track the enumerator ID internally instead of the index + CUniqueID bugfix 2016-02-10 18:48:34 -07:00
parax0 739e3c51bf Added PostLoad methods to ensure all models have created vertex buffers and all materials have generated shaders before the user gains control of the camera, to fix hitching issues 2016-02-10 17:38:32 -07:00
parax0 6d55444cc2 Added a label to WEditorProperties to present some basic information on the selected instance 2016-02-10 17:35:36 -07:00
parax0 e13868921c Added a bunch of new functionality to the property classes, set up property view to bold property names if the property has been modified from its default value 2016-02-10 04:55:05 -07:00
parax0 d9b5895074 Merged all the Properties.xmls together to eliminate the need to sync property name changes between games 2016-02-08 04:35:04 -07:00
parax0 55b2c053ab Added support for numerical property suffixes 2016-02-08 03:35:28 -07:00
parax0 37110f4e54 Clear error log before loading an area 2016-02-08 00:51:09 -07:00
parax0 a46cd5446f Added Editor Properties widget at the top of every World Editor tab, made tons of backend changes to get it to work properly 2016-02-07 23:48:43 -07:00
parax0 8e1b66fa5a Unsaved changes bugfix, added close event for start window 2016-02-01 22:15:28 -07:00
parax0 0fe0c667a1 Check for unsaved changes before changing area/world 2016-02-01 18:30:09 -07:00
parax0 1a07a9c083 Added TPropCast property casting function, added support for clean/dirty state in the world editor + check for unsaved changes when the window is closed 2016-02-01 16:42:12 -07:00
parax0 6669dd4367 Added check for the World Lighting Options property in LightParameters when lighting script nodes 2016-01-31 23:53:35 -07:00
parax0 e430cbfb73 Implemented area cooker, added the ability to resave Prime 1 MREAs from the World Editor 2016-01-31 19:29:10 -07:00
parax0 7a28db3d40 Open property editor on single click, fix for sub-value edits 2016-01-31 14:48:29 -07:00
parax0 f6f36f4f2e Support for undo/redo on array resize 2016-01-31 14:25:16 -07:00
parax0 cc054cf571 Support for undoing property changes + tons of tweaks and fixes 2016-01-31 01:11:32 -07:00
parax0 c7d448225c Update the rest of the UI on property changes and update properties on node transform 2016-01-30 18:54:00 -07:00
parax0 2e6024b413 Notify script nodes when their properties are modified 2016-01-30 11:21:29 -07:00
parax0 b4c8226e15 Pass through LURD and LRLD material passes with no effect 2016-01-30 00:17:19 -07:00
parax0 61769fefe2 Added Qt error message redirect to PWE's log 2016-01-29 21:43:22 -07:00
parax0 c91c275af7 Template updates + small fixes 2016-01-25 23:12:22 -07:00
parax0 75091f718c Added rotation arrow for when billboards are selected 2016-01-25 22:26:38 -07:00
parax0 9a24a34bc6 Added interface for editing array properties in the property view 2016-01-25 16:57:04 -07:00
parax0 3b41415581 Added the ability to extract paks by invoking PakTool + added PakTool to the repo (temporarily) 2016-01-24 00:50:03 -07:00
parax0 cae8caaabb Implemented sorting and context menus on the instance views 2016-01-23 04:00:26 -07:00
parax0 38942988d5 Implemented new property editor, CPropertyView 2016-01-22 13:53:57 -07:00
parax0 26485b1151 Changed double-click behavior in the POI list dialog, readded and fixed error message for incorrect struct property count in SCLY 2016-01-18 16:10:26 -07:00
parax0 8611e692a9 Added the ability to add/remove POIs to the EGMC editor 2016-01-16 23:27:08 -07:00
parax0 f25042125f Added Unmap All button to the EGMC editor dialog 2016-01-16 13:51:38 -07:00
parax0 af94b54acf Fixed lighting mode in EGMC editor, disabled EGMC editor outside MP2/3, fixed a crash in the anim params editor 2016-01-16 13:32:40 -07:00
parax0 440c3ad484 Feature additions and improvements for pick mode and the POI -> World editor 2016-01-16 12:57:20 -07:00
parax0 5c3a37ca4a Added support for editing and resaving EGMC files + improved its preview rendering 2016-01-16 01:13:27 -07:00
parax0 c0b74c9883 Added support for EGMC and a basic EGMC visualizer dialog 2016-01-15 16:36:58 -07:00
parax0 b71e1268fa Added experimental code for re-splitting world meshes in MP2/3/DKCR 2016-01-14 21:15:06 -07:00
parax0 29bf0234ec Loading SCLY file properties into a new class CResourceInfo instead of loading it as a CResource 2016-01-10 08:57:21 -07:00
parax0 b768473b44 Added lightmap multiplier to allow applying basic lighting on world geometry 2016-01-10 06:17:12 -07:00
parax0 444382c1a9 Added more actions to CSceneViewport context menu 2016-01-09 16:52:01 -07:00
parax0 6aa5150787 Implemented Unhide All 2016-01-09 10:24:39 -07:00
parax0 38d04bcd25 Added CSceneIterator and implemented support for Select All/Invert Selection 2016-01-09 09:39:43 -07:00
parax0 7eeb90b925 Minor game mode fixes 2016-01-06 06:44:17 -07:00
parax0 c7d8e47d73 Render with full white ambient color on static nodes outside world lighting mode. 2016-01-06 03:47:54 -07:00
parax0 a2bb48f53f Committing a couple things that should've been in the last commit 2016-01-06 03:47:18 -07:00
parax0 d66b3dee8e Reorganized CScene; better organization, less redundant code, responsibility for show/hide shifted to other classes, and in position to implement CSceneIterator 2016-01-06 03:42:07 -07:00
parax0 3fa109d5b8 Renamed CSceneManager to CScene 2016-01-06 03:19:06 -07:00
parax0 5375f34c19 Implemented TFlags for easy, type-safe bitflags 2016-01-05 11:50:10 -07:00
parax0 ee5d5fae0a Added viewport context menus 2016-01-05 07:54:16 -07:00
parax0 aa5453b84a Added log error dialog 2016-01-05 03:20:47 -07:00
parax0 70d8981037 Added support for property descriptions 2016-01-05 01:41:22 -07:00
parax0 8cf9968134 SCAN support for Echoes demo, lights/CHAR support/instance view bugfix for the Corruption proto 2016-01-02 13:39:29 -07:00
parax0 37fd93d10e Added new batch of script object icons + some fixes 2016-01-02 11:03:33 -07:00
parax0 78400b7072 Updated to Script Template V4 2016-01-02 10:24:40 -07:00
parax0 1c80970a04 Minor fixes on TString and CTextInStream 2015-12-31 04:56:58 -07:00
parax0 efb21f629a Fixed bugged color pickers caused by incorrect conversion from CColor to QColor 2015-12-26 00:42:34 -07:00
parax0 72f87665d4 Allow coplanar ray intersections (fixes an issue with the ray hit node not matching what's visibly on top in the viewport) 2015-12-16 19:43:21 -07:00
parax0 2faf44821b Fix for preview scale on billboards, prevent CDoorExtra from drawing its wireframe in game mode, change default World Editor tab to Modify 2015-12-16 18:20:26 -07:00
parax0 b4ac78fd62 Light radius calculation fix (was broken by CColor changes) 2015-12-16 17:47:50 -07:00
parax0 6e3deb836c Getting rid of CylinderLarge, replacing with preview volume scaling support 2015-12-16 17:44:21 -07:00
parax0 2a38fb5b09 Added CRadiusSphereExtra for RadialDamage and Repulsor objects 2015-12-16 16:10:36 -07:00
parax0 4eaf4d9440 Renaming things in FileIO to match PWE's naming conventions 2015-12-16 15:21:21 -07:00
parax0 2db8d23516 Splitting Math into a separate subproject and adding FileIO as a PWE subproject 2015-12-16 14:39:51 -07:00
parax0 610c1c11a5 Fixing some CColor bugs and fixing icon paths 2015-12-16 12:17:03 -07:00
parax0 6b8966f0b9 Making CColor use floats instead of u8s 2015-12-16 03:28:40 -07:00
parax0 f11a8b938b Fixing pro files to properly rebuild projects when their dependencies are rebuilt (needs to be done for Mac/Linux as well at some point) 2015-12-16 03:27:27 -07:00
parax0 0de2bf5bac Going back to dynamic_cast on TResPtr 2015-12-16 01:03:02 -07:00
parax0 824d23efc1 Mass refactoring part 2/2: fixing include paths and project files 2015-12-14 19:07:22 -07:00
parax0 8805baaee1 Mass refactoring part 1/2: establishing multiple subprojects, moving source files to their new location, adding resources/templates to version control 2015-12-14 18:33:16 -07:00