FS507D asset recovery, ConLobby V5.0.7Df promotion, mechlab New-Mech crash fix

FS507D_20161015 release analysis wrap-up (drop itself is gitignored; art-review
folder kept local for review):
- Recovered the only assets our tree lacked: 13 hsh HUD/radar/mech bmps and the
  two 5.07D lobby decals (decal_46/47.tga, extracted from release props.mw4 via
  a ported gos_LZDecompress).
- ResourceImagePool.cpp: missing-texture placeholder is now LAB_ONLY (editor
  keeps degraded mode); Release restores the original fatal STOP. Release +
  Profile rebuilt, 0 errors.

Console script reconciled:
- ConLobby.script.new ("BattleTech Console V5.0.7Df", newest revision anywhere)
  promoted to Content\ShellScripts\ConLobby.script; .new removed; stale loose
  deploy copy removed. Verified in-game (console title shows V5.0.7Df).
- Corrected CLAUDE.md: the release never "renamed" the console to
  ComputerPlayer.script -- the resource packer stores script contents under
  alphabetically skewed entry names (runtime resolves the same pairing).
  Packer quirks documented (stale entry carry-forward on incremental builds,
  name/content skew in directory sweeps).

Mechlab bug fix (first FireStorm bug hunt):
- New-Mech dialog showed blank rows for Wolfhound/Zeus and crashed (KERNELBASE
  read AV) when creating a Zeus. Root cause: newmech in chassis.script created
  its Type droplist without setting $$m_listBoxSize$$, so capacity defaulted to
  60 while 65 chassis were written in -- OOB script-array writes. Fixed by
  sizing the list from $$m_chassisCount$$. Latent stock-MW4 bug armed when the
  FireStorm roster passed 60 chassis. Verified: Zeus variant creates cleanly.

props.mw4 fully repacked (decals + promoted console + mechlab fix, junk
.new/.org entries gone); game deploy refreshed at MW4\. Gitignore: FS507D drop
and player-created MW4\Resource\Variants.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Cyd
2026-07-02 13:04:45 -05:00
co-authored by Claude Fable 5
parent 2cfb14ab98
commit 2f17631081
108 changed files with 32230 additions and 43498 deletions
@@ -1,5 +1,5 @@
// Mechwarrior: Vengeance
// Copyright © 1999-2000
// Copyright 1999-2000
// Mechbay_main.script
// Paolo Malabuyo
// July 12, 2000
@@ -2171,6 +2171,11 @@ newmech
int boxy2 = 425
int boxz = 65
// [mechlab data fix] s_droplistbox takes its capacity from $$m_listBoxSize$$ (then resets it
// to 60). Nothing set it here, so this list held 60 items while list_size = m_chassisCount
// (65 mechs) -> the last chassis rows showed blank and selecting the final one crashed
// (garbage string pointer into CreateNewMech). Size it to the actual chassis count.
$$m_listBoxSize$$ = $$m_chassisCount$$
object o_chassisdroplistbox = s_droplistbox
o_chassisdroplistbox.boxFont3d = FPATH localize$(IDS_F_ML_LABEL)
o_chassisdroplistbox.backColor = packcolor (0, 0, 0, 255)