1
0
mirror of synced 2024-12-18 13:45:54 +01:00
tja2fumen/testing/data/shoto9.tja
Viv 9ce1d76ca3
Fix branching behavior for #BRANCHSTART r songs (#46)
This PR updates the behavior for songs with drumroll branching
conditions (`#BRANCHSTART r`)

The changes include:

- Correctly setting the `branchInfo` bytes for branching conditions that
occur _after_ the first condition.
- Correctly setting the `branch_points` bytes in the header when there
are only drumroll conditions.
- Correctly setting the `branch_ratio` bytes in the header when total
notes differ between branches.
- Correctly handling #SECTION commands for a number of different corner
cases:
    1. #SECTION occurs on its own without a #BRANCHSTART
    2. #BRANCHSTART occurs with a #SECTION command
3. #BRANCHSTART occurs without a #SECTION command (and is first branch
condition)
4. #BRANCHSTART occurs without a #SECTION command (and is NOT first
branch condition)


Note: I've added `shoto9` to the test suite, but the TJA file is
structured in a way that the number of measures doesn't match the number
of fumen measures. The TJA needs to be reworked, but that's okay,
because its purpose was just to check that the branching bytes were
correct.

Fixes #40.
2023-07-19 16:47:08 -04:00

670 lines
7.6 KiB
Plaintext

BPM:100
OFFSET:-2.513
COURSE:Oni
LEVEL:9
BALLOON:10,5,5,5,10
SCOREINIT:400
SCOREDIFF:95
#START
100202100200100202102200,
100202100200000202102200,
100202100200100202122202,
#BPMCHANGE 160
#SCROLL 0.62
7008,
#SCROLL 1
2000200020112210,
3001201002112210,
1001201002112211,
1001201002112210,
1021001002012222,
1001201002112210,
1001201002112211,
1001001001002210,
3000000022010020,
12022022,
500000000008000000200200100000000100000000100000,
2021002020102020,
#BRANCHSTART r,5,6
#N
100000000100000000200000500000000008000000100200,
1000202210201120,
#E
100000000100000000200000500000000008000000100200,
1000202210201120,
#M
100000000100000000200000500000000008000000100200,
1000202210201120,
#BRANCHSTART r,7,8
#BRANCHEND
500000000008000000200200100000200200200200200200,
1010202210201020,
#BRANCHSTART r,4,5
#N
1001001070080000,
100
#SCROLL 1
00
#SCROLL 1
0
#SCROLL 1
1
#SCROLL 1
00
#SCROLL 1
0
#SCROLL 1
10200
#SCROLL 1
0,
#SCROLL 1
10
#SCROLL 1
0
#SCROLL 1
10
#SCROLL 1
0
#SCROLL 1
1
#SCROLL 1
0
#SCROLL 1
00
#SCROLL 1
1020
#SCROLL 1
0
#SCROLL 1
0,
#SCROLL 1
1
#SCROLL 1
0
#SCROLL 1
0
#SCROLL 1
000
#SCROLL 1
1
#SCROLL 1
00
#SCROLL 1
0
#SCROLL 1
10200
#SCROLL 1
0,
#SCROLL 1
1001002000304000,
#E
1001001070080000,
100
#SCROLL 1.25
20
#SCROLL 1.5
2
#SCROLL 1
1
#SCROLL 1.25
20
#SCROLL 1.5
2
#SCROLL 1
10200
#SCROLL 1.25
1,
#SCROLL 1
10
#SCROLL 1.5
2
#SCROLL 1
10
#SCROLL 1.25
2
#SCROLL 1
1
#SCROLL 1.5
2
#SCROLL 1.25
20
#SCROLL 1
1020
#SCROLL 1.25
2
#SCROLL 1.5
1,
#SCROLL 1
1
#SCROLL 1.25
2
#SCROLL 1.5
2
#SCROLL 1.25
202
#SCROLL 1
1
#SCROLL 1.25
20
#SCROLL 1.5
2
#SCROLL 1
10200
#SCROLL 1.25
1,
#SCROLL 1
1001002000304000,
#M
1001001070080000,
122
#SCROLL 1
22
#SCROLL 1
0
#SCROLL 1.5
1
#SCROLL 1.5
20
#SCROLL 1.5
2
#SCROLL 1.5
10212
#SCROLL 1.5
0,
#SCROLL 1.5
12
#SCROLL 1.5
2
#SCROLL 1.5
12
#SCROLL 1.5
2
#SCROLL 1.5
1
#SCROLL 1.5
2
#SCROLL 1.5
02
#SCROLL 1.5
1022
#SCROLL 1.5
2
#SCROLL 1.5
2,
#SCROLL 1.5
1
#SCROLL 1.5
2
#SCROLL 1.5
2
#SCROLL 1.5
220
#SCROLL 1.5
1
#SCROLL 1.5
20
#SCROLL 1.5
2
#SCROLL 1.5
11212
#SCROLL 1.5
2,
#SCROLL 1.5
1221001000304000,
#BRANCHSTART p,101,102
#BRANCHEND
1020102210201022,
1022122010201022,
1000201110002011,
1010200010210010,
1022102010221020,
1100001100000000,
#GOGOSTART
3021002010201120,
1021002010201122,
1020102210201020,
0020201022112211,
1021002010201120,
1021002010201122,
1022102010221120,
11110340,
1020112010201120,
1021012010201120,
1020112010201120,
0020201022112121,
1021012010221020,
3003003000000020,
1020112030030030,
0000002022020020,
#GOGOEND
1001201000201121,
1001201000201122,
1001201002211212,
1001001000000000,
#BPMCHANGE 200
#SCROLL 0.8
3004,
#SCROLL 1
1020112010120211,
1020112011210122,
1020112010120210,
1120112010221120,
1020112010120211,
1020112011211202,
1020112010112010,
1012221121112222,
1020112010120211,
1020112011211004,
0004000400000000,
1022102210222222,
1020112010112010,
1020101122222010,
2211102211112210,
#BPMCHANGE 160
#SCROLL 1.25
3,
#SCROLL 1
#GOGOSTART
3000000000100220,
30000122,
3020102210201020,
0020102211221212,
1021002010201120,
1021002010201120,
1022102010221212,
11110340,
1020112010201120,
1021012010201120,
1020112010201120,
0020201022112121,
1021012010221020,
3003003000000020,
1020112030030030,
0000002022020020,
#GOGOEND
3001201002112210,
1001201002112212,
1001201002112210,
1021001002012222,
1001201002112210,
1001201002112212,
1001001001002210,
3700,
8300,
#END
COURSE:Hard
LEVEL:7
BALLOON:10,5,8
SCOREINIT:
SCOREDIFF:
#START
100200000200100200102200,
100200000200100200102200,
100200000200100202200200,
#MEASURE 5/8
70008,
#BPMCHANGE 160
#MEASURE 4/4
2000200020202220,
3001002002001110,
1001002002002220,
1001002002002220,
1001001001004000,
1001002002001110,
1001002002002220,
1001001001002220,
3,
30002022,
500000000008000000100100100000000000000000000000,
30022220,
500000000000000008000000300000000000000000000000,
0000300010201110,
1020102010202220,
1,
300000000300000000300000600000000000000008000000,
10010120,
1001001000102000,
10010120,
1001001000304000,
1000102010201110,
1000102010202220,
1000201110002011,
1010200040040040,
600000000000000000000000000000000008000000000000,
1100001100000000,
#GOGOSTART
3000102010201110,
1000102010201110,
1000102010222010,
0020201022202220,
1000102010201110,
1000102010201110,
1022202010222020,
11110440,
1020111010201110,
1020111010201110,
1020111010222010,
0020201022202220,
1020111010202220,
3003003000000000,
1020111030030030,
,
#GOGOEND
1001002002001110,
1001002002002220,
1001002002002220,
1001007000000800,
#BPMCHANGE 200
#SCROLL 0.8
3,
#SCROLL 1
10101110,
1000100010101110,
10101110,
1010111011101000,
10101110,
1000100010101110,
10101110,
1010111011101000,
10101110,
1000100011101000,
,
1000100010101110,
10101110,
1000100011101000,
1010101010101110,
#BPMCHANGE 160
#SCROLL 1.25
3,
#SCROLL 1
#GOGOSTART
3000000000200200,
3002,
3000102010222010,
0020201022202220,
1000102010201110,
1000102010201110,
1022202010222020,
11110440,
1020111010201110,
1020111010201110,
1020111010222010,
0020201022202220,
1020111010201110,
3003003000000000,
1020111030030030,
,
#GOGOEND
3001002002001110,
1001002002002220,
1001002002002220,
1001001001004000,
1001002002001110,
1001002002002220,
1001002002002020,
3700,
8300,
,
#END
COURSE:Normal
LEVEL:6
BALLOON:4
SCOREINIT:
SCOREDIFF:
#START
0111,
500000000008000000100000000000000000000000000000,
0111,
#MEASURE 5/8
500000000000000000000008000000,
#BPMCHANGE 160
#MEASURE 4/4
,
10200120,
10200120,
10200120,
3003003003003000,
10200120,
10200120,
1111,
3,
3022,
500000000008000000000000300000000000000000000000,
1022,
500000000008000000000000300000000000000000000000,
1012,
100000100000200000000000500000000008000000000000,
1,
3003003030000000,
10010020,
10010220,
10010020,
10010340,
10121010,
10121010,
3434,
3000400040040040,
600000000000000000000000000000000008000000000000,
30030000,
#GOGOSTART
10121210,
10121210,
10121212,
0440,
10121210,
10121210,
500000000000000008000000500000000000000008000000,
33330440,
12121210,
12121210,
12121222,
0440,
10121210,
3003003000000000,
1020100030030030,
,
#GOGOEND
10210120,
10210120,
10210120,
1001007000000800,
#BPMCHANGE 200
#SCROLL 0.8
3,
#SCROLL 1
10001110,
11101010,
10001110,
11111110,
10001110,
11101010,
10001110,
3333,
10001110,
11101010,
,
3333,
10001110,
10001110,
1111,
#BPMCHANGE 160
#SCROLL 1.25
3,
#SCROLL 1
#GOGOSTART
30000400,
3004,
10121212,
0440,
10121210,
10121210,
500000000000000008000000500000000000000008000000,
33330440,
12121210,
12121210,
12121222,
0440,
10121210,
3003003000000000,
1020100030030030,
,
#GOGOEND
10210120,
10210120,
10210120,
3003003003003000,
10210120,
10210120,
1111,
3,
0300,
,
#END
COURSE:Easy
LEVEL:4
BALLOON:5,8,4,5
SCOREINIT:
SCOREDIFF:
#START
11,
500000000000000000000008000000000000000000000000,
11,
#MEASURE 5/8
500000000000000000000008000000,
#BPMCHANGE 160
#MEASURE 4/4
,
1011,
1011,
1011,
500000000000000000000000000008000000000000000000,
1011,
1011,
1011,
3,
1,
500000000000000000000000000008000000000000000000,
1,
500000000000000000000000000008000000000000000000,
11,
1110,
3,
70000800,
1,
12,
1,
14,
1011,
1022,
2303,
0300,
9009,
8,
#GOGOSTART
1011,
1022,
20001005,
000000000000000000000000000008000000000000000000,
1011,
1022,
2022,
70000800,
1011,
1022,
20001005,
000000000000000000000000000008000000000000000000,
1011,
10030000,
10101003,
,
#GOGOEND
1,
12,
1,
10010000,
#BPMCHANGE 200
#SCROLL 0.8
3,
#SCROLL 1
1,
1110,
1,
2220,
1,
1110,
1,
2222,
1,
1110,
,
2222,
1,
1110,
70000800,
#BPMCHANGE 160
#SCROLL 1.25
3,
#SCROLL 1
#GOGOSTART
10000100,
1,
10001005,
000000000000000000000000000008000000000000000000,
1011,
1022,
2011,
10030000,
1011,
1022,
20001005,
000000000000000000000000000008000000000000000000,
1011,
10030000,
10102003,
,
#GOGOEND
1011,
1011,
1022,
500000000000000000000000000008000000000000000000,
1011,
1011,
1022,
3,
0300,
,
#END