mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/PCK-Studio.git
synced 2026-06-16 06:41:57 +00:00
Renamed folder 'IO/PCK' to 'IO/PckAudio' and renamed PCKAudioFile to PckAudioFile
This commit is contained in:
@@ -7,7 +7,7 @@ using OMI.Formats.Languages;
|
||||
|
||||
namespace PckStudio.Classes.FileTypes
|
||||
{
|
||||
public class PCKAudioFile
|
||||
public class PckAudioFile
|
||||
{
|
||||
public class InvalidCategoryException : Exception
|
||||
{
|
||||
@@ -17,23 +17,23 @@ namespace PckStudio.Classes.IO.PCK
|
||||
{ }
|
||||
}
|
||||
|
||||
internal class PCKAudioFileReader : IDataFormatReader<PCKAudioFile>, IDataFormatReader
|
||||
internal class PckAudioFileReader : IDataFormatReader<PckAudioFile>, IDataFormatReader
|
||||
{
|
||||
private PCKAudioFile _file;
|
||||
private PckAudioFile _file;
|
||||
private Endianness _endianness;
|
||||
private List<string> LUT = new List<string>();
|
||||
private List<PCKAudioFile.AudioCategory.EAudioType> _OriginalAudioTypeOrder = new List<PCKAudioFile.AudioCategory.EAudioType>();
|
||||
private List<PckAudioFile.AudioCategory.EAudioType> _OriginalAudioTypeOrder = new List<PckAudioFile.AudioCategory.EAudioType>();
|
||||
|
||||
public PCKAudioFileReader(Endianness endianness)
|
||||
public PckAudioFileReader(Endianness endianness)
|
||||
{
|
||||
_endianness = endianness;
|
||||
}
|
||||
|
||||
public PCKAudioFile FromFile(string filename)
|
||||
public PckAudioFile FromFile(string filename)
|
||||
{
|
||||
if(File.Exists(filename))
|
||||
{
|
||||
PCKAudioFile file;
|
||||
PckAudioFile file;
|
||||
using(var fs = File.OpenRead(filename))
|
||||
{
|
||||
file = FromStream(fs);
|
||||
@@ -43,7 +43,7 @@ namespace PckStudio.Classes.IO.PCK
|
||||
throw new FileNotFoundException(filename);
|
||||
}
|
||||
|
||||
public PCKAudioFile FromStream(Stream stream)
|
||||
public PckAudioFile FromStream(Stream stream)
|
||||
{
|
||||
using (var reader = new EndiannessAwareBinaryReader(stream,
|
||||
_endianness == Endianness.BigEndian
|
||||
@@ -56,7 +56,7 @@ namespace PckStudio.Classes.IO.PCK
|
||||
throw new OverflowException(nameof(pck_type));
|
||||
if (pck_type > 1)
|
||||
throw new InvalidAudioPckException(nameof(pck_type));
|
||||
_file = new PCKAudioFile();
|
||||
_file = new PckAudioFile();
|
||||
ReadLookUpTable(reader);
|
||||
ReadCategories(reader);
|
||||
ReadCategorySongs(reader);
|
||||
@@ -81,8 +81,8 @@ namespace PckStudio.Classes.IO.PCK
|
||||
int categoryEntryCount = reader.ReadInt32();
|
||||
for (; 0 < categoryEntryCount; categoryEntryCount--)
|
||||
{
|
||||
var parameterType = (PCKAudioFile.AudioCategory.EAudioParameterType)reader.ReadInt32();
|
||||
var audioType = (PCKAudioFile.AudioCategory.EAudioType)reader.ReadInt32();
|
||||
var parameterType = (PckAudioFile.AudioCategory.EAudioParameterType)reader.ReadInt32();
|
||||
var audioType = (PckAudioFile.AudioCategory.EAudioType)reader.ReadInt32();
|
||||
string name = ReadString(reader);
|
||||
// AddCategory puts the file's categories out of order and causes some songs to be put in the wrong categories
|
||||
// This is my simple fix for the issue.
|
||||
@@ -7,10 +7,10 @@ using System.Text;
|
||||
|
||||
namespace PckStudio.Classes.IO.PCK
|
||||
{
|
||||
internal class PCKAudioFileWriter : IDataFormatWriter
|
||||
internal class PckAudioFileWriter : IDataFormatWriter
|
||||
{
|
||||
|
||||
private PCKAudioFile _file;
|
||||
private PckAudioFile _file;
|
||||
private Endianness _endianness;
|
||||
private static readonly List<string> LUT = new List<string>
|
||||
{
|
||||
@@ -19,7 +19,7 @@ namespace PckStudio.Classes.IO.PCK
|
||||
"CREDITID"
|
||||
};
|
||||
|
||||
public PCKAudioFileWriter(PCKAudioFile file, Endianness endianness)
|
||||
public PckAudioFileWriter(PckAudioFile file, Endianness endianness)
|
||||
{
|
||||
_file = file;
|
||||
_endianness = endianness;
|
||||
@@ -25,7 +25,7 @@ namespace PckStudio.Forms.Editor
|
||||
public partial class AudioEditor : MetroForm
|
||||
{
|
||||
public string defaultType = "yes";
|
||||
PCKAudioFile audioFile = null;
|
||||
PckAudioFile audioFile = null;
|
||||
PckFile.FileData audioPCK;
|
||||
LOCFile loc;
|
||||
bool _isLittleEndian = false;
|
||||
@@ -44,15 +44,15 @@ namespace PckStudio.Forms.Editor
|
||||
"Unused?"
|
||||
};
|
||||
|
||||
private string GetCategoryFromId(PCKAudioFile.AudioCategory.EAudioType categoryId)
|
||||
=> categoryId >= PCKAudioFile.AudioCategory.EAudioType.Overworld &&
|
||||
categoryId <= PCKAudioFile.AudioCategory.EAudioType.Unused
|
||||
private string GetCategoryFromId(PckAudioFile.AudioCategory.EAudioType categoryId)
|
||||
=> categoryId >= PckAudioFile.AudioCategory.EAudioType.Overworld &&
|
||||
categoryId <= PckAudioFile.AudioCategory.EAudioType.Unused
|
||||
? Categories[(int)categoryId]
|
||||
: "Not valid";
|
||||
|
||||
private PCKAudioFile.AudioCategory.EAudioType GetCategoryId(string category)
|
||||
private PckAudioFile.AudioCategory.EAudioType GetCategoryId(string category)
|
||||
{
|
||||
return (PCKAudioFile.AudioCategory.EAudioType)Categories.IndexOf(category);
|
||||
return (PckAudioFile.AudioCategory.EAudioType)Categories.IndexOf(category);
|
||||
}
|
||||
|
||||
public AudioEditor(PckFile.FileData file, LOCFile locFile, bool isLittleEndian)
|
||||
@@ -64,7 +64,7 @@ namespace PckStudio.Forms.Editor
|
||||
audioPCK = file;
|
||||
using (var stream = new MemoryStream(file.Data))
|
||||
{
|
||||
var reader = new PCKAudioFileReader(isLittleEndian ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian);
|
||||
var reader = new PckAudioFileReader(isLittleEndian ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian);
|
||||
audioFile = reader.FromStream(stream);
|
||||
}
|
||||
|
||||
@@ -77,10 +77,10 @@ namespace PckStudio.Forms.Editor
|
||||
treeView1.Nodes.Clear();
|
||||
foreach (var category in audioFile.Categories)
|
||||
{
|
||||
if(category.audioType == PCKAudioFile.AudioCategory.EAudioType.Creative)
|
||||
if(category.audioType == PckAudioFile.AudioCategory.EAudioType.Creative)
|
||||
{
|
||||
if (category.Name == "include_overworld" &&
|
||||
audioFile.TryGetCategory(PCKAudioFile.AudioCategory.EAudioType.Overworld, out PCKAudioFile.AudioCategory overworldCategory))
|
||||
audioFile.TryGetCategory(PckAudioFile.AudioCategory.EAudioType.Overworld, out PckAudioFile.AudioCategory overworldCategory))
|
||||
{
|
||||
foreach (var name in category.SongNames.ToList())
|
||||
{
|
||||
@@ -96,7 +96,7 @@ namespace PckStudio.Forms.Editor
|
||||
treeNode.Tag = category;
|
||||
treeView1.Nodes.Add(treeNode);
|
||||
}
|
||||
playOverworldInCreative.Enabled = audioFile.HasCategory(PCKAudioFile.AudioCategory.EAudioType.Creative);
|
||||
playOverworldInCreative.Enabled = audioFile.HasCategory(PckAudioFile.AudioCategory.EAudioType.Creative);
|
||||
treeView1.EndUpdate();
|
||||
}
|
||||
|
||||
@@ -121,7 +121,7 @@ namespace PckStudio.Forms.Editor
|
||||
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
|
||||
{
|
||||
treeView2.Nodes.Clear();
|
||||
if (e.Node.Tag is PCKAudioFile.AudioCategory category)
|
||||
if (e.Node.Tag is PckAudioFile.AudioCategory category)
|
||||
foreach (var name in category.SongNames)
|
||||
{
|
||||
treeView2.Nodes.Add(name);
|
||||
@@ -141,7 +141,7 @@ namespace PckStudio.Forms.Editor
|
||||
|
||||
var category = audioFile.GetCategory(GetCategoryId(add.SelectedItem));
|
||||
|
||||
if (GetCategoryId(add.SelectedItem) == PCKAudioFile.AudioCategory.EAudioType.Creative)
|
||||
if (GetCategoryId(add.SelectedItem) == PckAudioFile.AudioCategory.EAudioType.Creative)
|
||||
{
|
||||
playOverworldInCreative.Visible = true;
|
||||
playOverworldInCreative.Checked = false;
|
||||
@@ -161,7 +161,7 @@ namespace PckStudio.Forms.Editor
|
||||
|
||||
private void addEntryMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (treeView1.SelectedNode is TreeNode t && t.Tag is PCKAudioFile.AudioCategory)
|
||||
if (treeView1.SelectedNode is TreeNode t && t.Tag is PckAudioFile.AudioCategory)
|
||||
{
|
||||
if (!parent.CreateDataFolder()) return;
|
||||
|
||||
@@ -182,7 +182,7 @@ namespace PckStudio.Forms.Editor
|
||||
if (treeView1.SelectedNode is TreeNode main &&
|
||||
audioFile.RemoveCategory(GetCategoryId(treeView1.SelectedNode.Text)))
|
||||
{
|
||||
if(GetCategoryId(treeView1.SelectedNode.Text) == PCKAudioFile.AudioCategory.EAudioType.Creative)
|
||||
if(GetCategoryId(treeView1.SelectedNode.Text) == PckAudioFile.AudioCategory.EAudioType.Creative)
|
||||
{
|
||||
playOverworldInCreative.Visible = false;
|
||||
playOverworldInCreative.Checked = false;
|
||||
@@ -206,7 +206,7 @@ namespace PckStudio.Forms.Editor
|
||||
|
||||
private void removeEntryMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (treeView2.SelectedNode != null && treeView1.SelectedNode.Tag is PCKAudioFile.AudioCategory category)
|
||||
if (treeView2.SelectedNode != null && treeView1.SelectedNode.Tag is PckAudioFile.AudioCategory category)
|
||||
{
|
||||
category.SongNames.Remove(treeView2.SelectedNode.Text);
|
||||
treeView2.SelectedNode.Remove();
|
||||
@@ -261,7 +261,7 @@ namespace PckStudio.Forms.Editor
|
||||
}
|
||||
else if (user_prompt == DialogResult.No)
|
||||
{
|
||||
if (treeView1.SelectedNode is TreeNode node && node.Tag is PCKAudioFile.AudioCategory cat)
|
||||
if (treeView1.SelectedNode is TreeNode node && node.Tag is PckAudioFile.AudioCategory cat)
|
||||
{
|
||||
//adds song without affecting the binka file
|
||||
cat.SongNames.Add(songName);
|
||||
@@ -318,7 +318,7 @@ namespace PckStudio.Forms.Editor
|
||||
}
|
||||
|
||||
// this is repeated again becuase this is meant to prevent any files that fail to convert from being added to the category
|
||||
if (treeView1.SelectedNode is TreeNode t && t.Tag is PCKAudioFile.AudioCategory category)
|
||||
if (treeView1.SelectedNode is TreeNode t && t.Tag is PckAudioFile.AudioCategory category)
|
||||
{
|
||||
category.SongNames.Add(songName);
|
||||
treeView2.Nodes.Add(songName);
|
||||
@@ -345,15 +345,15 @@ namespace PckStudio.Forms.Editor
|
||||
|
||||
private void saveToolStripMenuItem1_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (!audioFile.HasCategory(PCKAudioFile.AudioCategory.EAudioType.Overworld) ||
|
||||
!audioFile.HasCategory(PCKAudioFile.AudioCategory.EAudioType.Nether) ||
|
||||
!audioFile.HasCategory(PCKAudioFile.AudioCategory.EAudioType.End))
|
||||
if (!audioFile.HasCategory(PckAudioFile.AudioCategory.EAudioType.Overworld) ||
|
||||
!audioFile.HasCategory(PckAudioFile.AudioCategory.EAudioType.Nether) ||
|
||||
!audioFile.HasCategory(PckAudioFile.AudioCategory.EAudioType.End))
|
||||
{
|
||||
MessageBox.Show("Your changes were not saved. The game will crash when loading your pack if the Overworld, Nether and End categories don't all exist with at least one valid song.", "Mandatory Categories Missing");
|
||||
return;
|
||||
}
|
||||
|
||||
PCKAudioFile.AudioCategory overworldCategory = audioFile.GetCategory(PCKAudioFile.AudioCategory.EAudioType.Overworld);
|
||||
PckAudioFile.AudioCategory overworldCategory = audioFile.GetCategory(PckAudioFile.AudioCategory.EAudioType.Overworld);
|
||||
|
||||
bool songs_missing = false;
|
||||
foreach (var category in audioFile.Categories)
|
||||
@@ -375,7 +375,7 @@ namespace PckStudio.Forms.Editor
|
||||
}
|
||||
|
||||
category.Name = "";
|
||||
if (playOverworldInCreative.Checked && category.audioType == PCKAudioFile.AudioCategory.EAudioType.Creative)
|
||||
if (playOverworldInCreative.Checked && category.audioType == PckAudioFile.AudioCategory.EAudioType.Creative)
|
||||
{
|
||||
foreach (var name in overworldCategory.SongNames)
|
||||
{
|
||||
@@ -397,7 +397,7 @@ namespace PckStudio.Forms.Editor
|
||||
|
||||
using (var stream = new MemoryStream())
|
||||
{
|
||||
var writer = new PCKAudioFileWriter(audioFile, _isLittleEndian ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian);
|
||||
var writer = new PckAudioFileWriter(audioFile, _isLittleEndian ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian);
|
||||
writer.WriteToStream(stream);
|
||||
audioPCK.SetData(stream.ToArray());
|
||||
}
|
||||
@@ -562,7 +562,7 @@ namespace PckStudio.Forms.Editor
|
||||
|
||||
private void convertToWAVToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (treeView2.SelectedNode != null && treeView1.SelectedNode.Tag is PCKAudioFile.AudioCategory)
|
||||
if (treeView2.SelectedNode != null && treeView1.SelectedNode.Tag is PckAudioFile.AudioCategory)
|
||||
{
|
||||
Binka.ToWav(Path.Combine(parent.GetDataPath(), treeView2.SelectedNode.Text + ".binka"), Path.Combine(parent.GetDataPath()));
|
||||
}
|
||||
@@ -570,7 +570,7 @@ namespace PckStudio.Forms.Editor
|
||||
|
||||
private void setCategoryToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (!(treeView1.SelectedNode is TreeNode t && t.Tag is PCKAudioFile.AudioCategory category)) return;
|
||||
if (!(treeView1.SelectedNode is TreeNode t && t.Tag is PckAudioFile.AudioCategory category)) return;
|
||||
|
||||
string[] available = Categories.FindAll(str => !audioFile.HasCategory(GetCategoryId(str))).ToArray();
|
||||
if (available.Length > 0)
|
||||
@@ -581,7 +581,7 @@ namespace PckStudio.Forms.Editor
|
||||
|
||||
audioFile.RemoveCategory(category.audioType);
|
||||
|
||||
audioFile.AddCategory(category.parameterType, GetCategoryId(add.SelectedItem), category.audioType == PCKAudioFile.AudioCategory.EAudioType.Overworld && playOverworldInCreative.Checked ? "include_overworld" : "");
|
||||
audioFile.AddCategory(category.parameterType, GetCategoryId(add.SelectedItem), category.audioType == PckAudioFile.AudioCategory.EAudioType.Overworld && playOverworldInCreative.Checked ? "include_overworld" : "");
|
||||
|
||||
var newCategory = audioFile.GetCategory(GetCategoryId(add.SelectedItem));
|
||||
|
||||
|
||||
@@ -835,15 +835,15 @@ namespace PckStudio
|
||||
private PckFile.FileData CreateNewAudioFile(bool isLittle)
|
||||
{
|
||||
// create actual valid pck file structure
|
||||
PCKAudioFile audioPck = new PCKAudioFile();
|
||||
audioPck.AddCategory(PCKAudioFile.AudioCategory.EAudioType.Overworld);
|
||||
audioPck.AddCategory(PCKAudioFile.AudioCategory.EAudioType.Nether);
|
||||
audioPck.AddCategory(PCKAudioFile.AudioCategory.EAudioType.End);
|
||||
PckAudioFile audioPck = new PckAudioFile();
|
||||
audioPck.AddCategory(PckAudioFile.AudioCategory.EAudioType.Overworld);
|
||||
audioPck.AddCategory(PckAudioFile.AudioCategory.EAudioType.Nether);
|
||||
audioPck.AddCategory(PckAudioFile.AudioCategory.EAudioType.End);
|
||||
PckFile.FileData pckFileData = currentPCK.CreateNewFile("audio.pck", PckFile.FileData.FileType.AudioFile, () =>
|
||||
{
|
||||
using (var stream = new MemoryStream())
|
||||
{
|
||||
var writer = new PCKAudioFileWriter(audioPck, isLittle ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian);
|
||||
var writer = new PckAudioFileWriter(audioPck, isLittle ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian);
|
||||
writer.WriteToStream(stream);
|
||||
return stream.ToArray();
|
||||
}
|
||||
|
||||
@@ -174,14 +174,14 @@
|
||||
<Compile Include="Classes\Extensions\EnumerableExtensions.cs" />
|
||||
<Compile Include="Classes\Extensions\GraphicsExtensions.cs" />
|
||||
<Compile Include="Classes\FileTypes\CSMBFile.cs" />
|
||||
<Compile Include="Classes\FileTypes\PCKAudioFile.cs" />
|
||||
<Compile Include="Classes\FileTypes\PckAudioFile.cs" />
|
||||
<Compile Include="Classes\FileTypes\Binka.cs" />
|
||||
<Compile Include="Classes\IO\3DST\3DSTextureReader.cs" />
|
||||
<Compile Include="Classes\IO\3DST\3DSTextureWriter.cs" />
|
||||
<Compile Include="Classes\IO\CSMB\CSMBFileReader.cs" />
|
||||
<Compile Include="Classes\IO\CSMB\CSMBFileWriter.cs" />
|
||||
<Compile Include="Classes\IO\PCK\PCKAudioFileReader.cs" />
|
||||
<Compile Include="Classes\IO\PCK\PCKAudioFileWriter.cs" />
|
||||
<Compile Include="Classes\IO\PckAudio\PckAudioFileReader.cs" />
|
||||
<Compile Include="Classes\IO\PckAudio\PckAudioFileWriter.cs" />
|
||||
<Compile Include="Classes\IO\Sounds\SoundIO.cs" />
|
||||
<Compile Include="Classes\IO\Sounds\Sounds.cs" />
|
||||
<Compile Include="Classes\Misc\FTPClient.cs" />
|
||||
|
||||
Reference in New Issue
Block a user