nijiiro-toolset/README.md
Farewell_ 2a104a12c7 Updated checkDatatables, encryption converts to JSON
checkDatatables has a better doublons detection (now also detects uniqueID doublons)

encryption.py now automatically changes the extension to json and back to bin for datatable files
2023-11-21 11:16:20 +01:00

2.6 KiB

Nijiiro Toolset

A collection of various python scripts to help you edit and validate taiko nijiiro game files.

This is meant to be placed straight in the game's folder

.\Data\
.\Executable\ 

extract here <----

Please note that this works both on 08.18 and CHN.

encryption.py

This script allows you to encrypt or decrypt both Datatables and Fumens

You will need to provide your own aes keys for this script to work.

class Keys(Enum):
    Datatable = ""  # Add datatable key here
    Fumen = ""  # Add Fumen key here

you also need to install the pip module cryptography:

pip install cryptography

here's some usage examples :

# Display the help message
py encryption.py --help

# Decrypting a datatable :
py encryption.py --input "data.bin" --output "data.json"

# Decrypting all datatables :
py encryption.py --input "./Data/x64/datatable" --output "./decrypted_datatables" 

# Encrypting a datatable :
py encryption.py --enc --input "data.json" --output "data.bin" 

# Encrypting all datatables :
py encryption.py --enc --input "./Data/x64/datatable" --output "./decrypted_datatables" 

# Encrypting a folder of fumens for use in CHN :
py encryption.py --enc --fumen --input "./08.18/fumen/" --output "./CHN/fumen/" 

sortAlphabetically.py

This script generates an alphabetically sorted music_order.bin file for a given language. Possible languages are : japaneseText, englishUsText, chineseTText, chineseSText and koreanText

Here's some usage examples :

# Display the help message
py sortAlphabetically.py --help

# Sort file by english name
py sortAlphabetically.py --language "englishUsText"

# Restore a backup of the original music_order file
py sortAlphabetically.py --restore

checkDatatables.py

This script generates a comprehensive list of various informations regarding your database files for a given language. It is meant to be used for basic checks such as:

  • Listing the amount of songs in your tables
  • Listing all vacant entries bellow 1599 to facilitate adding songs in
  • Checking their uniqueIds to make sure they don't exceed 1599
  • Listing all missing word entries from your song list
  • Checking for id and uniqueId doublons in various files
  • Checking for id and uniqueId mismatches in various files
  • Checking for missing sound and fumen files

Possible languages are : japaneseText, englishUsText, chineseTText, chineseSText and koreanText.

To run this one you simply need to call it like so:

# Check datatables 
py checkDatatables.py --language "englishUsText"

The output will be written in a file named checks.json