Esempio n. 1
0
        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)));
        }
Esempio n. 3
0
        }                                  // 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));
                });
            }
        }
Esempio n. 4
0
    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)));
            }
        }
Esempio n. 7
0
        /// <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));
 }
Esempio n. 9
0
 /// <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));
 }
Esempio n. 10
0
        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));
 }
Esempio n. 12
0
 /// <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);
 }
Esempio n. 13
0
 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));
 }
Esempio n. 14
0
 /// <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));
 }
Esempio n. 15
0
 /// <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));
 }