credits and info screen

This commit is contained in:
Sen 2025-03-17 00:08:21 +01:00
parent d4f6d3e4f9
commit 2783aaa2ce

View file

@ -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 ";
"mehr. Optimiert für Geschwindigkeit, Stabilität und" + TextColor.UNKNOWN + "" + TextColor.UNKNOWN + " [Speicherzugriffsfehler]";
private static final String[] AUTHORS = {"Sen"};
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);
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"));
}