cdb on the PDB-paired retail client during the user's 45-degree glide: edge_slide/cliff_slide 594 each in lockstep, set_sliding_normal 538, step_up ZERO. Ours: 18 edge-family firings total, stuck ticks dead-looping on insert retries. The divergent branch is transitional_insert's handling of the refused steep walkable — retail proceeds into the step-down-failed/edge path per tick, we retry from scratch. The D0 code-reading's 'retries from scratch, retail-identical' conclusion is corrected by the runtime evidence: the profile is what the decomp reading could not see. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
26 lines
1 KiB
Text
26 lines
1 KiB
Text
.logopen C:\Users\erikn\source\repos\acdream\345-retail-glide.cdb.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
|
|
r $t4 = 0
|
|
r $t5 = 0
|
|
r $t6 = 0
|
|
r $t7 = 0
|
|
r $t8 = 0
|
|
|
|
bp acclient!OBJECTINFO::validate_walkable "r $t0 = @$t0 + 1; .if (@$t0 % 500 == 0) { .printf \"[c] vwalk=%d tins=%d edge=%d cliff=%d adjplane=%d whits=%d stepup=%d vtrans=%d slidn=%d\\n\", @$t0, @$t1, @$t2, @$t3, @$t4, @$t5, @$t6, @$t7, @$t8 }; .if (@$t0 >= 20000) { qd } .else { gc }"
|
|
bp acclient!CTransition::transitional_insert "r $t1 = @$t1 + 1; gc"
|
|
bp acclient!CTransition::edge_slide "r $t2 = @$t2 + 1; gc"
|
|
bp acclient!CTransition::cliff_slide "r $t3 = @$t3 + 1; gc"
|
|
bp acclient!CPolygon::adjust_sphere_to_plane "r $t4 = @$t4 + 1; gc"
|
|
bp acclient!CPolygon::walkable_hits_sphere "r $t5 = @$t5 + 1; gc"
|
|
bp acclient!CTransition::step_up "r $t6 = @$t6 + 1; gc"
|
|
bp acclient!CTransition::validate_transition "r $t7 = @$t7 + 1; gc"
|
|
bp acclient!COLLISIONINFO::set_sliding_normal "r $t8 = @$t8 + 1; gc"
|
|
|
|
g
|