console.h
author bjarni
Mon, 24 Jan 2005 18:21:23 +0000
changeset 1139 c63f257aa7fb
parent 644 e833509107ad
child 1230 701163ef52b8
permissions -rw-r--r--
(svn r1640) fix: now helicopters will use a hangar in schedule to be replaced in, even if they are only set to service there. Since helicopters are serviced at helipads, they will only go there if they needs to be replaced or renewed.
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
1e1102dd2a62 (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 {
1e1102dd2a62 (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
e3b43338096b (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
1e1102dd2a62 (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
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 289
diff changeset
    21
typedef enum {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 289
diff changeset
    22
	ICONSOLE_FULL,
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 289
diff changeset
    23
	ICONSOLE_OPENED,
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 289
diff changeset
    24
	ICONSOLE_CLOSED
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 289
diff changeset
    25
} _iconsole_modes;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 289
diff changeset
    26
289
1e1102dd2a62 (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
1e1102dd2a62 (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
1e1102dd2a62 (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;
1e1102dd2a62 (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
1e1102dd2a62 (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
1e1102dd2a62 (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 {
1e1102dd2a62 (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;
1e1102dd2a62 (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_;
1e1102dd2a62 (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_;
1e1102dd2a62 (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_;
1e1102dd2a62 (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_;
1e1102dd2a62 (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_;
1e1102dd2a62 (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_;
1e1102dd2a62 (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_;
1e1102dd2a62 (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_;
1e1102dd2a62 (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;
1e1102dd2a62 (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;
1e1102dd2a62 (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
1e1102dd2a62 (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;
1e1102dd2a62 (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;
1e1102dd2a62 (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
1e1102dd2a62 (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
1e1102dd2a62 (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;
1e1102dd2a62 (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
1e1102dd2a62 (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;
1e1102dd2a62 (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);
1e1102dd2a62 (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
1e1102dd2a62 (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[]);
1e1102dd2a62 (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
1e1102dd2a62 (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 {
1e1102dd2a62 (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
	// -------------- //
1e1102dd2a62 (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;
1e1102dd2a62 (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;
1e1102dd2a62 (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
	// -------------- //
1e1102dd2a62 (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;
1e1102dd2a62 (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;
1e1102dd2a62 (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;
1e1102dd2a62 (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
	// -------------- //
1e1102dd2a62 (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;
1e1102dd2a62 (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
88d9420048db (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);
88d9420048db (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 554
diff changeset
    80
88d9420048db (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 {
88d9420048db (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 554
diff changeset
    82
	// -------------- //
88d9420048db (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 554
diff changeset
    83
	char * cmdline;
88d9420048db (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 554
diff changeset
    84
	char* name;
88d9420048db (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 554
diff changeset
    85
	void* _next;
88d9420048db (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 554
diff changeset
    86
} _iconsole_alias;
88d9420048db (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 554
diff changeset
    87
644
e833509107ad (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);
e833509107ad (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
1e1102dd2a62 (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
1e1102dd2a62 (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
88d9420048db (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
e3b43338096b (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
// ** ttd.c functions ** //
220
dc1710f96b39 (svn r221) -Feature: console command and variable hooking
signde
parents: 205
diff changeset
   105
289
1e1102dd2a62 (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 SetDebugString(const char* s);
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
   107
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
   108
// ** 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
   109
289
1e1102dd2a62 (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 IConsoleInit(void);
1e1102dd2a62 (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 IConsoleClear(void);
1e1102dd2a62 (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 IConsoleFree(void);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   113
void IConsoleResize(void);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   114
void IConsoleSwitch(void);
1e1102dd2a62 (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 IConsoleClose(void);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   116
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
   117
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
   118
// ** console cmd buffer ** //
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   119
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
   120
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
   121
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
   122
// ** console output ** //
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 289
diff changeset
   123
void IConsolePrint(uint16 color_code, const char* string);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 289
diff changeset
   124
void CDECL IConsolePrintF(uint16 color_code, const char* s, ...);
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   125
void IConsoleDebug(const char* string);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   126
void IConsoleError(const char* string);
1e1102dd2a62 (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 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
   128
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
// *** 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
   130
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   131
void IConsoleCmdRegister(const char* name, _iconsole_cmd_addr addr);
1e1102dd2a62 (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
_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
   133
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
   134
// *** 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
   135
289
1e1102dd2a62 (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
void IConsoleVarRegister(const char* name, void* addr, _iconsole_var_types type);
1e1102dd2a62 (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 IConsoleVarMemRegister(const char* name, _iconsole_var_types type);
554
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
   138
void IConsoleVarInsert(_iconsole_var* item_new, const char* name);
289
1e1102dd2a62 (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
_iconsole_var* IConsoleVarGet(const char* name);
1e1102dd2a62 (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
_iconsole_var* IConsoleVarAlloc(_iconsole_var_types type);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   141
void IConsoleVarFree(_iconsole_var* var);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   142
void IConsoleVarSetString(_iconsole_var* var, const char* string);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   143
void IConsoleVarSetValue(_iconsole_var* var, int value);
1e1102dd2a62 (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 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
   145
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
   146
// *** 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
   147
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   148
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
   149
220
dc1710f96b39 (svn r221) -Feature: console command and variable hooking
signde
parents: 205
diff changeset
   150
// ** console std lib ** //
289
1e1102dd2a62 (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 IConsoleStdLibRegister(void);
220
dc1710f96b39 (svn r221) -Feature: console command and variable hooking
signde
parents: 205
diff changeset
   152
dc1710f96b39 (svn r221) -Feature: console command and variable hooking
signde
parents: 205
diff changeset
   153
// ** hook code ** //
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   154
void IConsoleVarHook(const char* name, _iconsole_hook_types type, iconsole_var_hook proc);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   155
void IConsoleCmdHook(const char* name, _iconsole_hook_types type, iconsole_cmd_hook proc);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   156
bool IConsoleVarHookHandle(_iconsole_var* hook_var, _iconsole_hook_types type);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 248
diff changeset
   157
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
   158
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
   159
#endif /* CONSOLE_H */