From 9c6be35369a7bb07d11838e4cc84f7cb3efcf338 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Sun, 29 Mar 2020 14:46:19 +0200 Subject: [PATCH] Re-run libGDX setup and replace project files with those --- android/AndroidManifest.xml | 10 +- android/build.gradle | 112 +++++----------- ...roguard-project.txt => proguard-rules.pro} | 0 android/project.properties | 17 +-- build.gradle | 65 +++++---- core/build.gradle | 5 +- core/src/Klooni.gwt.xml | 9 +- desktop/build.gradle | 39 +++--- gradle.properties | 2 +- gradle/wrapper/gradle-wrapper.jar | Bin 50518 -> 55616 bytes gradle/wrapper/gradle-wrapper.properties | 3 +- gradlew | 126 +++++++++++------- gradlew.bat | 30 +++-- html/build.gradle | 82 ++++++++++++ .../dev/lonami/klooni/GdxDefinition.gwt.xml | 12 ++ .../klooni/GdxDefinitionSuperdev.gwt.xml | 13 ++ .../lonami/klooni/client/HtmlLauncher.java | 51 +++++++ html/webapp/WEB-INF/web.xml | 3 + html/webapp/index.html | 35 +++++ ios/data/Icon.png => html/webapp/refresh.png | Bin 4028 -> 2971 bytes html/webapp/soundmanager2-jsmin.js | 113 ++++++++++++++++ html/webapp/soundmanager2-setup.js | 1 + html/webapp/styles.css | 43 ++++++ ios/Info.plist.xml | 106 +++++++-------- ios/build.gradle | 5 +- ios/data/Icon-72.png | Bin 4439 -> 0 bytes ios/data/Icon-72@2x.png | Bin 6231 -> 0 bytes ios/data/Icon@2x.png | Bin 5679 -> 0 bytes ios/robovm.xml | 92 ++++++------- settings.gradle | 2 +- 30 files changed, 653 insertions(+), 323 deletions(-) rename android/{proguard-project.txt => proguard-rules.pro} (100%) create mode 100644 html/build.gradle create mode 100644 html/src/dev/lonami/klooni/GdxDefinition.gwt.xml create mode 100644 html/src/dev/lonami/klooni/GdxDefinitionSuperdev.gwt.xml create mode 100644 html/src/dev/lonami/klooni/client/HtmlLauncher.java create mode 100644 html/webapp/WEB-INF/web.xml create mode 100644 html/webapp/index.html rename ios/data/Icon.png => html/webapp/refresh.png (66%) create mode 100644 html/webapp/soundmanager2-jsmin.js create mode 100644 html/webapp/soundmanager2-setup.js create mode 100644 html/webapp/styles.css delete mode 100644 ios/data/Icon-72.png delete mode 100644 ios/data/Icon-72@2x.png delete mode 100644 ios/data/Icon@2x.png diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml index 0535925..0579bc9 100644 --- a/android/AndroidManifest.xml +++ b/android/AndroidManifest.xml @@ -1,20 +1,20 @@ + package="dev.lonami.klooni" > + android:fullBackupContent="@xml/backup_rules"> + android:configChanges="keyboard|keyboardHidden|navigation|orientation|screenSize|screenLayout"> diff --git a/android/build.gradle b/android/build.gradle index 58f9da5..9b1f000 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,6 +1,6 @@ android { - buildToolsVersion "25.0.3" - compileSdkVersion 28 + buildToolsVersion "29.0.3" + compileSdkVersion 29 sourceSets { main { manifest.srcFile 'AndroidManifest.xml' @@ -12,7 +12,6 @@ android { jniLibs.srcDirs = ['libs'] } - androidTest.setRoot('tests') } packagingOptions { exclude 'META-INF/robovm/ios/robovm.xml' @@ -21,41 +20,54 @@ android { applicationId "dev.lonami.klooni" //noinspection MinSdkTooLow minSdkVersion 8 - targetSdkVersion 28 - + targetSdkVersion 29 versionCode 830 versionName "0.8.3" } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } } // called every time gradle gets executed, takes the native dependencies of // the natives configuration, and extracts them to the proper libs/ folders // so they get packed with the APK. -task copyAndroidNatives() { - file("libs/armeabi/").mkdirs() - file("libs/armeabi-v7a/").mkdirs() - file("libs/arm64-v8a/").mkdirs() - file("libs/x86_64/").mkdirs() - file("libs/x86/").mkdirs() +task copyAndroidNatives { + doFirst { + file("libs/armeabi/").mkdirs() + file("libs/armeabi-v7a/").mkdirs() + file("libs/arm64-v8a/").mkdirs() + file("libs/x86_64/").mkdirs() + file("libs/x86/").mkdirs() - configurations.natives.files.each { jar -> - def outputDir = null - if (jar.name.endsWith("natives-arm64-v8a.jar")) outputDir = file("libs/arm64-v8a") - if (jar.name.endsWith("natives-armeabi-v7a.jar")) outputDir = file("libs/armeabi-v7a") - if (jar.name.endsWith("natives-armeabi.jar")) outputDir = file("libs/armeabi") - if (jar.name.endsWith("natives-x86_64.jar")) outputDir = file("libs/x86_64") - if (jar.name.endsWith("natives-x86.jar")) outputDir = file("libs/x86") - if (outputDir != null) { - copy { - from zipTree(jar) - into outputDir - include "*.so" + configurations.natives.files.each { jar -> + def outputDir = null + if (jar.name.endsWith("natives-arm64-v8a.jar")) outputDir = file("libs/arm64-v8a") + if (jar.name.endsWith("natives-armeabi-v7a.jar")) outputDir = file("libs/armeabi-v7a") + if (jar.name.endsWith("natives-armeabi.jar")) outputDir = file("libs/armeabi") + if (jar.name.endsWith("natives-x86_64.jar")) outputDir = file("libs/x86_64") + if (jar.name.endsWith("natives-x86.jar")) outputDir = file("libs/x86") + if (outputDir != null) { + copy { + from zipTree(jar) + into outputDir + include "*.so" + } } } } } +tasks.whenTaskAdded { packageTask -> + if (packageTask.name.contains("package")) { + packageTask.dependsOn 'copyAndroidNatives' + } +} + task run(type: Exec) { def path def localProperties = project.file("../local.properties") @@ -78,56 +90,4 @@ task run(type: Exec) { commandLine "$adb", 'shell', 'am', 'start', '-n', 'dev.lonami.klooni/dev.lonami.klooni.AndroidLauncher' } -// sets up the Android Eclipse project, using the old Ant based build. -eclipse { - // need to specify Java source sets explicitly, SpringSource Gradle Eclipse plugin - // ignores any nodes added in classpath.file.withXml - sourceSets { - main { - java.srcDirs "src", 'gen' - } - } - - jdt { - sourceCompatibility = 1.6 - targetCompatibility = 1.6 - } - - classpath { - plusConfigurations += [project.configurations.compile] - containers 'com.android.ide.eclipse.adt.ANDROID_FRAMEWORK', 'com.android.ide.eclipse.adt.LIBRARIES' - } - - project { - name = appName + "-android" - natures 'com.android.ide.eclipse.adt.AndroidNature' - buildCommands.clear() - buildCommand "com.android.ide.eclipse.adt.ResourceManagerBuilder" - buildCommand "com.android.ide.eclipse.adt.PreCompilerBuilder" - buildCommand "org.eclipse.jdt.core.javabuilder" - buildCommand "com.android.ide.eclipse.adt.ApkBuilder" - } -} - -// sets up the Android Idea project, using the old Ant based build. -idea { - module { - sourceDirs += file("src") - scopes = [COMPILE: [plus: [project.configurations.compile]]] - - iml { - withXml { - def node = it.asNode() - def builder = NodeBuilder.newInstance() - builder.current = node - builder.component(name: "FacetManager") { - facet(type: "android", name: "Android") { - configuration { - option(name: "UPDATE_PROPERTY_FILES", value: "true") - } - } - } - } - } - } -} +eclipse.project.name = appName + "-android" diff --git a/android/proguard-project.txt b/android/proguard-rules.pro similarity index 100% rename from android/proguard-project.txt rename to android/proguard-rules.pro diff --git a/android/project.properties b/android/project.properties index 4ab1256..3fefa92 100644 --- a/android/project.properties +++ b/android/project.properties @@ -1,14 +1,9 @@ -# This file is automatically generated by Android Tools. -# Do not modify this file -- YOUR CHANGES WILL BE ERASED! -# -# This file must be checked in Version Control Systems. -# -# To customize properties used by the Ant build system edit -# "ant.properties", and override values to adapt the script to your -# project structure. -# -# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): -#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt +# This file is used by the Eclipse ADT plugin. It is unnecessary for IDEA and Android Studio projects, which +# configure Proguard and the Android target via the build.gradle file. + +# To enable ProGuard to work with Eclipse ADT, uncomment this (available properties: sdk.dir, user.home) +# and ensure proguard.jar in the Android SDK is up to date (or alternately reduce the android target to 23 or lower): +# proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-rules.pro # Project target. target=android-19 diff --git a/build.gradle b/build.gradle index c93ccec..66e2428 100644 --- a/build.gradle +++ b/build.gradle @@ -2,26 +2,27 @@ buildscript { repositories { mavenLocal() mavenCentral() + maven { url "https://plugins.gradle.org/m2/" } maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } jcenter() google() } dependencies { - classpath 'de.richsource.gradle.plugins:gwt-gradle-plugin:0.6' - classpath 'com.android.tools.build:gradle:3.5.0' - classpath 'com.mobidevelop.robovm:robovm-gradle-plugin:2.3.0' + classpath 'org.wisepersist:gwt-gradle-plugin:1.0.9' + // Don't update to avoid breaking the build; noinspection GradleDependency + classpath 'com.android.tools.build:gradle:3.4.1' + classpath 'com.mobidevelop.robovm:robovm-gradle-plugin:2.3.8' } } allprojects { apply plugin: "eclipse" - apply plugin: "idea" version = '0.8.3' ext { appName = "1010! Klooni" - gdxVersion = '1.9.5' - roboVMVersion = '2.3.0' + gdxVersion = '1.9.10' + roboVMVersion = '2.3.8' box2DLightsVersion = '1.4' ashleyVersion = '1.7.0' aiVersion = '1.8.0' @@ -30,20 +31,21 @@ allprojects { repositories { mavenLocal() mavenCentral() + jcenter() + google() maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } maven { url "https://oss.sonatype.org/content/repositories/releases/" } - google() } } project(":desktop") { - apply plugin: "java" + apply plugin: "java-library" dependencies { implementation project(":core") - implementation "com.badlogicgames.gdx:gdx-backend-lwjgl:$gdxVersion" - implementation "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop" + api "com.badlogicgames.gdx:gdx-backend-lwjgl:$gdxVersion" + api "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop" } } @@ -54,7 +56,7 @@ project(":android") { dependencies { implementation project(":core") - implementation "com.badlogicgames.gdx:gdx-backend-android:$gdxVersion" + api "com.badlogicgames.gdx:gdx-backend-android:$gdxVersion" natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi" natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi-v7a" natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-arm64-v8a" @@ -63,29 +65,38 @@ project(":android") { } } -project(":core") { - apply plugin: "java" - - - dependencies { - implementation "com.badlogicgames.gdx:gdx:$gdxVersion" - } -} - project(":ios") { - apply plugin: "java" + apply plugin: "java-library" apply plugin: "robovm" dependencies { implementation project(":core") - implementation "com.mobidevelop.robovm:robovm-rt:$roboVMVersion" - implementation "com.mobidevelop.robovm:robovm-cocoatouch:$roboVMVersion" - implementation "com.badlogicgames.gdx:gdx-backend-robovm:$gdxVersion" - implementation "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-ios" + api "com.mobidevelop.robovm:robovm-rt:$roboVMVersion" + api "com.mobidevelop.robovm:robovm-cocoatouch:$roboVMVersion" + api "com.badlogicgames.gdx:gdx-backend-robovm:$gdxVersion" + api "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-ios" } } -tasks.eclipse.doLast { - delete ".project" +project(":html") { + apply plugin: "java-library" + apply plugin: "gwt" + apply plugin: "war" + + dependencies { + implementation project(":core") + api "com.badlogicgames.gdx:gdx-backend-gwt:$gdxVersion" + api "com.badlogicgames.gdx:gdx:$gdxVersion:sources" + api "com.badlogicgames.gdx:gdx-backend-gwt:$gdxVersion:sources" + + } +} + +project(":core") { + apply plugin: "java-library" + + dependencies { + api "com.badlogicgames.gdx:gdx:$gdxVersion" + } } diff --git a/core/build.gradle b/core/build.gradle index 94f35a8..1cde23e 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -5,7 +5,4 @@ sourceCompatibility = 1.6 sourceSets.main.java.srcDirs = ["src/"] - -eclipse.project { - name = appName + "-core" -} +eclipse.project.name = appName + "-core" diff --git a/core/src/Klooni.gwt.xml b/core/src/Klooni.gwt.xml index 8499639..ca5e2cc 100644 --- a/core/src/Klooni.gwt.xml +++ b/core/src/Klooni.gwt.xml @@ -1,6 +1,5 @@ - + + - - \ No newline at end of file + + diff --git a/desktop/build.gradle b/desktop/build.gradle index 4c493a0..978ca99 100644 --- a/desktop/build.gradle +++ b/desktop/build.gradle @@ -2,6 +2,7 @@ apply plugin: "java" sourceCompatibility = 1.6 sourceSets.main.java.srcDirs = ["src/"] +sourceSets.main.resources.srcDirs = ["../android/assets"] project.ext.mainClassName = "dev.lonami.klooni.desktop.DesktopLauncher" project.ext.assetsDir = new File("../android/assets") @@ -14,34 +15,26 @@ task run(dependsOn: classes, type: JavaExec) { ignoreExitValue = true } -task dist(type: Jar) { - from files(sourceSets.main.output.classesDirs) - from files(sourceSets.main.output.resourcesDir) - from { configurations.compile.collect { zipTree(it) } } - from files(project.assetsDir) +task debug(dependsOn: classes, type: JavaExec) { + main = project.mainClassName + classpath = sourceSets.main.runtimeClasspath + standardInput = System.in + workingDir = project.assetsDir + ignoreExitValue = true + debug = true +} +task dist(type: Jar) { manifest { attributes 'Main-Class': project.mainClassName } + dependsOn configurations.runtimeClasspath + from { + configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } + } + with jar } dist.dependsOn classes -eclipse { - project { - name = appName + "-desktop" - linkedResource name: 'assets', type: '2', location: 'PARENT-1-PROJECT_LOC/android/assets' - } -} - -task afterEclipseImport(description: "Post processing after project generation", group: "IDE") { - doLast { - def classpath = new XmlParser().parse(file(".classpath")) - // Result of "new" was being ignored - // new Node(classpath, "classpathentry", [ kind: 'src', path: 'assets' ]); - def writer = new FileWriter(file(".classpath")) - def printer = new XmlNodePrinter(new PrintWriter(writer)) - printer.setPreserveWhitespace(true) - printer.print(classpath) - } -} \ No newline at end of file +eclipse.project.name = appName + "-desktop" diff --git a/gradle.properties b/gradle.properties index 339fa15..ff329ac 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms128m -Xmx1500m -org.gradle.configureondemand=true +org.gradle.configureondemand=false diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index b979729db0ad460288cfe16f07072da7b1305e93..5c2d1cf016b3885f6930543d57b744ea8c220a1a 100644 GIT binary patch literal 55616 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 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 729c43d..f4d7b2b 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,5 @@ -#Thu Sep 05 15:40:37 CEST 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip diff --git a/gradlew b/gradlew index 91a7e26..b0d6d0a 100755 --- a/gradlew +++ b/gradlew @@ -1,4 +1,20 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ############################################################################## ## @@ -6,47 +22,6 @@ ## ############################################################################## -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" - -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" - -warn ( ) { - echo "$*" -} - -die ( ) { - echo - echo "$*" - echo - exit 1 -} - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; -esac - -# For Cygwin, ensure paths are in UNIX format before anything is touched. -if $cygwin ; then - [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` -fi - # Attempt to set APP_HOME # Resolve links: $0 may be a link PRG="$0" @@ -61,9 +36,49 @@ while [ -h "$PRG" ] ; do fi done SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >&- +cd "`dirname \"$PRG\"`/" >/dev/null APP_HOME="`pwd -P`" -cd "$SAVED" >&- +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar @@ -90,7 +105,7 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then MAX_FD_LIMIT=`ulimit -H -n` if [ $? -eq 0 ] ; then if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then @@ -114,6 +129,7 @@ fi if $cygwin ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` # We build the pattern for arguments to be converted via cygpath ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` @@ -154,11 +170,19 @@ if $cygwin ; then esac fi -# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules -function splitJvmOpts() { - JVM_OPTS=("$@") +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " } -eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS -JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" +APP_ARGS=$(save "$@") -exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat index aec9973..15e1ee3 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -1,3 +1,19 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem http://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + @if "%DEBUG%" == "" @echo off @rem ########################################################################## @rem @@ -8,14 +24,14 @@ @rem Set local scope for the variables with windows NT shell if "%OS%"=="Windows_NT" setlocal -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= - set DIRNAME=%~dp0 if "%DIRNAME%" == "" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome @@ -46,10 +62,9 @@ echo location of your Java installation. goto fail :init -@rem Get command-line arguments, handling Windowz variants +@rem Get command-line arguments, handling Windows variants if not "%OS%" == "Windows_NT" goto win9xME_args -if "%@eval[2+2]" == "4" goto 4NT_args :win9xME_args @rem Slurp the command line arguments. @@ -60,11 +75,6 @@ set _SKIP=2 if "x%~1" == "x" goto execute set CMD_LINE_ARGS=%* -goto execute - -:4NT_args -@rem Get arguments from the 4NT Shell from JP Software -set CMD_LINE_ARGS=%$ :execute @rem Setup the command line diff --git a/html/build.gradle b/html/build.gradle new file mode 100644 index 0000000..d26c85c --- /dev/null +++ b/html/build.gradle @@ -0,0 +1,82 @@ +gwt { + gwtVersion='2.8.2' // Should match the gwt version used for building the gwt backend + maxHeapSize="1G" // Default 256m is not enough for gwt compiler. GWT is HUNGRY + minHeapSize="1G" + + src = files(file("src/")) // Needs to be in front of "modules" below. + modules 'dev.lonami.klooni.GdxDefinition' + devModules 'dev.lonami.klooni.GdxDefinitionSuperdev' + project.webAppDirName = 'webapp' + + compiler { + strict = true; + disableCastChecking = true; + } +} + +import org.wisepersist.gradle.plugins.gwt.GwtSuperDev + +def HttpFileServer server = null +def httpFilePort = 8080 + +task startHttpServer () { + dependsOn draftCompileGwt + + String output = project.buildDir.path + "/gwt/draftOut" + + doLast { + copy { + from "webapp" + into output + } + + copy { + from "war" + into output + } + + server = new SimpleHttpFileServerFactory().start(new File(output), httpFilePort) + + println "Server started in directory " + server.getContentRoot() + ", http://localhost:" + server.getPort() + } +} + +task superDev (type: GwtSuperDev) { + dependsOn startHttpServer + doFirst { + gwt.modules = gwt.devModules + } +} + + +task dist(dependsOn: [clean, compileGwt]) { + doLast { + file("build/dist").mkdirs() + copy { + from "build/gwt/out" + into "build/dist" + } + copy { + from "webapp" + into "build/dist" + } + copy { + from "war" + into "build/dist" + } + } +} + +task addSource { + doLast { + sourceSets.main.compileClasspath += files(project(':core').sourceSets.main.allJava.srcDirs) + } +} + +tasks.compileGwt.dependsOn(addSource) +tasks.draftCompileGwt.dependsOn(addSource) + +sourceCompatibility = 1.7 +sourceSets.main.java.srcDirs = [ "src/" ] + +eclipse.project.name = appName + "-html" diff --git a/html/src/dev/lonami/klooni/GdxDefinition.gwt.xml b/html/src/dev/lonami/klooni/GdxDefinition.gwt.xml new file mode 100644 index 0000000..e25558f --- /dev/null +++ b/html/src/dev/lonami/klooni/GdxDefinition.gwt.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/html/src/dev/lonami/klooni/GdxDefinitionSuperdev.gwt.xml b/html/src/dev/lonami/klooni/GdxDefinitionSuperdev.gwt.xml new file mode 100644 index 0000000..ea5e584 --- /dev/null +++ b/html/src/dev/lonami/klooni/GdxDefinitionSuperdev.gwt.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/html/src/dev/lonami/klooni/client/HtmlLauncher.java b/html/src/dev/lonami/klooni/client/HtmlLauncher.java new file mode 100644 index 0000000..25fb90d --- /dev/null +++ b/html/src/dev/lonami/klooni/client/HtmlLauncher.java @@ -0,0 +1,51 @@ +package dev.lonami.klooni.client; + +import com.badlogic.gdx.ApplicationListener; +import com.badlogic.gdx.backends.gwt.GwtApplication; +import com.badlogic.gdx.backends.gwt.GwtApplicationConfiguration; +import dev.lonami.klooni.Klooni; + +public class HtmlLauncher extends GwtApplication { + + // USE THIS CODE FOR A FIXED SIZE APPLICATION + @Override + public GwtApplicationConfiguration getConfig () { + return new GwtApplicationConfiguration(480, 320); + } + // END CODE FOR FIXED SIZE APPLICATION + + // UNCOMMENT THIS CODE FOR A RESIZABLE APPLICATION + // PADDING is to avoid scrolling in iframes, set to 20 if you have problems + // private static final int PADDING = 0; + // private GwtApplicationConfiguration cfg; + // + // @Override + // public GwtApplicationConfiguration getConfig() { + // int w = Window.getClientWidth() - PADDING; + // int h = Window.getClientHeight() - PADDING; + // cfg = new GwtApplicationConfiguration(w, h); + // Window.enableScrolling(false); + // Window.setMargin("0"); + // Window.addResizeHandler(new ResizeListener()); + // cfg.preferFlash = false; + // return cfg; + // } + // + // class ResizeListener implements ResizeHandler { + // @Override + // public void onResize(ResizeEvent event) { + // int width = event.getWidth() - PADDING; + // int height = event.getHeight() - PADDING; + // getRootPanel().setWidth("" + width + "px"); + // getRootPanel().setHeight("" + height + "px"); + // getApplicationListener().resize(width, height); + // Gdx.graphics.setWindowedMode(width, height); + // } + // } + // END OF CODE FOR RESIZABLE APPLICATION + + @Override + public ApplicationListener createApplicationListener () { + return new Klooni(); + } +} \ No newline at end of file diff --git a/html/webapp/WEB-INF/web.xml b/html/webapp/WEB-INF/web.xml new file mode 100644 index 0000000..4301df2 --- /dev/null +++ b/html/webapp/WEB-INF/web.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/html/webapp/index.html b/html/webapp/index.html new file mode 100644 index 0000000..3847b50 --- /dev/null +++ b/html/webapp/index.html @@ -0,0 +1,35 @@ + + + + 1010! Klooni + + + + + + + + + +

+ + + + + diff --git a/ios/data/Icon.png b/html/webapp/refresh.png similarity index 66% rename from ios/data/Icon.png rename to html/webapp/refresh.png index 7f4bf363591c40414c1efbcacbff0f1925d7d037..24a48f1cc98e37dcb6fce0939031097d755b32fa 100644 GIT binary patch delta 285 zcmV+&0pk9=ADb68iBL{Q4GJ0x0000DNk~Le0000P0000P2nGNE0L1BqV*mgE32;bR za{vLl>Hq<{>H)#=IrXtNi3)!J#z{m$RCwClRlyMgF$lb6t{fY&4m+?p8?XgiarCu* z%uLR?z$QT-@=SnTvIIbK5zKQ!6k|^C3-Gsz4?LqQS77U!okS zgr_KIcXO0Vo|6D>OsRwkAkAvl9!8@bXoKzAWj66lchT<*Zs!VqQORBMHz22^ysQW3 zrzTmtY;?9Sh)qS4%ztyu9+1r(mN7OWk`^#$M<>ba7drtX8X*#XrrV&b-)QBw?B@BK j$ZRjcvAR2WNnQg0grhv8^49`700000NkvXXu0mjfy=-)4 delta 1351 zcmV-N1-SZ~7rY-fiBL{Q4GJ0x0000DNk~Le0000v0000v2m$~A00Vjy(f|Me32;bR za{vGf6951U69E94oEWh-i3)!N=Sf6CRCwC#*l$P_X&eXe?=%0_T~~MAJ?BL7{1b&~ zMxmKhY6d02g7l(4M39zXxS>Hrk)TCE)L9Z?zVnSQqM)Eitt%~rx}bmOUC_na(P^Y< ztNTxPcXno;d$H#>bsl$byL)~N!!t9#=b6v^c;;akLMg>p5*)ssU{-%-WmaZoR%T^Z zW@T1pWmaZo*8iTBD#}0SsA{4uBwBraef|CYSy@?4O-&CTJh*l1R#8#WzJ2>HUApA) zcw8=5b#=9I6kSogmoKXyJ`jrqx(hK$c~%*Sl@o zHUOEKnW0c<$&w`i>g(&NA=E%%w7&ki+5FsMc>+8Io&wK+=fFeYC%at_g~pni9s`(t2a(3(*Zc0 zP5>uQo~*2_T()c(&-2O2$p8uq3ysemzJGuA#trM@#n$3tOLa9&Cf?zIrV&9*yG9yR(DAZ;u@D zc6GgNY}A4Dii&@{-d>2}0&_su_4r=Xw9L%Rf`WqV>}*ZbR8<8qFfbrV631~amuu0Y zMSLV8@w^}i=|_(W`T2;&B11#4*@&(um6r0^*#L+r@);R|!(rXL+4!8IAo%Xx<5g9g zm=LnEGR~jZ{r;)$Zf|QVef4VQ`gI;~u3h`x)vHG6XLEm`rKKfazhE$U`0!x>8#Zi+ zMxzxK6~_GK%a?oJzo$>0yp!eevNCOIic%WAcI^%D1{eX}5aMlXqlz-s*!T+f z0#!{io4J{paC5WP-w%(+x_h^^p~1R-y&13oP!xZ`WU>HKAfVsAtq%@ry}jDqyV}j0 z;WK9>AW2m@rxQS^xjA(Dv@kbkudDlJaL|6}kf>?17cPYM>_IHH@EnM*18He#)6>&# zw;RC9l`A8WNM2svXH_BOhoK>=s>;rt0bm9Q00AHf1OY$b1H$Fybapn<(BK1t^9k|I zKi_{PvTGNeoQ&?>I}P}Nh|5K1XXBFS!GnHa8kpO%g)X=b6c!eil$7M==8B?NR8&-4 zT)bw@8jj;OZrmu#GNm*e4%=)tx7)p`yc~eo(ZN}*`tUGR6@-9NPzpjwP7dGR4vR(1 z$>B>&sUXlugcxc=B#EqB$Dch*dwRG>kF0+sCEU`bd}k*tmUxQP(IH5ZHaLj4Z}skO zuC?{gG8zBBDvBaWQoJ3FMkPri#CR8KJX|<*9UPbF09^;q|84Tb1Z*~#OrN@ZF;pxD zpAWJOLcX-J?*V3IR%T^ZW@T1pWmaZoR%T^ZW@Xm@rS*>i0QIGF({7suzW@LL07(Z$ JPDHLkV1n#}jDG+C diff --git a/html/webapp/soundmanager2-jsmin.js b/html/webapp/soundmanager2-jsmin.js new file mode 100644 index 0000000..2077360 --- /dev/null +++ b/html/webapp/soundmanager2-jsmin.js @@ -0,0 +1,113 @@ +/** @license + + + SoundManager 2: JavaScript Sound for the Web + ---------------------------------------------- + http://schillmania.com/projects/soundmanager2/ + + Copyright (c) 2007, Scott Schiller. All rights reserved. + Code provided under the BSD License: + http://schillmania.com/projects/soundmanager2/license.txt + + V2.97a.20150601 +*/ +(function(h,g){function K(sb,K){function ha(b){return c.preferFlash&&H&&!c.ignoreFlash&&c.flash[b]!==g&&c.flash[b]}function r(b){return function(d){var e=this._s;e&&e._a?d=b.call(this,d):(e&&e.id?c._wD(e.id+": Ignoring "+d.type):c._wD("HTML5::Ignoring "+d.type),d=null);return d}}this.setupOptions={url:sb||null,flashVersion:8,debugMode:!0,debugFlash:!1,useConsole:!0,consoleOnly:!0,waitForWindowLoad:!1,bgColor:"#ffffff",useHighPerformance:!1,flashPollingInterval:null,html5PollingInterval:null,flashLoadTimeout:1E3, +wmode:null,allowScriptAccess:"always",useFlashBlock:!1,useHTML5Audio:!0,forceUseGlobalHTML5Audio:!1,ignoreMobileRestrictions:!1,html5Test:/^(probably|maybe)$/i,preferFlash:!1,noSWFCache:!1,idPrefix:"sound"};this.defaultOptions={autoLoad:!1,autoPlay:!1,from:null,loops:1,onid3:null,onload:null,whileloading:null,onplay:null,onpause:null,onresume:null,whileplaying:null,onposition:null,onstop:null,onfailure:null,onfinish:null,multiShot:!0,multiShotEvents:!1,position:null,pan:0,stream:!0,to:null,type:null, +usePolicyFile:!1,volume:100};this.flash9Options={isMovieStar:null,usePeakData:!1,useWaveformData:!1,useEQData:!1,onbufferchange:null,ondataerror:null};this.movieStarOptions={bufferTime:3,serverURL:null,onconnect:null,duration:null};this.audioFormats={mp3:{type:['audio/mpeg; codecs="mp3"',"audio/mpeg","audio/mp3","audio/MPA","audio/mpa-robust"],required:!0},mp4:{related:["aac","m4a","m4b"],type:['audio/mp4; codecs="mp4a.40.2"',"audio/aac","audio/x-m4a","audio/MP4A-LATM","audio/mpeg4-generic"],required:!1}, +ogg:{type:["audio/ogg; codecs=vorbis"],required:!1},opus:{type:["audio/ogg; codecs=opus","audio/opus"],required:!1},wav:{type:['audio/wav; codecs="1"',"audio/wav","audio/wave","audio/x-wav"],required:!1}};this.movieID="sm2-container";this.id=K||"sm2movie";this.debugID="soundmanager-debug";this.debugURLParam=/([#?&])debug=1/i;this.versionNumber="V2.97a.20150601";this.altURL=this.movieURL=this.version=null;this.enabled=this.swfLoaded=!1;this.oMC=null;this.sounds={};this.soundIDs=[];this.didFlashBlock= +this.muted=!1;this.filePattern=null;this.filePatterns={flash8:/\.mp3(\?.*)?$/i,flash9:/\.mp3(\?.*)?$/i};this.features={buffering:!1,peakData:!1,waveformData:!1,eqData:!1,movieStar:!1};this.sandbox={type:null,types:{remote:"remote (domain-based) rules",localWithFile:"local with file access (no internet access)",localWithNetwork:"local with network (internet access only, no local access)",localTrusted:"local, trusted (local+internet access)"},description:null,noRemote:null,noLocal:null};this.html5= +{usingFlash:null};this.flash={};this.ignoreFlash=this.html5Only=!1;var W,c=this,Ya=null,l=null,F,v=navigator.userAgent,ia=h.location.href.toString(),m=document,ya,Za,za,n,I=[],Aa=!0,D,X=!1,Y=!1,q=!1,y=!1,ja=!1,p,tb=0,Z,A,Ba,R,Ca,P,S,T,$a,Da,Ea,ka,z,la,Q,Fa,aa,ma,na,U,ab,Ga,bb=["log","info","warn","error"],cb,Ha,db,ba=null,Ia=null,t,Ja,V,eb,oa,pa,L,w,ca=!1,Ka=!1,fb,gb,hb,qa=0,da=null,ra,M=[],ea,u=null,ib,sa,fa,N,ta,La,jb,x,kb=Array.prototype.slice,C=!1,Ma,H,Na,lb,J,mb,Oa,ua,nb=0,Pa,Qa=v.match(/(ipad|iphone|ipod)/i), +Ra=v.match(/android/i),O=v.match(/msie/i),ub=v.match(/webkit/i),va=v.match(/safari/i)&&!v.match(/chrome/i),Sa=v.match(/opera/i),wa=v.match(/(mobile|pre\/|xoom)/i)||Qa||Ra,Ta=!ia.match(/usehtml5audio/i)&&!ia.match(/sm2\-ignorebadua/i)&&va&&!v.match(/silk/i)&&v.match(/OS X 10_6_([3-7])/i),Ua=h.console!==g&&console.log!==g,Va=m.hasFocus!==g?m.hasFocus():null,xa=va&&(m.hasFocus===g||!m.hasFocus()),ob=!xa,pb=/(mp3|mp4|mpa|m4a|m4b)/i,ga=m.location?m.location.protocol.match(/http/i):null,vb=ga?"":"http://", +qb=/^\s*audio\/(?:x-)?(?:mpeg4|aac|flv|mov|mp4||m4v|m4a|m4b|mp4v|3gp|3g2)\s*(?:$|;)/i,rb="mpeg4 aac flv mov mp4 m4v f4v m4a m4b mp4v 3gp 3g2".split(" "),wb=new RegExp("\\.("+rb.join("|")+")(\\?.*)?$","i");this.mimePattern=/^\s*audio\/(?:x-)?(?:mp(?:eg|3))\s*(?:$|;)/i;this.useAltURL=!ga;var Wa;try{Wa=Audio!==g&&(Sa&&opera!==g&&10>opera.version()?new Audio(null):new Audio).canPlayType!==g}catch(xb){Wa=!1}this.hasHTML5=Wa;this.setup=function(b){var d=!c.url;b!==g&&q&&u&&c.ok()&&(b.flashVersion!==g|| +b.url!==g||b.html5Test!==g)&&L(t("setupLate"));Ba(b);if(!C)if(wa){if(!c.setupOptions.ignoreMobileRestrictions||c.setupOptions.forceUseGlobalHTML5Audio)M.push(z.globalHTML5),C=!0}else c.setupOptions.forceUseGlobalHTML5Audio&&(M.push(z.globalHTML5),C=!0);if(!Pa&&wa)if(c.setupOptions.ignoreMobileRestrictions)M.push(z.ignoreMobile);else if(c.setupOptions.useHTML5Audio&&!c.setupOptions.preferFlash||c._wD(z.mobileUA),c.setupOptions.useHTML5Audio=!0,c.setupOptions.preferFlash=!1,Qa)c.ignoreFlash=!0;else if(Ra&& +!v.match(/android\s2\.3/i)||!Ra)c._wD(z.globalHTML5),C=!0;b&&(d&&aa&&b.url!==g&&c.beginDelayedInit(),aa||b.url===g||"complete"!==m.readyState||setTimeout(Q,1));Pa=!0;return c};this.supported=this.ok=function(){return u?q&&!y:c.useHTML5Audio&&c.hasHTML5};this.getMovie=function(c){return F(c)||m[c]||h[c]};this.createSound=function(b,d){function e(){f=oa(f);c.sounds[f.id]=new W(f);c.soundIDs.push(f.id);return c.sounds[f.id]}var a,f;a=null;a="soundManager.createSound(): "+t(q?"notOK":"notReady");if(!q|| +!c.ok())return L(a),!1;d!==g&&(b={id:b,url:d});f=A(b);f.url=ra(f.url);f.id===g&&(f.id=c.setupOptions.idPrefix+nb++);f.id.toString().charAt(0).match(/^[0-9]$/)&&c._wD("soundManager.createSound(): "+t("badID",f.id),2);c._wD("soundManager.createSound(): "+f.id+(f.url?" ("+f.url+")":""),1);if(w(f.id,!0))return c._wD("soundManager.createSound(): "+f.id+" exists",1),c.sounds[f.id];if(sa(f))a=e(),c.html5Only||c._wD(f.id+": Using HTML5"),a._setup_html5(f);else{if(c.html5Only)return c._wD(f.id+": No HTML5 support for this sound, and no Flash. Exiting."), +e();if(c.html5.usingFlash&&f.url&&f.url.match(/data\:/i))return c._wD(f.id+": data: URIs not supported via Flash. Exiting."),e();8a.instanceCount?(m(),e=a._setup_html5(),a.setPosition(a._iO.position),e.play()):(c._wD(a.id+": Cloning Audio() for instance #"+ +a.instanceCount+"..."),k=new Audio(a._iO.url),G=function(){x.remove(k,"ended",G);a._onfinish(a);ta(k);k=null},h=function(){x.remove(k,"canplay",h);try{k.currentTime=a._iO.position/1E3}catch(c){L(a.id+": multiShot play() failed to apply position of "+a._iO.position/1E3)}k.play()},x.add(k,"ended",G),a._iO.volume!==g&&(k.volume=Math.max(0,Math.min(1,a._iO.volume/100))),a.muted&&(k.muted=!0),a._iO.position?x.add(k,"canplay",h):k.play()):(B=l._start(a.id,a._iO.loops||1,9===n?a.position:a.position/1E3, +a._iO.multiShot||!1),9!==n||B||(c._wD(e+"No sound hardware, or 32-sound ceiling hit",2),a._iO.onplayerror&&a._iO.onplayerror.apply(a)))}return a};this.stop=function(b){var d=a._iO;1===a.playState&&(c._wD(a.id+": stop()"),a._onbufferchange(0),a._resetOnPosition(0),a.paused=!1,a.isHTML5||(a.playState=0),Xa(),d.to&&a.clearOnPosition(d.to),a.isHTML5?a._a&&(b=a.position,a.setPosition(0),a.position=b,a._a.pause(),a.playState=0,a._onTimer(),G()):(l._stop(a.id,b),d.serverURL&&a.unload()),a.instanceCount= +0,a._iO={},d.onstop&&d.onstop.apply(a));return a};this.setAutoPlay=function(b){c._wD(a.id+": Autoplay turned "+(b?"on":"off"));a._iO.autoPlay=b;a.isHTML5||(l._setAutoPlay(a.id,b),b&&!a.instanceCount&&1===a.readyState&&(a.instanceCount++,c._wD(a.id+": Incremented instance count to "+a.instanceCount)))};this.getAutoPlay=function(){return a._iO.autoPlay};this.setPosition=function(b){b===g&&(b=0);var d=a.isHTML5?Math.max(b,0):Math.min(a.duration||a._iO.duration,Math.max(b,0));a.position=d;b=a.position/ +1E3;a._resetOnPosition(a.position);a._iO.position=d;if(!a.isHTML5)b=9===n?a.position:b,a.readyState&&2!==a.readyState&&l._setPosition(a.id,b,a.paused||!a.playState,a._iO.multiShot);else if(a._a){if(a._html5_canplay){if(a._a.currentTime!==b){c._wD(a.id+": setPosition("+b+")");try{a._a.currentTime=b,(0===a.playState||a.paused)&&a._a.pause()}catch(e){c._wD(a.id+": setPosition("+b+") failed: "+e.message,2)}}}else if(b)return c._wD(a.id+": setPosition("+b+"): Cannot seek yet, sound not ready",2),a;a.paused&& +a._onTimer(!0)}return a};this.pause=function(b){if(a.paused||0===a.playState&&1!==a.readyState)return a;c._wD(a.id+": pause()");a.paused=!0;a.isHTML5?(a._setup_html5().pause(),G()):(b||b===g)&&l._pause(a.id,a._iO.multiShot);a._iO.onpause&&a._iO.onpause.apply(a);return a};this.resume=function(){var b=a._iO;if(!a.paused)return a;c._wD(a.id+": resume()");a.paused=!1;a.playState=1;a.isHTML5?(a._setup_html5().play(),m()):(b.isMovieStar&&!b.serverURL&&a.setPosition(a.position),l._pause(a.id,b.multiShot)); +!r&&b.onplay?(b.onplay.apply(a),r=!0):b.onresume&&b.onresume.apply(a);return a};this.togglePause=function(){c._wD(a.id+": togglePause()");if(0===a.playState)return a.play({position:9!==n||a.isHTML5?a.position/1E3:a.position}),a;a.paused?a.resume():a.pause();return a};this.setPan=function(c,b){c===g&&(c=0);b===g&&(b=!1);a.isHTML5||l._setPan(a.id,c);a._iO.pan=c;b||(a.pan=c,a.options.pan=c);return a};this.setVolume=function(b,d){b===g&&(b=100);d===g&&(d=!1);a.isHTML5?a._a&&(c.muted&&!a.muted&&(a.muted= +!0,a._a.muted=!0),a._a.volume=Math.max(0,Math.min(1,b/100))):l._setVolume(a.id,c.muted&&!a.muted||a.muted?0:b);a._iO.volume=b;d||(a.volume=b,a.options.volume=b);return a};this.mute=function(){a.muted=!0;a.isHTML5?a._a&&(a._a.muted=!0):l._setVolume(a.id,0);return a};this.unmute=function(){a.muted=!1;var b=a._iO.volume!==g;a.isHTML5?a._a&&(a._a.muted=!1):l._setVolume(a.id,b?a._iO.volume:a.options.volume);return a};this.toggleMute=function(){return a.muted?a.unmute():a.mute()};this.onposition=this.onPosition= +function(b,c,d){E.push({position:parseInt(b,10),method:c,scope:d!==g?d:a,fired:!1});return a};this.clearOnPosition=function(a,b){var c;a=parseInt(a,10);if(isNaN(a))return!1;for(c=0;c=b)return!1;for(--b;0<=b;b--)c=E[b],!c.fired&&a.position>=c.position&&(c.fired=!0,v++,c.method.apply(c.scope,[c.position]));return!0};this._resetOnPosition= +function(a){var b,c;b=E.length;if(!b)return!1;for(--b;0<=b;b--)c=E[b],c.fired&&a<=c.position&&(c.fired=!1,v--);return!0};y=function(){var b=a._iO,d=b.from,e=b.to,f,g;g=function(){c._wD(a.id+': "To" time of '+e+" reached.");a.clearOnPosition(e,g);a.stop()};f=function(){c._wD(a.id+': Playing "from" '+d);if(null!==e&&!isNaN(e))a.onPosition(e,g)};null===d||isNaN(d)||(b.position=d,b.multiShot=!1,f());return b};q=function(){var b,c=a._iO.onposition;if(c)for(b in c)if(c.hasOwnProperty(b))a.onPosition(parseInt(b, +10),c[b])};Xa=function(){var b,c=a._iO.onposition;if(c)for(b in c)c.hasOwnProperty(b)&&a.clearOnPosition(parseInt(b,10))};m=function(){a.isHTML5&&fb(a)};G=function(){a.isHTML5&&gb(a)};f=function(b){b||(E=[],v=0);r=!1;a._hasTimer=null;a._a=null;a._html5_canplay=!1;a.bytesLoaded=null;a.bytesTotal=null;a.duration=a._iO&&a._iO.duration?a._iO.duration:null;a.durationEstimate=null;a.buffered=[];a.eqData=[];a.eqData.left=[];a.eqData.right=[];a.failures=0;a.isBuffering=!1;a.instanceOptions={};a.instanceCount= +0;a.loaded=!1;a.metadata={};a.readyState=0;a.muted=!1;a.paused=!1;a.peakData={left:0,right:0};a.waveformData={left:[],right:[]};a.playState=0;a.position=null;a.id3={}};f();this._onTimer=function(b){var c,f=!1,g={};if(a._hasTimer||b)return a._a&&(b||(0opera.version()?new Audio(null):new Audio,c=a._a,c._called_load=!1,C&&(Ya=c);a.isHTML5=!0;a._a=c;c._s=a;h();a._apply_loop(c,b.loops);b.autoLoad||b.autoPlay?a.load():(c.autobuffer=!1,c.preload="auto");return c};h=function(){if(a._a._added_events)return!1;var b;a._a._added_events=!0;for(b in J)J.hasOwnProperty(b)&&a._a&&a._a.addEventListener(b,J[b],!1);return!0};k=function(){var b; +c._wD(a.id+": Removing event listeners");a._a._added_events=!1;for(b in J)J.hasOwnProperty(b)&&a._a&&a._a.removeEventListener(b,J[b],!1)};this._onload=function(b){var d=!!b||!a.isHTML5&&8===n&&a.duration;b=a.id+": ";c._wD(b+(d?"onload()":"Failed to load / invalid sound?"+(a.duration?" -":" Zero-length duration reported.")+" ("+a.url+")"),d?1:2);d||a.isHTML5||(!0===c.sandbox.noRemote&&c._wD(b+t("noNet"),1),!0===c.sandbox.noLocal&&c._wD(b+t("noLocal"),1));a.loaded=d;a.readyState=d?3:2;a._onbufferchange(0); +a._iO.onload&&ua(a,function(){a._iO.onload.apply(a,[d])});return!0};this._onbufferchange=function(b){if(0===a.playState||b&&a.isBuffering||!b&&!a.isBuffering)return!1;a.isBuffering=1===b;a._iO.onbufferchange&&(c._wD(a.id+": Buffer state change: "+b),a._iO.onbufferchange.apply(a,[b]));return!0};this._onsuspend=function(){a._iO.onsuspend&&(c._wD(a.id+": Playback suspended"),a._iO.onsuspend.apply(a));return!0};this._onfailure=function(b,d,e){a.failures++;c._wD(a.id+": Failure ("+a.failures+"): "+b); +if(a._iO.onfailure&&1===a.failures)a._iO.onfailure(b,d,e);else c._wD(a.id+": Ignoring failure")};this._onwarning=function(b,c,d){if(a._iO.onwarning)a._iO.onwarning(b,c,d)};this._onfinish=function(){var b=a._iO.onfinish;a._onbufferchange(0);a._resetOnPosition(0);a.instanceCount&&(a.instanceCount--,a.instanceCount||(Xa(),a.playState=0,a.paused=!1,a.instanceCount=0,a.instanceOptions={},a._iO={},G(),a.isHTML5&&(a.position=0)),a.instanceCount&&!a._iO.multiShotEvents||!b||(c._wD(a.id+": onfinish()"),ua(a, +function(){b.apply(a)})))};this._whileloading=function(b,c,d,e){var f=a._iO;a.bytesLoaded=b;a.bytesTotal=c;a.duration=Math.floor(d);a.bufferLength=e;a.durationEstimate=a.isHTML5||f.isMovieStar?a.duration:f.duration?a.duration>f.duration?a.duration:f.duration:parseInt(a.bytesTotal/a.bytesLoaded*a.duration,10);a.isHTML5||(a.buffered=[{start:0,end:a.duration}]);(3!==a.readyState||a.isHTML5)&&f.whileloading&&f.whileloading.apply(a)};this._whileplaying=function(b,c,d,e,f){var k=a._iO;if(isNaN(b)||null=== +b)return!1;a.position=Math.max(0,b);a._processOnPosition();!a.isHTML5&&8opera.version()?new Audio(null):new Audio:null,e,a,f={},h,k;h=c.audioFormats;for(e in h)if(h.hasOwnProperty(e)&&(a="audio/"+e,f[e]=b(h[e].type),f[a]=f[e],e.match(pb)?(c.flash[e]=!0,c.flash[a]=!0):(c.flash[e]=!1,c.flash[a]=!1),h[e]&&h[e].related))for(k=h[e].related.length-1;0<=k;k--)f["audio/"+h[e].related[k]]= +f[e],c.html5[h[e].related[k]]=f[e],c.flash[h[e].related[k]]=f[e];f.canPlayType=d?b:null;c.html5=A(c.html5,f);c.html5.usingFlash=ib();u=c.html5.usingFlash;return!0};z={notReady:"Unavailable - wait until onready() has fired.",notOK:"Audio support is not available.",domError:"soundManagerexception caught while appending SWF to DOM.",spcWmode:"Removing wmode, preventing known SWF loading issue(s)",swf404:"soundManager: Verify that %s is a valid path.",tryDebug:"Try soundManager.debugFlash = true for more security details (output goes to SWF.)", +checkSWF:"See SWF output for more debug info.",localFail:"soundManager: Non-HTTP page ("+m.location.protocol+" URL?) Review Flash player security settings for this special case:\nhttp://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html\nMay need to add/allow path, eg. c:/sm2/ or /users/me/sm2/",waitFocus:"soundManager: Special case: Waiting for SWF to load with window focus...",waitForever:"soundManager: Waiting indefinitely for Flash (will recover if unblocked)...", +waitSWF:"soundManager: Waiting for 100% SWF load...",needFunction:"soundManager: Function object expected for %s",badID:'Sound ID "%s" should be a string, starting with a non-numeric character',currentObj:"soundManager: _debug(): Current sound objects",waitOnload:"soundManager: Waiting for window.onload()",docLoaded:"soundManager: Document already loaded",onload:"soundManager: initComplete(): calling soundManager.onload()",onloadOK:"soundManager.onload() complete",didInit:"soundManager: init(): Already called?", +secNote:"Flash security note: Network/internet URLs will not load due to security restrictions. Access can be configured via Flash Player Global Security Settings Page: http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html",badRemove:"soundManager: Failed to remove Flash node.",shutdown:"soundManager.disable(): Shutting down",queue:"soundManager: Queueing %s handler",smError:"SMSound.load(): Exception: JS-Flash communication failed, or JS error.",fbTimeout:"No flash response, applying .swf_timedout CSS...", +fbLoaded:"Flash loaded",fbHandler:"soundManager: flashBlockHandler()",manURL:"SMSound.load(): Using manually-assigned URL",onURL:"soundManager.load(): current URL already assigned.",badFV:'soundManager.flashVersion must be 8 or 9. "%s" is invalid. Reverting to %s.',as2loop:"Note: Setting stream:false so looping can work (flash 8 limitation)",noNSLoop:"Note: Looping not implemented for MovieStar formats",needfl9:"Note: Switching to flash 9, required for MP4 formats.",mfTimeout:"Setting flashLoadTimeout = 0 (infinite) for off-screen, mobile flash case", +needFlash:"soundManager: Fatal error: Flash is needed to play some required formats, but is not available.",gotFocus:"soundManager: Got window focus.",policy:"Enabling usePolicyFile for data access",setup:"soundManager.setup(): allowed parameters: %s",setupError:'soundManager.setup(): "%s" cannot be assigned with this method.',setupUndef:'soundManager.setup(): Could not find option "%s"',setupLate:"soundManager.setup(): url, flashVersion and html5Test property changes will not take effect until reboot().", +noURL:"soundManager: Flash URL required. Call soundManager.setup({url:...}) to get started.",sm2Loaded:"SoundManager 2: Ready. "+String.fromCharCode(10003),reset:"soundManager.reset(): Removing event callbacks",mobileUA:"Mobile UA detected, preferring HTML5 by default.",globalHTML5:"Using singleton HTML5 Audio() pattern for this device.",ignoreMobile:"Ignoring mobile restrictions for this device."};t=function(){var b,c,e,a;b=kb.call(arguments);c=b.shift();if((a=z&&z[c]?z[c]:"")&&b&&b.length)for(c= +0,e=b.length;cn&&(c._wD(t("needfl9")),c.flashVersion=n=9);c.version=c.versionNumber+(c.html5Only?" (HTML5-only mode)":9===n?" (AS3/Flash 9)":" (AS2/Flash 8)");8'}if(X&&Y)return!1;if(c.html5Only)return Ea(),e(),c.oMC=F(c.movieID),za(),Y=X=!0,!1;var f=d||c.url,h=c.altURL||f,k=ma(),l=V(), +n=null,n=m.getElementsByTagName("html")[0],p,r,q,n=n&&n.dir&&n.dir.match(/rtl/i);b=b===g?c.id:b;Ea();c.url=db(ga?f:h);d=c.url;c.wmode=!c.wmode&&c.useHighPerformance?"transparent":c.wmode;null!==c.wmode&&(v.match(/msie 8/i)||!O&&!c.useHighPerformance)&&navigator.platform.match(/win32|win64/i)&&(M.push(z.spcWmode),c.wmode=null);k={name:b,id:b,src:d,quality:"high",allowScriptAccess:c.allowScriptAccess,bgcolor:c.bgColor,pluginspage:vb+"www.macromedia.com/go/getflashplayer",title:"JS/Flash audio component (SoundManager 2)", +type:"application/x-shockwave-flash",wmode:c.wmode,hasPriority:"true"};c.debugFlash&&(k.FlashVars="debug=1");c.wmode||delete k.wmode;if(O)f=m.createElement("div"),r=['',a("movie",d),a("AllowScriptAccess",c.allowScriptAccess),a("quality",k.quality),c.wmode?a("wmode",c.wmode):"",a("bgcolor", +c.bgColor),a("hasPriority","true"),c.debugFlash?a("FlashVars",k.FlashVars):"",""].join("");else for(p in f=m.createElement("embed"),k)k.hasOwnProperty(p)&&f.setAttribute(p,k[p]);Ga();l=V();if(k=ma())if(c.oMC=F(c.movieID)||m.createElement("div"),c.oMC.id)q=c.oMC.className,c.oMC.className=(q?q+" ":"movieContainer")+(l?" "+l:""),c.oMC.appendChild(f),O&&(p=c.oMC.appendChild(m.createElement("div")),p.className="sm2-object-box",p.innerHTML=r),Y=!0;else{c.oMC.id=c.movieID;c.oMC.className="movieContainer "+ +l;p=l=null;c.useFlashBlock||(c.useHighPerformance?l={position:"fixed",width:"8px",height:"8px",bottom:"0px",left:"0px",overflow:"hidden"}:(l={position:"absolute",width:"6px",height:"6px",top:"-9999px",left:"-9999px"},n&&(l.left=Math.abs(parseInt(l.left,10))+"px")));ub&&(c.oMC.style.zIndex=1E4);if(!c.debugFlash)for(q in l)l.hasOwnProperty(q)&&(c.oMC.style[q]=l[q]);try{O||c.oMC.appendChild(f),k.appendChild(c.oMC),O&&(p=c.oMC.appendChild(m.createElement("div")),p.className="sm2-object-box",p.innerHTML= +r),Y=!0}catch(u){throw Error(t("domError")+" \n"+u.toString());}}X=!0;e();return!0};la=function(){if(c.html5Only)return na(),!1;if(l)return!1;if(!c.url)return p("noURL"),!1;l=c.getMovie(c.id);l||(ba?(O?c.oMC.innerHTML=Ia:c.oMC.appendChild(ba),ba=null,X=!0):na(c.id,c.url),l=c.getMovie(c.id));"function"===typeof c.oninitmovie&&setTimeout(c.oninitmovie,1);Oa();return!0};T=function(){setTimeout($a,1E3)};Da=function(){h.setTimeout(function(){L("soundManager: useFlashBlock is false, 100% HTML5 mode is possible. Rebooting with preferFlash: false..."); +c.setup({preferFlash:!1}).reboot();c.didFlashBlock=!0;c.beginDelayedInit()},1)};$a=function(){var b,d=!1;if(!c.url||ca)return!1;ca=!0;x.remove(h,"load",T);if(H&&xa&&!Va)return p("waitFocus"),!1;q||(b=c.getMoviePercent(),0b&&(d=!0));setTimeout(function(){b=c.getMoviePercent();if(d)return ca=!1,c._wD(t("waitSWF")),h.setTimeout(T,1),!1;q||(c._wD("soundManager: No Flash response within expected time. Likely causes: "+(0===b?"SWF load failed, ":"")+"Flash blocked or JS-Flash security error."+(c.debugFlash? +" "+t("checkSWF"):""),2),!ga&&b&&(p("localFail",2),c.debugFlash||p("tryDebug",2)),0===b&&c._wD(t("swf404",c.url),1),D("flashtojs",!1,": Timed out"+(ga?" (Check flash security or flash blockers)":" (No plugin/missing SWF?)")));!q&&ob&&(null===b?c.useFlashBlock||0===c.flashLoadTimeout?(c.useFlashBlock&&Ja(),p("waitForever")):!c.useFlashBlock&&ea?Da():(p("waitForever"),P({type:"ontimeout",ignoreInit:!0,error:{type:"INIT_FLASHBLOCK"}})):0===c.flashLoadTimeout?p("waitForever"):!c.useFlashBlock&&ea?Da(): +Ha(!0))},c.flashLoadTimeout)};ka=function(){if(Va||!xa)return x.remove(h,"focus",ka),!0;Va=ob=!0;p("gotFocus");ca=!1;T();x.remove(h,"focus",ka);return!0};Oa=function(){M.length&&(c._wD("SoundManager 2: "+M.join(" "),1),M=[])};mb=function(){Oa();var b,d=[];if(c.useHTML5Audio&&c.hasHTML5){for(b in c.audioFormats)c.audioFormats.hasOwnProperty(b)&&d.push(b+" = "+c.html5[b]+(!c.html5[b]&&u&&c.flash[b]?" (using flash)":c.preferFlash&&c.flash[b]&&u?" (preferring flash)":c.html5[b]?"":" ("+(c.audioFormats[b].required? +"required, ":"")+"and no flash support)"));c._wD("SoundManager 2 HTML5 support: "+d.join(", "),1)}};Z=function(b){if(q)return!1;if(c.html5Only)return p("sm2Loaded",1),q=!0,S(),D("onload",!0),!0;var d=!0,e;c.useFlashBlock&&c.flashLoadTimeout&&!c.getMoviePercent()||(q=!0);e={type:!H&&u?"NO_FLASH":"INIT_TIMEOUT"};c._wD("SoundManager 2 "+(y?"failed to load":"loaded")+" ("+(y?"Flash security/load error":"OK")+") "+String.fromCharCode(y?10006:10003),y?2:1);y||b?(c.useFlashBlock&&c.oMC&&(c.oMC.className= +V()+" "+(null===c.getMoviePercent()?"swf_timedout":"swf_error")),P({type:"ontimeout",error:e,ignoreInit:!0}),D("onload",!1),U(e),d=!1):D("onload",!0);y||(c.waitForWindowLoad&&!ja?(p("waitOnload"),x.add(h,"load",S)):(c.waitForWindowLoad&&ja&&p("docLoaded"),S()));return d};Za=function(){var b,d=c.setupOptions;for(b in d)d.hasOwnProperty(b)&&(c[b]===g?c[b]=d[b]:c[b]!==d[b]&&(c.setupOptions[b]=c[b]))};za=function(){if(q)return p("didInit"),!1;if(c.html5Only)return q||(x.remove(h,"load",c.beginDelayedInit), +c.enabled=!0,Z()),!0;la();try{l._externalInterfaceTest(!1),ab(!0,c.flashPollingInterval||(c.useHighPerformance?10:50)),c.debugMode||l._disableDebug(),c.enabled=!0,D("jstoflash",!0),c.html5Only||x.add(h,"unload",ya)}catch(b){return c._wD("js/flash exception: "+b.toString()),D("jstoflash",!1),U({type:"JS_TO_FLASH_EXCEPTION",fatal:!0}),Ha(!0),Z(),!1}Z();x.remove(h,"load",c.beginDelayedInit);return!0};Q=function(){if(aa)return!1;aa=!0;Za();Ga();!H&&c.hasHTML5&&(c._wD("SoundManager 2: No Flash detected"+ +(c.useHTML5Audio?". Trying HTML5-only mode.":", enabling HTML5."),1),c.setup({useHTML5Audio:!0,preferFlash:!1}));jb();!H&&u&&(M.push(z.needFlash),c.setup({flashLoadTimeout:1}));m.removeEventListener&&m.removeEventListener("DOMContentLoaded",Q,!1);la();return!0};La=function(){"complete"===m.readyState&&(Q(),m.detachEvent("onreadystatechange",La));return!0};Fa=function(){ja=!0;Q();x.remove(h,"load",Fa)};Na();x.add(h,"focus",ka);x.add(h,"load",T);x.add(h,"load",Fa);m.addEventListener?m.addEventListener("DOMContentLoaded", +Q,!1):m.attachEvent?m.attachEvent("onreadystatechange",La):(D("onload",!1),U({type:"NO_DOM2_EVENTS",fatal:!0}))}if(!h||!h.document)throw Error("SoundManager requires a browser with window and document objects.");var W=null;h.SM2_DEFER!==g&&SM2_DEFER||(W=new K);"object"===typeof module&&module&&"object"===typeof module.exports?(module.exports.SoundManager=K,module.exports.soundManager=W):"function"===typeof define&&define.amd&&define(function(){return{constructor:K,getInstance:function(g){!h.soundManager&& +g instanceof Function&&(g=g(K),g instanceof K&&(h.soundManager=g));return h.soundManager}}});h.SoundManager=K;h.soundManager=W})(window); \ No newline at end of file diff --git a/html/webapp/soundmanager2-setup.js b/html/webapp/soundmanager2-setup.js new file mode 100644 index 0000000..4d0ac66 --- /dev/null +++ b/html/webapp/soundmanager2-setup.js @@ -0,0 +1 @@ +window.SM2_DEFER = true; \ No newline at end of file diff --git a/html/webapp/styles.css b/html/webapp/styles.css new file mode 100644 index 0000000..0abbdaa --- /dev/null +++ b/html/webapp/styles.css @@ -0,0 +1,43 @@ +canvas { + cursor: default; + outline: none; +} + +body { + background-color: #222222; +} + +.superdev { + color: rgb(37,37,37); + text-shadow: 0px 1px 1px rgba(250,250,250,0.1); + font-size: 50pt; + display: block; + position: relative; + text-decoration: none; + background-color: rgb(83,87,93); + box-shadow: 0px 3px 0px 0px rgb(34,34,34), + 0px 7px 10px 0px rgb(17,17,17), + inset 0px 1px 1px 0px rgba(250, 250, 250, .2), + inset 0px -12px 35px 0px rgba(0, 0, 0, .5); + width: 70px; + height: 70px; + border: 0; + border-radius: 35px; + text-align: center; + line-height: 68px; +} + +.superdev:active { + box-shadow: 0px 0px 0px 0px rgb(34,34,34), + 0px 3px 7px 0px rgb(17,17,17), + inset 0px 1px 1px 0px rgba(250, 250, 250, .2), + inset 0px -10px 35px 5px rgba(0, 0, 0, .5); + background-color: rgb(83,87,93); + top: 3px; + color: #fff; + text-shadow: 0px 0px 3px rgb(250,250,250); +} + +.superdev:hover { + background-color: rgb(100,100,100); +} diff --git a/ios/Info.plist.xml b/ios/Info.plist.xml index 95b7239..21f75ee 100644 --- a/ios/Info.plist.xml +++ b/ios/Info.plist.xml @@ -1,59 +1,51 @@ - + + - - CFBundleDevelopmentRegion - en - CFBundleDisplayName - ${app.name} - CFBundleExecutable - ${app.executable} - CFBundleIdentifier - ${app.id} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${app.name} - CFBundlePackageType - APPL - CFBundleShortVersionString - ${app.version} - CFBundleSignature - ???? - CFBundleVersion - ${app.build} - LSRequiresIPhoneOS - - UIViewControllerBasedStatusBarAppearance - - UIStatusBarHidden - - UIDeviceFamily - - 1 - 2 - - UIRequiredDeviceCapabilities - - armv7 - opengles-2 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - CFBundleIcons - - CFBundlePrimaryIcon - - CFBundleIconFiles - - Icon - Icon-72 - - - - + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + ${app.name} + CFBundleExecutable + ${app.executable} + CFBundleIdentifier + ${app.id} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${app.name} + CFBundlePackageType + APPL + CFBundleShortVersionString + ${app.version} + CFBundleSignature + ???? + CFBundleVersion + ${app.build} + LSRequiresIPhoneOS + + UIViewControllerBasedStatusBarAppearance + + UIStatusBarHidden + + MinimumOSVersion + 8.0 + UIDeviceFamily + + 1 + 2 + + UIRequiredDeviceCapabilities + + opengles-2 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + CFBundleIconName + AppIcon + diff --git a/ios/build.gradle b/ios/build.gradle index 74dba2a..1e87c1a 100644 --- a/ios/build.gradle +++ b/ios/build.gradle @@ -16,7 +16,4 @@ robovm { archs = "thumbv7:arm64" } -eclipse.project { - name = appName + "-ios" - natures 'org.robovm.eclipse.RoboVMNature' -} \ No newline at end of file +eclipse.project.name = appName + "-ios" diff --git a/ios/data/Icon-72.png b/ios/data/Icon-72.png deleted file mode 100644 index 8cc575912f83627c0dec1fc8ed0bef7e11c95894..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4439 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 JIu*O<{{eO~S=9gl diff --git a/ios/data/Icon-72@2x.png b/ios/data/Icon-72@2x.png deleted file mode 100644 index ec5e3803faa12b3426432d5ccd803a2649d6730b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6231 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 MUR|zU*8IbN0YpO1GXMYp diff --git a/ios/data/Icon@2x.png b/ios/data/Icon@2x.png deleted file mode 100644 index eddc17c575f038d3fda1225213da0cb2bcf9a368..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5679 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 diff --git a/ios/robovm.xml b/ios/robovm.xml index 468a654..fccf328 100644 --- a/ios/robovm.xml +++ b/ios/robovm.xml @@ -1,48 +1,48 @@ - ${app.executable} - ${app.mainclass} - ios - thumbv7 - ios - Info.plist.xml - - - ../android/assets - - ** - - true - - - data - - - - com.badlogic.gdx.scenes.scene2d.ui.* - com.badlogic.gdx.graphics.g3d.particles.** - com.android.okhttp.HttpHandler - com.android.okhttp.HttpsHandler - com.android.org.conscrypt.** - com.android.org.bouncycastle.jce.provider.BouncyCastleProvider - com.android.org.bouncycastle.jcajce.provider.keystore.BC$Mappings - com.android.org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi - com.android.org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi$Std - - com.android.org.bouncycastle.jce.provider.PKIXCertPathValidatorSpi - com.android.org.bouncycastle.crypto.digests.AndroidDigestFactoryOpenSSL - org.apache.harmony.security.provider.cert.DRLCertFactory - org.apache.harmony.security.provider.crypto.CryptoProvider - - - z - - - UIKit - OpenGLES - QuartzCore - CoreGraphics - OpenAL - AudioToolbox - AVFoundation - + ${app.executable} + ${app.mainclass} + ios + thumbv7 + ios + Info.plist.xml + conservative + + + ../android/assets + + ** + + true + + + data + + + + com.badlogic.gdx.scenes.scene2d.ui.* + com.badlogic.gdx.graphics.g3d.particles.** + com.android.okhttp.HttpHandler + com.android.okhttp.HttpsHandler + com.android.org.conscrypt.** + com.android.org.bouncycastle.jce.provider.BouncyCastleProvider + com.android.org.bouncycastle.jcajce.provider.keystore.BC$Mappings + com.android.org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi + com.android.org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi$Std + com.android.org.bouncycastle.jce.provider.PKIXCertPathValidatorSpi + com.android.org.bouncycastle.crypto.digests.AndroidDigestFactoryOpenSSL + org.apache.harmony.security.provider.cert.DRLCertFactory + org.apache.harmony.security.provider.crypto.CryptoProvider + + + z + + + UIKit + OpenGLES + QuartzCore + CoreGraphics + OpenAL + AudioToolbox + AVFoundation + diff --git a/settings.gradle b/settings.gradle index 4107d87..965b6a3 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1 @@ -include 'desktop', 'android', 'html', 'core', 'ios' \ No newline at end of file +include 'desktop', 'android', 'ios', 'html', 'core' \ No newline at end of file