iw4x-client/src/Components/Modules/Maps.hpp

60 lines
1.5 KiB
C++
Raw Normal View History

2017-01-19 16:23:59 -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();
};
}