generated from MrSphay/codex-agent-repository-kit
Fix channel lowpass source shadow
All checks were successful
Build / build (push) Successful in 9m29s
All checks were successful
Build / build (push) Successful in 9m29s
This commit is contained in:
@@ -25,6 +25,7 @@ The Gitea runner has been used for:
|
|||||||
- Updated the `ExplosionMixin` complex constructor injection descriptor for Minecraft `1.21.1` after a client bootstrap crash showed the old Forge `1.20.1` constructor target no longer exists.
|
- Updated the `ExplosionMixin` complex constructor injection descriptor for Minecraft `1.21.1` after a client bootstrap crash showed the old Forge `1.20.1` constructor target no longer exists.
|
||||||
- Updated `GameRendererBlurMixin` render callback and invoke descriptors for Minecraft `1.21.1` after the next client crash showed `GameRenderer#render` now receives `DeltaTracker, boolean`.
|
- Updated `GameRendererBlurMixin` render callback and invoke descriptors for Minecraft `1.21.1` after the next client crash showed `GameRenderer#render` now receives `DeltaTracker, boolean`.
|
||||||
- Replaced client tick subscriber parameters that used the temporary `compat.TickEvent.ClientTickEvent` placeholder with NeoForge `ClientTickEvent.Post` after mod loading rejected non-Event subscriber parameters.
|
- Replaced client tick subscriber parameters that used the temporary `compat.TickEvent.ClientTickEvent` placeholder with NeoForge `ClientTickEvent.Post` after mod loading rejected non-Event subscriber parameters.
|
||||||
|
- Updated `ChannelLowpassMixin` to shadow `Channel#source` instead of the old obfuscated `f_83642_` field after the sound engine failed to apply the mixin.
|
||||||
- Fixed runner setup issues:
|
- Fixed runner setup issues:
|
||||||
- executable `gradlew`
|
- executable `gradlew`
|
||||||
- tracked `gradle-wrapper.jar`
|
- tracked `gradle-wrapper.jar`
|
||||||
@@ -38,6 +39,7 @@ The Gitea runner has been used for:
|
|||||||
| `git diff --check` | PASS after NeoForge `21.1.225` metadata change and `ExplosionMixin` runtime crash fix |
|
| `git diff --check` | PASS after NeoForge `21.1.225` metadata change and `ExplosionMixin` runtime crash fix |
|
||||||
| `git diff --check` | PASS after `GameRendererBlurMixin` runtime crash fix |
|
| `git diff --check` | PASS after `GameRendererBlurMixin` runtime crash fix |
|
||||||
| `git diff --check` | PASS after client tick subscriber event migration |
|
| `git diff --check` | PASS after client tick subscriber event migration |
|
||||||
|
| `git diff --check` | PASS after `ChannelLowpassMixin` source field migration |
|
||||||
| Gitea decompile workflow | PASS |
|
| Gitea decompile workflow | PASS |
|
||||||
| Gitea build workflow | FAIL, now reaches Java API migration errors |
|
| Gitea build workflow | FAIL, now reaches Java API migration errors |
|
||||||
|
|
||||||
@@ -69,6 +71,7 @@ The remaining failures are real Forge-to-NeoForge/API-porting work, not runner s
|
|||||||
5. Retest the client jar after the `ExplosionMixin` descriptor fix; the next crash, if any, should be a later runtime/API issue rather than the bootstrap constructor mismatch.
|
5. Retest the client jar after the `ExplosionMixin` descriptor fix; the next crash, if any, should be a later runtime/API issue rather than the bootstrap constructor mismatch.
|
||||||
6. Retest the client jar after the `GameRendererBlurMixin` descriptor fix; the next crash, if any, should be the next stale mixin/API target.
|
6. Retest the client jar after the `GameRendererBlurMixin` descriptor fix; the next crash, if any, should be the next stale mixin/API target.
|
||||||
7. Retest the client jar after the client tick event migration; the next crash, if any, should be a later mod-loading/runtime issue.
|
7. Retest the client jar after the client tick event migration; the next crash, if any, should be a later mod-loading/runtime issue.
|
||||||
|
8. Retest the client jar after the `ChannelLowpassMixin` source field migration; watch for remaining audio mixin/accessor issues.
|
||||||
|
|
||||||
## Risks
|
## Risks
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
|||||||
public class ChannelLowpassMixin {
|
public class ChannelLowpassMixin {
|
||||||
@Shadow
|
@Shadow
|
||||||
@Final
|
@Final
|
||||||
private int f_83642_;
|
private int source;
|
||||||
|
|
||||||
@Inject(method={"play"}, at={@At(value="HEAD")})
|
@Inject(method={"play"}, at={@At(value="HEAD")})
|
||||||
private void onPlay(CallbackInfo ci) {
|
private void onPlay(CallbackInfo ci) {
|
||||||
@@ -28,7 +28,7 @@ public class ChannelLowpassMixin {
|
|||||||
SoundEngineAudioQueue.drainNow();
|
SoundEngineAudioQueue.drainNow();
|
||||||
}
|
}
|
||||||
if (active) {
|
if (active) {
|
||||||
SoundEngineAudioQueue.enqueueAudio(() -> LowPassConcussionEffect.attachFilterToSource(this.f_83642_));
|
SoundEngineAudioQueue.enqueueAudio(() -> LowPassConcussionEffect.attachFilterToSource(this.source));
|
||||||
if ("Sound engine".equals(Thread.currentThread().getName())) {
|
if ("Sound engine".equals(Thread.currentThread().getName())) {
|
||||||
SoundEngineAudioQueue.drainNow();
|
SoundEngineAudioQueue.drainNow();
|
||||||
}
|
}
|
||||||
@@ -42,10 +42,10 @@ public class ChannelLowpassMixin {
|
|||||||
@Inject(method={"stop"}, at={@At(value="HEAD")})
|
@Inject(method={"stop"}, at={@At(value="HEAD")})
|
||||||
private void onStop(CallbackInfo ci) {
|
private void onStop(CallbackInfo ci) {
|
||||||
if (SoundPhysicsCompatibility.isCompatibilityEnabled()) {
|
if (SoundPhysicsCompatibility.isCompatibilityEnabled()) {
|
||||||
SoundPhysicsCompatibility.onSourceStop(this.f_83642_);
|
SoundPhysicsCompatibility.onSourceStop(this.source);
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
SoundEngineAudioQueue.enqueueAudio(() -> LowPassConcussionEffect.detachFilterFromSource(this.f_83642_));
|
SoundEngineAudioQueue.enqueueAudio(() -> LowPassConcussionEffect.detachFilterFromSource(this.source));
|
||||||
if ("Sound engine".equals(Thread.currentThread().getName())) {
|
if ("Sound engine".equals(Thread.currentThread().getName())) {
|
||||||
SoundEngineAudioQueue.drainNow();
|
SoundEngineAudioQueue.drainNow();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user