From 3d3864171785c589872bf23faaaa3a421f56ee4e Mon Sep 17 00:00:00 2001 From: Jon Santmyer Date: Wed, 22 Apr 2026 10:51:13 -0400 Subject: complete orbit camera. add most large solar bodies --- src/tacmap.rs | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'src/tacmap.rs') diff --git a/src/tacmap.rs b/src/tacmap.rs index b245f77..e4cb76a 100644 --- a/src/tacmap.rs +++ b/src/tacmap.rs @@ -16,10 +16,10 @@ use crate::GameState; use crate::canvas::Canvas; use crate::solar_system::SolarSystem; use crate::solar_system::SystemId; +use crate::ui; use crate::wgpuctx::WgpuCtx; use render::*; use camera::*; -use crate::window::ui::GameWindowUiState; pub struct TacticalMap { @@ -51,7 +51,7 @@ impl TacticalMap let camera = Camera::new( wgpuctx, - cgmath::Point3::::new(0.0, 0.0, 1.0), + cgmath::Vector3::new(0.0, 0.0, 1.0), cgmath::Deg(0.0), cgmath::Rad(0.0)); @@ -59,7 +59,7 @@ impl TacticalMap surface_size.width, surface_size.height, cgmath::Deg(60.0), - (0.1, 1000.0)); + (0.01, 1000.0)); Self { canvas: canvas, @@ -83,12 +83,13 @@ impl TacticalMap pub fn update( &mut self, game_state: &RefCell, - ui_state: &mut GameWindowUiState, + ui_state: &mut ui::State, dt: Duration) { - ui_state.camera_scale = self.camera.get_scale(); - ui_state.camera_pos = Some(self.camera.get_position()); - self.camera.set_target(ui_state.camera_target); + ui_state.camera_info.camera_scale = self.camera.get_scale(); + ui_state.camera_info.camera_pos = Some(self.camera.get_abs_position()); + ui_state.camera_info.camera_rot = Some(self.camera.get_rotation()); + self.camera.set_target(ui_state.camera_info.target); self.camera_controller.update(&mut self.camera, game_state, ui_state, dt); } @@ -138,7 +139,7 @@ impl TacticalMap //Update buffers for the current system and time. tacrender.rebuild(wgpuctx, current_system); match tacrender.update( - wgpuctx, current_system, + wgpuctx, current_system, &self.camera, game_state.timeman().seconds()) { Ok(()) => {}, -- cgit v1.2.3