View Issue Details

IDProjectCategoryView StatusLast Update
0004170The Dark ModCodingpublic28.06.2018 14:17
ReporterSteveL Assigned To 
PrioritynormalSeveritynormalReproducibilityalways
Status resolvedResolutionfixed 
Product VersionTDM 2.03 
Target VersionTDM 2.07Fixed in VersionTDM 2.07 
Summary0004170: LOD still changes noshadows settings when not wanted
DescriptionFix 0003744 wasn't quite right. If you set "noshadows" "1" on an entity, LOD takes control of shadowcasting whether or not there are "noshadows_lod" spawnargs present. Per 0003744, LOD shouldn't change shadowcasting or skin settings if the mapper hasn't specified any LOD spawnargs relating to those settings.
Additional InformationThe problem for shadows is this line:

m_LOD->noshadowsLOD = dict->GetBool( "noshadows", "0" ) ? 1 : 0; // the default value for level 0

If you set noshadows=1, m_LOD->noshadowsLOD gets set to 1. The fix from 0003744 thinks that if m_LOD->noshadowsLOD has any value other than zero, the mapper must have set a LOD shadows spawnarg, and that LOD should therefore control shadowcasting.

Fix it by checking specifically for noshadows_lod spawnargs and if they are not present, setting m_LOD->noshadowsLOD to the special value of -1 (like we do with skins) instead of setting it to the value of the "noshadows" spawnarg.
TagsNo tags attached.

Relationships

related to 0003744 resolvedSteveL LOD making unwanted changes to shadowcasting and skin settings 

Activities

SteveL

SteveL

03.07.2015 17:15

developer   ~0007614

at rev 6512

entity.cpp
SteveL

SteveL

03.07.2015 17:24

developer   ~0007615

Re-opening this to check later why the entities in question (cagelamp 02 hanging) cast shadows after LOD switches in the first place. The material they are made of is non-shadowcasting, which apparently is somehow getting overidden by LOD.
Springheel

Springheel

22.06.2018 15:31

administrator   ~0010555

I haven't noticed any problems with LOD lately--are there any specific entities causing visible problems?
nbohr1more

nbohr1more

28.06.2018 08:36

developer   ~0010600

Last edited: 28.06.2018 14:17

View 3 revisions

Unable to reproduce

1) Open map ambient_light.map
2) spawn atdm:cagelamp02_hanging
3) spawn some movable shadow casting items
4) Note that no matter your distance the cagelamp casts no shadows on objects
5) Spawn a moveable candle
6) Extinguish cagelamp flame with a water arrow
7) Place candle near cagelamp
8) Note that no matter your distance the cagelamp casts no shadows

No unexpected shadow-casting on LOD transitions.

Issue History

Date Modified Username Field Change
02.07.2015 20:44 SteveL New Issue
02.07.2015 20:44 SteveL Status new => assigned
02.07.2015 20:44 SteveL Assigned To => SteveL
02.07.2015 20:45 SteveL Relationship added related to 0003744
03.07.2015 17:15 SteveL Note Added: 0007614
03.07.2015 17:15 SteveL Status assigned => resolved
03.07.2015 17:15 SteveL Fixed in Version => TDM 2.04
03.07.2015 17:15 SteveL Resolution open => fixed
03.07.2015 17:24 SteveL Note Added: 0007615
03.07.2015 17:25 SteveL Status resolved => assigned
30.12.2015 15:23 SteveL Target Version TDM 2.04 => TDM 2.05
25.11.2016 14:01 grayman Target Version TDM 2.05 => TDM 2.06
15.02.2017 04:33 grayman Assigned To SteveL =>
15.02.2017 04:33 grayman Assigned To => grayman
15.02.2017 04:33 grayman Status assigned => new
15.02.2017 04:33 grayman Assigned To grayman =>
19.09.2017 21:37 nbohr1more Status new => feedback
19.09.2017 21:37 nbohr1more Resolution fixed => open
19.09.2017 21:37 nbohr1more Fixed in Version TDM 2.04 =>
19.09.2017 21:37 nbohr1more Target Version TDM 2.06 => TDM 2.07
22.06.2018 15:31 Springheel Note Added: 0010555
28.06.2018 08:36 nbohr1more Note Added: 0010600
28.06.2018 08:36 nbohr1more Status feedback => resolved
28.06.2018 08:36 nbohr1more Resolution open => fixed
28.06.2018 08:36 nbohr1more Fixed in Version => TDM 2.07
28.06.2018 14:17 nbohr1more Note Edited: 0010600 View Revisions
28.06.2018 14:17 nbohr1more Note Edited: 0010600 View Revisions