Skip to content

Commit 38441a6

Browse files
author
theawesomecoder61
committed
Version 1.3
1 parent 95bd655 commit 38441a6

File tree

151 files changed

+1470562
-66155
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

151 files changed

+1470562
-66155
lines changed

Blacksmith/App.config

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,11 @@
2828
<setting name="useCSV" serializeAs="String">
2929
<value>False</value>
3030
</setting>
31-
<setting name="imageBG" serializeAs="String">
31+
<setting name="threeBG" serializeAs="String">
3232
<value>ControlDark</value>
3333
</setting>
34-
<setting name="threeDBG" serializeAs="String">
35-
<value>ControlDark</value>
34+
<setting name="renderMode" serializeAs="String">
35+
<value>0</value>
3636
</setting>
3737
</Blacksmith.Properties.Settings>
3838
</userSettings>
17.5 KB
Binary file not shown.

Blacksmith/Binaries/x64/SlimDX.dll

-3.55 MB
Binary file not shown.

Blacksmith/Blacksmith.csproj

Lines changed: 48 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -80,30 +80,33 @@
8080
<ApplicationIcon>Resources\noun_Blacksmith_1124400.ico</ApplicationIcon>
8181
</PropertyGroup>
8282
<ItemGroup>
83-
<Reference Include="NAudio, Version=1.8.5.0, Culture=neutral, processorArchitecture=MSIL">
84-
<HintPath>..\packages\NAudio.1.8.5\lib\net35\NAudio.dll</HintPath>
83+
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
84+
<HintPath>..\packages\NLog.4.5.10\lib\net45\NLog.dll</HintPath>
8585
</Reference>
86-
<Reference Include="NAudio.Vorbis, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
87-
<HintPath>..\packages\NAudio.Vorbis.1.0.0.0\lib\net35\NAudio.Vorbis.dll</HintPath>
86+
<Reference Include="ObjParser, Version=1.0.0.0, Culture=neutral, processorArchitecture=AMD64">
87+
<SpecificVersion>False</SpecificVersion>
88+
<HintPath>Binaries\x64\ObjParser.dll</HintPath>
8889
</Reference>
89-
<Reference Include="NVorbis, Version=0.8.4.0, Culture=neutral, processorArchitecture=MSIL">
90-
<HintPath>..\packages\NVorbis.0.8.4.0\lib\NVorbis.dll</HintPath>
90+
<Reference Include="OpenTK, Version=3.0.1.0, Culture=neutral, PublicKeyToken=bad199fe84eb3df4, processorArchitecture=MSIL">
91+
<HintPath>..\packages\OpenTK.3.0.1\lib\net20\OpenTK.dll</HintPath>
9192
</Reference>
92-
<Reference Include="PresentationCore" />
93-
<Reference Include="SlimDX, Version=4.0.13.43, Culture=neutral, PublicKeyToken=b1b0c32fd1ffe4f9, processorArchitecture=x86">
94-
<HintPath>..\packages\SlimDX.4.0.13.44\lib\NET40\SlimDX.dll</HintPath>
95-
</Reference>
96-
<Reference Include="SlimDX.D3D11Control, Version=1.0.0.1, Culture=neutral, processorArchitecture=x86">
97-
<HintPath>..\packages\SlimDX.D3D11Control.1.0.1\lib\net40\SlimDX.D3D11Control.dll</HintPath>
93+
<Reference Include="OpenTK.GLControl, Version=3.0.1.0, Culture=neutral, PublicKeyToken=bad199fe84eb3df4, processorArchitecture=MSIL">
94+
<HintPath>..\packages\OpenTK.GLControl.3.0.1\lib\net20\OpenTK.GLControl.dll</HintPath>
9895
</Reference>
96+
<Reference Include="PresentationCore" />
9997
<Reference Include="System" />
10098
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
10199
<HintPath>..\packages\System.Buffers.4.5.0\lib\netstandard1.1\System.Buffers.dll</HintPath>
102100
</Reference>
103101
<Reference Include="System.ComponentModel.Composition" />
102+
<Reference Include="System.Configuration" />
104103
<Reference Include="System.Core" />
104+
<Reference Include="System.IO.Compression" />
105105
<Reference Include="System.IO.Compression.FileSystem" />
106106
<Reference Include="System.Numerics" />
107+
<Reference Include="System.Runtime.Serialization" />
108+
<Reference Include="System.ServiceModel" />
109+
<Reference Include="System.Transactions" />
107110
<Reference Include="System.Windows" />
108111
<Reference Include="System.Xml.Linq" />
109112
<Reference Include="System.Data.DataSetExtensions" />
@@ -119,7 +122,8 @@
119122
</Reference>
120123
</ItemGroup>
121124
<ItemGroup>
122-
<Compile Include="BigEndianBinaryReader.cs" />
125+
<Compile Include="Enums\EntryTreeNodeType.cs" />
126+
<Compile Include="IO\BigEndianBinaryReader.cs" />
123127
<Compile Include="FileTypes\PCK.cs" />
124128
<Compile Include="Forms\AboutBox.cs">
125129
<SubType>Form</SubType>
@@ -145,8 +149,14 @@
145149
<Compile Include="Forms\SoundpackBrowser.Designer.cs">
146150
<DependentUpon>SoundpackBrowser.cs</DependentUpon>
147151
</Compile>
148-
<Compile Include="ThreeD\Camera.cs" />
149-
<Compile Include="ThreeD\D3DScene.cs" />
152+
<Compile Include="Three\DynamicMesh.cs" />
153+
<Compile Include="Three\RenderMode.cs" />
154+
<Compile Include="Three\ShaderProgram.cs" />
155+
<Content Include="Binaries\x64\ObjParser.dll" />
156+
<Content Include="Form1 backup.cs">
157+
<SubType>Form</SubType>
158+
</Content>
159+
<Content Include="Three\D3DScene.cs" />
150160
<Compile Include="Enums\DXT.cs" />
151161
<Compile Include="Enums\ResourceType.cs" />
152162
<Compile Include="FileTypes\Forge.cs" />
@@ -162,20 +172,26 @@
162172
<Compile Include="Helpers.cs" />
163173
<Compile Include="Program.cs" />
164174
<Compile Include="Properties\AssemblyInfo.cs" />
165-
<Compile Include="ThreeD\MeshTexture.cs" />
166-
<Compile Include="ThreeD\SceneView.cs">
167-
<SubType>UserControl</SubType>
168-
</Compile>
169-
<Compile Include="ThreeD\SceneView.Designer.cs">
170-
<DependentUpon>SceneView.cs</DependentUpon>
171-
</Compile>
172175
<Compile Include="Forms\Settings.cs">
173176
<SubType>Form</SubType>
174177
</Compile>
175178
<Compile Include="Forms\Settings.Designer.cs">
176179
<DependentUpon>Settings.cs</DependentUpon>
177180
</Compile>
178-
<Compile Include="ThreeD\RenderMesh.cs" />
181+
<Compile Include="Three\Camera.cs" />
182+
<Compile Include="Three\GLViewer.cs" />
183+
<Compile Include="Three\OBJMesh.cs" />
184+
<Content Include="Three\ThreeViewer.cs" />
185+
<Compile Include="Three\Mesh.cs" />
186+
<Content Include="Three\GLViewer backup.txt" />
187+
<Content Include="Shaders\fs.glsl">
188+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
189+
</Content>
190+
<Content Include="Shaders\fs_tex.glsl">
191+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
192+
</Content>
193+
<None Include="OpenTK.dll.config" />
194+
<None Include="Resources\grid.png" />
179195
<None Include="Resources\noun_Blacksmith_1124400.ico" />
180196
<EmbeddedResource Include="Forms\AboutBox.resx">
181197
<DependentUpon>AboutBox.cs</DependentUpon>
@@ -199,9 +215,6 @@
199215
<DependentUpon>Resources.resx</DependentUpon>
200216
<DesignTime>True</DesignTime>
201217
</Compile>
202-
<EmbeddedResource Include="ThreeD\SceneView.resx">
203-
<DependentUpon>SceneView.cs</DependentUpon>
204-
</EmbeddedResource>
205218
<EmbeddedResource Include="Forms\Settings.resx">
206219
<DependentUpon>Settings.cs</DependentUpon>
207220
</EmbeddedResource>
@@ -222,6 +235,15 @@
222235
<DependentUpon>Settings.settings</DependentUpon>
223236
<DesignTimeSharedInput>True</DesignTimeSharedInput>
224237
</Compile>
238+
<Content Include="Shaders\vs.glsl">
239+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
240+
</Content>
241+
<Content Include="Shaders\teapot.obj">
242+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
243+
</Content>
244+
<Content Include="Shaders\vs_tex.glsl">
245+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
246+
</Content>
225247
</ItemGroup>
226248
<ItemGroup>
227249
<None Include="App.config" />

Blacksmith/EntryTreeNode.cs

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,41 @@
11
using Blacksmith.Enums;
2+
using Blacksmith.FileTypes;
23
using System.Windows.Forms;
34

45
namespace Blacksmith
56
{
67
public class EntryTreeNode : TreeNode
78
{
9+
public Forge Forge;
810
public Game Game;
11+
//public int Levels { get { return Helpers.CountStringOccurrences(FullPath, "\\"); } }
912
public long Offset;
1013
public string Path;
1114
public ResourceType ResourceType = ResourceType._NONE;
12-
public long Size = -1;
15+
public int Size = -1;
16+
public EntryTreeNodeType Type = EntryTreeNodeType.NONE;
17+
18+
public EntryTreeNode() : base("")
19+
{
20+
}
21+
22+
public EntryTreeNode(string text) : base(text)
23+
{
24+
}
25+
26+
/// <summary>
27+
/// Returns the Forge instance assigned to the parent .forge node
28+
/// </summary>
29+
/// <returns></returns>
30+
public Forge GetForge()
31+
{
32+
// find the .forge node
33+
if (Type == EntryTreeNodeType.ENTRY)
34+
return ((EntryTreeNode)Parent).Forge;
35+
else if (Type == EntryTreeNodeType.SUBENTRY)
36+
return ((EntryTreeNode)Parent.Parent).Forge;
37+
else
38+
return null;
39+
}
1340
}
1441
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
namespace Blacksmith.Enums
2+
{
3+
public enum EntryTreeNodeType
4+
{
5+
DIRECTORY,
6+
FORGE,
7+
ENTRY,
8+
IMAGE,
9+
NONE,
10+
PCK,
11+
SUBENTRY,
12+
TEXT
13+
}
14+
}

Blacksmith/FileTypes/Forge.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,26 @@ public Forge(string path)
8484
isFullyRead = false;
8585
}
8686

87+
/// <summary>
88+
/// Returns the number of entries [does not require Read()]
89+
/// </summary>
90+
/// <returns></returns>
91+
public int GetEntryCount()
92+
{
93+
int ct = 0;
94+
using (Stream stream = new FileStream(Path, FileMode.Open, FileAccess.Read, FileShare.Read))
95+
{
96+
using (BinaryReader reader = new BinaryReader(stream))
97+
{
98+
stream.Position = 13;
99+
ulong offsetToDataHeader = reader.ReadUInt64();
100+
stream.Position = (int)offsetToDataHeader;
101+
ct = reader.ReadInt32();
102+
}
103+
}
104+
return ct;
105+
}
106+
87107
/// <summary>
88108
/// Read data and populate the fields
89109
/// </summary>

Blacksmith/FileTypes/PCK.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
using System;
2-
using System.Collections.Generic;
1+
using System.Collections.Generic;
32
using System.IO;
43
using System.Text;
5-
using System.Text.RegularExpressions;
64

75
// PCK files hold Wwise sound data
86

0 commit comments

Comments
 (0)