libosu update
This commit is contained in:
parent
f622c3cfee
commit
494021d0e1
9 changed files with 34 additions and 19 deletions
4
Cargo.lock
generated
4
Cargo.lock
generated
|
@ -1071,8 +1071,8 @@ checksum = "c7d73b3f436185384286bd8098d17ec07c9a7d2388a6599f824d8502b529702a"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "libosu"
|
name = "libosu"
|
||||||
version = "0.0.13"
|
version = "0.0.14"
|
||||||
source = "git+https://github.com/iptq/libosu?rev=dee4d05eeaba1313a17eefbbd7679a947b52fbc1#dee4d05eeaba1313a17eefbbd7679a947b52fbc1"
|
source = "git+https://github.com/iptq/libosu?rev=a54cfbdaa07265802bb47e35fbdc252337a5adcf#a54cfbdaa07265802bb47e35fbdc252337a5adcf"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"bitflags",
|
"bitflags",
|
||||||
|
|
|
@ -21,4 +21,4 @@ structopt = "0.3.21"
|
||||||
|
|
||||||
[dependencies.libosu]
|
[dependencies.libosu]
|
||||||
git = "https://github.com/iptq/libosu"
|
git = "https://github.com/iptq/libosu"
|
||||||
rev = "dee4d05eeaba1313a17eefbbd7679a947b52fbc1"
|
rev = "a54cfbdaa07265802bb47e35fbdc252337a5adcf"
|
||||||
|
|
|
@ -27,3 +27,7 @@ license
|
||||||
not sure yet, probably gpl
|
not sure yet, probably gpl
|
||||||
|
|
||||||
includes code ported from ppy/osu, which is mit-licensed
|
includes code ported from ppy/osu, which is mit-licensed
|
||||||
|
|
||||||
|
uses [libosu][1]
|
||||||
|
|
||||||
|
[1]: https://github.com/iptq/libosu
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
use libosu::{Beatmap, HitObjectKind, Point};
|
use libosu::{beatmap::Beatmap, hitobject::HitObjectKind, math::Point};
|
||||||
|
|
||||||
use crate::hit_object::HitObjectExt;
|
use crate::hitobject::HitObjectExt;
|
||||||
|
|
||||||
pub const STACK_DISTANCE: f64 = 3.0;
|
pub const STACK_DISTANCE: f64 = 3.0;
|
||||||
|
|
||||||
|
|
|
@ -10,16 +10,19 @@ use std::path::Path;
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use ggez::{
|
use ggez::{
|
||||||
event::{EventHandler, KeyCode, KeyMods},
|
event::{EventHandler, KeyCode, KeyMods},
|
||||||
graphics::{
|
graphics::{self, Color, DrawParam, FilterMode, Rect, Text, WHITE},
|
||||||
self, Color, DrawMode, DrawParam, FilterMode, Mesh, Rect, StrokeOptions, Text, WHITE,
|
|
||||||
},
|
|
||||||
Context, GameError, GameResult,
|
Context, GameError, GameResult,
|
||||||
};
|
};
|
||||||
use libosu::{Beatmap, HitObjectKind, Point, SpinnerInfo, Spline};
|
use libosu::{
|
||||||
|
beatmap::Beatmap,
|
||||||
|
hitobject::{HitObjectKind, SpinnerInfo},
|
||||||
|
math::Point,
|
||||||
|
spline::Spline,
|
||||||
|
};
|
||||||
|
|
||||||
use crate::audio::{AudioEngine, Sound};
|
use crate::audio::{AudioEngine, Sound};
|
||||||
use crate::beatmap::{BeatmapExt, STACK_DISTANCE};
|
use crate::beatmap::{BeatmapExt, STACK_DISTANCE};
|
||||||
use crate::hit_object::HitObjectExt;
|
use crate::hitobject::HitObjectExt;
|
||||||
use crate::skin::Skin;
|
use crate::skin::Skin;
|
||||||
|
|
||||||
use self::sliders::render_slider;
|
use self::sliders::render_slider;
|
||||||
|
@ -89,7 +92,7 @@ impl Game {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn priv_draw(&mut self, ctx: &mut Context) -> Result<()> {
|
fn draw_helper(&mut self, ctx: &mut Context) -> Result<()> {
|
||||||
// TODO: lol
|
// TODO: lol
|
||||||
|
|
||||||
graphics::clear(ctx, [0.0, 0.0, 0.0, 1.0].into());
|
graphics::clear(ctx, [0.0, 0.0, 0.0, 1.0].into());
|
||||||
|
@ -250,13 +253,16 @@ impl EventHandler for Game {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn key_up_event(&mut self, _: &mut Context, keycode: KeyCode, _: KeyMods) {
|
fn key_up_event(&mut self, _: &mut Context, keycode: KeyCode, _: KeyMods) {
|
||||||
if let KeyCode::Space = keycode {
|
use KeyCode::*;
|
||||||
self.toggle_playing();
|
match keycode {
|
||||||
|
Space => self.toggle_playing(),
|
||||||
|
Colon => {}
|
||||||
|
_ => {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn draw(&mut self, ctx: &mut Context) -> GameResult {
|
fn draw(&mut self, ctx: &mut Context) -> GameResult {
|
||||||
if let Err(err) = self.priv_draw(ctx) {
|
if let Err(err) = self.draw_helper(ctx) {
|
||||||
return Err(GameError::RenderError(err.to_string()));
|
return Err(GameError::RenderError(err.to_string()));
|
||||||
};
|
};
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|
|
@ -6,7 +6,11 @@ use ggez::{
|
||||||
nalgebra::Point2,
|
nalgebra::Point2,
|
||||||
Context,
|
Context,
|
||||||
};
|
};
|
||||||
use libosu::{Beatmap, HitObject, HitObjectKind, Spline};
|
use libosu::{
|
||||||
|
beatmap::Beatmap,
|
||||||
|
hitobject::{HitObject, HitObjectKind},
|
||||||
|
spline::Spline,
|
||||||
|
};
|
||||||
|
|
||||||
use crate::game::SliderCache;
|
use crate::game::SliderCache;
|
||||||
|
|
||||||
|
|
|
@ -4,9 +4,9 @@ use ggez::{
|
||||||
nalgebra::Point2,
|
nalgebra::Point2,
|
||||||
Context,
|
Context,
|
||||||
};
|
};
|
||||||
use libosu::{HitObjectKind, TimingPointKind};
|
use libosu::{hitobject::HitObjectKind, timing::TimingPointKind};
|
||||||
|
|
||||||
use crate::hit_object::HitObjectExt;
|
use crate::hitobject::HitObjectExt;
|
||||||
|
|
||||||
use super::Game;
|
use super::Game;
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
use libosu::{Color, HitObject};
|
use libosu::hitobject::HitObject;
|
||||||
|
|
||||||
pub struct HitObjectExt {
|
pub struct HitObjectExt {
|
||||||
pub inner: HitObject,
|
pub inner: HitObject,
|
|
@ -1,5 +1,6 @@
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
extern crate anyhow;
|
extern crate anyhow;
|
||||||
|
#[allow(unused_macros, unused_imports)]
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
extern crate log;
|
extern crate log;
|
||||||
extern crate bass_sys as bass;
|
extern crate bass_sys as bass;
|
||||||
|
@ -7,7 +8,7 @@ extern crate bass_sys as bass;
|
||||||
mod audio;
|
mod audio;
|
||||||
mod beatmap;
|
mod beatmap;
|
||||||
mod game;
|
mod game;
|
||||||
mod hit_object;
|
mod hitobject;
|
||||||
mod skin;
|
mod skin;
|
||||||
|
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
|
|
Loading…
Reference in a new issue