# 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
# 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.
# GXD: let the walk-out cut-scene run (up to 700 frames) instead of skipping it at once; the skip follows if it has not ended by itself.
wait gs == 1 700
log WALKOUT over
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 -----------------------
stopwhen clock >= 62
hold 18 0 71 12
hold 16 0 66 -29
hold 5 200 64 -34
hold 23 0 64 -34
hold 17 0 63 -36
hold 26 0 56 -45
hold 5 100 70 -15
hold 9 0 70 -15
hold 21 0 -72 0
hold 14 0 -30 66
hold 14 0 -72 7
hold 20 200 -37 -62
hold 21 0 7 -72
hold 31 0 -37 -62
hold 5 800 6 -72
hold 16 0 6 -72
hold 14 0 -9 -71
hold 34 0 -64 -34
hold 23 0 -66 29
hold 5 100 -66 29
hold 31 0 -66 29
hold 35 0 -29 66
hold 29 0 -68 23
hold 10 20 -63 -36
hold 22 0 -63 -36
hold 26 0 -69 -22
hold 31 0 -24 -68
hold 5 200 -70 -17
hold 20 0 -70 -17
hold 19 0 -69 -20
hold 29 0 -48 -54
hold 5 400 -17 -70
hold 18 0 -17 -70
hold 32 0 -34 -63
hold 30 0 72 0
hold 5 100 38 61
hold 26 0 38 61
hold 30 0 58 43
hold 25 0 62 37
hold 5 140 50 51
hold 26 0 50 51
hold 30 0 2 72
hold 31 0 48 53
hold 5 200 -11 71
hold 24 0 -11 71
hold 30 0 4 72
hold 5 10 30 66
hold 22 0 30 66
hold 33 0 53 48
hold 21 0 35 63
hold 5 200 -25 67
hold 14 0 -25 67
hold 22 0 50 52
hold 16 0 72 0
hold 22 0 72 0
hold 5 100 63 -35
hold 20 0 63 -35
hold 30 0 60 40
hold 30 200 33 64
hold 4 0 33 64
hold 29 0 -72 0
hold 6 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 15 0 40 -60
hold 19 0 66 -29
hold 5 200 38 -61
hold 18 0 38 -61
hold 32 0 60 -39
hold 5 100 49 -53
hold 29 0 49 -53
hold 25 0 54 -48
hold 22 0 70 17
hold 25 200 71 11
hold 27 0 33 64
hold 31 0 68 23
hold 5 800 -72 0
hold 14 0 -72 0
hold 35 0 -71 -10
hold 28 0 -47 -54
hold 5 100 -1 -72
hold 20 0 -1 -72
hold 28 0 -53 -48
hold 36 0 -19 -70
hold 10 20 -20 -69
hold 11 0 -20 -69
hold 30 0 35 -63
hold 28 0 72 -7
hold 5 200 65 31
hold 27 0 65 31
hold 29 0 49 53
hold 36 0 -4 72
prof end
log profile window end
hold 21 0 -72 0
hold 34 0 -71 -14
hold 5 200 -67 27
hold 24 0 -67 27
hold 29 0 -69 20
hold 26 0 -72 -3
hold 5 100 -51 51
hold 29 0 -51 51
hold 14 0 72 0
hold 23 0 56 45
hold 22 200 59 41
hold 26 0 31 65
hold 26 0 -7 72
hold 5 800 72 0
hold 13 0 72 0
hold 20 0 60 -40
hold 34 0 69 19
hold 5 100 65 31
hold 21 0 65 31
hold 32 0 71 -14
hold 14 0 57 44
hold 10 20 31 65
hold 25 0 31 65
hold 31 0 -37 62
hold 5 200 -57 44
hold 31 0 -57 44
hold 22 0 -72 0
hold 16 0 72 0
hold 5 400 63 -34
hold 9 0 63 -34
hold 17 0 -1 -72
hold 15 0 -22 -69
hold 31 0 41 -59
hold 5 100 72 0
hold 25 0 72 0
hold 17 0 72 0
hold 27 0 63 -35
hold 5 140 -2 -72
hold 31 0 -2 -72
hold 25 0 63 -34
hold 26 0 51 -51
hold 5 200 65 -31
hold 21 0 65 -31
hold 17 0 71 -11
hold 30 0 55 -47
hold 5 10 17 -70
hold 31 0 17 -70
hold 30 0 -17 -70
hold 5 200 58 -43
hold 22 0 58 -43
hold 33 0 -72 0
hold 5 100 -68 25
hold 23 0 -68 25
hold 36 0 -46 56
hold 32 0 26 67
hold 25 200 59 41
hold 33 0 71 12
hold 24 0 50 51
hold 5 800 68 22
hold 17 0 68 22
hold 14 0 9 71
hold 18 0 40 60
hold 22 0 67 26
hold 5 100 -72 0
hold 22 0 -72 0
hold 24 0 -66 -29
hold 19 0 -60 40
hold 20 0 -68 -24
hold 10 20 72 0
hold 11 0 72 0
hold 32 0 52 -50
hold 5 200 -13 -71
hold 29 0 -13 -71
hold 18 0 -26 -67
hold 22 0 -32 -65
hold 5 400 -44 -57
hold 18 0 -44 -57
hold 27 0 -72 0
hold 31 0 -34 -64
hold 5 100 -72 3
hold 16 0 -72 3
hold 35 0 -61 -38
hold 31 0 -71 -12
hold 5 140 -37 -62
hold 11 0 -37 -62
hold 21 0 -72 4
hold 36 0 -72 2
hold 5 200 72 0
hold 22 0 72 0
hold 30 0 64 -33
hold 5 10 72 0
hold 25 0 72 0
hold 18 0 60 -40
hold 29 0 72 0
hold 5 200 44 -57
hold 15 0 44 -57
hold 19 0 3 -72
hold 18 0 -72 0
hold 5 100 -59 -42
hold 10 0 -59 -42
hold 30 0 -72 0
hold 14 0 -47 -54
hold 15 200 72 0
hold 36 0 39 -60
hold 24 0 -72 0
hold 5 800 -69 19
hold 29 0 -69 19
hold 20 0 -44 -57
hold 18 0 -36 -62
hold 5 100 13 -71
hold 21 0 13 -71
hold 25 0 6 -72
hold 10 20 -15 -71
hold 21 0 -15 -71
hold 27 0 -69 -21
hold 36 0 -71 11
hold 5 200 -70 17
hold 22 0 -70 17
hold 22 0 -72 0
hold 21 0 -71 13
hold 5 400 -64 33
hold 19 0 -64 33
hold 22 0 -13 71
hold 35 0 -61 38
hold 5 100 -71 11
hold 21 0 -71 11
hold 31 0 -33 64
hold 14 0 -29 66
hold 5 140 72 0
hold 21 0 72 0
hold 26 0 72 0
hold 14 0 49 53
hold 36 0 -24 68
hold 5 200 50 52
hold 11 0 50 52
hold 30 0 72 0
hold 31 0 36 -63
hold 5 10 72 0
hold 27 0 72 0
hold 21 0 72 -8
hold 26 0 55 -47
hold 5 200 61 -39
hold 20 0 61 -39
hold 30 0 26 -67
hold 19 0 12 -71
hold 5 100 40 -60
hold 27 0 40 -60
hold 18 0 58 -43
hold 18 0 8 -72
hold 29 200 65 -32
hold 32 0 72 5
hold 22 0 -72 0
hold 5 800 -48 -54
hold 16 0 -48 -54
hold 23 0 -22 -68
hold 33 0 37 -62
hold 5 100 72 -7
hold 17 0 72 -7
hold 29 0 58 42
hold 10 20 69 21
hold 22 0 69 21
hold 18 0 72 7
hold 36 0 68 24
hold 5 200 64 33
hold 29 0 64 33
hold 16 0 17 70
hold 15 0 23 68
hold 21 0 -2 72
hold 5 400 -65 30
hold 11 0 -65 30
hold 20 0 72 0
hold 22 0 72 0
hold 5 100 40 -60
hold 22 0 40 -60
hold 16 0 2 -72
hold 15 0 -23 -68
hold 5 140 -72 0
hold 30 0 -72 0
hold 26 0 -72 2
hold 32 0 -61 -38
hold 5 200 -72 0
hold 13 0 -72 0
hold 35 0 -71 12
hold 5 10 -72 0
hold 25 0 -72 0
hold 25 0 -59 -42
hold 35 0 -37 -62
hold 5 200 -72 -6
hold 17 0 -72 -6
hold 35 0 -70 -17
hold 5 100 -70 -16
hold 30 0 -70 -16
hold 23 0 -57 -44
hold 19 0 -39 -61
hold 18 200 -70 -17
hold 28 0 -56 45
hold 18 0 -68 -24
hold 5 800 -60 -39
hold 29 0 -60 -39
hold 19 0 -64 -33
hold 19 0 72 0
hold 31 0 72 7
hold 5 100 47 -54
hold 20 0 47 -54
hold 18 0 -27 -67
hold 21 0 6 -72
hold 10 20 66 -29
hold 14 0 66 -29
hold 16 0 52 -50
hold 17 0 -3 -72
hold 35 0 -59 -41
hold 5 200 -71 11
hold 12 0 -71 11
hold 35 0 -65 -30
hold 5 400 -72 0
hold 13 0 -72 0
hold 20 0 -72 -8
hold 19 0 -59 41
hold 23 0 12 71
hold 5 100 -57 44
hold 22 0 -57 44
hold 32 0 -32 65
hold 30 0 -57 44
hold 5 140 -55 47
hold 30 0 -55 47
hold 34 0 23 68
hold 35 0 59 41
hold 5 200 63 35
hold 29 0 63 35
hold 20 0 59 -41
hold 34 0 -72 0
hold 5 10 72 0
hold 30 0 72 0
hold 15 0 30 -65
hold 30 0 -40 -60
hold 5 200 -61 -39
hold 19 0 -61 -39
hold 36 0 -69 22
hold 33 0 72 0
hold 5 100 26 67
hold 19 0 26 67
hold 20 0 36 62
hold 29 0 59 41
hold 27 200 66 -29
hold 26 0 66 -29
hold 5 800 66 30
hold 26 0 66 30
hold 23 0 54 -47
hold 36 0 42 -59
hold 5 100 66 -30
hold 10 0 66 -30
hold 28 0 67 -25
hold 21 0 52 50
hold 10 20 -72 0
hold 12 0 -72 0
hold 20 0 -72 0
hold 30 0 72 0
hold 5 200 50 -51
hold 28 0 50 -51
hold 14 0 37 -62
hold 15 0 -72 0
hold 5 400 72 0
hold 10 0 72 0
hold 17 0 69 -19
hold 24 0 72 2
hold 5 100 70 18
hold 12 0 70 18
hold 22 0 12 71
hold 23 0 14 71
hold 5 140 -39 61
hold 9 0 -39 61
hold 24 0 29 66
hold 16 0 72 0
hold 5 200 40 -60
hold 30 0 40 -60
hold 29 0 -33 -64
hold 5 10 -67 -26
hold 19 0 -67 -26
hold 24 0 -33 -64
hold 35 0 -72 1
hold 5 200 -69 -21
hold 28 0 -69 -21
hold 23 0 -64 32
hold 30 0 -54 48
hold 5 100 -72 4
hold 30 0 -72 4
hold 26 0 -53 -49
hold 19 0 -66 -29
hold 21 0 -69 -20
hold 25 200 -69 19
hold 33 0 -54 -48
hold 29 0 -67 26
hold 5 800 72 0
hold 9 0 72 0
hold 21 0 70 17
hold 15 0 29 66
hold 5 100 35 63
hold 23 0 35 63
hold 24 0 72 0
hold 26 0 56 46
hold 10 20 72 0
hold 14 0 72 0
hold 34 0 55 -46
hold 18 0 72 0
hold 5 200 57 -43
hold 12 0 57 -43
hold 31 0 59 -41
hold 5 400 36 -62
hold 28 0 36 -62
hold 20 0 31 -65
hold 15 0 72 0
hold 17 0 54 -48
hold 5 100 -6 -72
hold 11 0 -6 -72
hold 35 0 13 -71
hold 35 0 63 -34
hold 5 140 72 -8
hold 28 0 72 -8
hold 33 0 70 -17
hold 5 200 71 -10
hold 12 0 71 -10
hold 34 0 29 -66
hold 29 0 61 -38
hold 5 10 72 1
hold 30 0 72 1
hold 16 0 69 19
hold 25 0 72 0
hold 5 200 71 -11
hold 22 0 71 -11
hold 19 0 65 31
hold 20 0 16 70
hold 5 100 22 69
hold 28 0 22 69
hold 27 0 42 58
hold 33 0 -32 65
hold 27 200 -27 67
hold 23 0 72 0
hold 5 800 62 37
hold 9 0 62 37
hold 15 0 72 0
hold 22 0 -72 0
hold 5 100 -60 -40
hold 15 0 -60 -40
hold 28 0 -72 -8
hold 10 20 -60 40
hold 6 0 -60 40
hold 36 0 -32 65
hold 34 0 -11 71
hold 5 200 -67 26
hold 18 0 -67 26
hold 21 0 -55 46
hold 23 0 18 70
hold 5 400 -33 64
hold 20 0 -33 64
hold 30 0 72 0
hold 5 100 29 -66
hold 26 0 29 -66
hold 20 0 72 1
hold 5 140 29 66
hold 20 0 29 66
hold 15 0 30 65
hold 22 0 40 60
hold 5 200 24 68
hold 10 0 24 68
hold 23 0 57 44
hold 29 0 65 32
hold 5 10 72 0
hold 10 0 72 0
hold 32 0 -72 0
hold 30 0 -59 -41
hold 5 200 -72 -5
hold 13 0 -72 -5
hold 29 0 -66 -29
hold 5 100 -68 -24
hold 23 0 -68 -24
hold 33 0 -67 -26
hold 34 0 -66 29
hold 30 200 -21 69
hold 5 0 -21 69
hold 27 0 -58 42
hold 5 800 -72 -7
hold 17 0 -72 -7
hold 30 0 -54 48
hold 30 0 19 70
hold 5 100 -36 62
hold 16 0 -36 62
hold 22 0 41 59
hold 31 0 -72 0
hold 10 20 72 0
hold 7 0 72 0
hold 29 0 42 59
hold 34 0 49 53
hold 5 200 72 4
hold 20 0 72 4
hold 26 0 67 -27
hold 15 0 56 45
hold 26 0 -72 0
hold 5 400 -70 15
hold 17 0 -70 15
hold 21 0 -45 -56
hold 36 0 -42 -59
hold 5 100 -22 -69
hold 12 0 -22 -69
hold 23 0 53 -48
hold 5 140 20 -69
hold 22 0 20 -69
hold 23 0 72 0
hold 29 0 72 0
hold 5 200 27 67
hold 31 0 27 67
hold 14 0 72 0
hold 23 0 53 -49
hold 18 0 -18 -70
hold 5 10 -58 -42
hold 26 0 -58 -42
hold 26 0 72 0
hold 18 0 43 -57
hold 5 200 21 -69
hold 21 0 21 -69
hold 20 0 -56 -45
hold 18 0 19 -70
hold 5 100 26 -67
hold 20 0 26 -67
hold 36 0 67 -26
hold 25 200 69 -21
hold 32 0 63 -35
hold 23 0 57 -44
hold 5 800 14 -71
hold 21 0 14 -71
hold 19 0 -20 -69
hold 19 0 -47 -54
hold 18 0 -70 16
hold 5 100 -72 -4
hold 22 0 -72 -4
hold 14 0 -72 0
hold 32 0 -65 -31
hold 10 20 -62 37
hold 12 0 -62 37
hold 24 0 -14 71
hold 24 0 -6 72
hold 5 200 25 68
hold 29 0 25 68
hold 25 0 -36 63
hold 23 0 -72 -6
hold 5 400 -49 52
hold 14 0 -49 52
hold 24 0 -69 19
hold 27 0 -47 -54
hold 5 100 -65 -32
hold 24 0 -65 -32
hold 33 0 -62 -36
hold 5 140 -61 38
hold 28 0 -61 38
hold 33 0 -72 0
hold 26 0 72 0
hold 5 200 72 8
hold 10 0 72 8
hold 26 0 58 42
hold 23 0 68 22
hold 5 10 72 1
hold 23 0 72 1
hold 17 0 72 0
hold 14 0 69 -22
hold 18 0 59 42
hold 5 200 -72 0
hold 22 0 -72 0
hold 28 0 -61 -39
hold 20 0 -65 -30
hold 5 100 -65 -31
hold 12 0 -65 -31
hold 29 0 -66 29
hold 22 200 -29 66
