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>
268 lines
8.7 KiB
Plaintext
268 lines
8.7 KiB
Plaintext
DIV-VIZ2
|
|
HEADER
|
|
(
|
|
VERSION=2:08;
|
|
DATE=25:5:96;
|
|
TIME=2:21;
|
|
UNIT=m
|
|
)
|
|
{
|
|
}
|
|
|
|
BOUNDARY
|
|
{
|
|
BBOX {-5000,0,-5000,5000,0,5000,0,0,0}
|
|
SPHERE {0,0,0,7071.07}
|
|
}
|
|
OBJECT
|
|
(
|
|
)
|
|
{
|
|
GEOGROUP
|
|
(
|
|
F_MATERIAL="btfx:arsky_mtl";
|
|
VERTEX=2D_TEXTURE ;
|
|
)
|
|
{
|
|
PMESH {
|
|
VERTEX_POOL {
|
|
{3750, 0, 5000, 3.41667, 4.46823}
|
|
{3750, 0, 3750, 3.41667, 3.47618}
|
|
{5000, 0, 3750, 4.38889, 3.47618}
|
|
{5000, 0, 5000, 4.38889, 4.46823}
|
|
{3750, 0, 2500, 3.41667, 2.48412}
|
|
{5000, 0, 2500, 4.38889, 2.48412}
|
|
{2500, 0, 3750, 2.44445, 3.47618}
|
|
{2500, 0, 2500, 2.44445, 2.48412}
|
|
{5000, 0, 1250, 4.38889, 1.49206}
|
|
{3750, 0, 1250, 3.41667, 1.49206}
|
|
{3750, 0, 0, 3.41667, 0.5}
|
|
{5000, 0, 0, 4.38889, 0.5}
|
|
{2500, 0, 1250, 2.44445, 1.49206}
|
|
{2500, 0, 0, 2.44445, 0.5}
|
|
{1250, 0, 0, 1.47222, 0.5}
|
|
{1250, 0, 1250, 1.47222, 1.49206}
|
|
{0, 0, 1250, 0.5, 1.49206}
|
|
{0, 0, 0, 0.5, 0.5}
|
|
{1250, 0, 2500, 1.47222, 2.48412}
|
|
{0, 0, 2500, 0.5, 2.48412}
|
|
{5000, 0, -3750, 4.38889, 1.52382}
|
|
{3750, 0, -3750, 3.41667, 1.52382}
|
|
{3750, 0, -5000, 3.41667, 0.53177}
|
|
{5000, 0, -5000, 4.38889, 0.53177}
|
|
{2500, 0, -3750, 2.44445, 1.52382}
|
|
{2500, 0, -5000, 2.44445, 0.53177}
|
|
{2500, 0, -3750, 2.44445, 0.52382}
|
|
{3750, 0, -3750, 3.41667, 0.52382}
|
|
{3750, 0, -2500, 3.41667, 1.51588}
|
|
{2500, 0, -2500, 2.44445, 1.51588}
|
|
{1250, 0, -5000, 1.47222, 0.53177}
|
|
{1250, 0, -3750, 1.47222, 1.52382}
|
|
{0, 0, -3750, 0.5, 1.52382}
|
|
{0, 0, -5000, 0.5, 0.53177}
|
|
{0, 0, -3750, 0.5, 0.52382}
|
|
{1250, 0, -3750, 1.47222, 0.52382}
|
|
{1250, 0, -2500, 1.47222, 1.51588}
|
|
{0, 0, -2500, 0.5, 1.51588}
|
|
{0, 0, -1250, 0.5, 0.507942}
|
|
{1250, 0, -1250, 1.47222, 0.507942}
|
|
{1250, 0, 0, 1.47222, 1.5}
|
|
{0, 0, 0, 0.5, 1.5}
|
|
{2500, 0, -1250, 2.44445, 0.507942}
|
|
{2500, 0, 0, 2.44445, 1.5}
|
|
{2500, 0, -1250, 2.44445, 1.50794}
|
|
{1250, 0, -1250, 1.47222, 1.50794}
|
|
{1250, 0, -2500, 1.47222, 0.51588}
|
|
{2500, 0, -2500, 2.44445, 0.51588}
|
|
{-3750, 0, -5000, 1.58333, 0.53177}
|
|
{-3750, 0, -3750, 1.58333, 1.52382}
|
|
{-5000, 0, -3750, 0.61111, 1.52382}
|
|
{-5000, 0, -5000, 0.61111, 0.53177}
|
|
{-5000, 0, -3750, 0.61111, 0.52382}
|
|
{-3750, 0, -3750, 1.58333, 0.52382}
|
|
{-3750, 0, -2500, 1.58333, 1.51588}
|
|
{-5000, 0, -2500, 0.61111, 1.51588}
|
|
{-3750, 0, -2500, 0.58333, 1.51588}
|
|
{-3750, 0, -3750, 0.58333, 0.52382}
|
|
{-2500, 0, -3750, 1.55555, 0.52382}
|
|
{-2500, 0, -2500, 1.55555, 1.51588}
|
|
{-5000, 0, -1250, 0.61111, 0.507942}
|
|
{-3750, 0, -1250, 1.58333, 0.507942}
|
|
{-3750, 0, 0, 1.58333, 1.5}
|
|
{-5000, 0, 0, 0.61111, 1.5}
|
|
{-3750, 0, 0, 0.58333, 1.5}
|
|
{-3750, 0, -1250, 0.58333, 0.507942}
|
|
{-2500, 0, -1250, 1.55555, 0.507942}
|
|
{-2500, 0, 0, 1.55555, 1.5}
|
|
{-2500, 0, -1250, 1.55555, 1.50794}
|
|
{-3750, 0, -1250, 0.58333, 1.50794}
|
|
{-3750, 0, -2500, 0.58333, 0.51588}
|
|
{-2500, 0, -2500, 1.55555, 0.51588}
|
|
{-1250, 0, 0, 0.527777, 1.5}
|
|
{-1250, 0, -1250, 0.527777, 0.507942}
|
|
{0, 0, -1250, 1.5, 0.507942}
|
|
{0, 0, 0, 1.5, 1.5}
|
|
{0, 0, -1250, 1.5, 1.50794}
|
|
{-1250, 0, -1250, 0.527777, 1.50794}
|
|
{-1250, 0, -2500, 0.527777, 0.51588}
|
|
{0, 0, -2500, 1.5, 0.51588}
|
|
{-1250, 0, -2500, 1.52778, 0.51588}
|
|
{-1250, 0, -1250, 1.52778, 1.50794}
|
|
{-2500, 0, -1250, 0.55555, 1.50794}
|
|
{-2500, 0, -2500, 0.55555, 0.51588}
|
|
{-1250, 0, 5000, 0.527777, 4.46823}
|
|
{-1250, 0, 3750, 0.527777, 3.47618}
|
|
{0, 0, 3750, 1.5, 3.47618}
|
|
{0, 0, 5000, 1.5, 4.46823}
|
|
{-1250, 0, 2500, 0.527777, 2.48412}
|
|
{0, 0, 2500, 1.5, 2.48412}
|
|
{-1250, 0, 2500, 1.52778, 2.48412}
|
|
{-1250, 0, 3750, 1.52778, 3.47618}
|
|
{-2500, 0, 3750, 0.55555, 3.47618}
|
|
{-2500, 0, 2500, 0.55555, 2.48412}
|
|
{0, 0, 1250, 1.5, 1.49206}
|
|
{-1250, 0, 1250, 0.527777, 1.49206}
|
|
{-1250, 0, 0, 0.527777, 0.5}
|
|
{0, 0, 0, 1.5, 0.5}
|
|
{-1250, 0, 0, 1.52778, 0.5}
|
|
{-1250, 0, 1250, 1.52778, 1.49206}
|
|
{-2500, 0, 1250, 0.55555, 1.49206}
|
|
{-2500, 0, 0, 0.55555, 0.5}
|
|
{-3750, 0, 0, 1.58333, 0.5}
|
|
{-3750, 0, 1250, 1.58333, 1.49206}
|
|
{-5000, 0, 1250, 0.61111, 1.49206}
|
|
{-5000, 0, 0, 0.61111, 0.5}
|
|
{-3750, 0, 2500, 1.58333, 2.48412}
|
|
{-5000, 0, 2500, 0.61111, 2.48412}
|
|
{-3750, 0, 2500, 0.58333, 2.48412}
|
|
{-3750, 0, 1250, 0.58333, 1.49206}
|
|
{-2500, 0, 1250, 1.55555, 1.49206}
|
|
{-2500, 0, 2500, 1.55555, 2.48412}
|
|
{1250, 0, 5000, 1.47222, 4.46823}
|
|
{1250, 0, 3750, 1.47222, 3.47618}
|
|
{2500, 0, 5000, 2.44445, 4.46823}
|
|
{0, 0, 3750, 0.5, 3.47618}
|
|
{5000, 0, -1250, 4.38889, 1.50794}
|
|
{3750, 0, -1250, 3.41667, 1.50794}
|
|
{3750, 0, -2500, 3.41667, 0.51588}
|
|
{5000, 0, -2500, 4.38889, 0.51588}
|
|
{3750, 0, -1250, 3.41667, 0.507942}
|
|
{3750, 0, 0, 3.41667, 1.5}
|
|
{-1250, 0, -5000, 1.52778, 0.53177}
|
|
{-1250, 0, -3750, 1.52778, 1.52382}
|
|
{-2500, 0, -3750, 0.55555, 1.52382}
|
|
{-2500, 0, -5000, 0.55555, 0.53177}
|
|
{-2500, 0, -3750, 0.55555, 0.52382}
|
|
{-1250, 0, -3750, 1.52778, 0.52382}
|
|
{-1250, 0, -2500, 1.52778, 1.51588}
|
|
{-2500, 0, -2500, 0.55555, 1.51588}
|
|
{-1250, 0, -2500, 0.527777, 1.51588}
|
|
{-1250, 0, -3750, 0.527777, 0.52382}
|
|
{0, 0, -3750, 1.5, 0.52382}
|
|
{0, 0, -2500, 1.5, 1.51588}
|
|
{-3750, 0, 5000, 0.58333, 4.46823}
|
|
{-3750, 0, 3750, 0.58333, 3.47618}
|
|
{-2500, 0, 3750, 1.55555, 3.47618}
|
|
{-2500, 0, 5000, 1.55555, 4.46823}
|
|
{-3750, 0, 3750, 1.58333, 3.47618}
|
|
{-5000, 0, 3750, 0.61111, 3.47618}
|
|
{5000, 0, -2500, 4.38889, 1.51588}
|
|
{5000, 0, -3750, 4.38889, 0.52382}
|
|
{0, 0, -2500, 0.5, 0.51588}
|
|
{0, 0, -1250, 0.5, 1.50794}
|
|
{-2500, 0, -5000, 1.55555, 0.53177}
|
|
{-2500, 0, -3750, 1.55555, 1.52382}
|
|
{-3750, 0, -3750, 0.58333, 1.52382}
|
|
{-3750, 0, -5000, 0.58333, 0.53177}
|
|
{-5000, 0, -2500, 0.61111, 0.51588}
|
|
{-3750, 0, -2500, 1.58333, 0.51588}
|
|
{-3750, 0, -1250, 1.58333, 1.50794}
|
|
{-5000, 0, -1250, 0.61111, 1.50794}
|
|
{-2500, 0, 0, 0.55555, 1.5}
|
|
{-2500, 0, -1250, 0.55555, 0.507942}
|
|
{-1250, 0, -1250, 1.52778, 0.507942}
|
|
{-1250, 0, 0, 1.52778, 1.5}
|
|
{-2500, 0, 5000, 0.55555, 4.46823}
|
|
{-1250, 0, 5000, 1.52778, 4.46823}
|
|
{-2500, 0, 0, 1.55555, 0.5}
|
|
{-3750, 0, 0, 0.58333, 0.5}
|
|
{0, 0, 5000, 0.5, 4.46823}
|
|
{5000, 0, 0, 4.38889, 1.5}
|
|
{5000, 0, -1250, 4.38889, 0.507942}
|
|
{0, 0, -5000, 1.5, 0.53177}
|
|
{0, 0, -3750, 1.5, 1.52382}
|
|
{-1250, 0, -3750, 0.527777, 1.52382}
|
|
{-1250, 0, -5000, 0.527777, 0.53177}
|
|
{-5000, 0, 5000, 0.61111, 4.46823}
|
|
{-3750, 0, 5000, 1.58333, 4.46823}
|
|
}
|
|
CONNECTION_LIST (PCOUNT=4){
|
|
{0, 1, 2, 3}
|
|
{2, 1, 4, 5}
|
|
{4, 1, 6, 7}
|
|
{8, 9, 10, 11}
|
|
{10, 9, 12, 13}
|
|
{12, 9, 4, 7}
|
|
{14, 15, 16, 17}
|
|
{16, 15, 18, 19}
|
|
{18, 15, 12, 7}
|
|
{20, 21, 22, 23}
|
|
{22, 21, 24, 25}
|
|
{26, 27, 28, 29}
|
|
{30, 31, 32, 33}
|
|
{34, 35, 36, 37}
|
|
{36, 35, 26, 29}
|
|
{38, 39, 40, 41}
|
|
{40, 39, 42, 43}
|
|
{44, 45, 46, 47}
|
|
{48, 49, 50, 51}
|
|
{52, 53, 54, 55}
|
|
{56, 57, 58, 59}
|
|
{60, 61, 62, 63}
|
|
{64, 65, 66, 67}
|
|
{68, 69, 70, 71}
|
|
{72, 73, 74, 75}
|
|
{76, 77, 78, 79}
|
|
{80, 81, 82, 83}
|
|
{84, 85, 86, 87}
|
|
{86, 85, 88, 89}
|
|
{90, 91, 92, 93}
|
|
{94, 95, 96, 97}
|
|
{98, 99, 100, 101}
|
|
{100, 99, 90, 93}
|
|
{102, 103, 104, 105}
|
|
{104, 103, 106, 107}
|
|
{108, 109, 110, 111}
|
|
{112, 113, 6, 114}
|
|
{6, 113, 18, 7}
|
|
{18, 113, 115, 19}
|
|
{116, 117, 118, 119}
|
|
{118, 117, 44, 47}
|
|
{42, 120, 121, 43}
|
|
{122, 123, 124, 125}
|
|
{126, 127, 128, 129}
|
|
{130, 131, 132, 133}
|
|
{134, 135, 136, 137}
|
|
{136, 135, 108, 111}
|
|
{106, 138, 139, 107}
|
|
{114, 6, 1, 0}
|
|
{5, 4, 9, 8}
|
|
{13, 12, 15, 14}
|
|
{140, 28, 27, 141}
|
|
{25, 24, 31, 30}
|
|
{142, 46, 45, 143}
|
|
{144, 145, 146, 147}
|
|
{148, 149, 150, 151}
|
|
{152, 153, 154, 155}
|
|
{156, 92, 91, 157}
|
|
{89, 88, 95, 94}
|
|
{158, 110, 109, 159}
|
|
{160, 115, 113, 112}
|
|
{161, 121, 120, 162}
|
|
{163, 164, 165, 166}
|
|
{167, 139, 138, 168}
|
|
}
|
|
}
|
|
}
|
|
}
|