Created
November 8, 2016 06:14
-
-
Save camden-smallwood-zz/73a3a44a43b81acb99e85a7baa6094ee to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| using System.Collections.Generic; | |
| using TagTool.Common; | |
| using TagTool.Serialization; | |
| using TagTool.TagGroups; | |
| namespace TagTool.Definitions.Halo3ODST.TagStructures | |
| { | |
| [TagStructure(Class = "sbsp", Size = 0x394)] | |
| public class ScenarioStructureBsp | |
| { | |
| public int BspChecksum; | |
| public int Unknown; | |
| public uint Unknown2; | |
| public uint Unknown3; | |
| public List<StructureSeam> StructureSeams; | |
| public uint Unknown4; | |
| public uint Unknown5; | |
| public uint Unknown6; | |
| public List<CollisionMaterial> CollisionMaterials; | |
| public List<UnknownBlock> Unknown7; | |
| public float WorldBoundsXMin; | |
| public float WorldBoundsXMax; | |
| public float WorldBoundsYMin; | |
| public float WorldBoundsYMax; | |
| public float WorldBoundsZMin; | |
| public float WorldBoundsZMax; | |
| public uint Unknown8; | |
| public uint Unknown9; | |
| public uint Unknown10; | |
| public uint Unknown11; | |
| public uint Unknown12; | |
| public uint Unknown13; | |
| public List<ClusterPortal> ClusterPortals; | |
| public List<UnknownBlock2> Unknown14; | |
| public List<FogBlock> Fog; | |
| public uint Unknown15; | |
| public uint Unknown16; | |
| public uint Unknown17; | |
| public uint Unknown18; | |
| public uint Unknown19; | |
| public uint Unknown20; | |
| public List<DetailObject> DetailObjects; | |
| public List<Cluster> Clusters; | |
| public List<Material> Materials; | |
| public List<SkyOwnerClusterBlock> SkyOwnerCluster; | |
| public uint Unknown21; | |
| public uint Unknown22; | |
| public uint Unknown23; | |
| public uint Unknown24; | |
| public uint Unknown25; | |
| public uint Unknown26; | |
| public uint Unknown27; | |
| public uint Unknown28; | |
| public uint Unknown29; | |
| public uint Unknown30; | |
| public uint Unknown31; | |
| public uint Unknown32; | |
| public List<BackgroundSoundEnvironmentPaletteBlock> BackgroundSoundEnvironmentPalette; | |
| public uint Unknown33; | |
| public uint Unknown34; | |
| public uint Unknown35; | |
| public uint Unknown36; | |
| public uint Unknown37; | |
| public uint Unknown38; | |
| public uint Unknown39; | |
| public uint Unknown40; | |
| public uint Unknown41; | |
| public uint Unknown42; | |
| public uint Unknown43; | |
| public List<Marker> Markers; | |
| public List<Light> Lights; | |
| public List<UnknownBlock3> Unknown44; | |
| public List<RuntimeDecal> RuntimeDecals; | |
| public List<EnvironmentObjectPaletteBlock> EnvironmentObjectPalette; | |
| public List<EnvironmentObject> EnvironmentObjects; | |
| public uint Unknown45; | |
| public uint Unknown46; | |
| public uint Unknown47; | |
| public uint Unknown48; | |
| public uint Unknown49; | |
| public uint Unknown50; | |
| public uint Unknown51; | |
| public uint Unknown52; | |
| public uint Unknown53; | |
| public uint Unknown54; | |
| public List<InstancedGeometryInstance> InstancedGeometryInstances; | |
| public List<Decorator> Decorators; | |
| public int Unknown55; | |
| public List<Section> Sections; | |
| public List<CompressionInfoBlock> CompressionInfo; | |
| public List<UnknownNodeyBlock> UnknownNodey; | |
| public List<UnknownBlock4> Unknown56; | |
| public uint Unknown57; | |
| public uint Unknown58; | |
| public uint Unknown59; | |
| public List<UnknownSection> UnknownSections; | |
| public List<NodeMap> NodeMaps; | |
| public List<UnknownBlock5> Unknown60; | |
| public uint Unknown61; | |
| public uint Unknown62; | |
| public uint Unknown63; | |
| public List<UnknownYoBlock> UnknownYo; | |
| public ushort ZoneAssetSalt1; | |
| public ushort ZoneAssetIndex1; | |
| public int UselessPadding; | |
| public List<UnknownSoundClustersABlock> UnknownSoundClustersA; | |
| public List<UnknownSoundClustersBBlock> UnknownSoundClustersB; | |
| public List<UnknownSoundClustersCBlock> UnknownSoundClustersC; | |
| public List<TransparentPlane> TransparentPlanes; | |
| public uint Unknown64; | |
| public uint Unknown65; | |
| public uint Unknown66; | |
| public List<CollisionMoppCode> CollisionMoppCodes; | |
| public uint Unknown67; | |
| public float CollisionWorldBoundsXMin; | |
| public float CollisionWorldBoundsXMax; | |
| public float CollisionWorldBoundsYMin; | |
| public float CollisionWorldBoundsYMax; | |
| public float CollisionWorldBoundsZMin; | |
| public float CollisionWorldBoundsZMax; | |
| public List<BreakableSurfaceMoppCode> BreakableSurfaceMoppCodes; | |
| public List<BreakableSurfaceKeyTableBlock> BreakableSurfaceKeyTable; | |
| public uint Unknown68; | |
| public uint Unknown69; | |
| public uint Unknown70; | |
| public uint Unknown71; | |
| public uint Unknown72; | |
| public uint Unknown73; | |
| public int Unknown74; | |
| public List<Section2> Sections2; | |
| public List<CompressionInfoBlock2> CompressionInfo2; | |
| public List<UnknownNodeyBlock2> UnknownNodey2; | |
| public List<UnknownBlock6> Unknown75; | |
| public uint Unknown76; | |
| public uint Unknown77; | |
| public uint Unknown78; | |
| public List<UnknownSection2> UnknownSections2; | |
| public List<NodeMap2> NodeMaps2; | |
| public List<UnknownBlock7> Unknown79; | |
| public uint Unknown80; | |
| public uint Unknown81; | |
| public uint Unknown82; | |
| public List<UnknownYoBlock2> UnknownYo2; | |
| public ushort ZoneAssetSalt2; | |
| public ushort ZoneAssetIndex2; | |
| public int UselessPadding2; | |
| public uint Unknown83; | |
| public uint Unknown84; | |
| public uint Unknown85; | |
| public uint Unknown86; | |
| public uint Unknown87; | |
| public uint Unknown88; | |
| public ushort ZoneAssetSalt3; | |
| public ushort ZoneAssetIndex3; | |
| public int UselessPadding3; | |
| public ushort ZoneAssetSalt4; | |
| public ushort ZoneAssetIndex4; | |
| public int UselessPadding4; | |
| public int Unknown89; | |
| [TagStructure(Size = 0x28)] | |
| public class StructureSeam | |
| { | |
| public uint Unknown; | |
| public uint Unknown2; | |
| public uint Unknown3; | |
| public uint Unknown4; | |
| public List<UnknownBlock> Unknown5; | |
| public List<SeamCluster> SeamClusters; | |
| [TagStructure(Size = 0x4)] | |
| public class UnknownBlock | |
| { | |
| public int Unknown; | |
| } | |
| [TagStructure(Size = 0x10)] | |
| public class SeamCluster | |
| { | |
| public int ClusterIndex; | |
| public float CentroidX; | |
| public float CentroidY; | |
| public float CentroidZ; | |
| } | |
| } | |
| [TagStructure(Size = 0x18)] | |
| public class CollisionMaterial | |
| { | |
| public TagInstance Shader; | |
| public short GlobalMaterialIndex; | |
| public short ConveyorSurfaceIndex; | |
| public short SeamIndex; | |
| public short Unknown; | |
| } | |
| [TagStructure(Size = 0x1)] | |
| public class UnknownBlock | |
| { | |
| public sbyte Unknown; | |
| } | |
| [TagStructure(Size = 0x28)] | |
| public class ClusterPortal | |
| { | |
| public short BackCluster; | |
| public short FrontCluster; | |
| public int PlaneIndex; | |
| public float CentroidX; | |
| public float CentroidY; | |
| public float CentroidZ; | |
| public float BoundingRadius; | |
| public uint Flags; | |
| public List<Vertex> Vertices; | |
| [TagStructure(Size = 0xC)] | |
| public class Vertex | |
| { | |
| public float X; | |
| public float Y; | |
| public float Z; | |
| } | |
| } | |
| [TagStructure(Size = 0x78)] | |
| public class UnknownBlock2 | |
| { | |
| [TagField(Length = 32)] public string Name; | |
| public uint Unknown; | |
| public uint Unknown2; | |
| public uint Unknown3; | |
| public uint Unknown4; | |
| public uint Unknown5; | |
| public uint Unknown6; | |
| public uint Unknown7; | |
| public uint Unknown8; | |
| public uint Unknown9; | |
| public uint Unknown10; | |
| public uint Unknown11; | |
| public uint Unknown12; | |
| public uint Unknown13; | |
| public uint Unknown14; | |
| public uint Unknown15; | |
| public uint Unknown16; | |
| public uint Unknown17; | |
| public uint Unknown18; | |
| public uint Unknown19; | |
| public uint Unknown20; | |
| public uint Unknown21; | |
| public uint Unknown22; | |
| } | |
| [TagStructure(Size = 0x8)] | |
| public class FogBlock | |
| { | |
| public StringID Name; | |
| public short Unknown; | |
| public short Unknown2; | |
| } | |
| [TagStructure(Size = 0x34)] | |
| public class DetailObject | |
| { | |
| public uint Unknown; | |
| public uint Unknown2; | |
| public uint Unknown3; | |
| public uint Unknown4; | |
| public uint Unknown5; | |
| public uint Unknown6; | |
| public uint Unknown7; | |
| public uint Unknown8; | |
| public uint Unknown9; | |
| public uint Unknown10; | |
| public uint Unknown11; | |
| public uint Unknown12; | |
| public uint Unknown13; | |
| } | |
| [TagStructure(Size = 0xDC)] | |
| public class Cluster | |
| { | |
| public float BoundsXMin; | |
| public float BoundsXMax; | |
| public float BoundsYMin; | |
| public float BoundsYMax; | |
| public float BoundsZMin; | |
| public float BoundsZMax; | |
| public sbyte Unknown; | |
| public sbyte ScenarioSkyIndex; | |
| public sbyte CameraEffectIndex; | |
| public sbyte Unknown2; | |
| public short BackgroundSoundEnvironmentIndex; | |
| public short SoundClustersAIndex; | |
| public short Unknown3; | |
| public short Unknown4; | |
| public short Unknown5; | |
| public short Unknown6; | |
| public short Unknown7; | |
| public short RuntimeDecalStartIndex; | |
| public short RuntimeDecalEntryCount; | |
| public short Flags; | |
| public uint Unknown8; | |
| public uint Unknown9; | |
| public uint Unknown10; | |
| public List<Portal> Portals; | |
| public int Unknown11; | |
| public short Size; | |
| public short Count; | |
| public int Offset; | |
| public int Unknown12; | |
| public uint Unknown13; | |
| public uint Unknown14; | |
| public TagInstance Bsp; | |
| public int ClusterIndex; | |
| public int Unknown15; | |
| public short Size2; | |
| public short Count2; | |
| public int Offset2; | |
| public int Unknown16; | |
| public uint Unknown17; | |
| public uint Unknown18; | |
| public uint Unknown19; | |
| public List<CollisionMoppCode> CollisionMoppCodes; | |
| public short ModelSectionIndex; | |
| public short Unknown20; | |
| public List<Seam> Seams; | |
| public List<DecoratorGrid> DecoratorGrids; | |
| public uint Unknown21; | |
| public uint Unknown22; | |
| public uint Unknown23; | |
| public List<UnknownBlock> Unknown24; | |
| public List<UnknownBlock2> Unknown25; | |
| [TagStructure(Size = 0x2)] | |
| public class Portal | |
| { | |
| public short PortalIndex; | |
| } | |
| [TagStructure(Size = 0x40)] | |
| public class CollisionMoppCode | |
| { | |
| public int Unknown; | |
| public short Size; | |
| public short Count; | |
| public int Offset; | |
| public uint Unknown2; | |
| public float OffsetX; | |
| public float OffsetY; | |
| public float OffsetZ; | |
| public float OffsetScale; | |
| public uint Unknown3; | |
| public int DataSize; | |
| public uint DataCapacity; | |
| public sbyte Unknown4; | |
| public sbyte Unknown5; | |
| public sbyte Unknown6; | |
| public sbyte Unknown7; | |
| public List<Datum> Data; | |
| public uint Unknown8; | |
| [TagStructure(Size = 0x1)] | |
| public class Datum | |
| { | |
| public byte DataByte; | |
| } | |
| } | |
| [TagStructure(Size = 0x1)] | |
| public class Seam | |
| { | |
| public sbyte SeamIndex; | |
| } | |
| [TagStructure(Size = 0x30)] | |
| public class DecoratorGrid | |
| { | |
| public short Amount; | |
| public sbyte DecoratorIndex; | |
| public sbyte DecoratorIndexScattering; | |
| public int Unknown; | |
| public float PositionX; | |
| public float PositionY; | |
| public float PositionZ; | |
| public float Radius; | |
| public float GridSizeX; | |
| public float GridSizeY; | |
| public float GridSizeZ; | |
| public float BoundingSphereX; | |
| public float BoundingSphereY; | |
| public float BoundingSphereZ; | |
| } | |
| [TagStructure(Size = 0x4)] | |
| public class UnknownBlock | |
| { | |
| public short Unknown; | |
| public short Unknown2; | |
| } | |
| [TagStructure(Size = 0x10)] | |
| public class UnknownBlock2 | |
| { | |
| public float Unknown; | |
| public float Unknown2; | |
| public float Unknown3; | |
| public short Unknown4; | |
| public short Unknown5; | |
| } | |
| } | |
| [TagStructure(Size = 0x24)] | |
| public class Material | |
| { | |
| public TagInstance Shader; | |
| public List<Property> Properties; | |
| public int Unknown; | |
| public sbyte BreakableSurfaceIndex; | |
| public sbyte Unknown2; | |
| public sbyte Unknown3; | |
| public sbyte Unknown4; | |
| [TagStructure(Size = 0xC)] | |
| public class Property | |
| { | |
| public int Type; | |
| public short IntValue; | |
| public float RealValue; | |
| } | |
| } | |
| [TagStructure(Size = 0x2)] | |
| public class SkyOwnerClusterBlock | |
| { | |
| public short ClusterOwner; | |
| } | |
| [TagStructure(Size = 0x58)] | |
| public class BackgroundSoundEnvironmentPaletteBlock | |
| { | |
| public StringID Name; | |
| public TagInstance SoundEnvironment; | |
| public int Unknown; | |
| public float CutoffDistance; | |
| public float InterpolationSpeed; | |
| public TagInstance BackgroundSound; | |
| public TagInstance InsideClusterSound; | |
| public float CutoffDistance2; | |
| public uint ScaleFlags; | |
| public float InteriorScale; | |
| public float PortalScale; | |
| public float ExteriorScale; | |
| public float InterpolationSpeed2; | |
| } | |
| [TagStructure(Size = 0x3C)] | |
| public class Marker | |
| { | |
| [TagField(Length = 32)] public string Name; | |
| public uint RotationI; | |
| public uint RotationJ; | |
| public uint RotationK; | |
| public uint RotationW; | |
| public uint PositionX; | |
| public uint PositionY; | |
| public uint PositionZ; | |
| } | |
| [TagStructure(Size = 0x10)] | |
| public class Light | |
| { | |
| public TagInstance Light2; | |
| } | |
| [TagStructure(Size = 0x2)] | |
| public class UnknownBlock3 | |
| { | |
| public short Unknown; | |
| } | |
| [TagStructure(Size = 0x24)] | |
| public class RuntimeDecal | |
| { | |
| public short PaletteIndex; | |
| public sbyte Yaw; | |
| public sbyte Pitch; | |
| public float I; | |
| public float J; | |
| public float K; | |
| public float W; | |
| public float X; | |
| public float Y; | |
| public float Z; | |
| public float Scale; | |
| } | |
| [TagStructure(Size = 0x24)] | |
| public class EnvironmentObjectPaletteBlock | |
| { | |
| public TagInstance Definition; | |
| public TagInstance Model; | |
| public uint ObjectType; | |
| } | |
| [TagStructure(Size = 0x6C)] | |
| public class EnvironmentObject | |
| { | |
| [TagField(Length = 32)] public string Name; | |
| public float RotationI; | |
| public float RotationJ; | |
| public float RotationK; | |
| public float RotationW; | |
| public float PositionX; | |
| public float PositionY; | |
| public float PositionZ; | |
| public float Scale; | |
| public short PaletteIndex; | |
| public short Unknown; | |
| public int UniqueId; | |
| [TagField(Length = 32)] public string ScenarioObjectName; | |
| public uint Unknown2; | |
| } | |
| [TagStructure(Size = 0x78)] | |
| public class InstancedGeometryInstance | |
| { | |
| public float Scale; | |
| public float ForwardI; | |
| public float ForwardJ; | |
| public float ForwardK; | |
| public float LeftI; | |
| public float LeftJ; | |
| public float LeftK; | |
| public float UpI; | |
| public float UpJ; | |
| public float UpK; | |
| public float PositionX; | |
| public float PositionY; | |
| public float PositionZ; | |
| public short ModelSectionIndex; | |
| public ushort Flags; | |
| public short UnknownYoIndex; | |
| public short Unknown; | |
| public uint Unknown2; | |
| public float BoundingSphereX; | |
| public float BoundingSphereY; | |
| public float BoundingSphereZ; | |
| public float BoundingSphereRadius1; | |
| public float BoundingSphereRadius2; | |
| public StringID Name; | |
| public short PathfindingPolicy; | |
| public short LightmappingPolicy; | |
| public uint Unknown3; | |
| public List<CollisionDefinition> CollisionDefinitions; | |
| public short Unknown4; | |
| public short Unknown5; | |
| public short Unknown6; | |
| public short Unknown7; | |
| public uint Unknown8; | |
| [TagStructure(Size = 0x70)] | |
| public class CollisionDefinition | |
| { | |
| public int Unknown; | |
| public short Size; | |
| public short Count; | |
| public int Offset; | |
| public int Unknown2; | |
| public uint Unknown3; | |
| public uint Unknown4; | |
| public uint Unknown5; | |
| public uint Unknown6; | |
| public float Unknown7; | |
| public float Unknown8; | |
| public float Unknown9; | |
| public uint Unknown10; | |
| public float Unknown11; | |
| public float Unknown12; | |
| public float Unknown13; | |
| public uint Unknown14; | |
| public int Unknown15; | |
| public uint Unknown16; | |
| public sbyte BspIndex; | |
| public sbyte Unknown17; | |
| public short InstancedGeometryIndex; | |
| public float Unknown18; | |
| public int Unknown19; | |
| public short Size2; | |
| public short Count2; | |
| public int Offset2; | |
| public int Unknown20; | |
| public uint Unknown21; | |
| public uint Unknown22; | |
| public uint Unknown23; | |
| public float Unknown24; | |
| } | |
| } | |
| [TagStructure(Size = 0x10)] | |
| public class Decorator | |
| { | |
| public TagInstance Decorator2; | |
| } | |
| [TagStructure(Size = 0x4C)] | |
| public class Section | |
| { | |
| public List<Submesh> Submeshes; | |
| public List<VertexGroup> VertexGroups; | |
| public short ValidMeshIndex; | |
| public short ValidWorldMeshIndex; | |
| public short ValidTransparent3MeshIndex; | |
| public short ValidOpaqueMeshIndex; | |
| public int RawId; | |
| public short ValidWaterMeshIndex1; | |
| public short ValidWaterMeshIndex2; | |
| public short ValidSectionIndex; | |
| public short ValidWaterSectionIndex; | |
| public sbyte TransparentNodesPerVertex; | |
| public sbyte RigidNode; | |
| public MeshTypeValue MeshType; | |
| public sbyte OpaqueMaxNodesVertex; | |
| public sbyte Unknown; | |
| public sbyte Unknown2; | |
| public sbyte Unknown3; | |
| public sbyte Unknown4; | |
| public List<InstancedGeometryIndex> InstancedGeometryIndices; | |
| public List<UnknownWaterBlock> UnknownWater; | |
| [TagStructure(Size = 0x10)] | |
| public class Submesh | |
| { | |
| public short MaterialIndex; | |
| public short UnknownNodeyIndex; | |
| public short IndexBufferStart; | |
| public short IndexBufferCount; | |
| public short VertexGroupIndex; | |
| public short VertexGroupCount; | |
| public sbyte UnknownEnum; | |
| public byte Flags; | |
| public short VertexBufferCount; | |
| } | |
| [TagStructure(Size = 0x8)] | |
| public class VertexGroup | |
| { | |
| public short IndexBufferStart; | |
| public short IndexBufferCount; | |
| public short ParentSubmeshIndex; | |
| public short VertexBufferCount; | |
| } | |
| public enum MeshTypeValue : sbyte | |
| { | |
| World, | |
| Rigid, | |
| Skinned, | |
| ParticleModel, | |
| FlatWorld, | |
| FlatRigid, | |
| FlatSkinned, | |
| Screen, | |
| Debug, | |
| Transparent, | |
| Particle, | |
| Contrail, | |
| LightVolume, | |
| ChudSimple, | |
| ChudFancy, | |
| Decorator, | |
| TinyPosition, | |
| PatchyFog, | |
| Water, | |
| Ripple, | |
| Implicit, | |
| Beam, | |
| } | |
| [TagStructure(Size = 0x10)] | |
| public class InstancedGeometryIndex | |
| { | |
| public short InstancedGeometrySectionIndex1; | |
| public short InstancedGeometrySectionIndex2; | |
| public List<InstancedGeometrySectionContent> InstancedGeometrySectionContents; | |
| [TagStructure(Size = 0x2)] | |
| public class InstancedGeometrySectionContent | |
| { | |
| public short InstancedGeometryIndex; | |
| } | |
| } | |
| [TagStructure(Size = 0x2)] | |
| public class UnknownWaterBlock | |
| { | |
| public short Unknown; | |
| } | |
| } | |
| [TagStructure(Size = 0x2C)] | |
| public class CompressionInfoBlock | |
| { | |
| public short Unknown; | |
| public short Unknown2; | |
| public float PositionBoundsXMin; | |
| public float PositionBoundsXMax; | |
| public float PositionBoundsYMin; | |
| public float PositionBoundsYMax; | |
| public float PositionBoundsZMin; | |
| public float PositionBoundsZMax; | |
| public float TexcoordBoundsXMin; | |
| public float TexcoordBoundsXMax; | |
| public float TexcoordBoundsYMin; | |
| public float TexcoordBoundsYMax; | |
| } | |
| [TagStructure(Size = 0x30)] | |
| public class UnknownNodeyBlock | |
| { | |
| public float Unknown; | |
| public float Unknown2; | |
| public float Unknown3; | |
| public float Unknown4; | |
| public float Unknown5; | |
| public float Unknown6; | |
| public float Unknown7; | |
| public float Unknown8; | |
| public sbyte NodeIndex; | |
| public sbyte NodeIndex2; | |
| public sbyte NodeIndex3; | |
| public sbyte NodeIndex4; | |
| public float Unknown9; | |
| public float Unknown10; | |
| public float Unknown11; | |
| } | |
| [TagStructure(Size = 0x18)] | |
| public class UnknownBlock4 | |
| { | |
| public short Unknown; | |
| public short Unknown2; | |
| public byte[] Unknown3; | |
| } | |
| [TagStructure(Size = 0x20)] | |
| public class UnknownSection | |
| { | |
| public byte[] Unknown; | |
| public List<UnknownBlock> Unknown2; | |
| [TagStructure(Size = 0x2)] | |
| public class UnknownBlock | |
| { | |
| public short Unknown; | |
| } | |
| } | |
| [TagStructure(Size = 0xC)] | |
| public class NodeMap | |
| { | |
| public List<UnknownBlock> Unknown; | |
| [TagStructure(Size = 0x1)] | |
| public class UnknownBlock | |
| { | |
| public byte NodeIndex; | |
| } | |
| } | |
| [TagStructure(Size = 0xC)] | |
| public class UnknownBlock5 | |
| { | |
| public List<UnknownBlock> Unknown; | |
| [TagStructure(Size = 0x30)] | |
| public class UnknownBlock | |
| { | |
| public uint Unknown; | |
| public uint Unknown2; | |
| public uint Unknown3; | |
| public uint Unknown4; | |
| public uint Unknown5; | |
| public uint Unknown6; | |
| public uint Unknown7; | |
| public uint Unknown8; | |
| public uint Unknown9; | |
| public uint Unknown10; | |
| public uint Unknown11; | |
| public uint Unknown12; | |
| } | |
| } | |
| [TagStructure(Size = 0x10)] | |
| public class UnknownYoBlock | |
| { | |
| public uint Unknown; | |
| public uint Unknown2; | |
| public uint Unknown3; | |
| public short UnknownIndex; | |
| public short Unknown4; | |
| } | |
| [TagStructure(Size = 0x1C)] | |
| public class UnknownSoundClustersABlock | |
| { | |
| public short BackgroundSoundEnvironmentIndex; | |
| public short Unknown; | |
| public List<PortalDesignator> PortalDesignators; | |
| public List<InteriorClusterIndex> InteriorClusterIndices; | |
| [TagStructure(Size = 0x2)] | |
| public class PortalDesignator | |
| { | |
| public short PortalDesignator2; | |
| } | |
| [TagStructure(Size = 0x2)] | |
| public class InteriorClusterIndex | |
| { | |
| public short InteriorClusterIndex2; | |
| } | |
| } | |
| [TagStructure(Size = 0x1C)] | |
| public class UnknownSoundClustersBBlock | |
| { | |
| public short BackgroundSoundEnvironmentIndex; | |
| public short Unknown; | |
| public List<PortalDesignator> PortalDesignators; | |
| public List<InteriorClusterIndex> InteriorClusterIndices; | |
| [TagStructure(Size = 0x2)] | |
| public class PortalDesignator | |
| { | |
| public short PortalDesignator2; | |
| } | |
| [TagStructure(Size = 0x2)] | |
| public class InteriorClusterIndex | |
| { | |
| public short InteriorClusterIndex2; | |
| } | |
| } | |
| [TagStructure(Size = 0x1C)] | |
| public class UnknownSoundClustersCBlock | |
| { | |
| public short BackgroundSoundEnvironmentIndex; | |
| public short Unknown; | |
| public List<PortalDesignator> PortalDesignators; | |
| public List<InteriorClusterIndex> InteriorClusterIndices; | |
| [TagStructure(Size = 0x2)] | |
| public class PortalDesignator | |
| { | |
| public short PortalDesignator2; | |
| } | |
| [TagStructure(Size = 0x2)] | |
| public class InteriorClusterIndex | |
| { | |
| public short InteriorClusterIndex2; | |
| } | |
| } | |
| [TagStructure(Size = 0x14)] | |
| public class TransparentPlane | |
| { | |
| public short ModelSectionIndex; | |
| public short PartIndex; | |
| public float PlaneI; | |
| public float PlaneJ; | |
| public float PlaneK; | |
| public float PlaneD; | |
| } | |
| [TagStructure(Size = 0x40)] | |
| public class CollisionMoppCode | |
| { | |
| public int Unknown; | |
| public short Size; | |
| public short Count; | |
| public int Offset; | |
| public uint Unknown2; | |
| public float OffsetX; | |
| public float OffsetY; | |
| public float OffsetZ; | |
| public float OffsetScale; | |
| public uint Unknown3; | |
| public int DataSize; | |
| public uint DataCapacity; | |
| public sbyte Unknown4; | |
| public sbyte Unknown5; | |
| public sbyte Unknown6; | |
| public sbyte Unknown7; | |
| public List<Datum> Data; | |
| public uint Unknown8; | |
| [TagStructure(Size = 0x1)] | |
| public class Datum | |
| { | |
| public byte DataByte; | |
| } | |
| } | |
| [TagStructure(Size = 0x40)] | |
| public class BreakableSurfaceMoppCode | |
| { | |
| public int Unknown; | |
| public short Size; | |
| public short Count; | |
| public int Offset; | |
| public uint Unknown2; | |
| public float OffsetX; | |
| public float OffsetY; | |
| public float OffsetZ; | |
| public float OffsetScale; | |
| public uint Unknown3; | |
| public int DataSize; | |
| public uint DataCapacity; | |
| public sbyte Unknown4; | |
| public sbyte Unknown5; | |
| public sbyte Unknown6; | |
| public sbyte Unknown7; | |
| public List<Datum> Data; | |
| public uint Unknown8; | |
| [TagStructure(Size = 0x1)] | |
| public class Datum | |
| { | |
| public byte DataByte; | |
| } | |
| } | |
| [TagStructure(Size = 0x20)] | |
| public class BreakableSurfaceKeyTableBlock | |
| { | |
| public short InstancedGeometryIndex; | |
| public sbyte BreakableSurfaceIndex; | |
| public byte BreakableSurfaceSubIndex; | |
| public int SeedSurfaceIndex; | |
| public float X0; | |
| public float X1; | |
| public float Y0; | |
| public float Y1; | |
| public float Z0; | |
| public float Z1; | |
| } | |
| [TagStructure(Size = 0x4C)] | |
| public class Section2 | |
| { | |
| public List<Submesh> Submeshes; | |
| public List<VertexGroup> VertexGroups; | |
| public short ValidMeshIndex; | |
| public short ValidWorldMeshIndex; | |
| public short ValidTransparent3MeshIndex; | |
| public short ValidOpaqueMeshIndex; | |
| public int RawId; | |
| public short ValidWaterMeshIndex1; | |
| public short ValidWaterMeshIndex2; | |
| public short ValidSectionIndex; | |
| public short ValidWaterSectionIndex; | |
| public sbyte TransparentNodesPerVertex; | |
| public sbyte RigidNode; | |
| public MeshTypeValue MeshType; | |
| public sbyte OpaqueMaxNodesVertex; | |
| public sbyte Unknown; | |
| public sbyte Unknown2; | |
| public sbyte Unknown3; | |
| public sbyte Unknown4; | |
| public List<InstancedGeometryIndex> InstancedGeometryIndices; | |
| public List<UnknownWaterBlock> UnknownWater; | |
| [TagStructure(Size = 0x10)] | |
| public class Submesh | |
| { | |
| public short MaterialIndex; | |
| public short UnknownNodeyIndex; | |
| public short IndexBufferStart; | |
| public short IndexBufferCount; | |
| public short VertexGroupIndex; | |
| public short VertexGroupCount; | |
| public sbyte UnknownEnum; | |
| public byte Flags; | |
| public short VertexBufferCount; | |
| } | |
| [TagStructure(Size = 0x8)] | |
| public class VertexGroup | |
| { | |
| public short IndexBufferStart; | |
| public short IndexBufferCount; | |
| public short ParentSubmeshIndex; | |
| public short VertexBufferCount; | |
| } | |
| public enum MeshTypeValue : sbyte | |
| { | |
| World, | |
| Rigid, | |
| Skinned, | |
| ParticleModel, | |
| FlatWorld, | |
| FlatRigid, | |
| FlatSkinned, | |
| Screen, | |
| Debug, | |
| Transparent, | |
| Particle, | |
| Contrail, | |
| LightVolume, | |
| ChudSimple, | |
| ChudFancy, | |
| Decorator, | |
| TinyPosition, | |
| PatchyFog, | |
| Water, | |
| Ripple, | |
| Implicit, | |
| Beam, | |
| } | |
| [TagStructure(Size = 0x10)] | |
| public class InstancedGeometryIndex | |
| { | |
| public short InstancedGeometrySectionIndex1; | |
| public short InstancedGeometrySectionIndex2; | |
| public List<InstancedGeometrySectionContent> InstancedGeometrySectionContents; | |
| [TagStructure(Size = 0x2)] | |
| public class InstancedGeometrySectionContent | |
| { | |
| public short InstancedGeometryIndex; | |
| } | |
| } | |
| [TagStructure(Size = 0x2)] | |
| public class UnknownWaterBlock | |
| { | |
| public short Unknown; | |
| } | |
| } | |
| [TagStructure(Size = 0x2C)] | |
| public class CompressionInfoBlock2 | |
| { | |
| public short Unknown; | |
| public short Unknown2; | |
| public float PositionBoundsXMin; | |
| public float PositionBoundsXMax; | |
| public float PositionBoundsYMin; | |
| public float PositionBoundsYMax; | |
| public float PositionBoundsZMin; | |
| public float PositionBoundsZMax; | |
| public float TexcoordBoundsXMin; | |
| public float TexcoordBoundsXMax; | |
| public float TexcoordBoundsYMin; | |
| public float TexcoordBoundsYMax; | |
| } | |
| [TagStructure(Size = 0x30)] | |
| public class UnknownNodeyBlock2 | |
| { | |
| public float Unknown; | |
| public float Unknown2; | |
| public float Unknown3; | |
| public float Unknown4; | |
| public float Unknown5; | |
| public float Unknown6; | |
| public float Unknown7; | |
| public float Unknown8; | |
| public sbyte NodeIndex; | |
| public sbyte NodeIndex2; | |
| public sbyte NodeIndex3; | |
| public sbyte NodeIndex4; | |
| public float Unknown9; | |
| public float Unknown10; | |
| public float Unknown11; | |
| } | |
| [TagStructure(Size = 0x18)] | |
| public class UnknownBlock6 | |
| { | |
| public short Unknown; | |
| public short Unknown2; | |
| public byte[] Unknown3; | |
| } | |
| [TagStructure(Size = 0x20)] | |
| public class UnknownSection2 | |
| { | |
| public byte[] Unknown; | |
| public List<UnknownBlock> Unknown2; | |
| [TagStructure(Size = 0x2)] | |
| public class UnknownBlock | |
| { | |
| public short Unknown; | |
| } | |
| } | |
| [TagStructure(Size = 0xC)] | |
| public class NodeMap2 | |
| { | |
| public List<UnknownBlock> Unknown; | |
| [TagStructure(Size = 0x1)] | |
| public class UnknownBlock | |
| { | |
| public byte NodeIndex; | |
| } | |
| } | |
| [TagStructure(Size = 0xC)] | |
| public class UnknownBlock7 | |
| { | |
| public List<UnknownBlock> Unknown; | |
| [TagStructure(Size = 0x30)] | |
| public class UnknownBlock | |
| { | |
| public uint Unknown; | |
| public uint Unknown2; | |
| public uint Unknown3; | |
| public uint Unknown4; | |
| public uint Unknown5; | |
| public uint Unknown6; | |
| public uint Unknown7; | |
| public uint Unknown8; | |
| public uint Unknown9; | |
| public uint Unknown10; | |
| public uint Unknown11; | |
| public uint Unknown12; | |
| } | |
| } | |
| [TagStructure(Size = 0x10)] | |
| public class UnknownYoBlock2 | |
| { | |
| public uint Unknown; | |
| public uint Unknown2; | |
| public uint Unknown3; | |
| public short UnknownIndex; | |
| public short Unknown4; | |
| } | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment