ID:63986
 
Resolved
Fixed in 443
BYOND Version:438
Operating System:Windows XP Home
Web Browser:Firefox 3.0.8
Video Card:GeForce 8800GT (G92 chip)
Component:Dream Seeker
Game/Hub:
Status: Resolved (443)

This issue has been resolved.
Descriptive Problem Summary:
If you resize a map from a larger number to a smaller number, screen artifacts from the old turfs remain even though the turfs no longer exist.

Numbered Steps to Reproduce Problem:
1) Set up a project that displays a map, an info panel as default and an output as default
2) Create a map that is 10x10x1 with a turf of some random flood-fill color
3) Run code snippet
4) Use Resize to resize from 10x10x1 to 1x1x1
5) Graphical artifacts from the past turfs despite only 1 turf existing

Code Snippet (if applicable) to Reproduce Problem:
client/verb/Resize(x_ as num, y_ as num, z_ as num)
world.maxx = x_
world.maxy = y_
world.maxz = z_
. = 0
for(var/turf/T) .++
world << "[.] turfs exist"

turf/icon = 'test.dmi'


Expected Results:

Black screen except for 1 single turf

Actual Results:

Black screen with screen artifacts from the old turfs

Does the problem occur:
Every time

When does the problem NOT occur?

Workarounds:
None
This is happening because the client.view() is larger than the world.maxx/maxy. We should internally check and correct for this.
Fixed in 443. The client.view var will be unaffected by any map changes (which is important lest games that use dynamic maps cease to work), but any client.view larger than the available map size will be interpreted as no bigger than the map.