mirror of
https://gitlab.com/2009scape/rt4-client.git
synced 2026-08-28 05:45:15 -06:00
support scaled fixed HD
This commit is contained in:
parent
838acc57ff
commit
b3c2adc51f
4 changed files with 88 additions and 21 deletions
|
|
@ -79,6 +79,12 @@ public final class DisplayMode {
|
|||
|
||||
@OriginalMember(owner = "client!pm", name = "a", descriptor = "(ZIZIZII)V")
|
||||
public static void setWindowMode(@OriginalArg(0) boolean replaceCanvas, @OriginalArg(1) int newMode, @OriginalArg(2) boolean useHD, @OriginalArg(3) int currentMode, @OriginalArg(5) int width, @OriginalArg(6) int height) {
|
||||
if(!GameShell.canvas.isShowing()){
|
||||
GameShell.frame.add(GameShell.canvas);
|
||||
GameShell.canvas.revalidate();
|
||||
GameShell.frame.revalidate();
|
||||
GameShell.canvas.repaint();
|
||||
}
|
||||
if (useHD) {
|
||||
GlRenderer.quit();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -323,6 +323,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
|
|||
@OriginalMember(owner = "client!rc", name = "b", descriptor = "(B)V")
|
||||
public final synchronized void addCanvas() {
|
||||
if (canvas != null) {
|
||||
// Remove the old canvas if it exists
|
||||
canvas.removeFocusListener(this);
|
||||
canvas.getParent().remove(canvas);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,6 +24,8 @@ public final class GlRenderer {
|
|||
public static float hFOV = 0;
|
||||
|
||||
|
||||
public static int[] pixelData = null;
|
||||
|
||||
@OriginalMember(owner = "client!tf", name = "c", descriptor = "F")
|
||||
private static float aFloat30;
|
||||
|
||||
|
|
@ -67,7 +69,7 @@ public final class GlRenderer {
|
|||
private static int maxTextureCoords;
|
||||
|
||||
@OriginalMember(owner = "client!tf", name = "E", descriptor = "Lgl!javax/media/opengl/GLDrawable;")
|
||||
private static GLDrawable drawable;
|
||||
public static GLDrawable drawable;
|
||||
|
||||
@OriginalMember(owner = "client!tf", name = "H", descriptor = "Z")
|
||||
public static boolean arbVertexProgramSupported;
|
||||
|
|
@ -199,11 +201,20 @@ public final class GlRenderer {
|
|||
@OriginalMember(owner = "client!tf", name = "d", descriptor = "()V")
|
||||
public static void swapBuffers() {
|
||||
try {
|
||||
pixelData = readPixels();
|
||||
drawable.swapBuffers();
|
||||
} catch (@Pc(3) Exception local3) {
|
||||
} catch (@Pc(3) Exception local3) {*,
|
||||
}
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!tf", name = "readPixels", descriptor = "()int[]")
|
||||
public static int[] readPixels() {
|
||||
int[] pixels = new int[canvasWidth * canvasHeight];
|
||||
IntBuffer buffer = IntBuffer.wrap(pixels);
|
||||
gl.glReadPixels(0, 0, canvasWidth, canvasHeight, GL2.GL_BGRA, GlRenderer.bigEndian ? GL2.GL_UNSIGNED_INT_8_8_8_8_REV : GL2.GL_UNSIGNED_BYTE, buffer);
|
||||
return pixels;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!tf", name = "a", descriptor = "(Z)V")
|
||||
public static void setFogEnabled(@OriginalArg(0) boolean enabled) {
|
||||
if (enabled == fogEnabled) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue