If you create a plane (or a cube) and position it at the perfect distance & scale from the camera so it just fills the screen top and bottom.
Then set it to entityorder +1 (in front) and then hide it using alpha 0. Then create a texture and use it as the drawspace using setbuffer texturebuffer(texture). Then to get your screen you can alpha-fade it in and out as needed.
Because a texture can only be square, i reccommend making the menus/inventory square too (so you can still see the 3d around the edges) and using a 1024x1024 texture, or 512x512 if big enough. If using 1024 dont rely on single pixel detail as there will be some shrinkage due to the real screen res being 768.
Using sprites works too and looks better, but is much more fiddily. I wrote a sprite thingy here http://www.d-grafix.com?page=sourcecode which calculates a virtual drawspace of 640x480, over the 3d using sprites regardless of physical resolution (but it isnt perfect and wont work right in non standard res like widescreen, but may give you some ideas)
Then set it to entityorder +1 (in front) and then hide it using alpha 0. Then create a texture and use it as the drawspace using setbuffer texturebuffer(texture). Then to get your screen you can alpha-fade it in and out as needed.
Because a texture can only be square, i reccommend making the menus/inventory square too (so you can still see the 3d around the edges) and using a 1024x1024 texture, or 512x512 if big enough. If using 1024 dont rely on single pixel detail as there will be some shrinkage due to the real screen res being 768.
Using sprites works too and looks better, but is much more fiddily. I wrote a sprite thingy here http://www.d-grafix.com?page=sourcecode which calculates a virtual drawspace of 640x480, over the 3d using sprites regardless of physical resolution (but it isnt perfect and wont work right in non standard res like widescreen, but may give you some ideas)