diff --git a/README.md b/README.md index 6d98da7..d50ff5e 100644 --- a/README.md +++ b/README.md @@ -51,3 +51,4 @@ Unconfigurable: - Camera panning input rewritten to use render loop timing - Varp array size was extended to 3500 instead of 2500 - Mouse wheel camera movement (click middle button and move mouse) +- Render FPS is set to your monitor's refresh rate diff --git a/client/src/main/java/rt4/Cheat.java b/client/src/main/java/rt4/Cheat.java index b1940e4..69ad506 100644 --- a/client/src/main/java/rt4/Cheat.java +++ b/client/src/main/java/rt4/Cheat.java @@ -144,7 +144,7 @@ public class Cheat { Preferences.sentToServer = false; } if (arg0.startsWith(aClass100_623) && client.modeWhere != 0) { - Static115.method2312(arg0.substring(6).parseInt()); + GameShell.setFpsTarget(arg0.substring(6).parseInt()); } if (arg0.equalsIgnoreCase(aClass100_990)) { throw new RuntimeException(); diff --git a/client/src/main/java/rt4/GameShell.java b/client/src/main/java/rt4/GameShell.java index f2c2658..b78b7b6 100644 --- a/client/src/main/java/rt4/GameShell.java +++ b/client/src/main/java/rt4/GameShell.java @@ -180,6 +180,11 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene logicCycles = 0; } + @OriginalMember(owner = "client!ja", name = "a", descriptor = "(II)V") + public static void setFpsTarget(@OriginalArg(0) int fps) { + VARIABLE_RENDER_RATE = 1000 / fps; + } + @OriginalMember(owner = "client!rc", name = "focusLost", descriptor = "(Ljava/awt/event/FocusEvent;)V") @Override public final void focusLost(@OriginalArg(0) FocusEvent event) { @@ -599,6 +604,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene frame.toFront(); @Pc(44) Insets insets = frame.getInsets(); frame.setSize(insets.left + frameWidth + insets.right, insets.top + frameHeight + insets.bottom); + GameShell.setFpsTarget(getCurrentDevice().getDisplayMode().getRefreshRate()); Static69.signLink = signLink = new SignLink(null, cacheId, cacheSubDir, 28); @Pc(76) PrivilegedRequest request = signLink.startThread(1, this); while (request.status == 0) { diff --git a/client/src/main/java/rt4/Static115.java b/client/src/main/java/rt4/Static115.java index b6531cb..8d4b20e 100644 --- a/client/src/main/java/rt4/Static115.java +++ b/client/src/main/java/rt4/Static115.java @@ -64,11 +64,6 @@ public final class Static115 { Static256.method4392(); } - @OriginalMember(owner = "client!ja", name = "a", descriptor = "(II)V") - public static void method2312(@OriginalArg(0) int arg0) { - GameShell.VARIABLE_RENDER_RATE = 1000 / arg0; - } - @OriginalMember(owner = "client!ja", name = "a", descriptor = "(IIIIIZ)V") public static void method2314(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) boolean arg4) { if (arg0 < 1) {