mirror of
https://gitlab.com/2009scape/rt4-client.git
synced 2025-12-12 09:30:22 -07:00
Canvas scaling in OpenGL, refactor GameShell and some graphics classes
This commit is contained in:
parent
3c58eb3a01
commit
bded93da5f
26 changed files with 336 additions and 291 deletions
|
|
@ -366,7 +366,7 @@ public final class GlRenderer {
|
|||
gl.glMatrixMode(GL2.GL_PROJECTION);
|
||||
gl.glLoadIdentity();
|
||||
gl.glOrtho(0.0D, (double) canvasWidth, 0.0D, (double) canvasHeight, -1.0D, 1.0D);
|
||||
gl.glViewport(0, 0, canvasWidth, canvasHeight);
|
||||
setViewportBounds(0, 0, canvasWidth, canvasHeight);
|
||||
gl.glMatrixMode(GL2.GL_MODELVIEW);
|
||||
gl.glLoadIdentity();
|
||||
aBoolean266 = true;
|
||||
|
|
@ -541,7 +541,7 @@ public final class GlRenderer {
|
|||
gl.glMatrixMode(GL2.GL_PROJECTION);
|
||||
gl.glLoadIdentity();
|
||||
method4175((float) local7 * aFloat34, (float) local17 * aFloat34, (float) -local35 * aFloat34, (float) -local25 * aFloat34, 50.0F, 3584.0F);
|
||||
gl.glViewport(arg0, canvasHeight - arg1 - arg3, arg2, arg3);
|
||||
setViewportBounds(arg0, canvasHeight - arg1 - arg3, arg2, arg3);
|
||||
gl.glMatrixMode(GL2.GL_MODELVIEW);
|
||||
gl.glLoadIdentity();
|
||||
gl.glRotatef(180.0F, 1.0F, 0.0F, 0.0F);
|
||||
|
|
@ -740,6 +740,32 @@ public final class GlRenderer {
|
|||
aBoolean266 = false;
|
||||
}
|
||||
|
||||
public static int leftMargin;
|
||||
|
||||
public static int topMargin;
|
||||
|
||||
public static int topPadding;
|
||||
|
||||
public static int leftPadding;
|
||||
|
||||
public static int viewportWidth;
|
||||
|
||||
public static int viewportHeight;
|
||||
|
||||
public static void setViewportBounds(@OriginalArg(0) int x, @OriginalArg(1) int y, @OriginalArg(2) int width, @OriginalArg(3) int height) {
|
||||
leftMargin = x;
|
||||
topMargin = y;
|
||||
viewportWidth = width;
|
||||
viewportHeight = height;
|
||||
resizeViewport();
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!gi", name = "b", descriptor = "()V")
|
||||
private static void resizeViewport() {
|
||||
gl.glViewport((int) (leftMargin * GameShell.canvasScale + 0.5d), (int) (topMargin * GameShell.canvasScale + 0.5d),
|
||||
(int) (viewportWidth * GameShell.canvasScale + 0.5d), (int) (viewportHeight * GameShell.canvasScale + 0.5d));
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!tf", name = "a", descriptor = "(IIIIII)V")
|
||||
public static void method4182(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5) {
|
||||
@Pc(2) int local2 = -arg0;
|
||||
|
|
@ -752,7 +778,7 @@ public final class GlRenderer {
|
|||
@Pc(30) float local30 = local23 * (256.0F / (float) arg4);
|
||||
@Pc(37) float local37 = local23 * (256.0F / (float) arg5);
|
||||
gl.glOrtho((double) ((float) local2 * local30), (double) ((float) local6 * local30), (double) ((float) -local13 * local37), (double) ((float) -local9 * local37), (double) (50 - arg3), (double) (3584 - arg3));
|
||||
gl.glViewport(0, 0, canvasWidth, canvasHeight);
|
||||
setViewportBounds(0, 0, canvasWidth, canvasHeight);
|
||||
gl.glMatrixMode(GL2.GL_MODELVIEW);
|
||||
gl.glLoadIdentity();
|
||||
gl.glRotatef(180.0F, 1.0F, 0.0F, 0.0F);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue