Change: rework several CH_RIFF chunks to use CH_ARRAY instead

This adds two byte extra to those chunks, and might feel a bit
silly at first. But in later changes we will prefix CH_ARRAY with
a table header, and then this change shines.

Without this, we could still add headers to these chunks, but any
external reader wouldn't know if the CH_RIFF has them or not. This
way is much more practical, as they are now more like any other
chunk.
This commit is contained in:
Patric Stout
2021-06-06 09:59:33 +02:00
committed by Patric Stout
parent b9ab9e4d05
commit 88edfd4ef1
10 changed files with 97 additions and 32 deletions

View File

@@ -57,14 +57,14 @@ static void Load_GSDT()
/* Free all current data */
GameConfig::GetConfig(GameConfig::SSS_FORCE_GAME)->Change(nullptr);
if ((CompanyID)SlIterateArray() == (CompanyID)-1) return;
if (SlIterateArray() == -1) return;
_game_saveload_version = -1;
SlObject(nullptr, _game_script);
if (_networking && !_network_server) {
GameInstance::LoadEmpty();
if ((CompanyID)SlIterateArray() != (CompanyID)-1) SlErrorCorrupt("Too many GameScript configs");
if (SlIterateArray() != -1) SlErrorCorrupt("Too many GameScript configs");
return;
}
@@ -99,7 +99,7 @@ static void Load_GSDT()
Game::StartNew();
Game::Load(_game_saveload_version);
if ((CompanyID)SlIterateArray() != (CompanyID)-1) SlErrorCorrupt("Too many GameScript configs");
if (SlIterateArray() != -1) SlErrorCorrupt("Too many GameScript configs");
}
static void Save_GSDT()