Mercurial > hg > openttd
changeset 12025:1eceb7d6fb2f draft
(svn r16432) -Feature(tte): use 'scrollto x y' in console to scroll to tile with given coordinates
author | smatz <smatz@openttd.org> |
---|---|
date | Tue, 26 May 2009 13:16:58 +0000 |
parents | ca8b215793c4 |
children | e735ee1cab89 |
files | src/console_cmds.cpp |
diffstat | 1 files changed, 28 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/src/console_cmds.cpp +++ b/src/console_cmds.cpp @@ -155,21 +155,37 @@ DEF_CONSOLE_CMD(ConScrollToTile) { - if (argc == 0) { - IConsoleHelp("Center the screen on a given tile. Usage: 'scrollto <tile>'"); - IConsoleHelp("Tile can be either decimal (34161) or hexadecimal (0x4a5B)"); - return true; - } + switch (argc) { + case 0: + IConsoleHelp("Center the screen on a given tile."); + IConsoleHelp("Usage: 'scrollto <tile>' or 'scrollto <x> <y>'"); + IConsoleHelp("Numbers can be either decimal (34161) or hexadecimal (0x4a5B)."); + return true; - if (argc == 2) { - uint32 result; - if (GetArgumentInteger(&result, argv[1])) { - if (result >= MapSize()) { - IConsolePrint(CC_ERROR, "Tile does not exist"); + case 2: { + uint32 result; + if (GetArgumentInteger(&result, argv[1])) { + if (result >= MapSize()) { + IConsolePrint(CC_ERROR, "Tile does not exist"); + return true; + } + ScrollMainWindowToTile((TileIndex)result); return true; } - ScrollMainWindowToTile((TileIndex)result); - return true; + break; + } + + case 3: { + uint32 x, y; + if (GetArgumentInteger(&x, argv[1]) && GetArgumentInteger(&y, argv[2])) { + if (x >= MapSizeX() || y >= MapSizeY()) { + IConsolePrint(CC_ERROR, "Tile does not exist"); + return true; + } + ScrollMainWindowToTile(TileXY(x, y)); + return true; + } + break; } }