The renderer should now be free of any direct access to client code. Even 3d rendering is now done via a function pointer. The cshift code is done as a 2d screen function.