CydandClaude Fable 5 974cc6e120 Steam transport: accepted connections survive listener close
Round-three diagnosis from the three-machine logs: the console
channel connected first try on SDR both ways - then died seconds
later with end reason 5010 (PeerSentNoConnection). Cause: the arcade
engine closes its console LISTENER the moment the console connects
(correct under TCP, where accepted sockets outlive the listener), but
Steam''s CloseListenSocket closes all accepted connections
ungracefully. The members silently killed their console connection at
accept; the owner''s next packet got no-connection back, no eggs were
ever fed, and all three pods sat waiting.

The transport now bridges the semantics: an engine close only marks
the listener (new callers are rejected, pending queue dropped); the
Steam socket is destroyed in Cleanup at mission teardown. Re-listening
on the same engine port reopens the marked listener.

The loopback self-test now covers exactly this: accept, close the
listener, then push data both ways over the accepted connection -
PASSED (ping 1, survives listener close 1).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 23:03:22 -05:00
2026-07-12 21:27:12 -05:00

Red Planet 4.12

Red Planet is the VWE pod-racing game built on the in-house MUNGA engine (Win32 / DirectX 9, MUNGA_L4 platform layer). The 4.12 line is the consumer port: a version of Red Planet that can be sold on Steam and played over internet multiplayer, without cockpit-pod hardware.

Forked from RP411 (the arcade/cockpit 4.11 line) with full history preserved.

Goals

  1. Steam distribution — Steamworks integration, SteamPipe builds, store-ready packaging.
  2. Internet multiplayer — take the engine's LAN-era WinSock networking online (NAT traversal, matchmaking, latency tolerance).
  3. No cockpit required — keyboard / mouse / gamepad input and on-screen replacements for the pod's RIO panel and plasma display, drawing on vRIO.
  4. Self-hosted sessions — in-game race setup/join replacing the operator-driven TeslaConsole flow.

See docs/RP412-ROADMAP.md for the plan and the Steam-multiplayer logistics.

Building

Unchanged from 4.11 for now — see BUILD.md (VS 2005/2008 + DirectX SDK June 2010, Release|Win32, output Release\rpl4opt.exe). Toolchain modernization is a roadmap item.

Repo Role
RP411 Upstream arcade source (this repo's base)
VRIO Virtual RIO panel + vPLASMA display — input bindings and display emulation to fold in
TeslaSuite TeslaConsole / Launcher / vPOD — the arcade session-control stack 4.12 replaces (and a reference for the Munga control protocol, TCP 1501)
S
Description
No description provided
Readme
87 MiB
Languages
C++ 86.5%
C 13%
PowerShell 0.3%
Assembly 0.2%