Files
Cesarus85--mjolnir-vr/source
Jonas VolmanandClaude Opus 5 2ee8bfefe8 _actor_move_update: fix a proven allow_jump defect - ZERO bytes banked
The function stays residual at [sha]; this is not scoreboard movement. REAL
regions 57 -> 53 with size, relocations and real code end all unchanged.

THE DEFECT, verified from January's bytes before landing. Our source set
allow_jump only when BOTH vehicle->vehicle.hover < 0.7f AND up.k < 0.8f.
January tests hover (fcomp __real@3f333333 at 0x54e, jp 0x5fa), then executes
mov byte ptr [ebp-3], 1 at 0x562 - allow_jump = TRUE - and only then tests
up.k (fcomp __real@3f4ccccd at 0x566, jp 0x5fa). So January sets allow_jump
whenever hover < 0.7, and falls through when up.k >= 0.8. Our source had a
real behaviour difference; the if is now nested accordingly. The escape
direction, crouch and break stay inside the up.k test.

Also: rotation is scaled with the existing scale_vector3d helper instead of
three *= statements.

WHAT WAS NOT LANDED. The wave's primary variant PA also rewrote a negation with
negate_vector3d, which makes actor_moving.obj newly define a _negate_vector3d
COMDAT. January's actor_moving.obj does not define that symbol, so under the
2026-09-20 ownership ruling it cannot be emitted; PA_noNG, landed here, adds no
new symbol. A further variant PB is byte-worse on padded size (+16) and its extra
levers are neutral respellings rather than fixes, so it stays held.

Verified: full ninja green; 11,060 function rows and 1,706 section rows diffed
board-wide, 0 worse; actor_moving 31/5 unchanged; newly defined symbols versus
the floor: none; parks 181 active / 0 stale / 0 invalid; forbid guard exit 0;
fake_match_scan 0 findings.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-20 23:36:04 -07:00
..
2025-11-28 00:16:20 +00:00
2026-09-19 15:56:43 -07:00
2026-09-19 15:56:43 -07:00
2026-06-08 02:47:21 +01:00