From 33fee712e9507a3f8a7e1955bb127849cb8dbc1b Mon Sep 17 00:00:00 2001 From: arcattack Date: Tue, 7 Jul 2026 23:24:43 -0500 Subject: [PATCH] =?UTF-8?q?context:=20STEP-6=20content=20confirmed=20?= =?UTF-8?q?=E2=80=94=20DamageLookupTableStream=20(type=2029),=2018=20prese?= =?UTF-8?q?nt,=20feasible?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The cylinder table resource = type 29 DamageLookupTableStream, 18 in BTL4.RES (one per mech) -> STEP 6 is FEASIBLE, not content-blocked. Name copied from a sibling resource (local_130+0xc). RE phase complete; build (containers + handler + load + wire) is the next phase. Co-Authored-By: Claude Opus 4.8 (1M context) --- context/combat-damage.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/context/combat-damage.md b/context/combat-damage.md index e69907e..9088148 100644 --- a/context/combat-damage.md +++ b/context/combat-damage.md @@ -71,7 +71,11 @@ no `virtual`; find it via the Mech message-handler registration, then disassembl container classes from the captured ctors; (3) disassemble + reconstruct `Mech::TakeDamageMessageHandler` (compute the impactPoint's local height+angle → index the grid → dispatch to `damageZones[zone]->TakeDamage`); (4) register the handler + verify unaimed hits distribute across zones. A genuine multi-pass reconstruction -(the container classes are tedious; the handler is the disassembly). `Mech__DamageZone::TakeDamage` → engine armor model (`damageLevel +(the container classes are tedious; the handler is the disassembly). **Content confirmed (2026-07): the +resource is type 29 = `DamageLookupTableStream`, 18 present in `BTL4.RES` (one per mech) — so STEP 6 is +FEASIBLE, not content-blocked.** The recon's empty-name stub (mech.cpp:1219) must be fixed to the real +name (the binary copies it from a sibling resource, `local_130+0xc` @part_012.c:10361 — reuse the mech's +DamageZoneStream/model name). RE phase COMPLETE; the build (containers + handler + load + wire) is next. `Mech__DamageZone::TakeDamage` → engine armor model (`damageLevel += damageAmount*damageScale[type]`) → 1.0 = zone destroyed → death. The Mech ctor populates the inherited `damageZones[]` from the DamageZoneStream (type 0x14) resource. `class Damage{ damageType (Collision/Ballistic/Explosive/Laser/Energy), damageAmount, damageForce, surfaceNormal, impactPoint,