Here's my Iso-ish engine as it stands.
A few of the Z ordering problems are just number related i think, like the sprites have to be a certain height or something. Anyway it looks ALMOST done, but it actually isn't. There's still a few subtle Z order problems.
The reason I'm putting it here is, in the game, try jumping around on the boxes in the lower right portion of the level. You will find that you can manage to jump inside the big box, also due to the same problem, you cannot climb up on the bottom stack of boxes (you can however jump across)
The problem, i believe, stems from something odd with the picking. I'm using 'is overlapping' to pick the objects the game knows are 'beneath' the player. I -think- it has something to do with the UID/order that I put the collision objects into layout. It's not working as intented, i basically want this:
If the player is higher than the obstacle, move the height offset variable to the height of the obstacle, therefor making the player able to stand on top of it when he lands.
But in some cases, if the controller object collides with an object lower than that on an obstacle that the player is already standing on, the player falls to the height of the collided obstacle, rather than just staying above it like he should. It also goes the other way too, sometimes, when standing on a small obstacle, when jumping onto a taller obstacle, the height offset isn't updated until the controller object isn't overlapping the smaller obstacle at all.
I can't really explain, just play it and see
Does anyone know a better way of picking the objects rather than 'is overlapping?' Or is there a bug in 'is overlapping?' that needs fixing?