/// <summary>
        /// Handles the data serialization
        /// </summary>
        /// <param name="s">The serializer object</param>
        public override void SerializeImpl(SerializerObject s)
        {
            TailleMainMemTmp = s.Serialize <uint>(TailleMainMemTmp, name: nameof(TailleMainMemTmp));
            s.Log($"{nameof(TailleMainMemTmp)}: {TailleMainMemTmp << 10} bytes");

            TailleMainMemFix = s.Serialize <uint>(TailleMainMemFix, name: nameof(TailleMainMemFix));
            s.Log($"{nameof(TailleMainMemFix)}: {TailleMainMemFix << 10} bytes");

            TailleMainMemWorld = s.Serialize <uint>(TailleMainMemWorld, name: nameof(TailleMainMemWorld));
            s.Log($"{nameof(TailleMainMemWorld)}: {TailleMainMemWorld << 10} bytes");

            TailleMainMemLevel = s.Serialize <uint>(TailleMainMemLevel, name: nameof(TailleMainMemLevel));
            s.Log($"{nameof(TailleMainMemLevel)}: {TailleMainMemLevel << 10} bytes");

            TailleMainMemSprite = s.Serialize <uint>(TailleMainMemSprite, name: nameof(TailleMainMemSprite));
            s.Log($"{nameof(TailleMainMemSprite)}: {TailleMainMemSprite << 10} bytes");

            TailleMainMemSamplesTable = s.Serialize <uint>(TailleMainMemSamplesTable, name: nameof(TailleMainMemSamplesTable));
            s.Log($"{nameof(TailleMainMemSamplesTable)}: {TailleMainMemSamplesTable << 10} bytes");

            if (s.GameSettings.EngineVersion == EngineVersion.R1_PC_Kit)
            {
                TailleMainMemEdit = s.Serialize <uint>(TailleMainMemEdit, name: nameof(TailleMainMemEdit));
                s.Log($"{nameof(TailleMainMemEdit)}: {TailleMainMemEdit << 10} bytes");

                TailleMainMemSaveEvent = s.Serialize <uint>(TailleMainMemSaveEvent, name: nameof(TailleMainMemSaveEvent));
                s.Log($"{nameof(TailleMainMemSaveEvent)}: {TailleMainMemSaveEvent << 10} bytes");
            }
        }
Exemplo n.º 2
0
        public override void SerializeImpl(SerializerObject s)
        {
            if (HasMemoryBankValue)
            {
                MemoryBank = s.Serialize <byte>(MemoryBank, name: nameof(MemoryBank));
            }
            Pointer = s.Serialize <ushort>(Pointer, name: nameof(Pointer));

            s.Log($"Pointer: {GetPointer()}");
        }
Exemplo n.º 3
0
        public override void SerializeImpl(SerializerObject s)
        {
            LocIndex_LevelName = s.Serialize <uint>(LocIndex_LevelName, name: nameof(LocIndex_LevelName));
            s.Log($"LevelName: {s.Context.GetStoredObject<GBAVV_LocTable>(GBAVV_BaseManager.LocTableID)?.Strings[LocIndex_LevelName]}");
            LevelTheme = s.Serialize <uint>(LevelTheme, name: nameof(LevelTheme));

            Time_Sapphire = s.SerializeObject <GBAVV_Time>(Time_Sapphire, name: nameof(Time_Sapphire));
            Time_Gold     = s.SerializeObject <GBAVV_Time>(Time_Gold, name: nameof(Time_Gold));
            Time_Platinum = s.SerializeObject <GBAVV_Time>(Time_Platinum, name: nameof(Time_Platinum));

            Uint_14     = s.Serialize <uint>(Uint_14, name: nameof(Uint_14));
            Uint_18     = s.Serialize <uint>(Uint_18, name: nameof(Uint_18));
            IsBossFight = s.Serialize <bool>(IsBossFight, name: nameof(IsBossFight));
            s.SerializeArray <byte>(new byte[3], 3, name: "Padding");
            LevelDataPointer = s.SerializePointer(LevelDataPointer, name: nameof(LevelDataPointer));

            LevelData = s.DoAt(LevelDataPointer, () => s.SerializeObject <GBAVV_LevelData>(LevelData, x => x.LevInfo = LevInfo, name: nameof(LevelData)));
        }
Exemplo n.º 4
0
 public override void SerializeImpl(SerializerObject s)
 {
     Value = s.Serialize <int>(Value, name: nameof(Value));
     s.Log($"Value as float: {AsFloat}");
 }
Exemplo n.º 5
0
        }                                           // Padding?

        public override void SerializeImpl(SerializerObject s)
        {
            if (s.GameSettings.EngineVersion == EngineVersion.GBA_BatmanVengeance)
            {
                Batman_Data = s.SerializeArray <byte>(Batman_Data, 0x10, name: nameof(Batman_Data));
            }
            else if (s.GameSettings.GBA_IsShanghai || s.GameSettings.GBA_IsMilan)
            {
                Width  = s.Serialize <ushort>(Width, name: nameof(Width));
                Height = s.Serialize <ushort>(Height, name: nameof(Height));

                if (s.GameSettings.GBA_IsMilan)
                {
                    s.SerializeBitValues <byte>(bitFunc =>
                    {
                        Milan_MapCompressionType = (Milan_CompressionType)bitFunc((byte)Milan_MapCompressionType, 7, name: nameof(Milan_MapCompressionType));
                        Milan_UnkFlag            = bitFunc(Milan_UnkFlag ? 1 : 0, 1, name: nameof(Milan_UnkFlag)) == 1;
                    });

                    Milan_Byte_05   = s.Serialize <byte>(Milan_Byte_05, name: nameof(Milan_Byte_05));
                    Milan_Byte_06   = s.Serialize <byte>(Milan_Byte_06, name: nameof(Milan_Byte_06));
                    Milan_Byte_07   = s.Serialize <byte>(Milan_Byte_07, name: nameof(Milan_Byte_07));
                    Milan_Ushort_08 = s.Serialize <ushort>(Milan_Ushort_08, name: nameof(Milan_Ushort_08));
                    Milan_Ushort_0A = s.Serialize <ushort>(Milan_Ushort_0A, name: nameof(Milan_Ushort_0A));
                }
                else
                {
                    Shanghai_Byte_04 = s.Serialize <byte>(Shanghai_Byte_04, name: nameof(Shanghai_Byte_04));
                    Shanghai_Byte_05 = s.Serialize <byte>(Shanghai_Byte_05, name: nameof(Shanghai_Byte_05));
                    Shanghai_Byte_06 = s.Serialize <byte>(Shanghai_Byte_06, name: nameof(Shanghai_Byte_06));
                    Shanghai_Byte_07 = s.Serialize <byte>(Shanghai_Byte_07, name: nameof(Shanghai_Byte_07));

                    if (s.GameSettings.EngineVersion == EngineVersion.GBA_DonaldDuck && Shanghai_Byte_04 == 3)
                    {
                        Shanghai_MapTileSize = s.Serialize <byte>(Shanghai_MapTileSize, name: nameof(Shanghai_MapTileSize));
                        Shanghai_Byte_09     = s.Serialize <byte>(Shanghai_Byte_09, name: nameof(Shanghai_Byte_09));
                    }
                    else
                    {
                        Shanghai_Byte_08     = s.Serialize <byte>(Shanghai_Byte_08, name: nameof(Shanghai_Byte_08));
                        Shanghai_MapTileSize = s.Serialize <byte>(Shanghai_MapTileSize, name: nameof(Shanghai_MapTileSize));
                    }

                    Shanghai_Byte_0A = s.Serialize <byte>(Shanghai_Byte_0A, name: nameof(Shanghai_Byte_0A));
                    Shanghai_Byte_0B = s.Serialize <byte>(Shanghai_Byte_0B, name: nameof(Shanghai_Byte_0B));

                    ScrollX = s.Serialize <int>(ScrollX, name: nameof(ScrollX));
                    s.Log($"ScrollXFloat: {ScrollXFloat}");
                    ScrollY = s.Serialize <int>(ScrollY, name: nameof(ScrollY));
                    s.Log($"ScrollYFloat: {ScrollYFloat}");
                }
            }
            else
            {
                ScrollX = s.Serialize <int>(ScrollX, name: nameof(ScrollX));
                s.Log($"ScrollXFloat: {ScrollXFloat}");
                ScrollY = s.Serialize <int>(ScrollY, name: nameof(ScrollY));
                s.Log($"ScrollYFloat: {ScrollYFloat}");
                Width   = s.Serialize <ushort>(Width, name: nameof(Width));
                Height  = s.Serialize <ushort>(Height, name: nameof(Height));
                Byte_0C = s.Serialize <byte>(Byte_0C, name: nameof(Byte_0C));
                Byte_0D = s.Serialize <byte>(Byte_0D, name: nameof(Byte_0D));
                Byte_0E = s.Serialize <byte>(Byte_0E, name: nameof(Byte_0E));
                Byte_0F = s.Serialize <byte>(Byte_0F, name: nameof(Byte_0F));
            }
        }