diff --git a/.gitattributes b/.gitattributes
index 97d2b9dbc31..68c9c7aa686 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -247,7 +247,6 @@ forge-game/.settings/org.eclipse.jdt.core.prefs -text
forge-game/.settings/org.eclipse.m2e.core.prefs -text
forge-game/pom.xml -text
forge-game/src/main/java/forge/Command.java svneol=native#text/plain
-forge-game/src/main/java/forge/Constant.java svneol=native#text/plain
forge-game/src/main/java/forge/ImageKeys.java -text
forge-game/src/main/java/forge/game/CardTraitBase.java -text
forge-game/src/main/java/forge/game/Game.java -text
diff --git a/forge-game/src/main/java/forge/Constant.java b/forge-game/src/main/java/forge/Constant.java
deleted file mode 100644
index a2225037c7b..00000000000
--- a/forge-game/src/main/java/forge/Constant.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Forge: Play Magic: the Gathering.
- * Copyright (C) 2011 Forge Team
- *
- * 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 .
- */
-package forge;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- *
- * Constant interface.
- *
- *
- * @author Forge
- * @version $Id$
- */
-public final class Constant {
- // used to pass information between the GUI screens
- /**
- * The Class Runtime.
- */
- public static class Preferences {
- /** The Constant DevMode. */
- // one for normal mode, one for quest mode
- public static boolean DEV_MODE;
- /** The Constant UpldDrft. */
- public static boolean UPLOAD_DRAFT;
-
- }
-
- public static class Runtime {
- /** The Constant NetConn. */
- public static volatile boolean NET_CONN = false;
-
- /** The Constant width. */
- public static final int WIDTH = 300;
-
- /** The Constant height. */
- public static final int HEIGHT = 0;
- }
-
-
- /**
- * The Interface Keywords.
- */
- public static class Keywords {
-
- /** The loaded. */
- public static final boolean[] LOADED = { false };
-
- /** The Non stacking list. */
- public static final List NON_STACKING_LIST = new ArrayList();
- }
-
-} // Constant
-
-
diff --git a/forge-game/src/main/java/forge/game/card/CardUtil.java b/forge-game/src/main/java/forge/game/card/CardUtil.java
index 261d0d89df0..5aa7ee98d76 100644
--- a/forge-game/src/main/java/forge/game/card/CardUtil.java
+++ b/forge-game/src/main/java/forge/game/card/CardUtil.java
@@ -17,7 +17,6 @@
*/
package forge.game.card;
-import forge.Constant;
import forge.ImageKeys;
import forge.card.CardCharacteristicName;
import forge.card.ColorSet;
@@ -40,6 +39,8 @@ public final class CardUtil {
// disable instantiation
private CardUtil() { }
+ public static final List NON_STACKING_LIST = new ArrayList();
+
public static ColorSet getColors(final Card c) {
return c.determineColor();
}
@@ -51,7 +52,7 @@ public final class CardUtil {
}
return !kw.startsWith("Protection") && !kw.startsWith("CantBeBlockedBy")
- && !Constant.Keywords.NON_STACKING_LIST.contains(kw);
+ && !NON_STACKING_LIST.contains(kw);
}
public static String getShortColorsString(final Iterable colors) {
diff --git a/forge-gui/src/main/java/forge/control/FControl.java b/forge-gui/src/main/java/forge/control/FControl.java
index 89efe2c0c5f..1c46c83f1d8 100644
--- a/forge-gui/src/main/java/forge/control/FControl.java
+++ b/forge-gui/src/main/java/forge/control/FControl.java
@@ -17,7 +17,6 @@
*/
package forge.control;
-import forge.Constant.Preferences;
import forge.FThreads;
import forge.ImageCache;
import forge.Singletons;
@@ -492,7 +491,7 @@ public enum FControl implements KeyEventDispatcher {
for (final VField field : VMatchUI.SINGLETON_INSTANCE.getFieldViews()) {
- field.getDetailsPanel().getLblLibrary().setHoverable(Preferences.DEV_MODE);
+ field.getDetailsPanel().getLblLibrary().setHoverable(ForgePreferences.DEV_MODE);
}
// per player observers were set in CMatchUI.SINGLETON_INSTANCE.initMatch
diff --git a/forge-gui/src/main/java/forge/gui/home/settings/CSubmenuPreferences.java b/forge-gui/src/main/java/forge/gui/home/settings/CSubmenuPreferences.java
index e786eecf9a7..b708a7bd0be 100644
--- a/forge-gui/src/main/java/forge/gui/home/settings/CSubmenuPreferences.java
+++ b/forge-gui/src/main/java/forge/gui/home/settings/CSubmenuPreferences.java
@@ -1,7 +1,6 @@
package forge.gui.home.settings;
import forge.Command;
-import forge.Constant.Preferences;
import forge.Singletons;
import forge.ai.AiProfileUtil;
import forge.control.FControl.CloseAction;
@@ -55,7 +54,7 @@ public enum CSubmenuPreferences implements ICDoc {
public void itemStateChanged(final ItemEvent arg0) {
final boolean toggle = view.getCbDevMode().isSelected();
prefs.setPref(FPref.DEV_MODE_ENABLED, String.valueOf(toggle));
- Preferences.DEV_MODE = toggle;
+ ForgePreferences.DEV_MODE = toggle;
prefs.save();
}
});
diff --git a/forge-gui/src/main/java/forge/gui/match/controllers/CField.java b/forge-gui/src/main/java/forge/gui/match/controllers/CField.java
index 0524b7dca6f..70d3c854e3d 100644
--- a/forge-gui/src/main/java/forge/gui/match/controllers/CField.java
+++ b/forge-gui/src/main/java/forge/gui/match/controllers/CField.java
@@ -18,8 +18,8 @@
package forge.gui.match.controllers;
import com.google.common.base.Function;
+
import forge.Command;
-import forge.Constant.Preferences;
import forge.Singletons;
import forge.game.Game;
import forge.game.card.Card;
@@ -34,6 +34,7 @@ import forge.gui.input.InputPayMana;
import forge.gui.match.ZoneAction;
import forge.gui.match.views.VField;
import forge.gui.player.HumanPlay;
+import forge.properties.ForgePreferences;
import java.awt.event.ActionEvent;
import java.awt.event.MouseAdapter;
@@ -72,7 +73,7 @@ public class CField implements ICDoc {
ZoneAction handAction = new ZoneAction(player.getZone(ZoneType.Hand), MatchConstants.HUMANHAND) {
@Override
public void actionPerformed(ActionEvent e) {
- if ( player.getLobbyPlayer() == viewer || Preferences.DEV_MODE || player.hasKeyword("Play with your hand revealed."))
+ if ( player.getLobbyPlayer() == viewer || ForgePreferences.DEV_MODE || player.hasKeyword("Play with your hand revealed."))
super.actionPerformed(e);
}
};
@@ -80,7 +81,7 @@ public class CField implements ICDoc {
ZoneAction libraryAction = new ZoneAction(player.getZone(ZoneType.Library), MatchConstants.HUMANLIBRARY) {
@Override
public void actionPerformed(ActionEvent e) {
- if (Preferences.DEV_MODE)
+ if (ForgePreferences.DEV_MODE)
super.actionPerformed(e);
}
};
diff --git a/forge-gui/src/main/java/forge/gui/player/LobbyPlayerHuman.java b/forge-gui/src/main/java/forge/gui/player/LobbyPlayerHuman.java
index 6c3b5d9ade2..4d1b4dcac7a 100644
--- a/forge-gui/src/main/java/forge/gui/player/LobbyPlayerHuman.java
+++ b/forge-gui/src/main/java/forge/gui/player/LobbyPlayerHuman.java
@@ -1,6 +1,5 @@
package forge.gui.player;
-import forge.Constant.Preferences;
import forge.Singletons;
import forge.game.Game;
import forge.game.player.LobbyPlayer;
@@ -8,6 +7,7 @@ import forge.game.player.Player;
import forge.game.player.PlayerController;
import forge.gui.FNetOverlay;
import forge.gui.GuiDisplayUtil;
+import forge.properties.ForgePreferences;
import forge.properties.ForgePreferences.FPref;
public class LobbyPlayerHuman extends LobbyPlayer {
@@ -30,7 +30,7 @@ public class LobbyPlayerHuman extends LobbyPlayer {
Player player = new Player(GuiDisplayUtil.personalizeHuman(getName()), game);
player.setFirstController(new PlayerControllerHuman(game, player, this));
- if( Preferences.DEV_MODE && Singletons.getModel().getPreferences().getPrefBoolean(FPref.DEV_UNLIMITED_LAND))
+ if( ForgePreferences.DEV_MODE && Singletons.getModel().getPreferences().getPrefBoolean(FPref.DEV_UNLIMITED_LAND))
player.canCheatPlayUnlimitedLands = true;
return player;
diff --git a/forge-gui/src/main/java/forge/gui/toolbox/special/PlayerDetailsPanel.java b/forge-gui/src/main/java/forge/gui/toolbox/special/PlayerDetailsPanel.java
index f11006392e9..3be988e2b04 100644
--- a/forge-gui/src/main/java/forge/gui/toolbox/special/PlayerDetailsPanel.java
+++ b/forge-gui/src/main/java/forge/gui/toolbox/special/PlayerDetailsPanel.java
@@ -1,7 +1,7 @@
package forge.gui.toolbox.special;
import com.google.common.base.Function;
-import forge.Constant.Preferences;
+
import forge.card.MagicColor;
import forge.game.mana.ManaPool;
import forge.game.player.Player;
@@ -12,10 +12,13 @@ import forge.gui.toolbox.FLabel;
import forge.gui.toolbox.FSkin;
import forge.gui.toolbox.FSkin.SkinProp;
import forge.gui.toolbox.FSkin.SkinnedPanel;
+import forge.properties.ForgePreferences;
import net.miginfocom.swing.MigLayout;
+
import org.apache.commons.lang3.tuple.Pair;
import javax.swing.*;
+
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
@@ -210,7 +213,7 @@ public class PlayerDetailsPanel extends JPanel {
lblExile.setHoverable(true);
lblExile.addMouseListener(new MouseAdapter() { @Override public void mousePressed(final MouseEvent e) { exileAction.actionPerformed(null); } } );
- if (Preferences.DEV_MODE) {
+ if (ForgePreferences.DEV_MODE) {
lblLibrary.setHoverable(true);
lblLibrary.addMouseListener(new MouseAdapter() { @Override public void mousePressed(final MouseEvent e) { libraryAction.actionPerformed(null); } } );
}
diff --git a/forge-gui/src/main/java/forge/limited/BoosterDraft.java b/forge-gui/src/main/java/forge/limited/BoosterDraft.java
index b169ea61800..60ff7679786 100644
--- a/forge-gui/src/main/java/forge/limited/BoosterDraft.java
+++ b/forge-gui/src/main/java/forge/limited/BoosterDraft.java
@@ -18,7 +18,7 @@
package forge.limited;
import com.google.common.base.Supplier;
-import forge.Constant.Preferences;
+
import forge.Singletons;
import forge.card.CardEdition;
import forge.card.IUnOpenedProduct;
@@ -32,11 +32,13 @@ import forge.item.IPaperCard;
import forge.item.PaperCard;
import forge.item.SealedProduct;
import forge.model.CardBlock;
+import forge.properties.ForgePreferences;
import forge.properties.NewConstants;
import forge.util.FileUtil;
import forge.util.HttpUtil;
import forge.util.ItemPool;
import forge.util.storage.IStorage;
+
import org.apache.commons.lang3.ArrayUtils;
import java.io.File;
@@ -313,7 +315,7 @@ public final class BoosterDraft implements IBoosterDraft {
+ " - booster pack = " + thisBooster);
}
- if (Preferences.UPLOAD_DRAFT) {
+ if (ForgePreferences.UPLOAD_DRAFT) {
for (int i = 0; i < thisBooster.size(); i++) {
final PaperCard cc = thisBooster.get(i);
final String cnBk = cc.getName() + "|" + cc.getEdition();
@@ -345,7 +347,7 @@ public final class BoosterDraft implements IBoosterDraft {
/** This will upload drafting picks to cardforge HQ. */
@Override
public void finishedDrafting() {
- if (!Preferences.UPLOAD_DRAFT || 1 >= draftPicks.size()) {
+ if (!ForgePreferences.UPLOAD_DRAFT || 1 >= draftPicks.size()) {
return;
}
diff --git a/forge-gui/src/main/java/forge/limited/BoosterDraftAI.java b/forge-gui/src/main/java/forge/limited/BoosterDraftAI.java
index ade85e97155..bb4d756bfb4 100644
--- a/forge-gui/src/main/java/forge/limited/BoosterDraftAI.java
+++ b/forge-gui/src/main/java/forge/limited/BoosterDraftAI.java
@@ -17,11 +17,12 @@
*/
package forge.limited;
-import forge.Constant.Preferences;
import forge.card.ColorSet;
import forge.deck.Deck;
import forge.item.PaperCard;
+import forge.properties.ForgePreferences;
import forge.util.Aggregates;
+
import org.apache.commons.lang3.tuple.MutablePair;
import org.apache.commons.lang3.tuple.Pair;
@@ -66,7 +67,7 @@ public class BoosterDraftAI {
* @return a {@link forge.CardList} object.
*/
public PaperCard choose(final List chooseFrom, final int player) {
- if (Preferences.DEV_MODE) {
+ if (ForgePreferences.DEV_MODE) {
System.out.println("Player[" + player + "] pack: " + chooseFrom.toString());
}
@@ -153,7 +154,7 @@ public class BoosterDraftAI {
final Deck[] out = new Deck[this.deck.size()];
for (int i = 0; i < this.deck.size(); i++) {
- if (Preferences.DEV_MODE) {
+ if (ForgePreferences.DEV_MODE) {
System.out.println("Deck[" + i + "]");
}
diff --git a/forge-gui/src/main/java/forge/model/FModel.java b/forge-gui/src/main/java/forge/model/FModel.java
index 02d97692cfb..91e60228133 100644
--- a/forge-gui/src/main/java/forge/model/FModel.java
+++ b/forge-gui/src/main/java/forge/model/FModel.java
@@ -17,13 +17,12 @@
*/
package forge.model;
-import forge.Constant;
-import forge.Constant.Preferences;
import forge.Singletons;
import forge.ai.AiProfileUtil;
import forge.card.CardType;
import forge.error.ExceptionHandler;
import forge.game.GameFormat;
+import forge.game.card.CardUtil;
import forge.gauntlet.GauntletData;
import forge.limited.GauntletMini;
import forge.properties.ForgePreferences;
@@ -140,7 +139,7 @@ public class FModel {
this.fantasyBlocks = new StorageBase("Custom blocks", new CardBlock.Reader("res/blockdata/fantasyblocks.txt", Singletons.getMagicDb().getEditions()));
this.worlds = new StorageBase("Quest worlds", new QuestWorld.Reader("res/quest/world/worlds.txt"));
// TODO - there's got to be a better place for this...oblivion?
- Preferences.DEV_MODE = this.preferences.getPrefBoolean(FPref.DEV_MODE_ENABLED);
+ ForgePreferences.DEV_MODE = this.preferences.getPrefBoolean(FPref.DEV_MODE_ENABLED);
this.loadDynamicGamedata();
@@ -161,6 +160,9 @@ public class FModel {
return quest;
}
+
+ private static boolean KeywordsLoaded = false;
+
/**
* Load dynamic gamedata.
*/
@@ -235,17 +237,17 @@ public class FModel {
*/
}
- if (!Constant.Keywords.LOADED[0]) {
+ if (!KeywordsLoaded) {
final List nskwListFile = FileUtil.readFile(NewConstants.KEYWORD_LIST_FILE);
if (nskwListFile.size() > 1) {
for (String s : nskwListFile) {
if (s.length() > 1) {
- Constant.Keywords.NON_STACKING_LIST.add(s);
+ CardUtil.NON_STACKING_LIST.add(s);
}
}
}
- Constant.Keywords.LOADED[0] = true;
+ KeywordsLoaded = true;
/*
* if (Constant.Runtime.DevMode[0]) {
* System.out.println(Constant.Keywords.NonStackingList[0].list); }
diff --git a/forge-gui/src/main/java/forge/properties/ForgePreferences.java b/forge-gui/src/main/java/forge/properties/ForgePreferences.java
index d0c35742fa3..29e3b0ed62a 100644
--- a/forge-gui/src/main/java/forge/properties/ForgePreferences.java
+++ b/forge-gui/src/main/java/forge/properties/ForgePreferences.java
@@ -17,8 +17,6 @@
*/
package forge.properties;
-import forge.Constant;
-import forge.Constant.Preferences;
import forge.ai.AiProfileUtil;
import forge.control.FControl.CloseAction;
import forge.game.GameLogEntryType;
@@ -214,6 +212,11 @@ public class ForgePreferences extends PreferencesStore {
this.setPref(FPref.DEV_UNLIMITED_LAND, v.getLblUnlimitedLands().getEnabled());
}
+
+
+ // was not used anywhere else
+ private final boolean NET_CONN = false;
+
/**
* TODO: Needs to be reworked for efficiency with rest of prefs saves in
* codebase.
@@ -221,8 +224,8 @@ public class ForgePreferences extends PreferencesStore {
public void actuateMatchPreferences() {
final List fieldViews = VMatchUI.SINGLETON_INSTANCE.getFieldViews();
- Preferences.DEV_MODE = this.getPrefBoolean(FPref.DEV_MODE_ENABLED);
- Preferences.UPLOAD_DRAFT = Constant.Runtime.NET_CONN && this.getPrefBoolean(FPref.UI_UPLOAD_DRAFT);
+ DEV_MODE = this.getPrefBoolean(FPref.DEV_MODE_ENABLED);
+ UPLOAD_DRAFT = NET_CONN; // && this.getPrefBoolean(FPref.UI_UPLOAD_DRAFT);
// AI field is at index [0]
PhaseIndicator fvAi = fieldViews.get(1).getPhaseIndicator();
@@ -273,4 +276,11 @@ public class ForgePreferences extends PreferencesStore {
protected String getPrefDefault(FPref key) {
return key.getDefault();
}
+
+
+ /** The Constant DevMode. */
+ // one for normal mode, one for quest mode
+ public static boolean DEV_MODE;
+ /** The Constant UpldDrft. */
+ public static boolean UPLOAD_DRAFT;
}
diff --git a/forge-gui/src/main/java/forge/util/HttpUtil.java b/forge-gui/src/main/java/forge/util/HttpUtil.java
index 2c7a53642b3..b6508157701 100644
--- a/forge-gui/src/main/java/forge/util/HttpUtil.java
+++ b/forge-gui/src/main/java/forge/util/HttpUtil.java
@@ -17,7 +17,7 @@
*/
package forge.util;
-import forge.Constant.Preferences;
+import forge.properties.ForgePreferences;
import java.io.*;
import java.net.HttpURLConnection;
@@ -145,7 +145,7 @@ public class HttpUtil {
} catch (final IOException e) {
return;
}
- if (Preferences.DEV_MODE) {
+ if (ForgePreferences.DEV_MODE) {
System.out.println(response.toString());
}
}
diff --git a/forge-gui/src/main/java/forge/view/arcane/CardPanelContainer.java b/forge-gui/src/main/java/forge/view/arcane/CardPanelContainer.java
index 1360c4d41b6..8acd5fd1863 100644
--- a/forge-gui/src/main/java/forge/view/arcane/CardPanelContainer.java
+++ b/forge-gui/src/main/java/forge/view/arcane/CardPanelContainer.java
@@ -17,7 +17,6 @@
*/
package forge.view.arcane;
-import forge.Constant;
import forge.FThreads;
import forge.game.card.Card;
import forge.gui.match.CMatchUI;
@@ -59,7 +58,7 @@ public abstract class CardPanelContainer extends SkinnedPanel {
*/
private int cardWidthMin = 50;
- private int cardWidthMax = Constant.Runtime.WIDTH;
+ private int cardWidthMax = 300;
/**
*
*/