Install six V4H chassis as content assets (no registration yet)

Lands the art and data for Champion, Dasher, Griffin, Jenner IIC, Marauder
and Thunderbolt. Nothing is registered in core.build, the code arrays or the
shell scripts yet, so this commit is inert at runtime: packing is manifest
driven, the editor never enumerates Content\Mechs, and deploy drops Content\*.
The one exception is textures.hint, which is not inert -- textures.build has
no explicit .tga lines and packs via texturepool=textures\textures.hint, so
these pages will be picked up by the next textures.mw4 repack.

Contents:
  - 11 chassis/wreck folders (658 files), 30 skin TGAs, 15 footstep TGAs
  - 6 mech portraits (800x250, 24bpp; hsh/Mechs already mixes 8/24bpp)
  - generic damage dolls into hsh/hud and hsh/radar/hud
  - 45 textures.hint pages, copied verbatim from the Annihilator template
    (30 skin mip pages + 15 footstep pages); Dasher needed none, its
    @adas* and footstep pages already exist

Our own Jenner IIC was deleted first rather than copied over. Only 2 of its
84 files shared a path with the V4H set, so a copy would have left 78 stale
j2c_* files behind.

Decisions applied:
  - jump jets: LEGJUMPMOVETYPE on champion, griffin, jenner2c, thunderbolt.
    Dasher and Marauder declare CanLoadJumpJets=No and are left alone.
  - Champion gets its own wreck instead of borrowing Loki's.
  - Renames to canonical stems: jenner_2c.* -> jenner2c.*,
    champion_stroyed.* -> champion_destroyed.*,
    thunderbolt_destroyed.obb -> thunderbolt_destroyed_solid.obb.
    All internal references updated to match.
  - jenner2c.instance page [jenner_iic1] -> [jenner2c]. Every one of the 89
    shipped mechs and all five staged siblings name the page after the
    chassis; this was the sole outlier.
  - thunderbolt.data footstep typo thunerbolt_dirt -> thunderbolt_dirt.

Verified: 1217/1217 file references resolve, 273 text files are pure ASCII
with consistent CRLF (the staged .data files arrived with an LF-only
Shadow={} block), no hint page duplicates a existing name, and all 278
binaries are stored as LFS pointers.

Still to come: Content/textures/HUD/generic.tga and hsh/MFD/generic.bmp must
be authored, then the [hud\generic] page, then the registration phase.

Co-authored-by: Claude Opus 5 (Anthropic) <noreply@anthropic.com>
Co-authored-by: GitHub Copilot <copilot@github.com>
This commit is contained in:
2026-08-09 17:20:24 -05:00
co-authored by Claude Opus 5 GitHub Copilot
parent c0daa2d920
commit a67d1c00d2
768 changed files with 12364 additions and 1729 deletions
@@ -0,0 +1,36 @@
STAGED - complete source set, but NOT yet added to Content/core.build.
have: .erf / .mw4anim / .obb source
champion.armature champion.contents champion.instance
champion.subsystems champion.data champion.damage
champion.torso champion.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.
before building:
1. Add $(M_Champion) to Content/ShellScripts/MechLabHeaders.h and $(IDS_Champion) 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.
3. REVIEW MOVEMENT TYPE. All six V4H chassis carry MoveTypeFlag=LEGMOVETYPE, so
none of them can jump - yet all six also carry JumpJetTonnage (2-4), four name
a real LeftJumpJetSiteName, and griffin + jenner2c have a JumpJetSubsystem
equipped in .subsystems. Our own roster is 84 LEGJUMPMOVETYPE vs 5 LEGMOVETYPE,
and those 5 have EMPTY jump-jet site names - internally consistent. V4H's are
not. This is decompiled faithfully; the inconsistency is in their source data.
Decide per chassis whether to set LEGJUMPMOVETYPE or strip the jump-jet gear.
dasher and marauder additionally have LeftJumpJetSiteName=';' - garbage.
4. Only then add the .build entries to Content/core.build, one chassis at a time.
Until that happens these files are inert - the packer never visits them.
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
@@ -2,5 +2,4 @@
Class=MechWarrior4::MWMover
[renderers]
VideoRenderer=armaturevideo\j2c_hip.video
VideoRenderer=armaturevideo\chp_hip.video
@@ -2,5 +2,4 @@
Class=MechWarrior4::MWMover
[renderers]
VideoRenderer=armaturevideo\j2c_lgun.video
VideoRenderer=armaturevideo\chp_lbtoe.video
@@ -2,5 +2,4 @@
Class=MechWarrior4::MWMover
[renderers]
VideoRenderer=armaturevideo\j2c_rgun.video
VideoRenderer=armaturevideo\chp_ldleg.video
@@ -2,5 +2,4 @@
Class=MechWarrior4::MWMover
[renderers]
VideoRenderer=armaturevideo\j2c_lfoot.video
VideoRenderer=armaturevideo\chp_lfoot.video
@@ -0,0 +1,5 @@
[gamedata]
Class=MechWarrior4::MWMover
[renderers]
VideoRenderer=armaturevideo\chp_lftoe.video
@@ -0,0 +1,5 @@
[gamedata]
Class=MechWarrior4::MWMover
[renderers]
VideoRenderer=armaturevideo\chp_lgun.video
@@ -0,0 +1,5 @@
[gamedata]
Class=MechWarrior4::MWMover
[renderers]
VideoRenderer=armaturevideo\chp_luarm.video
@@ -0,0 +1,5 @@
[gamedata]
Class=MechWarrior4::MWMover
[renderers]
VideoRenderer=armaturevideo\chp_luleg.video
@@ -0,0 +1,5 @@
[gamedata]
Class=MechWarrior4::MWMover
[renderers]
VideoRenderer=armaturevideo\chp_rbtoe.video
@@ -0,0 +1,5 @@
[gamedata]
Class=MechWarrior4::MWMover
[renderers]
VideoRenderer=armaturevideo\chp_rdleg.video
@@ -0,0 +1,5 @@
[gamedata]
Class=MechWarrior4::MWMover
[renderers]
VideoRenderer=armaturevideo\chp_rfoot.video
@@ -0,0 +1,5 @@
[gamedata]
Class=MechWarrior4::MWMover
[renderers]
VideoRenderer=armaturevideo\chp_rftoe.video
@@ -0,0 +1,5 @@
[gamedata]
Class=MechWarrior4::MWMover
[renderers]
VideoRenderer=armaturevideo\chp_rgun.video
@@ -0,0 +1,5 @@
[gamedata]
Class=MechWarrior4::MWMover
[renderers]
VideoRenderer=armaturevideo\chp_ruarm.video
@@ -0,0 +1,5 @@
[gamedata]
Class=MechWarrior4::MWMover
[renderers]
VideoRenderer=armaturevideo\chp_ruleg.video
@@ -0,0 +1,5 @@
[gamedata]
Class=MechWarrior4::MWMover
[renderers]
VideoRenderer=armaturevideo\chp_specialone.video
@@ -0,0 +1,5 @@
[gamedata]
Class=MechWarrior4::MWMover
[renderers]
VideoRenderer=armaturevideo\chp_specialtwo.video
@@ -0,0 +1,5 @@
[gamedata]
Class=MechWarrior4::MWMover
[renderers]
VideoRenderer=armaturevideo\chp_torso.video
@@ -0,0 +1,5 @@
[gamedata]
Class=MechWarrior4::MWMover
[renderers]
VideoRenderer=armaturevideo\joint_cage.video
@@ -1,11 +1,11 @@
[lod]
Type=ShapeComponent
Geometry=j2c_hip.erf
Geometry=chp_hip.erf
Unique=true
[damlod]
Type=ShapeComponent
Geometry=j2c_hip_DAM.erf
Geometry=chp_hip_DAM.erf
Unique=true
[watcher]
@@ -21,4 +21,3 @@ Child=DAMLOD
[locator]
Child=DamageAppearance
@@ -1,11 +1,11 @@
[lod]
Type=ShapeComponent
Geometry=j2c_lgun.erf
Geometry=chp_lbtoe.erf
Unique=true
[damlod]
Type=ShapeComponent
Geometry=j2c_lgun_DAM.erf
Geometry=chp_lbtoe_DAM.erf
Unique=true
[watcher]
@@ -21,4 +21,3 @@ Child=DAMLOD
[locator]
Child=DamageAppearance
@@ -1,11 +1,11 @@
[lod]
Type=ShapeComponent
Geometry=j2c_rgun.erf
Geometry=chp_ldleg.erf
Unique=true
[damlod]
Type=ShapeComponent
Geometry=j2c_rgun_DAM.erf
Geometry=chp_ldleg_DAM.erf
Unique=true
[watcher]
@@ -21,4 +21,3 @@ Child=DAMLOD
[locator]
Child=DamageAppearance
@@ -1,11 +1,11 @@
[lod]
Type=ShapeComponent
Geometry=j2c_lfoot.erf
Geometry=chp_lfoot.erf
Unique=true
[damlod]
Type=ShapeComponent
Geometry=j2c_lfoot_DAM.erf
Geometry=chp_lfoot_DAM.erf
Unique=true
[watcher]
@@ -21,4 +21,3 @@ Child=DAMLOD
[locator]
Child=DamageAppearance
@@ -0,0 +1,23 @@
[lod]
Type=ShapeComponent
Geometry=chp_lftoe.erf
Unique=true
[damlod]
Type=ShapeComponent
Geometry=chp_lftoe_DAM.erf
Unique=true
[watcher]
Type=AttributeWatcherOfInt
Attribute=VisualRepresentation
SimulationShouldExecute=1
[damageappearance]
Type=SwitchComponent
Input=Watcher
Child=LOD
Child=DAMLOD
[locator]
Child=DamageAppearance
@@ -1,6 +1,6 @@
[lod]
Type=ShapeComponent
Geometry=j2c_lbtoe.erf
Geometry=chp_lgun.erf
Unique=true
[watcher]
@@ -15,4 +15,3 @@ Child=LOD
[locator]
Child=DamageAppearance
@@ -0,0 +1,23 @@
[lod]
Type=ShapeComponent
Geometry=chp_luarm.erf
Unique=true
[damlod]
Type=ShapeComponent
Geometry=chp_luarm_DAM.erf
Unique=true
[watcher]
Type=AttributeWatcherOfInt
Attribute=VisualRepresentation
SimulationShouldExecute=1
[damageappearance]
Type=SwitchComponent
Input=Watcher
Child=LOD
Child=DAMLOD
[locator]
Child=DamageAppearance
@@ -0,0 +1,23 @@
[lod]
Type=ShapeComponent
Geometry=chp_luleg.erf
Unique=true
[damlod]
Type=ShapeComponent
Geometry=chp_luleg_DAM.erf
Unique=true
[watcher]
Type=AttributeWatcherOfInt
Attribute=VisualRepresentation
SimulationShouldExecute=1
[damageappearance]
Type=SwitchComponent
Input=Watcher
Child=LOD
Child=DAMLOD
[locator]
Child=DamageAppearance
@@ -0,0 +1,23 @@
[lod]
Type=ShapeComponent
Geometry=chp_rbtoe.erf
Unique=true
[damlod]
Type=ShapeComponent
Geometry=chp_rbtoe_DAM.erf
Unique=true
[watcher]
Type=AttributeWatcherOfInt
Attribute=VisualRepresentation
SimulationShouldExecute=1
[damageappearance]
Type=SwitchComponent
Input=Watcher
Child=LOD
Child=DAMLOD
[locator]
Child=DamageAppearance
@@ -0,0 +1,23 @@
[lod]
Type=ShapeComponent
Geometry=chp_rdleg.erf
Unique=true
[damlod]
Type=ShapeComponent
Geometry=chp_rdleg_DAM.erf
Unique=true
[watcher]
Type=AttributeWatcherOfInt
Attribute=VisualRepresentation
SimulationShouldExecute=1
[damageappearance]
Type=SwitchComponent
Input=Watcher
Child=LOD
Child=DAMLOD
[locator]
Child=DamageAppearance
@@ -0,0 +1,23 @@
[lod]
Type=ShapeComponent
Geometry=chp_rfoot.erf
Unique=true
[damlod]
Type=ShapeComponent
Geometry=chp_rfoot_DAM.erf
Unique=true
[watcher]
Type=AttributeWatcherOfInt
Attribute=VisualRepresentation
SimulationShouldExecute=1
[damageappearance]
Type=SwitchComponent
Input=Watcher
Child=LOD
Child=DAMLOD
[locator]
Child=DamageAppearance
@@ -0,0 +1,23 @@
[lod]
Type=ShapeComponent
Geometry=chp_rftoe.erf
Unique=true
[damlod]
Type=ShapeComponent
Geometry=chp_rftoe_DAM.erf
Unique=true
[watcher]
Type=AttributeWatcherOfInt
Attribute=VisualRepresentation
SimulationShouldExecute=1
[damageappearance]
Type=SwitchComponent
Input=Watcher
Child=LOD
Child=DAMLOD
[locator]
Child=DamageAppearance
@@ -0,0 +1,17 @@
[lod]
Type=ShapeComponent
Geometry=chp_rgun.erf
Unique=true
[watcher]
Type=AttributeWatcherOfInt
Attribute=VisualRepresentation
SimulationShouldExecute=1
[damageappearance]
Type=SwitchComponent
Input=Watcher
Child=LOD
[locator]
Child=DamageAppearance
@@ -0,0 +1,23 @@
[lod]
Type=ShapeComponent
Geometry=chp_ruarm.erf
Unique=true
[damlod]
Type=ShapeComponent
Geometry=chp_ruarm_DAM.erf
Unique=true
[watcher]
Type=AttributeWatcherOfInt
Attribute=VisualRepresentation
SimulationShouldExecute=1
[damageappearance]
Type=SwitchComponent
Input=Watcher
Child=LOD
Child=DAMLOD
[locator]
Child=DamageAppearance
@@ -0,0 +1,23 @@
[lod]
Type=ShapeComponent
Geometry=chp_ruleg.erf
Unique=true
[damlod]
Type=ShapeComponent
Geometry=chp_ruleg_DAM.erf
Unique=true
[watcher]
Type=AttributeWatcherOfInt
Attribute=VisualRepresentation
SimulationShouldExecute=1
[damageappearance]
Type=SwitchComponent
Input=Watcher
Child=LOD
Child=DAMLOD
[locator]
Child=DamageAppearance
@@ -1,11 +1,11 @@
[lod]
Type=ShapeComponent
Geometry=j2c_lftoe.erf
Geometry=chp_specialone.erf
Unique=true
[damlod]
Type=ShapeComponent
Geometry=j2c_lftoe_DAM.erf
Geometry=chp_specialone_DAM.erf
Unique=true
[watcher]
@@ -21,4 +21,3 @@ Child=DAMLOD
[locator]
Child=DamageAppearance
@@ -1,11 +1,11 @@
[lod]
Type=ShapeComponent
Geometry=j2c_ldleg.erf
Geometry=chp_specialtwo.erf
Unique=true
[damlod]
Type=ShapeComponent
Geometry=j2c_ldleg_DAM.erf
Geometry=chp_specialtwo_DAM.erf
Unique=true
[watcher]
@@ -21,4 +21,3 @@ Child=DAMLOD
[locator]
Child=DamageAppearance
@@ -0,0 +1,39 @@
[lightlod]
Type=ShapeComponent
Geometry=runninglights.erf
Unique=true
[lightwatcher]
Type=AttributeWatcherOfInt
Attribute=IsDark
SimulationShouldExecute=1
[lightswitch]
Type=SwitchComponent
Input=LightWatcher
Child=LightLOD
[lod]
Type=ShapeComponent
Geometry=chp_torso.erf
Unique=true
[damlod]
Type=ShapeComponent
Geometry=chp_torso_DAM.erf
Unique=true
[watcher]
Type=AttributeWatcherOfInt
Attribute=VisualRepresentation
SimulationShouldExecute=1
[damageappearance]
Type=SwitchComponent
Input=Watcher
Child=LOD
Child=DAMLOD
[locator]
Child=LightSwitch
Child=DamageAppearance
@@ -0,0 +1,33 @@
[fake1]
Type=GroupComponent
[fake2]
Type=GroupComponent
[cage]
Type=ShapeComponent
Geometry=champion_cage.erf
Unique=true
DisableShadow=true
[destroyedcage]
Type=ShapeComponent
Geometry=champion_cage.erf
Unique=true
DisableShadow=true
[watcher]
Type=AttributeWatcherOfInt
Attribute=VisualRepresentation
SimulationShouldExecute=1
[damageappearance]
Type=SwitchComponent
Input=Watcher
Child=Fake1
Child=Fake2
Child=Cage
Child=DestroyedCage
[locator]
Child=DamageAppearance
@@ -0,0 +1,324 @@
[site_eject2]
Rotation=0.000000 -79.999970 0.000000
Translation=0.026939 9.402081 -0.351965
[site_ldjetport]
Rotation=180.001549 60.000507 0.000444
Translation=-0.053350 -1.644695 -1.357375
[site_lfoot]
Rotation=-0.000000 89.993650 0.000000
Translation=0.008247 -1.345476 0.339414
[joint_lftoe]
Rotation=0.000000 0.000000 0.000000
Translation=-0.006925 -0.997858 0.649386
[joint_lbtoe]
Rotation=0.000000 0.000000 0.000000
Translation=0.008497 -0.804437 -0.287961
[joint_lbelowankle]
Rotation=0.000000 0.000000 0.000000
Translation=0.000000 0.000000 0.000000
Child=site_lfoot
Child=joint_lftoe
Child=joint_lbtoe
[joint_lankle]
Rotation=0.000000 0.000000 0.000000
Translation=0.027432 -2.249669 -0.553756
Child=joint_lbelowankle
[joint_ldleg]
Rotation=0.000000 0.000000 0.000000
Translation=0.514114 -2.258205 0.637385
Child=site_ldjetport
Child=joint_lankle
[joint_luleg]
Rotation=0.000000 0.000000 0.000000
Translation=0.878332 0.000000 -0.325638
Child=joint_ldleg
[site_rdjetport]
Rotation=-0.000250 -60.000446 -180.001549
Translation=-0.044741 -1.644696 -1.313388
[site_rfoot]
Rotation=-0.000000 89.993650 0.000000
Translation=-0.017163 -1.345476 0.339415
[joint_rftoe]
Rotation=0.000000 0.000000 0.000000
Translation=0.007000 -0.998125 0.649008
[joint_rbtoe]
Rotation=0.000000 0.000000 0.000000
Translation=-0.008000 -0.804124 -0.287992
[joint_rbelowankle]
Rotation=0.000000 0.000000 0.000000
Translation=0.000000 0.000124 -0.000008
Child=site_rfoot
Child=joint_rftoe
Child=joint_rbtoe
[joint_rankle]
Rotation=0.000000 0.000000 0.000000
Translation=-0.028000 -2.249793 -0.553747
Child=joint_rbelowankle
[joint_rdleg]
Rotation=0.000000 0.000000 0.000000
Translation=-0.514000 -2.258206 0.637384
Child=site_rdjetport
Child=joint_rankle
[joint_ruleg]
Rotation=0.000000 0.000000 0.000000
Translation=-0.878000 0.000000 -0.325638
Child=joint_rdleg
[site_jcjetport01]
Rotation=-30.004492 70.010846 -0.000302
Translation=-1.796225 -1.847017 3.117263
[site_jcjetport02]
Rotation=30.004912 70.010655 -0.000010
Translation=1.795093 -1.847017 3.117266
[site_jcjetport03]
Rotation=150.006486 70.002670 0.000762
Translation=1.795093 -1.847015 -3.100007
[site_jcjetport04]
Rotation=-150.006349 70.002875 -0.001157
Translation=-1.796225 -1.847015 -3.100007
[site_eject]
Rotation=0.000348 -79.986665 -0.000061
Translation=0.000004 2.925364 0.458447
[site_coolantflush]
Rotation=179.994855 -14.999579 -0.000124
Translation=-0.003276 0.359841 -1.152658
[site_lujetport]
Rotation=163.256589 58.523643 -19.425014
Translation=0.984145 0.819008 -2.136806
[site_rujetport]
Rotation=10313.240312 58.417775 -10293.766077
Translation=-0.983998 0.819006 -2.136805
[site_jcattach]
Rotation=0.000023 0.000012 -0.000107
Translation=0.049468 -0.813126 -0.174255
[site_missleport]
Rotation=0.000023 0.000012 -0.000107
Translation=0.085946 0.367646 2.390566
[site_rexhaust]
Rotation=-9.996825 24.992676 0.000109
Translation=-1.132552 1.216358 -0.019608
[site_lexhaust]
Rotation=-169.998095 -24.999037 179.997983
Translation=1.125423 1.216360 -0.019607
[site_lmissileport]
Rotation=0.000000 -0.000000 0.000000
Translation=2.313802 0.617118 0.429695
[joint_specialone]
Rotation=0.000000 0.000000 0.000000
Translation=0.000000 0.000000 0.000000
Child=site_lmissileport
[joint_centertorsofront]
Rotation=0.000000 0.000000 0.000000
Translation=0.000000 0.000000 0.000000
[site_ltorsoport]
Rotation=0.000000 -0.000000 0.000000
Translation=1.103925 1.391777 1.733585
[joint_lefttorsofront]
Rotation=0.000000 0.000000 0.000000
Translation=0.000000 0.000000 0.000000
Child=site_ltorsoport
[site_rtorsoport]
Rotation=0.000000 -0.000000 0.000000
Translation=-1.134073 1.421513 1.779290
[joint_righttorsofront]
Rotation=0.000000 0.000000 0.000000
Translation=0.000000 0.000000 0.000000
Child=site_rtorsoport
[joint_centertorsorear]
Rotation=0.000000 0.000000 0.000000
Translation=0.000000 0.000000 0.000000
[joint_head]
Rotation=0.000000 0.000000 0.000000
Translation=0.000000 0.000000 0.000000
[site_rdgunport]
Rotation=0.000076 -0.000000 0.000000
Translation=-0.480605 -0.881363 3.698244
[site_rugunport]
Rotation=0.000076 -0.000000 0.000000
Translation=-0.624439 -1.302455 3.072759
[site_rshellport]
Rotation=-89.993582 -0.000000 0.000000
Translation=-0.830608 -1.302455 -0.349259
[joint_rgun]
Rotation=0.000000 0.000000 0.000000
Translation=0.000000 0.000000 0.000000
Child=site_rdgunport
Child=site_rugunport
Child=site_rshellport
[joint_rgunabove]
Rotation=0.000000 0.000000 0.000000
Translation=-0.432257 -0.012817 0.000000
Child=joint_rgun
[joint_ruarm]
Rotation=0.000000 0.000000 0.000000
Translation=-2.945356 1.438734 -1.155407
Child=joint_rgunabove
[site_lgunport]
Rotation=-0.000228 0.000318 0.000055
Translation=0.480870 -0.841211 3.753044
[site_lshellport]
Rotation=89.999791 14.999637 -0.000634
Translation=0.577869 -0.712398 1.060494
[joint_lgun]
Rotation=0.000000 0.000000 0.000000
Translation=0.000000 0.000000 0.000000
Child=site_lgunport
Child=site_lshellport
[joint_lgunabove]
Rotation=0.000000 0.000000 0.000000
Translation=0.417983 -0.056251 0.000000
Child=joint_lgun
[joint_luarm]
Rotation=0.000000 0.000000 0.000000
Translation=2.968567 1.438636 -1.196401
Child=joint_lgunabove
[site_cageleft]
Rotation=-0.000000 -89.993650 -0.000000
Translation=1.584296 0.010391 0.170395
[site_cageright]
Rotation=-0.000000 -89.993650 -0.000000
Translation=-1.601901 0.010391 0.170395
[site_light]
Rotation=0.000000 -0.000000 0.000000
Translation=0.228597 -1.318069 1.563738
[joint_cage]
Rotation=0.000000 0.000000 0.000000
Translation=0.000000 2.364707 2.248320
Child=site_cageleft
Child=site_cageright
Child=site_light
[site_eyepoint]
Rotation=0.000000 0.000000 0.000000
Translation=0.000000 2.420137 2.602478
[site_rmissileport]
Rotation=0.000000 -0.000000 0.000000
Translation=-2.369163 0.575206 0.397029
[joint_specialtwo]
Rotation=0.000000 0.000000 0.000000
Translation=0.000000 0.000000 -0.000001
Child=site_rmissileport
[joint_torsoabove]
Rotation=0.000000 0.000000 0.000000
Translation=0.000000 0.000000 0.000000
Child=site_jcjetport01
Child=site_jcjetport02
Child=site_jcjetport03
Child=site_jcjetport04
Child=site_eject
Child=site_coolantflush
Child=site_lujetport
Child=site_rujetport
Child=site_jcattach
Child=site_missleport
Child=site_rexhaust
Child=site_lexhaust
Child=joint_specialone
Child=joint_centertorsofront
Child=joint_lefttorsofront
Child=joint_righttorsofront
Child=joint_centertorsorear
Child=joint_head
Child=joint_ruarm
Child=joint_luarm
Child=joint_cage
Child=site_eyepoint
Child=joint_specialtwo
[joint_torso]
Rotation=0.000000 0.000000 0.000000
Translation=0.000000 0.000000 0.000000
Child=joint_torsoabove
[joint_torsobelow]
Rotation=0.000000 0.000000 0.000000
Translation=0.000000 0.775000 0.000000
Child=joint_torso
[joint_hipabove]
Rotation=0.000000 0.000000 0.000000
Translation=0.000000 0.000000 0.000000
Child=joint_torsobelow
[joint_hip]
Rotation=0.000000 0.000000 0.000000
Translation=0.000000 0.000000 0.000000
Child=joint_hipabove
[joint_hipbelow]
Rotation=0.000000 0.000000 0.000000
Translation=0.000000 0.000000 0.000000
Child=joint_hip
[joint_root]
Rotation=0.000000 0.000000 0.000000
Translation=0.000000 -0.000000 0.000000
Child=joint_luleg
Child=joint_ruleg
Child=joint_hipbelow
[joint_vel]
Rotation=0.000000 0.000000 0.000000
Translation=0.000000 5.853351 0.000000
Child=joint_root
[joint_world]
Rotation=0.000000 0.000000 0.000000
Translation=0.000000 0.000000 0.000000
Child=site_eject2
Child=joint_vel
@@ -0,0 +1,262 @@
[includes]
!include=champion.armature
[joint_hipabove]
Model=armaturedata\chp_hip.data
ExecutionState=AlwaysExecuteState
[joint_torsobelow]
Model=basic.data
ExecutionState=AlwaysExecuteState
[joint_hip]
Model=basic.data
ExecutionState=AlwaysExecuteState
[joint_lbelowankle]
Model=armaturedata\chp_lfoot.data
ExecutionState=AlwaysExecuteState
[joint_lftoe]
Model=armaturedata\chp_lftoe.data
ExecutionState=AlwaysExecuteState
[joint_lbtoe]
Model=armaturedata\chp_lbtoe.data
ExecutionState=AlwaysExecuteState
[site_lfoot]
Model=basic.data
ExecutionState=AlwaysExecuteState
[joint_lankle]
Model=basic.data
ExecutionState=AlwaysExecuteState
[joint_lgun]
Model=armaturedata\chp_lgun.data
ExecutionState=AlwaysExecuteState
[joint_lgunabove]
Model=basic.data
ExecutionState=AlwaysExecuteState
[joint_ldleg]
Model=armaturedata\chp_ldleg.data
ExecutionState=AlwaysExecuteState
[joint_rbelowankle]
Model=armaturedata\chp_rfoot.data
ExecutionState=AlwaysExecuteState
[joint_rftoe]
Model=armaturedata\chp_rftoe.data
ExecutionState=AlwaysExecuteState
[joint_rbtoe]
Model=armaturedata\chp_rbtoe.data
ExecutionState=AlwaysExecuteState
[site_rfoot]
Model=basic.data
ExecutionState=AlwaysExecuteState
[joint_rankle]
Model=basic.data
ExecutionState=AlwaysExecuteState
[joint_rgun]
Model=armaturedata\chp_rgun.data
ExecutionState=AlwaysExecuteState
[joint_luleg]
Model=armaturedata\chp_luleg.data
ExecutionState=AlwaysExecuteState
[joint_ruleg]
Model=armaturedata\chp_ruleg.data
ExecutionState=AlwaysExecuteState
[joint_hipbelow]
Model=basic.data
ExecutionState=AlwaysExecuteState
[joint_rgunabove]
Model=basic.data
ExecutionState=AlwaysExecuteState
[joint_rdleg]
Model=armaturedata\chp_rdleg.data
ExecutionState=AlwaysExecuteState
[joint_torsoabove]
Model=armaturedata\chp_torso.data
ExecutionState=AlwaysExecuteState
[joint_specialone]
Model=armaturedata\chp_specialone.data
ExecutionState=AlwaysExecuteState
[joint_centertorsofront]
Model=basic.data
ExecutionState=AlwaysExecuteState
[joint_lefttorsofront]
Model=basic.data
ExecutionState=AlwaysExecuteState
[joint_righttorsofront]
Model=basic.data
ExecutionState=AlwaysExecuteState
[joint_centertorsorear]
Model=basic.data
ExecutionState=AlwaysExecuteState
[joint_head]
Model=basic.data
ExecutionState=AlwaysExecuteState
[joint_ruarm]
Model=armaturedata\chp_ruarm.data
ExecutionState=AlwaysExecuteState
[joint_luarm]
Model=armaturedata\chp_luarm.data
ExecutionState=AlwaysExecuteState
[joint_cage]
Model=armaturedata\joint_cage.data
ExecutionState=AlwaysExecuteState
[site_eyepoint]
Model=basic.data
ExecutionState=AlwaysExecuteState
[joint_specialtwo]
Model=armaturedata\chp_specialtwo.data
ExecutionState=AlwaysExecuteState
[joint_torso]
Model=basic.data
ExecutionState=AlwaysExecuteState
[joint_root]
Model=basic.data
ExecutionState=AlwaysExecuteState
[joint_vel]
Model=basic.data
ExecutionState=AlwaysExecuteState
[joint_world]
Model=basic.data
ExecutionState=AlwaysExecuteState
[site_cageleft]
Model=basic.data
ExecutionState=AlwaysExecuteState
[site_cageright]
Model=basic.data
ExecutionState=AlwaysExecuteState
[site_light]
Model=basic.data
ExecutionState=AlwaysExecuteState
[site_ldjetport]
Model=basic.data
ExecutionState=AlwaysExecuteState
[site_ltorsoport]
Model=basic.data
ExecutionState=AlwaysExecuteState
[site_lgunport]
Model=basic.data
ExecutionState=AlwaysExecuteState
[site_lshellport]
Model=basic.data
ExecutionState=AlwaysExecuteState
[site_rdjetport]
Model=basic.data
ExecutionState=AlwaysExecuteState
[site_rdgunport]
Model=basic.data
ExecutionState=AlwaysExecuteState
[site_rugunport]
Model=basic.data
ExecutionState=AlwaysExecuteState
[site_rshellport]
Model=basic.data
ExecutionState=AlwaysExecuteState
[site_rtorsoport]
Model=basic.data
ExecutionState=AlwaysExecuteState
[site_lmissileport]
Model=basic.data
ExecutionState=AlwaysExecuteState
[site_rmissileport]
Model=basic.data
ExecutionState=AlwaysExecuteState
[site_jcjetport01]
Model=basic.data
ExecutionState=AlwaysExecuteState
[site_jcjetport02]
Model=basic.data
ExecutionState=AlwaysExecuteState
[site_jcjetport03]
Model=basic.data
ExecutionState=AlwaysExecuteState
[site_jcjetport04]
Model=basic.data
ExecutionState=AlwaysExecuteState
[site_eject]
Model=basic.data
ExecutionState=AlwaysExecuteState
[site_coolantflush]
Model=basic.data
ExecutionState=AlwaysExecuteState
[site_lujetport]
Model=basic.data
ExecutionState=AlwaysExecuteState
[site_rujetport]
Model=basic.data
ExecutionState=AlwaysExecuteState
[site_jcattach]
Model=basic.data
ExecutionState=AlwaysExecuteState
[site_missleport]
Model=basic.data
ExecutionState=AlwaysExecuteState
[site_rexhaust]
Model=basic.data
ExecutionState=AlwaysExecuteState
[site_lexhaust]
Model=basic.data
ExecutionState=AlwaysExecuteState
[site_eject2]
Model=basic.data
ExecutionState=AlwaysExecuteState
@@ -0,0 +1,191 @@
[joint_luarm]
BaseArmorValue=1.0
MaxArmorValue=45.0
ScaleSplashDamage=0.14
InternalDamageZone=LeftArm
ArmorZone=LeftArm
[LeftArmInternal]
DamageZone=LeftArm
BaseInternalDamage=18.0
DamageEffect=effects\internalstructure_hit\internalstructure_hit_a.data,0.99
DamageEffect=effects\internalstructure_hit\internalstructure_hit_b.data,0.75
DamageEffect=effects\internalstructure_hit\internalstructure_hit_c.data,0.5
DamageEffect=effects\internalstructure_hit\internalstructure_hit_d.data,0.25
DamageMode=DetachableDamageMode
ParentEntityName=joint_luarm
BeamSlots=2
[joint_ruarm]
BaseArmorValue=1.0
MaxArmorValue=45.0
ScaleSplashDamage=0.14
InternalDamageZone=RightArm
ArmorZone=RightArm
[RightArmInternal]
DamageZone=RightArm
BaseInternalDamage=18.0
DamageEffect=effects\internalstructure_hit\internalstructure_hit_a.data,0.99
DamageEffect=effects\internalstructure_hit\internalstructure_hit_b.data,0.75
DamageEffect=effects\internalstructure_hit\internalstructure_hit_c.data,0.5
DamageEffect=effects\internalstructure_hit\internalstructure_hit_d.data,0.25
DamageMode=DetachableDamageMode
ParentEntityName=joint_ruarm
BeamSlots=2
[joint_luleg]
BaseArmorValue=1.0
MaxArmorValue=57.0
ScaleSplashDamage=0.24
InternalDamageZone=LeftLeg
ArmorZone=LeftLeg
[LeftLegInternal]
DamageZone=LeftLeg
BaseInternalDamage=33.0
DamageEffect=effects\internalstructure_hit\internalstructure_hit_a.data,0.99
DamageEffect=effects\internalstructure_hit\internalstructure_hit_b.data,0.75
DamageEffect=effects\internalstructure_hit\internalstructure_hit_c.data,0.5
DamageEffect=effects\internalstructure_hit\internalstructure_hit_d.data,0.25
DamageMode=GimpLeftDamageMode
ParentEntityName=joint_luleg
DamagePropagationZone=CenterTorso
[joint_ruleg]
BaseArmorValue=1.0
MaxArmorValue=57.0
ScaleSplashDamage=0.24
InternalDamageZone=RightLeg
ArmorZone=RightLeg
[RightLegInternal]
DamageZone=RightLeg
BaseInternalDamage=33.0
DamageEffect=effects\internalstructure_hit\internalstructure_hit_a.data,0.99
DamageEffect=effects\internalstructure_hit\internalstructure_hit_b.data,0.75
DamageEffect=effects\internalstructure_hit\internalstructure_hit_c.data,0.5
DamageEffect=effects\internalstructure_hit\internalstructure_hit_d.data,0.25
DamageMode=GimpRightDamageMode
ParentEntityName=joint_ruleg
DamagePropagationZone=CenterTorso
[joint_head]
BaseArmorValue=1.0
MaxArmorValue=18.0
ScaleSplashDamage=0
InternalDamageZone=Head
ArmorZone=Head
[HeadInternal]
DamageZone=Head
BaseInternalDamage=6.0
DamageEffect=effects\internalstructure_hit\internalstructure_hit_a.data,0.99
DamageEffect=effects\internalstructure_hit\internalstructure_hit_b.data,0.75
DamageEffect=effects\internalstructure_hit\internalstructure_hit_c.data,0.5
DamageEffect=effects\internalstructure_hit\internalstructure_hit_d.data,0.25
DamageMode=HeadShotDamageMode
ParentEntityName=joint_head
[joint_righttorsofront]
BaseArmorValue=1.0
MaxArmorValue=48.0
ScaleSplashDamage=0.3
InternalDamageZone=RightTorso
ArmorZone=RightTorso
[RightTorsoInternal]
DamageZone=RightTorso
BaseInternalDamage=24.0
DamageEffect=effects\internalstructure_hit\internalstructure_hit_a.data,0.99
DamageEffect=effects\internalstructure_hit\internalstructure_hit_b.data,0.75
DamageEffect=effects\internalstructure_hit\internalstructure_hit_c.data,0.5
DamageEffect=effects\internalstructure_hit\internalstructure_hit_d.data,0.25
ParentEntityName=joint_righttorsofront
DamagePropagationZone=CenterTorso
ProjectileSlots=2
[joint_lefttorsofront]
BaseArmorValue=1.0
MaxArmorValue=48.0
ScaleSplashDamage=0.3
InternalDamageZone=LeftTorso
ArmorZone=LeftTorso
[LeftTorsoInternal]
DamageZone=LeftTorso
BaseInternalDamage=24.0
DamageEffect=effects\internalstructure_hit\internalstructure_hit_a.data,0.99
DamageEffect=effects\internalstructure_hit\internalstructure_hit_b.data,0.75
DamageEffect=effects\internalstructure_hit\internalstructure_hit_c.data,0.5
DamageEffect=effects\internalstructure_hit\internalstructure_hit_d.data,0.25
ParentEntityName=joint_lefttorsofront
DamagePropagationZone=CenterTorso
ProjectileSlots=2
[joint_specialone]
BaseArmorValue=36.0
MaxArmorValue=36.0
ScaleSplashDamage=0.14
InternalDamageZone=Special1
ArmorZone=Special1
SpecialAttachedToZone=LeftTorso
[Special1Internal]
DamageZone=Special1
BaseInternalDamage=1.0
DamageEffect=effects\internalstructure_hit\internalstructure_hit_a.data,0.99
DamageEffect=effects\internalstructure_hit\internalstructure_hit_b.data,0.75
DamageEffect=effects\internalstructure_hit\internalstructure_hit_c.data,0.5
DamageEffect=effects\internalstructure_hit\internalstructure_hit_d.data,0.25
DamageMode=DetachableDamageMode
ParentEntityName=joint_specialone
DamagePropagationZone=LeftTorso
SpecialAttachedToZone=LeftTorso
MissileSlots=2
[joint_specialtwo]
BaseArmorValue=36.0
MaxArmorValue=36.0
ScaleSplashDamage=0.14
InternalDamageZone=Special2
ArmorZone=Special2
SpecialAttachedToZone=RightTorso
[Special2Internal]
DamageZone=Special2
BaseInternalDamage=1.0
DamageEffect=effects\internalstructure_hit\internalstructure_hit_a.data,0.99
DamageEffect=effects\internalstructure_hit\internalstructure_hit_b.data,0.75
DamageEffect=effects\internalstructure_hit\internalstructure_hit_c.data,0.5
DamageEffect=effects\internalstructure_hit\internalstructure_hit_d.data,0.25
DamageMode=DetachableDamageMode
ParentEntityName=joint_specialtwo
DamagePropagationZone=RightTorso
SpecialAttachedToZone=RightTorso
MissileSlots=2
[joint_hipbelow]
BaseArmorValue=1.0
MaxArmorValue=57.0
ScaleSplashDamage=0.3
InternalDamageZone=CenterTorso
ArmorZone=CenterTorso
[joint_centertorsorear]
BaseArmorValue=1.0
MaxArmorValue=21.0
ScaleSplashDamage=0.12
InternalDamageZone=CenterTorso
ArmorZone=CenterRearTorso
[CenterTorsoInternal]
DamageZone=CenterTorso
BaseInternalDamage=39.0
DamageEffect=effects\internalstructure_hit\internalstructure_hit_a.data,0.99
DamageEffect=effects\internalstructure_hit\internalstructure_hit_b.data,0.75
DamageEffect=effects\internalstructure_hit\internalstructure_hit_c.data,0.5
DamageEffect=effects\internalstructure_hit\internalstructure_hit_d.data,0.25
DamageMode=DestructionDamageMode
ParentEntityName=joint_hipbelow
BeamSlots=2
@@ -0,0 +1,140 @@
[GameData]
Acceleration=6.2
AdvancedGyroTonnage=0
AnimationScript=content\mechs\dragon\dragon.animscript
CageDamageEffect=effects\mech_cage\mech_cage_hit.data
CanBeShot=true
CanLoadAMS=No
CanLoadAdvancedGyro=Yes
CanLoadBeagle=No
CanLoadECM=No
CanLoadIFF_Jammer=Yes
CanLoadJumpJets=Yes
CanLoadLAMS=No
CanLoadLightAmp=Yes
Class=MechWarrior4::Mech
Collider=true
CoolantEffectResource=effects\coolant\generalmech_coolant.data
Cradle=vehicles\jump_cradle\jump_cradle.data
CradleDeathEffect=effects\cradle_death\cradle_death.data
CraterName=crater01
DamageNeededForCageEffect=7
DampenHipJoint=0.95
DampenRootJoint=0.95
DampenTorsoJoint=0.9
DampenTranslationJoint=0.95
DampenWorldJoint=1
DeathEntityResource=mechs\champion_destroyed\champion_destroyed.data
Decceleration=9.3
DestroyedEffectResource=effects\mechdeath\mechdeath.data
DropJumpEffect=effects\jumpjet\dropjump.data
EjectEffectResource=effects\eject\generalmech_eject.data
ExternalHitScaleBeamDamage=3
ExternalHitScaleHeatDamage=0
ExternalHitScaleMissileDamage=3
ExternalHitScaleProjectileDamage=3
ExternalHitScaleSplashDamage=0.125
EyeSpringConstant=30 30 30
EyeSpringDrag=300 300 300
EyeSpringMotionLimit=20 20 20
EyeSpringStopThreshold=30 30 30
FaceLighting=yes
FallAdjustmentDelaySeconds=0
FallAdjustmentSeconds=1
FootEffectsFile=effects\materialeffectholders\mech_foot_large.contents
FootReturnSeconds=0.5
FullStopTurnRate=99
GetUpAdjustmentDelaySeconds=1
GetUpAdjustmentSeconds=1
HeatManager=subsystems\heatmanager.data
HipHitSpringDeceleration=15
HipHitSpringMotionLimit=13
HipHitSpringReturnSpeed=40
HipHitSpringSpeed=30
HipScaleTakeHit=30
InitialJumpJetEffect=effects\jumpjet\initialjumpjet.data
InternalHitScaleBeamDamage=1
InternalHitScaleHeatDamage=0
InternalHitScaleMissileDamage=15
InternalHitScaleProjectileDamage=3
InternalHitScaleSplashDamage=0.25
InternalSpinHitScaleBeamDamage=1
InternalSpinHitScaleHeatDamage=0
InternalSpinHitScaleMissileDamage=3
InternalSpinHitScaleProjectileDamage=2.5
InternalSpinHitScaleSplashDamage=0.4
JumpJetEffect=effects\jumpjet\jumpjet.data
JumpJetTonnage=4
LeftJumpJetSiteName=site_lujetport
LightMapLighting=no
LookupLighting=yes
MaxGimpSpeed=6.5
MaxHeat=37
MaxReverseSpeed=-9.75
MaxSpeed=29.225
MaxVehicleTonnage=60
MechGlassRamEffect=effects\mech_ram\genericmechtoglass_hit.data
MechID=$(M_Champion)
MechRamEffect=effects\mech_ram\genericmechtomech_hit.data
MinMaxSpeed=19.5
MinReverseSpeed=-2.78
MinSpeed=2.78
MinStandTransitionSpeed=6.763
MinimumDamageForHitAnimation=2
MinimumDamageForInternalHitAnimation=1
MoveTypeFlag=LEGJUMPMOVETYPE
NameIndex=$(IDS_Champion)
OverHeatEffectResource=effects\heat\overheat.data
PartDestructionEffectResource=effects\mechpart_destruction\mechpart_destruction.data
PercentageOfSpeedToStartTilt=0.7
PercentageOfTurnToStartTilt=0.7
ReverseAccelerationMultiplier=0.8
ReverseDeccelerationMultiplier=0.8
RightJumpJetSiteName=site_rujetport
RootHitSpringDeceleration=20
RootHitSpringMotionLimit=13
RootHitSpringReturnSpeed=60
RootHitSpringSpeed=40
RootScaleTakeHit=30
ScaleInternalTiltDegree=0.85
SecondaryDeathEntityResource=mechs\champion_destroyed\champion_destroyed.data
SecondaryDestroyedEffectResource=effects\mechdeath\endmechdeath.data
Shadow={
[shadow]
LightType=Shadow
InnerRadius=4.0
OuterRadius=10.0
BlobDistance=200.0
ShadowMap=ShadowMask
Intensity=0.4
}
SpinForceBeamDamage=0.01
SpinForceHeatDamage=0.01
SpinForceMissileDamage=0.01
SpinForceProjectileDamage=0.01
SpinForceSplashDamage=0.01
SplashDamageAmount=81.875
SplashDamageRadius=22
SplashHeatAmount=6.375
TechType=$(Tech_IS)
TiltDegree=9.00002
TiltSpeed=20
TopSpeedTurnRate=29
TorsoHitSpringDeceleration=35
TorsoHitSpringMotionLimit=30
TorsoHitSpringReturnSpeed=60
TorsoHitSpringSpeed=60
TorsoScaleTakeHit=30
UndampenHipJoint=0.4
UndampenRootJoint=1
UndampenTorsoJoint=0.1
UndampenTranslationJoint=0.1
UndampenWorldJoint=1
VehicleTonnage=13
VertexLighting=yes
WakeEffectResource=effects\boatwake\mechwake.data
SolidOBB=champion_skeleton_SOLID.obb
HierarchicalOBB=champion_skeleton.obb
DefaultFootStepTexture=footsteps\dragon_default
FootStepTexture=footsteps\dragon_snow,Snow
FootStepTexture=footsteps\dragon_dirt,BrownDirt
@@ -0,0 +1,9 @@
!include = Content\Subsystems\HeatSink.defines
[GameData]
Class=Mechwarrior4::Engine
TotalCritLocations=2
NumHeatSinks=8
TonsPerUpgrade=1
MPSPerUpgrade=1.94444
HeatSinkEfficiency=0.075
@@ -0,0 +1,15 @@
[champion]
Model=champion.data
ExecutionState=NeverExecuteState
Armature=champion.contents
Subsystems=champion.subsystems
DamageObjects=champion.damage
Alignment=Player
CurrentHeat=0
CurrentCoolant=100
MaxCoolant=100
DoesHaveInstanceName=yes
PowerRating=58
ArmorRating=50
SpeedRating=40
HeatRating=40
@@ -0,0 +1,148 @@
[Engine]
Model=champion.engine
ExecutionState=NeverExecuteState
InternalLocation=CenterTorso
EngineUpgrades=2
[Armor]
Model=subsystems\armor.data
ExecutionState=NeverExecuteState
InternalLocation=CenterTorso
ArmorType=Standard
InternalType=EndoSteel
LeftLeg=1.21875
RightLeg=1.21875
LeftArm=1.125
RightArm=1.125
LeftFrontTorso=1.5
RightFrontTorso=1.5
CenterFrontTorso=1.59375
CenterRearTorso=0.46875
Head=0.5625
[Sensor]
Model=subsystems\sensorsubsystem.data
ExecutionState=ActiveState
InternalLocation=Head
[Torso]
Model=champion.torso
ExecutionState=AlwaysExecuteState
InternalLocation=CenterTorso
[SearchLight]
Model=subsystems\searchlightsubsystem.data
ExecutionState=AlwaysExecuteState
InternalLocation=CenterTorso
Site=site_light
CriticalHitsTaken=1
[Ballistic1]
Model=weaponsubsystems\ultraacweaponsubsystem\ultraac5.data
ExecutionState=NeverExecuteState
InternalLocation=LeftTorso
Site=site_ltorsoport
GroupIndex=1
AmmoCount=60
[Beam1]
Model=weaponsubsystems\laserweaponsubsystem\mediumlaser.data
ExecutionState=NeverExecuteState
InternalLocation=RightArm
Site=site_rdgunport
GroupIndex=3
EjectSite=site_rshellport
[Beam2]
Model=weaponsubsystems\laserweaponsubsystem\mediumlaser.data
ExecutionState=NeverExecuteState
InternalLocation=RightArm
Site=site_rugunport
GroupIndex=3
EjectSite=site_rshellport
[Beam3]
Model=weaponsubsystems\laserweaponsubsystem\mediumlaser.data
ExecutionState=NeverExecuteState
InternalLocation=LeftArm
Site=site_lgunport
GroupIndex=3
EjectSite=site_lshellport
[Beam4]
Model=weaponsubsystems\laserweaponsubsystem\mediumlaser.data
ExecutionState=NeverExecuteState
InternalLocation=LeftArm
Site=site_lgunport
GroupIndex=3
EjectSite=site_lshellport
[HeatSink1]
Model=subsystems\heatsinksubsystem.data
ExecutionState=NeverExecuteState
InternalLocation=CenterTorso
[HeatSink2]
Model=subsystems\heatsinksubsystem.data
ExecutionState=NeverExecuteState
InternalLocation=CenterTorso
[HeatSink3]
Model=subsystems\heatsinksubsystem.data
ExecutionState=NeverExecuteState
InternalLocation=CenterTorso
[HeatSink4]
Model=subsystems\heatsinksubsystem.data
ExecutionState=NeverExecuteState
InternalLocation=CenterTorso
[HeatSink5]
Model=subsystems\heatsinksubsystem.data
ExecutionState=NeverExecuteState
InternalLocation=CenterTorso
[HeatSink6]
Model=subsystems\heatsinksubsystem.data
ExecutionState=NeverExecuteState
InternalLocation=CenterTorso
[HeatSink7]
Model=subsystems\heatsinksubsystem.data
ExecutionState=NeverExecuteState
InternalLocation=CenterTorso
[HeatSink8]
Model=subsystems\heatsinksubsystem.data
ExecutionState=NeverExecuteState
InternalLocation=CenterTorso
[HeatSink9]
Model=subsystems\heatsinksubsystem.data
ExecutionState=NeverExecuteState
InternalLocation=CenterTorso
[Missile1]
Model=weaponsubsystems\ssrmweaponsubsystem\ssrm4.data
ExecutionState=NeverExecuteState
InternalLocation=Special1
Site=site_lmissileport
GroupIndex=2
AmmoCount=75
[Missile2]
Model=weaponsubsystems\ssrmweaponsubsystem\ssrm4.data
ExecutionState=NeverExecuteState
InternalLocation=Special2
Site=site_rmissileport
GroupIndex=2
AmmoCount=75
[Ballistic2]
Model=weaponsubsystems\ultraacweaponsubsystem\ultraac5.data
ExecutionState=NeverExecuteState
InternalLocation=RightTorso
Site=site_rtorsoport
GroupIndex=1
AmmoCount=75
@@ -0,0 +1,17 @@
!include = Content\Defines\MechTorso.defines
[GameData]
Class=MechWarrior4::Torso
TotalCritLocations=2
TwistJointName=joint_torsobelow
PitchJointName=joint_hipbelow
LeftArmJointName=joint_lgunabove
RightArmJointName=joint_rgunabove
EyeJointName=site_eyepoint
ArmRatioAngle=40
TwistSpeed=55
PitchSpeed=40
TwistRadius=120
PitchRadius=40
CageJointName=joint_cage
CageRatioAngle=0.5
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,16 @@
[GameData]
Class=MechWarrior4::DeathEntity
SolidOBB=champion_destroyed_solid.obb
OBBCollides=false
Collider=false
CanBeShot=false
CanBeWalkedOn=false
VertexLighting=yes
FaceLighting=yes
LookupLighting=no
LightMapLighting=no
CraterName=crater1
[Renderers]
VideoRenderer=champion_destroyed.video
@@ -0,0 +1,17 @@
[lod]
Type=ShapeComponent
Geometry=champion_destroyed.erf
[watcher]
Type=AttributeWatcherOfInt
Attribute=VisualRepresentation
SimulationShouldExecute=1
[damageappearance]
Type=SwitchComponent
Input=Watcher
Child=LOD
[locator]
Child=DamageAppearance
+45
View File
@@ -0,0 +1,45 @@
STAGED - complete source set, but NOT yet added to Content/core.build.
have: .erf / .mw4anim / .obb source
dasher.armature dasher.contents dasher.instance
dasher.subsystems dasher.data dasher.damage
dasher.torso dasher.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.
before building:
1. Add $(M_Dasher) to Content/ShellScripts/MechLabHeaders.h and $(IDS_Dasher) 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.
3. REVIEW MOVEMENT TYPE. All six V4H chassis carry MoveTypeFlag=LEGMOVETYPE, so
none of them can jump - yet all six also carry JumpJetTonnage (2-4), four name
a real LeftJumpJetSiteName, and griffin + jenner2c have a JumpJetSubsystem
equipped in .subsystems. Our own roster is 84 LEGJUMPMOVETYPE vs 5 LEGMOVETYPE,
and those 5 have EMPTY jump-jet site names - internally consistent. V4H's are
not. This is decompiled faithfully; the inconsistency is in their source data.
Decide per chassis whether to set LEGJUMPMOVETYPE or strip the jump-jet gear.
dasher and marauder additionally have LeftJumpJetSiteName=';' - garbage.
4. Only then add the .build entries to Content/core.build, one chassis at a time.
Until that happens these files are inert - the packer never visits them.
decision (2026-08-08): USE THIS ONE. Content/Mechs/Dasher_DNU/ stays in the repo
as reference and is NOT to be built. Note that DNU is NOT broken - it is
complete and self-consistent, and richer in places: it has its own 38 KB
dasher.animscript (this package has none and borrows dragon.animscript),
real jump-jet sites, and OmniSlots=8 arms (a true OmniMech). All 29 shared
.erf files are byte-identical between the two, so the art is interchangeable
if the DNU data is ever revived. Why it was marked DNU could not be
determined - see DECOMPILING.md section 11.
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
@@ -0,0 +1,5 @@
[gamedata]
Class=MechWarrior4::MWMover
[renderers]
VideoRenderer=armaturevideo\das_hip.video
@@ -0,0 +1,5 @@
[gamedata]
Class=MechWarrior4::MWMover
[renderers]
VideoRenderer=armaturevideo\das_ldleg.video
@@ -0,0 +1,5 @@
[gamedata]
Class=MechWarrior4::MWMover
[renderers]
VideoRenderer=armaturevideo\das_lfoot.video
@@ -0,0 +1,5 @@
[gamedata]
Class=MechWarrior4::MWMover
[renderers]
VideoRenderer=armaturevideo\das_lgun.video
@@ -0,0 +1,5 @@
[gamedata]
Class=MechWarrior4::MWMover
[renderers]
VideoRenderer=armaturevideo\das_ltoe.video
@@ -0,0 +1,5 @@
[gamedata]
Class=MechWarrior4::MWMover
[renderers]
VideoRenderer=armaturevideo\das_luarm.video
@@ -0,0 +1,5 @@
[gamedata]
Class=MechWarrior4::MWMover
[renderers]
VideoRenderer=armaturevideo\das_luleg.video
@@ -0,0 +1,5 @@
[gamedata]
Class=MechWarrior4::MWMover
[renderers]
VideoRenderer=armaturevideo\das_rdleg.video
@@ -0,0 +1,5 @@
[gamedata]
Class=MechWarrior4::MWMover
[renderers]
VideoRenderer=armaturevideo\das_rfoot.video
@@ -0,0 +1,5 @@
[gamedata]
Class=MechWarrior4::MWMover
[renderers]
VideoRenderer=armaturevideo\das_rgun.video

Some files were not shown because too many files have changed in this diff Show More