mirror of
https://github.com/Cesarus85/ringfall-mjolnir-vr.git
synced 2026-10-23 13:00:35 +02:00
realcmp appears in January's own assert strings in four objects (actors, actor_moving, matrix_math, biped_limp_noodle), so it is a shared Bungie math macro. Define it once in real_math.h's macros section, using an existing blank line so no header line number moves. Blank the four identical TU-local copies in actors.c, actor_looking.c (with its now-stale comment), matrix_math.c and biped_limp_noodle.c. They are blanked, not deleted, so no __LINE__ moves. realcmp_epsilon is untouched. _convex_hull2d returns to direct points[index] indexing. The /Od build (0x6b9250) reads the parameter array at every site ([eax+edx*8+4]), with no pointer locals. It uses realcmp at the two degeneracy tests. The function is now strict exact: 784 padded / 770 meaningful bytes, 25 relocations, normalized sha256 49124afa1d48d20fe6b36cd5c98861de7d27d9ec0109cf7d8dba8812c5464e77. With the plain fabs(...) < _real_epsilon spelling it is not exact, so the genuine macro is load-bearing. No new view cast, no new helper definitions (nothing to link). _convex_polygon2d_clip_to_plane is not pursued. The now-stale _convex_hull2d park is retired with tools.campaign.unpark --write (1 removed, 102 retained). Verification: full ninja; all 273 real_math.h consumers rebuilt with no C4005/C4013; stable diff vs frozen 8,245-function baseline +2 (_collision_debug_render 4,192, _convex_hull2d 784 padded) and 0 regressions; parks 102/0/0; admission audit 13/0/7/0; fake-match scan unchanged on all six files; python -m pytest -q tools 1154 passed; git diff --check clean. objdiff 3.3.1 as canonical. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>