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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user