2023-11-17 14:46:53 +01:00
|
|
|
# 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**
|
|
|
|
|
|
|
|
```files
|
|
|
|
.\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.**
|
|
|
|
|
|
|
|
```py
|
|
|
|
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
|
|
|
|
|
2023-11-20 12:31:57 +01:00
|
|
|
here's some usage examples :
|
2023-11-17 14:46:53 +01:00
|
|
|
|
|
|
|
```py
|
|
|
|
# Display the help message
|
2023-11-20 12:31:57 +01:00
|
|
|
py encryption.py --help
|
2023-11-17 14:46:53 +01:00
|
|
|
|
|
|
|
# Decrypting a datatable :
|
2023-11-20 12:31:57 +01:00
|
|
|
py encryption.py --input "data.bin" --output "data.json"
|
2023-11-17 14:46:53 +01:00
|
|
|
|
2023-11-20 15:53:56 +01:00
|
|
|
# Decrypting all datatables :
|
|
|
|
py encryption.py --input "./Data/x64/datatable" --output "./decrypted_datatables"
|
|
|
|
|
2023-11-17 14:46:53 +01:00
|
|
|
# Encrypting a datatable :
|
2023-11-20 12:31:57 +01:00
|
|
|
py encryption.py --enc --input "data.json" --output "data.bin"
|
2023-11-17 14:46:53 +01:00
|
|
|
|
2023-11-20 15:53:56 +01:00
|
|
|
# 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/"
|
2023-11-20 12:31:57 +01:00
|
|
|
```
|
|
|
|
|
|
|
|
## 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 :
|
|
|
|
|
|
|
|
```py
|
|
|
|
# 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
|
2023-11-17 14:46:53 +01:00
|
|
|
```
|
|
|
|
|
|
|
|
## checkDatatables.py
|
|
|
|
|
|
|
|
This script generates a comprehensive list of various informations regarding your database files. 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 for your songlist
|
|
|
|
* Checking for doublons in various files
|
|
|
|
* Checking for id and uniqueId mismatches in various files
|
|
|
|
* Checking for missing sound and fumen files
|
|
|
|
|
|
|
|
To run this one you simply need to call it like so:
|
|
|
|
|
2023-11-20 12:31:57 +01:00
|
|
|
> py checkDatatables.py
|
2023-11-17 14:46:53 +01:00
|
|
|
|
|
|
|
The output will be written in a file named `checks.json`
|