(svn r19515) -Add: Client setting 'gui.newgrf_developer_tools' to enable otherwise hidden features.

-Add: Console command 'reload_newgrfs'; only available when newgrf developer tools are enabled.
This commit is contained in:
frosch
2010-03-24 20:47:03 +00:00
parent 9a00f6961f
commit 03249ebcfb
3 changed files with 33 additions and 0 deletions

View File

@@ -34,6 +34,7 @@
#include "gamelog.h"
#include "ai/ai.hpp"
#include "ai/ai_config.hpp"
#include "newgrf.h"
#include "console_func.h"
#ifdef ENABLE_NETWORK
@@ -110,6 +111,22 @@ DEF_CONSOLE_HOOK(ConHookNoNetwork)
# define ConHookNoNetwork NULL
#endif /* ENABLE_NETWORK */
DEF_CONSOLE_HOOK(ConHookNewGRFDeveloperTool)
{
if (_settings_client.gui.newgrf_developer_tools) {
if (_game_mode == GM_MENU) {
if (echo) IConsoleError("This command is only available in game and editor.");
return CHR_DISALLOW;
}
#ifdef ENABLE_NETWORK
return ConHookNoNetwork(echo);
#else
return CHR_ALLOW;
#endif
}
return CHR_HIDE;
}
static void IConsoleHelp(const char *str)
{
IConsolePrintF(CC_WARNING, "- %s", str);
@@ -1686,6 +1703,17 @@ DEF_CONSOLE_CMD(ConGamelogPrint)
return true;
}
DEF_CONSOLE_CMD(ConNewGRFReload)
{
if (argc == 0) {
IConsoleHelp("Reloads all active NewGRFs from disk. Equivalent to reapplying NewGRFs via the settings, but without asking for confirmation. This might crash OpenTTD!");
return true;
}
ReloadNewGRFData();
return true;
}
#ifdef _DEBUG
/******************
* debug commands
@@ -1826,4 +1854,7 @@ void IConsoleStdLibRegister()
#ifdef _DEBUG
IConsoleDebugLibRegister();
#endif
/* NewGRF development stuff */
IConsoleCmdRegister("reload_newgrfs", ConNewGRFReload, ConHookNewGRFDeveloperTool);
}