JAL-3300 instant Splash screen on getdown
authorBen Soares <bsoares@dundee.ac.uk>
Fri, 14 Jun 2019 16:25:36 +0000 (17:25 +0100)
committerBen Soares <bsoares@dundee.ac.uk>
Fri, 14 Jun 2019 16:25:36 +0000 (17:25 +0100)
getdown/lib/getdown-core-1.8.3-SNAPSHOT.jar
getdown/lib/getdown-launcher.jar
getdown/src/getdown/core/src/main/java/com/threerings/getdown/util/Config.java
getdown/src/getdown/launcher/pom.xml
getdown/src/getdown/launcher/src/main/java/com/threerings/getdown/launcher/Getdown.java
getdown/src/getdown/launcher/src/main/java/com/threerings/getdown/launcher/GetdownApp.java
getdown/src/getdown/pom.xml
j11lib/getdown-core.jar
j8lib/getdown-core.jar

index 4a90866..2949778 100644 (file)
Binary files a/getdown/lib/getdown-core-1.8.3-SNAPSHOT.jar and b/getdown/lib/getdown-core-1.8.3-SNAPSHOT.jar differ
index aeb6e0c..e57d4e8 100644 (file)
Binary files a/getdown/lib/getdown-launcher.jar and b/getdown/lib/getdown-launcher.jar differ
index e20bae2..6ad2b4f 100644 (file)
@@ -436,8 +436,8 @@ public class Config
         } else if (allowedReplaceKeys.contains(mkey)){
           
           // replace value
-          
           _data.put(key, nvalue);
+          
         } else {
           log.warning("Not merging key '"+key+"' into config");
         }
index 10e1aa6..e77061a 100644 (file)
@@ -40,6 +40,7 @@
 
   <build>
     <plugins>
+      <!--
       <plugin>
         <groupId>com.github.wvengen</groupId>
         <artifactId>proguard-maven-plugin</artifactId>
           <addMavenDescriptor>false</addMavenDescriptor>
         </configuration>
       </plugin>
-
+      -->
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-jar-plugin</artifactId>
             <goals>
               <goal>shade</goal>
             </goals>
+            <!--
+            <configuration>
+              <minimizeJar>true</minimizeJar>
+              <filters>
+                <filter>
+                  <artifact>install4j-runtime</artifact>
+                  <includes>
+                    <include>**</include>
+                  </includes>
+                </filter>
+              </filters>
+            </configuration>
+            -->
           </execution>
         </executions>
       </plugin>
index 539b47e..5750fce 100644 (file)
@@ -9,6 +9,7 @@ import java.awt.BorderLayout;
 import java.awt.Container;
 import java.awt.Dimension;
 import java.awt.EventQueue;
+import java.awt.Graphics;
 import java.awt.GraphicsEnvironment;
 import java.awt.Image;
 import java.awt.event.ActionEvent;
@@ -32,6 +33,7 @@ import javax.swing.AbstractAction;
 import javax.swing.JButton;
 import javax.swing.JFrame;
 import javax.swing.JLayeredPane;
+import javax.swing.JPanel;
 
 import com.samskivert.swing.util.SwingUtil;
 import com.threerings.getdown.data.*;
@@ -748,9 +750,10 @@ public abstract class Getdown extends Thread
         if (_silent || (_container != null && !reinit)) {
             return;
         }
-
+/*
         EventQueue.invokeLater(new Runnable() {
             public void run () {
+*/
                 if (_container == null || reinit) {
                     if (_container == null) {
                         _container = createContainer();
@@ -759,6 +762,42 @@ public abstract class Getdown extends Thread
                     }
                     configureContainer();
                     _layers = new JLayeredPane();
+                    
+                    
+                    
+                    // added in the instant display of a splashscreen
+                    try {
+                      readConfig(false);
+                      Graphics g = _container.getGraphics();
+                      String imageFile = _ifc.backgroundImage;
+                      BufferedImage bgImage = loadImage(_ifc.backgroundImage);
+                      int bwidth = bgImage.getWidth();
+                      int bheight = bgImage.getHeight();
+
+                      instantSplashPane = new JPanel() {
+                        @Override
+                        protected void paintComponent(Graphics g)
+                        {
+                          super.paintComponent(g);
+                          // attempt to draw a background image...
+                          if (bgImage != null) {
+                            g.drawImage(bgImage, 0, 0, this);
+                          }
+                        }
+                      };
+
+                      instantSplashPane.setSize(bwidth,bheight);
+                      instantSplashPane.setPreferredSize(new Dimension(bwidth,bheight));
+
+                      _layers.add(instantSplashPane, Integer.valueOf(0));
+                    
+                      _container.setPreferredSize(new Dimension(bwidth,bheight));
+                    } catch (Exception e) {
+                      log.warning("Failed to set instant background image", "bg", _ifc.backgroundImage);
+                    }
+
+                    
+                    
                     _container.add(_layers, BorderLayout.CENTER);
                     _patchNotes = new JButton(new AbstractAction(_msgs.getString("m.patch_notes")) {
                         @Override public void actionPerformed (ActionEvent event) {
@@ -768,12 +807,14 @@ public abstract class Getdown extends Thread
                     _patchNotes.setFont(StatusPanel.FONT);
                     _layers.add(_patchNotes);
                     _status = new StatusPanel(_msgs);
-                    _layers.add(_status);
+                    _layers.add(_status, Integer.valueOf(10));
                     initInterface();
                 }
                 showContainer();
+/*
             }
         });
+*/
     }
 
     /**
@@ -804,13 +845,12 @@ public abstract class Getdown extends Thread
 
     protected RotatingBackgrounds getBackground ()
     {
-        if (_ifc.rotatingBackgrounds != null) {
+        if (_ifc.rotatingBackgrounds != null && _ifc.rotatingBackgrounds.size() > 0) {
             if (_ifc.backgroundImage != null) {
                 log.warning("ui.background_image and ui.rotating_background were both specified. " +
                             "The background image is being used.");
             }
-            return new RotatingBackgrounds(loadImage(_ifc.backgroundImage));
-            //return new RotatingBackgrounds(_ifc.rotatingBackgrounds, _ifc.errorBackground, Getdown.this);
+            return new RotatingBackgrounds(_ifc.rotatingBackgrounds, _ifc.errorBackground, Getdown.this);
         } else if (_ifc.backgroundImage != null) {
             return new RotatingBackgrounds(loadImage(_ifc.backgroundImage));
         } else {
@@ -1044,6 +1084,7 @@ public abstract class Getdown extends Thread
     protected ResourceBundle _msgs;
     protected Container _container;
     protected JLayeredPane _layers;
+    protected JPanel instantSplashPane;
     protected StatusPanel _status;
     protected JButton _patchNotes;
     protected AbortPanel _abort;
index 5e168ff..367db7c 100644 (file)
@@ -165,7 +165,7 @@ public class GetdownApp
           log.warning("Failed to set background", "bg", _ifc.background, e);
         }
 
-        if (_ifc.iconImages != null) {
+        if (_ifc.iconImages != null && _ifc.iconImages.size() > 0) {
           ArrayList<Image> icons = new ArrayList<>();
           for (String path : _ifc.iconImages) {
             Image img = loadImage(path);
index 17cb8f6..f19fa54 100644 (file)
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-compiler-plugin</artifactId>
-          <version>3.7.0</version>
+          <version>3.8.1</version>
           <configuration>
-            <source>1.7</source>
-            <target>1.7</target>
+            <source>1.8</source>
+            <target>1.8</target>
             <fork>true</fork>
             <showDeprecation>true</showDeprecation>
             <showWarnings>true</showWarnings>
index 4a90866..2949778 100644 (file)
Binary files a/j11lib/getdown-core.jar and b/j11lib/getdown-core.jar differ
index 4a90866..2949778 100644 (file)
Binary files a/j8lib/getdown-core.jar and b/j8lib/getdown-core.jar differ