mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
parent
8270baffe5
commit
9c72333741
@ -8,7 +8,6 @@ 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,
|
||||
@ -179,7 +178,6 @@ impl<'a, VIE: VoxelImageEncoding> VoxelImageEncoding for &'a VIE {
|
||||
|
||||
fn finish(ws: &Self::Workspace) -> Option<Self::Output> { VIE::finish(ws) }
|
||||
}
|
||||
|
||||
impl<'a, VIE: VoxelImageDecoding> VoxelImageDecoding for &'a VIE {
|
||||
fn start(ws: &Self::Output) -> Option<Self::Workspace> { VIE::start(ws) }
|
||||
|
||||
@ -187,7 +185,6 @@ 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<const RESOLUTION_DIVIDER: u32>();
|
||||
|
||||
@ -273,7 +270,7 @@ impl<const N: u32> VoxelImageEncoding for QuadPngEncoding<N> {
|
||||
/// yet)
|
||||
const fn sin(x: f64) -> f64 {
|
||||
use std::f64::consts::PI;
|
||||
let mut x = (x - PI * 0.5) % (TAU);
|
||||
let mut x = (x - PI * 0.5) % (PI * 2.0);
|
||||
x = if x < 0.0 { -x } else { x } - PI;
|
||||
x = if x < 0.0 { -x } else { x } - PI * 0.5;
|
||||
|
||||
|
@ -5,7 +5,6 @@ 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!(
|
||||
@ -303,7 +302,9 @@ impl Body {
|
||||
Body::Bedroll => 3.0,
|
||||
Body::Bench => 100.0,
|
||||
Body::BoltFire | Body::BoltFireBig | Body::BoltNature => 1.0,
|
||||
Body::Bomb => 0.5 * IRON_DENSITY * FRAC_PI_6 * self.dimensions().x.powi(3),
|
||||
Body::Bomb => {
|
||||
0.5 * IRON_DENSITY * std::f32::consts::PI / 6.0 * self.dimensions().x.powi(3)
|
||||
},
|
||||
Body::Campfire | Body::CampfireLit => 300.0,
|
||||
Body::Carpet
|
||||
| Body::CarpetHumanRound
|
||||
|
@ -5,7 +5,6 @@ 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];
|
||||
@ -47,8 +46,9 @@ impl Body {
|
||||
}
|
||||
|
||||
fn balloon_vol(&self) -> f32 {
|
||||
let spheroid_vol =
|
||||
|equat_d: f32, polar_d: f32| -> f32 { FRAC_PI_6 * equat_d.powi(2) * polar_d };
|
||||
let spheroid_vol = |equat_d: f32, polar_d: f32| -> f32 {
|
||||
(std::f32::consts::PI / 6.0) * 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();
|
||||
FRAC_PI_6 * (deck_height * 1.5).powi(2) * dim.y
|
||||
(std::f32::consts::PI / 6.0) * (deck_height * 1.5).powi(2) * dim.y
|
||||
}
|
||||
|
||||
pub fn hull_density(&self) -> Density {
|
||||
|
@ -6,7 +6,7 @@ use crate::{
|
||||
util::{Dir, Plane, Projection},
|
||||
};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use std::f32::consts::{FRAC_PI_2, FRAC_PI_4, FRAC_PI_6, PI};
|
||||
use std::f32::consts::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 * (FRAC_PI_6 * dim.x * dim.y * dim.z).powf(2.0 / 3.0)
|
||||
CD * (PI / 6.0 * 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();
|
||||
(FRAC_PI_6 * dim.x * dim.y * dim.z).powf(2.0 / 3.0)
|
||||
(PI / 6.0 * 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| FRAC_PI_2 - ori.up().angle_between(flow_dir.to_vec()))
|
||||
.map(|flow_dir| PI / 2.0 - 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 = FRAC_PI_4;
|
||||
let deg_45 = PI / 4.0;
|
||||
if aoa_abs < deg_45 {
|
||||
// drop directly to 0.6 * max lift at stall angle
|
||||
// then climb back to max at 45°
|
||||
|
@ -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::FRAC_PI_2;
|
||||
use std::f32::consts::PI;
|
||||
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(FRAC_PI_2).look_dir() }
|
||||
pub fn up(&self) -> Dir { self.pitched_up(PI / 2.0).look_dir() }
|
||||
|
||||
pub fn down(&self) -> Dir { self.pitched_down(FRAC_PI_2).look_dir() }
|
||||
pub fn down(&self) -> Dir { self.pitched_down(PI / 2.0).look_dir() }
|
||||
|
||||
pub fn left(&self) -> Dir { self.yawed_left(FRAC_PI_2).look_dir() }
|
||||
pub fn left(&self) -> Dir { self.yawed_left(PI / 2.0).look_dir() }
|
||||
|
||||
pub fn right(&self) -> Dir { self.yawed_right(FRAC_PI_2).look_dir() }
|
||||
pub fn right(&self) -> Dir { self.yawed_right(PI / 2.0).look_dir() }
|
||||
|
||||
pub fn slerp(ori1: Self, ori2: Self, s: f32) -> Self {
|
||||
Self(Quaternion::slerp(ori1.0, ori2.0, s).normalized())
|
||||
@ -329,7 +329,6 @@ impl Component for Ori {
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
use std::f32::consts::TAU;
|
||||
|
||||
#[test]
|
||||
fn from_to_dir() {
|
||||
@ -342,7 +341,7 @@ mod tests {
|
||||
|
||||
let angles = 32;
|
||||
for i in 0..angles {
|
||||
let theta = TAU * (i as f32) / (angles as f32);
|
||||
let theta = PI * 2. * (i as f32) / (angles as f32);
|
||||
let v = Vec3::unit_y();
|
||||
let q = Quaternion::rotation_x(theta);
|
||||
from_to(Dir::new(q * v));
|
||||
|
@ -8,7 +8,7 @@ use crate::{
|
||||
util::{Dir, Plane, Projection},
|
||||
};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use std::f32::consts::{FRAC_PI_2, FRAC_PI_3, PI};
|
||||
use std::f32::consts::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(FRAC_PI_3 * look_ori.right().xy().dot(move_dir))
|
||||
.yawed_right(PI / 3.0 * 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(
|
||||
-FRAC_PI_2 * speed_factor,
|
||||
-PI / 2.0 * 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(
|
||||
FRAC_PI_2
|
||||
PI / 2.0
|
||||
* accel_factor
|
||||
* if data.physics.on_ground.is_some() {
|
||||
-1.0
|
||||
|
@ -16,13 +16,11 @@ 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 {
|
||||
@ -353,7 +351,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 * PI / angle
|
||||
data.body.base_ori_rate() * efficiency * std::f32::consts::PI / angle
|
||||
};
|
||||
update.ori = update
|
||||
.ori
|
||||
|
@ -50,7 +50,6 @@ 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 {
|
||||
@ -1151,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 * PI / 180.0);
|
||||
let angle = angle.map(|a| a * std::f32::consts::PI / 180.0);
|
||||
let destination = angle.map(|a| {
|
||||
pos.0
|
||||
+ Vec3::new(
|
||||
|
@ -7,7 +7,7 @@ use common::{
|
||||
terrain::TerrainGrid,
|
||||
};
|
||||
use rand_distr::{Distribution, Normal};
|
||||
use std::f32::consts::FRAC_PI_2;
|
||||
use std::f32::consts::PI;
|
||||
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(FRAC_PI_2);
|
||||
let perp_dir = offset_dir.rotated_z(PI / 2.0);
|
||||
let offset = normaloff.sample(&mut rng);
|
||||
let inbetween_pos = midpoint + (perp_dir * offset);
|
||||
|
||||
|
@ -46,11 +46,7 @@ use specs::{
|
||||
Entities, Entity as EcsEntity, Join, ParJoin, Read, ReadExpect, ReadStorage, SystemData, World,
|
||||
Write, WriteExpect, WriteStorage,
|
||||
};
|
||||
use std::{
|
||||
f32::consts::{FRAC_PI_2, PI},
|
||||
sync::Arc,
|
||||
time::Duration,
|
||||
};
|
||||
use std::{f32::consts::PI, sync::Arc, time::Duration};
|
||||
use vek::*;
|
||||
|
||||
struct AgentData<'a> {
|
||||
@ -2335,7 +2331,7 @@ impl<'a> AgentData<'a> {
|
||||
{
|
||||
controller.inputs.move_dir = bearing
|
||||
.xy()
|
||||
.rotated_z(thread_rng().gen_range(0.5..FRAC_PI_2))
|
||||
.rotated_z(thread_rng().gen_range(0.5..1.57))
|
||||
.try_normalized()
|
||||
.unwrap_or_else(Vec2::zero)
|
||||
* speed;
|
||||
@ -2432,7 +2428,7 @@ impl<'a> AgentData<'a> {
|
||||
{
|
||||
controller.inputs.move_dir = bearing
|
||||
.xy()
|
||||
.rotated_z(thread_rng().gen_range(-FRAC_PI_2..-0.5))
|
||||
.rotated_z(thread_rng().gen_range(-1.57..-0.5))
|
||||
.try_normalized()
|
||||
.unwrap_or_else(Vec2::zero)
|
||||
* speed;
|
||||
@ -2573,7 +2569,7 @@ impl<'a> AgentData<'a> {
|
||||
{
|
||||
controller.inputs.move_dir = bearing
|
||||
.xy()
|
||||
.rotated_z(thread_rng().gen_range(0.5..FRAC_PI_2))
|
||||
.rotated_z(thread_rng().gen_range(0.5..1.57))
|
||||
.try_normalized()
|
||||
.unwrap_or_else(Vec2::zero)
|
||||
* speed;
|
||||
|
@ -6,7 +6,7 @@ use common::{
|
||||
comp::item::tool::{AbilitySpec, ToolKind},
|
||||
states::utils::StageSection,
|
||||
};
|
||||
use std::f32::consts::{FRAC_PI_2, FRAC_PI_3, PI};
|
||||
use std::f32::consts::PI;
|
||||
|
||||
pub struct AlphaAnimation;
|
||||
|
||||
@ -27,6 +27,7 @@ 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,
|
||||
(
|
||||
@ -108,7 +109,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(FRAC_PI_2 + move1 * -0.5 + move2 * 1.5)
|
||||
Quaternion::rotation_x(PI / 2.0 + 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)
|
||||
@ -134,8 +135,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(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_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_y(0.0)
|
||||
* Quaternion::rotation_z(0.0);
|
||||
|
||||
@ -159,8 +160,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(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_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_y(0.0)
|
||||
* Quaternion::rotation_z(0.0);
|
||||
|
||||
@ -191,11 +192,11 @@ impl Animation for AlphaAnimation {
|
||||
);
|
||||
|
||||
next.control_l.orientation =
|
||||
Quaternion::rotation_x(FRAC_PI_3 + move1 * 0.5)
|
||||
Quaternion::rotation_x(PI / 3.0 + move1 * 0.5)
|
||||
* Quaternion::rotation_y(-0.15)
|
||||
* Quaternion::rotation_z(move1 * 0.5 + move2 * -0.6);
|
||||
next.control_r.orientation =
|
||||
Quaternion::rotation_x(FRAC_PI_3 + move1 * 0.5)
|
||||
Quaternion::rotation_x(PI / 3.0 + 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);
|
||||
@ -221,15 +222,15 @@ impl Animation for AlphaAnimation {
|
||||
);
|
||||
|
||||
next.hand_l.orientation =
|
||||
Quaternion::rotation_x(FRAC_PI_3 + move2 * 1.5)
|
||||
Quaternion::rotation_x(PI / 3.0 + 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(FRAC_PI_3)
|
||||
* Quaternion::rotation_z(0.35);
|
||||
next.hand_r.orientation =
|
||||
Quaternion::rotation_x(PI / 3.0) * Quaternion::rotation_z(0.35);
|
||||
|
||||
next.shoulder_r.orientation = Quaternion::rotation_x(0.0);
|
||||
} else {
|
||||
@ -252,12 +253,12 @@ impl Animation for AlphaAnimation {
|
||||
);
|
||||
|
||||
next.hand_r.orientation =
|
||||
Quaternion::rotation_x(FRAC_PI_3 + move2 * 1.5)
|
||||
Quaternion::rotation_x(PI / 3.0 + 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(FRAC_PI_3)
|
||||
next.hand_l.orientation = Quaternion::rotation_x(PI / 3.0)
|
||||
* Quaternion::rotation_z(-0.35);
|
||||
|
||||
next.shoulder_l.orientation = Quaternion::rotation_x(0.0);
|
||||
@ -285,10 +286,8 @@ 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(FRAC_PI_2 + move2 * 1.0);
|
||||
next.control_r.orientation =
|
||||
Quaternion::rotation_x(FRAC_PI_2 + move2 * 1.0);
|
||||
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.shoulder_l.orientation = Quaternion::rotation_x(-0.3)
|
||||
* Quaternion::rotation_y(move1 * 0.7 + move2 * -0.7);
|
||||
@ -316,10 +315,10 @@ impl Animation for AlphaAnimation {
|
||||
Quaternion::rotation_z(move1 * -0.2 + move2 * 0.2);
|
||||
|
||||
next.control_l.orientation =
|
||||
Quaternion::rotation_x(FRAC_PI_2 + move2 * 0.8)
|
||||
Quaternion::rotation_x(PI / 2.0 + 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_x(PI / 2.0 + 0.2 + move2 * 0.8)
|
||||
* Quaternion::rotation_y(0.0)
|
||||
* Quaternion::rotation_z(0.0);
|
||||
|
||||
@ -374,10 +373,10 @@ impl Animation for AlphaAnimation {
|
||||
-s_a.grip.0 / 0.8,
|
||||
);
|
||||
|
||||
next.control_l.orientation = Quaternion::rotation_x(FRAC_PI_2)
|
||||
next.control_l.orientation = Quaternion::rotation_x(PI / 2.0)
|
||||
* Quaternion::rotation_y(-0.0)
|
||||
* Quaternion::rotation_z(PI);
|
||||
next.control_r.orientation = Quaternion::rotation_x(FRAC_PI_2 + 0.2)
|
||||
next.control_r.orientation = Quaternion::rotation_x(PI / 2.0 + 0.2)
|
||||
* Quaternion::rotation_y(-1.0 + move1 * 1.0)
|
||||
* Quaternion::rotation_z(0.0);
|
||||
|
||||
|
@ -6,7 +6,7 @@ use common::{
|
||||
comp::item::{AbilitySpec, ToolKind},
|
||||
states::utils::StageSection,
|
||||
};
|
||||
use std::f32::consts::{FRAC_PI_2, FRAC_PI_3, PI};
|
||||
use std::f32::consts::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(FRAC_PI_2) * Quaternion::rotation_y(-0.5);
|
||||
Quaternion::rotation_x(PI / 2.0) * 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(FRAC_PI_3 + move2shake * -0.07)
|
||||
Quaternion::rotation_x(PI / 3.0 + 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(FRAC_PI_3 + move2shake * 0.07)
|
||||
Quaternion::rotation_x(PI / 3.0 + 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(FRAC_PI_3 + move2shake * 0.07)
|
||||
Quaternion::rotation_x(PI / 3.0 + 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(FRAC_PI_3 + move2shake * -0.07)
|
||||
Quaternion::rotation_x(PI / 3.0 + 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(FRAC_PI_2);
|
||||
next.control_r.orientation = Quaternion::rotation_x(FRAC_PI_2);
|
||||
next.control_l.orientation = Quaternion::rotation_x(1.57);
|
||||
next.control_r.orientation = Quaternion::rotation_x(1.57);
|
||||
|
||||
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(-FRAC_PI_2 - 0.1);
|
||||
next.weapon_r.orientation = Quaternion::rotation_x(-FRAC_PI_2 - 0.1);
|
||||
next.weapon_l.orientation = Quaternion::rotation_x(-1.57 - 0.1);
|
||||
next.weapon_r.orientation = Quaternion::rotation_x(-1.57 - 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(FRAC_PI_2) * Quaternion::rotation_z(PI);
|
||||
next.control_r.orientation = Quaternion::rotation_x(FRAC_PI_2 + 0.2)
|
||||
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);
|
||||
|
||||
next.control.orientation =
|
||||
|
@ -6,7 +6,7 @@ use common::{
|
||||
comp::item::tool::{AbilitySpec, ToolKind},
|
||||
states::utils::StageSection,
|
||||
};
|
||||
use std::f32::consts::{FRAC_PI_2, FRAC_PI_3, PI};
|
||||
use std::f32::consts::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(FRAC_PI_2 + move1 * -0.5 + move2 * 1.5)
|
||||
Quaternion::rotation_x(PI / 2.0 + 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(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_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_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(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_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_y(0.0)
|
||||
* Quaternion::rotation_z(0.0);
|
||||
|
||||
@ -188,11 +188,11 @@ impl Animation for BetaAnimation {
|
||||
);
|
||||
|
||||
next.control_l.orientation =
|
||||
Quaternion::rotation_x(FRAC_PI_3 + move1 * 0.5)
|
||||
Quaternion::rotation_x(PI / 3.0 + move1 * 0.5)
|
||||
* Quaternion::rotation_y(-0.15)
|
||||
* Quaternion::rotation_z(move1 * 0.5 + move2 * -0.6);
|
||||
next.control_r.orientation =
|
||||
Quaternion::rotation_x(FRAC_PI_3 + move1 * 0.5)
|
||||
Quaternion::rotation_x(PI / 3.0 + 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(FRAC_PI_3 + move1 * 0.5)
|
||||
Quaternion::rotation_x(PI / 3.0 + move1 * 0.5)
|
||||
* Quaternion::rotation_y(-0.15)
|
||||
* Quaternion::rotation_z(move1 * 0.5 + move2 * -0.6);
|
||||
next.control_r.orientation =
|
||||
Quaternion::rotation_x(FRAC_PI_3 + move1 * 0.5)
|
||||
Quaternion::rotation_x(PI / 3.0 + 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);
|
||||
|
@ -3,7 +3,7 @@ use super::{
|
||||
BipedLargeSkeleton, SkeletonAttr,
|
||||
};
|
||||
use common::{comp::item::ToolKind, states::utils::StageSection};
|
||||
use std::f32::consts::{FRAC_PI_2, PI};
|
||||
use std::f32::consts::PI;
|
||||
|
||||
pub struct BlinkAnimation;
|
||||
|
||||
@ -22,6 +22,7 @@ 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>,
|
||||
@ -91,7 +92,7 @@ impl Animation for BlinkAnimation {
|
||||
-11.0 + -s_a.grip.0 / 2.0,
|
||||
);
|
||||
|
||||
next.control_l.orientation = Quaternion::rotation_x(FRAC_PI_2 - move1 * -0.8)
|
||||
next.control_l.orientation = Quaternion::rotation_x(PI / 2.0 - 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)
|
||||
|
@ -3,7 +3,6 @@ use super::{
|
||||
BipedLargeSkeleton, SkeletonAttr,
|
||||
};
|
||||
use common::comp::item::ToolKind;
|
||||
use std::f32::consts::FRAC_PI_2;
|
||||
|
||||
pub struct ChargeAnimation;
|
||||
|
||||
@ -35,8 +34,7 @@ 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 + FRAC_PI_2).sin()).powi(2)))
|
||||
.sqrt())
|
||||
let foote = ((5.0 / (0.5 + 4.5 * ((anim_time * lab * 8.0 + 1.57).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());
|
||||
@ -101,7 +99,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(-FRAC_PI_2);
|
||||
next.hold.orientation = Quaternion::rotation_x(-1.57);
|
||||
next.hold.scale = Vec3::one() * 1.0;
|
||||
|
||||
next.control.position = Vec3::new(
|
||||
|
@ -26,6 +26,7 @@ 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,
|
||||
(
|
||||
|
@ -6,7 +6,7 @@ use common::{
|
||||
comp::item::tool::{AbilitySpec, ToolKind},
|
||||
states::utils::StageSection,
|
||||
};
|
||||
use std::f32::consts::{FRAC_PI_2, FRAC_PI_3, PI};
|
||||
use std::f32::consts::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(FRAC_PI_2 + move1 * -0.5 + move2 * 1.5)
|
||||
Quaternion::rotation_x(PI / 2.0 + 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(FRAC_PI_2 + move3 * 0.3)
|
||||
next.control_l.orientation = Quaternion::rotation_x(PI / 2.0 + move3 * 0.3)
|
||||
* Quaternion::rotation_y(move1 * 0.7);
|
||||
next.control_r.orientation = Quaternion::rotation_x(FRAC_PI_2 + 0.2 + move3 * -0.2)
|
||||
next.control_r.orientation = Quaternion::rotation_x(PI / 2.0 + 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(FRAC_PI_2);
|
||||
next.control_r.orientation = Quaternion::rotation_x(FRAC_PI_2);
|
||||
next.control_l.orientation = Quaternion::rotation_x(1.57);
|
||||
next.control_r.orientation = Quaternion::rotation_x(1.57);
|
||||
|
||||
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 * FRAC_PI_2);
|
||||
* Quaternion::rotation_z(move1 * 1.57);
|
||||
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(FRAC_PI_3 + move1 * 1.0)
|
||||
Quaternion::rotation_x(PI / 3.0 + 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(FRAC_PI_3 + move1 * 1.0)
|
||||
Quaternion::rotation_x(PI / 3.0 + move1 * 1.0)
|
||||
* Quaternion::rotation_y(0.0)
|
||||
* Quaternion::rotation_z(0.35 + motion * 0.6);
|
||||
|
||||
|
@ -3,7 +3,7 @@ use super::{
|
||||
BipedLargeSkeleton, SkeletonAttr,
|
||||
};
|
||||
use common::comp::item::ToolKind;
|
||||
use std::f32::consts::{FRAC_PI_2, FRAC_PI_4, PI};
|
||||
use std::f32::consts::PI;
|
||||
|
||||
pub struct EquipAnimation;
|
||||
|
||||
@ -15,6 +15,7 @@ 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>,
|
||||
@ -26,9 +27,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 + 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);
|
||||
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);
|
||||
next.control.position = Vec3::new(equip_slowa * -1.5, 0.0, equip_slow * 1.5);
|
||||
|
||||
match active_tool_kind {
|
||||
@ -48,9 +49,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(FRAC_PI_2);
|
||||
Quaternion::rotation_y(2.2) * Quaternion::rotation_z(1.57);
|
||||
next.hand_r.orientation =
|
||||
Quaternion::rotation_y(2.2) * Quaternion::rotation_z(-FRAC_PI_2);
|
||||
Quaternion::rotation_y(2.2) * Quaternion::rotation_z(-1.57);
|
||||
},
|
||||
Some(ToolKind::Bow) => {
|
||||
next.hand_l.position = Vec3::new(-9.0, -5.0, -8.0);
|
||||
|
@ -3,10 +3,7 @@ use super::{
|
||||
BipedLargeSkeleton, SkeletonAttr,
|
||||
};
|
||||
use common::comp::item::ToolKind;
|
||||
use std::{
|
||||
f32::consts::{FRAC_PI_2, PI},
|
||||
ops::Mul,
|
||||
};
|
||||
use std::{f32::consts::PI, ops::Mul};
|
||||
|
||||
pub struct IdleAnimation;
|
||||
|
||||
@ -94,31 +91,26 @@ 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(FRAC_PI_2);
|
||||
next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
||||
},
|
||||
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(FRAC_PI_2);
|
||||
next.main.orientation = Quaternion::rotation_y(0.6) * Quaternion::rotation_z(1.57);
|
||||
},
|
||||
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(FRAC_PI_2);
|
||||
next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
||||
},
|
||||
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(FRAC_PI_2);
|
||||
next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
||||
next.second.position = Vec3::new(6.0, -8.0, 8.0);
|
||||
next.second.orientation =
|
||||
Quaternion::rotation_y(-2.5) * Quaternion::rotation_z(FRAC_PI_2);
|
||||
Quaternion::rotation_y(-2.5) * Quaternion::rotation_z(1.57);
|
||||
},
|
||||
_ => {
|
||||
next.main.position = Vec3::new(-2.0, -5.0, -6.0);
|
||||
next.main.orientation =
|
||||
Quaternion::rotation_y(0.6) * Quaternion::rotation_z(FRAC_PI_2);
|
||||
next.main.orientation = Quaternion::rotation_y(0.6) * Quaternion::rotation_z(1.57);
|
||||
},
|
||||
}
|
||||
|
||||
|
@ -3,7 +3,7 @@ use super::{
|
||||
BipedLargeSkeleton, SkeletonAttr,
|
||||
};
|
||||
use common::comp::item::ToolKind;
|
||||
use std::f32::consts::{FRAC_PI_2, PI};
|
||||
use std::f32::consts::PI;
|
||||
|
||||
pub struct JumpAnimation;
|
||||
|
||||
@ -64,28 +64,23 @@ 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(FRAC_PI_2);
|
||||
next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
||||
},
|
||||
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(FRAC_PI_2);
|
||||
next.main.orientation = Quaternion::rotation_y(0.6) * Quaternion::rotation_z(1.57);
|
||||
},
|
||||
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(FRAC_PI_2);
|
||||
next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
||||
},
|
||||
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(FRAC_PI_2);
|
||||
next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
||||
},
|
||||
_ => {
|
||||
next.main.position = Vec3::new(-2.0, -5.0, -6.0);
|
||||
next.main.orientation =
|
||||
Quaternion::rotation_y(0.6) * Quaternion::rotation_z(FRAC_PI_2);
|
||||
next.main.orientation = Quaternion::rotation_y(0.6) * Quaternion::rotation_z(1.57);
|
||||
},
|
||||
}
|
||||
|
||||
|
@ -19,6 +19,7 @@ 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>,
|
||||
|
@ -3,10 +3,7 @@ use super::{
|
||||
BipedLargeSkeleton, SkeletonAttr,
|
||||
};
|
||||
use common::comp::item::ToolKind;
|
||||
use std::{
|
||||
f32::consts::{FRAC_PI_2, FRAC_PI_4, PI},
|
||||
ops::Mul,
|
||||
};
|
||||
use std::{f32::consts::PI, ops::Mul};
|
||||
|
||||
pub struct RunAnimation;
|
||||
|
||||
@ -86,10 +83,10 @@ impl Animation for RunAnimation {
|
||||
);
|
||||
|
||||
let speedadjust = if speed < 5.0 { 0.0 } else { speed / 21.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;
|
||||
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;
|
||||
|
||||
//FL
|
||||
let foot1a = (acc_vel * lab * speedmult + 0.0 + canceler * 0.05 + shift1).sin();
|
||||
|
@ -6,7 +6,7 @@ use common::{
|
||||
comp::item::tool::{AbilitySpec, ToolKind},
|
||||
states::utils::StageSection,
|
||||
};
|
||||
use std::f32::consts::{FRAC_PI_2, FRAC_PI_3, PI};
|
||||
use std::f32::consts::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(FRAC_PI_2 + move1 * 0.5)
|
||||
next.control_l.orientation = Quaternion::rotation_x(PI / 2.0 + 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 + FRAC_PI_2 + move2 * 0.4)
|
||||
Quaternion::rotation_x(move1 * 0.2 + PI / 2.0 + 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(FRAC_PI_3 + move1 * 0.5)
|
||||
Quaternion::rotation_x(PI / 3.0 + move1 * 0.5)
|
||||
* Quaternion::rotation_y(-0.15)
|
||||
* Quaternion::rotation_z(move1 * 0.5);
|
||||
next.control_r.orientation =
|
||||
Quaternion::rotation_x(FRAC_PI_3 + move1 * 0.5)
|
||||
Quaternion::rotation_x(PI / 3.0 + 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 * 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);
|
||||
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);
|
||||
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(FRAC_PI_2) * Quaternion::rotation_z(PI);
|
||||
next.control_r.orientation = Quaternion::rotation_x(FRAC_PI_2 + 0.2)
|
||||
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);
|
||||
|
||||
@ -317,10 +317,9 @@ impl Animation for ShootAnimation {
|
||||
s_a.shoulder.1,
|
||||
s_a.shoulder.2,
|
||||
);
|
||||
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.shoulder_r.orientation = Quaternion::rotation_y(move1 * -PI / 2.0)
|
||||
* Quaternion::rotation_x(move2 * 2.0)
|
||||
* Quaternion::rotation_z(move1 * -PI / 2.0);
|
||||
|
||||
next.hand_r.position = Vec3::new(
|
||||
-s_a.grip.1 + move1 * -2.0 + move2 * 8.0,
|
||||
|
@ -3,7 +3,7 @@ use super::{
|
||||
BipedLargeSkeleton, SkeletonAttr,
|
||||
};
|
||||
use common::{comp::item::ToolKind, states::utils::StageSection};
|
||||
use std::f32::consts::{FRAC_PI_2, TAU};
|
||||
use std::f32::consts::PI;
|
||||
|
||||
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(FRAC_PI_2).sin();
|
||||
let decel = (anim_time * 16.0 * lab).min(PI / 2.0).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 * FRAC_PI_2);
|
||||
* Quaternion::rotation_z(s_a.sc.5 + 0.1 + movement1 * 1.57);
|
||||
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 * TAU);
|
||||
next.torso.orientation = Quaternion::rotation_z(movement2 * 6.28);
|
||||
}
|
||||
|
||||
if let Some(ToolKind::Axe | ToolKind::Hammer | ToolKind::Dagger) = active_tool_kind {
|
||||
|
@ -3,7 +3,7 @@ use super::{
|
||||
BipedLargeSkeleton, SkeletonAttr,
|
||||
};
|
||||
use common::{comp::item::ToolKind, states::utils::StageSection};
|
||||
use std::f32::consts::{FRAC_PI_2, PI};
|
||||
use std::f32::consts::PI;
|
||||
|
||||
pub struct SpinMeleeAnimation;
|
||||
|
||||
@ -22,6 +22,7 @@ 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>,
|
||||
@ -100,7 +101,7 @@ impl Animation for SpinMeleeAnimation {
|
||||
-11.0 + -s_a.grip.0 / 2.0 + move1 * 8.0,
|
||||
);
|
||||
|
||||
next.control_l.orientation = Quaternion::rotation_x(FRAC_PI_2 - move1 * 0.2)
|
||||
next.control_l.orientation = Quaternion::rotation_x(PI / 2.0 - 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)
|
||||
|
@ -6,7 +6,7 @@ use common::{
|
||||
comp::item::{AbilitySpec, ToolKind},
|
||||
states::utils::StageSection,
|
||||
};
|
||||
use std::f32::consts::{FRAC_PI_2, PI};
|
||||
use std::f32::consts::PI;
|
||||
|
||||
pub struct SpriteSummonAnimation;
|
||||
|
||||
@ -104,8 +104,8 @@ impl Animation for SpriteSummonAnimation {
|
||||
);
|
||||
|
||||
next.control_l.orientation =
|
||||
Quaternion::rotation_x(FRAC_PI_2) * Quaternion::rotation_z(PI);
|
||||
next.control_r.orientation = Quaternion::rotation_x(FRAC_PI_2 + 0.2)
|
||||
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);
|
||||
|
||||
|
@ -6,7 +6,7 @@ use common::{
|
||||
comp::item::tool::{AbilitySpec, ToolKind},
|
||||
states::utils::StageSection,
|
||||
};
|
||||
use std::f32::consts::{FRAC_PI_2, FRAC_PI_3, PI};
|
||||
use std::f32::consts::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 + FRAC_PI_2).sin();
|
||||
let shortalt = (anim_time * lab * 16.0 + PI / 2.0).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(FRAC_PI_2) * Quaternion::rotation_y(-0.2);
|
||||
Quaternion::rotation_x(PI / 2.0) * 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(FRAC_PI_2) * Quaternion::rotation_y(-0.2);
|
||||
Quaternion::rotation_x(PI / 2.0) * 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(FRAC_PI_2) * Quaternion::rotation_y(-0.0);
|
||||
next.control_r.orientation = Quaternion::rotation_x(FRAC_PI_2 + 0.2);
|
||||
Quaternion::rotation_x(PI / 2.0) * Quaternion::rotation_y(-0.0);
|
||||
next.control_r.orientation = Quaternion::rotation_x(PI / 2.0 + 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(FRAC_PI_2) * Quaternion::rotation_y(-0.5);
|
||||
Quaternion::rotation_x(PI / 2.0) * 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(FRAC_PI_3)
|
||||
next.control_l.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);
|
||||
next.control_r.orientation =
|
||||
Quaternion::rotation_x(PI / 3.0) * 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(FRAC_PI_3)
|
||||
next.hand_l.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.hand_r.orientation =
|
||||
Quaternion::rotation_x(PI / 3.0) * Quaternion::rotation_z(0.35);
|
||||
},
|
||||
"Beast Claws" => {
|
||||
next.shoulder_l.position =
|
||||
@ -403,13 +403,11 @@ 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(-FRAC_PI_2 - 0.1);
|
||||
next.weapon_r.orientation =
|
||||
Quaternion::rotation_x(-FRAC_PI_2 - 0.1);
|
||||
next.weapon_l.orientation = Quaternion::rotation_x(-1.57 - 0.1);
|
||||
next.weapon_r.orientation = Quaternion::rotation_x(-1.57 - 0.1);
|
||||
|
||||
next.control_l.orientation = Quaternion::rotation_x(FRAC_PI_2);
|
||||
next.control_r.orientation = Quaternion::rotation_x(FRAC_PI_2);
|
||||
next.control_l.orientation = Quaternion::rotation_x(1.57);
|
||||
next.control_r.orientation = Quaternion::rotation_x(1.57);
|
||||
|
||||
next.control.orientation =
|
||||
Quaternion::rotation_x(0.0) * Quaternion::rotation_y(0.0);
|
||||
|
@ -6,7 +6,7 @@ use common::{
|
||||
comp::item::{AbilitySpec, ToolKind},
|
||||
states::utils::StageSection,
|
||||
};
|
||||
use std::f32::consts::{FRAC_PI_2, FRAC_PI_3, PI};
|
||||
use std::f32::consts::PI;
|
||||
|
||||
pub struct SummonAnimation;
|
||||
|
||||
@ -26,6 +26,7 @@ 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,
|
||||
(
|
||||
@ -110,7 +111,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(FRAC_PI_2 - move1 * 0.2)
|
||||
next.control_l.orientation = Quaternion::rotation_x(PI / 2.0 - 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)
|
||||
@ -164,11 +165,11 @@ impl Animation for SummonAnimation {
|
||||
);
|
||||
|
||||
next.hand_l.orientation =
|
||||
Quaternion::rotation_x(FRAC_PI_3 + move1 * 1.5)
|
||||
Quaternion::rotation_x(PI / 3.0 + move1 * 1.5)
|
||||
* Quaternion::rotation_y(-move1 * 0.7 + move2 * 0.2)
|
||||
* Quaternion::rotation_z(-0.35);
|
||||
next.hand_r.orientation =
|
||||
Quaternion::rotation_x(FRAC_PI_3 + move1 * 1.5)
|
||||
Quaternion::rotation_x(PI / 3.0 + 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);
|
||||
|
@ -3,10 +3,7 @@ use super::{
|
||||
BipedLargeSkeleton, SkeletonAttr,
|
||||
};
|
||||
use common::comp::item::tool::{AbilitySpec, ToolKind};
|
||||
use std::{
|
||||
f32::consts::{FRAC_PI_2, FRAC_PI_3, PI},
|
||||
ops::Mul,
|
||||
};
|
||||
use std::{f32::consts::PI, ops::Mul};
|
||||
|
||||
pub struct WieldAnimation;
|
||||
|
||||
@ -93,7 +90,7 @@ impl Animation for WieldAnimation {
|
||||
|
||||
let short = (acc_vel * lab).sin() * speednorm;
|
||||
|
||||
let shortalt = (anim_time * lab * 16.0 + FRAC_PI_2).sin();
|
||||
let shortalt = (anim_time * lab * 16.0 + PI / 2.0).sin();
|
||||
next.second.position = Vec3::new(0.0, 0.0, 0.0);
|
||||
next.second.orientation = Quaternion::rotation_x(0.0);
|
||||
|
||||
@ -177,7 +174,7 @@ impl Animation for WieldAnimation {
|
||||
next.second.scale = Vec3::one() * 0.0;
|
||||
|
||||
next.control_l.orientation =
|
||||
Quaternion::rotation_x(FRAC_PI_2) * Quaternion::rotation_y(-0.2);
|
||||
Quaternion::rotation_x(PI / 2.0) * Quaternion::rotation_y(-0.2);
|
||||
next.control_r.orientation =
|
||||
Quaternion::rotation_x(PI / 2.2) * Quaternion::rotation_y(0.2);
|
||||
|
||||
@ -195,7 +192,7 @@ impl Animation for WieldAnimation {
|
||||
);
|
||||
|
||||
next.control_l.orientation =
|
||||
Quaternion::rotation_x(FRAC_PI_2) * Quaternion::rotation_y(-0.2);
|
||||
Quaternion::rotation_x(PI / 2.0) * 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);
|
||||
@ -215,8 +212,8 @@ impl Animation for WieldAnimation {
|
||||
);
|
||||
|
||||
next.control_l.orientation =
|
||||
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_x(PI / 2.0) * Quaternion::rotation_y(-0.0);
|
||||
next.control_r.orientation = Quaternion::rotation_x(PI / 2.0 + 0.2)
|
||||
* Quaternion::rotation_y(0.0)
|
||||
* Quaternion::rotation_z(0.0);
|
||||
|
||||
@ -234,7 +231,7 @@ impl Animation for WieldAnimation {
|
||||
);
|
||||
|
||||
next.control_l.orientation =
|
||||
Quaternion::rotation_x(FRAC_PI_2) * Quaternion::rotation_y(-0.5);
|
||||
Quaternion::rotation_x(PI / 2.0) * 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);
|
||||
@ -249,19 +246,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(FRAC_PI_3)
|
||||
next.control_l.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);
|
||||
next.control_r.orientation =
|
||||
Quaternion::rotation_x(PI / 3.0) * 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(FRAC_PI_3)
|
||||
next.hand_l.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.hand_r.orientation =
|
||||
Quaternion::rotation_x(PI / 3.0) * Quaternion::rotation_z(0.35);
|
||||
},
|
||||
"Beast Claws" => {
|
||||
next.shoulder_l.position =
|
||||
@ -441,12 +438,10 @@ 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(-FRAC_PI_2 - 0.1);
|
||||
next.weapon_r.orientation =
|
||||
Quaternion::rotation_x(-FRAC_PI_2 - 0.1);
|
||||
next.weapon_l.orientation = Quaternion::rotation_x(-1.57 - 0.1);
|
||||
next.weapon_r.orientation = Quaternion::rotation_x(-1.57 - 0.1);
|
||||
|
||||
next.control_l.orientation = Quaternion::rotation_x(FRAC_PI_2);
|
||||
next.control_l.orientation = Quaternion::rotation_x(1.57);
|
||||
next.control_r.orientation = Quaternion::rotation_x(1.57);
|
||||
|
||||
next.control.orientation =
|
||||
@ -486,11 +481,10 @@ impl Animation for WieldAnimation {
|
||||
);
|
||||
|
||||
next.control_l.orientation =
|
||||
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);
|
||||
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);
|
||||
|
||||
next.control.orientation =
|
||||
Quaternion::rotation_x(-1.4) * Quaternion::rotation_y(-2.8);
|
||||
@ -510,13 +504,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(-FRAC_PI_2);
|
||||
* Quaternion::rotation_z(-PI / 2.0);
|
||||
|
||||
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(FRAC_PI_2);
|
||||
* Quaternion::rotation_z(PI / 2.0);
|
||||
|
||||
next.shoulder_l.position =
|
||||
Vec3::new(-s_a.shoulder.0, s_a.shoulder.1, s_a.shoulder.2);
|
||||
|
@ -3,7 +3,7 @@ use super::{
|
||||
BipedSmallSkeleton, SkeletonAttr,
|
||||
};
|
||||
use common::{comp::item::ToolKind, states::utils::StageSection};
|
||||
use std::f32::consts::{FRAC_PI_2, PI};
|
||||
use std::f32::consts::PI;
|
||||
|
||||
pub struct AlphaAnimation;
|
||||
|
||||
@ -49,7 +49,7 @@ impl Animation for AlphaAnimation {
|
||||
let speed = Vec2::<f32>::from(velocity).magnitude();
|
||||
|
||||
let fast = (anim_time * 10.0).sin();
|
||||
let fastalt = (anim_time * 10.0 + FRAC_PI_2).sin();
|
||||
let fastalt = (anim_time * 10.0 + PI / 2.0).sin();
|
||||
|
||||
let speednorm = speed / 9.4;
|
||||
let speednormcancel = 1.0 - speednorm;
|
||||
|
@ -3,7 +3,7 @@ use super::{
|
||||
BipedSmallSkeleton, SkeletonAttr,
|
||||
};
|
||||
use common::states::utils::StageSection;
|
||||
use std::f32::consts::{FRAC_PI_2, PI};
|
||||
use std::f32::consts::PI;
|
||||
|
||||
pub struct DashAnimation;
|
||||
|
||||
@ -47,7 +47,7 @@ impl Animation for DashAnimation {
|
||||
let speed = Vec2::<f32>::from(velocity).magnitude();
|
||||
|
||||
let fast = (anim_time * 10.0).sin();
|
||||
let fastalt = (anim_time * 10.0 + FRAC_PI_2).sin();
|
||||
let fastalt = (anim_time * 10.0 + PI / 2.0).sin();
|
||||
|
||||
let speednorm = speed / 9.4;
|
||||
let speednormcancel = 1.0 - speednorm;
|
||||
|
@ -2,7 +2,6 @@ use super::{
|
||||
super::{vek::*, Animation},
|
||||
BipedSmallSkeleton, SkeletonAttr,
|
||||
};
|
||||
use std::f32::consts::FRAC_PI_2;
|
||||
|
||||
pub struct IdleAnimation;
|
||||
|
||||
@ -37,7 +36,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(FRAC_PI_2);
|
||||
next.main.orientation = Quaternion::rotation_y(-0.5) * Quaternion::rotation_z(1.57);
|
||||
|
||||
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);
|
||||
|
@ -2,10 +2,7 @@ use super::{
|
||||
super::{vek::*, Animation},
|
||||
BipedSmallSkeleton, SkeletonAttr,
|
||||
};
|
||||
use std::{
|
||||
f32::consts::{FRAC_PI_2, PI},
|
||||
ops::Mul,
|
||||
};
|
||||
use std::{f32::consts::PI, ops::Mul};
|
||||
|
||||
pub struct RunAnimation;
|
||||
|
||||
@ -54,7 +51,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 + FRAC_PI_2).sin();
|
||||
let shortalt = (acc_vel * lab * 1.4 + PI / 2.0).sin();
|
||||
|
||||
let short = ((5.0 / (1.5 + 3.5 * ((acc_vel * lab * 1.4).sin()).powi(2))).sqrt())
|
||||
* ((acc_vel * lab * 1.4).sin());
|
||||
|
@ -3,7 +3,7 @@ use super::{
|
||||
BipedSmallSkeleton, SkeletonAttr,
|
||||
};
|
||||
use common::{comp::item::ToolKind, states::utils::StageSection};
|
||||
use std::f32::consts::FRAC_PI_2;
|
||||
use std::f32::consts::PI;
|
||||
|
||||
pub struct ShootAnimation;
|
||||
|
||||
@ -49,7 +49,7 @@ impl Animation for ShootAnimation {
|
||||
let speed = Vec2::<f32>::from(velocity).magnitude();
|
||||
|
||||
let fast = (anim_time * 10.0).sin();
|
||||
let fastalt = (anim_time * 10.0 + FRAC_PI_2).sin();
|
||||
let fastalt = (anim_time * 10.0 + PI / 2.0).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(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_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_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(FRAC_PI_2 + move1abs * 0.8)
|
||||
next.control_l.orientation = Quaternion::rotation_x(PI / 2.0 + move1abs * 0.8)
|
||||
* Quaternion::rotation_y(-0.3)
|
||||
* Quaternion::rotation_z(-0.3);
|
||||
next.control_r.orientation =
|
||||
Quaternion::rotation_x(FRAC_PI_2 + s_a.grip.0 * 0.2 + move1abs * 0.8)
|
||||
Quaternion::rotation_x(PI / 2.0 + 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);
|
||||
|
||||
|
@ -3,7 +3,7 @@ use super::{
|
||||
BipedSmallSkeleton, SkeletonAttr,
|
||||
};
|
||||
use common::{comp::item::ToolKind, states::utils::StageSection};
|
||||
use std::f32::consts::{FRAC_PI_2, PI};
|
||||
use std::f32::consts::PI;
|
||||
|
||||
pub struct StunnedAnimation;
|
||||
|
||||
@ -119,9 +119,9 @@ impl Animation for StunnedAnimation {
|
||||
);
|
||||
|
||||
next.control_l.orientation =
|
||||
Quaternion::rotation_x(FRAC_PI_2) * Quaternion::rotation_y(-0.3);
|
||||
Quaternion::rotation_x(PI / 2.0) * Quaternion::rotation_y(-0.3);
|
||||
next.control_r.orientation =
|
||||
Quaternion::rotation_x(FRAC_PI_2 + s_a.grip.0 * 0.2)
|
||||
Quaternion::rotation_x(PI / 2.0 + 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(FRAC_PI_2)
|
||||
next.control_l.orientation = Quaternion::rotation_x(PI / 2.0)
|
||||
* Quaternion::rotation_y(-0.3)
|
||||
* Quaternion::rotation_z(-0.3);
|
||||
next.control_r.orientation =
|
||||
Quaternion::rotation_x(FRAC_PI_2 + s_a.grip.0 * 0.2)
|
||||
Quaternion::rotation_x(PI / 2.0 + s_a.grip.0 * 0.2)
|
||||
* Quaternion::rotation_y(-0.4 + s_a.grip.0 * 0.2)
|
||||
* Quaternion::rotation_z(-0.0);
|
||||
|
||||
@ -171,8 +171,7 @@ 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(FRAC_PI_2);
|
||||
next.main.orientation = Quaternion::rotation_y(-0.5) * Quaternion::rotation_z(1.57);
|
||||
|
||||
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);
|
||||
|
@ -3,7 +3,7 @@ use super::{
|
||||
BipedSmallSkeleton, SkeletonAttr,
|
||||
};
|
||||
use common::comp::item::ToolKind;
|
||||
use std::f32::consts::{FRAC_PI_2, PI};
|
||||
use std::f32::consts::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 + FRAC_PI_2).sin();
|
||||
let fastalt = (anim_time * 10.0 + PI / 2.0).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(FRAC_PI_2 + slow * 0.1) * Quaternion::rotation_y(-0.3);
|
||||
Quaternion::rotation_x(PI / 2.0 + slow * 0.1) * Quaternion::rotation_y(-0.3);
|
||||
next.control_r.orientation =
|
||||
Quaternion::rotation_x(FRAC_PI_2 + slow * 0.1 + s_a.grip.0 * 0.2)
|
||||
Quaternion::rotation_x(PI / 2.0 + 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(FRAC_PI_2 + slow * 0.1)
|
||||
next.control_l.orientation = Quaternion::rotation_x(PI / 2.0 + slow * 0.1)
|
||||
* Quaternion::rotation_y(-0.3)
|
||||
* Quaternion::rotation_z(-0.3);
|
||||
next.control_r.orientation =
|
||||
Quaternion::rotation_x(FRAC_PI_2 + slow * 0.1 + s_a.grip.0 * 0.2)
|
||||
Quaternion::rotation_x(PI / 2.0 + 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);
|
||||
|
||||
|
@ -2,7 +2,7 @@ use super::{
|
||||
super::{vek::*, Animation},
|
||||
BirdLargeSkeleton, SkeletonAttr,
|
||||
};
|
||||
use std::f32::consts::{FRAC_PI_2, PI};
|
||||
use std::f32::consts::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 + FRAC_PI_2 + PI).sin() * speednorm; //1.9
|
||||
let foot1b = (mixed_vel * 1.0 * lab * speedmult + 1.57 + 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 + FRAC_PI_2).sin() * speednorm; //1.6
|
||||
let foot2b = (mixed_vel * 1.0 * lab * speedmult + 1.57).sin() * speednorm; //1.6
|
||||
let ori: Vec2<f32> = Vec2::from(orientation);
|
||||
let last_ori = Vec2::from(last_ori);
|
||||
let tilt = if ::vek::Vec2::new(ori, last_ori)
|
||||
|
@ -16,6 +16,7 @@ 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>,
|
||||
|
@ -2,7 +2,7 @@ use super::{
|
||||
super::{vek::*, Animation},
|
||||
BirdMediumSkeleton, SkeletonAttr,
|
||||
};
|
||||
use std::f32::consts::{FRAC_PI_2, PI};
|
||||
use std::f32::consts::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 + FRAC_PI_2).sin();
|
||||
let center = (anim_time * lab + PI / 2.0).sin();
|
||||
let centeroffset = (anim_time * lab + PI * 1.5).sin();
|
||||
|
||||
next.torso.scale = Vec3::one() / 11.0;
|
||||
|
@ -2,7 +2,7 @@ use super::{
|
||||
super::{vek::*, Animation},
|
||||
BirdMediumSkeleton, SkeletonAttr,
|
||||
};
|
||||
use std::f32::consts::{FRAC_PI_2, PI};
|
||||
use std::f32::consts::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 + FRAC_PI_2).sin();
|
||||
let center = (anim_time * lab + PI / 2.0).sin();
|
||||
let centeroffset = (anim_time * lab + PI * 1.5).sin();
|
||||
|
||||
next.torso.scale = Vec3::one() / 11.0;
|
||||
|
@ -23,6 +23,7 @@ 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>,
|
||||
|
@ -6,7 +6,7 @@ use common::{
|
||||
comp::item::{Hands, ToolKind},
|
||||
states::utils::{AbilityInfo, StageSection},
|
||||
};
|
||||
use std::f32::consts::{FRAC_PI_2, FRAC_PI_4};
|
||||
use std::f32::consts::PI;
|
||||
|
||||
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 + FRAC_PI_4).sin() * 0.3) * (1.0 - move3),
|
||||
(move1 * -1.7 + (move2 * 8.0 + PI / 4.0).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 + FRAC_PI_2).sin() * 3.5) * (1.0 - move3),
|
||||
-4.0 + (move1 * 19.0 + (move2 * 8.0 + PI / 2.0).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 + FRAC_PI_2).sin() * -0.3) * (1.0 - move3),
|
||||
(move1 * -1.1 + (move2 * 8.0 + PI / 2.0).sin() * -0.3) * (1.0 - move3),
|
||||
)
|
||||
* Quaternion::rotation_z((move1 * -2.8) * (1.0 - move3));
|
||||
|
||||
|
@ -3,7 +3,7 @@ use super::{
|
||||
CharacterSkeleton, SkeletonAttr,
|
||||
};
|
||||
use common::comp::item::ToolKind;
|
||||
use std::{f32::consts::FRAC_PI_2, ops::Mul};
|
||||
use std::{f32::consts::PI, 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 + FRAC_PI_2).sin();
|
||||
let drop = (anim_time * constant * 4.0 + FRAC_PI_2).sin();
|
||||
let smootha = (anim_time * constant * 1.5 + PI / 2.0).sin();
|
||||
let drop = (anim_time * constant * 4.0 + PI / 2.0).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 + FRAC_PI_2).sin()).powi(2))).sqrt())
|
||||
* ((anim_time * constant * 1.5 + FRAC_PI_2).sin());
|
||||
((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());
|
||||
let head_look = Vec2::new(
|
||||
(global_time / 2.0 + anim_time / 2.0)
|
||||
.floor()
|
||||
|
@ -3,10 +3,7 @@ use super::{
|
||||
CharacterSkeleton, SkeletonAttr,
|
||||
};
|
||||
use common::comp::item::ToolKind;
|
||||
use std::{
|
||||
f32::consts::{FRAC_PI_2, FRAC_PI_4, FRAC_PI_6},
|
||||
ops::Mul,
|
||||
};
|
||||
use std::{f32::consts::PI, ops::Mul};
|
||||
|
||||
pub struct DanceAnimation;
|
||||
|
||||
@ -32,12 +29,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 + FRAC_PI_6).sin();
|
||||
let noiseb = (anim_time * 19.0 + FRAC_PI_4).sin();
|
||||
let noisea = (anim_time * 11.0 + PI / 6.0).sin();
|
||||
let noiseb = (anim_time * 19.0 + PI / 4.0).sin();
|
||||
|
||||
let shorte = (anim_time * lab * 6.0).sin();
|
||||
|
||||
let shortealt = (anim_time * lab * 6.0 + FRAC_PI_2).sin();
|
||||
let shortealt = (anim_time * lab * 6.0 + PI / 2.0).sin();
|
||||
|
||||
let foot = ((5.0 / (1.0 + (4.0) * ((anim_time * lab * 8.0).sin()).powi(2))).sqrt())
|
||||
* ((anim_time * lab * 8.0).sin());
|
||||
|
@ -6,7 +6,7 @@ use common::{
|
||||
comp::item::{Hands, ToolKind},
|
||||
states::utils::{AbilityInfo, StageSection},
|
||||
};
|
||||
use std::f32::consts::FRAC_PI_2;
|
||||
use std::f32::consts::PI;
|
||||
|
||||
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 + FRAC_PI_2).sin() }
|
||||
fn shortalt(x: f32) -> f32 { (x * 5.0 + PI / 2.0).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);
|
||||
|
@ -3,7 +3,7 @@ use super::{
|
||||
CharacterSkeleton, SkeletonAttr,
|
||||
};
|
||||
use common::comp::item::ToolKind;
|
||||
use std::f32::consts::{FRAC_PI_4, PI};
|
||||
use std::f32::consts::PI;
|
||||
|
||||
pub struct EquipAnimation;
|
||||
|
||||
@ -15,6 +15,7 @@ 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>,
|
||||
@ -25,7 +26,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 + FRAC_PI_4).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);
|
||||
next.control.position = Vec3::new(equip_slowa * -1.5, 0.0, equip_slow * 1.5);
|
||||
|
@ -3,7 +3,7 @@ use super::{
|
||||
CharacterSkeleton, SkeletonAttr,
|
||||
};
|
||||
use common::comp::item::{Hands, ToolKind};
|
||||
use std::f32::consts::{FRAC_PI_2, PI};
|
||||
use std::f32::consts::PI;
|
||||
|
||||
pub struct JumpAnimation;
|
||||
impl Animation for JumpAnimation {
|
||||
@ -155,18 +155,15 @@ 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(FRAC_PI_2);
|
||||
next.main.orientation = Quaternion::rotation_y(-0.5) * Quaternion::rotation_z(1.57);
|
||||
},
|
||||
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(FRAC_PI_2);
|
||||
next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
||||
},
|
||||
_ => {
|
||||
next.main.position = Vec3::new(-7.0, -5.0, 15.0);
|
||||
next.main.orientation =
|
||||
Quaternion::rotation_y(2.5) * Quaternion::rotation_z(FRAC_PI_2);
|
||||
next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
||||
},
|
||||
}
|
||||
|
||||
@ -185,7 +182,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(FRAC_PI_2);
|
||||
Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
||||
},
|
||||
}
|
||||
|
||||
@ -214,7 +211,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(FRAC_PI_2);
|
||||
Quaternion::rotation_y(2.35) * Quaternion::rotation_z(1.57);
|
||||
},
|
||||
|
||||
_ => {},
|
||||
@ -226,7 +223,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(-FRAC_PI_2);
|
||||
Quaternion::rotation_y(-2.5) * Quaternion::rotation_z(-1.57);
|
||||
},
|
||||
_ => {},
|
||||
},
|
||||
|
@ -6,8 +6,6 @@ use common::{
|
||||
comp::item::{Hands, ToolKind},
|
||||
states::utils::{AbilityInfo, StageSection},
|
||||
};
|
||||
use std::f32::consts::FRAC_PI_2;
|
||||
|
||||
pub struct LeapAnimation;
|
||||
|
||||
type LeapAnimationDependency = (
|
||||
@ -25,6 +23,7 @@ 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>,
|
||||
@ -134,7 +133,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 * FRAC_PI_2 + move3 * -2.3)
|
||||
Quaternion::rotation_x(s_a.hc.3 + move2 * 1.57 + 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);
|
||||
},
|
||||
@ -171,7 +170,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(FRAC_PI_2)
|
||||
next.hand_l.orientation = Quaternion::rotation_x(1.57)
|
||||
},
|
||||
Some(ToolKind::Hammer) | Some(ToolKind::Pick) => {
|
||||
next.control_l.position = Vec3::new(
|
||||
@ -182,7 +181,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(FRAC_PI_2)
|
||||
next.hand_l.orientation = Quaternion::rotation_x(1.57)
|
||||
},
|
||||
|
||||
_ => {},
|
||||
@ -201,7 +200,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(FRAC_PI_2)
|
||||
next.hand_r.orientation = Quaternion::rotation_x(1.57)
|
||||
},
|
||||
Some(ToolKind::Hammer) | Some(ToolKind::Pick) => {
|
||||
next.control_r.position = Vec3::new(
|
||||
@ -213,7 +212,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(FRAC_PI_2)
|
||||
next.hand_r.orientation = Quaternion::rotation_x(1.57)
|
||||
},
|
||||
_ => {},
|
||||
}
|
||||
|
@ -6,8 +6,6 @@ use common::{
|
||||
comp::item::{Hands, ToolKind},
|
||||
states::utils::{AbilityInfo, StageSection},
|
||||
};
|
||||
use std::f32::consts::FRAC_PI_2;
|
||||
|
||||
pub struct RepeaterAnimation;
|
||||
|
||||
impl Animation for RepeaterAnimation {
|
||||
@ -25,6 +23,7 @@ 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>,
|
||||
@ -58,8 +57,7 @@ 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(-FRAC_PI_2) * Quaternion::rotation_z(0.0);
|
||||
next.hold.orientation = Quaternion::rotation_x(-1.57) * Quaternion::rotation_z(0.0);
|
||||
next.hold.scale = Vec3::one() * (1.0);
|
||||
if speed < 0.5 {
|
||||
next.foot_l.position = Vec3::new(
|
||||
|
@ -3,10 +3,7 @@ use super::{
|
||||
CharacterSkeleton, SkeletonAttr,
|
||||
};
|
||||
use common::comp::item::{Hands, ToolKind};
|
||||
use std::{
|
||||
f32::consts::{FRAC_PI_2, FRAC_PI_4, FRAC_PI_6, PI},
|
||||
ops::Mul,
|
||||
};
|
||||
use std::{f32::consts::PI, ops::Mul};
|
||||
|
||||
pub struct RunAnimation;
|
||||
|
||||
@ -65,8 +62,8 @@ impl Animation for RunAnimation {
|
||||
.sqrt())
|
||||
* ((acc_vel * 1.6 * lab + PI * 0.4).sin());
|
||||
|
||||
let noisea = (acc_vel * 11.0 + FRAC_PI_6).sin();
|
||||
let noiseb = (acc_vel * 19.0 + FRAC_PI_4).sin();
|
||||
let noisea = (acc_vel * 11.0 + PI / 6.0).sin();
|
||||
let noiseb = (acc_vel * 19.0 + PI / 4.0).sin();
|
||||
|
||||
let shorte = ((1.0 / (0.8 + 0.2 * ((acc_vel * lab * 1.6).sin()).powi(2))).sqrt())
|
||||
* ((acc_vel * lab * 1.6).sin());
|
||||
@ -83,7 +80,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 + FRAC_PI_2).sin();
|
||||
let shortalt = (acc_vel * lab * 1.6 + PI / 2.0).sin();
|
||||
|
||||
let short = ((5.0 / (1.5 + 3.5 * ((acc_vel * lab * 1.6).sin()).powi(2))).sqrt())
|
||||
* ((acc_vel * lab * 1.6).sin());
|
||||
|
@ -7,7 +7,7 @@ use common::{
|
||||
states::utils::{AbilityInfo, StageSection},
|
||||
util::Dir,
|
||||
};
|
||||
use std::f32::consts::{FRAC_PI_2, PI};
|
||||
use std::f32::consts::PI;
|
||||
|
||||
pub struct ShootAnimation;
|
||||
|
||||
@ -29,6 +29,7 @@ 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,
|
||||
(
|
||||
@ -140,7 +141,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(-FRAC_PI_2);
|
||||
next.hold.orientation = Quaternion::rotation_x(-1.57);
|
||||
next.hold.scale = Vec3::one() * 1.0 * (1.0 - move2);
|
||||
|
||||
next.control.position = Vec3::new(
|
||||
|
@ -3,7 +3,7 @@ use super::{
|
||||
CharacterSkeleton, SkeletonAttr,
|
||||
};
|
||||
use common::comp::item::ToolKind;
|
||||
use std::{f32::consts::FRAC_PI_2, ops::Mul};
|
||||
use std::{f32::consts::PI, 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 + FRAC_PI_2).sin();
|
||||
let stop = (anim_time * 3.0).min(FRAC_PI_2).sin();
|
||||
let slowa = (anim_time * 1.0 + PI / 2.0).sin();
|
||||
let stop = (anim_time * 3.0).min(PI / 2.0).sin();
|
||||
|
||||
let head_look = Vec2::new(
|
||||
(global_time * 0.05 + anim_time / 15.0)
|
||||
|
@ -3,10 +3,7 @@ use super::{
|
||||
CharacterSkeleton, SkeletonAttr,
|
||||
};
|
||||
use common::comp::item::ToolKind;
|
||||
use std::{
|
||||
f32::consts::{FRAC_PI_2, FRAC_PI_4, FRAC_PI_6, PI},
|
||||
ops::Mul,
|
||||
};
|
||||
use std::{f32::consts::PI, ops::Mul};
|
||||
|
||||
pub struct SneakAnimation;
|
||||
|
||||
@ -50,13 +47,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 + FRAC_PI_6).sin();
|
||||
let noiseb = (anim_time * 19.0 + FRAC_PI_4).sin();
|
||||
let noisea = (anim_time * 11.0 + PI / 6.0).sin();
|
||||
let noiseb = (anim_time * 19.0 + PI / 4.0).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 + FRAC_PI_2).sin();
|
||||
let shortalt = (anim_time * lab * 7.0 + PI / 2.0).sin();
|
||||
|
||||
let head_look = Vec2::new(
|
||||
(global_time + anim_time / 18.0).floor().mul(7331.0).sin() * 0.2,
|
||||
|
@ -6,7 +6,7 @@ use common::{
|
||||
comp::item::{Hands, ToolKind},
|
||||
states::utils::{AbilityInfo, StageSection},
|
||||
};
|
||||
use std::f32::consts::{FRAC_PI_2, PI};
|
||||
use std::f32::consts::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 - FRAC_PI_2 + movement1base * PI);
|
||||
* Quaternion::rotation_z(s_a.sc.5 - 1.57 + 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(FRAC_PI_2)
|
||||
next.hand_l.orientation = Quaternion::rotation_x(1.57)
|
||||
},
|
||||
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 * FRAC_PI_2);
|
||||
* Quaternion::rotation_z(1.5 + movement2base * 1.57);
|
||||
next.hand_l.position = Vec3::new(0.0, -0.5, 0.0);
|
||||
next.hand_l.orientation = Quaternion::rotation_x(FRAC_PI_2)
|
||||
next.hand_l.orientation = Quaternion::rotation_x(1.57)
|
||||
},
|
||||
|
||||
_ => {},
|
||||
@ -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(FRAC_PI_2)
|
||||
next.hand_r.orientation = Quaternion::rotation_x(1.57)
|
||||
},
|
||||
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 * FRAC_PI_2);
|
||||
* Quaternion::rotation_z(1.5 + move2 * 1.57);
|
||||
next.hand_r.position = Vec3::new(0.0, -0.5, 0.0);
|
||||
next.hand_r.orientation = Quaternion::rotation_x(FRAC_PI_2)
|
||||
next.hand_r.orientation = Quaternion::rotation_x(1.57)
|
||||
},
|
||||
|
||||
_ => {},
|
||||
|
@ -6,7 +6,7 @@ use common::{
|
||||
comp::item::{Hands, ToolKind},
|
||||
states::utils::{AbilityInfo, StageSection},
|
||||
};
|
||||
use std::f32::consts::{FRAC_PI_2, PI, TAU};
|
||||
use std::f32::consts::PI;
|
||||
|
||||
pub struct SpinMeleeAnimation;
|
||||
|
||||
@ -25,6 +25,7 @@ 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>,
|
||||
@ -49,7 +50,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 * TAU);
|
||||
next.torso.orientation = Quaternion::rotation_z(movement2 * PI * 2.0);
|
||||
|
||||
next.chest.position = Vec3::new(
|
||||
0.0,
|
||||
@ -121,7 +122,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 * -FRAC_PI_2);
|
||||
* Quaternion::rotation_z(s_a.sc.5 + move1 * -PI / 2.0);
|
||||
},
|
||||
Some(ToolKind::Axe) => {
|
||||
next.main.position = Vec3::new(0.0, 0.0, 0.0);
|
||||
|
@ -6,7 +6,6 @@ use common::{
|
||||
comp::item::{Hands, ToolKind},
|
||||
states::utils::StageSection,
|
||||
};
|
||||
use std::f32::consts::{FRAC_PI_2, PI};
|
||||
|
||||
pub struct StaggeredAnimation;
|
||||
|
||||
@ -28,6 +27,7 @@ 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(-FRAC_PI_2);
|
||||
next.hold.orientation = Quaternion::rotation_x(-1.57);
|
||||
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(PI);
|
||||
next.main.orientation = Quaternion::rotation_x(3.14);
|
||||
},
|
||||
Some(ToolKind::Farming) => {
|
||||
next.hand_l.position = Vec3::new(9.0, 1.0, 1.0);
|
||||
next.hand_l.orientation = Quaternion::rotation_x(FRAC_PI_2);
|
||||
next.hand_l.orientation = Quaternion::rotation_x(1.57);
|
||||
next.hand_r.position = Vec3::new(9.0, 1.0, 11.0);
|
||||
next.hand_r.orientation = Quaternion::rotation_x(FRAC_PI_2);
|
||||
next.hand_r.orientation = Quaternion::rotation_x(1.57);
|
||||
next.main.position = Vec3::new(7.5, 7.5, 13.2);
|
||||
next.main.orientation = Quaternion::rotation_y(PI);
|
||||
next.main.orientation = Quaternion::rotation_y(3.14);
|
||||
|
||||
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(FRAC_PI_2)
|
||||
next.hand_l.orientation = Quaternion::rotation_x(1.57)
|
||||
},
|
||||
(_, _) => {},
|
||||
};
|
||||
@ -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(FRAC_PI_2)
|
||||
next.hand_r.orientation = Quaternion::rotation_x(1.57)
|
||||
},
|
||||
(_, _) => {},
|
||||
};
|
||||
|
@ -3,7 +3,7 @@ use super::{
|
||||
CharacterSkeleton, SkeletonAttr,
|
||||
};
|
||||
use common::comp::item::{Hands, ToolKind};
|
||||
use std::{f32::consts::FRAC_PI_2, ops::Mul};
|
||||
use std::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(FRAC_PI_2);
|
||||
Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
||||
},
|
||||
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(FRAC_PI_2);
|
||||
Quaternion::rotation_y(-0.5) * Quaternion::rotation_z(1.57);
|
||||
},
|
||||
_ => {
|
||||
next.main.position = Vec3::new(-7.0, -5.0, 15.0);
|
||||
next.main.orientation =
|
||||
Quaternion::rotation_y(2.5) * Quaternion::rotation_z(FRAC_PI_2);
|
||||
Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
||||
},
|
||||
},
|
||||
((_, _), _, _) => {},
|
||||
@ -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(FRAC_PI_2);
|
||||
Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
||||
},
|
||||
|
||||
_ => {},
|
||||
@ -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(-FRAC_PI_2);
|
||||
Quaternion::rotation_y(-2.5) * Quaternion::rotation_z(-1.57);
|
||||
},
|
||||
_ => {},
|
||||
},
|
||||
|
@ -6,7 +6,6 @@ use common::{
|
||||
comp::item::{Hands, ToolKind},
|
||||
states::utils::StageSection,
|
||||
};
|
||||
use std::f32::consts::{FRAC_PI_2, PI};
|
||||
|
||||
pub struct StunnedAnimation;
|
||||
|
||||
@ -28,6 +27,7 @@ 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(-FRAC_PI_2);
|
||||
next.hold.orientation = Quaternion::rotation_x(-1.57);
|
||||
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(PI);
|
||||
next.main.orientation = Quaternion::rotation_x(3.14);
|
||||
},
|
||||
Some(ToolKind::Farming) => {
|
||||
next.hand_l.position = Vec3::new(9.0, 1.0, 1.0);
|
||||
next.hand_l.orientation = Quaternion::rotation_x(FRAC_PI_2);
|
||||
next.hand_l.orientation = Quaternion::rotation_x(1.57);
|
||||
next.hand_r.position = Vec3::new(9.0, 1.0, 11.0);
|
||||
next.hand_r.orientation = Quaternion::rotation_x(FRAC_PI_2);
|
||||
next.hand_r.orientation = Quaternion::rotation_x(1.57);
|
||||
next.main.position = Vec3::new(7.5, 7.5, 13.2);
|
||||
next.main.orientation = Quaternion::rotation_y(PI);
|
||||
next.main.orientation = Quaternion::rotation_y(3.14);
|
||||
|
||||
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(FRAC_PI_2)
|
||||
next.hand_l.orientation = Quaternion::rotation_x(1.57)
|
||||
},
|
||||
(_, _) => {},
|
||||
};
|
||||
@ -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(FRAC_PI_2)
|
||||
next.hand_r.orientation = Quaternion::rotation_x(1.57)
|
||||
},
|
||||
(_, _) => {},
|
||||
};
|
||||
|
@ -3,10 +3,7 @@ use super::{
|
||||
CharacterSkeleton, SkeletonAttr,
|
||||
};
|
||||
use common::comp::item::{Hands, ToolKind};
|
||||
use std::{
|
||||
f32::consts::{FRAC_PI_2, PI},
|
||||
ops::Mul,
|
||||
};
|
||||
use std::{f32::consts::PI, ops::Mul};
|
||||
|
||||
pub struct SwimAnimation;
|
||||
|
||||
@ -193,18 +190,15 @@ 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(FRAC_PI_2);
|
||||
next.main.orientation = Quaternion::rotation_y(-0.5) * Quaternion::rotation_z(1.57);
|
||||
},
|
||||
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(FRAC_PI_2);
|
||||
next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
||||
},
|
||||
_ => {
|
||||
next.main.position = Vec3::new(-7.0, -5.0, 15.0);
|
||||
next.main.orientation =
|
||||
Quaternion::rotation_y(2.5) * Quaternion::rotation_z(FRAC_PI_2);
|
||||
next.main.orientation = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
||||
},
|
||||
}
|
||||
|
||||
@ -222,7 +216,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(FRAC_PI_2);
|
||||
Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
||||
},
|
||||
}
|
||||
|
||||
@ -237,7 +231,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) * FRAC_PI_2 + avg_vel.z * 0.12).min(FRAC_PI_2) - FRAC_PI_2)
|
||||
(((1.0 / switch) * PI / 2.0 + avg_vel.z * 0.12).min(1.57) - PI / 2.0)
|
||||
+ avgspeed * avg_vel.z * -0.003,
|
||||
) * Quaternion::rotation_y(tilt * 2.0)
|
||||
* Quaternion::rotation_z(tilt * 3.0);
|
||||
@ -247,7 +241,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(FRAC_PI_2);
|
||||
Quaternion::rotation_y(2.35) * Quaternion::rotation_z(1.57);
|
||||
},
|
||||
|
||||
_ => {},
|
||||
@ -259,7 +253,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(-FRAC_PI_2);
|
||||
Quaternion::rotation_y(-2.5) * Quaternion::rotation_z(-1.57);
|
||||
},
|
||||
_ => {},
|
||||
},
|
||||
|
@ -3,10 +3,7 @@ use super::{
|
||||
CharacterSkeleton, SkeletonAttr,
|
||||
};
|
||||
use common::comp::item::{Hands, ToolKind};
|
||||
use std::{
|
||||
f32::consts::{FRAC_PI_2, FRAC_PI_4, FRAC_PI_6, PI},
|
||||
ops::Mul,
|
||||
};
|
||||
use std::{f32::consts::PI, ops::Mul};
|
||||
|
||||
pub struct SwimWieldAnimation;
|
||||
|
||||
@ -25,6 +22,7 @@ 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>,
|
||||
@ -58,8 +56,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 + FRAC_PI_6).sin();
|
||||
let noiseb = (anim_time * 19.0 + FRAC_PI_4).sin();
|
||||
let noisea = (anim_time * 11.0 + PI / 6.0).sin();
|
||||
let noiseb = (anim_time * 19.0 + PI / 4.0).sin();
|
||||
|
||||
next.foot_l.position = Vec3::new(
|
||||
-s_a.foot.0,
|
||||
@ -200,12 +198,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(FRAC_PI_2)
|
||||
next.hand_l.orientation = Quaternion::rotation_x(PI / 2.0)
|
||||
* 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(FRAC_PI_2)
|
||||
next.hand_r.orientation = Quaternion::rotation_x(PI / 2.0)
|
||||
* Quaternion::rotation_z(0.0)
|
||||
* Quaternion::rotation_y(0.0);
|
||||
next.hand_r.scale = Vec3::one() * 1.04;
|
||||
@ -226,8 +224,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(-FRAC_PI_2)
|
||||
* Quaternion::rotation_z(FRAC_PI_2);
|
||||
* Quaternion::rotation_y(-1.57)
|
||||
* Quaternion::rotation_z(1.57);
|
||||
|
||||
next.control.position = Vec3::new(6.0, 7.0, 1.0);
|
||||
next.control.orientation = Quaternion::rotation_x(0.3 + u_slow * 0.15)
|
||||
@ -246,7 +244,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(PI + 0.3)
|
||||
* Quaternion::rotation_y(3.14 + 0.3)
|
||||
* Quaternion::rotation_z(0.9);
|
||||
|
||||
next.control.position = Vec3::new(-14.0, 1.8, 3.0);
|
||||
|
@ -3,7 +3,7 @@ use super::{
|
||||
CharacterSkeleton, SkeletonAttr,
|
||||
};
|
||||
use common::{comp::item::ToolKind, util::Dir};
|
||||
use std::f32::consts::FRAC_PI_2;
|
||||
use std::f32::consts::PI;
|
||||
|
||||
pub struct TalkAnimation;
|
||||
|
||||
@ -15,6 +15,7 @@ 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<
|
||||
@ -28,8 +29,8 @@ impl Animation for TalkAnimation {
|
||||
let mut next = (*skeleton).clone();
|
||||
|
||||
let slowa = (anim_time * 6.0).sin();
|
||||
let slowb = (anim_time * 4.0 + FRAC_PI_2).sin();
|
||||
let slowc = (anim_time * 12.0 + FRAC_PI_2).sin();
|
||||
let slowb = (anim_time * 4.0 + PI / 2.0).sin();
|
||||
let slowc = (anim_time * 12.0 + PI / 2.0).sin();
|
||||
|
||||
next.head.orientation = Quaternion::rotation_x(slowc * 0.035 + look_dir.z * 0.7);
|
||||
next.hand_l.position = Vec3::new(
|
||||
|
@ -6,10 +6,7 @@ use common::{
|
||||
comp::item::{Hands, ToolKind},
|
||||
util::Dir,
|
||||
};
|
||||
use std::{
|
||||
f32::consts::{FRAC_PI_2, PI},
|
||||
ops::Mul,
|
||||
};
|
||||
use std::{f32::consts::PI, ops::Mul};
|
||||
|
||||
pub struct WieldAnimation;
|
||||
|
||||
@ -31,6 +28,7 @@ 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,
|
||||
(
|
||||
@ -59,14 +57,14 @@ impl Animation for WieldAnimation {
|
||||
|
||||
let foothoril = (anim_time * 16.0 * lab + PI * 1.45).sin();
|
||||
|
||||
let beltstatic = (anim_time * 10.0 * lab + FRAC_PI_2).sin();
|
||||
let beltstatic = (anim_time * 10.0 * lab + PI / 2.0).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 + FRAC_PI_2).sin();
|
||||
let shortalt = (anim_time * lab * 16.0 + PI / 2.0).sin();
|
||||
|
||||
let slowalt = (anim_time * 6.0 + PI).cos();
|
||||
let u_slow = (anim_time * 2.5 + PI).sin();
|
||||
@ -255,7 +253,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(-FRAC_PI_2);
|
||||
next.hold.orientation = Quaternion::rotation_x(-1.57);
|
||||
next.hold.scale = Vec3::one() * 1.0;
|
||||
|
||||
next.control.position =
|
||||
@ -276,11 +274,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(FRAC_PI_2);
|
||||
next.hand_l.orientation = Quaternion::rotation_x(1.57);
|
||||
next.hand_r.position = Vec3::new(9.0, 1.0, 11.0);
|
||||
next.hand_r.orientation = Quaternion::rotation_x(FRAC_PI_2);
|
||||
next.hand_r.orientation = Quaternion::rotation_x(1.57);
|
||||
next.main.position = Vec3::new(7.5, 7.5, 13.2);
|
||||
next.main.orientation = Quaternion::rotation_y(PI);
|
||||
next.main.orientation = Quaternion::rotation_y(3.14);
|
||||
|
||||
next.control.position = Vec3::new(-11.0 + slow * 2.0, 1.8, 4.0);
|
||||
next.control.orientation = Quaternion::rotation_x(u_slow * 0.1)
|
||||
@ -296,7 +294,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(FRAC_PI_2)
|
||||
next.hand_l.orientation = Quaternion::rotation_x(1.57)
|
||||
},
|
||||
(_, _) => {},
|
||||
};
|
||||
@ -305,7 +303,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(FRAC_PI_2)
|
||||
next.hand_r.orientation = Quaternion::rotation_x(1.57)
|
||||
},
|
||||
(_, _) => {},
|
||||
};
|
||||
|
@ -2,7 +2,7 @@ use super::{
|
||||
super::{vek::*, Animation},
|
||||
DragonSkeleton, SkeletonAttr,
|
||||
};
|
||||
use std::f32::consts::{FRAC_PI_2, PI};
|
||||
use std::f32::consts::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 + FRAC_PI_2).sin();
|
||||
let center = (anim_time * lab + PI / 2.0).sin();
|
||||
let centeroffset = (anim_time * lab + PI * 1.5).sin();
|
||||
|
||||
next.head_upper.scale = Vec3::one() * 1.05;
|
||||
|
@ -2,7 +2,7 @@ use super::{
|
||||
super::{vek::*, Animation},
|
||||
DragonSkeleton, SkeletonAttr,
|
||||
};
|
||||
use std::{f32::consts::FRAC_PI_2, ops::Mul};
|
||||
use std::{f32::consts::PI, 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 + FRAC_PI_2).sin();
|
||||
let slowalt = (anim_time * 2.5 + PI / 2.0).sin();
|
||||
|
||||
let dragon_look = Vec2::new(
|
||||
(global_time / 2.0 + anim_time / 8.0)
|
||||
|
@ -2,7 +2,7 @@ use super::{
|
||||
super::{vek::*, Animation},
|
||||
DragonSkeleton, SkeletonAttr,
|
||||
};
|
||||
use std::f32::consts::{FRAC_PI_2, PI};
|
||||
use std::f32::consts::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 + FRAC_PI_2).sin();
|
||||
let center = (anim_time * lab + PI / 2.0).sin();
|
||||
let centeroffset = (anim_time * lab + PI * 1.5).sin();
|
||||
|
||||
next.head_lower.scale = Vec3::one() * 1.02;
|
||||
|
@ -2,7 +2,7 @@ use super::{
|
||||
super::{vek::*, Animation},
|
||||
GolemSkeleton, SkeletonAttr,
|
||||
};
|
||||
use std::f32::consts::{FRAC_PI_2, PI};
|
||||
use std::f32::consts::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 + FRAC_PI_2).sin() * speednorm;
|
||||
let shortalt = (mixed_vel * lab * 2.0 + PI / 2.0).sin() * speednorm;
|
||||
let ori: Vec2<f32> = Vec2::from(orientation);
|
||||
let last_ori = Vec2::from(last_ori);
|
||||
let tilt = if ::vek::Vec2::new(ori, last_ori)
|
||||
|
@ -3,8 +3,6 @@ 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 {
|
||||
@ -48,9 +46,8 @@ 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 + FRAC_PI_2))
|
||||
* Quaternion::rotation_y(move1 * 0.0);
|
||||
next.shoulder_r.orientation = Quaternion::rotation_x(move1 * (look_dir.z * 1.2 + 1.57))
|
||||
* Quaternion::rotation_y(move1 * 0.0);
|
||||
|
||||
next.hand_l.orientation =
|
||||
Quaternion::rotation_z(move1 * -0.3) * Quaternion::rotation_x(move1 * 1.3);
|
||||
|
@ -15,6 +15,7 @@ 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>,
|
||||
|
@ -22,6 +22,7 @@ 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>,
|
||||
|
@ -14,6 +14,7 @@ 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>,
|
||||
|
@ -22,6 +22,7 @@ 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>,
|
||||
|
@ -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 + FRAC_PI_2).sin() * pullback;
|
||||
let twitch2alt = mirror * (twitch * 20.0 + PI / 2.0).sin() * pullback;
|
||||
|
||||
let movement1abs = movement1base * pullback;
|
||||
|
||||
|
@ -2,7 +2,7 @@ use super::{
|
||||
super::{vek::*, Animation},
|
||||
QuadrupedLowSkeleton, SkeletonAttr,
|
||||
};
|
||||
use std::{f32::consts::FRAC_PI_2, ops::Mul};
|
||||
use std::{f32::consts::PI, 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 + FRAC_PI_2).sin();
|
||||
let slowalt = (anim_time * 2.5 + PI / 2.0).sin();
|
||||
|
||||
let dragon_look = Vec2::new(
|
||||
(global_time / 2.0 + anim_time / 8.0)
|
||||
|
@ -3,7 +3,7 @@ use super::{
|
||||
QuadrupedMediumSkeleton, SkeletonAttr,
|
||||
};
|
||||
use common::states::utils::StageSection;
|
||||
use std::f32::consts::FRAC_PI_2;
|
||||
use std::f32::consts::PI;
|
||||
|
||||
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 + FRAC_PI_2).sin() * pullback * mirror;
|
||||
let twitchright = (twitch * 8.0 + PI / 2.0).sin() * pullback * mirror;
|
||||
|
||||
next.head.orientation = Quaternion::rotation_x(movement1abs * -0.6 + movement2abs * 0.6)
|
||||
* Quaternion::rotation_y(movement1 * 0.35 + movement2 * -0.15)
|
||||
|
@ -2,10 +2,7 @@ use super::{
|
||||
super::{vek::*, Animation},
|
||||
QuadrupedMediumSkeleton, SkeletonAttr,
|
||||
};
|
||||
use std::{
|
||||
f32::consts::{FRAC_PI_2, FRAC_PI_4, PI},
|
||||
ops::Mul,
|
||||
};
|
||||
use std::{f32::consts::PI, ops::Mul};
|
||||
|
||||
pub struct RunAnimation;
|
||||
|
||||
@ -58,10 +55,10 @@ impl Animation for RunAnimation {
|
||||
);
|
||||
|
||||
let speedadjust = if speed < 5.0 { 0.0 } else { speed / 24.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;
|
||||
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;
|
||||
|
||||
//FL
|
||||
let foot1a = (mixed_vel * (1.0) * lab * speedmult + 0.0 + canceler * 0.05 + shift1).sin(); //1.5
|
||||
@ -71,11 +68,10 @@ 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 + FRAC_PI_2 + shift3).sin(); //0.4
|
||||
let foot3b = (mixed_vel * (1.0) * lab * speedmult + 1.57 + 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 + FRAC_PI_2 + canceler * 0.05 + shift4).sin(); //0.7
|
||||
let foot4b = (mixed_vel * (1.0) * lab * speedmult + 1.57 + canceler * 0.05 + shift4).sin(); //0.7
|
||||
//
|
||||
let ori: Vec2<f32> = Vec2::from(orientation);
|
||||
let last_ori = Vec2::from(last_ori);
|
||||
|
@ -2,7 +2,7 @@ use super::{
|
||||
super::{vek::*, Animation},
|
||||
QuadrupedSmallSkeleton, SkeletonAttr,
|
||||
};
|
||||
use std::{f32::consts::FRAC_PI_2, ops::Mul};
|
||||
use std::{f32::consts::PI, 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 + FRAC_PI_2).sin();
|
||||
let slow_alt = (anim_time * 3.5 + PI / 2.0).sin();
|
||||
|
||||
let head_look = Vec2::new(
|
||||
(global_time / 2.0 + anim_time / 8.0)
|
||||
|
@ -21,6 +21,7 @@ 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>,
|
||||
|
@ -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::{FRAC_PI_2, PI};
|
||||
use std::f32::consts::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 + FRAC_PI_2 + PI).sin() * speednorm; //1.9
|
||||
let foot1b = (mixed_vel * 1.0 * lab * speedmult + 1.57 + 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 + FRAC_PI_2).sin() * speednorm; //1.6
|
||||
let foot2b = (mixed_vel * 1.0 * lab * speedmult + 1.57).sin() * speednorm; //1.6
|
||||
let ori: Vec2<f32> = Vec2::from(orientation);
|
||||
let last_ori = Vec2::from(last_ori);
|
||||
let tilt = if ::vek::Vec2::new(ori, last_ori)
|
||||
|
@ -11,7 +11,7 @@ use conrod_core::image::Id;
|
||||
use hashbrown::HashMap;
|
||||
use image::DynamicImage;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use std::{f32::consts::PI, sync::Arc};
|
||||
use std::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 * PI / 180.0)
|
||||
.rotated_y(rot_y * PI / 180.0)
|
||||
.rotated_z(rot_z * PI / 180.0),
|
||||
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),
|
||||
offset: Vec3::from(*offset),
|
||||
zoom: *zoom,
|
||||
orth: true, // TODO: Is this what we want here? @Pfau
|
||||
|
@ -16,7 +16,6 @@ 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
|
||||
@ -151,7 +150,7 @@ impl Globals {
|
||||
}
|
||||
|
||||
fn get_angle_rad(time_of_day: f64) -> f32 {
|
||||
const TIME_FACTOR: f32 = TAU / (3600.0 * 24.0);
|
||||
const TIME_FACTOR: f32 = (std::f32::consts::PI * 2.0) / (3600.0 * 24.0);
|
||||
time_of_day as f32 * TIME_FACTOR
|
||||
}
|
||||
|
||||
|
@ -2,7 +2,6 @@ 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::*;
|
||||
|
||||
@ -63,7 +62,7 @@ fn clamp_and_modulate(ori: Vec3<f32>) -> Vec3<f32> {
|
||||
// Wrap camera yaw
|
||||
x: ori.x.rem_euclid(2.0 * PI),
|
||||
// Clamp camera pitch to the vertical limits
|
||||
y: ori.y.min(FRAC_PI_2 - 0.0001).max(-FRAC_PI_2 + 0.0001),
|
||||
y: ori.y.min(PI / 2.0 - 0.0001).max(-PI / 2.0 + 0.0001),
|
||||
// Wrap camera roll
|
||||
z: ori.z.rem_euclid(2.0 * PI),
|
||||
}
|
||||
@ -125,7 +124,7 @@ fn clamp_and_modulate(ori: Vec3<f32>) -> Vec3<f32> {
|
||||
/// case) the change in the integer representation of the mantissa at z=n/2:
|
||||
///
|
||||
/// ```ignore
|
||||
/// e = floor(ln(near/(far - near))/std::f32::consts::LN_2)
|
||||
/// e = floor(ln(near/(far - near))/ln(2))
|
||||
/// db/dz = 2^(2-e) / ((1 / far - 1 / near) * (far)^2)
|
||||
/// ```
|
||||
///
|
||||
@ -380,7 +379,7 @@ impl Camera {
|
||||
* Mat4::rotation_z(self.ori.z)
|
||||
* Mat4::rotation_x(self.ori.y)
|
||||
* Mat4::rotation_y(self.ori.x)
|
||||
* Mat4::rotation_3d(FRAC_PI_2, -Vec4::unit_x())
|
||||
* Mat4::rotation_3d(PI / 2.0, -Vec4::unit_x())
|
||||
* Mat4::translation_3d(-self.focus.map(|e| e.fract()));
|
||||
self.dependents.view_mat_inv = self.dependents.view_mat.inverted();
|
||||
|
||||
@ -416,8 +415,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(FRAC_PI_2 - 0.001)
|
||||
.max(-FRAC_PI_2 + 0.001);
|
||||
.min(PI / 2.0 - 0.001)
|
||||
.max(-PI / 2.0 + 0.001);
|
||||
// Wrap camera roll
|
||||
self.tgt_ori.z = (self.tgt_ori.z + delta.z).rem_euclid(2.0 * PI);
|
||||
}
|
||||
|
@ -46,7 +46,6 @@ use crate::{
|
||||
};
|
||||
use hashbrown::HashMap;
|
||||
use settings_change::Language::ChangeLanguage;
|
||||
use std::f32::consts::PI;
|
||||
#[cfg(feature = "egui-ui")]
|
||||
use voxygen_egui::EguiDebugInfo;
|
||||
|
||||
@ -888,7 +887,7 @@ impl PlayState for SessionState {
|
||||
+ input_vec.x
|
||||
* (3.0 - input_vec.y * 1.5 * if is_aiming { 1.5 } else { 1.0 })
|
||||
* dt,
|
||||
PI * if is_aiming { 0.015 } else { 0.1 },
|
||||
std::f32::consts::PI * if is_aiming { 0.015 } else { 0.1 },
|
||||
0.0,
|
||||
));
|
||||
}
|
||||
|
@ -3,7 +3,7 @@ use common::{
|
||||
assets::{self, AssetExt, DotVoxAsset, Error},
|
||||
figure::Segment,
|
||||
};
|
||||
use std::{f32::consts::FRAC_PI_2, sync::Arc};
|
||||
use std::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(-FRAC_PI_2),
|
||||
ori: Quaternion::rotation_x(-std::f32::consts::PI / 2.0),
|
||||
..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(-FRAC_PI_2),
|
||||
ori: Quaternion::rotation_x(-std::f32::consts::PI / 2.0),
|
||||
..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(-FRAC_PI_2),
|
||||
ori: Quaternion::rotation_x(-std::f32::consts::PI / 2.0),
|
||||
..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(-FRAC_PI_2),
|
||||
ori: Quaternion::rotation_x(-std::f32::consts::PI / 2.0),
|
||||
..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(-FRAC_PI_2),
|
||||
ori: Quaternion::rotation_x(-std::f32::consts::PI / 2.0),
|
||||
..Default::default()
|
||||
},
|
||||
SampleStrat::PixelCoverage,
|
||||
|
@ -23,7 +23,6 @@ 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::*;
|
||||
|
||||
@ -290,7 +289,7 @@ impl Civs {
|
||||
|
||||
let path = (-100..100)
|
||||
.filter_map(|i: i32| {
|
||||
let depth = (i.abs() as f32 / 100.0 * FRAC_PI_2).cos();
|
||||
let depth = (i.abs() as f32 / 100.0 * std::f32::consts::PI / 2.0).cos();
|
||||
vel = (vel
|
||||
+ Vec2::new(
|
||||
ctx.rng.gen_range(-0.35..0.35),
|
||||
|
@ -16,7 +16,7 @@ use common::{
|
||||
use hashbrown::HashMap;
|
||||
use lazy_static::lazy_static;
|
||||
use rand::prelude::*;
|
||||
use std::{f32, f32::consts::TAU, ops::Range};
|
||||
use std::{f32, ops::Range};
|
||||
use vek::*;
|
||||
|
||||
lazy_static! {
|
||||
@ -450,7 +450,7 @@ impl ProceduralTree {
|
||||
.cross(Vec3::<f32>::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..TAU);
|
||||
let screw_shift = rng.gen_range(0.0..f32::consts::TAU);
|
||||
|
||||
let splits = rng.gen_range(config.splits.clone()).round() as usize;
|
||||
for i in 0..splits {
|
||||
@ -458,7 +458,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 = TAU * PHI;
|
||||
const RAD_PER_BRANCH: f32 = f32::consts::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;
|
||||
|
||||
@ -647,9 +647,10 @@ impl Branch {
|
||||
{
|
||||
let rpos = pos.xy() - p;
|
||||
let stretch = 32.0;
|
||||
let stair_section = ((rpos.x as f32).atan2(rpos.y as f32) / TAU * stretch
|
||||
+ pos.z)
|
||||
.rem_euclid(stretch);
|
||||
let stair_section =
|
||||
((rpos.x as f32).atan2(rpos.y as f32) / (f32::consts::PI * 2.0) * stretch
|
||||
+ pos.z)
|
||||
.rem_euclid(stretch);
|
||||
(
|
||||
stair_section < stair_thickness,
|
||||
stair_section >= stair_thickness
|
||||
|
@ -580,10 +580,10 @@ pub struct HybridMulti {
|
||||
|
||||
impl HybridMulti {
|
||||
pub const DEFAULT_FREQUENCY: f64 = 2.0;
|
||||
pub const DEFAULT_LACUNARITY: f64 = /* std::f64::consts::TAU / 3.0 */ 2.0;
|
||||
pub const DEFAULT_LACUNARITY: f64 = /* std::f64::consts::PI * 2.0 / 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))/std::f32::consts::LN_2 = 0.25
|
||||
// -ln(2^(-0.25))/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;
|
||||
|
@ -19,7 +19,6 @@ use common::{
|
||||
use core::f32;
|
||||
use rand::prelude::*;
|
||||
use serde::Deserialize;
|
||||
use std::f32::consts::TAU;
|
||||
use vek::*;
|
||||
|
||||
struct Keep {
|
||||
@ -92,7 +91,7 @@ impl Castle {
|
||||
|
||||
towers: (0..boundary_towers)
|
||||
.map(|i| {
|
||||
let angle = (i as f32 / boundary_towers as f32) * TAU;
|
||||
let angle = (i as f32 / boundary_towers as f32) * f32::consts::PI * 2.0;
|
||||
let dir = Vec2::new(angle.cos(), angle.sin());
|
||||
let dist = radius as f32 + ((angle * boundary_noise).sin() - 1.0) * 40.0;
|
||||
|
||||
@ -129,7 +128,7 @@ impl Castle {
|
||||
evil: ctx.rng.gen(),
|
||||
keeps: (0..keep_count)
|
||||
.map(|i| {
|
||||
let angle = (i as f32 / keep_count as f32) * TAU;
|
||||
let angle = (i as f32 / keep_count as f32) * f32::consts::PI * 2.0;
|
||||
let dir = Vec2::new(angle.cos(), angle.sin());
|
||||
let dist =
|
||||
(radius as f32 + ((angle * boundary_noise).sin() - 1.0) * 40.0) * 0.3;
|
||||
|
@ -10,7 +10,6 @@ use common::{
|
||||
};
|
||||
use rand::prelude::*;
|
||||
use serde::Deserialize;
|
||||
use std::f32::consts::TAU;
|
||||
use vek::*;
|
||||
|
||||
#[derive(Deserialize)]
|
||||
@ -177,7 +176,8 @@ 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) / TAU * stretch + pos.z as f32)
|
||||
if ((pos.x as f32).atan2(pos.y as f32) / (std::f32::consts::PI * 2.0) * stretch
|
||||
+ pos.z as f32)
|
||||
.rem_euclid(stretch)
|
||||
< 1.5
|
||||
{
|
||||
|
@ -41,7 +41,6 @@ use std::{
|
||||
cmp::{self, min},
|
||||
collections::VecDeque,
|
||||
f32,
|
||||
f32::consts::{FRAC_PI_2, TAU},
|
||||
hash::BuildHasherDefault,
|
||||
};
|
||||
use vek::*;
|
||||
@ -242,8 +241,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 * TAU;
|
||||
let theta1 = (x + 0.01) as f32 * TAU;
|
||||
let theta0 = x as f32 * f32::consts::PI * 2.0;
|
||||
let theta1 = (x + 0.01) as f32 * f32::consts::PI * 2.0;
|
||||
|
||||
let pos0 = (river_dir * radius + Vec2::new(theta0.sin(), theta0.cos()) * radius)
|
||||
.map(|e| e.floor() as i32)
|
||||
@ -642,7 +641,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(FRAC_PI_2)
|
||||
.rotated_z(f32::consts::PI / 2.0)
|
||||
.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()
|
||||
|
@ -22,7 +22,7 @@ use fxhash::FxHasher64;
|
||||
use lazy_static::lazy_static;
|
||||
use rand::{prelude::*, seq::SliceRandom};
|
||||
use serde::Deserialize;
|
||||
use std::{f32::consts::TAU, sync::Arc};
|
||||
use std::sync::Arc;
|
||||
use vek::*;
|
||||
|
||||
pub struct Dungeon {
|
||||
@ -948,7 +948,8 @@ 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) / TAU * stretch + pos.z as f32).rem_euclid(stretch)
|
||||
((pos.x as f32).atan2(pos.y as f32) / (f32::consts::PI * 2.0) * stretch + pos.z as f32)
|
||||
.rem_euclid(stretch)
|
||||
< 1.5
|
||||
} else {
|
||||
false
|
||||
@ -964,7 +965,8 @@ pub fn wall_staircase(
|
||||
Box::new(move |pos: Vec3<i32>| {
|
||||
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) / TAU * stretch + pos.z as f32).rem_euclid(stretch)
|
||||
((pos.x as f32).atan2(pos.y as f32) / (f32::consts::PI * 2.0) * stretch + pos.z as f32)
|
||||
.rem_euclid(stretch)
|
||||
< 1.0
|
||||
} else {
|
||||
false
|
||||
@ -978,6 +980,7 @@ pub fn inscribed_polystar(
|
||||
sides: usize,
|
||||
) -> Box<dyn Fn(Vec3<i32>) -> bool> {
|
||||
Box::new(move |pos| {
|
||||
use std::f32::consts::TAU;
|
||||
let rpos: Vec2<f32> = 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| {
|
||||
|
Loading…
Reference in New Issue
Block a user