Changesets: DarkRadiant

master 61b177e1

12.08.2025 18:33

orbweaver


Details Diff
0005525: saving filters to XML is now handled by SceneFilter

A new method saveToNode contains the code for serialising filter objects
to XML, which was previously in BasicFilterSystem. As a result, this
code can now be unit tested.
Affected Issues
0005525
mod - libs/scene/filters/SceneFilter.cpp Diff File
mod - libs/scene/filters/SceneFilter.h Diff File
mod - radiantcore/filters/BasicFilterSystem.cpp Diff File
mod - test/Filters.cpp Diff File

master 074f2711

04.08.2025 18:29

orbweaver


Details Diff
0005525: SceneFilter can be constructed from xml::Node

Move the parsing code from BasicFilterSystem into a new SceneFilter
constructor, allowing it to be unit tested more easily.
Affected Issues
0005525
mod - libs/scene/CMakeLists.txt Diff File
mod - libs/scene/filters/SceneFilter.cpp Diff File
mod - libs/scene/filters/SceneFilter.h Diff File
mod - radiantcore/filters/BasicFilterSystem.cpp Diff File
mod - radiantcore/filters/BasicFilterSystem.h Diff File
mod - radiantcore/filters/SetObjectSelectionByFilterWalker.h Diff File
mod - test/Filters.cpp Diff File

master b4059e27

30.07.2025 18:22

orbweaver


Details Diff
0005525: remove type parameter from SceneFilter::isEntityVisible

Move the two-stage check for ECLASS and SPAWNARG down into the method
implementation so that it doesn't have to be repeated at each call site.
Affected Issues
0005525
mod - libs/scene/filters/SceneFilter.cpp Diff File
mod - libs/scene/filters/SceneFilter.h Diff File
mod - radiantcore/filters/BasicFilterSystem.cpp Diff File
mod - radiantcore/filters/SetObjectSelectionByFilterWalker.h Diff File
mod - test/Filters.cpp Diff File

master 225db35d

23.07.2025 18:34

orbweaver


Details Diff
0005525: remove type parameter from IFilterSystem::isEntityVisible

The only user of this method was calling twice, once with ECLASS and
again with SPAWNARG. This two-stage check is now moved into the method
itself.
Affected Issues
0005525
mod - include/ientity.h Diff File
mod - include/ifilter.h Diff File
mod - radiantcore/filters/BasicFilterSystem.cpp Diff File
mod - radiantcore/filters/BasicFilterSystem.h Diff File
mod - radiantcore/filters/InstanceUpdateWalker.h Diff File
mod - test/Filters.cpp Diff File

master ac26547c

15.07.2025 18:33

orbweaver


Details Diff
0005525: FilterRule now initialised with filters::Query variant

Replace the two Create methods and the two private constructors with a
single public constructor which accepts a filters::Query variant. Each
of the variant's subtypes corresponds to one of the filter types, and
contains the necessary parameters for that type.

Currently this only affects the construction parameters, not the
internal storage. FilterRule is still exposing the same set of
individual member variables containing the filter parameters, since
these are used elsewhere.
Affected Issues
0005525
mod - libs/scene/filters/FilterRule.h Diff File
mod - libs/scene/filters/SceneFilter.h Diff File
mod - radiant/ui/filters/editor/FilterEditor.cpp Diff File
mod - radiantcore/filters/BasicFilterSystem.cpp Diff File
mod - test/Filters.cpp Diff File

master f51287c7

08.07.2025 19:43

orbweaver


Details Diff
0005525: add FilterRule::getTypeString()

This new method replaces two almost-duplicate code blocks which map
filter types to string representations: one for the filter editor UI,
and another for serialising the custom filters to XML.
Affected Issues
0005525
mod - libs/scene/filters/FilterRule.h Diff File
mod - libs/scene/filters/SceneFilter.h Diff File
mod - radiant/ui/filters/editor/FilterEditor.cpp Diff File
mod - radiant/ui/filters/editor/FilterEditor.h Diff File
mod - radiantcore/filters/BasicFilterSystem.cpp Diff File
mod - test/Filters.cpp Diff File

master a836b384

02.07.2025 19:03

orbweaver


Details Diff
0005525: implement operator== for FilterRule Affected Issues
0005525
mod - libs/scene/filters/FilterRule.h Diff File
mod - test/Filters.cpp Diff File

master 579040b6

02.07.2025 18:43

orbweaver


Details Diff
0005525: update to a new, flatter filter icon Affected Issues
0005525
mod - install/bitmaps/iconFilter16.png Diff File

master fd2a9e2d

01.07.2025 18:42

orbweaver


Details Diff
0006511: add a CMake option to enable/disable the Git plugin Affected Issues
0006511
mod - CMakeLists.txt Diff File
mod - install.cmake Diff File

master 7d4eb121

25.06.2025 18:21

orbweaver


Details Diff
Merge remote-tracking branch 'greebo/master'
mod - .github/workflows/build.yml Diff File
mod - CMakeLists.txt Diff File
mod - DarkRadiant.sln Diff File
mod - include/ishaderlayer.h Diff File
mod - libs/xmlutil/CMakeLists.txt Diff File
mod - libs/xmlutil/Document.h Diff File
mod - libs/xmlutil/Node.h Diff File
mod - plugins/vcs/Commit.h Diff File
mod - plugins/vcs/Repository.cpp Diff File
mod - test/Skin.cpp Diff File
mod - tools/msvc/DarkRadiant.vcxproj Diff File
mod - tools/msvc/DarkRadiant.vcxproj.filters Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj.filters Diff File
mod - tools/msvc/properties/DarkRadiant Base.props Diff File
mod - tools/msvc/scenelib.vcxproj Diff File
mod - tools/msvc/scenelib.vcxproj.filters Diff File
mod - tools/msvc/wxutillib.vcxproj Diff File
mod - tools/msvc/wxutillib.vcxproj.filters Diff File

master 8a3c3a7a

24.06.2025 18:04

orbweaver


Details Diff
Install documentation into local staging directory

This makes the "User guide (local)" menu option show the local HTML
documentation when running from inside the CMake build directory.
mod - doc/CMakeLists.txt Diff File

master ce03025a

12.06.2025 18:44

orbweaver


Details Diff
0005742: update documentation to mention hiding more asset types

Update the wording to mention that sound shaders and particles can now
be marked as hidden using an assets.lst.
Affected Issues
0005742
mod - doc/manual.adoc Diff File

master 71482d6a

10.06.2025 19:09

orbweaver


Details Diff
0005742: ParticleSelector now excludes hidden particle defs Affected Issues
0005742
mod - include/iparticles.h Diff File
mod - radiant/ui/particles/ParticleChooserDialog.cpp Diff File
mod - radiant/ui/particles/ParticleChooserDialog.h Diff File
mod - radiant/ui/particles/ParticleSelector.cpp Diff File
mod - radiant/ui/particles/ParticleSelector.h Diff File
mod - radiant/ui/particles/ThreadedParticlesLoader.h Diff File

master fa68d569

04.06.2025 18:53

orbweaver


Details Diff
0005742: rename DeclarationBlockSyntax to DeclarationBlockSource Affected Issues
0005742
mod - include/ideclmanager.h Diff File
mod - install/scripts/test.py Diff File
mod - libs/decl/DeclarationBase.h Diff File
mod - libs/decl/EditableDeclaration.h Diff File
mod - libs/scene/EntityClass.cpp Diff File
mod - libs/scene/EntityClass.h Diff File
mod - libs/wxutil/dataview/ThreadedDeclarationTreePopulator.h Diff File
mod - libs/wxutil/sourceview/DeclarationSourceView.cpp Diff File
mod - plugins/script/interfaces/DeclarationManagerInterface.cpp Diff File
mod - plugins/script/interfaces/DeclarationManagerInterface.h Diff File
mod - plugins/script/interfaces/SoundInterface.h Diff File
mod - plugins/sound/SoundManager.cpp Diff File
mod - plugins/sound/SoundShader.cpp Diff File
mod - radiant/ui/materials/editor/MaterialEditor.cpp Diff File
mod - radiant/ui/materials/editor/MaterialEditor.h Diff File
mod - radiant/ui/materials/editor/TestModelSkin.h Diff File
mod - radiant/ui/modelselector/ModelSelector.cpp Diff File
mod - radiant/ui/particles/ParticleEditor.cpp Diff File
mod - radiant/ui/skin/SkinEditor.cpp Diff File
mod - radiantcore/decl/DeclarationFolderParser.cpp Diff File
mod - radiantcore/decl/DeclarationFolderParser.h Diff File
mod - radiantcore/decl/DeclarationManager.cpp Diff File
mod - radiantcore/decl/DeclarationManager.h Diff File
mod - radiantcore/particles/ParticleDef.cpp Diff File
mod - radiantcore/particles/ParticleDef.h Diff File
mod - radiantcore/shaders/CShader.cpp Diff File
mod - radiantcore/shaders/MaterialManager.cpp Diff File
mod - radiantcore/shaders/ShaderLibrary.cpp Diff File
mod - radiantcore/shaders/ShaderTemplate.cpp Diff File
mod - radiantcore/shaders/ShaderTemplate.h Diff File
mod - radiantcore/skins/Doom3SkinCache.cpp Diff File
mod - test/DeclManager.cpp Diff File
mod - test/EntityClass.cpp Diff File
mod - test/Materials.cpp Diff File
mod - test/Models.cpp Diff File
mod - test/Particles.cpp Diff File
mod - test/Skin.cpp Diff File
mod - test/SoundManager.cpp Diff File

master 5a711735

04.06.2025 18:38

orbweaver


Details Diff
0005742: ParticleDef now exposes visibility information

Add an override of getVisibility which returns the visibility info from
the decl source block, just as other classes do.
Affected Issues
0005742
mod - radiantcore/particles/ParticleDef.cpp Diff File
mod - radiantcore/particles/ParticleDef.h Diff File
mod - test/Particles.cpp Diff File
add - test/resources/tdm/particles/assets.lst Diff File
add - test/resources/tdm/particles/hiddenparticles.prt Diff File

master a3a54e0f

03.06.2025 19:54

orbweaver


Details Diff
0005742: hidden sound shaders no longer appear in chooser

Use the visibility information now exposed via getVisibility to skip
hidden shaders when populating the tree model.
Affected Issues
0005742
mod - radiant/ui/common/SoundShaderSelector.h Diff File

master ee092ef8

27.05.2025 18:49

orbweaver


Details Diff
0005742: SoundShader exposes visibility information

Elevate getVisibility() to the IDeclaration interface, and add an
implementation on SoundShader which returns the visibility value from
the source fileinfo.
Affected Issues
0005742
mod - include/ideclmanager.h Diff File
mod - libs/scene/EntityClass.h Diff File
mod - plugins/sound/SoundShader.cpp Diff File
mod - plugins/sound/SoundShader.h Diff File
mod - test/SoundManager.cpp Diff File

master 4fe47e52

20.05.2025 18:21

orbweaver


Details Diff
De-virtualise EntityClass

Move EntityClass to the scene library; remove the IEntityClass interface
and update all downstream code to use EntityClass directly.

Visual Studio projects will need updating.
mod - include/ieclass.h Diff File
mod - include/ieclasscolours.h Diff File
mod - include/ientity.h Diff File
mod - libs/eclass.h Diff File
mod - libs/entitylib.h Diff File
mod - libs/scene/CMakeLists.txt Diff File
mod - libs/scene/Entity.cpp Diff File
mod - libs/scene/Entity.h Diff File
mod - libs/scene/EntityBreakdown.h Diff File
mv - radiantcore/eclass/EntityClass.cpp → libs/scene/EntityClass.cpp Diff File
add - libs/scene/EntityClass.h Diff File
mod - libs/scene/EntityKeyValue.h Diff File
mod - libs/scene/EntityNode.cpp Diff File
mod - libs/scene/EntityNode.h Diff File
mod - libs/scene/NameKey.h Diff File
mod - libs/scene/filters/SceneFilter.cpp Diff File
mod - libs/selection/EntitySelection.h Diff File
mod - libs/wxutil/EntityClassChooser.cpp Diff File
mod - plugins/dm.conversation/ConversationCommandInfo.cpp Diff File
mod - plugins/dm.conversation/ConversationCommandInfo.h Diff File
mod - plugins/dm.conversation/ConversationCommandLibrary.cpp Diff File
mod - plugins/dm.conversation/ConversationDialog.cpp Diff File
mod - plugins/dm.difficulty/ClassNameStore.cpp Diff File
mod - plugins/dm.difficulty/ClassNameStore.h Diff File
mod - plugins/dm.difficulty/DifficultySettings.cpp Diff File
mod - plugins/dm.difficulty/DifficultySettings.h Diff File
mod - plugins/dm.difficulty/DifficultySettingsManager.cpp Diff File
mod - plugins/dm.editing/AIHeadChooserDialog.cpp Diff File
mod - plugins/dm.editing/AIVocalSetChooserDialog.cpp Diff File
mod - plugins/dm.editing/AIVocalSetPreview.cpp Diff File
mod - plugins/dm.editing/AIVocalSetPreview.h Diff File
mod - plugins/dm.editing/DeprecatedEclassCollector.h Diff File
mod - plugins/dm.editing/ThreadedEntityDefPopulator.h Diff File
mod - plugins/dm.objectives/ObjectivesEditor.cpp Diff File
mod - plugins/dm.stimresponse/ResponseEffect.cpp Diff File
mod - plugins/dm.stimresponse/ResponseEffect.h Diff File
mod - plugins/dm.stimresponse/ResponseEffectTypes.cpp Diff File
mod - plugins/dm.stimresponse/ResponseEffectTypes.h Diff File
mod - plugins/dm.stimresponse/SREntity.cpp Diff File
mod - plugins/dm.stimresponse/SRPropertyLoader.h Diff File
mod - plugins/script/interfaces/EClassInterface.cpp Diff File
mod - plugins/script/interfaces/EClassInterface.h Diff File
mod - plugins/script/interfaces/EntityInterface.cpp Diff File
mod - radiant/ui/eclasstree/EClassTreeBuilder.cpp Diff File
mod - radiant/ui/eclasstree/EClassTreeBuilder.h Diff File
mod - radiant/ui/einspector/AddPropertyDialog.cpp Diff File
mod - radiant/ui/einspector/Algorithm.cpp Diff File
mod - radiant/ui/modelselector/ModelSelector.cpp Diff File
mod - radiantcore/CMakeLists.txt Diff File
mod - radiantcore/eclass/EClassColourManager.cpp Diff File
mod - radiantcore/eclass/EClassColourManager.h Diff File
mod - radiantcore/eclass/EClassManager.cpp Diff File
mod - radiantcore/eclass/EClassManager.h Diff File
rm - radiantcore/eclass/EntityClass.h Diff
mod - radiantcore/entity/EntityModule.cpp Diff File
mod - radiantcore/entity/EntityModule.h Diff File
mod - radiantcore/entity/doom3group/StaticGeometryNode.cpp Diff File
mod - radiantcore/entity/doom3group/StaticGeometryNode.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/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/map/aas/AasFileManager.cpp Diff File
mod - radiantcore/map/format/Doom3MapReader.cpp Diff File
mod - radiantcore/map/format/Quake3MapReader.cpp Diff File
mod - radiantcore/selection/algorithm/Curves.cpp Diff File
mod - test/Entity.cpp Diff File
mod - test/EntityClass.cpp Diff File

master 85e6a336

13.05.2025 18:53

orbweaver


Details Diff
Unit test confirms that assets.lst is processed for sound shaders
mod - include/itextstream.h Diff File
mod - test/VFS.cpp Diff File
add - test/resources/tdm/sound/assets.lst Diff File
add - test/resources/tdm/sound/hidden.sndshd Diff File

master 6ab361bd

11.05.2025 18:18

orbweaver


Details Diff
Fix missing renderable boxes for certain entity types

Commit f99d1d5b417f043ee91b18 changed the return value of localAABB from
a const reference to a value. This in itself is not a problem, but the
RenderableBox class was expecting to be initialised with a reference to
a longer-lived AABB which it would render on demand. If the value
returned from localAABB was bound to this reference parameter, the code
would compile without any warnings, but the connection between the
source entity's bounding box and the RenderableBox was lost. This
resulted in entities rendering with zero or undefined bounding boxes.

The AABB parameter of the RenderableBox constructor is now a pointer,
which (at least on Linux) will not even compile if the calling code
attempts to bind it to a temporary.
mod - libs/render/RenderableBox.h Diff File
mod - radiantcore/entity/RenderableEntityBox.cpp Diff File
mod - radiantcore/entity/RenderableEntityBox.h Diff File
mod - radiantcore/entity/generic/GenericEntityNode.cpp Diff File
mod - radiantcore/entity/speaker/SpeakerNode.cpp Diff File

master 8f6e8373

07.05.2025 18:50

orbweaver


Details Diff
CMake copies documentation images into the build directory

Use execute_process to copy the contents of doc/img into the build
directory, so that opening the generated manual.html in a browser will
show the images.

This is separate from the install() commands, which only apply during
the final "make install" or equivalent step.
mod - doc/CMakeLists.txt Diff File

master 0c610c7c

07.05.2025 18:34

orbweaver


Details Diff
0005742: add documentation of editor_visibility spawnarg

Hiding of individual entity classes was implemented in 2022, but not
mentioned in the manual.
Affected Issues
0005742
mod - doc/manual.adoc Diff File

master 0336f0a7

06.05.2025 19:02

orbweaver


Details Diff
0006554: changing skin in ModelPreview no longer resets rotation

Remove the call to resetModelRotation in EntityPreview::prepareScene,
which now allows the skin to be changed without resetting the rotation
of the model. Changing the model itself still resets the rotation, since
ModelPreview::setupInitialViewPosition contains a separate call to
resetModelRotation which has not been removed.
Affected Issues
0006554
mod - libs/wxutil/preview/EntityPreview.cpp Diff File

master 95840c17

30.04.2025 18:42

orbweaver


Details Diff
EntityClassChooser filter changes are also temporary
mod - libs/wxutil/EntityClassChooser.cpp Diff File

master 6760736d

30.04.2025 18:26

orbweaver


Details Diff
ModelSelector filter changes are now temporary

A new RAII class is used to push the filter state before showing the
dialog, and restore it when the dialog is closed. This allows temporary
filter changes to be made in the render preview without affecting the
active filters in the main application.
mod - include/ifilter.h Diff File
mod - libs/wxutil/preview/RenderPreview.cpp Diff File
mod - libs/wxutil/preview/RenderPreview.h Diff File
mod - radiant/ui/modelselector/ModelSelector.cpp Diff File
 First  Prev  1 2 3 4 5 6 7 ... 30 ... 60 ... 90 ... 120 ... 150 ... 180 ... 210 ... 240 ... 270 271 272  Next  Last