Files
BT411/context/asset-formats.md
T
arcattackandClaude Fable 5 3c34ae6de6 KB: full staleness audit + sweep -- 35 verified corrections across 16 topics, 15 new glossary terms
Adversarially-verified audit (18 agents) against the task #46-#56 landings:
MP/current-state understatements, superseded punch readings, retired env
gates, dead paths, line-cite drift; env-gate hub table completed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-11 10:56:51 -05:00

3.3 KiB

id, title, status, source_sections, related_topics, key_terms
id title status source_sections related_topics key_terms
asset-formats Asset Formats — MOD/SKL/ANI/BMF/BSL/textures/gauges/collision established PROGRESS_LOG.md §5; docs/ASSET_PIPELINE.md; docs/BGF_FORMAT.md
bgf-format
rendering
locomotion
combat-damage
gauges-hud
MOD
SKL
ANI
BMF
BSL
VTX
SLD
DZM
PCC
GIM
material-ramp

Asset Formats

All reverse-engineered. Geometry (BGF) has its own topic (bgf-format); the full pixel/material spec is docs/ASSET_PIPELINE.md. Full list: docs/PROGRESS_LOG.md §5.

Definition / skeleton / animation

  • .MOD — INI mech/object definition: skeleton, skins, collision, gauges, physics, animations, class. The .MOD physics (MoverMass/drag/MaxAcceleration) governed thrust VEHICLES + collisions, NOT walk gait (locomotion). [T1]
  • .SKL — INI joint skeleton. [joint] parent=, Type=(hingex/y/z|ball|balltranslate), Object=part.bgf, dzone=, tranx/y/z, pitch/yaw/roll. Build a DCS tree; neutral pose ≈ translations (pyr≈0). [T1]
  • .ANI — INI keyframe animation. [HEADER] framecount/framerate(30)/skeletonfile; [frameN] joint→rx ry rz radians (balltranslate→translate); [RootTranslation] per-keyframe x y z where .z = forward root SPEED (units/s). Walk anims have no baked root translation — forward motion is animation-driven from .z (locomotion). [T1]

Materials / textures

  • .BMFDIV-BIZ2 (FILETYPE=1) material+texture LIBRARY (no pixels). Material → DIFFUSE color
    • MATERIAL_TEXTURE→texture→TEXTURE_MAP image basename. Tags: 0x18 BITSLICE (BSL slice select), 0x28 ramp ref, 0x26 emissive, 0x30/0x31 ramp def. [T1]
  • Texture pixels: .tga (Truevision), .vtx (DIV-VTX2, trailing RGB), and .bsl (DIV-BSL2 — a BIT-SLICED container: w*h 32-bit texel words holding SIX independent 4-bit GRAYSCALE sub-images (nibble pair-swapped, byte 0 pad) OR RGB444/RGBA4444 (sliceType 7/8). The BMF 0x18 BITSLICE tag picks the slice, absent=0). Decoding BSL as RGB = the "rainbow/graffiti mech" bug. Reference reader: DivLoader/VGCDivLoader.cpp:323-410; archive-only — in-repo reimplementation: engine/MUNGA_L4/image.cpp. [T2]
  • .VMFDIV-VIZ2 material SOURCE. Carries the SCROLL animation + MAP{} image binding for effects (beams/muzzle/smoke/sky). THE key effects asset (rendering). [T2]
  • material-ramp — the IG board colours no-normal geometry by a 2-endpoint RAMP; details in bgf-format + rendering. [T2]

Collision / damage / subsystems

  • .SLD collision solids (Block/YCyl/Cone/Ramp/Wedge). Terrain is modeled AS collision volumes; see locomotion ground model + combat-damage. [T1]
  • .DZM = INI damage-zone→material map (mech skin damage states). .DMG/.TBL damage zones/tables, .SUB subsystems (weapon params — DischargeTime/RechargeRate/WeaponRange), .CTL control maps. [T1]

Cockpit HUD assets (gauges-hud)

  • .GIM vector MFD/radar line maps + .GAT color table; .PCC ZSoft PCX 8-bit gauge rasters (fonts helv15/helv42, label strips, dials). [T1]

Key Relationships