* SavingWorldScreen: Only save what's necessary

This commit is contained in:
iProgramInCpp
2023-08-02 21:55:46 +03:00
parent a2df1b3095
commit e5f942c194
7 changed files with 49 additions and 3 deletions

View File

@@ -179,6 +179,27 @@ void ChunkCache::saveAll()
m_pChunkStorage->saveAll(m_pLevel, chunksToSave);
}
void ChunkCache::saveUnsaved()
{
if (!m_pChunkStorage) return;
std::vector<LevelChunk*> chunksToSave;
for (int i = 0; i < C_MAX_CHUNKS_Z; i++)
{
for (int j = 0; j < C_MAX_CHUNKS_X; j++)
{
LevelChunk* pChunk = m_pLevel->getChunk(j, i);
if (!pChunk->m_bUnsaved)
continue;
chunksToSave.push_back(pChunk);
}
}
m_pChunkStorage->saveAll(m_pLevel, chunksToSave);
}
bool ChunkCache::shouldSave()
{
return true;