From 593d85d6682062ebea97f03d1c0e2981b2af56c9 Mon Sep 17 00:00:00 2001 From: Nilstrieb <48135649+Nilstrieb@users.noreply.github.com> Date: Mon, 17 Apr 2023 20:16:28 +0200 Subject: [PATCH] more --- src/app.rs | 69 +++++++++++++----------------------------------------- 1 file changed, 16 insertions(+), 53 deletions(-) diff --git a/src/app.rs b/src/app.rs index d8e1265..db0da3d 100644 --- a/src/app.rs +++ b/src/app.rs @@ -1,4 +1,15 @@ -use std::fmt::Write; +use crate::{ + command::{Cmd, CmdVec}, + debug::{self, DebugState}, + game::{for_each_tile_on_screen, Biome, GameState}, + graphics::{self, ScreenSc, ScreenVec}, + input::Input, + inventory::{ItemId, Slot, TileLayer, UseAction}, + math::{center_offset, TILE_SIZE}, + res::Res, + tiles::TileId, + CliArgs, +}; use anyhow::Context; use directories::ProjectDirs; use egui_sfml::SfEgui; @@ -6,21 +17,13 @@ use gamedebug_core::{imm, imm_dbg}; use sfml::{ audio::SoundSource, graphics::{ - BlendMode, Color, Rect, RectangleShape, RenderStates, RenderTarget, - RenderTexture, RenderWindow, Shape, Sprite, Transformable, View, + BlendMode, Color, Rect, RectangleShape, RenderStates, RenderTarget, RenderTexture, + RenderWindow, Shape, Sprite, Transformable, View, }, system::{Vector2, Vector2u}, window::{Event, Key}, }; -use crate::{ - command::{Cmd, CmdVec}, - debug::{self, DebugState}, - game::{for_each_tile_on_screen, Biome, GameState}, - graphics::{self, ScreenSc, ScreenVec}, - input::Input, inventory::{ItemId, Slot, TileLayer, UseAction}, - math::{center_offset, TILE_SIZE}, - res::Res, tiles::TileId, CliArgs, -}; +use std::fmt::Write; /// Application level state (includes game and ui state, etc.) pub(crate) struct App { pub(crate) rw: RenderWindow, @@ -43,42 +46,9 @@ impl App { loop {} } pub(crate) fn do_game_loop(&mut self) { - while !self.should_quit { - self.do_event_handling(); - self.do_update(); - self.do_rendering(); - self.input.clear_pressed(); - gamedebug_core::inc_frame(); - } - self.game.tile_db.try_save(); - self.game.world.save(); - } - fn do_event_handling(&mut self) { - loop {} - } - fn do_update(&mut self) { - loop {} - } - fn do_freecam(&mut self) { - loop {} + self.do_rendering(); } fn do_rendering(&mut self) { - self.game.light_pass(&mut self.light_map, &self.res); - self.rt.clear(Color::rgb(55, 221, 231)); - self.game.draw_world(&mut self.rt, &mut self.res); - self.game.draw_entities(&mut self.rt); - self.rt.display(); - let mut spr = Sprite::with_texture(self.rt.texture()); - spr.set_scale((self.scale as f32, self.scale as f32)); - let vco = viewport_center_offset(self.rw.size(), self.rt.size(), self.scale); - spr.set_position((vco.x as f32, vco.y as f32)); - self.rw.clear(Color::rgb(40, 10, 70)); - self.rw.draw(&spr); - let mut rst = RenderStates::default(); - rst.blend_mode = BlendMode::MULTIPLY; - self.light_map.display(); - - self.sf_egui .do_frame(|ctx| { debug::do_debug_ui( @@ -91,12 +61,5 @@ impl App { ); }) .unwrap(); - - } - fn execute_commands(&mut self) { - loop {} } } -fn viewport_center_offset(rw_size: Vector2u, rt_size: Vector2u, scale: u8) -> ScreenVec { - loop {} -}