isometric z-ordering in 2d is a pain. There is a very good reason why spindizzy / marble madness player images are small at the bottom...if your player image is wide at it's base, you can have a real headache trying to get the draw order right.
The "correct" draw order also depends a lot on how / whether you have height differences in the game, and also whether you can ever go under a block that you can also go over (i.e. go over a bridge and also through the water under the bridge).
In all, when I tried to write one, I came to the conclusion that in 2d, stick to a simple sprite that's thin at the bottom if you want to have complex maps. Or stick to simple maps. Or if you want it to do everything, write it in 3d.
I may post up my (very old) source sometime. I was meaning to dig it out again for another reason anyway...
The "correct" draw order also depends a lot on how / whether you have height differences in the game, and also whether you can ever go under a block that you can also go over (i.e. go over a bridge and also through the water under the bridge).
In all, when I tried to write one, I came to the conclusion that in 2d, stick to a simple sprite that's thin at the bottom if you want to have complex maps. Or stick to simple maps. Or if you want it to do everything, write it in 3d.
I may post up my (very old) source sometime. I was meaning to dig it out again for another reason anyway...