# Free-roam multiplayer hit, instance A (is hit): new career -> prologue
# free roam; once the controls unlock A drives ahead for A_UP frames (90:
# about 13 m), brakes and stands while B (roam_mp_hit_b.txt) drives into it
# from behind.  A's own car is traced every frame (velocity, forward speed,
# position, yaw rate); the pose logs say where each screen drew the other.
#   node web/tools/roam-pair.mjs --a Al:roam_mp_hit_a.txt:A_UP=90 \
#        --b Bo:roam_mp_hit_b.txt:B_WAIT=1140,B_UP=95 --watch 900
# B_UP=95 lets go just after the hit, B_UP=240 keeps pushing A for 2.4 s.
# A hit is shared by the cars' weights (roam_game.c roam_game_contact; two
# 350Z here): B went 10.3 -> 5.6 m/s and A 0 -> 4-5 m/s ("hit with ... kept
# 50 %" lines); NFSU2_ROAM_HIT_SHARE=100 on both is the game's own response
# to a car without physics (B stopped dead, A thrown to 7-10 m/s).  Other
# weights: NFSU2_ROAM_TEST_MASS=2900 on one instance and _FMASS=2900 on the
# other.  At speed: roam_mp_hit_fast_a/b.txt.
0     tapuntil RETURN MC_Background.fng 120 4000
+120  tap LEFT
+30   tap RETURN
+240  tap BACK
+8    tap BACK
+8    tap BACK
+8    tap BACK
+20   type ${ROAM_PROFILE}
+60   tap RETURN
+240  tap RETURN
+0    waitfng GarageMain.fng 3000
+300  tap LEFT
+60   tap RETURN                      # Career
+300  tap RETURN                      # Start New Career
+0    waitfng UI_EngageMessageDialog.fng 8000
+120  tap RETURN                      # SMS: Continue
+0    roam waitroam 3000
+0    roam smsauto on
+0    roam mp waitpeers 1 6000
+0    roam mp waitcars 1 3000
+0    roam mp status
+900  log drive_ahead
+0    trace 1 vx=f:[[0x8900ac]+4]+0x70 vy=f:[[0x8900ac]+4]+0x74 vz=f:[[0x8900ac]+4]+0x78 spd=f:[[0x8900ac]+4]+0x42c x=f:[[0x8900ac]+4]+0x60 y=f:[[0x8900ac]+4]+0x64 wz=f:[[0x8900ac]+4]+0x118
+0    down UP
+${A_UP} up UP
+0    down DOWN
+60   up DOWN
+0    log stand
+${ROAM_WATCH_FRAMES} roam mp status
+0    untrace
+10   quit
