2017-01-18 17:44:36 -05:00
|
|
|
namespace Components
|
|
|
|
{
|
|
|
|
class Maps : public Component
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
Maps();
|
|
|
|
~Maps();
|
|
|
|
|
|
|
|
#if defined(DEBUG) || defined(FORCE_UNIT_TESTS)
|
|
|
|
const char* getName() { return "Maps"; };
|
|
|
|
#endif
|
|
|
|
|
|
|
|
static void HandleAsSPMap();
|
|
|
|
static void AddDependency(std::string expression, std::string zone);
|
|
|
|
|
|
|
|
static std::pair<std::string, std::string> GetTeamsForMap(std::string map);
|
|
|
|
static std::vector<std::string> GetDependenciesForMap(std::string map);
|
|
|
|
|
|
|
|
static std::string CurrentMainZone;
|
|
|
|
|
|
|
|
private:
|
|
|
|
class DLC
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
int index;
|
|
|
|
std::string url;
|
|
|
|
std::vector<std::string> maps;
|
|
|
|
};
|
|
|
|
|
|
|
|
static bool IsSPMap;
|
|
|
|
static std::vector<DLC> DlcPacks;
|
|
|
|
static std::vector<Game::XAssetEntry> EntryPool;
|
|
|
|
|
|
|
|
static std::vector<std::pair<std::string, std::string>> DependencyList;
|
|
|
|
static std::vector<std::string> 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);
|
|
|
|
|
|
|
|
static int IgnoreEntityStub(const char* entity);
|
|
|
|
|
|
|
|
static Game::G_GlassData* GetWorldData();
|
|
|
|
static void GetWorldDataStub();
|
|
|
|
|
|
|
|
static void LoadRawSun();
|
|
|
|
|
|
|
|
static void AddDlc(DLC dlc);
|
|
|
|
static void UpdateDlcStatus();
|
|
|
|
|
|
|
|
#if defined(DEBUG) && defined(ENABLE_DXSDK)
|
|
|
|
static void ExportMap(Game::GfxWorld* world);
|
|
|
|
#endif
|
|
|
|
|
|
|
|
void reallocateEntryPool();
|
|
|
|
};
|
|
|
|
}
|