I found them in the LSL3 source code. The original, not the decompile. You don't want to put that in Main, trust me. 290 is a speed test room, much like the one in so many other SCI games. The room tries to walk an all-black view around an all-black screen and figures out how long it takes for 60 game ticks to to pass while wasting CPU cycles drawing a black square on black. The black square walks up to an X of 3000 just so there's enough time for the speed test to run.
(method (init)
(HandsOff)
(StatusLine disable:)
(TheMenuBar hide:)
(super init)
(ego
view: scriptNumber
posn: 20 100
setStep: 1 1
setMotion: MoveTo 3000 100
setCycle: Walk ;even though view.290 has only one frame, the overhead of a Cycler makes the simulation more realistic.
init:
)
(theGame setSpeed: 0)
)
(method (doit)
(super doit:)
;EO: The reason for the speed bugs is that
; the speed tester didn't account for newer machines.
; Later games fixed this by using the howFast global,
; with only a few possible values and an upper limit.
(++ machineSpeed)
(if (== machineSpeed 1)
(= doneTime (+ 60 (GetTime)))
)
(if ( < doneTime (GetTime))
; 60 ticks have elapsed; set up the game
(theGame setSpeed 6) ;do you really need the debug alternative?
(TheMenuBar draw:)
(StatusLine enable:)
(curRoom newRoom: 200) ;first real room
)
)