void AreaStore::deserialize(std::istream &is) { u8 ver = readU8(is); if (ver != 0) throw SerializationError("Unknown AreaStore " "serialization version!"); u16 num_areas = readU16(is); for (u32 i = 0; i < num_areas; ++i) { Area a; a.minedge = readV3S16(is); a.maxedge = readV3S16(is); u16 data_len = readU16(is); char *data = new char[data_len]; is.read(data, data_len); a.data = std::string(data, data_len); insertArea(&a); delete [] data; } }
void WImage::addArea(WAbstractArea *area) { insertArea(map_ ? map_->count() : 0, area); }