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

55 lines
1.4 KiB
C++
Raw Normal View History

2015-12-25 20:51:58 -05:00
namespace Components
{
class Maps : public Component
{
public:
Maps();
2016-08-15 10:40:30 -04:00
~Maps();
2016-09-16 05:04:28 -04:00
#if defined(DEBUG) || defined(FORCE_UNIT_TESTS)
2015-12-25 20:51:58 -05:00
const char* GetName() { return "Maps"; };
2016-08-15 10:40:30 -04:00
#endif
2015-12-25 20:51:58 -05:00
2016-10-31 07:58:42 -04:00
static void HandleAsSPMap() { IsSPMap = true; }
2015-12-26 08:27:34 -05:00
static void AddDependency(std::string expression, std::string zone);
2016-10-31 10:02:32 -04:00
static std::pair<std::string, std::string> GetTeamsForMap(std::string map);
2015-12-25 20:51:58 -05:00
private:
2016-10-30 17:38:45 -04:00
class DLC
{
public:
int index;
std::string url;
std::vector<std::string> maps;
};
2016-10-31 07:58:42 -04:00
static bool IsSPMap;
2016-10-30 17:38:45 -04:00
static std::vector<DLC> DlcPacks;
2015-12-26 08:27:34 -05:00
static std::vector<Game::XAssetEntry> EntryPool;
2016-10-27 12:01:51 -04:00
static std::string CurrentMainZone;
static std::vector<std::pair<std::string, std::string>> DependencyList;
2015-12-26 08:27:34 -05:00
static std::vector<std::string> CurrentDependencies;
2015-12-25 20:51:58 -05:00
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);
2015-12-26 08:27:34 -05:00
static void LoadMapZones(Game::XZoneInfo *zoneInfo, unsigned int zoneCount, int sync);
2016-06-13 12:09:02 -04:00
static void OverrideMapEnts(Game::MapEnts* ents);
2016-09-19 15:16:26 -04:00
static int IgnoreEntityStub(const char* entity);
2016-09-18 14:52:32 -04:00
2016-10-31 11:49:45 -04:00
static Game::GameMap_Data* GetWorldData();
2016-10-30 17:38:45 -04:00
static void AddDlc(DLC dlc);
static void UpdateDlcStatus();
#if defined(DEBUG) && defined(ENABLE_DXSDK)
static void ExportMap(Game::GfxWorld* world);
#endif
2015-12-26 08:27:34 -05:00
void ReallocateEntryPool();
2015-12-25 20:51:58 -05:00
};
}