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