PLUGINS: improved one-at-a-time plugin code

I reduced memory fragmentation using 2 principles: Plugins should be loaded for as little time as possible, and long lasting memory allocations should be allocated before plugins are loaded. There might still be a little fragmentation left.
Note that command line settings that require plugins to be loaded don't work yet, but they didn't work (properly) before either.

svn-id: r54097
This commit is contained in:
Yotam Barnoy 2010-11-05 13:24:57 +00:00
parent 6b88fd44c0
commit a6bee87990
5 changed files with 101 additions and 92 deletions

View file

@ -231,7 +231,7 @@ private:
friend class Common::Singleton<SingletonBaseType>;
public:
GameDescriptor findGameOnePlugAtATime(const Common::String &gameName, const EnginePlugin **plugin = NULL) const;
GameDescriptor findGameOnePluginAtATime(const Common::String &gameName, const EnginePlugin **plugin = NULL) const;
GameDescriptor findGame(const Common::String &gameName, const EnginePlugin **plugin = NULL) const;
GameList detectGames(const Common::FSList &fslist) const;
const EnginePlugin::List &getPlugins() const;