vivaria / tja2fumen

Mod tool to convert TJA chart files (.tja) into .bin files compatible with official games
https://pypi.org/project/tja2fumen/
MIT License
14 stars 1 forks source link

Add support for different balloon values for different branches (Emma Ura) #79

Closed vivaria closed 2 weeks ago

vivaria commented 1 month ago

Report from Discord (Thank you for reporting this!)

It is not possible to set the number of strokes required to break a balloon by individual branches

Normal   50   30
Kuroto   50   30
Tatsujin 50 4 30

In this case, “BALLOON:50,30,50,30,50,4,30” is written in tja, but

However, with tja2fumen, this ballon setting is written in all branches starting with the first value, so the result is as follows

Normal   50    30
Kuroto   50    30
Tatsujin 50 30 50

I will check this with emma ura and put bin and tja for hex check.

image

vivaria commented 3 weeks ago

image

This is more complicated than I thought. There is a counter-example that does the opposite of the above:

For Roppon no Bara to Sai no Uta, there is a TJA with the balloons as follows: "BALLOON:13,4,52,4,52,4,52". However, it is meant to be interpreted as follows:

Normal   13 4 52
Kuroto   13 4 52
Tatsujin 13 4 52

In other words, the 13 is implied to be shared between all of the charts (i.e. before the branch condition):

image

But the 4/52 are written out explicitly because it is after the branch condition:

image

This makes it a lot harder to parse the branches, because I have to keep track of whether a balloon occurs before or after the branch condition.... whether to repeat it for all 3 branches or not 🤔

I will have to think about how to write the balloon logic to accommodate for all cases.

vivaria commented 2 weeks ago

Fixed by #80.