diff --git a/.gitattributes b/.gitattributes
index 8ccdefb79ed..805228a47fd 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -16000,6 +16000,7 @@ forge-m-android/src/com/forge/Main.java -text
forge-m-base/.classpath -text
forge-m-base/.project -text
forge-m-base/.settings/org.eclipse.jdt.core.prefs -text
+forge-m-base/.settings/org.eclipse.m2e.core.prefs -text
forge-m-base/libs/gdx-freetype.jar -text
forge-m-base/libs/gdx-sources.jar -text
forge-m-base/libs/gdx.jar -text
diff --git a/forge-m-base/.classpath b/forge-m-base/.classpath
index 5fdb56bd67d..8eb53e617fc 100644
--- a/forge-m-base/.classpath
+++ b/forge-m-base/.classpath
@@ -1,12 +1,26 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
diff --git a/forge-m-base/.project b/forge-m-base/.project
index c9d1c5f23c9..60cafc7c135 100644
--- a/forge-m-base/.project
+++ b/forge-m-base/.project
@@ -10,8 +10,14 @@
+
+ org.eclipse.m2e.core.maven2Builder
+
+
+
+ org.eclipse.m2e.core.maven2Nature
org.eclipse.jdt.core.javanature
diff --git a/forge-m-base/.settings/org.eclipse.jdt.core.prefs b/forge-m-base/.settings/org.eclipse.jdt.core.prefs
index 838bd9d6942..f4217b01dd2 100644
--- a/forge-m-base/.settings/org.eclipse.jdt.core.prefs
+++ b/forge-m-base/.settings/org.eclipse.jdt.core.prefs
@@ -8,4 +8,5 @@ org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.7
diff --git a/forge-m-base/.settings/org.eclipse.m2e.core.prefs b/forge-m-base/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 00000000000..14b697b7bbb
--- /dev/null
+++ b/forge-m-base/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/forge-m-base/pom.xml b/forge-m-base/pom.xml
index f6e708a3209..da48f5af947 100644
--- a/forge-m-base/pom.xml
+++ b/forge-m-base/pom.xml
@@ -1,476 +1,32 @@
-
- 4.0.0
-
-
- forge
- forge
- 1.5.14-SNAPSHOT
-
-
- forge-m-base
- jar
- Forge
-
-
-
-
- com.google.code.maven-svn-revision-number-plugin
- svn-revision-number-maven-plugin
-
-
-
- revision
-
-
-
-
- false
-
-
-
- org.apache.maven.plugins
- maven-antrun-plugin
-
-
- org.apache.ant
- ant-nodeps
- 1.8.1
-
-
- com.oracle.appbundler
- appbundler
- 1.0
- ea
-
-
-
-
- build-version-string
- process-resources
-
- run
-
-
- true
-
-
-
-
-
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-jar-plugin
- 2.4
-
-
-
- true
- true
-
-
- ${fullversionstring}
-
-
-
-
-
- com.google.code.maven-replacer-plugin
- replacer
- 1.5.2
-
-
- package
-
- replace
-
-
-
-
- ${basedir}/${configSourceDirectory}
- forge.sh, forge.command
- ${project.build.directory}
- .
- false
-
-
- $project.build.finalName$
- ${project.build.finalName}-jar-with-dependencies.jar
-
-
-
-
-
- maven-assembly-plugin
-
- false
-
- jar-with-dependencies
-
-
-
- forge.view.Main
- true
-
-
- ${fullversionstring}
-
-
-
-
-
- make-assembly
-
- package
-
-
- single
-
-
-
-
-
- org.codehaus.mojo
- build-helper-maven-plugin
- 1.8
-
-
- released-version
- validate
-
- released-version
-
-
-
- parse-version
-
- parse-version
-
-
-
-
-
-
-
-
-
-
- forge
- forge-core
- ${project.version}
-
-
- forge
- forge-game
- ${project.version}
-
-
- forge
- forge-ai
- ${project.version}
-
-
- forge
- forge-net
- ${project.version}
-
-
- com.google.guava
- guava
- 15.0
-
-
-
- org.apache.commons
- commons-lang3
- 3.1
-
-
-
-
-
- windows-linux
-
-
-
- com.akathist.maven.plugins.launch4j
- launch4j-maven-plugin
- 1.5.2
-
-
- l4j-gui
- package
-
- launch4j
-
-
- gui
- ${project.build.directory}/forge.exe
- ${project.build.finalName}-jar-with-dependencies.jar
- true
- forge
- src/main/config/forge.ico
-
- forge.view.Main
- false
- anything
-
-
- 1.7.0
- 1024
-
-
- ${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.0
- ${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.0
- Forge
- Forge
- ${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.0
- ${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.0
- Forge
- forge
- forge.exe
-
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-antrun-plugin
- 1.7
-
-
- org.apache.ant
- ant-nodeps
- 1.8.1
-
-
-
-
- win-linux-app-bundle
- pre-integration-test
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- run
-
-
-
-
-
- org.codehaus.mojo
- build-helper-maven-plugin
- 1.8
-
-
- released-version
- validate
-
- released-version
-
-
-
- parse-version
-
- parse-version
-
-
-
- attach-distribution
- post-integration-test
-
- attach-artifact
-
-
-
-
- ${project.build.directory}/${project.build.finalName}.tar.bz2
- tar.bz2
-
-
-
-
-
-
-
-
-
-
-
-
- "LICENSE.txt"
- "CHANGES.txt"
- "README.txt"
- "Forge"
- "Applications"
-
- osx
-
-
-
- org.apache.maven.plugins
- maven-antrun-plugin
- 1.7
-
-
- org.apache.ant
- ant-nodeps
- 1.8.1
-
-
- com.oracle.appbundler
- appbundler
- 1.0
- ea
-
-
-
-
- osx-appbundle
- pre-integration-test
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- run
-
-
-
-
-
- org.codehaus.mojo
- build-helper-maven-plugin
- 1.8
-
-
- released-version
- validate
-
- released-version
-
-
-
- parse-version
-
- parse-version
-
-
-
- attach-distribution-osx
- post-integration-test
-
- attach-artifact
-
-
-
-
- ${project.build.directory}/${project.build.finalName}-osx.tar.bz2
-
- tar.bz2
- osx
-
-
-
-
-
-
-
-
-
-
-
-
- test-deploy
-
-
- cardforge-repo-local
- ftp://localhost/Users/dhudson/releases
-
-
- cardforge-snapshot-repo-local
- ftp://localhost/Users/dhudson/snapshots
-
-
-
-
-
+
+ 4.0.0
+ forge-mobile
+ forge-mobile
+ 1.5.14-SNAPSHOT
+
+ src
+
+
+ maven-compiler-plugin
+ 3.1
+
+ 1.7
+ 1.7
+
+
+
+
+
+
+
+ com.google.guava
+ guava
+ 15.0
+
+
+ org.apache.commons
+ commons-lang3
+ 3.1
+
+
+
\ No newline at end of file
diff --git a/forge-m-base/src/forge/Forge.java b/forge-m-base/src/forge/Forge.java
index b9e630b1489..9a6bb5cdfa7 100644
--- a/forge-m-base/src/forge/Forge.java
+++ b/forge-m-base/src/forge/Forge.java
@@ -54,7 +54,6 @@ public class Forge implements ApplicationListener {
shapeRenderer = new ShapeRenderer();
splashScreen = new SplashScreen();
- FSkin.loadLight("journeyman", splashScreen);
//load model on background thread (using progress bar to report progress)
new Thread(new Runnable() {
diff --git a/forge-m-base/src/forge/assets/FSkin.java b/forge-m-base/src/forge/assets/FSkin.java
index 03d40e3dee1..35ddb7a87f9 100644
--- a/forge-m-base/src/forge/assets/FSkin.java
+++ b/forge-m-base/src/forge/assets/FSkin.java
@@ -5,6 +5,8 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
+import org.apache.commons.lang3.text.WordUtils;
+
import com.badlogic.gdx.Application.ApplicationType;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.files.FileHandle;
@@ -14,8 +16,11 @@ import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import forge.assets.FSkinImage.SourceFile;
+import forge.model.FModel;
import forge.screens.SplashScreen;
import forge.toolbox.FProgressBar;
+import forge.utils.ForgePreferences;
+import forge.utils.ForgePreferences.FPref;
public class FSkin {
private static final String
@@ -31,12 +36,12 @@ public class FSkin {
private static boolean loaded = false;
public static void changeSkin(final String skinName) {
- /*final ForgePreferences prefs = Singletons.getModel().getPreferences();
+ final ForgePreferences prefs = FModel.getPreferences();
if (skinName.equals(prefs.getPref(FPref.UI_SKIN))) { return; }
//save skin preference
prefs.setPref(FPref.UI_SKIN, skinName);
- prefs.save();*/
+ prefs.save();
//load skin
loaded = false; //reset this temporarily until end of loadFull()
@@ -58,7 +63,7 @@ public class FSkin {
allSkins = new ArrayList();
ArrayList skinDirectoryNames = getSkinDirectoryNames();
for (int i = 0; i < skinDirectoryNames.size(); i++) {
- allSkins.add(skinDirectoryNames.get(i).replace('_', ' '));
+ allSkins.add(WordUtils.capitalize(skinDirectoryNames.get(i).replace('_', ' ')));
}
Collections.sort(allSkins);
}
diff --git a/forge-m-base/src/forge/screens/SplashScreen.java b/forge-m-base/src/forge/screens/SplashScreen.java
index fdf664db8b5..aed804ff0c8 100644
--- a/forge-m-base/src/forge/screens/SplashScreen.java
+++ b/forge-m-base/src/forge/screens/SplashScreen.java
@@ -4,9 +4,12 @@ import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.graphics.g2d.BitmapFont.HAlignment;
import forge.Forge.Graphics;
+import forge.assets.FSkin;
import forge.assets.FSkinFont;
import forge.toolbox.FContainer;
import forge.toolbox.FProgressBar;
+import forge.utils.ForgePreferences;
+import forge.utils.ForgePreferences.FPref;
public class SplashScreen extends FContainer {
private TextureRegion background;
@@ -16,6 +19,9 @@ public class SplashScreen extends FContainer {
public SplashScreen() {
progressBar = new FProgressBar();
progressBar.setDescription("Welcome to Forge");
+
+ final ForgePreferences prefs = new ForgePreferences();
+ FSkin.loadLight(prefs.getPref(FPref.UI_SKIN), this);
}
public FProgressBar getProgressBar() {
diff --git a/forge-m-base/src/forge/screens/settings/SettingsScreen.java b/forge-m-base/src/forge/screens/settings/SettingsScreen.java
index 629ec79126e..67f87352c6a 100644
--- a/forge-m-base/src/forge/screens/settings/SettingsScreen.java
+++ b/forge-m-base/src/forge/screens/settings/SettingsScreen.java
@@ -38,7 +38,12 @@ public class SettingsScreen extends FScreen {
lstSettings.addItem(new CustomSelectSetting(FPref.UI_SKIN, "Theme",
"Sets the theme that determines how display components are skinned.",
- FSkin.getAllSkins()), 0);
+ FSkin.getAllSkins()) {
+ @Override
+ public void valueChanged(String newValue) {
+ FSkin.changeSkin(newValue);
+ }
+ }, 0);
lstSettings.addItem(new BooleanSetting(FPref.DEV_MODE_ENABLED, "Developer Mode",
"Enables menu with functions for testing during development."), 3);
}
@@ -109,6 +114,11 @@ public class SettingsScreen extends FScreen {
}
}
+ public void valueChanged(String newValue) {
+ FModel.getPreferences().setPref(pref, newValue);
+ FModel.getPreferences().save();
+ }
+
@Override
public void select() {
Forge.openScreen(new CustomSelectScreen());
@@ -120,6 +130,19 @@ public class SettingsScreen extends FScreen {
private CustomSelectScreen() {
super(true, "Select " + label.substring(0, label.length() - 1), false);
lstOptions = add(new FList(options));
+ lstOptions.setListItemRenderer(new FList.DefaultListItemRenderer() {
+ @Override
+ public boolean tap(String value, float x, float y, int count) {
+ valueChanged(value);
+ Forge.back();
+ return true;
+ }
+
+ @Override
+ public void drawValue(Graphics g, String value, FSkinFont font, FSkinColor foreColor, float width, float height) {
+ super.drawValue(g, value, font, foreColor, width, height);
+ }
+ });
}
@Override
diff --git a/forge-m-base/src/forge/toolbox/FList.java b/forge-m-base/src/forge/toolbox/FList.java
index 98fc0cf57ee..4a25be19d84 100644
--- a/forge-m-base/src/forge/toolbox/FList.java
+++ b/forge-m-base/src/forge/toolbox/FList.java
@@ -40,7 +40,7 @@ public class FList extends FScrollPane {
private void initialize() {
font = FSkinFont.get(14);
- renderer = new DefaultListItemRenderer();
+ renderer = new DefaultListItemRenderer();
}
public void addGroup(String groupName) {
@@ -196,19 +196,19 @@ public class FList extends FScrollPane {
public abstract void drawValue(Graphics g, V value, FSkinFont font, FSkinColor foreColor, float width, float height);
}
- public class DefaultListItemRenderer extends ListItemRenderer {
+ public static class DefaultListItemRenderer extends ListItemRenderer {
@Override
public float getItemHeight() {
return Utils.AVG_FINGER_HEIGHT;
}
@Override
- public boolean tap(E value, float x, float y, int count) {
+ public boolean tap(V value, float x, float y, int count) {
return false;
}
@Override
- public void drawValue(Graphics g, E value, FSkinFont font, FSkinColor color, float width, float height) {
+ public void drawValue(Graphics g, V value, FSkinFont font, FSkinColor color, float width, float height) {
float x = width * INSETS_FACTOR;
g.drawText(value.toString(), font, color, x, 0, width - 2 * x, height, false, HAlignment.LEFT, true);
}