void AgreementPool::Serialize(CivArchive &archive) { AgreementData *newData ; sint32 i, count = 0 ; CHECKSERIALIZE #define AGREEMENTPOOL_MAGIC 0x28400399 if (archive.IsStoring()) { } else { if(g_saveFileVersion < 55) { archive.TestMagic(AGREEMENTPOOL_MAGIC) ; archive>>count; for (i=0; i<count; i++) { newData = new AgreementData(archive) ; Insert(newData) ; } } }
void ArmyPool::Serialize(CivArchive &archive) { sint32 count, i; #define ARMYPOOL_MAGIC 0xBeefCafe if(archive.IsStoring()) { archive.PerformMagic(ARMYPOOL_MAGIC); ObjPool::Serialize(archive); count = 0; for(i = 0; i < k_OBJ_POOL_TABLE_SIZE; i++) { if(m_table[i]) count++; } archive << count; for(i = 0; i < k_OBJ_POOL_TABLE_SIZE; i++) { if(m_table[i]) ((ArmyData*)(m_table[i]))->Serialize(archive); } } else { archive.TestMagic(ARMYPOOL_MAGIC); ObjPool::Serialize(archive); archive >> count; for(i = 0; i < count; i++) { ArmyData *data = new ArmyData(archive); Insert(data); } } }