Saved mechlab variants reference their chassis by the .instance PAGE name, so
renaming [jenner_iic1] to [jenner2c] orphaned V4H's three Jenner variants
(Jenner2c 1, Jenner2c 4, Jenner2c Pharaoh). Each stores 'jenner_iic1' in its
{Mech} blob and carries a jenner_iic1{Subsystem} entry.
I renamed it in a67d1c00 for consistency, calling it the sole outlier among 89
chassis. It was not an outlier, it was load-bearing, and the earlier V4H notes
compounded the error by recording those three variants as "broken/orphaned --
chassis jenner_iic1 does not exist even in V4H". It does: it is this page.
Evidence the binding is the page name and not the folder or filename:
Content/Mechs/Blackhawk declares [nova] and its nine Black Hawk variants all
reference 'nova'. Matching is case-insensitive -- [Loki] is referenced as
'loki', [Ryoken] as 'ryoken' -- but the name itself must match. Checking every
offset in the 344-byte {Mech} blob found no position holding the positional
MechID for all 59 sampled chassis, so variants store no index at all and the
alphabetical renumbering from adding six chassis cannot disturb them.
The filename renames jenner_2c.* -> jenner2c.* are kept; nothing references
those. The champion_stroyed and thunderbolt_destroyed.obb renames are also
unaffected, being reachable only from their own .data. The other five new
chassis already declare the page names their variants expect.
Co-authored-by: Claude Opus 5 (Anthropic) <noreply@anthropic.com>
Co-authored-by: GitHub Copilot <copilot@github.com>
78 lines
4.8 KiB
Plaintext
78 lines
4.8 KiB
Plaintext
INSTALLED - assets are in the repo. NOT yet added to Content/core.build, so
|
|
the chassis is still inert at runtime.
|
|
|
|
have: .erf / .mw4anim / .obb source
|
|
jenner2c.armature jenner2c.contents jenner2c.instance
|
|
jenner2c.subsystems jenner2c.data jenner2c.damage
|
|
jenner2c.torso jenner2c.engine
|
|
|
|
All eight decompiled from the V4H package and verified by round-tripping
|
|
the same decompiler over our own 64 chassis:
|
|
.data 8291/8306 keys .damage 6605/6605 keys
|
|
.contents 7480/7480 keys .instance 896/896 keys
|
|
.torso/.engine 1279/1280 keys .armature/.subsystems see sections 5, 8
|
|
Every internal reference here resolves to a file that is present.
|
|
|
|
installed (2026-08-09, commits a67d1c00 + 8e859007): chassis folder, wreck
|
|
folder jenner2c_destroyed, skins @ajec0-5, FootSteps/jenner2c_*, the
|
|
9 matching textures.hint pages (6 skin + 3 footstep, copied verbatim
|
|
from the Annihilator template) and portrait hsh/Mechs/jenner2c.bmp.
|
|
Shared by all six chassis: generic damage dolls hsh/hud/generic.bmp
|
|
and hsh/radar/hud/generic.bmp (supplied by V4H), plus cockpit doll
|
|
Content/textures/HUD/generic.tga, target-MFD tile hsh/MFD/generic.bmp
|
|
and the [hud\generic] page (authored here).
|
|
All 1217 file references across the six chassis resolve.
|
|
|
|
applied: MoveTypeFlag LEGMOVETYPE -> LEGJUMPMOVETYPE. CanLoadJumpJets=Yes,
|
|
JumpJetTonnage=2, both jump-jet site names are real and .subsystems
|
|
actually equips a JumpJetSubsystem, so the LEGMOVETYPE it was
|
|
decompiled with was the inconsistent value.
|
|
All eight core files renamed jenner_2c.* -> jenner2c.*, along with
|
|
jenner_2c_cage.erf and both skeleton .obb files. Every internal
|
|
reference was updated to match: .instance, .contents, .subsystems,
|
|
.data (SolidOBB / HierarchicalOBB) and armaturevideo/joint_cage.video.
|
|
The .instance page name stays [jenner_iic1]. DO NOT "tidy" it to
|
|
[jenner2c]: saved variants bind to a chassis by its .instance page
|
|
name, so renaming it orphans V4H's three Jenner variants (Jenner2c 1,
|
|
Jenner2c 4, Jenner2c Pharaoh), each of which stores 'jenner_iic1' in
|
|
its {Mech} blob and carries a jenner_iic1{Subsystem} entry. Those
|
|
variants are NOT broken, contrary to the earlier V4H notes - the page
|
|
they name is exactly this one. Proof the binding is the page name and
|
|
not the folder: Content/Mechs/Blackhawk declares [nova], and its
|
|
variants reference 'nova'. Matching is case-insensitive ([Loki] is
|
|
referenced as 'loki'), but the name itself must match.
|
|
This chassis keeps its own jenner2c.animscript - it is the only one of
|
|
the six that does not borrow another mech's.
|
|
|
|
still to do:
|
|
1. Add $(M_Jenner2c) to Content/ShellScripts/MechLabHeaders.h and $(IDS_Jenner2c) to
|
|
Content/Defines/MissionLang.defines. The .data references both. V4H's packages
|
|
store mech ids from an OLDER roster (shifted against ours), so the stored
|
|
integer was deliberately discarded - see DECOMPILING.md section 8c.
|
|
2. Register the chassis through the rest of the chain in ADDING-A-MECH.md.
|
|
The code arrays grow 65 -> 71 and LastMechID 64 -> 70; the shell-script
|
|
arrays are currently sized 65-67.
|
|
3. Add the .build entries to Content/core.build, one chassis at a time. Until
|
|
that happens the chassis is inert - the packer never visits these files.
|
|
4. Delete this STATUS file once the chassis is registered.
|
|
|
|
decision (2026-08-08, executed 2026-08-09): USE THIS ONE. The repo's own
|
|
Content/Mechs/jenner2c/ was DELETED in commit a67d1c00 and replaced by
|
|
this package. It was deleted rather than copied over because only 2 of
|
|
its 84 files shared a path with this set, so overwriting would have
|
|
left 78 stale j2c_* files behind - still resolving, and packable.
|
|
Ours was unfinished scaffolding: .subsystems had NO weapons at
|
|
all, every armour value is the placeholder 0.1, EngineUpgrades=0, it uses
|
|
Mech_Foot_Large effects on a 35-ton light mech, and its .data references
|
|
content\mechs\jenner2c\jenner2c.animscript - a file that does not exist
|
|
anywhere in our tree. Zero art is shared between the two (prefix j2c_ vs jec_,
|
|
0 of 27 comparable parts byte-identical). Ours is higher-poly (1065 KB vs
|
|
250 KB; shipped light mechs run 390-490 KB), which is the only thing it had
|
|
going for it, and plausibly why it was never finished.
|
|
|
|
notes: The .obb and .armature filenames are not stored in the package; the values
|
|
in .data / .contents were matched to the files actually present here.
|
|
Rename the file and the key together if you change either.
|
|
|
|
see: MW4COMPARE/DECOMPILING.md sections 8c-8g and 11
|