idac: enabled Touhou attract video and added documentation

This commit is contained in:
Dniel97 2023-12-06 16:06:57 +01:00
parent 6ef8fc4d57
commit dace9ae980
Signed by untrusted user: Dniel97
GPG Key ID: 6180B3C768FB2E08
2 changed files with 72 additions and 23 deletions

View File

@ -61,22 +61,24 @@ Games listed below have been tested and confirmed working.
In order to use the importer locate your game installation folder and execute: In order to use the importer locate your game installation folder and execute:
```shell ```shell
python read.py --game SDBT --version <version ID> --binfolder /path/to/game/folder --optfolder /path/to/game/option/folder python read.py --game SDBT --version <Version ID> --binfolder </path/to/game/data> --optfolder </path/to/game/option/folder>
``` ```
**Note: Use the /data not the /bin folder for the Importer!**
The importer for Chunithm will import: Events, Music, Charge Items and Avatar Accesories. The importer for Chunithm will import: Events, Music, Charge Items and Avatar Accesories.
### Config ### Config
Config file is located in `config/chuni.yaml`. Config file is located in `config/chuni.yaml`.
| Option | Info | | Option | Info |
|------------------|----------------------------------------------------------------------------------------------------------------| | ----------------- | ------------------------------------------------------------------------------------------------------- |
| `news_msg` | If this is set, the news at the top of the main screen will be displayed (up to Chunithm Paradise Lost) | | `news_msg` | If this is set, the news at the top of the main screen will be displayed (up to Chunithm Paradise Lost) |
| `name` | If this is set, all players that are not on a team will use this one by default. | | `name` | If this is set, all players that are not on a team will use this one by default. |
| `rank_scale` | Scales the in-game ranking based on the number of teams within the database | | `rank_scale` | Scales the in-game ranking based on the number of teams within the database |
| `use_login_bonus`| This is used to enable the login bonuses | | `use_login_bonus` | This is used to enable the login bonuses |
| `crypto` | This option is used to enable the TLS Encryption | | `crypto` | This option is used to enable the TLS Encryption |
**If you would like to use network encryption, the following will be required underneath but key, iv and hash are required:** **If you would like to use network encryption, the following will be required underneath but key, iv and hash are required:**
@ -162,7 +164,7 @@ The songId is based on the actual ID within your version of Chunithm.
In order to use the importer you need to use the provided `Export.csv` file: In order to use the importer you need to use the provided `Export.csv` file:
```shell ```shell
python read.py --game SDCA --version <version ID> --binfolder titles/cxb/data python read.py --game SDCA --version <Version ID> --binfolder titles/cxb/data
``` ```
The importer for crossbeats REV. will import Music. The importer for crossbeats REV. will import Music.
@ -213,11 +215,11 @@ Config file is located in `config/cxb.yaml`.
In order to use the importer locate your game installation folder and execute: In order to use the importer locate your game installation folder and execute:
DX: DX:
```shell ```shell
python read.py --game <Game Code> --version <Version ID> --binfolder /path/to/StreamingAssets --optfolder /path/to/game/option/folder python read.py --game <Game Code> --version <Version ID> --binfolder </path/to/Sinmai_Data> --optfolder </path/to/game/option/folder>
``` ```
Pre-DX: Pre-DX:
```shell ```shell
python read.py --game <Game Code> --version <Version ID> --binfolder /path/to/data --optfolder /path/to/patch/data python read.py --game <Game Code> --version <Version ID> --binfolder </path/to/data> --optfolder </path/to/patch/data>
``` ```
The importer for maimai DX will import Events, Music and Tickets. The importer for maimai DX will import Events, Music and Tickets.
@ -250,7 +252,7 @@ Pre-Dx uses the same database as DX, so only upgrade using the SDEZ game code!
In order to use the importer locate your game installation folder and execute: In order to use the importer locate your game installation folder and execute:
```shell ```shell
python read.py --game SBZV --version <version ID> --binfolder /path/to/game/data/diva --optfolder /path/to/game/data/diva/mdata python read.py --game SBZV --version <Version ID> --binfolder </path/to/game/data/diva> --optfolder </path/to/game/data/diva/mdata>
``` ```
The importer for Project Diva Arcade will all required data in order to use The importer for Project Diva Arcade will all required data in order to use
@ -298,7 +300,7 @@ python dbutils.py --game SBZV upgrade
In order to use the importer locate your game installation folder and execute: In order to use the importer locate your game installation folder and execute:
```shell ```shell
python read.py --game SDDT --version <version ID> --binfolder /path/to/game/folder --optfolder /path/to/game/option/folder python read.py --game SDDT --version <Version ID> --binfolder </path/to/game/mu3_Data> --optfolder </path/to/game/option/folder>
``` ```
The importer for O.N.G.E.K.I. will all all Cards, Music and Events. The importer for O.N.G.E.K.I. will all all Cards, Music and Events.
@ -430,19 +432,19 @@ In order to use the importer you need to use the provided `.csv` files (which ar
option folders: option folders:
```shell ```shell
python read.py --game SDED --version <version ID> --binfolder titles/cm/cm_data --optfolder /path/to/cardmaker/option/folder python read.py --game SDED --version <Version ID> --binfolder titles/cm/cm_data --optfolder </path/to/cardmaker/option/folder>
``` ```
**If you haven't already executed the O.N.G.E.K.I. importer, make sure you import all cards!** **If you haven't already executed the O.N.G.E.K.I. importer, make sure you import all cards!**
```shell ```shell
python read.py --game SDDT --version <version ID> --binfolder /path/to/game/folder --optfolder /path/to/game/option/folder python read.py --game SDDT --version <Version ID> --binfolder </path/to/ongeki/mu3_Data> --optfolder </path/to/ongeki/option/folder>
``` ```
Also make sure to import all maimai DX and CHUNITHM data as well: Also make sure to import all maimai DX and CHUNITHM data as well:
```shell ```shell
python read.py --game SDED --version <version ID> --binfolder /path/to/cardmaker/CardMaker_Data python read.py --game SDED --version <Version ID> --binfolder </path/to/cardmaker/CardMaker_Data> --optfolder </path/to/cardmaker/option/folder>
``` ```
The importer for Card Maker will import all required Gachas (Banners) and cards (for maimai DX/CHUNITHM) and the hardcoded The importer for Card Maker will import all required Gachas (Banners) and cards (for maimai DX/CHUNITHM) and the hardcoded
@ -535,7 +537,7 @@ Gacha IDs up to 1140 will be loaded for CM 1.34 and all gachas will be loaded fo
In order to use the importer locate your game installation folder and execute: In order to use the importer locate your game installation folder and execute:
```shell ```shell
python read.py --game SDFE --version <version ID> --binfolder /path/to/game/WindowsNoEditor/Mercury/Content python read.py --game SDFE --version <Version ID> --binfolder </path/to/game/WindowsNoEditor/Mercury/Content>
``` ```
The importer for WACCA will import all Music data. The importer for WACCA will import all Music data.
@ -609,7 +611,7 @@ Below is a list of VIP rewards. Currently, VIP is not implemented, and thus thes
In order to use the importer locate your game installation folder and execute: In order to use the importer locate your game installation folder and execute:
```shell ```shell
python read.py --game SDEW --version <version ID> --binfolder /path/to/game/extractedassets python read.py --game SDEW --version <Version ID> --binfolder </path/to/game/extractedassets>
``` ```
The importer for SAO will import all items, heroes, support skills and titles data. The importer for SAO will import all items, heroes, support skills and titles data.
@ -682,9 +684,9 @@ Config file is located in `config/idac.yaml`.
| `port_matching` | Port number for the Online Battle Matching | | `port_matching` | Port number for the Online Battle Matching |
| `port_echo1/2` | Port numbers for Echos | | `port_echo1/2` | Port numbers for Echos |
| `port_matching_p2p` | Port number for Online Battle (currently unsupported) | | `port_matching_p2p` | Port number for Online Battle (currently unsupported) |
| `stamp.enable` | Enables/Disabled the play stamp events | | `stamp.enable` | Enables/Disabled the play stamp events |
| `stamp.enabled_stamps` | Define up to 3 play stamp events (without `.json` extension, which are placed in `titles/idac/data/stamps`) | | `stamp.enabled_stamps` | Define up to 3 play stamp events (without `.json` extension, which are placed in `titles/idac/data/stamps`) |
| `timetrial.enable` | Enables/Disables the time trial event | | `timetrial.enable` | Enables/Disables the time trial event |
| `timetrial.enabled_timetrial` | Define one! trial event (without `.json` extension, which are placed in `titles/idac/data/timetrial`) | | `timetrial.enabled_timetrial` | Define one! trial event (without `.json` extension, which are placed in `titles/idac/data/timetrial`) |
@ -697,6 +699,7 @@ python dbutils.py --game SDGT upgrade
``` ```
### Notes ### Notes
- Online Battle is not supported - Online Battle is not supported
- Online Battle Matching is not supported - Online Battle Matching is not supported
@ -740,7 +743,6 @@ python dbutils.py --game SDGT upgrade
### TimeRelease Courses: ### TimeRelease Courses:
| Course ID | Course Name | Direction | | Course ID | Course Name | Direction |
| --------- | ------------------------- | ------------------------ | | --------- | ------------------------- | ------------------------ |
| 0 | Lake Akina(秋名湖) | CounterClockwise(左周り) | | 0 | Lake Akina(秋名湖) | CounterClockwise(左周り) |
@ -772,7 +774,54 @@ python dbutils.py --game SDGT upgrade
| 68 | Odawara(小田原) | Forward(順走) | | 68 | Odawara(小田原) | Forward(順走) |
| 70 | Odawara(小田原) | Reverse(逆走) | | 70 | Odawara(小田原) | Reverse(逆走) |
### Credits
### TimeRelease `announce_image`:
- `save_filename`: Filename without file extension saved in the folder `ImageDelivery`
- `url`: URL to the file on the server with the corresponding file extension (.djg/.gpg)
(except for `display_id=9` where the url is empty)
- `open_dt`: UNIX timestamp when it should be displayed
- `close_dt`: UNIX timestamp when it should be hidden
- `display_id`: One of the following IDS:
| Display ID | Description |
| ---------------------------------------- | ------------------------------------------------------------------------------------------------- |
| 1 | ADV image in the size 1280x720, shown during attract |
| 2 | Start image in the size 1280x720, shown in the Main Menu after selection the corresponding banner |
| 3 | Banner image in the size 640×120, shown in the Main Menu |
| 5 | Stamp Background image in the size 1780x608 |
| 6 | Online Battle round image in the size 1920x1080 |
| 8 | Stamp Pickup image in the size 624x300, also requires `target_id` set |
| 9 | Attract video from the `C:/Mount/Option` folder on real hardware, also requires a `target_id` set |
- `target_id`:
- Always 0 unless:
- `display_id=8`: Matches an existing stamp pickup abolsute `reward_setting_masu`
and will replace the stock image with the provided one from `url`
- `display_id=9`: Matches the id from `C:/Mount/Option/MV01/targetXXX.bin`,
where XXX is the `target_id`
- `page`:
- Defines the order in which the images being shown, where 1 is the first image
- `display_id` 1, 2, 3: The `page` has to match, so the corresponding images
of an event are shown correctly
- `display_id` 7, 8: The `page` defines the `sheet_design` in the play stamps
- `time`: The time in sec for an image to be shown, always 10
```json
{
"save_filename": "adv_01_example",
"url": "http://example.com/images/04721D5D3595FD29778011EC73A8AE77.dpg",
"open_dt": 1514761200,
"close_dt": 1861916400,
"display_id": 1,
"target_id": 0,
"page": 1,
"time": 10
},
```
### Credits:
- Bottersnike: For the HUGE Reverse Engineering help - Bottersnike: For the HUGE Reverse Engineering help
- Kinako: For helping with the timeRelease unlocking of courses and special mode - Kinako: For helping with the timeRelease unlocking of courses and special mode

File diff suppressed because one or more lines are too long