Skip to content

Commit aaefe01

Browse files
committed
Add support in the dataviewer for the new files.
1 parent 40fff45 commit aaefe01

File tree

6 files changed

+76
-8
lines changed

6 files changed

+76
-8
lines changed

EuroSoundExplorer2/Forms/FrmDataViewer.cs

+8
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ public partial class FrmDataViewer : Form
1717
private readonly MusicBankReader musReader = new MusicBankReader();
1818
private readonly SbiBankReader sbiReader = new SbiBankReader();
1919
private readonly ProjectDetailsReader projDetReader = new ProjectDetailsReader();
20+
private readonly SoundDetailsReader soundDetailsReader = new SoundDetailsReader();
21+
private readonly MusicDetailsReader musicDetailsReader = new MusicDetailsReader();
2022
private readonly int m_ErrorCount = 0;
2123
private string sfxFilePath = string.Empty;
2224

@@ -78,6 +80,12 @@ private void FrmDataViewer_Load(object sender, EventArgs e)
7880
case FileType.ProjectDetails:
7981
ShowProjectDetails(sfxFilePath);
8082
break;
83+
case FileType.SoundDetailsFile:
84+
ShowSoundDetails(sfxFilePath);
85+
break;
86+
case FileType.MusicDetails:
87+
ShowMusicDetails(sfxFilePath);
88+
break;
8189
default:
8290
MessageBox.Show("Could not load this file, probably is from an unsupported version or game.", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
8391
Close();

EuroSoundExplorer2/Forms/FrmDataViewer_SoundBanks.cs

+60
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,66 @@ private void ShowProjectDetails(string filePath)
282282
}
283283
}
284284

285+
//-------------------------------------------------------------------------------------------------------------------------------
286+
private void ShowSoundDetails(string filePath)
287+
{
288+
//Read File Data
289+
SfxHeaderData headerData = soundDetailsReader.ReadSfxHeader(filePath, ((FrmMain)Application.OpenForms[nameof(FrmMain)]).configuration.PlatformSelected.ToString());
290+
SoundDetails fileData = soundDetailsReader.ReadSoundDetailsFile(filePath, headerData);
291+
292+
//Add data
293+
TreeNode soundDetailsInfo = ShowHeaderData(headerData, "SoundDetails Info");
294+
295+
TreeNode hashCodesData = new TreeNode("HashCodes Info");
296+
soundDetailsInfo.Nodes.Add(hashCodesData);
297+
TreeAdd(hashCodesData, nameof(fileData.MinHashCode), fileData.MinHashCode);
298+
TreeAdd(hashCodesData, nameof(fileData.MaxHashCode), fileData.MaxHashCode);
299+
300+
//Print Project Slots
301+
TreeNode sfxsData = new TreeNode("SFXs Info " + fileData.sfxItems.Length);
302+
soundDetailsInfo.Nodes.Add(sfxsData);
303+
foreach (SoundDetailsData item in fileData.sfxItems)
304+
{
305+
TreeNode memSlot = new TreeNode(string.Format("u32 {0} = {1} (0x{1:X8})", nameof(item.HashCode), item.HashCode));
306+
sfxsData.Nodes.Add(memSlot);
307+
TreeAdd(memSlot, nameof(item.InnerRadius), item.InnerRadius);
308+
TreeAdd(memSlot, nameof(item.OuterRadius), item.OuterRadius);
309+
TreeAdd(memSlot, nameof(item.Duration), item.Duration);
310+
TreeAdd(memSlot, nameof(item.Looping), item.Looping);
311+
TreeAdd(memSlot, nameof(item.Tracking3D), item.Tracking3D);
312+
TreeAdd(memSlot, nameof(item.SampleStreamed), item.SampleStreamed);
313+
TreeAdd(memSlot, nameof(item.Is3D), item.Is3D);
314+
}
315+
}
316+
317+
//-------------------------------------------------------------------------------------------------------------------------------
318+
private void ShowMusicDetails(string filePath)
319+
{
320+
//Read File Data
321+
SfxHeaderData headerData = musicDetailsReader.ReadSfxHeader(filePath, ((FrmMain)Application.OpenForms[nameof(FrmMain)]).configuration.PlatformSelected.ToString());
322+
MusicDetails fileData = musicDetailsReader.ReadMusicDetailsFile(filePath, headerData);
323+
324+
//Add data
325+
TreeNode soundDetailsInfo = ShowHeaderData(headerData, "MusicDetails Info");
326+
327+
TreeNode hashCodesData = new TreeNode("HashCodes Info");
328+
soundDetailsInfo.Nodes.Add(hashCodesData);
329+
TreeAdd(hashCodesData, nameof(fileData.MinHashCode), fileData.MinHashCode);
330+
TreeAdd(hashCodesData, nameof(fileData.MaxHashCode), fileData.MaxHashCode);
331+
332+
//Print Project Slots
333+
TreeNode sfxsData = new TreeNode("MFXs Info " + fileData.musicItems.Length);
334+
soundDetailsInfo.Nodes.Add(sfxsData);
335+
foreach (MusicDetailsData item in fileData.musicItems)
336+
{
337+
TreeNode memSlot = new TreeNode(string.Format("u32 {0} = {1} (0x{1:X8})", nameof(item.HashCode), item.HashCode));
338+
sfxsData.Nodes.Add(memSlot);
339+
TreeAdd(memSlot, nameof(item.Duration), item.Duration);
340+
TreeAdd(memSlot, nameof(item.MusicLooping), item.MusicLooping);
341+
TreeAdd(memSlot, nameof(item.UserValue), item.UserValue);
342+
}
343+
}
344+
285345
//-------------------------------------------------------------------------------------------------------------------------------
286346
private TreeNode ShowHeaderData(SfxHeaderData headerData, string nodeName)
287347
{

EuroSoundExplorer2/PanelDocks/Details Files/Music Details/FrmMusicDetails.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public void ShowData()
2424
int m_ErrorCount = 0;
2525
lstvMfxItems.BeginUpdate();
2626
lstvMfxItems.Items.Clear();
27-
foreach (MusicDetailsData itemToadd in fileData.sfxItems)
27+
foreach (MusicDetailsData itemToadd in fileData.musicItems)
2828
{
2929
ListViewItem itemToAdd = new ListViewItem(new string[]
3030
{
@@ -41,7 +41,7 @@ public void ShowData()
4141
//Update labels
4242
txtHashCodeMax.Text = string.Format("0x{0:X8}", fileData.MaxHashCode);
4343
txtHashCodeMin.Text = string.Format("0x{0:X8}", fileData.MinHashCode);
44-
txtItemsCount.Text = fileData.sfxItems.Length.ToString();
44+
txtItemsCount.Text = fileData.musicItems.Length.ToString();
4545
txtErrorsCount.Text = m_ErrorCount.ToString();
4646
}
4747

EuroSoundExplorer2/PanelDocks/Misc/FormSoundBankFiles.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -471,7 +471,7 @@ public void LoadSelectedMusicDetails(string filePath)
471471

472472
//Load data
473473
musicDetailsHeaderData = musicDetailsReader.ReadSfxHeader(filePath, ((FrmMain)Application.OpenForms[nameof(FrmMain)]).configuration.PlatformSelected.ToString());
474-
musicDetails = musicDetailsReader.ReadSoundDetailsFile(filePath, projDetailsHeaderData);
474+
musicDetails = musicDetailsReader.ReadMusicDetailsFile(filePath, projDetailsHeaderData);
475475

476476
((FrmMain)Application.OpenForms[nameof(FrmMain)]).pnlMusicDetailsData.ShowData();
477477
}

MusX/Objects/MusicDetails.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ public class MusicDetails
77
{
88
public uint MinHashCode;
99
public uint MaxHashCode;
10-
public MusicDetailsData[] sfxItems;
10+
public MusicDetailsData[] musicItems;
1111
}
1212

1313
//-------------------------------------------------------------------------------------------------------------------------------

MusX/Readers/Details Files/MusicDetailsReader.cs

+4-4
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public override SfxHeaderData ReadSfxHeader(string filePath, string platform)
6666
}
6767

6868
//-------------------------------------------------------------------------------------------------------------------------------
69-
public MusicDetails ReadSoundDetailsFile(string filePath, SfxHeaderData sfxHeaderData)
69+
public MusicDetails ReadMusicDetailsFile(string filePath, SfxHeaderData sfxHeaderData)
7070
{
7171
MusicDetails projectData = new MusicDetails();
7272
using (BinaryReader BReader = new BinaryReader(File.Open(filePath, FileMode.Open, FileAccess.Read, FileShare.Read)))
@@ -78,8 +78,8 @@ public MusicDetails ReadSoundDetailsFile(string filePath, SfxHeaderData sfxHeade
7878
uint hashCodePrefix = (0xFFFF0000 & projectData.MinHashCode);
7979

8080
//Read each stored SFX
81-
projectData.sfxItems = new MusicDetailsData[(int)(0x0000FFFF & projectData.MaxHashCode)];
82-
for (int i = 0; i < projectData.sfxItems.Length; i++)
81+
projectData.musicItems = new MusicDetailsData[(int)(0x0000FFFF & projectData.MaxHashCode)];
82+
for (int i = 0; i < projectData.musicItems.Length; i++)
8383
{
8484
MusicDetailsData sfxItem = new MusicDetailsData
8585
{
@@ -88,7 +88,7 @@ public MusicDetails ReadSoundDetailsFile(string filePath, SfxHeaderData sfxHeade
8888
MusicLooping = Convert.ToBoolean(BReader.ReadUInt32()),
8989
UserValue = BReader.ReadUInt32(),
9090
};
91-
projectData.sfxItems[i] = sfxItem;
91+
projectData.musicItems[i] = sfxItem;
9292
}
9393
}
9494

0 commit comments

Comments
 (0)