X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fmapchunk.h;h=9860abad0ad9748ee6c09e196d5c7c96c77d5c9d;hb=534287892dffb8cd5e3f451284792647726b2fe5;hp=284eebe606123a70f2d7b7d800bb8317131c08bf;hpb=be851871cd43316d12fd9a5f2cc6dec98a1c9ce0;p=dragonfireclient.git diff --git a/src/mapchunk.h b/src/mapchunk.h index 284eebe60..9860abad0 100644 --- a/src/mapchunk.h +++ b/src/mapchunk.h @@ -22,29 +22,49 @@ with this program; if not, write to the Free Software Foundation, Inc., /* MapChunk contains map-generation-time metadata for an area of - some MapSectors. (something like 64x64) + some MapSectors. (something like 16x16) */ +// These should fit in 8 bits, as they are saved as such. +enum{ + GENERATED_FULLY = 0, + GENERATED_PARTLY = 10, + GENERATED_NOT = 20 +}; + class MapChunk { public: MapChunk(): - m_is_volatile(true) + m_generation_level(GENERATED_NOT), + m_modified(true) { } /* - If is_volatile is true, chunk can be modified when - neighboring chunks are generated. - - It is set to false when all the 8 neighboring chunks have - been generated. + Generation level. Possible values: + GENERATED_FULLY = 0 = fully generated + GENERATED_PARTLY = partly generated + GENERATED_NOT = not generated */ - bool getIsVolatile(){ return m_is_volatile; } - void setIsVolatile(bool is){ m_is_volatile = is; } + u16 getGenLevel(){ return m_generation_level; } + void setGenLevel(u16 lev){ m_generation_level = lev; } + + void serialize(std::ostream &os, u8 version) + { + os.write((char*)&m_generation_level, 1); + } + void deSerialize(std::istream &is, u8 version) + { + is.read((char*)&m_generation_level, 1); + } + + bool isModified(){ return m_modified; } + void setModified(bool modified){ m_modified = modified; } private: - bool m_is_volatile; + u8 m_generation_level; + bool m_modified; }; #endif