.logopen C:\Users\erikn\source\repos\acdream\.claude\worktrees\vigorous-joliot-f0c3ad\retail-crowd-jump.log .sympath C:\Users\erikn\source\repos\acdream\refs .symopt+ 0x40 .reload /f acclient.exe r $t0 = 0 r $t1 = 0 r $t2 = 0 r $t3 = 0 .echo === ARMED: land_on_sphere + validate_transition + FindObjCollisions; auto-detach after 25000 SetPositionInternal === * CSphere::land_on_sphere (0x005379a0) — an AIRBORNE mover's foot sphere hit another * sphere (a creature body or a sphere-object). If this fires when you jump onto the * monster pack, the LOCAL client is attempting a creature landing (branch 4 airborne). * Rare -> always gc, never strands. bp acclient!CSphere::land_on_sphere "r $t0 = @$t0 + 1; .printf \"[LAND-ON-SPHERE] #%d\\n\", @$t0; gc" * CTransition::validate_transition (0x0050aa70) — the commit/revert. arg2 (at esp+4, * thiscall) is the transitional_insert RESULT fed in: 1=OK 2=COLLIDED 3=ADJUSTED 4=SLID. * Rate-limited so the log stays readable. A burst of arg2=2 (COLLIDED) during the * jump-land = the local transition hit the creature and reverted (server must place you). bp acclient!CTransition::validate_transition "r $t1 = @$t1 + 1; .if (@$t1 % 60 == 0) { .printf \"[VALIDATE] #%d arg2=%d\\n\", @$t1, poi(@esp+4) }; gc" * CPhysicsObj::FindObjCollisions (0x0050f050) — count only. Confirms the local player's * transition is testing object collisions at all during the repro. bp acclient!CPhysicsObj::FindObjCollisions "r $t3 = @$t3 + 1; gc" * CPhysicsObj::SetPositionInternal — the position commit AND the detach anchor. Fires for * every object's position set (player + creatures), so it always reaches the threshold in * a live crowd. On the 25000th hit it prints the summary and does NOT gc -> cdb breaks -> * g returns -> the top-level qd detaches cleanly. (qd is NEVER inside a bp action.) bp acclient!CPhysicsObj::SetPositionInternal "r $t2 = @$t2 + 1; .if (@$t2 < 25000) { gc } .else { .printf \"[SUMMARY] land_on_sphere=%d validate=%d findObjColl=%d setPos=%d\\n\", @$t0, @$t1, @$t3, @$t2 }" g .echo === DETACHING === qd .logclose