diff --git a/src/example_client.rs b/src/example_client.rs index f8cf85d..06b1051 100644 --- a/src/example_client.rs +++ b/src/example_client.rs @@ -164,7 +164,7 @@ impl Client for ExampleClient { if self.show_camera_info { Window::new(im_str!("CameraInfo")) .size([260.0, 430.0], Condition::Always) - .position([40.0, 40.0], Condition::Always) + .position([20.0, 40.0], Condition::Always) .title_bar(false) .scroll_bar(false) .no_inputs() diff --git a/src/gaia/assets_cache.rs b/src/gaia/assets_cache.rs index c012302..84eb152 100644 --- a/src/gaia/assets_cache.rs +++ b/src/gaia/assets_cache.rs @@ -1,9 +1,9 @@ use crate::gaia::mesh::Texture; use crate::gaia::model::Model; use crate::gaia::utils::load_texture_from_dir; +use log::{info, trace, warn}; use std::collections::HashMap; use std::path::Path; -use log::{info, trace, warn}; #[derive(Default)] pub struct AssetsCache { diff --git a/src/gaia/engine.rs b/src/gaia/engine.rs index ca860dd..46a433e 100644 --- a/src/gaia/engine.rs +++ b/src/gaia/engine.rs @@ -91,6 +91,34 @@ impl Engine { ui.separator(); ui.text(format!("Mouse position: ({:4.1},{:4.1})", last_x, last_y)); }); + Window::new(im_str!("Logs")) + .size([670.0, 215.0], Condition::Always) + .bg_alpha(0.8) + .position( + [offset, self.window_size.1 - 215.0 - offset], + Condition::Always, + ) + .no_decoration() + .no_inputs() + .bg_alpha(0.8) + .save_settings(false) + .build(&ui, || { + use std::fs; + use std::io::prelude::*; + use std::io::BufReader; + let buf = BufReader::new(fs::File::open("log.log").expect("no such file")); + let lines: Vec = buf + .lines() + .map(|l| l.expect("Could not parse line")) + .collect(); + let mut output = String::new(); + lines.iter().rev().take(10).rev().for_each(|line| { + output.push_str(&line); + output.push('\n'); + }); + + ui.text(output); + }); self.imgui_glfw.draw(ui, &mut self.window); } diff --git a/src/gaia/framebuffer.rs b/src/gaia/framebuffer.rs index ac7b8ef..55b6e67 100644 --- a/src/gaia/framebuffer.rs +++ b/src/gaia/framebuffer.rs @@ -1,9 +1,9 @@ use crate::gaia::shader::*; use gl::types::*; +use log::{info, trace, warn}; use std::mem; use std::os::raw::c_void; use std::ptr; -use log::{info, trace, warn}; #[derive(Debug)] pub struct FramebufferSystem { @@ -49,7 +49,10 @@ impl FramebufferSystem { gl::DrawArrays(gl::TRIANGLES, 0, 6); } pub unsafe fn generate(scr_width: i32, scr_height: i32) -> Self { - info!("Generating new framebuffer with dimensions {}x{}",scr_width,scr_height); + info!( + "Generating new framebuffer with dimensions {}x{}", + scr_width, scr_height + ); let screenShader = Shader::from_file( "resources/shaders/framebuffers_screen.vs", "resources/shaders/framebuffers_screen.fs", @@ -143,7 +146,7 @@ impl FramebufferSystem { gl::BindFramebuffer(gl::FRAMEBUFFER, 0); info!("New framebuffer generated"); - + FramebufferSystem { texture_color_buffer: textureColorbuffer, shader: screenShader, diff --git a/src/gaia/model.rs b/src/gaia/model.rs index 9542c5d..51ae8bf 100644 --- a/src/gaia/model.rs +++ b/src/gaia/model.rs @@ -6,9 +6,9 @@ use crate::gaia::mesh::{Mesh, Texture, Vertex}; use crate::gaia::shader::Shader; use crate::gaia::utils::*; use cgmath::{vec2, vec3}; +use log::{info, trace, warn}; use std::path::Path; use tobj; -use log::{info, trace, warn}; #[derive(Clone)] pub struct Model { diff --git a/src/gaia/utils.rs b/src/gaia/utils.rs index 7e65e30..88c2481 100644 --- a/src/gaia/utils.rs +++ b/src/gaia/utils.rs @@ -1,14 +1,11 @@ use gl; use image2::image::Image; use image2::{io, ImagePtr, Rgb, Rgba}; -use std::os::raw::c_void; use log::{info, trace, warn}; +use std::os::raw::c_void; pub unsafe fn load_texture(path: &str, file_format: &str) -> u32 { - info!( - "Loading texture: {}", - path - ); + info!("Loading texture: {}", path); let mut id = 0; gl::GenTextures(1, &mut id); diff --git a/src/main.rs b/src/main.rs index f822760..a8b4560 100644 --- a/src/main.rs +++ b/src/main.rs @@ -9,10 +9,10 @@ extern crate simple_logging; mod gaia; mod example_client; +use crate::gaia::engine::Engine; +use human_panic::setup_panic; use log::LevelFilter; use log::{info, trace, warn}; -use human_panic::setup_panic; -use crate::gaia::engine::Engine; pub fn main() { setup_panic!();