Files
Cesarus85--mjolnir-vr/source/render
bnunuandClaude Opus 5.5 6cff4f97a6 Function values with the picture: review fixes (storage, timing, split)
- The picture's function values are kept in the rasterizer's memory for
  the frame where they are made (render_objects.c, first_person_weapons.c),
  not on the stack and copied later: rasterizer_model_copy_animation is
  gone. A modifier's group, a queued transparent part and a child that
  copies the modifier read the values after the block that made them, and
  the overshield finds its own values by their address
  (overshield_effect.c), which the copy broke (the overshield lost its
  rise, fade and color on the body and the arms). The values outliving
  their stack frame were what halted a match on a meter; with them kept
  there is no stale read, so decals.c's clamp is gone and the original
  assert is back.
- The values are at the picture's moment, between the previous tick and
  this one (render_interpolation_fraction), not a tick ahead of it, and are
  the tick's own with Smooth Motion off.
- The first-person charge's visuals are out of this pull request, for one
  of their own with a setting: the lens flares (and their depth state),
  the glow and widget on the viewmodel, the widget flag and the near plane
  (view_fov.c).
- object_function_addition, the original loop's body as one function, is
  marked port:.

Checked: objects.c, render_objects.c, first_person_weapons.c and render.c
compile for the web and Android (also with -Wimplicit-function-declaration,
-Wint-conversion, -Wincompatible-pointer-types and -Wuninitialized on:
none in the changed code); merged with main, CI's test suite passes (1488).
Not run: net_compare.py (objects_update's functions are computed by the
split-out helper, the same steps in the same order).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 22:28:06 -07:00
..
2026-10-07 12:01:09 +13:00