Changesets: DarkRadiant
master 763655ef 09.12.2021 13:32 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 |