diff --git a/3DS/3DS.csproj b/3DS/3DS.csproj index 298efd3..09b64a5 100644 --- a/3DS/3DS.csproj +++ b/3DS/3DS.csproj @@ -181,6 +181,12 @@ ThemeViewer.cs + + Form + + + ThemeViewerNew.cs + UserControl @@ -242,6 +248,9 @@ ThemeViewer.cs + + ThemeViewerNew.cs + TXOBViewer.cs diff --git a/3DS/NintendoWare/LYT1/CLIM.cs b/3DS/NintendoWare/LYT1/CLIM.cs index 0b51a52..6c58854 100644 --- a/3DS/NintendoWare/LYT1/CLIM.cs +++ b/3DS/NintendoWare/LYT1/CLIM.cs @@ -27,8 +27,9 @@ namespace _3DS.NintendoWare.LYT1 { Header = new CLIMHeader(er); Image = new imag(er); + DataLength = er.ReadUInt32(); er.BaseStream.Position = 0; - this.Data = er.ReadBytes((int)Image.DataLength); + this.Data = er.ReadBytes((int)DataLength); } finally { @@ -53,6 +54,7 @@ namespace _3DS.NintendoWare.LYT1 er.Write(Data, 0, Data.Length); Header.Write(er); Image.Write(er); + er.Write(DataLength); long curpos = er.BaseStream.Position; er.BaseStream.Position = Data.Length + 0xC; er.Write((uint)curpos); @@ -91,7 +93,7 @@ namespace _3DS.NintendoWare.LYT1 Image.Height = (ushort)b.Height; Image.Format = 11;//10;//5; Data = Textures.FromBitmap(b, Textures.ImageFormat.ETC1A4);//.RGB565); - Image.DataLength = (uint)Data.Length; + DataLength = (uint)Data.Length; return true; } return false; @@ -153,7 +155,6 @@ namespace _3DS.NintendoWare.LYT1 Width = er.ReadUInt16(); Height = er.ReadUInt16(); Format = er.ReadUInt32(); - DataLength = er.ReadUInt32(); } public void Write(EndianBinaryWriter er) { @@ -162,14 +163,12 @@ namespace _3DS.NintendoWare.LYT1 er.Write(Width); er.Write(Height); er.Write(Format); - er.Write(DataLength); } public String Signature; - public UInt32 SectionSize;//Without signature + public UInt32 SectionSize; public UInt16 Width; public UInt16 Height; public UInt32 Format; - public UInt32 DataLength; public Textures.ImageFormat GetGPUTextureFormat() { @@ -194,6 +193,7 @@ namespace _3DS.NintendoWare.LYT1 throw new Exception("Unknown Image Format!"); } } + public UInt32 DataLength; public Bitmap ToBitmap() { diff --git a/3DS/Properties/AssemblyInfo.cs b/3DS/Properties/AssemblyInfo.cs index 3e57568..9898e86 100644 --- a/3DS/Properties/AssemblyInfo.cs +++ b/3DS/Properties/AssemblyInfo.cs @@ -10,7 +10,7 @@ using System.Runtime.InteropServices; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Every File Explorer")] -[assembly: AssemblyCopyright("Copyright © Florian Nouwt 2014")] +[assembly: AssemblyCopyright("Copyright © Florian Nouwt 2014-2015")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] diff --git a/3DS/SARC.cs b/3DS/SARC.cs index 4a5fb98..f36102c 100644 --- a/3DS/SARC.cs +++ b/3DS/SARC.cs @@ -86,7 +86,7 @@ namespace _3DS [BinaryFixedSize(4)] public String Signature; public UInt16 HeaderSize; - [BinaryBOM(0xFEFF)] + //[BinaryBOM(0xFEFF)] public UInt16 Endianness; public UInt32 FileSize; public UInt32 FileDataOffset; diff --git a/3DS/UI/ThemeViewerNew.Designer.cs b/3DS/UI/ThemeViewerNew.Designer.cs new file mode 100644 index 0000000..55d066a --- /dev/null +++ b/3DS/UI/ThemeViewerNew.Designer.cs @@ -0,0 +1,217 @@ +namespace _3DS.UI +{ + partial class ThemeViewerNew + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.tabControl1 = new System.Windows.Forms.TabControl(); + this.tabPage2 = new System.Windows.Forms.TabPage(); + this.tabPage3 = new System.Windows.Forms.TabPage(); + this.tabPage4 = new System.Windows.Forms.TabPage(); + this.tabPage5 = new System.Windows.Forms.TabPage(); + this.tabPage8 = new System.Windows.Forms.TabPage(); + this.tabPage9 = new System.Windows.Forms.TabPage(); + this.tabPage10 = new System.Windows.Forms.TabPage(); + this.tabPage6 = new System.Windows.Forms.TabPage(); + this.tabPage7 = new System.Windows.Forms.TabPage(); + this.tabPage11 = new System.Windows.Forms.TabPage(); + this.tabPage12 = new System.Windows.Forms.TabPage(); + this.tabPage1 = new System.Windows.Forms.TabPage(); + this.tabControl1.SuspendLayout(); + this.SuspendLayout(); + // + // tabControl1 + // + this.tabControl1.Controls.Add(this.tabPage1); + this.tabControl1.Controls.Add(this.tabPage2); + this.tabControl1.Controls.Add(this.tabPage3); + this.tabControl1.Controls.Add(this.tabPage4); + this.tabControl1.Controls.Add(this.tabPage5); + this.tabControl1.Controls.Add(this.tabPage6); + this.tabControl1.Controls.Add(this.tabPage8); + this.tabControl1.Controls.Add(this.tabPage9); + this.tabControl1.Controls.Add(this.tabPage10); + this.tabControl1.Controls.Add(this.tabPage7); + this.tabControl1.Controls.Add(this.tabPage11); + this.tabControl1.Controls.Add(this.tabPage12); + this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.tabControl1.Location = new System.Drawing.Point(0, 0); + this.tabControl1.Name = "tabControl1"; + this.tabControl1.SelectedIndex = 0; + this.tabControl1.Size = new System.Drawing.Size(727, 351); + this.tabControl1.TabIndex = 0; + // + // tabPage2 + // + this.tabPage2.Location = new System.Drawing.Point(4, 22); + this.tabPage2.Name = "tabPage2"; + this.tabPage2.Padding = new System.Windows.Forms.Padding(3); + this.tabPage2.Size = new System.Drawing.Size(719, 325); + this.tabPage2.TabIndex = 1; + this.tabPage2.Text = "Bottom BG"; + this.tabPage2.UseVisualStyleBackColor = true; + // + // tabPage3 + // + this.tabPage3.Location = new System.Drawing.Point(4, 22); + this.tabPage3.Name = "tabPage3"; + this.tabPage3.Padding = new System.Windows.Forms.Padding(3); + this.tabPage3.Size = new System.Drawing.Size(719, 325); + this.tabPage3.TabIndex = 2; + this.tabPage3.Text = "Selector"; + this.tabPage3.UseVisualStyleBackColor = true; + // + // tabPage4 + // + this.tabPage4.Location = new System.Drawing.Point(4, 22); + this.tabPage4.Name = "tabPage4"; + this.tabPage4.Padding = new System.Windows.Forms.Padding(3); + this.tabPage4.Size = new System.Drawing.Size(719, 325); + this.tabPage4.TabIndex = 3; + this.tabPage4.Text = "Folder"; + this.tabPage4.UseVisualStyleBackColor = true; + // + // tabPage5 + // + this.tabPage5.Location = new System.Drawing.Point(4, 22); + this.tabPage5.Name = "tabPage5"; + this.tabPage5.Padding = new System.Windows.Forms.Padding(3); + this.tabPage5.Size = new System.Drawing.Size(719, 325); + this.tabPage5.TabIndex = 4; + this.tabPage5.Text = "Icon"; + this.tabPage5.UseVisualStyleBackColor = true; + // + // tabPage8 + // + this.tabPage8.Location = new System.Drawing.Point(4, 22); + this.tabPage8.Name = "tabPage8"; + this.tabPage8.Padding = new System.Windows.Forms.Padding(3); + this.tabPage8.Size = new System.Drawing.Size(719, 325); + this.tabPage8.TabIndex = 7; + this.tabPage8.Text = "Title Balloon"; + this.tabPage8.UseVisualStyleBackColor = true; + // + // tabPage9 + // + this.tabPage9.Location = new System.Drawing.Point(4, 22); + this.tabPage9.Name = "tabPage9"; + this.tabPage9.Padding = new System.Windows.Forms.Padding(3); + this.tabPage9.Size = new System.Drawing.Size(719, 325); + this.tabPage9.TabIndex = 8; + this.tabPage9.Text = "Icon Plate"; + this.tabPage9.UseVisualStyleBackColor = true; + // + // tabPage10 + // + this.tabPage10.Location = new System.Drawing.Point(4, 22); + this.tabPage10.Name = "tabPage10"; + this.tabPage10.Padding = new System.Windows.Forms.Padding(3); + this.tabPage10.Size = new System.Drawing.Size(719, 325); + this.tabPage10.TabIndex = 9; + this.tabPage10.Text = "Folder Plate"; + this.tabPage10.UseVisualStyleBackColor = true; + // + // tabPage6 + // + this.tabPage6.Location = new System.Drawing.Point(4, 22); + this.tabPage6.Name = "tabPage6"; + this.tabPage6.Padding = new System.Windows.Forms.Padding(3); + this.tabPage6.Size = new System.Drawing.Size(719, 325); + this.tabPage6.TabIndex = 10; + this.tabPage6.Text = "Buttons"; + this.tabPage6.UseVisualStyleBackColor = true; + // + // tabPage7 + // + this.tabPage7.Location = new System.Drawing.Point(4, 22); + this.tabPage7.Name = "tabPage7"; + this.tabPage7.Padding = new System.Windows.Forms.Padding(3); + this.tabPage7.Size = new System.Drawing.Size(719, 325); + this.tabPage7.TabIndex = 11; + this.tabPage7.Text = "Top Screen Text"; + this.tabPage7.UseVisualStyleBackColor = true; + // + // tabPage11 + // + this.tabPage11.Location = new System.Drawing.Point(4, 22); + this.tabPage11.Name = "tabPage11"; + this.tabPage11.Padding = new System.Windows.Forms.Padding(3); + this.tabPage11.Size = new System.Drawing.Size(719, 325); + this.tabPage11.TabIndex = 12; + this.tabPage11.Text = "Sound Effects"; + this.tabPage11.UseVisualStyleBackColor = true; + // + // tabPage12 + // + this.tabPage12.Location = new System.Drawing.Point(4, 22); + this.tabPage12.Name = "tabPage12"; + this.tabPage12.Padding = new System.Windows.Forms.Padding(3); + this.tabPage12.Size = new System.Drawing.Size(719, 325); + this.tabPage12.TabIndex = 13; + this.tabPage12.Text = "Settings"; + this.tabPage12.UseVisualStyleBackColor = true; + // + // tabPage1 + // + this.tabPage1.Location = new System.Drawing.Point(4, 22); + this.tabPage1.Name = "tabPage1"; + this.tabPage1.Padding = new System.Windows.Forms.Padding(3); + this.tabPage1.Size = new System.Drawing.Size(719, 325); + this.tabPage1.TabIndex = 0; + this.tabPage1.Text = "Top BG"; + this.tabPage1.UseVisualStyleBackColor = true; + // + // ThemeViewerNew + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(727, 351); + this.Controls.Add(this.tabControl1); + this.Name = "ThemeViewerNew"; + this.Text = "ThemeViewerNew"; + this.tabControl1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.TabControl tabControl1; + private System.Windows.Forms.TabPage tabPage2; + private System.Windows.Forms.TabPage tabPage3; + private System.Windows.Forms.TabPage tabPage4; + private System.Windows.Forms.TabPage tabPage5; + private System.Windows.Forms.TabPage tabPage8; + private System.Windows.Forms.TabPage tabPage9; + private System.Windows.Forms.TabPage tabPage10; + private System.Windows.Forms.TabPage tabPage6; + private System.Windows.Forms.TabPage tabPage7; + private System.Windows.Forms.TabPage tabPage11; + private System.Windows.Forms.TabPage tabPage12; + private System.Windows.Forms.TabPage tabPage1; + } +} \ No newline at end of file diff --git a/3DS/UI/ThemeViewerNew.cs b/3DS/UI/ThemeViewerNew.cs new file mode 100644 index 0000000..f0532a2 --- /dev/null +++ b/3DS/UI/ThemeViewerNew.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace _3DS.UI +{ + public partial class ThemeViewerNew : Form + { + public ThemeViewerNew() + { + InitializeComponent(); + } + } +} diff --git a/3DS/UI/ThemeViewerNew.resx b/3DS/UI/ThemeViewerNew.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/3DS/UI/ThemeViewerNew.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/CommonCompressors/Properties/AssemblyInfo.cs b/CommonCompressors/Properties/AssemblyInfo.cs index 6ce97b5..5615d78 100644 --- a/CommonCompressors/Properties/AssemblyInfo.cs +++ b/CommonCompressors/Properties/AssemblyInfo.cs @@ -10,7 +10,7 @@ using System.Runtime.InteropServices; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Every File Explorer")] -[assembly: AssemblyCopyright("Copyright © Florian Nouwt 2014")] +[assembly: AssemblyCopyright("Copyright © Florian Nouwt 2014-2015")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] diff --git a/CommonFiles/Properties/AssemblyInfo.cs b/CommonFiles/Properties/AssemblyInfo.cs index 7df0dfc..453061a 100644 --- a/CommonFiles/Properties/AssemblyInfo.cs +++ b/CommonFiles/Properties/AssemblyInfo.cs @@ -10,7 +10,7 @@ using System.Runtime.InteropServices; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Every File Explorer")] -[assembly: AssemblyCopyright("Copyright © Florian Nouwt 2014")] +[assembly: AssemblyCopyright("Copyright © Florian Nouwt 2014-2015")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] diff --git a/EveryFileExplorer.sln b/EveryFileExplorer.sln index fb21a37..445d79b 100644 --- a/EveryFileExplorer.sln +++ b/EveryFileExplorer.sln @@ -25,6 +25,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LegoPirates", "LegoPirates\ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GCNWii", "GCNWii\GCNWii.csproj", "{E71F0C2A-4D4D-4C6D-9CA2-C6DD2F91C649}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WiiU", "WiiU\WiiU.csproj", "{85AFDAA0-C794-46F2-8FB9-DE80206B7DC6}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -125,6 +127,16 @@ Global {E71F0C2A-4D4D-4C6D-9CA2-C6DD2F91C649}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {E71F0C2A-4D4D-4C6D-9CA2-C6DD2F91C649}.Release|Mixed Platforms.Build.0 = Release|Any CPU {E71F0C2A-4D4D-4C6D-9CA2-C6DD2F91C649}.Release|x86.ActiveCfg = Release|Any CPU + {85AFDAA0-C794-46F2-8FB9-DE80206B7DC6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {85AFDAA0-C794-46F2-8FB9-DE80206B7DC6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {85AFDAA0-C794-46F2-8FB9-DE80206B7DC6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {85AFDAA0-C794-46F2-8FB9-DE80206B7DC6}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {85AFDAA0-C794-46F2-8FB9-DE80206B7DC6}.Debug|x86.ActiveCfg = Debug|Any CPU + {85AFDAA0-C794-46F2-8FB9-DE80206B7DC6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {85AFDAA0-C794-46F2-8FB9-DE80206B7DC6}.Release|Any CPU.Build.0 = Release|Any CPU + {85AFDAA0-C794-46F2-8FB9-DE80206B7DC6}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {85AFDAA0-C794-46F2-8FB9-DE80206B7DC6}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {85AFDAA0-C794-46F2-8FB9-DE80206B7DC6}.Release|x86.ActiveCfg = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/EveryFileExplorer/Properties/AssemblyInfo.cs b/EveryFileExplorer/Properties/AssemblyInfo.cs index 85e4156..7efd425 100644 --- a/EveryFileExplorer/Properties/AssemblyInfo.cs +++ b/EveryFileExplorer/Properties/AssemblyInfo.cs @@ -10,7 +10,7 @@ using System.Runtime.InteropServices; [assembly: AssemblyConfiguration("Devbuild")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Every File Explorer")] -[assembly: AssemblyCopyright("Copyright © Florian Nouwt 2014")] +[assembly: AssemblyCopyright("Copyright © Florian Nouwt 2014-2015")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] diff --git a/GCNWii/Properties/AssemblyInfo.cs b/GCNWii/Properties/AssemblyInfo.cs index 4497f02..c503c1b 100644 --- a/GCNWii/Properties/AssemblyInfo.cs +++ b/GCNWii/Properties/AssemblyInfo.cs @@ -10,7 +10,7 @@ using System.Runtime.InteropServices; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Every File Explorer")] -[assembly: AssemblyCopyright("Copyright © Florian Nouwt 2014")] +[assembly: AssemblyCopyright("Copyright © Florian Nouwt 2014-2015")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] diff --git a/LegoPirates/Properties/AssemblyInfo.cs b/LegoPirates/Properties/AssemblyInfo.cs index 4b59e9f..e90c369 100644 --- a/LegoPirates/Properties/AssemblyInfo.cs +++ b/LegoPirates/Properties/AssemblyInfo.cs @@ -10,7 +10,7 @@ using System.Runtime.InteropServices; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Every File Explorer")] -[assembly: AssemblyCopyright("Copyright © Florian Nouwt 2014")] +[assembly: AssemblyCopyright("Copyright © Florian Nouwt 2014-2015")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] diff --git a/LibEveryFileExplorer/IO/EndianBinaryReaderEx.cs b/LibEveryFileExplorer/IO/EndianBinaryReaderEx.cs index fda2b38..0a1d710 100644 --- a/LibEveryFileExplorer/IO/EndianBinaryReaderEx.cs +++ b/LibEveryFileExplorer/IO/EndianBinaryReaderEx.cs @@ -48,6 +48,7 @@ namespace LibEveryFileExplorer.IO if (f.MemberType == MemberTypes.Property) FieldType = ((PropertyInfo)f).PropertyType; else FieldType = ((FieldInfo)f).FieldType; if (GetAttributeValue(f, typeof(BinaryIgnoreAttribute), false)) continue; + if (f.GetCustomAttributes(typeof(BinaryBOMAttribute), true).Length != 0) Endianness = IO.Endianness.BigEndian; object Result; if (FieldType.IsArray) { @@ -57,21 +58,34 @@ namespace LibEveryFileExplorer.IO { switch (FieldType.GetElementType().Name) { - /*case "Boolean": + case "Boolean": { - SizeType Size = SizeType.Byte; - object[] att = t.GetCustomAttributes(typeof(BinarySizeAttribute), true); - if (att.Length > 0) Size = ((BinarySizeAttribute)att[0]).FieldSize; - switch (Size) + BooleanSize b = GetAttributeValue(f, typeof(BinaryBooleanSizeAttribute), BooleanSize.U32); + Result = new Boolean[ArraySize]; + switch (b) { - case SizeType.Byte: o = er.ReadByte() != 0; break; - case SizeType.Short: o = er.ReadUInt16() != 0; break; - case SizeType.Tri: o = er.ReadUInt24() != 0; break; - case SizeType.Int: o = er.ReadUInt32() != 0; break; - case SizeType.Long: o = er.ReadUInt64() != 0; break; + case BooleanSize.U8: + for (int i = 0; i < ArraySize; i++) + { + ((Boolean[])Result)[i] = ReadByte() == 1; + } + break; + case BooleanSize.U16: + for (int i = 0; i < ArraySize; i++) + { + ((Boolean[])Result)[i] = ReadUInt16() == 1; + } + break; + case BooleanSize.U32: + for (int i = 0; i < ArraySize; i++) + { + ((Boolean[])Result)[i] = ReadUInt32() == 1; + } + break; + default: throw new Exception("Invalid BooleanSize Value!"); } break; - }*/ + } case "Byte": Result = ReadBytes(ArraySize); break; case "SByte": Result = ReadSBytes(ArraySize); break; case "Int16": Result = ReadInt16s(ArraySize); break; @@ -233,6 +247,12 @@ namespace LibEveryFileExplorer.IO if (!ssig.Equals(Result)) throw new SignatureNotCorrectException((string)Result, ssig, BaseStream.Position - ssig.Length); } } + if (f.GetCustomAttributes(typeof(BinaryBOMAttribute), true).Length != 0) + { + uint LittleEndian = GetAttributeValue(f, typeof(BinaryBOMAttribute), 0); + if (Convert.ToUInt32(Result).Equals(LittleEndian)) Endianness = IO.Endianness.LittleEndian; + else Endianness = IO.Endianness.BigEndian; + } } } diff --git a/LibEveryFileExplorer/Properties/AssemblyInfo.cs b/LibEveryFileExplorer/Properties/AssemblyInfo.cs index 3a92d0a..8d0be01 100644 --- a/LibEveryFileExplorer/Properties/AssemblyInfo.cs +++ b/LibEveryFileExplorer/Properties/AssemblyInfo.cs @@ -10,7 +10,7 @@ using System.Runtime.InteropServices; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Every File Explorer")] -[assembly: AssemblyCopyright("Copyright © Florian Nouwt 2014")] +[assembly: AssemblyCopyright("Copyright © Florian Nouwt 2014-2015")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] diff --git a/MarioKart/Properties/AssemblyInfo.cs b/MarioKart/Properties/AssemblyInfo.cs index 7e746ad..a569a03 100644 --- a/MarioKart/Properties/AssemblyInfo.cs +++ b/MarioKart/Properties/AssemblyInfo.cs @@ -10,7 +10,7 @@ using System.Runtime.InteropServices; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Every File Explorer")] -[assembly: AssemblyCopyright("Copyright © Florian Nouwt 2014")] +[assembly: AssemblyCopyright("Copyright © Florian Nouwt 2014-2015")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] diff --git a/NDS/Properties/AssemblyInfo.cs b/NDS/Properties/AssemblyInfo.cs index 37582a6..324d9ba 100644 --- a/NDS/Properties/AssemblyInfo.cs +++ b/NDS/Properties/AssemblyInfo.cs @@ -10,7 +10,7 @@ using System.Runtime.InteropServices; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Every File Explorer")] -[assembly: AssemblyCopyright("Copyright © Florian Nouwt 2014")] +[assembly: AssemblyCopyright("Copyright © Florian Nouwt 2014-2015")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] diff --git a/WiiU/NintendoWare/LYT2/FLIM.cs b/WiiU/NintendoWare/LYT2/FLIM.cs new file mode 100644 index 0000000..19a5cfa --- /dev/null +++ b/WiiU/NintendoWare/LYT2/FLIM.cs @@ -0,0 +1,179 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using LibEveryFileExplorer.Files; +using System.Drawing; +using System.IO; +using LibEveryFileExplorer.IO; +using System.Windows.Forms; +using WiiU.UI; +using System.Drawing.Imaging; +using LibEveryFileExplorer.IO.Serialization; + +namespace WiiU.NintendoWare.LYT2 +{ + public class FLIM : FileFormat, IConvertable, IViewable + { + public FLIM(byte[] Data) + { + EndianBinaryReaderEx er = new EndianBinaryReaderEx(new MemoryStream(Data), Endianness.LittleEndian); + er.BaseStream.Position = Data.Length - 0x28; + try + { + Header = new FLIMHeader(er); + Image = new imag(er); + DataLength = er.ReadUInt32(); + er.BaseStream.Position = 0; + this.Data = er.ReadBytes((int)DataLength); + } + finally + { + er.Close(); + } + } + + public Form GetDialog() + { + return new FLIMViewer(this); + } + + //public string GetSaveDefaultFileFilter() + //{ + // return "Cafe Layout Images (*.bflim)|*.bflim"; + //} + + public string GetConversionFileFilters() + { + return "Portable Network Graphics (*.png)|*.png"; + } + + public bool Convert(int FilterIndex, string Path) + { + switch (FilterIndex) + { + case 0: + File.Create(Path).Close(); + ToBitmap().Save(Path, ImageFormat.Png); + return true; + } + return false; + } + + public byte[] Data; + + public FLIMHeader Header; + public class FLIMHeader + { + public FLIMHeader(EndianBinaryReaderEx er) + { + er.ReadObject(this); + } + /*public void Write(EndianBinaryWriter er) + { + er.Write(Signature, Encoding.ASCII, false); + er.Write(Endianness); + er.Write(HeaderSize); + er.Write(Version); + er.Write((uint)0); + er.Write(NrBlocks); + }*/ + [BinaryStringSignature("FLIM")] + [BinaryFixedSize(4)] + public String Signature; + [BinaryBOM(0xFFFE)] + public UInt16 Endianness; + public UInt16 HeaderSize; + public UInt32 Version; + public UInt32 FileSize; + public UInt32 NrBlocks; + } + + public imag Image; + public class imag + { + public imag(EndianBinaryReaderEx er) + { + er.ReadObject(this); + } + /*public void Write(EndianBinaryWriter er) + { + er.Write(Signature, Encoding.ASCII, false); + er.Write(SectionSize); + er.Write(Width); + er.Write(Height); + er.Write(Format); + er.Write(DataLength); + }*/ + [BinaryStringSignature("imag")] + [BinaryFixedSize(4)] + public String Signature; + public UInt32 SectionSize; + public UInt16 Width; + public UInt16 Height; + public UInt16 Alignment; + public Byte Format; + public Byte Unknown; + + //Tempoarly use 3ds stuff! + public _3DS.GPU.Textures.ImageFormat GetGPUTextureFormat() + { + switch (Format) + { + case 0: return _3DS.GPU.Textures.ImageFormat.L8; + case 1: return _3DS.GPU.Textures.ImageFormat.A8; + case 2: return _3DS.GPU.Textures.ImageFormat.LA4; + case 3: return _3DS.GPU.Textures.ImageFormat.LA8; + case 4: return _3DS.GPU.Textures.ImageFormat.HILO8; + case 5: return _3DS.GPU.Textures.ImageFormat.RGB565; + case 6: return _3DS.GPU.Textures.ImageFormat.RGB8; + case 7: return _3DS.GPU.Textures.ImageFormat.RGBA5551; + case 8: return _3DS.GPU.Textures.ImageFormat.RGBA4; + case 9: return _3DS.GPU.Textures.ImageFormat.RGBA8; + case 10: return _3DS.GPU.Textures.ImageFormat.ETC1; + case 11: return _3DS.GPU.Textures.ImageFormat.ETC1A4; + case 0x12: return _3DS.GPU.Textures.ImageFormat.L4; + case 0x13: return _3DS.GPU.Textures.ImageFormat.A4; + } + throw new Exception("Unknown Image Format!"); + } + } + public UInt32 DataLength; + + //Tempoarly use 3ds stuff! + public Bitmap ToBitmap() + { + if (Image.Unknown == 0) return _3DS.GPU.Textures.ToBitmap(Data, Image.Width, Image.Height, Image.GetGPUTextureFormat()); + return _3DS.GPU.Textures.ToBitmap(Data, Image.Height, Image.Width, Image.GetGPUTextureFormat()); + } + + public class FLIMIdentifier : FileFormatIdentifier + { + public override string GetCategory() + { + return Category_Graphics; + } + + public override string GetFileDescription() + { + return "Cafe Layout Images (FLIM)"; + } + + public override string GetFileFilter() + { + return "Cafe Layout Images (*.bflim)|*.bflim"; + } + + public override Bitmap GetIcon() + { + return Resource.image; + } + + public override FormatMatch IsFormat(EFEFile File) + { + if (File.Data.Length > 0x28 && File.Data[File.Data.Length - 0x28] == 'F' && File.Data[File.Data.Length - 0x27] == 'L' && File.Data[File.Data.Length - 0x26] == 'I' && File.Data[File.Data.Length - 0x25] == 'M' && (IOUtil.ReadU32LE(File.Data, File.Data.Length - 0x4) == (File.Data.Length - 0x28) || IOUtil.ReadU32BE(File.Data, File.Data.Length - 0x4) == (File.Data.Length - 0x28))) return FormatMatch.Content; + return FormatMatch.No; + } + } + } +} diff --git a/WiiU/Properties/AssemblyInfo.cs b/WiiU/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..c285658 --- /dev/null +++ b/WiiU/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Wii U Plugin")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Every File Explorer")] +[assembly: AssemblyCopyright("Copyright © Florian Nouwt 2014-2015")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("5be0e6c0-4011-448c-9c62-4e91d82a4508")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/WiiU/Resource.Designer.cs b/WiiU/Resource.Designer.cs new file mode 100644 index 0000000..c444c0c --- /dev/null +++ b/WiiU/Resource.Designer.cs @@ -0,0 +1,73 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.18444 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WiiU { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resource { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resource() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("WiiU.Resource", typeof(Resource).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap image { + get { + object obj = ResourceManager.GetObject("image", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/WiiU/Resource.resx b/WiiU/Resource.resx new file mode 100644 index 0000000..ca61f24 --- /dev/null +++ b/WiiU/Resource.resx @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + Resources\image.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/WiiU/Resources/image.png b/WiiU/Resources/image.png new file mode 100644 index 0000000..0227d3e Binary files /dev/null and b/WiiU/Resources/image.png differ diff --git a/WiiU/UI/FLIMViewer.Designer.cs b/WiiU/UI/FLIMViewer.Designer.cs new file mode 100644 index 0000000..b015ed5 --- /dev/null +++ b/WiiU/UI/FLIMViewer.Designer.cs @@ -0,0 +1,66 @@ +namespace WiiU.UI +{ + partial class FLIMViewer + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FLIMViewer)); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.SuspendLayout(); + // + // pictureBox1 + // + this.pictureBox1.BackColor = System.Drawing.Color.White; + this.pictureBox1.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("pictureBox1.BackgroundImage"))); + this.pictureBox1.Dock = System.Windows.Forms.DockStyle.Fill; + this.pictureBox1.Location = new System.Drawing.Point(0, 0); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(565, 386); + this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.pictureBox1.TabIndex = 0; + this.pictureBox1.TabStop = false; + // + // FLIMViewer + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(565, 386); + this.Controls.Add(this.pictureBox1); + this.Name = "FLIMViewer"; + this.Text = "FLIMViewer"; + this.Load += new System.EventHandler(this.FLIMViewer_Load); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.PictureBox pictureBox1; + } +} \ No newline at end of file diff --git a/WiiU/UI/FLIMViewer.cs b/WiiU/UI/FLIMViewer.cs new file mode 100644 index 0000000..950cedd --- /dev/null +++ b/WiiU/UI/FLIMViewer.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using WiiU.NintendoWare.LYT2; + +namespace WiiU.UI +{ + public partial class FLIMViewer : Form + { + FLIM Image; + public FLIMViewer(FLIM Image) + { + this.Image = Image; + InitializeComponent(); + } + + private void FLIMViewer_Load(object sender, EventArgs e) + { + pictureBox1.Image = Image.ToBitmap(); + } + } +} diff --git a/WiiU/UI/FLIMViewer.resx b/WiiU/UI/FLIMViewer.resx new file mode 100644 index 0000000..94641fc --- /dev/null +++ b/WiiU/UI/FLIMViewer.resx @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + 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 + CVKmAAAAAElFTkSuQmCC + + + \ No newline at end of file diff --git a/WiiU/WiiU.csproj b/WiiU/WiiU.csproj new file mode 100644 index 0000000..2ffdb3e --- /dev/null +++ b/WiiU/WiiU.csproj @@ -0,0 +1,97 @@ + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {85AFDAA0-C794-46F2-8FB9-DE80206B7DC6} + Library + Properties + WiiU + WiiU + v4.0 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + True + True + Resource.resx + + + Form + + + FLIMViewer.cs + + + + + + + + + + {F28E77C4-BB68-4513-9468-8EABDE8DC9CB} + 3DS + + + {39DBD12F-F7E3-4E9A-97A2-0722A4BA2A26} + LibEveryFileExplorer + + + + + ResXFileCodeGenerator + Resource.Designer.cs + + + FLIMViewer.cs + + + + + + + + copy "$(TargetPath)" "$(SolutionDir)\EveryFileExplorer\bin\Debug\Plugins\$(TargetFileName)" + + + \ No newline at end of file