From 8590796aa000c709a87a7a8afd245838cff635b3 Mon Sep 17 00:00:00 2001 From: ghostlyzsh Date: Sat, 15 Apr 2023 17:21:31 -0500 Subject: [PATCH] new movement code --- client/src/index.ts | 2 +- server/src/handler.rs | 10 ++- server/src/planet.rs | 2 +- server/src/timer.rs | 79 +++++++++++++++--- .../__pycache__/ninja_syntax.cpython-310.pyc | Bin 5951 -> 5958 bytes 5 files changed, 76 insertions(+), 17 deletions(-) diff --git a/client/src/index.ts b/client/src/index.ts index 48a08fc93a232cef0d7f0ab535d9bcb83f1a1585..6b734ce3b2220cb66d3641fe428a273cce22a4a4 100644 --- a/client/src/index.ts +++ b/client/src/index.ts @@ -224,4 +224,4 @@ function planet_type_to_tex_id(ty: PlanetType): string { return "earth.png" } return "unknown.png" -} \ No newline at end of file +} diff --git a/server/src/handler.rs b/server/src/handler.rs index eab15adc75ea32438c5268e0bb97a1518b636666..746c57019fb2f2599c3d9e4bc11d38831b5ab5fa 100644 --- a/server/src/handler.rs +++ b/server/src/handler.rs @@ -6,8 +6,8 @@ use futures::stream::{SplitSink, SplitStream}; use futures::{FutureExt, SinkExt, StreamExt}; use hyper::upgrade::Upgraded; use log::{debug, error, info}; -use nalgebra::vector; -use rapier2d_f64::prelude::{RigidBodyBuilder, RigidBodyType, ColliderBuilder}; +use nalgebra::{vector, point}; +use rapier2d_f64::prelude::{RigidBodyBuilder, RigidBodyType, ColliderBuilder, MassProperties}; use tokio::sync::RwLock; use tokio::sync::mpsc::Receiver; use tokio_tungstenite::WebSocketStream; @@ -140,7 +140,10 @@ pub async fn handle_client(mgr: ClientManager, data: Arc>, r let player_body = RigidBodyBuilder::new(RigidBodyType::Dynamic) .translation(vector![0.0, 2100.0/SCALE]) .build(); - let player_collider = ColliderBuilder::cuboid(25.0 / SCALE, 25.0 / SCALE).build(); + let player_collider = ColliderBuilder::cuboid(25.0 / SCALE, 25.0 / SCALE) + //.mass_properties(MassProperties::new(point![0.0, 0.0], 75.0, 2000.0)) + .mass(75.0) + .build(); let player_handle = rigid_body_set.insert(player_body); collider_set.insert_with_parent(player_collider, player_handle, &mut rigid_body_set); @@ -207,7 +210,6 @@ pub async fn handle_client(mgr: ClientManager, data: Arc>, r me.input.down = p.down_pressed; me.input.left = p.left_pressed; me.input.right = p.right_pressed; - debug!("{} {} {} {}", me.input.up, me.input.down, me.input.left, me.input.right); } } } diff --git a/server/src/planet.rs b/server/src/planet.rs index 267ea33a5ce805896c2e0f9171e6617e68a24d55..0451ac9230c726599d29b46749ca1fee6927a923 100644 --- a/server/src/planet.rs +++ b/server/src/planet.rs @@ -6,7 +6,7 @@ use starkingdoms_protocol::planet::PlanetType; use crate::{SCALE, manager::ClientHandlerMessage}; //const GRAVITY: f64 = 0.001; -const GRAVITY: f64 = 6.6674; +const GRAVITY: f64 = 12.6674; #[derive(Clone)] pub struct Planet { diff --git a/server/src/timer.rs b/server/src/timer.rs index 7021a9ea126b75b8c950413ba50763ebbdc1285c..7bc8982b3145d9eaa78d33743245a0e2876d1748 100644 --- a/server/src/timer.rs +++ b/server/src/timer.rs @@ -1,13 +1,13 @@ use std::{time::Duration, sync::Arc}; use log::{debug, error}; -use nalgebra::vector; +use nalgebra::{vector, point, Vector2}; use rapier2d_f64::prelude::{PhysicsPipeline}; use tokio::{time::sleep, sync::RwLock}; use starkingdoms_protocol::player::Player; use crate::{manager::{ClientHandlerMessage, ClientManager, PhysicsData}, SCALE, planet::Planets}; -pub const ROTATIONAL_FORCE: f64 = 100.0; -pub const LATERAL_FORCE: f64 = 100.0; +pub const ROTATIONAL_FORCE: f64 = 200.0; +pub const LATERAL_FORCE: f64 = 80.0; pub async fn timer_main(mgr: ClientManager, physics_data: Arc>, world_data: Arc>) { let mut pipeline = PhysicsPipeline::new(); @@ -23,38 +23,95 @@ pub async fn timer_main(mgr: ClientManager, physics_data: ArcbUtE$?Syh~&pORXpUsPJW`4D5R FC;)<|5TyVB delta 44 ycmX@6w_lGtpO=@50SJt?SZ?HA$|z*7pOK%Ns-K)+l&W7)l%=0)y!j+!ttbEz%?(ok