koro version 2.0 is finally here! The codebase has been entirely re‐written with the ability to parse and manipulate level data. This also comes with significant size reductions in file outputs from stripping unnecessary data.
![A column chart showing compression ratios with the koro module. The vertical axis is labeled as Total Size (MB), and has a logarithmic scale, although the columns themselves are labled in bytes. In the set Basegame Levels, LVL (1.1) has a value of 13,866,205, XML (2.0) has a value of 7,792,047, BIN (1.1) has a value of 1,509,108, and BIN (2.0) has a value of 973,013. In the set Custom Level Database, LVL (1.1) has a value of 2,262,862, XML (2.0) has a value of 1,183,984, BIN (1.1) has a value of 295,522, and BIN (2.0) has a value of 172,406.](https://github.com/user-attachments/assets/cd921ec7-d986-4923-8b22-489fda54721b)
\*`A14S001.bin` through `A14S010.bin` and `A20S161.bin` were excluded as they have malformed tags which cannot be parsed. These levels go unused in the final game, and were likely created early in development using a different format.
\*\*Results may vary slightly due to the inconsistent iteration order of sets in Python. Subsequent tests from me have shown variation to be <1%, although it may occasionally be larger.