console: Format tabs semi-intelligently
[attac-man.git] / README.oglconsole
blobf2ab4fa879a9411a4553a9370b8f2ad0af6daf8d
1 Licensed under the GNU GPL 2. Pricing for other licenses is negotiable,
2 contact the author for details:
4 Donny Viszneki <smirk@thebuicksix.com>
6 ******************************* NEVER FAIL *******************************
8 The primary directive of OGLCONSOLE is to NEVER FAIL (unless you can't
9 initialize your OpenGL context.)
11 OGLCONSOLE Mission Statement: OGLCONSOLE will provide text-based user I/O
12 even when no resources can be found or loaded by the application embedding
13 it. As long as you successfully initialize your OpenGL context, OGLCONSOLE
14 can report any and all errors to the user, and at the discretion of the
15 programmer, can allow the user to repair the problem, or take any other
16 actions provided by the programmer through the console interface.  
17 Additionally, putting a console in your application makes troubleshooting
18 and various debugging efforts much easier.
20 *************************** MULTIPLE CONSOLES ***************************
22 There are two very small subsets of the API. For an 
23 application that uses multiple consoles, you must be responsible for the 
24 variable representing each console. Call Render(), Destroy(), Focus() 
25 and Edit() to select for options changes.
27 If you have one console you are responsible for much less. Just call
28 Create() once, and throw away the return value. Whenever you need, just
29 call Draw(), or change options, and Quit() when you're done.
31 ******************************* Other Crap *******************************
33 OGLCONSOLE Features: OGLCONSOLE supports scrolling up and down to see past
34 output from the application. OGLCONSOLE also supports scrolling up and
35 down the "history" of user input. The primary purpose of having "history"
36 is to be able to re-execute complex commands that have already been issued
37 with little or no modification, saving the time of re-entering a complex
38 command.
40 OGLCONSOLE Extras: Since OGLCONSOLE's functionality requires text-drawing
41 functionality, you too are able to leverage that functionality. However it
42 is a very ugly font.
44 OGLCONSOLE Limitations: OGLCONSOLE makes the slightly wasteful decision of
45 compiling its font directly into its binary target. To amend this waste,
46 the very simplest of fonts has been chosen.
48 OGLCONSOLE Quirks: OGLCONSOLE allows for multiple consoles to exist within
49 an application, however it is geared toward applications with a single
50 console. Functions which operate on consoles do not specify the console
51 they are to operate on within their parameters. Instead, a separate
52 function is used to select a console, and all subsequent console
53 operations are directed toward that console.