using System;
using System.Runtime.InteropServices;
using OpenTK;

namespace SharpQuake
{
	[StructLayout(LayoutKind.Sequential, Pack = 1)]
	internal class aliashdr_t
	{
		public aliashdr_t()
		{
			this.gl_texturenum = new int[32, 4];
			this.texels = new object[32];
		}

		public int ident;

		public int version;

		public Vector3 scale;

		public Vector3 scale_origin;

		public float boundingradius;

		public Vector3 eyeposition;

		public int numskins;

		public int skinwidth;

		public int skinheight;

		public int numverts;

		public int numtris;

		public int numframes;

		public synctype_t synctype;

		public int flags;

		public float size;

		public int numposes;

		public int poseverts;

		public trivertx_t[] posedata;

		public int[] commands;

		[MarshalAs(UnmanagedType.ByValArray, SizeConst = 128)]
		public int[,] gl_texturenum;

		[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
		public object[] texels;

		public maliasframedesc_t[] frames;

		public static int SizeInBytes = Marshal.SizeOf(typeof(aliashdr_t));
	}
}
