Virtual Split Screen in TF: a theory

Submitted by Trispis on Mon, 2007-07-23 05:57

I've mentioned this to a couple people already, but I figured I'd go ahead and post it for anyone who might have the skill and inclination to write it.

Years ago, TFPREFIX became a standardized 'add-on' in the MU world. Keep this in mind, because it's useful to the rest of this post.

While I was working on PIGLet, the natural 'next step' after ascii graphics would have been animated ascii graphics. Last time I publicly discussed this, there were lots of ideas being exchanged and even some progress demonstrated (@prompt is cool, but apparently not immediately handy to what I have in mind).

What I picture in my mind as the end solution is a 'split-screen' view: 10 lines of "console" (this is the new part, read along for explanation), followed by normal output from the MU, followed by input window.

The biggest obstacle during discussion was that TF5 doesn't natively support split-screen output window (to divide the output per above). But, this past week, I put a few other pieces together in my head which can work as an initial work-around for getting this ball rolling.

A custom tf definition (ala /def) which uses TFPREFIX with a hook for CONSOLE window lines. This /def would use some basic math to do a full screen refresh (kind of clunky, but at least it's a way to get this thing started) of:

> Last
>
> ten
>
> lines
>
> of
>
> CONSOLE
> OUTPUT
> -- separator line --
> Remainder dedicated to
...
> normal output.
> -- separator line --
> input
> window

... this would likely need to be a full-screen refresh once-per-transmission (from server to client) -- thus the 'clunky' reference above. But still, it seems possible.

I know height() can be retrieved (THROUGH tf) from PuTTY, so... it appears all the tools are here for making: ascii movies, enterprise view screens, realtime D&D (nethack?) maps, etc..

Personally, I do not have the necessary tf skill to put this together.

Anyone out there have the necessary tf skill to put this together so that the artsy-fartsy types can start work on making pretty stuff while the clients/servers have a chance to get on the same page? If so, please post!