review(physics): P1 Opus review APPROVE - UN-8 retired by byte decode; PK-timer semantics recorded for P3

All seven review lenses pass. CanJump's polarity is upgraded from
plausibility to proof: raw bytes of 0x00591b50 show fld load / fcomp
[0x007c5e24 = 2.0f] / test ah,5 / jp -> return 0, i.e. return 1 iff
load < 2.0 with unordered refusing - exactly the shipped code, NaN edge
included. UN-8 deleted. CACQualities::JumpStaminaCost's pk flag decoded
for P3: PlayerKillerStatus in {4,0x40} AND PropertyFloat 0x91 + 20 s >=
now.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Erik 2026-07-30 08:32:06 +02:00
parent f30b90f5c1
commit 001e466d42
3 changed files with 47 additions and 5 deletions

View file

@ -31,9 +31,12 @@ public sealed class PlayerWeenie : IWeenieObject
{
/// <summary>
/// Retail <c>CACQualities::CanJump</c>'s hard burden gate (0x00591b50,
/// pc 412907) — x87 mush, polarity resolved by domain plausibility
/// (register row UN-8; Ghidra MCP was unavailable to confirm). Chosen
/// to coincide with <see cref="EncumbranceSystem.LoadMod"/>'s own floor.
/// pc 412907) — polarity PROVEN by raw byte decode of the PDB-paired
/// binary (P1 Opus review, 2026-07-30): <c>fld load; fcomp [0x007c5e24
/// = 2.0f]; fnstsw; test ah,5; jp → return 0</c>, i.e. return 1 iff
/// load &lt; 2.0 (≥ 2.0 or unordered/NaN refuses). Former register row
/// UN-8 retired on this evidence; see the byte decode in
/// <c>docs/research/2026-07-30-stat-coupled-movement-pseudocode.md</c> §12.
/// </summary>
public const float CanJumpLoadThreshold = 2.0f;