M server/src/main.rs => server/src/main.rs +1 -0
@@ 23,6 23,7 @@ pub mod timer;
#[macro_use]
pub mod macros;
pub mod planet;
+pub mod orbit;
const SCALE: f64 = 1.0;
A server/src/orbit/constants.rs => server/src/orbit/constants.rs +7 -0
@@ 0,0 1,7 @@
+pub const GAME_SCALE: f64 = 0.0001567865; // 1000 / EARTH_RADIUS_RL
+
+pub const EARTH_RADIUS_RL: f64 = 6_378_100.0;
+pub const EARTH_RADIUS: f64 = EARTH_RADIUS_RL * GAME_SCALE;
+
+pub const MOON_RADIUS_RL: f64 = 1_737_400.0;
+pub const MOON_RADIUS: f64 = MOON_RADIUS_RL * GAME_SCALE;<
\ No newline at end of file
A server/src/orbit/mod.rs => server/src/orbit/mod.rs +1 -0
@@ 0,0 1,1 @@
+pub mod constants;<
\ No newline at end of file
M server/src/planet.rs => server/src/planet.rs +2 -1
@@ 3,6 3,7 @@ use rapier2d_f64::prelude::{RigidBodyHandle, RigidBodySet, ColliderBuilder, Rigi
use starkingdoms_protocol::planet::PlanetType;
use crate::{SCALE, manager::ClientHandlerMessage};
+use crate::orbit::constants::EARTH_RADIUS;
//const GRAVITY: f64 = 0.001;
const GRAVITY: f64 = 12.6674;
@@ 58,7 59,7 @@ impl Planets {
&mut planets,
PlanetType::Earth,
4000.0,
- 1000.0,
+ EARTH_RADIUS,
(100.0, 100.0),
rigid_body_set,
collider_set,