AC: guest-state and click-helper notes for VM141

This commit is contained in:
alex 2026-09-08 21:33:25 -04:00
parent 2e7ed8f288
commit bdaa26fe96

View file

@ -385,3 +385,49 @@ rather than one; sectors with `tsnumflt` up to 2 and a `tsflt` entry that is a *
rather than a freighter; and a `StarFleet` whose **`LocID` is a `TradeSector` id (832)** rather than a rather than a freighter; and a `StarFleet` whose **`LocID` is a `TradeSector` id (832)** rather than a
star system id — the first fleet in the corpus located anywhere but a star, which is precisely the star system id — the first fleet in the corpus located anywhere but a star, which is precisely the
state that makes the tail draw. state that makes the tail draw.
---
## 9. VM141 as left, and two things that cost this lane time
**Guest state.** Game stopped. `C:\SOTS\shim.cfg` is a copy of `shim.cfg.l3cont` (`hooks=off`,
`watch=on`, `watch.mode=cont` — the cheap config); the lane's dist is `C:\SOTS\shimdist-ac`
(`BUILD_ID ac-7e726b9-20260909T0017Z`) and `C:\SOTS\binkw32.dll` is that build's proxy, with the
original still at `binkw32_real.dll`. `SavedGames` has been restored from
`C:\SOTS\SavedGames-acstash` and additionally holds **`ac-turn20-raider.sav`** and L3's three saves,
so **every Load-dialog row position recorded by an earlier lane has moved on this guest** — screenshot
the dialog, do not reuse a remembered row. Also left, all harmless: `C:\SOTS\acdata\` (config text
extracted from `sots.gob`) and `C:\SOTS\ui\ac-*.ps1`.
**`click_helper.ps1` gained six verbs**, purely additive, every existing verb byte-for-byte
unchanged; pre-lane backup at `click_helper.ps1.preAC`:
```
drag x1 y1 x2 y2 left-button drag (ported from VM144, lane L3)
rdrag x1 y1 x2 y2 RIGHT-button drag, 30 steps (the only thing that pans the tech tree)
sdrag x1 y1 x2 y2 slow left drag, 40 steps
wheel x y delta [n] n wheel notches
jmove x y move with a real relative mouse_event jiggle (new; ported from lane L2's ui.ps1)
jclick x y click with the same jiggle (new)
```
**The jiggle is needed to *read* the star map and harmful when *committing* to it.** `jmove` is what
makes the map's hover readout update — without it the `Sector 6 / Range 5.0 / ETA 2 Turns` line never
appears and you are clicking blind. But `jclick` on the sector marker **did not register the
destination**, twice, silently; a plain `click` at the same coordinate did, first time. So: `jmove` to
read, plain `click` to commit. Lane L2's note that the map "needs real mouse motion" is right about
motion and wrong if read as "use the jiggle for everything".
**Verify a fleet order from the save, never from the panel.** The first move order left the fleet
panel showing no destination *and* the save showing `LocID 48` — unmoved — through two End Turns,
with no error anywhere. The second attempt showed `Dest: Sector 6, 2 Turns` in the panel and moved.
There is no failure signal; the only reliable check is `Flt.LocID` in the autosave.
**Dev-box build note (not a repo change).** `cmake/toolchain-mingw-i686.cmake` links libgcc and
libstdc++ statically but not **libwinpthread**. On the WSL dev box the i686 mingw is the *posix*
threads model, so `binkw32.dll` comes out importing `libwinpthread-1.dll` and the game dies at load
with `0xC0000135 STATUS_DLL_NOT_FOUND` — no shim log, no banner, just an exit code in
`dxvklog\run.txt`. Adding `-DCMAKE_SHARED_LINKER_FLAGS=-static` fixes it. CT111 does not have this
problem (its mingw uses the win32 model), which is why no lane has hit it before; the toolchain file
was deliberately **not** changed, because that is a shared-infrastructure decision for the integrator
rather than a lane's.