Add lib target for wasm
This commit is contained in:
parent
cbcda28719
commit
ecd7c87e29
4 changed files with 42 additions and 22 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,3 +1,4 @@
|
||||||
/extern
|
/extern
|
||||||
/target
|
/target
|
||||||
.vscode
|
.vscode
|
||||||
|
/pkg
|
||||||
|
|
|
@ -4,6 +4,14 @@ version = "0.1.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
build = "build.rs"
|
build = "build.rs"
|
||||||
|
|
||||||
|
[lib]
|
||||||
|
name = "libkroz"
|
||||||
|
crate-type = ["cdylib", "rlib"]
|
||||||
|
|
||||||
|
[[bin]]
|
||||||
|
name = "kroz"
|
||||||
|
path = "src/main.rs"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
# bracket-lib = { path = "extern/bracket-lib" }
|
# bracket-lib = { path = "extern/bracket-lib" }
|
||||||
bracket-lib = { git = "https://github.com/amethyst/bracket-lib" }
|
bracket-lib = { git = "https://github.com/amethyst/bracket-lib" }
|
||||||
|
|
32
src/lib.rs
Normal file
32
src/lib.rs
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
use std::panic;
|
||||||
|
|
||||||
|
use bracket_lib::prelude::*;
|
||||||
|
use state::State;
|
||||||
|
use wasm_bindgen::prelude::*;
|
||||||
|
|
||||||
|
pub mod components;
|
||||||
|
pub mod constants;
|
||||||
|
mod graphics;
|
||||||
|
pub mod input;
|
||||||
|
pub mod levels;
|
||||||
|
pub mod resources;
|
||||||
|
mod state;
|
||||||
|
pub mod systems;
|
||||||
|
pub mod tile_data;
|
||||||
|
|
||||||
|
#[wasm_bindgen(start)]
|
||||||
|
pub fn main_js() -> Result<(), JsValue> {
|
||||||
|
panic::set_hook(Box::new(console_error_panic_hook::hook));
|
||||||
|
let _ = main_common(false);
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn main_common(initialize_sound: bool) -> BError {
|
||||||
|
let context = BTermBuilder::vga(80, 25)
|
||||||
|
.with_fps_cap(60.0)
|
||||||
|
.with_title("Kroz")
|
||||||
|
.build()
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
main_loop(context, State::new(initialize_sound))
|
||||||
|
}
|
23
src/main.rs
23
src/main.rs
|
@ -10,29 +10,8 @@ mod state;
|
||||||
pub mod systems;
|
pub mod systems;
|
||||||
pub mod tile_data;
|
pub mod tile_data;
|
||||||
|
|
||||||
use std::panic;
|
|
||||||
|
|
||||||
use bracket_lib::prelude::*;
|
use bracket_lib::prelude::*;
|
||||||
use state::State;
|
|
||||||
use wasm_bindgen::{prelude::wasm_bindgen, JsValue};
|
|
||||||
|
|
||||||
#[wasm_bindgen(start)]
|
|
||||||
pub fn main_js() -> Result<(), JsValue> {
|
|
||||||
panic::set_hook(Box::new(console_error_panic_hook::hook));
|
|
||||||
let _ = main_common(false);
|
|
||||||
Ok(())
|
|
||||||
}
|
|
||||||
|
|
||||||
fn main() -> BError {
|
fn main() -> BError {
|
||||||
main_common(true)
|
libkroz::main_common(true)
|
||||||
}
|
|
||||||
|
|
||||||
fn main_common(initialize_sound: bool) -> BError {
|
|
||||||
let context = BTermBuilder::vga(80, 25)
|
|
||||||
.with_fps_cap(60.0)
|
|
||||||
.with_title("Kroz")
|
|
||||||
.build()
|
|
||||||
.unwrap();
|
|
||||||
|
|
||||||
main_loop(context, State::new(initialize_sound))
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue