# Force feedback over a long drive (dinput_pad.c, NFSU2_FF_LOG=1): the game
# changes a rumble by Unload and a new effect and never releases the old one.
# Before 2026-10-21 the 65th CreateEffect failed (DIERR_DEVICEFULL) and the
# game logged "Failed to create periodic effect" and "invalid effectid" every
# frame from then on; now an unloaded effect's place is taken.  Expect more
# than 64 "[ff] CreateEffect" lines, some "(an unloaded effect's place)", and
# no "Failed to create periodic effect".  About 5 minutes:
#   node web/tools/run-suite.mjs --script web_pad_rumble_long.txt --marker 'LOG --- done ---' \
#     --timeout-scale 3 --env NFSU2_FF_LOG=1
0     pad connect
+0    tappaduntil START MC_Background.fng 120 4000
+200  tappad A                                       # no profile
+0    waitfng GarageMain.fng 3000
+300  tappaduntil A UI_QRModeSelect.fng 150 3000
+200  tappaduntil A UI_QRTrackSelect.fng 150 1500
+200  tappaduntil A UI_QRModeOptions.fng 150 1500
+200  tappaduntil A UI_QRCarSelect.fng 150 1500
+200  tappaduntil A PC_Loading.fng 150 1500
+0    waitmem 0x8654a4 6 3000
+0    log --- race (countdown) ---
+0    trigger RT 1
+120  trigger RT 0
+480  peek 0x86e5bc
+0    log --- race ---
+0    trigger RT 1
+0    loop 9
+0    axis LX -1
+800  axis LX 1
+800  axis LX 0
+0    trigger RT 0
+0    trigger LT 1
+120  trigger LT 0
+0    trigger RT 1
+60   endloop
+0    log --- done ---
+0    trigger RT 0
+60   quit
