Merge branch 'ACS_check' of https://github.com/Edward850/zdoom
This commit is contained in:
commit
7f8c0b4f64
2 changed files with 9 additions and 0 deletions
|
|
@ -1581,20 +1581,28 @@ void FBehavior::StaticSerializeModuleStates (FArchive &arc)
|
|||
for (modnum = 0; modnum < StaticModules.Size(); ++modnum)
|
||||
{
|
||||
FBehavior *module = StaticModules[modnum];
|
||||
int ModSize = module->GetDataSize();
|
||||
|
||||
if (arc.IsStoring())
|
||||
{
|
||||
arc.WriteString (module->ModuleName);
|
||||
if (SaveVersion >= 4516) arc << ModSize;
|
||||
}
|
||||
else
|
||||
{
|
||||
char *modname = NULL;
|
||||
arc << modname;
|
||||
if (SaveVersion >= 4516) arc << ModSize;
|
||||
if (stricmp (modname, module->ModuleName) != 0)
|
||||
{
|
||||
delete[] modname;
|
||||
I_Error ("Level was saved with a different set of ACS modules.");
|
||||
}
|
||||
else if (ModSize != module->GetDataSize())
|
||||
{
|
||||
delete[] modname;
|
||||
I_Error("ACS module %s has changed from what was saved. (Have %d bytes, save has %d bytes)", module->ModuleName, module->GetDataSize(), ModSize);
|
||||
}
|
||||
delete[] modname;
|
||||
}
|
||||
module->SerializeVars (arc);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue