From 03249ebcfbcf4a73a4e2acc302a89e0878fdb5ec Mon Sep 17 00:00:00 2001 From: frosch Date: Wed, 24 Mar 2010 20:47:03 +0000 Subject: (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. --- src/console_cmds.cpp | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'src/console_cmds.cpp') diff --git a/src/console_cmds.cpp b/src/console_cmds.cpp index 6899fd3fc..7a55d01e0 100644 --- a/src/console_cmds.cpp +++ b/src/console_cmds.cpp @@ -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); } -- cgit v1.2.3-54-g00ecf