Object formats - cterveen/upkg GitHub Wiki

Object formats

These are the formats of the different objects

Contents

Brush
LODMesh
Mesh
Model
Palette
Polys
Texture

Brush

  • objectproperties

LODMesh

LODMesh is a subclass of Mesh, so all data from Mesh is before the LODMesh data.

  • index - CollapsePointThus_Count
  • each CollapsePointThus_Count
    • short - CollapsePointThus
  • index - FaceLevel_Count
  • each FaceLevel_Count
    • short - FaceLevel
  • index - Faces_Count
  • each Faces_Count
    • short - WedgeIndex1
    • short - WedgeIndex2
    • short - WedgeIndex3
    • short - MaterialIndex_
  • index - CollapseWedgeThus_Count
  • each CollapseWedgeThus_Count
    • word CollapseWedgeThus
  • index Wedges_Count
  • each Wedges_Count
    • short - VertexIndex
    • byte - S
    • byte - T
  • index Materials_Count
  • each Materials_Count
    • long - Flags
    • long - TextureIndex
  • index SpecialFaces_Count
  • each SpecialFaces_Count
    • short SpecialWedgeIndex1
    • short SpecialWedgeIndex2
    • short SpecialWedgeIndex3
    • short SpecialMaterialIndex4
  • long - ModelVerts
  • long - SpecialVerts
  • float - MeshScaleMax
  • float - LODHysterisis
  • float - LODStrength
  • long - LoDMinVerts
  • float - LODMorph
  • float LODZDisplace
  • index ReMapAnimVerts_Count
  • each ReMapAnimVerts_Count
    • short ReMapAnimVerts
  • long - OldFrameVerts

Mesh

  • objectproperties
  • boundingbox - Primitive.Boundingbox
  • boundingsphere - Primitive.BoundingSphere
  • if (version >61)
    • long - Verts_Jump
  • index - Verts_Count
  • each Verts_Count
    • long - XYZ
  • if (version > 61)
    • long - Tris_Jump
  • index - Tris_Count
  • each Tris_Count
    • short - VertexIndex1
    • short - VertexIndex2
    • short - VertexIndex3
    • byte - VertexIndex1_U
    • byte - VertexIndex1_V
    • byte - VertexIndex2_U
    • byte - VertexIndex2_V
    • byte - VertexIndex3_U
    • byte - VertexIndex3_V
    • long - Flags
    • long - TextureIndex
  • index - AnimSeqs_Count
  • each AbumSeqs_Count
    • index - Name
    • index - Group
    • long - Start_Frame
    • long - Num_Frames
    • index - Function_Count
    • each Function_Count
      • long - Time
      • index - Function
    • float - Rate
  • long - Connects_jump
  • index - Connects_count
  • each Connects_count
    • long - NumVerTriangles
    • long - TriangleListOfset
  • boundingbox - BoundingBox
  • boundingsphere - BoundingSphere
  • long - VertLinks_Jump
  • index - VertLinks_Count
  • each VertLinks_Count
    • long - VertLink
  • index - Texture_Count
  • each Texture_Count
    • index Texture
  • index BoundingBoxes_Count
  • each BoundingBoxes_Count
    • boundingbox - BoundingBoxes
  • index BoundingSpheres_Count
  • each BoundingSpheres_Count
    • boundingsphre - BoundingSpheres
  • long - FrameVerts
  • long - AnimVerts
  • long - ANDFlags
  • long - ORFlags
  • vector - Scale
  • vector - Origin
  • rotator - RotOrigin
  • long - CurPoly
  • long - CurVertex
  • if version == 65
    • float - TextureLOD?
  • if version > 65
    • index - Texture_LOD_Count
    • each Texture_LOD_Count
      • float - TextureLOD

Model

  • objectproperties
  • 54 bytes - no idea
  • index - export property polys
  • 14 bytes - no idea

Palette

  • objectproperties
  • index - PaletteSize
  • each PalletteSize
    • byte - Red
    • byte - Green
    • byte - Blue
    • byte - Alpha

Polys

  • objectproperties
  • long - numPolys
  • long - arrayLength
  • each arrayLength
    • index - numcoords
    • float - base_x
    • float - base_y
    • float - base_z
    • float - normal_x
    • float - normal_y
    • float - normal_z
    • float - texu_x
    • float - texu_y
    • float - texu_z
    • float - texv_x
    • float - texv_y
    • float - texv_z
    • each numcoords
      • float x
      • float y
      • float z
    • long - polyflags
    • index - actor
    • index - texture
    • index - itemname
    • index - ilink
    • index - ibrushpoly
    • short - panu
    • short - panv

Texture

  • objectproperties
  • byte - MipMapCount
  • each MipMapCount
    • if (Version >= 63)
      • long - WidthOffset
    • index - MipMapSize
    • each MipMapSize
      • byte - MipMapValue
    • long - width
    • long - height
    • byte - bitswidth
    • byte - bitsheight
⚠️ **GitHub.com Fallback** ⚠️