CydandClaude Fable 5 ff6ec8c56a SteamNetTransport: the Steam wire is implemented and live
Steamworks SDK 1.64 vendored at extern/steamworks_sdk_164 (headers +
win32 redistributables only; .gitignore trims the rest). Both projects
build with RP412_STEAM; activation stays behind the RP412STEAM=1
environment switch, so plain desktop runs never touch Steam.

L4STEAMTRANSPORT.cpp implements NetTransport on ISteamNetworkingSockets
with FakeIP: SteamNetTransport_Install brings up SteamAPI, relay
network access, and a two-port FakeIP identity (fake port 0 = console
channel, 1 = game mesh), then swaps the process wire; any failure logs
the reason and the game carries on over TCP. Addressing keeps the
engine untouched: all pods share the -net port convention, eggs carry
fakeip:engineport, and the transport alone translates engine ports to
Steam fake ports via the lobby-fed peer table (RegisterPeer). Connect
mirrors the TCP retry-while-refused loop; Receive normalizes message
lanes back into the stream semantics CheckBuffers expects.

Runtime verified on this box: RP412STEAM=1 under AppID 480 came up as
169.254.59.52 (fake ports 32256/32257); without Steam credentials it
falls back to TCP cleanly; default boot logs no Steam lines at all.
steam_api.dll ships in the dist.

Next: the lobby layer (ISteamMatchmaking member data -> RegisterPeer +
egg build + RPL4CONSOLE marshal), which needs a second account to test.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 20:34:07 -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%