Skip to content

Commit 33da773

Browse files
More cleanup, add back WorldRendererMixin
1 parent e9d9fad commit 33da773

3 files changed

Lines changed: 35 additions & 25 deletions

File tree

src/main/java/io/github/ultimateboomer/resolutioncontrol/ResolutionControlMod.java

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ public static ResolutionControlMod getInstance() {
5555

5656
@Nullable
5757
private Framebuffer clientFramebuffer;
58-
private Set<Framebuffer> scaledFramebuffers;
5958

6059
private Set<Framebuffer> minecraftFramebuffers;
6160

@@ -197,28 +196,13 @@ public void setShouldScale(boolean shouldScale) {
197196
client.getProfiler().swap("level");
198197
}
199198

200-
private void initScaledFramebuffers() {
201-
if (scaledFramebuffers != null) {
202-
scaledFramebuffers.clear();
203-
} else {
204-
scaledFramebuffers = new HashSet<>();
205-
}
206-
207-
scaledFramebuffers.add(framebuffer);
208-
initMinecraftFramebuffers();
209-
scaledFramebuffers.addAll(minecraftFramebuffers);
210-
scaledFramebuffers.remove(null);
211-
}
212-
213-
private void initMinecraftFramebuffers() {
199+
public void initMinecraftFramebuffers() {
214200
if (minecraftFramebuffers != null) {
215201
minecraftFramebuffers.clear();
216202
} else {
217203
minecraftFramebuffers = new HashSet<>();
218204
}
219205

220-
// setFramebufferReference();
221-
222206
minecraftFramebuffers.add(client.worldRenderer.getEntityOutlinesFramebuffer());
223207
minecraftFramebuffers.add(client.worldRenderer.getTranslucentFramebuffer());
224208
minecraftFramebuffers.add(client.worldRenderer.getEntityFramebuffer());
@@ -357,10 +341,6 @@ public void setScreenshotFramebufferAlwaysAllocated(boolean value) {
357341

358342
public void setEnableDynamicResolution(boolean enableDynamicResolution) {
359343
Config.getInstance().enableDynamicResolution = enableDynamicResolution;
360-
361-
if (enableDynamicResolution) {
362-
363-
}
364344
}
365345

366346
public void onResolutionChanged() {
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package io.github.ultimateboomer.resolutioncontrol.mixin;
2+
3+
import io.github.ultimateboomer.resolutioncontrol.ResolutionControlMod;
4+
import net.minecraft.client.gl.Framebuffer;
5+
import net.minecraft.client.render.WorldRenderer;
6+
import org.spongepowered.asm.mixin.Mixin;
7+
import org.spongepowered.asm.mixin.Shadow;
8+
import org.spongepowered.asm.mixin.injection.At;
9+
import org.spongepowered.asm.mixin.injection.Inject;
10+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
11+
12+
@Mixin(WorldRenderer.class)
13+
public class WorldRendererMixin {
14+
@Shadow
15+
private Framebuffer entityOutlinesFramebuffer;
16+
17+
@Inject(at = @At("RETURN"), method = "loadEntityOutlineShader")
18+
private void onLoadEntityOutlineShader(CallbackInfo ci) {
19+
ResolutionControlMod.getInstance().resizeMinecraftFramebuffers();
20+
}
21+
22+
@Inject(at = @At("RETURN"), method = "onResized")
23+
private void onOnResized(CallbackInfo ci) {
24+
if (entityOutlinesFramebuffer == null) return;
25+
ResolutionControlMod.getInstance().resizeMinecraftFramebuffers();
26+
}
27+
28+
@Inject(at = @At("RETURN"), method = "loadTransparencyShader")
29+
private void onLoadTransparencyShader(CallbackInfo ci) {
30+
ResolutionControlMod.getInstance().resizeMinecraftFramebuffers();
31+
}
32+
}

src/main/resources/resolutioncontrol.mixins.json

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,12 @@
22
"required": true,
33
"package": "io.github.ultimateboomer.resolutioncontrol.mixin",
44
"compatibilityLevel": "JAVA_8",
5-
"mixins": [
6-
7-
],
85
"client": [
96
"GameRendererMixin",
107
"MinecraftClientMixin",
118
"WindowMixin",
12-
"FramebufferMixin"
9+
"FramebufferMixin",
10+
"WorldRendererMixin"
1311
],
1412
"injectors": {
1513
"defaultRequire": 1

0 commit comments

Comments
 (0)