updated pp-gen README
This commit is contained in:
+45
-53
@@ -1,69 +1,61 @@
|
||||
# pp-gen
|
||||
|
||||
Small script to calculate difficulty and performance points related values for a given list of map ids.
|
||||
Small script to calculate difficulty and performance points related values for a given folder containing `.osu` files.
|
||||
|
||||
### How to use
|
||||
|
||||
- Rename `.env.example` to `.env` and put proper values for both of its variables:
|
||||
- `PERF_CALC_PATH` is going to be something like `C:/osu-tools/PerformanceCalculator/bin/Release/net5.0/PerformanceCalculator.dll`
|
||||
- `MAP_PATH` is the path to the folder containing a bunch of `{map_id}.osu` files
|
||||
- Since `PerformanceCalculator.dll` won't print the stars for a map simulation by default, you will need to make a tiny adjustment to a file in the osu-tools repo. In `osu-tools/PerformanceCalculator/Simulate/SimulateCommand.cs`, add the following line to the other lines that look similar:
|
||||
```cs
|
||||
o["Stars"] = difficultyAttributes.StarRating;
|
||||
```
|
||||
Don't forget to recompile osu-tools via `dotnet build -c Release` after making the change.
|
||||
- `MAP_PATH` is the path to the folder containing a bunch of `{map_id}.osu` files
|
||||
- `MAP_TAKE` is the amount of maps for which values will be calculated
|
||||
- `MAP_SKIP` is the amount of maps that will be skipped in the `MAP_PATH` folder after each calculation
|
||||
- Run `cargo run --release`. The program will use the `PerformanceCalculator.dll` to calculate the values and then store them in `output.json`.
|
||||
|
||||
### Output format
|
||||
|
||||
The calculated values for each map for multiple different mod combinations will be stored in a JSON array. The array elements will be of the following form:
|
||||
- osu:
|
||||
```js
|
||||
{
|
||||
"mode": 0,
|
||||
```js
|
||||
{
|
||||
"score": {
|
||||
"mode": integer,
|
||||
"map_id": integer,
|
||||
"aim": double,
|
||||
"speed": double,
|
||||
"accuracy": double,
|
||||
"flashlight": double,
|
||||
"od": double,
|
||||
"ar": double,
|
||||
"mods": "HD, HR", // comma + whitespace separated string of mod abbreviations ("None" for nomod)
|
||||
"stars": double,
|
||||
"mods": [string],
|
||||
"total_score": integer,
|
||||
"acc": double,
|
||||
"combo": integer,
|
||||
"stats": {
|
||||
"perfect": integer?,
|
||||
"great": integer,
|
||||
"good": integer?,
|
||||
"ok": integer,
|
||||
"meh": integer,
|
||||
"miss": integer,
|
||||
}
|
||||
},
|
||||
"performance": {
|
||||
"aim": double?,
|
||||
"speed": double?,
|
||||
"acc": double?,
|
||||
"flashlight": double?,
|
||||
"effective_miss_count": double?,
|
||||
"scaled_score": double?,
|
||||
"difficulty": double?,
|
||||
"pp": double,
|
||||
}
|
||||
```
|
||||
- taiko:
|
||||
```js
|
||||
{
|
||||
"mode": 1,
|
||||
"map_id": integer,
|
||||
"accuracy": double,
|
||||
"strain": double,
|
||||
"mods": "HD, HR", // comma + whitespace separated string of mod abbreviations ("None" for nomod)
|
||||
},
|
||||
"difficulty": {
|
||||
"stars": double,
|
||||
"pp": double,
|
||||
"max_combo": integer,
|
||||
"aim": double?,
|
||||
"speed": double?,
|
||||
"flashlight": double?,
|
||||
"slider_factor": double?,
|
||||
"stamina": double?,
|
||||
"rhythm": double?,
|
||||
"colour": double?,
|
||||
"ar": double?,
|
||||
"od": double?,
|
||||
"great_hit_window": double?,
|
||||
"score_multiplier": double?,
|
||||
}
|
||||
```
|
||||
- catch:
|
||||
```js
|
||||
{
|
||||
"mode": 2,
|
||||
"map_id": integer,
|
||||
"mods": "HD, HR", // comma + whitespace separated string of mod abbreviations ("None" for nomod)
|
||||
"stars": double,
|
||||
"pp": double,
|
||||
}
|
||||
```
|
||||
- mania:
|
||||
```js
|
||||
{
|
||||
"mode": 3,
|
||||
"map_id": integer,
|
||||
"accuracy": double,
|
||||
"strain": double,
|
||||
"mods": "HD, HR", // comma + whitespace separated string of mod abbreviations ("None" for nomod)
|
||||
"stars": double,
|
||||
"pp": double,
|
||||
}
|
||||
```
|
||||
}
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user