.BIN Files
INCOMPLETE! This documentation is still being written and I'm sorta going off of memory RN.
.bin files hold all the chart data for one difficulty level of a song.
It may seem complicated at first, but if you are a nerd like me, you'll find it easy eventually! 🤓
The document is made up of 8 byte long segments I'll call elements.
The entire .bin is made up of nothing but elements. Let's look into what these strings of jargon actually mean.
How each element is formatted.
Going into detail about these 5 portions of the element...
Timing
Byte1: Range of 1.024 / 256 seconds
Byte2: Range of 1.024 seconds
Byte3: Range of 1.024 * 256 seconds
Byte4: Range of 1.024 * 256 * 256 seconds (presumably. havent looked into this yet.)
Add all 4 values together and you get the element's position in the chart in seconds.
Type
This byte, Byte6, indicates what kind of element it is. Here's a list of most of them!
- 01 - Note (Hit the button!)
- 02 - Hitsound (Changes the current sound for one of the 9 rows)
- 03 - Set Time Signature
- 04 - Set Tempo
- 05 - BGM Start (Starts the base music track)
- 06 - Chart End
- 07 - AutoNote (Plays a sample without needing a button press)
- 0A - Measure Indicator (Nothing in-game I'm pretty sure.)
- 0B - Beat Indicator (Same as above)
Data1 and Data2
These two bytes are used as the element's variables, and their purpose varies depending on the type of element.
uhg... how do i explain everything in an organized way...
Thing
You might've noticed I ignored byte 5. I honestly have no idea what it is other than it is related to type.
It is 00 for Measure and Beat Indicator elements, and is 45 for everything else.
NOTES
There's a element few elements typed 08 near the start of every chart. I also have no ideo of what this is.