From 91e4b49cb3b1c1825d839b07f559d2a4e3b6188d Mon Sep 17 00:00:00 2001 From: Randy <39484230+zenith391@users.noreply.github.com> Date: Sat, 23 Mar 2019 16:22:49 +0100 Subject: [PATCH] Crosshair + Images --- .../{base => cubyz}/models/3d/block.obj | 0 .../assets/{base => cubyz}/models/block.json | 0 .../assets/cubyz/textures/crosshair.png | Bin 0 -> 1462 bytes .../cached_tex_dirt.png => cache/dirt.png} | Bin .../cached_tex_stone.png => cache/stone.png} | Bin .../cached_tex_water.png => cache/water.png} | Bin cubyz-client/src/io/cubyz/ui/GameOverlay.java | 24 ++++++++++++++++++ cubyz-client/src/io/cubyz/ui/MainMenuGUI.java | 1 + cubyz-client/src/io/cubyz/ui/NGraphics.java | 16 ++++++++++++ .../src/io/cubyz/ui/ToastManager.java | 8 ++++++ .../io/cubyz/utils/DiscordIntegration.java | 2 +- .../src/io/cubyz/utils/TextureConverter.java | 4 +-- 12 files changed, 52 insertions(+), 3 deletions(-) rename cubyz-client/assets/{base => cubyz}/models/3d/block.obj (100%) rename cubyz-client/assets/{base => cubyz}/models/block.json (100%) create mode 100644 cubyz-client/assets/cubyz/textures/crosshair.png rename cubyz-client/{res/cache/cached_tex_dirt.png => cache/dirt.png} (100%) rename cubyz-client/{res/cache/cached_tex_stone.png => cache/stone.png} (100%) rename cubyz-client/{res/cache/cached_tex_water.png => cache/water.png} (100%) create mode 100644 cubyz-client/src/io/cubyz/ui/GameOverlay.java create mode 100644 cubyz-client/src/io/cubyz/ui/ToastManager.java diff --git a/cubyz-client/assets/base/models/3d/block.obj b/cubyz-client/assets/cubyz/models/3d/block.obj similarity index 100% rename from cubyz-client/assets/base/models/3d/block.obj rename to cubyz-client/assets/cubyz/models/3d/block.obj diff --git a/cubyz-client/assets/base/models/block.json b/cubyz-client/assets/cubyz/models/block.json similarity index 100% rename from cubyz-client/assets/base/models/block.json rename to cubyz-client/assets/cubyz/models/block.json diff --git a/cubyz-client/assets/cubyz/textures/crosshair.png b/cubyz-client/assets/cubyz/textures/crosshair.png new file mode 100644 index 0000000000000000000000000000000000000000..510f1eb0f5b2740c82766845e1697cabff0a4ca3 GIT binary patch literal 1462 zcmXw3Yd8}M7+#t%mzK-3&J?3LD{8AI5gl8zj2XglIF;+DNpl-^aV(_Hx|pp)vTU5B zjDvM?Tv~2NE*Tn@dy0}v|#pPuo8f0up}%1AmM7R2C6E#MkK*E1_02h|5}?2b~|5CirZ;;ADU-GC@nrP zIs_0INTJe@)DRlX5_tf5i0tU2ysT>JTs1L%y%#a6M!3x z{tdn}0x;S50tU8C-C;PvbK6Xw+myYV$9C2yb3i-!y1Ug69B9)58Ylo;*s@Sg- zQdw06%A}5SEQwJxT6YbA#bVXTKiKg?_b3#K&yWBH!^Wp72O;0vxVT8uN(>4z{Fs(7r`JzEHdwUm&&P0`TgF`H;p5~{tU zBRF#DPsgw`XAtEk#=w?^F^6nFc%4&UYdYdsx}BSA{zT)OH$hryk1+zFNE9q!W;bul zfPG?Adkgp$I0`e8%{ER6D*+66MThK`4T4t{3U4iOrAqh>1LD-wRL{`R&P=-qo%~NH zo0s8sf(25q=CpiiY014NH8nMi#i~AHYkP;YTFp+jWUDm%Vf(D?apk~8n~t*acD;m` ztB(Hu{*rwt;``?|@{S8odoi=MT$#3upR`IT4`nN{sl zIhysAy_mOy(>ujAN6~0KV^LF6lR+1f@a%;{_Llf0+m~^WiqYappWgktUW}=`TrPKV zdD&_P#3r`a%o>v7B^S(ewvJN%_i3e8NAxLdVnL=CTvqim3E=5dr4=2eY7JpP=Db&PZ1x z+hgonie*eg&OIL!FyHNF#loYIvDJdMooWkB>ennN!NHZ7K*Rff-!^4%yGEAJdaeqtsrUav$ zr`FAMLo8~e;-jNYWV+z+n2@uESvxG084_TI5|oy!kk$5VSREt5b?Vzkv5q8^K%5>( zA@aRR`&f)%+`%z4i?d;UQ1ZLj43gU8h*@Pa1fKMV;|ScFnC!c`?_aB6q`u|@3{#m$ z@ABbpJTLrfNCmz{b)#I!wr=^py48R}e-I_};+uPZ(C4F1y`*eF=-SNe-(_>t%8Ug# M;awd{js+zD2Lny2zyJUM literal 0 HcmV?d00001 diff --git a/cubyz-client/res/cache/cached_tex_dirt.png b/cubyz-client/cache/dirt.png similarity index 100% rename from cubyz-client/res/cache/cached_tex_dirt.png rename to cubyz-client/cache/dirt.png diff --git a/cubyz-client/res/cache/cached_tex_stone.png b/cubyz-client/cache/stone.png similarity index 100% rename from cubyz-client/res/cache/cached_tex_stone.png rename to cubyz-client/cache/stone.png diff --git a/cubyz-client/res/cache/cached_tex_water.png b/cubyz-client/cache/water.png similarity index 100% rename from cubyz-client/res/cache/cached_tex_water.png rename to cubyz-client/cache/water.png diff --git a/cubyz-client/src/io/cubyz/ui/GameOverlay.java b/cubyz-client/src/io/cubyz/ui/GameOverlay.java new file mode 100644 index 00000000..0d792237 --- /dev/null +++ b/cubyz-client/src/io/cubyz/ui/GameOverlay.java @@ -0,0 +1,24 @@ +package io.cubyz.ui; + +import org.jungle.Window; + +public class GameOverlay extends MenuGUI { + + int crosshair; + + @Override + public void init(long nvg) { + crosshair = NGraphics.loadImage("assets/cubyz/textures/crosshair.png"); + } + + @Override + public void render(long nvg, Window win) { + NGraphics.drawImage(crosshair, win.getWidth() / 2 - 16, win.getHeight() / 2 - 16, 32, 32); + } + + @Override + public boolean isFullscreen() { + return false; + } + +} diff --git a/cubyz-client/src/io/cubyz/ui/MainMenuGUI.java b/cubyz-client/src/io/cubyz/ui/MainMenuGUI.java index 852fd56b..3fb3e49c 100644 --- a/cubyz-client/src/io/cubyz/ui/MainMenuGUI.java +++ b/cubyz-client/src/io/cubyz/ui/MainMenuGUI.java @@ -31,6 +31,7 @@ public class MainMenuGUI extends MenuGUI { world.generate(); Cubyz.gameUI.setMenu(null); Cubyz.loadWorld(world); + Cubyz.gameUI.addOverlay(new GameOverlay()); Cubyz.log.info("World Generated!"); }); diff --git a/cubyz-client/src/io/cubyz/ui/NGraphics.java b/cubyz-client/src/io/cubyz/ui/NGraphics.java index 73e3ca9a..16a85b56 100644 --- a/cubyz-client/src/io/cubyz/ui/NGraphics.java +++ b/cubyz-client/src/io/cubyz/ui/NGraphics.java @@ -8,6 +8,7 @@ import java.util.ArrayList; import org.jungle.hud.Font; import org.jungle.hud.Hud; import org.lwjgl.nanovg.NVGColor; +import org.lwjgl.nanovg.NVGPaint; import org.lwjgl.nanovg.NanoVG; import io.cubyz.CubzLogger; @@ -16,6 +17,7 @@ public class NGraphics { private static long nvg; private static NVGColor color = NVGColor.create(); + private static NVGPaint imagePaint = NVGPaint.create(); private static int textAlign = NVG_ALIGN_LEFT | NVG_ALIGN_TOP; private static final boolean LOG_OPERATIONS = false; @@ -26,6 +28,20 @@ public class NGraphics { NGraphics.nvg = nvg; } + public static int loadImage(String path) { + if (LOG_OPERATIONS) + CubzLogger.instance.fine("[NGRAPHICS] Load Image " + path); + return nvgCreateImage(nvg, path, 0); + } + + public static void drawImage(int id, int x, int y, int width, int height) { + imagePaint = nvgImagePattern(nvg, x, y, width, height, 0, id, 1f, imagePaint); + nvgBeginPath(nvg); + nvgRect(nvg, x, y, width, height); + nvgFillPaint(nvg, imagePaint); + nvgFill(nvg); + } + public static void fillCircle(int x, int y, int radius) { if (LOG_OPERATIONS) CubzLogger.instance.fine("[NGRAPHICS] fill circle at " + x + ", " + y + " with radius " + radius); diff --git a/cubyz-client/src/io/cubyz/ui/ToastManager.java b/cubyz-client/src/io/cubyz/ui/ToastManager.java new file mode 100644 index 00000000..8b16106a --- /dev/null +++ b/cubyz-client/src/io/cubyz/ui/ToastManager.java @@ -0,0 +1,8 @@ +package io.cubyz.ui; + +import org.jungle.Window; + +public class ToastManager { + + +} diff --git a/cubyz-client/src/io/cubyz/utils/DiscordIntegration.java b/cubyz-client/src/io/cubyz/utils/DiscordIntegration.java index 8ebbdbaa..f170229a 100644 --- a/cubyz-client/src/io/cubyz/utils/DiscordIntegration.java +++ b/cubyz-client/src/io/cubyz/utils/DiscordIntegration.java @@ -20,7 +20,7 @@ public class DiscordIntegration { public static void startRPC() { DiscordRPC lib = DiscordRPC.INSTANCE; - String appID = "527033701343952896"; //NOTE: Normal > 527033701343952896 + String appID = "527033701343952896"; String steamID = ""; DiscordEventHandlers handlers = new DiscordEventHandlers(); handlers.ready = new OnReady() { diff --git a/cubyz-client/src/io/cubyz/utils/TextureConverter.java b/cubyz-client/src/io/cubyz/utils/TextureConverter.java index 0266a8b2..8abf88c7 100644 --- a/cubyz-client/src/io/cubyz/utils/TextureConverter.java +++ b/cubyz-client/src/io/cubyz/utils/TextureConverter.java @@ -26,8 +26,8 @@ public class TextureConverter { } public static BufferedImage convert(BufferedImage in, String name) { - File cached = new File("res/cache/cached_tex_" + name + ".png"); - File cacheDir = new File("res/cache"); + File cached = new File("cache/" + name.replace('/', '.') + ".png"); + File cacheDir = new File("cache"); if (!cacheDir.exists()) cacheDir.mkdirs(); if (cached.exists()) {