# A short benchmark race for A/B runs of two builds (web/tools/bench.mjs, its
# "Comparing builds' work" recipe): perf_drive.txt's Quick Race (Circuit,
# Resort Loop; input timed in game-world ms) cut to its first 21 s, with the
# per-thread CPU counters' window from 8 s to 20 s of race time.  Played in
# lockstep (NFSU2_HFR_LOCKSTEP=1, VCLOCK=fixed, NFSU2_FIXED_DT=120) it is the
# same race in every run, so a build's cycles per frame compare within ~1-2 %.
0       waitfng UG_LS_Splash.fng 12000                  # title
+1000ms tapuntil RETURN MC_Background.fng 120 3000      # title -> profile prompt
+600ms  tapuntil RETURN GarageMain.fng 120 3000         # "No" -> main menu
+1500ms tapuntil RETURN UI_QRModeSelect.fng 240 3000    # Quick Race
+800ms  tapuntil RETURN UI_QRTrackSelect.fng 240 3000   # Circuit
+800ms  tapuntil RETURN UI_QRModeOptions.fng 240 3000   # Resort Loop
+800ms  tapuntil RETURN UI_QRCarSelect.fng 240 3000     # options
+800ms  tapuntil RETURN GenericDialog_SMALL.fng 240 3000 # car -> transmission
+800ms  tapuntil RETURN PC_Loading.fng 240 3000         # transmission -> loading
+0    waitmem 0x8654a4 6 6000
+0    wzero
+0    log race_loaded
+0    peek 0x8650b8 1
+0    peek 0x883de0 1
+0    peek 0x870cb8 1
+0    peek 0x8900bc 1
+0    peek 0x8900b4 2
7000wms  down UP          # countdown (the intro NIS ends ~6 s after load)
8000wms log cpu_begin
16000wms down LEFT
16700wms up LEFT
20000wms log cpu_end
21000wms up UP
21000wms log drive_end
+30   quit
