ID:878549
 
Resolved
Setting step_x/y outside of normal bounds for an object on the map caused it to sometimes appear and disappear suddenly. The step_x/y values are now corrected and the item moved to a new loc if necessary at when the map is populated.
BYOND Version:496
Operating System:Windows XP Home
Web Browser:Chrome 20.0.1132.57
Applies to:Dream Daemon
Status: Resolved (497.1146)

This issue has been resolved.
Descriptive Problem Summary:
When approaching an object that has been laid down on the map, offsetted in position manually by shifting its position, and using pixel movement, the object will not appear in part when approaching it.

The object will only be displayed if you are in its entirety of view I could say...

Steps to reproduce problem
1) Place an object on the map
2) Offset its position (I use Shift+Arrow)
3) When approaching the object in a world using pixel movement, no part of it will be revealed. When you're in the object's full view, however, it magically appears.

I have an object on a map with step offsets, and I'm not seeing this issue when approaching with pixel movement like you said. I'll need a test case to debug this. You can email source to me in a zip at LummoxJR@aol.com; be sure to include instructions on how to get to the place in the game where this happens, and if there's a character creation process I'll need instructions on how to get through that quickly. It seems like this issue will likely show up in your map file, and if you can tell me which file it is, so much the better.

Also, does this happen in older versions?
Lummox JR changed status to 'Unverified'
With your test case I can see this in action now and I'm preparing a fix. The problem is that some of the objects on your map have a step_x/y way outside of normal bounds. In your case I found some with step_y=-60, which should actually be step_y=4 and placed two turfs further to the south.

Since I think it's unreasonable for the server to expect to look for step offsets too far outside normal bounds, the next best thing is to make the map "normalize" the object (something that Move() does already) by moving it to a different loc after the map loads.
Lummox JR resolved issue with message:
Setting step_x/y outside of normal bounds for an object on the map caused it to sometimes appear and disappear suddenly. The step_x/y values are now corrected and the item moved to a new loc if necessary at when the map is populated.