diff --git a/README.md b/README.md index b7ca318..780b99e 100644 --- a/README.md +++ b/README.md @@ -1 +1,42 @@ -# Moonhare Engine \ No newline at end of file +# Moonhare Engine +Game Engine written in Rust + +(Currently this is just a fun side project, sooo if this engine works eventually, use it at your own risk :D) + + +## Architecture: + +### Classes/Structs +#### Core +- [Core/Game](/docs/structs/core/Game.md) +- [Core/GameTime](/docs/structs/core/GameTime.md) + +#### Graphics +- + +#### Logger +- + +#### Math +- + +#### Window +- [Window/GameWindow](/docs/structs/window/GameWindow.md) + +### Modules +- core +- graphics +- logger +- math +- Window + +### Game Loop: +- Start Run + +- (enter loop) ... -> Update -> Render -> Update ... + +- Cleanup + + + + diff --git a/docs/modules/core.md b/docs/modules/core.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/modules/graphics.md b/docs/modules/graphics.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/modules/logger.md b/docs/modules/logger.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/modules/math.md b/docs/modules/math.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/modules/winit.md b/docs/modules/winit.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/structs/core/Game.md b/docs/structs/core/Game.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/structs/core/GameTime.md b/docs/structs/core/GameTime.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/structs/window/GameWindow.md b/docs/structs/window/GameWindow.md new file mode 100644 index 0000000..e69de29 diff --git a/moonhare_engine/src/game.rs b/moonhare_engine/src/core/game.rs similarity index 96% rename from moonhare_engine/src/game.rs rename to moonhare_engine/src/core/game.rs index 28cb9eb..1d5228c 100644 --- a/moonhare_engine/src/game.rs +++ b/moonhare_engine/src/core/game.rs @@ -2,7 +2,7 @@ use std::{ops::{ControlFlow, DerefMut}, sync::Mutex}; use glium::{glutin::surface::WindowSurface, winit::{self, event::{self, WindowEvent}, event_loop::{self, EventLoop}, window::Window}}; -use crate::{game, game_plugin::GamePlugin, winit::winit_window::WinitWindow, ENGINE_NAME}; +use crate::{game_plugin::GamePlugin, window::winit_window::WinitWindow, ENGINE_NAME}; pub struct Game { diff --git a/moonhare_engine/src/core/mod.rs b/moonhare_engine/src/core/mod.rs new file mode 100644 index 0000000..68c160d --- /dev/null +++ b/moonhare_engine/src/core/mod.rs @@ -0,0 +1 @@ +pub mod game; \ No newline at end of file diff --git a/moonhare_engine/src/graphics/mod.rs b/moonhare_engine/src/graphics/mod.rs new file mode 100644 index 0000000..e69de29 diff --git a/moonhare_engine/src/lib.rs b/moonhare_engine/src/lib.rs index b9ade62..4b4a97b 100644 --- a/moonhare_engine/src/lib.rs +++ b/moonhare_engine/src/lib.rs @@ -1,11 +1,12 @@ pub mod vertex; -pub mod game; +pub mod core; pub mod game_plugin; -pub mod winit; +pub mod window; pub mod logger; const ENGINE_NAME: &str = "Moonhare Engine"; + pub struct CPointer(T); impl Drop for CPointer { diff --git a/moonhare_engine/src/math/mod.rs b/moonhare_engine/src/math/mod.rs new file mode 100644 index 0000000..e69de29 diff --git a/moonhare_engine/src/winit/mod.rs b/moonhare_engine/src/window/mod.rs similarity index 100% rename from moonhare_engine/src/winit/mod.rs rename to moonhare_engine/src/window/mod.rs diff --git a/moonhare_engine/src/winit/window_config.rs b/moonhare_engine/src/window/window_config.rs similarity index 100% rename from moonhare_engine/src/winit/window_config.rs rename to moonhare_engine/src/window/window_config.rs diff --git a/moonhare_engine/src/winit/winit_window.rs b/moonhare_engine/src/window/winit_window.rs similarity index 96% rename from moonhare_engine/src/winit/winit_window.rs rename to moonhare_engine/src/window/winit_window.rs index 584c709..359b86a 100644 --- a/moonhare_engine/src/winit/winit_window.rs +++ b/moonhare_engine/src/window/winit_window.rs @@ -1,7 +1,7 @@ use glium::{backend::glutin::SimpleWindowBuilder, glutin::{display::GetGlDisplay, surface::WindowSurface}, winit::{self, dpi::LogicalSize, event_loop::{ActiveEventLoop, EventLoop}, raw_window_handle::HasDisplayHandle, window::{Window, WindowAttributes}}, Display}; -use crate::winit::window_config::WindowConfig; +use crate::window::window_config::WindowConfig; use crate::ENGINE_NAME; diff --git a/playground/src/main.rs b/playground/src/main.rs index 6b7bf95..f5f61b5 100644 --- a/playground/src/main.rs +++ b/playground/src/main.rs @@ -2,7 +2,7 @@ use std::fs::read_to_string; use glium::{index::NoIndices, Frame, Program, VertexBuffer}; use glium::{uniform, Surface}; -use moonhare_engine::{game::Game, game_plugin::GamePlugin, vertex::Vertex}; +use moonhare_engine::{core::game::Game, game_plugin::GamePlugin, vertex::Vertex}; struct PlaygroundGame { t: f32,