mirror of
https://github.com/Cesarus85/ringfall-mjolnir-vr.git
synced 2026-10-27 03:00:34 +01:00
Whole-object admission of three objects whose functions were already strict exact (13/13, 15/15, 16/16). No new code bytes are credited. Symbol ownership (January cachebeta.pdb publics, no cross-TU refs): - symbols.json marks _action_flee_find_flee_position, _action_flee_current_position_exposed, _action_flee_at_flee_position and _action_guard_speak_post_combat static, matching January's storage class. - aim_assist.c: compute_composite_attenuation is public in January, so drop `static` from its prototype and definition. Genuine helper-provider repairs (selected-provider LNK2005 fixes): - actor_moving.c drops its hand-written NODUP arccosine and the arccosine_inline rename; the one acos site becomes arccosine(facing_dot). The /Od build (halo_cache_symbols.exe) calls an actor_moving-local arccosine COMDAT at exactly this site (0x465510 -> 0x46d330), and January's actor_moving owns _arccosine. All 36 actor_moving rows are unchanged, including the 2,752-byte _actor_move_calculate_movement and _arccosine. - path_obstacles.c drops its hand-written NODUP set_real_point2d and rename; its project_point3d copy now calls set_real_point2d as the real_math.h inline does. All 16 rows unchanged. After both, no object on the board defines _arccosine or _set_real_point2d NODUP. Verification: full ninja; stable diff gained 0 / regressions 0; parks 103 active / 0 stale / 0 invalid; admission audit 39 candidates, 0 contradicted, 0 revoked; object audit PASS and selected-provider link PASS (both orders) for all three; fake scan and castcheck unchanged; pytest 1154 passed; halobetacache linked files 332 -> 335. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>