ID:2025875
 
BYOND Version:509
Operating System:Windows 10 Pro
Web Browser:Chrome 47.0.2526.111
Applies to:Dream Seeker
Status: Open

Issue hasn't been assigned a status value.
Descriptive Problem Summary:
On our code base we added a way to change the client.view size using the mousewheel for certain mob types after mousewheel settings were added.

I first noticed on 509 that occasionally when rapidly scrolling the mousewheel so that client size was being reduced quickly (and going through each client.view size downwards) could break the map rendering.

Below is a visual display of what occurs when the map render is put into this broken state.
http://puu.sh/mMy8W/b77df8b598.flv

This can be fixed by once again increasing client.view size so it is not a major issue for us since it can be easily fixed. But it may occur for other programs so it seems useful to report it, the problem does not go away on it's own if left running.

Numbered Steps to Reproduce Problem:
1. Set client.view size arbitrarily high so that it can be reduced
2. Have client.view be reduced fairly rapidly, the code governing ours doesn't instantly change it but when a mousewheel calls it it will.
3. You should be able to reproduce this with our mousewheel scrolling within about 1 minute of increasing/reducing client.view

Code Snippet (if applicable) to Reproduce Problem:
/client/MouseWheel(object,delta_x,delta_y,location,control,params)
if(istype(mob,/mob/dead/observer) || buildmode) //Arbitrary code restricting use, can be removed in a test version
if(delta_y > 0)
view--
else
view++
view = max(view,1)
haszoomed = 1 //Arbitrary variable showing the mob has zoomed, can be removed in text version
..()


Expected Results:
The client.view size reduces normally without issue

Actual Results:
On the bottom half of the map render screen you'll visually see two bands of pixelated nonsense

Does the problem occur:
Every time? Or how often?
Can be reproduced within a few minutes of mousewheeling up/down for us fairly rapidly
In other games?
In other user accounts?
On other computers?

When does the problem NOT occur?
I haven't ever been able to reproduce it when changing client.view size slowly, so I assume if the time between client.view changes is either >world.tick_lag or >world.tick_lag/10 (I don't know which) you won't ever encounter this problem

Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.)
I don't believe this happened until version 509 but that may simply be the first time I encountered it.

Workarounds:
Simply increasing client.view size will reset the map render and fix the problem
I actually fixed a bug regarding some junk rendering in 510, so you might want to take a look and see if that takes care of it.
Alright, I'll update now
Yes I managed to reproduce it on 510, also I've found just a tiny bit more about it that might be useful.

When reproducing the bug I noticed that just before I managed to trigger it the map had all turfs rendered but none of the mobs/objects rendered yet (essentially it looked like the see_turfs view), reducing the client view size during this time caused it to activate.