mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-11 16:26:22 +00:00
Add iOS project.
This commit is contained in:
12
.gitattributes
vendored
12
.gitattributes
vendored
@@ -1151,6 +1151,18 @@ forge-gui-desktop/src/test/java/forge/gui/ListChooserTest.java -text
|
||||
forge-gui-desktop/src/test/java/forge/gui/game/CardDetailPanelTest.java -text
|
||||
forge-gui-desktop/src/test/java/forge/item/DeckHintsTest.java -text
|
||||
forge-gui-desktop/src/test/java/forge/model/FModelTest.java -text
|
||||
forge-gui-ios/.classpath -text
|
||||
forge-gui-ios/.project -text
|
||||
forge-gui-ios/Info.plist.xml -text
|
||||
forge-gui-ios/libs/libObjectAL.a -text
|
||||
forge-gui-ios/libs/libgdx-freetype.a -text
|
||||
forge-gui-ios/libs/libgdx.a -text
|
||||
forge-gui-ios/minlog-1.2.jar -text
|
||||
forge-gui-ios/pom.xml -text
|
||||
forge-gui-ios/robovm.properties -text
|
||||
forge-gui-ios/robovm.xml -text
|
||||
forge-gui-ios/src/forge/ios/Main.java -text
|
||||
forge-gui-ios/src/forge/ios/package-info.java -text
|
||||
forge-gui-mobile-dev/.classpath -text
|
||||
forge-gui-mobile-dev/.project -text
|
||||
forge-gui-mobile-dev/.settings/org.eclipse.jdt.core.prefs -text
|
||||
|
||||
27
forge-gui-ios/.classpath
Normal file
27
forge-gui-ios/.classpath
Normal file
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" output="target/classes" path="src">
|
||||
<attributes>
|
||||
<attribute name="optional" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/forge-core"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/forge-game"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/forge-gui"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/forge-gui-mobile"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/forge-net"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/forge-ai"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="lib" path="minlog-1.2.jar"/>
|
||||
<classpathentry kind="output" path="target/classes"/>
|
||||
</classpath>
|
||||
36
forge-gui-ios/.project
Normal file
36
forge-gui-ios/.project
Normal file
@@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>forge-gui-ios</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
<project>forge</project>
|
||||
<project>forge-ai</project>
|
||||
<project>forge-core</project>
|
||||
<project>forge-game</project>
|
||||
<project>forge-gui</project>
|
||||
<project>forge-gui-mobile</project>
|
||||
<project>forge-net</project>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.robovm.eclipse.RoboVMClassBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.m2e.core.maven2Builder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
<nature>org.robovm.eclipse.RoboVMNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
61
forge-gui-ios/Info.plist.xml
Normal file
61
forge-gui-ios/Info.plist.xml
Normal file
@@ -0,0 +1,61 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>${app.name}</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${app.executable}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>${app.id}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${app.name}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>${app.version}</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>${app.build}</string>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>UIDeviceFamily</key>
|
||||
<array>
|
||||
<integer>1</integer>
|
||||
<integer>2</integer>
|
||||
</array>
|
||||
<key>UIRequiredDeviceCapabilities</key>
|
||||
<array>
|
||||
<string>armv7</string>
|
||||
</array>
|
||||
<key>UISupportedInterfaceOrientations</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
<key>UISupportedInterfaceOrientations~ipad</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
<key>CFBundleIcons</key>
|
||||
<dict>
|
||||
<key>CFBundlePrimaryIcon</key>
|
||||
<dict>
|
||||
<key>CFBundleIconFiles</key>
|
||||
<array>
|
||||
<string>Icon</string>
|
||||
<string>Icon-72</string>
|
||||
</array>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
BIN
forge-gui-ios/libs/libObjectAL.a
Normal file
BIN
forge-gui-ios/libs/libObjectAL.a
Normal file
Binary file not shown.
BIN
forge-gui-ios/libs/libgdx-freetype.a
Normal file
BIN
forge-gui-ios/libs/libgdx-freetype.a
Normal file
Binary file not shown.
BIN
forge-gui-ios/libs/libgdx.a
Normal file
BIN
forge-gui-ios/libs/libgdx.a
Normal file
Binary file not shown.
BIN
forge-gui-ios/minlog-1.2.jar
Normal file
BIN
forge-gui-ios/minlog-1.2.jar
Normal file
Binary file not shown.
85
forge-gui-ios/pom.xml
Normal file
85
forge-gui-ios/pom.xml
Normal file
@@ -0,0 +1,85 @@
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<properties>
|
||||
<maven.build.timestamp.format>yyyyMMdd-HHmm</maven.build.timestamp.format>
|
||||
<packaging.type>jar</packaging.type>
|
||||
<build.min.memory>-Xms128m</build.min.memory>
|
||||
<build.max.memory>-Xmx2048m</build.max.memory>
|
||||
<alpha-version>1.5.32.005</alpha-version>
|
||||
</properties>
|
||||
|
||||
<parent>
|
||||
<artifactId>forge</artifactId>
|
||||
<groupId>forge</groupId>
|
||||
<version>1.5.32-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>forge-gui-ios</artifactId>
|
||||
<packaging>${packaging.type}</packaging>
|
||||
<name>Forge iOS</name>
|
||||
|
||||
<build>
|
||||
<sourceDirectory>src</sourceDirectory>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<source>1.7</source>
|
||||
<target>1.7</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>filters</directory>
|
||||
<filtering>true</filtering>
|
||||
</resource>
|
||||
</resources>
|
||||
<finalName>forge-ios-${alpha-version}</finalName>
|
||||
</build>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>forge</groupId>
|
||||
<artifactId>forge-core</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>forge</groupId>
|
||||
<artifactId>forge-game</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>forge</groupId>
|
||||
<artifactId>forge-ai</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>forge</groupId>
|
||||
<artifactId>forge-net</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>forge</groupId>
|
||||
<artifactId>forge-gui</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>forge</groupId>
|
||||
<artifactId>forge-gui-mobile</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.googlecode</groupId>
|
||||
<artifactId>minlog</artifactId>
|
||||
<version>1.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.badlogicgames.gdx</groupId>
|
||||
<artifactId>gdx-backend-robovm</artifactId>
|
||||
<version>1.4.1</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
8
forge-gui-ios/robovm.properties
Normal file
8
forge-gui-ios/robovm.properties
Normal file
@@ -0,0 +1,8 @@
|
||||
#
|
||||
#Wed Dec 03 21:31:22 CET 2014
|
||||
app.version=1.0
|
||||
app.id=forge.ios
|
||||
app.mainclass=forge.ios.Main
|
||||
app.executable=forge.ios.Main
|
||||
app.build=1
|
||||
app.name=Forge
|
||||
49
forge-gui-ios/robovm.xml
Normal file
49
forge-gui-ios/robovm.xml
Normal file
@@ -0,0 +1,49 @@
|
||||
<config>
|
||||
<executableName>${app.executable}</executableName>
|
||||
<mainClass>${app.mainclass}</mainClass>
|
||||
<os>ios</os>
|
||||
<arch>thumbv7</arch>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>../forge-gui</directory>
|
||||
<includes>
|
||||
<include>res/**</include>
|
||||
</includes>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>res</directory>
|
||||
</resource>
|
||||
</resources>
|
||||
<target>ios</target>
|
||||
<iosInfoPList>Info.plist.xml</iosInfoPList>
|
||||
<forceLinkClasses>
|
||||
<pattern>com.android.okhttp.HttpHandler</pattern>
|
||||
<pattern>com.android.okhttp.HttpsHandler</pattern>
|
||||
<pattern>com.android.org.conscrypt.**</pattern>
|
||||
<pattern>com.android.org.bouncycastle.jce.provider.BouncyCastleProvider</pattern>
|
||||
<pattern>com.android.org.bouncycastle.jcajce.provider.keystore.BC$Mappings</pattern>
|
||||
<pattern>com.android.org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi</pattern>
|
||||
<pattern>com.android.org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi$Std</pattern>
|
||||
<pattern>com.android.org.bouncycastle.jce.provider.PKIXCertPathValidatorSpi</pattern>
|
||||
<pattern>com.android.org.bouncycastle.crypto.digests.AndroidDigestFactoryOpenSSL</pattern>
|
||||
<pattern>org.apache.harmony.security.provider.cert.DRLCertFactory</pattern>
|
||||
<pattern>org.apache.harmony.security.provider.crypto.CryptoProvider</pattern>
|
||||
<pattern>org.apache.xalan.processor.TransformerFactoryImpl</pattern>
|
||||
<pattern>java.util.logging.**</pattern>
|
||||
<pattern>com.esotericsoftware.minlog.Log</pattern>
|
||||
</forceLinkClasses>
|
||||
<libs>
|
||||
<lib>libs/libgdx.a</lib>
|
||||
<lib>libs/libObjectAL.a</lib>
|
||||
<lib>libs/libgdx-freetype.a</lib>
|
||||
</libs>
|
||||
<frameworks>
|
||||
<framework>UIKit</framework>
|
||||
<framework>OpenGLES</framework>
|
||||
<framework>QuartzCore</framework>
|
||||
<framework>CoreGraphics</framework>
|
||||
<framework>OpenAL</framework>
|
||||
<framework>AudioToolbox</framework>
|
||||
<framework>AVFoundation</framework>
|
||||
</frameworks>
|
||||
</config>
|
||||
79
forge-gui-ios/src/forge/ios/Main.java
Normal file
79
forge-gui-ios/src/forge/ios/Main.java
Normal file
@@ -0,0 +1,79 @@
|
||||
package forge.ios;
|
||||
|
||||
import org.robovm.apple.foundation.NSAutoreleasePool;
|
||||
import org.robovm.apple.uikit.UIApplication;
|
||||
import org.robovm.apple.uikit.UIPasteboard;
|
||||
|
||||
import com.badlogic.gdx.ApplicationListener;
|
||||
import com.badlogic.gdx.backends.iosrobovm.IOSApplication;
|
||||
import com.badlogic.gdx.backends.iosrobovm.IOSApplicationConfiguration;
|
||||
import com.badlogic.gdx.backends.iosrobovm.IOSFiles;
|
||||
|
||||
import forge.Forge;
|
||||
import forge.assets.AssetsDownloader;
|
||||
import forge.interfaces.IDeviceAdapter;
|
||||
import forge.util.FileUtil;
|
||||
|
||||
public class Main extends IOSApplication.Delegate {
|
||||
|
||||
@Override
|
||||
protected IOSApplication createApplication() {
|
||||
final String assetsDir = new IOSFiles().getLocalStoragePath() + "/../../forge.ios.Main.app/";
|
||||
if (!AssetsDownloader.SHARE_DESKTOP_ASSETS) {
|
||||
FileUtil.ensureDirectoryExists(assetsDir);
|
||||
}
|
||||
|
||||
final IOSApplicationConfiguration config = new IOSApplicationConfiguration();
|
||||
config.useAccelerometer = false;
|
||||
config.useCompass = false;
|
||||
final ApplicationListener app = Forge.getApp(new IOSClipboard(), new IOSAdapter(), assetsDir);
|
||||
final IOSApplication iosApp = new IOSApplication(app, config);
|
||||
return iosApp;
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
final NSAutoreleasePool pool = new NSAutoreleasePool();
|
||||
UIApplication.main(args, null, Main.class);
|
||||
pool.close();
|
||||
}
|
||||
|
||||
//special clipboard that works on iOS
|
||||
private static final class IOSClipboard implements com.badlogic.gdx.utils.Clipboard {
|
||||
@Override
|
||||
public String getContents() {
|
||||
return UIPasteboard.getGeneral().getString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setContents(final String contents0) {
|
||||
UIPasteboard.getGeneral().setString(contents0);
|
||||
}
|
||||
}
|
||||
|
||||
private static final class IOSAdapter implements IDeviceAdapter {
|
||||
@Override
|
||||
public boolean isConnectedToInternet() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isConnectedToWifi() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDownloadsDir() {
|
||||
return new IOSFiles().getExternalStoragePath();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean openFile(String filename) {
|
||||
return new IOSFiles().local(filename).exists();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void exit() {
|
||||
// Not possible on iOS
|
||||
}
|
||||
}
|
||||
}
|
||||
1
forge-gui-ios/src/forge/ios/package-info.java
Normal file
1
forge-gui-ios/src/forge/ios/package-info.java
Normal file
@@ -0,0 +1 @@
|
||||
package forge.ios;
|
||||
Reference in New Issue
Block a user