Changesets: DarkRadiant

master 763655ef

09.12.2021 13:32

orbweaver


Details Diff
Use auto-disconnecting slots for observeKey in StaticGeometryNode

Use sigc::mem_fun with a sigc::trackable destination object to enable
auto-disconnection, rather than unsafe lambdas binding to subclass members
which will be destroyed before EntityNode clears out its KeyObserverMap.
mod - radiantcore/entity/RotationKey.h Diff File
mod - radiantcore/entity/doom3group/StaticGeometryNode.cpp Diff File

master 0242f774

09.12.2021 13:12

orbweaver


Details Diff
Improve safety of KeyObserverMap::observeKey()

Although the use of lambdas instead of KeyObserver references is cleaner and
*appears* safer, it actually introduces potential undefined behaviour of its
own: the lambda might capture variables which are destroyed before the observer
is disconnected in the EntityNode/KeyObserverMap destructor. This is actually
the case in live code, for example in StaticGeometryNode where observeKey() is
called with lambdas that refer to m_rotationKey, which is a subclass member
which will be destroyed before EntityNode itself.

KeyObserverMap's internal implementation is now changed to use sigc::signals
(one per observed key), and the KeyObserverFunc is upgraded from an
std::function into a sigc::slot. This allows the use of auto-disconnection if
the slot is set up using sigc::mem_fun instead of a lambda. The
auto-disconnection behaviour is now confirmed with a new unit test.
mod - include/ientity.h Diff File
mod - radiantcore/entity/KeyObserverMap.h Diff File
mod - test/Entity.cpp Diff File

renderer2 33a6c52a

08.12.2021 10:32

greebo


Details Diff
0005584: Infrastructure to render the generic entity boxes (with and without arrows) Affected Issues
0005584
add - radiantcore/entity/RenderableEntityBox.cpp Diff File
add - radiantcore/entity/RenderableEntityBox.h Diff File
mod - radiantcore/entity/generic/GenericEntityNode.cpp Diff File
mod - radiantcore/entity/generic/GenericEntityNode.h Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj.filters Diff File

master 966d6b1a

07.12.2021 20:53

orbweaver


Details Diff
Move LitObject implementation up to scene::Node

Every major renderable node class had its own implementation of
LitObject::intersectsLight, but all of these implementations were identical.
This method is now implemented at the Node level, and inherited by all
subclasses.
mod - libs/scene/Node.cpp Diff File
mod - libs/scene/Node.h Diff File
mod - radiantcore/brush/BrushNode.cpp Diff File
mod - radiantcore/brush/BrushNode.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/patch/PatchNode.cpp Diff File
mod - radiantcore/patch/PatchNode.h Diff File

renderer2 b62f0b22

05.12.2021 13:47

greebo


Details Diff
0005584: Remove old wireframe renderables from LightNode. Affected Issues
0005584
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/light/Renderables.cpp Diff File
mod - radiantcore/entity/light/Renderables.h Diff File

renderer2 eda8f3f8

05.12.2021 13:03

greebo


Details Diff
0005584: Point light wireframe volume Affected Issues
0005584
mod - radiantcore/entity/light/LightNode.cpp Diff File
mod - radiantcore/entity/light/LightNode.h Diff File
mod - radiantcore/entity/light/Renderables.cpp Diff File

renderer2 155214de

05.12.2021 08:23

greebo


Details Diff
0005584: The complex case (light_start defined) of projected light volumes is displayed Affected Issues
0005584
mod - radiantcore/entity/light/LightNode.cpp Diff File
mod - radiantcore/entity/light/LightNode.h Diff File
mod - radiantcore/entity/light/Renderables.cpp Diff File

renderer2 f7129bdd

05.12.2021 07:58

greebo


Details Diff
0005584: The simpler case (without start/end) of projected light volumes is displayed Affected Issues
0005584
mod - radiantcore/entity/light/LightNode.cpp Diff File
mod - radiantcore/entity/light/LightNode.h Diff File
mod - radiantcore/entity/light/Renderables.cpp Diff File
mod - radiantcore/entity/light/Renderables.h Diff File

renderer2 2e32d593

05.12.2021 07:35

greebo


Details Diff
0005584: Prepare for light volume rendering. Affected Issues
0005584
mod - radiantcore/entity/light/LightNode.cpp Diff File
mod - radiantcore/entity/light/LightNode.h Diff File
mod - radiantcore/entity/light/Renderables.cpp Diff File
mod - radiantcore/entity/light/Renderables.h Diff File

renderer2 6da7470f

05.12.2021 05:59

greebo


Details Diff
0005584: Renderable light geometry is now respecting the node's orientation.
The transformation is baked into the vertices on transformation change, which the cost of being able to submit all geometry of the same shader in one single draw call.
Affected Issues
0005584
mod - radiantcore/entity/EntityModule.cpp Diff File
mod - radiantcore/entity/light/LightNode.cpp Diff File
mod - radiantcore/entity/light/Renderables.h Diff File

renderer2 803d5118

05.12.2021 05:36

greebo


Details Diff
0005584: Notify LightNodes when entity settings change.
All LightNodes could subscribe to the settings signal themselves, but the house-keeping code on scene insertion/removal for every single node is not worth the trouble.
Affected Issues
0005584
mod - radiantcore/entity/EntityModule.cpp Diff File
mod - radiantcore/entity/EntityModule.h Diff File
mod - radiantcore/entity/light/LightNode.cpp Diff File
mod - radiantcore/entity/light/LightNode.h Diff File

renderer2 db61a5da

05.12.2021 04:44

greebo


Details Diff
0005584: LightNode's highlight rendering restored Affected Issues
0005584
mod - radiantcore/entity/light/LightNode.cpp Diff File
mod - radiantcore/entity/light/LightNode.h Diff File

renderer2 239332bb

05.12.2021 04:41

greebo


Details Diff
0005584: The light diamond is now rendered using the RenderableGeometry base. It's updated only when the light transform has been changed. Affected Issues
0005584
mod - libs/render/RenderableGeometry.h Diff File
mod - radiantcore/entity/ColourKey.h Diff File
mod - radiantcore/entity/light/LightNode.cpp Diff File
mod - radiantcore/entity/light/LightNode.h Diff File
mod - radiantcore/entity/light/Renderables.h Diff File

renderer2 6244508c

04.12.2021 18:51

greebo


Details Diff
0005584: Make the client code slimmer, the size changes are detected by the base class now Affected Issues
0005584
mod - libs/render/RenderableGeometry.h Diff File
mod - radiantcore/entity/target/RenderableTargetLines.h Diff File
mod - radiantcore/patch/PatchRenderables.h Diff File

renderer2 35132bb7

04.12.2021 18:40

greebo


Details Diff
0005584: More refactoring to move the shader-specific update routines to the base class. Subclasses should only care about vertices and indices at best. Affected Issues
0005584
mod - libs/render/RenderableGeometry.h Diff File
mod - radiantcore/entity/target/RenderableTargetLines.h Diff File
mod - radiantcore/entity/target/TargetLineNode.cpp Diff File
mod - radiantcore/patch/PatchRenderables.h Diff File

renderer2 1afccd0b

04.12.2021 15:43

greebo


Details Diff
0005584: Move some common code to a RenderableGeometry base class Affected Issues
0005584
add - libs/render/RenderableGeometry.h Diff File
mod - radiantcore/entity/target/RenderableTargetLines.h Diff File
mod - radiantcore/patch/PatchRenderables.h Diff File
mod - tools/msvc/libs.vcxproj Diff File
mod - tools/msvc/libs.vcxproj.filters Diff File

master 748fc556

04.12.2021 14:50

greebo

Committer: GitHub


Details Diff
Merge pull request 0000025 from coldtobi/fix_no_pch_build

Fix building when precompiled headers are turned off.
Affected Issues
0000025
mod - include/itexturetoolmodel.h Diff File
mod - radiant/eventmanager/ModifierHintPopup.h Diff File
mod - radiant/eventmanager/MouseToolManager.cpp Diff File
mod - radiant/map/AutoSaveTimer.cpp Diff File
mod - radiant/textool/TexTool.cpp Diff File
mod - radiant/ui/common/SoundChooser.cpp Diff File
mod - radiant/ui/layers/LayerControlDialog.cpp Diff File
mod - radiant/ui/lightinspector/LightInspector.cpp Diff File
mod - radiant/ui/lightinspector/LightInspector.h Diff File
mod - radiant/ui/statusbar/CommandStatus.cpp Diff File
mod - radiantcore/entity/doom3group/Doom3GroupNode.h Diff File
mod - radiantcore/map/algorithm/Models.h Diff File
mod - radiantcore/map/format/Quake3Utils.h Diff File
mod - radiantcore/map/format/primitiveparsers/BrushDef.h Diff File
mod - radiantcore/model/import/openfbx/ofbx.cpp Diff File
mod - radiantcore/scenegraph/SceneGraph.h Diff File
mod - radiantcore/selection/algorithm/Texturing.cpp Diff File
mod - radiantcore/selection/textool/FaceNode.cpp Diff File
mod - radiantcore/selection/textool/Node.cpp Diff File
mod - radiantcore/selection/textool/Node.h Diff File
mod - radiantcore/selection/textool/PatchNode.cpp Diff File
mod - radiantcore/selection/textool/PatchNode.h Diff File
mod - radiantcore/selection/textool/TextureToolDragManipulator.cpp Diff File
mod - radiantcore/selection/textool/TextureToolManipulationPivot.cpp Diff File
mod - radiantcore/selection/textool/TextureToolRotateManipulator.cpp Diff File
mod - radiantcore/selection/textool/TextureToolSelectionSystem.cpp Diff File
mod - radiantcore/selection/textool/TextureToolSelectionSystem.h Diff File

master 66a70169

04.12.2021 14:49

greebo

Committer: GitHub


Details Diff
Merge pull request 0000026 from coldtobi/fix_ftbs_openFBX_32bit

Fix build error on 32 bit archs.
Affected Issues
0000026
mod - radiantcore/model/import/openfbx/ofbx.h Diff File

master 90328930

04.12.2021 14:17

coldtobi


Details Diff
Fix build error on 32 bit archs.

OpenFBX does not typedef types correctly, leading to triggering the
static_asserts on 32-bit architectures.

This commit changes the typedefs to use C++11 uintXX_t types instead.
mod - radiantcore/model/import/openfbx/ofbx.h Diff File

master 8b56b4b3

04.12.2021 11:07

coldtobi


Details Diff
Fix building when precompiled headers are turned off.

When building with "cmake -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On",
the build breaks due to several missing includes. This PR fixes that.

(my selfish rationale: precompiled headers seems to break my ccache setup,
and the packaging work for Debian usually includes a tons of rebuilds, so not
be able to use ccache slows me down significantly)
mod - include/itexturetoolmodel.h Diff File
mod - radiant/eventmanager/ModifierHintPopup.h Diff File
mod - radiant/eventmanager/MouseToolManager.cpp Diff File
mod - radiant/map/AutoSaveTimer.cpp Diff File
mod - radiant/textool/TexTool.cpp Diff File
mod - radiant/ui/common/SoundChooser.cpp Diff File
mod - radiant/ui/layers/LayerControlDialog.cpp Diff File
mod - radiant/ui/lightinspector/LightInspector.cpp Diff File
mod - radiant/ui/lightinspector/LightInspector.h Diff File
mod - radiant/ui/statusbar/CommandStatus.cpp Diff File
mod - radiantcore/entity/doom3group/Doom3GroupNode.h Diff File
mod - radiantcore/map/algorithm/Models.h Diff File
mod - radiantcore/map/format/Quake3Utils.h Diff File
mod - radiantcore/map/format/primitiveparsers/BrushDef.h Diff File
mod - radiantcore/model/import/openfbx/ofbx.cpp Diff File
mod - radiantcore/scenegraph/SceneGraph.h Diff File
mod - radiantcore/selection/algorithm/Texturing.cpp Diff File
mod - radiantcore/selection/textool/FaceNode.cpp Diff File
mod - radiantcore/selection/textool/Node.cpp Diff File
mod - radiantcore/selection/textool/Node.h Diff File
mod - radiantcore/selection/textool/PatchNode.cpp Diff File
mod - radiantcore/selection/textool/PatchNode.h Diff File
mod - radiantcore/selection/textool/TextureToolDragManipulator.cpp Diff File
mod - radiantcore/selection/textool/TextureToolManipulationPivot.cpp Diff File
mod - radiantcore/selection/textool/TextureToolRotateManipulator.cpp Diff File
mod - radiantcore/selection/textool/TextureToolSelectionSystem.cpp Diff File
mod - radiantcore/selection/textool/TextureToolSelectionSystem.h Diff File

renderer2 593ccd14

04.12.2021 08:08

greebo


Details Diff
0005584: Introduce a separate colour shader that is applicable to both camera and ortho views Affected Issues
0005584
mod - include/ieclass.h Diff File
mod - include/irender.h Diff File
mod - radiantcore/eclass/EntityClass.cpp Diff File
mod - radiantcore/eclass/EntityClass.h Diff File
mod - radiantcore/entity/EntityNode.cpp Diff File
mod - radiantcore/entity/EntityNode.h Diff File
mod - radiantcore/entity/target/TargetLineNode.cpp Diff File
mod - radiantcore/rendersystem/backend/OpenGLShader.cpp Diff File

renderer2 3e50d824

04.12.2021 05:47

greebo


Details Diff
0005584: Respect bucket index when adjusting geometry indices Affected Issues
0005584
mod - radiantcore/rendersystem/backend/GeometryRenderer.h Diff File

renderer2 e96f65c5

04.12.2021 05:24

greebo


Details Diff
0005584: TargetLineNode cleanup Affected Issues
0005584
mod - radiantcore/entity/target/TargetLineNode.cpp Diff File
mod - radiantcore/entity/target/TargetLineNode.h Diff File

renderer2 ee5d717c

04.12.2021 05:12

greebo


Details Diff
0005584: Target line rendering is working now, including highlight rendering when source entities are selected Affected Issues
0005584
mod - radiantcore/entity/EntityNode.cpp 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/entity/target/TargetableNode.cpp Diff File
mod - radiantcore/entity/target/TargetableNode.h Diff File

renderer2 8a2d6088

04.12.2021 04:45

greebo


Details Diff
0005584: GeometryRenderer is now supporting GeometryType::Lines. Target line rendering is working again Affected Issues
0005584
mod - radiantcore/entity/target/RenderableTargetLines.h Diff File
mod - radiantcore/rendersystem/backend/GeometryRenderer.h Diff File
 First  Prev  1 2 3 ... 30 ... 60 ... 78 79 80 81 82 83 84 ... 90 ... 120 ... 150 ... 180 ... 210 ... 240 ... 260 261 262  Next  Last