1
0
mirror of synced 2024-11-15 01:47:34 +01:00
Convert TJA charts into fumen (.bin) files
Go to file
Viv 2dec26d2bf
Add support for #BRANCHSTART p,999,999 and #SECTION commands via imcanz.tja (#30)
This PR adds a new chart to the test suite (`imcanz.tja`) that uses
`p,0,0`, `p,999,999` _and_ `#SECTION` commands:

- `p,0,0`: Forces the chart into the Master branch (since it's
impossible to fail a 0% accuracy requirement)
- `p,999,999`: Forces the chart into the Normal branch (since it's
impossible to pass a 999% accuracy requirement)
- `#SECTION`: Resets accuracy values for notes and drumrolls on the next
measure. (In practice, this just means that the branch condition is
repeated on the next measure, at least according to the official fumen I
have.)

Note: Only the Oni and Hard difficulties have actually been added to the
test suite. The Normal and Easy charts were too broken to easily match
the official fumens. They will need a lot of work to fix charting
errors, so I'm leaving them commented out for now.

Fixes #27.
2023-07-09 19:56:57 -04:00
.github/workflows test_and_publish_release.yml: Use -e for first test 2023-06-29 20:35:37 -04:00
src/tja2fumen Add support for #BRANCHSTART p,999,999 and #SECTION commands via imcanz.tja (#30) 2023-07-09 19:56:57 -04:00
testing Add support for #BRANCHSTART p,999,999 and #SECTION commands via imcanz.tja (#30) 2023-07-09 19:56:57 -04:00
.gitignore .gitignore: Add __pycache__ 2023-06-29 02:02:23 -04:00
LICENSE.txt Add LICENSE.txt file 2023-06-04 12:37:36 -04:00
MANIFEST.in Make sure LUT .csv files are included in wheel/sdist 2023-06-27 19:35:45 -04:00
pyproject.toml Move dev dependencies from GHA to pyproject.toml 2023-06-29 02:01:38 -04:00
README.md README.md: Update for 0.0.1 release. 2023-06-04 15:27:01 -04:00
setup.py setup.py: Add newline 2023-06-26 19:54:51 -04:00

tja2fumen

tja2fumen is a tool for Taiko no Tatsujin games that allows you to convert TJA files (.tja) to fumen files (.bin).

This project attempts to replace/complement the existing closed-source tja2bin.exe converter packaged alongside TakoTako.

Goals

  • Act as a drop-in replacement for tja2bin.exe in TakoTako.
  • Fix https://github.com/Fluto/TakoTako/issues/16. (The original tjabin.exe doesn't properly handle #BPMCHANGE commands.)
  • Provide open source code to act as a reference for parsing and writing both the TJA and Fumen file formats.
  • Stick to the Python stdlib, i.e. no external dependencies if possible.

Usage

Option 1: Standalone Python installation

If you're familiar with Python, you can install tja2fumen by running:

pip install tja2fumen

Then, you can convert a TJA file by running:

tja2fumen file.tja

Option 2: Using with TakoTako

Note

: Before adding tja2fumen to TakoTako, you may want to back up the original tja2bin.exe file, to make sure you can switch back to the old converter if necessary. The easiest way to do this is by renaming the existing file to tja2bin.exe.bak.

To use this converter with TakoTako, head to the Releases page, and download the tja2fumen.exe file attached to the release. Then, rename tja2fumen.exe to tja2bin.exe, and place the file in the TakoTako plugin folder.

TakoTako's plugin folder is inside of the BepInEx folder, which will typically look something like:

C:\XboxGames\T Tablet\Content\BepInEx\plugins\com.fluto.takotako

Attribution

  • The fumen-parsing code in this project is based off of a modified copy of the readFumen() function from the fumen2osu.py found in @KatieFrogs' fumen-tools project.
  • The TJA-parsing code in this project is a Python translation of the parseTJA.js file from @WHMHammer's tja-tools.

Note

: To be explicily clear, neither @KatieFrogs nor @WHMHammer have endorsed this project, are affiliated with this project, or have made any direct contributions to this project. I have just modified their existing work.