Saner block modification flag operation for not saving everything always

This commit is contained in:
Perttu Ahola 2011-10-12 10:53:37 +03:00
parent 3e975d8f28
commit b60b58b627
3 changed files with 11 additions and 6 deletions

View File

@ -441,7 +441,8 @@ void MapBlock::stepObjects(float dtime, bool server, u32 daynight_ratio)
*/ */
m_objects.step(dtime, server, daynight_ratio); m_objects.step(dtime, server, daynight_ratio);
setChangedFlag(); //setChangedFlag();
raiseModified(MOD_STATE_WRITE_AT_UNLOAD);
} }

View File

@ -225,9 +225,11 @@ public:
void setLightingExpired(bool expired) void setLightingExpired(bool expired)
{ {
if(expired != m_lighting_expired){
m_lighting_expired = expired; m_lighting_expired = expired;
raiseModified(MOD_STATE_WRITE_NEEDED); raiseModified(MOD_STATE_WRITE_NEEDED);
} }
}
bool getLightingExpired() bool getLightingExpired()
{ {
return m_lighting_expired; return m_lighting_expired;
@ -239,9 +241,11 @@ public:
} }
void setGenerated(bool b) void setGenerated(bool b)
{ {
if(b != m_generated){
raiseModified(MOD_STATE_WRITE_NEEDED); raiseModified(MOD_STATE_WRITE_NEEDED);
m_generated = b; m_generated = b;
} }
}
bool isValid() bool isValid()
{ {

View File

@ -897,7 +897,7 @@ void RemoteClient::SendObjectData(
{ {
block->stepObjects(dtime, true, server->m_env.getDayNightRatio()); block->stepObjects(dtime, true, server->m_env.getDayNightRatio());
stepped_blocks.insert(p, true); stepped_blocks.insert(p, true);
block->setChangedFlag(); //block->setChangedFlag();
} }
// Skip block if there are no objects // Skip block if there are no objects