From 62b1627b0426dce11a99adedfdf5ab63e531fa20 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Sun, 15 Jan 2023 00:19:16 -0800 Subject: [PATCH] More PLJv2 notes/support --- BurnOutSharp.Builders/PlayJ.cs | 3 +- BurnOutSharp.Models/PlayJ/EntryHeader.cs | 47 ++++++++++++------------ BurnOutSharp.Wrappers/PlayJAudioFile.cs | 2 +- 3 files changed, 27 insertions(+), 25 deletions(-) diff --git a/BurnOutSharp.Builders/PlayJ.cs b/BurnOutSharp.Builders/PlayJ.cs index 28b3a6e9..56632611 100644 --- a/BurnOutSharp.Builders/PlayJ.cs +++ b/BurnOutSharp.Builders/PlayJ.cs @@ -269,9 +269,10 @@ namespace BurnOutSharp.Builders entryHeader.TrackID = data.ReadUInt32(); entryHeader.Year = data.ReadUInt32(); // Unconfirmed + entryHeader.TrackNumber = data.ReadUInt32(); // Discard the following pieces until we can figure out what they are - _ = data.ReadBytes(0x08); + _ = data.ReadBytes(0x04); } entryHeader.TrackLength = data.ReadUInt16(); diff --git a/BurnOutSharp.Models/PlayJ/EntryHeader.cs b/BurnOutSharp.Models/PlayJ/EntryHeader.cs index d9f38a76..2fd70bb3 100644 --- a/BurnOutSharp.Models/PlayJ/EntryHeader.cs +++ b/BurnOutSharp.Models/PlayJ/EntryHeader.cs @@ -58,7 +58,8 @@ namespace BurnOutSharp.Models.PlayJ /// /// Track number /// - public byte TrackNumber; + /// Byte in V1, UInt32 in V2 + public uint TrackNumber; /// /// Subgenre @@ -144,31 +145,31 @@ namespace BurnOutSharp.Models.PlayJ #region V2 Notes - // Unknown V2 data block (lady.plj) + // Unknown V2 data block // --------------------------- - // 0x08 0x00000001 Unknown - // 0x0C 0x00000001 Unknown - // 0x10 0x00000000 Unknown - // 0x14 0x00000003 Unknown - // 0x18 0x00000001 Unknown - // 0x1C 0x00000000 Unknown - // 0x20 0x00000066 Unknown - // 0x24 0xF02F4372 Unknown - // 0x28 0x00000004 Unknown - // 0x2C 0x00000002 Unknown - // 0x30 0x00000066 Unknown - // 0x34 0x00005933 Unknown - // 0x38 0xB462688A Unknown - // 0x3C 0x00000005 Unknown (Track number?) - // 0x40 0x00000009 Unknown (Total tracks?) - // 0x44 0x00005999 Unknown - // 0x48 0x0032FF38 Unknown - // 0x4C 0x00000000 Unknown - // 0x50 0x00000007 Unknown + // 0x08 0x00000001 Unknown [Common] + // 0x0C 0x00000001 Unknown [Common] + // 0x10 0x00000000 Unknown [Common] + // 0x14 0x00000003 Unknown [Common] + // 0x18 0x00000001 Unknown [Common] + // 0x1C 0x00000000 Unknown [Common] + // 0x20 0x00000066 Unknown [Varies] + // 0x24 0xF02F4372 Unknown [Varies] + // 0x28 0x00000004 Unknown [Common] + // 0x2C 0x00000002 Unknown [Common] + // 0x30 0x00000066 Unknown [Varies] + // 0x34 0x00005933 Unknown [Varies] + // 0x38 0xB462688A Unknown [Varies] + // 0x3C 0x00000005 Unknown [Common] + // 0x40 0x00000009 Unknown [Common] + // 0x44 0x00005999 Unknown [Varies] + // 0x48 0x0032FF38 Unknown [Varies] + // 0x4C 0x00000000 Unknown [Common] + // 0x50 0x00000007 Unknown [Common] // 0x54 0x0001897D Track ID // 0x58 0xFFFFFFFF Unknown (Year?) - // 0x5C 0x00000005 Unknown (Track number?) - // 0x60 0x00033068 Unknown + // 0x5C 0x00000005 Track Number + // 0x60 0x00033068 Unknown [Varies] // In the third block: // lady.plj has 0x00000002 and references "ad006376_5.dat" after diff --git a/BurnOutSharp.Wrappers/PlayJAudioFile.cs b/BurnOutSharp.Wrappers/PlayJAudioFile.cs index 6804151e..31d15a82 100644 --- a/BurnOutSharp.Wrappers/PlayJAudioFile.cs +++ b/BurnOutSharp.Wrappers/PlayJAudioFile.cs @@ -38,7 +38,7 @@ namespace BurnOutSharp.Wrappers public uint Year => _audioFile.Header.Year; /// - public byte TrackNumber => _audioFile.Header.TrackNumber; + public uint TrackNumber => _audioFile.Header.TrackNumber; /// public Models.PlayJ.Subgenre Subgenre => _audioFile.Header.Subgenre;