6 Commits
Author SHA1 Message Date
Benjamin aa432ad822 fix: telemetry init was in client-only path, not server path
TelemetrySocket/Emitter::create() was inside the --connect-now block
(client mode). Moved to after both server and client network setup so
it runs in server mode too. Also added connect failure logging to aid
debugging.
2026-06-11 22:37:49 +02:00
Benjamin 961ca07bcf telemetry: emit track geometry (DriveGraph nodes) in RaceStarted
Walk the main driveline graph at race start and populate
TrackGeometry with center, left/right edge, width, and
distance_from_start for each DriveNode quad. Includes bounding
box and start position/heading for 2D minimap rendering.
2026-06-11 21:27:09 +02:00
Benjamin d61372c2d2 Fix telemetry compile errors: correct API names and include path
- telemetry.pb.h include: use bare filename (build dir already in include path)
- getMinorRaceMode() -> getMinorMode()
- getDistanceFromStart() -> getDistanceFromStart(true)
2026-06-11 20:36:10 +02:00
Benjamin 4a962014a2 Add telemetry system: protobuf over Unix socket
- TelemetrySocket: non-blocking Unix domain socket writer (fire-and-forget)
- TelemetryEmitter: high-level event emitter with protobuf serialization
- Hooks into: World::update (snapshots), World::onGo (race start),
  ServerLobby (race finish, player join/leave),
  LinearWorld::newLap (laps, kart finish),
  NetworkItemManager (item collection, switch),
  Flyable (projectile hits)
- CMake: finds protobuf, generates C++ from proto schema, links libprotobuf
- Configurable via STK_TELEMETRY_SOCKET env (disabled if unset)
- Snapshot rate configurable via STK_TELEMETRY_SNAPSHOT_HZ (default 10)
2026-06-11 20:29:04 +02:00
Benjamin eebbfac15f Add race result logger (existing patch from stk-server-docker) 2026-06-11 20:08:59 +02:00
Benjamin 2957e51aaa SuperTuxKart 1.5 upstream source (from official release tarball) 2026-06-11 20:04:02 +02:00