Cleanup from issues in Serialization

This commit is contained in:
Matt Nadareski
2024-11-27 21:03:50 -05:00
parent 362abfdc64
commit 2bc1cfc5d0
6 changed files with 20 additions and 16 deletions

View File

@@ -1,3 +1,5 @@
using System.Runtime.InteropServices;
namespace SabreTools.Models.BDPlus
{
/// <see href="https://github.com/mwgoldsmith/bdplus/blob/master/src/libbdplus/bdsvm/loader.c"/>
@@ -6,40 +8,39 @@ namespace SabreTools.Models.BDPlus
/// <summary>
/// "BDSVM_CC"
/// </summary>
/// <remarks>8 bytes</remarks>
public string? Signature { get; set; }
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)]
public string? Signature;
/// <summary>
/// Unknown data
/// </summary>
/// <remarks>5 bytes</remarks>
public byte[]? Unknown1 { get; set; }
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
public byte[]? Unknown1 = new byte[5];
/// <summary>
/// Version year
/// </summary>
public ushort Year { get; set; }
public ushort Year;
/// <summary>
/// Version month
/// </summary>
public byte Month { get; set; }
public byte Month;
/// <summary>
/// Version day
/// </summary>
public byte Day { get; set; }
public byte Day;
/// <summary>
/// Unknown data
/// </summary>
/// <remarks>4 bytes</remarks>
public byte[]? Unknown2 { get; set; }
public uint Unknown2;
/// <summary>
/// Length
/// </summary>
public uint Length { get; set; }
public uint Length;
/// <summary>
/// Length bytes of data

View File

@@ -7,7 +7,7 @@ namespace SabreTools.Models.BSP
/// </summary>
/// <see href="https://developer.valvesoftware.com/wiki/BSP_(Source)"/>
[StructLayout(LayoutKind.Sequential)]
public struct ColorRGBExp32
public class ColorRGBExp32
{
public byte Red;

View File

@@ -8,7 +8,7 @@ namespace SabreTools.Models.BSP
/// </summary>
/// <see href="https://developer.valvesoftware.com/wiki/BSP_(Source)"/>
[StructLayout(LayoutKind.Sequential)]
public struct CompressedLightCube
public class CompressedLightCube
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
public ColorRGBExp32[]? Colors;

View File

@@ -8,7 +8,7 @@ namespace SabreTools.Models.BSP
/// from the cardinal Z axis.
/// </summary>
[StructLayout(LayoutKind.Sequential)]
public struct QAngle
public class QAngle
{
public float X { get; set; }
public float Y { get; set; }

View File

@@ -8,7 +8,7 @@ namespace SabreTools.Models.BSP
/// spec and the code of the hlbsp project.
/// </summary>
[StructLayout(LayoutKind.Sequential)]
public struct Vector3D
public class Vector3D
{
public float X { get; set; }
public float Y { get; set; }

View File

@@ -1,4 +1,6 @@
namespace SabreTools.Models.LinearExecutable
using System.Runtime.InteropServices;
namespace SabreTools.Models.LinearExecutable
{
/// <summary>
/// The resident and non-resident name tables define the ASCII names and ordinal
@@ -25,6 +27,7 @@
/// </summary>
/// <see href="https://faydoc.tripod.com/formats/exe-LE.htm"/>
/// <see href="http://www.edm2.com/index.php/LX_-_Linear_eXecutable_Module_Format_Description"/>
[StructLayout(LayoutKind.Sequential)]
public sealed class NonResidentNamesTableEntry
{
/// <summary>
@@ -39,7 +42,7 @@
/// signifies that additional information is contained in the linear EXE module and
/// will be used in the future for parameter type checking.
/// </remarks>
public byte Length { get; set; } // TODO: Remove in lieu of AnsiBStr
public byte Length { get; set; }
/// <summary>
/// ASCII String.