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 delta 50686 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 YlmvLQvVpW2GZ-@*7Gz*ZKMvvn0NnO>l>h($ delta 45642 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 Cn5-@U 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 zcmdlZKU>_aGr-TCmrII^fq{Y7)59f*fq_91ggMw47#NPcY)xihVBjq9h%9Dc-1Q2C z84rH6{JPPsldGQLn5Tg} z7P%{@WSf46uj}M9^~Go9CY+U-W@x4~Nz5SKUH#;1acf3pDMg{WWw#fsxu5ZL+nZ-U nXP?N?Ke%z1b%kdfGegT_o5i25Gg&b(Ffe$!`njxgN@xNAy=-)4 delta 1351 zcmbO&zDM4yGr-TCmrII^fq{Y7)59f*fq}siggKZP7#NtVL@qHfFmM)lL>4nJa0`Pl zBg3pY5*y7rx$0S-d%8G=RNQ)VBi}-EZ#} zU#Xz7zCL2&w$jyw1@-aw?|j%`W;%6SZFN!PO`96KZ}0E(J4{Pme|>lEZ8L_MGiNRg z$T&GkmEqOv*DDpTI3#S@_iyLTKX;NUnQU0+F`aLCe!%&G`tDf%)?>3~$uXVh34i=n zeC0}eYnjWowo@*Be0;o~C2oe#y>sV|JTSg{_i)+oOJdKU*-qov1L&DOwY(4m1{`Cuq!rhyj z59asFd@L*7o11f`@k>`%{hoVq9gmob9j<@<5qEjZnKNganws9c$??4$63S{|V4&bB zbi7b+diKRdt~Dx3ANMG5ymas9`uVftsFJhuhMOJh)Td7Sbn_-dhsGyK$)>}JclX@< zF=vs&k9T(;hlb9cA+Twa(Yg88|NdL~E-yb@yY_3=vtOlh1?yse-@Urp?L~TV{eq=S zRpa(27*zcDkjNlymeb+3SX5N>*q^7Tr&r(GzubS`p2<%?ZZgWv>I#zDTlSXs1Dgcn zJ%LBL*^9f3uHN{;{h`{C@$Zj|7WGrC%WV$it4%htnPc(O&i+30AFdvT6P}ZuiK1afI{j*Vjw##Ar{LGRf&}*<)RfNMXVKeQWvovi9!1b$9ozv$G!>r>iJB}mP4?n*9_xQS9&zyYd?Y&arf=7!) zma|Idn&{*6ZN00jcDVPisaI9Kb7^T!y1LG^imodc6+I@IS#)gA|N1U(-PW(?jU@l? z*XmO84B8{x>!#|dbfiK&%O=L6L{?_{3x-(s^Z#={9bw5ao8dEmSB+ta4%>YGO*~Hf rwrqOOh+3vVikNHvmwxSMWca$Y_;TKC*8L0&3=E#^u6{1-oD!Mopera.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 zcmeAS@N?(olHy`uVBq!ia0y~yVDJE84kiW$hFkqA0t^fcoCO|{#S9GG!XV7ZFl&wk z0|S?Trn7TEKt_H^esM;Afr6*AvqC{pep+TuDg#5st+~PJA;B-jY`@?8;^f`YFvUAR zNR&e%$f>(QWTKjuBBy{?hvLGUqJakmU0qqEPb}zQ?(1vl5e?Mg>EgP<{zP$6U-ROQ zu2a7sRxi%Jw&(k^v;VeUw|lQz`~GlIyvbvLx3(rf_nY4%M1;3f6T0AWQd-kD9X5C zB7=f(YKIF$hBd>Q^I=`C3=swlB5B@7EE#U-G8lMT#JFBV&*2Bohp{DjnN#sh3w(sdU6`)JjJy| z%o3RrXF2E{s+=il)M�PV*|l=S%D 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 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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 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 zcmeAS@N?(olHy`uVBq!ia0y~yU?>7%4kiW$28R7YS_}*foCO|{#S9GG!XV7ZFl&wk z0|S?Trn7TEKt_H^esM;Afr6*AvqC{pep+TuDg#5st+~PJA;B-jY`@?8;^f`YFvUAR zNR&e%$f>(QWTKjuBBy{?hvLGUqJakmU0qqEPb}zQ?(1vl5e?Mg>EgP<{zP$6U-ROQ zu2a7sRxi%Jw&(k^v;VeUw|lQz`~GlIyvbvLx3(rf_nY4%M1;3f6T0AWQd-kD9X5C zB7=f(YKIF$hBd>Q^I=`C3=swlB5B@7EE#U-G8lMT#JFBV&*2Bohp{DjnN#sh3w(sdU6`)JjJy| z%o3RrXF2E{s+=il)M�PV*|l=S%D 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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