I thought of 2 suggestions.
1st, does the players really needs to know all of the items that are behind trees?...
Is it possible that the players only needs to see the items that are behind the tree next to him? So a radar like code "if players is near, transparents this tree" same depth values as initiated, just a transparent tree and only when needed.
2nd.
Create a shader, for highlighting the edges of an item and drawing it last to screen before render() / sync()
So you would see all hiddent behind other sprites with a nice highlight , drawing the render image last to screen with absolute the depth problem.
If you cannot create a shader (like me.. i dont understand the concept of building shaders yet) use phoshop or gimp maybe to create a highlighted img to every item you have, it should not be hard just may take some time to go over all the items. Since it is just a highlight img of the same texture, yoy can save disk space and loading time by reducing the resolution.
Actually now i have another suggestion to rule them all.
You can use like a little pointer if two sprites overlap aka coin and tree, where the pointer points behind the tree (same depth as the item) only that it goes up on the y value and down, making you notice something is there.
This could actually be real fun, as only one item is being pointed by this pointer if you took it after some delay a new item that the player did not see yet. Wil be pointed.
Cheers.
Awesome thread.
Nadav "Haliop" Rosenberg
Lets make the world great forever.