From afc5199b63466f562853382f364d55aa361c1c4c Mon Sep 17 00:00:00 2001 From: Louis Pearson Date: Wed, 22 May 2019 21:08:42 -0600 Subject: [PATCH 1/8] Remove z < 0 hack Former-commit-id: e0e4ad6e806189cd67ac626685ce9ed1456222f0 --- common/src/sys/phys.rs | 7 ------- 1 file changed, 7 deletions(-) diff --git a/common/src/sys/phys.rs b/common/src/sys/phys.rs index 8325431c68..94a8f565b2 100644 --- a/common/src/sys/phys.rs +++ b/common/src/sys/phys.rs @@ -37,13 +37,6 @@ impl<'a> System<'a> for Sys { // Movement pos.0 += vel.0 * dt.0; - // Don't fall into the void. - // TODO: This shouldn't be needed when we have proper physics and chunk loading. - if pos.0.z < 0.0 { - pos.0.z = 0.0; - vel.0.z = 0.0; - } - // Basic collision with terrain let mut i = 0.0; while terrain From e2d96cc7e0b14f9fb59782f58ae2590cafc07b74 Mon Sep 17 00:00:00 2001 From: Louis Pearson Date: Thu, 23 May 2019 08:03:21 -0600 Subject: [PATCH 2/8] Add CollisionShape, move friction calculations to phys Former-commit-id: 3723a8f74bc2854aaa98357e2d0b51a1668d9030 --- common/src/sys/inputs.rs | 61 +++++++++++++++++----------------------- common/src/sys/phys.rs | 15 ++++++++++ 2 files changed, 41 insertions(+), 35 deletions(-) diff --git a/common/src/sys/inputs.rs b/common/src/sys/inputs.rs index 7e1f1216ee..198b485cda 100644 --- a/common/src/sys/inputs.rs +++ b/common/src/sys/inputs.rs @@ -17,6 +17,14 @@ use crate::{ // Basic ECS AI agent system pub struct Sys; +const HUMANOID_ACCEL: f32 = 100.0; +const HUMANOID_SPEED: f32 = 500.0; +const HUMANOID_AIR_ACCEL: f32 = 10.0; +const HUMANOID_AIR_SPEED: f32 = 100.0; +const HUMANOID_JUMP_ACCEL: f32 = 16.0; +const GLIDE_ACCEL: f32 = 25.0; +const GLIDE_SPEED: f32 = 200.0; + impl<'a> System<'a> for Sys { type SystemData = ( Entities<'a>, @@ -73,51 +81,34 @@ impl<'a> System<'a> for Sys { continue; } - // Handle held-down control let on_ground = terrain .get((pos.0 - Vec3::unit_z() * 0.1).map(|e| e.floor() as i32)) .map(|vox| !vox.is_empty()) .unwrap_or(false) && vel.0.z <= 0.0; - let (gliding, friction) = if on_ground { - // TODO: Don't hard-code this. - // Apply physics to the player: acceleration and non-linear deceleration. - vel.0 += Vec2::broadcast(dt.0) * control.move_dir * 200.0; + let gliding = glides.get(entity).is_some() && vel.0.z < 0.0; - if jumps.get(entity).is_some() { - vel.0.z += 16.0; + if on_ground { + // Move player according to move_dir + if vel.0.magnitude() < HUMANOID_SPEED { + vel.0 += Vec2::broadcast(dt.0) * control.move_dir * HUMANOID_ACCEL; + } + + // Jump + if jumps.get(entity).is_some() && vel.0.z <= 0.0 { + vel.0.z = HUMANOID_JUMP_ACCEL; jumps.remove(entity); } + } else if gliding && vel.0.magnitude() < GLIDE_SPEED { + let anti_grav = 9.81 * 3.95 + vel.0.z.powf(2.0) * 0.2; + vel.0.z += dt.0 * anti_grav * Vec2::::from(vel.0 * 0.15).magnitude().min(1.0); + vel.0 += Vec2::broadcast(dt.0) * control.move_dir * GLIDE_ACCEL; + } else if vel.0.magnitude() < HUMANOID_AIR_SPEED { + vel.0 += Vec2::broadcast(dt.0) * control.move_dir * HUMANOID_AIR_ACCEL; + } - (false, 0.15) - } else { - // TODO: Don't hard-code this. - // Apply physics to the player: acceleration and non-linear deceleration. - vel.0 += Vec2::broadcast(dt.0) * control.move_dir * 10.0; - - if glides.get(entity).is_some() && vel.0.z < 0.0 { - // TODO: Don't hard-code this. - let anti_grav = 9.81 * 3.95 + vel.0.z.powf(2.0) * 0.2; - vel.0.z += - dt.0 * anti_grav * Vec2::::from(vel.0 * 0.15).magnitude().min(1.0); - - (true, 0.008) - } else { - (false, 0.015) - } - }; - - // Friction - vel.0 -= Vec2::broadcast(dt.0) - * 50.0 - * vel.0.map(|e| { - (e.abs() * friction * (vel.0.magnitude() * 0.1 + 0.5)) - .min(e.abs() * dt.0 * 50.0) - .copysign(e) - }) - * Vec3::new(1.0, 1.0, 0.0); - + // Set direction based on velocity if vel.0.magnitude_squared() != 0.0 { ori.0 = vel.0.normalized() * Vec3::new(1.0, 1.0, 0.0); } diff --git a/common/src/sys/phys.rs b/common/src/sys/phys.rs index 94a8f565b2..bafbe3e7c5 100644 --- a/common/src/sys/phys.rs +++ b/common/src/sys/phys.rs @@ -31,6 +31,21 @@ impl<'a> System<'a> for Sys { continue; } + // Handle held-down control + let on_ground = terrain + .get((pos.0 - Vec3::unit_z() * 0.1).map(|e| e.floor() as i32)) + .map(|vox| !vox.is_empty()) + .unwrap_or(false) + && vel.0.z <= 0.0; + + // Friction + // Will never make the character go backwards since it is interpolating towards 0 + let friction = if on_ground { 0.15 } else { 0.015 }; + let mul = 50.0; + let z = vel.0.z; + vel.0 = Vec3::lerp(vel.0, Vec3::new(0.0, 0.0, 0.0), friction * dt.0 * mul); + vel.0.z = z; + // Gravity vel.0.z = (vel.0.z - GRAVITY * dt.0).max(-50.0); From c7a2ecd1f27aa28741692f44bb4e38d1af18ccc2 Mon Sep 17 00:00:00 2001 From: Louis Pearson Date: Wed, 29 May 2019 10:57:03 -0600 Subject: [PATCH 3/8] Adjust gliding speed Former-commit-id: f2104422d1874e80f792bb97ded19ca976bbd4c1 --- common/src/sys/inputs.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/src/sys/inputs.rs b/common/src/sys/inputs.rs index 198b485cda..2e340ec7fd 100644 --- a/common/src/sys/inputs.rs +++ b/common/src/sys/inputs.rs @@ -22,8 +22,8 @@ const HUMANOID_SPEED: f32 = 500.0; const HUMANOID_AIR_ACCEL: f32 = 10.0; const HUMANOID_AIR_SPEED: f32 = 100.0; const HUMANOID_JUMP_ACCEL: f32 = 16.0; -const GLIDE_ACCEL: f32 = 25.0; -const GLIDE_SPEED: f32 = 200.0; +const GLIDE_ACCEL: f32 = 15.0; +const GLIDE_SPEED: f32 = 45.0; impl<'a> System<'a> for Sys { type SystemData = ( From 82aabf242a9420dcda084d7865b161eaa8dc8e94 Mon Sep 17 00:00:00 2001 From: Louis Pearson Date: Tue, 4 Jun 2019 09:42:31 -0600 Subject: [PATCH 4/8] Add a function for integrating forces --- common/src/sys/phys.rs | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/common/src/sys/phys.rs b/common/src/sys/phys.rs index bafbe3e7c5..738b6e667d 100644 --- a/common/src/sys/phys.rs +++ b/common/src/sys/phys.rs @@ -15,6 +15,27 @@ pub struct Sys; const GRAVITY: f32 = 9.81 * 4.0; +// Integrates forces, calculates the new velocity based off of the old velocity +// dt = delta time +// lv = linear velocity +// damp = linear damping +// Friction is a type of damping. +fn integrate_forces(dt: f32, mut lv: Vec3, damp: f32) -> Vec3 { + lv.z -= (GRAVITY * dt).max(-50.0); + + let mut linear_damp = 1.0 - dt * damp; + + if linear_damp < 0.0 + // reached zero in the given time + { + linear_damp = 0.0; + } + + lv *= linear_damp; + + lv +} + impl<'a> System<'a> for Sys { type SystemData = ( ReadExpect<'a, TerrainMap>, @@ -38,16 +59,10 @@ impl<'a> System<'a> for Sys { .unwrap_or(false) && vel.0.z <= 0.0; - // Friction - // Will never make the character go backwards since it is interpolating towards 0 - let friction = if on_ground { 0.15 } else { 0.015 }; - let mul = 50.0; - let z = vel.0.z; - vel.0 = Vec3::lerp(vel.0, Vec3::new(0.0, 0.0, 0.0), friction * dt.0 * mul); - vel.0.z = z; - - // Gravity - vel.0.z = (vel.0.z - GRAVITY * dt.0).max(-50.0); + // Integrate forces + // Friction is assumed to be a constant dependent on location + let friction = 50.0 * if on_ground { 0.15 } else { 0.015 }; + vel.0 = integrate_forces(dt.0, vel.0, friction); // Movement pos.0 += vel.0 * dt.0; From 52764376ae635a418f32ed4e35fe797174746c3a Mon Sep 17 00:00:00 2001 From: Louis Pearson Date: Tue, 4 Jun 2019 10:09:34 -0600 Subject: [PATCH 5/8] Use constants and normalized move direction --- common/src/sys/inputs.rs | 15 +++++++++++---- common/src/sys/phys.rs | 4 +++- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/common/src/sys/inputs.rs b/common/src/sys/inputs.rs index 2e340ec7fd..97b88c3e2b 100644 --- a/common/src/sys/inputs.rs +++ b/common/src/sys/inputs.rs @@ -24,6 +24,8 @@ const HUMANOID_AIR_SPEED: f32 = 100.0; const HUMANOID_JUMP_ACCEL: f32 = 16.0; const GLIDE_ACCEL: f32 = 15.0; const GLIDE_SPEED: f32 = 45.0; +// Gravity is 9.81 * 4, so this makes gravity equal to .15 +const GLIDE_ANTIGRAV: f32 = 9.81 * 3.95; impl<'a> System<'a> for Sys { type SystemData = ( @@ -88,11 +90,16 @@ impl<'a> System<'a> for Sys { && vel.0.z <= 0.0; let gliding = glides.get(entity).is_some() && vel.0.z < 0.0; + let move_dir = if control.move_dir.magnitude() > 0.0 { + control.move_dir.normalized() + } else { + control.move_dir + }; if on_ground { // Move player according to move_dir if vel.0.magnitude() < HUMANOID_SPEED { - vel.0 += Vec2::broadcast(dt.0) * control.move_dir * HUMANOID_ACCEL; + vel.0 += Vec2::broadcast(dt.0) * move_dir * HUMANOID_ACCEL; } // Jump @@ -101,11 +108,11 @@ impl<'a> System<'a> for Sys { jumps.remove(entity); } } else if gliding && vel.0.magnitude() < GLIDE_SPEED { - let anti_grav = 9.81 * 3.95 + vel.0.z.powf(2.0) * 0.2; + let anti_grav = GLIDE_ANTIGRAV + vel.0.z.powf(2.0) * 0.2; vel.0.z += dt.0 * anti_grav * Vec2::::from(vel.0 * 0.15).magnitude().min(1.0); - vel.0 += Vec2::broadcast(dt.0) * control.move_dir * GLIDE_ACCEL; + vel.0 += Vec2::broadcast(dt.0) * move_dir * GLIDE_ACCEL; } else if vel.0.magnitude() < HUMANOID_AIR_SPEED { - vel.0 += Vec2::broadcast(dt.0) * control.move_dir * HUMANOID_AIR_ACCEL; + vel.0 += Vec2::broadcast(dt.0) * move_dir * HUMANOID_AIR_ACCEL; } // Set direction based on velocity diff --git a/common/src/sys/phys.rs b/common/src/sys/phys.rs index 738b6e667d..ec07a9a478 100644 --- a/common/src/sys/phys.rs +++ b/common/src/sys/phys.rs @@ -14,6 +14,8 @@ use vek::*; pub struct Sys; const GRAVITY: f32 = 9.81 * 4.0; +const FRIC_GROUND: f32 = 0.15; +const FRIC_AIR: f32 = 0.015; // Integrates forces, calculates the new velocity based off of the old velocity // dt = delta time @@ -61,7 +63,7 @@ impl<'a> System<'a> for Sys { // Integrate forces // Friction is assumed to be a constant dependent on location - let friction = 50.0 * if on_ground { 0.15 } else { 0.015 }; + let friction = 50.0 * if on_ground { FRIC_GROUND } else { FRIC_AIR }; vel.0 = integrate_forces(dt.0, vel.0, friction); // Movement From 84ac965240a7b08b6be88d92ad8646b0c3922903 Mon Sep 17 00:00:00 2001 From: Louis Pearson Date: Tue, 4 Jun 2019 10:13:40 -0600 Subject: [PATCH 6/8] Normalize move_dir only if the magnitude is greater than one --- common/src/sys/inputs.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/src/sys/inputs.rs b/common/src/sys/inputs.rs index 97b88c3e2b..a1df384374 100644 --- a/common/src/sys/inputs.rs +++ b/common/src/sys/inputs.rs @@ -90,7 +90,7 @@ impl<'a> System<'a> for Sys { && vel.0.z <= 0.0; let gliding = glides.get(entity).is_some() && vel.0.z < 0.0; - let move_dir = if control.move_dir.magnitude() > 0.0 { + let move_dir = if control.move_dir.magnitude() > 1.0 { control.move_dir.normalized() } else { control.move_dir From 4cf13cc588f930dfb49badfb2d73f7bc1f671c7a Mon Sep 17 00:00:00 2001 From: Louis Pearson Date: Tue, 4 Jun 2019 12:14:10 -0600 Subject: [PATCH 7/8] Integrate forces *after* velocity is applied --- common/src/sys/phys.rs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/common/src/sys/phys.rs b/common/src/sys/phys.rs index ec07a9a478..796b3310e2 100644 --- a/common/src/sys/phys.rs +++ b/common/src/sys/phys.rs @@ -54,21 +54,20 @@ impl<'a> System<'a> for Sys { continue; } - // Handle held-down control let on_ground = terrain .get((pos.0 - Vec3::unit_z() * 0.1).map(|e| e.floor() as i32)) .map(|vox| !vox.is_empty()) .unwrap_or(false) && vel.0.z <= 0.0; + // Movement + pos.0 += vel.0 * dt.0; + // Integrate forces // Friction is assumed to be a constant dependent on location let friction = 50.0 * if on_ground { FRIC_GROUND } else { FRIC_AIR }; vel.0 = integrate_forces(dt.0, vel.0, friction); - // Movement - pos.0 += vel.0 * dt.0; - // Basic collision with terrain let mut i = 0.0; while terrain From 1a8166091501431dacd2bd04dda20d2d250244ac Mon Sep 17 00:00:00 2001 From: Louis Pearson Date: Tue, 4 Jun 2019 13:18:59 -0600 Subject: [PATCH 8/8] Update cpal --- Cargo.lock | 18 +++++++++--------- voxygen/Cargo.toml | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f5ada045cd..79e7642dc8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -24,7 +24,7 @@ dependencies = [ [[package]] name = "alsa-sys" version = "0.1.1" -source = "git+https://github.com/desttinghim/cpal?rev=db2790f6dd00f0c3db584a07bfd79d707b9683cf#db2790f6dd00f0c3db584a07bfd79d707b9683cf" +source = "git+https://github.com/desttinghim/cpal?rev=e7c086d0afc368a888ad133c3b1d928b16986130#e7c086d0afc368a888ad133c3b1d928b16986130" dependencies = [ "libc 0.2.54 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", @@ -464,9 +464,9 @@ dependencies = [ [[package]] name = "cpal" version = "0.8.2" -source = "git+https://github.com/desttinghim/cpal?rev=db2790f6dd00f0c3db584a07bfd79d707b9683cf#db2790f6dd00f0c3db584a07bfd79d707b9683cf" +source = "git+https://github.com/desttinghim/cpal?rev=e7c086d0afc368a888ad133c3b1d928b16986130#e7c086d0afc368a888ad133c3b1d928b16986130" dependencies = [ - "alsa-sys 0.1.1 (git+https://github.com/desttinghim/cpal?rev=db2790f6dd00f0c3db584a07bfd79d707b9683cf)", + "alsa-sys 0.1.1 (git+https://github.com/desttinghim/cpal?rev=e7c086d0afc368a888ad133c3b1d928b16986130)", "core-foundation-sys 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "coreaudio-rs 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2105,11 +2105,11 @@ dependencies = [ [[package]] name = "rodio" version = "0.8.1" -source = "git+https://github.com/desttinghim/rodio.git?rev=7c9778e4f323b7663a5e870e063c9261db077f46#7c9778e4f323b7663a5e870e063c9261db077f46" +source = "git+https://github.com/desttinghim/rodio.git?rev=dd93f905c1afefaac03c496a666ecab27d3e391b#dd93f905c1afefaac03c496a666ecab27d3e391b" dependencies = [ "cgmath 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)", "claxon 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "cpal 0.8.2 (git+https://github.com/desttinghim/cpal?rev=db2790f6dd00f0c3db584a07bfd79d707b9683cf)", + "cpal 0.8.2 (git+https://github.com/desttinghim/cpal?rev=e7c086d0afc368a888ad133c3b1d928b16986130)", "hound 3.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "lewton 0.9.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2646,7 +2646,7 @@ dependencies = [ "num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "portpicker 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", - "rodio 0.8.1 (git+https://github.com/desttinghim/rodio.git?rev=7c9778e4f323b7663a5e870e063c9261db077f46)", + "rodio 0.8.1 (git+https://github.com/desttinghim/rodio.git?rev=dd93f905c1afefaac03c496a666ecab27d3e391b)", "ron 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2863,7 +2863,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum adler32 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7e522997b529f05601e05166c07ed17789691f562762c7f3b987263d2dedee5c" "checksum aho-corasick 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "81ce3d38065e618af2d7b77e10c5ad9a069859b4be3c2250f674af3840d9c8a5" "checksum aho-corasick 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e6f484ae0c99fec2e858eb6134949117399f222608d84cadb3f58c1f97c2364c" -"checksum alsa-sys 0.1.1 (git+https://github.com/desttinghim/cpal?rev=db2790f6dd00f0c3db584a07bfd79d707b9683cf)" = "" +"checksum alsa-sys 0.1.1 (git+https://github.com/desttinghim/cpal?rev=e7c086d0afc368a888ad133c3b1d928b16986130)" = "" "checksum andrew 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9b7f09f89872c2b6b29e319377b1fbe91c6f5947df19a25596e121cf19a7b35e" "checksum android_glue 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "000444226fcff248f2bc4c7625be32c63caccfecc2723a2b9f78a7487a49c407" "checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" @@ -2915,7 +2915,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum core-graphics 0.17.3 (registry+https://github.com/rust-lang/crates.io-index)" = "56790968ab1c8a1202a102e6de05fc6e1ec87da99e4e93e9a7d13efbfc1e95a9" "checksum coreaudio-rs 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f229761965dad3e9b11081668a6ea00f1def7aa46062321b5ec245b834f6e491" "checksum coreaudio-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "78fdbabf58d5b1f461e31b94a571c109284f384cec619a3d96e66ec55b4de82b" -"checksum cpal 0.8.2 (git+https://github.com/desttinghim/cpal?rev=db2790f6dd00f0c3db584a07bfd79d707b9683cf)" = "" +"checksum cpal 0.8.2 (git+https://github.com/desttinghim/cpal?rev=e7c086d0afc368a888ad133c3b1d928b16986130)" = "" "checksum crossbeam 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d7408247b1b87f480890f28b670c5f8d9a8a4274833433fe74dc0dfd46d33650" "checksum crossbeam-channel 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7b85741761b7f160bc5e7e0c14986ef685b7f8bf9b7ad081c60c604bb4649827" "checksum crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f739f8c5363aca78cfb059edf753d8f0d36908c348f3d8d1503f03d8b75d9cf3" @@ -3093,7 +3093,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum regex 1.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "8f0a0bcab2fd7d1d7c54fa9eae6f43eddeb9ce2e7352f8518a814a4f65d60c58" "checksum regex-syntax 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7d707a4fa2637f2dca2ef9fd02225ec7661fe01a53623c1e6515b6916511f7a7" "checksum regex-syntax 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "dcfd8681eebe297b81d98498869d4aae052137651ad7b96822f09ceb690d0a96" -"checksum rodio 0.8.1 (git+https://github.com/desttinghim/rodio.git?rev=7c9778e4f323b7663a5e870e063c9261db077f46)" = "" +"checksum rodio 0.8.1 (git+https://github.com/desttinghim/rodio.git?rev=dd93f905c1afefaac03c496a666ecab27d3e391b)" = "" "checksum ron 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2ece421e0c4129b90e4a35b6f625e472e96c552136f5093a2f4fa2bbb75a62d5" "checksum rustc-demangle 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "ccc78bfd5acd7bf3e89cffcf899e5cb1a52d6fafa8dec2739ad70c9577a57288" "checksum rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7540fc8b0c49f096ee9c961cda096467dce8084bec6bdca2fc83895fd9b28cb8" diff --git a/voxygen/Cargo.toml b/voxygen/Cargo.toml index 0c1a464ae0..56738e2c2b 100644 --- a/voxygen/Cargo.toml +++ b/voxygen/Cargo.toml @@ -28,7 +28,7 @@ conrod_winit = { git = "https://gitlab.com/veloren/conrod.git" } euc = "0.2" # Audio -rodio = { git = "https://github.com/desttinghim/rodio.git", rev = "7c9778e4f323b7663a5e870e063c9261db077f46" } +rodio = { git = "https://github.com/desttinghim/rodio.git", rev = "dd93f905c1afefaac03c496a666ecab27d3e391b" } # ECS specs = "0.14"