forked from Ports/goldeneye-pc-port
Two #ifdef PORT env-gated probes (default-inert, no golden regression): - GE_D193A (chr.c chrTick): per-wall-second per-chr travel speed + the root-motion scalars (scale / anim_translation_scale / animrate / playspeed / model->speed / g_GlobalTimerDelta). GE_D193A_CHR=<n> narrows to one chrnum. - GE_D193B (model.c sub_GAME_7F06D3F4): rate-limited raw anim-bitstream root-motion decode (joint / mtx base channel / decoded s16 triple / angle / the D32 bitDescriptors+bitStream addrs). Silo + Facility captures: every port-side input to the locomotion math reads nominal -- g_GlobalTimerDelta=2.0, playspeed=1.0, scale=0.1, anim_translation_scale=1.0, and the C in this path is identical to N64 (only the non-firing D156 NaN guards are #ifdef PORT). animrate=0.0 is the default (only set on blended transitions). Patrolling guards travel ~60-99 u/s. GE_D193B shows base=0 / angle=0 on every call. So the divergence is either subtle wrong magnitudes in the decoded bitstream values, or in the pos34 accumulation -- neither visible without an N64-decomp reference trace. Findings D193 + GE-ENV-PROBES updated with the numbers and the next step (build n64decomp/007 with matching logging and diff, or frame-count reference footage). One explicit structural check flagged: ModelSkeleton.Joints (ModelJoint*, 4->8 B) reached via model->obj->Skeleton from D43/D45-converted data. Claude-Session: https://claude.ai/code/session_01U7gyYC3pcatXHhD1kPCgsR