2025-09-26 10:57:15 -04:00
|
|
|
using System.Runtime.InteropServices;
|
|
|
|
|
|
2025-09-26 13:06:18 -04:00
|
|
|
namespace SabreTools.Data.Models.BSP
|
2025-09-26 10:57:15 -04:00
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// A Model, in the terminology of the BSP file format, is a collection
|
|
|
|
|
/// of brushes and faces, often called a "bmodel". It should not be
|
|
|
|
|
/// confused with the prop models used in Hammer, which are usually
|
|
|
|
|
/// called "studiomodels" in the SDK source.
|
|
|
|
|
/// </summary>
|
2025-10-30 21:21:56 -04:00
|
|
|
/// <see href="https://developer.valvesoftware.com/wiki/BSP_(Source)"/>
|
2025-09-26 10:57:15 -04:00
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
|
|
|
public sealed class VbspModel
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Bounding box
|
|
|
|
|
/// </summary>
|
2025-10-31 13:59:28 -04:00
|
|
|
public Vector3D Mins = new();
|
2025-09-26 10:57:15 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Bounding box
|
|
|
|
|
/// </summary>
|
2025-10-31 13:59:28 -04:00
|
|
|
public Vector3D Maxs = new();
|
2025-09-26 10:57:15 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// For sounds or lights
|
|
|
|
|
/// </summary>
|
2025-10-31 13:59:28 -04:00
|
|
|
public Vector3D OriginVector = new();
|
2025-09-26 10:57:15 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Index into nodes
|
|
|
|
|
/// </summary>
|
|
|
|
|
public int HeadNode;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Index into faces
|
|
|
|
|
/// </summary>
|
|
|
|
|
public int FirstFaceIndex;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Count of faces
|
|
|
|
|
/// </summary>
|
|
|
|
|
public int FacesCount;
|
|
|
|
|
}
|
2025-10-30 21:21:56 -04:00
|
|
|
}
|