mirror of
https://github.com/zkldi/Tachi.git
synced 2026-10-09 15:19:50 +03:00
Add documentation for all the new games.
This commit is contained in:
@@ -323,3 +323,126 @@ interface BMSChartData {
|
||||
| `sgl-EC` | Sieglinde Easy Clear -- The sieglinde value you'd get for easy clearing this chart. |
|
||||
| `sgl-HC` | Sieglinde Hard Clear -- The sieglinde value you'd get for hard clearing this chart. |
|
||||
|
||||
### WACCA
|
||||
|
||||
#### Difficulties
|
||||
|
||||
- NORMAL
|
||||
- HARD
|
||||
- EXPERT
|
||||
- INFERNO
|
||||
|
||||
#### Data
|
||||
|
||||
```ts
|
||||
interface WACCAChartData {
|
||||
isHot: boolean;
|
||||
}
|
||||
```
|
||||
|
||||
| Property | Description |
|
||||
| :: | :: |
|
||||
| `isHot` | Whether this chart is hot or not. Used for profile rating calculations. |
|
||||
|
||||
#### Tierlists
|
||||
|
||||
None.
|
||||
|
||||
### Pop'n
|
||||
|
||||
#### Difficulties
|
||||
|
||||
- Easy
|
||||
- Normal
|
||||
- Hyper
|
||||
- EX
|
||||
|
||||
#### Data
|
||||
|
||||
```ts
|
||||
interface PopnChartData {
|
||||
hashSHA256: string | null;
|
||||
}
|
||||
```
|
||||
|
||||
| Property | Description |
|
||||
| :: | :: |
|
||||
| `hashSHA256` | A SHA256 checksum of the chart file. |
|
||||
|
||||
#### Tierlists
|
||||
|
||||
None.
|
||||
|
||||
### jubeat
|
||||
|
||||
#### Difficulties
|
||||
|
||||
- BSC
|
||||
- ADV
|
||||
- EXT
|
||||
- HARD BSC
|
||||
- HARD ADV
|
||||
- HARD EXT
|
||||
|
||||
!!! note
|
||||
We handle hard mode charts by treating them as completely separate charts. Not a mod or anything.
|
||||
|
||||
This has the advantage of separating leaderboards and generally meshing better with the flow of the site.
|
||||
|
||||
#### Data
|
||||
|
||||
```ts
|
||||
interface JubeatChartData {
|
||||
inGameID: integer;
|
||||
isHardMode: boolean;
|
||||
}
|
||||
```
|
||||
|
||||
| Property | Description |
|
||||
| :: | :: |
|
||||
| `inGameID` | The integer ID used by the game to identify this chart. |
|
||||
| `isHardMode` | Whether this chart is a hard mode chart or not. Equivalent to difficulty.startsWith("HARD ") |
|
||||
|
||||
#### Tierlists
|
||||
|
||||
None.
|
||||
|
||||
### PMS
|
||||
|
||||
!!! note
|
||||
PMS is near identical to BMS. Most clients are just a thin layer over BMS with 9 buttons.
|
||||
|
||||
#### Difficulties
|
||||
|
||||
- CHART
|
||||
|
||||
!!! info
|
||||
This is weird. PMS, like BMS, actually only ever has one chart per song, as in BMS the only thing that actually matters is the charts MD5Sum. This redundant difficulty name -- CHART, is not displayed anywhere on the UI, nor does it really matter.
|
||||
|
||||
#### Data
|
||||
|
||||
```ts
|
||||
interface BMSChartData {
|
||||
notecount: integer;
|
||||
hashMD5: string;
|
||||
hashSHA256: string;
|
||||
tableFolders: { table: string; level: string }[];
|
||||
}
|
||||
```
|
||||
|
||||
| Property | Description |
|
||||
| :: | :: |
|
||||
| `notecount` | The amount of notes in this chart. Note that charts with #RANDOM declarations are not supported by Tachi, and therefore this is guaranteed to be correct. |
|
||||
| `hashMD5` | The MD5Sum for this chart. |
|
||||
| `hashSHA256` | The SHA256Sum for this chart. |
|
||||
| `tableFolders` | What table this chart is in. |
|
||||
|
||||
!!! example
|
||||
For an example of how the above properties work, see the BMS description above (the two games are incredibly similar.)
|
||||
|
||||
#### Tierlists
|
||||
|
||||
| Tierlist | Description |
|
||||
| :: | :: |
|
||||
| `sgl-EC` | Sieglinde Easy Clear -- The sieglinde value you'd get for easy clearing this chart. |
|
||||
| `sgl-HC` | Sieglinde Hard Clear -- The sieglinde value you'd get for hard clearing this chart. |
|
||||
|
||||
@@ -313,9 +313,72 @@ interface ScoreMeta {
|
||||
| :: | :: |
|
||||
| `random` | The random option this user selected. |
|
||||
| `inputDevice` | Whether this score was achieved on a keyboard or a beatmania controller. If null, this is not known. |
|
||||
| `client` | What client this score was performed on. Scores achieved on beatoraja have a warning next to them indicating differences in their gauge implementation. |
|
||||
| `client` | What client this score was performed on. |
|
||||
|
||||
### DDR, maimai, MÚSECA, CHUNITHM
|
||||
### WACCA
|
||||
|
||||
(No Unique `hitMeta`)
|
||||
|
||||
```ts
|
||||
interface ScoreMeta {
|
||||
mirror: boolean | null;
|
||||
}
|
||||
```
|
||||
|
||||
| Property | Description |
|
||||
| :: | :: |
|
||||
| `mirror` | Whether the score was achieved on mirror or not. |
|
||||
|
||||
### Pop'n
|
||||
|
||||
```ts
|
||||
type HitMeta = BASE_VALID_HIT_META & {
|
||||
gauge: number | null;
|
||||
specificClearType:
|
||||
| "failedUnknown"
|
||||
| "failedCircle"
|
||||
| "failedDiamond"
|
||||
| "failedStar"
|
||||
| "easyClear"
|
||||
| "clearCircle"
|
||||
| "clearDiamond"
|
||||
| "clearStar"
|
||||
| "fullComboCircle"
|
||||
| "fullComboDiamond"
|
||||
| "fullComboStar"
|
||||
| "perfect"
|
||||
| null;
|
||||
}
|
||||
```
|
||||
|
||||
| Property | Description |
|
||||
| :: | :: |
|
||||
| `gauge` | The gauge the user had when the chart finished. |
|
||||
| `specificClearType` | What kind of clearType this score had. This is more specific than a lamp, and is displayed in the UI if known. |
|
||||
|
||||
```ts
|
||||
interface ScoreMeta {
|
||||
hiSpeed: number | null;
|
||||
hidden: integer | null;
|
||||
sudden: integer | null;
|
||||
random: "NONRAN" | "MIRROR" | "RANDOM" | "S-RANDOM" | null;
|
||||
gauge: "NORMAL" | "EASY" | "HARD" | "DANGER" | null;
|
||||
}
|
||||
```
|
||||
|
||||
| Property | Description |
|
||||
| :: | :: |
|
||||
| `hiSpeed` | What hiSpeed the user was using. |
|
||||
| `hidden` | What level of hidden the user was using. |
|
||||
| `sudden` | What level of sudden the user was using. |
|
||||
| `random` | What kind of random the user was using. Null if unknown, NONRAN if known to be nonran. |
|
||||
| `gauge` | What gauge mod this player had on. |
|
||||
|
||||
### PMS
|
||||
|
||||
PMS is identical to BMS, but without an `inputDevice` field in `scoreMeta`.
|
||||
|
||||
### DDR, maimai, MÚSECA, CHUNITHM, jubeat
|
||||
|
||||
These games have no extended properties on its `hitMeta` object.
|
||||
|
||||
|
||||
@@ -121,3 +121,58 @@ type GITADORASongData = { isHot: boolean; displayVersion: string }
|
||||
| :: | :: |
|
||||
| `isHot` | Whether this song is marked as HOT by GITADORA or not. |
|
||||
| `displayVersion` | What version folder this song is in in game. |
|
||||
|
||||
### WACCA
|
||||
|
||||
```ts
|
||||
type WACCASongData = {
|
||||
titleJP: string;
|
||||
artistJP: string;
|
||||
genre: string;
|
||||
displayVersion: string | null
|
||||
}
|
||||
```
|
||||
|
||||
| Property | Description |
|
||||
| :: | :: |
|
||||
| `titleJP` | The japanese title for this song. |
|
||||
| `artistJP` | The japanese artist for this song. |
|
||||
| `genre` | The genre this song is under. |
|
||||
| `displayVersion` | What version of the game this appeared in. Null if unknown. |
|
||||
|
||||
### Pop'n
|
||||
|
||||
```ts
|
||||
type PopnSongData = { displayVersion: string | null; genre: string };
|
||||
```
|
||||
|
||||
| Property | Description |
|
||||
| :: | :: |
|
||||
| `genre` | The genre this song is under. |
|
||||
| `displayVersion` | What version of the game this appeared in. Null if unknown. |
|
||||
|
||||
### jubeat
|
||||
|
||||
```ts
|
||||
type JubeatSongData = { displayVersion: string };
|
||||
```
|
||||
|
||||
| Property | Description |
|
||||
| :: | :: |
|
||||
| `displayVersion` | What version of the game this appeared in. |
|
||||
|
||||
### PMS
|
||||
|
||||
```ts
|
||||
type PMSSongData = {
|
||||
genre: string | null;
|
||||
subtitle: string | null;
|
||||
subartist: string | null
|
||||
};
|
||||
```
|
||||
|
||||
| Property | Description |
|
||||
| :: | :: |
|
||||
| `genre` | What genre this song is. Null if one is not set in the pms file. |
|
||||
| `subtitle` | What the subtitle for this song is. Null if one is not set in the pms file. |
|
||||
| `subartist` | What the subartist for this song is. Null if one is not set in the pms file. |
|
||||
|
||||
Reference in New Issue
Block a user