namespace Components { class Maps : public Component { public: Maps(); ~Maps(); #if defined(DEBUG) || defined(FORCE_UNIT_TESTS) const char* GetName() { return "Maps"; }; #endif static void AddDependency(std::string expression, std::string zone); private: static std::vector EntryPool; static std::map DependencyList; static std::vector CurrentDependencies; static void GetBSPName(char* buffer, size_t size, const char* format, const char* mapname); static void LoadAssetRestrict(Game::XAssetType type, Game::XAssetHeader asset, std::string name, bool* restrict); static void LoadMapZones(Game::XZoneInfo *zoneInfo, unsigned int zoneCount, int sync); static void OverrideMapEnts(Game::MapEnts* ents); void ReallocateEntryPool(); }; }