Files
BT412/content/VIDEO/OWN.SKL
T
arcattackandClaude Opus 4.8 7b7d465e5e Initial commit: bt411 -- standalone Windows BattleTech (Tesla 4.10 port)
Clean, self-contained extraction of the BattleTech-specific work from the
reverse-engineering workspace -- engine + game + content + build, with nothing
from Red Planet or the raw archive dumps. Builds green (Win32) and runs the
single-player drive->animate->target->fire->damage->destroy loop out of the box.

Layout:
  engine/   MUNGA + MUNGA_L4 shared 2007 engine, carrying our BT render/loader
            work (bgfload/L4D3D/L4VIDEO: BSL bit-slice decode, LOD/ground/shadow
            models) + image codec; the minimal rp/ headers the audio HAL needs
  game/     reconstructed BT logic + surviving-original BT source + fwd shims
            + WinMain launcher
  content/  full runtime tree (BTL4.RES, VIDEO/, GAUGE/, AUDIO/, eggs, BTDPL.INI)
  docs/     format specs + reconstruction ledgers
  reference/ raw Ghidra pseudocode (recon source-of-truth) + decomp exporter
  tools/    MP console emulator + map/resource scanners

One top-level CMake builds munga_engine lib + bt410_l4 game lib + btl4.exe.
All paths relativized (186 fwd shims + ~437 CMake abs paths -> repo-relative);
DXSDK is the one external, overridable via -DDXSDK. Verified: builds to a
byte-identical 2.27MB exe and runs combat (TARGET DESTROYED, 0 crashes) against
the bundled content.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 21:03:40 -05:00

572 lines
8.9 KiB
Plaintext

[LAB_ONLY] // this file has not been approved for release
[DamageZones] // call MakeEntryList with 'dz_'
dz_dtorso=0
dz_ldleg=1
dz_lfoot=2
dz_lmissle=3
dz_ltorso=4
dz_luleg=5
dz_rdleg=6
dz_reardtorso=7
dz_rearltorso=8
dz_rearrtorso=9
dz_rearutorso=10
dz_rfoot=11
dz_rmissle=12
dz_rtorso=13
dz_ruleg=14
dz_searchlight=15
dz_utorso=16
[ROOT]
JointCount=20
DZoneCount=17
Former Segment=segroot
tranx=0
trany=0
tranz=-0.8
pitch=0
yaw=-0
roll=0
joint=jointlocal
joint=jointshadow
[jointlocal]
parent=ROOT
Type=balltranslate
Former Segment=segem1
tranx=0
trany=5.72442
tranz=0
pitch=0
yaw=-0
roll=0
joint=jointhip
joint=jointlthigh
joint=jointrthigh
[jointhip]
parent=jointlocal
Type=hingex
Former Segment=segtor
tranx=0
trany=1.69992
tranz=0.799999
pitch=1.72853e-06
yaw=-0
roll=0
joint=jointshakey
joint=jointeye
[jointshakey]
parent=jointhip
Type=ball
Object=own_tor.bgf
dzone=dz_dtorso
dzone=dz_ltorso
dzone=dz_reardtorso
dzone=dz_rearltorso
dzone=dz_rearrtorso
dzone=dz_rearutorso
dzone=dz_rtorso
dzone=dz_utorso
Former Segment=segshake
tranx=-0.000412777
trany=0.110331
tranz=1.88354e-06
pitch=-8.52211e-07
yaw=5.31863e-13
roll=3.01991e-07
joint=jointturret
joint=jointrantenna
joint=jointlantenna
joint=jointlmissle
joint=jointrmissle
site=siteedz_dtorso
site=siteedz_utorso
site=siteedz_rtorso
site=siteedz_ltorso
site=siteedz_reardtorso
site=siteedz_rearrtorso
site=siteedz_rearutorso
site=siteedz_rearltorso
site=sitedgunport
[sitedgunport]
parent=jointshakey
tranx=-0
trany=-0
tranz=-0
pitch=-1.77533e-09
yaw=-1.73704e-11
roll=3.85488e-15
[jointturret]
parent=jointshakey
Type=hingey
Object=own_tur.bgf
dzone=dz_rearutorso
dzone=dz_utorso
Former Segment=segtur
tranx=0.192413
trany=0.464669
tranz=-0.655001
pitch=-8.5221e-07
yaw=-3.55894e-13
roll=-4.26106e-07
joint=jointcamera
[jointcamera]
parent=jointturret
Type=static
Object=own_cam.bgf
dzone=dz_searchlight
Former Segment=segcam
tranx=-0.524997
trany=0.717003
tranz=0.105
pitch=-1.76069e-09
yaw=-2.75139e-14
roll=-5.80461e-09
site=sitelight
site=siteedz_searchlight
[sitelight]
parent=jointcamera
tranx=-0.220394
trany=0.20743
tranz=-0.61822
pitch=-2.23517e-08
yaw=2.39392e-16
roll=1.07102e-08
[siteedz_searchlight]
parent=jointcamera
tranx=-0.220392
trany=-0.0387402
tranz=0.027748
pitch=9.68576e-08
yaw=2.90393e-15
roll=1.2992e-07
[jointrantenna]
parent=jointshakey
Type=hingex
Object=own_rant.bgf
dzone=dz_rearutorso
Former Segment=segrant
tranx=0.669412
trany=0.17767
tranz=0.538998
pitch=-8.52211e-07
yaw=1.49483e-06
roll=-4.26107e-07
[jointlantenna]
parent=jointshakey
Type=hingex
Object=own_lant.bgf
dzone=dz_rearutorso
Former Segment=seglant
tranx=-0.672586
trany=0.17767
tranz=0.539
pitch=-8.52211e-07
yaw=1.49483e-06
roll=-4.26107e-07
[jointlmissle]
parent=jointshakey
Type=static
Object=own_lmsl.bgf
dzone=dz_lmissle
Former Segment=seglmsl
tranx=-2.44159
trany=-0.10733
tranz=0.000538362
pitch=0.00044298
yaw=1.33403e-10
roll=-4.26106e-07
site=sitelfgunport
site=sitelmissleport
site=sitelbgunport
site=siteedz_lmissle
[sitelfgunport]
parent=jointlmissle
tranx=-0.384
trany=-0.402455
tranz=-1.02536
pitch=-1.77533e-09
yaw=-1.73704e-11
roll=3.85488e-15
[sitelmissleport]
parent=jointlmissle
tranx=-0.699
trany=0.584545
tranz=-1.0258
pitch=-3.52156e-09
yaw=-1.73704e-11
roll=3.85478e-15
[sitelbgunport]
parent=jointlmissle
tranx=-0.384
trany=-0.401645
tranz=0.799639
pitch=-6.98492e-09
yaw=3.14159
roll=1.66392e-12
[siteedz_lmissle]
parent=jointlmissle
tranx=-0.828
trany=0.215949
tranz=-0.122635
pitch=-3.52156e-09
yaw=-2.21097e-10
roll=4.61183e-13
[jointrmissle]
parent=jointshakey
Type=static
Object=own_rmsl.bgf
dzone=dz_rmissle
Former Segment=segrmsl
tranx=2.44241
trany=-0.10733
tranz=0.000531928
pitch=0.00044298
yaw=1.33403e-10
roll=-4.26106e-07
site=siterbgunport
site=sitermissleport
site=siterfgunport
site=siteedz_rmissle
[siterbgunport]
parent=jointrmissle
tranx=0.384
trany=-0.401646
tranz=0.799646
pitch=-1.52765e-26
yaw=3.14159
roll=-2.60396e-15
[sitermissleport]
parent=jointrmissle
tranx=0.699
trany=0.584545
tranz=-1.02579
pitch=-1.52765e-26
yaw=1.17333e-11
roll=-2.60396e-15
[siterfgunport]
parent=jointrmissle
tranx=0.384
trany=-0.402455
tranz=-1.02535
pitch=-1.52765e-26
yaw=1.17333e-11
roll=-2.60396e-15
[siteedz_rmissle]
parent=jointrmissle
tranx=0.82801
trany=0.215606
tranz=-0.122616
pitch=-1.52765e-26
yaw=1.17333e-11
roll=-2.60396e-15
[siteedz_dtorso]
parent=jointshakey
tranx=0.000412384
trany=-1.30032
tranz=-1.35208
pitch=-8.52211e-07
yaw=1.49483e-06
roll=-4.26107e-07
[siteedz_utorso]
parent=jointshakey
tranx=0.000413367
trany=0.374937
tranz=-1.26338
pitch=-8.52211e-07
yaw=1.49483e-06
roll=-4.26107e-07
[siteedz_rtorso]
parent=jointshakey
tranx=1.21508
trany=-0.532687
tranz=-1.26338
pitch=-8.52211e-07
yaw=1.49483e-06
roll=-4.26107e-07
[siteedz_ltorso]
parent=jointshakey
tranx=-1.21459
trany=-0.532686
tranz=-1.26338
pitch=-8.52211e-07
yaw=1.49483e-06
roll=-4.26107e-07
[siteedz_reardtorso]
parent=jointshakey
tranx=0.000412549
trany=-1.05052
tranz=0.799454
pitch=-8.52211e-07
yaw=1.49483e-06
roll=-4.26107e-07
[siteedz_rearrtorso]
parent=jointshakey
tranx=1.18557
trany=-0.57297
tranz=0.8
pitch=-8.52211e-07
yaw=1.49483e-06
roll=-4.26107e-07
[siteedz_rearutorso]
parent=jointshakey
tranx=0.000413225
trany=0.30049
tranz=0.229772
pitch=-8.52211e-07
yaw=1.49483e-06
roll=-4.26107e-07
[siteedz_rearltorso]
parent=jointshakey
tranx=-1.21459
trany=-0.572969
tranz=0.8
pitch=-8.52211e-07
yaw=1.49483e-06
roll=-4.26107e-07
[jointlthigh]
parent=jointlocal
Type=hingex
Object=own_lule.bgf
dzone=dz_luleg
Former Segment=segluleg
tranx=-1.75247
trany=1.70245
tranz=0.799998
pitch=0
yaw=-0
roll=0
joint=jointlknee
site=siteedz_luleg
[jointlknee]
parent=jointlthigh
Type=hingex
Object=own_ldle.bgf
dzone=dz_ldleg
Former Segment=segldleg
tranx=0
trany=-2.46711
tranz=0.838288
pitch=0
yaw=-1.51337e-09
roll=0
joint=jointlbacktoe
joint=jointlfronttoe
site=siteedz_lfoot
site=siteedz_ldleg
[jointlbacktoe]
parent=jointlknee
Type=hingex
Object=own_lbto.bgf
dzone=dz_lfoot
Former Segment=seglbto
tranx=0
trany=-4.67861
tranz=-1.43829
pitch=-2.61618e-17
yaw=3.44169e-15
roll=-1.72871e-08
[jointlfronttoe]
parent=jointlknee
Type=hingex
Object=own_lfto.bgf
dzone=dz_lfoot
Former Segment=seglfto
tranx=0.000239968
trany=-4.67819
tranz=-2.03742
pitch=-1.69873e-06
yaw=2.79495e-14
roll=-1.72871e-08
[siteedz_lfoot]
parent=jointlknee
tranx=0.000239968
trany=-4.74142
tranz=-1.75329
pitch=-1.81793e-06
yaw=3.31363e-14
roll=-1.72872e-08
[siteedz_ldleg]
parent=jointlknee
tranx=0.000239968
trany=-1.66542
tranz=-0.583286
pitch=-1.81793e-06
yaw=3.31363e-14
roll=-1.72873e-08
[siteedz_luleg]
parent=jointlthigh
tranx=-0.10119
trany=-0.793845
tranz=-0.217364
pitch=0
yaw=-1.51338e-09
roll=2.77556e-17
[jointrthigh]
parent=jointlocal
Type=hingex
Object=own_rule.bgf
dzone=dz_ruleg
Former Segment=segruleg
tranx=1.75289
trany=1.70245
tranz=0.799998
pitch=0
yaw=-0
roll=0
joint=jointrknee
site=siteedz_ruleg
[jointrknee]
parent=jointrthigh
Type=hingex
Object=own_rdle.bgf
dzone=dz_rdleg
Former Segment=segrdleg
tranx=0
trany=-2.46721
tranz=0.83829
pitch=0
yaw=-0
roll=2.56113e-09
joint=jointrbacktoe
joint=jointrfronttoe
site=siteedz_rfoot
site=siteedz_rdleg
[jointrbacktoe]
parent=jointrknee
Type=hingex
Object=own_rbto.bgf
dzone=dz_rfoot
Former Segment=segrbto
tranx=0
trany=-4.6785
tranz=-1.43829
pitch=0
yaw=6.93889e-18
roll=-2.15349e-09
[jointrfronttoe]
parent=jointrknee
Type=hingex
Object=own_rfto.bgf
dzone=dz_rfoot
Former Segment=segrfto
tranx=0.000329971
trany=-4.67823
tranz=-2.03762
pitch=-7.70372e-34
yaw=6.93889e-18
roll=-2.15428e-09
[siteedz_rfoot]
parent=jointrknee
tranx=0.000329971
trany=-4.74175
tranz=-1.75352
pitch=0
yaw=2.0331e-15
roll=-2.15429e-09
[siteedz_rdleg]
parent=jointrknee
tranx=0.000329971
trany=-1.66532
tranz=-0.583578
pitch=3.9443e-31
yaw=3.64985e-15
roll=-2.1543e-09
[siteedz_ruleg]
parent=jointrthigh
tranx=0.10211
trany=-0.793535
tranz=-0.216998
pitch=0
yaw=-1.11022e-16
roll=2.56113e-09
[jointshadow] // apply terrain angle to pitch and roll
parent=ROOT
Type=balltranslate
Former Segment=segshd
tranx=0
trany=0.05
tranz=0
pitch=0
yaw=0
roll=0
joint=jointtshadow
[jointtshadow] // apply torso twist to yaw
parent=jointshadow
Type=hingey
Object=own_tshd.bgf
Former Segment=segtshd
tranx=0
trany=0
tranz=0
pitch=0
yaw=0
roll=0
[jointeye]
parent=jointhip
Type=balltranslate
Former Segment=segnone
tranx=0.192
trany=0.575002
tranz=-1.253
pitch=-8.52211e-07
yaw=5.22001e-13
roll=3.01991e-07
site=siteeyepoint
[siteeyepoint] // moved by AddEyeJoint
parent=jointeye
tranx=0
trany=0
tranz=0
pitch=0
yaw=0
roll=0