From 28dfe2b1f78f7c0b66754aa2218eda536aa33bf6 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 8 Nov 2020 16:40:32 -0500 Subject: [PATCH] More sound fixes --- core/assets/sounds/lasercharge2.ogg | Bin 0 -> 16636 bytes core/src/mindustry/audio/SoundLoop.java | 4 +++- core/src/mindustry/content/UnitTypes.java | 5 +++-- .../mindustry/entities/comp/WeaponsComp.java | 15 +++++++++++++-- .../mindustry/entities/units/WeaponMount.java | 3 +++ gradle.properties | 2 +- 6 files changed, 23 insertions(+), 6 deletions(-) create mode 100644 core/assets/sounds/lasercharge2.ogg diff --git a/core/assets/sounds/lasercharge2.ogg b/core/assets/sounds/lasercharge2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..2a737e5f6366893f3fe62049c6b0130233a618a0 GIT binary patch literal 16636 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 Ix8?WP06#`_KL7v# literal 0 HcmV?d00001 diff --git a/core/src/mindustry/audio/SoundLoop.java b/core/src/mindustry/audio/SoundLoop.java index 99d6837251..a4b229b147 100644 --- a/core/src/mindustry/audio/SoundLoop.java +++ b/core/src/mindustry/audio/SoundLoop.java @@ -18,11 +18,12 @@ public class SoundLoop{ } public void update(float x, float y, boolean play){ - if(baseVolume < 0) return; + if(baseVolume <= 0) return; if(id < 0){ if(play){ id = sound.loop(sound.calcVolume(x, y) * volume * baseVolume, 1f, sound.calcPan(x, y)); + Log.info("playing, id = @", id); } }else{ //fade the sound in or out @@ -36,6 +37,7 @@ public class SoundLoop{ return; } } + sound.setPan(id, sound.calcPan(x, y), sound.calcVolume(x, y) * volume * baseVolume); } } diff --git a/core/src/mindustry/content/UnitTypes.java b/core/src/mindustry/content/UnitTypes.java index 8592381131..ed1fe92341 100644 --- a/core/src/mindustry/content/UnitTypes.java +++ b/core/src/mindustry/content/UnitTypes.java @@ -432,7 +432,8 @@ public class UnitTypes implements ContentList{ reload = 320f; recoil = 0f; - shootSound = Sounds.laser; + chargeSound = Sounds.lasercharge2; + shootSound = Sounds.beam; continuous = true; cooldownTime = 200f; @@ -1588,7 +1589,7 @@ public class UnitTypes implements ContentList{ inaccuracy = 7f; ejectEffect = Fx.none; shake = 3f; - shootSound = Sounds.shootBig; + shootSound = Sounds.missile; xRand = 8f; shotDelay = 1f; diff --git a/core/src/mindustry/entities/comp/WeaponsComp.java b/core/src/mindustry/entities/comp/WeaponsComp.java index d9488084b0..ab4321393a 100644 --- a/core/src/mindustry/entities/comp/WeaponsComp.java +++ b/core/src/mindustry/entities/comp/WeaponsComp.java @@ -4,6 +4,7 @@ import arc.math.*; import arc.math.geom.*; import arc.util.*; import mindustry.annotations.Annotations.*; +import mindustry.audio.*; import mindustry.entities.*; import mindustry.entities.bullet.*; import mindustry.entities.units.*; @@ -117,10 +118,18 @@ abstract class WeaponsComp implements Teamc, Posc, Rotc, Velc, Statusc{ mount.bullet.rotation(weaponRotation + 90); mount.bullet.set(shootX, shootY); vel.add(Tmp.v1.trns(rotation + 180f, mount.bullet.type.recoil)); + if(weapon.shootSound != Sounds.none && !headless){ + if(mount.sound == null) mount.sound = new SoundLoop(weapon.shootSound, 1f); + mount.sound.update(x, y, true); + } } }else{ //heat decreases when not firing mount.heat = Math.max(mount.heat - Time.delta * reloadMultiplier / mount.weapon.cooldownTime, 0); + + if(mount.sound != null){ + mount.sound.update(x, y, false); + } } //flip weapon shoot side for alternating weapons at half reload @@ -168,7 +177,7 @@ abstract class WeaponsComp implements Teamc, Posc, Rotc, Velc, Statusc{ float baseX = this.x, baseY = this.y; boolean delay = weapon.firstShotDelay + weapon.shotDelay > 0f; - (delay ? weapon.chargeSound : weapon.shootSound).at(x, y, Mathf.random(weapon.soundPitchMin, weapon.soundPitchMax)); + (delay ? weapon.chargeSound : weapon.continuous ? Sounds.none : weapon.shootSound).at(x, y, Mathf.random(weapon.soundPitchMin, weapon.soundPitchMax)); BulletType ammo = weapon.bullet; float lifeScl = ammo.scaleVelocity ? Mathf.clamp(Mathf.dst(x, y, aimX, aimY) / ammo.range()) : 1f; @@ -195,7 +204,9 @@ abstract class WeaponsComp implements Teamc, Posc, Rotc, Velc, Statusc{ vel.add(Tmp.v1.trns(rotation + 180f, ammo.recoil)); Effect.shake(weapon.shake, weapon.shake, x, y); mount.heat = 1f; - weapon.shootSound.at(x, y, Mathf.random(weapon.soundPitchMin, weapon.soundPitchMax)); + if(!weapon.continuous){ + weapon.shootSound.at(x, y, Mathf.random(weapon.soundPitchMin, weapon.soundPitchMax)); + } }); }else{ vel.add(Tmp.v1.trns(rotation + 180f, ammo.recoil)); diff --git a/core/src/mindustry/entities/units/WeaponMount.java b/core/src/mindustry/entities/units/WeaponMount.java index 80bf713f20..e5f61679c7 100644 --- a/core/src/mindustry/entities/units/WeaponMount.java +++ b/core/src/mindustry/entities/units/WeaponMount.java @@ -1,6 +1,7 @@ package mindustry.entities.units; import arc.util.*; +import mindustry.audio.*; import mindustry.gen.*; import mindustry.type.*; @@ -25,6 +26,8 @@ public class WeaponMount{ public boolean side; /** current bullet for continuous weapons */ public @Nullable Bullet bullet; + /** sound loop for continuous weapons */ + public @Nullable SoundLoop sound; public WeaponMount(Weapon weapon){ this.weapon = weapon; diff --git a/gradle.properties b/gradle.properties index d6dced3c14..74f8398b48 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=b99073959675a037f3a722a7ca08d28c21e10038 +archash=3919455d82ac008743cf6794593b3379f9758a38