fixed volume sliders
This commit is contained in:
parent
188e36c2a2
commit
6b88a73b78
|
@ -1127,7 +1127,7 @@ public class Minecraft implements Runnable {
|
||||||
EntityPlayer player = (EntityPlayer) playerObject;
|
EntityPlayer player = (EntityPlayer) playerObject;
|
||||||
if (player == this.thePlayer) continue;
|
if (player == this.thePlayer) continue;
|
||||||
if (EaglerAdapter.getVoiceChannel() == Voice.VoiceChannel.PROXIMITY) EaglerAdapter.updateVoicePosition(player.username, player.posX, player.posY + player.getEyeHeight(), player.posZ);
|
if (EaglerAdapter.getVoiceChannel() == Voice.VoiceChannel.PROXIMITY) EaglerAdapter.updateVoicePosition(player.username, player.posX, player.posY + player.getEyeHeight(), player.posZ);
|
||||||
int prox = EaglerAdapter.getVoiceProximity();
|
int prox = 22;
|
||||||
// cube
|
// cube
|
||||||
if (Math.abs(thePlayer.posX - player.posX) <= prox && Math.abs(thePlayer.posY - player.posY) <= prox && Math.abs(thePlayer.posZ - player.posZ) <= prox) {
|
if (Math.abs(thePlayer.posX - player.posX) <= prox && Math.abs(thePlayer.posY - player.posY) <= prox && Math.abs(thePlayer.posZ - player.posZ) <= prox) {
|
||||||
if (EaglerAdapter.getVoiceChannel() == Voice.VoiceChannel.PROXIMITY) {
|
if (EaglerAdapter.getVoiceChannel() == Voice.VoiceChannel.PROXIMITY) {
|
||||||
|
|
|
@ -548,6 +548,7 @@ public class GameSettings {
|
||||||
}
|
}
|
||||||
|
|
||||||
KeyBinding.resetKeyBindingArrayAndHash();
|
KeyBinding.resetKeyBindingArrayAndHash();
|
||||||
|
mc.sndManager.onSoundOptionsChanged();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -77,7 +77,7 @@ public class SoundManager {
|
||||||
* Called when one of the sound level options has changed.
|
* Called when one of the sound level options has changed.
|
||||||
*/
|
*/
|
||||||
public void onSoundOptionsChanged() {
|
public void onSoundOptionsChanged() {
|
||||||
|
EaglerAdapter.setMasterVolume(options.soundVolume);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -215,8 +215,7 @@ public class SoundManager {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
float v = par3 * this.options.soundVolume;
|
if(this.options.soundVolume > 0.0F && par3 > 0.0F) {
|
||||||
if(v > 0.0F) {
|
|
||||||
Integer ct = this.sounddefinitions.get(par1Str);
|
Integer ct = this.sounddefinitions.get(par1Str);
|
||||||
if(ct != null) {
|
if(ct != null) {
|
||||||
int c = ct.intValue();
|
int c = ct.intValue();
|
||||||
|
@ -228,7 +227,7 @@ public class SoundManager {
|
||||||
path = "/sounds/"+par1Str.replace('.', '/')+r+".mp3";
|
path = "/sounds/"+par1Str.replace('.', '/')+r+".mp3";
|
||||||
}
|
}
|
||||||
int id = 0;
|
int id = 0;
|
||||||
soundevents.add(new EntitySoundEvent(par2Entity, id = EaglerAdapter.beginPlayback(path, 0f, 0f, 0f, v, par4)));
|
soundevents.add(new EntitySoundEvent(par2Entity, id = EaglerAdapter.beginPlayback(path, 0f, 0f, 0f, par3, par4)));
|
||||||
EaglerAdapter.moveSound(id, (float)par2Entity.posX, (float)par2Entity.posY, (float)par2Entity.posZ, (float)par2Entity.motionX, (float)par2Entity.motionY, (float)par2Entity.motionZ);
|
EaglerAdapter.moveSound(id, (float)par2Entity.posX, (float)par2Entity.posY, (float)par2Entity.posZ, (float)par2Entity.motionX, (float)par2Entity.motionY, (float)par2Entity.motionZ);
|
||||||
}else {
|
}else {
|
||||||
System.err.println("unregistered sound effect: "+par1Str);
|
System.err.println("unregistered sound effect: "+par1Str);
|
||||||
|
@ -240,8 +239,7 @@ public class SoundManager {
|
||||||
* Plays a sound. Args: soundName, x, y, z, volume, pitch
|
* Plays a sound. Args: soundName, x, y, z, volume, pitch
|
||||||
*/
|
*/
|
||||||
public void playSound(String par1Str, float par2, float par3, float par4, float par5, float par6) {
|
public void playSound(String par1Str, float par2, float par3, float par4, float par5, float par6) {
|
||||||
float v = par5 * this.options.soundVolume;
|
if(this.options.soundVolume > 0.0F && par5 > 0.0F) {
|
||||||
if(v > 0.0F) {
|
|
||||||
Integer ct = this.sounddefinitions.get(par1Str);
|
Integer ct = this.sounddefinitions.get(par1Str);
|
||||||
if(ct != null) {
|
if(ct != null) {
|
||||||
int c = ct.intValue();
|
int c = ct.intValue();
|
||||||
|
@ -252,7 +250,7 @@ public class SoundManager {
|
||||||
int r = soundrandom.nextInt(c) + 1;
|
int r = soundrandom.nextInt(c) + 1;
|
||||||
path = "/sounds/"+par1Str.replace('.', '/')+r+".mp3";
|
path = "/sounds/"+par1Str.replace('.', '/')+r+".mp3";
|
||||||
}
|
}
|
||||||
EaglerAdapter.beginPlayback(path, par2, par3, par4, v, par6);
|
EaglerAdapter.beginPlayback(path, par2, par3, par4, par5, par6);
|
||||||
}else {
|
}else {
|
||||||
System.err.println("unregistered sound effect: "+par1Str);
|
System.err.println("unregistered sound effect: "+par1Str);
|
||||||
}
|
}
|
||||||
|
@ -265,8 +263,7 @@ public class SoundManager {
|
||||||
* balanced)
|
* balanced)
|
||||||
*/
|
*/
|
||||||
public void playSoundFX(String par1Str, float par2, float par3) {
|
public void playSoundFX(String par1Str, float par2, float par3) {
|
||||||
float v = par3 * this.options.soundVolume;
|
if(this.options.soundVolume > 0.0F && par2 > 0.0F) {
|
||||||
if(v > 0.0F) {
|
|
||||||
Integer ct = this.sounddefinitions.get(par1Str);
|
Integer ct = this.sounddefinitions.get(par1Str);
|
||||||
if(ct != null) {
|
if(ct != null) {
|
||||||
int c = ct.intValue();
|
int c = ct.intValue();
|
||||||
|
@ -277,7 +274,7 @@ public class SoundManager {
|
||||||
int r = soundrandom.nextInt(c) + 1;
|
int r = soundrandom.nextInt(c) + 1;
|
||||||
path = "/sounds/"+par1Str.replace('.', '/')+r+".mp3";
|
path = "/sounds/"+par1Str.replace('.', '/')+r+".mp3";
|
||||||
}
|
}
|
||||||
EaglerAdapter.beginPlaybackStatic(path, v, par3);
|
EaglerAdapter.beginPlaybackStatic(path, par2, par3);
|
||||||
}else {
|
}else {
|
||||||
System.err.println("unregistered sound effect: "+par1Str);
|
System.err.println("unregistered sound effect: "+par1Str);
|
||||||
}
|
}
|
||||||
|
|
|
@ -326,6 +326,9 @@ public class EaglerAdapterImpl2 {
|
||||||
}
|
}
|
||||||
|
|
||||||
audioctx = AudioContext.create();
|
audioctx = AudioContext.create();
|
||||||
|
masterVolumeNode = audioctx.createGain();
|
||||||
|
masterVolumeNode.getGain().setValue(1.0f);
|
||||||
|
masterVolumeNode.connect(audioctx.getDestination());
|
||||||
|
|
||||||
mouseEvents.clear();
|
mouseEvents.clear();
|
||||||
keyEvents.clear();
|
keyEvents.clear();
|
||||||
|
@ -1053,7 +1056,7 @@ public class EaglerAdapterImpl2 {
|
||||||
currentVideoAudioSource = audioctx.createMediaElementSource(currentVideo);
|
currentVideoAudioSource = audioctx.createMediaElementSource(currentVideo);
|
||||||
|
|
||||||
if(currentVideoAudioGainValue < 0.0f) {
|
if(currentVideoAudioGainValue < 0.0f) {
|
||||||
currentVideoAudioSource.connect(audioctx.getDestination());
|
currentVideoAudioSource.connect(masterVolumeNode);
|
||||||
}else {
|
}else {
|
||||||
if(currentVideoAudioGain == null) {
|
if(currentVideoAudioGain == null) {
|
||||||
currentVideoAudioGain = audioctx.createGain();
|
currentVideoAudioGain = audioctx.createGain();
|
||||||
|
@ -1151,7 +1154,7 @@ public class EaglerAdapterImpl2 {
|
||||||
if(v < 0.0f) {
|
if(v < 0.0f) {
|
||||||
if(currentVideoAudioGainValue >= 0.0f && currentVideoAudioSource != null) {
|
if(currentVideoAudioGainValue >= 0.0f && currentVideoAudioSource != null) {
|
||||||
currentVideoAudioSource.disconnect();
|
currentVideoAudioSource.disconnect();
|
||||||
currentVideoAudioSource.connect(audioctx.getDestination());
|
currentVideoAudioSource.connect(masterVolumeNode);
|
||||||
}
|
}
|
||||||
currentVideoAudioGainValue = v;
|
currentVideoAudioGainValue = v;
|
||||||
}else {
|
}else {
|
||||||
|
@ -1848,12 +1851,17 @@ public class EaglerAdapterImpl2 {
|
||||||
private static int playbackId = 0;
|
private static int playbackId = 0;
|
||||||
private static final HashMap<String,AudioBufferX> loadedSoundFiles = new HashMap();
|
private static final HashMap<String,AudioBufferX> loadedSoundFiles = new HashMap();
|
||||||
private static AudioContext audioctx = null;
|
private static AudioContext audioctx = null;
|
||||||
|
private static GainNode masterVolumeNode = null;
|
||||||
private static float playbackOffsetDelay = 0.03f;
|
private static float playbackOffsetDelay = 0.03f;
|
||||||
|
|
||||||
public static final void setPlaybackOffsetDelay(float f) {
|
public static final void setPlaybackOffsetDelay(float f) {
|
||||||
playbackOffsetDelay = f;
|
playbackOffsetDelay = f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static final void setMasterVolume(float f) {
|
||||||
|
masterVolumeNode.getGain().setValue(f);
|
||||||
|
}
|
||||||
|
|
||||||
@Async
|
@Async
|
||||||
public static native AudioBuffer decodeAudioAsync(ArrayBuffer buffer);
|
public static native AudioBuffer decodeAudioAsync(ArrayBuffer buffer);
|
||||||
|
|
||||||
|
@ -1924,7 +1932,7 @@ public class EaglerAdapterImpl2 {
|
||||||
g.getGain().setValue(volume > 1.0f ? 1.0f : volume);
|
g.getGain().setValue(volume > 1.0f ? 1.0f : volume);
|
||||||
s.connect(g);
|
s.connect(g);
|
||||||
g.connect(p);
|
g.connect(p);
|
||||||
p.connect(audioctx.getDestination());
|
p.connect(masterVolumeNode);
|
||||||
s.start(0.0d, playbackOffsetDelay);
|
s.start(0.0d, playbackOffsetDelay);
|
||||||
final int theId = ++playbackId;
|
final int theId = ++playbackId;
|
||||||
activeSoundEffects.put(theId, new AudioBufferSourceNodeX(s, p, g));
|
activeSoundEffects.put(theId, new AudioBufferSourceNodeX(s, p, g));
|
||||||
|
@ -1947,7 +1955,7 @@ public class EaglerAdapterImpl2 {
|
||||||
GainNode g = audioctx.createGain();
|
GainNode g = audioctx.createGain();
|
||||||
g.getGain().setValue(volume > 1.0f ? 1.0f : volume);
|
g.getGain().setValue(volume > 1.0f ? 1.0f : volume);
|
||||||
s.connect(g);
|
s.connect(g);
|
||||||
g.connect(audioctx.getDestination());
|
g.connect(masterVolumeNode);
|
||||||
s.start(0.0d, playbackOffsetDelay);
|
s.start(0.0d, playbackOffsetDelay);
|
||||||
final int theId = ++playbackId;
|
final int theId = ++playbackId;
|
||||||
activeSoundEffects.put(theId, new AudioBufferSourceNodeX(s, null, g));
|
activeSoundEffects.put(theId, new AudioBufferSourceNodeX(s, null, g));
|
||||||
|
|
Loading…
Reference in New Issue
Block a user