How vnnc1/mk8-online works
MK8-online combines a Windows launcher and preparation pipeline with a locally compiled native game runtime and developing multiplayer rooms. The principal workflow is user setup and game-file selection, import/runtime preparation, AArch64 translation and Windows build, then game launch. The graph also preserves updates, diagnostics, language, online-room capabilities, and major graphics-toolchain components. Some subsystems are represented at their documented directory level because their implementation files were not sampled; edges reflect README statements or shown calls, not inferred module relationships.
Main entry points: host.py Runtime Build · server.rs Local API · lib.rs Room Gateway · game_session.rs Game Lifecycle
Components 24
Launcher and Setup
- Launcher UI
apps/launcher/src/main.rs - Local API
apps/launcher/src/server.rs - Setup Installer
apps/launcher/src/installer.rs - Language Settings
apps/launcher/src/language.rs - Update Manager
apps/launcher/src/update.rs - Diagnostic Reports
apps/launcher/src/report.rs - Game Lifecycle
apps/launcher/src/game_session.rs
Preparation and Build
- Build Supervisor
crates/build-manager/src/supervisor.rs - Game Preparation
runtime/prepare.py - AArch64 Translation
toolchain/recompiler/generate.py - Runtime Build
toolchain/host.py
Game Runtime
- Native Game Runtime
runtime/mk8 - Async Submission
toolchain/async_submit.py - BC Rendering
toolchain/bc_render.py - Compute Flush
toolchain/compute_flush.py - Native Patches
toolchain/native.py - Occlusion
toolchain/occlusion.py - Texture Lifetime
toolchain/texture_lifetime.py - Texture Pool
toolchain/texture_pool.py - VRAM Tracing
toolchain/vram_trace.py
Multiplayer
- Room Gateway
crates/session/src/lib.rs - Room Transport
crates/transport/src/lib.rs - Internet Relay
crates/session/src/bin/mk8-relay.rs
Other components
- Player
Connections 26
- Player → Launcher UI: uses
- Launcher UI → Local API: serves UI
apps/launcher/src/main.rs - Local API → Setup Installer: starts setup
apps/launcher/src/main.rs - Local API → Language Settings: manages language
apps/launcher/src/main.rs - Local API → Update Manager: checks updates
apps/launcher/src/main.rs - Local API → Diagnostic Reports: handles reports
apps/launcher/src/main.rs - Local API → Build Supervisor: starts builds
apps/launcher/src/server.rs - Local API → Room Gateway: manages rooms
apps/launcher/src/server.rs - Local API → Game Lifecycle: starts game
apps/launcher/src/server.rs - Game Lifecycle → Setup Installer: launches game
apps/launcher/src/game_session.rs - Build Supervisor → Game Preparation: runs preparation
- Game Preparation → AArch64 Translation: prepares translation
- AArch64 Translation → Runtime Build: generates C
- Runtime Build → Native Game Runtime: builds runtime
- Game Lifecycle → Native Game Runtime: launches game
- Runtime Build → Async Submission: integrates patches
toolchain/host.py - Runtime Build → BC Rendering: integrates patches
toolchain/host.py - Runtime Build → Compute Flush: integrates patches
toolchain/host.py - Runtime Build → Native Patches: integrates patches
toolchain/host.py - Runtime Build → Occlusion: integrates patches
toolchain/host.py - Runtime Build → Texture Lifetime: integrates patches
toolchain/host.py - Runtime Build → Texture Pool: integrates patches
toolchain/host.py - Runtime Build → VRAM Tracing: integrates patches
toolchain/host.py - Player → Room Gateway: joins rooms
- Room Gateway → Room Transport: uses transport
- Room Gateway → Internet Relay: connects relay