Fix native build
This commit is contained in:
parent
9f602ba465
commit
f7a635ba7f
6 changed files with 27 additions and 53 deletions
8
Cargo.lock
generated
8
Cargo.lock
generated
|
@ -247,18 +247,18 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
|
|||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.137"
|
||||
version = "1.0.152"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "61ea8d54c77f8315140a05f4c7237403bf38b72704d031543aa1d16abbf517d1"
|
||||
checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.137"
|
||||
version = "1.0.152"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1f26faba0c3959972377d3b2d306ee9f71faee9714294e41bb777f83f88578be"
|
||||
checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
|
10
Cargo.toml
10
Cargo.toml
|
@ -14,15 +14,11 @@ serde = { version = "1.0.101", features = ["derive"] }
|
|||
[build-dependencies]
|
||||
bindgen = "0.64"
|
||||
|
||||
[features]
|
||||
default = []
|
||||
no_link_libs = []
|
||||
|
||||
[lib]
|
||||
name = "ld45_lib"
|
||||
crate-type = ["staticlib"]
|
||||
required-features = ["no_link_libs"]
|
||||
path = "src/lib.rs"
|
||||
crate-type = ["rlib", "staticlib"]
|
||||
|
||||
[[bin]]
|
||||
name = "ld45_bin"
|
||||
path = "src/main.rs"
|
||||
path = "src/bin.rs"
|
||||
|
|
10
build.rs
10
build.rs
|
@ -3,17 +3,9 @@ extern crate bindgen;
|
|||
use std::env;
|
||||
use std::path::PathBuf;
|
||||
|
||||
#[cfg(not(feature = "no_link_libs"))]
|
||||
fn linking_libs() {
|
||||
fn main() {
|
||||
println!("cargo:rustc-link-lib=raylib");
|
||||
println!("cargo:rustc-link-lib=OpenGL");
|
||||
}
|
||||
|
||||
#[cfg(feature = "no_link_libs")]
|
||||
fn linking_libs() {}
|
||||
|
||||
fn main() {
|
||||
linking_libs();
|
||||
println!("cargo:rerun-if-changed=raylib/raylib.h");
|
||||
|
||||
let bindings = bindgen::Builder::default()
|
||||
|
|
17
src/bin.rs
Normal file
17
src/bin.rs
Normal file
|
@ -0,0 +1,17 @@
|
|||
use ld45_lib::agnostic_interface;
|
||||
|
||||
fn will_close() -> bool {
|
||||
unsafe { agnostic_interface::raylib_impl::ffi::WindowShouldClose() }
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let state_ptr = ld45_lib::ld45_initialize();
|
||||
|
||||
while !will_close() {
|
||||
ld45_lib::ld45_iterate(state_ptr);
|
||||
}
|
||||
|
||||
unsafe {
|
||||
drop(Box::from_raw(state_ptr as *mut ld45_lib::WasmState));
|
||||
}
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
mod agnostic_interface;
|
||||
pub mod agnostic_interface;
|
||||
mod faux_quicksilver;
|
||||
mod original_impl;
|
||||
mod shaders;
|
||||
|
@ -7,7 +7,7 @@ use agnostic_interface::raylib_impl::RaylibGame;
|
|||
use faux_quicksilver::Window;
|
||||
use original_impl::GameState;
|
||||
|
||||
struct WasmState {
|
||||
pub struct WasmState {
|
||||
pub window: Window,
|
||||
pub game_state: GameState,
|
||||
}
|
||||
|
|
31
src/main.rs
31
src/main.rs
|
@ -1,31 +0,0 @@
|
|||
use agnostic_interface::raylib_impl::RaylibGame;
|
||||
use faux_quicksilver::Window;
|
||||
use original_impl::GameState;
|
||||
|
||||
mod agnostic_interface;
|
||||
mod faux_quicksilver;
|
||||
mod original_impl;
|
||||
mod shaders;
|
||||
|
||||
fn will_close() -> bool {
|
||||
unsafe { agnostic_interface::raylib_impl::ffi::WindowShouldClose() }
|
||||
}
|
||||
|
||||
fn main() {
|
||||
// TODO
|
||||
//run::<GameState>(
|
||||
// "One And All - a Ludum Dare 45 compo entry",
|
||||
// Vector::new(800, 600),
|
||||
// Settings::default(),
|
||||
//);
|
||||
|
||||
let game_interface = RaylibGame::new_boxed(800, 600);
|
||||
let mut window = Window::new(game_interface);
|
||||
let mut game_state = GameState::new(&mut window).unwrap();
|
||||
|
||||
while !will_close() {
|
||||
window.update_music().unwrap();
|
||||
game_state.update(&mut window).unwrap();
|
||||
game_state.draw(&mut window).unwrap();
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue