Add documentation for all the new games.

This commit is contained in:
zkldi
2022-01-05 09:27:46 +00:00
parent 9c70bd2d2c
commit 022a452b07
3 changed files with 243 additions and 2 deletions
+123
View File
@@ -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. |
+65 -2
View File
@@ -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.
+55
View File
@@ -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. |