console.h
author pasky
Sat, 05 Mar 2005 13:49:43 +0000
changeset 1421 0532cbf429f1
parent 1397 fa8539dcab46
child 1739 4c8fb3905cbd
permissions -rw-r--r--
(svn r1925) Fixed an infinite loop if the town generator runs out of town names. The number of generated towns is then limited by the number of available names.
205
49e96fd94d63 (svn r206) -Fix: [1001540] i lost all wagons. Half-assed fix for lost wagons. But now users can at least fix this problem. Consolecommand: "resetengines"
darkvater
parents: 169
diff changeset
     1
#ifndef CONSOLE_H
49e96fd94d63 (svn r206) -Fix: [1001540] i lost all wagons. Half-assed fix for lost wagons. But now users can at least fix this problem. Consolecommand: "resetengines"
darkvater
parents: 169
diff changeset
     2
#define CONSOLE_H
220
dc1710f96b39 (svn r221) -Feature: console command and variable hooking
signde
parents: 205
diff changeset
     3
135
638fb31434eb (svn r136) -Feature/Fix: Console Rev #2 and WKC_BACKQUOTE this patch adds new features to the ingame console and inserts a new keymanagement for windows pcs... (sign_de)
darkvater
parents: 126
diff changeset
     4
// ** console parser ** //
638fb31434eb (svn r136) -Feature/Fix: Console Rev #2 and WKC_BACKQUOTE this patch adds new features to the ingame console and inserts a new keymanagement for windows pcs... (sign_de)
darkvater
parents: 126
diff changeset
     5
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
     6
typedef enum _iconsole_var_types {
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
     7
	ICONSOLE_VAR_NONE,
135
638fb31434eb (svn r136) -Feature/Fix: Console Rev #2 and WKC_BACKQUOTE this patch adds new features to the ingame console and inserts a new keymanagement for windows pcs... (sign_de)
darkvater
parents: 126
diff changeset
     8
	ICONSOLE_VAR_BOOLEAN,
638fb31434eb (svn r136) -Feature/Fix: Console Rev #2 and WKC_BACKQUOTE this patch adds new features to the ingame console and inserts a new keymanagement for windows pcs... (sign_de)
darkvater
parents: 126
diff changeset
     9
	ICONSOLE_VAR_BYTE,
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 289
diff changeset
    10
	ICONSOLE_VAR_UINT8,
135
638fb31434eb (svn r136) -Feature/Fix: Console Rev #2 and WKC_BACKQUOTE this patch adds new features to the ingame console and inserts a new keymanagement for windows pcs... (sign_de)
darkvater
parents: 126
diff changeset
    11
	ICONSOLE_VAR_UINT16,
638fb31434eb (svn r136) -Feature/Fix: Console Rev #2 and WKC_BACKQUOTE this patch adds new features to the ingame console and inserts a new keymanagement for windows pcs... (sign_de)
darkvater
parents: 126
diff changeset
    12
	ICONSOLE_VAR_UINT32,
638fb31434eb (svn r136) -Feature/Fix: Console Rev #2 and WKC_BACKQUOTE this patch adds new features to the ingame console and inserts a new keymanagement for windows pcs... (sign_de)
darkvater
parents: 126
diff changeset
    13
	ICONSOLE_VAR_INT16,
638fb31434eb (svn r136) -Feature/Fix: Console Rev #2 and WKC_BACKQUOTE this patch adds new features to the ingame console and inserts a new keymanagement for windows pcs... (sign_de)
darkvater
parents: 126
diff changeset
    14
	ICONSOLE_VAR_INT32,
638fb31434eb (svn r136) -Feature/Fix: Console Rev #2 and WKC_BACKQUOTE this patch adds new features to the ingame console and inserts a new keymanagement for windows pcs... (sign_de)
darkvater
parents: 126
diff changeset
    15
	ICONSOLE_VAR_STRING,
638fb31434eb (svn r136) -Feature/Fix: Console Rev #2 and WKC_BACKQUOTE this patch adds new features to the ingame console and inserts a new keymanagement for windows pcs... (sign_de)
darkvater
parents: 126
diff changeset
    16
	ICONSOLE_VAR_POINTER,
141
29cc31c87ede (svn r142) -Feature development: [1016299] Console Rev #3 allowes variable references and has a new commandline buffer (sign_de)
darkvater
parents: 136
diff changeset
    17
	ICONSOLE_VAR_REFERENCE,
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    18
	ICONSOLE_VAR_UNKNOWN
135
638fb31434eb (svn r136) -Feature/Fix: Console Rev #2 and WKC_BACKQUOTE this patch adds new features to the ingame console and inserts a new keymanagement for windows pcs... (sign_de)
darkvater
parents: 126
diff changeset
    19
} _iconsole_var_types;
638fb31434eb (svn r136) -Feature/Fix: Console Rev #2 and WKC_BACKQUOTE this patch adds new features to the ingame console and inserts a new keymanagement for windows pcs... (sign_de)
darkvater
parents: 126
diff changeset
    20
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 289
diff changeset
    21
typedef enum {
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 289
diff changeset
    22
	ICONSOLE_FULL,
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 289
diff changeset
    23
	ICONSOLE_OPENED,
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 289
diff changeset
    24
	ICONSOLE_CLOSED
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 289
diff changeset
    25
} _iconsole_modes;
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 289
diff changeset
    26
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    27
typedef enum _iconsole_hook_types {
220
dc1710f96b39 (svn r221) -Feature: console command and variable hooking
signde
parents: 205
diff changeset
    28
	ICONSOLE_HOOK_ACCESS,
dc1710f96b39 (svn r221) -Feature: console command and variable hooking
signde
parents: 205
diff changeset
    29
	ICONSOLE_HOOK_BEFORE_CHANGE,
dc1710f96b39 (svn r221) -Feature: console command and variable hooking
signde
parents: 205
diff changeset
    30
	ICONSOLE_HOOK_BEFORE_EXEC,
dc1710f96b39 (svn r221) -Feature: console command and variable hooking
signde
parents: 205
diff changeset
    31
	ICONSOLE_HOOK_AFTER_CHANGE,
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    32
	ICONSOLE_HOOK_AFTER_EXEC
220
dc1710f96b39 (svn r221) -Feature: console command and variable hooking
signde
parents: 205
diff changeset
    33
} _iconsole_hook_types;
dc1710f96b39 (svn r221) -Feature: console command and variable hooking
signde
parents: 205
diff changeset
    34
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    35
struct _iconsole_var;
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    36
typedef bool (*iconsole_var_hook)(struct _iconsole_var* hook_var);
135
638fb31434eb (svn r136) -Feature/Fix: Console Rev #2 and WKC_BACKQUOTE this patch adds new features to the ingame console and inserts a new keymanagement for windows pcs... (sign_de)
darkvater
parents: 126
diff changeset
    37
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    38
typedef struct _iconsole_var {
135
638fb31434eb (svn r136) -Feature/Fix: Console Rev #2 and WKC_BACKQUOTE this patch adds new features to the ingame console and inserts a new keymanagement for windows pcs... (sign_de)
darkvater
parents: 126
diff changeset
    39
	// --------------- //
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    40
	union {
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    41
		void*   addr;
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    42
		bool*   bool_;
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    43
		byte*   byte_;
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    44
		uint16* uint16_;
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    45
		uint32* uint32_;
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    46
		int16*  int16_;
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    47
		int32*  int32_;
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    48
		char*   string_;
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    49
		struct _iconsole_var* reference_;
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    50
	} data;
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    51
	char* name;
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    52
	_iconsole_var_types type;
135
638fb31434eb (svn r136) -Feature/Fix: Console Rev #2 and WKC_BACKQUOTE this patch adds new features to the ingame console and inserts a new keymanagement for windows pcs... (sign_de)
darkvater
parents: 126
diff changeset
    53
	// -------------- //
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    54
	iconsole_var_hook hook_access;
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    55
	iconsole_var_hook hook_before_change;
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    56
	iconsole_var_hook hook_after_change;
220
dc1710f96b39 (svn r221) -Feature: console command and variable hooking
signde
parents: 205
diff changeset
    57
	// -------------- //
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    58
	struct _iconsole_var* _next;
135
638fb31434eb (svn r136) -Feature/Fix: Console Rev #2 and WKC_BACKQUOTE this patch adds new features to the ingame console and inserts a new keymanagement for windows pcs... (sign_de)
darkvater
parents: 126
diff changeset
    59
	bool _malloc;
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    60
} _iconsole_var;
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    61
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    62
struct _iconsole_cmd;
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    63
typedef bool (*iconsole_cmd_hook)(struct _iconsole_cmd* hook_cmd);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    64
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    65
typedef _iconsole_var* (*_iconsole_cmd_addr)(byte argc, char* argv[], byte argt[]);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    66
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    67
typedef struct _iconsole_cmd {
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    68
	// -------------- //
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    69
	_iconsole_cmd_addr addr;
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    70
	char* name;
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    71
	// -------------- //
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    72
	iconsole_cmd_hook hook_access;
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    73
	iconsole_cmd_hook hook_before_exec;
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    74
	iconsole_cmd_hook hook_after_exec;
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    75
	// -------------- //
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    76
	void* _next;
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    77
} _iconsole_cmd;
135
638fb31434eb (svn r136) -Feature/Fix: Console Rev #2 and WKC_BACKQUOTE this patch adds new features to the ingame console and inserts a new keymanagement for windows pcs... (sign_de)
darkvater
parents: 126
diff changeset
    78
634
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 554
diff changeset
    79
void IConsoleAliasRegister(const char* name, const char* cmdline);
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 554
diff changeset
    80
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 554
diff changeset
    81
typedef struct _iconsole_alias {
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 554
diff changeset
    82
	// -------------- //
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 554
diff changeset
    83
	char * cmdline;
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 554
diff changeset
    84
	char* name;
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 554
diff changeset
    85
	void* _next;
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 554
diff changeset
    86
} _iconsole_alias;
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 554
diff changeset
    87
644
cd687cdec701 (svn r1077) Implements scripts/autoexec.scr to get executed on game starting (sign_de)
dominik
parents: 634
diff changeset
    88
_iconsole_alias* IConsoleAliasGet(const char* name);
cd687cdec701 (svn r1077) Implements scripts/autoexec.scr to get executed on game starting (sign_de)
dominik
parents: 634
diff changeset
    89
220
dc1710f96b39 (svn r221) -Feature: console command and variable hooking
signde
parents: 205
diff changeset
    90
// ** console parser ** //
dc1710f96b39 (svn r221) -Feature: console command and variable hooking
signde
parents: 205
diff changeset
    91
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    92
_iconsole_cmd* _iconsole_cmds; // list of registred commands
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
    93
_iconsole_var* _iconsole_vars; // list of registred vars
634
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 554
diff changeset
    94
_iconsole_alias* _iconsole_aliases; // list of registred aliases
220
dc1710f96b39 (svn r221) -Feature: console command and variable hooking
signde
parents: 205
diff changeset
    95
141
29cc31c87ede (svn r142) -Feature development: [1016299] Console Rev #3 allowes variable references and has a new commandline buffer (sign_de)
darkvater
parents: 136
diff changeset
    96
// ** console colors ** //
29cc31c87ede (svn r142) -Feature development: [1016299] Console Rev #3 allowes variable references and has a new commandline buffer (sign_de)
darkvater
parents: 136
diff changeset
    97
VARDEF byte _iconsole_color_default;
29cc31c87ede (svn r142) -Feature development: [1016299] Console Rev #3 allowes variable references and has a new commandline buffer (sign_de)
darkvater
parents: 136
diff changeset
    98
VARDEF byte _iconsole_color_error;
248
bd894287e3f2 (svn r249) -Fix: warning fix in console.c/h (Tron)
truelight
parents: 229
diff changeset
    99
VARDEF byte _iconsole_color_warning;
141
29cc31c87ede (svn r142) -Feature development: [1016299] Console Rev #3 allowes variable references and has a new commandline buffer (sign_de)
darkvater
parents: 136
diff changeset
   100
VARDEF byte _iconsole_color_debug;
29cc31c87ede (svn r142) -Feature development: [1016299] Console Rev #3 allowes variable references and has a new commandline buffer (sign_de)
darkvater
parents: 136
diff changeset
   101
VARDEF byte _iconsole_color_commands;
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 289
diff changeset
   102
VARDEF _iconsole_modes _iconsole_mode;
141
29cc31c87ede (svn r142) -Feature development: [1016299] Console Rev #3 allowes variable references and has a new commandline buffer (sign_de)
darkvater
parents: 136
diff changeset
   103
135
638fb31434eb (svn r136) -Feature/Fix: Console Rev #2 and WKC_BACKQUOTE this patch adds new features to the ingame console and inserts a new keymanagement for windows pcs... (sign_de)
darkvater
parents: 126
diff changeset
   104
// ** console functions ** //
638fb31434eb (svn r136) -Feature/Fix: Console Rev #2 and WKC_BACKQUOTE this patch adds new features to the ingame console and inserts a new keymanagement for windows pcs... (sign_de)
darkvater
parents: 126
diff changeset
   105
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   106
void IConsoleInit(void);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   107
void IConsoleClear(void);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   108
void IConsoleFree(void);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   109
void IConsoleResize(void);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   110
void IConsoleSwitch(void);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   111
void IConsoleClose(void);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   112
void IConsoleOpen(void);
135
638fb31434eb (svn r136) -Feature/Fix: Console Rev #2 and WKC_BACKQUOTE this patch adds new features to the ingame console and inserts a new keymanagement for windows pcs... (sign_de)
darkvater
parents: 126
diff changeset
   113
141
29cc31c87ede (svn r142) -Feature development: [1016299] Console Rev #3 allowes variable references and has a new commandline buffer (sign_de)
darkvater
parents: 136
diff changeset
   114
// ** console cmd buffer ** //
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   115
void IConsoleCmdBufferAdd(const char* cmd);
141
29cc31c87ede (svn r142) -Feature development: [1016299] Console Rev #3 allowes variable references and has a new commandline buffer (sign_de)
darkvater
parents: 136
diff changeset
   116
void IConsoleCmdBufferNavigate(signed char direction);
29cc31c87ede (svn r142) -Feature development: [1016299] Console Rev #3 allowes variable references and has a new commandline buffer (sign_de)
darkvater
parents: 136
diff changeset
   117
135
638fb31434eb (svn r136) -Feature/Fix: Console Rev #2 and WKC_BACKQUOTE this patch adds new features to the ingame console and inserts a new keymanagement for windows pcs... (sign_de)
darkvater
parents: 126
diff changeset
   118
// ** console output ** //
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 289
diff changeset
   119
void IConsolePrint(uint16 color_code, const char* string);
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 289
diff changeset
   120
void CDECL IConsolePrintF(uint16 color_code, const char* s, ...);
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   121
void IConsoleDebug(const char* string);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   122
void IConsoleError(const char* string);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   123
void IConsoleWarning(const char* string);
135
638fb31434eb (svn r136) -Feature/Fix: Console Rev #2 and WKC_BACKQUOTE this patch adds new features to the ingame console and inserts a new keymanagement for windows pcs... (sign_de)
darkvater
parents: 126
diff changeset
   124
638fb31434eb (svn r136) -Feature/Fix: Console Rev #2 and WKC_BACKQUOTE this patch adds new features to the ingame console and inserts a new keymanagement for windows pcs... (sign_de)
darkvater
parents: 126
diff changeset
   125
// *** Commands *** //
638fb31434eb (svn r136) -Feature/Fix: Console Rev #2 and WKC_BACKQUOTE this patch adds new features to the ingame console and inserts a new keymanagement for windows pcs... (sign_de)
darkvater
parents: 126
diff changeset
   126
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   127
void IConsoleCmdRegister(const char* name, _iconsole_cmd_addr addr);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   128
_iconsole_cmd* IConsoleCmdGet(const char* name);
135
638fb31434eb (svn r136) -Feature/Fix: Console Rev #2 and WKC_BACKQUOTE this patch adds new features to the ingame console and inserts a new keymanagement for windows pcs... (sign_de)
darkvater
parents: 126
diff changeset
   129
638fb31434eb (svn r136) -Feature/Fix: Console Rev #2 and WKC_BACKQUOTE this patch adds new features to the ingame console and inserts a new keymanagement for windows pcs... (sign_de)
darkvater
parents: 126
diff changeset
   130
// *** Variables *** //
638fb31434eb (svn r136) -Feature/Fix: Console Rev #2 and WKC_BACKQUOTE this patch adds new features to the ingame console and inserts a new keymanagement for windows pcs... (sign_de)
darkvater
parents: 126
diff changeset
   131
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   132
void IConsoleVarRegister(const char* name, void* addr, _iconsole_var_types type);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   133
void IConsoleVarMemRegister(const char* name, _iconsole_var_types type);
554
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
   134
void IConsoleVarInsert(_iconsole_var* item_new, const char* name);
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   135
_iconsole_var* IConsoleVarGet(const char* name);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   136
_iconsole_var* IConsoleVarAlloc(_iconsole_var_types type);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   137
void IConsoleVarFree(_iconsole_var* var);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   138
void IConsoleVarSetString(_iconsole_var* var, const char* string);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   139
void IConsoleVarSetValue(_iconsole_var* var, int value);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   140
void IConsoleVarDump(const _iconsole_var* var, const char* dump_desc);
135
638fb31434eb (svn r136) -Feature/Fix: Console Rev #2 and WKC_BACKQUOTE this patch adds new features to the ingame console and inserts a new keymanagement for windows pcs... (sign_de)
darkvater
parents: 126
diff changeset
   141
638fb31434eb (svn r136) -Feature/Fix: Console Rev #2 and WKC_BACKQUOTE this patch adds new features to the ingame console and inserts a new keymanagement for windows pcs... (sign_de)
darkvater
parents: 126
diff changeset
   142
// *** Parser *** //
638fb31434eb (svn r136) -Feature/Fix: Console Rev #2 and WKC_BACKQUOTE this patch adds new features to the ingame console and inserts a new keymanagement for windows pcs... (sign_de)
darkvater
parents: 126
diff changeset
   143
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   144
void IConsoleCmdExec(const char* cmdstr);
205
49e96fd94d63 (svn r206) -Fix: [1001540] i lost all wagons. Half-assed fix for lost wagons. But now users can at least fix this problem. Consolecommand: "resetengines"
darkvater
parents: 169
diff changeset
   145
220
dc1710f96b39 (svn r221) -Feature: console command and variable hooking
signde
parents: 205
diff changeset
   146
// ** console std lib ** //
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   147
void IConsoleStdLibRegister(void);
220
dc1710f96b39 (svn r221) -Feature: console command and variable hooking
signde
parents: 205
diff changeset
   148
dc1710f96b39 (svn r221) -Feature: console command and variable hooking
signde
parents: 205
diff changeset
   149
// ** hook code ** //
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   150
void IConsoleVarHook(const char* name, _iconsole_hook_types type, iconsole_var_hook proc);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   151
void IConsoleCmdHook(const char* name, _iconsole_hook_types type, iconsole_cmd_hook proc);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   152
bool IConsoleVarHookHandle(_iconsole_var* hook_var, _iconsole_hook_types type);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   153
bool IConsoleCmdHookHandle(_iconsole_cmd* hook_cmd, _iconsole_hook_types type);
220
dc1710f96b39 (svn r221) -Feature: console command and variable hooking
signde
parents: 205
diff changeset
   154
205
49e96fd94d63 (svn r206) -Fix: [1001540] i lost all wagons. Half-assed fix for lost wagons. But now users can at least fix this problem. Consolecommand: "resetengines"
darkvater
parents: 169
diff changeset
   155
#endif /* CONSOLE_H */