/* The terminal handler. This has all sorts of utterly useless junk on it * Share and enjoy. * Thrown up by Pinkfish. Modified by Godot to add the xterm terminal. (10/16/92) Modified by Bannor to use external .h files, and add vt102. (4/16/93) Definitions: <colour> foreground colour B_<colour> background colour BOLD bold or bright letters FLASH flashing or blinking letters RESET return to the normal font -- not a terminal reset. INITTERM Sets up a split screen and moves the cursor to line 23 STATUS Moves cursor to line 24 and clears the line WINDOW Moves the cursor back to the upper window ENDTERM Resets the terminal to one window (full height) */ #include "term_types/t_dumb.h" #include "term_types/t_ansi.h" #include "term_types/t_ansi_s.h" #include "term_types/t_freedm.h" #include "term_types/t_xterm.h" #include "term_types/t_xterms.h" #include "term_types/t_vt100.h" #include "term_types/t_vt100s.h" #define ANSI(p) sprintf("%c["+(p)+"m", 27) #define ESC(p) sprintf("%c"+(p), 27) mapping terms; void create() { terms = ([ T_DUMB, T_ANSI, T_ANSI_STATUS, T_FREEDOM, T_VT100, T_VT100_STATUS, T_XTERM, T_XTERM_STATUS, ]); } /* create() */ mixed set_term_type( string str ) { if( !terms[ str ] ) { efun::tell_object( this_player(), "No entry for " + str + ", using dumb.\n" ); str = "dumb"; } return terms[ str ]; } /* set_term_type() */ string *query_term_types() { return m_indices( terms ); } /* query_term_types() */