m_generated(false),
m_timestamp(BLOCK_TIMESTAMP_UNDEFINED),
m_disk_timestamp(BLOCK_TIMESTAMP_UNDEFINED),
- m_usage_timer(0)
+ m_usage_timer(0),
+ m_refcount(0)
{
data = NULL;
if(dummy == false)
*/
if(disk)
{
- // Node timers
- m_node_timers.serialize(os);
+ if(version <= 24){
+ // Node timers
+ m_node_timers.serialize(os, version);
+ }
// Static objects
m_static_objects.serialize(os);
// Write block-specific node definition id mapping
nimap.serialize(os);
+
+ if(version >= 25){
+ // Node timers
+ m_node_timers.serialize(os, version);
+ }
}
}
// Read unused zero
readU8(is);
}
- else if(version >= 24){
+ if(version == 24){
TRACESTREAM(<<"MapBlock::deSerialize "<<PP(getPos())
- <<": Node timers"<<std::endl);
- m_node_timers.deSerialize(is);
+ <<": Node timers (ver==24)"<<std::endl);
+ m_node_timers.deSerialize(is, version);
}
// Static objects
NameIdMapping nimap;
nimap.deSerialize(is);
correctBlockNodeIds(&nimap, data, m_gamedef);
+
+ if(version >= 25){
+ TRACESTREAM(<<"MapBlock::deSerialize "<<PP(getPos())
+ <<": Node timers (ver>=25)"<<std::endl);
+ m_node_timers.deSerialize(is, version);
+ }
}
TRACESTREAM(<<"MapBlock::deSerialize "<<PP(getPos())