MantisBT - Zandronum
View Issue Details
0000936Zandronum[All Projects] Bugpublic2012-07-26 07:062018-09-30 19:53
StrikerMan780 
Dusk 
normalmajoralways
closedfixed 
MicrosoftWindowsXP/Vista/7
1.0-beta 
1.0 
0000936: Missile Movement not clipped on client when hitting line horizon online
Myself and a few of my buddies found an interesting bug in regards to missile movement online. When you fire certain projectiles at a line horizon, it will die server-side, but the client will not be informed, so the missile keeps flying, past the boundaries of the map and into the void. If the projectile flies into the void far enough, it will come out on the other side of the map, flying forever if there's nothing solid for it to collide into.

Eventually, this will cause an immense amount of FPS drops for players, as the projectiles keep building up. Ruin has recorded a video of our play session:
'http://www.youtube.com/watch?v=0rq27EutuME [^]'
Fire a rocket into a line horizon on a map, it should just keep going past the line without being killed. It seems to happen every time when firing north or south in our tests, whereas in other directions, it's 50/50.
No tags attached.
related to 0000718closed TIHan Projectile desync when fired to an edge (see demo for the effect) 
related to 0000912closed Dusk Low Frames Per Second on the latest July 1st build 
Issue History
2012-07-26 07:06StrikerMan780New Issue
2012-07-26 07:07StrikerMan780Note Added: 0004085
2012-07-26 07:09StrikerMan780Note Edited: 0004085bug_revision_view_page.php?bugnote_id=4085#r2226
2012-07-26 12:17DuskAssigned To => Dusk
2012-07-26 12:17DuskStatusnew => assigned
2012-07-26 19:20Torr SamahoRelationship addedrelated to 0000718
2012-07-26 19:21Torr SamahoNote Added: 0004086
2012-07-27 00:08DuskNote Added: 0004092
2012-07-27 00:09DuskRelationship addedrelated to 0000912
2012-07-28 21:16DuskNote Added: 0004117
2012-07-28 21:17DuskNote Edited: 0004117bug_revision_view_page.php?bugnote_id=4117#r2241
2012-07-28 21:17DuskStatusassigned => needs review
2012-07-29 07:02Torr SamahoNote Added: 0004122
2012-07-29 10:49DuskNote Added: 0004125
2012-07-29 10:57DuskNote Edited: 0004125bug_revision_view_page.php?bugnote_id=4125#r2249
2012-07-29 10:57DuskNote Edited: 0004125bug_revision_view_page.php?bugnote_id=4125#r2250
2012-07-29 11:53Torr SamahoNote Added: 0004126
2012-07-29 11:53Torr SamahoStatusneeds review => needs testing
2012-08-01 02:32QentNote Added: 0004176
2012-08-01 05:19Torr SamahoStatusneeds testing => resolved
2012-08-01 05:19Torr SamahoFixed in Version => 1.0
2012-08-01 05:19Torr SamahoResolutionopen => fixed
2018-09-30 19:53Blzut3Statusresolved => closed

Notes
(0004085)
StrikerMan780   
2012-07-26 07:07   
(edited on: 2012-07-26 07:09)
It helps to note that disconnecting and reconnecting to the server causes the projectiles to disappear, most likely indicating they were only alive on the client, as suspected. Also, the bug doesn't seem to affect Hexen-Style FastProjectiles.

(0004086)
Torr Samaho   
2012-07-26 19:21   
And the third thing caused by the fix in 0000718:0003505...
(0004092)
Dusk   
2012-07-27 00:08   
For the record, this also happens if a missile hits the sky and is meant to vanish.
(0004117)
Dusk   
2012-07-28 21:16   
(edited on: 2012-07-28 21:17)
It seems this happens because the CLIENT_CanClipMovement prevents clients from going to AActor::Destroy, thus the actors won't get deleted. I added explicit server-commands calls for destroying the actors.

I did gruesome things to fix this (i.e. copy/paste a check six times). :(

'https://bitbucket.org/CrimsonDusk/neurosphere/changeset/62431d2681e0b6821e6d28630846be6d7df465ce [^]'

(0004122)
Torr Samaho   
2012-07-29 07:02   
Thanks!
Quote from Dusk
I did gruesome things to fix this (i.e. copy/paste a check six times). :(

Yeah, that's pretty gruesome, but this is consistent with how these kind of things are handled...

So, the fix itself looks fine, good work on that! There is just my usual nitpicking ;): You shortened something to use NETWORK_InClientMode at a place that has nothing to do with this fix. IMHO this shouldn't be in the fix commit. Also there is a newline after line 2764 missing and the trailing tabs in line 2899 shouldn't be there. I can clean this myself with pull and collapse (but this way the commit meta data won't show your name anymore) or you can do this on your end, collapse the changes into a single changeset and I pull that one. Just let me know what you prefer.
(0004125)
Dusk   
2012-07-29 10:49   
(edited on: 2012-07-29 10:57)
I'll clear it out, one sec..

EDIT: done

(0004126)
Torr Samaho   
2012-07-29 11:53   
Thanks! Pulled and rebased.
(0004176)
Qent   
2012-08-01 02:32   
The fix works.