# nav_fulltime.txt with every hold halved (tools/fps/make_fulltime30.py): one whole match at 30 fps. Generated; edit the generator.
# Generated by tools/gen_nav_scripts.py; edit the generator, not this file.
# --- boot screens, intro movie, title -------------------------------------------------------
# A dismisses the wrist-strap screen and skips the intro movie (scene 22); stops at the title.
mash 100 20 scene == 0
log STATE title screen
# The title accepts A once its intro animation has finished; it is then popped (scene != 0).
mash 100 30 scene != 0
wait scene == 1 || scene == 10
# Without a save file the game asks to create one (pop-up scene 10, default button = yes);
# the main menu keeps its buttons dead until the save is loaded or created.
wait scene == 10 || nbuttons >= 8
if scene == 10
log first run: no save file, accepting 'create save data'
wait nbuttons >= 2
idle 10
mash 100 30 scene == 1
wait nbuttons >= 8
endif
# The port's menu navigation puts the pointer on the first button: Domination Mode (ctx 0).
wait onctx == 0
log STATE main menu, pointer on Domination Mode
# --- Domination Mode: options -> captains -> sidekicks -> sides -> stadium ---------------------
idle 30
press 100
wait scene == 27
wait nbuttons >= 10
# Gameplay options (skill, series, 3-minute limit) are left at their defaults: go down to DONE.
mash 4 30 onoff == 0x1470
idle 20
press 100
wait scene == 2
wait nbuttons >= 10
# Captains: the pointer starts on the home team's panel. A opens the captain grid for it.
wait onoff == 0x920
idle 30
press 100
idle 60
# Grid button 2 (third in the top row) = captain 3, Donkey Kong.
mash 4 30 onoff == 0x218
idle 20
press 100
idle 40
# Right twice, up: the away team's panel. A, then grid button 3 = captain 6, Waluigi.
mash 2 30 onoff == 0x380
idle 20
mash 8 30 onoff == 0x9D4
idle 20
press 100
idle 60
mash 4 30 onoff == 0x2CC
idle 20
press 100
idle 60
mash 4 30 onoff == 0xBF0
idle 20
press 100
log captains confirmed
wait scene == 3
wait nbuttons >= 10
# Sidekicks: the default line-ups are kept; down to DONE.
idle 20
mash 4 30 onoff == 0x11C8
idle 20
press 100
wait scene == 4
wait nbuttons >= 3
# Sides: the pointer starts on HOME. A joins the home team (the away team is the CPU's).
wait onoff == 0x20
idle 30
press 100
idle 30
mash 4 30 onoff == 0x188
idle 20
press 100
wait scene == 5
# Stadium: the default one; the pointer starts on PLAY.
wait onoff == 0x110
idle 30
press 100
log stadium confirmed, loading the match
wait ingame == 1
# A skips the walk-out cutscene (match state 0); state 1 is the kick-off, 5 open play.
mash 100 30 gs == 1
log STATE kick-off
wait gs == 5
log STATE open play
# --- play: stop once the match clock (seconds of open play) passes 62 -----------------------
hold 9 0 71 12
hold 8 0 66 -29
hold 3 200 64 -34
hold 12 0 64 -34
hold 9 0 63 -36
hold 13 0 56 -45
hold 3 100 70 -15
hold 5 0 70 -15
hold 11 0 -72 0
hold 7 0 -30 66
hold 7 0 -72 7
hold 10 200 -37 -62
hold 11 0 7 -72
hold 16 0 -37 -62
hold 3 800 6 -72
hold 8 0 6 -72
hold 7 0 -9 -71
hold 17 0 -64 -34
hold 12 0 -66 29
hold 3 100 -66 29
hold 16 0 -66 29
hold 18 0 -29 66
hold 15 0 -68 23
hold 5 20 -63 -36
hold 11 0 -63 -36
hold 13 0 -69 -22
hold 16 0 -24 -68
hold 3 200 -70 -17
hold 10 0 -70 -17
hold 10 0 -69 -20
hold 15 0 -48 -54
hold 3 400 -17 -70
hold 9 0 -17 -70
hold 16 0 -34 -63
hold 15 0 72 0
hold 3 100 38 61
hold 13 0 38 61
hold 15 0 58 43
hold 13 0 62 37
hold 3 140 50 51
hold 13 0 50 51
hold 15 0 2 72
hold 16 0 48 53
hold 3 200 -11 71
hold 12 0 -11 71
hold 15 0 4 72
hold 3 10 30 66
hold 11 0 30 66
hold 17 0 53 48
hold 11 0 35 63
hold 3 200 -25 67
hold 7 0 -25 67
hold 11 0 50 52
hold 8 0 72 0
hold 11 0 72 0
hold 3 100 63 -35
hold 10 0 63 -35
hold 15 0 60 40
hold 15 200 33 64
hold 2 0 33 64
hold 15 0 -72 0
hold 3 0 -71 14
# Profile window: 600 frames of open play (check the log: match state must stay 5 inside it).
log profile window: match, 600 frames
prof begin
hold 8 0 40 -60
hold 10 0 66 -29
hold 3 200 38 -61
hold 9 0 38 -61
hold 16 0 60 -39
hold 3 100 49 -53
hold 15 0 49 -53
hold 13 0 54 -48
hold 11 0 70 17
hold 13 200 71 11
hold 14 0 33 64
hold 16 0 68 23
hold 3 800 -72 0
hold 7 0 -72 0
hold 18 0 -71 -10
hold 14 0 -47 -54
hold 3 100 -1 -72
hold 10 0 -1 -72
hold 14 0 -53 -48
hold 18 0 -19 -70
hold 5 20 -20 -69
hold 6 0 -20 -69
hold 15 0 35 -63
hold 14 0 72 -7
hold 3 200 65 31
hold 14 0 65 31
hold 15 0 49 53
hold 18 0 -4 72
prof end
log profile window end
hold 11 0 -72 0
hold 17 0 -71 -14
hold 3 200 -67 27
hold 12 0 -67 27
hold 15 0 -69 20
hold 13 0 -72 -3
hold 3 100 -51 51
hold 15 0 -51 51
hold 7 0 72 0
hold 12 0 56 45
hold 11 200 59 41
hold 13 0 31 65
hold 13 0 -7 72
hold 3 800 72 0
hold 7 0 72 0
hold 10 0 60 -40
hold 17 0 69 19
hold 3 100 65 31
hold 11 0 65 31
hold 16 0 71 -14
hold 7 0 57 44
hold 5 20 31 65
hold 13 0 31 65
hold 16 0 -37 62
hold 3 200 -57 44
hold 16 0 -57 44
hold 11 0 -72 0
hold 8 0 72 0
hold 3 400 63 -34
hold 5 0 63 -34
hold 9 0 -1 -72
hold 8 0 -22 -69
hold 16 0 41 -59
hold 3 100 72 0
hold 13 0 72 0
hold 9 0 72 0
hold 14 0 63 -35
hold 3 140 -2 -72
hold 16 0 -2 -72
hold 13 0 63 -34
hold 13 0 51 -51
hold 3 200 65 -31
hold 11 0 65 -31
hold 9 0 71 -11
hold 15 0 55 -47
hold 3 10 17 -70
hold 16 0 17 -70
hold 15 0 -17 -70
hold 3 200 58 -43
hold 11 0 58 -43
hold 17 0 -72 0
hold 3 100 -68 25
hold 12 0 -68 25
hold 18 0 -46 56
hold 16 0 26 67
hold 13 200 59 41
hold 17 0 71 12
hold 12 0 50 51
hold 3 800 68 22
hold 9 0 68 22
hold 7 0 9 71
hold 9 0 40 60
hold 11 0 67 26
hold 3 100 -72 0
hold 11 0 -72 0
hold 12 0 -66 -29
hold 10 0 -60 40
hold 10 0 -68 -24
hold 5 20 72 0
hold 6 0 72 0
hold 16 0 52 -50
hold 3 200 -13 -71
hold 15 0 -13 -71
hold 9 0 -26 -67
hold 11 0 -32 -65
hold 3 400 -44 -57
hold 9 0 -44 -57
hold 14 0 -72 0
hold 16 0 -34 -64
hold 3 100 -72 3
hold 8 0 -72 3
hold 18 0 -61 -38
hold 16 0 -71 -12
hold 3 140 -37 -62
hold 6 0 -37 -62
hold 11 0 -72 4
hold 18 0 -72 2
hold 3 200 72 0
hold 11 0 72 0
hold 15 0 64 -33
hold 3 10 72 0
hold 13 0 72 0
hold 9 0 60 -40
hold 15 0 72 0
hold 3 200 44 -57
hold 8 0 44 -57
hold 10 0 3 -72
hold 9 0 -72 0
hold 3 100 -59 -42
hold 5 0 -59 -42
hold 15 0 -72 0
hold 7 0 -47 -54
hold 8 200 72 0
hold 18 0 39 -60
hold 12 0 -72 0
hold 3 800 -69 19
hold 15 0 -69 19
hold 10 0 -44 -57
hold 9 0 -36 -62
hold 3 100 13 -71
hold 11 0 13 -71
hold 13 0 6 -72
hold 5 20 -15 -71
hold 11 0 -15 -71
hold 14 0 -69 -21
hold 18 0 -71 11
hold 3 200 -70 17
hold 11 0 -70 17
hold 11 0 -72 0
hold 11 0 -71 13
hold 3 400 -64 33
hold 10 0 -64 33
hold 11 0 -13 71
hold 18 0 -61 38
hold 3 100 -71 11
hold 11 0 -71 11
hold 16 0 -33 64
hold 7 0 -29 66
hold 3 140 72 0
hold 11 0 72 0
hold 13 0 72 0
hold 7 0 49 53
hold 18 0 -24 68
hold 3 200 50 52
hold 6 0 50 52
hold 15 0 72 0
hold 16 0 36 -63
hold 3 10 72 0
hold 14 0 72 0
hold 11 0 72 -8
hold 13 0 55 -47
hold 3 200 61 -39
hold 10 0 61 -39
hold 15 0 26 -67
hold 10 0 12 -71
hold 3 100 40 -60
hold 14 0 40 -60
hold 9 0 58 -43
hold 9 0 8 -72
hold 15 200 65 -32
hold 16 0 72 5
hold 11 0 -72 0
hold 3 800 -48 -54
hold 8 0 -48 -54
hold 12 0 -22 -68
hold 17 0 37 -62
hold 3 100 72 -7
hold 9 0 72 -7
hold 15 0 58 42
hold 5 20 69 21
hold 11 0 69 21
hold 9 0 72 7
hold 18 0 68 24
hold 3 200 64 33
hold 15 0 64 33
hold 8 0 17 70
hold 8 0 23 68
hold 11 0 -2 72
hold 3 400 -65 30
hold 6 0 -65 30
hold 10 0 72 0
hold 11 0 72 0
hold 3 100 40 -60
hold 11 0 40 -60
hold 8 0 2 -72
hold 8 0 -23 -68
hold 3 140 -72 0
hold 15 0 -72 0
hold 13 0 -72 2
hold 16 0 -61 -38
hold 3 200 -72 0
hold 7 0 -72 0
hold 18 0 -71 12
hold 3 10 -72 0
hold 13 0 -72 0
hold 13 0 -59 -42
hold 18 0 -37 -62
hold 3 200 -72 -6
hold 9 0 -72 -6
hold 18 0 -70 -17
hold 3 100 -70 -16
hold 15 0 -70 -16
hold 12 0 -57 -44
hold 10 0 -39 -61
hold 9 200 -70 -17
hold 14 0 -56 45
hold 9 0 -68 -24
hold 3 800 -60 -39
hold 15 0 -60 -39
hold 10 0 -64 -33
hold 10 0 72 0
hold 16 0 72 7
hold 3 100 47 -54
hold 10 0 47 -54
hold 9 0 -27 -67
hold 11 0 6 -72
hold 5 20 66 -29
hold 7 0 66 -29
hold 8 0 52 -50
hold 9 0 -3 -72
hold 18 0 -59 -41
hold 3 200 -71 11
hold 6 0 -71 11
hold 18 0 -65 -30
hold 3 400 -72 0
hold 7 0 -72 0
hold 10 0 -72 -8
hold 10 0 -59 41
hold 12 0 12 71
hold 3 100 -57 44
hold 11 0 -57 44
hold 16 0 -32 65
hold 15 0 -57 44
hold 3 140 -55 47
hold 15 0 -55 47
hold 17 0 23 68
hold 18 0 59 41
hold 3 200 63 35
hold 15 0 63 35
hold 10 0 59 -41
hold 17 0 -72 0
hold 3 10 72 0
hold 15 0 72 0
hold 8 0 30 -65
hold 15 0 -40 -60
hold 3 200 -61 -39
hold 10 0 -61 -39
hold 18 0 -69 22
hold 17 0 72 0
hold 3 100 26 67
hold 10 0 26 67
hold 10 0 36 62
hold 15 0 59 41
hold 14 200 66 -29
hold 13 0 66 -29
hold 3 800 66 30
hold 13 0 66 30
hold 12 0 54 -47
hold 18 0 42 -59
hold 3 100 66 -30
hold 5 0 66 -30
hold 14 0 67 -25
hold 11 0 52 50
hold 5 20 -72 0
hold 6 0 -72 0
hold 10 0 -72 0
hold 15 0 72 0
hold 3 200 50 -51
hold 14 0 50 -51
hold 7 0 37 -62
hold 8 0 -72 0
hold 3 400 72 0
hold 5 0 72 0
hold 9 0 69 -19
hold 12 0 72 2
hold 3 100 70 18
hold 6 0 70 18
hold 11 0 12 71
hold 12 0 14 71
hold 3 140 -39 61
hold 5 0 -39 61
hold 12 0 29 66
hold 8 0 72 0
hold 3 200 40 -60
hold 15 0 40 -60
hold 15 0 -33 -64
hold 3 10 -67 -26
hold 10 0 -67 -26
hold 12 0 -33 -64
hold 18 0 -72 1
hold 3 200 -69 -21
hold 14 0 -69 -21
hold 12 0 -64 32
hold 15 0 -54 48
hold 3 100 -72 4
hold 15 0 -72 4
hold 13 0 -53 -49
hold 10 0 -66 -29
hold 11 0 -69 -20
hold 13 200 -69 19
hold 17 0 -54 -48
hold 15 0 -67 26
hold 3 800 72 0
hold 5 0 72 0
hold 11 0 70 17
hold 8 0 29 66
hold 3 100 35 63
hold 12 0 35 63
hold 12 0 72 0
hold 13 0 56 46
hold 5 20 72 0
hold 7 0 72 0
hold 17 0 55 -46
hold 9 0 72 0
hold 3 200 57 -43
hold 6 0 57 -43
hold 16 0 59 -41
hold 3 400 36 -62
hold 14 0 36 -62
hold 10 0 31 -65
hold 8 0 72 0
hold 9 0 54 -48
hold 3 100 -6 -72
hold 6 0 -6 -72
hold 18 0 13 -71
hold 18 0 63 -34
hold 3 140 72 -8
hold 14 0 72 -8
hold 17 0 70 -17
hold 3 200 71 -10
hold 6 0 71 -10
hold 17 0 29 -66
hold 15 0 61 -38
hold 3 10 72 1
hold 15 0 72 1
hold 8 0 69 19
hold 13 0 72 0
hold 3 200 71 -11
hold 11 0 71 -11
hold 10 0 65 31
hold 10 0 16 70
hold 3 100 22 69
hold 14 0 22 69
hold 14 0 42 58
hold 17 0 -32 65
hold 14 200 -27 67
hold 12 0 72 0
hold 3 800 62 37
hold 5 0 62 37
hold 8 0 72 0
hold 11 0 -72 0
hold 3 100 -60 -40
hold 8 0 -60 -40
hold 14 0 -72 -8
hold 5 20 -60 40
hold 3 0 -60 40
hold 18 0 -32 65
hold 17 0 -11 71
hold 3 200 -67 26
hold 9 0 -67 26
hold 11 0 -55 46
hold 12 0 18 70
hold 3 400 -33 64
hold 10 0 -33 64
hold 15 0 72 0
hold 3 100 29 -66
hold 13 0 29 -66
hold 10 0 72 1
hold 3 140 29 66
hold 10 0 29 66
hold 8 0 30 65
hold 11 0 40 60
hold 3 200 24 68
hold 5 0 24 68
hold 12 0 57 44
hold 15 0 65 32
hold 3 10 72 0
hold 5 0 72 0
hold 16 0 -72 0
hold 15 0 -59 -41
hold 3 200 -72 -5
hold 7 0 -72 -5
hold 15 0 -66 -29
hold 3 100 -68 -24
hold 12 0 -68 -24
hold 17 0 -67 -26
hold 17 0 -66 29
hold 15 200 -21 69
hold 3 0 -21 69
hold 14 0 -58 42
hold 3 800 -72 -7
hold 9 0 -72 -7
hold 15 0 -54 48
hold 15 0 19 70
hold 3 100 -36 62
hold 8 0 -36 62
hold 11 0 41 59
hold 16 0 -72 0
hold 5 20 72 0
hold 4 0 72 0
hold 15 0 42 59
hold 17 0 49 53
hold 3 200 72 4
hold 10 0 72 4
hold 13 0 67 -27
hold 8 0 56 45
hold 13 0 -72 0
hold 3 400 -70 15
hold 9 0 -70 15
hold 11 0 -45 -56
hold 18 0 -42 -59
hold 3 100 -22 -69
hold 6 0 -22 -69
hold 12 0 53 -48
hold 3 140 20 -69
hold 11 0 20 -69
hold 12 0 72 0
hold 15 0 72 0
hold 3 200 27 67
hold 16 0 27 67
hold 7 0 72 0
hold 12 0 53 -49
hold 9 0 -18 -70
hold 3 10 -58 -42
hold 13 0 -58 -42
hold 13 0 72 0
hold 9 0 43 -57
hold 3 200 21 -69
hold 11 0 21 -69
hold 10 0 -56 -45
hold 9 0 19 -70
hold 3 100 26 -67
hold 10 0 26 -67
hold 18 0 67 -26
hold 13 200 69 -21
hold 16 0 63 -35
hold 12 0 57 -44
hold 3 800 14 -71
hold 11 0 14 -71
hold 10 0 -20 -69
hold 10 0 -47 -54
hold 9 0 -70 16
hold 3 100 -72 -4
hold 11 0 -72 -4
hold 7 0 -72 0
hold 16 0 -65 -31
hold 5 20 -62 37
hold 6 0 -62 37
hold 12 0 -14 71
hold 12 0 -6 72
hold 3 200 25 68
hold 15 0 25 68
hold 13 0 -36 63
hold 12 0 -72 -6
hold 3 400 -49 52
hold 7 0 -49 52
hold 12 0 -69 19
hold 14 0 -47 -54
hold 3 100 -65 -32
hold 12 0 -65 -32
hold 17 0 -62 -36
hold 3 140 -61 38
hold 14 0 -61 38
hold 17 0 -72 0
hold 13 0 72 0
hold 3 200 72 8
hold 5 0 72 8
hold 13 0 58 42
hold 12 0 68 22
hold 3 10 72 1
hold 12 0 72 1
hold 9 0 72 0
hold 7 0 69 -22
hold 9 0 59 42
hold 3 200 -72 0
hold 11 0 -72 0
hold 14 0 -61 -39
hold 10 0 -65 -30
hold 3 100 -65 -31
hold 6 0 -65 -31
hold 15 0 -66 29
hold 11 200 -29 66
# --- native bring-up additions (NPB2): the 10800 frames of holds above are one whole 3-minute match at 60 fps; wait for the end
log holds finished
wait gs == 3 || gs == 6
log STATE full time (match state 3, or 6 = sudden death)
# --- end of match: the post-game screen (PausePostGameScene, overlay 91 "striker_times_2") shows a story article with a scroll bar
# (two 64x64 arrow buttons, ctx 0 up / ctx 1 down); its DONE button only appears once the article has been scrolled to the end.
# (Both the recompiled oracle and the native game stalled here with plain A presses on the hovered up arrow.)
# A dismisses the full-time banner and brings up the post-game overlay
mash 100 40 ovl == 91 3000
wait nbuttons >= 2
idle 200
log STATE post-game screen: scrolling the article down
press 4
idle 20
mash 100 8 nbuttons >= 3 2400
log STATE post-game: DONE button visible
idle 60
# DONE (168x94, bottom centre) is left of the scroll-down arrow the pointer rests on: LEFT, then A.
press 1
idle 30
press 100
# DONE ends the results; the default series is not complete after one game, so the game starts the rematch (state 3 -> 0 -> 1 -> 5, score 0-0)
wait gs == 0 || gs == 1 || gs == 5
log STATE results done, rematch started
idle 300
log script end
exit
