Mercurial > hg > openttd
changeset 18524:e09c9fec19e8 draft
(svn r23368) -Codechange: move FindLibrary down a few layers, so there is no layer violation anymore
author | truebrain <truebrain@openttd.org> |
---|---|
date | Tue, 29 Nov 2011 23:27:08 +0000 |
parents | 5b23a8d50e5f |
children | 07fcdb4bab4a |
files | src/ai/ai_instance.cpp src/ai/ai_instance.hpp src/script/api/script_controller.cpp src/script/script_instance.hpp |
diffstat | 4 files changed, 16 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ai/ai_instance.cpp +++ b/src/ai/ai_instance.cpp @@ -18,6 +18,7 @@ #include "ai_config.hpp" #include "ai_gui.hpp" +#include "ai.hpp" #include "../script/script_fatalerror.hpp" #include "../script/script_suspend.hpp" @@ -240,6 +241,11 @@ return AIConfig::GetConfig(_current_company)->GetSetting(name); } +ScriptInfo *AIInstance::FindLibrary(const char *library, int version) +{ + return (ScriptInfo *)AI::FindLibrary(library, version); +} + /** * DoCommand callback function for all commands executed by AIs. * @param result The result of the command.
--- a/src/ai/ai_instance.hpp +++ b/src/ai/ai_instance.hpp @@ -27,6 +27,7 @@ void Initialize(class AIInfo *info); /* virtual */ int GetSetting(const char *name); + /* virtual */ ScriptInfo *FindLibrary(const char *library, int version); private: const char *versionAPI; ///< Current API used by this script.
--- a/src/script/api/script_controller.cpp +++ b/src/script/api/script_controller.cpp @@ -16,7 +16,6 @@ #include "script_controller.hpp" #include "../../ai/ai_instance.hpp" -#include "../../ai/ai.hpp" #include "../script_fatalerror.hpp" #include "../script_info.hpp" #include "../script_suspend.hpp" @@ -94,7 +93,7 @@ snprintf(library_name, sizeof(library_name), "%s.%d", library, version); strtolower(library_name); - ScriptInfo *lib = (ScriptInfo *)AI::FindLibrary(library, version); + ScriptInfo *lib = ScriptObject::GetActiveInstance()->FindLibrary(library, version); if (lib == NULL) { char error[1024]; snprintf(error, sizeof(error), "couldn't find library '%s' with version %d", library, version);
--- a/src/script/script_instance.hpp +++ b/src/script/script_instance.hpp @@ -44,6 +44,14 @@ virtual int GetSetting(const char *name) = 0; /** + * Find a library. + * @param library The library name to find. + * @param version The version the library should have. + * @return The library if found, NULL otherwise. + */ + virtual class ScriptInfo *FindLibrary(const char *library, int version) = 0; + + /** * A script in multiplayer waits for the server to handle his DoCommand. * It keeps waiting for this until this function is called. */