console_cmds.c
author truelight
Wed, 12 Jan 2005 11:54:51 +0000
changeset 990 d2872f4948c1
parent 934 747e52f64119
child 1019 6bae6c11e865
permissions -rw-r--r--
(svn r1488) -Fix: fixed some spelling mistakes (tnx to Tron)
-Fix: fixed some compiler-warnings
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
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
     8
#include "network_data.h"
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
     9
#include "network_client.h"
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    10
#include "network_server.h"
766
90f3c0a14380 (svn r1231) -Fix: missing header file for console_cmds.c
truelight
parents: 765
diff changeset
    11
#include "network_udp.h"
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    12
#include "command.h"
623
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
    13
#include "settings.h"
885
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
    14
#include "hal.h" /* for file list */
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
    15
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
    16
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
    17
// ** scriptfile handling ** //
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
    18
static FILE * _script_file;
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
    19
static bool _script_running;
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
    20
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
// ** console command / variable defines ** //
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
    22
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
    23
#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
    24
#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
    25
#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
    26
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
    27
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
    28
// ** supporting functions ** //
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
    29
289
6dd77b0ac456 (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
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
    31
{
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
    32
	uint32 result;
6dd77b0ac456 (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, "%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
    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
	if (result == 0 && arg[0] == '0' && arg[1] == 'x')
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
    36
		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
    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
	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
    39
}
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
/* **************************** */
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
    42
/* 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
    43
/* **************************** */
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
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    45
#ifdef ENABLE_NETWORK
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    46
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
    47
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
    48
{
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
    49
	if (_networking) {
301
3b69e7025af9 (svn r307) -Fix: Several potential buffer-overflow fixes, and removal of 'magic-numbers' in favour of constants. (Tron)
darkvater
parents: 289
diff changeset
    50
		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
    51
		return false;
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
    52
	}
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
    53
	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
    54
}
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
    55
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
    56
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
    57
{
554
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    58
	if (!_network_available) {
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    59
		IConsoleError("You can not use this command because there is no network available.");
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    60
		return false;
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    61
	}
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    62
	if (!_network_server) {
301
3b69e7025af9 (svn r307) -Fix: Several potential buffer-overflow fixes, and removal of 'magic-numbers' in favour of constants. (Tron)
darkvater
parents: 289
diff changeset
    63
		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
    64
		return false;
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
    65
	}
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
    66
	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
    67
}
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
    68
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    69
DEF_CONSOLE_CMD_HOOK(ConCmdHookNoNetClient)
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    70
{
554
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    71
	if (!_network_available) {
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    72
		IConsoleError("You can not use this command because there is no network available.");
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    73
		return false;
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    74
	}
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    75
	if (!_network_server) {
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    76
		IConsoleError("This command is only available for a network server.");
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    77
		return false;
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    78
	}
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    79
	return true;
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    80
}
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    81
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    82
DEF_CONSOLE_CMD_HOOK(ConCmdHookNoNetServer)
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    83
{
554
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    84
	if (!_network_available) {
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    85
		IConsoleError("You can not use this command because there is no network available.");
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    86
		return false;
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    87
	}
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    88
	if (_network_server) {
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    89
		IConsoleError("You can not use this command because you are a network-server.");
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    90
		return false;
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    91
	}
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    92
	return true;
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    93
}
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    94
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    95
DEF_CONSOLE_CMD_HOOK(ConCmdHookNeedNetwork)
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
    96
{
554
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    97
	if (!_network_available) {
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    98
		IConsoleError("You can not use this command because there is no network available.");
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
    99
		return false;
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
   100
	}
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   101
	if (!_networking) {
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   102
		IConsoleError("Not connected. Multiplayer only command.");
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   103
		return false;
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   104
	}
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   105
	return true;
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   106
}
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   107
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   108
#endif /* ENABLE_NETWORK */
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   109
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
   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
/* 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
   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
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
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
   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
	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
   117
	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
   118
}
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
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   120
#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
   121
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
   122
{
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
	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
   124
		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
   125
		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
   126
	}
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
   127
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
	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
   129
}
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   130
#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
   131
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
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
   133
{
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
	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
   135
		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
   136
		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
   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
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
   139
	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
   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
885
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   142
extern bool SafeSaveOrLoad(const char *filename, int mode, int newgm);
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   143
extern void BuildFileList();
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   144
extern void SetFiosType(const byte fiostype);
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   145
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   146
/* Load a file-number from current dir */
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   147
static void LoadMap(uint no)
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   148
{
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   149
	/* Build file list */
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   150
	BuildFileList();
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   151
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   152
	/* Check if in range */
887
f4e58322fa3c (svn r1373) -Fix: compilation fix for windows
darkvater
parents: 885
diff changeset
   153
	if (no != 0 && no <= (uint)_fios_num) {
885
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   154
		const FiosItem *item = &_fios_list[no - 1];
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   155
932
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   156
		if (item->type == FIOS_TYPE_FILE) {
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   157
			/* Load the file */
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   158
			_switch_mode = SM_LOAD;
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   159
			SetFiosType(item->type);
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   160
			strcpy(_file_to_saveload.name, FiosBrowseTo(item));
885
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   161
932
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   162
			IConsolePrint(_iconsole_color_default, "Loading map...");
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   163
		} else
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   164
			IConsolePrint(_iconsole_color_error, "That is not a map.");
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   165
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   166
	} else /* Show usages */
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   167
		IConsolePrint(_iconsole_color_error, "Unknown map. Use 'list_files' and 'goto_dir' to find the numbers of the savegame.");
885
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   168
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   169
	/* Free the file-list */
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   170
	FiosFreeSavegameList();
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   171
}
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   172
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   173
/* Load a file from a map */
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   174
DEF_CONSOLE_CMD(ConLoad)
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   175
{
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   176
	/* We need 1 argument */
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   177
	if (argc == 2) {
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   178
		/* Load the map */
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   179
		LoadMap(atoi(argv[1]));
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   180
		return NULL;
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   181
	}
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   182
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   183
	/* Give usage */
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   184
	IConsolePrint(_iconsole_color_default, "Unknown usage. Usage: load <file-no>");
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   185
	return NULL;
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   186
}
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   187
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   188
/* List all the files in the current dir via console */
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   189
DEF_CONSOLE_CMD(ConListFiles)
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   190
{
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   191
	const FiosItem *item;
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   192
	int pos = 0;
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   193
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   194
	/* Build the file-list */
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   195
	BuildFileList();
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   196
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   197
	/* As long as we have files */
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   198
	while (pos < _fios_num) {
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   199
		item = _fios_list + pos;
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   200
		pos++;
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   201
		/* Show them */
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   202
		IConsolePrintF(_iconsole_color_default, "%d) %s", pos, item->title[0] ? item->title : item->name);
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   203
	}
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   204
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   205
	/* Destroy the file list */
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   206
	FiosFreeSavegameList();
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   207
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   208
	return NULL;
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   209
}
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   210
932
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   211
/* Get an Specific file */
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   212
DEF_CONSOLE_CMD(ConScanFiles)
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   213
{
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   214
	const FiosItem *item;
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   215
	int pos = 0;
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   216
	_iconsole_var* result;
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   217
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   218
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   219
	result = IConsoleVarAlloc(ICONSOLE_VAR_STRING);
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   220
	
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   221
	if (argc <= 1) {
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   222
		IConsoleVarSetString(result, "0");
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   223
		return result; // return an zero
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   224
	}
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   225
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   226
	/* Build the file-list */
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   227
	BuildFileList();
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   228
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   229
	/* As long as we have files */
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   230
	while (pos < _fios_num) {
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   231
		item = _fios_list + pos;
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   232
		pos++;		
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   233
		if (strcmp(argv[1], "..") == 0) {
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   234
			if (item->type == FIOS_TYPE_PARENT) {
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   235
				// huh we are searching for the parent directory
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   236
				char buffer[10];
934
747e52f64119 (svn r1422) Fixed linux compiling, that was broken in r1420
dominik
parents: 932
diff changeset
   237
				sprintf(buffer, "%d", pos);
932
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   238
				IConsoleVarSetString(result, buffer);
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   239
				return result;
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   240
			}
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   241
		} else 
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   242
			// file records ?
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   243
			if (item->type == FIOS_TYPE_FILE) {
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   244
				if (strcmp(argv[1], item->name) == 0) {
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   245
					char buffer[10];
934
747e52f64119 (svn r1422) Fixed linux compiling, that was broken in r1420
dominik
parents: 932
diff changeset
   246
					sprintf(buffer, "%d", pos);
932
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   247
					IConsoleVarSetString(result, buffer);
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   248
					return result;
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   249
				}			
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   250
			}
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   251
	}
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   252
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   253
	/* Destroy the file list */
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   254
	FiosFreeSavegameList();
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   255
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   256
	return NULL;
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   257
}
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
   258
885
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   259
/* Change the dir via console */
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   260
DEF_CONSOLE_CMD(ConGotoDir)
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   261
{
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   262
	char *file;
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   263
	int no;
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   264
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   265
	/* We need 1 argument */
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   266
	if (argc != 2) {
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   267
		IConsolePrint(_iconsole_color_default, "Unknown usage. Usage: goto_map <dir-no>");
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   268
		return NULL;
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   269
	}
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   270
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   271
	no = atoi(argv[1]);
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   272
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   273
	/* Make the file list */
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   274
	BuildFileList();
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   275
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   276
	/* Check if we are in range */
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   277
	if (no != 0 && no <= _fios_num) {
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   278
		const FiosItem *item = &_fios_list[no - 1];
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   279
		/* Only DIR and PARENT we do allow here */
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   280
		if (item->type == FIOS_TYPE_DIR || item->type == FIOS_TYPE_PARENT) {
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   281
			/* Goto the map */
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   282
			file = FiosBrowseTo(item);
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   283
			FiosFreeSavegameList();
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   284
			return NULL;
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   285
		}
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   286
	}
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   287
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   288
	/* Report error */
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   289
	IConsolePrint(_iconsole_color_default, "That number is no directory.");
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   290
	FiosFreeSavegameList();
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   291
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   292
	return NULL;
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   293
}
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
   294
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   295
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
   296
// ********************************* //
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
   297
// * 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
   298
// ********************************* //
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
   299
#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
   300
841
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   301
DEF_CONSOLE_CMD(ConBan)
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   302
{
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   303
	NetworkClientInfo *ci;
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   304
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   305
	if (argc == 2) {
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   306
		uint32 index = atoi(argv[1]);
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   307
		if (index == NETWORK_SERVER_INDEX && !_network_dedicated) {
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   308
			IConsolePrint(_iconsole_color_default, "Silly boy, you can not ban yourself!");
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   309
			return NULL;
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   310
		}
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   311
		if (index == 0) {
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   312
			IConsoleError("Invalid Client-ID");
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   313
			return NULL;
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   314
		}
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   315
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   316
		ci = NetworkFindClientInfoFromIndex(index);
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   317
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   318
		if (ci != NULL) {
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   319
			uint i;
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   320
			/* Add user to ban-list */
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   321
			for (i = 0; i < lengthof(_network_ban_list); i++) {
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   322
				if (_network_ban_list[i] == NULL || _network_ban_list[i][0] == '\0') {
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   323
					_network_ban_list[i] = strdup(inet_ntoa(*(struct in_addr *)&ci->client_ip));
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   324
					break;
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   325
				}
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   326
			}
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   327
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   328
			SEND_COMMAND(PACKET_SERVER_ERROR)(NetworkFindClientStateFromIndex(index), NETWORK_ERROR_KICKED);
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   329
			return NULL;
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   330
		} else {
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   331
			IConsoleError("Client-ID not found");
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   332
			return NULL;
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   333
		}
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   334
	}
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   335
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   336
	IConsolePrint(_iconsole_color_default, "Unknown usage. Usage: ban <client-id>. For client-ids, see 'clients'.");
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   337
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   338
	return NULL;
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   339
}
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   340
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   341
DEF_CONSOLE_CMD(ConUnBan)
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   342
{
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   343
	if (argc == 2) {
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   344
		uint i;
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   345
		for (i = 0; i < lengthof(_network_ban_list); i++) {
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   346
			if (_network_ban_list[i] == NULL || _network_ban_list[i][0] == '\0')
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   347
				continue;
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   348
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   349
			if (strncmp(_network_ban_list[i], argv[1], strlen(_network_ban_list[i])) == 0) {
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   350
				_network_ban_list[i][0] = '\0';
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   351
				IConsolePrint(_iconsole_color_default, "IP unbanned.");
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   352
				return NULL;
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   353
			}
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   354
		}
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   355
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   356
		IConsolePrint(_iconsole_color_default, "IP not in ban-list.");
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   357
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   358
		return NULL;
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   359
	}
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   360
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   361
	IConsolePrint(_iconsole_color_default, "Unknown usage. Usage: unban <ip>.");
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   362
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   363
	return NULL;
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   364
}
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   365
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   366
DEF_CONSOLE_CMD(ConBanList)
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   367
{
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   368
	uint i;
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   369
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   370
	IConsolePrint(_iconsole_color_default, "Banlist: ");
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   371
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   372
	for (i = 0; i < lengthof(_network_ban_list); i++) {
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   373
		if (_network_ban_list[i] == NULL || _network_ban_list[i][0] == '\0')
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   374
			continue;
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   375
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   376
		IConsolePrintF(_iconsole_color_default, "  %d) %s", i + 1, _network_ban_list[i]);
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   377
	}
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   378
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   379
	return NULL;
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   380
}
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
   381
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   382
DEF_CONSOLE_CMD(ConStatus)
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   383
{
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   384
	const char *status;
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   385
	int lag;
716
8af847728d5b (svn r1168) -Cleanup: [Network] Cleaned the network code a bit. Added 'const'
truelight
parents: 693
diff changeset
   386
	const NetworkClientState *cs;
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   387
	const NetworkClientInfo *ci;
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   388
	FOR_ALL_CLIENTS(cs) {
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   389
		lag = NetworkCalculateLag(cs);
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   390
		ci = DEREF_CLIENT_INFO(cs);
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   391
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   392
		switch (cs->status) {
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   393
			case STATUS_INACTIVE:
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   394
				status = "inactive";
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   395
				break;
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   396
			case STATUS_AUTH:
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   397
				status = "authorized";
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   398
				break;
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   399
			case STATUS_MAP:
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   400
				status = "loading map";
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   401
				break;
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   402
			case STATUS_DONE_MAP:
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   403
				status = "done map";
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   404
				break;
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   405
			case STATUS_PRE_ACTIVE:
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   406
				status = "ready";
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   407
				break;
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   408
			case STATUS_ACTIVE:
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   409
				status = "active";
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   410
				break;
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   411
			default:
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   412
				status = "unknown";
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   413
				break;
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   414
		}
602
f0afb4018788 (svn r1026) -Add: [Network] Added unique id, so in network, each client has an
truelight
parents: 554
diff changeset
   415
		IConsolePrintF(8, "Client #%d/%s  status: %s  frame-lag: %d  play-as: %d  unique-id: %s",
f0afb4018788 (svn r1026) -Add: [Network] Added unique id, so in network, each client has an
truelight
parents: 554
diff changeset
   416
			cs->index, ci->client_name, status, lag, ci->client_playas, ci->unique_id);
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   417
	}
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   418
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   419
	return NULL;
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   420
}
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   421
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   422
DEF_CONSOLE_CMD(ConKick)
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   423
{
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   424
	NetworkClientInfo *ci;
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   425
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   426
	if (argc == 2) {
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   427
		uint32 index = atoi(argv[1]);
783
59446ec28325 (svn r1250) -Fix: a dedicated server could not kick user number 1
truelight
parents: 778
diff changeset
   428
		if (index == NETWORK_SERVER_INDEX && !_network_dedicated) {
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   429
			IConsolePrint(_iconsole_color_default, "Silly boy, you can not kick yourself!");
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   430
			return NULL;
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   431
		}
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   432
		if (index == 0) {
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   433
			IConsoleError("Invalid Client-ID");
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   434
			return NULL;
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   435
		}
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   436
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   437
		ci = NetworkFindClientInfoFromIndex(index);
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   438
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   439
		if (ci != NULL) {
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   440
			SEND_COMMAND(PACKET_SERVER_ERROR)(NetworkFindClientStateFromIndex(index), NETWORK_ERROR_KICKED);
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   441
			return NULL;
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   442
		} else {
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   443
			IConsoleError("Client-ID not found");
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   444
			return NULL;
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   445
		}
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   446
	}
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   447
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   448
	IConsolePrint(_iconsole_color_default, "Unknown usage. Usage: kick <client-id>. For client-ids, see 'clients'.");
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   449
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   450
	return NULL;
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   451
}
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   452
688
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   453
DEF_CONSOLE_CMD(ConResetCompany)
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   454
{
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   455
	Player *p;
716
8af847728d5b (svn r1168) -Cleanup: [Network] Cleaned the network code a bit. Added 'const'
truelight
parents: 693
diff changeset
   456
	NetworkClientState *cs;
688
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   457
	NetworkClientInfo *ci;
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   458
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   459
	if (argc == 2) {
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   460
		uint32 index = atoi(argv[1]);
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   461
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   462
		/* Check valid range */
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   463
		if (index < 1 || index > MAX_PLAYERS) {
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   464
			IConsolePrintF(_iconsole_color_error, "Company does not exist. Company-ID must be between 1 and %d.", MAX_PLAYERS);
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   465
			return NULL;
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   466
		}
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   467
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   468
		/* Check if company does exist */
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   469
		index--;
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   470
		p = DEREF_PLAYER(index);
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   471
		if (!p->is_active) {
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   472
			IConsolePrintF(_iconsole_color_error, "Company does not exist.");
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   473
			return NULL;
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   474
		}
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   475
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   476
		if (p->is_ai) {
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   477
			IConsolePrintF(_iconsole_color_error, "Company is owned by an AI.");
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   478
			return NULL;
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   479
		}
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   480
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   481
		/* Check if the company has active players */
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   482
		FOR_ALL_CLIENTS(cs) {
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   483
			ci = DEREF_CLIENT_INFO(cs);
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   484
			if (ci->client_playas-1 == index) {
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   485
				IConsolePrintF(_iconsole_color_error, "Cannot remove company: a client is connected to that company.");
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   486
				return NULL;
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   487
			}
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   488
		}
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   489
		ci = NetworkFindClientInfoFromIndex(NETWORK_SERVER_INDEX);
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   490
		if (ci->client_playas-1 == index) {
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   491
			IConsolePrintF(_iconsole_color_error, "Cannot remove company: a client is connected to that company.");
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   492
			return NULL;
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   493
		}
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   494
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   495
		/* It is safe to remove this company */
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   496
		DoCommandP(0, 2, index, NULL, CMD_PLAYER_CTRL);
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   497
		IConsolePrint(_iconsole_color_default, "Company deleted.");
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   498
		return NULL;
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   499
	}
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   500
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   501
	IConsolePrint(_iconsole_color_default, "Unknown usage. Usage: reset_company <company-id>.");
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   502
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   503
	return NULL;
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   504
}
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
   505
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   506
DEF_CONSOLE_CMD(ConNetworkClients)
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   507
{
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   508
	NetworkClientInfo *ci;
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   509
	for (ci = _network_client_info; ci != &_network_client_info[MAX_CLIENT_INFO]; ci++) {
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   510
		if (ci->client_index != NETWORK_EMPTY_INDEX) {
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   511
			IConsolePrintF(8,"Client #%d   name: %s  play-as: %d", ci->client_index, ci->client_name, ci->client_playas);
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   512
		}
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   513
	}
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   514
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   515
	return NULL;
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   516
}
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   517
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
   518
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
   519
{
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   520
	char* ip;
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   521
	const byte *port = NULL;
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   522
	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
   523
	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
   524
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
   525
	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
   526
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   527
	if (_networking) {
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   528
		// We are in network-mode, first close it!
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   529
		NetworkDisconnect();
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   530
	}
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   531
228
f65dec6727d9 (svn r229) -Fix: Some more const stuff fixed .(Tron)
darkvater
parents: 222
diff changeset
   532
	ip = argv[1];
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   533
	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
   534
228
f65dec6727d9 (svn r229) -Fix: Some more const stuff fixed .(Tron)
darkvater
parents: 222
diff changeset
   535
	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
   536
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   537
	IConsolePrintF(_iconsole_color_default, "Connecting to %s...", ip);
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   538
	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
   539
		_network_playas = atoi(player);
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   540
		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
   541
	}
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   542
	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
   543
		rport = atoi(port);
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   544
		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
   545
	}
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
   546
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   547
	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
   548
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
   549
	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
   550
}
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
   551
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   552
#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
   553
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   554
/* ******************************** */
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   555
/*   script file console commands   */
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   556
/* ******************************** */
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   557
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   558
DEF_CONSOLE_CMD(ConExec)
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   559
{
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   560
	char cmd[1024];
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   561
	bool doerror;
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   562
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   563
	if (argc<2) return NULL;
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   564
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   565
	doerror = true;
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   566
	_script_file = fopen(argv[1], "r");
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   567
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   568
	if (_script_file == NULL) {
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   569
		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
   570
		if (doerror) IConsoleError("script file not found");
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   571
		return NULL;
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   572
		}
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   573
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   574
	_script_running = true;
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   575
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   576
	fgets(cmd, sizeof(cmd), _script_file);
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   577
	while (!feof(_script_file) && _script_running) {
636
2e51f3726f32 (svn r1067) -Add: [Console] Added comment for scripts (everything behind the # is
truelight
parents: 634
diff changeset
   578
		strtok(cmd, "\r\n#");
2e51f3726f32 (svn r1067) -Add: [Console] Added comment for scripts (everything behind the # is
truelight
parents: 634
diff changeset
   579
		if (strlen(cmd) > 0 && cmd[0] != '#')
2e51f3726f32 (svn r1067) -Add: [Console] Added comment for scripts (everything behind the # is
truelight
parents: 634
diff changeset
   580
			IConsoleCmdExec(cmd);
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   581
		fgets(cmd, sizeof(cmd), _script_file);
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   582
	}
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   583
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   584
	_script_running = false;
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   585
	fclose(_script_file);
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   586
	return NULL;
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   587
}
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   588
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   589
DEF_CONSOLE_CMD(ConReturn)
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   590
{
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   591
	_script_running = false;
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   592
	return NULL;
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   593
}
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   594
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
   595
/* **************************** */
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
   596
/*   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
   597
/* **************************** */
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
   598
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   599
DEF_CONSOLE_CMD(ConScript)
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   600
{
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   601
	extern FILE* _iconsole_output_file;
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   602
	if (_iconsole_output_file != NULL) {
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   603
		IConsolePrintF(_iconsole_color_default, "file output complete");
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   604
		fclose(_iconsole_output_file);
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   605
	} else {
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   606
		if (argc < 2) return NULL;
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   607
		IConsolePrintF(_iconsole_color_default, "file output started to: %s",
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   608
			argv[1]);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   609
		_iconsole_output_file = fopen(argv[1], "ab");
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   610
		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
   611
	}
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   612
	return NULL;
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   613
}
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   614
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   615
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
   616
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
   617
{
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   618
	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
   619
	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
   620
	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
   621
}
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
   622
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
   623
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
   624
{
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   625
	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
   626
	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
   627
	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
   628
}
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
   629
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   630
extern void SwitchMode(int new_mode);
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   631
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   632
DEF_CONSOLE_CMD(ConNewGame)
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   633
{
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   634
	_docommand_recursive = 0;
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   635
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   636
	_random_seeds[0][0] = Random();
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   637
	_random_seeds[0][1] = InteractiveRandom();
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   638
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   639
	SwitchMode(SM_NEWGAME);
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   640
	return NULL;
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   641
}
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   642
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
   643
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
   644
{
289
6dd77b0ac456 (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
	if (argc < 3) return NULL;
6dd77b0ac456 (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
	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
   647
	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
   648
}
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
   649
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
   650
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
   651
{
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   652
	if (argc < 3) return NULL;
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   653
	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
   654
	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
   655
}
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
634
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 629
diff changeset
   657
DEF_CONSOLE_CMD(ConAlias)
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 629
diff changeset
   658
{
644
cd687cdec701 (svn r1077) Implements scripts/autoexec.scr to get executed on game starting (sign_de)
dominik
parents: 637
diff changeset
   659
	_iconsole_alias* alias;
cd687cdec701 (svn r1077) Implements scripts/autoexec.scr to get executed on game starting (sign_de)
dominik
parents: 637
diff changeset
   660
634
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 629
diff changeset
   661
	if (argc < 3) return NULL;
644
cd687cdec701 (svn r1077) Implements scripts/autoexec.scr to get executed on game starting (sign_de)
dominik
parents: 637
diff changeset
   662
cd687cdec701 (svn r1077) Implements scripts/autoexec.scr to get executed on game starting (sign_de)
dominik
parents: 637
diff changeset
   663
	alias = IConsoleAliasGet(argv[1]);
cd687cdec701 (svn r1077) Implements scripts/autoexec.scr to get executed on game starting (sign_de)
dominik
parents: 637
diff changeset
   664
	if (alias == NULL) {
cd687cdec701 (svn r1077) Implements scripts/autoexec.scr to get executed on game starting (sign_de)
dominik
parents: 637
diff changeset
   665
		IConsoleAliasRegister(argv[1],argv[2]);
cd687cdec701 (svn r1077) Implements scripts/autoexec.scr to get executed on game starting (sign_de)
dominik
parents: 637
diff changeset
   666
	} else {
cd687cdec701 (svn r1077) Implements scripts/autoexec.scr to get executed on game starting (sign_de)
dominik
parents: 637
diff changeset
   667
		free(alias->cmdline);
cd687cdec701 (svn r1077) Implements scripts/autoexec.scr to get executed on game starting (sign_de)
dominik
parents: 637
diff changeset
   668
		alias->cmdline = strdup(argv[2]);
cd687cdec701 (svn r1077) Implements scripts/autoexec.scr to get executed on game starting (sign_de)
dominik
parents: 637
diff changeset
   669
	}
634
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 629
diff changeset
   670
	return NULL;
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 629
diff changeset
   671
}
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 629
diff changeset
   672
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
   673
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
   674
{
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   675
	if (argc < 2) {
6dd77b0ac456 (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
		_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
   677
	} else {
289
6dd77b0ac456 (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
		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
   679
			_make_screenshot=2;
289
6dd77b0ac456 (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
		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
   681
			IConsoleClose();
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   682
			_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
   683
		}
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   684
	}
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
   685
	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
   686
}
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
   687
229
b94bfdf02bae (svn r230) -Feature: IConsoleWarning for warning messages
signde
parents: 228
diff changeset
   688
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
   689
{
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   690
	if (argc < 2) return NULL;
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   691
	if (argt[1] != ICONSOLE_VAR_REFERENCE) {
232
c3d08de192ed (svn r233) -Fix: german language fixes (Tron)
signde
parents: 229
diff changeset
   692
		IConsoleError("first argument has to be a variable reference");
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   693
	} else {
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   694
		_iconsole_var* item;
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   695
		item = (_iconsole_var*)argv[1];
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   696
		IConsolePrintF(_iconsole_color_default, "var_name: %s", item->name);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   697
		IConsolePrintF(_iconsole_color_default, "var_type: %i", item->type);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   698
		IConsolePrintF(_iconsole_color_default, "var_addr: %i", item->data.addr);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   699
		if (item->_malloc)
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   700
			IConsolePrintF(_iconsole_color_default, "var_malloc: internal");
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   701
		else
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   702
			IConsolePrintF(_iconsole_color_default, "var_malloc: external");
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   703
		if (item->hook_access) IConsoleWarning("var_access hooked");
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   704
		if (item->hook_before_change) IConsoleWarning("var_before_change hooked");
229
b94bfdf02bae (svn r230) -Feature: IConsoleWarning for warning messages
signde
parents: 228
diff changeset
   705
		if (item->hook_after_change) IConsoleWarning("var_after_change hooked");
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   706
	}
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
   707
	return NULL;
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   708
}
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   709
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   710
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   711
DEF_CONSOLE_CMD(ConInfoCmd)
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   712
{
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   713
	if (argc < 2) return NULL;
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   714
	if (argt[1] != ICONSOLE_VAR_UNKNOWN) {
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   715
		IConsoleError("first argument has to be a command name");
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   716
	} else {
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   717
		_iconsole_cmd* item;
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   718
		item = IConsoleCmdGet(argv[1]);
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   719
		if (item == NULL) {
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   720
			IConsoleError("the given command was not found");
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   721
			return NULL;
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   722
		}
289
6dd77b0ac456 (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
		IConsolePrintF(_iconsole_color_default, "cmd_name: %s", item->name);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   724
		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
   725
		if (item->hook_access) IConsoleWarning("cmd_access hooked");
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   726
		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
   727
		if (item->hook_after_exec) IConsoleWarning("cmd_after_exec hooked");
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   728
	}
247
1cbc32ff06eb (svn r248) -Feature: console script files "exec myscript.file"
darkvater
parents: 232
diff changeset
   729
	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
   730
}
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
   731
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
   732
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
   733
{
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   734
	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
   735
	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
   736
	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
   737
}
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
   738
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
   739
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
   740
{
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
   741
	_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
   742
	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
   743
}
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
   744
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
   745
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
   746
{
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   747
	IConsolePrint(13, " -- console help -- ");
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   748
	IConsolePrint( 1, " variables: [command to list them: list_vars]");
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   749
	IConsolePrint( 1, " temp_string = \"my little \"");
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   750
	IConsolePrint( 1, "");
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   751
	IConsolePrint( 1, " commands: [command to list them: list_cmds]");
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   752
	IConsolePrint( 1, " [command] [\"string argument with spaces\"] [argument 2] ...");
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   753
	IConsolePrint( 1, " printf \"%s world\" temp_string");
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   754
	IConsolePrint( 1, "");
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   755
	IConsolePrint( 1, " command/variable returning a value into an variable:");
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   756
	IConsolePrint( 1, " temp_uint16 << random");
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   757
	IConsolePrint( 1, " temp_uint16 << temp_uint16_2");
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   758
	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
   759
	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
   760
}
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
   761
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
   762
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
   763
{
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   764
	_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
   765
	result = IConsoleVarAlloc(ICONSOLE_VAR_UINT16);
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   766
	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
   767
	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
   768
}
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
   769
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
   770
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
   771
{
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   772
	const _iconsole_cmd* item;
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   773
	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
   774
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   775
	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
   776
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   777
	for (item = _iconsole_cmds; item != NULL; item = item->_next)
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   778
		if (argv[1] == NULL || strncmp(item->name, argv[1], l) == 0)
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   779
			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
   780
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
   781
	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
   782
}
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
   783
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
   784
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
   785
{
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   786
	const _iconsole_var* item;
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   787
	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
   788
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   789
	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
   790
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   791
	for (item = _iconsole_vars; item != NULL; item = item->_next)
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   792
		if (argv[1] == NULL || strncmp(item->name, argv[1], l) == 0)
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   793
			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
   794
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
   795
	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
   796
}
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
   797
634
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 629
diff changeset
   798
DEF_CONSOLE_CMD(ConListAliases)
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 629
diff changeset
   799
{
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 629
diff changeset
   800
	const _iconsole_alias* item;
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 629
diff changeset
   801
	size_t l = 0;
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 629
diff changeset
   802
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 629
diff changeset
   803
	if (argv[1] != NULL) l = strlen(argv[1]);
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 629
diff changeset
   804
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 629
diff changeset
   805
	for (item = _iconsole_aliases; item != NULL; item = item->_next)
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 629
diff changeset
   806
		if (argv[1] == NULL || strncmp(item->name, argv[1], l) == 0)
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 629
diff changeset
   807
			IConsolePrintF(_iconsole_color_default, "%s => %s", item->name, item->cmdline);
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 629
diff changeset
   808
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 629
diff changeset
   809
	return NULL;
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 629
diff changeset
   810
}
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 629
diff changeset
   811
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
   812
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
   813
{
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   814
	const _iconsole_var* item;
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   815
	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
   816
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   817
	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
   818
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   819
	for (item = _iconsole_vars; item != NULL; item = item->_next)
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   820
		if (argv[1] == NULL || strncmp(item->name, argv[1], l) == 0)
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
   821
			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
   822
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
   823
	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
   824
}
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
   825
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   826
#ifdef ENABLE_NETWORK
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   827
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   828
DEF_CONSOLE_CMD(ConSay)
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   829
{
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   830
	if (argc == 2) {
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   831
		if (!_network_server)
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   832
			SEND_COMMAND(PACKET_CLIENT_CHAT)(NETWORK_ACTION_CHAT, DESTTYPE_BROADCAST, 0 /* param does not matter */, argv[1]);
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   833
		else
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   834
			NetworkServer_HandleChat(NETWORK_ACTION_CHAT, DESTTYPE_BROADCAST, 0, argv[1], NETWORK_SERVER_INDEX);
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   835
	} else
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   836
		IConsolePrint(_iconsole_color_default, "Unknown usage. Usage: say \"<msg>\"");
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   837
	return NULL;
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   838
}
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   839
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   840
DEF_CONSOLE_CMD(ConSayPlayer)
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   841
{
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   842
	if (argc == 3) {
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   843
		if (atoi(argv[1]) < 1 || atoi(argv[1]) > MAX_PLAYERS) {
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   844
			IConsolePrintF(_iconsole_color_default, "Unknown player. Player range is between 1 and %d.", MAX_PLAYERS);
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   845
			return NULL;
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   846
		}
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   847
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   848
		if (!_network_server)
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   849
			SEND_COMMAND(PACKET_CLIENT_CHAT)(NETWORK_ACTION_CHAT_PLAYER, DESTTYPE_PLAYER, atoi(argv[1]), argv[2]);
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   850
		else
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   851
			NetworkServer_HandleChat(NETWORK_ACTION_CHAT_PLAYER, DESTTYPE_PLAYER, atoi(argv[1]), argv[2], NETWORK_SERVER_INDEX);
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   852
	} else
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   853
		IConsolePrint(_iconsole_color_default, "Unknown usage. Usage: say_player <playerno> \"<msg>\"");
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   854
	return NULL;
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   855
}
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   856
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   857
DEF_CONSOLE_CMD(ConSayClient)
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   858
{
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   859
	if (argc == 3) {
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   860
		if (!_network_server)
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   861
			SEND_COMMAND(PACKET_CLIENT_CHAT)(NETWORK_ACTION_CHAT_CLIENT, DESTTYPE_CLIENT, atoi(argv[1]), argv[2]);
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   862
		else
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   863
			NetworkServer_HandleChat(NETWORK_ACTION_CHAT_CLIENT, DESTTYPE_CLIENT, atoi(argv[1]), argv[2], NETWORK_SERVER_INDEX);
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   864
	} else
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   865
		IConsolePrint(_iconsole_color_default, "Unknown usage. Usage: say_client <clientno> \"<msg>\"");
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   866
	return NULL;
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   867
}
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   868
623
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   869
#endif /* ENABLE_NETWORK */
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   870
623
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   871
/* **************************** */
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   872
/*   the "set" command          */
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   873
/* **************************** */
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   874
627
5495f77a0e7c (svn r1057) -Add: [Network] 'set port <port>' changes the port of the server (after reboot)
truelight
parents: 625
diff changeset
   875
extern void ConsoleSetPatchSetting(char *name, char *value);
5495f77a0e7c (svn r1057) -Add: [Network] 'set port <port>' changes the port of the server (after reboot)
truelight
parents: 625
diff changeset
   876
extern void ConsoleGetPatchSetting(char *name);
5495f77a0e7c (svn r1057) -Add: [Network] 'set port <port>' changes the port of the server (after reboot)
truelight
parents: 625
diff changeset
   877
623
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   878
DEF_CONSOLE_CMD(ConSet) {
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   879
	if (argc < 2) {
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   880
		IConsolePrint(_iconsole_color_warning, "Unknonw usage. Usage: set [setting] [value].");
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   881
		return NULL;
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   882
	}
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   883
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   884
#ifdef ENABLE_NETWORK
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   885
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   886
	// setting the server password
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   887
	if ((strcmp(argv[1],"server_pw") == 0) || (strcmp(argv[1],"server_password") == 0)) {
627
5495f77a0e7c (svn r1057) -Add: [Network] 'set port <port>' changes the port of the server (after reboot)
truelight
parents: 625
diff changeset
   888
		if (!_network_server) {
5495f77a0e7c (svn r1057) -Add: [Network] 'set port <port>' changes the port of the server (after reboot)
truelight
parents: 625
diff changeset
   889
			IConsolePrintF(_iconsole_color_error, "You are not the server");
623
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   890
			return NULL;
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   891
		}
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   892
		if (argc == 3) {
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   893
			// Change server password
665
e13a14eaf628 (svn r1101) -Fix: [Console] Removed magic numbers
truelight
parents: 664
diff changeset
   894
			if (strncmp(argv[2], "*", NETWORK_PASSWORD_LENGTH) == 0) {
623
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   895
				_network_game_info.server_password[0] = '\0';
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   896
				_network_game_info.use_password = 0;
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   897
			} else {
666
49beb75bb3a2 (svn r1102) -Fix: [Console] 'set server_pw' was acting crazy when you typed more
truelight
parents: 665
diff changeset
   898
				ttd_strlcpy(_network_game_info.server_password, argv[2], sizeof(_network_game_info.server_password));
623
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   899
				_network_game_info.use_password = 1;
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   900
			}
623
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   901
			IConsolePrintF(_iconsole_color_warning, "Game-password changed to '%s'", _network_game_info.server_password);
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   902
		} else {
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   903
			IConsolePrintF(_iconsole_color_default, "Current game-password is set to '%s'", _network_game_info.server_password);
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   904
			IConsolePrint(_iconsole_color_warning, "Usage: set server_pw \"<password>\".   Use * as <password> to set no password.");
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   905
		}
623
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   906
		return NULL;
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   907
	}
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
   908
623
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   909
	// setting the company password
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   910
	if ((strcmp(argv[1],"company_pw") == 0) || (strcmp(argv[1],"company_password") == 0)) {
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   911
		if (!_networking) {
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   912
			IConsolePrintF(_iconsole_color_error,"No network game running");
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   913
			return NULL;
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   914
		}
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   915
		if (_local_player >= MAX_PLAYERS) {
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   916
			IConsolePrintF(_iconsole_color_default, "You have to own a company to make use of this command.");
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   917
			return NULL;
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   918
		}
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   919
		if (argc == 3) {
773
a376cebd3dc0 (svn r1239) -Feature: Added gui option of setting company password. It can be found in the 'company information' window
darkvater
parents: 766
diff changeset
   920
			NetworkChangeCompanyPassword(argv[2]);
623
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   921
		} else {
773
a376cebd3dc0 (svn r1239) -Feature: Added gui option of setting company password. It can be found in the 'company information' window
darkvater
parents: 766
diff changeset
   922
			IConsolePrint(_iconsole_color_default, "'set company_pw' sets a password for your company, so no-one without the correct password can join.");
623
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   923
			IConsolePrint(_iconsole_color_warning, "Usage: set company_pw \"<password>\".   Use * as <password> to set no password.");
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   924
		}
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   925
		return NULL;
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   926
	}
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   927
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   928
	// setting the player name
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   929
	if (strcmp(argv[1],"name") == 0) {
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   930
		NetworkClientInfo *ci;
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   931
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   932
		if (!_networking) {
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   933
			IConsolePrintF(_iconsole_color_error,"No network game running");
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   934
			return NULL;
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   935
		}
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   936
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   937
		ci = NetworkFindClientInfoFromIndex(_network_own_client_index);
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   938
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   939
		if (argc == 3 && ci != NULL) {
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   940
			if (!_network_server)
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   941
				SEND_COMMAND(PACKET_CLIENT_SET_NAME)(argv[2]);
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   942
			else {
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   943
				if (NetworkFindName(argv[2])) {
722
f420fa9bd521 (svn r1174) -Fix: [Network] All strings can now be translated (no more hardcoded strings)
truelight
parents: 716
diff changeset
   944
					NetworkTextMessage(NETWORK_ACTION_NAME_CHANGE, 1, false, ci->client_name, argv[2]);
665
e13a14eaf628 (svn r1101) -Fix: [Console] Removed magic numbers
truelight
parents: 664
diff changeset
   945
					ttd_strlcpy(ci->client_name, argv[2], sizeof(ci->client_name));
623
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   946
					NetworkUpdateClientInfo(NETWORK_SERVER_INDEX);
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   947
				}
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   948
			}
637
d3c50c368bb3 (svn r1068) -Fix: [Console] Let the client remember his own name-change
truelight
parents: 636
diff changeset
   949
			/* Also keep track of the new name on the client itself */
665
e13a14eaf628 (svn r1101) -Fix: [Console] Removed magic numbers
truelight
parents: 664
diff changeset
   950
			ttd_strlcpy(_network_player_name, argv[2], sizeof(_network_player_name));
623
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   951
		} else {
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   952
			IConsolePrint(_iconsole_color_default, "With 'set name' you can change your network-player name.");
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   953
			IConsolePrint(_iconsole_color_warning, "Usage: set name \"<name>\".");
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   954
		}
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   955
		return NULL;
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   956
	}
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   957
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   958
	// setting the server name
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   959
	if (strcmp(argv[1],"server_name") == 0) {
627
5495f77a0e7c (svn r1057) -Add: [Network] 'set port <port>' changes the port of the server (after reboot)
truelight
parents: 625
diff changeset
   960
		if (!_network_server) {
5495f77a0e7c (svn r1057) -Add: [Network] 'set port <port>' changes the port of the server (after reboot)
truelight
parents: 625
diff changeset
   961
			IConsolePrintF(_iconsole_color_error, "You are not the server");
623
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   962
			return NULL;
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   963
		}
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   964
		if (argc == 3) {
693
5b1c1929bb91 (svn r1137) -Fix: [Network] Replaces all strncpy with ttd_strlcpy.. windows really
truelight
parents: 690
diff changeset
   965
			ttd_strlcpy(_network_server_name, argv[2], sizeof(_network_server_name));
623
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   966
			IConsolePrintF(_iconsole_color_warning, "Server-name changed to '%s'", _network_server_name);
665
e13a14eaf628 (svn r1101) -Fix: [Console] Removed magic numbers
truelight
parents: 664
diff changeset
   967
			ttd_strlcpy(_network_game_info.server_name, _network_server_name, sizeof(_network_game_info.server_name));
623
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   968
		} else {
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   969
			IConsolePrintF(_iconsole_color_default, "Current server-name is '%s'", _network_server_name);
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   970
			IConsolePrint(_iconsole_color_warning, "Usage: set server_name \"<GameName>\".");
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   971
		}
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   972
		return NULL;
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   973
	}
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
   974
629
4bb1f0fb0109 (svn r1059) -Fix: [Console] Renamed 'set port' to 'set server_port'
truelight
parents: 628
diff changeset
   975
	// setting the server port
4bb1f0fb0109 (svn r1059) -Fix: [Console] Renamed 'set port' to 'set server_port'
truelight
parents: 628
diff changeset
   976
	if (strcmp(argv[1],"server_port") == 0) {
627
5495f77a0e7c (svn r1057) -Add: [Network] 'set port <port>' changes the port of the server (after reboot)
truelight
parents: 625
diff changeset
   977
		if (argc == 3 && atoi(argv[2]) != 0) {
5495f77a0e7c (svn r1057) -Add: [Network] 'set port <port>' changes the port of the server (after reboot)
truelight
parents: 625
diff changeset
   978
			_network_server_port = atoi(argv[2]);
5495f77a0e7c (svn r1057) -Add: [Network] 'set port <port>' changes the port of the server (after reboot)
truelight
parents: 625
diff changeset
   979
			IConsolePrintF(_iconsole_color_warning, "Server-port changed to '%d'", _network_server_port);
5495f77a0e7c (svn r1057) -Add: [Network] 'set port <port>' changes the port of the server (after reboot)
truelight
parents: 625
diff changeset
   980
			IConsolePrintF(_iconsole_color_warning, "Changes will take effect the next time you start a server.");
5495f77a0e7c (svn r1057) -Add: [Network] 'set port <port>' changes the port of the server (after reboot)
truelight
parents: 625
diff changeset
   981
		} else {
5495f77a0e7c (svn r1057) -Add: [Network] 'set port <port>' changes the port of the server (after reboot)
truelight
parents: 625
diff changeset
   982
			IConsolePrintF(_iconsole_color_default, "Current server-port is '%d'", _network_server_port);
5495f77a0e7c (svn r1057) -Add: [Network] 'set port <port>' changes the port of the server (after reboot)
truelight
parents: 625
diff changeset
   983
			IConsolePrint(_iconsole_color_warning, "Usage: set server_port <port>.");
5495f77a0e7c (svn r1057) -Add: [Network] 'set port <port>' changes the port of the server (after reboot)
truelight
parents: 625
diff changeset
   984
		}
5495f77a0e7c (svn r1057) -Add: [Network] 'set port <port>' changes the port of the server (after reboot)
truelight
parents: 625
diff changeset
   985
		return NULL;
5495f77a0e7c (svn r1057) -Add: [Network] 'set port <port>' changes the port of the server (after reboot)
truelight
parents: 625
diff changeset
   986
	}
5495f77a0e7c (svn r1057) -Add: [Network] 'set port <port>' changes the port of the server (after reboot)
truelight
parents: 625
diff changeset
   987
629
4bb1f0fb0109 (svn r1059) -Fix: [Console] Renamed 'set port' to 'set server_port'
truelight
parents: 628
diff changeset
   988
	// setting the server ip
4bb1f0fb0109 (svn r1059) -Fix: [Console] Renamed 'set port' to 'set server_port'
truelight
parents: 628
diff changeset
   989
	if (strcmp(argv[1],"server_bind_ip") == 0 || strcmp(argv[1],"server_ip_bind") == 0 ||
4bb1f0fb0109 (svn r1059) -Fix: [Console] Renamed 'set port' to 'set server_port'
truelight
parents: 628
diff changeset
   990
			strcmp(argv[1],"server_ip") == 0 || strcmp(argv[1],"server_bind") == 0) {
4bb1f0fb0109 (svn r1059) -Fix: [Console] Renamed 'set port' to 'set server_port'
truelight
parents: 628
diff changeset
   991
		if (argc == 3) {
4bb1f0fb0109 (svn r1059) -Fix: [Console] Renamed 'set port' to 'set server_port'
truelight
parents: 628
diff changeset
   992
			_network_server_bind_ip = inet_addr(argv[2]);
4bb1f0fb0109 (svn r1059) -Fix: [Console] Renamed 'set port' to 'set server_port'
truelight
parents: 628
diff changeset
   993
			snprintf(_network_server_bind_ip_host, sizeof(_network_server_bind_ip_host), "%s", inet_ntoa(*(struct in_addr *)&_network_server_bind_ip));
4bb1f0fb0109 (svn r1059) -Fix: [Console] Renamed 'set port' to 'set server_port'
truelight
parents: 628
diff changeset
   994
			IConsolePrintF(_iconsole_color_warning, "Server-bind-ip changed to '%s'", _network_server_bind_ip_host);
4bb1f0fb0109 (svn r1059) -Fix: [Console] Renamed 'set port' to 'set server_port'
truelight
parents: 628
diff changeset
   995
			IConsolePrintF(_iconsole_color_warning, "Changes will take effect the next time you start a server.");
4bb1f0fb0109 (svn r1059) -Fix: [Console] Renamed 'set port' to 'set server_port'
truelight
parents: 628
diff changeset
   996
		} else {
4bb1f0fb0109 (svn r1059) -Fix: [Console] Renamed 'set port' to 'set server_port'
truelight
parents: 628
diff changeset
   997
			IConsolePrintF(_iconsole_color_default, "Current server-bind-ip is '%s'", _network_server_bind_ip_host);
4bb1f0fb0109 (svn r1059) -Fix: [Console] Renamed 'set port' to 'set server_port'
truelight
parents: 628
diff changeset
   998
			IConsolePrint(_iconsole_color_warning, "Usage: set server_bind_ip <ip>.");
4bb1f0fb0109 (svn r1059) -Fix: [Console] Renamed 'set port' to 'set server_port'
truelight
parents: 628
diff changeset
   999
		}
4bb1f0fb0109 (svn r1059) -Fix: [Console] Renamed 'set port' to 'set server_port'
truelight
parents: 628
diff changeset
  1000
		return NULL;
4bb1f0fb0109 (svn r1059) -Fix: [Console] Renamed 'set port' to 'set server_port'
truelight
parents: 628
diff changeset
  1001
	}
4bb1f0fb0109 (svn r1059) -Fix: [Console] Renamed 'set port' to 'set server_port'
truelight
parents: 628
diff changeset
  1002
678
f62cae2abc0c (svn r1116) -Add: [Console] With 'set server_advertise on/off' you can put server
truelight
parents: 666
diff changeset
  1003
	// setting the server advertising on/off
f62cae2abc0c (svn r1116) -Add: [Console] With 'set server_advertise on/off' you can put server
truelight
parents: 666
diff changeset
  1004
	if (strcmp(argv[1],"server_advertise") == 0) {
688
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
  1005
		if (!_network_server) {
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
  1006
			IConsolePrintF(_iconsole_color_error, "You are not the server");
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
  1007
			return NULL;
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
  1008
		}
678
f62cae2abc0c (svn r1116) -Add: [Console] With 'set server_advertise on/off' you can put server
truelight
parents: 666
diff changeset
  1009
		if (argc == 3) {
f62cae2abc0c (svn r1116) -Add: [Console] With 'set server_advertise on/off' you can put server
truelight
parents: 666
diff changeset
  1010
			if (strcmp(argv[2], "on") == 0 || atoi(argv[2]) == 1)
f62cae2abc0c (svn r1116) -Add: [Console] With 'set server_advertise on/off' you can put server
truelight
parents: 666
diff changeset
  1011
				_network_advertise = true;
765
18104986675d (svn r1228) -Add: [Network] When a server normally shuts down, it removed itself
truelight
parents: 722
diff changeset
  1012
			else {
18104986675d (svn r1228) -Add: [Network] When a server normally shuts down, it removed itself
truelight
parents: 722
diff changeset
  1013
				NetworkUDPRemoveAdvertise();
678
f62cae2abc0c (svn r1116) -Add: [Console] With 'set server_advertise on/off' you can put server
truelight
parents: 666
diff changeset
  1014
				_network_advertise = false;
765
18104986675d (svn r1228) -Add: [Network] When a server normally shuts down, it removed itself
truelight
parents: 722
diff changeset
  1015
			}
678
f62cae2abc0c (svn r1116) -Add: [Console] With 'set server_advertise on/off' you can put server
truelight
parents: 666
diff changeset
  1016
			IConsolePrintF(_iconsole_color_warning, "Server-advertise changed to '%s'", (_network_advertise)?"on":"off");
f62cae2abc0c (svn r1116) -Add: [Console] With 'set server_advertise on/off' you can put server
truelight
parents: 666
diff changeset
  1017
		} else {
f62cae2abc0c (svn r1116) -Add: [Console] With 'set server_advertise on/off' you can put server
truelight
parents: 666
diff changeset
  1018
			IConsolePrintF(_iconsole_color_default, "Current server-advertise is '%s'", (_network_advertise)?"on":"off");
f62cae2abc0c (svn r1116) -Add: [Console] With 'set server_advertise on/off' you can put server
truelight
parents: 666
diff changeset
  1019
			IConsolePrint(_iconsole_color_warning, "Usage: set server_advertise on/off.");
f62cae2abc0c (svn r1116) -Add: [Console] With 'set server_advertise on/off' you can put server
truelight
parents: 666
diff changeset
  1020
		}
f62cae2abc0c (svn r1116) -Add: [Console] With 'set server_advertise on/off' you can put server
truelight
parents: 666
diff changeset
  1021
		return NULL;
f62cae2abc0c (svn r1116) -Add: [Console] With 'set server_advertise on/off' you can put server
truelight
parents: 666
diff changeset
  1022
	}
f62cae2abc0c (svn r1116) -Add: [Console] With 'set server_advertise on/off' you can put server
truelight
parents: 666
diff changeset
  1023
690
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1024
	// setting the server autoclean on/off
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1025
	if (strcmp(argv[1],"autoclean_companies") == 0) {
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1026
		if (!_network_server) {
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1027
			IConsolePrintF(_iconsole_color_error, "You are not the server");
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1028
			return NULL;
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1029
		}
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1030
		if (argc == 3) {
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1031
			if (strcmp(argv[2], "on") == 0 || atoi(argv[2]) == 1)
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1032
				_network_autoclean_companies = true;
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1033
			else
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1034
				_network_autoclean_companies = false;
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1035
			IConsolePrintF(_iconsole_color_warning, "Autoclean-companies changed to '%s'", (_network_autoclean_companies)?"on":"off");
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1036
		} else {
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1037
			IConsolePrintF(_iconsole_color_default, "Current autoclean-companies is '%s'", (_network_autoclean_companies)?"on":"off");
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1038
			IConsolePrint(_iconsole_color_warning, "Usage: set autoclean_companies on/off.");
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1039
		}
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1040
		return NULL;
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1041
	}
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1042
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1043
	// setting the server autoclean protected
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1044
	if (strcmp(argv[1],"autoclean_protected") == 0) {
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1045
		if (!_network_server) {
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1046
			IConsolePrintF(_iconsole_color_error, "You are not the server");
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1047
			return NULL;
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1048
		}
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1049
		if (argc == 3) {
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1050
			_network_autoclean_protected = atoi(argv[2]);
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1051
			IConsolePrintF(_iconsole_color_warning, "Autoclean-protected changed to '%d'", _network_autoclean_protected);
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1052
		} else {
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1053
			IConsolePrintF(_iconsole_color_default, "Current autoclean-protected is '%d'", _network_autoclean_protected);
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1054
			IConsolePrint(_iconsole_color_warning, "Usage: set autoclean_protected <months>.");
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1055
		}
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1056
		return NULL;
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1057
	}
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1058
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1059
	// setting the server autoclean protected
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1060
	if (strcmp(argv[1],"autoclean_unprotected") == 0) {
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1061
		if (!_network_server) {
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1062
			IConsolePrintF(_iconsole_color_error, "You are not the server");
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1063
			return NULL;
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1064
		}
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1065
		if (argc == 3) {
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1066
			_network_autoclean_unprotected = atoi(argv[2]);
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1067
			IConsolePrintF(_iconsole_color_warning, "Autoclean-unprotected changed to '%d'", _network_autoclean_unprotected);
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1068
		} else {
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1069
			IConsolePrintF(_iconsole_color_default, "Current autoclean-unprotected is '%d'", _network_autoclean_unprotected);
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1070
			IConsolePrint(_iconsole_color_warning, "Usage: set autoclean_unprotected <months>.");
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1071
		}
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1072
		return NULL;
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1073
	}
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1074
785
bba7b3b35dec (svn r1252) -Add: [Network] With 'set restart_game_date' you can set the date for in
truelight
parents: 784
diff changeset
  1075
	// setting the server auto restart date
bba7b3b35dec (svn r1252) -Add: [Network] With 'set restart_game_date' you can set the date for in
truelight
parents: 784
diff changeset
  1076
	if (strcmp(argv[1],"restart_game_date") == 0) {
bba7b3b35dec (svn r1252) -Add: [Network] With 'set restart_game_date' you can set the date for in
truelight
parents: 784
diff changeset
  1077
		if (!_network_server) {
bba7b3b35dec (svn r1252) -Add: [Network] With 'set restart_game_date' you can set the date for in
truelight
parents: 784
diff changeset
  1078
			IConsolePrintF(_iconsole_color_error, "You are not the server");
bba7b3b35dec (svn r1252) -Add: [Network] With 'set restart_game_date' you can set the date for in
truelight
parents: 784
diff changeset
  1079
			return NULL;
bba7b3b35dec (svn r1252) -Add: [Network] With 'set restart_game_date' you can set the date for in
truelight
parents: 784
diff changeset
  1080
		}
bba7b3b35dec (svn r1252) -Add: [Network] With 'set restart_game_date' you can set the date for in
truelight
parents: 784
diff changeset
  1081
		if (argc == 3) {
bba7b3b35dec (svn r1252) -Add: [Network] With 'set restart_game_date' you can set the date for in
truelight
parents: 784
diff changeset
  1082
			_network_restart_game_date = atoi(argv[2]);
bba7b3b35dec (svn r1252) -Add: [Network] With 'set restart_game_date' you can set the date for in
truelight
parents: 784
diff changeset
  1083
			IConsolePrintF(_iconsole_color_warning, "Restart Game Date changed to '%d'", _network_restart_game_date);
bba7b3b35dec (svn r1252) -Add: [Network] With 'set restart_game_date' you can set the date for in
truelight
parents: 784
diff changeset
  1084
		} else {
bba7b3b35dec (svn r1252) -Add: [Network] With 'set restart_game_date' you can set the date for in
truelight
parents: 784
diff changeset
  1085
			IConsolePrintF(_iconsole_color_default, "Current Restart Game Date is '%d'", _network_restart_game_date);
bba7b3b35dec (svn r1252) -Add: [Network] With 'set restart_game_date' you can set the date for in
truelight
parents: 784
diff changeset
  1086
			IConsolePrint(_iconsole_color_warning, "Usage: set restart_game_date <year>. '0' means disabled.");
bba7b3b35dec (svn r1252) -Add: [Network] With 'set restart_game_date' you can set the date for in
truelight
parents: 784
diff changeset
  1087
			IConsolePrint(_iconsole_color_warning, " Auto-restart the server when 1 jan of this year is reached (e.g.: 2030).");
bba7b3b35dec (svn r1252) -Add: [Network] With 'set restart_game_date' you can set the date for in
truelight
parents: 784
diff changeset
  1088
		}
bba7b3b35dec (svn r1252) -Add: [Network] With 'set restart_game_date' you can set the date for in
truelight
parents: 784
diff changeset
  1089
		return NULL;
bba7b3b35dec (svn r1252) -Add: [Network] With 'set restart_game_date' you can set the date for in
truelight
parents: 784
diff changeset
  1090
	}
bba7b3b35dec (svn r1252) -Add: [Network] With 'set restart_game_date' you can set the date for in
truelight
parents: 784
diff changeset
  1091
629
4bb1f0fb0109 (svn r1059) -Fix: [Console] Renamed 'set port' to 'set server_port'
truelight
parents: 628
diff changeset
  1092
#endif /* ENABLE_NETWORK */
623
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
  1093
625
40c83b088bb8 (svn r1055) -Add: [Console] Special for dedicated servers:
truelight
parents: 623
diff changeset
  1094
	// Patch-options
40c83b088bb8 (svn r1055) -Add: [Console] Special for dedicated servers:
truelight
parents: 623
diff changeset
  1095
	if (strcmp(argv[1],"patch") == 0) {
40c83b088bb8 (svn r1055) -Add: [Console] Special for dedicated servers:
truelight
parents: 623
diff changeset
  1096
		if (_networking && !_network_server) {
40c83b088bb8 (svn r1055) -Add: [Console] Special for dedicated servers:
truelight
parents: 623
diff changeset
  1097
			IConsolePrintF(_iconsole_color_error, "You are not the server");
40c83b088bb8 (svn r1055) -Add: [Console] Special for dedicated servers:
truelight
parents: 623
diff changeset
  1098
			return NULL;
40c83b088bb8 (svn r1055) -Add: [Console] Special for dedicated servers:
truelight
parents: 623
diff changeset
  1099
		}
40c83b088bb8 (svn r1055) -Add: [Console] Special for dedicated servers:
truelight
parents: 623
diff changeset
  1100
		if (argc == 3)
40c83b088bb8 (svn r1055) -Add: [Console] Special for dedicated servers:
truelight
parents: 623
diff changeset
  1101
			ConsoleGetPatchSetting(argv[2]);
40c83b088bb8 (svn r1055) -Add: [Console] Special for dedicated servers:
truelight
parents: 623
diff changeset
  1102
		else if (argc == 4)
40c83b088bb8 (svn r1055) -Add: [Console] Special for dedicated servers:
truelight
parents: 623
diff changeset
  1103
			ConsoleSetPatchSetting(argv[2], argv[3]);
40c83b088bb8 (svn r1055) -Add: [Console] Special for dedicated servers:
truelight
parents: 623
diff changeset
  1104
		else
40c83b088bb8 (svn r1055) -Add: [Console] Special for dedicated servers:
truelight
parents: 623
diff changeset
  1105
			IConsolePrint(_iconsole_color_warning, "Usage: set patch <patch_name> [<value>].");
40c83b088bb8 (svn r1055) -Add: [Console] Special for dedicated servers:
truelight
parents: 623
diff changeset
  1106
		return NULL;
40c83b088bb8 (svn r1055) -Add: [Console] Special for dedicated servers:
truelight
parents: 623
diff changeset
  1107
	}
40c83b088bb8 (svn r1055) -Add: [Console] Special for dedicated servers:
truelight
parents: 623
diff changeset
  1108
40c83b088bb8 (svn r1055) -Add: [Console] Special for dedicated servers:
truelight
parents: 623
diff changeset
  1109
629
4bb1f0fb0109 (svn r1059) -Fix: [Console] Renamed 'set port' to 'set server_port'
truelight
parents: 628
diff changeset
  1110
	IConsolePrint(_iconsole_color_error, "Unknown setting");
4bb1f0fb0109 (svn r1059) -Fix: [Console] Renamed 'set port' to 'set server_port'
truelight
parents: 628
diff changeset
  1111
	IConsolePrint(_iconsole_color_error, "Known settings are:");
4bb1f0fb0109 (svn r1059) -Fix: [Console] Renamed 'set port' to 'set server_port'
truelight
parents: 628
diff changeset
  1112
#ifdef ENABLE_NETWORK
690
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1113
	IConsolePrint(_iconsole_color_error, " - autoclean_companies on/off");
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1114
	IConsolePrint(_iconsole_color_error, " - autoclean_protected <months>");
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1115
	IConsolePrint(_iconsole_color_error, " - autoclean_unprotected <months>");
629
4bb1f0fb0109 (svn r1059) -Fix: [Console] Renamed 'set port' to 'set server_port'
truelight
parents: 628
diff changeset
  1116
	IConsolePrint(_iconsole_color_error, " - company_pw \"<password>\"");
4bb1f0fb0109 (svn r1059) -Fix: [Console] Renamed 'set port' to 'set server_port'
truelight
parents: 628
diff changeset
  1117
	IConsolePrint(_iconsole_color_error, " - name \"<playername>\"");
690
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1118
	IConsolePrint(_iconsole_color_error, " - server_name \"<name>\"");
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1119
	IConsolePrint(_iconsole_color_error, " - server_advertise on/off");
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1120
	IConsolePrint(_iconsole_color_error, " - server_bind_ip <ip>");
629
4bb1f0fb0109 (svn r1059) -Fix: [Console] Renamed 'set port' to 'set server_port'
truelight
parents: 628
diff changeset
  1121
	IConsolePrint(_iconsole_color_error, " - server_port <port>");
690
3afcad69d4f7 (svn r1131) -Add: [Network] Autoclean_companies (set it with 'set autoclean_companies on/off').
truelight
parents: 688
diff changeset
  1122
	IConsolePrint(_iconsole_color_error, " - server_pw \"<password>\"");
785
bba7b3b35dec (svn r1252) -Add: [Network] With 'set restart_game_date' you can set the date for in
truelight
parents: 784
diff changeset
  1123
	IConsolePrint(_iconsole_color_error, " - restart_game_date \"<year>\"");
629
4bb1f0fb0109 (svn r1059) -Fix: [Console] Renamed 'set port' to 'set server_port'
truelight
parents: 628
diff changeset
  1124
#endif /* ENABLE_NETWORK */
4bb1f0fb0109 (svn r1059) -Fix: [Console] Renamed 'set port' to 'set server_port'
truelight
parents: 628
diff changeset
  1125
	IConsolePrint(_iconsole_color_error, " - patch <patch_name> [<value>]");
623
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
  1126
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
  1127
	return NULL;
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
  1128
}
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
  1129
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
  1130
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
  1131
#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
  1132
/* ****************************************** */
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
  1133
/*  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
  1134
/* ****************************************** */
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
  1135
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
  1136
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
  1137
{
554
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
  1138
	// debugging variables and functions
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
  1139
	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
  1140
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
  1141
	IConsoleVarRegister("con_developer", &_stdlib_con_developer, ICONSOLE_VAR_BOOLEAN);
554
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
  1142
	IConsoleVarMemRegister("temp_string2", ICONSOLE_VAR_STRING);
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
  1143
	IConsoleVarMemRegister("temp_uint16_2", ICONSOLE_VAR_UINT16);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
  1144
	IConsoleCmdRegister("resettile", ConResetTile);
634
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 629
diff changeset
  1145
	IConsoleAliasRegister("dbg_echo","echo %A; echo %B");
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 629
diff changeset
  1146
	IConsoleAliasRegister("dbg_echo2","echo %+");
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
  1147
}
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
  1148
#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
  1149
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
  1150
/* ****************************************** */
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
  1151
/*  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
  1152
/* ****************************************** */
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
  1153
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
  1154
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
  1155
{
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
  1156
	// stdlib
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
  1157
	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
  1158
554
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
  1159
	// default variables and functions
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
  1160
	IConsoleCmdRegister("debug_level",  ConDebugLevel);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
  1161
	IConsoleCmdRegister("dump_vars",    ConListDumpVariables);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
  1162
	IConsoleCmdRegister("echo",         ConEcho);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
  1163
	IConsoleCmdRegister("echoc",        ConEchoC);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
  1164
	IConsoleCmdRegister("exec",         ConExec);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
  1165
	IConsoleCmdRegister("exit",         ConExit);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
  1166
	IConsoleCmdRegister("help",         ConHelp);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
  1167
	IConsoleCmdRegister("info_cmd",     ConInfoCmd);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
  1168
	IConsoleCmdRegister("info_var",     ConInfoVar);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
  1169
	IConsoleCmdRegister("list_cmds",    ConListCommands);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
  1170
	IConsoleCmdRegister("list_vars",    ConListVariables);
634
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 629
diff changeset
  1171
	IConsoleCmdRegister("list_aliases",    ConListAliases);
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
  1172
	IConsoleCmdRegister("newgame",         ConNewGame);
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
  1173
	IConsoleCmdRegister("printf",       ConPrintF);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
  1174
	IConsoleCmdRegister("printfc",      ConPrintFC);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
  1175
	IConsoleCmdRegister("quit",         ConExit);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
  1176
	IConsoleCmdRegister("random",       ConRandom);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
  1177
	IConsoleCmdRegister("resetengines", ConResetEngines);
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
  1178
	IConsoleCmdRegister("return",     ConReturn);
554
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
  1179
	IConsoleCmdRegister("screenshot", ConScreenShot);
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
  1180
	IConsoleCmdRegister("script",     ConScript);
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
  1181
	IConsoleCmdRegister("scrollto",   ConScrollToTile);
623
3c50358d5a1b (svn r1053) -Change: [Console] Changed 'setservername', 'setpassword', 'protect' and 'name' in:
truelight
parents: 602
diff changeset
  1182
	IConsoleCmdRegister("set",			ConSet);
634
754b2df37bfa (svn r1065) -Add: [Console] Alias support. Type 'list_aliases' to show them all (sign_de)
truelight
parents: 629
diff changeset
  1183
	IConsoleCmdRegister("alias",		ConAlias);
885
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
  1184
	IConsoleCmdRegister("load",			ConLoad);
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
  1185
	IConsoleCmdRegister("list_files", ConListFiles);
932
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
  1186
	IConsoleCmdRegister("scan_files", ConScanFiles);
885
074558f61ce2 (svn r1370) -Add: added console support for loading maps. Use 'load', 'list_files'
truelight
parents: 841
diff changeset
  1187
	IConsoleCmdRegister("goto_dir", ConGotoDir);
932
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
  1188
	IConsoleAliasRegister("new_game", "newgame");
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
  1189
	IConsoleAliasRegister("newmap", "newgame");
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
  1190
	IConsoleAliasRegister("new_map", "newgame");
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
  1191
	IConsoleAliasRegister("load_game", "temp_string << scan_files %!;load temp_string");
554
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
  1192
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
  1193
	IConsoleVarRegister("developer", &_stdlib_developer, ICONSOLE_VAR_BYTE);
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
  1194
932
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
  1195
	// temporary data containers for alias scripting
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
  1196
	IConsoleVarMemRegister("temp_string", ICONSOLE_VAR_STRING);
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
  1197
	IConsoleVarMemRegister("temp_bool", ICONSOLE_VAR_BOOLEAN);
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
  1198
	IConsoleVarMemRegister("temp_int16", ICONSOLE_VAR_INT16);
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
  1199
	IConsoleVarMemRegister("temp_int32", ICONSOLE_VAR_INT32);
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
  1200
	IConsoleVarMemRegister("temp_pointer", ICONSOLE_VAR_POINTER);
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
  1201
	IConsoleVarMemRegister("temp_uint16", ICONSOLE_VAR_UINT16);
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
  1202
	IConsoleVarMemRegister("temp_uint32", ICONSOLE_VAR_UINT32);
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
  1203
a274119d6ec7 (svn r1420) -Fix: Console alias, load_game functionality and load fix (sign_de)
darkvater
parents: 887
diff changeset
  1204
554
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
  1205
	// networking variables and functions
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
  1206
#ifdef ENABLE_NETWORK
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
  1207
	IConsoleCmdRegister("say",        ConSay);
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
  1208
	IConsoleCmdHook("say", ICONSOLE_HOOK_ACCESS, ConCmdHookNeedNetwork);
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
  1209
	IConsoleCmdRegister("say_player", ConSayPlayer);
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
  1210
	IConsoleCmdHook("say_player", ICONSOLE_HOOK_ACCESS, ConCmdHookNeedNetwork);
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
  1211
	IConsoleCmdRegister("say_client", ConSayClient);
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
  1212
	IConsoleCmdHook("say_client", ICONSOLE_HOOK_ACCESS, ConCmdHookNeedNetwork);
554
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
  1213
	IConsoleCmdRegister("kick",         ConKick);
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
  1214
	IConsoleCmdHook("kick", ICONSOLE_HOOK_ACCESS, ConCmdHookNoNetClient);
688
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
  1215
	IConsoleCmdRegister("reset_company",         ConResetCompany);
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
  1216
	IConsoleCmdHook("reset_company", ICONSOLE_HOOK_ACCESS, ConCmdHookNoNetClient);
554
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
  1217
	IConsoleCmdRegister("connect", ConNetworkConnect);
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
  1218
	IConsoleCmdHook("connect", ICONSOLE_HOOK_ACCESS, ConCmdHookNoNetServer);
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
  1219
	IConsoleCmdRegister("clients", ConNetworkClients);
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
  1220
	IConsoleCmdRegister("status",   ConStatus);
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
  1221
	IConsoleCmdHook("status", ICONSOLE_HOOK_ACCESS, ConCmdHookNoNetClient);
554
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
  1222
	IConsoleCmdHook("resetengines", ICONSOLE_HOOK_ACCESS, ConCmdHookNoNetwork);
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
  1223
841
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
  1224
	IConsoleCmdRegister("ban",   ConBan);
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
  1225
	IConsoleCmdHook("ban", ICONSOLE_HOOK_ACCESS, ConCmdHookNoNetClient);
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
  1226
	IConsoleCmdRegister("unban",   ConUnBan);
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
  1227
	IConsoleCmdHook("unban", ICONSOLE_HOOK_ACCESS, ConCmdHookNoNetClient);
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
  1228
	IConsoleCmdRegister("banlist",   ConBanList);
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
  1229
	IConsoleCmdHook("banlist", ICONSOLE_HOOK_ACCESS, ConCmdHookNoNetClient);
4874b9ce2765 (svn r1322) -Add: banning system (mostly tnx to guru3)
truelight
parents: 785
diff changeset
  1230
784
a490f92a33c2 (svn r1251) -Fix: [Console] The alias 'clean_company' is now working correctly
truelight
parents: 783
diff changeset
  1231
	IConsoleAliasRegister("clean_company",		"reset_company %A");
688
1bf7db6d29b7 (svn r1129) -Add: [Network] Added 'reset_company <company-id>'. If a company is
truelight
parents: 678
diff changeset
  1232
554
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
  1233
	IConsoleVarRegister("net_frame_freq", &_network_frame_freq, ICONSOLE_VAR_UINT8);
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
  1234
	IConsoleVarHook("net_frame_freq", ICONSOLE_HOOK_ACCESS, ConVarHookNoNetClient);
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
  1235
	IConsoleVarRegister("net_sync_freq", &_network_sync_freq, ICONSOLE_VAR_UINT16);
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
  1236
	IConsoleVarHook("net_sync_freq", ICONSOLE_HOOK_ACCESS, ConVarHookNoNetClient);
543
946badd71033 (svn r942) -Merged branch/network back into the trunk
truelight
parents: 301
diff changeset
  1237
#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
  1238
554
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
  1239
	// debugging stuff
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
  1240
#ifdef _DEBUG
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
  1241
	IConsoleDebugLibRegister();
a4ba0fbbf018 (svn r954) -Fix: [Console] Hook fixes (sign_de)
truelight
parents: 543
diff changeset
  1242
#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
  1243
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
  1244
}
289
6dd77b0ac456 (svn r295) -Fix: Rewrite and fix of console stuff, including marking (XXX) of areas that require further investigation (Tron)
darkvater
parents: 262
diff changeset
  1245
/* -------------------- don't cross this line --------------------- */