diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml index 294c147..8ebd882 100644 --- a/.idea/uiDesigner.xml +++ b/.idea/uiDesigner.xml @@ -32,17 +32,17 @@ + + + + + - - - - - diff --git a/firestar/src/main/java/Beaker.form b/firestar/src/main/java/Beaker.form new file mode 100644 index 0000000..46fda61 --- /dev/null +++ b/firestar/src/main/java/Beaker.form @@ -0,0 +1,122 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/firestar/src/main/java/Beaker.java b/firestar/src/main/java/Beaker.java new file mode 100644 index 0000000..330ede1 --- /dev/null +++ b/firestar/src/main/java/Beaker.java @@ -0,0 +1,59 @@ +/* + * Firestar Mod Manager + * Copyright (C) 2025 Canithesis Interactive + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see https://www.gnu.org/licenses/. + */ + +import javax.imageio.ImageIO; +import javax.swing.*; +import java.awt.*; +import java.io.IOException; + +import static javax.swing.WindowConstants.DISPOSE_ON_CLOSE; + +public class Beaker { + Image logo; + private JLabel splashImg; + JFrame frame = new JFrame(); + JPanel frameContainer; + + public Beaker() throws InterruptedException { + try { + logo = ImageIO.read(Main.class.getResourceAsStream("/splash"+(int)(Math.random()*11)+".png")).getScaledInstance(640, 400, Image.SCALE_SMOOTH); + } catch (IOException e) { + System.out.println("ERROR: Uhhhhhhhhhhh........... what?"); + return; + } + + frame.add(frameContainer); // initialize window contents -- will be handled by IntelliJ IDEA + splashImg.setIcon(new ImageIcon(logo));splashImg.setText(""); + + // display window + frame.setSize(640, 480); + frame.setTitle("Firestar Mod Manager"); + frame.setUndecorated(true); + frame.setResizable(false); + frame.setAlwaysOnTop(true); + frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); + frame.setLayout(new GridLayout()); + frame.setLocationRelativeTo(null); + frame.setVisible(true); + + Thread.sleep(2000); + + frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); + frame.dispose(); + } +} diff --git a/firestar/src/main/java/Main.java b/firestar/src/main/java/Main.java index bc99f0b..702ac9e 100644 --- a/firestar/src/main/java/Main.java +++ b/firestar/src/main/java/Main.java @@ -108,7 +108,7 @@ public class Main { public static Font fExo2; public static BufferedImage windowIcon; - public static void main(String[] args) { + public static void main(String[] args) throws InterruptedException { // get Nightly information from Jenkins automatic builds if (Main.class.getResource("/jenkinsVersionString") != null) { System.out.println("=== This is a NIGHTLY BUILD! ===\n"); @@ -140,6 +140,9 @@ public class Main { "You should have received a copy of the GNU General Public License\n" + "along with this program. If not, see https://www.gnu.org/licenses/.\n\n\n\n"); + // display splash screen + new Beaker(); + // load global assets try { fExo2 = Font.createFont(Font.TRUETYPE_FONT, Main.class.getResourceAsStream("/exo2.ttf")); diff --git a/firestar/src/main/resources/splash0.png b/firestar/src/main/resources/splash0.png new file mode 100644 index 0000000..7962bec Binary files /dev/null and b/firestar/src/main/resources/splash0.png differ diff --git a/firestar/src/main/resources/splash1.png b/firestar/src/main/resources/splash1.png new file mode 100644 index 0000000..d252524 Binary files /dev/null and b/firestar/src/main/resources/splash1.png differ diff --git a/firestar/src/main/resources/splash10.png b/firestar/src/main/resources/splash10.png new file mode 100644 index 0000000..09dbc0c Binary files /dev/null and b/firestar/src/main/resources/splash10.png differ diff --git a/firestar/src/main/resources/splash2.png b/firestar/src/main/resources/splash2.png new file mode 100644 index 0000000..6817836 Binary files /dev/null and b/firestar/src/main/resources/splash2.png differ diff --git a/firestar/src/main/resources/splash3.png b/firestar/src/main/resources/splash3.png new file mode 100644 index 0000000..adf836b Binary files /dev/null and b/firestar/src/main/resources/splash3.png differ diff --git a/firestar/src/main/resources/splash4.png b/firestar/src/main/resources/splash4.png new file mode 100644 index 0000000..fb1d212 Binary files /dev/null and b/firestar/src/main/resources/splash4.png differ diff --git a/firestar/src/main/resources/splash5.png b/firestar/src/main/resources/splash5.png new file mode 100644 index 0000000..001ed0a Binary files /dev/null and b/firestar/src/main/resources/splash5.png differ diff --git a/firestar/src/main/resources/splash6.png b/firestar/src/main/resources/splash6.png new file mode 100644 index 0000000..0316303 Binary files /dev/null and b/firestar/src/main/resources/splash6.png differ diff --git a/firestar/src/main/resources/splash7.png b/firestar/src/main/resources/splash7.png new file mode 100644 index 0000000..4334790 Binary files /dev/null and b/firestar/src/main/resources/splash7.png differ diff --git a/firestar/src/main/resources/splash8.png b/firestar/src/main/resources/splash8.png new file mode 100644 index 0000000..7b254f8 Binary files /dev/null and b/firestar/src/main/resources/splash8.png differ diff --git a/firestar/src/main/resources/splash9.png b/firestar/src/main/resources/splash9.png new file mode 100644 index 0000000..d2b2517 Binary files /dev/null and b/firestar/src/main/resources/splash9.png differ