Editor/Decompiler/Lumps/TexDataStringDataLump.cs
using System.ComponentModel;
using static System.Runtime.InteropServices.JavaScript.JSType;

namespace BspImport.Decompiler.Lumps;

public class TexDataStringDataLump : BaseLump
{
	public TexDataStringDataLump( ImportContext context, byte[] data, int version = 0 ) : base( context, data, version ) { }

	protected override void Parse( BinaryReader reader )
	{
		var chars = Encoding.ASCII.GetChars( reader.ReadBytes( reader.GetLength() ) );
		var text = new string( chars );

		var texData = new TexDataStringData( text );

		//Log.Info( $"TEXDATASTRINGDATA: {texData.Count}" );

		Context.TexDataStringData = texData;
	}
}

public class TexDataStringData
{
	//private string[] StringList { get; set; }

	[Hide]
	private string Data;

	public TexDataStringData( string data )
	{
		Data = data;
		//var splits = data.Split( '\0', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries );
		//StringList = splits.ToArray();
	}

	public string FromStringTableIndex( int index )
	{
		var end = Data.IndexOf( '\0', index );
		return Data.Substring( index, end - index );
	}
}