View Issue Details

IDProjectCategoryView StatusLast Update
0005742DarkRadiantShader Systempublic18.01.2026 08:04
ReporterDragofer Assigned Toorbweaver  
PrioritynormalSeverityfeatureReproducibilityN/A
Status resolvedResolutionfixed 
Product Version2.13.0 
Fixed in Version3.10.0 
Summary0005742: Feature: extend asset deprecation to more asset types
DescriptionOrbweaver recently pointed out that DarkRadiant already supports a clean way of deprecating assets so that they're no longer shown in DR:
http://orbweaver.gitlab.io/DarkRadiant/#_controlling_asset_visibility

Unfortunately this is currently restricted only to models and materials. I think at this point most of TDM's asset base could use some pruning, in particular among entities but also sounds and particles. It'd be nice to be able to properly deprecate all the light entities that are currently listed in various "deprecated" subfolders of the "lights" folder, for instance.

Skins and prefabs don't need support because (a) model references can be deleted from skins so they no longer show up in the modelchooser without affecting functionality and (b) prefabs can be deleted at any time.
Additional InformationA small bonus would be if the deprecation list could be called deprecated.lst instead of assets.lst. I think this would allow other and future maintainers to at a glance see what this file is for.
TagsNo tags attached.

Activities

orbweaver

orbweaver

03.12.2024 19:05

developer   ~0016924

For entities, the most natural way of achieving this would probably be to introduce a new spawnarg like "editor_visibility = hidden" which would have the same effect as listing a file as hidden in the assets.lst. This means it could be applied to individual entities by editing the .def file, without needing to create a new file or move defs between different files.

Regarding the name, "assets.lst" was chosen to avoid restricting the file to a single purpose. For example, a future feature might allow several different properties to be assigned to an asset, e.g. hidden, visible but marked as deprecated, visible and marked as particularly high-quality, or whatever. This is also why the file uses "model.lwo=hidden" syntax rather than just a bare list of files to hide.
orbweaver

orbweaver

07.05.2025 18:17

developer   ~0017028

Turns out this was already implemented in scope of 0005907 for entities, and the functionality still seems to be working. The spawnarg to set is "editor_visibility = hidden".

Sounds and particles should be able to use the existing assets.lst mechanism, but some code is needed to activate it for these directories since it is currently only operational for models and materials.
orbweaver

orbweaver

12.06.2025 18:46

developer   ~0017037

Sound and particle shaders now support the assets.lst mechanism.

Related Changesets

DarkRadiant: 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

DarkRadiant: 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

DarkRadiant: 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

DarkRadiant: 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

DarkRadiant: 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

DarkRadiant: 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

DarkRadiant: 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

Issue History

Date Modified Username Field Change
09.09.2021 21:03 Dragofer New Issue
09.09.2021 21:05 Dragofer Description Updated
09.09.2021 21:32 Dragofer Summary Extend asset deprecation to more asset types => Feature: extend asset deprecation to more asset types
10.09.2021 02:30 greebo Status new => acknowledged
03.12.2024 19:05 orbweaver Status acknowledged => confirmed
03.12.2024 19:05 orbweaver Note Added: 0016924
06.05.2025 20:01 orbweaver Assigned To => orbweaver
06.05.2025 20:01 orbweaver Status confirmed => assigned
07.05.2025 18:17 orbweaver Note Added: 0017028
12.06.2025 18:46 orbweaver Status assigned => resolved
12.06.2025 18:46 orbweaver Resolution open => fixed
12.06.2025 18:46 orbweaver Fixed in Version => 3.10.0
12.06.2025 18:46 orbweaver Note Added: 0017037
18.01.2026 08:04 orbweaver Changeset attached => DarkRadiant master 0c610c7c
18.01.2026 08:04 orbweaver Changeset attached => DarkRadiant master ee092ef8
18.01.2026 08:04 orbweaver Changeset attached => DarkRadiant master a3a54e0f
18.01.2026 08:04 orbweaver Changeset attached => DarkRadiant master 5a711735
18.01.2026 08:04 orbweaver Changeset attached => DarkRadiant master fa68d569
18.01.2026 08:04 orbweaver Changeset attached => DarkRadiant master 71482d6a
18.01.2026 08:04 orbweaver Changeset attached => DarkRadiant master ce03025a