$$ $$ Phase A6.P1 cdb probe spike v4 — 2026-05-21 $$ $$ v4 changes (after v3 still produced 0.000000 for all floats): $$ - All float fields output as 32-bit hex via %08X. Analysis side $$ (Python) reinterprets bytes via struct.unpack('= 50000) { qd } .else { gc }" $$ BP2: CTransition::step_up(this, step_up_normal) bp acclient!CTransition::step_up "r $t2 = @$t2 + 1; r $t0 = @$t0 + 1; .printf /D \"[BP2] step_up hit#%d walkAllow_h=0x%08X normalZ_h=0x%08X\\n\", @$t2, dwo(@ecx+0x1d8), dwo(poi(@esp+4)+8); .if (@$t0 >= 50000) { qd } .else { gc }" $$ BP3: SPHEREPATH::set_collide(this, collision_normal) bp acclient!SPHEREPATH::set_collide "r $t3 = @$t3 + 1; r $t0 = @$t0 + 1; .printf /D \"[BP3] set_collide hit#%d nx_h=0x%08X ny_h=0x%08X nz_h=0x%08X\\n\", @$t3, dwo(poi(@esp+4)+0), dwo(poi(@esp+4)+4), dwo(poi(@esp+4)+8); .if (@$t0 >= 50000) { qd } .else { gc }" $$ BP4: BSPTREE::find_collisions(this, transition, walkable_allowance) bp acclient!BSPTREE::find_collisions "r $t4 = @$t4 + 1; r $t0 = @$t0 + 1; .printf /D \"[BP4] find_collisions hit#%d collide=%d insertType=%d walkAllow_h=0x%08X\\n\", @$t4, dwo(poi(@esp+4)+0x124), dwo(poi(@esp+4)+0x174), dwo(@esp+8); .if (@$t0 >= 50000) { qd } .else { gc }" $$ BP5: CPolygon::adjust_sphere_to_plane(this, sphere_path, sphere, movement) $$ 13 floats: plane.N + plane.d + sphere.center + sphere.radius + walk_interp + movement.xyz bp acclient!CPolygon::adjust_sphere_to_plane "r $t5 = @$t5 + 1; r $t0 = @$t0 + 1; .printf /D \"[BP5] adjust_sphere hit#%d Nx_h=0x%08X Ny_h=0x%08X Nz_h=0x%08X d_h=0x%08X cx_h=0x%08X cy_h=0x%08X cz_h=0x%08X r_h=0x%08X winterp_h=0x%08X mvx_h=0x%08X mvy_h=0x%08X mvz_h=0x%08X\\n\", @$t5, dwo(@ecx+0x20), dwo(@ecx+0x24), dwo(@ecx+0x28), dwo(@ecx+0x2c), dwo(poi(@esp+8)+0), dwo(poi(@esp+8)+4), dwo(poi(@esp+8)+8), dwo(poi(@esp+8)+0xc), dwo(poi(@esp+4)+0x1bc), dwo(poi(@esp+0xc)+0), dwo(poi(@esp+0xc)+4), dwo(poi(@esp+0xc)+8); .if (@$t0 >= 50000) { qd } .else { gc }" $$ BP6: CTransition::check_walkable(this, threshold) $$ Expected threshold_h = 0x3DB283D7 (= 0.0871556997, cos 85°) per decomp. bp acclient!CTransition::check_walkable "r $t6 = @$t6 + 1; r $t0 = @$t0 + 1; .printf /D \"[BP6] check_walkable hit#%d threshold_h=0x%08X\\n\", @$t6, dwo(@esp+4); .if (@$t0 >= 50000) { qd } .else { gc }" $$ BP7: COLLISIONINFO::set_contact_plane(this, plane, is_water) bp acclient!COLLISIONINFO::set_contact_plane "r $t7 = @$t7 + 1; r $t0 = @$t0 + 1; .printf /D \"[BP7] set_contact_plane hit#%d Nx_h=0x%08X Ny_h=0x%08X Nz_h=0x%08X d_h=0x%08X isWater=%d\\n\", @$t7, dwo(poi(@esp+4)+0), dwo(poi(@esp+4)+4), dwo(poi(@esp+4)+8), dwo(poi(@esp+4)+0xc), dwo(@esp+8); .if (@$t0 >= 50000) { qd } .else { gc }" .printf "a6-probe v4 armed: hex-bits float output, threshold=50000 total hits\\n" g