From 073952598d303a70299e6fd4086c35122ac22c04 Mon Sep 17 00:00:00 2001 From: Michael Zhang Date: Fri, 15 Jan 2021 12:07:20 -0600 Subject: [PATCH] Osu Man --- Cargo.lock | 17 +++++++++++++++++ Cargo.toml | 8 ++++++++ framework-example-2048/Cargo.toml | 11 +++++++++++ framework-example-2048/src/lib.rs | 0 framework-example-2048/src/main.rs | 3 +++ framework/Cargo.toml | 5 ++++- framework/configurations.txt | 12 ++++++++++++ framework/examples/square.rs | 4 ---- framework/src/lib.rs | 5 +++++ multibuild/Cargo.toml | 9 +++++++++ multibuild/src/main.rs | 3 +++ src/game/mod.rs | 4 ++-- 12 files changed, 74 insertions(+), 7 deletions(-) create mode 100644 framework-example-2048/Cargo.toml create mode 100644 framework-example-2048/src/lib.rs create mode 100644 framework-example-2048/src/main.rs create mode 100644 framework/configurations.txt delete mode 100644 framework/examples/square.rs create mode 100644 multibuild/Cargo.toml create mode 100644 multibuild/src/main.rs diff --git a/Cargo.lock b/Cargo.lock index 731c10d..38ceb09 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -935,9 +935,17 @@ dependencies = [ name = "framework" version = "0.1.0" dependencies = [ + "ndk-glue", "winit", ] +[[package]] +name = "framework-example-2048" +version = "0.1.0" +dependencies = [ + "framework", +] + [[package]] name = "fuchsia-zircon" version = "0.3.3" @@ -1332,6 +1340,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61124eeebbd69b8190558df225adf7e4caafce0d743919e5d6b19652314ec5ec" dependencies = [ "cfg-if 1.0.0", + "js-sys", + "wasm-bindgen", + "web-sys", ] [[package]] @@ -1743,6 +1754,10 @@ dependencies = [ "ws2_32-sys", ] +[[package]] +name = "multibuild" +version = "0.1.0" + [[package]] name = "ndk" version = "0.2.1" @@ -3404,7 +3419,9 @@ dependencies = [ "percent-encoding", "raw-window-handle", "smithay-client-toolkit", + "wasm-bindgen", "wayland-client", + "web-sys", "winapi 0.3.9", "x11-dl", ] diff --git a/Cargo.toml b/Cargo.toml index 92dcc41..63dabde 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,6 +11,8 @@ debug = true members = [ "bass-sys", "framework", + "framework-example-2048", + "multibuild", ] [dependencies] @@ -33,3 +35,9 @@ rev = "81677d5ed88936c4a3e64af951ff0ae523c2d403" [features] clippy = [] + +[package.metadata.android] +apk_label = "OSU editor" +target_sdk_version = 30 +min_sdk_version = 26 +fullscreen = true diff --git a/framework-example-2048/Cargo.toml b/framework-example-2048/Cargo.toml new file mode 100644 index 0000000..c7630b8 --- /dev/null +++ b/framework-example-2048/Cargo.toml @@ -0,0 +1,11 @@ +[package] +name = "framework-example-2048" +version = "0.1.0" +authors = ["Michael Zhang "] +edition = "2018" + +[lib] +crate-type = ["lib", "cdylib"] + +[dependencies] +framework = { path = "../framework" } diff --git a/framework-example-2048/src/lib.rs b/framework-example-2048/src/lib.rs new file mode 100644 index 0000000..e69de29 diff --git a/framework-example-2048/src/main.rs b/framework-example-2048/src/main.rs new file mode 100644 index 0000000..e7a11a9 --- /dev/null +++ b/framework-example-2048/src/main.rs @@ -0,0 +1,3 @@ +fn main() { + println!("Hello, world!"); +} diff --git a/framework/Cargo.toml b/framework/Cargo.toml index babe5a9..cbef9c9 100644 --- a/framework/Cargo.toml +++ b/framework/Cargo.toml @@ -5,4 +5,7 @@ authors = ["Michael Zhang "] edition = "2018" [dependencies] -winit = "0.24.0" +winit = { version = "0.24.0", features = ["web-sys"] } + +[target.'cfg(target_os = "android")'.dependencies] +ndk-glue = "0.2.1" diff --git a/framework/configurations.txt b/framework/configurations.txt new file mode 100644 index 0000000..adbb39b --- /dev/null +++ b/framework/configurations.txt @@ -0,0 +1,12 @@ +windowing: +- winit on desktop +- probably doesn't exist on mobile? +- simulated in browser? + +rendering: +- gfx can probably handle all platforms + +audio: +- un4seen bass for desktop +- shim for wrapping audio APIs + diff --git a/framework/examples/square.rs b/framework/examples/square.rs deleted file mode 100644 index 17f02ff..0000000 --- a/framework/examples/square.rs +++ /dev/null @@ -1,4 +0,0 @@ -use framework::Game; - -fn main() { -} diff --git a/framework/src/lib.rs b/framework/src/lib.rs index 70674b3..05a53e6 100644 --- a/framework/src/lib.rs +++ b/framework/src/lib.rs @@ -2,3 +2,8 @@ mod game; mod renderer; pub use crate::game::Game; + +#[cfg_attr(target_os = "android", ndk_glue::main(backtrace = "on"))] +pub fn android_main() { + println!("hello, world!"); +} diff --git a/multibuild/Cargo.toml b/multibuild/Cargo.toml new file mode 100644 index 0000000..732b026 --- /dev/null +++ b/multibuild/Cargo.toml @@ -0,0 +1,9 @@ +[package] +name = "multibuild" +version = "0.1.0" +authors = ["Michael Zhang "] +edition = "2018" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] diff --git a/multibuild/src/main.rs b/multibuild/src/main.rs new file mode 100644 index 0000000..e7a11a9 --- /dev/null +++ b/multibuild/src/main.rs @@ -0,0 +1,3 @@ +fn main() { + println!("Hello, world!"); +} diff --git a/src/game/mod.rs b/src/game/mod.rs index bd7d83e..af49c8a 100644 --- a/src/game/mod.rs +++ b/src/game/mod.rs @@ -223,8 +223,8 @@ impl Game { } let mut playfield_hitobjects = Vec::new(); - let preempt = (self.beatmap.inner.difficulty.approach_preempt() as f64) / 1000.0; - let fade_in = (self.beatmap.inner.difficulty.approach_fade_time() as f64) / 1000.0; + let preempt = 1.5 * (self.beatmap.inner.difficulty.approach_preempt() as f64) / 1000.0; + let fade_in = 1.5 * (self.beatmap.inner.difficulty.approach_fade_time() as f64) / 1000.0; // TODO: tighten this loop even more by binary searching for the start of the timeline and // playfield hitobjects rather than looping through the entire beatmap, better yet, just