diff --git a/Novetus/NovetusLauncher/Classes/SDK/OBJConverter.cs b/Novetus/NovetusLauncher/Classes/SDK/OBJConverter.cs
new file mode 100644
index 0000000..0a103da
--- /dev/null
+++ b/Novetus/NovetusLauncher/Classes/SDK/OBJConverter.cs
@@ -0,0 +1,84 @@
+#region Usings
+using ObjLoader.Loader.Data.VertexData;
+using ObjLoader.Loader.Loaders;
+using System;
+using System.IO;
+using System.Linq;
+using System.Windows.Forms;
+#endregion
+
+#region Icon Loader
+
+public class OBJConverter
+{
+ private OpenFileDialog openFileDialog1;
+ private string installOutcome = "";
+
+ public OBJConverter()
+ {
+ openFileDialog1 = new OpenFileDialog()
+ {
+ FileName = "Select an .obj file",
+ Filter = "Wavefront OBJ file (*.obj)|*.obj",
+ Title = "Open .obj"
+ };
+ }
+
+ public void setInstallOutcome(string text)
+ {
+ installOutcome = text;
+ }
+
+ public string getInstallOutcome()
+ {
+ return installOutcome;
+ }
+
+ public void ConvertOBJ()
+ {
+ if (openFileDialog1.ShowDialog() == DialogResult.OK)
+ {
+ using (Stream str = openFileDialog1.OpenFile())
+ {
+ Directory.SetCurrentDirectory(Path.GetDirectoryName(openFileDialog1.FileName));
+ var materialStreamProvider = new MaterialStreamProvider();
+ var objLoaderFactory = new ObjLoaderFactory();
+ var objLoader = objLoaderFactory.Create(materialStreamProvider);
+ var fileStream = materialStreamProvider.Open(openFileDialog1.FileName);
+ var result = objLoader.Load(fileStream);
+
+ string testString = "";
+ testString += "version 1.00\n";
+ testString += result.Groups.First().Faces.Count + "\n";
+ foreach (Vertex vert in result.Vertices)
+ {
+ testString += "[" + (vert.X * 0.5) + "," + (vert.Y * 0.5) + "," + (vert.Z * 0.5) + "]";
+ foreach (Normal norm in result.Normals)
+ {
+ testString += "[" + norm.X + "," + norm.Y + "," + norm.Z + "]";
+
+ //this is dumb
+ if (result.Textures.Count > 0)
+ {
+ foreach (Texture tex in result.Textures)
+ {
+ testString += "[" + tex.X + "," + tex.Y + ",0]";
+ }
+ }
+ else
+ {
+ testString += "[0,0,0]";
+ }
+ }
+ }
+
+ MessageBox.Show(testString);
+ Clipboard.SetText(testString);
+
+ Directory.SetCurrentDirectory(GlobalPaths.RootPath);
+ str.Close();
+ }
+ }
+ }
+}
+#endregion
\ No newline at end of file
diff --git a/Novetus/NovetusLauncher/Dependencies/CjClutter.ObjLoader.LoaderNet4.dll b/Novetus/NovetusLauncher/Dependencies/CjClutter.ObjLoader.LoaderNet4.dll
new file mode 100644
index 0000000..d68f81f
Binary files /dev/null and b/Novetus/NovetusLauncher/Dependencies/CjClutter.ObjLoader.LoaderNet4.dll differ
diff --git a/Novetus/NovetusLauncher/Forms/SDK/NovetusSDK.Designer.cs b/Novetus/NovetusLauncher/Forms/SDK/NovetusSDK.Designer.cs
index 398ad54..727422a 100644
--- a/Novetus/NovetusLauncher/Forms/SDK/NovetusSDK.Designer.cs
+++ b/Novetus/NovetusLauncher/Forms/SDK/NovetusSDK.Designer.cs
@@ -53,6 +53,7 @@
this.listView1 = new System.Windows.Forms.ListView();
this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.imageList1 = new System.Windows.Forms.ImageList(this.components);
+ this.TestButton = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
this.SuspendLayout();
//
@@ -120,12 +121,23 @@
this.imageList1.Images.SetKeyName(8, "splash.png");
this.imageList1.Images.SetKeyName(9, "XMLContentEditor.png");
//
+ // TestButton
+ //
+ this.TestButton.Location = new System.Drawing.Point(15, 364);
+ this.TestButton.Name = "TestButton";
+ this.TestButton.Size = new System.Drawing.Size(75, 23);
+ this.TestButton.TabIndex = 16;
+ this.TestButton.Text = "OBJStats";
+ this.TestButton.UseVisualStyleBackColor = true;
+ this.TestButton.Click += new System.EventHandler(this.TestButton_Click);
+ //
// NovetusSDK
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlLightLight;
- this.ClientSize = new System.Drawing.Size(438, 354);
+ this.ClientSize = new System.Drawing.Size(438, 399);
+ this.Controls.Add(this.TestButton);
this.Controls.Add(this.listView1);
this.Controls.Add(this.label1);
this.Controls.Add(this.pictureBox2);
@@ -149,4 +161,5 @@
private System.Windows.Forms.ListView listView1;
private System.Windows.Forms.ColumnHeader columnHeader1;
private System.Windows.Forms.ImageList imageList1;
+ private System.Windows.Forms.Button TestButton;
}
\ No newline at end of file
diff --git a/Novetus/NovetusLauncher/Forms/SDK/NovetusSDK.cs b/Novetus/NovetusLauncher/Forms/SDK/NovetusSDK.cs
index e8674b2..0481320 100644
--- a/Novetus/NovetusLauncher/Forms/SDK/NovetusSDK.cs
+++ b/Novetus/NovetusLauncher/Forms/SDK/NovetusSDK.cs
@@ -123,5 +123,12 @@ public partial class NovetusSDK : Form
}
}
#endregion
+
+ //remove upon test finish
+ private void TestButton_Click(object sender, EventArgs e)
+ {
+ OBJConverter objconv = new OBJConverter();
+ objconv.ConvertOBJ();
+ }
}
#endregion
diff --git a/Novetus/NovetusLauncher/Forms/SDK/NovetusSDK.resx b/Novetus/NovetusLauncher/Forms/SDK/NovetusSDK.resx
index c02f628..c94778a 100644
--- a/Novetus/NovetusLauncher/Forms/SDK/NovetusSDK.resx
+++ b/Novetus/NovetusLauncher/Forms/SDK/NovetusSDK.resx
@@ -125,7 +125,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAU
- EwAAAk1TRnQBSQFMAgEBCgEAARgBAAEYAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
+ EwAAAk1TRnQBSQFMAgEBCgEAASABAAEgAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAATADAAEBAQABCAYAAQwYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
diff --git a/Novetus/NovetusLauncher/Novetus.Launcher.csproj b/Novetus/NovetusLauncher/Novetus.Launcher.csproj
index 21103f5..281f1ed 100644
--- a/Novetus/NovetusLauncher/Novetus.Launcher.csproj
+++ b/Novetus/NovetusLauncher/Novetus.Launcher.csproj
@@ -73,6 +73,9 @@
x86
+
+ Dependencies\CjClutter.ObjLoader.LoaderNet4.dll
+
..\packages\DotNetZip.1.11.0\lib\net20\DotNetZip.dll
@@ -95,6 +98,12 @@
..\packages\NLog.4.7.2\lib\net40-client\NLog.dll
+
+ ..\packages\SharpGL.3.1.1\lib\net40\SharpGL.dll
+
+
+ ..\packages\SharpGL.SceneGraph.3.1.1\lib\net40\SharpGL.SceneGraph.dll
+
@@ -153,6 +162,7 @@
+
Form
diff --git a/Novetus/NovetusLauncher/packages.config b/Novetus/NovetusLauncher/packages.config
index d68baea..3e7ad67 100644
--- a/Novetus/NovetusLauncher/packages.config
+++ b/Novetus/NovetusLauncher/packages.config
@@ -6,4 +6,6 @@
+
+
\ No newline at end of file