From 2783aaa2ce0ae3d04e044f46e256143a6a2803ca Mon Sep 17 00:00:00 2001 From: Sen Date: Mon, 17 Mar 2025 00:08:21 +0100 Subject: [PATCH] credits and info screen --- java/src/game/gui/GuiInfo.java | 88 +++++++++++++++++----------------- 1 file changed, 43 insertions(+), 45 deletions(-) diff --git a/java/src/game/gui/GuiInfo.java b/java/src/game/gui/GuiInfo.java index 3678b79..87df427 100644 --- a/java/src/game/gui/GuiInfo.java +++ b/java/src/game/gui/GuiInfo.java @@ -4,6 +4,7 @@ import game.color.TextColor; import game.gui.element.ActButton; import game.gui.element.TransparentBox; import game.init.Config; +import game.log.Log; public class GuiInfo extends Gui { private static final String INFO = @@ -11,54 +12,57 @@ public class GuiInfo extends Gui { TextColor.GREEN + " " + TextColor.BUG + "" + TextColor.BUG + "" + TextColor.BUG + "\n" + "\n" + TextColor.LGRAY + "Ein kleine Anwendung zur Simulation, zum Testen, für Spiele, Musik und vieles" + "\n" + - "mehr. Optimiert für Geschwindigkeit, Stabilität und" + TextColor.UNKNOWN + "" + TextColor.UNKNOWN + " [Speicherzugriffsfehler]" + "\n" + - "\n" + - TextColor.CYAN + "Geschrieben von Sen dem \"kleinen\" Dämonen " + TextColor.CRIMSON + TextColor.DEMON + TextColor.BLACK + TextColor.BLKHEART + "\n" + - "\n" + - TextColor.YELLOW + "Verwendete Programmbibliotheken:" + "\n" + - TextColor.LGRAY + " -> " + TextColor.NEON + "LWJGL 3.3.6+1 (GLFW + OpenGL)" + "\n" + - TextColor.LGRAY + " -> " + TextColor.NEON + "Netty 4.1.119-Final" + "\n" + - TextColor.LGRAY + " -> " + TextColor.NEON + "Guava 33.4.0" + "\n" + - TextColor.LGRAY + " -> " + TextColor.NEON + "tjglu (Modifiziert: LWJGL 2.9.4-nightly-20150209)" + "\n" + -// "\n" + -// TextColor.YELLOW + "Verwendeter Compiler: " + "\n" + -// TextColor.LGRAY + " -> " + TextColor.NEON + BUILD_COMP + "\n" + -// "\n" + -// TextColor.YELLOW + "Kompiliert auf System: " + "\n" + -// TextColor.LGRAY + " -> " + TextColor.NEON + BUILD_SYS + "\n" + - "\n" + - "\n" + - TextColor.BLACK + "#0 " + TextColor.DGRAY + "#1 " + TextColor.GRAY + "#2 " + TextColor.LGRAY + "#3 " + TextColor.WHITE + "#4 " + TextColor.RED + "#5 " + TextColor.GREEN + "#6 " + - TextColor.BLUE + "#7 " + TextColor.YELLOW + "#8 " + TextColor.MAGENTA + "#9 " + TextColor.CYAN + "#A " + TextColor.VIOLET + "#B " + TextColor.ORANGE + "#C " + TextColor.CRIMSON + "#D " + - TextColor.MIDNIGHT + "#E " + TextColor.NEON + "#F " + TextColor.BROWN + "#G " + TextColor.DBROWN + "#H " + TextColor.DGREEN + "#I " + TextColor.DRED + "#J " + TextColor.DMAGENTA + "#K " + - TextColor.DVIOLET + "#L " + TextColor.ORK + "#M " + TextColor.ACID + "#N "; - - private static final String[] AUTHORS = {"Sen"}; + "mehr. Optimiert für Geschwindigkeit, Stabilität und" + TextColor.UNKNOWN + "" + TextColor.UNKNOWN + " [Speicherzugriffsfehler]"; - public static final GuiInfo INSTANCE = new GuiInfo("Über dieses Programm", INFO); + private static final String[] AUTHORS = {TextColor.CYAN + "Sen der \"kleine\" Dämon " + TextColor.CRIMSON + TextColor.DEMON + TextColor.BLACK + TextColor.BLKHEART}; + private static final String[] LIBRARIES = {"LWJGL 3.3.6+1 (GLFW + OpenGL)", "Netty 4.1.119-Final", "Guava 33.4.0", "Albert Pham - WorldEdit", "Joonas Vali - NameGenerator", "LWJGL 2.9.4-nightly-20150209 - GLUProject"}; + + public static final GuiInfo INSTANCE = new GuiInfo("Über dieses Programm", INFO + "\n\n" + getLibraries(false) + "\n\n" + getCredits(false) + "\n\n" + getColors()); + public static final GuiInfo HAX = new GuiInfo("Üb3r d1es3n Cr4ck", INFO + "\n\n" + getLibraries(true) + "\n\n" + getCredits(true) + "\n\n" + getColors()); private final String header; private final String info; private static void addLines(StringBuilder sb, boolean hax, String alternate, String category, String... authors) { - sb.append((hax ? TextColor.BLUE : TextColor.GRAY) - + (hax ? alternate : category) + ":\n"); - sb.append((hax ? TextColor.DVIOLET : TextColor.WHITE) + " "); - for(String author : authors) { - if(sb.length() > 0) - sb.append(", "); - sb.append(author); + sb.append("\n" + (hax ? TextColor.BLUE : TextColor.GRAY) + + (hax ? alternate : category) + ":\n "); + for(int z = 0; z < authors.length; z++) { + if(z > 0) + sb.append((hax ? TextColor.VIOLET : TextColor.GRAY) + ", "); + sb.append((hax ? TextColor.DVIOLET : TextColor.WHITE) + authors[z]); } - sb.append("\n"); + } + + private static String getLibraries(boolean hax) { + StringBuilder sb = new StringBuilder((hax ? TextColor.RED : TextColor.YELLOW) + (hax ? "Genutzte Exploits" : "Verwendete Programmbibliotheken und Quellcode") + "\n" + + (hax ? TextColor.CYAN : TextColor.WHITE) + "========================================================="); + for(String lib : LIBRARIES) { + sb.append("\n" + TextColor.LGRAY + " -> " + TextColor.NEON + lib); + } + return sb.toString(); + } + + private static String getColors() { + StringBuilder sb = new StringBuilder(); + int num = 0; + for(TextColor color : TextColor.values()) { + if(num > 0) + sb.append(' '); + if((color.code >= Log.CHR_COLORS1 && color.code <= Log.CHR_COLORE1) || (color.code >= Log.CHR_COLORS2 && color.code <= Log.CHR_COLORE2)) { + sb.append(color + "#" + (char)(num < 10 ? ('0' + num) : ('A' + (num - 10)))); + num++; + } + } + return sb.toString(); } private static String getCredits(boolean hax) { - StringBuilder sb = new StringBuilder(); - sb.append(" " + (hax ? TextColor.CYAN : TextColor.WHITE) + "=============================\n"); - sb.append(" " + (hax ? TextColor.RED : TextColor.YELLOW) + (hax ? "Das Team -- TCQ" : "Mitwirkende") + "\n"); - sb.append(" " + (hax ? TextColor.CYAN : TextColor.WHITE) + "=============================\n"); - sb.append("\n"); - addLines(sb, hax, "Absolut größter Lamer des Universums", "Ursprünglich erstellt von", + StringBuilder sb = new StringBuilder((hax ? TextColor.RED : TextColor.YELLOW) + (hax ? "Das Team -- TCQ" : "Mitwirkende") + "\n" + + (hax ? TextColor.CYAN : TextColor.WHITE) + "========================================================="); + + addLines(sb, hax, "Die dunklen Herrscher", "Mod geschrieben und designt von", + AUTHORS); + addLines(sb, hax, "Absolut größter Lamer des Universums", "Ursprünglich geschaffen von", "Markus Persson"); addLines(sb, hax, "Crack und weitere Programmierung", "Spiel-Design, Programmierung und Grafiken", "Jens Bergensten", "Nathan Adams", "Ryan Holtz", "Michael Stoyke"); @@ -72,12 +76,6 @@ public class GuiInfo extends Gui { "Patrick Geuder"); addLines(sb, hax, "Weiterer Dank geht an", "Entwickler von Mo' Creatures (Pferde usw.)", "John Olarte", "Kent Christian Jensen", "Dan Roque"); - addLines(sb, hax, "Genutzte Exploits", "Weiterer Quellcode", - "Albert Pham - WorldEdit", "Joonas Vali - NameGenerator"); - addLines(sb, hax, "Der dunkle Herrscher", "Mod erstellt von", - AUTHORS); - addLines(sb, hax, "Verwendete Programme und Tools", "Verwendete Technologien", - "Java 8 (Sun, Oracle)", "LWJGL 2", "JOrbis (JCraft)", "\"3D Sound System\" (Paul Lamb)"); return sb.toString(); } @@ -87,7 +85,7 @@ public class GuiInfo extends Gui { } public void init(int width, int height) { - this.add(new TransparentBox(0, 0, width, height - 24, this.info)); + this.add(new TransparentBox(10, 10, width - 20, height - 44, this.info)); this.add(new ActButton(0, height - 24, width, 24, GuiMenu.INSTANCE, "Zurück")); }