From 2aa6d9a6e64538544a30c2aab9fd0cd04cb11735 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Tue, 22 Oct 2024 10:18:07 +0800 Subject: [PATCH] add manifest entries to forge desktop/mobile jar allow launching the jar without launcher if possible --- forge-gui-desktop/pom.xml | 8 ++- .../src/main/java/forge/view/Main.java | 54 +++---------------- forge-gui-mobile-dev/pom.xml | 3 +- forge-gui-mobile-dev/src/forge/app/Main.java | 21 +------- .../src/forge/card/CardRenderer.java | 5 +- 5 files changed, 20 insertions(+), 71 deletions(-) diff --git a/forge-gui-desktop/pom.xml b/forge-gui-desktop/pom.xml index df0e4443d6b..85cf10bf48e 100644 --- a/forge-gui-desktop/pom.xml +++ b/forge-gui-desktop/pom.xml @@ -85,6 +85,9 @@ true true + + java.desktop/java.beans java.desktop/javax.swing.border java.desktop/javax.swing.event java.desktop/sun.swing java.desktop/java.awt.image java.desktop/java.awt.color java.desktop/sun.awt.image java.desktop/javax.swing java.desktop/java.awt java.base/java.util java.base/java.lang java.base/java.lang.reflect java.base/java.text java.desktop/java.awt.font java.base/jdk.internal.misc java.base/sun.nio.ch java.base/java.nio java.base/java.math java.base/java.util.concurrent java.base/java.net + @@ -127,9 +130,12 @@ - forge.view.Main true + + java.desktop/java.beans java.desktop/javax.swing.border java.desktop/javax.swing.event java.desktop/sun.swing java.desktop/java.awt.image java.desktop/java.awt.color java.desktop/sun.awt.image java.desktop/javax.swing java.desktop/java.awt java.base/java.util java.base/java.lang java.base/java.lang.reflect java.base/java.text java.desktop/java.awt.font java.base/jdk.internal.misc java.base/sun.nio.ch java.base/java.nio java.base/java.math java.base/java.util.concurrent java.base/java.net + forge.view.Main + diff --git a/forge-gui-desktop/src/main/java/forge/view/Main.java b/forge-gui-desktop/src/main/java/forge/view/Main.java index 2a1c4d8ab59..e4ab36ca5da 100644 --- a/forge-gui-desktop/src/main/java/forge/view/Main.java +++ b/forge-gui-desktop/src/main/java/forge/view/Main.java @@ -6,12 +6,12 @@ * 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 . */ @@ -23,17 +23,8 @@ import forge.error.ExceptionHandler; import forge.gui.GuiBase; import forge.gui.card.CardReaderExperiments; import forge.util.BuildInfo; -import forge.util.JVMOptions; import io.sentry.Sentry; -import javax.swing.JButton; -import javax.swing.JDialog; -import javax.swing.JOptionPane; -import java.lang.management.ManagementFactory; -import java.lang.management.RuntimeMXBean; -import java.util.ArrayList; -import java.util.List; - /** * Main class for Forge's swing application view. */ @@ -42,37 +33,6 @@ public final class Main { * Main entry point for Forge */ public static void main(final String[] args) { - String javaVersion = System.getProperty("java.version"); - checkJVMArgs(javaVersion, args); - } - static void checkJVMArgs(String javaVersion, String[] args) { - RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean(); - List arguments = runtimeMxBean.getInputArguments(); - - List options = new ArrayList<>(); - JButton ok = new JButton("OK"); - options.add(ok); - JVMOptions.getStringBuilder().append("Java Version: ").append(javaVersion).append("\nArguments: \n"); - for (String a : arguments) { - if (a.startsWith("-agent") || a.startsWith("-javaagent")) - continue; - JVMOptions.getStringBuilder().append(a).append("\n"); - } - JOptionPane pane = new JOptionPane(JVMOptions.getStringBuilder(), JOptionPane.PLAIN_MESSAGE, JOptionPane.DEFAULT_OPTION, null, options.toArray()); - JDialog dlg = pane.createDialog(JOptionPane.getRootFrame(), "Error"); - ok.addActionListener(e -> { - dlg.setVisible(false); - System.exit(0); - }); - dlg.setResizable(false); - - if (!JVMOptions.checkRuntime(arguments)) { - dlg.setVisible(true); - } else { - start(args); - } - } - static void start(final String[] args) { Sentry.init(options -> { options.setEnableExternalConfiguration(true); options.setRelease(BuildInfo.getVersionString()); @@ -88,7 +48,7 @@ public final class Main { //Turn off the Java 2D system's use of Direct3D to improve rendering speed (particularly when Full Screen) System.setProperty("sun.java2d.d3d", "false"); - + //Turn on OpenGl acceleration to improve performance //System.setProperty("sun.java2d.opengl", "True"); @@ -110,7 +70,7 @@ public final class Main { // command line startup here String mode = args[0].toLowerCase(); - switch(mode) { + switch (mode) { case "sim": SimulateMatch.simulate(args); break; @@ -130,8 +90,9 @@ public final class Main { System.exit(0); } + @SuppressWarnings("deprecation") - @Override + @Override protected void finalize() throws Throwable { try { ExceptionHandler.unregisterErrorHandling(); @@ -141,5 +102,6 @@ public final class Main { } // disallow instantiation - private Main() { } + private Main() { + } } diff --git a/forge-gui-mobile-dev/pom.xml b/forge-gui-mobile-dev/pom.xml index 03726cc664d..1f69a13cb61 100644 --- a/forge-gui-mobile-dev/pom.xml +++ b/forge-gui-mobile-dev/pom.xml @@ -134,10 +134,11 @@ - forge.app.Main true + java.desktop/java.beans java.desktop/javax.swing.border java.desktop/javax.swing.event java.desktop/sun.swing java.desktop/java.awt.image java.desktop/java.awt.color java.desktop/sun.awt.image java.desktop/javax.swing java.desktop/java.awt java.base/java.util java.base/java.lang java.base/java.lang.reflect java.base/java.text java.desktop/java.awt.font java.base/jdk.internal.misc java.base/sun.nio.ch java.base/java.nio java.base/java.math java.base/java.util.concurrent java.base/java.net + forge.app.Main splash/logo.gif diff --git a/forge-gui-mobile-dev/src/forge/app/Main.java b/forge-gui-mobile-dev/src/forge/app/Main.java index 99015643ab1..4103f79dc7a 100644 --- a/forge-gui-mobile-dev/src/forge/app/Main.java +++ b/forge-gui-mobile-dev/src/forge/app/Main.java @@ -4,7 +4,6 @@ import com.badlogic.gdx.Gdx; import forge.interfaces.IDeviceAdapter; import forge.util.BuildInfo; import forge.util.FileUtil; -import forge.util.JVMOptions; import forge.util.OperatingSystem; import forge.util.RestartUtil; import org.apache.commons.lang3.tuple.Pair; @@ -17,30 +16,12 @@ import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -import java.lang.management.ManagementFactory; -import java.lang.management.RuntimeMXBean; import java.util.ArrayList; -import java.util.List; public class Main { private static final String versionString = BuildInfo.getVersionString(); public static void main(String[] args) { - checkJVMArgs(System.getProperty("java.version")); - } - - static void checkJVMArgs(String javaVersion) { - RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean(); - List arguments = runtimeMxBean.getInputArguments(); - JVMOptions.getStringBuilder().append("Java Version: ").append(javaVersion).append("\nArguments: \n"); - for (String a : arguments) { - if (a.startsWith("-agent") || a.startsWith("-javaagent")) - continue; - JVMOptions.getStringBuilder().append(a).append("\n"); - } - if (!JVMOptions.checkRuntime(arguments)) { - new DialogWindow("Error", JVMOptions.getStringBuilder().toString()); - } else - new GameLauncher(versionString); + new GameLauncher(versionString); } public static class DesktopAdapter implements IDeviceAdapter { diff --git a/forge-gui-mobile/src/forge/card/CardRenderer.java b/forge-gui-mobile/src/forge/card/CardRenderer.java index b9452a5be02..91253cb501e 100644 --- a/forge-gui-mobile/src/forge/card/CardRenderer.java +++ b/forge-gui-mobile/src/forge/card/CardRenderer.java @@ -815,13 +815,12 @@ public class CardRenderer { g.drawRect(BORDER_THICKNESS, Color.MAGENTA, cx, cy, cw, ch); } //Ability Icons - boolean onbattlefield = ZoneType.Battlefield.equals(card.getZone()); if (unselectable) { g.setAlphaComposite(0.6f); } - if (onbattlefield && onTop) { + if (ZoneType.Battlefield.equals(card.getZone()) && onTop) { drawAbilityIcons(g, card, cx, cy, cw, ch, cx + ((cw * 2) / 2.3f), cy, cw / 5.5f, cw / 5.7f, showAbilityIcons(card)); - } else if (canShow && !onbattlefield && showAbilityIcons(card)) { + } else if (canShow && !ZoneType.Battlefield.equals(card.getZone()) && showAbilityIcons(card)) { //draw indicator for flash or can be cast at instant speed, enabled if show ability icons is enabled String keywordKey = card.getCurrentState().getKeywordKey(); String abilityText = card.getCurrentState().getAbilityText();