- if(!ser_ver_supported(version))
- throw VersionMismatchException("ERROR: MapSector format not supported");
-
- /*
- [0] u8 serialization version
- + heightmap data
- */
-
- // Server has both of these, no need to support not having them.
- //assert(m_objects != NULL);
-
- // Write version
- os.write((char*)&version, 1);
-
- /*
- Add stuff here, if needed
- */
-
-}
-
-ServerMapSector* ServerMapSector::deSerialize(
- std::istream &is,
- NodeContainer *parent,
- v2s16 p2d,
- core::map<v2s16, MapSector*> & sectors
- )
-{
- /*
- [0] u8 serialization version
- + heightmap data
- */
-
- /*
- Read stuff
- */
-
- // Read version
- u8 version = SER_FMT_VER_INVALID;
- is.read((char*)&version, 1);
-
- if(!ser_ver_supported(version))
- throw VersionMismatchException("ERROR: MapSector format not supported");
-
- /*
- Add necessary reading stuff here
- */
-
- /*
- Get or create sector
- */
-
- ServerMapSector *sector = NULL;
-
- core::map<v2s16, MapSector*>::Node *n = sectors.find(p2d);
-
- if(n != NULL)
- {
- dstream<<"WARNING: deSerializing existent sectors not supported "
- "at the moment, because code hasn't been tested."
- <<std::endl;
-
- MapSector *sector = n->getValue();
- assert(sector->getId() == MAPSECTOR_SERVER);
- return (ServerMapSector*)sector;