Attaches to live retail, dumps CameraManager/SmartBox type offsets, captures viewer eye origin per frame (pub+sought) to measure boom jitter vs acdream. Used to pin the indoor flicker to the camera's published/swept eye (retail settled ~tens of um vs acdream ~1.3mm). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
18 lines
1.3 KiB
Text
18 lines
1.3 KiB
Text
* Retail camera-boom measurement (2026-06-08): confirm the eye-hover jitter at rest AND read the
|
|
* CameraManager smoothing (stiffness) + SmartBox boom offset, so R-A4 matches retail rather than guesses.
|
|
* HOLD THE CAMERA STILL during this capture (~300 frames, a few seconds).
|
|
* SmartBox+0x08 viewer Position; frame.m_fOrigin x/y/z = ecx+0x44 / +0x48 / +0x4c (raw float bits).
|
|
* viewer_sought_position+origin (pre-collision desired eye) = ecx+0x94 / +0x98 / +0x9c. cell = ecx+0x0c.
|
|
.logopen C:\Users\erikn\source\repos\acdream\.claude\worktrees\thirsty-goldberg-51bb9b\flap-cam-measure.log
|
|
.sympath C:\Users\erikn\source\repos\acdream\refs
|
|
.symopt+ 0x40
|
|
.reload /f acclient.exe
|
|
|
|
.echo ==== CameraManager TYPE (field offsets: t_stiffness / r_stiffness / viewer_offset) ====
|
|
dt acclient!CameraManager
|
|
.echo ==== SmartBox TYPE (find camera_manager + viewer_offset fields) ====
|
|
dt acclient!SmartBox
|
|
|
|
r $t0 = 0
|
|
bp acclient!SmartBox::update_viewer "r $t0 = @$t0 + 1; .if (@$t0 == 1) { .echo ==== LIVE SmartBox @ first hit ====; dt acclient!SmartBox @ecx }; .printf \"[eye] h=%d cell=%x pub=(%08x,%08x,%08x) sought=(%08x,%08x,%08x)\\n\", @$t0, poi(@ecx+0x0c), poi(@ecx+0x44), poi(@ecx+0x48), poi(@ecx+0x4c), poi(@ecx+0x94), poi(@ecx+0x98), poi(@ecx+0x9c); .if (@$t0 >= 300) { .detach } .else { gc }"
|
|
g
|