diff --git a/FModel/PakReader/Parsers/PropertyTagData/MapProperty.cs b/FModel/PakReader/Parsers/PropertyTagData/MapProperty.cs index c203f07f..f02b4b84 100644 --- a/FModel/PakReader/Parsers/PropertyTagData/MapProperty.cs +++ b/FModel/PakReader/Parsers/PropertyTagData/MapProperty.cs @@ -21,7 +21,7 @@ namespace PakReader.Parsers.PropertyTagData var dict = new Dictionary(NumEntries); for (int i = 0; i < NumEntries; i++) { - dict[ReadAsValue(reader, tag, tag.ValueType, ReadType.MAP)] = ReadAsObject(reader, tag, tag.ValueType, ReadType.MAP); + dict[ReadAsValue(reader, tag, tag.InnerType, ReadType.MAP)] = ReadAsObject(reader, tag, tag.ValueType, ReadType.MAP); } Value = dict; } diff --git a/FModel/PakReader/WwiseReader.cs b/FModel/PakReader/WwiseReader.cs index 002ab042..69b0f343 100644 --- a/FModel/PakReader/WwiseReader.cs +++ b/FModel/PakReader/WwiseReader.cs @@ -63,7 +63,7 @@ namespace FModel.PakReader break; case _RIFF_ID: reader.BaseStream.Seek(Position - sizeof(uint) - sizeof(uint), SeekOrigin.Begin); - AudioFiles[$"{rnd.Next(1000000, 9999999)}.wem"] = reader.ReadBytes(Convert.ToInt32(SectionLength)); + AudioFiles[$"{rnd.Next(1000000, 9999999)}.wem"] = reader.ReadBytes(Convert.ToInt32(SectionLength) + sizeof(uint) + sizeof(uint)); break; case _STID_ID: stidSection = new STIDSection(reader); @@ -76,12 +76,17 @@ namespace FModel.PakReader case _PLAT_ID: platSection = new PLATSection(reader); break; +#if DEBUG + default: + System.Diagnostics.Debug.WriteLine($"Unknown section 0x{SectionIdentifier:X} at {Position - sizeof(uint) - sizeof(uint)}"); + break; +#endif } if (reader.BaseStream.Position != Position + SectionLength) { #if DEBUG - System.Diagnostics.Debug.WriteLine($" Didn't read 0x{SectionIdentifier:X} correctly (at {reader.BaseStream.Position}, should be {Position + SectionLength})"); + System.Diagnostics.Debug.WriteLine($"Didn't read 0x{SectionIdentifier:X} correctly (at {reader.BaseStream.Position}, should be {Position + SectionLength})"); #endif reader.BaseStream.Seek(Position + SectionLength, SeekOrigin.Begin); } diff --git a/FModel/Properties/Resources.Designer.cs b/FModel/Properties/Resources.Designer.cs index afa1b393..0b01ed84 100644 --- a/FModel/Properties/Resources.Designer.cs +++ b/FModel/Properties/Resources.Designer.cs @@ -1788,7 +1788,7 @@ namespace FModel.Properties { } /// - /// Recherche une chaîne localisée semblable à OGG Files (*.ogg)|*.ogg|WAV Files (*.wav)|*.wav|All Files (*.*)|*.*. + /// Recherche une chaîne localisée semblable à OGG Files (*.ogg)|*.ogg|WAV Files (*.wav)|*.wav|WEM Files (*.wem)|*.wem|ADPCM Files (*.adpcm)|*.adpcm|All Files (*.*)|*.*. /// public static string OggFilter { get { diff --git a/FModel/Properties/Resources.ar.resx b/FModel/Properties/Resources.ar.resx index 4fd33401..336cfa31 100644 --- a/FModel/Properties/Resources.ar.resx +++ b/FModel/Properties/Resources.ar.resx @@ -535,9 +535,6 @@ It's now the most used free software to leak on Fortnite. Offsets - - OGG Files (*.ogg)|*.ogg|WAV Files (*.wav)|*.wav|All Files (*.*)|*.* - حسنا diff --git a/FModel/Properties/Resources.de-DE.resx b/FModel/Properties/Resources.de-DE.resx index 076584d2..4ad493eb 100644 --- a/FModel/Properties/Resources.de-DE.resx +++ b/FModel/Properties/Resources.de-DE.resx @@ -500,7 +500,7 @@ Jetzt ist es die am häufigsten genutzte freie Software um mit Fortnite zu leake Rarity Design - OGG Dateien (*.ogg)|*.ogg|WAV Dateien (*.wav)|*.wav|Alle Dateien (*.*)|*.* + OGG Dateien (*.ogg)|*.ogg|WAV Dateien (*.wav)|*.wav|WEM Dateien (*.wem)|*.wem|ADPCM Dateien (*.adpcm)|*.adpcm|Alle Dateien (*.*)|*.* Deckkraft diff --git a/FModel/Properties/Resources.es.resx b/FModel/Properties/Resources.es.resx index d4602912..461b5577 100644 --- a/FModel/Properties/Resources.es.resx +++ b/FModel/Properties/Resources.es.resx @@ -680,7 +680,7 @@ Ahora es el software gratuito más utilizado para filtrar en Fortnite. Offsets - Archivos OGG (*.ogg)|*.ogg|Archivos WAV (*.wav)|*.wav|Todos los archivos (*.*)|*.* + Archivos OGG (*.ogg)|*.ogg|Archivos WAV (*.wav)|*.wav|Archivos WEM (*.wem)|*.wem|Archivos ADPCM (*.adpcm)|*.adpcm|Todos los archivos (*.*)|*.* OK diff --git a/FModel/Properties/Resources.fr-FR.resx b/FModel/Properties/Resources.fr-FR.resx index fc3eab99..92db28f1 100644 --- a/FModel/Properties/Resources.fr-FR.resx +++ b/FModel/Properties/Resources.fr-FR.resx @@ -556,7 +556,7 @@ C'est maintenant le logiciel gratuit le plus utilisé pour leak sur Fortnite.Offsets - Fichiers OGG (*.ogg)|*.ogg|Fichiers WAV (*.wav)|*.wav|Tous les Fichiers (*.*)|*.* + Fichiers OGG (*.ogg)|*.ogg|Fichiers WAV (*.wav)|*.wav|Fichiers WEM (*.wem)|*.wem|Fichiers ADPCM (*.adpcm)|*.adpcm|Tous les Fichiers (*.*)|*.* OK diff --git a/FModel/Properties/Resources.it-IT.resx b/FModel/Properties/Resources.it-IT.resx index 732653b3..4b183824 100644 --- a/FModel/Properties/Resources.it-IT.resx +++ b/FModel/Properties/Resources.it-IT.resx @@ -530,7 +530,7 @@ Col tempo sono state aggiunte nuove funzioni e molti altri utenti hanno comincia Offsets - Files OGG (*.ogg)|*.ogg|Files WAV (*.wav)|*.wav|Tutti i Files (*.*)|*.* + Files OGG (*.ogg)|*.ogg|Files WAV (*.wav)|*.wav|Files WEM (*.wem)|*.wem|Files ADPCM (*.adpcm)|*.adpcm|Tutti i Files (*.*)|*.* OK diff --git a/FModel/Properties/Resources.ja-JP.resx b/FModel/Properties/Resources.ja-JP.resx index 3b049156..3fa9fc92 100644 --- a/FModel/Properties/Resources.ja-JP.resx +++ b/FModel/Properties/Resources.ja-JP.resx @@ -653,7 +653,7 @@ ディレクトリ - OGGファイル (*.ogg)|*.ogg|WAVファイル (*.wav)|*.wav|全てのファイル (*.*)|*.* + OGGファイル (*.ogg)|*.ogg|WAVファイル (*.wav)|*.wav|WEMファイル (*.wem)|*.wem|ADPCMファイル (*.adpcm)|*.adpcm|全てのファイル (*.*)|*.* ゲームの色を使用する diff --git a/FModel/Properties/Resources.resx b/FModel/Properties/Resources.resx index ee11ff05..ae12dd28 100644 --- a/FModel/Properties/Resources.resx +++ b/FModel/Properties/Resources.resx @@ -694,7 +694,7 @@ It's now the most used free software to leak on Fortnite. Offsets - OGG Files (*.ogg)|*.ogg|WAV Files (*.wav)|*.wav|All Files (*.*)|*.* + OGG Files (*.ogg)|*.ogg|WAV Files (*.wav)|*.wav|WEM Files (*.wem)|*.wem|ADPCM Files (*.adpcm)|*.adpcm|All Files (*.*)|*.* OK diff --git a/FModel/Properties/Resources.ru-RU.resx b/FModel/Properties/Resources.ru-RU.resx index 3be1a866..971df2e1 100644 --- a/FModel/Properties/Resources.ru-RU.resx +++ b/FModel/Properties/Resources.ru-RU.resx @@ -430,7 +430,7 @@ Нет текста - Файлы OGG (*.ogg)|*.ogg|Файлы WAV (*.wav)|*.wav|Все файлы (*.*)|*.* + Файлы OGG (*.ogg)|*.ogg|Файлы WAV (*.wav)|*.wav|Файлы WEM (*.wem)|*.wem|Файлы ADPCM (*.adpcm)|*.adpcm|Все файлы (*.*)|*.* OK diff --git a/FModel/Windows/SoundPlayer/AudioPlayer.xaml.cs b/FModel/Windows/SoundPlayer/AudioPlayer.xaml.cs index 142e4b81..1aa6d33b 100644 --- a/FModel/Windows/SoundPlayer/AudioPlayer.xaml.cs +++ b/FModel/Windows/SoundPlayer/AudioPlayer.xaml.cs @@ -73,7 +73,25 @@ namespace FModel.Windows.SoundPlayer if ((bool)ofd.ShowDialog()) { foreach (string file in ofd.FileNames) - LoadFile(file); + { + switch (Path.GetExtension(file)) + { + case ".adpcm": + case ".wem": + Focus(); + ListBoxVm.soundFiles.Add(new ListBoxViewModel2 + { + Content = Path.GetFileName(file), + Data = File.ReadAllBytes(file), + FullPath = string.Empty, + Folder = string.Empty + }); + break; + default: + LoadFile(file); + break; + } + } } } @@ -253,9 +271,10 @@ namespace FModel.Windows.SoundPlayer CreateNoWindow = true }); vgmstream.WaitForExit(); - if (vgmstream.ExitCode == 0) + ListBoxVm.soundFiles.Remove(selectedItem); + File.Delete(folder + selectedItem.Content); + if (vgmstream.ExitCode == 0 && File.Exists(newFile)) { - ListBoxVm.soundFiles.Remove(selectedItem); _oldPlayedSound = newFile; LoadFile(newFile); }