# 39.06 Tools These tools are used to update and maintain the Taiko Nijiiro cab at AtomCity. Some of these have been open sourced as part of the [nijiiro-toolset](https://github.com/AkaiiKitsune/nijiiro-toolset) project. Before doing anything, make sure you're in the `/39.06/` folder ! You'll need to do some setup to use the scripts in this folder. 1) Extract the 08.18 Omnimix files to `./Assets/Taiko Omnimix v8` and copy the files * Download it from [here](https://cloud.farewell.dev/s/ewjnXEgp2jRzKjD) (You'll need to extract in order `Taiko Omnimix v8`, `Omnimix v8 Addition` and `Omnimix_v8_Song_Fix`) 2) Extract a clean copy of the game to `./Game` 3) Clone a copy of TaikoLocalServer * Run `git clone https://github.com/asesidaa/TaikoLocalServer.git` * Go to the TaikoLocalServer folder and run `git checkout dev` The upgrade procedure for CHN=>39.06 is the following: 1) Export the data from the old install and make the new song list * Run [remapToOriginal](./remapToOriginal.py) to restore the original omnimix ids * Run [listPlays](./listPlays.py) to export the playcount of all songs * Run [makeSongList](./makeSongList.py) to generate the new songlist (39.06 + The most played Omnimix songs) 2) Generate the new datatable files * Run [makeDatabases](./makeDatabases.py) to generate the updated 39.06 Omnimix databases 3) Copy the Omnimix sound and fumen files * Run [copyOmniFiles](./copyOmniFiles.py) to copy the song and fumen data from omnimix 4) Translate the costume names and copy the custom QR code puchi * Run [translateCostumes](./translateCostumes.py) to translate the costumes to english * Run [addCustomFiles](./addCustomfiles.py) to copy the custom patches 5) Map the omnimix song ids in the server database to their new value * Run [remapToOmnimix](./remapToOmnimix.py) to remap the new omnimix songs * Run [deleteMissingSongs](./deleteMissingSongs.py) to remove the scores from entries with invalid IDs (removed songs) 6) Check the datatable output using [checkOutput](./checkOutput.py) 7) Copy the files to the game's folder by running [copyFiles](./copyFiles.py) You're done ! To do everything at once, run [runAll](./runAll.py)