1
0
mirror of https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git synced 2025-07-17 10:52:46 +00:00

Merge pull request #279 from Hoikas/max-fixes

Fix Lots of Max Issues
This commit is contained in:
Branan Purvine-Riley
2013-01-30 21:29:15 -08:00
21 changed files with 211 additions and 181 deletions

View File

@ -217,15 +217,27 @@ void plRegistryKeyList::Write(hsStream* s)
s->WriteLE32(0);
s->WriteByte(0); // Deprecated flags
s->WriteLE32(fKeys.size());
// We only write out keys with data. Fill this value in later...
uint32_t countPos = s->GetPosition();
s->WriteLE32(0);
// Write out all our keys
// Write out all our keys with data
uint32_t keyCount = 0;
for (auto it = fKeys.begin(); it != fKeys.end(); ++it)
(*it)->Write(s);
{
plKeyImp* key = *it;
if (key->ObjectIsLoaded())
{
++keyCount;
key->Write(s);
}
}
// Go back to the start and write the length of our data
// Rewind and write out data size and key count
uint32_t endPos = s->GetPosition();
s->SetPosition(beginPos);
s->WriteLE32(endPos-beginPos-sizeof(uint32_t));
s->SetPosition(countPos);
s->WriteLE32(keyCount);
s->SetPosition(endPos);
}