darkvater@135: // ** console ** // darkvater@135: darkvater@135: enum { darkvater@135: ICONSOLE_OPENED=0, darkvater@135: ICONSOLE_CLOSED, darkvater@135: ICONSOLE_OPENING, darkvater@135: ICONSOLE_CLOSING, darkvater@135: } _iconsole_modes; darkvater@135: darkvater@135: // ** console parser ** // darkvater@135: darkvater@135: enum { darkvater@135: ICONSOLE_VAR_NONE=0, darkvater@135: ICONSOLE_VAR_BOOLEAN, darkvater@135: ICONSOLE_VAR_BYTE, darkvater@135: ICONSOLE_VAR_UINT16, darkvater@135: ICONSOLE_VAR_UINT32, darkvater@135: ICONSOLE_VAR_INT16, darkvater@135: ICONSOLE_VAR_INT32, darkvater@135: ICONSOLE_VAR_STRING, darkvater@135: ICONSOLE_VAR_POINTER, darkvater@135: ICONSOLE_VAR_UNKNOWN darkvater@135: } _iconsole_var_types; darkvater@135: darkvater@135: typedef struct { darkvater@135: // -------------- // darkvater@135: void * addr; darkvater@135: byte * name; darkvater@135: // -------------- // darkvater@135: void * _next; darkvater@135: } _iconsole_cmd; darkvater@135: darkvater@135: typedef struct { darkvater@135: // --------------- // darkvater@135: void * addr; darkvater@135: byte * name; darkvater@135: byte type; darkvater@135: // -------------- // darkvater@135: void * _next; darkvater@135: bool _malloc; darkvater@135: } _iconsole_var; darkvater@135: darkvater@135: // ** ttd.c functions ** // darkvater@135: void SetDebugString(const char *s); darkvater@135: darkvater@135: // ** console functions ** // darkvater@135: darkvater@135: void IConsoleClearCommand(); darkvater@135: void IConsoleInit(); darkvater@135: void IConsoleClear(); darkvater@135: void IConsoleFree(); darkvater@135: void IConsoleResize(); darkvater@135: void IConsoleSwitch(); darkvater@135: void IConsoleClose(); darkvater@135: void IConsoleOpen(); darkvater@135: darkvater@135: // ** console output ** // darkvater@135: darkvater@135: void IConsolePrint(byte color_code, byte* string); darkvater@135: void IConsolePrintF(byte color_code, const char *s, ...); darkvater@135: void IConsoleDebug(byte* string); darkvater@135: void IConsoleError(byte* string); darkvater@135: darkvater@135: // *** Commands *** // darkvater@135: darkvater@135: void IConsoleCmdRegister(byte * name, void * addr); darkvater@135: void* IConsoleCmdGetAddr(byte * name); darkvater@135: darkvater@135: // *** Variables *** // darkvater@135: darkvater@135: void IConsoleVarRegister(byte * name, void * addr, byte type); darkvater@135: void IConsoleVarInsert(_iconsole_var * var, byte * name); darkvater@135: _iconsole_var * IConsoleVarGet(byte * name); darkvater@135: _iconsole_var * IConsoleVarAlloc(byte type); darkvater@135: void IConsoleVarFree(_iconsole_var * var); darkvater@135: void IConsoleVarSetString(_iconsole_var * var, byte * string); darkvater@135: void IConsoleVarSetValue(_iconsole_var * var, int value); darkvater@135: void IConsoleVarDump(_iconsole_var * var, byte * dump_desc); darkvater@135: darkvater@135: // *** Parser *** // darkvater@135: darkvater@135: void IConsoleCmdExec(byte * cmdstr);