aboutsummaryrefslogtreecommitdiff
path: root/games/rstnode/rst-client/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'games/rstnode/rst-client/src/main.rs')
-rw-r--r--games/rstnode/rst-client/src/main.rs25
1 files changed, 22 insertions, 3 deletions
diff --git a/games/rstnode/rst-client/src/main.rs b/games/rstnode/rst-client/src/main.rs
index 57a686a19d74..b86ee341075e 100644
--- a/games/rstnode/rst-client/src/main.rs
+++ b/games/rstnode/rst-client/src/main.rs
@@ -1,10 +1,15 @@
//! RST Node game client
+#[macro_use]
+extern crate tracing;
+
mod assets;
mod cli;
mod constants;
mod ctx;
+mod error;
mod graphics;
+mod log;
mod settings;
mod state;
mod window;
@@ -14,8 +19,22 @@ pub(crate) use settings::{GameSettings, GraphicsSettings, WindowSettings};
pub(crate) use state::*;
fn main() {
- let settings = settings::default();
+ // Initialise logging mechanism
+ log::initialise();
+
+ // Initialise default game settings
+ let mut settings = settings::default();
+
+ // Parse commandline arguments
+ cli::parse(&mut settings);
+
+ // Initialise window context
+ let mut window = window::create(&settings);
+
+ // Load assets tree
+ let assets =
+ assets::load_tree(window.ctx(), &settings).unwrap_or_else(|e| fatal!("LoadError: {}!", e));
+ let state = ClientState::new(settings, assets);
- let state = ClientState::new(&settings);
- window::run(&settings, state)
+ window.run(state)
}