2023-05-08 18:56:50 +00:00
|
|
|
mod board;
|
|
|
|
mod game;
|
2023-05-09 14:39:53 +00:00
|
|
|
mod objects;
|
2023-05-09 16:58:07 +00:00
|
|
|
mod simple_ai;
|
2023-05-08 18:56:50 +00:00
|
|
|
|
|
|
|
use anyhow::Result;
|
2023-05-08 19:24:12 +00:00
|
|
|
use assetpath::AssetPath;
|
2023-05-08 18:56:50 +00:00
|
|
|
use engine::prelude::*;
|
|
|
|
use game::MillGame;
|
|
|
|
|
|
|
|
fn main() -> Result<()> {
|
|
|
|
let mut create_info = EngineCreateInfo::default();
|
2023-05-08 19:24:12 +00:00
|
|
|
|
|
|
|
create_info.resource_base_path = "resources".to_string();
|
|
|
|
|
|
|
|
create_info.gui_info.font = Font::Path(AssetPath::from(("resources", "ExportedFont.png")));
|
|
|
|
create_info.gui_info.menu_button = AssetPath::from("button_dark.png");
|
|
|
|
create_info.gui_info.menu_button_selected = AssetPath::from("button_light.png");
|
|
|
|
create_info.gui_info.resource_directory =
|
|
|
|
AssetPath::from((create_info.resource_base_path.as_str(), ""));
|
|
|
|
|
|
|
|
create_info.graphics_info.render_scale = 1.0;
|
2023-05-09 16:58:07 +00:00
|
|
|
create_info.graphics_info.vsync = true;
|
|
|
|
create_info.graphics_info.sample_count = VK_SAMPLE_COUNT_4_BIT;
|
|
|
|
|
|
|
|
create_info.rasterizer_info.enable_lighting = true;
|
|
|
|
create_info.rasterizer_info.shadow_image_size = 512;
|
2023-05-08 19:24:12 +00:00
|
|
|
|
|
|
|
create_info.window_info.height = 600;
|
|
|
|
create_info.window_info.width = 800;
|
2023-05-08 18:56:50 +00:00
|
|
|
|
2023-05-09 14:39:53 +00:00
|
|
|
create_info.enable_keyboard = true;
|
|
|
|
create_info.enable_mouse = true;
|
|
|
|
|
2023-05-08 18:56:50 +00:00
|
|
|
let engine = Engine::new(create_info)?;
|
|
|
|
|
|
|
|
engine.set_game_object(Some(MillGame::new(engine.clone())?))?;
|
|
|
|
|
|
|
|
engine.run()
|
|
|
|
}
|