ID:118752
 
Resolved
Applies to:Dream Seeker
BYOND Version:490.1108
Operating System:Windows XP Pro
Web Browser:N/A
Status: Resolved (490.1109)

This issue has been resolved.
I think SIDE_MAP might not be playing nice with the new native pixel movement. The feature I'm requesting is that it does.

Screenshot 1 (Problem)
Screenshot 2

source
This actually should have been a bug report. I'm moving it over so it can be counted.

I should point out however that your bounds are off. The correct bound_x value to go with your icons should be 8, not 16, and based on the icons' top faces I believe bound_height should be 12 (although 16 isn't a bad choice, and would make sense if you had set world.icon_size to 32x24).
I think this also happens in isometric format as well, since they're really similar.
Isometric has the essentials of this fix already; it just didn't properly get implemented for SIDE_MAP. However isometric layering still is imperfect. To fix isometric mode properly, a topological sort has to be finished and it needs a way of properly breaking "cycles" by ignoring parts of icons that don't overlap.
Another possible glitch?

Moving around my little SIDE_MAP world with trees around (and a layer 100 grid area), I see some flickering of objects going under turfs. It only happens when I move, and moving back and forth between those positions will flicker it as you'd expect. I've also observed trees sometimes jumping ahead of nearby trees, but only at certain positions.
Get me a demo on the new thing and I'll take a look.
http://files.byondhome.com/Kaiochao/bug/blarg_src.zip

It just randomly spawns trees with random pixel positions. When you move around enough, you should notice some trees randomly switching layers with each other.
There are two issues in your demo, one of them legitimate: There does still appear to be a sorting issue that is difficult to resolve with the object sizes you're using. The other issue is that you have trees overlapping bounding boxes, which makes sorting them more difficult.
I thought it would be as simple as "the lower the bottom edge of the bounding box, the closer the object".
Another issue that arises is when the bounding box is smaller than the icon itself. If you move alongside an object like that, unexpected layering occurs. When the layers are equal and the objects are at equal vertical positions, the layering seems to flicker from one to the other when you move around. I suggest doing something like making "left to right rendering" a standard those ambiguous cases can rely on to decide which is on top.

Layering is unexpected sometimes when the bounding box is smaller in width than the icon, and you slide along the sides.

Also,
screenshot 3 (problem)
screenshot 4
Same source, BYOND build 493.1117.
I'm bumping this because the problem still exists. Maybe it's on the backburner, but this bug report should at least be re-opened or separated to a new topic.

I don't know what the simplest test environment is in SIDE_MAP mode, since its implied measurements aren't as they appear and I could just still be misunderstanding it. To me, the simplest test case is this: 32x32 icons, 32x32 bounding boxes, randomly placed objects. They don't even have to be displaced by pixels. You don't even need to be using pixel movement. Turfs cover things up sometimes, and that's a problem.
FLOAT_LAYER overlays sometimes don't show up over the attached object. It mysteriously depends on the relative positions of other objects.

Demo:
https://www.dropbox.com/s/niwd7i9ezd9mvc2/game.zip
BUMP
^ This is still happening. In my case, it is because one of my underlays has a pixel_y of a negative value, and this causes it to be drawn on top of everything else, even if its layer value is lower than theirs.
Try using layers like 1.1, 1.11, 1.12.
Would that help you? o.o Although it could involve changin alot of layer values.
Overlays + native pixel movement + side map = extreme layering problems. Turfs will appear above overlays, some overlays will randomly shift up and down layers, etc. This really needs to be addressed because it is making my project impossible to develop.
I'm not sure if this is another layering issue, but when using pixel movement in a normal map mode, if I have multiple objs with the same layer touching and move around them, they jump on top of/below each other.
In response to Cloud Magic (#15)
Cloud Magic wrote:
I'm not sure if this is another layering issue, but when using pixel movement in a normal map mode, if I have multiple objs with the same layer touching and move around them, they jump on top of/below each other.

The solution for me was to use SIDE_MAP. It's overall more stable than the default, but in exchange you get the overlay problem. The bottom line is that if side map's overlays were displayed correctly, we'd have zero issues.