Yeah, works fine. Nice work.

Could be wrong, but it looks like this also fixed some bugs or at least made the game feel more "responsive" (especially when building rooms and picking/dropping creatures).
By the way, RenderManager.cpp, line 285, I changed this a little. The if(empty) calling "break;" in a while(true) is the same as while(!empty). The missing code requested by the FIXME note can then be added after the while loop instead of in the if statement in the while. I think this looks a bit cleaner and removes one unneeded check and a NULL initialisation.
and in line 279 and 280:
I removed the "break;" in front of the "return false;" Breaking exists the switch causing the "return false;" to be never exectuted and always to "return true;" outside the switch.