Back to Page
Revision 33 (current)
Edited by feos on 6/1/2022 8:10 AM
!! Lua script
%%TAB Link
https://github.com/feos-tas/Lua/blob/master/ButtonStats.lua
%%TAB Code
%%SRC_EMBED lua
-- feos, 2021
-- parses movie file and collects various stats on the specified input button
-- no need to load the movie into emulator, just provide its path and run the script
local filename = "happylee-supermariobros,warped.fm2"
local mnemonic = "A"
local separator = "|"
local currentItemStart = 0
local inputs = 0
local sequences = 0
local inputsCheck = 0
local sequencesCheck = 0
local inputsCheckPassed = false
local sequencesCheckPassed = false
local frames = {}
local durations = {}
local movie = io.open(filename, "r")
for line in movie:lines() do
if string.find(line, separator) == 1 then
table.insert(frames, line)
end
end
movie:close()
print(" " .. filename)
print(" Parsed " .. #frames .. " frames")
print(" ")
for frame = 1, #frames+1 do
if frames[frame] and string.find(frames[frame], mnemonic) then
inputs = inputs+1
if frame == 1 or string.find(frames[frame-1], mnemonic) == nil then
currentItemStart = frame
end
if currentItemStart > 0
and (not frames[frame+1] or not string.find(frames[frame+1], mnemonic)) then
sequences = sequences + 1
local duration = frame+1 - currentItemStart
if duration > 0 then
if not durations[duration] then
durations[duration] = 1
else
durations[duration] = durations[duration] + 1
end
end
currentItemStart = 0
end
end
end
print(" Total " .. mnemonic .. " input count: " .. inputs)
print(" Ratio: " .. #frames / inputs)
print(" ")
print(" Total consequtive " .. mnemonic .. " sequences: " .. sequences)
print(" Ratio: " .. #frames / sequences)
print(" ")
print(" Sequence durations")
for duration, count in pairs(durations) do
inputsCheck = inputsCheck + duration * count
sequencesCheck = sequencesCheck + count
print(" " .. duration .. "-frame: " .. count)
end
print("")
print("Debug checks")
if inputs == inputsCheck then inputsCheckPassed = true end
if sequences == sequencesCheck then sequencesCheckPassed = true end
print("Inputs check passed (" .. inputs .. " == " .. inputsCheck .. "): "
.. tostring(inputsCheckPassed))
print("Sequences check passed (" .. sequences .. " == " .. sequencesCheck .. "): "
.. tostring(sequencesCheckPassed))
%%END_EMBED
%%TAB_END
!! "A" button
! Output
%%TAB Movies
%%TAB 1365M
happyleev3-smbfds.fm2
Parsed 9893 frames
Total A input count: 678
Ratio: 14.591445427729
Total consequtive A sequences: 132
Ratio: 74.94696969697
Sequence durations
1-frame: 69
2-frame: 6
3-frame: 14
4-frame: 8
5-frame: 2
6-frame: 6
8-frame: 1
9-frame: 4
10-frame: 3
12-frame: 1
14-frame: 2
15-frame: 1
16-frame: 1
17-frame: 1
18-frame: 4
19-frame: 1
22-frame: 1
24-frame: 1
28-frame: 2
29-frame: 1
30-frame: 1
31-frame: 1
32-frame: 1
%%TAB 1715M
happylee-supermariobros,warped.fm2
Parsed 17868 frames
Total A input count: 2596
Ratio: 6.8828967642527
Total consequtive A sequences: 286
Ratio: 62.475524475524
Sequence durations
1-frame: 95
2-frame: 12
3-frame: 17
4-frame: 10
5-frame: 10
6-frame: 19
7-frame: 6
8-frame: 8
9-frame: 9
10-frame: 4
11-frame: 4
12-frame: 10
13-frame: 8
14-frame: 3
15-frame: 6
16-frame: 6
17-frame: 5
18-frame: 6
19-frame: 2
20-frame: 2
21-frame: 3
22-frame: 5
23-frame: 1
24-frame: 2
25-frame: 2
26-frame: 2
27-frame: 2
28-frame: 4
29-frame: 1
30-frame: 5
31-frame: 7
32-frame: 10
%%TAB 2676M
mars608,happylee-smb-warpless,walkathon.fm2
Parsed 91304 frames
Total A input count: 13509
Ratio: 6.7587534236435
Total consequtive A sequences: 1503
Ratio: 60.747837658017
Sequence durations
1-frame: 673
2-frame: 88
3-frame: 44
4-frame: 32
5-frame: 45
6-frame: 29
7-frame: 21
8-frame: 32
9-frame: 50
10-frame: 26
11-frame: 22
12-frame: 21
13-frame: 22
14-frame: 19
15-frame: 17
16-frame: 14
17-frame: 23
18-frame: 44
19-frame: 18
20-frame: 28
21-frame: 17
22-frame: 10
23-frame: 9
24-frame: 13
25-frame: 16
26-frame: 11
27-frame: 13
28-frame: 10
29-frame: 8
30-frame: 10
31-frame: 15
32-frame: 20
33-frame: 10
34-frame: 14
35-frame: 23
36-frame: 5
37-frame: 3
38-frame: 1
39-frame: 4
41-frame: 3
43-frame: 3
44-frame: 1
45-frame: 2
47-frame: 1
48-frame: 1
49-frame: 3
50-frame: 1
51-frame: 2
52-frame: 2
56-frame: 3
80-frame: 1
%%TAB 2977M
cuteqt_tehh_083_happylee-supermariobros-maxcoins.fm2
Parsed 94370 frames
Total A input count: 15896
Ratio: 5.9367136386512
Total consequtive A sequences: 2345
Ratio: 40.243070362473
Sequence durations
1-frame: 1165
2-frame: 131
3-frame: 103
4-frame: 68
5-frame: 79
6-frame: 73
7-frame: 70
8-frame: 76
9-frame: 30
10-frame: 40
11-frame: 45
12-frame: 74
13-frame: 33
14-frame: 21
15-frame: 26
16-frame: 14
17-frame: 22
18-frame: 17
19-frame: 17
20-frame: 15
21-frame: 13
22-frame: 15
23-frame: 8
24-frame: 15
25-frame: 15
26-frame: 14
27-frame: 10
28-frame: 7
29-frame: 4
30-frame: 12
31-frame: 14
32-frame: 42
33-frame: 1
34-frame: 6
35-frame: 9
38-frame: 2
39-frame: 4
40-frame: 1
41-frame: 1
42-frame: 1
43-frame: 1
44-frame: 3
47-frame: 2
48-frame: 1
50-frame: 3
51-frame: 2
52-frame: 3
53-frame: 1
54-frame: 2
55-frame: 2
56-frame: 1
57-frame: 1
58-frame: 1
60-frame: 3
62-frame: 2
63-frame: 1
67-frame: 1
74-frame: 1
76-frame: 1
%%TAB 3728M
happylee_mars608-smb-warpless.fm2
Parsed 67117 frames
Total A input count: 10460
Ratio: 6.4165391969407
Total consequtive A sequences: 1372
Ratio: 48.919096209913
Sequence durations
1-frame: 596
2-frame: 65
3-frame: 61
4-frame: 112
5-frame: 22
6-frame: 31
7-frame: 32
8-frame: 29
9-frame: 31
10-frame: 25
11-frame: 16
12-frame: 28
13-frame: 28
14-frame: 21
15-frame: 23
16-frame: 16
17-frame: 9
18-frame: 26
19-frame: 11
20-frame: 14
21-frame: 16
22-frame: 12
23-frame: 10
24-frame: 9
25-frame: 8
26-frame: 9
27-frame: 11
28-frame: 11
29-frame: 5
30-frame: 11
31-frame: 13
32-frame: 59
44-frame: 1
46-frame: 1
%%TAB 4313M
dasmilekat_happylee_mars608-supermariobros-allitems.fm2
Parsed 71438 frames
Total A input count: 10745
Ratio: 6.6484876686831
Total consequtive A sequences: 1661
Ratio: 43.009030704395
Sequence durations
1-frame: 827
2-frame: 49
3-frame: 64
4-frame: 79
5-frame: 48
6-frame: 37
7-frame: 38
8-frame: 48
9-frame: 27
10-frame: 38
11-frame: 42
12-frame: 37
13-frame: 32
14-frame: 28
15-frame: 24
16-frame: 30
17-frame: 21
18-frame: 19
19-frame: 27
20-frame: 28
21-frame: 19
22-frame: 13
23-frame: 10
24-frame: 8
25-frame: 12
26-frame: 7
27-frame: 5
28-frame: 4
29-frame: 7
30-frame: 5
31-frame: 3
32-frame: 4
33-frame: 3
34-frame: 2
35-frame: 1
36-frame: 2
38-frame: 1
39-frame: 1
40-frame: 1
41-frame: 1
42-frame: 3
43-frame: 1
44-frame: 2
45-frame: 1
49-frame: 1
58-frame: 1
%%TAB 4444M
happylee,kriller37,dasmilekat,kosmic,periwinkle-supermariobros-minimum_a_presses.fm2
Parsed 37525 frames
Total A input count: 2869
Ratio: 13.079470198675
Total consequtive A sequences: 62
Ratio: 605.24193548387
Sequence durations
1-frame: 5
2-frame: 3
3-frame: 1
4-frame: 2
5-frame: 1
7-frame: 1
9-frame: 1
11-frame: 1
12-frame: 1
14-frame: 2
15-frame: 2
16-frame: 1
17-frame: 1
18-frame: 1
19-frame: 1
20-frame: 1
21-frame: 1
22-frame: 1
24-frame: 1
25-frame: 1
26-frame: 1
27-frame: 2
28-frame: 3
29-frame: 2
31-frame: 2
32-frame: 17
58-frame: 1
39-frame: 1
35-frame: 3
1533-frame: 1
%%TAB_END
%%TAB Submissions
%%TAB 3556S
brandonevans-supermariobros-minimumpresses.fm2
Parsed 20917 frames
Total A input count: 3684
Ratio: 5.6777958740499
Total consequtive A sequences: 125
Ratio: 167.336
Sequence durations
1-frame: 14
2-frame: 1
3-frame: 2
4-frame: 1
5-frame: 2
6-frame: 4
7-frame: 2
8-frame: 1
10-frame: 2
11-frame: 1
12-frame: 4
13-frame: 5
15-frame: 1
16-frame: 3
17-frame: 3
18-frame: 1
19-frame: 1
20-frame: 3
21-frame: 3
22-frame: 3
23-frame: 5
24-frame: 3
26-frame: 2
27-frame: 1
28-frame: 5
29-frame: 4
30-frame: 2
31-frame: 1
32-frame: 4
33-frame: 1
34-frame: 2
35-frame: 2
36-frame: 1
39-frame: 2
40-frame: 1
41-frame: 3
43-frame: 1
44-frame: 2
45-frame: 5
46-frame: 1
47-frame: 2
48-frame: 1
49-frame: 2
51-frame: 2
52-frame: 1
53-frame: 1
55-frame: 2
56-frame: 1
57-frame: 3
62-frame: 1
73-frame: 1
222-frame: 1
157-frame: 1
229-frame: 1
%%TAB 7132S
smb1 min jumps height.fm2
Parsed 21576 frames
Total A input count: 395
Ratio: 54.622784810127
Total consequtive A sequences: 377
Ratio: 57.230769230769
Sequence durations
1-frame: 374
9-frame: 1
6-frame: 2
%%TAB_END
! Table
|| Movie || Frames || Inputs || Ratio || Sequences || Ratio ||
| [1365M] | 9893 | 678 | 14.591445427729 | 132 | 74.94696969697 |
| [1715M] | 17868 | 2596 | 6.8828967642527 | 286 | 62.475524475524 |
| [2676M] | 91304 | 13509 | 6.7587534236435 | 1503 | 60.747837658017 |
| [2977M] | 94370 | 15896 | 5.9367136386512 | 2345 | 40.243070362473 |
| [3728M] | 67117 | 10460 | 6.4165391969407 | 1372 | 48.919096209913 |
| [4313M] | 71438 | 10745 | 6.6484876686831 | 1661 | 43.009030704395 |
| [4444M] | 37525 | 2869 | 13.079470198675 | 62 | 605.24193548387 |
|| Submission || || || || || ||
| [3556S] | 20917 | 3684 | 5.6777958740499 | 125 | 167.336 |
| [7132S] | 21576 | 395 | 54.622784810127 | 377 | 57.230769230769 |