Changesets: DarkRadiant

renderer2 e14ad68c

2021-11-27 09:10:18

greebo

Details Diff
Merge branch 'renderer' into renderer2, based on latest master

# Conflicts:
# radiantcore/brush/Face.cpp
# radiantcore/brush/Face.h
# radiantcore/entity/doom3group/Doom3Group.cpp
# radiantcore/entity/doom3group/Doom3Group.h
# radiantcore/entity/doom3group/Doom3GroupNode.cpp
# radiantcore/patch/Patch.h
# test/Entity.cpp
mod - include/imanipulator.h Diff File
mod - include/imousetool.h Diff File
mod - include/irender.h Diff File
mod - include/irenderable.h Diff File
add - include/isurfacerenderer.h Diff File
add - include/iwindingrenderer.h Diff File
mod - libs/debugging/ScopedDebugTimer.h Diff File
mod - libs/render.h Diff File
mod - libs/render/CamRenderer.h Diff File
add - libs/render/CompactWindingVertexBuffer.h Diff File
mod - libs/render/IndexedVertexBuffer.h Diff File
mod - libs/render/RenderableCollectionWalker.h Diff File
add - libs/render/RenderableCollectorBase.h Diff File
mod - libs/render/RenderablePivot.h Diff File
mod - libs/render/RenderableSpacePartition.h Diff File
mod - libs/render/SceneRenderWalker.h Diff File
add - libs/render/WindingRenderer.h Diff File
mod - libs/scene/BasicRootNode.h Diff File
mod - libs/scene/Node.cpp Diff File
mod - libs/scene/Node.h Diff File
mod - libs/scene/merge/MergeActionNode.cpp Diff File
mod - libs/scene/merge/MergeActionNode.h Diff File
mod - libs/wxutil/preview/RenderPreview.cpp Diff File
mod - radiant/CMakeLists.txt Diff File
mod - radiant/camera/CamWnd.cpp Diff File
mod - radiant/camera/CamWnd.h Diff File
mod - radiant/ui/aas/RenderableAasFile.cpp Diff File
mod - radiant/ui/aas/RenderableAasFile.h Diff File
rm - radiant/ui/common/RenderableAABB.cpp Diff File
rm - radiant/ui/common/RenderableAABB.h Diff File
mod - radiant/xyview/GlobalXYWnd.cpp Diff File
mod - radiant/xyview/GlobalXYWnd.h Diff File
mod - radiant/xyview/XYRenderer.h Diff File
mod - radiant/xyview/tools/MeasurementTool.cpp Diff File
mod - radiant/xyview/tools/MeasurementTool.h Diff File
mod - radiantcore/brush/Brush.cpp Diff File
mod - radiantcore/brush/Brush.h Diff File
mod - radiantcore/brush/BrushClipPlane.h Diff File
mod - radiantcore/brush/BrushNode.cpp Diff File
mod - radiantcore/brush/BrushNode.h Diff File
mod - radiantcore/brush/Face.cpp Diff File
mod - radiantcore/brush/Face.h Diff File
mod - radiantcore/brush/FaceInstance.cpp Diff File
mod - radiantcore/brush/FaceInstance.h Diff File
add - radiantcore/brush/RenderableWinding.h Diff File
mod - radiantcore/brush/RenderableWireFrame.h Diff File
mod - radiantcore/brush/Winding.cpp Diff File
mod - radiantcore/brush/Winding.h Diff File
mod - radiantcore/entity/EntityNode.cpp Diff File
mod - radiantcore/entity/EntityNode.h Diff File
mod - radiantcore/entity/VertexInstance.h Diff File
mod - radiantcore/entity/curve/Curve.cpp Diff File
mod - radiantcore/entity/curve/Curve.h Diff File
mod - radiantcore/entity/curve/CurveEditInstance.cpp Diff File
mod - radiantcore/entity/curve/CurveEditInstance.h Diff File
mod - radiantcore/entity/doom3group/Doom3GroupNode.cpp Diff File
mod - radiantcore/entity/doom3group/Doom3GroupNode.h Diff File
mod - radiantcore/entity/eclassmodel/EclassModelNode.cpp Diff File
mod - radiantcore/entity/eclassmodel/EclassModelNode.h Diff File
mod - radiantcore/entity/generic/GenericEntityNode.cpp Diff File
mod - radiantcore/entity/generic/GenericEntityNode.h Diff File
mod - radiantcore/entity/light/Light.cpp Diff File
mod - radiantcore/entity/light/Light.h Diff File
mod - radiantcore/entity/light/LightNode.cpp Diff File
mod - radiantcore/entity/light/LightNode.h Diff File
mod - radiantcore/entity/speaker/SpeakerNode.cpp Diff File
mod - radiantcore/entity/speaker/SpeakerNode.h Diff File
mod - radiantcore/entity/target/RenderableTargetLines.h Diff File
mod - radiantcore/entity/target/TargetLineNode.cpp Diff File
mod - radiantcore/entity/target/TargetLineNode.h Diff File
mod - radiantcore/layers/LayerManager.cpp Diff File
mod - radiantcore/map/PointFile.cpp Diff File
mod - radiantcore/map/PointFile.h Diff File
mod - radiantcore/map/RootNode.h Diff File
mod - radiantcore/model/NullModel.cpp Diff File
mod - radiantcore/model/NullModel.h Diff File
mod - radiantcore/model/NullModelNode.cpp Diff File
mod - radiantcore/model/NullModelNode.h Diff File
mod - radiantcore/model/StaticModel.cpp Diff File
mod - radiantcore/model/StaticModel.h Diff File
mod - radiantcore/model/StaticModelNode.cpp Diff File
mod - radiantcore/model/StaticModelNode.h Diff File
mod - radiantcore/model/md5/MD5ModelNode.cpp Diff File
mod - radiantcore/model/md5/MD5ModelNode.h Diff File
mod - radiantcore/particles/ParticleNode.cpp Diff File
mod - radiantcore/particles/ParticleNode.h Diff File
mod - radiantcore/particles/RenderableParticle.cpp Diff File
mod - radiantcore/particles/RenderableParticle.h Diff File
mod - radiantcore/patch/Patch.cpp Diff File
mod - radiantcore/patch/Patch.h Diff File
mod - radiantcore/patch/PatchNode.cpp Diff File
mod - radiantcore/patch/PatchNode.h Diff File
mod - radiantcore/patch/PatchRenderables.cpp Diff File
mod - radiantcore/patch/PatchRenderables.h Diff File
mod - radiantcore/rendersystem/OpenGLRenderSystem.cpp Diff File
mod - radiantcore/rendersystem/OpenGLRenderSystem.h Diff File
mod - radiantcore/rendersystem/backend/OpenGLShader.cpp Diff File
mod - radiantcore/rendersystem/backend/OpenGLShader.h Diff File
mod - radiantcore/rendersystem/backend/OpenGLShaderPass.cpp Diff File
mod - radiantcore/rendersystem/backend/OpenGLShaderPass.h Diff File

master a9ed8c3d

2021-11-27 08:59:33

greebo

Details Diff
Fix unit tests, TestKeyObserver needs to be removed from the entity node before it is destroyed
mod - test/Entity.cpp Diff File

master 91f58de2

2021-11-27 08:29:09

greebo

Details Diff
Adjust VC++ build after merge
mod - include/version.h Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj.filters Diff File

master 28a2ddcf

2021-11-27 08:27:28

greebo

Details Diff
Merge remote-tracking branch 'remotes/orbweaver/master'
mod - include/ientity.h Diff File
mod - libs/transformlib.h Diff File
mod - radiantcore/CMakeLists.txt Diff File
mod - radiantcore/brush/Brush.h Diff File
mod - radiantcore/brush/BrushModule.h Diff File
mod - radiantcore/brush/Face.h Diff File
mod - radiantcore/entity/EntityNode.cpp Diff File
mod - radiantcore/entity/EntityNode.h Diff File
mod - radiantcore/entity/KeyObserverDelegate.h Diff File
mod - radiantcore/entity/KeyObserverMap.h Diff File
mod - radiantcore/entity/KeyValue.cpp Diff File
mod - radiantcore/entity/KeyValue.h Diff File
rm - radiantcore/entity/doom3group/Doom3Group.cpp Diff File
rm - radiantcore/entity/doom3group/Doom3Group.h Diff File
mod - radiantcore/entity/doom3group/Doom3GroupNode.cpp Diff File
mod - radiantcore/entity/doom3group/Doom3GroupNode.h Diff File
mod - radiantcore/patch/Patch.h Diff File
mod - test/Entity.cpp Diff File

master 78feceaa

2021-11-27 07:28:34

greebo

Details Diff
Bump version for release
mod - CMakeLists.txt Diff File
mod - PKGBUILD Diff File
mod - include/version.h Diff File
mod - tools/innosetup/darkradiant.x64.iss Diff File

master 92b2fe61

2021-11-27 06:17:36

greebo

Details Diff
0005824: Implement the special algorithm for removing all entities from the selection Affected Issues
0005824
mod - libs/selection/CollectiveSpawnargs.h Diff File
mod - libs/selection/EntitySelection.h Diff File

master 55adce1a

2021-11-27 05:50:13

greebo

Details Diff
0005824: Add unit test to assert the desired behaviour of the spawnarg collection when all entities are removed Affected Issues
0005824
mod - test/EntityInspector.cpp Diff File

master d75a62a1

2021-11-27 05:27:15

greebo

Details Diff
0005824: First part of the fix, don't write the multi-value placeholder to the entry box on updates Affected Issues
0005824
mod - include/version.h Diff File
mod - radiant/ui/einspector/EntityInspector.cpp Diff File
mod - radiant/ui/einspector/EntityInspector.h Diff File

master 69734342

2021-11-26 14:00:46

orbweaver

Details Diff
Refactor some EntityTest boilerplate

Add a new helper class TestEntity to construct an entity by classname and add
it to the map (to enable undo). Since this is a struct with public members, we
can use C++17 structured bindings to initialise local variables in tests as
well as accessing members in the struct directly.
mod - test/Entity.cpp Diff File

master 58d7ce55

2021-11-26 13:41:41

orbweaver

Details Diff
Add unit test for simple entity spawnarg change

Test undoing and redoing a value change to a single spawnarg.
mod - test/Entity.cpp Diff File

master 325b69a0

2021-11-25 20:37:30

orbweaver

Details Diff
Add unit tests for the function-based key observation

As with addKeyObserver(), this required the observeKey() method to be brought
up to the IEntityNode interface so it can be unit tested.
mod - include/ientity.h Diff File
mod - radiantcore/entity/EntityNode.cpp Diff File
mod - radiantcore/entity/EntityNode.h Diff File
mod - radiantcore/entity/KeyObserverDelegate.h Diff File
mod - radiantcore/entity/KeyValue.h Diff File
mod - radiantcore/entity/doom3group/Doom3GroupNode.cpp Diff File
mod - test/Entity.cpp Diff File

master fcce4105

2021-11-25 15:24:19

orbweaver

Details Diff
Add unit tests for EntityNode::addKeyObserver()

This method needed to be added to the IEntityNode interface, since it was
previously only accessible on EntityNode directly.
mod - include/ientity.h Diff File
mod - radiantcore/entity/EntityNode.h Diff File
mod - test/Entity.cpp Diff File

master 1c6a8938

2021-11-25 15:22:54

orbweaver

Details Diff
Avoid calling KeyObserver twice on inserting to the KeyObserverMap

The code which called the observer with the current value was being executed
unconditionally, even though the preceding call to EntityKeyValue::attach()
already sent the current value.
mod - radiantcore/entity/KeyObserverMap.h Diff File

master f6f47981

2021-11-25 14:31:28

orbweaver

Details Diff
Streamline KeyObserver attachment to EntityNode

- EntityNode has a new observeKey() method which adds a simple callback
function to observe a particular key, rather than requiring a full
KeyObserver object owned and managed by the calling code.
- KeyObserverMap now stores the KeyObservers as shared_ptrs rather than raw
pointers. If the legacy addKeyObserver() method is called, the observer is
wrapped in a shared_ptr with a null deleter. If the new observeKey() method
is called, a new KeyObserver is constructed to wrap the callback function.
- EntityKeyValue::detach() has a new parameter to disable sending the final
empty value when the observer is detached. This avoids feedback loops and
crashes when EntityNode (and its contained KeyObserverMap) is destroyed.
- All KeyObserverDelegates are now removed from Doom3GroupNode, in favour of
the simpler observeKey() interface.
mod - include/ientity.h Diff File
mod - radiantcore/entity/KeyObserverDelegate.h Diff File
mod - radiantcore/entity/KeyObserverMap.h Diff File
mod - radiantcore/entity/KeyValue.cpp Diff File
mod - radiantcore/entity/KeyValue.h Diff File
mod - radiantcore/entity/doom3group/Doom3GroupNode.cpp Diff File
mod - radiantcore/entity/doom3group/Doom3GroupNode.h Diff File

master 74feb75c

2021-11-24 21:23:42

orbweaver

Details Diff
Fix several "missing override" compiler warnings
mod - radiantcore/brush/Brush.h Diff File
mod - radiantcore/brush/BrushModule.h Diff File
mod - radiantcore/brush/Face.h Diff File
mod - radiantcore/patch/Patch.h Diff File

master 3b806088

2021-11-24 21:14:24

orbweaver

Details Diff
scene::forEachTransformable takes node by reference

Not sure why this was ever using a shared_ptr, since the INode was never
stored: the only thing the function ever did with it was immediately
dereference it. Switching to a simple reference avoids the need for several
shared_from_this() calls in Doom3GroupNode.
mod - libs/transformlib.h Diff File
mod - radiantcore/entity/doom3group/Doom3GroupNode.cpp Diff File

master a64abd18

2021-11-24 20:53:23

orbweaver

Details Diff
Merge Doom3Group and Doom3GroupNode

The division between these two classes serves no purpose: neither has
clearly-defined distinct responsibilities, and both classes are constantly
calling each other's internal methods via _owner or _d3Group.
mod - radiantcore/CMakeLists.txt Diff File
rm - radiantcore/entity/doom3group/Doom3Group.cpp Diff File
rm - radiantcore/entity/doom3group/Doom3Group.h Diff File
mod - radiantcore/entity/doom3group/Doom3GroupNode.cpp Diff File
mod - radiantcore/entity/doom3group/Doom3GroupNode.h Diff File

master 5cd0aa9a

2021-11-23 21:15:34

orbweaver

Details Diff
Remove interfaces from Doom3Group

Doom3Group is accessed directly via the Doom3GroupNode container class, so does
not need to derive from any abstract interface classes (the associated methods
are still used, but can be called non-virtually).
mod - radiantcore/entity/doom3group/Doom3Group.h Diff File

master 2a854849

2021-11-21 17:32:49

greebo

Details Diff
Bump version to 2.14.0pre2
mod - include/version.h Diff File

master a687a08e

2021-11-21 17:31:04

greebo

Details Diff
0005810: Fix objective components not being re-indexed after removing one Affected Issues
0005810
mod - plugins/dm.objectives/ComponentsDialog.cpp Diff File

master 4b5e78ce

2021-11-21 16:44:46

greebo

Details Diff
0005813: EntityInspector is now displaying a property editor for keys with inherited descriptor. Affected Issues
0005813
mod - radiant/ui/einspector/EntityInspector.cpp Diff File

master ac0dd4ba

2021-11-21 16:31:28

greebo

Details Diff
0005813: Entity key help text is now shown even or especially when the description is inherited Affected Issues
0005813
mod - include/ieclass.h Diff File
mod - radiant/ui/einspector/EntityInspector.cpp Diff File
mod - radiantcore/eclass/EntityClass.cpp Diff File
mod - radiantcore/eclass/EntityClass.h Diff File
mod - test/Entity.cpp Diff File
mod - test/resources/tdm/def/attribute_types.def Diff File

master 7184e726

2021-11-21 15:53:01

greebo

Details Diff
0005814: Show icons for inherited properties Affected Issues
0005814
mod - libs/wxutil/dataview/TreeViewItemStyle.h Diff File
mod - radiant/ui/einspector/EntityInspector.cpp Diff File

master 6d4157f8

2021-11-21 14:25:10

greebo

Details Diff
0005813: EntityInspector is using IEntityClass::getAttributeType() now, this fixes the problem of wrong icons being shown when the corresponding editor_ descriptor is defined on the base. Affected Issues
0005813
mod - radiant/ui/einspector/EntityInspector.cpp Diff File

master e3822ec2

2021-11-21 14:22:33

greebo

Details Diff
0005813: The default type of entity class attributes is empty now (has always been set to "text" before). As soon as a non-empty type is encountered in the same entity class, it will be used instead. Affected Issues
0005813
mod - radiantcore/eclass/EntityClass.cpp Diff File
mod - radiantcore/eclass/EntityClass.h Diff File
mod - test/Entity.cpp Diff File
1 2 3 4 ... 20 ... 40 ... 60 ... 80 ... 100 ... 120 ... 140 ... 160 ... 179 180 181  Next  Last