#87: mech armour PANELS now darken with damage -- the .DZM material system was loaded and unused
Players: "the actual enemy mech in external view is not showing darkened armor panels". We swapped destroyed LIMB meshes but never darkened a panel. The 1995 game darkens armour through the MATERIALS. MakeMechRenderables (FUN_004cef28) built, per (damage zone, material), a watcher FUN_004573e4(material, &zone->damageLevel, 0.1f) that snapshotted the materials
This commit is contained in:
@@ -2379,6 +2379,17 @@ void
|
||||
if (deathHandler != 0)
|
||||
((MechDeathHandler *)deathHandler)->Tick();
|
||||
|
||||
// ARMOUR DARKENING (issue #87): push this mech's per-zone damageLevel onto the
|
||||
// materials that zone paints, so the panels darken toward 0.1x as they take
|
||||
// damage. The binary hung one watcher per (zone, material) off the mech's
|
||||
// renderable (FUN_004573e4, built in MakeMechRenderables) and let the renderer
|
||||
// Perform them; our equivalent update is driven from here for EVERY mech --
|
||||
// the enemy mech in external view is exactly the case players reported.
|
||||
{
|
||||
extern void BTArmourDamageTick(Entity *mech);
|
||||
BTArmourDamageTick((Entity *)this);
|
||||
}
|
||||
|
||||
// WAVE 7 Phase B: advance/render/impact the flying projectiles once per frame (viewpoint).
|
||||
if (isPlayerMech && dt > 0.0001f)
|
||||
BTUpdateProjectiles(dt);
|
||||
|
||||
Reference in New Issue
Block a user