# Performance Shop: Nitrous Oxide > "Choose Individual Parts" > Esc, twice.
# The soft-lock repro of overrides.c sub_00559c90: with movies
# on and 60 fps or lower, the package screen's uninitialised field +0xC0
# could open the parts list twice, after which no screen took input.  Good:
# after the Escs, UI_ChoosePerformanceCategory with mask ff, then the
# "exit shop" GenericDialog_SMALL.  Needs a career save in the crib
# (<save> below: a profile folder that has one):
#   Mac:  tools/autorun.sh <out> NFSU2_SAVE_SEED=<save> NOMOVIES=0 NFSU2_FPS=60 NFSU2_INPUT_SCRIPT=$PWD/tests/scripts/shop_short.txt
#   web:  NFSU2_SAVE_SEED=<save> node web/tools/run-suite.mjs --script shop_short.txt --marker shop_end --env NOMOVIES=0 --env NFSU2_FPS=60
# The browser did not show the soft-lock before the fix either (other heap
# history); the fix leaves the good path frame for frame the same.
0     tapuntil RETURN MC_Background.fng 120 12000   # movies (if on) are skipped
+0    tapuntil RETURN GarageMain.fng 120 3000      # Load complete
+600  tap LEFT
+60   tap RETURN                      # Career
+300  tap RETURN                      # Resume Career
+120  bot on                          # the bot leaves the crib
+0    waitfng HUD_SingleRace.fng 12000
+0    waitexpr i:[0x890118]+0x24 == 1 6000
+0    bot off
+600  tapuntil ESCAPE HUD_SingleRace.fng 120 1200   # SMS / mailbox
+300  shopgo CC_PERF_SHOP
+600  tapuntil RETURN UI_EngageShopDialog.fng 120 2400
+120  tap LEFT
+30   tap RETURN                      # Enter shop
+0    waitfng GarageMain.fng 3000
+600  status shop_in
+0    tap RIGHT
+60   tap RIGHT
+60   tap RETURN                      # a category
+300  tap RIGHT
+90   tap RIGHT
+90   tap RIGHT
+120  dump a
+0    tap ESCAPE
+200  tap RIGHT
+60   tap RIGHT
+60   tap RETURN                      # Nitrous Oxide
+300  tap LEFT
+90   tap LEFT
+120  dump b
+0    fnglist x
+0    tap ESCAPE
+200  fnglist x
+0    dump esc1
+0    tap ESCAPE
+200  fnglist x
+0    dump esc2
+0    status shop_end
+60   quit
