View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005546 | DarkRadiant | Renderer | public | 24.02.2021 20:07 | 27.11.2021 09:20 |
Reporter | orbweaver | Assigned To | orbweaver | ||
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | closed | Resolution | fixed | ||
Product Version | 2.11.0 | ||||
Target Version | 2.12.0 | Fixed in Version | 2.12.0 | ||
Summary | 0005546: Attached light radii are the wrong colour if "Override light volume colour" is active | ||||
Description | When "Override light volume colour" is set in the Colours dialog, regular light radii appear the correct colour as specified by the colour scheme, but (most) attached light radii show as green. This is because the attached light entities are subclasses of "light", and the colour override system only matches by exact classname rather than following inheritance. As a result, the light entities take their colour from the "editor_color" spawnarg rather than the overridden colour stored by EClassColourManager. | ||||
Tags | No tags attached. | ||||
DarkRadiant: master 39d5000a 24.02.2021 20:27 Details Diff |
0005546: add failing test to capture issue OverrideEClassColour test confirms that adding an override for 'light' correctly changes the colour of 'light' itself but not its subclasses. |
Affected Issues 0005546 |
|
mod - test/Entity.cpp | Diff File | ||
DarkRadiant: master aeffec9e 24.02.2021 20:48 Details Diff |
0005546: add passing test for entity attribute inheritance Confirm that an entity class can inherit attributes from its parent class (there is already a test for inheritance of spawnargs on an actual entity). |
Affected Issues 0005546 |
|
mod - test/Entity.cpp | Diff File | ||
DarkRadiant: master 9694cb37 24.02.2021 21:12 Details Diff |
0005546: entity class inherited attributes no longer copied Instead of copying all attributes from the parent class at the time inheritance in resolved, which wastes resources and discards information about which attributes were inherited and which were defined explicitly, we now dynamically query the parent class in forEachClassAttribute() and getAttribute(). |
Affected Issues 0005546 |
|
mod - radiantcore/eclass/Doom3EntityClass.cpp | Diff File | ||
DarkRadiant: master 163b1548 25.02.2021 19:51 Details Diff |
0005546: attached light entities now correctly coloured Rather than rely exclusively on the possibly-inherited editor_color spawnarg, entity classes now check this spawnarg only at their own level, then recursively delegate to their parent class's getColour() method. This ensures that colour overrides (which are implemented in terms of setColour/getColour) propagate to child classes. |
Affected Issues 0005546 |
|
mod - include/ieclass.h | Diff File | ||
mod - radiantcore/eclass/Doom3EntityClass.cpp | Diff File | ||
mod - radiantcore/eclass/Doom3EntityClass.h | Diff File | ||
mod - test/Entity.cpp | Diff File | ||
DarkRadiant: master 7dbe8cfb 01.03.2021 20:54 Details Diff |
Remove broken EntityClassAttribute::inherited flag Ever since the fix for 0005546 eliminated copying of inherited attributes from parent entity classes into their children, the 'inherited' bool was rendered useless, which in turn broke certain functionality such as the colour-coding of inherited spawnargs in the EClassTree. The inherited flag is now removed entirely from EntityClassAttribute, and replaced by an extra bool passed to the AttributeVisitor when visiting entity class attributes. |
Affected Issues 0005546 |
|
mod - include/ieclass.h | Diff File | ||
mod - libs/eclass.h | Diff File | ||
mod - plugins/dm.stimresponse/SRPropertyLoader.cpp | Diff File | ||
mod - plugins/dm.stimresponse/SRPropertyLoader.h | Diff File | ||
mod - plugins/script/interfaces/EClassInterface.cpp | Diff File | ||
mod - radiant/ui/eclasstree/EClassTree.cpp | Diff File | ||
mod - radiant/ui/eclasstree/EClassTree.h | Diff File | ||
mod - radiant/ui/eclasstree/EClassTreeBuilder.cpp | Diff File | ||
mod - radiant/ui/einspector/AddPropertyDialog.cpp | Diff File | ||
mod - radiant/ui/einspector/EntityInspector.cpp | Diff File | ||
mod - radiantcore/eclass/EntityClass.cpp | Diff File | ||
mod - radiantcore/eclass/EntityClass.h | Diff File | ||
mod - radiantcore/entity/SpawnArgs.cpp | Diff File | ||
mod - test/Entity.cpp | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
24.02.2021 20:07 | orbweaver | New Issue | |
24.02.2021 20:07 | orbweaver | Status | new => assigned |
24.02.2021 20:07 | orbweaver | Assigned To | => orbweaver |
25.02.2021 20:33 | orbweaver | Status | assigned => resolved |
25.02.2021 20:33 | orbweaver | Resolution | open => fixed |
25.02.2021 20:33 | orbweaver | Fixed in Version | => 2.12.0 |
25.02.2021 20:33 | orbweaver | Note Added: 0013729 | |
05.03.2021 05:01 | orbweaver | Changeset attached | => DarkRadiant master 39d5000a |
05.03.2021 05:01 | orbweaver | Changeset attached | => DarkRadiant master aeffec9e |
05.03.2021 05:01 | orbweaver | Changeset attached | => DarkRadiant master 9694cb37 |
05.03.2021 05:01 | orbweaver | Changeset attached | => DarkRadiant master 163b1548 |
05.03.2021 05:01 | orbweaver | Changeset attached | => DarkRadiant master 7dbe8cfb |
27.11.2021 09:20 | greebo | Status | resolved => closed |