mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-01-22 23:26:34 +00:00
(svn r2247) - Fix (regression): executing scripts now works (remove newline character(s)).
- Fix: getting help for an alias works - Fix: '|' is an unprintable character, replace it with '\'
This commit is contained in:
parent
ab0a6f2e73
commit
8f6b3154e5
@ -1023,6 +1023,7 @@ void IConsoleCmdExec(const char *cmdstr)
|
|||||||
for (cmdptr = cmdstr; *cmdptr != '\0'; *cmdptr++) {
|
for (cmdptr = cmdstr; *cmdptr != '\0'; *cmdptr++) {
|
||||||
if (!IsValidAsciiChar(*cmdptr)) {
|
if (!IsValidAsciiChar(*cmdptr)) {
|
||||||
IConsoleError("command contains malformed characters, aborting");
|
IConsoleError("command contains malformed characters, aborting");
|
||||||
|
IConsolePrintF(_iconsole_color_error, "ERROR: command was: '%s'", cmdstr);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -193,7 +193,7 @@ DEF_CONSOLE_CMD(ConLoad)
|
|||||||
const char *file;
|
const char *file;
|
||||||
|
|
||||||
if (argc == 0) {
|
if (argc == 0) {
|
||||||
IConsoleHelp("Load a game by name or index. Usage: 'load <file | number>'");
|
IConsoleHelp("Load a game by name or index. Usage: 'load <file \\ number>'");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -223,7 +223,7 @@ DEF_CONSOLE_CMD(ConListFiles)
|
|||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (argc == 0) {
|
if (argc == 0) {
|
||||||
IConsoleHelp("List all the files in the current dir via console. Usage: 'ls | dir'");
|
IConsoleHelp("List all the files in the current dir via console. Usage: 'ls \\ dir'");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -245,7 +245,7 @@ DEF_CONSOLE_CMD(ConChangeDirectory)
|
|||||||
const char *file;
|
const char *file;
|
||||||
|
|
||||||
if (argc == 0) {
|
if (argc == 0) {
|
||||||
IConsoleHelp("Change the dir via console. Usage: 'cd <directory | number>'");
|
IConsoleHelp("Change the dir via console. Usage: 'cd <directory \\ number>'");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -605,6 +605,7 @@ DEF_CONSOLE_CMD(ConNetworkConnect)
|
|||||||
DEF_CONSOLE_CMD(ConExec)
|
DEF_CONSOLE_CMD(ConExec)
|
||||||
{
|
{
|
||||||
char cmdline[ICON_CMDLN_SIZE];
|
char cmdline[ICON_CMDLN_SIZE];
|
||||||
|
char *cmdptr;
|
||||||
|
|
||||||
if (argc == 0) {
|
if (argc == 0) {
|
||||||
IConsoleHelp("Execute a local script file. Usage: 'exec <script> <?>'");
|
IConsoleHelp("Execute a local script file. Usage: 'exec <script> <?>'");
|
||||||
@ -622,8 +623,16 @@ DEF_CONSOLE_CMD(ConExec)
|
|||||||
|
|
||||||
_script_running = true;
|
_script_running = true;
|
||||||
|
|
||||||
while (_script_running && fgets(cmdline, sizeof(cmdline), _script_file) != NULL)
|
while (_script_running && fgets(cmdline, sizeof(cmdline), _script_file) != NULL) {
|
||||||
|
/* Remove newline characters from the executing script */
|
||||||
|
for (cmdptr = cmdline; *cmdptr != '\0'; *cmdptr++) {
|
||||||
|
if (*cmdptr == '\n' || *cmdptr == '\r') {
|
||||||
|
*cmdptr = '\0';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
IConsoleCmdExec(cmdline);
|
IConsoleCmdExec(cmdline);
|
||||||
|
}
|
||||||
|
|
||||||
if (ferror(_script_file))
|
if (ferror(_script_file))
|
||||||
IConsoleError("Encountered errror while trying to read from script file");
|
IConsoleError("Encountered errror while trying to read from script file");
|
||||||
@ -737,7 +746,7 @@ DEF_CONSOLE_CMD(ConAlias)
|
|||||||
DEF_CONSOLE_CMD(ConScreenShot)
|
DEF_CONSOLE_CMD(ConScreenShot)
|
||||||
{
|
{
|
||||||
if (argc == 0) {
|
if (argc == 0) {
|
||||||
IConsoleHelp("Create a screenshot of the game. Usage: 'screenshot [big|no_con]'");
|
IConsoleHelp("Create a screenshot of the game. Usage: 'screenshot [big\\no_con]'");
|
||||||
IConsoleHelp("'big' makes a screenshot of the whole map, 'no_con' hides the console to create the screenshot");
|
IConsoleHelp("'big' makes a screenshot of the whole map, 'no_con' hides the console to create the screenshot");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -839,8 +848,9 @@ DEF_CONSOLE_CMD(ConExit)
|
|||||||
DEF_CONSOLE_CMD(ConHelp)
|
DEF_CONSOLE_CMD(ConHelp)
|
||||||
{
|
{
|
||||||
if (argc == 2) {
|
if (argc == 2) {
|
||||||
IConsoleCmd *cmd;
|
const IConsoleCmd *cmd;
|
||||||
IConsoleVar *var;
|
const IConsoleVar *var;
|
||||||
|
const IConsoleAlias *alias;
|
||||||
|
|
||||||
cmd = IConsoleCmdGet(argv[1]);
|
cmd = IConsoleCmdGet(argv[1]);
|
||||||
if (cmd != NULL) {
|
if (cmd != NULL) {
|
||||||
@ -848,6 +858,17 @@ DEF_CONSOLE_CMD(ConHelp)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
alias = IConsoleAliasGet(argv[1]);
|
||||||
|
if (alias != NULL) {
|
||||||
|
cmd = IConsoleCmdGet(alias->cmdline);
|
||||||
|
if (cmd != NULL) {
|
||||||
|
cmd->proc(0, NULL);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
IConsolePrintF(_iconsole_color_error, "ERROR: alias is of special type, please see its execution-line: '%s'", alias->cmdline);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
var = IConsoleVarGet(argv[1]);
|
var = IConsoleVarGet(argv[1]);
|
||||||
if (var != NULL && var->help != NULL) {
|
if (var != NULL && var->help != NULL) {
|
||||||
IConsolePrintF(_iconsole_color_warning, "%s.", var->help);
|
IConsolePrintF(_iconsole_color_warning, "%s.", var->help);
|
||||||
@ -868,7 +889,7 @@ DEF_CONSOLE_CMD(ConHelp)
|
|||||||
IConsolePrint( 1, "");
|
IConsolePrint( 1, "");
|
||||||
IConsolePrint( 1, " to assign strings, or use them as arguments, enclose it within quotes");
|
IConsolePrint( 1, " to assign strings, or use them as arguments, enclose it within quotes");
|
||||||
IConsolePrint( 1, " like this: '<command> \"string argument with spaces\"'");
|
IConsolePrint( 1, " like this: '<command> \"string argument with spaces\"'");
|
||||||
IConsolePrint( 1, " use 'help <command>|<variable>' to get specific information");
|
IConsolePrint( 1, " use 'help <command>\\<variable>' to get specific information");
|
||||||
IConsolePrint( 1, "");
|
IConsolePrint( 1, "");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user