Skip to content

Commit

Permalink
yo
Browse files Browse the repository at this point in the history
  • Loading branch information
gul4sch committed Aug 10, 2024
1 parent f9c08ef commit e01d895
Show file tree
Hide file tree
Showing 23 changed files with 992 additions and 79 deletions.
18 changes: 2 additions & 16 deletions Warcraft.NET.Docs/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,6 @@ internal class Program
/// <param name="args"></param>
static void Main(string[] args)
{
string iripath = "C:\\Users\\marce\\Desktop\\WoWStuff\\wow.export\\creature\\iridikron\\";
byte[] data = File.ReadAllBytes(iripath+"iridikron.m2");
Model m = new Model(data);

byte[] phys_test = File.ReadAllBytes("D:\\Unity Projects\\M2Tool\\M2Godot\\buckle_panstart_a_01.phys");
Physics phys = new Physics(phys_test);

File.WriteAllBytes(iripath+"iridikron_output.m2", m.Serialize());
File.WriteAllBytes("D:\\Unity Projects\\M2Tool\\M2Godot\\buckle_panstart_a_01_output.phys", phys.Serialize());



if (1==2) {


Console.WriteLine($"BaseDirectory: {AppDomain.CurrentDomain.BaseDirectory}");

Expand All @@ -45,7 +31,7 @@ static void Main(string[] args)
ConvertToMarkdownStep.Process(autoDocData, outputFolder);

Console.WriteLine("Done!");
}
}

}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
using Warcraft.NET.Files.Interfaces;
using Warcraft.NET.Files.M2.Entries;

namespace Warcraft.NET.Files.M2.Chunks.Legion
namespace Warcraft.NET.Files.M2.Chunks.BfA
{
[AutoDocChunk(AutoDocChunkVersionHelper.VersionAfterWoD, AutoDocChunkVersionHelper.VersionBeforeLegion)]
[AutoDocChunk(AutoDocChunkVersionHelper.VersionAfterLegion, AutoDocChunkVersionHelper.VersionBeforeBfA)]
public class LDV1 : IIFFChunk, IBinarySerializable
{
/// <summary>
Expand Down
62 changes: 62 additions & 0 deletions Warcraft.NET/Files/M2/Chunks/BfA/WFV1.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
using System.Collections.Generic;
using System.IO;
using Warcraft.NET.Attribute;
using Warcraft.NET.Files.Interfaces;
using Warcraft.NET.Files.M2.Entries;

namespace Warcraft.NET.Files.M2.Chunks.BfA
{
[AutoDocChunk(AutoDocChunkVersionHelper.VersionAfterLegion, AutoDocChunkVersionHelper.VersionBeforeBfA)]
public class WFV1 : IIFFChunk, IBinarySerializable
{
/// <summary>
/// Holds the binary chunk signature.
/// </summary>
public const string Signature = "WFV1";

public byte[] data;

/// <summary>
/// Initializes a new instance of <see cref="WFV1"/>
/// </summary>
public WFV1() { }

/// <summary>
/// Initializes a new instance of <see cref="WFV1"/>
/// </summary>
/// <param name="inData">ExtendedData.</param>
public WFV1(byte[] inData) => LoadBinaryData(inData);

/// <inheritdoc />
public string GetSignature() { return Signature; }

/// <inheritdoc />
public uint GetSize() { return (uint)Serialize().Length; }

/// <inheritdoc />
public void LoadBinaryData(byte[] inData)
{
{
using (var ms = new MemoryStream(inData))
using (var br = new BinaryReader(ms))
{
data = inData;
}
}
}

/// <inheritdoc />
public byte[] Serialize(long offset = 0)
{
using (var ms = new MemoryStream())
using (var bw = new BinaryWriter(ms))
{
bw.Write(data);


return ms.ToArray();
}
}

}
}
62 changes: 62 additions & 0 deletions Warcraft.NET/Files/M2/Chunks/BfA/WFV2.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
using System.Collections.Generic;
using System.IO;
using Warcraft.NET.Attribute;
using Warcraft.NET.Files.Interfaces;
using Warcraft.NET.Files.M2.Entries;

namespace Warcraft.NET.Files.M2.Chunks.BfA
{
[AutoDocChunk(AutoDocChunkVersionHelper.VersionAfterLegion, AutoDocChunkVersionHelper.VersionBeforeBfA)]
public class WFV2 : IIFFChunk, IBinarySerializable
{
/// <summary>
/// Holds the binary chunk signature.
/// </summary>
public const string Signature = "WFV2";

public byte[] data;

/// <summary>
/// Initializes a new instance of <see cref="WFV2"/>
/// </summary>
public WFV2() { }

/// <summary>
/// Initializes a new instance of <see cref="WFV2"/>
/// </summary>
/// <param name="inData">ExtendedData.</param>
public WFV2(byte[] inData) => LoadBinaryData(inData);

/// <inheritdoc />
public string GetSignature() { return Signature; }

/// <inheritdoc />
public uint GetSize() { return (uint)Serialize().Length; }

/// <inheritdoc />
public void LoadBinaryData(byte[] inData)
{
{
using (var ms = new MemoryStream(inData))
using (var br = new BinaryReader(ms))
{
data = inData;
}
}
}

/// <inheritdoc />
public byte[] Serialize(long offset = 0)
{
using (var ms = new MemoryStream())
using (var bw = new BinaryWriter(ms))
{
bw.Write(data);


return ms.ToArray();
}
}

}
}
58 changes: 58 additions & 0 deletions Warcraft.NET/Files/M2/Chunks/DF/AFRA.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
using System.Collections.Generic;
using System.IO;
using Warcraft.NET.Attribute;
using Warcraft.NET.Files.Interfaces;
using Warcraft.NET.Files.M2.Entries;

namespace Warcraft.NET.Files.M2.Chunks.DF
{
[AutoDocChunk(AutoDocChunkVersionHelper.VersionAfterSL, AutoDocChunkVersionHelper.VersionBeforeDF)]
public class AFRA : IIFFChunk, IBinarySerializable
{
/// <summary>
/// Holds the binary chunk signature.
/// </summary>
public const string Signature = "AFRA";

/// <summary>
/// Initializes a new instance of <see cref="AFRA"/>
/// </summary>
public AFRA() { }

/// <summary>
/// Initializes a new instance of <see cref="AFRA"/>
/// </summary>
/// <param name="inData">ExtendedData.</param>
public AFRA(byte[] inData) => LoadBinaryData(inData);

/// <inheritdoc />
public string GetSignature() { return Signature; }

/// <inheritdoc />
public uint GetSize() { return (uint)Serialize().Length; }

byte[] data;

/// <inheritdoc/>
public void LoadBinaryData(byte[] inData)
{
using (var ms = new MemoryStream(inData))
using (var br = new BinaryReader(ms))
{
data = inData;
}
}

/// <inheritdoc/>
public byte[] Serialize(long offset = 0)
{
using (var ms = new MemoryStream())
using (var bw = new BinaryWriter(ms))
{
bw.Write(data);

return ms.ToArray();
}
}
}
}
72 changes: 72 additions & 0 deletions Warcraft.NET/Files/M2/Chunks/Legion/PABC.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
using System;
using System.Collections.Generic;
using System.IO;
using Warcraft.NET.Attribute;
using Warcraft.NET.Files.Interfaces;
using Warcraft.NET.Files.M2.Entries;

namespace Warcraft.NET.Files.M2.Chunks.Legion
{
[AutoDocChunk(AutoDocChunkVersionHelper.VersionAfterWoD, AutoDocChunkVersionHelper.VersionBeforeLegion)]
public class PABC : IIFFChunk, IBinarySerializable
{
/// <summary>
/// Holds the binary chunk signature.
/// </summary>
public const string Signature = "PABC";

/// <summary>
/// Gets or sets the Skin FileDataId
/// </summary>
public List<UInt16> PABCEntries = new();

/// <summary>
/// Initializes a new instance of <see cref="PABC"/>
/// </summary>
public PABC() { }

/// <summary>
/// Initializes a new instance of <see cref="PABC"/>
/// </summary>
/// <param name="inData">ExtendedData.</param>
public PABC(byte[] inData) => LoadBinaryData(inData);

/// <inheritdoc />
public string GetSignature() { return Signature; }

/// <inheritdoc />
public uint GetSize() { return (uint)Serialize().Length; }

/// <inheritdoc />
public void LoadBinaryData(byte[] inData)
{
{
using (var ms = new MemoryStream(inData))
using (var br = new BinaryReader(ms))
{
var PABCcount = br.BaseStream.Length / 2;
for (var i = 0; i < PABCcount; ++i)
{
PABCEntries.Add(br.ReadUInt16());
}
}
}
}

/// <inheritdoc />
public byte[] Serialize(long offset = 0)
{
using (var ms = new MemoryStream())
using (var bw = new BinaryWriter(ms))
{
foreach (UInt16 obj in PABCEntries)
{
bw.Write(obj);
}

return ms.ToArray();
}
}

}
}
55 changes: 55 additions & 0 deletions Warcraft.NET/Files/M2/Chunks/Legion/PADC.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
using System.IO;
using Warcraft.NET.Attribute;
using Warcraft.NET.Files.Interfaces;

namespace Warcraft.NET.Files.M2.Chunks.Legion
{
[AutoDocChunk(AutoDocChunkVersionHelper.VersionAfterWoD, AutoDocChunkVersionHelper.VersionBeforeLegion)]
public class PADC : IIFFChunk, IBinarySerializable
{
/// <summary>
/// Holds the binary chunk signature.
/// </summary>
public const string Signature = "PADC";

byte[] data;
/// <summary>
/// Initializes a new instance of <see cref="PADC"/>
/// </summary>
public PADC() { }

/// <summary>
/// Initializes a new instance of <see cref="PADC"/>
/// </summary>
/// <param name="inData">ExtendedData.</param>
public PADC(byte[] inData) => LoadBinaryData(inData);

/// <inheritdoc />
public string GetSignature() { return Signature; }

/// <inheritdoc />
public uint GetSize() { return (uint)Serialize().Length; }

/// <inheritdoc />
public void LoadBinaryData(byte[] inData)
{
using (var ms = new MemoryStream(inData))
using (var br = new BinaryReader(ms))
{
data = inData;
}
}

/// <inheritdoc />
public byte[] Serialize(long offset = 0)
{
using (var ms = new MemoryStream())
using (var bw = new BinaryWriter(ms))
{
bw.Write(data);

return ms.ToArray();
}
}
}
}
Loading

0 comments on commit e01d895

Please sign in to comment.