Commit Graph

43 Commits

Author SHA1 Message Date
Alex Vanderveen 652be7ba02 rollback FMV patches and overlay 2026-08-06 00:52:14 -04:00
Alex Vanderveen ff0e934712 recomp-net and new connectivity 2026-08-05 19:32:03 -04:00
Alex Vanderveen 2f7a2d6026 new 3+p architecture 2026-08-05 19:07:06 -04:00
Alex Vanderveen c82c6deb35 rollback SFU using recomp-net-server 2026-08-03 18:18:18 -04:00
Alex Vanderveen 0feb7709f6 rollback opengl render path, ICE patches, resim optimizations 2026-08-03 05:04:48 -04:00
Alex Vanderveen 6917d4a620 scheduler optimization on WAN 2026-08-02 17:49:36 -04:00
Alex Vanderveen fb252728a5 optimize scheduler WAN performance 2026-08-02 16:12:01 -04:00
Alex Vanderveen e0a2e8457a Update recomp-net 2026-08-02 12:57:29 -04:00
Alex Vanderveen 9769e9fbc2 rollback patches 2026-08-02 00:08:39 -04:00
Alex Vanderveen 4ddd2d01b9 rollback patches 2026-08-01 14:13:58 -04:00
Alex Vanderveen fe403e6ce1 rollback patches 2026-07-31 17:14:35 -04:00
Alex Vanderveen 3b88d9f9b5 rollback integrations 2 2026-07-30 01:58:30 -04:00
Alex Vanderveen 2b35b76a56 rollback engine patch 1 2026-07-29 21:44:44 -04:00
Alex Vanderveen 6b07bfaca7 Pin lib/recomp-net to feat/rollback for MotK rollback testing.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 20:11:28 -04:00
Alex Vanderveen bb7240261d sdf 2026-07-29 03:27:25 -04:00
Alex Vanderveen 92efb5c4fd no mods in MP, minor patches 2026-07-29 02:40:50 -04:00
Alex Vanderveen e13e197ce6 Update recomp-net 2026-07-28 16:04:08 -04:00
Alex Vanderveen 6cfe713011 workflow and cross platform update 2026-07-28 15:52:23 -04:00
Alex Vanderveen 7b1b890a46 ICE optimizations, connectivity, latency polling, save/loadstate performance 2026-07-28 00:17:56 -04:00
Alex Vanderveen 227d395823 ICE optimizations, connectivity, latency polling, save/loadstate performance 2026-07-28 00:16:30 -04:00
Alex Vanderveen 59e8f8a63e mingw netplay patch & build 2026-07-24 20:40:00 -04:00
Alex Vanderveen 88290fa168 delay sync patches 2026-07-24 20:13:15 -04:00
Alex Vanderveen 2bba3cdc1e netplay patch 2026-07-24 18:26:40 -04:00
Alex Vanderveen 2be7ce3642 Update recomp-net 2026-07-24 15:28:08 -04:00
Alex Vanderveen 75640d3611 Update recomp-net 2026-07-24 15:08:29 -04:00
Alex Vanderveen 50334aea61 psx 5p networking patch 2026-07-24 14:41:53 -04:00
Alex Vanderveen fc51dcc742 bump sub 2026-07-23 20:27:44 -04:00
Alex Vanderveen 0897932587 Update recomp-net 2026-07-23 20:26:08 -04:00
Alex Vanderveen 626a7d613e build: drop lib/recomp-ui; games vendor UI at repo root
Discover recomp-ui from CMAKE_SOURCE_DIR/recomp-ui (or RECOMP_UI_ROOT).
Keep lib/recomp-net in the engine.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 00:27:15 -04:00
Alex Vanderveen 00302383e1 Point nested recomp-net/ui at published 5P feature tips.
Use the standalone feat/max-slots-5 and feat/netplay-5p commits instead of
detached local bumps so submodule fetches resolve.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-22 23:09:41 -04:00
Alex Vanderveen 65d254cc9b Add MAX_PLAYERS build flag, multitap, and N-slot netplay wiring.
Games pass MAX_PLAYERS (2..5, default 2) to bake PSX_MAX_PLAYERS. SCPH-1070
multitap maps pads 0–3 on port 1 and pad 4 on port 2. Lobby max_slots and
recomp-net slot_count follow the game player count; MotK stays at 2.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-22 23:09:00 -04:00
Alex Vanderveen 401ec6cc83 bump 2026-07-22 22:33:39 -04:00
Alex Vanderveen f8c9af3d6b Netplay: LAN/online lobby split, rematch soft-return, port conflict handling.
Keep LAN membership on the local registry/UDP path and online lobbies on the
WebSocket server, return soft-exits to the same room for rematch, accept
guest ephemeral peers, and fail LAN create when the UDP port is busy while
online create auto-selects a free port. Bump recomp-ui for lobby UI updates.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-22 21:24:19 -04:00
Alex Vanderveen 2634a88055 bump 2026-07-22 16:14:08 -04:00
Alex Vanderveen 3d6b0f3a86 launcher: enumerate LAN IPs for host advertise dropdown
Implement list_lan_ips (GetAdaptersAddresses / getifaddrs), bump
recomp-ui for the Host Lobby LAN IP combo, and keep UDP bind on 0.0.0.0.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-22 13:17:03 -04:00
Matthew Stanley 65845939bf build: finalize merged dependency pins 2026-07-21 21:57:18 -07:00
Matthew Stanley 87491cb035 launcher: integrate recomp-ui netplay flow 2026-07-21 21:39:28 -07:00
Alex Vanderveen 6475162d80 Bump recomp-net for savestate/SRAM transfer APIs 2026-07-21 21:38:05 -07:00
Alex Vanderveen 31015ceab1 feat: launcher polish and recomp-net lobby netplay
Wire MotK-style lobby (recomp-net submodule, WS client, match_caps),
netplay delay-sync, and launcher UX so host sim settings stay aligned
across peers.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-21 21:37:57 -07:00
Matthew Stanley 9228f32c00 runtime: keep Vulkan opt-in and remove old launcher
Remove the in-tree launcher implementation and its submodules now that game projects use recomp-ui for launcher support.

Keep Vulkan hidden from the launcher unless a game explicitly sets [video] offer_vulkan = true, and clamp stale Vulkan settings back to OpenGL when it is not offered.

Co-authored-by: Martin Penkava <mpenkava1337@gmail.com>
2026-07-21 16:31:36 -07:00
Matthew Stanley 5b7e69b441 Remove the sljit Tier-2 in-process JIT backend
The tier mis-compiled and has been hard-gated off since 2026-06-25; overlay
gaps fall to gcc/tcc shards and the dirty-RAM interpreter, unchanged.

Re-do on master of the removal validated on the stale branch (6da8c02),
reconciled with everything master grew since the fork:

- Delete overlay_sljit.{c,h}, overlay_compile_worker.{c,h}, lib/sljit,
  runtime/tests/sljit_*.c, and the runtime.cmake sources/include-dirs.
- Strip the sljit provider/backend from code_provider.{c,h},
  overlay_backend.{c,h} ("sljit" in overlay_backend/PSX_OVERLAY_BACKEND now
  degrades to auto so stale configs still boot), main.cpp, debug_server.c
  (sljit_status/sljit_async/sljit_try TCP commands), overlay_loader.{c,h}
  (live policy, JIT-on-miss, persisted-shard cache, async worker glue,
  psx_sljit_call/cop2/memx host helpers — reachable only via the removed
  cpu->sljit_helpers table), and cpu_state.h (SLJIT_HLP_* enum + the
  sljit_helpers[] member; CPUState layout change reshards via the cg tag).
- Master-only entanglement resolved before deletion: 28165d6's Einhander WS
  player-X bound emit existed in three paths (gcc code_generator, sljit,
  dirty_ram_interp). The gcc shard link contract now forwards
  psx_ws_player_x_bound (ABI v13, previous commit), so deleting the sljit
  emit path loses no widescreen behavior; ffc6688's game-dispatch block
  inside the dead psx_sljit_call helper goes with it.
- Reword comments that described sljit as a live backend (gpu.{c,h},
  ws_*_detect.h, cosim_state.c, dirty_ram_interp.c, autocompile.h,
  boot_state.h, config_loader.h, compile_overlays.py, and the CPS marker
  comments the recompiler emits).

recompiler psxrecomp-game builds clean; game runtimes rebuilt + boot-verified
separately.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 22:22:38 -07:00
Matthew Stanley 0ea1f26568 overlay: add sljit Tier-2 in-process JIT backend (foundation)
Add sljit as a self-contained, toolchain-less codegen backend for the
overlay self-improvement loop. gcc stays the default (dev: optimized +
inspectable); sljit is the fallback / production producer. Interpreter
remains the correctness floor.

This commit lands the backend-agnostic foundation only; the MIPS->sljit
emitter is not built yet, so every fragment safely declines to the
interpreter (no change to the validated gcc path).

- Vendor sljit (BSD-2-Clause) at lib/sljit/, wired into runtime.cmake
  (compile sljitLir.c + include dir; sljit auto-detects the host arch).
- overlay_sljit.{h,c}: backend-selection policy (PSX_OVERLAY_BACKEND=
  auto|gcc|sljit), availability, a real codegen smoke test, and
  try_compile() honoring the precision-over-recall bail-to-interp contract.
- sljit_status debug-server command (Rule-3 clean: status via getter).
- THIRD_PARTY_ATTRIBUTION.md: sljit entry.

Verified: TombaRecomp/build-dev (MinGW gcc 15.2) compiles + links
psx-runtime.exe; standalone smoke harness JITs f(a)=a+1234 and runs it
correctly (26 bytes x86-64). Design + locked tier decisions in SLJIT.md.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 12:52:29 -07:00
Matthew Stanley c5860d785c launcher: add RmlUi 6.0 + FreeType 2.13.3 as pinned submodules
lib/RmlUi @ tag 6.0 (mikke89/RmlUi, stock — verified not a fork).
lib/freetype @ tag VER-2-13-3. Both built statically into the runtime;
pinned to the exact tags that were build- and pixel-verified.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 12:42:47 -07:00