Commit Graph
68 Commits
Author SHA1 Message Date
Stefan MaierandClaude Opus 5.5 ce59138a2b Play in VR on OpenXR headsets (Quest 3/3S, Steam Frame)
The Android port gets an OpenXR session in the host (Khronos loader, core
OpenXR plus XR_KHR_opengl_es_enable): on a headset the game keeps its
640x480 layout drawn at the eye images' resolution, renders the player's
view once per eye from the tracked eye poses through asymmetric frusta,
and shows the HUD and menus as a head-locked or room-fixed quad layer.
The head aims the player; the right stick turns; the Touch controllers
map onto the Xbox pad; rumble goes to the controllers. Frames without a
player view (menus, loading, cinematics) go onto a screen in the room.

A marker file, xr_test, runs a self-test of the session, layers, colour
path and controllers without game data.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 09:17:19 +02:00
MrBruh 1bcd57afe4 Merge branch 'bnunu:main' into main 2026-09-28 14:46:17 +13:00
Jonas Volman 59757f4263 Reconcile approved type ownership, static locals and source disclosures
Independently gate storage + K, OQ-4 P-a/P-b1, four static-local packets and comment-only disclosures. Preserve all 7641 exact owner rows, 71 valid parks and 1161 passing tests; code/data credit unchanged. G and game_engine admission remain held because current canonical loses populate_statistic_buffer. Existing collision static-local repair is not duplicated. No donor tree, held candidate, scorer or private asset imported.
2026-09-27 05:17:27 -07:00
MrBruh 50eae19bac Native resolution fullscreen with F11 toggle 2026-09-27 20:42:09 +13:00
MrBruh a06ef74eec Detach framerate from gameplay simulation 2026-09-26 21:49:07 +12:00
MrBruh 95c1e19338 Merge branch 'bnunu:main' into main 2026-09-26 20:40:13 +12:00
Jonas Volman 07fa92af69 main: reconcile exact update-time field assignment
Independently reconcile W7 from 26684ca8: +1440 credited/padded bytes, 117 relocations, no new helpers or runtime owners. Retire only main_update_time's park in the same commit. Full build, stable board sweep with zero regressions, ownership/admission, warnings, fake scan and 1161 tests pass. No scorer or header changes.
2026-09-26 01:07:41 -07:00
MrBruh e29125b50e Port decomp to Android 2026-09-26 16:16:00 +12:00
Jonas VolmanandClaude Opus 5.5 b993052102 R2 batch 3: first-party function names and storage from the completeness-critic routes
Zero credit; every packet was independently adversarially reviewed (22/22 approved).
- critic_3: 72 renames of placeholder/invented static function names across 20
  objects to first-party names. Each rename has Sept-2001 linker-map alignment
  (cachebeta xbe / retail cache exe, several also Aug-2001), relocation-masked
  body identity and matching callers; cachebeta publics show every row was a
  January static. hs's radiosity_hack_{start,save,find_point}_evaluate pairing
  is proven by the Sept .rdata hs_function_definition pointers; players'
  create_weapon also matches HCEX.pdb. Objects: ai_debug (reviewer-amended: a
  dead stub removed, its comment re-attached), transport_endpoint_winsock,
  transport_endpoint_set_winsock (+ parked.json key renames), profile,
  progress_bar, network_connection, saved_game_files, rasterizer_xbox_profile,
  xbox_sound_cache, game_engine_king, players, hs, hs_runtime, main, decals,
  rasterizer_lights, rasterizer_xbox_dynavobgeom,
  rasterizer_xbox_environment_fog, rasterizer_xbox_hardware_bitmaps,
  render_cameras.
- hs_compile: whitespace_characters, eol_characters and hs_type_primitive_parsers
  are external (cachebeta publics, HCEX DataIsGlobal); hs_compile_finish is
  static with a TU-local prototype (no public; HCEX static function).
- bink_playback: bink_playback_idle -> bink_playback_update__internal
  (first-party). The bink_decompress_audio_frame rename is NOT landed: it needs
  an added call whose position is unattested, the same class canonical held for
  hardware_geometry in 4d1ebf17.

Gate (full ninja, objdiff 3.3.1): objects 383, code 1,577,237, data 2,586,915
(all unchanged); stable diff 0 regressions; parks 83/0/0; admission 11/0/2/0;
fake scan 26; pytest 1161 passed; diff --check clean.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-24 16:59:40 -07:00
Jonas VolmanandClaude Opus 5.5 6e3e2d35e4 Batch 4b: admit rasterizer_xbox_dynavobgeom; object_damage_body exact; reviewed storage packets
- rasterizer_xbox_dynavobgeom (admission, reviewer-amended): genuine shared
  declarations replace the caller-local debug-options, window and pixel-shader
  views; /Od-attested vector_from_points3d/dot_product3d calls and HCEX locals
  in the unlit draw; the HCEX function-static `warned` latch; MAX() for the
  /Od ?: store; nine D3DINLINE wrappers static per cachebeta; rejection retired.
- damage (reviewer B+): _object_damage_body exact (1360); four statics per
  cachebeta; park retired. The AOE header-helper form (patch A) stays held.
- players: January-static storage (3 rows) plus the COMMON tentative
  definitions of players_globals/team_data (January linker_common records).
- hs: 839 January-static storage flags and the /Od-attested static helper
  hs_enumerate_scenario_data replacing 11 hand expansions (reviewer-amended;
  the real_random_range cleanup stays held with the P1 class).
- hs_scenario_definitions: first-party static byte_swap_script_syntax_data.
- player_profile (HCEX profile_color_table) and main (/Od main_exit shape):
  reviewed zero-credit packets; three parks re-baselined.

Gate (full ninja, objdiff 3.3.1): Halo objects 377 -> 378; stable diff +1
strict / 1,360 padded, 0 regressions; parks 86/0/0; admission 11/0/3/0; fake
scan 26; pytest 1157 passed; diff --check clean.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-24 02:26:05 -07:00
Jonas VolmanandClaude Opus 5.5 dc58693c9f Match stack walk, main render and small systems functions
Lane D refresh packet 4: systems, +3,984 padded bytes strict exact
(11 functions), zero stable-verdict regressions; stack_walk_windows.obj is
now a whole-object code match (16/16).

- stack_walk_windows.c: _walk_up, _is_valid_ebp, _walk_stack,
  _walk_stack_context and _stack_walk_with_context exact. The debug build
  attests `if (ignore_levels) while (--ignore_levels) walk_up();`, the
  global re-reads and the four instruction-byte locals.
- main.c: _compute_subframe_counts (debug-build byte local and ?: column
  test) and _main_game_render (PIN, goto-free player-window assignment).
- bink_playback.c: _bink_draw_frame (the ((index+1)&2) corner idiom used by
  interface.c and hud_draw.c; debug locals scoped to the debug block).
- draw_string.c: _parse_string; styled_font_get takes (font_index, style)
  per the debug build's parameter homes.
- prime_numbers.c: _primegen as a plain sieve.
- transport_endpoint_set_winsock.c: _add_endpoint_to_set single exit.
  fake_match_scan flags its listening-bit test as identical branches; the
  debug build has two separate FD_SET expansions under the same test and
  January's bytes carry the test, so the shape is original (commented).
  _poll_endpoint_set moves to the target's 560-byte size (fuzzy 72.3% ->
  98.5%); its park is re-measured in place.
- parked.json: unpark the six newly exact parked functions; refresh
  _poll_endpoint_set.

Gate: ninja PASS, parks 134 active / 0 stale / 0 invalid, admission 0
contradicted / 0 revoked, castcheck clean; fake scan adds only the
adjudicated identical-branches lead.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 01:09:42 -07:00
Jonas Volman 4f4c85021d Reconcile Lane C with canonical house-rule audit
Integrate verified source and data progress; exclude unproven COMMON ownership, held UB/asm forms, and address-named data credit. Stable sweep: 23 exact functions gained, zero lost.
2026-09-22 23:12:40 -07:00
Jonas Volman 9d155f1d60 Admit ten verified exact objects 2026-09-19 15:56:43 -07:00
Jonas VolmanandClaude Opus 5 0e65f0f8be Wave 8: three functions strict exact (main, observer)
- _main_load_last_solo_map: MIN clamp on the terminator index (house rule 18)
- _main_get_window_count: named single-window predicate and a PIN of the
  local player count (reopens its park)
- _observer_update_command: timer/last-timer/flag pointer walk mirroring
  the exact sibling observer_update_velocities (reopens its park)

Rejected: _observer_update_positions (same-value carrier copy of
remaining_time), _main_crash (January writes through a null pointer),
_effect_generate_part (mismatched csprintf varargs).
Stable diff: 0 regressions; parks 236 -> 234.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 15:23:27 -07:00
Jonas VolmanandClaude Opus 5 336ea9d311 main: reopen solo level lookup, connection setup, map rename and window bounds/camera helpers exact
Five bodies landed together (set_window_camera_values alone drifts the main_update_time park); adds the genuine player_effects.h include. 5 park(s) removed. Adversarially verified (wave D park re-investigation); full build of the combined wave D set: 0 regressions, parks 402/0/0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 23:09:05 -07:00
Jonas Volman 5d3444f799 Reconcile eighth 10K exact source batch 2026-09-13 02:47:59 -07:00
Jonas Volman eb61c0f746 Reconcile seventh 10K exact source batch 2026-09-12 17:23:46 -07:00
Jonas Volman a565219da1 Reconcile fifth 10K exact source batch 2026-09-09 22:29:33 -07:00
Jonas Volman 2a725a7e7e Reconstruct Main lifecycle owners 2026-09-09 15:51:21 -07:00
Jonas Volman 105d9acaac Reconcile 10K exact-byte Claude batch 2026-09-09 00:07:34 -07:00
Jonas Volman 24092ea0f8 Reconcile Interface and HS runtime leaves 2026-09-08 06:32:02 -07:00
Jonas Volman a7a32f6c75 Reconcile Claude owner packets and add 10K exact bytes 2026-09-08 03:21:09 -07:00
Jonas Volman 39a0c5bbb2 Retain natural Main startup and texture-cache callback reconstructions 2026-09-05 16:50:55 -07:00
Jonas Volman 93a4e0fefa Reconcile Profile frame-end cluster and Main flag ownership 2026-09-04 23:44:17 -07:00
Jonas Volman e677549fdf Reconcile authentic vblank counter and texture cache memory-steal path 2026-09-04 22:57:58 -07:00
Jonas Volman 4795da4089 Recover device, input, HUD and game leaves without exact regressions 2026-09-04 15:43:51 -07:00
Jonas Volman c787f81ecf Recover game lifecycle leaves 2026-09-04 05:50:43 -07:00
Jonas Volman 7d74519b10 Reconcile Opus network client reconstruction 2026-09-04 02:31:03 -07:00
Jonas Volman eedbea867b Reconcile Opus hs runtime reconstruction 2026-09-04 00:30:51 -07:00
Jonas Volman 4b84e8fdc3 Reconcile safe Xbox rasterizer core 2026-09-03 22:54:39 -07:00
Jonas Volman 4675600137 Keep screen effect runtime prototype narrow 2026-09-03 21:35:26 -07:00
Jonas Volman d1f166556a Reconstruct Xbox screen effects 2026-09-03 21:29:58 -07:00
Jonas Volman 435e80783d Recover exact UI widget support wave 2026-09-02 07:17:04 -07:00
Jonas Volman ccc148aa99 Reconstruct tiny Main geometry and input routines 2026-09-01 18:18:07 -07:00
Jonas Volman 484e637153 main: isolate player control runtime prototype 2026-09-01 17:26:48 -07:00
Jonas Volman 7055eee35a Match and reconcile main loop
Reconstruct _main_loop from the exact Claude packet using semantic helper names, authentic types, and owner-header prototypes. Keep collision timing declarations behind the collision debug/log boundary so units.obj remains exact.
2026-09-01 17:20:02 -07:00
Jonas Volman 9f74e9937f Import 909 authenticated January and HCEA symbol names 2026-08-31 16:11:03 -07:00
Jonas Volman 81eeeb81d1 Advance main and sound cache public leaves 2026-08-28 19:11:07 -07:00
Jonas Volman c4e439d02a Recover seven exact runtime leaves 2026-08-20 17:36:31 -07:00
Jonas Volman af58f9269f Correct rasterizer global field layout 2026-07-18 14:41:43 -07:00
Jonas Volman 131c18a6b7 Map main frame state and match vblank setup helpers 2026-07-16 13:57:54 -07:00
Jonas Volman e6824d1dc1 Match main level progression helpers 2026-07-16 13:46:25 -07:00
Jonas Volman a58b7edb41 Match main BSP and precache helpers 2026-07-16 13:42:05 -07:00
Jonas Volman 8d43901214 Match named core save and load helpers 2026-07-16 13:38:09 -07:00
Jonas Volman 36d4c588de Match main map and connection cleanup helpers 2026-07-16 13:35:05 -07:00
Jonas Volman 6ae194b75f Match main state transition helpers 2026-07-16 13:23:42 -07:00
Jonas Volman 267e26e845 Match main save and utility controls 2026-07-16 13:19:45 -07:00
Jonas Volman 815ff09872 Match main map and menu controls 2026-07-16 13:14:24 -07:00
Jonas Volman 1084868ba1 Match main state accessors 2026-07-16 13:09:46 -07:00
Berthalamew 37e96a1c2f ai_debug work (#37) 2026-07-13 14:34:27 +01:00