Skip to content

Commit

Permalink
Add multiple documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
Renzo904 committed Dec 21, 2024
1 parent 06c0e79 commit b575c04
Show file tree
Hide file tree
Showing 3 changed files with 78 additions and 16 deletions.
34 changes: 18 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,22 @@
# TekaTeka
Custom Song Loader for Taiko no Tatsujin: Rhythm Festival (WIP)


Custom Song Loader and unofficial successor of (TakoTako)[https://github.com/Fluto/TakoTako] for Taiko no Tatsujin: Rhythm Festival

# Requirements
Visual Studio 2022 or newer\

[BepInEx be 697](https://builds.bepinex.dev/projects/bepinex_be) or [BepInEx 6.0.0-pre.2](https://github.com/BepInEx/BepInEx/releases/tag/v6.0.0-pre.2)\
Taiko no Tatsujin: Rhythm Festival



# How to use
This project it's in very early stages, so don't expect anything functional
TODO

# Build
Install [BepInEx be 697](https://builds.bepinex.dev/projects/bepinex_be) or [BepInEx 6.0.0-pre.2](https://github.com/BepInEx/BepInEx/releases/tag/v6.0.0-pre.2) into your Rhythm Festival directory and launch the game.\
This will generate all the dummy dlls in the interop folder that will be used as references.\
Make sure you install the Unity.IL2CPP-win-x64 version.\
Newer versions of BepInEx could have breaking API changes until the first stable v6 release, so those are not recommended at this time.

Attempt to build the project, or copy the .csproj.user file from the Resources file to the same directory as the .csproj file.\
Edit the .csproj.user file and place your Rhythm Festival file location in the "GameDir" variable.

[Install BepInEx](https://docs.bepinex.dev/articles/user_guide/installation/index.html)\
Download the latest version of [`RF.TekaTeka.dll`]() from the [releases page](https://github.com/Renzo904/TekaTeka/releases) and paste it on `(GameFolder)\BepInEx\plugins`\
Place all your mods on the folder named `TekaSongs` created the the first time you execute the mod

# Contributing

[CONTRIBUTING.md](docs/CONTRIBUTING.md)

# Mod Creation

[MODS.md](docs/MODS.md)
19 changes: 19 additions & 0 deletions docs/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Requirements

- Visual Studio 2022
- BepInEx Installed
- Taiko no Tatsujin: Rhythm Festival

# Build

Install [BepInEx be 697](https://builds.bepinex.dev/projects/bepinex_be) or [BepInEx 6.0.0-pre.2](https://github.com/BepInEx/BepInEx/releases/tag/v6.0.0-pre.2) into your Rhythm Festival directory and launch the game.\
This will generate all the dummy dlls in the interop folder that will be used as references.\
Make sure you install the Unity.IL2CPP-win-x64 version.\
Newer versions of BepInEx could have breaking API changes until the first stable v6 release, so those are not recommended at this time.

Attempt to build the project, or copy the .csproj.user file from the Resources file to the same directory as the .csproj file.\
Edit the .csproj.user file and place your Rhythm Festival file location in the "GameDir" variable.

# Format

We use [Microsoft Style Guide](https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/code-style-rule-options) with slightly modifications, for convenience, thee is a [pre-commit](https://pre-commit.com/) config which uses clang-format before each commit
41 changes: 41 additions & 0 deletions docs/MODS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Creating Mods

Please, keep in mind that every specification here is not definitive and is subject to change.\
Each mod or Song Pack it's saved on the folder `TekaSongs`, each one in a separate folder.

## Folder structure

All the files and folders inside the mod will have the same structure as the `StreamingAssets` folder of the original games, that is:

```
TekaSongs/
└── my-awesome-mod/
├── fumen/
│ └── chart files
├── fumencsv/
│ └── practice files
├── ReadAssets/
│ └── song database
└── sound/
└── sound files
```

## Music files

Every file can be either Encrypted or Decrypted, and that TekaTeka will assume the later by using the file extension

| Folder/File type | Description | Example | Encrypted Extension | Decrypted Extension |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------- | ------------------- | ------------------- |
| `fumen/{Chart file}` | File containing the chart of the song, one for each difficulty | `fumen/clscam_e.bin` `fumen/clscam_h.bin` `fumen/clscam_m.bin` | `*.bin` | `*.fumen` |
| `fumencsv/{Practice Division}` | CSV File containing the divisions used for practice mode | `fumencsv/clscam.bin` | `*.bin` | `*.csv` |
| `sound/SONG_{Full song file}` | This file contains the song file on the Criware proprietary format [ACB](https://game.criware.jp/manual/native/adx2_en/latest/criatom_basics_acb.html) | `sound/SONG_clscam.bin` | `*.bin` | `*.acb` |
| `sound/PSONG_{Preview song file}` | File on the same proprietary format, but used for preview on the select song scree | `sound/PSONG_clscam.bin` | `*.bin` | `*.acb` |
| `ReadAssets/musicinfo.bin` | Json file containing all the information about the songs like titles, file names, difficulties, etc. | `ReadAssets/musicinfo.bin` | `musicinfo.bin` | `musicinfo.json` |

TekaTeka will have this priority when searching songs

```
1- Original file from the StreamingAssets folder
2- Decrypted Modded file
3- Encrypted Modded file
```

0 comments on commit b575c04

Please sign in to comment.