Files
BT412/content/VIDEO/JAKD.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

598 lines
7.6 KiB
Plaintext

[LAB_ONLY]
[DamageZones]
// call MakeEntryList with 'dz_'
dz_lgun=0
dz_rgun=1
[ROOT]
JointCount=19
DZoneCount=2
Former Segment=segroot
tranx=0.0226791
trany=0
tranz=0
pitch=0
yaw=-0
roll=0
joint=jointlocal
joint=jointshadow
[jointlocal]
parent=ROOT
Type=balltranslate
Former Segment=segem1
tranx=0
trany=5.86612
tranz=0
pitch=0
yaw=-0
roll=0
joint=jointhip
joint=jointlthigh
joint=jointrthigh
[jointhip]
parent=jointlocal
Type=hingex
dzone=dz_hip
Former Segment=seghip
tranx=0
trany=0.400002
tranz=0
pitch=0
yaw=-0
roll=0
joint=jointtorso
site=siteedz_hip
[siteedz_hip]
parent=jointhip
tranx=0
trany=0
tranz=0
pitch=0
yaw=-0
roll=0
[jointtorso]
parent=jointhip
Type=hingey
Former Segment=segtor
tranx=0
trany=1.78612
tranz=0
pitch=0
yaw=-0
roll=0
joint=jointshakey
[jointshakey]
parent=jointtorso
Type=ball
Former Segment=segshake
dzone=dz_dtorso
dzone=dz_ltorso
dzone=dz_reardtorso
dzone=dz_rearltorso
dzone=dz_rearrtorso
dzone=dz_rearutorso
dzone=dz_rtorso
dzone=dz_utorso
dzone=dz_searchlight
dzone=dz_ftorso
dzone=dz_btorso
tranx=0
trany=0
tranz=0
pitch=0
yaw=-0
roll=0
joint=jointlgun
joint=jointrgun
joint=jointeye
site=sitelight
site=sitelmissleport
site=sitermissleport
site=siteltorsoport
site=sitertorsoport
site=sitemtorsoport
site=siteedz_dtorso
site=siteedz_ltorso
site=siteedz_reardtorso
site=siteedz_rearltorso
site=siteedz_rearrtorso
site=siteedz_rearutorso
site=siteedz_rtorso
site=siteedz_utorso
site=siteedz_ftorso
site=siteedz_btorso
site=siteedz_searchlight
[sitelight]
parent=jointshakey
tranx=0
trany=0
tranz=0
pitch=0
yaw=-0
roll=0
[sitermissleport]
parent=jointshakey
tranx=1.5
trany=0
tranz=0
pitch=0
yaw=-0
roll=0
[sitelmissleport]
parent=jointshakey
tranx=-1.5
trany=0
tranz=0
pitch=0
yaw=-0
roll=0
[siteedz_dtorso]
parent=jointshakey
tranx=0
trany=0
tranz=0
pitch=0
yaw=-0
roll=0
[siteedz_ftorso]
parent=jointshakey
tranx=0
trany=0
tranz=0
pitch=0
yaw=-0
roll=0
[siteedz_btorso]
parent=jointshakey
tranx=0
trany=0
tranz=0
pitch=0
yaw=-0
roll=0
[siteedz_ltorso]
parent=jointshakey
tranx=0
trany=0
tranz=0
pitch=0
yaw=-0
roll=0
[siteedz_reardtorso]
parent=jointshakey
tranx=0
trany=0
tranz=0
pitch=0
yaw=-0
roll=0
[siteedz_rearltorso]
parent=jointshakey
tranx=0
trany=0
tranz=0
pitch=0
yaw=-0
roll=0
[siteedz_rearrtorso]
parent=jointshakey
tranx=0
trany=0
tranz=0
pitch=0
yaw=-0
roll=0
[siteedz_rearutorso]
parent=jointshakey
tranx=0
trany=0
tranz=0
pitch=0
yaw=-0
roll=0
[siteedz_rtorso]
parent=jointshakey
tranx=0
trany=0
tranz=0
pitch=0
yaw=-0
roll=0
[siteedz_utorso]
parent=jointshakey
tranx=0
trany=0
tranz=0
pitch=0
yaw=-0
roll=0
[siteedz_searchlight]
parent=jointshakey
tranx=0
trany=0
tranz=0
pitch=0
yaw=-0
roll=0
[jointlgun]
parent=jointshakey
Type=hingex
dzone=dz_lgun
Former Segment=seglgun
tranx=-1.97284
trany=1.48295
tranz=0.501266
pitch=0
yaw=-0
roll=0
joint=jointlspacer
site=siteedz_lgun
[siteedz_lgun]
parent=jointlgun
tranx=0
trany=0
tranz=0
pitch=0
yaw=-0
roll=0
[jointlspacer]
parent=jointlgun
Type=static
Former Segment=segem3
tranx=-0.58818
trany=-0.09899
tranz=-0.301266
pitch=-3.05474e-07
yaw=1.72853e-06
roll=-2.1495e-06
site=sitelugunport
site=sitelmgunport
site=siteldgunport
[sitelugunport]
parent=jointlspacer
tranx=6.91414e-06
trany=1.19209e-06
tranz=-4
pitch=0
yaw=-0
roll=0
[sitelmgunport]
parent=jointlspacer
tranx=-0.519474
trany=-0.545001
tranz=-2.6759
pitch=-8.41496e-07
yaw=7.67452e-11
roll=4.21019e-07
[siteldgunport]
parent=jointlspacer
tranx=-0.519474
trany=-0.9585
tranz=-2.6759
pitch=-9.45753e-07
yaw=8.71373e-11
roll=4.73182e-07
[jointrgun]
parent=jointshakey
Type=hingex
dzone=dz_rgun
Former Segment=segrgun
tranx=1.96679
trany=1.48295
tranz=0.501266
pitch=0
yaw=-0
roll=0
joint=jointrspacer
site=siteedz_rgun
[siteedz_rgun]
parent=jointrgun
tranx=0
trany=0
tranz=0
pitch=0
yaw=-0
roll=0
[jointrspacer]
parent=jointrgun
Type=static
Former Segment=segem2
tranx=0.5874
trany=-0.09899
tranz=-0.301268
pitch=1.19209e-07
yaw=-0
roll=-1.49012e-08
site=siterugunport
site=sitermgunport
site=siterdgunport
[siterugunport]
parent=jointrspacer
tranx=0
trany=-4.76837e-07
tranz=-4.00002
pitch=0
yaw=-0
roll=0
[sitermgunport]
parent=jointrspacer
tranx=0.48543
trany=-0.54498
tranz=-2.67631
pitch=-7.97207e-07
yaw=-6.37762e-06
roll=1.19581e-06
[siterdgunport]
parent=jointrspacer
tranx=0.48543
trany=-0.95914
tranz=-2.67631
pitch=-1.07287e-06
yaw=-8.58292e-06
roll=1.60931e-06
[siteltorsoport]
parent=jointtorso
tranx=-1.4766
trany=1.84179
tranz=-0.301049
pitch=0
yaw=-0
roll=0
[sitertorsoport]
parent=jointtorso
tranx=1.43876
trany=1.84179
tranz=-0.301049
pitch=0
yaw=-0
roll=0
[sitemtorsoport]
parent=jointtorso
tranx=0.151753
trany=0.40917
tranz=-1.83812
pitch=0
yaw=-0
roll=0
[jointlthigh]
parent=jointlocal
Type=hingex
dzone=dz_luleg
Former Segment=segluleg
tranx=-1.09773
trany=0.400002
tranz=0.10069
pitch=0
yaw=-0
roll=0
joint=jointlknee
site=siteedz_ldleg
site=siteedz_luleg
[siteedz_luleg]
parent=jointlthigh
tranx=0
trany=0
tranz=0
pitch=0
yaw=-0
roll=0
[jointlknee]
parent=jointlthigh
Type=hingex
dzone=dz_ldleg
Former Segment=segldleg
tranx=0
trany=-2.3275
tranz=9.98378e-07
pitch=0
yaw=-1.66382e-14
roll=0
joint=jointlankle
site=siteedz_ldleg
[siteedz_ldleg]
parent=jointlknee
tranx=0
trany=0
tranz=0
pitch=0
yaw=-0
roll=0
[jointlankle]
parent=jointlknee
Type=hingex
Former Segment=segem5
tranx=0
trany=-2.64555
tranz=0.054912
pitch=5.50511e-38
yaw=1.42109e-14
roll=3.30873e-24
joint=jointltoe
[jointltoe]
parent=jointlankle
Type=static
dzone=dz_lfoot
Former Segment=seglfot
tranx=0
trany=-1.24144
tranz=-2.23742
pitch=8.67747e-30
yaw=2.02319e-09
roll=3.55272e-15
site=siteedz_lfoot
[siteedz_lfoot]
parent=jointltoe
tranx=0
trany=0
tranz=0
pitch=0
yaw=-0
roll=0
[jointrthigh]
parent=jointlocal
Type=hingex
dzone=dz_ruleg
Former Segment=segruleg
tranx=1.0893
trany=0.400002
tranz=0.10069
pitch=0
yaw=-0
roll=0
joint=jointrknee
site=siteedz_ruleg
[siteedz_ruleg]
parent=jointrthigh
tranx=0
trany=0
tranz=0
pitch=0
yaw=-0
roll=0
[jointrknee]
parent=jointrthigh
Type=hingex
dzone=dz_rdleg
Former Segment=segrdleg
tranx=-3.99351e-05
trany=-2.3275
tranz=9.98378e-07
pitch=-3.06304e-09
yaw=1.27898e-12
roll=-6.68494e-20
joint=jointrankle
site=siteedz_rdleg
[siteedz_rdleg]
parent=jointrknee
tranx=0
trany=0
tranz=0
pitch=0
yaw=-0
roll=0
[jointrankle]
parent=jointrknee
Type=hingex
Former Segment=segem4
tranx=3.99351e-05
trany=-2.64557
tranz=0.054912
pitch=-6.62248e-10
yaw=-1.73468e-18
roll=1.4122e-13
joint=jointrtoe
[jointrtoe]
parent=jointrankle
Type=static
dzone=dz_rfoot
Former Segment=segrfot
tranx=-1.9908e-05
trany=-1.24143
tranz=-2.23743
pitch=3.72528e-09
yaw=5.40005e-13
roll=3.53291e-11
site=siteedz_rfoot
[siteedz_rfoot]
parent=jointrtoe
tranx=0
trany=0
tranz=0
pitch=0
yaw=-0
roll=0
[jointshadow]
parent=ROOT
Type=balltranslate
Former Segment=segshd
tranx=0
trany=0.05
tranz=0
pitch=0
yaw=-0
roll=0
joint=jointtshadow
[jointtshadow]
parent=jointshadow
Type=hingey
Object=jak_tshd.bgf
Former Segment=segtshd
tranx=0
trany=0
tranz=0
pitch=0
yaw=-0
roll=0
[jointeye]
parent=jointshakey
Type=balltranslate
Former Segment=segnone
tranx=0.05
trany=5.1
tranz=-0.5
pitch=0
yaw=-0
roll=3.141593
site=siteeyepoint
[siteeyepoint]
parent=jointeye
tranx=0
trany=3.23
tranz=-1.4
pitch=0
yaw=-0
roll=3.141593