Files
mc-lce/src/client/Common/DLC/DLCGameRulesHeader.h
2026-03-01 23:21:28 +02:00

42 lines
1.4 KiB
C++

#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; }
};