Changesets: DarkRadiant

master f6f47981

25.11.2021 14:31

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

24.11.2021 21:23

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

24.11.2021 21:14

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

24.11.2021 20:53

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
rm - radiantcore/entity/doom3group/Doom3Group.h Diff
mod - radiantcore/entity/doom3group/Doom3GroupNode.cpp Diff File
mod - radiantcore/entity/doom3group/Doom3GroupNode.h Diff File

master 5cd0aa9a

23.11.2021 21:15

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

21.11.2021 17:32

greebo


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

master a687a08e

21.11.2021 17:31

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

21.11.2021 16:44

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

21.11.2021 16:31

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

21.11.2021 15:53

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

21.11.2021 14:25

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

21.11.2021 14:22

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

master e4a11d40

21.11.2021 13:56

greebo


Details Diff
0005813: Implement EntityClass::getAttributeType Affected Issues
0005813
mod - radiantcore/eclass/EntityClass.cpp Diff File

master 6d143d3b

21.11.2021 13:45

greebo


Details Diff
0005813: More test cases Affected Issues
0005813
mod - test/Entity.cpp Diff File
mod - test/resources/tdm/def/attribute_types.def Diff File

master 316bfda3

21.11.2021 13:36

greebo


Details Diff
0005813: Add new method IEntityClass::getAttributeType() which should be used to determine the key type, respecting the ancestor defs. Affected Issues
0005813
mod - include/ieclass.h Diff File
mod - radiantcore/eclass/EntityClass.cpp Diff File
mod - radiantcore/eclass/EntityClass.h Diff File
mod - test/Entity.cpp Diff File
add - test/resources/tdm/def/attribute_types.def Diff File

master 9359f164

21.11.2021 12:53

greebo


Details Diff
0005813: Implement the key type look up in the EntityInspector. Right now the type lookup is not respecting the entityDef inheritance properly. Affected Issues
0005813
mod - radiant/ui/einspector/EntityInspector.cpp Diff File
mod - radiant/ui/einspector/EntityInspector.h Diff File

master f6e7145c

21.11.2021 07:40

greebo


Details Diff
0005813: Introduce EntityInspector::getPropertyTypeForKey Affected Issues
0005813
mod - radiant/ui/einspector/EntityInspector.cpp Diff File
mod - radiant/ui/einspector/EntityInspector.h Diff File

master e11ba0ff

21.11.2021 05:38

greebo


Details Diff
0005813: Refactor EntityInspector::getPropertyParmsForKey. Affected Issues
0005813
mod - radiant/ui/einspector/EntityInspector.cpp Diff File

master 51dddba0

21.11.2021 05:24

greebo


Details Diff
0005813: Refactoring to reduce the method size Affected Issues
0005813
mod - radiant/ui/einspector/EntityInspector.cpp Diff File
mod - radiant/ui/einspector/EntityInspector.h Diff File

master a1a20a0d

20.11.2021 16:48

greebo


Details Diff
Update VC++ projects
mod - libs/wxutil/FormLayout.h Diff File
mod - tools/msvc/wxutillib.vcxproj Diff File
mod - tools/msvc/wxutillib.vcxproj.filters Diff File

master fd7a32e3

20.11.2021 16:47

greebo


Details Diff
Merge remote-tracking branch 'remotes/orbweaver/master'
mod - install/bitmaps/brush_flipx.png Diff File
mod - install/bitmaps/brush_flipy.png Diff File
mod - install/bitmaps/brush_flipz.png Diff File
add - libs/wxutil/FormLayout.h Diff File
mod - radiant/ui/surfaceinspector/SurfaceInspector.cpp Diff File
mod - radiant/ui/surfaceinspector/SurfaceInspector.h Diff File
add - resources/icons/brush_flipx.svg Diff File
add - resources/icons/brush_flipy.svg Diff File
add - resources/icons/brush_flipz.svg Diff File
add - resources/icons/hscale_down.svg Diff File
add - resources/icons/hscale_up.svg Diff File
add - resources/icons/link_active.svg Diff File
add - resources/icons/link_inactive.svg Diff File
add - resources/icons/link_scale_down.svg Diff File
add - resources/icons/link_scale_up.svg Diff File
add - resources/icons/vscale_down.svg Diff File
add - resources/icons/vscale_up.svg Diff File

renderer e9b256c9

20.11.2021 16:31

greebo


Details Diff
0005584: LayerManager::updateNodeVisibility was altering the eLayered flag for every visited node, even if it turns out to be unnecessary. Don't do that, this triggers massive surface-to-material re-linking. Affected Issues
0005584
mod - radiantcore/layers/LayerManager.cpp Diff File

renderer 2268adf1

20.11.2021 16:11

greebo


Details Diff
0005584: Part two to complement CompactWindingVertexBuffer::removeWindings in WindingRenderer Affected Issues
0005584
mod - libs/render/WindingRenderer.h Diff File

renderer 734310b7

20.11.2021 14:04

greebo


Details Diff
0005584: Implement CompactWindingVertexBuffer::removeWindings to provide a removal algorithm that touches every moved element only once. Affected Issues
0005584
mod - libs/render/CompactWindingVertexBuffer.h Diff File
mod - libs/render/WindingRenderer.h Diff File
mod - test/WindingRendering.cpp Diff File

renderer 32ade0e3

20.11.2021 10:29

greebo


Details Diff
0005584: Some preparations to hold back winding buffer deletions until the last minute, to be able to re-use deleted slots and to optimise removals of a lot of vertices. Affected Issues
0005584
mod - libs/render/WindingRenderer.h Diff File
 First  Prev  1 2 3 ... 30 ... 60 ... 84 85 86 87 88 89 90 ... 120 ... 150 ... 180 ... 210 ... 240 ... 264 265 266  Next  Last