CruiseAssistPlus
Auto-orients your mecha while sailing toward a planet, star, or Dark Fog hive/seed/communicator. Rebuild of tanu/appuns CruiseAssist for current DSP.
CHANGELOG
Changelog
0.3.7
- Clicks no longer pass through the mod's windows. Pressing a button on the HUD, the Destinations
list or either config window used to also reach whatever was behind it — placing or selecting a
building, dragging the camera, zooming with the wheel, or hitting a DSP panel underneath. Every window
of this mod and of AutoPilotPlus now registers the screen area it covers, and while the cursor is over
one the game's own "cursor is on the interface" state (
VFInput.onGUI/onGUIOperate/inScrollView) is raised — the exact flags DSP sets over its own panels, so every consumer of them stands down identically. A camera drag that started in the world still keeps working when the cursor crosses a window, because the game's press-latch is reproduced rather than bypassed. Pointer raycasts are also suppressed under a mod window, so DSP's own buttons beneath one get a clean pointer-exit instead of a stray click. Toggle withUI/BlockClickThrough. - The windows now look like the game's. Dark translucent panel, cyan-steel hairline edging, a real
title bar, flat cyan-accented buttons, checkboxes and sliders, and list rows that light up on hover
instead of being a wall of grey buttons. The typeface is DSP's own, read from the live UI hierarchy at
runtime (
UI/UseGameFont); the chrome is generated procedurally, so nothing breaks when the game updates its asset bundles. SetUI/UseGameSkintofalsefor the old Unity look. - Collapse, config and close moved into the title bar on the CruiseAssist+ HUD and the AutoPilot+ panel, freeing the row they used to occupy. A collapsed window keeps its title bar.
- The config window is grouped under headings and exposes the three new UI settings.
- The debug overlay reports whether the cursor is currently being treated as over a mod window, and which font was picked up from the game.
0.3.4
- Fixed the frame-rate drop while the Destinations window is open, which got much worse after
researching Universe Exploration 3 (the research that makes Dark Fog hives visible galaxy-wide).
Three separate causes:
- The galaxy scan's cooldown was counted in GUI events, not frames. Unity raises
OnGUIat least twice per frame and again for every mouse move, so the "once per 60 frames" rescan — every hive's tinder pool, a coordinate transform per seed, then a LINQ sort — was really firing several times a second, and faster the more you moved the mouse. It now runs at most once per second (configurable), on the layout pass only. - Every visible row recomputed its own distance (a square root) and re-ran
string.Formaton every GUI event. Distances and labels are now formatted once per refresh into a cached snapshot. - The scroll view laid out every row even when scrolled out of sight, and
GUILayout.Width(...)allocated fresh objects per cell per event. Rows are now virtualised: only the ~20 on screen are drawn, so cost no longer grows with the number of stars, hives, or seeds.
- The galaxy scan's cooldown was counted in GUI events, not frames. Unity raises
- The window no longer grows to swallow the screen on long lists, and can be resized by dragging the ◢ grip in its bottom-right corner (size is saved). Dragging is now limited to the title bar, so clicking around in the list doesn't fling the window across the screen.
- Added a ✕ close button in the window's title bar (reopen with the HUD's Destinations button).
- Added a Find box that filters the current tab by name — the practical way to use a galaxy-wide hive or seed list.
- Expanding a star now only builds that star's planet rows, so the Stars tab costs the star count rather than stars × planets. Same treatment for History and Bookmark.
- New Performance config section (also in the in-game config window):
ListRefreshSeconds,MaxListRows(nearest-first cap per section, with a "… N more" row — never a silent truncation),ShowDarkFogSeeds, andShowCommunicators. Turning seeds off skips the most expensive scan entirely. - The debug overlay now reports the row count and how long the last scan took, so the remaining cost is measurable rather than guessed at.
0.3.3
- Fixed bookmarks (★) not persisting. A save triggered before the current galaxy's saved state had loaded (unreliable with Galactic Scale active) was overwriting the stored bookmarks with an empty list — visited History repopulated itself from travel, so only manual bookmarks appeared to vanish. State is now loaded lazily as soon as a valid galaxy is seen, and a save can no longer write until that seed's state has been loaded. Also flushes the config explicitly on every change. Still keyed per galaxy seed.
0.3.2
- Renamed the target picker Stars → Destinations (window title and HUD button) now that it lists more than stars, and moved the Dark Fog tab to sit right after Stars (order: Stars, Dark Fog, History, Bookmark).
- All mod windows now clamp on-screen. A window whose saved position landed off the edge — e.g. dragged on a larger display, or pushed out when the UI scale was raised — is pulled back so its title bar stays grabbable. Fixes the AutoPilot+ window becoming unreachable at higher UI scales.
0.3.1
- Real intercept ETA for seeds on the HUD. When a Dark Fog seed is selected, the HUD now shows
Intercept: H:MM:SS= range ÷ the actual closing speed (measured from how fast the gap is shrinking each tick, so it accounts for the seed's motion and your heading). Shows--when you aren't gaining on it. Toggle withSetting/SeedInterceptEta(in-game config: "Seed intercept ETA on HUD"); off falls back to the naive range ÷ your speed. - Fixed the Dark Fog list's seed ETA, which previously divided your distance-to-seed by the seed's own speed. It now correctly shows time until the seed reaches its destination hive (your intercept deadline).
0.3.0
- Dark Fog navigation. New Dark Fog tab in the Stars window lists targets you can steer to:
- Hives — galaxy-wide (observe-gated; local system always shown), distance-sorted.
- Seeds — every active outbound Dark Fog unit, with live range + ETA, discovered by scanning each hive's tinder pool.
- Communicators — visible Dark Fog Communicators (
CosmicMessageData.doodadProtoId == 5, gated by the game's ownIsMessageVisible). Communicators are also adopted automatically when you click the in-game cosmic-message marker.
- Guidance resolves a live universe position each tick for the moving hive/seed target and auto-clears on arrival (hive 30 km, seed 3 km, communicator 2 km).
- HUD shows the Dark Fog target name (hive / seed / communicator) with range + ETA.
- Robust against destroyed/recycled enemies (validates the pool slot still holds the same enemy), null pools, and pre-load state — a game-side change degrades to "no target" instead of crashing the tick.
0.2.3
- Moved the Config button into the HUD header (top-right, next to ✕), matching the AutoPilot+ window layout. The bottom row is now just Enabled / Stars / Cancel.
- Added a
SuppressAutoArrivalhand-off so an extension (AutoPilot+ launching to orbit) can keep the target from auto-clearing on "arrival." This makes "launch to the planet you're standing on" work: the target is held while the mecha climbs to orbit, and the extension clears it once there instead of it counting as an instant arrival and disarming the launch.
0.2.2
- Debug overlay now shows movement state (Walk/Drift/Fly/Sail), altitude above the local surface, and horizontal speed — the values that gate the launch Fly->Sail transition — to aid AutoPilotPlus launch diagnosis.
0.2.1
- Fixed guidance not starting until AutoPilot was toggled: the game blanking
indicatorAstroIdto 0 no longer wipes your selection or disarms extensions. - Manual-input guard de-noised — only real strafe/forward/roll/climb input yields (ignores the jump edge), with a small threshold; it now logs the actual input vector for diagnosis.
0.2.0
- HUD can now be collapsed (title-only), closed (✕), and auto-hidden when not in space (config).
- Reopen the HUD with a configurable hotkey (default F7).
- HUD shows a button per registered extension (e.g. AutoPilot) to reopen its window.
- Extension API: replaced unused
ResetInput()withPanelLabel+TogglePanel().
0.1.0
- Initial release. Clean rebuild of CruiseAssist for DSP 0.10.34+ / Unity 2022.3.
- Velocity-slerp cruise steering toward a target star/planet while sailing.
- Star list with Normal / History / Bookmark tabs; per-galaxy-seed persistence.
- Stable
INavigatorExtensionAPI for AutoPilotPlus. - Improvements:
RespectManualInputtoggle, config-exposed tuning constants, verbose debug logging and on-screen debug overlay, no IL transpiler.