ID:94842
 
Not a bug
BYOND Version:465
Operating System:Windows Vista Home Premium
Web Browser:Firefox 3.6.3
Applies to:Dream Seeker
Status: Not a bug

This is not a bug. It may be an incorrect use of syntax or a limitation in the software. For further discussion on the matter, please consult the BYOND Developer forums.
Descriptive Problem Summary:
So I was using big icons to make a tree stored within one icon file, I placed this big icon on the map and shifted its pixel x variable by -64 to make sure that the bottom portion of the trunk was in the atom's density. This worked out fine until I started walking around the tree to make sure everything was drawn correctly when I discovered that at one point the grass turf was drawn over my player's mob and remained drawn over it as long as the mob was in that position. This happened in two places around the tree and here is an example of one of them:


Numbered Steps to Reproduce Problem:
1. Create a "tree-like" native big icon that is 128 px high by 96px wide and code it in as an object.
2. Shift the object's pixel x variable by -64.
3. Walk around the "tree-like" object.
4. Observe the way the map draws the turfs around the object.

Expected Results:
I expected BYOND to draw the turfs on the correct layers in the presence of the object.

Actual Results:
In some areas BYOND did not draw the turfs on the correct layer and actually drew them on the layer in front of the player's mob.

Does the problem occur:
Every time? Or how often?
It happens everywhere around where I place one of these tree icons

In other games?
I have not observed any other isometric games so I cannot conclude if this occurs in any other game.

In other user accounts?
Tested with another one of my keys and same results occur.

On other computers?
Unconfirmed on others' computers.

When does the problem NOT occur?
The problem does not occur when there are none of the big icon tree's around.

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 have only compiled this in 465

Workarounds:
None that I know of except not using big icons.

Also, here is a copy of the source where it happens:http://www.byond.com/members/Cody123100/files/ Bug%20Report.zip
This isn't a bug. Big icons are limited in that there's no way to layer them properly when the whole thing isn't dense. The size of the "footprint" the icon has on the map (how many actual tiles it covers) depends on the icon's width; it will always have a square footprint. You can't just make the middle of that "footprint" dense but leave the other parts alone. (In isometric the tallness of the icon is irrelevant, so a tall icon doesn't really count as "big" for the purposes of this concept.)

An option that should work is using the tree as an overlay. If for instance your regular icon size is 64x64 but the tree is 128x256 or something, you can add the tree icon to the turf as an overlay and give it a pixel offset of -32,-32,0 which should center it on the turf (if the icon has been given the right perspective). Big overlays don't get "pulled forward" in the same way that a big icon on a regular turf would, which should prevent any layering conundrums.