MantisBT - Zandronum
View Issue Details
0001389Zandronum[All Projects] Bugpublic2013-07-01 23:492018-09-30 20:16
ibm5155 
Dusk 
normalminoralways
closedfixed 
1.0 
1.11.1 
0001389: Dynamic light color not restored on map reset
clientside script change the light and dynamic lights on the map, but when the map restart it doesn´t go back as it was.

wad test
'https://mega.co.nz/#!j9QViDxQ!IKFh5G0Ul1fwwcywBMt_FD9kwa4lNn_i2GK4dSZJHio [^]'
First you need doomseker or other multiplayer launcher
 load these files:Doom2.wad,Skulltag_actors,Skulltag_data_126,ZM09_LE.wad
 Start on surival mode and start on map zm09

 To active the Lava bug press the switch on the right, you enter on the lava and you die, when the map reset be down of the 3D floor with the weird orange color (a bug)
No tags attached.
related to 0001388new Dusk Effects of Ceiling_RaiseByValue on 3D floors not properly reset during a map reset 
7z ZM09_LE_WFACE.7z (1,464) 2013-07-11 19:47
/tracker/file_download.php?file_id=1008&type=bug
diff client-reset-args.diff (3,542) 2013-07-13 13:38
/tracker/file_download.php?file_id=1010&type=bug
diff resetargs.diff (4,373) 2013-07-14 15:23
/tracker/file_download.php?file_id=1012&type=bug
Issue History
2013-07-01 23:49DuskNew Issue
2013-07-01 23:51DuskRelationship addedrelated to 0001388
2013-07-01 23:51DuskReporterDusk => ibm5155
2013-07-10 23:26ibm5155Note Added: 0006616
2013-07-11 19:31DuskFile Added: ZM09_LE_WFACE.wad.zip
2013-07-11 19:33DuskStatusnew => confirmed
2013-07-11 19:33DuskSummaryBugs that may affect the gameplay and the map itself durin the map reset (2) => Dynamic light color not restored on map reset
2013-07-11 19:47Torr SamahoFile Added: ZM09_LE_WFACE.7z
2013-07-11 19:54Torr SamahoNote Added: 0006621
2013-07-11 19:55Torr SamahoFile Deleted: ZM09_LE_WFACE.wad.zip
2013-07-11 19:55Torr SamahoNote Edited: 0006621bug_revision_view_page.php?bugnote_id=6621#r3678
2013-07-11 19:55Torr SamahoNote Revision Dropped: 6621: 0003677
2013-07-12 11:58ibm5155Note Added: 0006624
2013-07-13 12:38DuskAssigned To => Dusk
2013-07-13 12:38DuskStatusconfirmed => assigned
2013-07-13 13:37DuskFile Added: client-reset-args.diff
2013-07-13 13:38DuskFile Deleted: client-reset-args.diff
2013-07-13 13:38DuskFile Added: client-reset-args.diff
2013-07-13 13:45DuskNote Added: 0006625
2013-07-13 13:45DuskStatusassigned => needs review
2013-07-14 15:23Torr SamahoFile Added: resetargs.diff
2013-07-14 15:30Torr SamahoNote Added: 0006628
2013-07-14 15:30Torr SamahoStatusneeds review => feedback
2013-07-14 15:58DuskNote View State: 0006625: public
2013-07-14 20:18Torr SamahoNote Added: 0006637
2013-07-14 20:18Torr SamahoStatusfeedback => needs testing
2013-07-14 20:18Torr SamahoTarget Version => 1.1
2013-07-14 20:37ArcoNote Added: 0006638
2013-07-14 20:38DuskStatusneeds testing => resolved
2013-07-14 20:38DuskFixed in Version => 1.1
2013-07-14 20:38DuskResolutionopen => fixed
2018-09-30 20:16Blzut3Statusresolved => closed

Notes
(0006616)
ibm5155   
2013-07-10 23:26   
'http://www.mediafire.com/download/9m5fk3t3g9g9x4t/Zombie_Horde_-_ZM09_CLIENTSIDE_BUG.rar [^]'

Better example with a record on zandronum 1.1
When used Thing_SetSpecial on a clientside to chande the light color (on the example to red) when the map resets it doesn´t went back to the original light

Imstructions to do this bug

while you see the prepare to fight print (on survival coop) press the switch.
When the game really starts you don´t press the switch and the dynamic light will be red and not white.
(0006621)
Torr Samaho   
2013-07-11 19:54   
(edited on: 2013-07-11 19:55)
Looks like we were investigating the same issue at the same time, Dusk. Next time I'll assign any ticket to myself as soon as I start to investigate it to prevent us from needlessly doing the same thing twice.

Anyway, I "minimalized" the example wad and think I found out what the problem is: Actor args are not reset during a map reset.

(0006624)
ibm5155   
2013-07-12 11:58   
That´s the problem, since it only change the arg values of dynamic lights, Since I don't even know what should I change on the code I will only "find"/test the bugs =/
(0006625)
Dusk   
2013-07-13 13:45   
I've attached a sort of a fix, while it works here I'm kind of baffled how this actually is working and I'm almost certain it's not the right way to do it.. it's a hack.

It seems dynamic lights don't have net IDs, being on one peer only. Therefore the server doesn't touch them and thus the args need to be reset on the client's end.

Any comments on this?
(0006628)
Torr Samaho   
2013-07-14 15:30   
We actually have two bugs here:

First, actor args are not restored to their initial values during a map reset. Your patch only fixes part of the problem, but I have extended the patch to hopefully cover this fully (see attached diff).

Second, the client doesn't reset ALLOWCLIENTSPAWN actors spawned by the map. Since ALLOWCLIENTSPAWN was only intended for actors that are never altered in any way, this is more a bug of the mod than a bug in the engine. I slightly altered your patch in this regard to stress that we are working around a problem caused by the alteration of an actor that shouldn't be altered.
(0006637)
Torr Samaho   
2013-07-14 20:18   
This contains the updated fix.
(0006638)
Arco   
2013-07-14 20:37   
This issue is now fixed.