pp-gen
Small script to calculate difficulty and performance points related values for a given folder containing .osu files.
How to use
- Rename
.env.exampleto.envand put proper values for both of its variables:PERF_CALC_PATHis going to be something likeC:/osu-tools/PerformanceCalculator/bin/Release/net5.0/PerformanceCalculator.dllMAP_PATHis the path to the folder containing a bunch of{map_id}.osufilesMAP_TAKEis the amount of maps for which values will be calculatedMAP_SKIPis the amount of maps that will be skipped in theMAP_PATHfolder after each calculation
- Run
cargo run --release. The program will use thePerformanceCalculator.dllto calculate the values and then store them inoutput.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:
{
"score": {
"mode": integer,
"map_id": integer,
"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,
},
"difficulty": {
"stars": 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?,
}
}