View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005907 | DarkRadiant | GUI | public | 25.02.2022 17:52 | 13.01.2024 05:31 |
Reporter | BrendonChung | Assigned To | orbweaver | ||
Priority | normal | Severity | feature | Reproducibility | N/A |
Status | closed | Resolution | fixed | ||
Fixed in Version | 3.0.0 | ||||
Summary | 0005907: Allow way to hide some entities in Create Entity list | ||||
Description | I feel it could be useful to be able to 'tag' some entities to be hidden in the Create Entity list. For example: there are some entities, such as "damage_*", that are never placed in maps and can sometimes muddle search results. I would suggest giving entity definitions a "editor_hidden" "1" keyvalue to exclude the entity from the Create Entity list -- but I'm sure any alternative implementation would be fine. | ||||
Tags | No tags attached. | ||||
Not all entityDefs are designed to be created in the .map file, but it can still be useful to view them in order see their properties. Rather cumbersome to do in DR since it usually involves creating a temporary brush, converting it into that entity and checking the spawnarg list in the entity inspector - but I wouldn't permanently hide viable entities from the entity list. Maybe it should be possible to right-click > hide certain entities or folders from within the Create Entity menu so each mapper can decide what entities he wants to work with? The feature - as proposed with the new property in the entityDef - would, however, be excellent for deprecating individual entities without having to deprecate the whole .def file. |
|
Implemented in 10ebd7307ef0fc89ad835e017bfe738cb5ec5723 | |
Is there a new .def setting to hide entities as a result of this resolution, like editor_hidden 1? I'd like to deprecate some entities and make new ones with very similar names - so I'd like to stop the old entities from showing up in a search. | |
The new def setting is: "editor_visibility" "hidden" |
|
DarkRadiant: master 9b4d329f 09.03.2022 20:46 Details Diff |
0005907: remove redundant EntityClass constructor For some reason there was a whole separate constructor just to default the fixedSize parameter to false. This is now using a simple default argument value. |
Affected Issues 0005907 |
|
mod - radiantcore/eclass/EntityClass.cpp | Diff File | ||
mod - radiantcore/eclass/EntityClass.h | Diff File | ||
DarkRadiant: master 383f7322 09.03.2022 21:23 Details Diff |
0005907: EntityClass::_fileInfo is now an std::optional Use this C++17 template to avoid needing to create a dummy FileInfo when constructing an entity which wasn't loaded from a file. |
Affected Issues 0005907 |
|
mod - radiantcore/eclass/EClassManager.cpp | Diff File | ||
mod - radiantcore/eclass/EntityClass.cpp | Diff File | ||
mod - radiantcore/eclass/EntityClass.h | Diff File | ||
DarkRadiant: master f3efe946 15.03.2022 19:59 Details Diff |
0005907: introduce a new IEntityClass::getAttributeValue() method This is now used throughout the code in place of the more clumsy getAttribute().getValue() boilerplate. |
Affected Issues 0005907 |
|
mod - include/ieclass.h | Diff File | ||
mod - libs/wxutil/EntityClassChooser.cpp | Diff File | ||
mod - plugins/dm.conversation/ConversationCommandInfo.cpp | Diff File | ||
mod - plugins/dm.editing/AIHeadChooserDialog.cpp | Diff File | ||
mod - plugins/dm.editing/AIVocalSetChooserDialog.cpp | Diff File | ||
mod - plugins/dm.editing/SpawnargLinkedCheckbox.h | Diff File | ||
mod - plugins/dm.stimresponse/EffectEditor.cpp | Diff File | ||
mod - plugins/dm.stimresponse/ResponseEffect.cpp | Diff File | ||
mod - radiantcore/eclass/EntityClass.cpp | Diff File | ||
mod - radiantcore/eclass/EntityClass.h | Diff File | ||
mod - radiantcore/entity/EntityModule.cpp | Diff File | ||
mod - radiantcore/entity/SpawnArgs.cpp | Diff File | ||
mod - radiantcore/map/aas/AasFileManager.cpp | Diff File | ||
mod - test/Entity.cpp | Diff File | ||
DarkRadiant: master 2166c37a 16.03.2022 20:15 Details Diff |
0005907: remove non-const getAttribute() from IEntity public interface This method is still needed on EntityClass since it is used internally, but is no longer used from elsewhere in the code. |
Affected Issues 0005907 |
|
mod - include/ieclass.h | Diff File | ||
mod - radiantcore/eclass/EntityClass.h | Diff File | ||
DarkRadiant: master e0e18db4 21.03.2022 20:29 Details Diff |
0005907: replace many calls to IEntityClass::getAttribute() These were calls to getAttribute() whose return EntityClassAttribute& was only used for subsequent getValue() or getDescription() calls, allowing them to be replaced by the more straightforward getAttributeValue() and getAttributeDescription(). |
Affected Issues 0005907 |
|
mod - plugins/dm.difficulty/DifficultySettings.cpp | Diff File | ||
mod - plugins/dm.difficulty/DifficultySettingsManager.cpp | Diff File | ||
mod - plugins/dm.editing/DeprecatedEclassCollector.h | Diff File | ||
mod - plugins/dm.editing/SpawnargLinkedCheckbox.h | Diff File | ||
mod - plugins/dm.editing/SpawnargLinkedSpinButton.h | Diff File | ||
mod - plugins/dm.stimresponse/ResponseEffect.cpp | Diff File | ||
mod - radiant/ui/eclasstree/EClassTreeBuilder.cpp | Diff File | ||
DarkRadiant: master d3732c9c 21.03.2022 20:53 Details Diff |
0005907: remove getAttribute() from IEntityClass interface The sole remaining usage of this object-based method was in the Python interface, which has now been updated to use the getAttributeValue() method instead. |
Affected Issues 0005907 |
|
mod - include/ieclass.h | Diff File | ||
mod - plugins/script/interfaces/EClassInterface.cpp | Diff File | ||
mod - plugins/script/interfaces/EClassInterface.h | Diff File | ||
mod - radiantcore/eclass/EntityClass.h | Diff File | ||
DarkRadiant: master ff08489c 22.03.2022 20:38 Details Diff |
0005907: remove the "empty attribute" from EntityClass The getAttribute() methods are now private, and return a nullable pointer to an EntityClassAttribute rather than a reference. This removes the need for a placeholder empty attribute to return if the named attribute is not found. |
Affected Issues 0005907 |
|
mod - radiantcore/eclass/EntityClass.cpp | Diff File | ||
mod - radiantcore/eclass/EntityClass.h | Diff File | ||
DarkRadiant: master 744efce6 22.03.2022 21:26 Details Diff |
0005907: fix reference-to-temporary bug introduced by previous commit |
Affected Issues 0005907 |
|
mod - include/ieclass.h | Diff File | ||
mod - radiantcore/eclass/EntityClass.cpp | Diff File | ||
mod - radiantcore/eclass/EntityClass.h | Diff File | ||
DarkRadiant: master 215ec294 29.03.2022 18:57 Details Diff |
0005907: initial method to return a vfs::Visibility for an entity class Currently the method returns a constant Visibility::NORMAL since there is no code to actually parse a visibility from the .def file. |
Affected Issues 0005907 |
|
mod - include/ieclass.h | Diff File | ||
mod - radiantcore/eclass/EntityClass.cpp | Diff File | ||
mod - radiantcore/eclass/EntityClass.h | Diff File | ||
mod - test/Entity.cpp | Diff File | ||
DarkRadiant: master 6bb4c837 29.03.2022 19:08 Details Diff |
0005907: add failing test for a Visibility::HIDDEN entity class |
Affected Issues 0005907 |
|
mod - test/Entity.cpp | Diff File | ||
mod - test/resources/tdm/def/base.def | Diff File | ||
DarkRadiant: master 0722857c 30.03.2022 19:14 Details Diff |
0005907: EntityClass::getVisibility() returns value from spawnargs Instead of a constant value, getVisibility() now returns the correct value based on the presence of an "editor_visibility" spawnarg. The value is initialised lazily by way of a new Lazy class template which provides a generic means of lazily initialising a value using a callback function. |
Affected Issues 0005907 |
|
add - libs/generic/Lazy.h | Diff File | ||
mod - radiantcore/eclass/EClassManager.cpp | Diff File | ||
mod - radiantcore/eclass/EntityClass.cpp | Diff File | ||
mod - radiantcore/eclass/EntityClass.h | Diff File | ||
mod - test/Entity.cpp | Diff File | ||
DarkRadiant: master 23f0e1b2 30.03.2022 19:33 Details Diff |
0005907: fix unwanted inheritance of entity class visibility Some entity classes needing to be hidden might be abstract base classes for other entities, and those derived entities still need to appear in the list even if the base entity is hidden. |
Affected Issues 0005907 |
|
mod - radiantcore/eclass/EntityClass.cpp | Diff File | ||
mod - test/Entity.cpp | Diff File | ||
DarkRadiant: master 10ebd730 19.04.2022 18:47 Details Diff |
0005907: EntityClassChooser now skips hidden entity classes If the vfs::Visibility of a given entity class is HIDDEN, the entity class will no longer appear in the chooser. This is a display-only change; the entity class remains functional in the map. |
Affected Issues 0005907 |
|
mod - libs/wxutil/EntityClassChooser.cpp | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
25.02.2022 17:52 | BrendonChung | New Issue | |
08.03.2022 21:18 | orbweaver | Assigned To | => orbweaver |
08.03.2022 21:18 | orbweaver | Status | new => confirmed |
08.03.2022 21:50 | Dragofer | Note Added: 0014758 | |
08.03.2022 21:51 | Dragofer | Note Edited: 0014758 | |
08.03.2022 21:51 | Dragofer | Note Edited: 0014758 | |
09.03.2022 20:23 | orbweaver | Status | confirmed => new |
09.03.2022 20:24 | orbweaver | Status | new => assigned |
17.04.2022 05:08 | orbweaver | Changeset attached | => DarkRadiant master 9b4d329f |
17.04.2022 05:08 | orbweaver | Changeset attached | => DarkRadiant master 383f7322 |
17.04.2022 05:08 | orbweaver | Changeset attached | => DarkRadiant master f3efe946 |
17.04.2022 05:08 | orbweaver | Changeset attached | => DarkRadiant master 2166c37a |
17.04.2022 05:08 | orbweaver | Changeset attached | => DarkRadiant master e0e18db4 |
17.04.2022 05:08 | orbweaver | Changeset attached | => DarkRadiant master d3732c9c |
17.04.2022 05:08 | orbweaver | Changeset attached | => DarkRadiant master ff08489c |
17.04.2022 05:08 | orbweaver | Changeset attached | => DarkRadiant master 744efce6 |
17.04.2022 05:08 | orbweaver | Changeset attached | => DarkRadiant master 215ec294 |
17.04.2022 05:08 | orbweaver | Changeset attached | => DarkRadiant master 6bb4c837 |
17.04.2022 05:08 | orbweaver | Changeset attached | => DarkRadiant master 0722857c |
17.04.2022 05:08 | orbweaver | Changeset attached | => DarkRadiant master 23f0e1b2 |
19.04.2022 18:49 | orbweaver | Status | assigned => resolved |
19.04.2022 18:49 | orbweaver | Resolution | open => fixed |
19.04.2022 18:49 | orbweaver | Fixed in Version | => 3.0.0 |
19.04.2022 18:49 | orbweaver | Note Added: 0014804 | |
24.04.2022 04:17 | orbweaver | Changeset attached | => DarkRadiant master 10ebd730 |
02.07.2022 15:56 | Dragofer | Note Added: 0014953 | |
05.07.2022 20:16 | BrendonChung | Note Added: 0014967 | |
13.01.2024 05:31 | greebo | Status | resolved => closed |