diff --git a/src/ai/ai.hpp b/src/ai/ai.hpp --- a/src/ai/ai.hpp +++ b/src/ai/ai.hpp @@ -18,9 +18,12 @@ #include "../core/string_compare_type.hpp" #include +/** A list that maps AI names to their AIInfo object. */ typedef std::map AIInfoList; - +/** + * Main AI class. Contains all functions needed to start, stop, save and load AIs. + */ class AI { public: /** @@ -121,18 +124,29 @@ public: */ static int GetStartNextTime(); + /** Wrapper function for AIScanner::GetAIConsoleList */ static char *GetConsoleList(char *p, const char *last); + /** Wrapper function for AIScanner::GetAIInfoList */ static const AIInfoList *GetInfoList(); + /** Wrapper function for AIScanner::GetUniqueAIInfoList */ static const AIInfoList *GetUniqueInfoList(); + /** Wrapper function for AIScanner::FindInfo */ static AIInfo *FindInfo(const char *name, int version, bool force_exact_match); + /** Wrapper function for AIScanner::ImportLibrary */ static bool ImportLibrary(const char *library, const char *class_name, int version, HSQUIRRELVM vm); + + /** + * Rescans all searchpaths for available AIs. If a used AI is no longer + * found it is removed from the config. + */ static void Rescan(); #if defined(ENABLE_NETWORK) + /** Wrapper function for AIScanner::HasAI */ static bool HasAI(const struct ContentInfo *ci, bool md5sum); #endif private: - static uint frame_counter; - static class AIScanner *ai_scanner; + static uint frame_counter; //!< Tick counter for the AI code + static class AIScanner *ai_scanner; //!< AIScanner instance that is used to find AIs }; #else /* ENABLE_AI */