Skip to content

v0.4.0

Latest

Choose a tag to compare

@XertroV XertroV released this 16 Aug 07:04
· 62 commits to master since this release

tm-control-mcp v0.4.0

Install

  • Openplanet → install the .op asset below, or folder-plugin per README
  • Requires MLHook + MLFeedRaceData (Editor++ optional; E++ tools live in tm-mcp-pack-epp)

Highlights

  • TakeScreenshot now reports the captured file. Waits for the native viewport capture to land and returns fullName (game-side path from Viewport.ScreenShotFullName), sizeBytes, and detected — no more guessing which ScreenShotNN.jpg is yours.
  • New capture options:
    • hideOverlay: true — clean shots without HUD/Manialink overlays (native DisableOverlayRender, restored right after).
    • forceRes: true + width/height — capture at a forced resolution (verified: 3840×2160 and 2560×1440 files come out at exactly the requested size), restored after.
    • waitMs (default 5000; noWait: true / 0 for fire-and-forget) with timedOut on miss instead of a hard error.
  • format is validated (jpg | webp | tga | dds) — unknown formats now return INVALID_INPUT instead of silently falling back to jpg.
  • Crash-prone native capture paths stay unexposed (360° panoramas, tiled supersampling, alpha/pixel-output switching) — the tool only drives the same capture queue the in-game screenshot key uses. New screenshots guide documents the safe surface and the danger zones (GetGuide {"topic":"screenshots"}).
  • tools/call.py scales its socket timeout to your waitMs and still adds Linux-side detectedScreenshot.linuxPath detection.

Artifacts

  • tm-control-mcp-0.4.0.op — Openplanet plugin package (no DEV defines)

Security

  • Localhost JSON socket, no auth — see SECURITY.md
  • Keep Socket Host at 127.0.0.1

Full changelog

See CHANGELOG.md entry for 0.4.0