diff --git a/client/src/lib.rs b/client/src/lib.rs index cc44d1c6a8..740f9edc4b 100644 --- a/client/src/lib.rs +++ b/client/src/lib.rs @@ -216,7 +216,7 @@ impl Client { 'outer: for dist in 0..10 { for i in chunk_pos.x - dist..chunk_pos.x + dist + 1 { for j in chunk_pos.y - dist..chunk_pos.y + dist + 1 { - for k in 0..3 { + for k in 0..6 { let key = Vec3::new(i, j, k); if self.state.terrain().get_key(key).is_none() && !self.pending_chunks.contains(&key) diff --git a/common/src/msg/client.rs b/common/src/msg/client.rs index f90315edd9..530022d4e3 100644 --- a/common/src/msg/client.rs +++ b/common/src/msg/client.rs @@ -9,7 +9,7 @@ pub enum ClientMsg { }, Character { name: String, - body: comp::HumanoidBody, + body: comp::Body, }, RequestState(ClientState), Ping, diff --git a/server/src/lib.rs b/server/src/lib.rs index 6fb89abf48..deaff7ead3 100644 --- a/server/src/lib.rs +++ b/server/src/lib.rs @@ -133,15 +133,9 @@ impl Server { entity: EcsEntity, client: &mut Client, name: String, - body: comp::HumanoidBody, + body: comp::Body, ) { - state.write_component( - entity, - comp::Actor::Character { - name, - body: comp::Body::Humanoid(body), - }, - ); + state.write_component(entity, comp::Actor::Character { name, body }); state.write_component(entity, comp::Stats::default()); state.write_component(entity, comp::phys::Pos(Vec3::new(0.0, 0.0, 64.0))); state.write_component(entity, comp::phys::Vel(Vec3::zero())); diff --git a/voxygen/src/anim/quadruped/idle.rs b/voxygen/src/anim/quadruped/idle.rs index e41a0dce09..0b8c576c51 100644 --- a/voxygen/src/anim/quadruped/idle.rs +++ b/voxygen/src/anim/quadruped/idle.rs @@ -43,27 +43,27 @@ impl Animation for IdleAnimation { * 0.25, ); - next.pighead.offset = Vec3::new(0.0, 7.0, -1.5 + wave * 0.2) / 11.0; + next.pighead.offset = Vec3::new(0.0, -2.0, -1.5 + wave * 0.2) / 11.0; next.pighead.ori = Quaternion::rotation_z(pighead_look.x) * Quaternion::rotation_x(pighead_look.y + wavecos_slow * 0.03); next.pighead.scale = Vec3::one() / 10.5; - next.pigchest.offset = Vec3::new(wave_slow * 0.05, 0.0, 1.5 + wavecos_slow * 0.4) / 11.0; + next.pigchest.offset = Vec3::new(wave_slow * 0.05, -9.0, 1.5 + wavecos_slow * 0.4) / 11.0; next.pigchest.ori = Quaternion::rotation_y(wave_slow * 0.05); next.pigchest.scale = Vec3::one() / 11.0; - next.piglf_leg.offset = Vec3::new(-4.5, 11.0, 1.5) / 11.0; + next.piglf_leg.offset = Vec3::new(-4.5, 2.0, 1.5) / 11.0; next.piglf_leg.ori = Quaternion::rotation_x(wave_slow * 0.08); next.piglf_leg.scale = Vec3::one() / 11.0; - next.pigrf_leg.offset = Vec3::new(2.5, 11.0, 1.5) / 11.0; + next.pigrf_leg.offset = Vec3::new(2.5, 2.0, 1.5) / 11.0; next.pigrf_leg.ori = Quaternion::rotation_x(wavecos_slow * 0.08); next.pigrf_leg.scale = Vec3::one() / 11.0; - next.piglb_leg.offset = Vec3::new(-4.5, 6.0, 1.5) / 11.0; + next.piglb_leg.offset = Vec3::new(-4.5, -3.0, 1.5) / 11.0; next.piglb_leg.ori = Quaternion::rotation_x(wavecos_slow * 0.08); next.piglb_leg.scale = Vec3::one() / 11.0; - next.pigrb_leg.offset = Vec3::new(2.5, 6.0, 1.5) / 11.0; + next.pigrb_leg.offset = Vec3::new(2.5, -3.0, 1.5) / 11.0; next.pigrb_leg.ori = Quaternion::rotation_x(wave_slow * 0.08); next.pigrb_leg.scale = Vec3::one() / 11.0; diff --git a/voxygen/src/anim/quadruped/jump.rs b/voxygen/src/anim/quadruped/jump.rs index da2e17fa76..a8724c7ce2 100644 --- a/voxygen/src/anim/quadruped/jump.rs +++ b/voxygen/src/anim/quadruped/jump.rs @@ -30,27 +30,27 @@ impl Animation for JumpAnimation { let wave_stop = (anim_time as f32 * 4.5).min(PI / 2.0).sin(); - next.pighead.offset = Vec3::new(0.0, 9.0, -1.5 ) / 11.0; + next.pighead.offset = Vec3::new(0.0, 0.0, -1.5 ) / 11.0; next.pighead.ori = Quaternion::rotation_x(wave_stop * 0.4); next.pighead.scale = Vec3::one() / 10.5; - next.pigchest.offset = Vec3::new(0.0, 0.0, 1.5) / 11.0; + next.pigchest.offset = Vec3::new(0.0, -9.0, 1.5) / 11.0; next.pigchest.ori = Quaternion::rotation_x(0.0); next.pigchest.scale = Vec3::one() / 11.0; - next.piglf_leg.offset = Vec3::new(-4.5, 12.0, 1.5) / 11.0; + next.piglf_leg.offset = Vec3::new(-4.5, 3.0, 1.5) / 11.0; next.piglf_leg.ori = Quaternion::rotation_x(wave_stop * 0.6); next.piglf_leg.scale = Vec3::one() / 11.0; - next.pigrf_leg.offset = Vec3::new(2.5, 12.0, 1.5) / 11.0; + next.pigrf_leg.offset = Vec3::new(2.5, 3.0, 1.5) / 11.0; next.pigrf_leg.ori = Quaternion::rotation_x(wave_stop * 0.6 - wave_slow * 0.3); next.pigrf_leg.scale = Vec3::one() / 11.0; - next.piglb_leg.offset = Vec3::new(-4.5, 5.0, 2.0) / 11.0; + next.piglb_leg.offset = Vec3::new(-4.5, -4.0, 2.0) / 11.0; next.piglb_leg.ori = Quaternion::rotation_x(wave_stop * -0.6 + wave_slow * 0.3); next.piglb_leg.scale = Vec3::one() / 11.0; - next.pigrb_leg.offset = Vec3::new(2.5, 5.0, 2.0) / 11.0; + next.pigrb_leg.offset = Vec3::new(2.5, -4.0, 2.0) / 11.0; next.pigrb_leg.ori = Quaternion::rotation_x(wave_stop * -0.6 + wave_slow * 0.3); next.pigrb_leg.scale = Vec3::one() / 11.0; diff --git a/voxygen/src/anim/quadruped/run.rs b/voxygen/src/anim/quadruped/run.rs index 9c0db36edd..d817a52741 100644 --- a/voxygen/src/anim/quadruped/run.rs +++ b/voxygen/src/anim/quadruped/run.rs @@ -30,27 +30,27 @@ impl Animation for RunAnimation { let wavecos_slow = (anim_time as f32 * 8.0 + PI).cos(); let wave_dip = (wave_slow.abs() - 0.5).abs(); - next.pighead.offset = Vec3::new(0.0, 9.0, -1.5 + wave * 1.5) / 11.0; + next.pighead.offset = Vec3::new(0.0, 0.0, -1.5 + wave * 1.5) / 11.0; next.pighead.ori = Quaternion::rotation_x(0.2 + wave * 0.05) * Quaternion::rotation_y(wavecos * 0.03); next.pighead.scale = Vec3::one() / 10.5; - next.pigchest.offset = Vec3::new(0.0, 0.0, 1.5 + wavecos * 1.2) / 11.0; + next.pigchest.offset = Vec3::new(0.0, -9.0, 1.5 + wavecos * 1.2) / 11.0; next.pigchest.ori = Quaternion::rotation_x(wave * 0.1); next.pigchest.scale = Vec3::one() / 11.0; - next.piglf_leg.offset = Vec3::new(-4.5, 11.0 + wavequick * 0.8, 2.5 + wavequickcos * 1.5) / 11.0; + next.piglf_leg.offset = Vec3::new(-4.5, 2.0 + wavequick * 0.8, 2.5 + wavequickcos * 1.5) / 11.0; next.piglf_leg.ori = Quaternion::rotation_x(wavequick * 0.3); next.piglf_leg.scale = Vec3::one() / 11.0; - next.pigrf_leg.offset = Vec3::new(2.5, 11.0 - wavequickcos * 0.8, 2.5 + wavequick * 1.5) / 11.0; + next.pigrf_leg.offset = Vec3::new(2.5, 2.0 - wavequickcos * 0.8, 2.5 + wavequick * 1.5) / 11.0; next.pigrf_leg.ori = Quaternion::rotation_x(wavequickcos * -0.3); next.pigrf_leg.scale = Vec3::one() / 11.0; - next.piglb_leg.offset = Vec3::new(-4.5, 6.0 - wavequickcos * 0.8, 2.5 + wavequick * 1.5) / 11.0; + next.piglb_leg.offset = Vec3::new(-4.5, -3.0 - wavequickcos * 0.8, 2.5 + wavequick * 1.5) / 11.0; next.piglb_leg.ori = Quaternion::rotation_x(wavequickcos * -0.3); next.piglb_leg.scale = Vec3::one() / 11.0; - next.pigrb_leg.offset = Vec3::new(2.5, 6.0 + wavequick * 0.8, 2.5 + wavequickcos * 1.5) / 11.0; + next.pigrb_leg.offset = Vec3::new(2.5, -3.0 + wavequick * 0.8, 2.5 + wavequickcos * 1.5) / 11.0; next.pigrb_leg.ori = Quaternion::rotation_x(wavequick * 0.3); next.pigrb_leg.scale = Vec3::one() / 11.0; diff --git a/voxygen/src/menu/char_selection/mod.rs b/voxygen/src/menu/char_selection/mod.rs index 9316ca3682..cbe77c7d6e 100644 --- a/voxygen/src/menu/char_selection/mod.rs +++ b/voxygen/src/menu/char_selection/mod.rs @@ -7,7 +7,11 @@ use crate::{ Direction, GlobalState, PlayState, PlayStateResult, }; use client::{self, Client}; -use common::{clock::Clock, msg::ClientMsg}; +use common::{ + comp, + clock::Clock, + msg::ClientMsg, +}; use scene::Scene; use std::{cell::RefCell, rc::Rc, time::Duration}; use ui::CharSelectionUi; @@ -78,7 +82,7 @@ impl PlayState for CharSelectionState { .postbox .send_message(ClientMsg::Character { name: self.char_selection_ui.character_name.clone(), - body: self.char_selection_ui.character_body, + body: comp::Body::Quadruped(comp::QuadrupedBody::random()), // comp::Body::Humanoid(self.char_selection_ui.character_body), }); return PlayStateResult::Switch(Box::new(SessionState::new( &mut global_state.window, diff --git a/world/src/lib.rs b/world/src/lib.rs index 98242c847c..fb4e613d02 100644 --- a/world/src/lib.rs +++ b/world/src/lib.rs @@ -42,7 +42,7 @@ impl World { let chaos_freq = 1.0 / 100.0; let freq = 1.0 / 128.0; - let ampl = 32.0; + let ampl = 75.0; let small_freq = 1.0 / 32.0; let small_ampl = 6.0; let offs = 32.0; @@ -55,7 +55,7 @@ impl World { let height = perlin_nz.get(Vec2::from(wposf * freq).into_array()) * ampl * chaos + perlin_nz.get((wposf * small_freq).into_array()) * small_ampl - * 2.0 + * 3.0 * chaos.powf(2.0) + offs; let temp = (temp_nz.get(Vec2::from(wposf * (1.0 / 64.0)).into_array()) + 1.0) * 0.5;