From 652ff559cbafdfec0327c2af498b325e1722da09 Mon Sep 17 00:00:00 2001 From: c0repwn3r Date: Thu, 20 Apr 2023 11:59:24 -0400 Subject: [PATCH] code cleanup --- api/src/routes/beamin.rs | 5 +++-- api/src/routes/beamout.rs | 2 +- api/src/routes/select_realm.rs | 4 ++-- .../m20230420_144333_create_table_user_data.rs | 1 - server/src/entity.rs | 9 +++++---- server/src/handler.rs | 1 - server/src/main.rs | 3 +-- server/src/manager.rs | 3 ++- server/src/orbit/mod.rs | 1 + server/src/orbit/orbit.rs | 6 ++---- server/src/planet.rs | 10 ++++------ server/src/timer.rs | 18 +++++++++--------- spacetime | 8 ++++---- 13 files changed, 34 insertions(+), 37 deletions(-) diff --git a/api/src/routes/beamin.rs b/api/src/routes/beamin.rs index 7125cb6b53a2f83fe6995bf68efc4c15c95d9cb0..ba7c0aa21e10811c0af62d09e0b2a9eb2afb8e02 100644 --- a/api/src/routes/beamin.rs +++ b/api/src/routes/beamin.rs @@ -76,6 +76,7 @@ pub async fn beam_in(data: Json, state: Data) -> HttpRe .order_by_desc(starkingdoms_api_entities::entity::user_savefile::Column::Timestamp).all(&state.conn).await { Ok(sf) => sf, Err(e) => { + error!("database error: {}", e); return HttpResponse::InternalServerError().json(APIErrorsResponse { errors: vec![ APIError { @@ -98,12 +99,12 @@ pub async fn beam_in(data: Json, state: Data) -> HttpRe ], }); } - + let save = &user_savefile[0]; let save_id = &save.id; let save_data_str = &save.data; let save_data: APISavedPlayerData = toml::from_str(save_data_str).expect("database contained corrupted player save data"); - + HttpResponse::Ok().json(BeaminResponse { save_id: save_id.clone(), save: save_data diff --git a/api/src/routes/beamout.rs b/api/src/routes/beamout.rs index 02247910a0a6d6a9f088b955fbfbe37ae4b243fc..30a1019ee76bd9c003fb26e7dcddd6720e1207c7 100644 --- a/api/src/routes/beamout.rs +++ b/api/src/routes/beamout.rs @@ -6,7 +6,7 @@ use hmac::digest::KeyInit; use hmac::Hmac; use jwt::VerifyWithKey; use log::error; -use sea_orm::{ActiveModelTrait, ColumnTrait, EntityTrait, IntoActiveModel, QueryFilter, QueryOrder}; +use sea_orm::{ActiveModelTrait, IntoActiveModel}; use serde::{Deserialize, Serialize}; use sha2::Sha256; use ulid::Ulid; diff --git a/api/src/routes/select_realm.rs b/api/src/routes/select_realm.rs index 51f38520417f8ac462504640f65b669ab027be40..844f992a4f265ab25cebb27f574db1c7dc6246ae 100644 --- a/api/src/routes/select_realm.rs +++ b/api/src/routes/select_realm.rs @@ -1,8 +1,8 @@ use std::collections::HashMap; use actix_web::{get, HttpResponse}; -use actix_web::web::{Data, Query}; +use actix_web::web::{Data}; use log::error; -use serde::{Deserialize, Serialize}; +use serde::{Serialize}; use tera::Context; use crate::AppState; use crate::config::{CONFIG, StarkingdomsApiConfigRealm}; diff --git a/api/starkingdoms_api_migration/src/m20230420_144333_create_table_user_data.rs b/api/starkingdoms_api_migration/src/m20230420_144333_create_table_user_data.rs index a7cb40080eda4b8e9f4b5ca20777a391486e7d34..2c74b50da75e4f8dfce5eead0108ff8cdee44ae8 100644 --- a/api/starkingdoms_api_migration/src/m20230420_144333_create_table_user_data.rs +++ b/api/starkingdoms_api_migration/src/m20230420_144333_create_table_user_data.rs @@ -1,5 +1,4 @@ use sea_orm_migration::prelude::*; -use crate::m20230417_162824_create_table_users::User; use crate::m20230417_164240_create_table_user_auth_realms::UserAuthRealm; #[derive(DeriveMigrationName)] diff --git a/server/src/entity.rs b/server/src/entity.rs index 66b3309e7b4b1dc5b53b601cad92b66ec8fd2ed5..65916fb0c1ba50366c3fea0c9dc292eada02fc83 100644 --- a/server/src/entity.rs +++ b/server/src/entity.rs @@ -15,6 +15,7 @@ pub fn get_entity_id() -> EntityId { id } +#[derive(Default)] pub struct EntityHandler { pub entities: Entities, } @@ -41,7 +42,7 @@ impl EntityHandler { planets.remove(i); } } - if planets.len() == 0 { + if planets.is_empty() { return None; } Some(planets[0].clone()) @@ -73,7 +74,7 @@ impl EntityHandler { players.remove(i); } } - if players.len() == 0 { + if players.is_empty() { return None; } Some(players[0].clone().1) @@ -82,7 +83,7 @@ impl EntityHandler { pub fn gravity(&self, position: (f64, f64), mass: f64) -> (f64, f64) { let mut direction = Vector2::zeros(); let planets = self.get_planets(); - for planet in planets.clone() { + for planet in planets { let planet_grav = planet.gravity(position, mass); direction.x += planet_grav.0; direction.y += planet_grav.1; @@ -93,7 +94,7 @@ impl EntityHandler { pub fn to_protocol(&self) -> ClientHandlerMessage { let mut planets = vec![]; - for planet in self.get_planets().clone() { + for planet in self.get_planets() { // TODO: Adjust codegen to use f64 planets.push(starkingdoms_protocol::planet::Planet { planet_type: planet.planet_type.into(), diff --git a/server/src/handler.rs b/server/src/handler.rs index 13ad801cad63d780654b0cc02c80979a9cc5cca2..004ec7795b2532e64c6d16fb7faa6409febd96d9 100644 --- a/server/src/handler.rs +++ b/server/src/handler.rs @@ -20,7 +20,6 @@ use crate::{send, recv, SCALE}; use async_std::{sync::RwLock, channel::Receiver}; use async_std::net::TcpStream; use async_tungstenite::WebSocketStream; -use starkingdoms_protocol::api::APISavedPlayerData; use crate::api::{load_player_data_from_api, save_player_data_to_api}; pub async fn handle_client(mgr: ClientManager, entities: Arc>, data: Arc>, diff --git a/server/src/main.rs b/server/src/main.rs index de0d341cba322205ac60d6baa3ca8a5518fbc178..c8ed8453205b08d8894cabcf393594ef10cb7c7c 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -3,10 +3,9 @@ use std::net::SocketAddr; use async_std::io::WriteExt; use async_std::sync::Arc; use async_std::net::{TcpListener, TcpStream}; -use entity::{Entities, EntityHandler}; +use entity::{EntityHandler}; use manager::PhysicsData; use nalgebra::vector; -use planet::Planets; use rapier2d_f64::prelude::{MultibodyJointSet, ImpulseJointSet, ColliderSet, RigidBodySet, NarrowPhase, BroadPhase, IslandManager, CCDSolver, IntegrationParameters}; use lazy_static::lazy_static; use log::{error, info, Level, warn}; diff --git a/server/src/manager.rs b/server/src/manager.rs index 94eff3bb062172f9f2eeb01cddaa99c9506baf49..3ce66811767d5b8bb9d31ed45a480ad0d0e495c2 100644 --- a/server/src/manager.rs +++ b/server/src/manager.rs @@ -27,7 +27,8 @@ impl Player { APISavedPlayerData {} } - pub fn load_api_data(&mut self, data: &APISavedPlayerData) { + pub fn load_api_data(&mut self, _data: &APISavedPlayerData) { + } } diff --git a/server/src/orbit/mod.rs b/server/src/orbit/mod.rs index 818ce8bf162203fc960dfa5b841e16479ec8191a..d7d02c09c1b9de33d9aa4f54e27d70a3e997d2b3 100644 --- a/server/src/orbit/mod.rs +++ b/server/src/orbit/mod.rs @@ -1,4 +1,5 @@ pub mod constants; +#[allow(clippy::module_inception)] pub mod orbit; pub mod newtonian; pub mod kepler; diff --git a/server/src/orbit/orbit.rs b/server/src/orbit/orbit.rs index e43dce2b33db6c55a3d23750937502bc0d8445e1..226f3c5fee1c53fdc94f73211fe5bc682f6b2d44 100644 --- a/server/src/orbit/orbit.rs +++ b/server/src/orbit/orbit.rs @@ -1,15 +1,13 @@ // Mostly stolen from SebLague's plane game // thanks -use log::debug; use nalgebra::{vector, Vector2}; use crate::orbit::newtonian::solve_kepler_with_newtonian; -use crate::orbit::vis_viva::vis_viva; -use crate::planet::GRAVITY; +#[allow(clippy::too_many_arguments)] pub fn calculate_vector_of_orbit(periapsis: f64, apoapsis: f64, t: f64, current_x: f64, current_y: f64, orbiting_x: f64, orbiting_y: f64, mass: f64, step: f64) -> Vector2 { let semi_major_length = (apoapsis + periapsis) / 2.0; - let linear_eccentricity = semi_major_length - periapsis; // distance between center and focus + let _linear_eccentricity = semi_major_length - periapsis; // distance between center and focus let target = calculate_world_position_of_orbit(calculate_point_on_orbit(periapsis, apoapsis, t), vector![orbiting_x, orbiting_y]); let target_x = target[0]; diff --git a/server/src/planet.rs b/server/src/planet.rs index af995f551634c71c433986837a900df1f8bcdd3d..3c229069aa7225c4cdc416a69ae8e5c3aaa05336 100644 --- a/server/src/planet.rs +++ b/server/src/planet.rs @@ -1,11 +1,9 @@ use std::collections::HashMap; -use std::sync::Arc; -use async_std::sync::RwLock; use nalgebra::{Vector2, vector}; use rapier2d_f64::prelude::{RigidBodyHandle, RigidBodySet, ColliderBuilder, RigidBodyBuilder, ColliderSet}; use starkingdoms_protocol::planet::PlanetType; -use crate::entity::{Entities, get_entity_id, Entity, EntityId, EntityHandler}; +use crate::entity::{Entities, get_entity_id, Entity, EntityId}; use crate::{SCALE, manager::ClientHandlerMessage}; use crate::orbit::constants::{EARTH_MASS, EARTH_RADIUS, MOON_APOAPSIS, MOON_MASS, MOON_PERIAPSIS, MOON_RADIUS}; use crate::orbit::orbit::{calculate_point_on_orbit, calculate_world_position_of_orbit}; @@ -46,7 +44,7 @@ impl Planets { self.planets.get_mut(planet_id) } - pub async fn make_planet(planet_id: &str, + pub async fn make_planet(_planet_id: &str, planet_type: PlanetType, mass: f64, radius: f64, position: (f64, f64), rigid_body_set: &mut RigidBodySet, collider_set: &mut ColliderSet ) -> (EntityId, Entity) { @@ -70,8 +68,8 @@ impl Planets { })) } - pub async fn new(rigid_body_set: &mut RigidBodySet, collider_set: &mut ColliderSet, - entities: &mut Entities) -> Vec { + pub async fn create_planets(rigid_body_set: &mut RigidBodySet, collider_set: &mut ColliderSet, + entities: &mut Entities) -> Vec { let mut planet_ids: Vec = Vec::new(); let (earth_id, entity) = Planets::make_planet( "earth", diff --git a/server/src/timer.rs b/server/src/timer.rs index 2fe7909bd51f0147ae6da2a7a8f8ae7d7ff6afa3..c91f695d15001c38d393b1ad7279dbb6ea6fc050 100644 --- a/server/src/timer.rs +++ b/server/src/timer.rs @@ -1,13 +1,14 @@ use std::{time::Duration, sync::Arc}; -use log::{debug, warn}; +use log::{warn}; use nalgebra::{vector, point}; use rapier2d_f64::prelude::{PhysicsPipeline}; use async_std::sync::RwLock; use async_std::task::sleep; use starkingdoms_protocol::{player::Player, planet::PlanetType}; -use crate::{manager::{ClientHandlerMessage, ClientManager, PhysicsData}, SCALE, planet::{Planets, Planet}, entity::{Entities, Entity, EntityHandler}}; -use crate::orbit::constants::{EARTH_MASS, GAME_ORBITS_ENABLED, MOON_APOAPSIS, MOON_MASS, MOON_ORBIT_TIME, MOON_PERIAPSIS}; -use crate::orbit::orbit::{calculate_point_on_orbit, calculate_vector_of_orbit, calculate_world_position_of_orbit}; +use crate::{manager::{ClientHandlerMessage, ClientManager, PhysicsData}, SCALE, planet::{Planets, Planet}}; +use crate::entity::EntityHandler; +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; pub const LATERAL_FORCE: f64 = 100.0; @@ -16,7 +17,7 @@ pub async fn timer_main(mgr: ClientManager, physics_data: Arc