View Issue Details

IDProjectCategoryView StatusLast Update
0005885DarkRadiantGUIpublic13.02.2022 06:45
ReporterDragofer Assigned Toorbweaver  
PrioritynormalSeveritynormalReproducibilityalways
Status resolvedResolutionfixed 
Product Version2.14.0 
Fixed in Version3.0.0 
Summary0005885: ReloadDefs moves def_attached light crystals to entity origin
DescriptionDR now shows def_attached light entities as light crystals, which is used mostly by lamp entities.
Spawnargs in the format "attach_pos_origin..." shift the position of the light relative to the lamp, both in TDM and in DR, but I noticed that executing "Reload Defs" in DR causes all def_attached lights to move to the lamp origin (as if attach_pos_origin had a value of 0 0 0).
Steps To Reproduce1) Create entity > atdm:lamp_oil_wall_hanging_lit.
2) This is a lamp with a def_attached light entity. The lamp's origin is near the top where the chains meet, but the light is placed near the bottom by virtue of the spawnarg "attach_pos_origin_1" "0 0 -25".
3) File > Reload Defs.
4) The light has now moved to the lamp origin at the top.
TagsNo tags attached.

Activities

orbweaver

orbweaver

08.02.2022 21:01

developer   ~0014718

Fixed in 90958ed0ed702522d588a663c0afef5ab93f0840

Related Changesets

DarkRadiant: master 7e728cb3

2022-01-26 20:19:59

orbweaver

Details Diff
0005885: add failing test for "Reload Defs" changing attached light offsets

This test confirms the behaviour seen in GUI and reported in 0005885. The
"Reload Defs" command is resetting attached light offsets to [0, 0, 0]
regardless of their original values.
Affected Issues
0005885
mod - test/Entity.cpp Diff File

DarkRadiant: master 0ffea8f6

2022-02-02 20:13:48

orbweaver

Details Diff
0005885: IMatrixTransform's method is now setLocalToParent()

Assigning to a non-const reference return value is horrible for
debugging (no easy way to set a breakpoint on value change) and
similarly inconvenient for IDE navigation (const and non-const methods
are mixed up in search results). This is now a fully fledged setter
method to improve clarity.
Affected Issues
0005885
mod - include/itransformnode.h Diff File
mod - radiantcore/entity/EntityNode.cpp Diff File
mod - radiantcore/entity/EntityNode.h Diff File
mod - radiantcore/entity/doom3group/StaticGeometryNode.cpp Diff File
mod - radiantcore/entity/eclassmodel/EclassModelNode.cpp Diff File
mod - radiantcore/entity/generic/GenericEntityNode.cpp Diff File
mod - radiantcore/entity/light/LightNode.cpp Diff File
mod - radiantcore/entity/speaker/SpeakerNode.cpp Diff File

DarkRadiant: master 90958ed0

2022-02-02 20:49:08

orbweaver

Details Diff
0005885: fix loss of attached entity offset after Reload Defs

To render the entity offset, we are using the localToParent matrix
exposed by the ITransformNode interface. However this matrix was only
being set once, when the attachments were constructed, which isn't
sufficiently "sticky" -- the localToParent matrix can easily be
recalculated by code in the attached entity itself.

We now set the localToParent matrix immediately before rendering each
attached entity, ensuring it is always up to date.
Affected Issues
0005885
mod - radiantcore/entity/EntityNode.cpp Diff File
mod - radiantcore/entity/EntityNode.h Diff File

DarkRadiant: lighting_mode2 bfd819eb

2022-02-13 05:52:29

greebo

Details Diff
0005885: Port the unit test introduced in 7e728cb3, such that it's failing here in this branch too, as intended Affected Issues
0005885
mod - test/Entity.cpp Diff File

Issue History

Date Modified Username Field Change
21.01.2022 19:39 Dragofer New Issue
25.01.2022 21:28 orbweaver Assigned To => orbweaver
25.01.2022 21:28 orbweaver Status new => acknowledged
26.01.2022 20:08 orbweaver Status acknowledged => confirmed
26.01.2022 21:03 orbweaver Status confirmed => assigned
08.02.2022 21:01 orbweaver Status assigned => resolved
08.02.2022 21:01 orbweaver Resolution open => fixed
08.02.2022 21:01 orbweaver Fixed in Version => 3.0.0
08.02.2022 21:01 orbweaver Note Added: 0014718
13.02.2022 06:28 orbweaver Changeset attached => DarkRadiant master 7e728cb3
13.02.2022 06:28 orbweaver Changeset attached => DarkRadiant master 0ffea8f6
13.02.2022 06:28 orbweaver Changeset attached => DarkRadiant master 90958ed0
13.02.2022 06:45 greebo Changeset attached => DarkRadiant lighting_mode2 bfd819eb