diff --git a/common/net/src/msg/compression.rs b/common/net/src/msg/compression.rs index 0b27e5826d..e7374b6747 100644 --- a/common/net/src/msg/compression.rs +++ b/common/net/src/msg/compression.rs @@ -8,6 +8,7 @@ use image::{ImageBuffer, ImageDecoder, Pixel}; use num_traits::cast::FromPrimitive; use serde::{Deserialize, Serialize}; use std::{ + f64::consts::TAU, fmt::Debug, io::{Read, Write}, marker::PhantomData, @@ -178,6 +179,7 @@ impl<'a, VIE: VoxelImageEncoding> VoxelImageEncoding for &'a VIE { fn finish(ws: &Self::Workspace) -> Option { VIE::finish(ws) } } + impl<'a, VIE: VoxelImageDecoding> VoxelImageDecoding for &'a VIE { fn start(ws: &Self::Output) -> Option { VIE::start(ws) } @@ -185,6 +187,7 @@ impl<'a, VIE: VoxelImageDecoding> VoxelImageDecoding for &'a VIE { VIE::get_block(ws, x, y, is_border) } } + #[derive(Debug, Clone, Copy, Serialize, Deserialize)] pub struct QuadPngEncoding(); @@ -270,7 +273,7 @@ impl VoxelImageEncoding for QuadPngEncoding { /// yet) const fn sin(x: f64) -> f64 { use std::f64::consts::PI; - let mut x = (x - PI * 0.5) % (PI * 2.0); + let mut x = (x - PI * 0.5) % (TAU); x = if x < 0.0 { -x } else { x } - PI; x = if x < 0.0 { -x } else { x } - PI * 0.5; diff --git a/common/src/comp/body/object.rs b/common/src/comp/body/object.rs index b452715362..94037e3507 100644 --- a/common/src/comp/body/object.rs +++ b/common/src/comp/body/object.rs @@ -5,6 +5,7 @@ use crate::{ }; use rand::{seq::SliceRandom, thread_rng}; use serde::{Deserialize, Serialize}; +use std::f32::consts::FRAC_PI_6; use vek::Vec3; make_case_elim!( @@ -302,9 +303,7 @@ impl Body { Body::Bedroll => 3.0, Body::Bench => 100.0, Body::BoltFire | Body::BoltFireBig | Body::BoltNature => 1.0, - Body::Bomb => { - 0.5 * IRON_DENSITY * std::f32::consts::PI / 6.0 * self.dimensions().x.powi(3) - }, + Body::Bomb => 0.5 * IRON_DENSITY * FRAC_PI_6 * self.dimensions().x.powi(3), Body::Campfire | Body::CampfireLit => 300.0, Body::Carpet | Body::CarpetHumanRound diff --git a/common/src/comp/body/ship.rs b/common/src/comp/body/ship.rs index 09bae038e0..d17d317cb4 100644 --- a/common/src/comp/body/ship.rs +++ b/common/src/comp/body/ship.rs @@ -5,6 +5,7 @@ use crate::{ }; use rand::prelude::SliceRandom; use serde::{Deserialize, Serialize}; +use std::f32::consts::FRAC_PI_6; use vek::Vec3; pub const ALL_BODIES: [Body; 2] = [Body::DefaultAirship, Body::AirBalloon]; @@ -46,9 +47,8 @@ impl Body { } fn balloon_vol(&self) -> f32 { - let spheroid_vol = |equat_d: f32, polar_d: f32| -> f32 { - (std::f32::consts::PI / 6.0) * equat_d.powi(2) * polar_d - }; + let spheroid_vol = + |equat_d: f32, polar_d: f32| -> f32 { FRAC_PI_6 * equat_d.powi(2) * polar_d }; let dim = self.dimensions(); spheroid_vol(dim.z, dim.y) } @@ -57,7 +57,7 @@ impl Body { // height from bottom of keel to deck let deck_height = 10_f32; let dim = self.dimensions(); - (std::f32::consts::PI / 6.0) * (deck_height * 1.5).powi(2) * dim.y + FRAC_PI_6 * (deck_height * 1.5).powi(2) * dim.y } pub fn hull_density(&self) -> Density { diff --git a/common/src/comp/fluid_dynamics.rs b/common/src/comp/fluid_dynamics.rs index 6e233545e3..faae2bbcbf 100644 --- a/common/src/comp/fluid_dynamics.rs +++ b/common/src/comp/fluid_dynamics.rs @@ -6,7 +6,7 @@ use crate::{ util::{Dir, Plane, Projection}, }; use serde::{Deserialize, Serialize}; -use std::f32::consts::PI; +use std::f32::consts::{FRAC_PI_2, FRAC_PI_4, FRAC_PI_6, PI}; use vek::*; #[derive(Copy, Clone, Debug, PartialEq, Serialize, Deserialize)] @@ -300,7 +300,7 @@ impl Body { _ => { let dim = self.dimensions(); const CD: f32 = 2.0; - CD * (PI / 6.0 * dim.x * dim.y * dim.z).powf(2.0 / 3.0) + CD * (FRAC_PI_6 * dim.x * dim.y * dim.z).powf(2.0 / 3.0) }, }, @@ -308,7 +308,7 @@ impl Body { // Airships tend to use the square of the cube root of its volume for // reference area let dim = self.dimensions(); - (PI / 6.0 * dim.x * dim.y * dim.z).powf(2.0 / 3.0) + (FRAC_PI_6 * dim.x * dim.y * dim.z).powf(2.0 / 3.0) }, } } @@ -323,7 +323,7 @@ impl Body { pub fn angle_of_attack(ori: &Ori, rel_flow_dir: &Dir) -> f32 { rel_flow_dir .projected(&Plane::from(ori.right())) - .map(|flow_dir| PI / 2.0 - ori.up().angle_between(flow_dir.to_vec())) + .map(|flow_dir| FRAC_PI_2 - ori.up().angle_between(flow_dir.to_vec())) .unwrap_or(0.0) } @@ -341,7 +341,7 @@ pub fn lift_coefficient(aspect_ratio: f32, planform_area: f32, aoa: f32) -> f32 // to just throw your hands up and return 0 let aoa_s = aoa.signum(); let c_l_max = lift_slope(aspect_ratio, None) * stall_angle; - let deg_45 = PI / 4.0; + let deg_45 = FRAC_PI_4; if aoa_abs < deg_45 { // drop directly to 0.6 * max lift at stall angle // then climb back to max at 45° diff --git a/common/src/comp/ori.rs b/common/src/comp/ori.rs index f6cc9b75c6..c6b0436983 100644 --- a/common/src/comp/ori.rs +++ b/common/src/comp/ori.rs @@ -2,7 +2,7 @@ use crate::util::{Dir, Plane, Projection}; use serde::{Deserialize, Serialize}; use specs::Component; use specs_idvs::IdvStorage; -use std::f32::consts::PI; +use std::f32::consts::FRAC_PI_2; use vek::{Quaternion, Vec2, Vec3}; // Orientation @@ -50,13 +50,13 @@ impl Ori { /// Look direction (as a Dir it is pedantically normalized) pub fn look_dir(&self) -> Dir { self.to_quat() * Dir::default() } - pub fn up(&self) -> Dir { self.pitched_up(PI / 2.0).look_dir() } + pub fn up(&self) -> Dir { self.pitched_up(FRAC_PI_2).look_dir() } - pub fn down(&self) -> Dir { self.pitched_down(PI / 2.0).look_dir() } + pub fn down(&self) -> Dir { self.pitched_down(FRAC_PI_2).look_dir() } - pub fn left(&self) -> Dir { self.yawed_left(PI / 2.0).look_dir() } + pub fn left(&self) -> Dir { self.yawed_left(FRAC_PI_2).look_dir() } - pub fn right(&self) -> Dir { self.yawed_right(PI / 2.0).look_dir() } + pub fn right(&self) -> Dir { self.yawed_right(FRAC_PI_2).look_dir() } pub fn slerp(ori1: Self, ori2: Self, s: f32) -> Self { Self(Quaternion::slerp(ori1.0, ori2.0, s).normalized()) @@ -329,6 +329,7 @@ impl Component for Ori { #[cfg(test)] mod tests { use super::*; + use std::f32::consts::TAU; #[test] fn from_to_dir() { @@ -341,7 +342,7 @@ mod tests { let angles = 32; for i in 0..angles { - let theta = PI * 2. * (i as f32) / (angles as f32); + let theta = TAU * (i as f32) / (angles as f32); let v = Vec3::unit_y(); let q = Quaternion::rotation_x(theta); from_to(Dir::new(q * v)); diff --git a/common/src/states/glide.rs b/common/src/states/glide.rs index 0c60945cd7..5c4d1cc959 100644 --- a/common/src/states/glide.rs +++ b/common/src/states/glide.rs @@ -8,7 +8,7 @@ use crate::{ util::{Dir, Plane, Projection}, }; use serde::{Deserialize, Serialize}; -use std::f32::consts::PI; +use std::f32::consts::{FRAC_PI_2, FRAC_PI_3, PI}; use vek::*; const PITCH_SLOW_TIME: f32 = 0.5; @@ -53,7 +53,7 @@ impl Data { }; let look_ori = Ori::from(data.inputs.look_dir); look_ori - .yawed_right(PI / 3.0 * look_ori.right().xy().dot(move_dir)) + .yawed_right(FRAC_PI_3 * look_ori.right().xy().dot(move_dir)) .pitched_up(PI * 0.04) .pitched_down( data.inputs @@ -150,7 +150,7 @@ impl CharacterBehavior for Data { air_flow.0.magnitude_squared().min(40_f32.powi(2)) / 40_f32.powi(2); Quaternion::rotation_3d( - -PI / 2.0 * speed_factor, + -FRAC_PI_2 * speed_factor, ori.up() .cross(air_flow.0) .try_normalized() @@ -163,7 +163,7 @@ impl CharacterBehavior for Data { let accel_factor = accel.magnitude_squared().min(1.0) / 1.0; Quaternion::rotation_3d( - PI / 2.0 + FRAC_PI_2 * accel_factor * if data.physics.on_ground.is_some() { -1.0 diff --git a/common/src/states/utils.rs b/common/src/states/utils.rs index 0c8eabfff5..ef6f09b03c 100644 --- a/common/src/states/utils.rs +++ b/common/src/states/utils.rs @@ -16,11 +16,13 @@ use crate::{ }; use serde::{Deserialize, Serialize}; use std::{ + f32::consts::PI, ops::{Add, Div}, time::Duration, }; use strum_macros::Display; use vek::*; + pub const MOVEMENT_THRESHOLD_VEL: f32 = 3.0; impl Body { @@ -351,7 +353,7 @@ pub fn handle_orientation(data: &JoinData, update: &mut StateUpdate, efficiency: { let rate = { let angle = update.ori.look_dir().angle_between(*dir); - data.body.base_ori_rate() * efficiency * std::f32::consts::PI / angle + data.body.base_ori_rate() * efficiency * PI / angle }; update.ori = update .ori diff --git a/server/src/cmd.rs b/server/src/cmd.rs index d61b79d3fd..239a73b95e 100644 --- a/server/src/cmd.rs +++ b/server/src/cmd.rs @@ -50,6 +50,7 @@ use world::util::Sampler; use crate::{client::Client, login_provider::LoginProvider, wiring}; use scan_fmt::{scan_fmt, scan_fmt_some}; +use std::f32::consts::PI; use tracing::{error, info, warn}; pub trait ChatCommandExt { @@ -1149,7 +1150,7 @@ fn handle_spawn_airship( let mut pos = position(server, target, "target")?; pos.0.z += 50.0; const DESTINATION_RADIUS: f32 = 2000.0; - let angle = angle.map(|a| a * std::f32::consts::PI / 180.0); + let angle = angle.map(|a| a * PI / 180.0); let destination = angle.map(|a| { pos.0 + Vec3::new( diff --git a/server/src/rtsim/entity.rs b/server/src/rtsim/entity.rs index 3f24371038..7d8fa683f3 100644 --- a/server/src/rtsim/entity.rs +++ b/server/src/rtsim/entity.rs @@ -7,7 +7,7 @@ use common::{ terrain::TerrainGrid, }; use rand_distr::{Distribution, Normal}; -use std::f32::consts::PI; +use std::f32::consts::FRAC_PI_2; use tracing::warn; use world::{ civ::{Site, Track}, @@ -156,7 +156,7 @@ impl Entity { let offset_dir = (offset_site_pos - self.pos.xy()).normalized(); let dist = (offset_site_pos - self.pos.xy()).magnitude(); let midpoint = self.pos.xy() + offset_dir * (dist / 2.0); - let perp_dir = offset_dir.rotated_z(PI / 2.0); + let perp_dir = offset_dir.rotated_z(FRAC_PI_2); let offset = normaloff.sample(&mut rng); let inbetween_pos = midpoint + (perp_dir * offset); diff --git a/server/src/sys/agent.rs b/server/src/sys/agent.rs index 702ff4c515..633eafc874 100644 --- a/server/src/sys/agent.rs +++ b/server/src/sys/agent.rs @@ -46,7 +46,11 @@ use specs::{ Entities, Entity as EcsEntity, Join, ParJoin, Read, ReadExpect, ReadStorage, SystemData, World, Write, WriteExpect, WriteStorage, }; -use std::{f32::consts::PI, sync::Arc, time::Duration}; +use std::{ + f32::consts::{FRAC_PI_2, PI}, + sync::Arc, + time::Duration, +}; use vek::*; struct AgentData<'a> { @@ -2328,7 +2332,7 @@ impl<'a> AgentData<'a> { { controller.inputs.move_dir = bearing .xy() - .rotated_z(thread_rng().gen_range(0.5..1.57)) + .rotated_z(thread_rng().gen_range(0.5..FRAC_PI_2)) .try_normalized() .unwrap_or_else(Vec2::zero) * speed; @@ -2425,7 +2429,7 @@ impl<'a> AgentData<'a> { { controller.inputs.move_dir = bearing .xy() - .rotated_z(thread_rng().gen_range(-1.57..-0.5)) + .rotated_z(thread_rng().gen_range(-FRAC_PI_2..-0.5)) .try_normalized() .unwrap_or_else(Vec2::zero) * speed; @@ -2549,7 +2553,7 @@ impl<'a> AgentData<'a> { { controller.inputs.move_dir = bearing .xy() - .rotated_z(thread_rng().gen_range(0.5..1.57)) + .rotated_z(thread_rng().gen_range(0.5..FRAC_PI_2)) .try_normalized() .unwrap_or_else(Vec2::zero) * speed; diff --git a/voxygen/anim/src/biped_large/alpha.rs b/voxygen/anim/src/biped_large/alpha.rs index 7f2ac702ed..296a75ad9d 100644 --- a/voxygen/anim/src/biped_large/alpha.rs +++ b/voxygen/anim/src/biped_large/alpha.rs @@ -6,7 +6,7 @@ use common::{ comp::item::tool::{AbilitySpec, ToolKind}, states::utils::StageSection, }; -use std::f32::consts::PI; +use std::f32::consts::{FRAC_PI_2, FRAC_PI_3, PI}; pub struct AlphaAnimation; @@ -27,7 +27,6 @@ impl Animation for AlphaAnimation { const UPDATE_FN: &'static [u8] = b"biped_large_alpha\0"; #[cfg_attr(feature = "be-dyn-lib", export_name = "biped_large_alpha")] - #[allow(clippy::approx_constant)] // TODO: Pending review in #587 fn update_skeleton_inner<'a>( skeleton: &Self::Skeleton, ( @@ -109,7 +108,7 @@ impl Animation for AlphaAnimation { next.upper_torso.orientation = Quaternion::rotation_z(move1 * 0.5 + move2 * -0.7); next.lower_torso.orientation = Quaternion::rotation_z(move1 * -0.5 + move2 * 0.7); next.control_l.orientation = - Quaternion::rotation_x(PI / 2.0 + move1 * -0.5 + move2 * 1.5) + Quaternion::rotation_x(FRAC_PI_2 + move1 * -0.5 + move2 * 1.5) * Quaternion::rotation_y(-0.2); next.control_r.orientation = Quaternion::rotation_x(PI / 2.2 + move1 * -0.5 + move2 * 1.5) @@ -135,8 +134,8 @@ impl Animation for AlphaAnimation { next.lower_torso.orientation = Quaternion::rotation_z(move1 * -0.2 + move2 * 0.2); next.control_l.orientation = - Quaternion::rotation_x(PI / 2.0 + move2 * 0.8) * Quaternion::rotation_y(-0.0); - next.control_r.orientation = Quaternion::rotation_x(PI / 2.0 + 0.2 + move2 * 0.8) + Quaternion::rotation_x(FRAC_PI_2 + move2 * 0.8) * Quaternion::rotation_y(-0.0); + next.control_r.orientation = Quaternion::rotation_x(FRAC_PI_2 + 0.2 + move2 * 0.8) * Quaternion::rotation_y(0.0) * Quaternion::rotation_z(0.0); @@ -160,8 +159,8 @@ impl Animation for AlphaAnimation { next.lower_torso.orientation = Quaternion::rotation_z(move1 * -0.6 + move2 * 0.9); next.control_l.orientation = - Quaternion::rotation_x(PI / 2.0 + move2 * 0.8) * Quaternion::rotation_y(-0.0); - next.control_r.orientation = Quaternion::rotation_x(PI / 2.0 + 0.2 + move2 * 0.8) + Quaternion::rotation_x(FRAC_PI_2 + move2 * 0.8) * Quaternion::rotation_y(-0.0); + next.control_r.orientation = Quaternion::rotation_x(FRAC_PI_2 + 0.2 + move2 * 0.8) * Quaternion::rotation_y(0.0) * Quaternion::rotation_z(0.0); @@ -192,11 +191,11 @@ impl Animation for AlphaAnimation { ); next.control_l.orientation = - Quaternion::rotation_x(PI / 3.0 + move1 * 0.5) + Quaternion::rotation_x(FRAC_PI_3 + move1 * 0.5) * Quaternion::rotation_y(-0.15) * Quaternion::rotation_z(move1 * 0.5 + move2 * -0.6); next.control_r.orientation = - Quaternion::rotation_x(PI / 3.0 + move1 * 0.5) + Quaternion::rotation_x(FRAC_PI_3 + move1 * 0.5) * Quaternion::rotation_y(0.15) * Quaternion::rotation_z(move1 * -0.5 + move2 * 0.6); next.head.orientation = Quaternion::rotation_x(move1 * 0.3); @@ -222,15 +221,15 @@ impl Animation for AlphaAnimation { ); next.hand_l.orientation = - Quaternion::rotation_x(PI / 3.0 + move2 * 1.5) + Quaternion::rotation_x(FRAC_PI_3 + move2 * 1.5) * Quaternion::rotation_y(move2 * 0.5) * Quaternion::rotation_z( -0.35 + move1 * -0.5 + move2 * 1.0, ); next.hand_r.position = Vec3::new(14.0, 2.0, -4.0); - next.hand_r.orientation = - Quaternion::rotation_x(PI / 3.0) * Quaternion::rotation_z(0.35); + next.hand_r.orientation = Quaternion::rotation_x(FRAC_PI_3) + * Quaternion::rotation_z(0.35); next.shoulder_r.orientation = Quaternion::rotation_x(0.0); } else { @@ -253,12 +252,12 @@ impl Animation for AlphaAnimation { ); next.hand_r.orientation = - Quaternion::rotation_x(PI / 3.0 + move2 * 1.5) + Quaternion::rotation_x(FRAC_PI_3 + move2 * 1.5) * Quaternion::rotation_y(move2 * -0.5) * Quaternion::rotation_z(0.35 + move1 * 0.5 + move2 * -1.0); next.hand_l.position = Vec3::new(-14.0, 2.0, -4.0); - next.hand_l.orientation = Quaternion::rotation_x(PI / 3.0) + next.hand_l.orientation = Quaternion::rotation_x(FRAC_PI_3) * Quaternion::rotation_z(-0.35); next.shoulder_l.orientation = Quaternion::rotation_x(0.0); @@ -286,8 +285,10 @@ impl Animation for AlphaAnimation { * Quaternion::rotation_y(move1 * 0.3 + move2 * -0.6) * Quaternion::rotation_z(move1 * -0.8 + move2 * 1.8); - next.control_l.orientation = Quaternion::rotation_x(1.57 + move2 * 1.0); - next.control_r.orientation = Quaternion::rotation_x(1.57 + move2 * 1.0); + next.control_l.orientation = + Quaternion::rotation_x(FRAC_PI_2 + move2 * 1.0); + next.control_r.orientation = + Quaternion::rotation_x(FRAC_PI_2 + move2 * 1.0); next.shoulder_l.orientation = Quaternion::rotation_x(-0.3) * Quaternion::rotation_y(move1 * 0.7 + move2 * -0.7); @@ -315,10 +316,10 @@ impl Animation for AlphaAnimation { Quaternion::rotation_z(move1 * -0.2 + move2 * 0.2); next.control_l.orientation = - Quaternion::rotation_x(PI / 2.0 + move2 * 0.8) + Quaternion::rotation_x(FRAC_PI_2 + move2 * 0.8) * Quaternion::rotation_y(-0.0); next.control_r.orientation = - Quaternion::rotation_x(PI / 2.0 + 0.2 + move2 * 0.8) + Quaternion::rotation_x(FRAC_PI_2 + 0.2 + move2 * 0.8) * Quaternion::rotation_y(0.0) * Quaternion::rotation_z(0.0); @@ -373,10 +374,10 @@ impl Animation for AlphaAnimation { -s_a.grip.0 / 0.8, ); - next.control_l.orientation = Quaternion::rotation_x(PI / 2.0) + next.control_l.orientation = Quaternion::rotation_x(FRAC_PI_2) * Quaternion::rotation_y(-0.0) * Quaternion::rotation_z(PI); - next.control_r.orientation = Quaternion::rotation_x(PI / 2.0 + 0.2) + next.control_r.orientation = Quaternion::rotation_x(FRAC_PI_2 + 0.2) * Quaternion::rotation_y(-1.0 + move1 * 1.0) * Quaternion::rotation_z(0.0); diff --git a/voxygen/anim/src/biped_large/beam.rs b/voxygen/anim/src/biped_large/beam.rs index 91185538ed..eea8dbc4b7 100644 --- a/voxygen/anim/src/biped_large/beam.rs +++ b/voxygen/anim/src/biped_large/beam.rs @@ -6,7 +6,7 @@ use common::{ comp::item::{AbilitySpec, ToolKind}, states::utils::StageSection, }; -use std::f32::consts::PI; +use std::f32::consts::{FRAC_PI_2, FRAC_PI_3, PI}; pub struct BeamAnimation; @@ -103,7 +103,7 @@ impl Animation for BeamAnimation { next.jaw.orientation = Quaternion::rotation_x(0.0); next.control_l.orientation = - Quaternion::rotation_x(PI / 2.0) * Quaternion::rotation_y(-0.5); + Quaternion::rotation_x(FRAC_PI_2) * Quaternion::rotation_y(-0.5); next.control_r.orientation = Quaternion::rotation_x(PI / 2.5 + move1 * 0.4) * Quaternion::rotation_y(0.5) * Quaternion::rotation_z(move1 * 1.2 + move2shake * 0.5); @@ -138,13 +138,13 @@ impl Animation for BeamAnimation { next.hand_l.position = Vec3::new(-14.0 + move1 * 3.0, 2.0, -4.0); next.hand_l.orientation = - Quaternion::rotation_x(PI / 3.0 + move2shake * -0.07) + Quaternion::rotation_x(FRAC_PI_3 + move2shake * -0.07) * Quaternion::rotation_y(move1 * -0.5) * Quaternion::rotation_z(-0.35 + move2shake * 0.07); next.hand_r.position = Vec3::new(14.0 + move1 - 3.0, 2.0, -4.0); next.hand_r.orientation = - Quaternion::rotation_x(PI / 3.0 + move2shake * 0.07) + Quaternion::rotation_x(FRAC_PI_3 + move2shake * 0.07) * Quaternion::rotation_y(move1 * -0.5) * Quaternion::rotation_z(0.35 - move2shake * 0.07); @@ -158,13 +158,13 @@ impl Animation for BeamAnimation { next.hand_l.position = Vec3::new(-14.0 + move1 * 3.0, 2.0, -4.0); next.hand_l.orientation = - Quaternion::rotation_x(PI / 3.0 + move2shake * 0.07) + Quaternion::rotation_x(FRAC_PI_3 + move2shake * 0.07) * Quaternion::rotation_y(move1 * 0.5) * Quaternion::rotation_z(-0.35 + move2shake * 0.07); next.hand_r.position = Vec3::new(14.0 + move1 - 3.0, 2.0, -4.0); next.hand_r.orientation = - Quaternion::rotation_x(PI / 3.0 + move2shake * -0.07) + Quaternion::rotation_x(FRAC_PI_3 + move2shake * -0.07) * Quaternion::rotation_y(move1 * 0.5) * Quaternion::rotation_z(0.35 - move2shake * -0.07); @@ -182,14 +182,14 @@ impl Animation for BeamAnimation { Quaternion::rotation_x(move2 * -0.5 + move2shake * -0.1); next.control_l.position = Vec3::new(-0.5, 4.0, 1.0); next.control_r.position = Vec3::new(-0.5, 4.0, 1.0); - next.control_l.orientation = Quaternion::rotation_x(1.57); - next.control_r.orientation = Quaternion::rotation_x(1.57); + next.control_l.orientation = Quaternion::rotation_x(FRAC_PI_2); + next.control_r.orientation = Quaternion::rotation_x(FRAC_PI_2); next.weapon_l.position = Vec3::new(-12.0, -1.0, -15.0); next.weapon_r.position = Vec3::new(12.0, -1.0, -15.0); - next.weapon_l.orientation = Quaternion::rotation_x(-1.57 - 0.1); - next.weapon_r.orientation = Quaternion::rotation_x(-1.57 - 0.1); + next.weapon_l.orientation = Quaternion::rotation_x(-FRAC_PI_2 - 0.1); + next.weapon_r.orientation = Quaternion::rotation_x(-FRAC_PI_2 - 0.1); next.arm_control_r.orientation = Quaternion::rotation_x(move1 * 1.1 + move2 * -1.6) @@ -245,8 +245,8 @@ impl Animation for BeamAnimation { Vec3::new(-6.0, 0.0 + s_a.grip.0 / 1.0, -s_a.grip.0 / 0.8); next.control_l.orientation = - Quaternion::rotation_x(PI / 2.0) * Quaternion::rotation_z(PI); - next.control_r.orientation = Quaternion::rotation_x(PI / 2.0 + 0.2) + Quaternion::rotation_x(FRAC_PI_2) * Quaternion::rotation_z(PI); + next.control_r.orientation = Quaternion::rotation_x(FRAC_PI_2 + 0.2) * Quaternion::rotation_y(-1.0); next.control.orientation = diff --git a/voxygen/anim/src/biped_large/beta.rs b/voxygen/anim/src/biped_large/beta.rs index 6af78b06e6..224233db4c 100644 --- a/voxygen/anim/src/biped_large/beta.rs +++ b/voxygen/anim/src/biped_large/beta.rs @@ -6,7 +6,7 @@ use common::{ comp::item::tool::{AbilitySpec, ToolKind}, states::utils::StageSection, }; -use std::f32::consts::PI; +use std::f32::consts::{FRAC_PI_2, FRAC_PI_3, PI}; pub struct BetaAnimation; @@ -105,7 +105,7 @@ impl Animation for BetaAnimation { next.lower_torso.orientation = Quaternion::rotation_z(move1base * -0.5 + move2 * 0.7); next.control_l.orientation = - Quaternion::rotation_x(PI / 2.0 + move1 * -0.5 + move2 * 1.5) + Quaternion::rotation_x(FRAC_PI_2 + move1 * -0.5 + move2 * 1.5) * Quaternion::rotation_y(-0.2); next.control_r.orientation = Quaternion::rotation_x(PI / 2.2 + move1 * -0.5 + move2 * 1.5) @@ -131,8 +131,8 @@ impl Animation for BetaAnimation { next.lower_torso.orientation = Quaternion::rotation_z(move1 * -0.6 + move2 * 1.5); next.control_l.orientation = - Quaternion::rotation_x(PI / 2.0 + move2 * 0.8) * Quaternion::rotation_y(-0.0); - next.control_r.orientation = Quaternion::rotation_x(PI / 2.0 + 0.2 + move2 * 0.8) + Quaternion::rotation_x(FRAC_PI_2 + move2 * 0.8) * Quaternion::rotation_y(-0.0); + next.control_r.orientation = Quaternion::rotation_x(FRAC_PI_2 + 0.2 + move2 * 0.8) * Quaternion::rotation_y(0.0) * Quaternion::rotation_z(0.0); @@ -156,8 +156,8 @@ impl Animation for BetaAnimation { next.lower_torso.orientation = Quaternion::rotation_z(move1 * -1.2 + move2 * 1.0); next.control_l.orientation = - Quaternion::rotation_x(PI / 2.0 + move2 * 0.8) * Quaternion::rotation_y(-0.0); - next.control_r.orientation = Quaternion::rotation_x(PI / 2.0 + 0.2 + move2 * 0.8) + Quaternion::rotation_x(FRAC_PI_2 + move2 * 0.8) * Quaternion::rotation_y(-0.0); + next.control_r.orientation = Quaternion::rotation_x(FRAC_PI_2 + 0.2 + move2 * 0.8) * Quaternion::rotation_y(0.0) * Quaternion::rotation_z(0.0); @@ -188,11 +188,11 @@ impl Animation for BetaAnimation { ); next.control_l.orientation = - Quaternion::rotation_x(PI / 3.0 + move1 * 0.5) + Quaternion::rotation_x(FRAC_PI_3 + move1 * 0.5) * Quaternion::rotation_y(-0.15) * Quaternion::rotation_z(move1 * 0.5 + move2 * -0.6); next.control_r.orientation = - Quaternion::rotation_x(PI / 3.0 + move1 * 0.5) + Quaternion::rotation_x(FRAC_PI_3 + move1 * 0.5) * Quaternion::rotation_y(0.15) * Quaternion::rotation_z(move1 * -0.5 + move2 * 0.6); next.head.orientation = Quaternion::rotation_x(move1 * 0.3); @@ -223,11 +223,11 @@ impl Animation for BetaAnimation { ); next.control_l.orientation = - Quaternion::rotation_x(PI / 3.0 + move1 * 0.5) + Quaternion::rotation_x(FRAC_PI_3 + move1 * 0.5) * Quaternion::rotation_y(-0.15) * Quaternion::rotation_z(move1 * 0.5 + move2 * -0.6); next.control_r.orientation = - Quaternion::rotation_x(PI / 3.0 + move1 * 0.5) + Quaternion::rotation_x(FRAC_PI_3 + move1 * 0.5) * Quaternion::rotation_y(0.15) * Quaternion::rotation_z(move1 * -0.5 + move2 * 0.6); next.head.orientation = Quaternion::rotation_x(move1 * 0.3); diff --git a/voxygen/anim/src/biped_large/blink.rs b/voxygen/anim/src/biped_large/blink.rs index d24bd0a605..fac133f6e3 100644 --- a/voxygen/anim/src/biped_large/blink.rs +++ b/voxygen/anim/src/biped_large/blink.rs @@ -3,7 +3,7 @@ use super::{ BipedLargeSkeleton, SkeletonAttr, }; use common::{comp::item::ToolKind, states::utils::StageSection}; -use std::f32::consts::PI; +use std::f32::consts::{FRAC_PI_2, PI}; pub struct BlinkAnimation; @@ -22,7 +22,6 @@ impl Animation for BlinkAnimation { const UPDATE_FN: &'static [u8] = b"biped_large_blink\0"; #[cfg_attr(feature = "be-dyn-lib", export_name = "biped_large_blink")] - #[allow(clippy::approx_constant)] // TODO: Pending review in #587 fn update_skeleton_inner<'a>( skeleton: &Self::Skeleton, (active_tool_kind, _second_tool_kind, velocity, _global_time, stage_section, acc_vel): Self::Dependency<'a>, @@ -92,7 +91,7 @@ impl Animation for BlinkAnimation { -11.0 + -s_a.grip.0 / 2.0, ); - next.control_l.orientation = Quaternion::rotation_x(PI / 2.0 - move1 * -0.8) + next.control_l.orientation = Quaternion::rotation_x(FRAC_PI_2 - move1 * -0.8) * Quaternion::rotation_y(-0.5 + move1 * -0.0) * Quaternion::rotation_z(move1 * 0.0); next.control_r.orientation = Quaternion::rotation_x(PI / 2.5 + move1 * 0.7) diff --git a/voxygen/anim/src/biped_large/charge.rs b/voxygen/anim/src/biped_large/charge.rs index 0ace47771e..31d9a250f9 100644 --- a/voxygen/anim/src/biped_large/charge.rs +++ b/voxygen/anim/src/biped_large/charge.rs @@ -3,6 +3,7 @@ use super::{ BipedLargeSkeleton, SkeletonAttr, }; use common::comp::item::ToolKind; +use std::f32::consts::FRAC_PI_2; pub struct ChargeAnimation; @@ -34,7 +35,8 @@ impl Animation for ChargeAnimation { let foot = ((5.0 / (0.2 + 4.8 * ((anim_time * lab * 8.0).sin()).powi(2))).sqrt()) * ((anim_time * lab * 8.0).sin()); - let foote = ((5.0 / (0.5 + 4.5 * ((anim_time * lab * 8.0 + 1.57).sin()).powi(2))).sqrt()) + let foote = ((5.0 / (0.5 + 4.5 * ((anim_time * lab * 8.0 + FRAC_PI_2).sin()).powi(2))) + .sqrt()) * ((anim_time * lab * 8.0).sin()); let stress = ((5.0 / (0.5 + 4.5 * ((anim_time * lab * 20.0).cos()).powi(2))).sqrt()) * ((anim_time * lab * 20.0).cos()); @@ -99,7 +101,7 @@ impl Animation for ChargeAnimation { next.hand_r.orientation = Quaternion::rotation_x(s_a.bhr.3); next.hold.position = Vec3::new(0.0, -1.0, -15.2); - next.hold.orientation = Quaternion::rotation_x(-1.57); + next.hold.orientation = Quaternion::rotation_x(-FRAC_PI_2); next.hold.scale = Vec3::one() * 1.0; next.control.position = Vec3::new( diff --git a/voxygen/anim/src/biped_large/chargemelee.rs b/voxygen/anim/src/biped_large/chargemelee.rs index 74162d0691..ee645f114a 100644 --- a/voxygen/anim/src/biped_large/chargemelee.rs +++ b/voxygen/anim/src/biped_large/chargemelee.rs @@ -26,7 +26,6 @@ impl Animation for ChargeMeleeAnimation { const UPDATE_FN: &'static [u8] = b"biped_large_chargemelee\0"; #[cfg_attr(feature = "be-dyn-lib", export_name = "biped_large_chargemelee")] - #[allow(clippy::approx_constant)] // TODO: Pending review in #587 fn update_skeleton_inner<'a>( skeleton: &Self::Skeleton, ( diff --git a/voxygen/anim/src/biped_large/dash.rs b/voxygen/anim/src/biped_large/dash.rs index f697264bc8..4b7f32d6f5 100644 --- a/voxygen/anim/src/biped_large/dash.rs +++ b/voxygen/anim/src/biped_large/dash.rs @@ -6,7 +6,7 @@ use common::{ comp::item::tool::{AbilitySpec, ToolKind}, states::utils::StageSection, }; -use std::f32::consts::PI; +use std::f32::consts::{FRAC_PI_2, FRAC_PI_3, PI}; pub struct DashAnimation; @@ -114,7 +114,7 @@ impl Animation for DashAnimation { next.lower_torso.orientation = Quaternion::rotation_x(move2 * 0.2 + move3 * -0.2) * Quaternion::rotation_z(move1 * -0.8 + move3 * 0.7); next.control_l.orientation = - Quaternion::rotation_x(PI / 2.0 + move1 * -0.5 + move2 * 1.5) + Quaternion::rotation_x(FRAC_PI_2 + move1 * -0.5 + move2 * 1.5) * Quaternion::rotation_y(-0.2); next.control_r.orientation = Quaternion::rotation_x(PI / 2.2 + move1 * -0.5 + move2 * 1.5) @@ -143,9 +143,9 @@ impl Animation for DashAnimation { * Quaternion::rotation_x(move1 * 0.4 + move3 * -0.7 + footrotr * 0.1) * Quaternion::rotation_z(move1 * -0.6 + move3 * 1.6); - next.control_l.orientation = Quaternion::rotation_x(PI / 2.0 + move3 * 0.3) + next.control_l.orientation = Quaternion::rotation_x(FRAC_PI_2 + move3 * 0.3) * Quaternion::rotation_y(move1 * 0.7); - next.control_r.orientation = Quaternion::rotation_x(PI / 2.0 + 0.2 + move3 * -0.2) + next.control_r.orientation = Quaternion::rotation_x(FRAC_PI_2 + 0.2 + move3 * -0.2) * Quaternion::rotation_y(0.0) * Quaternion::rotation_z(0.0); @@ -187,8 +187,8 @@ impl Animation for DashAnimation { * Quaternion::rotation_y(move1 * 0.6 + move2 * -0.6) * Quaternion::rotation_z(move3 * -0.5); - next.control_l.orientation = Quaternion::rotation_x(1.57); - next.control_r.orientation = Quaternion::rotation_x(1.57); + next.control_l.orientation = Quaternion::rotation_x(FRAC_PI_2); + next.control_r.orientation = Quaternion::rotation_x(FRAC_PI_2); next.control.orientation = Quaternion::rotation_x(0.0) * Quaternion::rotation_y(0.0); @@ -200,7 +200,7 @@ impl Animation for DashAnimation { next.head.orientation = Quaternion::rotation_x(0.0) * Quaternion::rotation_z(move1 * -0.3); next.upper_torso.orientation = Quaternion::rotation_x(move1 * -0.1) - * Quaternion::rotation_z(move1 * 1.57); + * Quaternion::rotation_z(move1 * FRAC_PI_2); next.lower_torso.orientation = Quaternion::rotation_x(move1 * 0.1) * Quaternion::rotation_x(move1 * -0.1) * Quaternion::rotation_z(move1 * -0.2); @@ -208,13 +208,13 @@ impl Animation for DashAnimation { next.hand_l.position = Vec3::new(-14.0, 2.0 + motion * 1.5, -4.0); next.hand_l.orientation = - Quaternion::rotation_x(PI / 3.0 + move1 * 1.0) + Quaternion::rotation_x(FRAC_PI_3 + move1 * 1.0) * Quaternion::rotation_y(0.0) * Quaternion::rotation_z(-0.35 + motion * -0.6); next.hand_r.position = Vec3::new(14.0, 2.0 + motion * -1.5, -4.0); next.hand_r.orientation = - Quaternion::rotation_x(PI / 3.0 + move1 * 1.0) + Quaternion::rotation_x(FRAC_PI_3 + move1 * 1.0) * Quaternion::rotation_y(0.0) * Quaternion::rotation_z(0.35 + motion * 0.6); diff --git a/voxygen/anim/src/biped_large/equip.rs b/voxygen/anim/src/biped_large/equip.rs index b40ebd6ff2..57e34cc62e 100644 --- a/voxygen/anim/src/biped_large/equip.rs +++ b/voxygen/anim/src/biped_large/equip.rs @@ -3,7 +3,7 @@ use super::{ BipedLargeSkeleton, SkeletonAttr, }; use common::comp::item::ToolKind; -use std::f32::consts::PI; +use std::f32::consts::{FRAC_PI_2, FRAC_PI_4, PI}; pub struct EquipAnimation; @@ -15,7 +15,6 @@ impl Animation for EquipAnimation { const UPDATE_FN: &'static [u8] = b"biped_large_equip\0"; #[cfg_attr(feature = "be-dyn-lib", export_name = "biped_large_equip")] - #[allow(clippy::approx_constant)] // TODO: Pending review in #587 fn update_skeleton_inner<'a>( skeleton: &Self::Skeleton, (active_tool_kind, _second_tool_kind, _velocity, _global_time): Self::Dependency<'a>, @@ -27,9 +26,9 @@ impl Animation for EquipAnimation { let mut next = (*skeleton).clone(); let equip_slow = 1.0 + (anim_time * 12.0 + PI).cos(); - let equip_slowa = 1.0 + (anim_time * 12.0 + PI / 4.0).cos(); - next.hand_l.orientation = Quaternion::rotation_y(-2.3) * Quaternion::rotation_z(-1.57); - next.hand_r.orientation = Quaternion::rotation_y(-2.3) * Quaternion::rotation_z(1.57); + let equip_slowa = 1.0 + (anim_time * 12.0 + FRAC_PI_4).cos(); + next.hand_l.orientation = Quaternion::rotation_y(-2.3) * Quaternion::rotation_z(-FRAC_PI_2); + next.hand_r.orientation = Quaternion::rotation_y(-2.3) * Quaternion::rotation_z(FRAC_PI_2); next.control.position = Vec3::new(equip_slowa * -1.5, 0.0, equip_slow * 1.5); match active_tool_kind { @@ -49,9 +48,9 @@ impl Animation for EquipAnimation { next.hand_l.position = Vec3::new(4.0, -6.0, 0.0); next.hand_r.position = Vec3::new(6.0, -6.0, 6.0); next.hand_l.orientation = - Quaternion::rotation_y(2.2) * Quaternion::rotation_z(1.57); + Quaternion::rotation_y(2.2) * Quaternion::rotation_z(FRAC_PI_2); next.hand_r.orientation = - Quaternion::rotation_y(2.2) * Quaternion::rotation_z(-1.57); + Quaternion::rotation_y(2.2) * Quaternion::rotation_z(-FRAC_PI_2); }, Some(ToolKind::Bow) => { next.hand_l.position = Vec3::new(-9.0, -5.0, -8.0); diff --git a/voxygen/anim/src/biped_large/idle.rs b/voxygen/anim/src/biped_large/idle.rs index 366a4c33bd..7e28256f54 100644 --- a/voxygen/anim/src/biped_large/idle.rs +++ b/voxygen/anim/src/biped_large/idle.rs @@ -3,7 +3,10 @@ use super::{ BipedLargeSkeleton, SkeletonAttr, }; use common::comp::item::ToolKind; -use std::{f32::consts::PI, ops::Mul}; +use std::{ + f32::consts::{FRAC_PI_2, PI}, + ops::Mul, +}; pub struct IdleAnimation; @@ -91,26 +94,31 @@ impl Animation for IdleAnimation { match active_tool_kind { Some(ToolKind::Bow) => { next.main.position = Vec3::new(0.0, -6.0, 0.0); - next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57); + next.main.orientation = + Quaternion::rotation_y(2.5) * Quaternion::rotation_z(FRAC_PI_2); }, Some(ToolKind::Staff) | Some(ToolKind::Sceptre) => { next.main.position = Vec3::new(-6.0, -5.0, -12.0); - next.main.orientation = Quaternion::rotation_y(0.6) * Quaternion::rotation_z(1.57); + next.main.orientation = + Quaternion::rotation_y(0.6) * Quaternion::rotation_z(FRAC_PI_2); }, Some(ToolKind::Sword) => { next.main.position = Vec3::new(-10.0, -8.0, 12.0); - next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57); + next.main.orientation = + Quaternion::rotation_y(2.5) * Quaternion::rotation_z(FRAC_PI_2); }, Some(ToolKind::Hammer) | Some(ToolKind::Axe) => { next.main.position = Vec3::new(-6.0, -8.0, 8.0); - next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57); + next.main.orientation = + Quaternion::rotation_y(2.5) * Quaternion::rotation_z(FRAC_PI_2); next.second.position = Vec3::new(6.0, -8.0, 8.0); next.second.orientation = - Quaternion::rotation_y(-2.5) * Quaternion::rotation_z(1.57); + Quaternion::rotation_y(-2.5) * Quaternion::rotation_z(FRAC_PI_2); }, _ => { next.main.position = Vec3::new(-2.0, -5.0, -6.0); - next.main.orientation = Quaternion::rotation_y(0.6) * Quaternion::rotation_z(1.57); + next.main.orientation = + Quaternion::rotation_y(0.6) * Quaternion::rotation_z(FRAC_PI_2); }, } diff --git a/voxygen/anim/src/biped_large/jump.rs b/voxygen/anim/src/biped_large/jump.rs index b998012df1..5317f38db1 100644 --- a/voxygen/anim/src/biped_large/jump.rs +++ b/voxygen/anim/src/biped_large/jump.rs @@ -3,7 +3,7 @@ use super::{ BipedLargeSkeleton, SkeletonAttr, }; use common::comp::item::ToolKind; -use std::f32::consts::PI; +use std::f32::consts::{FRAC_PI_2, PI}; pub struct JumpAnimation; @@ -64,23 +64,28 @@ impl Animation for JumpAnimation { match active_tool_kind { Some(ToolKind::Bow) => { next.main.position = Vec3::new(-2.0, -5.0, -6.0); - next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57); + next.main.orientation = + Quaternion::rotation_y(2.5) * Quaternion::rotation_z(FRAC_PI_2); }, Some(ToolKind::Staff) | Some(ToolKind::Sceptre) => { next.main.position = Vec3::new(-6.0, -5.0, -12.0); - next.main.orientation = Quaternion::rotation_y(0.6) * Quaternion::rotation_z(1.57); + next.main.orientation = + Quaternion::rotation_y(0.6) * Quaternion::rotation_z(FRAC_PI_2); }, Some(ToolKind::Sword) => { next.main.position = Vec3::new(-10.0, -8.0, 12.0); - next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57); + next.main.orientation = + Quaternion::rotation_y(2.5) * Quaternion::rotation_z(FRAC_PI_2); }, Some(ToolKind::Hammer) | Some(ToolKind::Axe) => { next.main.position = Vec3::new(-10.0, -8.0, 12.0); - next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57); + next.main.orientation = + Quaternion::rotation_y(2.5) * Quaternion::rotation_z(FRAC_PI_2); }, _ => { next.main.position = Vec3::new(-2.0, -5.0, -6.0); - next.main.orientation = Quaternion::rotation_y(0.6) * Quaternion::rotation_z(1.57); + next.main.orientation = + Quaternion::rotation_y(0.6) * Quaternion::rotation_z(FRAC_PI_2); }, } diff --git a/voxygen/anim/src/biped_large/leapmelee.rs b/voxygen/anim/src/biped_large/leapmelee.rs index 38634f8894..8b3e1c9c0c 100644 --- a/voxygen/anim/src/biped_large/leapmelee.rs +++ b/voxygen/anim/src/biped_large/leapmelee.rs @@ -19,7 +19,6 @@ impl Animation for LeapAnimation { const UPDATE_FN: &'static [u8] = b"biped_large_leapmelee\0"; #[cfg_attr(feature = "be-dyn-lib", export_name = "biped_large_leapmelee")] - #[allow(clippy::approx_constant)] // TODO: Pending review in #587 fn update_skeleton_inner<'a>( skeleton: &Self::Skeleton, (active_tool_kind, _second_tool_kind, _velocity, _global_time, stage_section): Self::Dependency<'a>, diff --git a/voxygen/anim/src/biped_large/run.rs b/voxygen/anim/src/biped_large/run.rs index 51c5829d0d..4f0e63580b 100644 --- a/voxygen/anim/src/biped_large/run.rs +++ b/voxygen/anim/src/biped_large/run.rs @@ -3,7 +3,10 @@ use super::{ BipedLargeSkeleton, SkeletonAttr, }; use common::comp::item::ToolKind; -use std::{f32::consts::PI, ops::Mul}; +use std::{ + f32::consts::{FRAC_PI_2, FRAC_PI_4, PI}, + ops::Mul, +}; pub struct RunAnimation; @@ -83,10 +86,10 @@ impl Animation for RunAnimation { ); let speedadjust = if speed < 5.0 { 0.0 } else { speed / 21.0 }; - let shift1 = speedadjust - PI / 2.0 - speedadjust * PI * 3.0 / 4.0; - let shift2 = speedadjust + PI / 2.0 + speedadjust * PI / 2.0; - let shift3 = speedadjust + PI / 4.0 - speedadjust * PI / 4.0; - let shift4 = speedadjust - PI * 3.0 / 4.0 + speedadjust * PI / 2.0; + let shift1 = speedadjust - FRAC_PI_2 - speedadjust * PI * 3.0 / 4.0; + let shift2 = speedadjust + FRAC_PI_2 + speedadjust * FRAC_PI_2; + let shift3 = speedadjust + FRAC_PI_4 - speedadjust * FRAC_PI_4; + let shift4 = speedadjust - PI * 3.0 / 4.0 + speedadjust * FRAC_PI_2; //FL let foot1a = (acc_vel * lab * speedmult + 0.0 + canceler * 0.05 + shift1).sin(); diff --git a/voxygen/anim/src/biped_large/shoot.rs b/voxygen/anim/src/biped_large/shoot.rs index 2b9428d06f..502b7572ac 100644 --- a/voxygen/anim/src/biped_large/shoot.rs +++ b/voxygen/anim/src/biped_large/shoot.rs @@ -6,7 +6,7 @@ use common::{ comp::item::tool::{AbilitySpec, ToolKind}, states::utils::StageSection, }; -use std::f32::consts::PI; +use std::f32::consts::{FRAC_PI_2, FRAC_PI_3, PI}; pub struct ShootAnimation; @@ -114,7 +114,7 @@ impl Animation for ShootAnimation { * Quaternion::rotation_z(move1 * 0.25); next.jaw.orientation = Quaternion::rotation_x(move1 * -0.5); - next.control_l.orientation = Quaternion::rotation_x(PI / 2.0 + move1 * 0.5) + next.control_l.orientation = Quaternion::rotation_x(FRAC_PI_2 + move1 * 0.5) * Quaternion::rotation_y(move1 * -0.4); next.control_r.orientation = Quaternion::rotation_x(PI / 2.5 + move1 * 0.5) * Quaternion::rotation_y(0.5) @@ -160,7 +160,7 @@ impl Animation for ShootAnimation { ); next.control_l.orientation = - Quaternion::rotation_x(move1 * 0.2 + PI / 2.0 + move2 * 0.4) + Quaternion::rotation_x(move1 * 0.2 + FRAC_PI_2 + move2 * 0.4) * Quaternion::rotation_y(-0.2); next.control_r.orientation = Quaternion::rotation_x(PI / 2.2 + move1 * 0.4) * Quaternion::rotation_y(0.4) @@ -211,11 +211,11 @@ impl Animation for ShootAnimation { ); next.control_l.orientation = - Quaternion::rotation_x(PI / 3.0 + move1 * 0.5) + Quaternion::rotation_x(FRAC_PI_3 + move1 * 0.5) * Quaternion::rotation_y(-0.15) * Quaternion::rotation_z(move1 * 0.5); next.control_r.orientation = - Quaternion::rotation_x(PI / 3.0 + move1 * 0.5) + Quaternion::rotation_x(FRAC_PI_3 + move1 * 0.5) * Quaternion::rotation_y(0.15) * Quaternion::rotation_z(move1 * -0.5); next.head.orientation = Quaternion::rotation_x(move1 * -0.3); @@ -256,10 +256,10 @@ impl Animation for ShootAnimation { * Quaternion::rotation_z(twist); next.arm_control_r.orientation = - Quaternion::rotation_x(move1 * PI / 2.0) - * Quaternion::rotation_y(move1 * -PI / 2.0 + move2 * 2.5); - //* Quaternion::rotation_y(move1 * -PI/2.0) - //* Quaternion::rotation_z(move1 * -PI/2.0); + Quaternion::rotation_x(move1 * FRAC_PI_2) + * Quaternion::rotation_y(move1 * -FRAC_PI_2 + move2 * 2.5); + //* Quaternion::rotation_y(move1 * -FRAC_PI_2) + //* Quaternion::rotation_z(move1 * -FRAC_PI_2); next.arm_control_r.position = Vec3::new(0.0, move1 * 10.0 + move2 * -10.0, 0.0); }, @@ -277,8 +277,8 @@ impl Animation for ShootAnimation { Vec3::new(-7.0, 0.0 + s_a.grip.0 / 1.0, -s_a.grip.0 / 0.8); next.control_l.orientation = - Quaternion::rotation_x(PI / 2.0) * Quaternion::rotation_z(PI); - next.control_r.orientation = Quaternion::rotation_x(PI / 2.0 + 0.2) + Quaternion::rotation_x(FRAC_PI_2) * Quaternion::rotation_z(PI); + next.control_r.orientation = Quaternion::rotation_x(FRAC_PI_2 + 0.2) * Quaternion::rotation_y(-1.0) * Quaternion::rotation_z(0.0); @@ -317,9 +317,10 @@ impl Animation for ShootAnimation { s_a.shoulder.1, s_a.shoulder.2, ); - next.shoulder_r.orientation = Quaternion::rotation_y(move1 * -PI / 2.0) - * Quaternion::rotation_x(move2 * 2.0) - * Quaternion::rotation_z(move1 * -PI / 2.0); + next.shoulder_r.orientation = + Quaternion::rotation_y(move1 * -FRAC_PI_2) + * Quaternion::rotation_x(move2 * 2.0) + * Quaternion::rotation_z(move1 * -FRAC_PI_2); next.hand_r.position = Vec3::new( -s_a.grip.1 + move1 * -2.0 + move2 * 8.0, diff --git a/voxygen/anim/src/biped_large/spin.rs b/voxygen/anim/src/biped_large/spin.rs index b5357f4738..c0b39e0c73 100644 --- a/voxygen/anim/src/biped_large/spin.rs +++ b/voxygen/anim/src/biped_large/spin.rs @@ -3,7 +3,7 @@ use super::{ BipedLargeSkeleton, SkeletonAttr, }; use common::{comp::item::ToolKind, states::utils::StageSection}; -use std::f32::consts::PI; +use std::f32::consts::{FRAC_PI_2, TAU}; pub struct SpinAnimation; @@ -42,7 +42,7 @@ impl Animation for SpinAnimation { let foot = ((5.0 / (1.1 + 3.9 * ((anim_time * lab * 10.32).sin()).powi(2))).sqrt()) * ((anim_time * lab * 10.32).sin()); - let decel = (anim_time * 16.0 * lab).min(PI / 2.0).sin(); + let decel = (anim_time * 16.0 * lab).min(FRAC_PI_2).sin(); let spin = (anim_time * 2.8 * lab).sin(); let spinhalf = (anim_time * 1.4 * lab).sin(); @@ -67,7 +67,7 @@ impl Animation for SpinAnimation { ); next.control.orientation = Quaternion::rotation_x(-0.5 + s_a.sc.3 + movement1 * -1.2) * Quaternion::rotation_y(s_a.sc.4 - 0.6 + movement1 * 1.0) - * Quaternion::rotation_z(s_a.sc.5 + 0.1 + movement1 * 1.57); + * Quaternion::rotation_z(s_a.sc.5 + 0.1 + movement1 * FRAC_PI_2); next.head.position = Vec3::new( 0.0 + 2.0 + movement2 * -2.0, 2.0 + movement2 * -2.0 + s_a.head.0, @@ -87,7 +87,7 @@ impl Animation for SpinAnimation { next.head.orientation = Quaternion::rotation_y(movement1 * 0.1 - movement2 * -0.1) * Quaternion::rotation_z(1.07 + movement1 * 0.4 + movement2 * -1.5); - next.torso.orientation = Quaternion::rotation_z(movement2 * 6.28); + next.torso.orientation = Quaternion::rotation_z(movement2 * TAU); } if let Some(ToolKind::Axe | ToolKind::Hammer | ToolKind::Dagger) = active_tool_kind { diff --git a/voxygen/anim/src/biped_large/spinmelee.rs b/voxygen/anim/src/biped_large/spinmelee.rs index 73a242d3a5..267c4abdd1 100644 --- a/voxygen/anim/src/biped_large/spinmelee.rs +++ b/voxygen/anim/src/biped_large/spinmelee.rs @@ -3,7 +3,7 @@ use super::{ BipedLargeSkeleton, SkeletonAttr, }; use common::{comp::item::ToolKind, states::utils::StageSection}; -use std::f32::consts::PI; +use std::f32::consts::{FRAC_PI_2, PI}; pub struct SpinMeleeAnimation; @@ -22,7 +22,6 @@ impl Animation for SpinMeleeAnimation { const UPDATE_FN: &'static [u8] = b"biped_large_spinmelee\0"; #[cfg_attr(feature = "be-dyn-lib", export_name = "biped_large_spinmelee")] - #[allow(clippy::approx_constant)] // TODO: Pending review in #587 fn update_skeleton_inner<'a>( skeleton: &Self::Skeleton, (active_tool_kind, _second_tool_kind, velocity, _global_time, stage_section, acc_vel): Self::Dependency<'a>, @@ -101,7 +100,7 @@ impl Animation for SpinMeleeAnimation { -11.0 + -s_a.grip.0 / 2.0 + move1 * 8.0, ); - next.control_l.orientation = Quaternion::rotation_x(PI / 2.0 - move1 * 0.2) + next.control_l.orientation = Quaternion::rotation_x(FRAC_PI_2 - move1 * 0.2) * Quaternion::rotation_y(-0.5 + move1 * 0.3) * Quaternion::rotation_z(move1 * 0.0); next.control_r.orientation = Quaternion::rotation_x(PI / 2.5 + move1 * 0.0) diff --git a/voxygen/anim/src/biped_large/spritesummon.rs b/voxygen/anim/src/biped_large/spritesummon.rs index 9a7e918e8e..ea87104aca 100644 --- a/voxygen/anim/src/biped_large/spritesummon.rs +++ b/voxygen/anim/src/biped_large/spritesummon.rs @@ -6,7 +6,7 @@ use common::{ comp::item::{AbilitySpec, ToolKind}, states::utils::StageSection, }; -use std::f32::consts::PI; +use std::f32::consts::{FRAC_PI_2, PI}; pub struct SpriteSummonAnimation; @@ -104,8 +104,8 @@ impl Animation for SpriteSummonAnimation { ); next.control_l.orientation = - Quaternion::rotation_x(PI / 2.0) * Quaternion::rotation_z(PI); - next.control_r.orientation = Quaternion::rotation_x(PI / 2.0 + 0.2) + Quaternion::rotation_x(FRAC_PI_2) * Quaternion::rotation_z(PI); + next.control_r.orientation = Quaternion::rotation_x(FRAC_PI_2 + 0.2) * Quaternion::rotation_y(-1.0) * Quaternion::rotation_z(0.0); diff --git a/voxygen/anim/src/biped_large/stunned.rs b/voxygen/anim/src/biped_large/stunned.rs index 7ca21c4246..468a547ab3 100644 --- a/voxygen/anim/src/biped_large/stunned.rs +++ b/voxygen/anim/src/biped_large/stunned.rs @@ -6,7 +6,7 @@ use common::{ comp::item::tool::{AbilitySpec, ToolKind}, states::utils::StageSection, }; -use std::f32::consts::PI; +use std::f32::consts::{FRAC_PI_2, FRAC_PI_3, PI}; pub struct StunnedAnimation; @@ -64,7 +64,7 @@ impl Animation for StunnedAnimation { let short = (acc_vel * lab).sin() * speednorm; - let shortalt = (anim_time * lab * 16.0 + PI / 2.0).sin(); + let shortalt = (anim_time * lab * 16.0 + FRAC_PI_2).sin(); next.second.position = Vec3::new(0.0, 0.0, 0.0); next.second.orientation = Quaternion::rotation_x(0.0); if s_a.beast { @@ -138,7 +138,7 @@ impl Animation for StunnedAnimation { ); next.control_l.orientation = - Quaternion::rotation_x(PI / 2.0) * Quaternion::rotation_y(-0.2); + Quaternion::rotation_x(FRAC_PI_2) * Quaternion::rotation_y(-0.2); next.control_r.orientation = Quaternion::rotation_x(PI / 2.2) * Quaternion::rotation_y(0.2); @@ -156,7 +156,7 @@ impl Animation for StunnedAnimation { ); next.control_l.orientation = - Quaternion::rotation_x(PI / 2.0) * Quaternion::rotation_y(-0.2); + Quaternion::rotation_x(FRAC_PI_2) * Quaternion::rotation_y(-0.2); next.control_r.orientation = Quaternion::rotation_x(PI / 2.2) * Quaternion::rotation_y(0.2); @@ -175,8 +175,8 @@ impl Animation for StunnedAnimation { ); next.control_l.orientation = - Quaternion::rotation_x(PI / 2.0) * Quaternion::rotation_y(-0.0); - next.control_r.orientation = Quaternion::rotation_x(PI / 2.0 + 0.2); + Quaternion::rotation_x(FRAC_PI_2) * Quaternion::rotation_y(-0.0); + next.control_r.orientation = Quaternion::rotation_x(FRAC_PI_2 + 0.2); next.control.orientation = Quaternion::rotation_x(-1.0 + short * 0.2) * Quaternion::rotation_y(-1.8); @@ -192,7 +192,7 @@ impl Animation for StunnedAnimation { ); next.control_l.orientation = - Quaternion::rotation_x(PI / 2.0) * Quaternion::rotation_y(-0.5); + Quaternion::rotation_x(FRAC_PI_2) * Quaternion::rotation_y(-0.5); next.control_r.orientation = Quaternion::rotation_x(PI / 2.5) * Quaternion::rotation_y(0.5) * Quaternion::rotation_z(0.0); @@ -207,10 +207,10 @@ impl Animation for StunnedAnimation { next.control_l.position = Vec3::new(-9.0, 19.0, -13.0); next.control_r.position = Vec3::new(9.0, 19.0, -13.0); - next.control_l.orientation = Quaternion::rotation_x(PI / 3.0) + next.control_l.orientation = Quaternion::rotation_x(FRAC_PI_3) * Quaternion::rotation_y(-0.15); - next.control_r.orientation = - Quaternion::rotation_x(PI / 3.0) * Quaternion::rotation_y(0.15); + next.control_r.orientation = Quaternion::rotation_x(FRAC_PI_3) + * Quaternion::rotation_y(0.15); }, "Tidal Warrior" => { next.head.orientation = Quaternion::rotation_x(movement1 * -2.0); @@ -221,10 +221,10 @@ impl Animation for StunnedAnimation { next.hand_l.position = Vec3::new(-14.0, 2.0, -4.0); next.hand_r.position = Vec3::new(14.0, 2.0, -4.0); - next.hand_l.orientation = Quaternion::rotation_x(PI / 3.0) + next.hand_l.orientation = Quaternion::rotation_x(FRAC_PI_3) * Quaternion::rotation_z(-0.35); - next.hand_r.orientation = - Quaternion::rotation_x(PI / 3.0) * Quaternion::rotation_z(0.35); + next.hand_r.orientation = Quaternion::rotation_x(FRAC_PI_3) + * Quaternion::rotation_z(0.35); }, "Beast Claws" => { next.shoulder_l.position = @@ -403,11 +403,13 @@ impl Animation for StunnedAnimation { next.weapon_l.position = Vec3::new(-12.0, -6.0, -18.0); next.weapon_r.position = Vec3::new(12.0, -6.0, -18.0); - next.weapon_l.orientation = Quaternion::rotation_x(-1.57 - 0.1); - next.weapon_r.orientation = Quaternion::rotation_x(-1.57 - 0.1); + next.weapon_l.orientation = + Quaternion::rotation_x(-FRAC_PI_2 - 0.1); + next.weapon_r.orientation = + Quaternion::rotation_x(-FRAC_PI_2 - 0.1); - next.control_l.orientation = Quaternion::rotation_x(1.57); - next.control_r.orientation = Quaternion::rotation_x(1.57); + next.control_l.orientation = Quaternion::rotation_x(FRAC_PI_2); + next.control_r.orientation = Quaternion::rotation_x(FRAC_PI_2); next.control.orientation = Quaternion::rotation_x(0.0) * Quaternion::rotation_y(0.0); diff --git a/voxygen/anim/src/biped_large/summon.rs b/voxygen/anim/src/biped_large/summon.rs index c3a5952dcd..1e91198656 100644 --- a/voxygen/anim/src/biped_large/summon.rs +++ b/voxygen/anim/src/biped_large/summon.rs @@ -6,7 +6,7 @@ use common::{ comp::item::{AbilitySpec, ToolKind}, states::utils::StageSection, }; -use std::f32::consts::PI; +use std::f32::consts::{FRAC_PI_2, FRAC_PI_3, PI}; pub struct SummonAnimation; @@ -26,7 +26,6 @@ impl Animation for SummonAnimation { const UPDATE_FN: &'static [u8] = b"biped_large_summon\0"; #[cfg_attr(feature = "be-dyn-lib", export_name = "biped_large_summon")] - #[allow(clippy::approx_constant)] // TODO: Pending review in #587 fn update_skeleton_inner<'a>( skeleton: &Self::Skeleton, ( @@ -111,7 +110,7 @@ impl Animation for SummonAnimation { -11.0 + -s_a.grip.0 / 2.0 + move1 * 15.0 + move2 * -12.0, ); - next.control_l.orientation = Quaternion::rotation_x(PI / 2.0 - move1 * 0.2) + next.control_l.orientation = Quaternion::rotation_x(FRAC_PI_2 - move1 * 0.2) * Quaternion::rotation_y(-0.5 + move2 * -0.4) * Quaternion::rotation_z(move1 * 0.0); next.control_r.orientation = Quaternion::rotation_x(PI / 2.5 + move1 * 0.2) @@ -165,11 +164,11 @@ impl Animation for SummonAnimation { ); next.hand_l.orientation = - Quaternion::rotation_x(PI / 3.0 + move1 * 1.5) + Quaternion::rotation_x(FRAC_PI_3 + move1 * 1.5) * Quaternion::rotation_y(-move1 * 0.7 + move2 * 0.2) * Quaternion::rotation_z(-0.35); next.hand_r.orientation = - Quaternion::rotation_x(PI / 3.0 + move1 * 1.5) + Quaternion::rotation_x(FRAC_PI_3 + move1 * 1.5) * Quaternion::rotation_y(move1 * 0.7 + move2 * 0.2) * Quaternion::rotation_z(0.35); next.leg_l.position = Vec3::new(-s_a.leg.0, s_a.leg.1, s_a.leg.2); diff --git a/voxygen/anim/src/biped_large/wield.rs b/voxygen/anim/src/biped_large/wield.rs index ef94cd66e8..f1c20179e1 100644 --- a/voxygen/anim/src/biped_large/wield.rs +++ b/voxygen/anim/src/biped_large/wield.rs @@ -3,7 +3,10 @@ use super::{ BipedLargeSkeleton, SkeletonAttr, }; use common::comp::item::tool::{AbilitySpec, ToolKind}; -use std::{f32::consts::PI, ops::Mul}; +use std::{ + f32::consts::{FRAC_PI_2, FRAC_PI_3, PI}, + ops::Mul, +}; pub struct WieldAnimation; @@ -90,7 +93,7 @@ impl Animation for WieldAnimation { let short = (acc_vel * lab).sin() * speednorm; - let shortalt = (anim_time * lab * 16.0 + PI / 2.0).sin(); + let shortalt = (anim_time * lab * 16.0 + FRAC_PI_2).sin(); next.second.position = Vec3::new(0.0, 0.0, 0.0); next.second.orientation = Quaternion::rotation_x(0.0); @@ -174,7 +177,7 @@ impl Animation for WieldAnimation { next.second.scale = Vec3::one() * 0.0; next.control_l.orientation = - Quaternion::rotation_x(PI / 2.0) * Quaternion::rotation_y(-0.2); + Quaternion::rotation_x(FRAC_PI_2) * Quaternion::rotation_y(-0.2); next.control_r.orientation = Quaternion::rotation_x(PI / 2.2) * Quaternion::rotation_y(0.2); @@ -192,7 +195,7 @@ impl Animation for WieldAnimation { ); next.control_l.orientation = - Quaternion::rotation_x(PI / 2.0) * Quaternion::rotation_y(-0.2); + Quaternion::rotation_x(FRAC_PI_2) * Quaternion::rotation_y(-0.2); next.control_r.orientation = Quaternion::rotation_x(PI / 2.2) * Quaternion::rotation_y(0.2) * Quaternion::rotation_z(0.0); @@ -212,8 +215,8 @@ impl Animation for WieldAnimation { ); next.control_l.orientation = - Quaternion::rotation_x(PI / 2.0) * Quaternion::rotation_y(-0.0); - next.control_r.orientation = Quaternion::rotation_x(PI / 2.0 + 0.2) + Quaternion::rotation_x(FRAC_PI_2) * Quaternion::rotation_y(-0.0); + next.control_r.orientation = Quaternion::rotation_x(FRAC_PI_2 + 0.2) * Quaternion::rotation_y(0.0) * Quaternion::rotation_z(0.0); @@ -231,7 +234,7 @@ impl Animation for WieldAnimation { ); next.control_l.orientation = - Quaternion::rotation_x(PI / 2.0) * Quaternion::rotation_y(-0.5); + Quaternion::rotation_x(FRAC_PI_2) * Quaternion::rotation_y(-0.5); next.control_r.orientation = Quaternion::rotation_x(PI / 2.5) * Quaternion::rotation_y(0.5) * Quaternion::rotation_z(0.0); @@ -246,19 +249,19 @@ impl Animation for WieldAnimation { next.control_l.position = Vec3::new(-9.0, 19.0, -13.0); next.control_r.position = Vec3::new(9.0, 19.0, -13.0); - next.control_l.orientation = Quaternion::rotation_x(PI / 3.0) + next.control_l.orientation = Quaternion::rotation_x(FRAC_PI_3) * Quaternion::rotation_y(-0.15); - next.control_r.orientation = - Quaternion::rotation_x(PI / 3.0) * Quaternion::rotation_y(0.15); + next.control_r.orientation = Quaternion::rotation_x(FRAC_PI_3) + * Quaternion::rotation_y(0.15); }, "Tidal Warrior" => { next.hand_l.position = Vec3::new(-14.0, 2.0, -4.0); next.hand_r.position = Vec3::new(14.0, 2.0, -4.0); - next.hand_l.orientation = Quaternion::rotation_x(PI / 3.0) + next.hand_l.orientation = Quaternion::rotation_x(FRAC_PI_3) * Quaternion::rotation_z(-0.35); - next.hand_r.orientation = - Quaternion::rotation_x(PI / 3.0) * Quaternion::rotation_z(0.35); + next.hand_r.orientation = Quaternion::rotation_x(FRAC_PI_3) + * Quaternion::rotation_z(0.35); }, "Beast Claws" => { next.shoulder_l.position = @@ -438,10 +441,12 @@ impl Animation for WieldAnimation { next.weapon_l.position = Vec3::new(-12.0, -6.0, -18.0); next.weapon_r.position = Vec3::new(12.0, -6.0, -18.0); - next.weapon_l.orientation = Quaternion::rotation_x(-1.57 - 0.1); - next.weapon_r.orientation = Quaternion::rotation_x(-1.57 - 0.1); + next.weapon_l.orientation = + Quaternion::rotation_x(-FRAC_PI_2 - 0.1); + next.weapon_r.orientation = + Quaternion::rotation_x(-FRAC_PI_2 - 0.1); - next.control_l.orientation = Quaternion::rotation_x(1.57); + next.control_l.orientation = Quaternion::rotation_x(FRAC_PI_2); next.control_r.orientation = Quaternion::rotation_x(1.57); next.control.orientation = @@ -481,10 +486,11 @@ impl Animation for WieldAnimation { ); next.control_l.orientation = - Quaternion::rotation_x(PI / 2.0) * Quaternion::rotation_z(PI); - next.control_r.orientation = Quaternion::rotation_x(PI / 2.0 + 0.2) - * Quaternion::rotation_y(-1.0) - * Quaternion::rotation_z(0.0); + Quaternion::rotation_x(FRAC_PI_2) * Quaternion::rotation_z(PI); + next.control_r.orientation = + Quaternion::rotation_x(FRAC_PI_2 + 0.2) + * Quaternion::rotation_y(-1.0) + * Quaternion::rotation_z(0.0); next.control.orientation = Quaternion::rotation_x(-1.4) * Quaternion::rotation_y(-2.8); @@ -504,13 +510,13 @@ impl Animation for WieldAnimation { Vec3::new(-s_a.hand.0, s_a.hand.1, s_a.hand.2); next.hand_l.orientation = Quaternion::rotation_x(1.4 + slow * 0.1) - * Quaternion::rotation_z(-PI / 2.0); + * Quaternion::rotation_z(-FRAC_PI_2); next.hand_r.position = Vec3::new(s_a.hand.0, s_a.hand.1, s_a.hand.2); next.hand_r.orientation = Quaternion::rotation_x(1.4 - slow * 0.1) - * Quaternion::rotation_z(PI / 2.0); + * Quaternion::rotation_z(FRAC_PI_2); next.shoulder_l.position = Vec3::new(-s_a.shoulder.0, s_a.shoulder.1, s_a.shoulder.2); diff --git a/voxygen/anim/src/biped_small/alpha.rs b/voxygen/anim/src/biped_small/alpha.rs index 69dc4b0f10..bb0d6117f4 100644 --- a/voxygen/anim/src/biped_small/alpha.rs +++ b/voxygen/anim/src/biped_small/alpha.rs @@ -3,7 +3,7 @@ use super::{ BipedSmallSkeleton, SkeletonAttr, }; use common::{comp::item::ToolKind, states::utils::StageSection}; -use std::f32::consts::PI; +use std::f32::consts::{FRAC_PI_2, PI}; pub struct AlphaAnimation; @@ -49,7 +49,7 @@ impl Animation for AlphaAnimation { let speed = Vec2::::from(velocity).magnitude(); let fast = (anim_time * 10.0).sin(); - let fastalt = (anim_time * 10.0 + PI / 2.0).sin(); + let fastalt = (anim_time * 10.0 + FRAC_PI_2).sin(); let speednorm = speed / 9.4; let speednormcancel = 1.0 - speednorm; diff --git a/voxygen/anim/src/biped_small/dash.rs b/voxygen/anim/src/biped_small/dash.rs index da2077dccb..3c621942cb 100644 --- a/voxygen/anim/src/biped_small/dash.rs +++ b/voxygen/anim/src/biped_small/dash.rs @@ -3,7 +3,7 @@ use super::{ BipedSmallSkeleton, SkeletonAttr, }; use common::states::utils::StageSection; -use std::f32::consts::PI; +use std::f32::consts::{FRAC_PI_2, PI}; pub struct DashAnimation; @@ -47,7 +47,7 @@ impl Animation for DashAnimation { let speed = Vec2::::from(velocity).magnitude(); let fast = (anim_time * 10.0).sin(); - let fastalt = (anim_time * 10.0 + PI / 2.0).sin(); + let fastalt = (anim_time * 10.0 + FRAC_PI_2).sin(); let speednorm = speed / 9.4; let speednormcancel = 1.0 - speednorm; diff --git a/voxygen/anim/src/biped_small/idle.rs b/voxygen/anim/src/biped_small/idle.rs index dde4419613..f893bb9e87 100644 --- a/voxygen/anim/src/biped_small/idle.rs +++ b/voxygen/anim/src/biped_small/idle.rs @@ -2,6 +2,7 @@ use super::{ super::{vek::*, Animation}, BipedSmallSkeleton, SkeletonAttr, }; +use std::f32::consts::FRAC_PI_2; pub struct IdleAnimation; @@ -36,7 +37,7 @@ impl Animation for IdleAnimation { Vec3::new(0.0, s_a.chest.0, s_a.chest.1 + slow * 0.3) * s_a.scaler / 11.0; next.pants.position = Vec3::new(0.0, s_a.pants.0, s_a.pants.1); next.main.position = Vec3::new(2.0, -3.0, -3.0); - next.main.orientation = Quaternion::rotation_y(-0.5) * Quaternion::rotation_z(1.57); + next.main.orientation = Quaternion::rotation_y(-0.5) * Quaternion::rotation_z(FRAC_PI_2); next.tail.position = Vec3::new(0.0, s_a.tail.0, s_a.tail.1); next.hand_l.position = Vec3::new(-s_a.hand.0, s_a.hand.1, s_a.hand.2 + slow * -0.1); diff --git a/voxygen/anim/src/biped_small/run.rs b/voxygen/anim/src/biped_small/run.rs index 560b32fd38..e52b86f459 100644 --- a/voxygen/anim/src/biped_small/run.rs +++ b/voxygen/anim/src/biped_small/run.rs @@ -2,7 +2,10 @@ use super::{ super::{vek::*, Animation}, BipedSmallSkeleton, SkeletonAttr, }; -use std::{f32::consts::PI, ops::Mul}; +use std::{ + f32::consts::{FRAC_PI_2, PI}, + ops::Mul, +}; pub struct RunAnimation; @@ -51,7 +54,7 @@ impl Animation for RunAnimation { let footvertsl = (acc_vel * 1.4 * lab).sin(); let footvertsr = (acc_vel * 1.4 * lab + PI * 0.5).sin(); - let shortalt = (acc_vel * lab * 1.4 + PI / 2.0).sin(); + let shortalt = (acc_vel * lab * 1.4 + FRAC_PI_2).sin(); let short = ((5.0 / (1.5 + 3.5 * ((acc_vel * lab * 1.4).sin()).powi(2))).sqrt()) * ((acc_vel * lab * 1.4).sin()); diff --git a/voxygen/anim/src/biped_small/shoot.rs b/voxygen/anim/src/biped_small/shoot.rs index 4f5c52a20b..d290057689 100644 --- a/voxygen/anim/src/biped_small/shoot.rs +++ b/voxygen/anim/src/biped_small/shoot.rs @@ -3,7 +3,7 @@ use super::{ BipedSmallSkeleton, SkeletonAttr, }; use common::{comp::item::ToolKind, states::utils::StageSection}; -use std::f32::consts::PI; +use std::f32::consts::FRAC_PI_2; pub struct ShootAnimation; @@ -49,7 +49,7 @@ impl Animation for ShootAnimation { let speed = Vec2::::from(velocity).magnitude(); let fast = (anim_time * 10.0).sin(); - let fastalt = (anim_time * 10.0 + PI / 2.0).sin(); + let fastalt = (anim_time * 10.0 + FRAC_PI_2).sin(); let speednorm = speed / 9.4; let speednormcancel = 1.0 - speednorm; @@ -104,8 +104,8 @@ impl Animation for ShootAnimation { ); next.control_l.orientation = - Quaternion::rotation_x(PI / 2.0) * Quaternion::rotation_y(-0.3); - next.control_r.orientation = Quaternion::rotation_x(PI / 2.0 + s_a.grip.0 * 0.2) + Quaternion::rotation_x(FRAC_PI_2) * Quaternion::rotation_y(-0.3); + next.control_r.orientation = Quaternion::rotation_x(FRAC_PI_2 + s_a.grip.0 * 0.2) * Quaternion::rotation_y(0.5 + s_a.grip.0 * 0.2); next.control.orientation = Quaternion::rotation_x(-0.3 + move1abs * 0.4) @@ -133,11 +133,11 @@ impl Animation for ShootAnimation { -2.0 + -s_a.grip.2 / 2.5 + s_a.grip.0 * -2.0 + move1abs * 5.0, ); - next.control_l.orientation = Quaternion::rotation_x(PI / 2.0 + move1abs * 0.8) + next.control_l.orientation = Quaternion::rotation_x(FRAC_PI_2 + move1abs * 0.8) * Quaternion::rotation_y(-0.3) * Quaternion::rotation_z(-0.3); next.control_r.orientation = - Quaternion::rotation_x(PI / 2.0 + s_a.grip.0 * 0.2 + move1abs * 0.8) + Quaternion::rotation_x(FRAC_PI_2 + s_a.grip.0 * 0.2 + move1abs * 0.8) * Quaternion::rotation_y(-0.4 + s_a.grip.0 * 0.2 + move1abs * 0.8) * Quaternion::rotation_z(-0.0); diff --git a/voxygen/anim/src/biped_small/stunned.rs b/voxygen/anim/src/biped_small/stunned.rs index 437fc92753..c23dab8592 100644 --- a/voxygen/anim/src/biped_small/stunned.rs +++ b/voxygen/anim/src/biped_small/stunned.rs @@ -3,7 +3,7 @@ use super::{ BipedSmallSkeleton, SkeletonAttr, }; use common::{comp::item::ToolKind, states::utils::StageSection}; -use std::f32::consts::PI; +use std::f32::consts::{FRAC_PI_2, PI}; pub struct StunnedAnimation; @@ -119,9 +119,9 @@ impl Animation for StunnedAnimation { ); next.control_l.orientation = - Quaternion::rotation_x(PI / 2.0) * Quaternion::rotation_y(-0.3); + Quaternion::rotation_x(FRAC_PI_2) * Quaternion::rotation_y(-0.3); next.control_r.orientation = - Quaternion::rotation_x(PI / 2.0 + s_a.grip.0 * 0.2) + Quaternion::rotation_x(FRAC_PI_2 + s_a.grip.0 * 0.2) * Quaternion::rotation_y(0.5 + s_a.grip.0 * 0.2); next.control.orientation = Quaternion::rotation_x(-0.3 + 0.5 * speednorm) @@ -138,11 +138,11 @@ impl Animation for StunnedAnimation { -2.0 + -s_a.grip.2 / 2.5 + s_a.grip.0 * -2.0 + speednorm * 2.0, ); - next.control_l.orientation = Quaternion::rotation_x(PI / 2.0) + next.control_l.orientation = Quaternion::rotation_x(FRAC_PI_2) * Quaternion::rotation_y(-0.3) * Quaternion::rotation_z(-0.3); next.control_r.orientation = - Quaternion::rotation_x(PI / 2.0 + s_a.grip.0 * 0.2) + Quaternion::rotation_x(FRAC_PI_2 + s_a.grip.0 * 0.2) * Quaternion::rotation_y(-0.4 + s_a.grip.0 * 0.2) * Quaternion::rotation_z(-0.0); @@ -171,7 +171,8 @@ impl Animation for StunnedAnimation { next.chest.position = Vec3::new(0.0, s_a.chest.0, s_a.chest.1) * s_a.scaler / 11.0; next.pants.position = Vec3::new(0.0, s_a.pants.0, s_a.pants.1); next.main.position = Vec3::new(2.0, -3.0, -3.0); - next.main.orientation = Quaternion::rotation_y(-0.5) * Quaternion::rotation_z(1.57); + next.main.orientation = + Quaternion::rotation_y(-0.5) * Quaternion::rotation_z(FRAC_PI_2); next.tail.position = Vec3::new(0.0, s_a.tail.0, s_a.tail.1); next.hand_l.position = Vec3::new(-s_a.hand.0, s_a.hand.1, s_a.hand.2); diff --git a/voxygen/anim/src/biped_small/wield.rs b/voxygen/anim/src/biped_small/wield.rs index 0b642440fd..8e821d1a73 100644 --- a/voxygen/anim/src/biped_small/wield.rs +++ b/voxygen/anim/src/biped_small/wield.rs @@ -3,7 +3,7 @@ use super::{ BipedSmallSkeleton, SkeletonAttr, }; use common::comp::item::ToolKind; -use std::f32::consts::PI; +use std::f32::consts::{FRAC_PI_2, PI}; pub struct WieldAnimation; @@ -38,7 +38,7 @@ impl Animation for WieldAnimation { let fastacc = (acc_vel * 2.0).sin(); let fast = (anim_time * 10.0).sin(); - let fastalt = (anim_time * 10.0 + PI / 2.0).sin(); + let fastalt = (anim_time * 10.0 + FRAC_PI_2).sin(); let slow = (anim_time * 2.0).sin(); let speednorm = speed / 9.4; @@ -112,9 +112,9 @@ impl Animation for WieldAnimation { ); next.control_l.orientation = - Quaternion::rotation_x(PI / 2.0 + slow * 0.1) * Quaternion::rotation_y(-0.3); + Quaternion::rotation_x(FRAC_PI_2 + slow * 0.1) * Quaternion::rotation_y(-0.3); next.control_r.orientation = - Quaternion::rotation_x(PI / 2.0 + slow * 0.1 + s_a.grip.0 * 0.2) + Quaternion::rotation_x(FRAC_PI_2 + slow * 0.1 + s_a.grip.0 * 0.2) * Quaternion::rotation_y(0.5 + slow * 0.0 + s_a.grip.0 * 0.2); next.control.orientation = Quaternion::rotation_x(-0.3 + 0.5 * speednorm) @@ -135,11 +135,11 @@ impl Animation for WieldAnimation { + speednorm * 2.0, ); - next.control_l.orientation = Quaternion::rotation_x(PI / 2.0 + slow * 0.1) + next.control_l.orientation = Quaternion::rotation_x(FRAC_PI_2 + slow * 0.1) * Quaternion::rotation_y(-0.3) * Quaternion::rotation_z(-0.3); next.control_r.orientation = - Quaternion::rotation_x(PI / 2.0 + slow * 0.1 + s_a.grip.0 * 0.2) + Quaternion::rotation_x(FRAC_PI_2 + slow * 0.1 + s_a.grip.0 * 0.2) * Quaternion::rotation_y(-0.4 + slow * 0.0 + s_a.grip.0 * 0.2) * Quaternion::rotation_z(-0.0); diff --git a/voxygen/anim/src/bird_large/run.rs b/voxygen/anim/src/bird_large/run.rs index e5f940d016..284f0d3d2f 100644 --- a/voxygen/anim/src/bird_large/run.rs +++ b/voxygen/anim/src/bird_large/run.rs @@ -2,7 +2,7 @@ use super::{ super::{vek::*, Animation}, BirdLargeSkeleton, SkeletonAttr, }; -use std::f32::consts::PI; +use std::f32::consts::{FRAC_PI_2, PI}; pub struct RunAnimation; @@ -47,10 +47,10 @@ impl Animation for RunAnimation { //FL let foot1a = (mixed_vel * 1.0 * lab * speedmult + 0.0 + PI).sin() * speednorm; //1.5 - let foot1b = (mixed_vel * 1.0 * lab * speedmult + 1.57 + PI).sin() * speednorm; //1.9 + let foot1b = (mixed_vel * 1.0 * lab * speedmult + FRAC_PI_2 + PI).sin() * speednorm; //1.9 //FR let foot2a = (mixed_vel * 1.0 * lab * speedmult).sin() * speednorm; //1.2 - let foot2b = (mixed_vel * 1.0 * lab * speedmult + 1.57).sin() * speednorm; //1.6 + let foot2b = (mixed_vel * 1.0 * lab * speedmult + FRAC_PI_2).sin() * speednorm; //1.6 let ori: Vec2 = Vec2::from(orientation); let last_ori = Vec2::from(last_ori); let tilt = if ::vek::Vec2::new(ori, last_ori) diff --git a/voxygen/anim/src/bird_large/summon.rs b/voxygen/anim/src/bird_large/summon.rs index 5176540e77..0853162d59 100644 --- a/voxygen/anim/src/bird_large/summon.rs +++ b/voxygen/anim/src/bird_large/summon.rs @@ -16,7 +16,6 @@ impl Animation for SummonAnimation { const UPDATE_FN: &'static [u8] = b"bird_large_summon\0"; #[cfg_attr(feature = "be-dyn-lib", export_name = "bird_large_summon")] - #[allow(clippy::approx_constant)] // TODO: Pending review in #587 fn update_skeleton_inner<'a>( skeleton: &Self::Skeleton, (global_time, stage_section, timer, look_dir, on_ground): Self::Dependency<'a>, diff --git a/voxygen/anim/src/bird_medium/fly.rs b/voxygen/anim/src/bird_medium/fly.rs index 5fefb3ffae..4fe0fee00a 100644 --- a/voxygen/anim/src/bird_medium/fly.rs +++ b/voxygen/anim/src/bird_medium/fly.rs @@ -2,7 +2,7 @@ use super::{ super::{vek::*, Animation}, BirdMediumSkeleton, SkeletonAttr, }; -use std::f32::consts::PI; +use std::f32::consts::{FRAC_PI_2, PI}; pub struct FlyAnimation; @@ -27,7 +27,7 @@ impl Animation for FlyAnimation { let footl = (anim_time * lab + PI).sin(); let footr = (anim_time * lab).sin(); - let center = (anim_time * lab + PI / 2.0).sin(); + let center = (anim_time * lab + FRAC_PI_2).sin(); let centeroffset = (anim_time * lab + PI * 1.5).sin(); next.torso.scale = Vec3::one() / 11.0; diff --git a/voxygen/anim/src/bird_medium/run.rs b/voxygen/anim/src/bird_medium/run.rs index 9f1dd93ac1..166294bbdd 100644 --- a/voxygen/anim/src/bird_medium/run.rs +++ b/voxygen/anim/src/bird_medium/run.rs @@ -2,7 +2,7 @@ use super::{ super::{vek::*, Animation}, BirdMediumSkeleton, SkeletonAttr, }; -use std::f32::consts::PI; +use std::f32::consts::{FRAC_PI_2, PI}; pub struct RunAnimation; @@ -27,7 +27,7 @@ impl Animation for RunAnimation { let footl = (anim_time * lab + PI).sin(); let footr = (anim_time * lab).sin(); - let center = (anim_time * lab + PI / 2.0).sin(); + let center = (anim_time * lab + FRAC_PI_2).sin(); let centeroffset = (anim_time * lab + PI * 1.5).sin(); next.torso.scale = Vec3::one() / 11.0; diff --git a/voxygen/anim/src/character/alpha.rs b/voxygen/anim/src/character/alpha.rs index 8e6431d54f..0359ce418c 100644 --- a/voxygen/anim/src/character/alpha.rs +++ b/voxygen/anim/src/character/alpha.rs @@ -23,7 +23,6 @@ impl Animation for AlphaAnimation { const UPDATE_FN: &'static [u8] = b"character_alpha\0"; #[cfg_attr(feature = "be-dyn-lib", export_name = "character_alpha")] - #[allow(clippy::approx_constant)] // TODO: Pending review in #587 fn update_skeleton_inner<'a>( skeleton: &Self::Skeleton, (hands, stage_section, ability_info): Self::Dependency<'a>, diff --git a/voxygen/anim/src/character/beam.rs b/voxygen/anim/src/character/beam.rs index fc6d6bbde9..08d0991e2b 100644 --- a/voxygen/anim/src/character/beam.rs +++ b/voxygen/anim/src/character/beam.rs @@ -6,7 +6,7 @@ use common::{ comp::item::{Hands, ToolKind}, states::utils::{AbilityInfo, StageSection}, }; -use std::f32::consts::PI; +use std::f32::consts::{FRAC_PI_2, FRAC_PI_4}; pub struct BeamAnimation; @@ -71,7 +71,7 @@ impl Animation for BeamAnimation { + (move1 * -1.4 + (move2 * 16.0).sin() * 0.07) * (1.0 - move3), ) * Quaternion::rotation_z( - (move1 * -1.7 + (move2 * 8.0 + PI / 4.0).sin() * 0.3) * (1.0 - move3), + (move1 * -1.7 + (move2 * 8.0 + FRAC_PI_4).sin() * 0.3) * (1.0 - move3), ); next.head.orientation = Quaternion::rotation_x(0.0); @@ -79,12 +79,12 @@ impl Animation for BeamAnimation { 0.0 + (move1 * -1.0 + (move2 * 8.0).sin() * 3.5) * (1.0 - move3), 0.0 + (move1 * -5.0 + (move2 * 8.0).sin() * -2.0 + (move2 * 16.0).sin() * -1.5) * (1.0 - move3), - -4.0 + (move1 * 19.0 + (move2 * 8.0 + PI / 2.0).sin() * 3.5) * (1.0 - move3), + -4.0 + (move1 * 19.0 + (move2 * 8.0 + FRAC_PI_2).sin() * 3.5) * (1.0 - move3), ); next.hand_l.orientation = Quaternion::rotation_x(s_a.sthr.3 + (move1 * -0.3) * (1.0 - move3)) * Quaternion::rotation_y( - (move1 * -1.1 + (move2 * 8.0 + PI / 2.0).sin() * -0.3) * (1.0 - move3), + (move1 * -1.1 + (move2 * 8.0 + FRAC_PI_2).sin() * -0.3) * (1.0 - move3), ) * Quaternion::rotation_z((move1 * -2.8) * (1.0 - move3)); diff --git a/voxygen/anim/src/character/climb.rs b/voxygen/anim/src/character/climb.rs index b920e9c123..f301271891 100644 --- a/voxygen/anim/src/character/climb.rs +++ b/voxygen/anim/src/character/climb.rs @@ -3,7 +3,7 @@ use super::{ CharacterSkeleton, SkeletonAttr, }; use common::comp::item::ToolKind; -use std::{f32::consts::PI, ops::Mul}; +use std::{f32::consts::FRAC_PI_2, ops::Mul}; pub struct ClimbAnimation; @@ -34,15 +34,15 @@ impl Animation for ClimbAnimation { *rate = speed; let constant: f32 = 1.0; let smooth = (anim_time * constant * 1.5).sin(); - let smootha = (anim_time * constant * 1.5 + PI / 2.0).sin(); - let drop = (anim_time * constant * 4.0 + PI / 2.0).sin(); + let smootha = (anim_time * constant * 1.5 + FRAC_PI_2).sin(); + let drop = (anim_time * constant * 4.0 + FRAC_PI_2).sin(); let dropa = (anim_time * constant * 4.0).sin(); let quick = ((5.0 / (0.6 + 4.0 * ((anim_time * constant * 1.5).sin()).powi(2))).sqrt()) * ((anim_time * constant * 1.5).sin()); let quicka = - ((5.0 / (0.6 + 4.0 * ((anim_time * constant * 1.5 + PI / 2.0).sin()).powi(2))).sqrt()) - * ((anim_time * constant * 1.5 + PI / 2.0).sin()); + ((5.0 / (0.6 + 4.0 * ((anim_time * constant * 1.5 + FRAC_PI_2).sin()).powi(2))).sqrt()) + * ((anim_time * constant * 1.5 + FRAC_PI_2).sin()); let head_look = Vec2::new( (global_time / 2.0 + anim_time / 2.0) .floor() diff --git a/voxygen/anim/src/character/dance.rs b/voxygen/anim/src/character/dance.rs index f3239d0f5a..3d635ebe06 100644 --- a/voxygen/anim/src/character/dance.rs +++ b/voxygen/anim/src/character/dance.rs @@ -3,7 +3,10 @@ use super::{ CharacterSkeleton, SkeletonAttr, }; use common::comp::item::ToolKind; -use std::{f32::consts::PI, ops::Mul}; +use std::{ + f32::consts::{FRAC_PI_2, FRAC_PI_4, FRAC_PI_6}, + ops::Mul, +}; pub struct DanceAnimation; @@ -29,12 +32,12 @@ impl Animation for DanceAnimation { let lab: f32 = 1.0; let short = ((5.0 / (3.0 + 2.0 * ((anim_time * lab * 6.0).sin()).powi(2))).sqrt()) * ((anim_time * lab * 6.0).sin()); - let noisea = (anim_time * 11.0 + PI / 6.0).sin(); - let noiseb = (anim_time * 19.0 + PI / 4.0).sin(); + let noisea = (anim_time * 11.0 + FRAC_PI_6).sin(); + let noiseb = (anim_time * 19.0 + FRAC_PI_4).sin(); let shorte = (anim_time * lab * 6.0).sin(); - let shortealt = (anim_time * lab * 6.0 + PI / 2.0).sin(); + let shortealt = (anim_time * lab * 6.0 + FRAC_PI_2).sin(); let foot = ((5.0 / (1.0 + (4.0) * ((anim_time * lab * 8.0).sin()).powi(2))).sqrt()) * ((anim_time * lab * 8.0).sin()); diff --git a/voxygen/anim/src/character/dash.rs b/voxygen/anim/src/character/dash.rs index b9f8d0d0f8..3dd8529dee 100644 --- a/voxygen/anim/src/character/dash.rs +++ b/voxygen/anim/src/character/dash.rs @@ -6,7 +6,7 @@ use common::{ comp::item::{Hands, ToolKind}, states::utils::{AbilityInfo, StageSection}, }; -use std::f32::consts::PI; +use std::f32::consts::FRAC_PI_2; pub struct DashAnimation; @@ -55,7 +55,7 @@ impl Animation for DashAnimation { ((5.0 / (1.5 + 3.5 * ((x * 5.0).sin()).powi(2))).sqrt()) * ((x * 5.0).sin()) } - fn shortalt(x: f32) -> f32 { (x * 5.0 + PI / 2.0).sin() } + fn shortalt(x: f32) -> f32 { (x * 5.0 + FRAC_PI_2).sin() } next.head.position = Vec3::new(0.0, s_a.head.0, s_a.head.1); next.second.position = Vec3::new(0.0, 0.0, 0.0); diff --git a/voxygen/anim/src/character/equip.rs b/voxygen/anim/src/character/equip.rs index 7eca936bad..547f534bf0 100644 --- a/voxygen/anim/src/character/equip.rs +++ b/voxygen/anim/src/character/equip.rs @@ -3,7 +3,7 @@ use super::{ CharacterSkeleton, SkeletonAttr, }; use common::comp::item::ToolKind; -use std::f32::consts::PI; +use std::f32::consts::{FRAC_PI_4, PI}; pub struct EquipAnimation; @@ -15,7 +15,6 @@ impl Animation for EquipAnimation { const UPDATE_FN: &'static [u8] = b"character_equip\0"; #[cfg_attr(feature = "be-dyn-lib", export_name = "character_equip")] - #[allow(clippy::approx_constant)] // TODO: Pending review in #587 fn update_skeleton_inner<'a>( skeleton: &Self::Skeleton, (active_tool_kind, _second_tool_kind, _velocity, _global_time): Self::Dependency<'a>, @@ -26,7 +25,7 @@ impl Animation for EquipAnimation { *rate = 1.0; let mut next = (*skeleton).clone(); let equip_slow = 1.0 + (anim_time * 12.0 + PI).cos(); - let equip_slowa = 1.0 + (anim_time * 12.0 + PI / 4.0).cos(); + let equip_slowa = 1.0 + (anim_time * 12.0 + FRAC_PI_4).cos(); next.hand_l.orientation = Quaternion::rotation_y(-2.3) * Quaternion::rotation_z(1.57); next.hand_r.orientation = Quaternion::rotation_y(-2.3) * Quaternion::rotation_z(1.57); next.control.position = Vec3::new(equip_slowa * -1.5, 0.0, equip_slow * 1.5); diff --git a/voxygen/anim/src/character/jump.rs b/voxygen/anim/src/character/jump.rs index 5125600540..4ab2a4bdc9 100644 --- a/voxygen/anim/src/character/jump.rs +++ b/voxygen/anim/src/character/jump.rs @@ -3,7 +3,7 @@ use super::{ CharacterSkeleton, SkeletonAttr, }; use common::comp::item::{Hands, ToolKind}; -use std::f32::consts::PI; +use std::f32::consts::{FRAC_PI_2, PI}; pub struct JumpAnimation; impl Animation for JumpAnimation { @@ -155,15 +155,18 @@ impl Animation for JumpAnimation { }, Some(ToolKind::Staff) | Some(ToolKind::Sceptre) => { next.main.position = Vec3::new(2.0, -5.0, -1.0); - next.main.orientation = Quaternion::rotation_y(-0.5) * Quaternion::rotation_z(1.57); + next.main.orientation = + Quaternion::rotation_y(-0.5) * Quaternion::rotation_z(FRAC_PI_2); }, Some(ToolKind::Bow) => { next.main.position = Vec3::new(0.0, -5.0, 6.0); - next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57); + next.main.orientation = + Quaternion::rotation_y(2.5) * Quaternion::rotation_z(FRAC_PI_2); }, _ => { next.main.position = Vec3::new(-7.0, -5.0, 15.0); - next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57); + next.main.orientation = + Quaternion::rotation_y(2.5) * Quaternion::rotation_z(FRAC_PI_2); }, } @@ -182,7 +185,7 @@ impl Animation for JumpAnimation { _ => { next.second.position = Vec3::new(-7.0, -5.0, 15.0); next.second.orientation = - Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57); + Quaternion::rotation_y(2.5) * Quaternion::rotation_z(FRAC_PI_2); }, } @@ -211,7 +214,7 @@ impl Animation for JumpAnimation { Some(ToolKind::Axe) | Some(ToolKind::Hammer) | Some(ToolKind::Sword) => { next.main.position = Vec3::new(-4.0, -5.0, 10.0); next.main.orientation = - Quaternion::rotation_y(2.35) * Quaternion::rotation_z(1.57); + Quaternion::rotation_y(2.35) * Quaternion::rotation_z(FRAC_PI_2); }, _ => {}, @@ -223,7 +226,7 @@ impl Animation for JumpAnimation { Some(ToolKind::Axe) | Some(ToolKind::Hammer) | Some(ToolKind::Sword) => { next.second.position = Vec3::new(4.0, -6.0, 10.0); next.second.orientation = - Quaternion::rotation_y(-2.5) * Quaternion::rotation_z(-1.57); + Quaternion::rotation_y(-2.5) * Quaternion::rotation_z(-FRAC_PI_2); }, _ => {}, }, diff --git a/voxygen/anim/src/character/leapmelee.rs b/voxygen/anim/src/character/leapmelee.rs index dc66ab1d9b..1c8b5afdec 100644 --- a/voxygen/anim/src/character/leapmelee.rs +++ b/voxygen/anim/src/character/leapmelee.rs @@ -6,6 +6,8 @@ use common::{ comp::item::{Hands, ToolKind}, states::utils::{AbilityInfo, StageSection}, }; +use std::f32::consts::FRAC_PI_2; + pub struct LeapAnimation; type LeapAnimationDependency = ( @@ -23,7 +25,6 @@ impl Animation for LeapAnimation { const UPDATE_FN: &'static [u8] = b"character_leapmelee\0"; #[cfg_attr(feature = "be-dyn-lib", export_name = "character_leapmelee")] - #[allow(clippy::approx_constant)] // TODO: Pending review in #587 fn update_skeleton_inner<'a>( skeleton: &Self::Skeleton, (hands, _velocity, _global_time, stage_section, ability_info): Self::Dependency<'a>, @@ -133,7 +134,7 @@ impl Animation for LeapAnimation { s_a.hc.2 + move2 * 5.0 + move3 * -10.0, ); next.control.orientation = - Quaternion::rotation_x(s_a.hc.3 + move2 * 1.57 + move3 * -2.3) + Quaternion::rotation_x(s_a.hc.3 + move2 * FRAC_PI_2 + move3 * -2.3) * Quaternion::rotation_y(s_a.hc.4 + move2 * 1.3) * Quaternion::rotation_z(s_a.hc.5 + move2 * -1.0 + move3 * 0.5); }, @@ -170,7 +171,7 @@ impl Animation for LeapAnimation { Quaternion::rotation_x(-0.3 + move2 * 1.0 + move3 * -2.0) * Quaternion::rotation_y(move2 * -0.5 + move3 * 1.9); next.hand_l.position = Vec3::new(0.0, -0.5, 0.0); - next.hand_l.orientation = Quaternion::rotation_x(1.57) + next.hand_l.orientation = Quaternion::rotation_x(FRAC_PI_2) }, Some(ToolKind::Hammer) | Some(ToolKind::Pick) => { next.control_l.position = Vec3::new( @@ -181,7 +182,7 @@ impl Animation for LeapAnimation { next.control_l.orientation = Quaternion::rotation_x(-0.3 + move2 * 1.5 + move3 * -2.5); next.hand_l.position = Vec3::new(0.0, -0.5, 0.0); - next.hand_l.orientation = Quaternion::rotation_x(1.57) + next.hand_l.orientation = Quaternion::rotation_x(FRAC_PI_2) }, _ => {}, @@ -200,7 +201,7 @@ impl Animation for LeapAnimation { next.control_r.orientation = Quaternion::rotation_x(-0.3 + move3 * -2.2) * Quaternion::rotation_y(move2 * -0.5 + move3 * 1.2); next.hand_r.position = Vec3::new(0.0, -0.5, 0.0); - next.hand_r.orientation = Quaternion::rotation_x(1.57) + next.hand_r.orientation = Quaternion::rotation_x(FRAC_PI_2) }, Some(ToolKind::Hammer) | Some(ToolKind::Pick) => { next.control_r.position = Vec3::new( @@ -212,7 +213,7 @@ impl Animation for LeapAnimation { Quaternion::rotation_x(-0.3 + move2 * 1.5 + move3 * -2.5) * Quaternion::rotation_y(move2 * -0.75 + move3 * 0.75); next.hand_r.position = Vec3::new(0.0, -0.5, 0.0); - next.hand_r.orientation = Quaternion::rotation_x(1.57) + next.hand_r.orientation = Quaternion::rotation_x(FRAC_PI_2) }, _ => {}, } diff --git a/voxygen/anim/src/character/repeater.rs b/voxygen/anim/src/character/repeater.rs index c8dbde6256..ad2f0e4b2d 100644 --- a/voxygen/anim/src/character/repeater.rs +++ b/voxygen/anim/src/character/repeater.rs @@ -6,6 +6,8 @@ use common::{ comp::item::{Hands, ToolKind}, states::utils::{AbilityInfo, StageSection}, }; +use std::f32::consts::FRAC_PI_2; + pub struct RepeaterAnimation; impl Animation for RepeaterAnimation { @@ -23,7 +25,6 @@ impl Animation for RepeaterAnimation { const UPDATE_FN: &'static [u8] = b"character_repeater\0"; #[cfg_attr(feature = "be-dyn-lib", export_name = "character_repeater")] - #[allow(clippy::approx_constant)] // TODO: Pending review in #587 fn update_skeleton_inner<'a>( skeleton: &Self::Skeleton, (ability_info, hands, velocity, _global_time, stage_section): Self::Dependency<'a>, @@ -57,7 +58,8 @@ impl Animation for RepeaterAnimation { next.main.orientation = Quaternion::rotation_y(0.0) * Quaternion::rotation_z(0.0); next.hold.position = Vec3::new(0.0, -1.0 + move3 * 2.0, -5.2); - next.hold.orientation = Quaternion::rotation_x(-1.57) * Quaternion::rotation_z(0.0); + next.hold.orientation = + Quaternion::rotation_x(-FRAC_PI_2) * Quaternion::rotation_z(0.0); next.hold.scale = Vec3::one() * (1.0); if speed < 0.5 { next.foot_l.position = Vec3::new( diff --git a/voxygen/anim/src/character/run.rs b/voxygen/anim/src/character/run.rs index 561c28b9c8..9873da41ed 100644 --- a/voxygen/anim/src/character/run.rs +++ b/voxygen/anim/src/character/run.rs @@ -3,7 +3,10 @@ use super::{ CharacterSkeleton, SkeletonAttr, }; use common::comp::item::{Hands, ToolKind}; -use std::{f32::consts::PI, ops::Mul}; +use std::{ + f32::consts::{FRAC_PI_2, FRAC_PI_4, FRAC_PI_6, PI}, + ops::Mul, +}; pub struct RunAnimation; @@ -62,8 +65,8 @@ impl Animation for RunAnimation { .sqrt()) * ((acc_vel * 1.6 * lab + PI * 0.4).sin()); - let noisea = (acc_vel * 11.0 + PI / 6.0).sin(); - let noiseb = (acc_vel * 19.0 + PI / 4.0).sin(); + let noisea = (acc_vel * 11.0 + FRAC_PI_6).sin(); + let noiseb = (acc_vel * 19.0 + FRAC_PI_4).sin(); let shorte = ((1.0 / (0.8 + 0.2 * ((acc_vel * lab * 1.6).sin()).powi(2))).sqrt()) * ((acc_vel * lab * 1.6).sin()); @@ -80,7 +83,7 @@ impl Animation for RunAnimation { let footvertsl = (acc_vel * 1.6 * lab).sin(); let footvertsr = (acc_vel * 1.6 * lab + PI * 0.5).sin(); - let shortalt = (acc_vel * lab * 1.6 + PI / 2.0).sin(); + let shortalt = (acc_vel * lab * 1.6 + FRAC_PI_2).sin(); let short = ((5.0 / (1.5 + 3.5 * ((acc_vel * lab * 1.6).sin()).powi(2))).sqrt()) * ((acc_vel * lab * 1.6).sin()); diff --git a/voxygen/anim/src/character/shoot.rs b/voxygen/anim/src/character/shoot.rs index b1a7cbb720..db6fad9e5c 100644 --- a/voxygen/anim/src/character/shoot.rs +++ b/voxygen/anim/src/character/shoot.rs @@ -7,7 +7,7 @@ use common::{ states::utils::{AbilityInfo, StageSection}, util::Dir, }; -use std::f32::consts::PI; +use std::f32::consts::{FRAC_PI_2, PI}; pub struct ShootAnimation; @@ -29,7 +29,6 @@ impl Animation for ShootAnimation { const UPDATE_FN: &'static [u8] = b"character_shoot\0"; #[cfg_attr(feature = "be-dyn-lib", export_name = "character_shoot")] - #[allow(clippy::approx_constant)] // TODO: Pending review in #587 fn update_skeleton_inner<'a>( skeleton: &Self::Skeleton, ( @@ -141,7 +140,7 @@ impl Animation for ShootAnimation { next.hand_r.orientation = Quaternion::rotation_x(s_a.bhr.3); next.hold.position = Vec3::new(0.0, -1.0 + move2 * 2.0, -5.2 + move2 * 7.0); - next.hold.orientation = Quaternion::rotation_x(-1.57); + next.hold.orientation = Quaternion::rotation_x(-FRAC_PI_2); next.hold.scale = Vec3::one() * 1.0 * (1.0 - move2); next.control.position = Vec3::new( diff --git a/voxygen/anim/src/character/sit.rs b/voxygen/anim/src/character/sit.rs index b620143c9c..9885f0fde9 100644 --- a/voxygen/anim/src/character/sit.rs +++ b/voxygen/anim/src/character/sit.rs @@ -3,7 +3,7 @@ use super::{ CharacterSkeleton, SkeletonAttr, }; use common::comp::item::ToolKind; -use std::{f32::consts::PI, ops::Mul}; +use std::{f32::consts::FRAC_PI_2, ops::Mul}; pub struct SitAnimation; @@ -25,8 +25,8 @@ impl Animation for SitAnimation { let mut next = (*skeleton).clone(); let slow = (anim_time * 1.0).sin(); - let slowa = (anim_time * 1.0 + PI / 2.0).sin(); - let stop = (anim_time * 3.0).min(PI / 2.0).sin(); + let slowa = (anim_time * 1.0 + FRAC_PI_2).sin(); + let stop = (anim_time * 3.0).min(FRAC_PI_2).sin(); let head_look = Vec2::new( (global_time * 0.05 + anim_time / 15.0) diff --git a/voxygen/anim/src/character/sneak.rs b/voxygen/anim/src/character/sneak.rs index 45fddf971d..e402b11f40 100644 --- a/voxygen/anim/src/character/sneak.rs +++ b/voxygen/anim/src/character/sneak.rs @@ -3,7 +3,10 @@ use super::{ CharacterSkeleton, SkeletonAttr, }; use common::comp::item::ToolKind; -use std::{f32::consts::PI, ops::Mul}; +use std::{ + f32::consts::{FRAC_PI_2, FRAC_PI_4, FRAC_PI_6, PI}, + ops::Mul, +}; pub struct SneakAnimation; @@ -47,13 +50,13 @@ impl Animation for SneakAnimation { * ((anim_time * 7.0 * lab + PI * 0.4).sin()); let short = (anim_time * lab * 7.0).sin(); - let noisea = (anim_time * 11.0 + PI / 6.0).sin(); - let noiseb = (anim_time * 19.0 + PI / 4.0).sin(); + let noisea = (anim_time * 11.0 + FRAC_PI_6).sin(); + let noiseb = (anim_time * 19.0 + FRAC_PI_4).sin(); let shorte = ((5.0 / (4.0 + 1.0 * ((anim_time * lab * 7.0).sin()).powi(2))).sqrt()) * ((anim_time * lab * 7.0).sin()); - let shortalt = (anim_time * lab * 7.0 + PI / 2.0).sin(); + let shortalt = (anim_time * lab * 7.0 + FRAC_PI_2).sin(); let head_look = Vec2::new( (global_time + anim_time / 18.0).floor().mul(7331.0).sin() * 0.2, diff --git a/voxygen/anim/src/character/spin.rs b/voxygen/anim/src/character/spin.rs index 112d9806f6..b465c9b73a 100644 --- a/voxygen/anim/src/character/spin.rs +++ b/voxygen/anim/src/character/spin.rs @@ -6,7 +6,7 @@ use common::{ comp::item::{Hands, ToolKind}, states::utils::{AbilityInfo, StageSection}, }; -use std::f32::consts::PI; +use std::f32::consts::{FRAC_PI_2, PI}; pub struct SpinAnimation; @@ -144,7 +144,7 @@ impl Animation for SpinAnimation { next.control.orientation = Quaternion::rotation_x(-0.5 + s_a.sc.3 + movement1base * -1.2) * Quaternion::rotation_y(s_a.sc.4 - 0.6 + movement2base * -0.2) - * Quaternion::rotation_z(s_a.sc.5 - 1.57 + movement1base * PI); + * Quaternion::rotation_z(s_a.sc.5 - FRAC_PI_2 + movement1base * PI); }, Some(ToolKind::Axe) => { next.hand_l.position = Vec3::new(s_a.ahl.0, s_a.ahl.1, s_a.ahl.2); @@ -183,7 +183,7 @@ impl Animation for SpinAnimation { * Quaternion::rotation_y(-2.7 + movement1base * -1.0 + movement2base * 2.0) * Quaternion::rotation_z(1.5 + movement1base * PI); next.hand_l.position = Vec3::new(0.0, -0.5, 0.0); - next.hand_l.orientation = Quaternion::rotation_x(1.57) + next.hand_l.orientation = Quaternion::rotation_x(FRAC_PI_2) }, Some(ToolKind::Axe) => { next.control_l.position = Vec3::new( @@ -193,9 +193,9 @@ impl Animation for SpinAnimation { ); next.control_l.orientation = Quaternion::rotation_x(1.7 + movement2base * 1.5) * Quaternion::rotation_y(-3.7) - * Quaternion::rotation_z(1.5 + movement2base * 1.57); + * Quaternion::rotation_z(1.5 + movement2base * FRAC_PI_2); next.hand_l.position = Vec3::new(0.0, -0.5, 0.0); - next.hand_l.orientation = Quaternion::rotation_x(1.57) + next.hand_l.orientation = Quaternion::rotation_x(FRAC_PI_2) }, _ => {}, @@ -212,7 +212,7 @@ impl Animation for SpinAnimation { * Quaternion::rotation_y(-3.3 + move1 * -1.0 + move2 * 2.0) * Quaternion::rotation_z(1.5 + move1 * PI); next.hand_r.position = Vec3::new(0.0, -0.5, 0.0); - next.hand_r.orientation = Quaternion::rotation_x(1.57) + next.hand_r.orientation = Quaternion::rotation_x(FRAC_PI_2) }, Some(ToolKind::Axe) => { next.control_r.position = Vec3::new( @@ -222,9 +222,9 @@ impl Animation for SpinAnimation { ); next.control_r.orientation = Quaternion::rotation_x(1.7 + move2 * 1.5) * Quaternion::rotation_y(-3.3) - * Quaternion::rotation_z(1.5 + move2 * 1.57); + * Quaternion::rotation_z(1.5 + move2 * FRAC_PI_2); next.hand_r.position = Vec3::new(0.0, -0.5, 0.0); - next.hand_r.orientation = Quaternion::rotation_x(1.57) + next.hand_r.orientation = Quaternion::rotation_x(FRAC_PI_2) }, _ => {}, diff --git a/voxygen/anim/src/character/spinmelee.rs b/voxygen/anim/src/character/spinmelee.rs index c49bee2d49..210c48bf3d 100644 --- a/voxygen/anim/src/character/spinmelee.rs +++ b/voxygen/anim/src/character/spinmelee.rs @@ -6,7 +6,7 @@ use common::{ comp::item::{Hands, ToolKind}, states::utils::{AbilityInfo, StageSection}, }; -use std::f32::consts::PI; +use std::f32::consts::{FRAC_PI_2, PI, TAU}; pub struct SpinMeleeAnimation; @@ -25,7 +25,6 @@ impl Animation for SpinMeleeAnimation { const UPDATE_FN: &'static [u8] = b"character_spinmelee\0"; #[cfg_attr(feature = "be-dyn-lib", export_name = "character_spinmelee")] - #[allow(clippy::approx_constant)] // TODO: Pending review in #587 fn update_skeleton_inner<'a>( skeleton: &Self::Skeleton, (hands, _velocity, _global_time, stage_section, ability_info): Self::Dependency<'a>, @@ -50,7 +49,7 @@ impl Animation for SpinMeleeAnimation { next.second.orientation = Quaternion::rotation_z(0.0); match ability_info.and_then(|a| a.tool) { Some(ToolKind::Sword) => { - next.torso.orientation = Quaternion::rotation_z(movement2 * PI * 2.0); + next.torso.orientation = Quaternion::rotation_z(movement2 * TAU); next.chest.position = Vec3::new( 0.0, @@ -122,7 +121,7 @@ impl Animation for SpinMeleeAnimation { s_a.sc.2 + move1 * 2.0 + move2 * 10.0, ); next.control.orientation = Quaternion::rotation_x(s_a.sc.3 + move1 * -PI / 2.5) - * Quaternion::rotation_z(s_a.sc.5 + move1 * -PI / 2.0); + * Quaternion::rotation_z(s_a.sc.5 + move1 * -FRAC_PI_2); }, Some(ToolKind::Axe) => { next.main.position = Vec3::new(0.0, 0.0, 0.0); diff --git a/voxygen/anim/src/character/staggered.rs b/voxygen/anim/src/character/staggered.rs index 0597fccce0..43675b0590 100644 --- a/voxygen/anim/src/character/staggered.rs +++ b/voxygen/anim/src/character/staggered.rs @@ -6,6 +6,7 @@ use common::{ comp::item::{Hands, ToolKind}, states::utils::StageSection, }; +use std::f32::consts::{FRAC_PI_2, PI}; pub struct StaggeredAnimation; @@ -27,7 +28,6 @@ impl Animation for StaggeredAnimation { const UPDATE_FN: &'static [u8] = b"character_staggered\0"; #[cfg_attr(feature = "be-dyn-lib", export_name = "character_staggered")] - #[allow(clippy::approx_constant)] // TODO: Pending review in #587 fn update_skeleton_inner<'a>( skeleton: &Self::Skeleton, ( @@ -139,7 +139,7 @@ impl Animation for StaggeredAnimation { next.hand_r.orientation = Quaternion::rotation_x(s_a.bhr.3); next.hold.position = Vec3::new(0.0, -1.0, -5.2); - next.hold.orientation = Quaternion::rotation_x(-1.57); + next.hold.orientation = Quaternion::rotation_x(-FRAC_PI_2); next.hold.scale = Vec3::one() * 1.0; next.control.position = Vec3::new(s_a.bc.0, s_a.bc.1, s_a.bc.2); @@ -150,15 +150,15 @@ impl Animation for StaggeredAnimation { next.hand_l.position = Vec3::new(-7.0, 4.0, 3.0); next.hand_l.orientation = Quaternion::rotation_x(1.27); next.main.position = Vec3::new(-5.0, 5.0, 23.0); - next.main.orientation = Quaternion::rotation_x(3.14); + next.main.orientation = Quaternion::rotation_x(PI); }, Some(ToolKind::Farming) => { next.hand_l.position = Vec3::new(9.0, 1.0, 1.0); - next.hand_l.orientation = Quaternion::rotation_x(1.57); + next.hand_l.orientation = Quaternion::rotation_x(FRAC_PI_2); next.hand_r.position = Vec3::new(9.0, 1.0, 11.0); - next.hand_r.orientation = Quaternion::rotation_x(1.57); + next.hand_r.orientation = Quaternion::rotation_x(FRAC_PI_2); next.main.position = Vec3::new(7.5, 7.5, 13.2); - next.main.orientation = Quaternion::rotation_y(3.14); + next.main.orientation = Quaternion::rotation_y(PI); next.control.position = Vec3::new(-11.0, 1.8, 4.0); }, @@ -172,7 +172,7 @@ impl Animation for StaggeredAnimation { next.control_l.position = Vec3::new(-7.0, 8.0, 2.0); next.control_l.orientation = Quaternion::rotation_x(-0.3); next.hand_l.position = Vec3::new(0.0, -0.5, 0.0); - next.hand_l.orientation = Quaternion::rotation_x(1.57) + next.hand_l.orientation = Quaternion::rotation_x(FRAC_PI_2) }, (_, _) => {}, }; @@ -181,7 +181,7 @@ impl Animation for StaggeredAnimation { next.control_r.position = Vec3::new(7.0, 8.0, 2.0); next.control_r.orientation = Quaternion::rotation_x(-0.3); next.hand_r.position = Vec3::new(0.0, -0.5, 0.0); - next.hand_r.orientation = Quaternion::rotation_x(1.57) + next.hand_r.orientation = Quaternion::rotation_x(FRAC_PI_2) }, (_, _) => {}, }; diff --git a/voxygen/anim/src/character/stand.rs b/voxygen/anim/src/character/stand.rs index 50ddea63a7..66edf4a8b3 100644 --- a/voxygen/anim/src/character/stand.rs +++ b/voxygen/anim/src/character/stand.rs @@ -3,7 +3,7 @@ use super::{ CharacterSkeleton, SkeletonAttr, }; use common::comp::item::{Hands, ToolKind}; -use std::ops::Mul; +use std::{f32::consts::FRAC_PI_2, ops::Mul}; pub struct StandAnimation; @@ -114,17 +114,17 @@ impl Animation for StandAnimation { Some(ToolKind::Bow) => { next.main.position = Vec3::new(0.0, -5.0, 6.0); next.main.orientation = - Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57); + Quaternion::rotation_y(2.5) * Quaternion::rotation_z(FRAC_PI_2); }, Some(ToolKind::Staff) | Some(ToolKind::Sceptre) => { next.main.position = Vec3::new(2.0, -5.0, -1.0); next.main.orientation = - Quaternion::rotation_y(-0.5) * Quaternion::rotation_z(1.57); + Quaternion::rotation_y(-0.5) * Quaternion::rotation_z(FRAC_PI_2); }, _ => { next.main.position = Vec3::new(-7.0, -5.0, 15.0); next.main.orientation = - Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57); + Quaternion::rotation_y(2.5) * Quaternion::rotation_z(FRAC_PI_2); }, }, ((_, _), _, _) => {}, @@ -135,7 +135,7 @@ impl Animation for StandAnimation { Some(ToolKind::Axe) | Some(ToolKind::Hammer) | Some(ToolKind::Sword) => { next.main.position = Vec3::new(-4.0, -5.0, 10.0); next.main.orientation = - Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57); + Quaternion::rotation_y(2.5) * Quaternion::rotation_z(FRAC_PI_2); }, _ => {}, @@ -147,7 +147,7 @@ impl Animation for StandAnimation { Some(ToolKind::Axe) | Some(ToolKind::Hammer) | Some(ToolKind::Sword) => { next.second.position = Vec3::new(4.0, -6.0, 10.0); next.second.orientation = - Quaternion::rotation_y(-2.5) * Quaternion::rotation_z(-1.57); + Quaternion::rotation_y(-2.5) * Quaternion::rotation_z(-FRAC_PI_2); }, _ => {}, }, diff --git a/voxygen/anim/src/character/stunned.rs b/voxygen/anim/src/character/stunned.rs index 081ec79199..57a4ed9129 100644 --- a/voxygen/anim/src/character/stunned.rs +++ b/voxygen/anim/src/character/stunned.rs @@ -6,6 +6,7 @@ use common::{ comp::item::{Hands, ToolKind}, states::utils::StageSection, }; +use std::f32::consts::{FRAC_PI_2, PI}; pub struct StunnedAnimation; @@ -27,7 +28,6 @@ impl Animation for StunnedAnimation { const UPDATE_FN: &'static [u8] = b"character_stunned\0"; #[cfg_attr(feature = "be-dyn-lib", export_name = "character_stunned")] - #[allow(clippy::approx_constant)] // TODO: Pending review in #587 fn update_skeleton_inner<'a>( skeleton: &Self::Skeleton, ( @@ -135,7 +135,7 @@ impl Animation for StunnedAnimation { next.hand_r.orientation = Quaternion::rotation_x(s_a.bhr.3); next.hold.position = Vec3::new(0.0, -1.0, -5.2); - next.hold.orientation = Quaternion::rotation_x(-1.57); + next.hold.orientation = Quaternion::rotation_x(-FRAC_PI_2); next.hold.scale = Vec3::one() * 1.0; next.control.position = Vec3::new(s_a.bc.0, s_a.bc.1, s_a.bc.2); @@ -146,15 +146,15 @@ impl Animation for StunnedAnimation { next.hand_l.position = Vec3::new(-7.0, 4.0, 3.0); next.hand_l.orientation = Quaternion::rotation_x(1.27); next.main.position = Vec3::new(-5.0, 5.0, 23.0); - next.main.orientation = Quaternion::rotation_x(3.14); + next.main.orientation = Quaternion::rotation_x(PI); }, Some(ToolKind::Farming) => { next.hand_l.position = Vec3::new(9.0, 1.0, 1.0); - next.hand_l.orientation = Quaternion::rotation_x(1.57); + next.hand_l.orientation = Quaternion::rotation_x(FRAC_PI_2); next.hand_r.position = Vec3::new(9.0, 1.0, 11.0); - next.hand_r.orientation = Quaternion::rotation_x(1.57); + next.hand_r.orientation = Quaternion::rotation_x(FRAC_PI_2); next.main.position = Vec3::new(7.5, 7.5, 13.2); - next.main.orientation = Quaternion::rotation_y(3.14); + next.main.orientation = Quaternion::rotation_y(PI); next.control.position = Vec3::new(-11.0, 1.8, 4.0); }, @@ -167,7 +167,7 @@ impl Animation for StunnedAnimation { next.control_l.position = Vec3::new(-7.0, 8.0, 2.0); next.control_l.orientation = Quaternion::rotation_x(-0.3); next.hand_l.position = Vec3::new(0.0, -0.5, 0.0); - next.hand_l.orientation = Quaternion::rotation_x(1.57) + next.hand_l.orientation = Quaternion::rotation_x(FRAC_PI_2) }, (_, _) => {}, }; @@ -176,7 +176,7 @@ impl Animation for StunnedAnimation { next.control_r.position = Vec3::new(7.0, 8.0, 2.0); next.control_r.orientation = Quaternion::rotation_x(-0.3); next.hand_r.position = Vec3::new(0.0, -0.5, 0.0); - next.hand_r.orientation = Quaternion::rotation_x(1.57) + next.hand_r.orientation = Quaternion::rotation_x(FRAC_PI_2) }, (_, _) => {}, }; diff --git a/voxygen/anim/src/character/swim.rs b/voxygen/anim/src/character/swim.rs index 358dc06f63..099275bac3 100644 --- a/voxygen/anim/src/character/swim.rs +++ b/voxygen/anim/src/character/swim.rs @@ -3,7 +3,10 @@ use super::{ CharacterSkeleton, SkeletonAttr, }; use common::comp::item::{Hands, ToolKind}; -use std::{f32::consts::PI, ops::Mul}; +use std::{ + f32::consts::{FRAC_PI_2, PI}, + ops::Mul, +}; pub struct SwimAnimation; @@ -190,15 +193,18 @@ impl Animation for SwimAnimation { }, Some(ToolKind::Staff) | Some(ToolKind::Sceptre) => { next.main.position = Vec3::new(2.0, -5.0, -1.0); - next.main.orientation = Quaternion::rotation_y(-0.5) * Quaternion::rotation_z(1.57); + next.main.orientation = + Quaternion::rotation_y(-0.5) * Quaternion::rotation_z(FRAC_PI_2); }, Some(ToolKind::Bow) => { next.main.position = Vec3::new(0.0, -5.0, 6.0); - next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57); + next.main.orientation = + Quaternion::rotation_y(2.5) * Quaternion::rotation_z(FRAC_PI_2); }, _ => { next.main.position = Vec3::new(-7.0, -5.0, 15.0); - next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57); + next.main.orientation = + Quaternion::rotation_y(2.5) * Quaternion::rotation_z(FRAC_PI_2); }, } @@ -216,7 +222,7 @@ impl Animation for SwimAnimation { _ => { next.second.position = Vec3::new(-7.0, -5.0, 15.0); next.second.orientation = - Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57); + Quaternion::rotation_y(2.5) * Quaternion::rotation_z(FRAC_PI_2); }, } @@ -231,7 +237,7 @@ impl Animation for SwimAnimation { }; next.torso.position = Vec3::new(0.0, 0.0, 1.0 - avgspeed * 0.05) * s_a.scaler; next.torso.orientation = Quaternion::rotation_x( - (((1.0 / switch) * PI / 2.0 + avg_vel.z * 0.12).min(1.57) - PI / 2.0) + (((1.0 / switch) * FRAC_PI_2 + avg_vel.z * 0.12).min(FRAC_PI_2) - FRAC_PI_2) + avgspeed * avg_vel.z * -0.003, ) * Quaternion::rotation_y(tilt * 2.0) * Quaternion::rotation_z(tilt * 3.0); @@ -241,7 +247,7 @@ impl Animation for SwimAnimation { Some(ToolKind::Axe) | Some(ToolKind::Hammer) | Some(ToolKind::Sword) => { next.main.position = Vec3::new(-4.0, -5.0, 10.0); next.main.orientation = - Quaternion::rotation_y(2.35) * Quaternion::rotation_z(1.57); + Quaternion::rotation_y(2.35) * Quaternion::rotation_z(FRAC_PI_2); }, _ => {}, @@ -253,7 +259,7 @@ impl Animation for SwimAnimation { Some(ToolKind::Axe) | Some(ToolKind::Hammer) | Some(ToolKind::Sword) => { next.second.position = Vec3::new(4.0, -6.0, 10.0); next.second.orientation = - Quaternion::rotation_y(-2.5) * Quaternion::rotation_z(-1.57); + Quaternion::rotation_y(-2.5) * Quaternion::rotation_z(-FRAC_PI_2); }, _ => {}, }, diff --git a/voxygen/anim/src/character/swimwield.rs b/voxygen/anim/src/character/swimwield.rs index 20dc7953ea..96872253a5 100644 --- a/voxygen/anim/src/character/swimwield.rs +++ b/voxygen/anim/src/character/swimwield.rs @@ -3,7 +3,10 @@ use super::{ CharacterSkeleton, SkeletonAttr, }; use common::comp::item::{Hands, ToolKind}; -use std::{f32::consts::PI, ops::Mul}; +use std::{ + f32::consts::{FRAC_PI_2, FRAC_PI_4, FRAC_PI_6, PI}, + ops::Mul, +}; pub struct SwimWieldAnimation; @@ -22,7 +25,6 @@ impl Animation for SwimWieldAnimation { const UPDATE_FN: &'static [u8] = b"character_swimwield\0"; #[cfg_attr(feature = "be-dyn-lib", export_name = "character_swimwield")] - #[allow(clippy::approx_constant)] // TODO: Pending review in #587 fn update_skeleton_inner<'a>( skeleton: &Self::Skeleton, (active_tool_kind, second_tool_kind, hands, velocity, global_time): Self::Dependency<'a>, @@ -56,8 +58,8 @@ impl Animation for SwimWieldAnimation { let u_slowalt = (anim_time * 3.0 + PI).cos(); let short = ((5.0 / (1.5 + 3.5 * ((anim_time * lab * 16.0).sin()).powi(2))).sqrt()) * ((anim_time * lab * 16.0).sin()); - let noisea = (anim_time * 11.0 + PI / 6.0).sin(); - let noiseb = (anim_time * 19.0 + PI / 4.0).sin(); + let noisea = (anim_time * 11.0 + FRAC_PI_6).sin(); + let noiseb = (anim_time * 19.0 + FRAC_PI_4).sin(); next.foot_l.position = Vec3::new( -s_a.foot.0, @@ -198,12 +200,12 @@ impl Animation for SwimWieldAnimation { * Quaternion::rotation_z(PI - 0.2); } next.hand_l.position = Vec3::new(-0.5, 0.0, 4.0); - next.hand_l.orientation = Quaternion::rotation_x(PI / 2.0) + next.hand_l.orientation = Quaternion::rotation_x(FRAC_PI_2) * Quaternion::rotation_z(0.0) * Quaternion::rotation_y(0.0); next.hand_l.scale = Vec3::one() * 1.04; next.hand_r.position = Vec3::new(0.5, 0.0, -2.5); - next.hand_r.orientation = Quaternion::rotation_x(PI / 2.0) + next.hand_r.orientation = Quaternion::rotation_x(FRAC_PI_2) * Quaternion::rotation_z(0.0) * Quaternion::rotation_y(0.0); next.hand_r.scale = Vec3::one() * 1.04; @@ -224,8 +226,8 @@ impl Animation for SwimWieldAnimation { next.hand_r.scale = Vec3::one() * 1.04; next.main.position = Vec3::new(0.0, 0.0, 0.0); next.main.orientation = Quaternion::rotation_x(0.0) - * Quaternion::rotation_y(-1.57) - * Quaternion::rotation_z(1.57); + * Quaternion::rotation_y(-FRAC_PI_2) + * Quaternion::rotation_z(FRAC_PI_2); next.control.position = Vec3::new(6.0, 7.0, 1.0); next.control.orientation = Quaternion::rotation_x(0.3 + u_slow * 0.15) @@ -244,7 +246,7 @@ impl Animation for SwimWieldAnimation { next.hand_r.scale = Vec3::one() * 1.04; next.main.position = Vec3::new(12.0, 8.4, 13.2); next.main.orientation = Quaternion::rotation_x(-0.3) - * Quaternion::rotation_y(3.14 + 0.3) + * Quaternion::rotation_y(PI + 0.3) * Quaternion::rotation_z(0.9); next.control.position = Vec3::new(-14.0, 1.8, 3.0); diff --git a/voxygen/anim/src/character/talk.rs b/voxygen/anim/src/character/talk.rs index f2fe4bbfb2..64fce166fb 100644 --- a/voxygen/anim/src/character/talk.rs +++ b/voxygen/anim/src/character/talk.rs @@ -3,7 +3,7 @@ use super::{ CharacterSkeleton, SkeletonAttr, }; use common::{comp::item::ToolKind, util::Dir}; -use std::f32::consts::PI; +use std::f32::consts::FRAC_PI_2; pub struct TalkAnimation; @@ -15,7 +15,6 @@ impl Animation for TalkAnimation { const UPDATE_FN: &'static [u8] = b"character_talk\0"; #[cfg_attr(feature = "be-dyn-lib", export_name = "character_talk")] - #[allow(clippy::approx_constant)] // TODO: Pending review in #587 fn update_skeleton_inner<'a>( skeleton: &Self::Skeleton, (_active_tool_kind, _second_tool_kind, _velocity, _global_time, look_dir): Self::Dependency< @@ -29,8 +28,8 @@ impl Animation for TalkAnimation { let mut next = (*skeleton).clone(); let slowa = (anim_time * 6.0).sin(); - let slowb = (anim_time * 4.0 + PI / 2.0).sin(); - let slowc = (anim_time * 12.0 + PI / 2.0).sin(); + let slowb = (anim_time * 4.0 + FRAC_PI_2).sin(); + let slowc = (anim_time * 12.0 + FRAC_PI_2).sin(); next.head.orientation = Quaternion::rotation_x(slowc * 0.035 + look_dir.z * 0.7); next.hand_l.position = Vec3::new( diff --git a/voxygen/anim/src/character/wield.rs b/voxygen/anim/src/character/wield.rs index 36974076d3..4fe3549382 100644 --- a/voxygen/anim/src/character/wield.rs +++ b/voxygen/anim/src/character/wield.rs @@ -6,7 +6,10 @@ use common::{ comp::item::{Hands, ToolKind}, util::Dir, }; -use std::{f32::consts::PI, ops::Mul}; +use std::{ + f32::consts::{FRAC_PI_2, PI}, + ops::Mul, +}; pub struct WieldAnimation; @@ -28,7 +31,6 @@ impl Animation for WieldAnimation { const UPDATE_FN: &'static [u8] = b"character_wield\0"; #[cfg_attr(feature = "be-dyn-lib", export_name = "character_wield")] - #[allow(clippy::approx_constant)] // TODO: Pending review in #587 fn update_skeleton_inner<'a>( skeleton: &Self::Skeleton, ( @@ -57,14 +59,14 @@ impl Animation for WieldAnimation { let foothoril = (anim_time * 16.0 * lab + PI * 1.45).sin(); - let beltstatic = (anim_time * 10.0 * lab + PI / 2.0).sin(); + let beltstatic = (anim_time * 10.0 * lab + FRAC_PI_2).sin(); let footvertlstatic = (anim_time * 10.0 * lab).sin(); let footvertrstatic = (anim_time * 10.0 * lab + PI).sin(); let footrotl = ((1.0 / (0.5 + (0.5) * ((anim_time * 16.0 * lab + PI * 1.4).sin()).powi(2))).sqrt()) * ((anim_time * 16.0 * lab + PI * 1.4).sin()); - let shortalt = (anim_time * lab * 16.0 + PI / 2.0).sin(); + let shortalt = (anim_time * lab * 16.0 + FRAC_PI_2).sin(); let slowalt = (anim_time * 6.0 + PI).cos(); let u_slow = (anim_time * 2.5 + PI).sin(); @@ -253,7 +255,7 @@ impl Animation for WieldAnimation { next.hand_r.orientation = Quaternion::rotation_x(s_a.bhr.3); next.hold.position = Vec3::new(0.0, -1.0, -5.2); - next.hold.orientation = Quaternion::rotation_x(-1.57); + next.hold.orientation = Quaternion::rotation_x(-FRAC_PI_2); next.hold.scale = Vec3::one() * 1.0; next.control.position = @@ -274,11 +276,11 @@ impl Animation for WieldAnimation { * Quaternion::rotation_x(-0.2 + head_look.y.abs() + look_dir.z * 0.7); } next.hand_l.position = Vec3::new(9.0, 1.0, 1.0); - next.hand_l.orientation = Quaternion::rotation_x(1.57); + next.hand_l.orientation = Quaternion::rotation_x(FRAC_PI_2); next.hand_r.position = Vec3::new(9.0, 1.0, 11.0); - next.hand_r.orientation = Quaternion::rotation_x(1.57); + next.hand_r.orientation = Quaternion::rotation_x(FRAC_PI_2); next.main.position = Vec3::new(7.5, 7.5, 13.2); - next.main.orientation = Quaternion::rotation_y(3.14); + next.main.orientation = Quaternion::rotation_y(PI); next.control.position = Vec3::new(-11.0 + slow * 2.0, 1.8, 4.0); next.control.orientation = Quaternion::rotation_x(u_slow * 0.1) @@ -294,7 +296,7 @@ impl Animation for WieldAnimation { next.control_l.position = Vec3::new(-7.0, 8.0, 2.0); next.control_l.orientation = Quaternion::rotation_x(-0.3); next.hand_l.position = Vec3::new(0.0, -0.5, 0.0); - next.hand_l.orientation = Quaternion::rotation_x(1.57) + next.hand_l.orientation = Quaternion::rotation_x(FRAC_PI_2) }, (_, _) => {}, }; @@ -303,7 +305,7 @@ impl Animation for WieldAnimation { next.control_r.position = Vec3::new(7.0, 8.0, 2.0); next.control_r.orientation = Quaternion::rotation_x(-0.3); next.hand_r.position = Vec3::new(0.0, -0.5, 0.0); - next.hand_r.orientation = Quaternion::rotation_x(1.57) + next.hand_r.orientation = Quaternion::rotation_x(FRAC_PI_2) }, (_, _) => {}, }; diff --git a/voxygen/anim/src/dragon/fly.rs b/voxygen/anim/src/dragon/fly.rs index fb5f1f9169..b8457e61fb 100644 --- a/voxygen/anim/src/dragon/fly.rs +++ b/voxygen/anim/src/dragon/fly.rs @@ -2,7 +2,7 @@ use super::{ super::{vek::*, Animation}, DragonSkeleton, SkeletonAttr, }; -use std::f32::consts::PI; +use std::f32::consts::{FRAC_PI_2, PI}; pub struct FlyAnimation; @@ -35,7 +35,7 @@ impl Animation for FlyAnimation { let footl = (anim_time * lab + PI).sin(); let footr = (anim_time * lab).sin(); - let center = (anim_time * lab + PI / 2.0).sin(); + let center = (anim_time * lab + FRAC_PI_2).sin(); let centeroffset = (anim_time * lab + PI * 1.5).sin(); next.head_upper.scale = Vec3::one() * 1.05; diff --git a/voxygen/anim/src/dragon/idle.rs b/voxygen/anim/src/dragon/idle.rs index 28628b316a..63f25c5977 100644 --- a/voxygen/anim/src/dragon/idle.rs +++ b/voxygen/anim/src/dragon/idle.rs @@ -2,7 +2,7 @@ use super::{ super::{vek::*, Animation}, DragonSkeleton, SkeletonAttr, }; -use std::{f32::consts::PI, ops::Mul}; +use std::{f32::consts::FRAC_PI_2, ops::Mul}; pub struct IdleAnimation; @@ -25,7 +25,7 @@ impl Animation for IdleAnimation { let ultra_slow = (anim_time * 1.0).sin(); let slow = (anim_time * 2.5).sin(); - let slowalt = (anim_time * 2.5 + PI / 2.0).sin(); + let slowalt = (anim_time * 2.5 + FRAC_PI_2).sin(); let dragon_look = Vec2::new( (global_time / 2.0 + anim_time / 8.0) diff --git a/voxygen/anim/src/dragon/run.rs b/voxygen/anim/src/dragon/run.rs index 8356f8acd8..439c89e60e 100644 --- a/voxygen/anim/src/dragon/run.rs +++ b/voxygen/anim/src/dragon/run.rs @@ -2,7 +2,7 @@ use super::{ super::{vek::*, Animation}, DragonSkeleton, SkeletonAttr, }; -use std::f32::consts::PI; +use std::f32::consts::{FRAC_PI_2, PI}; pub struct RunAnimation; @@ -64,7 +64,7 @@ impl Animation for RunAnimation { let horilboffset = (anim_time * lab + PI * 1.4).sin(); let horirb = (anim_time * lab + PI * 0.4).sin(); - let center = (anim_time * lab + PI / 2.0).sin(); + let center = (anim_time * lab + FRAC_PI_2).sin(); let centeroffset = (anim_time * lab + PI * 1.5).sin(); next.head_lower.scale = Vec3::one() * 1.02; diff --git a/voxygen/anim/src/golem/run.rs b/voxygen/anim/src/golem/run.rs index d9f0fe504a..98d7fc0585 100644 --- a/voxygen/anim/src/golem/run.rs +++ b/voxygen/anim/src/golem/run.rs @@ -2,7 +2,7 @@ use super::{ super::{vek::*, Animation}, GolemSkeleton, SkeletonAttr, }; -use std::f32::consts::PI; +use std::f32::consts::{FRAC_PI_2, PI}; pub struct RunAnimation; @@ -50,7 +50,7 @@ impl Animation for RunAnimation { * speednorm; let short = (mixed_vel * lab * 2.0).sin() * speednorm; - let shortalt = (mixed_vel * lab * 2.0 + PI / 2.0).sin() * speednorm; + let shortalt = (mixed_vel * lab * 2.0 + FRAC_PI_2).sin() * speednorm; let ori: Vec2 = Vec2::from(orientation); let last_ori = Vec2::from(last_ori); let tilt = if ::vek::Vec2::new(ori, last_ori) diff --git a/voxygen/anim/src/golem/shoot.rs b/voxygen/anim/src/golem/shoot.rs index e4d8b3ae1d..60345286f7 100644 --- a/voxygen/anim/src/golem/shoot.rs +++ b/voxygen/anim/src/golem/shoot.rs @@ -3,6 +3,8 @@ use super::{ GolemSkeleton, SkeletonAttr, }; use common::{states::utils::StageSection, util::Dir}; +use std::f32::consts::FRAC_PI_2; + pub struct ShootAnimation; impl Animation for ShootAnimation { @@ -46,8 +48,9 @@ impl Animation for ShootAnimation { next.shoulder_l.orientation = Quaternion::rotation_y(0.0) * Quaternion::rotation_z(move1 * 0.7); - next.shoulder_r.orientation = Quaternion::rotation_x(move1 * (look_dir.z * 1.2 + 1.57)) - * Quaternion::rotation_y(move1 * 0.0); + next.shoulder_r.orientation = + Quaternion::rotation_x(move1 * (look_dir.z * 1.2 + FRAC_PI_2)) + * Quaternion::rotation_y(move1 * 0.0); next.hand_l.orientation = Quaternion::rotation_z(move1 * -0.3) * Quaternion::rotation_x(move1 * 1.3); diff --git a/voxygen/anim/src/golem/spinmelee.rs b/voxygen/anim/src/golem/spinmelee.rs index e49daeadcf..5547b49300 100644 --- a/voxygen/anim/src/golem/spinmelee.rs +++ b/voxygen/anim/src/golem/spinmelee.rs @@ -15,7 +15,6 @@ impl Animation for SpinMeleeAnimation { const UPDATE_FN: &'static [u8] = b"golem_spinmelee\0"; #[cfg_attr(feature = "be-dyn-lib", export_name = "golem_spinmelee")] - #[allow(clippy::approx_constant)] // TODO: Pending review in #587 fn update_skeleton_inner<'a>( skeleton: &Self::Skeleton, stage_section: Self::Dependency<'a>, diff --git a/voxygen/anim/src/object/beam.rs b/voxygen/anim/src/object/beam.rs index 99b3024e41..ae81972718 100644 --- a/voxygen/anim/src/object/beam.rs +++ b/voxygen/anim/src/object/beam.rs @@ -22,7 +22,6 @@ impl Animation for BeamAnimation { const UPDATE_FN: &'static [u8] = b"object_beam\0"; #[cfg_attr(feature = "be-dyn-lib", export_name = "object_beam")] - #[allow(clippy::approx_constant)] // TODO: Pending review in #587 fn update_skeleton_inner<'a>( skeleton: &Self::Skeleton, (_active_tool_kind, _second_tool_kind, _stage_section, _body): Self::Dependency<'a>, diff --git a/voxygen/anim/src/object/idle.rs b/voxygen/anim/src/object/idle.rs index 42cdcd6832..1684db73a8 100644 --- a/voxygen/anim/src/object/idle.rs +++ b/voxygen/anim/src/object/idle.rs @@ -14,7 +14,6 @@ impl Animation for IdleAnimation { const UPDATE_FN: &'static [u8] = b"object_idle\0"; #[cfg_attr(feature = "be-dyn-lib", export_name = "object_idle")] - #[allow(clippy::approx_constant)] // TODO: Pending review in #587 fn update_skeleton_inner<'a>( skeleton: &Self::Skeleton, (_active_tool_kind, _second_tool_kind, _global_time): Self::Dependency<'a>, diff --git a/voxygen/anim/src/object/shoot.rs b/voxygen/anim/src/object/shoot.rs index 32bcb56542..9d74848a65 100644 --- a/voxygen/anim/src/object/shoot.rs +++ b/voxygen/anim/src/object/shoot.rs @@ -22,7 +22,6 @@ impl Animation for ShootAnimation { const UPDATE_FN: &'static [u8] = b"object_shoot\0"; #[cfg_attr(feature = "be-dyn-lib", export_name = "object_shoot")] - #[allow(clippy::approx_constant)] // TODO: Pending review in #587 fn update_skeleton_inner<'a>( skeleton: &Self::Skeleton, (_active_tool_kind, _second_tool_kind, stage_section, body): Self::Dependency<'a>, diff --git a/voxygen/anim/src/quadruped_low/breathe.rs b/voxygen/anim/src/quadruped_low/breathe.rs index c70f4bdb9a..d22da8e817 100644 --- a/voxygen/anim/src/quadruped_low/breathe.rs +++ b/voxygen/anim/src/quadruped_low/breathe.rs @@ -3,8 +3,8 @@ use super::{ QuadrupedLowSkeleton, SkeletonAttr, }; use common::states::utils::StageSection; +use std::f32::consts::FRAC_PI_2; //use std::ops::Rem; -use std::f32::consts::PI; pub struct BreatheAnimation; @@ -37,7 +37,7 @@ impl Animation for BreatheAnimation { let check = subtract - subtract.trunc(); let mirror = (check - 0.5).signum(); let twitch2 = mirror * (twitch * 20.0).sin() * pullback; - let twitch2alt = mirror * (twitch * 20.0 + PI / 2.0).sin() * pullback; + let twitch2alt = mirror * (twitch * 20.0 + FRAC_PI_2).sin() * pullback; let movement1abs = movement1base * pullback; diff --git a/voxygen/anim/src/quadruped_low/idle.rs b/voxygen/anim/src/quadruped_low/idle.rs index c0601d27d4..6a4f6ad831 100644 --- a/voxygen/anim/src/quadruped_low/idle.rs +++ b/voxygen/anim/src/quadruped_low/idle.rs @@ -2,7 +2,7 @@ use super::{ super::{vek::*, Animation}, QuadrupedLowSkeleton, SkeletonAttr, }; -use std::{f32::consts::PI, ops::Mul}; +use std::{f32::consts::FRAC_PI_2, ops::Mul}; pub struct IdleAnimation; @@ -25,7 +25,7 @@ impl Animation for IdleAnimation { let slower = (anim_time * 1.25).sin(); let slow = (anim_time * 2.5).sin(); - let slowalt = (anim_time * 2.5 + PI / 2.0).sin(); + let slowalt = (anim_time * 2.5 + FRAC_PI_2).sin(); let dragon_look = Vec2::new( (global_time / 2.0 + anim_time / 8.0) diff --git a/voxygen/anim/src/quadruped_medium/hoof.rs b/voxygen/anim/src/quadruped_medium/hoof.rs index 7adf0c9403..8a28d06b13 100644 --- a/voxygen/anim/src/quadruped_medium/hoof.rs +++ b/voxygen/anim/src/quadruped_medium/hoof.rs @@ -3,7 +3,7 @@ use super::{ QuadrupedMediumSkeleton, SkeletonAttr, }; use common::states::utils::StageSection; -use std::f32::consts::PI; +use std::f32::consts::FRAC_PI_2; pub struct HoofAnimation; @@ -40,7 +40,7 @@ impl Animation for HoofAnimation { let movement1abs = movement1base * pullback; let movement2abs = movement2base * pullback; let twitchleft = (twitch * 16.0).sin() * pullback * mirror; - let twitchright = (twitch * 8.0 + PI / 2.0).sin() * pullback * mirror; + let twitchright = (twitch * 8.0 + FRAC_PI_2).sin() * pullback * mirror; next.head.orientation = Quaternion::rotation_x(movement1abs * -0.6 + movement2abs * 0.6) * Quaternion::rotation_y(movement1 * 0.35 + movement2 * -0.15) diff --git a/voxygen/anim/src/quadruped_medium/run.rs b/voxygen/anim/src/quadruped_medium/run.rs index fcef48daeb..d041cc78fb 100644 --- a/voxygen/anim/src/quadruped_medium/run.rs +++ b/voxygen/anim/src/quadruped_medium/run.rs @@ -2,7 +2,10 @@ use super::{ super::{vek::*, Animation}, QuadrupedMediumSkeleton, SkeletonAttr, }; -use std::{f32::consts::PI, ops::Mul}; +use std::{ + f32::consts::{FRAC_PI_2, FRAC_PI_4, PI}, + ops::Mul, +}; pub struct RunAnimation; @@ -55,10 +58,10 @@ impl Animation for RunAnimation { ); let speedadjust = if speed < 5.0 { 0.0 } else { speed / 24.0 }; - let shift1 = speedadjust - PI / 2.0 - speedadjust * PI * 3.0 / 4.0; - let shift2 = speedadjust + PI / 2.0 + speedadjust * PI / 2.0; - let shift3 = speedadjust + PI / 4.0 - speedadjust * PI / 4.0; - let shift4 = speedadjust - PI * 3.0 / 4.0 + speedadjust * PI / 2.0; + let shift1 = speedadjust - FRAC_PI_2 - speedadjust * PI * 3.0 / 4.0; + let shift2 = speedadjust + FRAC_PI_2 + speedadjust * FRAC_PI_2; + let shift3 = speedadjust + FRAC_PI_4 - speedadjust * FRAC_PI_4; + let shift4 = speedadjust - PI * 3.0 / 4.0 + speedadjust * FRAC_PI_2; //FL let foot1a = (mixed_vel * (1.0) * lab * speedmult + 0.0 + canceler * 0.05 + shift1).sin(); //1.5 @@ -68,10 +71,11 @@ impl Animation for RunAnimation { let foot2b = (mixed_vel * (1.0) * lab * speedmult + 1.1 + shift2).sin(); //1.0 //BL let foot3a = (mixed_vel * (1.0) * lab * speedmult + shift3).sin(); //0.0 - let foot3b = (mixed_vel * (1.0) * lab * speedmult + 1.57 + shift3).sin(); //0.4 + let foot3b = (mixed_vel * (1.0) * lab * speedmult + FRAC_PI_2 + shift3).sin(); //0.4 //BR let foot4a = (mixed_vel * (1.0) * lab * speedmult + 0.0 + canceler * 0.05 + shift4).sin(); //0.3 - let foot4b = (mixed_vel * (1.0) * lab * speedmult + 1.57 + canceler * 0.05 + shift4).sin(); //0.7 + let foot4b = + (mixed_vel * (1.0) * lab * speedmult + FRAC_PI_2 + canceler * 0.05 + shift4).sin(); //0.7 // let ori: Vec2 = Vec2::from(orientation); let last_ori = Vec2::from(last_ori); diff --git a/voxygen/anim/src/quadruped_small/idle.rs b/voxygen/anim/src/quadruped_small/idle.rs index 88c9d34de5..3d9e76aa2e 100644 --- a/voxygen/anim/src/quadruped_small/idle.rs +++ b/voxygen/anim/src/quadruped_small/idle.rs @@ -2,7 +2,7 @@ use super::{ super::{vek::*, Animation}, QuadrupedSmallSkeleton, SkeletonAttr, }; -use std::{f32::consts::PI, ops::Mul}; +use std::{f32::consts::FRAC_PI_2, ops::Mul}; pub struct IdleAnimation; @@ -25,7 +25,7 @@ impl Animation for IdleAnimation { let slow = (anim_time * 3.5).sin(); - let slow_alt = (anim_time * 3.5 + PI / 2.0).sin(); + let slow_alt = (anim_time * 3.5 + FRAC_PI_2).sin(); let head_look = Vec2::new( (global_time / 2.0 + anim_time / 8.0) diff --git a/voxygen/anim/src/ship/idle.rs b/voxygen/anim/src/ship/idle.rs index 915196a0fb..3375543052 100644 --- a/voxygen/anim/src/ship/idle.rs +++ b/voxygen/anim/src/ship/idle.rs @@ -21,7 +21,6 @@ impl Animation for IdleAnimation { const UPDATE_FN: &'static [u8] = b"ship_idle\0"; #[cfg_attr(feature = "be-dyn-lib", export_name = "ship_idle")] - #[allow(clippy::approx_constant)] // TODO: Pending review in #587 fn update_skeleton_inner<'a>( skeleton: &Self::Skeleton, (_active_tool_kind, _second_tool_kind, _global_time, acc_vel, orientation, last_ori): Self::Dependency<'a>, diff --git a/voxygen/anim/src/theropod/run.rs b/voxygen/anim/src/theropod/run.rs index 8d54e31d76..fe1e9348dd 100644 --- a/voxygen/anim/src/theropod/run.rs +++ b/voxygen/anim/src/theropod/run.rs @@ -1,7 +1,7 @@ use super::{super::Animation, SkeletonAttr, TheropodSkeleton}; //use std::{f32::consts::PI, ops::Mul}; use super::super::vek::*; -use std::f32::consts::PI; +use std::f32::consts::{FRAC_PI_2, PI}; pub struct RunAnimation; @@ -43,10 +43,10 @@ impl Animation for RunAnimation { //FL let foot1a = (mixed_vel * 1.0 * lab * speedmult + 0.0 + PI).sin() * speednorm; //1.5 - let foot1b = (mixed_vel * 1.0 * lab * speedmult + 1.57 + PI).sin() * speednorm; //1.9 + let foot1b = (mixed_vel * 1.0 * lab * speedmult + FRAC_PI_2 + PI).sin() * speednorm; //1.9 //FR let foot2a = (mixed_vel * 1.0 * lab * speedmult).sin() * speednorm; //1.2 - let foot2b = (mixed_vel * 1.0 * lab * speedmult + 1.57).sin() * speednorm; //1.6 + let foot2b = (mixed_vel * 1.0 * lab * speedmult + FRAC_PI_2).sin() * speednorm; //1.6 let ori: Vec2 = Vec2::from(orientation); let last_ori = Vec2::from(last_ori); let tilt = if ::vek::Vec2::new(ori, last_ori) diff --git a/voxygen/src/hud/item_imgs.rs b/voxygen/src/hud/item_imgs.rs index 443cee23c8..5c703aa0bc 100644 --- a/voxygen/src/hud/item_imgs.rs +++ b/voxygen/src/hud/item_imgs.rs @@ -11,7 +11,7 @@ use conrod_core::image::Id; use hashbrown::HashMap; use image::DynamicImage; use serde::{Deserialize, Serialize}; -use std::sync::Arc; +use std::{f32::consts::PI, sync::Arc}; use tracing::{error, warn}; use vek::*; @@ -84,9 +84,9 @@ impl ImageSpec { ImageSpec::VoxTrans(specifier, offset, [rot_x, rot_y, rot_z], zoom) => Graphic::Voxel( graceful_load_segment_no_skin(specifier), Transform { - ori: Quaternion::rotation_x(rot_x * std::f32::consts::PI / 180.0) - .rotated_y(rot_y * std::f32::consts::PI / 180.0) - .rotated_z(rot_z * std::f32::consts::PI / 180.0), + ori: Quaternion::rotation_x(rot_x * PI / 180.0) + .rotated_y(rot_y * PI / 180.0) + .rotated_z(rot_z * PI / 180.0), offset: Vec3::from(*offset), zoom: *zoom, orth: true, // TODO: Is this what we want here? @Pfau diff --git a/voxygen/src/render/pipelines/mod.rs b/voxygen/src/render/pipelines/mod.rs index 592d1da64d..b97e13d77a 100644 --- a/voxygen/src/render/pipelines/mod.rs +++ b/voxygen/src/render/pipelines/mod.rs @@ -16,6 +16,7 @@ use super::{Consts, Texture}; use crate::scene::camera::CameraMode; use bytemuck::{Pod, Zeroable}; use common::terrain::BlockKind; +use std::f32::consts::TAU; use vek::*; // TODO: auto insert these into shaders @@ -150,7 +151,7 @@ impl Globals { } fn get_angle_rad(time_of_day: f64) -> f32 { - const TIME_FACTOR: f32 = (std::f32::consts::PI * 2.0) / (3600.0 * 24.0); + const TIME_FACTOR: f32 = TAU / (3600.0 * 24.0); time_of_day as f32 * TIME_FACTOR } diff --git a/voxygen/src/scene/camera.rs b/voxygen/src/scene/camera.rs index 87da4fbfee..5b57789826 100644 --- a/voxygen/src/scene/camera.rs +++ b/voxygen/src/scene/camera.rs @@ -2,6 +2,7 @@ use common::{terrain::TerrainGrid, vol::ReadVol}; use common_base::span; use core::{f32::consts::PI, fmt::Debug}; use num::traits::{real::Real, FloatConst}; +use std::f32::consts::FRAC_PI_2; use treeculler::Frustum; use vek::*; @@ -62,7 +63,7 @@ fn clamp_and_modulate(ori: Vec3) -> Vec3 { // Wrap camera yaw x: ori.x.rem_euclid(2.0 * PI), // Clamp camera pitch to the vertical limits - y: ori.y.min(PI / 2.0 - 0.0001).max(-PI / 2.0 + 0.0001), + y: ori.y.min(FRAC_PI_2 - 0.0001).max(-FRAC_PI_2 + 0.0001), // Wrap camera roll z: ori.z.rem_euclid(2.0 * PI), } @@ -124,7 +125,7 @@ fn clamp_and_modulate(ori: Vec3) -> Vec3 { /// case) the change in the integer representation of the mantissa at z=n/2: /// /// ```ignore -/// e = floor(ln(near/(far - near))/ln(2)) +/// e = floor(ln(near/(far - near))/std::f32::consts::LN_2) /// db/dz = 2^(2-e) / ((1 / far - 1 / near) * (far)^2) /// ``` /// @@ -379,7 +380,7 @@ impl Camera { * Mat4::rotation_z(self.ori.z) * Mat4::rotation_x(self.ori.y) * Mat4::rotation_y(self.ori.x) - * Mat4::rotation_3d(PI / 2.0, -Vec4::unit_x()) + * Mat4::rotation_3d(FRAC_PI_2, -Vec4::unit_x()) * Mat4::translation_3d(-self.focus.map(|e| e.fract())); self.dependents.view_mat_inv = self.dependents.view_mat.inverted(); @@ -415,8 +416,8 @@ impl Camera { self.tgt_ori.x = (self.tgt_ori.x + delta.x).rem_euclid(2.0 * PI); // Clamp camera pitch to the vertical limits self.tgt_ori.y = (self.tgt_ori.y + delta.y) - .min(PI / 2.0 - 0.001) - .max(-PI / 2.0 + 0.001); + .min(FRAC_PI_2 - 0.001) + .max(-FRAC_PI_2 + 0.001); // Wrap camera roll self.tgt_ori.z = (self.tgt_ori.z + delta.z).rem_euclid(2.0 * PI); } diff --git a/voxygen/src/session/mod.rs b/voxygen/src/session/mod.rs index 42d122a510..aec47e0f79 100644 --- a/voxygen/src/session/mod.rs +++ b/voxygen/src/session/mod.rs @@ -46,6 +46,7 @@ use crate::{ }; use hashbrown::HashMap; use settings_change::Language::ChangeLanguage; +use std::f32::consts::PI; #[cfg(feature = "egui-ui")] use voxygen_egui::EguiDebugInfo; @@ -887,7 +888,7 @@ impl PlayState for SessionState { + input_vec.x * (3.0 - input_vec.y * 1.5 * if is_aiming { 1.5 } else { 1.0 }) * dt, - std::f32::consts::PI * if is_aiming { 0.015 } else { 0.1 }, + PI * if is_aiming { 0.015 } else { 0.1 }, 0.0, )); } diff --git a/voxygen/src/ui/img_ids.rs b/voxygen/src/ui/img_ids.rs index 660675dc07..9d9e26c66f 100644 --- a/voxygen/src/ui/img_ids.rs +++ b/voxygen/src/ui/img_ids.rs @@ -3,7 +3,7 @@ use common::{ assets::{self, AssetExt, DotVoxAsset, Error}, figure::Segment, }; -use std::sync::Arc; +use std::{f32::consts::FRAC_PI_2, sync::Arc}; use vek::*; pub enum BlankGraphic {} @@ -48,7 +48,7 @@ impl<'a> GraphicCreator<'a> for VoxelGraphic { Ok(Graphic::Voxel( load_segment(specifier)?, Transform { - ori: Quaternion::rotation_x(-std::f32::consts::PI / 2.0), + ori: Quaternion::rotation_x(-FRAC_PI_2), ..Default::default() }, SampleStrat::None, @@ -62,7 +62,7 @@ impl<'a> GraphicCreator<'a> for VoxelSsGraphic { Ok(Graphic::Voxel( load_segment(specifier.0)?, Transform { - ori: Quaternion::rotation_x(-std::f32::consts::PI / 2.0), + ori: Quaternion::rotation_x(-FRAC_PI_2), ..Default::default() }, SampleStrat::SuperSampling(specifier.1), @@ -76,7 +76,7 @@ impl<'a> GraphicCreator<'a> for VoxelSs4Graphic { Ok(Graphic::Voxel( load_segment(specifier)?, Transform { - ori: Quaternion::rotation_x(-std::f32::consts::PI / 2.0), + ori: Quaternion::rotation_x(-FRAC_PI_2), ..Default::default() }, SampleStrat::SuperSampling(4), @@ -90,7 +90,7 @@ impl<'a> GraphicCreator<'a> for VoxelSs9Graphic { Ok(Graphic::Voxel( load_segment(specifier)?, Transform { - ori: Quaternion::rotation_x(-std::f32::consts::PI / 2.0), + ori: Quaternion::rotation_x(-FRAC_PI_2), ..Default::default() }, SampleStrat::SuperSampling(9), @@ -104,7 +104,7 @@ impl<'a> GraphicCreator<'a> for VoxelPixArtGraphic { Ok(Graphic::Voxel( load_segment(specifier)?, Transform { - ori: Quaternion::rotation_x(-std::f32::consts::PI / 2.0), + ori: Quaternion::rotation_x(-FRAC_PI_2), ..Default::default() }, SampleStrat::PixelCoverage, diff --git a/world/src/civ/mod.rs b/world/src/civ/mod.rs index 8039a8bfd3..2a6388de74 100644 --- a/world/src/civ/mod.rs +++ b/world/src/civ/mod.rs @@ -23,6 +23,7 @@ use fxhash::FxHasher64; use hashbrown::{HashMap, HashSet}; use rand::prelude::*; use rand_chacha::ChaChaRng; +use std::f32::consts::FRAC_PI_2; use tracing::{debug, info, warn}; use vek::*; @@ -289,7 +290,7 @@ impl Civs { let path = (-100..100) .filter_map(|i: i32| { - let depth = (i.abs() as f32 / 100.0 * std::f32::consts::PI / 2.0).cos(); + let depth = (i.abs() as f32 / 100.0 * FRAC_PI_2).cos(); vel = (vel + Vec2::new( ctx.rng.gen_range(-0.35..0.35), diff --git a/world/src/layer/tree.rs b/world/src/layer/tree.rs index baad42868d..0f8d59e603 100644 --- a/world/src/layer/tree.rs +++ b/world/src/layer/tree.rs @@ -16,7 +16,7 @@ use common::{ use hashbrown::HashMap; use lazy_static::lazy_static; use rand::prelude::*; -use std::{f32, ops::Range}; +use std::{f32, f32::consts::TAU, ops::Range}; use vek::*; lazy_static! { @@ -451,7 +451,7 @@ impl ProceduralTree { .cross(Vec3::::zero().map(|_| rng.gen_range(-1.0..1.0))) .normalized(); let y_axis = dir.cross(x_axis).normalized(); - let screw_shift = rng.gen_range(0.0..f32::consts::TAU); + let screw_shift = rng.gen_range(0.0..TAU); let splits = rng.gen_range(config.splits.clone()).round() as usize; for i in 0..splits { @@ -459,7 +459,7 @@ impl ProceduralTree { let dist = Lerp::lerp(rng.gen_range(0.0..1.0), proportion, config.proportionality); const PHI: f32 = 0.618; - const RAD_PER_BRANCH: f32 = f32::consts::TAU * PHI; + const RAD_PER_BRANCH: f32 = TAU * PHI; let screw = (screw_shift + i as f32 * RAD_PER_BRANCH).sin() * x_axis + (screw_shift + i as f32 * RAD_PER_BRANCH).cos() * y_axis; @@ -648,10 +648,9 @@ impl Branch { { let rpos = pos.xy() - p; let stretch = 32.0; - let stair_section = - ((rpos.x as f32).atan2(rpos.y as f32) / (f32::consts::PI * 2.0) * stretch - + pos.z) - .rem_euclid(stretch); + let stair_section = ((rpos.x as f32).atan2(rpos.y as f32) / TAU * stretch + + pos.z) + .rem_euclid(stretch); ( stair_section < stair_thickness, stair_section >= stair_thickness diff --git a/world/src/sim/util.rs b/world/src/sim/util.rs index a414f78f59..cd0b9544fa 100644 --- a/world/src/sim/util.rs +++ b/world/src/sim/util.rs @@ -581,10 +581,10 @@ pub struct HybridMulti { impl HybridMulti { pub const DEFAULT_FREQUENCY: f64 = 2.0; - pub const DEFAULT_LACUNARITY: f64 = /* std::f64::consts::PI * 2.0 / 3.0 */ 2.0; + pub const DEFAULT_LACUNARITY: f64 = /* std::f64::consts::TAU / 3.0 */ 2.0; pub const DEFAULT_OCTAVES: usize = 6; pub const DEFAULT_OFFSET: f64 = /* 0.25 *//* 0.5 */ 0.7; - // -ln(2^(-0.25))/ln(2) = 0.25 + // -ln(2^(-0.25))/std::f32::consts::LN_2 = 0.25 // 2^(-0.25) ~ 13/16 pub const DEFAULT_PERSISTENCE: f64 = /* 0.25 *//* 0.5 */ 13.0 / 16.0; pub const DEFAULT_SEED: u32 = 0; diff --git a/world/src/site/castle/mod.rs b/world/src/site/castle/mod.rs index 655138e884..7929ccbd97 100644 --- a/world/src/site/castle/mod.rs +++ b/world/src/site/castle/mod.rs @@ -19,6 +19,7 @@ use common::{ use core::f32; use rand::prelude::*; use serde::Deserialize; +use std::f32::consts::TAU; use vek::*; struct Keep { @@ -91,7 +92,7 @@ impl Castle { towers: (0..boundary_towers) .map(|i| { - let angle = (i as f32 / boundary_towers as f32) * f32::consts::PI * 2.0; + let angle = (i as f32 / boundary_towers as f32) * TAU; let dir = Vec2::new(angle.cos(), angle.sin()); let dist = radius as f32 + ((angle * boundary_noise).sin() - 1.0) * 40.0; @@ -128,7 +129,7 @@ impl Castle { evil: ctx.rng.gen(), keeps: (0..keep_count) .map(|i| { - let angle = (i as f32 / keep_count as f32) * f32::consts::PI * 2.0; + let angle = (i as f32 / keep_count as f32) * TAU; let dir = Vec2::new(angle.cos(), angle.sin()); let dist = (radius as f32 + ((angle * boundary_noise).sin() - 1.0) * 40.0) * 0.3; diff --git a/world/src/site/settlement/building/archetype/keep.rs b/world/src/site/settlement/building/archetype/keep.rs index bb1273c58d..432b7ee36f 100644 --- a/world/src/site/settlement/building/archetype/keep.rs +++ b/world/src/site/settlement/building/archetype/keep.rs @@ -10,6 +10,7 @@ use common::{ }; use rand::prelude::*; use serde::Deserialize; +use std::f32::consts::TAU; use vek::*; #[derive(Deserialize)] @@ -177,8 +178,7 @@ impl Archetype for Keep { if (pos.xy().magnitude_squared() as f32) < inner_radius.powi(2) { stone } else if (pos.xy().magnitude_squared() as f32) < radius.powi(2) { - if ((pos.x as f32).atan2(pos.y as f32) / (std::f32::consts::PI * 2.0) * stretch - + pos.z as f32) + if ((pos.x as f32).atan2(pos.y as f32) / TAU * stretch + pos.z as f32) .rem_euclid(stretch) < 1.5 { diff --git a/world/src/site/settlement/mod.rs b/world/src/site/settlement/mod.rs index 21fcb1baa8..aba6c5d984 100644 --- a/world/src/site/settlement/mod.rs +++ b/world/src/site/settlement/mod.rs @@ -41,6 +41,7 @@ use std::{ cmp::{self, min}, collections::VecDeque, f32, + f32::consts::{FRAC_PI_2, TAU}, hash::BuildHasherDefault, }; use vek::*; @@ -241,8 +242,8 @@ impl Settlement { let river_offs = Vec2::new(rng.gen_range(-3..4), rng.gen_range(-3..4)); for x in (0..100).map(|e| e as f32 / 100.0) { - let theta0 = x as f32 * f32::consts::PI * 2.0; - let theta1 = (x + 0.01) as f32 * f32::consts::PI * 2.0; + let theta0 = x as f32 * TAU; + let theta1 = (x + 0.01) as f32 * TAU; let pos0 = (river_dir * radius + Vec2::new(theta0.sin(), theta0.cos()) * radius) .map(|e| e.floor() as i32) @@ -641,7 +642,7 @@ impl Settlement { Some(Plot::Town { .. }) => { if let Some((_, path_nearest, _, _)) = col_sample.path { let path_dir = (path_nearest - wpos2d.map(|e| e as f32)) - .rotated_z(f32::consts::PI / 2.0) + .rotated_z(FRAC_PI_2) .normalized(); let is_lamp = if path_dir.x.abs() > path_dir.y.abs() { wpos2d.x as f32 % 15.0 / path_dir.dot(Vec2::unit_y()).abs() diff --git a/world/src/site2/plot/dungeon.rs b/world/src/site2/plot/dungeon.rs index 06664180cd..6ee1804e08 100644 --- a/world/src/site2/plot/dungeon.rs +++ b/world/src/site2/plot/dungeon.rs @@ -22,7 +22,7 @@ use fxhash::FxHasher64; use lazy_static::lazy_static; use rand::{prelude::*, seq::SliceRandom}; use serde::Deserialize; -use std::sync::Arc; +use std::{f32::consts::TAU, sync::Arc}; use vek::*; pub struct Dungeon { @@ -948,8 +948,7 @@ pub fn spiral_staircase( if (pos.xy().magnitude_squared() as f32) < inner_radius.powi(2) { true } else if (pos.xy().magnitude_squared() as f32) < radius.powi(2) { - ((pos.x as f32).atan2(pos.y as f32) / (f32::consts::PI * 2.0) * stretch + pos.z as f32) - .rem_euclid(stretch) + ((pos.x as f32).atan2(pos.y as f32) / TAU * stretch + pos.z as f32).rem_euclid(stretch) < 1.5 } else { false @@ -965,8 +964,7 @@ pub fn wall_staircase( Box::new(move |pos: Vec3| { let pos = pos - origin; if (pos.x.abs().max(pos.y.abs())) as f32 > 0.6 * radius { - ((pos.x as f32).atan2(pos.y as f32) / (f32::consts::PI * 2.0) * stretch + pos.z as f32) - .rem_euclid(stretch) + ((pos.x as f32).atan2(pos.y as f32) / TAU * stretch + pos.z as f32).rem_euclid(stretch) < 1.0 } else { false @@ -980,7 +978,6 @@ pub fn inscribed_polystar( sides: usize, ) -> Box) -> bool> { Box::new(move |pos| { - use std::f32::consts::TAU; let rpos: Vec2 = pos.xy().as_() - origin.as_(); let is_border = rpos.magnitude_squared() > (radius - 2.0).powi(2); let is_line = (0..sides).into_iter().any(|i| {