public void Write() { // Get bytes from regions var userBytes = UserRegion.Raw; var presBytes = PERSRegion.Raw; var lk08Bytes = LK08Region.Raw; var battlefieldBytes = BattlefieldRegion.Raw; var shopBytes = ShopRegion.Raw; var unitBytes = UnitRegion.Raw; var weaponNameBytes = WeaponNameRegion.Raw; var convoyBytes = ConvoyRegion.Raw; var myCastleBytes = MyCastleRegion.Raw; var mapBytes = MapRegion.Raw; // Update offsets, in case regions changed size var offset = CompressionRegion.UserOffset; // First region, offset is always the same offset += userBytes.Length; CompressionRegion.PERSOffset = offset; offset += presBytes.Length; CompressionRegion.LK08Offset = offset; offset += lk08Bytes.Length; CompressionRegion.BattlefieldOffset = offset; offset += battlefieldBytes.Length; CompressionRegion.ShopOffset = offset; offset += shopBytes.Length; CompressionRegion.UnitOffset = offset; offset += unitBytes.Length; CompressionRegion.WeaponNameOffset = offset; offset += weaponNameBytes.Length; CompressionRegion.ConvoyOffset = offset; offset += convoyBytes.Length; CompressionRegion.MyCastleOffset = offset; offset += myCastleBytes.Length; CompressionRegion.MapOffset = offset; // Combine regions and write to file _file.DecompressedBytes = Header.Raw .Concat(CompressionRegion.Raw) .Concat(userBytes) .Concat(presBytes) .Concat(lk08Bytes) .Concat(battlefieldBytes) .Concat(shopBytes) .Concat(unitBytes) .Concat(weaponNameBytes) .Concat(convoyBytes) .Concat(myCastleBytes) .Concat(mapBytes) .ToArray(); _file.Write(); }
public void Write() { using (var ms = new MemoryStream(_file.DecompressedBytes)) using (var bw = new BinaryWriter(ms)) { WriteFileData(bw); WriteCharacters(bw); WriteMyCastle(bw); } _file.Write(); }
public void Write() { // Get bytes from regions var region1Bytes = Region1.Raw; var logbookRegionBytes = LogbookRegion.Raw; // Update offsets, in case regions changed size var offset = CompressionRegion.Region1Offset; // First region, offset is always the same offset += region1Bytes.Length; CompressionRegion.LogbookRegionOffset = offset; // Combine regions and write to file _file.DecompressedBytes = CompressionRegion.Raw .Concat(region1Bytes) .Concat(logbookRegionBytes) .ToArray(); _file.Write(); }