Wave w2 landing, adversarially verified. park reopens: __rasterizer_window_begin. Requires in-place config/symbols.json linkage/label lines (included in this commit); full ninja build and per-function stable_verdicts sweep: 0 regressions. symbols.json: _suppress_window_begin_end and _previous_window_index gain "static": true (file-local globals no longer defeat alias analysis). 1 park(s) removed.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Wave w2 landing, adversarially verified. park reopens: _build_torus, _convex_hull3d_begin, _geosphere_new. Requires in-place config/symbols.json linkage/label lines (included in this commit); full ninja build and per-function stable_verdicts sweep: 0 regressions. symbols.json: insert the static label _geosphere_primitive_triangles at 2597632 (the source-owned static short const table that follows _geosphere_primitive_vertices). 3 park(s) removed.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Wave w2 landing, adversarially verified. park reopens: _update_queues_reset_and_fill_with_lies, _update_client_get_maximum_possible_server_time. Requires in-place config/symbols.json linkage/label lines (included in this commit); full ninja build and per-function stable_verdicts sweep: 0 regressions. symbols.json: _update_server_globals and _update_client_globals gain "static": true. 2 park(s) removed.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Wave w2 landing, adversarially verified. park reopens: _get_local_player_input_blob, _player_control_initialize_for_new_map. Requires in-place config/symbols.json linkage/label lines (included in this commit); full ninja build and per-function stable_verdicts sweep: 0 regressions. symbols.json: _player_control_globals gains "static": true (source now defines it static; header extern dropped in the prerequisite commit). 2 park(s) removed.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
January's player_control_globals pointer is private to player_control.obj (no other object references it; the dependent player_control.c commit makes it static, matching storage class 3 in config/symbols.json). The extern is removed so the static definition does not follow an external declaration (C4211).
Header prerequisite for the wave w2 player_control reopen. Consumers (21): player_control plus ai_debug, bored_camera, director, editor_flying_camera, following_camera, player_effects, aim_assist, game, game_engine, players, hs_library_external, input_abstraction, first_person_weapons, hud, hud_draw, hud_weapon, interface, motion_sensor, ui_widget, main; verifier shadow-header check gave identical gate rows and tinfo for all 20 others. Live full ninja + stable sweep with the dependent commits: 0 regressions.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Packet P1 dependent replay: _actor_combat_update (4,672 padded) now writes January's burst_alignment debug snapshot (time, aligned flags, weapon/aim vectors, threshold, alignment) and binds burst_relative_position for the two add_vectors3d calls with January's (HCEA-lifted) operand order. Full ninja build and per-function stable_verdicts sweep: +1 gained, 0 regressions; actor_combat parks unchanged.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Replace the opaque char __unknown1C[40] with a tag-less nested struct burst_alignment {long time; boolean aligned; boolean aligned_immediately; real_vector3d weapon_vector; real_vector3d aim_vector; real threshold; real alignment;} at +0x34..+0x5B. Layout identical; widths proven by the January _actor_combat_update writes (+0x87A..+0x95C). Names are inferred from those writes (no January reader exists). Flat spellings regress units by declaration count; the nested aggregate does not.
Prerequisite header packet P1 (150K lane). Shadow-tree blast over all 26 consumers (actions action_charge action_obey action_uncover action_vehicle actors actor_combat actor_firing_position actor_looking actor_moving actor_perception actor_stimulus ai ai_communication ai_debug ai_script encounters path players debug_keys objects game_state structure_visibility bipeds units unit_dialogue ): 0 function status changes from the header alone. Live tree with the dependent actor_combat.c commit: full ninja, stable diff +1 gained / 0 regressions.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Wave w2 landing, adversarially verified. park reopens: _biped_fix_position. Full ninja build and per-function stable_verdicts sweep: 0 regressions. 1 park(s) removed.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Wave w2 landing, adversarially verified. park reopens: _render_debug_detail_objects. Full ninja build and per-function stable_verdicts sweep: 0 regressions. 1 park(s) removed.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Wave w2 landing, adversarially verified. park reopens: _rasterizer_water_draw. Full ninja build and per-function stable_verdicts sweep: 0 regressions. 1 park(s) removed.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Wave w2 landing, adversarially verified. park reopens: __rasterizer_environment_shadow_draw. Full ninja build and per-function stable_verdicts sweep: 0 regressions. 1 park(s) removed.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Wave w2 landing, adversarially verified. park reopens: _rasterizer_xbox_bitmap_swizzle. Full ninja build and per-function stable_verdicts sweep: 0 regressions. 1 park(s) removed.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Wave w2 landing, adversarially verified. park reopens: _collision_log_render. Full ninja build and per-function stable_verdicts sweep: 0 regressions. 1 park(s) removed.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Wave w2 landing, adversarially verified. park reopens: _input_abstraction_update. Full ninja build and per-function stable_verdicts sweep: 0 regressions. 1 park(s) removed.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Wave w2 landing, adversarially verified. park reopens: _game_statistics_record_kill. Full ninja build and per-function stable_verdicts sweep: 0 regressions. 1 park(s) removed.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Wave w2 landing, adversarially verified. park reopens: _profile_dump. Full ninja build and per-function stable_verdicts sweep: 0 regressions. 1 park(s) removed.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Wave w2 landing, adversarially verified. park reopens: _director_update_controls. Full ninja build and per-function stable_verdicts sweep: 0 regressions. 1 park(s) removed.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Wave w2 landing, adversarially verified. park reopens: __sound_cache_sound_request. Full ninja build and per-function stable_verdicts sweep: 0 regressions. 1 park(s) removed.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Wave w2 landing, adversarially verified. park reopens: _bitmap_copy. Full ninja build and per-function stable_verdicts sweep: 0 regressions. 1 park(s) removed.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Wave w2 landing, adversarially verified. park reopens: _bink_playback_idle. Full ninja build and per-function stable_verdicts sweep: 0 regressions. 1 park(s) removed.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Wave w2 landing, adversarially verified. park reopens: _obstacles_disc_neighborhood. Full ninja build and per-function stable_verdicts sweep: 0 regressions. 1 park(s) removed.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Wave w1 landing, adversarially verified. exact: _sound_new_impulse. Full build of the combined batch: 54 strict gains / 29,440 padded, 0 regressions, parks 355/0/0.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Wave w1 landing, adversarially verified. exact: _render_object_shadow_end, _object_render_state_refresh. Full build of the combined batch: 54 strict gains / 29,440 padded, 0 regressions, parks 355/0/0.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Wave w1 landing, adversarially verified. park reopens: __rasterizer_environment_diffuse_light_begin. Full build of the combined batch: 54 strict gains / 29,440 padded, 0 regressions, parks 355/0/0. 1 park(s) removed.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Wave w1 landing, adversarially verified. exact: _rasterizer_draw_character, _rasterizer_draw_character_with_dropshadow, _rasterizer_text_cache_initialize. Full build of the combined batch: 54 strict gains / 29,440 padded, 0 regressions, parks 355/0/0.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Wave w1 landing, adversarially verified. exact: _animation_update. Full build of the combined batch: 54 strict gains / 29,440 padded, 0 regressions, parks 355/0/0.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Wave w1 landing, adversarially verified. park reopens: _network_pregame_status_screen_update; zero-credit fuzzy: _player_profile_update_cache_for_nwide_list, _splitscreen_pregame_status_screen_update. Full build of the combined batch: 54 strict gains / 29,440 padded, 0 regressions, parks 355/0/0. Note: the two zero-credit fuzzy bodies are credited by objdiff-shape in the semantic report but are NOT strict exact; they are excluded from the lane's strict accounting. 1 park(s) removed.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Wave w1 landing, adversarially verified. exact: _widget_instance_render_column_list. Full build of the combined batch: 54 strict gains / 29,440 padded, 0 regressions, parks 355/0/0.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Wave w1 landing, adversarially verified. park reopens: _motion_sensor_blip_set_type_and_size, _should_draw_object, _blip_type_get. Full build of the combined batch: 54 strict gains / 29,440 padded, 0 regressions, parks 355/0/0. 3 park(s) removed.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>