Hello everyone! I have managed to achieve this quite well....
My problem is, Im not sure how it would scale in terms of speed.
Please, please do me the huge favour of reading this through. My deadline is christmas, and its drawing dangerously near:O

I currently have all tiles and objects(including npcs) in zordered linked list.
I draw the full list, including the models in the right order.
Unfortunately, I cant really cache the 3d models when its their turn to be rendered. It uses way too much memory. So, I must render them each time they are needed.
I have implemented a "dirty rectangles" system, so only the objects(tiles/npcs/etc) that intersect a dirty rectangle will be redrawn.
Here are the steps in order...IGNORING DIRTY RECTS:)
-Iterate through map objects, painting each at the right location...
-If its a tile, then paint a tile...
-If its an avatar(npc/player), then render model to 200x200 framebuffer,
with a MAGENTA background. Create new image with MAGENTA set to TRANSPARENT. Paint onto main backbuffer.
Now, that works. It really does. The problem is it seems like a lot of trouble. Is there any ways I can improve this?
Is faster/possible to make the map into some kind of 3d object itself, dynamically?
Is it possible to set the framebuffer jpct renders onto transparent, to cut out an extra step?
Also, how on earth could I have several different avatars?
I would think a separate world for each model would work perfectly,
but is it too memory intensive?
Thank you in advance for this!
BTW: My FPS is ~80 when im not painting anything new, but drops to
~30 when im in fullscreenmode, and moving my character.
In window mode, im lucky if i get 18, and its only ONE character:(.