From 3feb66be037cc2513a9e085ef92db0d41e6b46fc Mon Sep 17 00:00:00 2001 From: core Date: Sun, 16 Apr 2023 18:09:27 -0400 Subject: [PATCH] update astronomical constants --- server/src/handler.rs | 2 +- server/src/orbit/constants.rs | 11 ++++++----- server/src/timer.rs | 11 +++++++---- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/server/src/handler.rs b/server/src/handler.rs index 3cf4bdc645f4dd56e9a429d9b4586098c5be9784..d00f376509133090fd384113e69f93e708cdbbb5 100644 --- a/server/src/handler.rs +++ b/server/src/handler.rs @@ -139,7 +139,7 @@ pub async fn handle_client(mgr: ClientManager, data: Arc>, r .translation(vector![0.0, 2100.0/SCALE]) .build(); let player_collider: Collider = ColliderBuilder::cuboid(25.0 / SCALE, 25.0 / SCALE) - .mass_properties(MassProperties::new(point![0.0, 0.0], 250.0, 61250.0)) + .mass_properties(MassProperties::new(point![0.0, 0.0], 125.0, 61250.0)) //.mass(75.0) .build(); let player_handle = rigid_body_set.insert(player_body); diff --git a/server/src/orbit/constants.rs b/server/src/orbit/constants.rs index 8a2a4d9f770fead36b34a5c44ef1295f9c1ce26b..eed1ce60f1b6dd58675dd89d3faee8d36d5448e8 100644 --- a/server/src/orbit/constants.rs +++ b/server/src/orbit/constants.rs @@ -1,6 +1,7 @@ pub const GAME_SCALE_DISTANCE: f64 = 0.0001567865; // 1000 / EARTH_RADIUS_RL pub const GAME_SCALE_MASS: f64 = 0.0000000000000000000006697923643670463; // 4000 / EARTH_MASS_RL -pub const GAME_SCALE_TIME: f64 = 0.00038580246913580245; // 900 / MOON_ORBIT_TIME_RL +pub const GAME_SCALE_TIME: f64 = 0.00051440329218107; // 1200 / MOON_ORBIT_TIME_RL +pub const GAME_ORBITS_ENABLED: bool = true; pub const EARTH_RADIUS_BIAS: f64 = 1.0; pub const EARTH_MASS_BIAS: f64 = 1.0; @@ -11,10 +12,10 @@ pub const EARTH_MASS_RL: f64 = 5972000000000000000000000.0; pub const EARTH_MASS: f64 = EARTH_MASS_RL * GAME_SCALE_MASS * EARTH_MASS_BIAS; pub const MOON_RADIUS_BIAS: f64 = 1.0; -pub const MOON_MASS_BIAS: f64 = 1.0; -pub const MOON_PERIAPSIS_BIAS: f64 = 1.0; -pub const MOON_APOAPSIS_BIAS: f64 = 1.0; -pub const MOON_ORBIT_TIME_BIAS: f64 = 1.0; +pub const MOON_MASS_BIAS: f64 = 10.0; +pub const MOON_PERIAPSIS_BIAS: f64 = 0.1; +pub const MOON_APOAPSIS_BIAS: f64 = 0.1; +pub const MOON_ORBIT_TIME_BIAS: f64 = 0.5; pub const MOON_RADIUS_RL: f64 = 1_737_400.0; pub const MOON_RADIUS: f64 = MOON_RADIUS_RL * GAME_SCALE_DISTANCE * MOON_RADIUS_BIAS; diff --git a/server/src/timer.rs b/server/src/timer.rs index e466fd539db3efa07c78bcd554a54df6573718cc..62709a9f66a0c15d69ec1138a99e07def4de170e 100644 --- a/server/src/timer.rs +++ b/server/src/timer.rs @@ -6,7 +6,7 @@ use async_std::sync::RwLock; use async_std::task::sleep; use starkingdoms_protocol::player::Player; use crate::{manager::{ClientHandlerMessage, ClientManager, PhysicsData}, SCALE, planet::Planets}; -use crate::orbit::constants::{MOON_APOAPSIS, MOON_ORBIT_TIME, MOON_PERIAPSIS}; +use crate::orbit::constants::{GAME_ORBITS_ENABLED, MOON_APOAPSIS, MOON_ORBIT_TIME, MOON_PERIAPSIS}; use crate::orbit::orbit::{calculate_point_on_orbit, calculate_world_position_of_orbit}; pub const ROTATIONAL_FORCE: f64 = 100.0; @@ -24,7 +24,10 @@ pub async fn timer_main(mgr: ClientManager, physics_data: Arc