Commit graph

13 commits

Author SHA1 Message Date
MiTHRAL
7b9d706f79 netcode-revival: expose gate-status diagnostics for the Party Play frontend gate
Some checks are pending
Lint & Format Check / Format Check (push) Waiting to run
2026-08-28 21:37:37 -04:00
MiTHRAL
73d8f36af2 netcode-revival: XNetTransport::ForceLiveFlag - force the game's live-user static
Some checks are pending
Lint & Format Check / Format Check (push) Waiting to run
Writes the title's internal 'live user' flag byte (0x83028851, derived from
sub_8263E788's lis -32003 / lbz -30639 = recompiler value -2097348608 ->
0x83030000 - 0x77AF) to 1 so the frontend stops refusing Xbox Live features
before it ever calls a rexglue API. Logs the first force.
2026-08-28 14:32:13 -04:00
MiTHRAL
6fcc96de18 netcode-revival: fix SetRelay deadlock + grant multiplayer privileges
Some checks are pending
Lint & Format Check / Format Check (push) Waiting to run
- Deadlock: SetRelay held the transport mutex while join()ing the receive
  thread, which needs the mutex to observe running_ and exit. With the 200ms
  recv timeout the thread woke and hit the lock -> a room/server change froze
  the game (every room keystroke reconnects the transport). StopThread now
  detaches the thread under the lock and joins WITHOUT it.
- XamUserCheckPrivilege denied everything, which is the gate the game's
  'create a party' flow checks (multiplayer sessions); grant requested
  privileges so the P2P session flow opens, and log the mask.
2026-08-28 13:52:20 -04:00
MiTHRAL
01fe706c13 netcode-revival: pack the relay wire structs + heartbeat + transport logging
- #pragma pack(push,1) on the wire structs (the relay's proto is packed; the
  transport's were not, which would inflate sizes and corrupt every datagram)
  plus static_asserts pinning sizes to 7/31/1410/25/801.
- Heartbeat re-JOIN every 4s so the relay never times the transport out.
- REXLOG info for connect/join/session-reply so the flow is observable.
2026-08-28 02:14:19 -04:00
MiTHRAL
bf3635d7ad netcode-revival: relay transport for the game's netcode (Phase 1b)
Some checks are pending
Lint & Format Check / Format Check (push) Waiting to run
Route the game's own RakNet UDP through the ghost relay so real internet
peers can play, with the server as a pure relay/NAT stabilizer:

- XNetTransport: a rexglue relay client (joins the same relay + room as the
  ghost client), a receive thread, and:
  - SendGame(): wraps a datagram addressed to a virtual 10.80.0.x peer in a
    relay Game payload and sends it OUTBOUND to the relay (no inbound
    reachability / port forwarding needed).
  - QuerySessions()/Sessions(): discovery - the room members that
    XNetQosLookup reports to the game's session search.
  - Receive injection: relayed Game payloads are pushed into the game's
    registered sockets via XSocket::QueuePacket.
- XSocket: SendTo() to a virtual address routes through the transport;
  RecvFrom() drains queued relayed packets first; sockets register with the
  transport on Initialize.
- XNetQosLookup: queries the relay and returns the room's members as
  discovered sessions (with their virtual addresses), signaling completion.
- XNetGetTitleXnAddr identity now shares one source of truth with the
  transport (same 10.80.0.x).

Wire structs are minimal copies of the game's ghost protocol (kept
dependency-free); the relay's version check refuses mismatches.
2026-08-28 02:11:24 -04:00
mchughalex
3b0328da62 core: never create executable host memory for guest pages 2026-07-24 19:40:35 +01:00
mchughalex
8130e534bc system: per-content-type root overrides in ContentManager 2026-07-19 23:18:43 +01:00
mchughalex
05049e0769 add Skate 3 ultrawide runtime support 2026-06-10 05:53:12 +01:00
mchughalex
5b6b87bcea improve Vulkan texture and presentation handling 2026-06-06 15:13:40 +01:00
mchughalex
3184592404 add macOS platform support 2026-06-06 15:13:35 +01:00
mchughalex
32a6743554 add Skate 3 settings and profile support 2026-05-28 14:07:59 +01:00
mchughalex
1081b0ea27 align module and memory behavior for Skate 3 2026-05-21 02:14:09 +01:00
mchughalex
3ec2b41a6f prepare rexglue fork for Skate 3 2026-05-18 22:41:13 +01:00