1 Commits

Author SHA1 Message Date
tsunyoku cf4275c363 fix: remove 2019 usage 2023-01-22 18:22:17 +00:00
6 changed files with 24 additions and 84 deletions
+12 -12
View File
@@ -14,7 +14,7 @@ jobs:
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Python setup - name: Python setup
uses: actions/setup-python@v4 uses: actions/setup-python@v2
with: with:
python-version: 3.9 python-version: 3.9
architecture: x64 architecture: x64
@@ -27,10 +27,10 @@ jobs:
default: true default: true
- name: Build wheels - x86_64 - name: Build wheels - x86_64
uses: PyO3/maturin-action@v1 uses: messense/maturin-action@v1
with: with:
target: x86_64 target: x86_64
args: --release --out dist --sdist args: --release --out dist
- name: Install built wheel - x86_64 - name: Install built wheel - x86_64
run: | run: |
@@ -38,9 +38,9 @@ jobs:
python -c "import akatsuki_pp_py" python -c "import akatsuki_pp_py"
- name: Build wheels - universal2 - name: Build wheels - universal2
uses: PyO3/maturin-action@v1 uses: messense/maturin-action@v1
with: with:
args: --release --universal2 --out dist args: --release --universal2 --out dist --no-sdist
- name: Install built wheel - universal2 - name: Install built wheel - universal2
run: | run: |
@@ -63,7 +63,7 @@ jobs:
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Python setup - name: Python setup
uses: actions/setup-python@v4 uses: actions/setup-python@v2
with: with:
python-version: 3.9 python-version: 3.9
architecture: ${{ matrix.target }} architecture: ${{ matrix.target }}
@@ -76,10 +76,10 @@ jobs:
default: true default: true
- name: Build wheels - name: Build wheels
uses: PyO3/maturin-action@v1 uses: messense/maturin-action@v1
with: with:
target: ${{ matrix.target }} target: ${{ matrix.target }}
args: --release --out dist args: --release --out dist --no-sdist
- name: Install built wheel - name: Install built wheel
run: | run: |
@@ -93,7 +93,7 @@ jobs:
path: dist path: dist
linux: linux:
runs-on: ubuntu-20.04 runs-on: ubuntu-latest
strategy: strategy:
matrix: matrix:
target: [x86_64, i686] target: [x86_64, i686]
@@ -102,17 +102,17 @@ jobs:
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Python setup - name: Python setup
uses: actions/setup-python@v4 uses: actions/setup-python@v2
with: with:
python-version: 3.9 python-version: 3.9
architecture: x64 architecture: x64
- name: Build wheels - name: Build wheels
uses: PyO3/maturin-action@v1 uses: messense/maturin-action@v1
with: with:
target: ${{ matrix.target }} target: ${{ matrix.target }}
manylinux: auto manylinux: auto
args: --release --out dist -i 3.9 args: --release --out dist --no-sdist
- name: Install built wheel - name: Install built wheel
if: matrix.target == 'x86_64' if: matrix.target == 'x86_64'
Generated
+3 -3
View File
@@ -4,12 +4,12 @@ version = 3
[[package]] [[package]]
name = "akatsuki-pp" name = "akatsuki-pp"
version = "0.9.4" version = "0.9.3"
source = "git+https://github.com/osuAkatsuki/akatsuki-pp-rs?rev=764da0dbf42ed80441acf99d070aaedabaed4b75#764da0dbf42ed80441acf99d070aaedabaed4b75" source = "git+https://github.com/osuAkatsuki/akatsuki-pp-rs#4140dc70840044d9d4313731ce04c5793098ed62"
[[package]] [[package]]
name = "akatsuki-pp-py" name = "akatsuki-pp-py"
version = "0.9.4" version = "0.9.3"
dependencies = [ dependencies = [
"akatsuki-pp", "akatsuki-pp",
"pyo3", "pyo3",
+2 -2
View File
@@ -1,6 +1,6 @@
[package] [package]
name = "akatsuki-pp-py" name = "akatsuki-pp-py"
version = "0.9.4" version = "0.9.3"
description = "osu! difficulty and pp calculation for all modes" description = "osu! difficulty and pp calculation for all modes"
authors = ["Max Ohn <ohn.m@hotmail.de>", "tsunyoku <tsunyoku@gmail.com>"] authors = ["Max Ohn <ohn.m@hotmail.de>", "tsunyoku <tsunyoku@gmail.com>"]
license = "MIT" license = "MIT"
@@ -12,7 +12,7 @@ crate-type = ["cdylib"]
[dependencies] [dependencies]
pyo3 = { version = "0.17", features = ["extension-module", "macros"] } pyo3 = { version = "0.17", features = ["extension-module", "macros"] }
akatsuki-pp = { git = "https://github.com/osuAkatsuki/akatsuki-pp-rs", rev = "764da0dbf42ed80441acf99d070aaedabaed4b75" } akatsuki-pp = { git = "https://github.com/osuAkatsuki/akatsuki-pp-rs", rev = "61cb1564b4fdbffb21748b35f58805327dc4aac4" }
[profile.release] [profile.release]
lto = "fat" lto = "fat"
+1 -1
View File
@@ -1,5 +1,5 @@
[build-system] [build-system]
requires = ["maturin>=0.14,<0.15"] requires = ["maturin>=0.12,<0.13", "setuptools", "setuptools-rust", "wheel"]
build-backend = "maturin" build-backend = "maturin"
[project] [project]
+1 -65
View File
@@ -1,8 +1,4 @@
use akatsuki_pp::{ use akatsuki_pp::{AnyPP, AnyStars, DifficultyAttributes, GameMode};
osu::{OsuDifficultyAttributes, OsuPerformanceAttributes},
osu_2019::OsuPP,
AnyPP, AnyStars, DifficultyAttributes, GameMode, Mods, PerformanceAttributes,
};
use pyo3::{ use pyo3::{
exceptions::{PyTypeError, PyValueError}, exceptions::{PyTypeError, PyValueError},
pyclass, pymethods, pyclass, pymethods,
@@ -231,67 +227,7 @@ impl PyCalculator {
Ok(calc.calculate().into()) Ok(calc.calculate().into())
} }
fn performance_2019(&self, map: &PyBeatmap) -> PyResult<PyPerformanceAttributes> {
let mut calc = OsuPP::new(&map.inner);
set_calc! { calc, self:
mods,
combo,
n300,
n100,
n50,
passed_objects,
};
if let Some(n_misses) = self.n_misses {
calc = calc.misses(n_misses);
}
if let Some(acc) = self.acc {
calc = calc.accuracy(acc as f32);
}
let attrs = calc.calculate();
let new_attrs = OsuPerformanceAttributes {
difficulty: OsuDifficultyAttributes {
aim: attrs.difficulty.aim_strain,
speed: attrs.difficulty.speed_strain,
flashlight: 0.0,
slider_factor: 0.0,
speed_note_count: 0.0,
ar: attrs.difficulty.ar,
od: attrs.difficulty.od,
hp: attrs.difficulty.hp,
n_circles: attrs.difficulty.n_circles,
n_sliders: attrs.difficulty.n_sliders,
n_spinners: attrs.difficulty.n_spinners,
stars: attrs.difficulty.stars,
max_combo: attrs.difficulty.max_combo,
},
pp: attrs.pp,
pp_acc: attrs.pp_acc,
pp_aim: attrs.pp_aim,
pp_flashlight: attrs.pp_flashlight,
pp_speed: attrs.pp_speed,
effective_miss_count: attrs.effective_miss_count,
};
Ok(PerformanceAttributes::Osu(new_attrs).into())
}
fn performance(&self, map: &PyBeatmap) -> PyResult<PyPerformanceAttributes> { fn performance(&self, map: &PyBeatmap) -> PyResult<PyPerformanceAttributes> {
// criteria:
// - is relax
// - is osu!standard
// or mode is not specified and map is osu!standard, as that will be the inferred mode
if (self.mods.is_some() && self.mods.unwrap().rx())
&& ((self.mode.is_none() && map.inner.mode == GameMode::Osu)
|| self.mode == Some(GameMode::Osu))
{
return self.performance_2019(map);
}
let mut calc = AnyPP::new(&map.inner); let mut calc = AnyPP::new(&map.inner);
set_calc! { calc, self: set_calc! { calc, self:
+5 -1
View File
@@ -1,10 +1,10 @@
use std::fmt::{Debug, Display, Formatter, Result as FmtResult}; use std::fmt::{Debug, Display, Formatter, Result as FmtResult};
use pyo3::{pyclass, pymethods};
use akatsuki_pp::{ use akatsuki_pp::{
catch::CatchDifficultyAttributes, mania::ManiaDifficultyAttributes, catch::CatchDifficultyAttributes, mania::ManiaDifficultyAttributes,
osu::OsuDifficultyAttributes, taiko::TaikoDifficultyAttributes, DifficultyAttributes, osu::OsuDifficultyAttributes, taiko::TaikoDifficultyAttributes, DifficultyAttributes,
}; };
use pyo3::{pyclass, pymethods};
#[pyclass(name = "DifficultyAttributes")] #[pyclass(name = "DifficultyAttributes")]
#[derive(Clone, Debug)] #[derive(Clone, Debug)]
@@ -91,6 +91,8 @@ impl Debug for BorrowedDifficultyAttributes<'_> {
n_spinners, n_spinners,
stars, stars,
max_combo, max_combo,
aim_difficult_strain_count,
speed_difficult_strain_count,
} = attrs; } = attrs;
debug.field("mode", &0_u8); debug.field("mode", &0_u8);
@@ -109,6 +111,8 @@ impl Debug for BorrowedDifficultyAttributes<'_> {
n_spinners, n_spinners,
stars, stars,
max_combo, max_combo,
aim_difficult_strain_count,
speed_difficult_strain_count,
} }
} }
Self::Taiko(attrs) => { Self::Taiko(attrs) => {