From 25026eb98678e7fe9c5c135de51aa3fdf34c6c19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Wed, 30 Dec 2020 19:17:34 +0100 Subject: [PATCH] Moved controls to left of terminal screen. --- .../li/cil/oc2/client/gui/TerminalScreen.java | 51 ++++++++++-------- .../oc2/textures/gui/screen/terminal.png | Bin 6082 -> 4886 bytes 2 files changed, 29 insertions(+), 22 deletions(-) diff --git a/src/main/java/li/cil/oc2/client/gui/TerminalScreen.java b/src/main/java/li/cil/oc2/client/gui/TerminalScreen.java index 9f9ebfd7..5e30600e 100644 --- a/src/main/java/li/cil/oc2/client/gui/TerminalScreen.java +++ b/src/main/java/li/cil/oc2/client/gui/TerminalScreen.java @@ -28,6 +28,8 @@ public final class TerminalScreen extends Screen { private static final ResourceLocation BACKGROUND_TERMINAL_FOCUSED = new ResourceLocation(API.MOD_ID, "textures/gui/screen/terminal_focused.png"); private static final int TEXTURE_SIZE = 512; + private static final Sprite CONTROLS_BACKGROUND = new Sprite(BACKGROUND, TEXTURE_SIZE, 19, 34, 82, 244); + private static final Sprite CAPTURE_INPUT_BASE = new Sprite(BACKGROUND, TEXTURE_SIZE, 12, 12, 15, 241); private static final Sprite CAPTURE_INPUT_PRESSED = new Sprite(BACKGROUND, TEXTURE_SIZE, 12, 12, 29, 241); private static final Sprite CAPTURE_INPUT_ACTIVE = new Sprite(BACKGROUND, TEXTURE_SIZE, 12, 12, 1, 241); @@ -37,11 +39,12 @@ public final class TerminalScreen extends Screen { private static final Sprite POWER_ACTIVE = new Sprite(BACKGROUND, TEXTURE_SIZE, 12, 12, 1, 255); private static final int SCREEN_WIDTH = 336; - private static final int SCREEN_HEIGHT = 228; + private static final int SCREEN_HEIGHT = 208; private static final int TERMINAL_AREA_X = 8; private static final int TERMINAL_AREA_Y = 8; private static final int TERMINAL_AREA_WIDTH = 80 * 8 / 2; private static final int TERMINAL_AREA_HEIGHT = 24 * 16 / 2; + private static final int CONTROLS_TOP = 8; private static boolean enableInputCapture; @@ -72,6 +75,8 @@ public final class TerminalScreen extends Screen { requireNonNull(minecraft).getTextureManager().bindTexture(BACKGROUND); blit(matrixStack, windowLeft, windowTop, 0, 0, windowWidth, windowHeight, TEXTURE_SIZE, TEXTURE_SIZE); + CONTROLS_BACKGROUND.draw(matrixStack, windowLeft - CONTROLS_BACKGROUND.width, windowTop + CONTROLS_TOP); + if (shouldCaptureInput()) { requireNonNull(minecraft).getTextureManager().bindTexture(BACKGROUND_TERMINAL_FOCUSED); blit(matrixStack, windowLeft, windowTop, 0, 0, windowWidth, windowHeight, TEXTURE_SIZE, TEXTURE_SIZE); @@ -169,27 +174,8 @@ public final class TerminalScreen extends Screen { requireNonNull(minecraft).keyboardListener.enableRepeatEvents(true); addButton(new ToggleImageButton( - this, windowLeft + 104, windowTop + 212, 12, 12, - new TranslationTextComponent(Constants.COMPUTER_SCREEN_CAPTURE_INPUT_CAPTION), - new TranslationTextComponent(Constants.COMPUTER_SCREEN_CAPTURE_INPUT_DESCRIPTION), - CAPTURE_INPUT_BASE, - CAPTURE_INPUT_PRESSED, - CAPTURE_INPUT_ACTIVE - ) { - @Override - public void onPress() { - super.onPress(); - enableInputCapture = !enableInputCapture; - } - - @Override - public boolean isToggled() { - return enableInputCapture; - } - }); - - addButton(new ToggleImageButton( - this, windowLeft + 220, windowTop + 212, 12, 12, + this, windowLeft - CONTROLS_BACKGROUND.width + 4, windowTop + CONTROLS_TOP + 4, + 12, 12, new TranslationTextComponent(Constants.COMPUTER_SCREEN_POWER_CAPTION), new TranslationTextComponent(Constants.COMPUTER_SCREEN_POWER_DESCRIPTION), POWER_BASE, @@ -208,6 +194,27 @@ public final class TerminalScreen extends Screen { return tileEntity.isRunning(); } }); + + addButton(new ToggleImageButton( + this, windowLeft - CONTROLS_BACKGROUND.width + 4, windowTop + CONTROLS_TOP + 18, + 12, 12, + new TranslationTextComponent(Constants.COMPUTER_SCREEN_CAPTURE_INPUT_CAPTION), + new TranslationTextComponent(Constants.COMPUTER_SCREEN_CAPTURE_INPUT_DESCRIPTION), + CAPTURE_INPUT_BASE, + CAPTURE_INPUT_PRESSED, + CAPTURE_INPUT_ACTIVE + ) { + @Override + public void onPress() { + super.onPress(); + enableInputCapture = !enableInputCapture; + } + + @Override + public boolean isToggled() { + return enableInputCapture; + } + }); } /////////////////////////////////////////////////////////////////// diff --git a/src/main/resources/assets/oc2/textures/gui/screen/terminal.png b/src/main/resources/assets/oc2/textures/gui/screen/terminal.png index 2a0c656051ca3a1eb0a7ea0de4dd282e1f6ad082..40c0db4368dabf0f419acaa09099712d195f205c 100644 GIT binary patch delta 2514 zcmZ8i2{@E%8-Bi-v5t^5mNP`BNXb$WQl?$Rq^whnvPMJaCoN*8<)l{+ve z?i-umW+X_pcuR{Y<5MekMLrDJQY@Xn37sy;oH70R0N# znGTZ=Rhj#LiguQRLirON=JU{RABROngWj%mBC*>Y>? zOT7>WyM<06^}rtw$ID zegOa-zW{;c6m>M(y<^Kp=VK|nE~lVQEO-wGfXR#-h8t;iodHxu#?6$Ls{-J(Lk#R9BGE&$VQIoSX z71VS?Emcn2F>C!<63`U5?^=$Mcj{7h_ zVcSY_{KuvwTj)K-kRB2wV6UK_MrfGY|5Ol*6v3PH@0^FcdJoRU1w}W$Nd_&iGIvzw zMFka^9-OPg=MrV6lf3F8ihI7RPa>qEjIH$bFh|i`kd#EJU0IH+ZD#&Z(D;Y(U%zsk zO)f68c@j;$XA_h;hc=|gdt$-FL<{8^1ste5D~F?m_Bs4qcTkR(sJdp%)*jAp{|Sxq z7yA$@BYGkKMfwXP*;wY30`b@F|9>pcc@k8jS%n+e0?hgH+Dt8Z6{T6N&C?s}=0sp# z!RykCQKz*pCFx7-vSzO#VfH?$SEw@T`;RUy`17aTes$4Lf*GX*(&{qtH_E`QchU4> zIp9)2IYyF`U{>8L5Ja4}0tTX`0Bvn;IfnI_K?q3qp}ha}JL&>Df$TGs)_~lNeEk_! z?9L5cTKo|q$*WtjBjR=cN#_Aeu@<+rYa+47GQ@`GV{>`puQq#&)}a^CeEP7tPj`Mv z&bG33PpLQIuw2ctbH(dFY^dANB5E(?=fsu04AyEhMVDR>`j%ze-9V~JiI;6oejg1GO&lmZCg7gjKo?9ZDJczp`}WPj&Y(JSl27Jd_3QXD+!9nW z^=MgaLj;g)*k8(s0+Dd?_J^{4M(I)F8IkaIX;nqVj`;X^{Wd9RzR8<;UPn%+rlc;q zZCLLrRotZrfuW%?Js(+(^qDEKShJH~MHAE6hVL308eVQK?&4p2-_=zu>*(UbiyGla z?-foAyV)6J8B-sXe?n?KTD&k8=D4r1L=1mqWF3vFrT`hC#zx4Y;7a0yw1Kj`ocx;g zy(0;{?4F^apfT36ShWJRt%Xxq@Uc{f-Bv`5VrrqlOh3cOcORR@VvVEEfj+vAo!H^r zJ~6^5TqDg$m`+kJr{oKwyNbJ|Nl81~_#=C$Twu-h)b;PXglNKo5zDFm{;L&0KF zM$9KNa>z4iL$_{38#%-Y`c!I{rc8w1d_`nTB-Q9Zt!g+$ZnU?z_qlIr_OQ@Ew01$X z=&?+e%aK;P490L7lS#VFei!FxX(4GLQb=XrOlz#?r219om?Db@-W>h{uRjM!I?d7mSuBP)!FpeFH zFc8xTh)xFA>xZd5W+b?AQCMqDd{H#0JEC}$^SV9uE5Y>SEiC6tYfZx29YumNeZ-s= zprQlgBOXv*tdC%z|Bv}(?9Rc^ylxE}NJ&QllSm<0++2g6?G!jhn$wMkvb71au)eCY z6203HIQQQmHRk5dhRp}HV1^s*ztKt6*sI&iJu=>hFeLIT sw)NmCTOqON(yF4Sg-wWhZTJuT-BTwG$Hmi@Xs?4ETOGID-{gJze_NY80RR91 delta 3716 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 V0y$4^DOR>}`jr342KT71{{y2x