public override void SerializeImpl(SerializerObject s) { Bytes_00 = s.SerializeArray <byte>(Bytes_00, 16, name: nameof(Bytes_00)); PalettePointer = s.SerializePointer(PalettePointer, name: nameof(PalettePointer)); Pointer_14 = s.SerializePointer(Pointer_14, name: nameof(Pointer_14)); Pointer_18 = s.SerializePointer(Pointer_18, name: nameof(Pointer_18)); Pointer_1C = s.SerializePointer(Pointer_1C, name: nameof(Pointer_1C)); Pointer_20 = s.SerializePointer(Pointer_20, name: nameof(Pointer_20)); Pointer_24 = s.SerializePointer(Pointer_24, name: nameof(Pointer_24)); Bytes_28 = s.SerializeArray <byte>(Bytes_28, 8, name: nameof(Bytes_28)); NamePointer = s.SerializePointer(NamePointer, name: nameof(NamePointer)); Palette = s.DoAt(PalettePointer, () => s.SerializeObjectArray <ARGB1555Color>(Palette, 16, name: nameof(Palette))); Name = s.DoAt(NamePointer, () => s.SerializeString(Name, name: nameof(Name))); }
/// <summary> /// Handles the data serialization /// </summary> /// <param name="s">The serializer object</param> public override void SerializeImpl(SerializerObject s) { StringPointer = s.SerializePointer(StringPointer, anchor: StringBase, name: nameof(StringPointer)); Type = s.Serialize <EntryType>(Type, name: nameof(Type)); s.SerializeArray <byte>(new byte[3], 3, name: "Padding"); if (Type == EntryType.DataBlock) { DataPointer = s.SerializePointer(DataPointer, name: nameof(DataPointer)); } else { DataValue = s.Serialize <uint>(DataValue, name: nameof(DataValue)); } s.DoAt(StringPointer, () => String = s.SerializeString(String, name: nameof(String))); }
} // 24-bit integer public override void SerializeImpl(SerializerObject s) { if (Type == Palm_Database.DatabaseType.PRC) { Name = s.SerializeString(Name, 4, name: nameof(Name)); ID = s.Serialize <ushort>(ID, name: nameof(ID)); DataPointer = s.SerializePointer(DataPointer, name: nameof(DataPointer)); } else { DataPointer = s.SerializePointer(DataPointer, name: nameof(DataPointer)); s.SerializeBitValues <uint>(bitFunc => { UniqueID = (uint)bitFunc((int)UniqueID, 24, name: nameof(UniqueID)); Attributes = (byte)bitFunc(Attributes, 8, name: nameof(Attributes)); }); } }
public override void SerializeImpl(SerializerObject s) { Type = s.Serialize <ObjectType>(Type, name: nameof(Type)); switch (Type) { case ObjectType.Number: NumberValue = s.Serialize <double>(NumberValue, name: nameof(NumberValue)); break; case ObjectType.String: StringLength = s.Serialize <int>(StringLength, name: nameof(StringLength)); StringValue = s.SerializeString(StringValue, StringLength, Encoding.ASCII, name: nameof(StringValue)); break; default: throw new BinarySerializableException(this, $"Unsupported object type {Type}"); } }
public override void SerializeImpl(SerializerObject s) { Info = s.SerializeObject <GBAIsometric_RHR_SpriteInfo>(Info, name: nameof(Info)); Is8Bit = s.Serialize <bool>(Is8Bit, name: nameof(Is8Bit)); GraphicsDataPointer = s.SerializePointer <GBAIsometric_RHR_GraphicsData>(GraphicsDataPointer, resolve: true, name: nameof(GraphicsDataPointer)); LookupBufferPositionsPointer = s.SerializePointer(LookupBufferPositionsPointer, name: nameof(LookupBufferPositionsPointer)); NamePointer = s.SerializePointer(NamePointer, name: nameof(NamePointer)); LookupBufferPositions = s.DoAt(LookupBufferPositionsPointer, () => s.SerializeArray <ushort>(LookupBufferPositions, Info.CanvasWidth * Info.CanvasHeight, name: nameof(LookupBufferPositions))); Name = s.DoAt(NamePointer, () => s.SerializeString(Name, name: nameof(Name))); s.DoEncoded(new RHR_SpriteEncoder(Is8Bit, Info, LookupBufferPositions, GraphicsDataPointer.Value), () => { Sprite = s.SerializeArray <byte>(Sprite, s.CurrentLength, name: nameof(Sprite)); }); //s.DoEncoded(new RHR_SpriteEncoder(Is8Bit, GraphicsDataPointer.Value.CompressionLookupBuffer, GraphicsDataPointer.Value.CompressedDataPointer), () => { // byte[] fullSheet = s.SerializeArray<byte>(default, s.CurrentLength, name: nameof(fullSheet)); // //Util.ByteArrayToFile(Context.BasePath + $"sprites/Full_{Offset.StringAbsoluteOffset}.bin", fullSheet); //}); }
/// <summary> /// Handles the data serialization /// </summary> /// <param name="s">The serializer object</param> public override void SerializeImpl(SerializerObject s) { if (s.GameSettings.EngineVersion == EngineVersion.R1_PC || s.GameSettings.EngineVersion == EngineVersion.R1_PocketPC) { FileOffset = s.Serialize <uint>(FileOffset, name: nameof(FileOffset)); FileSize = s.Serialize <uint>(FileSize, name: nameof(FileSize)); XORKey = s.Serialize <byte>(XORKey, name: nameof(XORKey)); Checksum = s.Serialize <byte>(Checksum, name: nameof(Checksum)); s.SerializeArray <byte>(new byte[2], 2, name: "Padding"); } else { XORKey = s.Serialize <byte>(XORKey, name: nameof(XORKey)); Checksum = s.Serialize <byte>(Checksum, name: nameof(Checksum)); FileOffset = s.Serialize <uint>(FileOffset, name: nameof(FileOffset)); FileSize = s.Serialize <uint>(FileSize, name: nameof(FileSize)); s.DoXOR(XORKey, () => FileName = s.SerializeString(FileName, 9, name: nameof(FileName))); } }
/// <summary> /// Handles the data serialization /// </summary> /// <param name="s">The serializer object</param> public override void SerializeImpl(SerializerObject s) { SaveName = s.SerializeString(SaveName, 4, name: nameof(SaveName)); ContinuesCount = s.Serialize <byte>(ContinuesCount, name: nameof(ContinuesCount)); Wi_Save_Zone = s.SerializeObjectArray <R1_PC_SaveDataLevel>(Wi_Save_Zone, 24, name: nameof(Wi_Save_Zone)); RayEvts = s.Serialize <R1_RayEvtsFlags>(RayEvts, name: nameof(RayEvts)); Poing = s.SerializeObject <R1_Poing>(Poing, name: nameof(Poing)); StatusBar = s.SerializeObject <R1_StatusBar>(StatusBar, name: nameof(StatusBar)); CurrentHealth = s.Serialize <byte>(CurrentHealth, name: nameof(CurrentHealth)); if (SaveZone == null) { SaveZone = new byte[81][]; } for (int i = 0; i < SaveZone.Length; i++) { SaveZone[i] = s.SerializeArray <byte>(SaveZone[i], 32, name: $"{nameof(SaveZone)}[{i}]"); } BonusPerfect = s.SerializeArray <byte>(BonusPerfect, 24, name: nameof(BonusPerfect)); WorldIndex = s.Serialize <ushort>(WorldIndex, name: nameof(WorldIndex)); FinBossLevel = s.Serialize <ushort>(FinBossLevel, name: nameof(FinBossLevel)); }
public override void SerializeImpl(SerializerObject s) { Name = s.SerializeString(Name, 32, name: nameof(Name)); GameTime = s.Serialize <uint>(GameTime, name: nameof(GameTime)); Slot = s.Serialize <int>(Slot, name: nameof(Slot)); Map = s.Serialize <int>(Map, name: nameof(Map)); WP = s.Serialize <int>(WP, name: nameof(WP)); Time = s.Serialize <int>(Time, name: nameof(Time)); Progress_Days = s.Serialize <byte>(Progress_Days, name: nameof(Progress_Days)); Progress_Percentage = s.Serialize <byte>(Progress_Percentage, name: nameof(Progress_Percentage)); Progress_Byte_02 = s.Serialize <byte>(Progress_Byte_02, name: nameof(Progress_Byte_02)); Progress_Byte_FinishedGame = s.Serialize <bool>(Progress_Byte_FinishedGame, name: nameof(Progress_Byte_FinishedGame)); Score = s.SerializeArray <int>(Score, 40, name: nameof(Score)); ID = s.Serialize <int>(ID, name: nameof(ID)); Tick = s.Serialize <int>(Tick, name: nameof(Tick)); RenderMode = s.Serialize <int>(RenderMode, name: nameof(RenderMode)); UsrGroupVolume_3 = s.Serialize <float>(UsrGroupVolume_3, name: nameof(UsrGroupVolume_3)); UsrGroupVolume_0 = s.Serialize <float>(UsrGroupVolume_0, name: nameof(UsrGroupVolume_0)); UsrGroupVolume_2 = s.Serialize <float>(UsrGroupVolume_2, name: nameof(UsrGroupVolume_2)); DisplayMode = s.Serialize <int>(DisplayMode, name: nameof(DisplayMode)); Vibration = s.Serialize <int>(Vibration, name: nameof(Vibration)); IsAutoSaveDisabled = s.Serialize <int>(IsAutoSaveDisabled, name: nameof(IsAutoSaveDisabled)); Dummy = s.Serialize <int>(Dummy, name: nameof(Dummy)); }
/// <summary> /// Handles the data serialization /// </summary> /// <param name="s">The serializer object</param> public override void SerializeImpl(SerializerObject s) { SampleName = s.SerializeString(SampleName, 9, name: nameof(SampleName)); RepeatTime = s.Serialize <ushort>(RepeatTime, name: nameof(RepeatTime)); }
public override void SerializeImpl(SerializerObject s) { base.SerializeImpl(s); Unused = s.SerializeArray <byte>(Unused, 1, nameof(Unused)); SystemIdentifier = s.SerializeString(SystemIdentifier, length: 0x20, name: nameof(SystemIdentifier)); VolumeIdentifier = s.SerializeString(VolumeIdentifier, length: 0x20, name: nameof(VolumeIdentifier)); Unused = s.SerializeArray <byte>(Unused, 8, nameof(Unused)); VolumeSpaceSize = s.Serialize <uint>(VolumeSpaceSize, name: nameof(VolumeSpaceSize)); BigEndianValue = s.SerializeArray <byte>(BigEndianValue, 4, name: nameof(BigEndianValue)); Unused = s.SerializeArray <byte>(Unused, 0x20, nameof(Unused)); VolumeSetSize = s.Serialize <ushort>(VolumeSetSize, name: nameof(VolumeSetSize)); BigEndianValue = s.SerializeArray <byte>(BigEndianValue, 2, name: nameof(BigEndianValue)); VolumeSequenceNumber = s.Serialize <ushort>(VolumeSequenceNumber, name: nameof(VolumeSequenceNumber)); BigEndianValue = s.SerializeArray <byte>(BigEndianValue, 2, name: nameof(BigEndianValue)); LogicalBlockSize = s.Serialize <ushort>(LogicalBlockSize, name: nameof(LogicalBlockSize)); BigEndianValue = s.SerializeArray <byte>(BigEndianValue, 2, name: nameof(BigEndianValue)); PathTableSize = s.Serialize <uint>(PathTableSize, name: nameof(PathTableSize)); BigEndianValue = s.SerializeArray <byte>(BigEndianValue, 4, name: nameof(BigEndianValue)); PathTableLBA = s.Serialize <uint>(PathTableLBA, name: nameof(PathTableLBA)); OptionalPathTableLBA = s.Serialize <uint>(OptionalPathTableLBA, name: nameof(OptionalPathTableLBA)); BigEndianValue = s.SerializeArray <byte>(BigEndianValue, 4, name: nameof(BigEndianValue)); BigEndianValue = s.SerializeArray <byte>(BigEndianValue, 4, name: nameof(BigEndianValue)); Root = s.SerializeObject <ISO9960_DirectoryRecord>(Root, name: nameof(Root)); VolumeSetIdentifier = s.SerializeString(VolumeSetIdentifier, 128, name: nameof(VolumeSetIdentifier)); PublisherIdentifier = s.SerializeString(PublisherIdentifier, 128, name: nameof(PublisherIdentifier)); DataPreparerIdentifier = s.SerializeString(DataPreparerIdentifier, 128, name: nameof(DataPreparerIdentifier)); ApplicationIdentifier = s.SerializeString(ApplicationIdentifier, 128, name: nameof(ApplicationIdentifier)); CopyrightFileIdentifier = s.SerializeString(CopyrightFileIdentifier, 38, name: nameof(CopyrightFileIdentifier)); AbstractFileIdentifier = s.SerializeString(AbstractFileIdentifier, 36, name: nameof(AbstractFileIdentifier)); BibliographicFileIdentifier = s.SerializeString(BibliographicFileIdentifier, 37, name: nameof(BibliographicFileIdentifier)); VolumeCreationDateTime = s.SerializeString(VolumeCreationDateTime, 17, name: nameof(VolumeCreationDateTime)); VolumeModificationDateTime = s.SerializeString(VolumeModificationDateTime, 17, name: nameof(VolumeModificationDateTime)); VolumeExpirationDateTime = s.SerializeString(VolumeExpirationDateTime, 17, name: nameof(VolumeExpirationDateTime)); VolumeEffectiveDateTime = s.SerializeString(VolumeEffectiveDateTime, 17, name: nameof(VolumeEffectiveDateTime)); FileStructureVersion = s.Serialize <byte>(FileStructureVersion, name: nameof(FileStructureVersion)); }
public override void SerializeImpl(SerializerObject s) { TypeCode = s.Serialize <byte>(TypeCode, name: nameof(TypeCode)); StandardIdentifier = s.SerializeString(StandardIdentifier, length: 5, name: nameof(StandardIdentifier)); Version = s.Serialize <byte>(Version, name: nameof(Version)); }
/// <summary> /// Serializes the data /// </summary> /// <param name="serializer">The serializer</param> public override void SerializeImpl(SerializerObject s) { LocKey = s.SerializeString(LocKey); Name = s.SerializeString(Name); Description = s.SerializeString(Description); }
public override void SerializeImpl(SerializerObject s) { WorldName = s.SerializeString(WorldName, 13, name: nameof(WorldName)); LevelFilePrefix = s.SerializeString(LevelFilePrefix, 4, name: nameof(LevelFilePrefix)); SoundGroup = s.SerializeString(SoundGroup, 9, name: nameof(SoundGroup)); }
/// <summary> /// Handles the data serialization /// </summary> /// <param name="s">The serializer object</param> public override void SerializeImpl(SerializerObject s) { Length = s.Serialize <byte>(Length, name: nameof(Length)); Value = s.SerializeString(Value, Length, name: nameof(Value)); }
/// <summary> /// Handles the data serialization /// </summary> /// <param name="s">The serializer object</param> public override void SerializeImpl(SerializerObject s) { FileName = s.SerializeString(FileName, name: nameof(FileName)); FileSize = s.Serialize <uint>(FileSize, name: nameof(FileSize)); FileOffset = s.Serialize <uint>(FileOffset, name: nameof(FileOffset)); }