/// <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"); } }
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()}"); }
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))); }
public override void SerializeImpl(SerializerObject s) { Value = s.Serialize <int>(Value, name: nameof(Value)); s.Log($"Value as float: {AsFloat}"); }
} // 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)); } }