generated from MrSphay/codex-agent-repository-kit
Decompile upstream Explosion Overhaul 0.2.3.0
This commit is contained in:
@@ -0,0 +1,111 @@
|
||||
/*
|
||||
* Decompiled with CFR 0.152.
|
||||
*/
|
||||
package com.vinlanx.explosionoverhaul.mixin;
|
||||
|
||||
import com.sonicether.soundphysics.SoundPhysics;
|
||||
import com.vinlanx.explosionoverhaul.client.SoundPhysicsCompatibility;
|
||||
import org.lwjgl.openal.AL10;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.ModifyVariable;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
@Mixin(value={SoundPhysics.class}, remap=false)
|
||||
public abstract class SoundPhysicsEnvironmentMixin {
|
||||
@Inject(method={"setEnvironment"}, at={@At(value="HEAD")})
|
||||
private static void onSetEnvironment(int sourceID, float sg0, float sg1, float sg2, float sg3, float sc0, float sc1, float sc2, float sc3, float dc, float dg, CallbackInfo ci) {
|
||||
SoundPhysicsCompatibility.cacheParams(sourceID, sg0, sg1, sg2, sg3, sc0, sc1, sc2, sc3, dc, dg);
|
||||
}
|
||||
|
||||
@ModifyVariable(method={"setEnvironment"}, at=@At(value="HEAD"), ordinal=0, argsOnly=true)
|
||||
private static float modifySendGain0(float value, int sourceID) {
|
||||
if (SoundPhysicsEnvironmentMixin.isRelative(sourceID)) {
|
||||
return value;
|
||||
}
|
||||
return SoundPhysicsCompatibility.combineGain(value);
|
||||
}
|
||||
|
||||
@ModifyVariable(method={"setEnvironment"}, at=@At(value="HEAD"), ordinal=1, argsOnly=true)
|
||||
private static float modifySendGain1(float value, int sourceID) {
|
||||
if (SoundPhysicsEnvironmentMixin.isRelative(sourceID)) {
|
||||
return value;
|
||||
}
|
||||
return SoundPhysicsCompatibility.combineGain(value);
|
||||
}
|
||||
|
||||
@ModifyVariable(method={"setEnvironment"}, at=@At(value="HEAD"), ordinal=2, argsOnly=true)
|
||||
private static float modifySendGain2(float value, int sourceID) {
|
||||
if (SoundPhysicsEnvironmentMixin.isRelative(sourceID)) {
|
||||
return value;
|
||||
}
|
||||
return SoundPhysicsCompatibility.combineGain(value);
|
||||
}
|
||||
|
||||
@ModifyVariable(method={"setEnvironment"}, at=@At(value="HEAD"), ordinal=3, argsOnly=true)
|
||||
private static float modifySendGain3(float value, int sourceID) {
|
||||
if (SoundPhysicsEnvironmentMixin.isRelative(sourceID)) {
|
||||
return value;
|
||||
}
|
||||
return SoundPhysicsCompatibility.combineGain(value);
|
||||
}
|
||||
|
||||
@ModifyVariable(method={"setEnvironment"}, at=@At(value="HEAD"), ordinal=4, argsOnly=true)
|
||||
private static float modifySendCutoff0(float value, int sourceID) {
|
||||
if (SoundPhysicsEnvironmentMixin.isRelative(sourceID)) {
|
||||
return value;
|
||||
}
|
||||
return SoundPhysicsCompatibility.combineHF(value);
|
||||
}
|
||||
|
||||
@ModifyVariable(method={"setEnvironment"}, at=@At(value="HEAD"), ordinal=5, argsOnly=true)
|
||||
private static float modifySendCutoff1(float value, int sourceID) {
|
||||
if (SoundPhysicsEnvironmentMixin.isRelative(sourceID)) {
|
||||
return value;
|
||||
}
|
||||
return SoundPhysicsCompatibility.combineHF(value);
|
||||
}
|
||||
|
||||
@ModifyVariable(method={"setEnvironment"}, at=@At(value="HEAD"), ordinal=6, argsOnly=true)
|
||||
private static float modifySendCutoff2(float value, int sourceID) {
|
||||
if (SoundPhysicsEnvironmentMixin.isRelative(sourceID)) {
|
||||
return value;
|
||||
}
|
||||
return SoundPhysicsCompatibility.combineHF(value);
|
||||
}
|
||||
|
||||
@ModifyVariable(method={"setEnvironment"}, at=@At(value="HEAD"), ordinal=7, argsOnly=true)
|
||||
private static float modifySendCutoff3(float value, int sourceID) {
|
||||
if (SoundPhysicsEnvironmentMixin.isRelative(sourceID)) {
|
||||
return value;
|
||||
}
|
||||
return SoundPhysicsCompatibility.combineHF(value);
|
||||
}
|
||||
|
||||
@ModifyVariable(method={"setEnvironment"}, at=@At(value="HEAD"), ordinal=8, argsOnly=true)
|
||||
private static float modifyDirectCutoff(float value, int sourceID) {
|
||||
if (SoundPhysicsEnvironmentMixin.isRelative(sourceID)) {
|
||||
return value;
|
||||
}
|
||||
return SoundPhysicsCompatibility.combineHF(value);
|
||||
}
|
||||
|
||||
@ModifyVariable(method={"setEnvironment"}, at=@At(value="HEAD"), ordinal=9, argsOnly=true)
|
||||
private static float modifyDirectGain(float value, int sourceID) {
|
||||
if (SoundPhysicsEnvironmentMixin.isRelative(sourceID)) {
|
||||
return value;
|
||||
}
|
||||
return SoundPhysicsCompatibility.combineGain(value);
|
||||
}
|
||||
|
||||
private static boolean isRelative(int sourceID) {
|
||||
try {
|
||||
return AL10.alGetSourcei((int)sourceID, (int)514) == 1;
|
||||
}
|
||||
catch (Throwable ignored) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user