writeLevels static method
Writes levels settings.
Implementation
static void writeLevels(PsBinaryWriter writer, PsLevels levels) {
if (levels.records.length != PsLevels.standardRecordCount) {
throw const PsWriteException(message: 'Levels adjustments require exactly 29 standard records');
}
writer.writeUint16(levels.version);
for (final PsLevelRecord record in levels.records) {
_writeLevelRecord(writer, record);
}
if (levels.extendedRecords.isNotEmpty) {
writer
..writeString('Lvls')
..writeUint16(levels.extendedVersion)
..writeUint16(PsLevels.standardRecordCount + levels.extendedRecords.length);
for (final PsLevelRecord record in levels.extendedRecords) {
_writeLevelRecord(writer, record);
}
}
writer.writeBytes(levels.trailingData);
}