summaryrefslogtreecommitdiffstats
path: root/src/tacmap.rs
diff options
context:
space:
mode:
authorJon Santmyer <jon@jonsantmyer.com>2026-04-22 10:51:13 -0400
committerJon Santmyer <jon@jonsantmyer.com>2026-04-22 10:51:13 -0400
commit3d3864171785c589872bf23faaaa3a421f56ee4e (patch)
tree4c4a927473ee1a58f23fff1e8ece8327a31d719a /src/tacmap.rs
parent3dc92fad981e28c760f3c6e95f5a8153ea6c9be4 (diff)
downloadsystemic4x-3d3864171785c589872bf23faaaa3a421f56ee4e.tar.gz
systemic4x-3d3864171785c589872bf23faaaa3a421f56ee4e.tar.bz2
systemic4x-3d3864171785c589872bf23faaaa3a421f56ee4e.zip
complete orbit camera. add most large solar bodies
Diffstat (limited to 'src/tacmap.rs')
-rw-r--r--src/tacmap.rs17
1 files changed, 9 insertions, 8 deletions
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::<f32>::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<GameState>,
- 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(()) => {},