#pragma once #include "DLCGameRules.h" #include "GameRules/LevelGenerationOptions.h" class DLCGameRulesHeader : public DLCGameRules, public JustGrSource { private: // GR-Header uint8_t* m_pbData; unsigned long m_dwBytes; bool m_hasData; public: virtual bool requiresTexturePack() {return m_bRequiresTexturePack;} virtual unsigned int getRequiredTexturePackId() {return m_requiredTexturePackId;} virtual wstring getDefaultSaveName() {return m_defaultSaveName;} virtual const wchar_t* getWorldName() {return m_worldName.c_str();} virtual const wchar_t* getDisplayName() {return m_displayName.c_str();} virtual wstring getGrfPath() {return L"GameRules.grf";} virtual void setRequiresTexturePack(bool x) {m_bRequiresTexturePack = x;} virtual void setRequiredTexturePackId(unsigned int x) {m_requiredTexturePackId = x;} virtual void setDefaultSaveName(const wstring &x) {m_defaultSaveName = x;} virtual void setWorldName(const wstring & x) {m_worldName = x;} virtual void setDisplayName(const wstring & x) {m_displayName = x;} virtual void setGrfPath(const wstring & x) {m_grfPath = x;} LevelGenerationOptions *lgo; public: DLCGameRulesHeader(const wstring &path); virtual void addData(uint8_t* pbData, unsigned long dwBytes); virtual uint8_t* getData(unsigned long &dwBytes); void setGrfData(uint8_t* fData, unsigned long fSize, StringTable *); virtual bool ready() { return m_hasData; } };