console_cmds.c
author truelight
Sun, 05 Dec 2004 12:25:25 +0000
changeset 554 670b089d7772
parent 543 e3b43338096b
child 602 9bbe42a9e3ed
permissions -rw-r--r--
(svn r954) -Fix: [Console] Hook fixes (sign_de)
-Add: [Console] Auto sort commands and variables (sign_de)
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
     1
/* -------------------- dont cross this line --------------------- */
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
     2
#include "stdafx.h"
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
     3
#include "ttd.h"
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
     4
#include "console.h"
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
     5
#include "engine.h"
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
     6
#include "functions.h"
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
     7
#include "variables.h"
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
     8
#include "network_data.h"
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
     9
#include "network_client.h"
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    10
#include "network_server.h"
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    11
#include "command.h"
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
    12
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
    13
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
    14
// ** scriptfile handling ** //
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
    15
static FILE * _script_file;
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
    16
static bool _script_running;
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
    17
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
    18
// ** console command / variable defines ** //
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
    19
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
    20
#define DEF_CONSOLE_CMD(yyyy) static _iconsole_var * yyyy(byte argc, char* argv[], byte argt[])
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
    21
#define DEF_CONSOLE_CMD_HOOK(yyyy) static bool yyyy(_iconsole_cmd * hookcmd)
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
    22
#define DEF_CONSOLE_VAR_HOOK(yyyy) static bool yyyy(_iconsole_var * hookvar)
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
    23
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
    24
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
    25
// ** supporting functions ** //
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
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: 262
diff changeset
    27
static uint32 GetArgumentInteger(const char* arg)
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
    28
{
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
    29
	uint32 result;
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
    30
	sscanf(arg, "%u", &result);
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
    31
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
    32
	if (result == 0 && arg[0] == '0' && arg[1] == 'x')
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
    33
		sscanf(arg, "%x", &result);
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
    34
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
    35
	return result;
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
    36
}
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
    37
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
    38
/* **************************** */
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
    39
/* variable and command hooks   */
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
    40
/* **************************** */
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
    41
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    42
#ifdef ENABLE_NETWORK
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    43
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
    44
DEF_CONSOLE_CMD_HOOK(ConCmdHookNoNetwork)
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
    45
{
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
    46
	if (_networking) {
301
f30c8c628dc6 (svn r307) -Fix: Several potential buffer-overflow fixes, and removal of 'magic-numbers' in favour of constants. (Tron)
darkvater
parents: 289
diff changeset
    47
		IConsoleError("This command is forbidden in multiplayer.");
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
    48
		return false;
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
    49
	}
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
    50
	return true;
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
    51
}
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
    52
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
    53
DEF_CONSOLE_VAR_HOOK(ConVarHookNoNetClient)
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
    54
{
554
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    55
	if (!_network_available) {
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    56
		IConsoleError("You can not use this command because there is no network available.");
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    57
		return false;
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    58
	}
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    59
	if (!_network_server) {
301
f30c8c628dc6 (svn r307) -Fix: Several potential buffer-overflow fixes, and removal of 'magic-numbers' in favour of constants. (Tron)
darkvater
parents: 289
diff changeset
    60
		IConsoleError("This variable only makes sense for a network server.");
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
    61
		return false;
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
    62
	}
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
    63
	return true;
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
    64
}
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
    65
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    66
DEF_CONSOLE_CMD_HOOK(ConCmdHookNoNetClient)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    67
{
554
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    68
	if (!_network_available) {
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    69
		IConsoleError("You can not use this command because there is no network available.");
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    70
		return false;
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    71
	}
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    72
	if (!_network_server) {
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    73
		IConsoleError("This command is only available for a network server.");
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    74
		return false;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    75
	}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    76
	return true;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    77
}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    78
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    79
DEF_CONSOLE_CMD_HOOK(ConCmdHookNoNetServer)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    80
{
554
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    81
	if (!_network_available) {
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    82
		IConsoleError("You can not use this command because there is no network available.");
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    83
		return false;
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    84
	}
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    85
	if (_network_server) {
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    86
		IConsoleError("You can not use this command because you are a network-server.");
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    87
		return false;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    88
	}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    89
	return true;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    90
}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    91
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    92
DEF_CONSOLE_CMD_HOOK(ConCmdHookNeedNetwork)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    93
{
554
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    94
	if (!_network_available) {
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    95
		IConsoleError("You can not use this command because there is no network available.");
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    96
		return false;
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    97
	}
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    98
	if (!_networking) {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    99
		IConsoleError("Not connected. Multiplayer only command.");
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   100
		return false;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   101
	}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   102
	return true;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   103
}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   104
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   105
#endif /* ENABLE_NETWORK */
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   106
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   107
/* **************************** */
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   108
/* reset commands               */
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   109
/* **************************** */
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   110
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   111
DEF_CONSOLE_CMD(ConResetEngines)
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   112
{
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   113
	StartupEngines();
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   114
	return 0;
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   115
}
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   116
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   117
#ifdef _DEBUG
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   118
DEF_CONSOLE_CMD(ConResetTile)
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   119
{
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   120
	if (argc == 2) {
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   121
		TileIndex tile = (TileIndex)GetArgumentInteger(argv[1]);
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   122
		DoClearSquare(tile);
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   123
	}
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   124
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   125
	return 0;
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   126
}
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   127
#endif
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   128
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   129
DEF_CONSOLE_CMD(ConScrollToTile)
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   130
{
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   131
	if (argc == 2) {
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   132
		TileIndex tile = (TileIndex)GetArgumentInteger(argv[1]);
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   133
		ScrollMainWindowToTile(tile);
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   134
	}
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   135
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   136
	return 0;
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   137
}
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   138
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   139
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   140
// ********************************* //
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   141
// * Network Core Console Commands * //
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   142
// ********************************* //
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   143
#ifdef ENABLE_NETWORK
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   144
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   145
DEF_CONSOLE_CMD(ConStatus)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   146
{
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   147
	const char *status;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   148
	int lag;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   149
	const ClientState *cs;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   150
	const NetworkClientInfo *ci;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   151
	FOR_ALL_CLIENTS(cs) {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   152
		lag = NetworkCalculateLag(cs);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   153
		ci = DEREF_CLIENT_INFO(cs);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   154
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   155
		switch (cs->status) {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   156
			case STATUS_INACTIVE:
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   157
				status = "inactive";
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   158
				break;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   159
			case STATUS_AUTH:
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   160
				status = "authorized";
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   161
				break;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   162
			case STATUS_MAP:
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   163
				status = "loading map";
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   164
				break;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   165
			case STATUS_DONE_MAP:
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   166
				status = "done map";
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   167
				break;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   168
			case STATUS_PRE_ACTIVE:
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   169
				status = "ready";
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   170
				break;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   171
			case STATUS_ACTIVE:
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   172
				status = "active";
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   173
				break;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   174
			default:
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   175
				status = "unknown";
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   176
				break;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   177
		}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   178
		IConsolePrintF(8, "Client #%d/%s  status: %s  frame-lag: %d  play-as: %d",
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   179
			cs->index, ci->client_name, status, lag, ci->client_playas);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   180
	}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   181
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   182
	return NULL;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   183
}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   184
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   185
DEF_CONSOLE_CMD(ConKick)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   186
{
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   187
	NetworkClientInfo *ci;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   188
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   189
	if (argc == 2) {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   190
		uint32 index = atoi(argv[1]);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   191
		if (index == NETWORK_SERVER_INDEX) {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   192
			IConsolePrint(_iconsole_color_default, "Silly boy, you can not kick yourself!");
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   193
			return NULL;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   194
		}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   195
		if (index == 0) {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   196
			IConsoleError("Invalid Client-ID");
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   197
			return NULL;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   198
		}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   199
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   200
		ci = NetworkFindClientInfoFromIndex(index);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   201
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   202
		if (ci != NULL) {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   203
			SEND_COMMAND(PACKET_SERVER_ERROR)(NetworkFindClientStateFromIndex(index), NETWORK_ERROR_KICKED);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   204
			return NULL;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   205
		} else {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   206
			IConsoleError("Client-ID not found");
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   207
			return NULL;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   208
		}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   209
	}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   210
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   211
	IConsolePrint(_iconsole_color_default, "Unknown usage. Usage: kick <client-id>. For client-ids, see 'clients'.");
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   212
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   213
	return NULL;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   214
}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   215
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   216
DEF_CONSOLE_CMD(ConNetworkClients)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   217
{
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   218
	NetworkClientInfo *ci;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   219
	for (ci = _network_client_info; ci != &_network_client_info[MAX_CLIENT_INFO]; ci++) {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   220
		if (ci->client_index != NETWORK_EMPTY_INDEX) {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   221
			IConsolePrintF(8,"Client #%d   name: %s  play-as: %d", ci->client_index, ci->client_name, ci->client_playas);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   222
		}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   223
	}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   224
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   225
	return NULL;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   226
}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   227
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   228
DEF_CONSOLE_CMD(ConNetworkConnect)
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   229
{
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   230
	char* ip;
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   231
	const byte *port = NULL;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   232
	const byte *player = NULL;
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   233
	uint16 rport;
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   234
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   235
	if (argc<2) return NULL;
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   236
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   237
	if (_networking) {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   238
		// We are in network-mode, first close it!
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   239
		NetworkDisconnect();
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   240
	}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   241
228
f65dec6727d9 (svn r229) -Fix: Some more const stuff fixed .(Tron)
darkvater
parents: 222
diff changeset
   242
	ip = argv[1];
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   243
	rport = NETWORK_DEFAULT_PORT;
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   244
228
f65dec6727d9 (svn r229) -Fix: Some more const stuff fixed .(Tron)
darkvater
parents: 222
diff changeset
   245
	ParseConnectionString(&player, &port, ip);
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   246
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   247
	IConsolePrintF(_iconsole_color_default, "Connecting to %s...", ip);
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   248
	if (player != NULL) {
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   249
		_network_playas = atoi(player);
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   250
		IConsolePrintF(_iconsole_color_default, "    player-no: %s", player);
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   251
	}
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   252
	if (port != NULL) {
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   253
		rport = atoi(port);
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   254
		IConsolePrintF(_iconsole_color_default, "    port: %s", port);
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   255
	}
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   256
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   257
	NetworkClientConnectGame(ip, rport);
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   258
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   259
	return NULL;
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   260
}
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   261
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   262
#endif /* ENABLE_NETWORK */
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   263
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   264
/* ******************************** */
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   265
/*   script file console commands   */
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   266
/* ******************************** */
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   267
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   268
DEF_CONSOLE_CMD(ConExec)
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   269
{
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   270
	char cmd[1024];
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   271
	bool doerror;
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   272
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   273
	if (argc<2) return NULL;
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   274
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   275
	doerror = true;
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   276
	_script_file = fopen(argv[1], "r");
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   277
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   278
	if (_script_file == NULL) {
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   279
		if (argc>2) if (atoi(argv[2])==0) doerror=false;
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   280
		if (doerror) IConsoleError("script file not found");
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   281
		return NULL;
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   282
		}
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   283
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   284
	_script_running = true;
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   285
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   286
	fgets(cmd, sizeof(cmd), _script_file);
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   287
	while (!feof(_script_file) && _script_running) {
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   288
		strtok(cmd, "\r\n");
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   289
		IConsoleCmdExec(cmd);
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   290
		fgets(cmd, sizeof(cmd), _script_file);
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   291
	}
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   292
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   293
	_script_running = false;
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   294
	fclose(_script_file);
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   295
	return NULL;
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   296
}
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   297
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   298
DEF_CONSOLE_CMD(ConReturn)
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   299
{
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   300
	_script_running = false;
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   301
	return NULL;
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   302
}
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   303
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   304
/* **************************** */
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   305
/*   default console commands   */
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   306
/* **************************** */
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   307
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   308
DEF_CONSOLE_CMD(ConScript)
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   309
{
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   310
	extern FILE* _iconsole_output_file;
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   311
	if (_iconsole_output_file != NULL) {
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   312
		IConsolePrintF(_iconsole_color_default, "file output complete");
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   313
		fclose(_iconsole_output_file);
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   314
	} else {
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   315
		if (argc < 2) return NULL;
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   316
		IConsolePrintF(_iconsole_color_default, "file output started to: %s",
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   317
			argv[1]);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   318
		_iconsole_output_file = fopen(argv[1], "ab");
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   319
		if (_iconsole_output_file == NULL) IConsoleError("could not open file");
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   320
	}
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   321
	return NULL;
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   322
}
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   323
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   324
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   325
DEF_CONSOLE_CMD(ConEcho)
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   326
{
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   327
	if (argc < 2) return NULL;
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   328
	IConsolePrint(_iconsole_color_default, argv[1]);
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   329
	return NULL;
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   330
}
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   331
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   332
DEF_CONSOLE_CMD(ConEchoC)
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   333
{
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   334
	if (argc < 3) return NULL;
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   335
	IConsolePrint(atoi(argv[1]), argv[2]);
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   336
	return NULL;
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   337
}
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   338
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   339
extern void SwitchMode(int new_mode);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   340
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   341
DEF_CONSOLE_CMD(ConNewGame)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   342
{
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   343
	_docommand_recursive = 0;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   344
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   345
	_random_seeds[0][0] = Random();
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   346
	_random_seeds[0][1] = InteractiveRandom();
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   347
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   348
	SwitchMode(SM_NEWGAME);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   349
	return NULL;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   350
}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   351
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   352
DEF_CONSOLE_CMD(ConPrintF)
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   353
{
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   354
	if (argc < 3) return NULL;
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   355
	IConsolePrintF(_iconsole_color_default, argv[1] , argv[2], argv[3], argv[4], argv[5], argv[6], argv[7], argv[8], argv[9], argv[10], argv[11], argv[12], argv[13], argv[14], argv[15], argv[16], argv[17], argv[18], argv[19]); /* XXX ugh... */
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   356
	return NULL;
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   357
}
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   358
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   359
DEF_CONSOLE_CMD(ConPrintFC)
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   360
{
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   361
	if (argc < 3) return NULL;
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   362
	IConsolePrintF(atoi(argv[1]), argv[2] , argv[3], argv[4], argv[5], argv[6], argv[7], argv[8], argv[9], argv[10], argv[11], argv[12], argv[13], argv[14], argv[15], argv[16], argv[17], argv[18], argv[19]); /* XXX ugh... */
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   363
	return NULL;
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   364
}
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   365
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   366
DEF_CONSOLE_CMD(ConScreenShot)
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   367
{
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   368
	if (argc < 2) {
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   369
		_make_screenshot = 1;
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   370
	} else {
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   371
		if (strcmp(argv[1], "big") == 0)
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   372
			_make_screenshot=2;
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   373
		if (strcmp(argv[1], "no_con") == 0) {
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   374
			IConsoleClose();
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   375
			_make_screenshot = 1;
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   376
		}
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   377
	}
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   378
	return NULL;
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   379
}
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   380
229
b94bfdf02bae (svn r230) -Feature: IConsoleWarning for warning messages
signde
parents: 228
diff changeset
   381
DEF_CONSOLE_CMD(ConInfoVar)
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   382
{
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   383
	if (argc < 2) return NULL;
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   384
	if (argt[1] != ICONSOLE_VAR_REFERENCE) {
232
c3d08de192ed (svn r233) -Fix: german language fixes (Tron)
signde
parents: 229
diff changeset
   385
		IConsoleError("first argument has to be a variable reference");
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   386
	} else {
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   387
		_iconsole_var* item;
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   388
		item = (_iconsole_var*)argv[1];
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   389
		IConsolePrintF(_iconsole_color_default, "var_name: %s", item->name);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   390
		IConsolePrintF(_iconsole_color_default, "var_type: %i", item->type);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   391
		IConsolePrintF(_iconsole_color_default, "var_addr: %i", item->data.addr);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   392
		if (item->_malloc)
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   393
			IConsolePrintF(_iconsole_color_default, "var_malloc: internal");
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   394
		else
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   395
			IConsolePrintF(_iconsole_color_default, "var_malloc: external");
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   396
		if (item->hook_access) IConsoleWarning("var_access hooked");
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   397
		if (item->hook_before_change) IConsoleWarning("var_before_change hooked");
229
b94bfdf02bae (svn r230) -Feature: IConsoleWarning for warning messages
signde
parents: 228
diff changeset
   398
		if (item->hook_after_change) IConsoleWarning("var_after_change hooked");
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   399
	}
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   400
	return NULL;
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   401
}
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   402
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   403
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   404
DEF_CONSOLE_CMD(ConInfoCmd)
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   405
{
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   406
	if (argc < 2) return NULL;
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   407
	if (argt[1] != ICONSOLE_VAR_UNKNOWN) {
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   408
		IConsoleError("first argument has to be a command name");
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   409
	} else {
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   410
		_iconsole_cmd* item;
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   411
		item = IConsoleCmdGet(argv[1]);
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   412
		if (item == NULL) {
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   413
			IConsoleError("the given command was not found");
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   414
			return NULL;
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   415
		}
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   416
		IConsolePrintF(_iconsole_color_default, "cmd_name: %s", item->name);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   417
		IConsolePrintF(_iconsole_color_default, "cmd_addr: %i", item->addr);
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   418
		if (item->hook_access) IConsoleWarning("cmd_access hooked");
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   419
		if (item->hook_before_exec) IConsoleWarning("cmd_before_exec hooked");
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   420
		if (item->hook_after_exec) IConsoleWarning("cmd_after_exec hooked");
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   421
	}
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   422
	return NULL;
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   423
}
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   424
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   425
DEF_CONSOLE_CMD(ConDebugLevel)
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   426
{
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   427
	if (argc < 2) return NULL;
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   428
	SetDebugString(argv[1]);
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   429
	return NULL;
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   430
}
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   431
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   432
DEF_CONSOLE_CMD(ConExit)
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   433
{
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   434
	_exit_game = true;
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   435
	return NULL;
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   436
}
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   437
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   438
DEF_CONSOLE_CMD(ConHelp)
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   439
{
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   440
	IConsolePrint(13, " -- console help -- ");
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   441
	IConsolePrint( 1, " variables: [command to list them: list_vars]");
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   442
	IConsolePrint( 1, " temp_string = \"my little \"");
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   443
	IConsolePrint( 1, "");
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   444
	IConsolePrint( 1, " commands: [command to list them: list_cmds]");
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   445
	IConsolePrint( 1, " [command] [\"string argument with spaces\"] [argument 2] ...");
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   446
	IConsolePrint( 1, " printf \"%s world\" temp_string");
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   447
	IConsolePrint( 1, "");
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   448
	IConsolePrint( 1, " command/variable returning a value into an variable:");
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   449
	IConsolePrint( 1, " temp_uint16 << random");
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   450
	IConsolePrint( 1, " temp_uint16 << temp_uint16_2");
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   451
	IConsolePrint( 1, "");
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   452
	return NULL;
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   453
}
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   454
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   455
DEF_CONSOLE_CMD(ConRandom)
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   456
{
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   457
	_iconsole_var* result;
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   458
	result = IConsoleVarAlloc(ICONSOLE_VAR_UINT16);
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   459
	IConsoleVarSetValue(result, rand());
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   460
	return result;
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   461
}
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   462
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   463
DEF_CONSOLE_CMD(ConListCommands)
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   464
{
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   465
	const _iconsole_cmd* item;
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   466
	size_t l = 0;
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   467
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   468
	if (argv[1] != NULL) l = strlen(argv[1]);
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   469
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   470
	for (item = _iconsole_cmds; item != NULL; item = item->_next)
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   471
		if (argv[1] == NULL || strncmp(item->name, argv[1], l) == 0)
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   472
			IConsolePrintF(_iconsole_color_default, "%s", item->name);
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   473
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   474
	return NULL;
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   475
}
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   476
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   477
DEF_CONSOLE_CMD(ConListVariables)
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   478
{
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   479
	const _iconsole_var* item;
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   480
	size_t l = 0;
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   481
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   482
	if (argv[1] != NULL) l = strlen(argv[1]);
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   483
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   484
	for (item = _iconsole_vars; item != NULL; item = item->_next)
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   485
		if (argv[1] == NULL || strncmp(item->name, argv[1], l) == 0)
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   486
			IConsolePrintF(_iconsole_color_default, "%s", item->name);
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   487
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   488
	return NULL;
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   489
}
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   490
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   491
DEF_CONSOLE_CMD(ConListDumpVariables)
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   492
{
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   493
	const _iconsole_var* item;
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   494
	size_t l = 0;
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   495
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   496
	if (argv[1] != NULL) l = strlen(argv[1]);
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   497
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   498
	for (item = _iconsole_vars; item != NULL; item = item->_next)
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   499
		if (argv[1] == NULL || strncmp(item->name, argv[1], l) == 0)
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   500
			IConsoleVarDump(item, NULL);
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   501
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   502
	return NULL;
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   503
}
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   504
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   505
#ifdef ENABLE_NETWORK
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   506
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   507
DEF_CONSOLE_CMD(ConSay)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   508
{
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   509
	if (argc == 2) {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   510
		if (!_network_server)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   511
			SEND_COMMAND(PACKET_CLIENT_CHAT)(NETWORK_ACTION_CHAT, DESTTYPE_BROADCAST, 0 /* param does not matter */, argv[1]);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   512
		else
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   513
			NetworkServer_HandleChat(NETWORK_ACTION_CHAT, DESTTYPE_BROADCAST, 0, argv[1], NETWORK_SERVER_INDEX);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   514
	} else
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   515
		IConsolePrint(_iconsole_color_default, "Unknown usage. Usage: say \"<msg>\"");
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   516
	return NULL;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   517
}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   518
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   519
DEF_CONSOLE_CMD(ConSayPlayer)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   520
{
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   521
	if (argc == 3) {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   522
		if (atoi(argv[1]) < 1 || atoi(argv[1]) > MAX_PLAYERS) {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   523
			IConsolePrintF(_iconsole_color_default, "Unknown player. Player range is between 1 and %d.", MAX_PLAYERS);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   524
			return NULL;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   525
		}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   526
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   527
		if (!_network_server)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   528
			SEND_COMMAND(PACKET_CLIENT_CHAT)(NETWORK_ACTION_CHAT_PLAYER, DESTTYPE_PLAYER, atoi(argv[1]), argv[2]);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   529
		else
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   530
			NetworkServer_HandleChat(NETWORK_ACTION_CHAT_PLAYER, DESTTYPE_PLAYER, atoi(argv[1]), argv[2], NETWORK_SERVER_INDEX);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   531
	} else
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   532
		IConsolePrint(_iconsole_color_default, "Unknown usage. Usage: say_player <playerno> \"<msg>\"");
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   533
	return NULL;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   534
}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   535
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   536
DEF_CONSOLE_CMD(ConSayClient)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   537
{
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   538
	if (argc == 3) {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   539
		if (!_network_server)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   540
			SEND_COMMAND(PACKET_CLIENT_CHAT)(NETWORK_ACTION_CHAT_CLIENT, DESTTYPE_CLIENT, atoi(argv[1]), argv[2]);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   541
		else
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   542
			NetworkServer_HandleChat(NETWORK_ACTION_CHAT_CLIENT, DESTTYPE_CLIENT, atoi(argv[1]), argv[2], NETWORK_SERVER_INDEX);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   543
	} else
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   544
		IConsolePrint(_iconsole_color_default, "Unknown usage. Usage: say_client <clientno> \"<msg>\"");
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   545
	return NULL;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   546
}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   547
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   548
DEF_CONSOLE_CMD(ConSetServerName) {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   549
	if (argc == 2) {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   550
		strncpy(_network_server_name, argv[1], 40);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   551
		IConsolePrintF(_iconsole_color_default, "Server-name changed to '%s'", _network_server_name);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   552
		ttd_strlcpy(_network_game_info.server_name, _network_server_name, 40);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   553
	} else if (argc == 1) {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   554
		IConsolePrintF(_iconsole_color_default, "Current server-name is '%s'", _network_server_name);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   555
		IConsolePrint(_iconsole_color_default, "  Usage: setservername \"<GameName>\".");
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   556
	} else {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   557
		IConsolePrint(_iconsole_color_default, "Unknow usage. Usage: setservername \"<ServerName>\".");
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   558
	}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   559
	return NULL;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   560
}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   561
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   562
DEF_CONSOLE_CMD(ConClientName) {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   563
	NetworkClientInfo *ci;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   564
	ci = NetworkFindClientInfoFromIndex(_network_own_client_index);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   565
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   566
	if (argc == 2 && ci != NULL) {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   567
		if (!_network_server)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   568
			SEND_COMMAND(PACKET_CLIENT_SET_NAME)(argv[1]);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   569
		else {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   570
			if (NetworkFindName(argv[1])) {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   571
				NetworkTextMessage(NETWORK_ACTION_NAME_CHANGE, 1, ci->client_name, argv[1]);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   572
				ttd_strlcpy(ci->client_name, argv[1], 40);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   573
				NetworkUpdateClientInfo(NETWORK_SERVER_INDEX);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   574
			}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   575
		}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   576
	} else {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   577
		IConsolePrint(_iconsole_color_default, "With 'name' you can change your network-player name.");
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   578
		IConsolePrint(_iconsole_color_default, "  Usage: name \"<name>\".");
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   579
	}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   580
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   581
	return NULL;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   582
}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   583
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   584
DEF_CONSOLE_CMD(ConProtect) {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   585
	// Protect a company with a password
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   586
	if (_local_player >= MAX_PLAYERS) {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   587
		IConsolePrintF(_iconsole_color_default, "You have to own a company to make use of this command.");
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   588
		return NULL;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   589
	}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   590
	if (argc == 2) {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   591
		if (strncmp(argv[1], "*", 20) == 0) {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   592
			_network_player_info[_local_player].password[0] = '\0';
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   593
		} else {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   594
			strncpy(_network_player_info[_local_player].password, argv[1], 20);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   595
		}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   596
		if (!_network_server)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   597
			SEND_COMMAND(PACKET_CLIENT_SET_PASSWORD)(_network_player_info[_local_player].password);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   598
		IConsolePrintF(_iconsole_color_default, "Company protected with '%s'", _network_player_info[_local_player].password);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   599
	} else {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   600
		IConsolePrint(_iconsole_color_default, "Protect sets a password on the company, so no-one without the correct password can join.");
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   601
		IConsolePrint(_iconsole_color_default, "  Usage: protect \"<password>\".   Use * as <password> to set no password.");
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   602
	}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   603
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   604
	return NULL;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   605
}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   606
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   607
DEF_CONSOLE_CMD(ConSetPassword) {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   608
	if (argc == 2) {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   609
		// Change server password
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   610
		if (strncmp(argv[1], "*", 20) == 0) {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   611
			_network_game_info.server_password[0] = '\0';
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   612
			_network_game_info.use_password = 0;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   613
		} else {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   614
			strncpy(_network_game_info.server_password, argv[1], 20);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   615
			_network_game_info.use_password = 1;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   616
		}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   617
		IConsolePrintF(_iconsole_color_default, "Game-password changed to '%s'", _network_game_info.server_password);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   618
	} else if (argc == 1) {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   619
		IConsolePrintF(_iconsole_color_default, "Current game-password is set to '%s'", _network_game_info.server_password);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   620
		IConsolePrint(_iconsole_color_default, "  Usage: setpassword \"<password>\".   Use * as <password> to set no password.");
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   621
	} else {
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   622
		IConsolePrint(_iconsole_color_default, "Unknow usage. Usage: setpassword \"<password>\".   Use * as <password> to set no password.");
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   623
	}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   624
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   625
	return 0;
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   626
}
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   627
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   628
#endif /* ENABLE_NETWORK */
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   629
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   630
#ifdef _DEBUG
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   631
/* ****************************************** */
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   632
/*  debug commands and variables */
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   633
/* ****************************************** */
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   634
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   635
void IConsoleDebugLibRegister()
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   636
{
554
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
   637
	// debugging variables and functions
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   638
	extern bool _stdlib_con_developer; /* XXX extern in .c */
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   639
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   640
	IConsoleVarRegister("con_developer", &_stdlib_con_developer, ICONSOLE_VAR_BOOLEAN);
554
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
   641
	IConsoleVarMemRegister("temp_string", ICONSOLE_VAR_STRING);
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
   642
	IConsoleVarMemRegister("temp_string2", ICONSOLE_VAR_STRING);
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   643
	IConsoleVarMemRegister("temp_bool", ICONSOLE_VAR_BOOLEAN);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   644
	IConsoleVarMemRegister("temp_int16", ICONSOLE_VAR_INT16);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   645
	IConsoleVarMemRegister("temp_int32", ICONSOLE_VAR_INT32);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   646
	IConsoleVarMemRegister("temp_pointer", ICONSOLE_VAR_POINTER);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   647
	IConsoleVarMemRegister("temp_uint16", ICONSOLE_VAR_UINT16);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   648
	IConsoleVarMemRegister("temp_uint16_2", ICONSOLE_VAR_UINT16);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   649
	IConsoleVarMemRegister("temp_uint32", ICONSOLE_VAR_UINT32);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   650
	IConsoleCmdRegister("resettile", ConResetTile);
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   651
}
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   652
#endif
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   653
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   654
/* ****************************************** */
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   655
/*  console command and variable registration */
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   656
/* ****************************************** */
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   657
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   658
void IConsoleStdLibRegister(void)
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   659
{
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   660
	// stdlib
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   661
	extern byte _stdlib_developer; /* XXX extern in .c */
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   662
554
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
   663
	// default variables and functions
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   664
	IConsoleCmdRegister("debug_level",  ConDebugLevel);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   665
	IConsoleCmdRegister("dump_vars",    ConListDumpVariables);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   666
	IConsoleCmdRegister("echo",         ConEcho);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   667
	IConsoleCmdRegister("echoc",        ConEchoC);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   668
	IConsoleCmdRegister("exec",         ConExec);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   669
	IConsoleCmdRegister("exit",         ConExit);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   670
	IConsoleCmdRegister("help",         ConHelp);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   671
	IConsoleCmdRegister("info_cmd",     ConInfoCmd);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   672
	IConsoleCmdRegister("info_var",     ConInfoVar);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   673
	IConsoleCmdRegister("list_cmds",    ConListCommands);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   674
	IConsoleCmdRegister("list_vars",    ConListVariables);
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   675
	IConsoleCmdRegister("newgame",         ConNewGame);
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   676
	IConsoleCmdRegister("printf",       ConPrintF);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   677
	IConsoleCmdRegister("printfc",      ConPrintFC);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   678
	IConsoleCmdRegister("quit",         ConExit);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   679
	IConsoleCmdRegister("random",       ConRandom);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   680
	IConsoleCmdRegister("resetengines", ConResetEngines);
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   681
	IConsoleCmdRegister("return",     ConReturn);
554
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
   682
	IConsoleCmdRegister("screenshot", ConScreenShot);
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
   683
	IConsoleCmdRegister("script",     ConScript);
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
   684
	IConsoleCmdRegister("scrollto",   ConScrollToTile);
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
   685
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
   686
	IConsoleVarRegister("developer", &_stdlib_developer, ICONSOLE_VAR_BYTE);
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
   687
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
   688
	// networking variables and functions
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   689
#ifdef ENABLE_NETWORK
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   690
	IConsoleCmdRegister("say",        ConSay);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   691
	IConsoleCmdHook("say", ICONSOLE_HOOK_ACCESS, ConCmdHookNeedNetwork);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   692
	IConsoleCmdRegister("say_player", ConSayPlayer);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   693
	IConsoleCmdHook("say_player", ICONSOLE_HOOK_ACCESS, ConCmdHookNeedNetwork);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   694
	IConsoleCmdRegister("say_client", ConSayClient);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   695
	IConsoleCmdHook("say_client", ICONSOLE_HOOK_ACCESS, ConCmdHookNeedNetwork);
554
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
   696
	IConsoleCmdRegister("kick",         ConKick);
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
   697
	IConsoleCmdHook("kick", ICONSOLE_HOOK_ACCESS, ConCmdHookNoNetClient);
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
   698
	IConsoleCmdRegister("protect", ConProtect);
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
   699
	IConsoleCmdRegister("name",         ConClientName);
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
   700
	IConsoleCmdRegister("connect", ConNetworkConnect);
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
   701
	IConsoleCmdHook("connect", ICONSOLE_HOOK_ACCESS, ConCmdHookNoNetServer);
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
   702
	IConsoleCmdRegister("clients", ConNetworkClients);
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   703
	IConsoleCmdRegister("setservername", ConSetServerName);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   704
	IConsoleCmdHook("setservername", ICONSOLE_HOOK_ACCESS, ConCmdHookNoNetClient);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   705
	IConsoleCmdRegister("setpassword", ConSetPassword);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   706
	IConsoleCmdHook("setpassword", ICONSOLE_HOOK_ACCESS, ConCmdHookNoNetClient);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   707
	IConsoleCmdRegister("status",   ConStatus);
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   708
	IConsoleCmdHook("status", ICONSOLE_HOOK_ACCESS, ConCmdHookNoNetClient);
554
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
   709
	IConsoleCmdHook("resetengines", ICONSOLE_HOOK_ACCESS, ConCmdHookNoNetwork);
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
   710
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
   711
	IConsoleVarRegister("net_frame_freq", &_network_frame_freq, ICONSOLE_VAR_UINT8);
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
   712
	IConsoleVarHook("net_frame_freq", ICONSOLE_HOOK_ACCESS, ConVarHookNoNetClient);
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
   713
	IConsoleVarRegister("net_sync_freq", &_network_sync_freq, ICONSOLE_VAR_UINT16);
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
   714
	IConsoleVarHook("net_sync_freq", ICONSOLE_HOOK_ACCESS, ConVarHookNoNetClient);
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   715
#endif /* ENABLE_NETWORK */
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   716
554
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
   717
	// debugging stuff
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
   718
#ifdef _DEBUG
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
   719
	IConsoleDebugLibRegister();
670b089d7772 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
   720
#endif
222
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   721
b88456001397 (svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents: 220
diff changeset
   722
}
289
1e1102dd2a62 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   723
/* -------------------- don't cross this line --------------------- */