Correct STEP 14 deployment notes for the High Explosive fix
Record the actual packages for the two edited content files: HighExplosive.data is packed by core.build into core.mw4, not props.mw4, and weapons.script by props.build into props.mw4. build-resources.ps1 repacks on newer sources, so both are picked up automatically; the distinction only matters for selective repacks. Also document that restoring the NARC Beacon ammo-round display is an intended consequence of moving the highexplosive UI flag from ID 84 to 87, note that authored .subsystems loadouts need an explicit AmmoCount=1 because Weapon_Tool defaults ammoCount to -1, and record that a sweep of every weapon subsystem found High Explosive to be the only one whose starting-ammo formula truncated to zero.
This commit is contained in:
@@ -1332,12 +1332,29 @@ Three legacy defects made the feature unusable:
|
||||
`1 / (3 * 2)` truncated to zero. `Weapon.cpp` now clamps starting ammo and ammo-per-pack to one
|
||||
only when the weapon declares a positive maximum; zero-capacity weapons remain unchanged.
|
||||
- `MechBay/weapons.script` applied High Explosive UI handling to stale ID 84 (NARC) instead of 87.
|
||||
Side effect: NARC Beacon (`MaxAmmo=18`, 1 slot → 6 rounds) was wrongly inheriting the
|
||||
`highexplosive` flag, which suppresses the ammo-round count, so NARC now displays its rounds
|
||||
in MechLab again. Intended; the flag exists only to hide the count on a one-shot charge.
|
||||
|
||||
The two edited content files live in **different packages** — `HighExplosive.data` is packed by
|
||||
`core.build` → **`core.mw4`** (`props.build` contains no `WeaponSubsystems` entries at all), and
|
||||
`weapons.script` by `props.build` → **`props.mw4`**. `build-resources.ps1` repacks any package with
|
||||
newer sources, so both are picked up automatically; the distinction only matters if a package is
|
||||
ever repacked selectively.
|
||||
|
||||
Residual gap (not hit today): the MechLab path fixed here is `Weapon::CreateStream`. Authored
|
||||
content takes a different path — `Weapon_Tool.cpp:66` defaults `ammoCount` to `-1` when the
|
||||
instance page omits `AmmoCount`. No mech `.subsystems` currently mounts a High Explosive, but
|
||||
adding one to a stock loadout requires an explicit `AmmoCount=1` or it will be unfireable for the
|
||||
same reason. (`Content\ShellScriptsDev\MechBay\weapons.script` still has the old `84`; no `.build`
|
||||
packages that tree, so it never ships.)
|
||||
|
||||
Linux validation confirmed High Explosive now constructs with one round, zero-capacity weapons
|
||||
still produce zero ammo packs, edited files retain their original CRLF/legacy encodings, and the
|
||||
focused diagnostics/diff checks are clean. Still required: rebuild `MW4.exe` on the Windows VC6
|
||||
machine, repack `props.mw4`, deploy both, then remove/reinstall the charge in existing saved variants
|
||||
that may retain serialized zero ammo.
|
||||
still produce zero ammo packs, a sweep of every weapon subsystem found High Explosive to be the
|
||||
**only** one whose starting-ammo formula truncated to zero (so no other weapon's ammo changed),
|
||||
edited files retain their original CRLF/legacy encodings, and the focused diagnostics/diff checks
|
||||
are clean. Still required: rebuild `MW4.exe` on the Windows VC6 machine, repack resources, deploy,
|
||||
then remove/reinstall the charge in existing saved variants that may retain serialized zero ammo.
|
||||
|
||||
## Next steps (proposed)
|
||||
- [ ] (Parked, diagnostics-only, cannot affect a real pod) Two gaps found while testing `-tident`
|
||||
|
||||
Reference in New Issue
Block a user