protected virtual void ReadGlobalVictory(PrimitiveReader reader) { uint separator = reader.ReadUInt32(); if (separator != separatorValue) { throw new InvalidDataException("Expected separator value."); } bool conquestRequired = reader.ReadUInt32() != 0; uint ruinsRequired = reader.ReadUInt32(); // Only used in AoE? uint relicsRequired = reader.ReadUInt32(); uint discoveriesRequired = reader.ReadUInt32(); // Only used in AoE? uint exploredPercentageRequired = reader.ReadUInt32(); uint unknown3 = reader.ReadUInt32(); bool allCustomConditionsRequired = reader.ReadUInt32() != 0; VictoryMode mode = (VictoryMode)reader.ReadUInt32(); uint requiredScore = reader.ReadUInt32(); uint timeRequired = reader.ReadUInt32(); double yearsRequired = timeRequired / 10.0; }
static void ReadGlobalVictory(PrimitiveReader reader) { uint separator = reader.ReadUInt32(); if (separator != 0xFFFFFF9D) { throw new InvalidDataException(); } uint conqRawValue = reader.ReadUInt32(); bool conquestRequired = conqRawValue != 0; uint ruinsRequired = reader.ReadUInt32(); // Only used in AoE? uint relicsRequired = reader.ReadUInt32(); uint discoveriesRequired = reader.ReadUInt32(); // Only used in AoE? uint exploredPercentageRequired = reader.ReadUInt32(); uint unknown3 = reader.ReadUInt32(); bool allCustomConditionsRequired = reader.ReadUInt32() != 0; VictoryMode mode = (VictoryMode)reader.ReadUInt32(); uint scoreRequired = reader.ReadUInt32(); uint timeRequired = reader.ReadUInt32(); double yearsRequired = timeRequired / 10.0; // 100 = 10y }