From 0839beb98ef79084ea1482ddc85aa2aba910d313 Mon Sep 17 00:00:00 2001 From: Sen Date: Mon, 17 Mar 2025 12:59:45 +0100 Subject: [PATCH] credits screen --- java/src/game/gui/GuiInfo.java | 80 +++++++++++++++++++++++----------- 1 file changed, 55 insertions(+), 25 deletions(-) diff --git a/java/src/game/gui/GuiInfo.java b/java/src/game/gui/GuiInfo.java index 205beb3..116f93a 100644 --- a/java/src/game/gui/GuiInfo.java +++ b/java/src/game/gui/GuiInfo.java @@ -7,46 +7,68 @@ import game.init.Config; import game.log.Log; public class GuiInfo extends Gui { - private static final String INFO = + private static final String VER = TextColor.GREEN + "" + TextColor.BUG + "" + TextColor.BUG + "" + TextColor.BUG + " " + TextColor.VIOLET + "" + Config.VERSION + "" + - TextColor.GREEN + " " + TextColor.BUG + "" + TextColor.BUG + "" + TextColor.BUG + "\n" + - "\n" + - TextColor.LGRAY + "Ein Mod zur Simulation, zum Testen, für Rollenspiele, Multiplayer und vieles mehr." + "\n" + - "Optimiert für Geschwindigkeit, Stabilität und" + TextColor.UNKNOWN + "" + TextColor.UNKNOWN + " [Speicherzugriffsfehler]"; + TextColor.GREEN + " " + TextColor.BUG + "" + TextColor.BUG + "" + TextColor.BUG; + + private static final String INFO = "Ein Spiel zur Simulation, zum Testen, für Rollenspiele, Mehrspieler und vieles mehr." + "\n" + + "Optimiert für Geschwindigkeit, Stabilität und" + TextColor.UNKNOWN + "" + TextColor.UNKNOWN + " [Speicherzugriffsfehler]"; + private static final String HACKED = "Ein weiterer Release von WAAAAAAAAAAAAAAAAAAAAAAAAAAAAGHDRIVE!!!1!!!ONEoneOnetyone!1!!!" + "\n" + + "Update 0.2 - Läuft jetzt auch mit nur 512KB Fast-RAM!"; - 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", + "Guava 33.4.0" + }; + private static final String[] CODE = { + "Albert Pham - WorldEdit (Snippets)", "Joonas Vali - NameGenerator", - "LWJGL 2.9.4-nightly-20150209 - GLUProject" + "LWJGL 2.9.4-nightly-20150209 - Project, Vector*, Matrix*", + "MC 1.8.9" }; - 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()); + public static final GuiInfo INSTANCE = new GuiInfo("Über dieses Programm", getFormat(false)); + public static final GuiInfo HAX = new GuiInfo("Üb3r d1es3n Cr4ck", getFormat(true)); private final String header; private final String info; + + private static String getFormat(boolean hax) { + return getInfo(hax) + "\n\n" + getCredits(hax) + "\n\n" + getLibraries(hax) + "\n\n" + getCode(hax) + "\n\n" + getOldCredits(hax) + "\n\n" + getColors(); + } + + private static String getHeader(boolean hax, String normal, String hacked) { + return (hax ? TextColor.RED : TextColor.YELLOW) + (hax ? hacked : normal) + "\n" + + (hax ? TextColor.CYAN : TextColor.WHITE) + "==========================================+=========================================="; + } private static void addLines(StringBuilder sb, boolean hax, String alternate, String category, String... authors) { sb.append("\n" + (hax ? TextColor.BLUE : TextColor.GRAY) - + (hax ? alternate : category) + ":\n "); + + (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]); } } + + private static String getInfo(boolean hax) { + return getHeader(hax, VER, VER) + "\n" + (hax ? (TextColor.VIOLET + HACKED) : (TextColor.LGRAY + INFO)); + } 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) + "========================================================="); + StringBuilder sb = new StringBuilder(getHeader(hax, "Verwendete Programmbibliotheken", "U$3d 3xpl0its")); for(String lib : LIBRARIES) { - sb.append("\n" + TextColor.LGRAY + " -> " + TextColor.NEON + lib); + sb.append("\n" + TextColor.LGRAY + "-> " + TextColor.NEON + lib); + } + return sb.toString(); + } + + private static String getCode(boolean hax) { + StringBuilder sb = new StringBuilder(getHeader(hax, "Zusätzlicher Quellcode", "M0ar 3xpl01ts")); + for(String lib : CODE) { + sb.append("\n" + TextColor.LGRAY + "-> " + TextColor.NEON + lib); } return sb.toString(); } @@ -65,17 +87,14 @@ public class GuiInfo extends Gui { return sb.toString(); } - private static String getCredits(boolean hax) { - StringBuilder sb = new StringBuilder((hax ? TextColor.RED : TextColor.YELLOW) + (hax ? "Das Team -- TCQ" : "Mitwirkende") + "\n" + - (hax ? TextColor.CYAN : TextColor.WHITE) + "========================================================="); + private static String getOldCredits(boolean hax) { + StringBuilder sb = new StringBuilder(getHeader(hax, "Ursprüngliche Mitwirkende", "Das Team -- Nicht TCQ")); - 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", + addLines(sb, hax, "Absolut größter Lamer des Universums", "Spielidee und ursprüngliche Umsetzung", "Markus Persson"); addLines(sb, hax, "Crack und weitere Programmierung", "Spiel-Design, Programmierung und Grafiken", "Jens Bergensten", "Nathan Adams", "Ryan Holtz", "Michael Stoyke"); - addLines(sb, hax, "Ressourcen entschlüsselt von", "Programmierung", + addLines(sb, hax, "Entschlüsselung von Ressourcen", "Programmierung", "Erik Broes", "Paul Spooner", "Ryan Hitchman", "Elliot Segal"); addLines(sb, hax, "Cracktro, Grafiken und Intromusik", "Töne und Geräusche", "Daniel Rosenfeld", "freesound.org"); @@ -83,8 +102,19 @@ public class GuiInfo extends Gui { "Carl Manneh", "Daniel Kaplan", "Lydia Winters"); addLines(sb, hax, "Server und Hosting", "Zahlen und Statistiken", "Patrick Geuder"); - addLines(sb, hax, "Weiterer Dank geht an", "Entwickler von Mo' Creatures (Pferde usw.)", + addLines(sb, hax, "Weiterer Dank und Grüße", "Entwickler von Mo' Creatures (Pferde usw.)", "John Olarte", "Kent Christian Jensen", "Dan Roque"); + + return sb.toString(); + } + + private static String getCredits(boolean hax) { + StringBuilder sb = new StringBuilder(getHeader(hax, "Mitwirkende dieses Programms", "Das Team -- TCQ")); + + addLines(sb, hax, "Die dunklen Herrscher", "Quellcode, Design, Grafiken, Refactoring und Code-Cleanup", + TextColor.CYAN + "Sen der \"kleine\" Dämon " + TextColor.CRIMSON + TextColor.DEMON + TextColor.BLACK + TextColor.BLKHEART, + TextColor.RED + "Shen, Herrscher des Schattenlandes " + TextColor.CRIMSON + TextColor.IMP); + return sb.toString(); }