diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ai/ai.hpp | 2 | ||||
-rw-r--r-- | src/ai/ai_core.cpp | 4 | ||||
-rw-r--r-- | src/ai/ai_scanner.cpp | 7 | ||||
-rw-r--r-- | src/ai/ai_scanner.hpp | 2 | ||||
-rw-r--r-- | src/openttd.cpp | 2 |
5 files changed, 9 insertions, 8 deletions
diff --git a/src/ai/ai.hpp b/src/ai/ai.hpp index 67ce470cd..1c61d917f 100644 --- a/src/ai/ai.hpp +++ b/src/ai/ai.hpp @@ -125,7 +125,7 @@ public: static int GetStartNextTime(); /** Wrapper function for AIScanner::GetAIConsoleList */ - static char *GetConsoleList(char *p, const char *last); + static char *GetConsoleList(char *p, const char *last, bool newest_only = false); /** Wrapper function for AIScanner::GetAIConsoleLibraryList */ static char *GetConsoleLibraryList(char *p, const char *last); /** Wrapper function for AIScanner::GetAIInfoList */ diff --git a/src/ai/ai_core.cpp b/src/ai/ai_core.cpp index f2bfc4292..1c7005b74 100644 --- a/src/ai/ai_core.cpp +++ b/src/ai/ai_core.cpp @@ -289,9 +289,9 @@ void CcAI(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2) return DAYS_IN_YEAR; } -/* static */ char *AI::GetConsoleList(char *p, const char *last) +/* static */ char *AI::GetConsoleList(char *p, const char *last, bool newest_only) { - return AI::ai_scanner->GetAIConsoleList(p, last); + return AI::ai_scanner->GetAIConsoleList(p, last, newest_only); } /* static */ char *AI::GetConsoleLibraryList(char *p, const char *last) diff --git a/src/ai/ai_scanner.cpp b/src/ai/ai_scanner.cpp index 90bdd99c7..9eb018b3a 100644 --- a/src/ai/ai_scanner.cpp +++ b/src/ai/ai_scanner.cpp @@ -330,11 +330,12 @@ AIInfo *AIScanner::FindInfo(const char *nameParam, int versionParam, bool force_ return info; } -char *AIScanner::GetAIConsoleList(char *p, const char *last) const +char *AIScanner::GetAIConsoleList(char *p, const char *last, bool newest_only) const { p += seprintf(p, last, "List of AIs:\n"); - AIInfoList::const_iterator it = this->info_list.begin(); - for (; it != this->info_list.end(); it++) { + const AIInfoList &list = newest_only ? this->info_single_list : this->info_list; + AIInfoList::const_iterator it = list.begin(); + for (; it != list.end(); it++) { AIInfo *i = (*it).second; p += seprintf(p, last, "%10s (v%d): %s\n", i->GetName(), i->GetVersion(), i->GetDescription()); } diff --git a/src/ai/ai_scanner.hpp b/src/ai/ai_scanner.hpp index cc183d887..fee16d608 100644 --- a/src/ai/ai_scanner.hpp +++ b/src/ai/ai_scanner.hpp @@ -53,7 +53,7 @@ public: /** * Get the list of available AIs for the console. */ - char *GetAIConsoleList(char *p, const char *last) const; + char *GetAIConsoleList(char *p, const char *last, bool newest_only) const; /** * Get the list of available AI Libraries for the console. diff --git a/src/openttd.cpp b/src/openttd.cpp index 1a7fa7c8b..7d41cfb3f 100644 --- a/src/openttd.cpp +++ b/src/openttd.cpp @@ -204,7 +204,7 @@ static void ShowHelp() /* We need to initialize the AI, so it finds the AIs */ TarScanner::DoScan(); AI::Initialize(); - p = AI::GetConsoleList(p, lastof(buf)); + p = AI::GetConsoleList(p, lastof(buf), true); AI::Uninitialize(true); /* ShowInfo put output to stderr, but version information should go |