Changesets: DarkRadiant
|
master 61b177e1 12.08.2025 18:33 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Details Diff |
EntityClassChooser filter changes are also temporary | ||
| mod - libs/wxutil/EntityClassChooser.cpp | Diff File | ||
|
master 6760736d 30.04.2025 18:26 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 | ||