View Issue Details

IDProjectCategoryView StatusLast Update
0006062DarkRadiantMap Editingpublic23.07.2024 11:36
ReporterDragofer Assigned Togreebo  
PrioritynormalSeveritynormalReproducibilityalways
Status closedResolutionfixed 
Product Version3.0.0 
Target Version3.1.0Fixed in Version3.1.0 
Summary0006062: Moving speakers deletes distance spawnargs if they're the same as in shader
DescriptionNewly created speakers will have s_mindistance and s_maxdistance spawnargs set to the same values as in the soundshader. If the soundshader specifies no values, the speaker will have a min of 0 and max of 10.

The issue is that as soon as the speaker is moved, these distance spawnargs will be deleted if they have the same value as in the soundshader. If the soundshader doesn't specify the distance, then the spawnargs will be deleted if they have a value of 0 (happens often with s_mindistance).

The speaker radius doesn't appear to change as a result. Other spawnargs like s_volume don't seem to get deleted.
Additional Information1) Create a speaker with the shader automaton_utilize. This will be created with the spawnargs s_mindistance 1 and s_maxdistance 30, as defined in the soundshader.
2) Move the speaker. Both distance spawnargs are deleted.
TagsNo tags attached.

Activities

There are no notes attached to this issue.

Related Changesets

DarkRadiant: master 0a01a20d

18.08.2022 17:18

greebo


Details Diff
0006062: Add unit test covering speaker creation and move operation Affected Issues
0006062
mod - test/Entity.cpp Diff File
mod - test/resources/tdm/sound/parsing_test.sndshd Diff File

DarkRadiant: master 541f2638

18.08.2022 17:22

greebo


Details Diff
0006062: Don't clear s_min/s_max on speakers if the values match the sound shader declaration, unconditionally write the radii to the entity key values. Affected Issues
0006062
mod - radiantcore/entity/speaker/SpeakerNode.cpp Diff File

DarkRadiant: master 09e5ec1c

21.04.2024 19:33

orbweaver


Details Diff
Avoid creating speaker min/max spawnargs when moving a speaker

Instead of unconditionally creating min/max distance spawnargs in
SpeakerNode::freezeTransform, we now write them under two different
conditions: if the modified speaker radii differ from the shader
default, or if there were already min/max spawnargs to begin with.

This prevents creating redundant spawnargs just because a speaker was
moved, but also will not remove existing spawnargs just because they
happen to match the shader default (which was the original complaint in
0006062).
Affected Issues
0006062
mod - radiantcore/entity/speaker/SpeakerNode.cpp Diff File

Issue History

Date Modified Username Field Change
07.08.2022 13:06 Dragofer New Issue
07.08.2022 13:18 Dragofer Description Updated
07.08.2022 13:19 Dragofer Description Updated
07.08.2022 16:46 greebo Status new => acknowledged
18.08.2022 17:00 greebo Status acknowledged => confirmed
18.08.2022 17:00 greebo Assigned To => greebo
18.08.2022 17:00 greebo Status confirmed => assigned
18.08.2022 17:22 greebo Changeset attached => DarkRadiant master 0a01a20d
18.08.2022 17:22 greebo Changeset attached => DarkRadiant master 541f2638
18.08.2022 17:22 greebo Target Version => 3.1.0
18.08.2022 17:22 greebo Status assigned => resolved
18.08.2022 17:22 greebo Resolution open => fixed
18.08.2022 17:22 greebo Fixed in Version => 3.1.0
13.01.2024 05:31 greebo Status resolved => closed
23.07.2024 11:36 orbweaver Changeset attached => DarkRadiant master 09e5ec1c