mirror of
https://github.com/ACEmulator/ACE
synced 2026-08-17 12:26:06 -04:00
* Improving DatLoader for third-party apps * Adding some missing filetypes (thanks OptimShi!) * Adding more enums, using SmartArray * Re-adding loadCell * Reverting to UInt32
40 lines
1.3 KiB
C#
40 lines
1.3 KiB
C#
using System;
|
|
using System.IO;
|
|
using System.Collections.Generic;
|
|
|
|
namespace ACE.DatLoader.Entity
|
|
{
|
|
public class StringTableData : IUnpackable
|
|
{
|
|
public uint Id { get; private set; }
|
|
public List<string> VarNames { get; } = new List<string>();
|
|
public List<string> Vars { get; } = new List<string>();
|
|
public List<string> Strings { get; } = new List<string>();
|
|
public List<uint> Comments { get; } = new List<uint>();
|
|
|
|
public byte Unknown { get; private set; }
|
|
|
|
public void Unpack(BinaryReader reader)
|
|
{
|
|
Id = reader.ReadUInt32();
|
|
|
|
var num_varnames = reader.ReadUInt16();
|
|
for (uint i = 0; i < num_varnames; i++)
|
|
VarNames.Add(reader.ReadUnicodeString());
|
|
|
|
var num_vars = reader.ReadUInt16();
|
|
for (uint i = 0; i < num_vars; i++)
|
|
Vars.Add(reader.ReadUnicodeString());
|
|
|
|
var num_strings = reader.ReadUInt32();
|
|
for (uint i = 0; i < num_strings; i++)
|
|
Strings.Add(reader.ReadUnicodeString());
|
|
|
|
var num_comments = reader.ReadUInt32();
|
|
for (uint i = 0; i < num_comments; i++)
|
|
Comments.Add(reader.ReadUInt32());
|
|
|
|
Unknown = reader.ReadByte();
|
|
}
|
|
}
|
|
}
|