Compare commits
No commits in common. "fxgl" and "develop" have entirely different histories.
18
.editorconfig
Normal file
@ -0,0 +1,18 @@
|
||||
# https://editorconfig.org
|
||||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = space
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
|
||||
[*.{java,scala,groovy,kt,kts}]
|
||||
indent_size = 4
|
||||
|
||||
[*.gradle]
|
||||
indent_size = 2
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = false
|
2
.gitattributes
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
* text=auto eol=lf
|
||||
*.bat text=auto eol=crlf
|
174
.gitignore
vendored
Executable file → Normal file
@ -1,14 +1,166 @@
|
||||
#files to ignore
|
||||
|
||||
*.metadata/**
|
||||
*.recommenders/**
|
||||
*/target/**
|
||||
target
|
||||
*/build/**
|
||||
*.idea/**
|
||||
## Gradle:
|
||||
.gradle/
|
||||
gradle-app.setting
|
||||
/build/
|
||||
/android/build/
|
||||
/core/build/
|
||||
/lwjgl2/build/
|
||||
/lwjgl3/build/
|
||||
/html/build/
|
||||
/teavm/build/
|
||||
/ios/build/
|
||||
/ios-moe/build/
|
||||
/headless/build/
|
||||
/server/build/
|
||||
/shared/build/
|
||||
|
||||
## Java:
|
||||
*.class
|
||||
logs/*
|
||||
dist/*
|
||||
system/*
|
||||
*.war
|
||||
*.ear
|
||||
hs_err_pid*
|
||||
.attach_pid*
|
||||
|
||||
## Android:
|
||||
/android/libs/armeabi-v7a/
|
||||
/android/libs/arm64-v8a/
|
||||
/android/libs/x86/
|
||||
/android/libs/x86_64/
|
||||
/android/gen/
|
||||
/android/out/
|
||||
local.properties
|
||||
com_crashlytics_export_strings.xml
|
||||
|
||||
## Robovm:
|
||||
/ios/robovm-build/
|
||||
|
||||
## iOS:
|
||||
/ios/xcode/*.xcodeproj/*
|
||||
!/ios/xcode/*.xcodeproj/xcshareddata
|
||||
!/ios/xcode/*.xcodeproj/project.pbxproj
|
||||
/ios/xcode/native/
|
||||
/ios/IOSLauncher.app
|
||||
/ios/IOSLauncher.app.dSYM
|
||||
|
||||
## GWT:
|
||||
/html/war/
|
||||
/html/gwt-unitCache/
|
||||
.apt_generated/
|
||||
/html/war/WEB-INF/deploy/
|
||||
/html/war/WEB-INF/classes/
|
||||
.gwt/
|
||||
gwt-unitCache/
|
||||
www-test/
|
||||
.gwt-tmp/
|
||||
|
||||
## TeaVM:
|
||||
# Not sure yet...
|
||||
|
||||
## IntelliJ, Android Studio:
|
||||
.idea/
|
||||
*.ipr
|
||||
*.iws
|
||||
*.iml
|
||||
|
||||
## Eclipse:
|
||||
.classpath
|
||||
.project
|
||||
.metadata/
|
||||
/android/bin/
|
||||
/core/bin/
|
||||
/lwjgl2/bin/
|
||||
/lwjgl3/bin/
|
||||
/html/bin/
|
||||
/teavm/bin/
|
||||
/ios/bin/
|
||||
/ios-moe/bin/
|
||||
/headless/bin/
|
||||
/server/bin/
|
||||
/shared/bin/
|
||||
*.tmp
|
||||
*.bak
|
||||
*.swp
|
||||
*~.nib
|
||||
.settings/
|
||||
.loadpath
|
||||
.externalToolBuilders/
|
||||
*.launch
|
||||
|
||||
|
||||
## NetBeans:
|
||||
|
||||
/nbproject/private/
|
||||
/android/nbproject/private/
|
||||
/core/nbproject/private/
|
||||
/lwjgl2/nbproject/private/
|
||||
/lwjgl3/nbproject/private/
|
||||
/html/nbproject/private/
|
||||
/teavm/nbproject/private/
|
||||
/ios/nbproject/private/
|
||||
/ios-moe/nbproject/private/
|
||||
/headless/nbproject/private/
|
||||
/server/nbproject/private/
|
||||
/shared/nbproject/private/
|
||||
|
||||
/nbbuild/
|
||||
/android/nbbuild/
|
||||
/core/nbbuild/
|
||||
/lwjgl2/nbbuild/
|
||||
/lwjgl3/nbbuild/
|
||||
/html/nbbuild/
|
||||
/teavm/nbbuild/
|
||||
/ios/nbbuild/
|
||||
/ios-moe/nbbuild/
|
||||
/headless/nbbuild/
|
||||
/server/nbbuild/
|
||||
/shared/nbbuild/
|
||||
|
||||
/dist/
|
||||
/android/dist/
|
||||
/core/dist/
|
||||
/lwjgl2/dist/
|
||||
/lwjgl3/dist/
|
||||
/html/dist/
|
||||
/teavm/dist/
|
||||
/ios/dist/
|
||||
/ios-moe/dist/
|
||||
/headless/dist/
|
||||
/server/dist/
|
||||
/shared/dist/
|
||||
|
||||
/nbdist/
|
||||
/android/nbdist/
|
||||
/core/nbdist/
|
||||
/lwjgl2/nbdist/
|
||||
/lwjgl3/nbdist/
|
||||
/html/nbdist/
|
||||
/teavm/nbdist/
|
||||
/ios/nbdist/
|
||||
/ios-moe/nbdist/
|
||||
/headless/nbdist/
|
||||
/server/nbdist/
|
||||
/shared/nbdist/
|
||||
|
||||
nbactions.xml
|
||||
nb-configuration.xml
|
||||
|
||||
## OS-Specific:
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
## Miscellaneous:
|
||||
*~
|
||||
*.*#
|
||||
*#*#
|
||||
/assets/assets.txt
|
||||
/assets/assets_.txt
|
||||
|
||||
|
||||
## Special cases:
|
||||
|
||||
## There is a resource-config.json file generated by nativeimage.gradle if you use Graal Native Image.
|
||||
## Some usage may need extra resource configuration in a different file with the same name.
|
||||
## You could also add that configuration to the text in nativeimage.gradle .
|
||||
## You should delete or comment out the next line if you have configuration in a different resource-config.json .
|
||||
**/resource-config.json
|
||||
**pixel-app*
|
||||
|
4
.gitmodules
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
[submodule "assets/embedded_mods/speedy-blupi-I-legacy-mods"]
|
||||
path = assets/embedded_mods/speedy-blupi-I-legacy-mods
|
||||
url = https://github.com/openeggbert/speedy-blupi-I-legacy-mods
|
||||
branch = develop
|
59
README.md
@ -1,2 +1,61 @@
|
||||
# Open Eggbert
|
||||
|
||||
Free recreation of the computer game Speedy Eggbert.
|
||||
|
||||
## Development
|
||||
|
||||
A [libGDX](https://libgdx.com/) project generated with [gdx-liftoff](https://github.com/libgdx/gdx-liftoff).
|
||||
|
||||
This project was generated with a template including simple application launchers and an `ApplicationAdapter` extension that draws libGDX logo.
|
||||
|
||||
## Requirements
|
||||
|
||||
- Java 17 is installed
|
||||
|
||||
## Platforms
|
||||
|
||||
- `core`: Main module with the application logic shared by all platforms.
|
||||
- `lwjgl3`: Primary desktop platform using LWJGL3.
|
||||
- `android`: Android mobile platform. Needs Android SDK.
|
||||
- `html`: Web platform using GWT and WebGL. Supports only Java projects.
|
||||
- `teavm`: Experimental web platform using TeaVM and WebGL.
|
||||
|
||||
## Gradle
|
||||
|
||||
This project uses [Gradle](https://gradle.org/) to manage dependencies.
|
||||
The Gradle wrapper was included, so you can run Gradle tasks using `gradlew.bat` or `./gradlew` commands.
|
||||
Useful Gradle tasks and flags:
|
||||
|
||||
- `--continue`: when using this flag, errors will not stop the tasks from running.
|
||||
- `--daemon`: thanks to this flag, Gradle daemon will be used to run chosen tasks.
|
||||
- `--offline`: when using this flag, cached dependency archives will be used.
|
||||
- `--refresh-dependencies`: this flag forces validation of all dependencies. Useful for snapshot versions.
|
||||
- `android:lint`: performs Android project validation.
|
||||
- `build`: builds sources and archives of every project.
|
||||
- `cleanEclipse`: removes Eclipse project data.
|
||||
- `cleanIdea`: removes IntelliJ project data.
|
||||
- `clean`: removes `build` folders, which store compiled classes and built archives.
|
||||
- `eclipse`: generates Eclipse project data.
|
||||
- `html:dist`: compiles GWT sources. The compiled application can be found at `html/build/dist`: you can use any HTTP server to deploy it.
|
||||
- `html:superDev`: compiles GWT sources and runs the application in SuperDev mode. It will be available at [localhost:8080/html](http://localhost:8080/html). Use only during development.
|
||||
- `idea`: generates IntelliJ project data.
|
||||
- `lwjgl3:jar`: builds application's runnable jar, which can be found at `lwjgl3/build/lib`.
|
||||
- `lwjgl3:run`: starts the application.
|
||||
- `teavm:build`: builds the JavaScript application into the build/dist/webapp folder.
|
||||
- `teavm:run`: serves the JavaScript application at http://localhost:8080 via a local Jetty server.
|
||||
- `test`: runs unit tests (if any).
|
||||
|
||||
Note that most tasks that are not specific to a single project can be run with `name:` prefix, where the `name` should be replaced with the ID of a specific project.
|
||||
For example, `core:clean` removes `build` folder only from the `core` project.
|
||||
|
||||
## FAQ
|
||||
|
||||
### How to clean Gradle cache
|
||||
|
||||
`./gradlew clean build --refresh-dependencies`
|
||||
|
||||
### Deploy HTML to localhost
|
||||
|
||||
Change directory to html/build/dist and run:
|
||||
|
||||
`python3 -m http.server 8000`
|
||||
|
27
android/AndroidManifest.xml
Normal file
@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
<uses-feature android:glEsVersion="0x00020000" android:required="true"/>
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
android:fullBackupContent="true"
|
||||
android:icon="@drawable/ic_launcher"
|
||||
android:isGame="true"
|
||||
android:appCategory="game"
|
||||
android:label="@string/app_name"
|
||||
tools:ignore="UnusedAttribute"
|
||||
android:theme="@style/GdxTheme">
|
||||
<activity
|
||||
android:name="com.openeggbert.android.AndroidLauncher"
|
||||
android:label="@string/app_name"
|
||||
android:screenOrientation="landscape"
|
||||
android:configChanges="keyboard|keyboardHidden|navigation|orientation|screenSize|screenLayout"
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
</intent-filter>
|
||||
</activity>
|
||||
</application>
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
</manifest>
|
131
android/build.gradle
Normal file
@ -0,0 +1,131 @@
|
||||
apply plugin: 'com.android.application'
|
||||
|
||||
|
||||
android {
|
||||
namespace "com.openeggbert"
|
||||
compileSdk 34
|
||||
sourceSets {
|
||||
main {
|
||||
manifest.srcFile 'AndroidManifest.xml'
|
||||
java.setSrcDirs(['src/main/java'])
|
||||
aidl.setSrcDirs(['src/main/java'])
|
||||
renderscript.setSrcDirs(['src/main/java'])
|
||||
res.setSrcDirs(['res'])
|
||||
assets.setSrcDirs(['../assets'])
|
||||
jniLibs.setSrcDirs(['libs'])
|
||||
}
|
||||
}
|
||||
packagingOptions {
|
||||
resources {
|
||||
excludes += ['META-INF/robovm/ios/robovm.xml', 'META-INF/DEPENDENCIES.txt', 'META-INF/DEPENDENCIES',
|
||||
'META-INF/dependencies.txt', '**/*.gwt.xml']
|
||||
pickFirsts += ['META-INF/LICENSE.txt', 'META-INF/LICENSE', 'META-INF/license.txt', 'META-INF/LGPL2.1',
|
||||
'META-INF/NOTICE.txt', 'META-INF/NOTICE', 'META-INF/notice.txt']
|
||||
}
|
||||
}
|
||||
defaultConfig {
|
||||
applicationId 'com.openeggbert'
|
||||
minSdkVersion 19
|
||||
targetSdkVersion 34
|
||||
versionCode 1
|
||||
versionName "1.0"
|
||||
multiDexEnabled true
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility "11"
|
||||
targetCompatibility "11"
|
||||
coreLibraryDesugaringEnabled true
|
||||
}
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled true
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
repositories {
|
||||
// needed for AAPT2, may be needed for other tools
|
||||
google()
|
||||
}
|
||||
|
||||
configurations { natives }
|
||||
|
||||
dependencies {
|
||||
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4'
|
||||
implementation "com.badlogicgames.gdx-controllers:gdx-controllers-android:$gdxControllersVersion"
|
||||
implementation "com.badlogicgames.gdx:gdx-backend-android:$gdxVersion"
|
||||
implementation "com.github.MrStahlfelge.gdx-websockets:common:$websocketVersion"
|
||||
implementation project(':core')
|
||||
implementation "com.pixelgamelibrary:pixel:$pixelVersion"
|
||||
implementation "com.pixelgamelibrary:pixel-backend-libgdx:$pixelVersion"
|
||||
|
||||
natives "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-arm64-v8a"
|
||||
natives "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-armeabi-v7a"
|
||||
natives "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-x86"
|
||||
natives "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-x86_64"
|
||||
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-arm64-v8a"
|
||||
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi-v7a"
|
||||
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86"
|
||||
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86_64"
|
||||
natives "games.rednblack.miniaudio:miniaudio:$miniaudioVersion:natives-arm64-v8a"
|
||||
natives "games.rednblack.miniaudio:miniaudio:$miniaudioVersion:natives-armeabi-v7a"
|
||||
natives "games.rednblack.miniaudio:miniaudio:$miniaudioVersion:natives-x86"
|
||||
natives "games.rednblack.miniaudio:miniaudio:$miniaudioVersion:natives-x86_64"
|
||||
|
||||
}
|
||||
|
||||
// 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.
|
||||
tasks.register('copyAndroidNatives') {
|
||||
doFirst {
|
||||
file("libs/armeabi-v7a/").mkdirs()
|
||||
file("libs/arm64-v8a/").mkdirs()
|
||||
file("libs/x86_64/").mkdirs()
|
||||
file("libs/x86/").mkdirs()
|
||||
|
||||
configurations.natives.copy().files.each { jar ->
|
||||
def outputDir = null
|
||||
if(jar.name.endsWith("natives-armeabi-v7a.jar")) outputDir = file("libs/armeabi-v7a")
|
||||
if(jar.name.endsWith("natives-arm64-v8a.jar")) outputDir = file("libs/arm64-v8a")
|
||||
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.matching { it.name.contains("merge") && it.name.contains("JniLibFolders") }.configureEach { packageTask ->
|
||||
packageTask.dependsOn 'copyAndroidNatives'
|
||||
}
|
||||
|
||||
tasks.register('run', Exec) {
|
||||
def path
|
||||
def localProperties = project.file("../local.properties")
|
||||
if (localProperties.exists()) {
|
||||
Properties properties = new Properties()
|
||||
localProperties.withInputStream { instr ->
|
||||
properties.load(instr)
|
||||
}
|
||||
def sdkDir = properties.getProperty('sdk.dir')
|
||||
if (sdkDir) {
|
||||
path = sdkDir
|
||||
} else {
|
||||
path = "$System.env.ANDROID_SDK_ROOT"
|
||||
}
|
||||
} else {
|
||||
path = "$System.env.ANDROID_SDK_ROOT"
|
||||
}
|
||||
|
||||
def adb = path + "/platform-tools/adb"
|
||||
commandLine "$adb", 'shell', 'am', 'start', '-n', 'com.openeggbert/com.openeggbert.android.AndroidLauncher'
|
||||
}
|
||||
|
||||
eclipse.project.name = appName + "-android"
|
BIN
android/ic_launcher-web.png
Normal file
After Width: | Height: | Size: 42 KiB |
54
android/proguard-rules.pro
vendored
Normal file
@ -0,0 +1,54 @@
|
||||
# To enable ProGuard in your project, edit project.properties
|
||||
# to define the proguard.config property as described in that file.
|
||||
#
|
||||
# Add project specific ProGuard rules here.
|
||||
# By default, the flags in this file are appended to flags specified
|
||||
# in ${sdk.dir}/tools/proguard/proguard-android.txt
|
||||
# You can edit the include path and order by changing the ProGuard
|
||||
# include property in project.properties.
|
||||
#
|
||||
# For more details, see
|
||||
# https://developer.android.com/guide/developing/tools/proguard.html
|
||||
|
||||
# Add any project specific keep options here:
|
||||
|
||||
# If your project uses WebView with JS, uncomment the following
|
||||
# and specify the fully qualified class name to the JavaScript interface
|
||||
# class:
|
||||
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||||
# public *;
|
||||
#}
|
||||
|
||||
-verbose
|
||||
|
||||
-dontwarn android.support.**
|
||||
-dontwarn com.badlogic.gdx.backends.android.AndroidFragmentApplication
|
||||
|
||||
# Needed by the gdx-controllers official extension.
|
||||
-keep class com.badlogic.gdx.controllers.android.AndroidControllers
|
||||
|
||||
# Needed by the Box2D official extension.
|
||||
-keepclassmembers class com.badlogic.gdx.physics.box2d.World {
|
||||
boolean contactFilter(long, long);
|
||||
void beginContact(long);
|
||||
void endContact(long);
|
||||
void preSolve(long, long);
|
||||
void postSolve(long, long);
|
||||
boolean reportFixture(long);
|
||||
float reportRayFixture(long, float, float, float, float, float);
|
||||
}
|
||||
|
||||
# You will need the next three lines if you use scene2d for UI or gameplay.
|
||||
# If you don't use scene2d at all, you can remove or comment out the next line:
|
||||
-keep public class com.badlogic.gdx.scenes.scene2d.** { *; }
|
||||
# You will need the next two lines if you use BitmapFont or any scene2d.ui text:
|
||||
-keep public class com.badlogic.gdx.graphics.g2d.BitmapFont { *; }
|
||||
# You will probably need this line in most cases:
|
||||
-keep public class com.badlogic.gdx.graphics.Color { *; }
|
||||
|
||||
# These two lines are used with mapping files; see https://developer.android.com/build/shrink-code#retracing
|
||||
-keepattributes LineNumberTable,SourceFile
|
||||
-renamesourcefileattribute SourceFile
|
||||
|
||||
#Lombok
|
||||
-dontwarn lombok.Generated
|
14
android/project.properties
Normal file
@ -0,0 +1,14 @@
|
||||
# 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-rules.pro
|
||||
|
||||
# Project target.
|
||||
target=android-19
|
BIN
android/res/drawable-hdpi/ic_launcher.png
Normal file
After Width: | Height: | Size: 2.1 KiB |
BIN
android/res/drawable-mdpi/ic_launcher.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
android/res/drawable-xhdpi/ic_launcher.png
Normal file
After Width: | Height: | Size: 4.0 KiB |
BIN
android/res/drawable-xxhdpi/ic_launcher.png
Normal file
After Width: | Height: | Size: 7.6 KiB |
BIN
android/res/drawable-xxxhdpi/ic_launcher.png
Normal file
After Width: | Height: | Size: 11 KiB |
4
android/res/values/color.xml
Normal file
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="ic_background_color">#F5A623FF</color>
|
||||
</resources>
|
4
android/res/values/strings.xml
Normal file
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">open-eggbert</string>
|
||||
</resources>
|
10
android/res/values/styles.xml
Normal file
@ -0,0 +1,10 @@
|
||||
<resources>
|
||||
<style name="GdxTheme" parent="android:Theme">
|
||||
<item name="android:windowBackground">@android:color/transparent</item>
|
||||
<item name="android:colorBackgroundCacheHint">@null</item>
|
||||
<item name="android:windowAnimationStyle">@android:style/Animation</item>
|
||||
<item name="android:windowNoTitle">true</item>
|
||||
<item name="android:windowContentOverlay">@null</item>
|
||||
<item name="android:windowFullscreen">true</item>
|
||||
</style>
|
||||
</resources>
|
@ -0,0 +1,22 @@
|
||||
package com.openeggbert.android;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
import com.badlogic.gdx.backends.android.AndroidApplication;
|
||||
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;
|
||||
import com.openeggbert.core.main.OpenEggbertApplication;
|
||||
import com.pixelgamelibrary.api.Pixel;
|
||||
import com.pixelgamelibrary.backend.libgdx.interfaces.PixelBackendLibGDX;
|
||||
import com.pixelgamelibrary.backend.libgdx.game.LibGdxGame;
|
||||
|
||||
/** Launches the Android application. */
|
||||
public class AndroidLauncher extends AndroidApplication {
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
AndroidApplicationConfiguration configuration = new AndroidApplicationConfiguration();
|
||||
configuration.useImmersiveMode = true; // Recommended, but not required.
|
||||
Pixel.initBackend(new PixelBackendLibGDX());
|
||||
initialize(new LibGdxGame(new OpenEggbertApplication().createGame()), configuration);
|
||||
}
|
||||
}
|
BIN
assets/BASIC/BASIC.PNG
Normal file
After Width: | Height: | Size: 7.3 KiB |
BIN
assets/BASIC/OPEN_EGGBERT.png
Normal file
After Width: | Height: | Size: 8.3 KiB |
246
assets/com/badlogic/gdx/utils/lsans-15.fnt
Normal file
@ -0,0 +1,246 @@
|
||||
info face="LSans" size=15 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=1,1,1,1 spacing=-2,-2
|
||||
common lineHeight=18 base=14 scaleW=256 scaleH=128 pages=1 packed=0
|
||||
page id=0 file="lsans-15.png"
|
||||
chars count=168
|
||||
char id=0 x=83 y=85 width=11 height=13 xoffset=0 yoffset=2 xadvance=11 page=0 chnl=0
|
||||
char id=32 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=0 xadvance=4 page=0 chnl=0
|
||||
char id=33 x=184 y=17 width=5 height=13 xoffset=0 yoffset=2 xadvance=5 page=0 chnl=0
|
||||
char id=34 x=27 y=85 width=7 height=5 xoffset=-1 yoffset=2 xadvance=5 page=0 chnl=0
|
||||
char id=35 x=189 y=17 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=36 x=125 y=17 width=10 height=15 xoffset=-1 yoffset=1 xadvance=8 page=0 chnl=0
|
||||
char id=37 x=199 y=17 width=15 height=13 xoffset=-1 yoffset=2 xadvance=13 page=0 chnl=0
|
||||
char id=38 x=10 y=72 width=12 height=12 xoffset=-1 yoffset=3 xadvance=10 page=0 chnl=0
|
||||
char id=39 x=34 y=85 width=5 height=5 xoffset=-1 yoffset=2 xadvance=3 page=0 chnl=0
|
||||
char id=40 x=24 y=0 width=7 height=16 xoffset=-1 yoffset=2 xadvance=5 page=0 chnl=0
|
||||
char id=41 x=31 y=0 width=7 height=16 xoffset=-1 yoffset=2 xadvance=5 page=0 chnl=0
|
||||
char id=42 x=0 y=85 width=8 height=7 xoffset=-1 yoffset=2 xadvance=6 page=0 chnl=0
|
||||
char id=43 x=57 y=72 width=11 height=11 xoffset=-1 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=44 x=251 y=72 width=4 height=6 xoffset=0 yoffset=11 xadvance=4 page=0 chnl=0
|
||||
char id=45 x=50 y=85 width=7 height=4 xoffset=-1 yoffset=8 xadvance=5 page=0 chnl=0
|
||||
char id=46 x=57 y=85 width=4 height=4 xoffset=0 yoffset=11 xadvance=4 page=0 chnl=0
|
||||
char id=47 x=214 y=17 width=6 height=13 xoffset=-1 yoffset=2 xadvance=4 page=0 chnl=0
|
||||
char id=48 x=220 y=17 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=49 x=230 y=17 width=9 height=13 xoffset=0 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=50 x=239 y=17 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=51 x=0 y=33 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=52 x=10 y=33 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=53 x=20 y=33 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=54 x=30 y=33 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=55 x=40 y=33 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=56 x=50 y=33 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=57 x=60 y=33 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=58 x=68 y=72 width=4 height=10 xoffset=0 yoffset=5 xadvance=4 page=0 chnl=0
|
||||
char id=59 x=22 y=72 width=4 height=12 xoffset=0 yoffset=5 xadvance=4 page=0 chnl=0
|
||||
char id=60 x=229 y=72 width=11 height=9 xoffset=-1 yoffset=4 xadvance=9 page=0 chnl=0
|
||||
char id=61 x=8 y=85 width=11 height=7 xoffset=-1 yoffset=6 xadvance=9 page=0 chnl=0
|
||||
char id=62 x=240 y=72 width=11 height=9 xoffset=-1 yoffset=4 xadvance=9 page=0 chnl=0
|
||||
char id=63 x=70 y=33 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=64 x=135 y=17 width=15 height=15 xoffset=0 yoffset=2 xadvance=15 page=0 chnl=0
|
||||
char id=65 x=80 y=33 width=11 height=13 xoffset=-1 yoffset=2 xadvance=9 page=0 chnl=0
|
||||
char id=66 x=91 y=33 width=11 height=13 xoffset=0 yoffset=2 xadvance=10 page=0 chnl=0
|
||||
char id=67 x=102 y=33 width=13 height=13 xoffset=-1 yoffset=2 xadvance=11 page=0 chnl=0
|
||||
char id=68 x=115 y=33 width=12 height=13 xoffset=0 yoffset=2 xadvance=11 page=0 chnl=0
|
||||
char id=69 x=127 y=33 width=11 height=13 xoffset=0 yoffset=2 xadvance=10 page=0 chnl=0
|
||||
char id=70 x=138 y=33 width=10 height=13 xoffset=0 yoffset=2 xadvance=9 page=0 chnl=0
|
||||
char id=71 x=148 y=33 width=12 height=13 xoffset=-1 yoffset=2 xadvance=11 page=0 chnl=0
|
||||
char id=72 x=160 y=33 width=10 height=13 xoffset=0 yoffset=2 xadvance=10 page=0 chnl=0
|
||||
char id=73 x=249 y=17 width=4 height=13 xoffset=0 yoffset=2 xadvance=3 page=0 chnl=0
|
||||
char id=74 x=170 y=33 width=8 height=13 xoffset=-1 yoffset=2 xadvance=7 page=0 chnl=0
|
||||
char id=75 x=178 y=33 width=11 height=13 xoffset=0 yoffset=2 xadvance=10 page=0 chnl=0
|
||||
char id=76 x=189 y=33 width=9 height=13 xoffset=0 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=77 x=198 y=33 width=11 height=13 xoffset=0 yoffset=2 xadvance=11 page=0 chnl=0
|
||||
char id=78 x=209 y=33 width=10 height=13 xoffset=0 yoffset=2 xadvance=10 page=0 chnl=0
|
||||
char id=79 x=219 y=33 width=14 height=13 xoffset=-1 yoffset=2 xadvance=12 page=0 chnl=0
|
||||
char id=80 x=233 y=33 width=11 height=13 xoffset=0 yoffset=2 xadvance=10 page=0 chnl=0
|
||||
char id=81 x=38 y=0 width=14 height=16 xoffset=-1 yoffset=2 xadvance=12 page=0 chnl=0
|
||||
char id=82 x=0 y=46 width=12 height=13 xoffset=0 yoffset=2 xadvance=11 page=0 chnl=0
|
||||
char id=83 x=12 y=46 width=12 height=13 xoffset=-1 yoffset=2 xadvance=10 page=0 chnl=0
|
||||
char id=84 x=244 y=33 width=11 height=13 xoffset=-1 yoffset=2 xadvance=9 page=0 chnl=0
|
||||
char id=85 x=24 y=46 width=10 height=13 xoffset=0 yoffset=2 xadvance=10 page=0 chnl=0
|
||||
char id=86 x=34 y=46 width=11 height=13 xoffset=-1 yoffset=2 xadvance=9 page=0 chnl=0
|
||||
char id=87 x=45 y=46 width=17 height=13 xoffset=-1 yoffset=2 xadvance=15 page=0 chnl=0
|
||||
char id=88 x=62 y=46 width=11 height=13 xoffset=-1 yoffset=2 xadvance=9 page=0 chnl=0
|
||||
char id=89 x=73 y=46 width=11 height=13 xoffset=-1 yoffset=2 xadvance=9 page=0 chnl=0
|
||||
char id=90 x=84 y=46 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=91 x=52 y=0 width=5 height=16 xoffset=0 yoffset=2 xadvance=4 page=0 chnl=0
|
||||
char id=92 x=94 y=46 width=6 height=13 xoffset=-1 yoffset=2 xadvance=4 page=0 chnl=0
|
||||
char id=93 x=57 y=0 width=5 height=16 xoffset=-1 yoffset=2 xadvance=4 page=0 chnl=0
|
||||
char id=94 x=19 y=85 width=8 height=7 xoffset=-1 yoffset=2 xadvance=5 page=0 chnl=0
|
||||
char id=95 x=71 y=85 width=12 height=3 xoffset=-2 yoffset=15 xadvance=8 page=0 chnl=0
|
||||
char id=96 x=61 y=85 width=6 height=4 xoffset=-1 yoffset=2 xadvance=5 page=0 chnl=0
|
||||
char id=97 x=72 y=72 width=10 height=10 xoffset=-1 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=98 x=100 y=46 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=99 x=82 y=72 width=10 height=10 xoffset=-1 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=100 x=110 y=46 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=101 x=92 y=72 width=10 height=10 xoffset=-1 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=102 x=120 y=46 width=7 height=13 xoffset=-1 yoffset=2 xadvance=4 page=0 chnl=0
|
||||
char id=103 x=127 y=46 width=10 height=13 xoffset=-1 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=104 x=137 y=46 width=9 height=13 xoffset=0 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=105 x=146 y=46 width=5 height=13 xoffset=-1 yoffset=2 xadvance=3 page=0 chnl=0
|
||||
char id=106 x=62 y=0 width=6 height=16 xoffset=-2 yoffset=2 xadvance=3 page=0 chnl=0
|
||||
char id=107 x=151 y=46 width=10 height=13 xoffset=-1 yoffset=2 xadvance=7 page=0 chnl=0
|
||||
char id=108 x=161 y=46 width=5 height=13 xoffset=-1 yoffset=2 xadvance=3 page=0 chnl=0
|
||||
char id=109 x=102 y=72 width=13 height=10 xoffset=0 yoffset=5 xadvance=13 page=0 chnl=0
|
||||
char id=110 x=115 y=72 width=10 height=10 xoffset=-1 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=111 x=125 y=72 width=10 height=10 xoffset=-1 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=112 x=166 y=46 width=10 height=13 xoffset=-1 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=113 x=176 y=46 width=10 height=13 xoffset=-1 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=114 x=135 y=72 width=6 height=10 xoffset=0 yoffset=5 xadvance=5 page=0 chnl=0
|
||||
char id=115 x=141 y=72 width=10 height=10 xoffset=-1 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=116 x=26 y=72 width=6 height=12 xoffset=-1 yoffset=3 xadvance=4 page=0 chnl=0
|
||||
char id=117 x=151 y=72 width=10 height=10 xoffset=-1 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=118 x=161 y=72 width=9 height=10 xoffset=-1 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=119 x=170 y=72 width=15 height=10 xoffset=-2 yoffset=5 xadvance=11 page=0 chnl=0
|
||||
char id=120 x=185 y=72 width=9 height=10 xoffset=-1 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=121 x=186 y=46 width=9 height=13 xoffset=-1 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=122 x=194 y=72 width=10 height=10 xoffset=-1 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=123 x=68 y=0 width=7 height=16 xoffset=-1 yoffset=2 xadvance=5 page=0 chnl=0
|
||||
char id=124 x=75 y=0 width=4 height=16 xoffset=0 yoffset=2 xadvance=3 page=0 chnl=0
|
||||
char id=125 x=79 y=0 width=7 height=16 xoffset=-1 yoffset=2 xadvance=5 page=0 chnl=0
|
||||
char id=126 x=39 y=85 width=11 height=5 xoffset=-1 yoffset=6 xadvance=9 page=0 chnl=0
|
||||
char id=160 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=0 xadvance=4 page=0 chnl=0
|
||||
char id=161 x=32 y=72 width=5 height=12 xoffset=0 yoffset=5 xadvance=5 page=0 chnl=0
|
||||
char id=162 x=195 y=46 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=163 x=205 y=46 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=164 x=204 y=72 width=10 height=10 xoffset=-1 yoffset=4 xadvance=8 page=0 chnl=0
|
||||
char id=165 x=215 y=46 width=12 height=13 xoffset=-2 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=166 x=86 y=0 width=4 height=16 xoffset=0 yoffset=2 xadvance=3 page=0 chnl=0
|
||||
char id=181 x=227 y=46 width=10 height=13 xoffset=-1 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=183 x=67 y=85 width=4 height=4 xoffset=1 yoffset=7 xadvance=5 page=0 chnl=0
|
||||
char id=191 x=37 y=72 width=10 height=12 xoffset=-1 yoffset=5 xadvance=9 page=0 chnl=0
|
||||
char id=192 x=90 y=0 width=11 height=16 xoffset=-1 yoffset=-1 xadvance=9 page=0 chnl=0
|
||||
char id=193 x=101 y=0 width=11 height=16 xoffset=-1 yoffset=-1 xadvance=9 page=0 chnl=0
|
||||
char id=194 x=112 y=0 width=11 height=16 xoffset=-1 yoffset=-1 xadvance=9 page=0 chnl=0
|
||||
char id=195 x=123 y=0 width=11 height=16 xoffset=-1 yoffset=-1 xadvance=9 page=0 chnl=0
|
||||
char id=196 x=134 y=0 width=11 height=16 xoffset=-1 yoffset=-1 xadvance=9 page=0 chnl=0
|
||||
char id=197 x=0 y=0 width=11 height=17 xoffset=-1 yoffset=-2 xadvance=9 page=0 chnl=0
|
||||
char id=198 x=237 y=46 width=17 height=13 xoffset=-1 yoffset=2 xadvance=15 page=0 chnl=0
|
||||
char id=199 x=11 y=0 width=13 height=17 xoffset=-1 yoffset=2 xadvance=11 page=0 chnl=0
|
||||
char id=200 x=145 y=0 width=11 height=16 xoffset=0 yoffset=-1 xadvance=10 page=0 chnl=0
|
||||
char id=201 x=156 y=0 width=11 height=16 xoffset=0 yoffset=-1 xadvance=10 page=0 chnl=0
|
||||
char id=202 x=167 y=0 width=11 height=16 xoffset=0 yoffset=-1 xadvance=10 page=0 chnl=0
|
||||
char id=203 x=178 y=0 width=11 height=16 xoffset=0 yoffset=-1 xadvance=10 page=0 chnl=0
|
||||
char id=204 x=189 y=0 width=6 height=16 xoffset=-2 yoffset=-1 xadvance=3 page=0 chnl=0
|
||||
char id=205 x=195 y=0 width=7 height=16 xoffset=0 yoffset=-1 xadvance=3 page=0 chnl=0
|
||||
char id=206 x=202 y=0 width=8 height=16 xoffset=-2 yoffset=-1 xadvance=3 page=0 chnl=0
|
||||
char id=207 x=210 y=0 width=8 height=16 xoffset=-2 yoffset=-1 xadvance=3 page=0 chnl=0
|
||||
char id=208 x=0 y=59 width=13 height=13 xoffset=-1 yoffset=2 xadvance=11 page=0 chnl=0
|
||||
char id=209 x=218 y=0 width=10 height=16 xoffset=0 yoffset=-1 xadvance=10 page=0 chnl=0
|
||||
char id=210 x=228 y=0 width=14 height=16 xoffset=-1 yoffset=-1 xadvance=12 page=0 chnl=0
|
||||
char id=211 x=0 y=17 width=14 height=16 xoffset=-1 yoffset=-1 xadvance=12 page=0 chnl=0
|
||||
char id=212 x=14 y=17 width=14 height=16 xoffset=-1 yoffset=-1 xadvance=12 page=0 chnl=0
|
||||
char id=213 x=28 y=17 width=14 height=16 xoffset=-1 yoffset=-1 xadvance=12 page=0 chnl=0
|
||||
char id=214 x=42 y=17 width=14 height=16 xoffset=-1 yoffset=-1 xadvance=12 page=0 chnl=0
|
||||
char id=216 x=150 y=17 width=14 height=15 xoffset=-1 yoffset=1 xadvance=12 page=0 chnl=0
|
||||
char id=217 x=242 y=0 width=10 height=16 xoffset=0 yoffset=-1 xadvance=10 page=0 chnl=0
|
||||
char id=218 x=56 y=17 width=10 height=16 xoffset=0 yoffset=-1 xadvance=10 page=0 chnl=0
|
||||
char id=219 x=66 y=17 width=10 height=16 xoffset=0 yoffset=-1 xadvance=10 page=0 chnl=0
|
||||
char id=220 x=76 y=17 width=10 height=16 xoffset=0 yoffset=-1 xadvance=10 page=0 chnl=0
|
||||
char id=221 x=86 y=17 width=11 height=16 xoffset=-1 yoffset=-1 xadvance=9 page=0 chnl=0
|
||||
char id=222 x=13 y=59 width=11 height=13 xoffset=0 yoffset=2 xadvance=10 page=0 chnl=0
|
||||
char id=223 x=24 y=59 width=10 height=13 xoffset=0 yoffset=2 xadvance=9 page=0 chnl=0
|
||||
char id=224 x=34 y=59 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=225 x=44 y=59 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=226 x=54 y=59 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=227 x=64 y=59 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=228 x=74 y=59 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=229 x=164 y=17 width=10 height=15 xoffset=-1 yoffset=0 xadvance=8 page=0 chnl=0
|
||||
char id=230 x=214 y=72 width=15 height=10 xoffset=-1 yoffset=5 xadvance=13 page=0 chnl=0
|
||||
char id=231 x=174 y=17 width=10 height=14 xoffset=-1 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=232 x=84 y=59 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=233 x=94 y=59 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=234 x=104 y=59 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=235 x=114 y=59 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=236 x=124 y=59 width=6 height=13 xoffset=-2 yoffset=2 xadvance=3 page=0 chnl=0
|
||||
char id=237 x=130 y=59 width=7 height=13 xoffset=-1 yoffset=2 xadvance=3 page=0 chnl=0
|
||||
char id=238 x=137 y=59 width=8 height=13 xoffset=-2 yoffset=2 xadvance=3 page=0 chnl=0
|
||||
char id=239 x=145 y=59 width=8 height=13 xoffset=-1 yoffset=2 xadvance=3 page=0 chnl=0
|
||||
char id=240 x=153 y=59 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=241 x=163 y=59 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=242 x=173 y=59 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=243 x=183 y=59 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=244 x=193 y=59 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=245 x=203 y=59 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=246 x=213 y=59 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=248 x=47 y=72 width=10 height=12 xoffset=-1 yoffset=4 xadvance=8 page=0 chnl=0
|
||||
char id=249 x=223 y=59 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=250 x=233 y=59 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=251 x=243 y=59 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=252 x=0 y=72 width=10 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=253 x=97 y=17 width=9 height=16 xoffset=-1 yoffset=2 xadvance=7 page=0 chnl=0
|
||||
char id=254 x=106 y=17 width=10 height=16 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=255 x=116 y=17 width=9 height=16 xoffset=-1 yoffset=2 xadvance=7 page=0 chnl=0
|
||||
kernings count=73
|
||||
kerning first=70 second=46 amount=-2
|
||||
kerning first=84 second=121 amount=-1
|
||||
kerning first=121 second=44 amount=-1
|
||||
kerning first=86 second=58 amount=-1
|
||||
kerning first=89 second=101 amount=-1
|
||||
kerning first=89 second=46 amount=-2
|
||||
kerning first=84 second=45 amount=-1
|
||||
kerning first=119 second=44 amount=-1
|
||||
kerning first=89 second=59 amount=-1
|
||||
kerning first=84 second=58 amount=-2
|
||||
kerning first=87 second=46 amount=-1
|
||||
kerning first=65 second=84 amount=-1
|
||||
kerning first=84 second=105 amount=-1
|
||||
kerning first=86 second=97 amount=-1
|
||||
kerning first=84 second=97 amount=-2
|
||||
kerning first=76 second=87 amount=-1
|
||||
kerning first=65 second=89 amount=-1
|
||||
kerning first=76 second=32 amount=-1
|
||||
kerning first=76 second=121 amount=-1
|
||||
kerning first=89 second=111 amount=-1
|
||||
kerning first=121 second=46 amount=-1
|
||||
kerning first=119 second=46 amount=-1
|
||||
kerning first=84 second=115 amount=-2
|
||||
kerning first=76 second=84 amount=-1
|
||||
kerning first=65 second=86 amount=-1
|
||||
kerning first=86 second=65 amount=-1
|
||||
kerning first=86 second=44 amount=-1
|
||||
kerning first=84 second=65 amount=-1
|
||||
kerning first=84 second=99 amount=-2
|
||||
kerning first=89 second=45 amount=-1
|
||||
kerning first=84 second=44 amount=-2
|
||||
kerning first=76 second=89 amount=-1
|
||||
kerning first=89 second=113 amount=-1
|
||||
kerning first=89 second=58 amount=-1
|
||||
kerning first=86 second=117 amount=-1
|
||||
kerning first=80 second=65 amount=-1
|
||||
kerning first=89 second=105 amount=-1
|
||||
kerning first=80 second=44 amount=-2
|
||||
kerning first=89 second=118 amount=-1
|
||||
kerning first=84 second=117 amount=-1
|
||||
kerning first=89 second=97 amount=-1
|
||||
kerning first=76 second=86 amount=-1
|
||||
kerning first=118 second=44 amount=-1
|
||||
kerning first=86 second=101 amount=-1
|
||||
kerning first=87 second=97 amount=-1
|
||||
kerning first=86 second=46 amount=-1
|
||||
kerning first=86 second=114 amount=-1
|
||||
kerning first=86 second=59 amount=-1
|
||||
kerning first=84 second=101 amount=-2
|
||||
kerning first=84 second=46 amount=-2
|
||||
kerning first=32 second=65 amount=-1
|
||||
kerning first=84 second=114 amount=-1
|
||||
kerning first=114 second=44 amount=-1
|
||||
kerning first=84 second=59 amount=-2
|
||||
kerning first=70 second=65 amount=-1
|
||||
kerning first=80 second=46 amount=-2
|
||||
kerning first=70 second=44 amount=-2
|
||||
kerning first=84 second=119 amount=-1
|
||||
kerning first=89 second=65 amount=-1
|
||||
kerning first=86 second=111 amount=-1
|
||||
kerning first=89 second=44 amount=-2
|
||||
kerning first=89 second=112 amount=-1
|
||||
kerning first=87 second=65 amount=-1
|
||||
kerning first=118 second=46 amount=-1
|
||||
kerning first=84 second=111 amount=-2
|
||||
kerning first=87 second=44 amount=-1
|
||||
kerning first=49 second=49 amount=-1
|
||||
kerning first=89 second=117 amount=-1
|
||||
kerning first=114 second=46 amount=-1
|
||||
kerning first=86 second=121 amount=-1
|
||||
kerning first=65 second=87 amount=-1
|
||||
kerning first=65 second=32 amount=-1
|
||||
kerning first=86 second=45 amount=-1
|
BIN
assets/com/badlogic/gdx/utils/lsans-15.png
Normal file
After Width: | Height: | Size: 10 KiB |
102
assets/data/default.fnt
Normal file
@ -0,0 +1,102 @@
|
||||
info face="Droid Sans" size=17 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1
|
||||
common lineHeight=20 base=18 scaleW=256 scaleH=128 pages=1 packed=0
|
||||
page id=0 file="default.png"
|
||||
chars count=96
|
||||
char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=16 xadvance=4 page=0 chnl=0
|
||||
char id=124 x=0 y=0 width=6 height=20 xoffset=1 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=106 x=6 y=0 width=9 height=20 xoffset=-4 yoffset=3 xadvance=4 page=0 chnl=0
|
||||
char id=81 x=15 y=0 width=15 height=19 xoffset=-2 yoffset=3 xadvance=12 page=0 chnl=0
|
||||
char id=74 x=30 y=0 width=11 height=19 xoffset=-5 yoffset=3 xadvance=4 page=0 chnl=0
|
||||
char id=125 x=41 y=0 width=10 height=18 xoffset=-3 yoffset=3 xadvance=6 page=0 chnl=0
|
||||
char id=123 x=51 y=0 width=10 height=18 xoffset=-3 yoffset=3 xadvance=6 page=0 chnl=0
|
||||
char id=93 x=61 y=0 width=8 height=18 xoffset=-3 yoffset=3 xadvance=5 page=0 chnl=0
|
||||
char id=91 x=69 y=0 width=8 height=18 xoffset=-2 yoffset=3 xadvance=5 page=0 chnl=0
|
||||
char id=41 x=77 y=0 width=9 height=18 xoffset=-3 yoffset=3 xadvance=5 page=0 chnl=0
|
||||
char id=40 x=86 y=0 width=9 height=18 xoffset=-3 yoffset=3 xadvance=5 page=0 chnl=0
|
||||
char id=64 x=95 y=0 width=18 height=17 xoffset=-3 yoffset=3 xadvance=14 page=0 chnl=0
|
||||
char id=121 x=113 y=0 width=13 height=17 xoffset=-3 yoffset=6 xadvance=8 page=0 chnl=0
|
||||
char id=113 x=126 y=0 width=13 height=17 xoffset=-3 yoffset=6 xadvance=9 page=0 chnl=0
|
||||
char id=112 x=139 y=0 width=13 height=17 xoffset=-2 yoffset=6 xadvance=9 page=0 chnl=0
|
||||
char id=103 x=152 y=0 width=13 height=17 xoffset=-3 yoffset=6 xadvance=8 page=0 chnl=0
|
||||
char id=38 x=165 y=0 width=16 height=16 xoffset=-3 yoffset=3 xadvance=11 page=0 chnl=0
|
||||
char id=37 x=181 y=0 width=18 height=16 xoffset=-3 yoffset=3 xadvance=14 page=0 chnl=0
|
||||
char id=36 x=199 y=0 width=12 height=16 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=63 x=211 y=0 width=11 height=16 xoffset=-3 yoffset=3 xadvance=7 page=0 chnl=0
|
||||
char id=33 x=222 y=0 width=7 height=16 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=0
|
||||
char id=48 x=229 y=0 width=13 height=16 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=57 x=242 y=0 width=13 height=16 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=56 x=0 y=20 width=13 height=16 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=54 x=13 y=20 width=13 height=16 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=53 x=26 y=20 width=12 height=16 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=51 x=38 y=20 width=13 height=16 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=100 x=51 y=20 width=13 height=16 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=98 x=64 y=20 width=13 height=16 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=85 x=77 y=20 width=14 height=16 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=0
|
||||
char id=83 x=91 y=20 width=13 height=16 xoffset=-3 yoffset=3 xadvance=8 page=0 chnl=0
|
||||
char id=79 x=104 y=20 width=15 height=16 xoffset=-2 yoffset=3 xadvance=12 page=0 chnl=0
|
||||
char id=71 x=119 y=20 width=14 height=16 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=0
|
||||
char id=67 x=133 y=20 width=13 height=16 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=0
|
||||
char id=127 x=146 y=20 width=12 height=15 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=0
|
||||
char id=35 x=158 y=20 width=15 height=15 xoffset=-3 yoffset=3 xadvance=10 page=0 chnl=0
|
||||
char id=92 x=173 y=20 width=11 height=15 xoffset=-3 yoffset=3 xadvance=6 page=0 chnl=0
|
||||
char id=47 x=184 y=20 width=11 height=15 xoffset=-3 yoffset=3 xadvance=6 page=0 chnl=0
|
||||
char id=59 x=195 y=20 width=8 height=15 xoffset=-3 yoffset=6 xadvance=4 page=0 chnl=0
|
||||
char id=55 x=203 y=20 width=13 height=15 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=52 x=216 y=20 width=14 height=15 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=50 x=230 y=20 width=13 height=15 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=49 x=243 y=20 width=9 height=15 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=116 x=0 y=36 width=10 height=15 xoffset=-3 yoffset=4 xadvance=5 page=0 chnl=0
|
||||
char id=108 x=10 y=36 width=6 height=15 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=0
|
||||
char id=107 x=16 y=36 width=12 height=15 xoffset=-2 yoffset=3 xadvance=8 page=0 chnl=0
|
||||
char id=105 x=28 y=36 width=7 height=15 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=0
|
||||
char id=104 x=35 y=36 width=12 height=15 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=0
|
||||
char id=102 x=47 y=36 width=11 height=15 xoffset=-3 yoffset=3 xadvance=5 page=0 chnl=0
|
||||
char id=90 x=58 y=36 width=13 height=15 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=89 x=71 y=36 width=13 height=15 xoffset=-3 yoffset=3 xadvance=8 page=0 chnl=0
|
||||
char id=88 x=84 y=36 width=14 height=15 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=87 x=98 y=36 width=19 height=15 xoffset=-3 yoffset=3 xadvance=15 page=0 chnl=0
|
||||
char id=86 x=117 y=36 width=14 height=15 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=84 x=131 y=36 width=13 height=15 xoffset=-3 yoffset=3 xadvance=8 page=0 chnl=0
|
||||
char id=82 x=144 y=36 width=13 height=15 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=0
|
||||
char id=80 x=157 y=36 width=12 height=15 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=78 x=169 y=36 width=14 height=15 xoffset=-2 yoffset=3 xadvance=12 page=0 chnl=0
|
||||
char id=77 x=183 y=36 width=17 height=15 xoffset=-2 yoffset=3 xadvance=14 page=0 chnl=0
|
||||
char id=76 x=200 y=36 width=11 height=15 xoffset=-2 yoffset=3 xadvance=8 page=0 chnl=0
|
||||
char id=75 x=211 y=36 width=13 height=15 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=73 x=224 y=36 width=10 height=15 xoffset=-3 yoffset=3 xadvance=5 page=0 chnl=0
|
||||
char id=72 x=234 y=36 width=14 height=15 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=0
|
||||
char id=70 x=0 y=51 width=11 height=15 xoffset=-2 yoffset=3 xadvance=8 page=0 chnl=0
|
||||
char id=69 x=11 y=51 width=11 height=15 xoffset=-2 yoffset=3 xadvance=8 page=0 chnl=0
|
||||
char id=68 x=22 y=51 width=14 height=15 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=0
|
||||
char id=66 x=36 y=51 width=13 height=15 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=0
|
||||
char id=65 x=49 y=51 width=15 height=15 xoffset=-3 yoffset=3 xadvance=10 page=0 chnl=0
|
||||
char id=58 x=64 y=51 width=7 height=13 xoffset=-2 yoffset=6 xadvance=4 page=0 chnl=0
|
||||
char id=117 x=71 y=51 width=12 height=13 xoffset=-2 yoffset=6 xadvance=10 page=0 chnl=0
|
||||
char id=115 x=83 y=51 width=11 height=13 xoffset=-3 yoffset=6 xadvance=7 page=0 chnl=0
|
||||
char id=111 x=94 y=51 width=13 height=13 xoffset=-3 yoffset=6 xadvance=9 page=0 chnl=0
|
||||
char id=101 x=107 y=51 width=13 height=13 xoffset=-3 yoffset=6 xadvance=9 page=0 chnl=0
|
||||
char id=99 x=120 y=51 width=12 height=13 xoffset=-3 yoffset=6 xadvance=7 page=0 chnl=0
|
||||
char id=97 x=132 y=51 width=12 height=13 xoffset=-3 yoffset=6 xadvance=9 page=0 chnl=0
|
||||
char id=60 x=144 y=51 width=13 height=12 xoffset=-3 yoffset=5 xadvance=9 page=0 chnl=0
|
||||
char id=122 x=157 y=51 width=11 height=12 xoffset=-3 yoffset=6 xadvance=7 page=0 chnl=0
|
||||
char id=120 x=168 y=51 width=13 height=12 xoffset=-3 yoffset=6 xadvance=8 page=0 chnl=0
|
||||
char id=119 x=181 y=51 width=17 height=12 xoffset=-3 yoffset=6 xadvance=12 page=0 chnl=0
|
||||
char id=118 x=198 y=51 width=13 height=12 xoffset=-3 yoffset=6 xadvance=8 page=0 chnl=0
|
||||
char id=114 x=211 y=51 width=10 height=12 xoffset=-2 yoffset=6 xadvance=6 page=0 chnl=0
|
||||
char id=110 x=221 y=51 width=12 height=12 xoffset=-2 yoffset=6 xadvance=10 page=0 chnl=0
|
||||
char id=109 x=233 y=51 width=17 height=12 xoffset=-2 yoffset=6 xadvance=15 page=0 chnl=0
|
||||
char id=94 x=0 y=66 width=13 height=11 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=62 x=13 y=66 width=13 height=11 xoffset=-3 yoffset=5 xadvance=9 page=0 chnl=0
|
||||
char id=42 x=26 y=66 width=13 height=10 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=43 x=39 y=66 width=13 height=10 xoffset=-3 yoffset=6 xadvance=9 page=0 chnl=0
|
||||
char id=61 x=52 y=66 width=13 height=8 xoffset=-3 yoffset=7 xadvance=9 page=0 chnl=0
|
||||
char id=39 x=65 y=66 width=6 height=8 xoffset=-2 yoffset=3 xadvance=3 page=0 chnl=0
|
||||
char id=34 x=71 y=66 width=9 height=8 xoffset=-2 yoffset=3 xadvance=6 page=0 chnl=0
|
||||
char id=44 x=80 y=66 width=8 height=7 xoffset=-3 yoffset=14 xadvance=4 page=0 chnl=0
|
||||
char id=126 x=88 y=66 width=13 height=6 xoffset=-3 yoffset=8 xadvance=9 page=0 chnl=0
|
||||
char id=46 x=101 y=66 width=7 height=6 xoffset=-2 yoffset=13 xadvance=4 page=0 chnl=0
|
||||
char id=96 x=108 y=66 width=8 height=6 xoffset=0 yoffset=2 xadvance=9 page=0 chnl=0
|
||||
char id=45 x=116 y=66 width=9 height=5 xoffset=-3 yoffset=10 xadvance=5 page=0 chnl=0
|
||||
char id=95 x=125 y=66 width=13 height=4 xoffset=-4 yoffset=17 xadvance=6 page=0 chnl=0
|
||||
kernings count=-1
|
||||
|
BIN
assets/data/default.png
Normal file
After Width: | Height: | Size: 10 KiB |
200
assets/data/uiskin.atlas
Normal file
@ -0,0 +1,200 @@
|
||||
|
||||
uiskin.png
|
||||
size: 256,128
|
||||
format: RGBA8888
|
||||
filter: Linear,Linear
|
||||
repeat: none
|
||||
check-off
|
||||
rotate: false
|
||||
xy: 11, 5
|
||||
size: 14, 14
|
||||
orig: 14, 14
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
textfield
|
||||
rotate: false
|
||||
xy: 11, 5
|
||||
size: 14, 14
|
||||
split: 3, 3, 3, 3
|
||||
orig: 14, 14
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
check-on
|
||||
rotate: false
|
||||
xy: 125, 35
|
||||
size: 14, 14
|
||||
orig: 14, 14
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
cursor
|
||||
rotate: false
|
||||
xy: 23, 1
|
||||
size: 3, 3
|
||||
split: 1, 1, 1, 1
|
||||
orig: 3, 3
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default
|
||||
rotate: false
|
||||
xy: 1, 50
|
||||
size: 254, 77
|
||||
orig: 254, 77
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-pane
|
||||
rotate: false
|
||||
xy: 11, 1
|
||||
size: 5, 3
|
||||
split: 1, 1, 1, 1
|
||||
orig: 5, 3
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-rect-pad
|
||||
rotate: false
|
||||
xy: 11, 1
|
||||
size: 5, 3
|
||||
split: 1, 1, 1, 1
|
||||
orig: 5, 3
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-pane-noborder
|
||||
rotate: false
|
||||
xy: 170, 44
|
||||
size: 1, 1
|
||||
split: 0, 0, 0, 0
|
||||
orig: 1, 1
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-rect
|
||||
rotate: false
|
||||
xy: 38, 25
|
||||
size: 3, 3
|
||||
split: 1, 1, 1, 1
|
||||
orig: 3, 3
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-rect-down
|
||||
rotate: false
|
||||
xy: 170, 46
|
||||
size: 3, 3
|
||||
split: 1, 1, 1, 1
|
||||
orig: 3, 3
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-round
|
||||
rotate: false
|
||||
xy: 112, 29
|
||||
size: 12, 20
|
||||
split: 5, 5, 5, 4
|
||||
pad: 4, 4, 1, 1
|
||||
orig: 12, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-round-down
|
||||
rotate: false
|
||||
xy: 99, 29
|
||||
size: 12, 20
|
||||
split: 5, 5, 5, 4
|
||||
pad: 4, 4, 1, 1
|
||||
orig: 12, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-round-large
|
||||
rotate: false
|
||||
xy: 57, 29
|
||||
size: 20, 20
|
||||
split: 5, 5, 5, 4
|
||||
orig: 20, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-scroll
|
||||
rotate: false
|
||||
xy: 78, 29
|
||||
size: 20, 20
|
||||
split: 2, 2, 2, 2
|
||||
orig: 20, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-select
|
||||
rotate: false
|
||||
xy: 29, 29
|
||||
size: 27, 20
|
||||
split: 4, 14, 4, 4
|
||||
orig: 27, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-select-selection
|
||||
rotate: false
|
||||
xy: 26, 16
|
||||
size: 3, 3
|
||||
split: 1, 1, 1, 1
|
||||
orig: 3, 3
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-slider
|
||||
rotate: false
|
||||
xy: 29, 20
|
||||
size: 8, 8
|
||||
split: 2, 2, 2, 2
|
||||
orig: 8, 8
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-slider-knob
|
||||
rotate: false
|
||||
xy: 1, 1
|
||||
size: 9, 18
|
||||
orig: 9, 18
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-splitpane
|
||||
rotate: false
|
||||
xy: 17, 1
|
||||
size: 5, 3
|
||||
split: 0, 5, 0, 0
|
||||
orig: 5, 3
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-splitpane-vertical
|
||||
rotate: false
|
||||
xy: 125, 29
|
||||
size: 3, 5
|
||||
split: 0, 0, 0, 5
|
||||
orig: 3, 5
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-window
|
||||
rotate: false
|
||||
xy: 1, 20
|
||||
size: 27, 29
|
||||
split: 4, 3, 20, 3
|
||||
orig: 27, 29
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
selection
|
||||
rotate: false
|
||||
xy: 174, 48
|
||||
size: 1, 1
|
||||
orig: 1, 1
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
tree-minus
|
||||
rotate: false
|
||||
xy: 140, 35
|
||||
size: 14, 14
|
||||
orig: 14, 14
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
tree-plus
|
||||
rotate: false
|
||||
xy: 155, 35
|
||||
size: 14, 14
|
||||
orig: 14, 14
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
white
|
||||
rotate: false
|
||||
xy: 129, 31
|
||||
size: 3, 3
|
||||
orig: 3, 3
|
||||
offset: 0, 0
|
||||
index: -1
|
71
assets/data/uiskin.json
Normal file
@ -0,0 +1,71 @@
|
||||
{
|
||||
BitmapFont: { default-font: { file: default.fnt } },
|
||||
Color: {
|
||||
green: { a: 1, b: 0, g: 1, r: 0 },
|
||||
white: { a: 1, b: 1, g: 1, r: 1 },
|
||||
red: { a: 1, b: 0, g: 0, r: 1 },
|
||||
black: { a: 1, b: 0, g: 0, r: 0 },
|
||||
gray: { a: 1, b: 0.8, g: 0.8, r: 0.8 },
|
||||
},
|
||||
TintedDrawable: {
|
||||
dialogDim: { name: white, color: { r: 0, g: 0, b: 0, a: 0.45 } },
|
||||
},
|
||||
ButtonStyle: {
|
||||
default: { down: default-round-down, up: default-round, disabled: default-round },
|
||||
toggle: { parent: default, checked: default-round-down }
|
||||
},
|
||||
TextButtonStyle: {
|
||||
default: { parent: default, font: default-font, fontColor: white, disabledFontColor: gray },
|
||||
toggle: { parent: default, checked: default-round-down, downFontColor: red }
|
||||
},
|
||||
ScrollPaneStyle: {
|
||||
default: { vScroll: default-scroll, hScrollKnob: default-round-large, background: default-rect, hScroll: default-scroll, vScrollKnob: default-round-large }
|
||||
},
|
||||
SelectBoxStyle: {
|
||||
default: {
|
||||
font: default-font, fontColor: white, background: default-select,
|
||||
scrollStyle: default,
|
||||
listStyle: { font: default-font, selection: default-select-selection }
|
||||
}
|
||||
},
|
||||
SplitPaneStyle: {
|
||||
default-vertical: { handle: default-splitpane-vertical },
|
||||
default-horizontal: { handle: default-splitpane }
|
||||
},
|
||||
WindowStyle: {
|
||||
default: { titleFont: default-font, background: default-window, titleFontColor: white },
|
||||
dialog: { parent: default, stageBackground: dialogDim }
|
||||
},
|
||||
ProgressBarStyle: {
|
||||
default-horizontal: { background: default-slider, knob: default-slider-knob },
|
||||
default-vertical: { background: default-slider, knob: default-round-large }
|
||||
},
|
||||
SliderStyle: {
|
||||
default-horizontal: { parent: default-horizontal },
|
||||
default-vertical: { parent: default-vertical }
|
||||
},
|
||||
LabelStyle: {
|
||||
default: { font: default-font, fontColor: white }
|
||||
},
|
||||
TextFieldStyle: {
|
||||
default: { selection: selection, background: textfield, font: default-font, fontColor: white, cursor: cursor }
|
||||
},
|
||||
CheckBoxStyle: {
|
||||
default: { checkboxOn: check-on, checkboxOff: check-off, font: default-font, fontColor: white }
|
||||
},
|
||||
ListStyle: {
|
||||
default: { fontColorUnselected: white, selection: selection, fontColorSelected: white, font: default-font }
|
||||
},
|
||||
TouchpadStyle: {
|
||||
default: { background: default-pane, knob: default-round-large }
|
||||
},
|
||||
TreeStyle: {
|
||||
default: { minus: tree-minus, plus: tree-plus, selection: default-select-selection }
|
||||
},
|
||||
TextTooltipStyle: {
|
||||
default: {
|
||||
label: { font: default-font, fontColor: white },
|
||||
background: default-pane, wrapWidth: 150
|
||||
}
|
||||
},
|
||||
}
|
BIN
assets/data/uiskin.png
Normal file
After Width: | Height: | Size: 28 KiB |
1158
assets/default-spritesheets/speedy_blupi_I.spritesheet.csv
Normal file
1302
assets/default-spritesheets/speedy_blupi_II.spritesheet.csv
Normal file
1
assets/embedded_mods/speedy-blupi-I-legacy-mods
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 257e5ee2f8dd8c1c68c7366f76bb3eb01b0de976
|
BIN
assets/libgdx.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
198
assets/ui/font-list.fnt
Normal file
@ -0,0 +1,198 @@
|
||||
info face="font-list" size=12 bold=0 italic=0 charset="" unicode=1 stretchH=100 smooth=1 aa=2 padding=1,1,1,1 spacing=0,0
|
||||
common lineHeight=15 base=11 scaleW=505 scaleH=30 pages=1 packed=0 alphaChnl=0 redChnl=0 greenChnl=0 blueChnl=0
|
||||
page id=0 file="font-list.png"
|
||||
chars count=193
|
||||
char id=0 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=11 xadvance=3 page=0 chnl=0
|
||||
char id=32 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=-1 xadvance=3 page=0 chnl=0
|
||||
char id=33 x=391 y=14 width=2 height=7 xoffset=-1 yoffset=4 xadvance=3 page=0 chnl=0
|
||||
char id=34 x=248 y=23 width=3 height=3 xoffset=-1 yoffset=4 xadvance=5 page=0 chnl=0
|
||||
char id=35 x=466 y=14 width=6 height=7 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=36 x=9 y=2 width=5 height=10 xoffset=-1 yoffset=3 xadvance=7 page=0 chnl=0
|
||||
char id=37 x=490 y=14 width=6 height=7 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=38 x=450 y=14 width=7 height=7 xoffset=-1 yoffset=4 xadvance=8 page=0 chnl=0
|
||||
char id=39 x=267 y=23 width=2 height=3 xoffset=-1 yoffset=4 xadvance=3 page=0 chnl=0
|
||||
char id=40 x=126 y=2 width=3 height=9 xoffset=-1 yoffset=3 xadvance=4 page=0 chnl=0
|
||||
char id=41 x=131 y=2 width=2 height=9 xoffset=-1 yoffset=3 xadvance=4 page=0 chnl=0
|
||||
char id=42 x=46 y=23 width=4 height=5 xoffset=-1 yoffset=3 xadvance=5 page=0 chnl=0
|
||||
char id=43 x=73 y=23 width=6 height=5 xoffset=-1 yoffset=6 xadvance=7 page=0 chnl=0
|
||||
char id=44 x=263 y=23 width=2 height=3 xoffset=-1 yoffset=9 xadvance=3 page=0 chnl=0
|
||||
char id=45 x=306 y=23 width=4 height=1 xoffset=-1 yoffset=8 xadvance=5 page=0 chnl=0
|
||||
char id=46 x=296 y=23 width=2 height=1 xoffset=-1 yoffset=10 xadvance=3 page=0 chnl=0
|
||||
char id=47 x=354 y=2 width=4 height=8 xoffset=-1 yoffset=4 xadvance=5 page=0 chnl=0
|
||||
char id=48 x=383 y=14 width=6 height=7 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=49 x=317 y=14 width=3 height=7 xoffset=0 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=50 x=322 y=14 width=5 height=7 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=51 x=329 y=14 width=5 height=7 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=52 x=336 y=14 width=6 height=7 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=53 x=344 y=14 width=6 height=7 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=54 x=352 y=14 width=6 height=7 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=55 x=360 y=14 width=5 height=7 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=56 x=367 y=14 width=6 height=7 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=57 x=375 y=14 width=6 height=7 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=58 x=201 y=23 width=2 height=4 xoffset=-1 yoffset=7 xadvance=3 page=0 chnl=0
|
||||
char id=59 x=118 y=23 width=2 height=5 xoffset=-1 yoffset=7 xadvance=3 page=0 chnl=0
|
||||
char id=60 x=59 y=23 width=5 height=5 xoffset=-1 yoffset=6 xadvance=7 page=0 chnl=0
|
||||
char id=61 x=271 y=23 width=5 height=3 xoffset=-1 yoffset=7 xadvance=7 page=0 chnl=0
|
||||
char id=62 x=52 y=23 width=5 height=5 xoffset=-1 yoffset=6 xadvance=7 page=0 chnl=0
|
||||
char id=63 x=395 y=14 width=5 height=7 xoffset=-1 yoffset=4 xadvance=5 page=0 chnl=0
|
||||
char id=64 x=161 y=2 width=10 height=9 xoffset=-1 yoffset=4 xadvance=11 page=0 chnl=0
|
||||
char id=65 x=443 y=2 width=6 height=7 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=66 x=494 y=2 width=6 height=7 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=67 x=0 y=14 width=6 height=7 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=68 x=8 y=14 width=6 height=7 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=69 x=16 y=14 width=6 height=7 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=70 x=24 y=14 width=5 height=7 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=71 x=31 y=14 width=6 height=7 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=72 x=54 y=14 width=6 height=7 xoffset=-1 yoffset=4 xadvance=8 page=0 chnl=0
|
||||
char id=73 x=502 y=2 width=2 height=7 xoffset=-1 yoffset=4 xadvance=3 page=0 chnl=0
|
||||
char id=74 x=332 y=2 width=3 height=8 xoffset=-1 yoffset=4 xadvance=4 page=0 chnl=0
|
||||
char id=75 x=69 y=14 width=6 height=7 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=76 x=77 y=14 width=5 height=7 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=77 x=84 y=14 width=8 height=7 xoffset=-1 yoffset=4 xadvance=9 page=0 chnl=0
|
||||
char id=78 x=94 y=14 width=6 height=7 xoffset=-1 yoffset=4 xadvance=8 page=0 chnl=0
|
||||
char id=79 x=102 y=14 width=7 height=7 xoffset=-1 yoffset=4 xadvance=8 page=0 chnl=0
|
||||
char id=80 x=111 y=14 width=6 height=7 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=81 x=117 y=2 width=7 height=9 xoffset=-1 yoffset=4 xadvance=8 page=0 chnl=0
|
||||
char id=82 x=126 y=14 width=6 height=7 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=83 x=134 y=14 width=5 height=7 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=84 x=141 y=14 width=6 height=7 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=85 x=174 y=14 width=6 height=7 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=86 x=199 y=14 width=6 height=7 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=87 x=207 y=14 width=9 height=7 xoffset=-1 yoffset=4 xadvance=10 page=0 chnl=0
|
||||
char id=88 x=218 y=14 width=6 height=7 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=89 x=226 y=14 width=6 height=7 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=90 x=234 y=14 width=5 height=7 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=91 x=135 y=2 width=3 height=9 xoffset=-1 yoffset=3 xadvance=4 page=0 chnl=0
|
||||
char id=92 x=367 y=2 width=4 height=8 xoffset=-1 yoffset=4 xadvance=5 page=0 chnl=0
|
||||
char id=93 x=140 y=2 width=3 height=9 xoffset=-1 yoffset=3 xadvance=4 page=0 chnl=0
|
||||
char id=94 x=187 y=23 width=5 height=4 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=95 x=285 y=23 width=5 height=1 xoffset=0 yoffset=12 xadvance=7 page=0 chnl=0
|
||||
char id=96 x=258 y=23 width=3 height=3 xoffset=-1 yoffset=3 xadvance=3 page=0 chnl=0
|
||||
char id=97 x=88 y=23 width=5 height=5 xoffset=-1 yoffset=6 xadvance=6 page=0 chnl=0
|
||||
char id=98 x=241 y=14 width=5 height=7 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=99 x=95 y=23 width=4 height=5 xoffset=-1 yoffset=6 xadvance=5 page=0 chnl=0
|
||||
char id=100 x=248 y=14 width=5 height=7 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=101 x=101 y=23 width=5 height=5 xoffset=-1 yoffset=6 xadvance=6 page=0 chnl=0
|
||||
char id=102 x=255 y=14 width=4 height=7 xoffset=-1 yoffset=4 xadvance=4 page=0 chnl=0
|
||||
char id=103 x=261 y=14 width=5 height=7 xoffset=-1 yoffset=6 xadvance=6 page=0 chnl=0
|
||||
char id=104 x=268 y=14 width=5 height=7 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=105 x=275 y=14 width=2 height=7 xoffset=-1 yoffset=4 xadvance=3 page=0 chnl=0
|
||||
char id=106 x=4 y=2 width=3 height=10 xoffset=-2 yoffset=4 xadvance=3 page=0 chnl=0
|
||||
char id=107 x=279 y=14 width=5 height=7 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=108 x=286 y=14 width=2 height=7 xoffset=-1 yoffset=4 xadvance=3 page=0 chnl=0
|
||||
char id=109 x=108 y=23 width=8 height=5 xoffset=-1 yoffset=6 xadvance=9 page=0 chnl=0
|
||||
char id=110 x=122 y=23 width=5 height=5 xoffset=-1 yoffset=6 xadvance=6 page=0 chnl=0
|
||||
char id=111 x=129 y=23 width=5 height=5 xoffset=-1 yoffset=6 xadvance=6 page=0 chnl=0
|
||||
char id=112 x=290 y=14 width=5 height=7 xoffset=-1 yoffset=6 xadvance=6 page=0 chnl=0
|
||||
char id=113 x=297 y=14 width=5 height=7 xoffset=-1 yoffset=6 xadvance=6 page=0 chnl=0
|
||||
char id=114 x=15 y=23 width=4 height=6 xoffset=-1 yoffset=5 xadvance=4 page=0 chnl=0
|
||||
char id=115 x=136 y=23 width=5 height=5 xoffset=-1 yoffset=6 xadvance=6 page=0 chnl=0
|
||||
char id=116 x=304 y=14 width=4 height=7 xoffset=-1 yoffset=4 xadvance=4 page=0 chnl=0
|
||||
char id=117 x=143 y=23 width=5 height=5 xoffset=-1 yoffset=6 xadvance=6 page=0 chnl=0
|
||||
char id=118 x=150 y=23 width=5 height=5 xoffset=-1 yoffset=6 xadvance=6 page=0 chnl=0
|
||||
char id=119 x=157 y=23 width=8 height=5 xoffset=-1 yoffset=6 xadvance=9 page=0 chnl=0
|
||||
char id=120 x=167 y=23 width=5 height=5 xoffset=-1 yoffset=6 xadvance=5 page=0 chnl=0
|
||||
char id=121 x=310 y=14 width=5 height=7 xoffset=-1 yoffset=6 xadvance=6 page=0 chnl=0
|
||||
char id=122 x=174 y=23 width=5 height=5 xoffset=-1 yoffset=6 xadvance=6 page=0 chnl=0
|
||||
char id=123 x=145 y=2 width=4 height=9 xoffset=-1 yoffset=3 xadvance=5 page=0 chnl=0
|
||||
char id=124 x=157 y=2 width=2 height=9 xoffset=-1 yoffset=4 xadvance=3 page=0 chnl=0
|
||||
char id=125 x=151 y=2 width=4 height=9 xoffset=-1 yoffset=3 xadvance=5 page=0 chnl=0
|
||||
char id=126 x=278 y=23 width=5 height=2 xoffset=-1 yoffset=7 xadvance=7 page=0 chnl=0
|
||||
char id=160 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=11 xadvance=3 page=0 chnl=0
|
||||
char id=161 x=195 y=14 width=2 height=7 xoffset=-1 yoffset=6 xadvance=3 page=0 chnl=0
|
||||
char id=162 x=189 y=14 width=4 height=7 xoffset=0 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=163 x=182 y=14 width=5 height=7 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=164 x=8 y=23 width=5 height=6 xoffset=-1 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=165 x=166 y=14 width=6 height=7 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=166 x=180 y=2 width=2 height=9 xoffset=-1 yoffset=4 xadvance=3 page=0 chnl=0
|
||||
char id=167 x=415 y=2 width=5 height=8 xoffset=-1 yoffset=5 xadvance=6 page=0 chnl=0
|
||||
char id=168 x=312 y=23 width=4 height=1 xoffset=-2 yoffset=4 xadvance=3 page=0 chnl=0
|
||||
char id=169 x=0 y=23 width=6 height=6 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=170 x=181 y=23 width=4 height=4 xoffset=-1 yoffset=4 xadvance=5 page=0 chnl=0
|
||||
char id=171 x=66 y=23 width=5 height=5 xoffset=-1 yoffset=6 xadvance=6 page=0 chnl=0
|
||||
char id=172 x=241 y=23 width=5 height=3 xoffset=-1 yoffset=7 xadvance=7 page=0 chnl=0
|
||||
char id=174 x=498 y=14 width=6 height=6 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=175 x=300 y=23 width=4 height=1 xoffset=-2 yoffset=4 xadvance=3 page=0 chnl=0
|
||||
char id=176 x=235 y=23 width=4 height=3 xoffset=0 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=177 x=38 y=23 width=6 height=5 xoffset=-1 yoffset=6 xadvance=7 page=0 chnl=0
|
||||
char id=178 x=230 y=23 width=3 height=3 xoffset=-1 yoffset=3 xadvance=4 page=0 chnl=0
|
||||
char id=179 x=225 y=23 width=3 height=3 xoffset=-1 yoffset=3 xadvance=4 page=0 chnl=0
|
||||
char id=180 x=220 y=23 width=3 height=3 xoffset=-1 yoffset=3 xadvance=4 page=0 chnl=0
|
||||
char id=181 x=47 y=14 width=5 height=7 xoffset=-1 yoffset=6 xadvance=7 page=0 chnl=0
|
||||
char id=182 x=39 y=14 width=6 height=7 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=183 x=292 y=23 width=2 height=1 xoffset=-1 yoffset=8 xadvance=3 page=0 chnl=0
|
||||
char id=184 x=215 y=23 width=3 height=3 xoffset=-1 yoffset=10 xadvance=4 page=0 chnl=0
|
||||
char id=185 x=211 y=23 width=2 height=3 xoffset=-1 yoffset=3 xadvance=4 page=0 chnl=0
|
||||
char id=186 x=205 y=23 width=4 height=3 xoffset=-1 yoffset=5 xadvance=5 page=0 chnl=0
|
||||
char id=187 x=31 y=23 width=5 height=5 xoffset=-1 yoffset=6 xadvance=6 page=0 chnl=0
|
||||
char id=188 x=184 y=2 width=5 height=9 xoffset=-1 yoffset=3 xadvance=6 page=0 chnl=0
|
||||
char id=189 x=191 y=2 width=5 height=9 xoffset=-1 yoffset=3 xadvance=6 page=0 chnl=0
|
||||
char id=190 x=198 y=2 width=6 height=9 xoffset=-1 yoffset=3 xadvance=6 page=0 chnl=0
|
||||
char id=191 x=472 y=2 width=5 height=7 xoffset=-1 yoffset=6 xadvance=5 page=0 chnl=0
|
||||
char id=192 x=16 y=2 width=6 height=10 xoffset=-1 yoffset=1 xadvance=7 page=0 chnl=0
|
||||
char id=193 x=24 y=2 width=6 height=10 xoffset=-1 yoffset=1 xadvance=7 page=0 chnl=0
|
||||
char id=194 x=213 y=2 width=6 height=9 xoffset=-1 yoffset=2 xadvance=7 page=0 chnl=0
|
||||
char id=195 x=221 y=2 width=6 height=9 xoffset=-1 yoffset=2 xadvance=7 page=0 chnl=0
|
||||
char id=196 x=229 y=2 width=6 height=9 xoffset=-1 yoffset=2 xadvance=7 page=0 chnl=0
|
||||
char id=197 x=237 y=2 width=6 height=9 xoffset=-1 yoffset=2 xadvance=7 page=0 chnl=0
|
||||
char id=198 x=149 y=14 width=9 height=7 xoffset=-1 yoffset=4 xadvance=10 page=0 chnl=0
|
||||
char id=199 x=245 y=2 width=6 height=9 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=200 x=39 y=2 width=6 height=10 xoffset=-1 yoffset=1 xadvance=7 page=0 chnl=0
|
||||
char id=201 x=47 y=2 width=6 height=10 xoffset=-1 yoffset=1 xadvance=7 page=0 chnl=0
|
||||
char id=202 x=253 y=2 width=6 height=9 xoffset=-1 yoffset=2 xadvance=7 page=0 chnl=0
|
||||
char id=203 x=261 y=2 width=6 height=9 xoffset=-1 yoffset=2 xadvance=7 page=0 chnl=0
|
||||
char id=204 x=55 y=2 width=4 height=10 xoffset=-2 yoffset=1 xadvance=3 page=0 chnl=0
|
||||
char id=205 x=61 y=2 width=3 height=10 xoffset=-1 yoffset=1 xadvance=3 page=0 chnl=0
|
||||
char id=206 x=285 y=2 width=4 height=9 xoffset=-2 yoffset=2 xadvance=3 page=0 chnl=0
|
||||
char id=207 x=291 y=2 width=4 height=9 xoffset=-2 yoffset=2 xadvance=3 page=0 chnl=0
|
||||
char id=208 x=414 y=14 width=6 height=7 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=209 x=297 y=2 width=6 height=9 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=210 x=66 y=2 width=7 height=10 xoffset=-1 yoffset=1 xadvance=8 page=0 chnl=0
|
||||
char id=211 x=75 y=2 width=7 height=10 xoffset=-1 yoffset=1 xadvance=8 page=0 chnl=0
|
||||
char id=212 x=305 y=2 width=7 height=9 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=213 x=323 y=2 width=7 height=9 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=214 x=314 y=2 width=7 height=9 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=215 x=81 y=23 width=5 height=5 xoffset=-1 yoffset=6 xadvance=7 page=0 chnl=0
|
||||
char id=216 x=84 y=2 width=7 height=10 xoffset=-1 yoffset=3 xadvance=8 page=0 chnl=0
|
||||
char id=217 x=93 y=2 width=6 height=10 xoffset=-1 yoffset=1 xadvance=7 page=0 chnl=0
|
||||
char id=218 x=101 y=2 width=6 height=10 xoffset=-1 yoffset=1 xadvance=7 page=0 chnl=0
|
||||
char id=219 x=277 y=2 width=6 height=9 xoffset=-1 yoffset=2 xadvance=7 page=0 chnl=0
|
||||
char id=220 x=269 y=2 width=6 height=9 xoffset=-1 yoffset=2 xadvance=7 page=0 chnl=0
|
||||
char id=221 x=109 y=2 width=6 height=10 xoffset=-1 yoffset=1 xadvance=6 page=0 chnl=0
|
||||
char id=222 x=474 y=14 width=6 height=7 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=223 x=486 y=2 width=6 height=7 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=224 x=436 y=2 width=5 height=8 xoffset=-1 yoffset=3 xadvance=6 page=0 chnl=0
|
||||
char id=225 x=429 y=2 width=5 height=8 xoffset=-1 yoffset=3 xadvance=6 page=0 chnl=0
|
||||
char id=226 x=451 y=2 width=5 height=7 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=227 x=465 y=2 width=5 height=7 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=228 x=479 y=2 width=5 height=7 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=229 x=422 y=2 width=5 height=8 xoffset=-1 yoffset=3 xadvance=6 page=0 chnl=0
|
||||
char id=230 x=21 y=23 width=8 height=5 xoffset=-1 yoffset=6 xadvance=9 page=0 chnl=0
|
||||
char id=231 x=160 y=14 width=4 height=7 xoffset=-1 yoffset=6 xadvance=5 page=0 chnl=0
|
||||
char id=232 x=408 y=2 width=5 height=8 xoffset=-1 yoffset=3 xadvance=6 page=0 chnl=0
|
||||
char id=233 x=360 y=2 width=5 height=8 xoffset=-1 yoffset=3 xadvance=6 page=0 chnl=0
|
||||
char id=234 x=429 y=14 width=5 height=7 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=235 x=422 y=14 width=5 height=7 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=236 x=349 y=2 width=3 height=8 xoffset=-2 yoffset=3 xadvance=3 page=0 chnl=0
|
||||
char id=237 x=344 y=2 width=3 height=8 xoffset=-1 yoffset=3 xadvance=3 page=0 chnl=0
|
||||
char id=238 x=408 y=14 width=4 height=7 xoffset=-2 yoffset=4 xadvance=3 page=0 chnl=0
|
||||
char id=239 x=402 y=14 width=4 height=7 xoffset=-2 yoffset=4 xadvance=3 page=0 chnl=0
|
||||
char id=240 x=337 y=2 width=5 height=8 xoffset=-1 yoffset=3 xadvance=6 page=0 chnl=0
|
||||
char id=241 x=119 y=14 width=5 height=7 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=242 x=394 y=2 width=5 height=8 xoffset=-1 yoffset=3 xadvance=6 page=0 chnl=0
|
||||
char id=243 x=387 y=2 width=5 height=8 xoffset=-1 yoffset=3 xadvance=6 page=0 chnl=0
|
||||
char id=244 x=443 y=14 width=5 height=7 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=245 x=436 y=14 width=5 height=7 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=246 x=62 y=14 width=5 height=7 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=247 x=194 y=23 width=5 height=4 xoffset=-1 yoffset=7 xadvance=7 page=0 chnl=0
|
||||
char id=248 x=373 y=2 width=5 height=8 xoffset=-1 yoffset=5 xadvance=6 page=0 chnl=0
|
||||
char id=249 x=380 y=2 width=5 height=8 xoffset=-1 yoffset=3 xadvance=6 page=0 chnl=0
|
||||
char id=250 x=401 y=2 width=5 height=8 xoffset=-1 yoffset=3 xadvance=6 page=0 chnl=0
|
||||
char id=251 x=459 y=14 width=5 height=7 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=252 x=458 y=2 width=5 height=7 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=253 x=32 y=2 width=5 height=10 xoffset=-1 yoffset=3 xadvance=6 page=0 chnl=0
|
||||
char id=254 x=206 y=2 width=5 height=9 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=255 x=173 y=2 width=5 height=9 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=8226 x=253 y=23 width=3 height=3 xoffset=0 yoffset=7 xadvance=6 page=0 chnl=0
|
||||
char id=8364 x=482 y=14 width=6 height=7 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
kernings count=0
|
198
assets/ui/font-subtitle.fnt
Normal file
@ -0,0 +1,198 @@
|
||||
info face="font-subtitle" size=12 bold=0 italic=0 charset="" unicode=1 stretchH=100 smooth=1 aa=2 padding=1,1,1,1 spacing=0,0
|
||||
common lineHeight=18 base=13 scaleW=505 scaleH=36 pages=1 packed=0 alphaChnl=0 redChnl=0 greenChnl=0 blueChnl=0
|
||||
page id=0 file="font-subtitle.png"
|
||||
chars count=193
|
||||
char id=0 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=13 xadvance=3 page=0 chnl=0
|
||||
char id=32 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=-1 xadvance=3 page=0 chnl=0
|
||||
char id=33 x=9 y=27 width=1 height=8 xoffset=0 yoffset=5 xadvance=3 page=0 chnl=0
|
||||
char id=34 x=351 y=27 width=4 height=3 xoffset=-1 yoffset=5 xadvance=4 page=0 chnl=0
|
||||
char id=35 x=46 y=27 width=7 height=8 xoffset=-1 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=36 x=7 y=2 width=6 height=12 xoffset=-1 yoffset=3 xadvance=7 page=0 chnl=0
|
||||
char id=37 x=117 y=16 width=7 height=9 xoffset=-1 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=38 x=28 y=27 width=8 height=8 xoffset=-1 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=39 x=370 y=27 width=2 height=3 xoffset=-1 yoffset=5 xadvance=2 page=0 chnl=0
|
||||
char id=40 x=39 y=2 width=3 height=11 xoffset=-1 yoffset=4 xadvance=3 page=0 chnl=0
|
||||
char id=41 x=44 y=2 width=3 height=11 xoffset=-1 yoffset=4 xadvance=3 page=0 chnl=0
|
||||
char id=42 x=270 y=27 width=5 height=5 xoffset=-1 yoffset=4 xadvance=5 page=0 chnl=0
|
||||
char id=43 x=164 y=27 width=7 height=6 xoffset=-1 yoffset=7 xadvance=7 page=0 chnl=0
|
||||
char id=44 x=379 y=27 width=2 height=3 xoffset=-1 yoffset=11 xadvance=2 page=0 chnl=0
|
||||
char id=45 x=410 y=27 width=5 height=1 xoffset=-1 yoffset=9 xadvance=6 page=0 chnl=0
|
||||
char id=46 x=436 y=27 width=2 height=1 xoffset=-1 yoffset=12 xadvance=2 page=0 chnl=0
|
||||
char id=47 x=341 y=2 width=5 height=10 xoffset=-1 yoffset=4 xadvance=5 page=0 chnl=0
|
||||
char id=48 x=0 y=27 width=7 height=8 xoffset=-1 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=49 x=441 y=16 width=4 height=8 xoffset=0 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=50 x=447 y=16 width=6 height=8 xoffset=-1 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=51 x=455 y=16 width=6 height=8 xoffset=-1 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=52 x=463 y=16 width=7 height=8 xoffset=-1 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=53 x=472 y=16 width=6 height=8 xoffset=-1 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=54 x=480 y=16 width=7 height=8 xoffset=-1 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=55 x=55 y=16 width=5 height=9 xoffset=0 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=56 x=489 y=16 width=7 height=8 xoffset=-1 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=57 x=498 y=16 width=6 height=8 xoffset=-1 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=58 x=277 y=27 width=2 height=5 xoffset=-1 yoffset=8 xadvance=2 page=0 chnl=0
|
||||
char id=59 x=112 y=27 width=2 height=7 xoffset=-1 yoffset=8 xadvance=3 page=0 chnl=0
|
||||
char id=60 x=148 y=27 width=6 height=6 xoffset=-1 yoffset=7 xadvance=7 page=0 chnl=0
|
||||
char id=61 x=362 y=27 width=6 height=3 xoffset=-1 yoffset=9 xadvance=7 page=0 chnl=0
|
||||
char id=62 x=139 y=27 width=7 height=6 xoffset=-1 yoffset=7 xadvance=7 page=0 chnl=0
|
||||
char id=63 x=12 y=27 width=5 height=8 xoffset=-1 yoffset=5 xadvance=5 page=0 chnl=0
|
||||
char id=64 x=348 y=2 width=12 height=10 xoffset=-1 yoffset=5 xadvance=12 page=0 chnl=0
|
||||
char id=65 x=145 y=16 width=7 height=8 xoffset=-1 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=66 x=154 y=16 width=6 height=8 xoffset=0 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=67 x=162 y=16 width=7 height=8 xoffset=-1 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=68 x=171 y=16 width=7 height=8 xoffset=0 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=69 x=180 y=16 width=6 height=8 xoffset=0 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=70 x=188 y=16 width=5 height=8 xoffset=0 yoffset=5 xadvance=6 page=0 chnl=0
|
||||
char id=71 x=212 y=16 width=7 height=8 xoffset=-1 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=72 x=228 y=16 width=6 height=8 xoffset=0 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=73 x=236 y=16 width=1 height=8 xoffset=0 yoffset=5 xadvance=3 page=0 chnl=0
|
||||
char id=74 x=379 y=2 width=3 height=9 xoffset=-1 yoffset=5 xadvance=3 page=0 chnl=0
|
||||
char id=75 x=249 y=16 width=6 height=8 xoffset=0 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=76 x=257 y=16 width=5 height=8 xoffset=0 yoffset=5 xadvance=6 page=0 chnl=0
|
||||
char id=77 x=264 y=16 width=8 height=8 xoffset=0 yoffset=5 xadvance=10 page=0 chnl=0
|
||||
char id=78 x=274 y=16 width=6 height=8 xoffset=0 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=79 x=282 y=16 width=8 height=8 xoffset=-1 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=80 x=292 y=16 width=6 height=8 xoffset=0 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=81 x=323 y=2 width=8 height=10 xoffset=-1 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=82 x=300 y=16 width=6 height=8 xoffset=0 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=83 x=308 y=16 width=6 height=8 xoffset=-1 yoffset=5 xadvance=6 page=0 chnl=0
|
||||
char id=84 x=316 y=16 width=7 height=8 xoffset=-1 yoffset=5 xadvance=6 page=0 chnl=0
|
||||
char id=85 x=325 y=16 width=6 height=8 xoffset=0 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=86 x=333 y=16 width=7 height=8 xoffset=-1 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=87 x=342 y=16 width=10 height=8 xoffset=-1 yoffset=5 xadvance=10 page=0 chnl=0
|
||||
char id=88 x=354 y=16 width=7 height=8 xoffset=-1 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=89 x=363 y=16 width=7 height=8 xoffset=-1 yoffset=5 xadvance=6 page=0 chnl=0
|
||||
char id=90 x=372 y=16 width=6 height=8 xoffset=-1 yoffset=5 xadvance=6 page=0 chnl=0
|
||||
char id=91 x=49 y=2 width=3 height=11 xoffset=0 yoffset=4 xadvance=4 page=0 chnl=0
|
||||
char id=92 x=102 y=16 width=5 height=9 xoffset=-1 yoffset=4 xadvance=5 page=0 chnl=0
|
||||
char id=93 x=54 y=2 width=3 height=11 xoffset=-1 yoffset=4 xadvance=4 page=0 chnl=0
|
||||
char id=94 x=310 y=27 width=6 height=4 xoffset=-1 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=95 x=417 y=27 width=6 height=1 xoffset=0 yoffset=14 xadvance=8 page=0 chnl=0
|
||||
char id=96 x=388 y=27 width=3 height=2 xoffset=-1 yoffset=4 xadvance=3 page=0 chnl=0
|
||||
char id=97 x=124 y=27 width=6 height=6 xoffset=-1 yoffset=7 xadvance=6 page=0 chnl=0
|
||||
char id=98 x=384 y=2 width=6 height=9 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=99 x=132 y=27 width=5 height=6 xoffset=-1 yoffset=7 xadvance=5 page=0 chnl=0
|
||||
char id=100 x=392 y=2 width=6 height=9 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=101 x=156 y=27 width=6 height=6 xoffset=-1 yoffset=7 xadvance=6 page=0 chnl=0
|
||||
char id=102 x=400 y=2 width=4 height=9 xoffset=-1 yoffset=4 xadvance=4 page=0 chnl=0
|
||||
char id=103 x=414 y=2 width=6 height=9 xoffset=-1 yoffset=7 xadvance=6 page=0 chnl=0
|
||||
char id=104 x=453 y=2 width=6 height=9 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=105 x=416 y=16 width=2 height=8 xoffset=-1 yoffset=5 xadvance=2 page=0 chnl=0
|
||||
char id=106 x=34 y=2 width=3 height=11 xoffset=-2 yoffset=5 xadvance=2 page=0 chnl=0
|
||||
char id=107 x=494 y=2 width=6 height=9 xoffset=-1 yoffset=4 xadvance=5 page=0 chnl=0
|
||||
char id=108 x=502 y=2 width=1 height=9 xoffset=0 yoffset=4 xadvance=2 page=0 chnl=0
|
||||
char id=109 x=185 y=27 width=10 height=6 xoffset=-1 yoffset=7 xadvance=10 page=0 chnl=0
|
||||
char id=110 x=197 y=27 width=6 height=6 xoffset=-1 yoffset=7 xadvance=6 page=0 chnl=0
|
||||
char id=111 x=205 y=27 width=6 height=6 xoffset=-1 yoffset=7 xadvance=6 page=0 chnl=0
|
||||
char id=112 x=31 y=16 width=6 height=9 xoffset=-1 yoffset=7 xadvance=6 page=0 chnl=0
|
||||
char id=113 x=39 y=16 width=6 height=9 xoffset=-1 yoffset=7 xadvance=6 page=0 chnl=0
|
||||
char id=114 x=106 y=27 width=4 height=7 xoffset=-1 yoffset=6 xadvance=4 page=0 chnl=0
|
||||
char id=115 x=213 y=27 width=5 height=6 xoffset=-1 yoffset=7 xadvance=6 page=0 chnl=0
|
||||
char id=116 x=434 y=16 width=5 height=8 xoffset=-1 yoffset=5 xadvance=4 page=0 chnl=0
|
||||
char id=117 x=220 y=27 width=6 height=6 xoffset=-1 yoffset=7 xadvance=6 page=0 chnl=0
|
||||
char id=118 x=228 y=27 width=6 height=6 xoffset=-1 yoffset=7 xadvance=6 page=0 chnl=0
|
||||
char id=119 x=236 y=27 width=9 height=6 xoffset=-1 yoffset=7 xadvance=9 page=0 chnl=0
|
||||
char id=120 x=247 y=27 width=5 height=6 xoffset=-1 yoffset=7 xadvance=5 page=0 chnl=0
|
||||
char id=121 x=47 y=16 width=6 height=9 xoffset=-1 yoffset=7 xadvance=6 page=0 chnl=0
|
||||
char id=122 x=254 y=27 width=5 height=6 xoffset=-1 yoffset=7 xadvance=5 page=0 chnl=0
|
||||
char id=123 x=59 y=2 width=4 height=11 xoffset=-1 yoffset=4 xadvance=4 page=0 chnl=0
|
||||
char id=124 x=4 y=2 width=1 height=12 xoffset=0 yoffset=4 xadvance=2 page=0 chnl=0
|
||||
char id=125 x=65 y=2 width=4 height=11 xoffset=-1 yoffset=4 xadvance=4 page=0 chnl=0
|
||||
char id=126 x=393 y=27 width=6 height=2 xoffset=-1 yoffset=9 xadvance=7 page=0 chnl=0
|
||||
char id=160 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=13 xadvance=3 page=0 chnl=0
|
||||
char id=161 x=126 y=16 width=2 height=9 xoffset=-1 yoffset=7 xadvance=2 page=0 chnl=0
|
||||
char id=162 x=130 y=16 width=5 height=9 xoffset=0 yoffset=6 xadvance=7 page=0 chnl=0
|
||||
char id=163 x=221 y=16 width=5 height=8 xoffset=0 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=164 x=89 y=27 width=6 height=7 xoffset=-1 yoffset=6 xadvance=7 page=0 chnl=0
|
||||
char id=165 x=203 y=16 width=7 height=8 xoffset=-1 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=166 x=15 y=2 width=1 height=12 xoffset=0 yoffset=4 xadvance=3 page=0 chnl=0
|
||||
char id=167 x=362 y=2 width=6 height=10 xoffset=-1 yoffset=5 xadvance=6 page=0 chnl=0
|
||||
char id=168 x=425 y=27 width=3 height=1 xoffset=-1 yoffset=5 xadvance=3 page=0 chnl=0
|
||||
char id=169 x=80 y=27 width=7 height=7 xoffset=-1 yoffset=4 xadvance=8 page=0 chnl=0
|
||||
char id=170 x=298 y=27 width=4 height=4 xoffset=-1 yoffset=5 xadvance=4 page=0 chnl=0
|
||||
char id=171 x=290 y=27 width=6 height=4 xoffset=-1 yoffset=8 xadvance=6 page=0 chnl=0
|
||||
char id=172 x=338 y=27 width=6 height=3 xoffset=-1 yoffset=9 xadvance=7 page=0 chnl=0
|
||||
char id=174 x=97 y=27 width=7 height=7 xoffset=-1 yoffset=4 xadvance=8 page=0 chnl=0
|
||||
char id=175 x=430 y=27 width=4 height=1 xoffset=-2 yoffset=5 xadvance=3 page=0 chnl=0
|
||||
char id=176 x=304 y=27 width=4 height=4 xoffset=0 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=177 x=281 y=27 width=7 height=5 xoffset=-1 yoffset=7 xadvance=7 page=0 chnl=0
|
||||
char id=178 x=383 y=27 width=3 height=3 xoffset=-1 yoffset=4 xadvance=3 page=0 chnl=0
|
||||
char id=179 x=346 y=27 width=3 height=3 xoffset=-1 yoffset=4 xadvance=3 page=0 chnl=0
|
||||
char id=180 x=401 y=27 width=3 height=2 xoffset=-1 yoffset=4 xadvance=3 page=0 chnl=0
|
||||
char id=181 x=78 y=16 width=5 height=9 xoffset=0 yoffset=7 xadvance=7 page=0 chnl=0
|
||||
char id=182 x=19 y=27 width=7 height=8 xoffset=-1 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=183 x=406 y=27 width=2 height=1 xoffset=-1 yoffset=9 xadvance=2 page=0 chnl=0
|
||||
char id=184 x=357 y=27 width=3 height=3 xoffset=-1 yoffset=13 xadvance=3 page=0 chnl=0
|
||||
char id=185 x=374 y=27 width=3 height=3 xoffset=-1 yoffset=4 xadvance=3 page=0 chnl=0
|
||||
char id=186 x=332 y=27 width=4 height=4 xoffset=-1 yoffset=5 xadvance=4 page=0 chnl=0
|
||||
char id=187 x=324 y=27 width=6 height=4 xoffset=-1 yoffset=8 xadvance=6 page=0 chnl=0
|
||||
char id=188 x=79 y=2 width=6 height=11 xoffset=-1 yoffset=3 xadvance=6 page=0 chnl=0
|
||||
char id=189 x=87 y=2 width=6 height=11 xoffset=-1 yoffset=3 xadvance=6 page=0 chnl=0
|
||||
char id=190 x=95 y=2 width=7 height=11 xoffset=-1 yoffset=3 xadvance=7 page=0 chnl=0
|
||||
char id=191 x=8 y=16 width=5 height=9 xoffset=-1 yoffset=7 xadvance=5 page=0 chnl=0
|
||||
char id=192 x=104 y=2 width=7 height=11 xoffset=-1 yoffset=2 xadvance=7 page=0 chnl=0
|
||||
char id=193 x=113 y=2 width=7 height=11 xoffset=-1 yoffset=2 xadvance=7 page=0 chnl=0
|
||||
char id=194 x=122 y=2 width=7 height=11 xoffset=-1 yoffset=2 xadvance=7 page=0 chnl=0
|
||||
char id=195 x=131 y=2 width=7 height=11 xoffset=-1 yoffset=2 xadvance=7 page=0 chnl=0
|
||||
char id=196 x=140 y=2 width=7 height=11 xoffset=-1 yoffset=2 xadvance=7 page=0 chnl=0
|
||||
char id=197 x=370 y=2 width=7 height=10 xoffset=-1 yoffset=3 xadvance=7 page=0 chnl=0
|
||||
char id=198 x=404 y=16 width=10 height=8 xoffset=-1 yoffset=5 xadvance=11 page=0 chnl=0
|
||||
char id=199 x=149 y=2 width=7 height=11 xoffset=-1 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=200 x=158 y=2 width=6 height=11 xoffset=0 yoffset=2 xadvance=7 page=0 chnl=0
|
||||
char id=201 x=166 y=2 width=6 height=11 xoffset=0 yoffset=2 xadvance=7 page=0 chnl=0
|
||||
char id=202 x=174 y=2 width=6 height=11 xoffset=0 yoffset=2 xadvance=7 page=0 chnl=0
|
||||
char id=203 x=182 y=2 width=6 height=11 xoffset=0 yoffset=2 xadvance=7 page=0 chnl=0
|
||||
char id=204 x=190 y=2 width=4 height=11 xoffset=-2 yoffset=2 xadvance=3 page=0 chnl=0
|
||||
char id=205 x=196 y=2 width=3 height=11 xoffset=-1 yoffset=2 xadvance=3 page=0 chnl=0
|
||||
char id=206 x=201 y=2 width=5 height=11 xoffset=-2 yoffset=2 xadvance=3 page=0 chnl=0
|
||||
char id=207 x=208 y=2 width=4 height=11 xoffset=-2 yoffset=2 xadvance=3 page=0 chnl=0
|
||||
char id=208 x=239 y=16 width=8 height=8 xoffset=-1 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=209 x=214 y=2 width=6 height=11 xoffset=0 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=210 x=222 y=2 width=8 height=11 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=211 x=232 y=2 width=8 height=11 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=212 x=242 y=2 width=8 height=11 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=213 x=252 y=2 width=8 height=11 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=214 x=262 y=2 width=8 height=11 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=215 x=116 y=27 width=6 height=6 xoffset=-1 yoffset=7 xadvance=7 page=0 chnl=0
|
||||
char id=216 x=313 y=2 width=8 height=11 xoffset=-1 yoffset=4 xadvance=8 page=0 chnl=0
|
||||
char id=217 x=305 y=2 width=6 height=11 xoffset=0 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=218 x=297 y=2 width=6 height=11 xoffset=0 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=219 x=289 y=2 width=6 height=11 xoffset=0 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=220 x=281 y=2 width=6 height=11 xoffset=0 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=221 x=272 y=2 width=7 height=11 xoffset=-1 yoffset=2 xadvance=6 page=0 chnl=0
|
||||
char id=222 x=38 y=27 width=6 height=8 xoffset=0 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=223 x=85 y=16 width=7 height=9 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=224 x=94 y=16 width=6 height=9 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=225 x=137 y=16 width=6 height=9 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=226 x=469 y=2 width=6 height=9 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=227 x=380 y=16 width=6 height=8 xoffset=-1 yoffset=5 xadvance=6 page=0 chnl=0
|
||||
char id=228 x=388 y=16 width=6 height=8 xoffset=-1 yoffset=5 xadvance=6 page=0 chnl=0
|
||||
char id=229 x=406 y=2 width=6 height=9 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=230 x=173 y=27 width=10 height=6 xoffset=-1 yoffset=7 xadvance=10 page=0 chnl=0
|
||||
char id=231 x=422 y=2 width=5 height=9 xoffset=-1 yoffset=7 xadvance=5 page=0 chnl=0
|
||||
char id=232 x=429 y=2 width=6 height=9 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=233 x=437 y=2 width=6 height=9 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=234 x=445 y=2 width=6 height=9 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=235 x=396 y=16 width=6 height=8 xoffset=-1 yoffset=5 xadvance=6 page=0 chnl=0
|
||||
char id=236 x=477 y=2 width=3 height=9 xoffset=-2 yoffset=4 xadvance=2 page=0 chnl=0
|
||||
char id=237 x=482 y=2 width=4 height=9 xoffset=-1 yoffset=4 xadvance=2 page=0 chnl=0
|
||||
char id=238 x=488 y=2 width=4 height=9 xoffset=-2 yoffset=4 xadvance=2 page=0 chnl=0
|
||||
char id=239 x=420 y=16 width=4 height=8 xoffset=-2 yoffset=5 xadvance=2 page=0 chnl=0
|
||||
char id=240 x=0 y=16 width=6 height=9 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=241 x=426 y=16 width=6 height=8 xoffset=-1 yoffset=5 xadvance=6 page=0 chnl=0
|
||||
char id=242 x=15 y=16 width=6 height=9 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=243 x=23 y=16 width=6 height=9 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=244 x=109 y=16 width=6 height=9 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=245 x=63 y=27 width=6 height=8 xoffset=-1 yoffset=5 xadvance=6 page=0 chnl=0
|
||||
char id=246 x=55 y=27 width=6 height=8 xoffset=-1 yoffset=5 xadvance=6 page=0 chnl=0
|
||||
char id=247 x=261 y=27 width=7 height=5 xoffset=-1 yoffset=8 xadvance=7 page=0 chnl=0
|
||||
char id=248 x=333 y=2 width=6 height=10 xoffset=-1 yoffset=5 xadvance=6 page=0 chnl=0
|
||||
char id=249 x=70 y=16 width=6 height=9 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=250 x=62 y=16 width=6 height=9 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=251 x=461 y=2 width=6 height=9 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=252 x=195 y=16 width=6 height=8 xoffset=-1 yoffset=5 xadvance=6 page=0 chnl=0
|
||||
char id=253 x=26 y=2 width=6 height=12 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=254 x=18 y=2 width=6 height=12 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=255 x=71 y=2 width=6 height=11 xoffset=-1 yoffset=5 xadvance=6 page=0 chnl=0
|
||||
char id=8226 x=318 y=27 width=4 height=4 xoffset=0 yoffset=8 xadvance=6 page=0 chnl=0
|
||||
char id=8364 x=71 y=27 width=7 height=8 xoffset=-1 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
kernings count=0
|
198
assets/ui/font-window.fnt
Normal file
@ -0,0 +1,198 @@
|
||||
info face="font-window" size=12 bold=0 italic=0 charset="" unicode=1 stretchH=100 smooth=1 aa=2 padding=1,1,1,1 spacing=0,0
|
||||
common lineHeight=27 base=20 scaleW=506 scaleH=62 pages=1 packed=0 alphaChnl=0 redChnl=0 greenChnl=0 blueChnl=0
|
||||
page id=0 file="font-window.png"
|
||||
chars count=193
|
||||
char id=0 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=20 xadvance=4 page=0 chnl=0
|
||||
char id=32 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=-1 xadvance=4 page=0 chnl=0
|
||||
char id=33 x=276 y=38 width=2 height=12 xoffset=0 yoffset=8 xadvance=4 page=0 chnl=0
|
||||
char id=34 x=293 y=52 width=5 height=4 xoffset=0 yoffset=8 xadvance=7 page=0 chnl=0
|
||||
char id=35 x=370 y=38 width=10 height=12 xoffset=0 yoffset=8 xadvance=12 page=0 chnl=0
|
||||
char id=36 x=175 y=2 width=8 height=16 xoffset=0 yoffset=6 xadvance=10 page=0 chnl=0
|
||||
char id=37 x=62 y=22 width=10 height=14 xoffset=0 yoffset=7 xadvance=12 page=0 chnl=0
|
||||
char id=38 x=343 y=38 width=13 height=12 xoffset=0 yoffset=8 xadvance=13 page=0 chnl=0
|
||||
char id=39 x=306 y=52 width=2 height=4 xoffset=0 yoffset=8 xadvance=4 page=0 chnl=0
|
||||
char id=40 x=392 y=2 width=4 height=15 xoffset=0 yoffset=7 xadvance=5 page=0 chnl=0
|
||||
char id=41 x=398 y=2 width=4 height=15 xoffset=-1 yoffset=7 xadvance=5 page=0 chnl=0
|
||||
char id=42 x=172 y=52 width=7 height=8 xoffset=-1 yoffset=6 xadvance=8 page=0 chnl=0
|
||||
char id=43 x=465 y=38 width=8 height=9 xoffset=0 yoffset=11 xadvance=10 page=0 chnl=0
|
||||
char id=44 x=300 y=52 width=4 height=4 xoffset=-1 yoffset=18 xadvance=5 page=0 chnl=0
|
||||
char id=45 x=359 y=52 width=5 height=2 xoffset=0 yoffset=14 xadvance=7 page=0 chnl=0
|
||||
char id=46 x=330 y=52 width=2 height=3 xoffset=0 yoffset=17 xadvance=4 page=0 chnl=0
|
||||
char id=47 x=0 y=22 width=8 height=14 xoffset=-1 yoffset=7 xadvance=8 page=0 chnl=0
|
||||
char id=48 x=265 y=38 width=9 height=12 xoffset=0 yoffset=8 xadvance=11 page=0 chnl=0
|
||||
char id=49 x=174 y=38 width=6 height=12 xoffset=0 yoffset=8 xadvance=10 page=0 chnl=0
|
||||
char id=50 x=182 y=38 width=7 height=12 xoffset=0 yoffset=8 xadvance=9 page=0 chnl=0
|
||||
char id=51 x=191 y=38 width=8 height=12 xoffset=0 yoffset=8 xadvance=10 page=0 chnl=0
|
||||
char id=52 x=201 y=38 width=9 height=12 xoffset=0 yoffset=8 xadvance=11 page=0 chnl=0
|
||||
char id=53 x=212 y=38 width=9 height=12 xoffset=-1 yoffset=8 xadvance=10 page=0 chnl=0
|
||||
char id=54 x=223 y=38 width=9 height=12 xoffset=0 yoffset=8 xadvance=11 page=0 chnl=0
|
||||
char id=55 x=234 y=38 width=7 height=12 xoffset=0 yoffset=8 xadvance=9 page=0 chnl=0
|
||||
char id=56 x=243 y=38 width=9 height=12 xoffset=0 yoffset=8 xadvance=11 page=0 chnl=0
|
||||
char id=57 x=254 y=38 width=9 height=12 xoffset=0 yoffset=8 xadvance=11 page=0 chnl=0
|
||||
char id=58 x=192 y=52 width=2 height=8 xoffset=0 yoffset=12 xadvance=4 page=0 chnl=0
|
||||
char id=59 x=444 y=38 width=4 height=10 xoffset=-1 yoffset=12 xadvance=4 page=0 chnl=0
|
||||
char id=60 x=0 y=52 width=8 height=9 xoffset=0 yoffset=11 xadvance=10 page=0 chnl=0
|
||||
char id=61 x=204 y=52 width=8 height=6 xoffset=0 yoffset=12 xadvance=10 page=0 chnl=0
|
||||
char id=62 x=495 y=38 width=8 height=9 xoffset=1 yoffset=11 xadvance=11 page=0 chnl=0
|
||||
char id=63 x=280 y=38 width=7 height=12 xoffset=-1 yoffset=8 xadvance=8 page=0 chnl=0
|
||||
char id=64 x=157 y=2 width=16 height=16 xoffset=0 yoffset=8 xadvance=18 page=0 chnl=0
|
||||
char id=65 x=303 y=22 width=11 height=12 xoffset=-1 yoffset=8 xadvance=11 page=0 chnl=0
|
||||
char id=66 x=316 y=22 width=8 height=12 xoffset=0 yoffset=8 xadvance=10 page=0 chnl=0
|
||||
char id=67 x=326 y=22 width=8 height=12 xoffset=0 yoffset=8 xadvance=10 page=0 chnl=0
|
||||
char id=68 x=336 y=22 width=9 height=12 xoffset=0 yoffset=8 xadvance=11 page=0 chnl=0
|
||||
char id=69 x=347 y=22 width=8 height=12 xoffset=0 yoffset=8 xadvance=10 page=0 chnl=0
|
||||
char id=70 x=357 y=22 width=8 height=12 xoffset=0 yoffset=8 xadvance=10 page=0 chnl=0
|
||||
char id=71 x=367 y=22 width=9 height=12 xoffset=0 yoffset=8 xadvance=11 page=0 chnl=0
|
||||
char id=72 x=378 y=22 width=9 height=12 xoffset=0 yoffset=8 xadvance=11 page=0 chnl=0
|
||||
char id=73 x=389 y=22 width=2 height=12 xoffset=0 yoffset=8 xadvance=4 page=0 chnl=0
|
||||
char id=74 x=122 y=22 width=4 height=13 xoffset=-1 yoffset=8 xadvance=5 page=0 chnl=0
|
||||
char id=75 x=393 y=22 width=9 height=12 xoffset=0 yoffset=8 xadvance=10 page=0 chnl=0
|
||||
char id=76 x=404 y=22 width=7 height=12 xoffset=0 yoffset=8 xadvance=9 page=0 chnl=0
|
||||
char id=77 x=413 y=22 width=13 height=12 xoffset=0 yoffset=8 xadvance=15 page=0 chnl=0
|
||||
char id=78 x=440 y=22 width=10 height=12 xoffset=0 yoffset=8 xadvance=12 page=0 chnl=0
|
||||
char id=79 x=462 y=22 width=10 height=12 xoffset=0 yoffset=8 xadvance=12 page=0 chnl=0
|
||||
char id=80 x=478 y=22 width=9 height=12 xoffset=0 yoffset=8 xadvance=11 page=0 chnl=0
|
||||
char id=81 x=380 y=2 width=10 height=15 xoffset=0 yoffset=8 xadvance=12 page=0 chnl=0
|
||||
char id=82 x=0 y=38 width=9 height=12 xoffset=0 yoffset=8 xadvance=11 page=0 chnl=0
|
||||
char id=83 x=11 y=38 width=8 height=12 xoffset=0 yoffset=8 xadvance=10 page=0 chnl=0
|
||||
char id=84 x=21 y=38 width=9 height=12 xoffset=0 yoffset=8 xadvance=11 page=0 chnl=0
|
||||
char id=85 x=32 y=38 width=9 height=12 xoffset=0 yoffset=8 xadvance=11 page=0 chnl=0
|
||||
char id=86 x=43 y=38 width=11 height=12 xoffset=-1 yoffset=8 xadvance=11 page=0 chnl=0
|
||||
char id=87 x=56 y=38 width=17 height=12 xoffset=-1 yoffset=8 xadvance=17 page=0 chnl=0
|
||||
char id=88 x=75 y=38 width=11 height=12 xoffset=-1 yoffset=8 xadvance=10 page=0 chnl=0
|
||||
char id=89 x=88 y=38 width=10 height=12 xoffset=-1 yoffset=8 xadvance=10 page=0 chnl=0
|
||||
char id=90 x=100 y=38 width=8 height=12 xoffset=0 yoffset=8 xadvance=10 page=0 chnl=0
|
||||
char id=91 x=404 y=2 width=5 height=15 xoffset=0 yoffset=7 xadvance=6 page=0 chnl=0
|
||||
char id=92 x=10 y=22 width=9 height=14 xoffset=-1 yoffset=7 xadvance=9 page=0 chnl=0
|
||||
char id=93 x=411 y=2 width=4 height=15 xoffset=0 yoffset=7 xadvance=6 page=0 chnl=0
|
||||
char id=94 x=222 y=52 width=10 height=6 xoffset=-1 yoffset=8 xadvance=10 page=0 chnl=0
|
||||
char id=95 x=349 y=52 width=8 height=2 xoffset=1 yoffset=21 xadvance=12 page=0 chnl=0
|
||||
char id=96 x=279 y=52 width=6 height=5 xoffset=-2 yoffset=6 xadvance=5 page=0 chnl=0
|
||||
char id=97 x=32 y=52 width=8 height=9 xoffset=0 yoffset=11 xadvance=10 page=0 chnl=0
|
||||
char id=98 x=110 y=38 width=8 height=12 xoffset=0 yoffset=8 xadvance=10 page=0 chnl=0
|
||||
char id=99 x=42 y=52 width=7 height=9 xoffset=0 yoffset=11 xadvance=8 page=0 chnl=0
|
||||
char id=100 x=120 y=38 width=8 height=12 xoffset=0 yoffset=8 xadvance=10 page=0 chnl=0
|
||||
char id=101 x=51 y=52 width=8 height=9 xoffset=0 yoffset=11 xadvance=10 page=0 chnl=0
|
||||
char id=102 x=130 y=38 width=6 height=12 xoffset=0 yoffset=8 xadvance=8 page=0 chnl=0
|
||||
char id=103 x=158 y=22 width=8 height=13 xoffset=0 yoffset=11 xadvance=10 page=0 chnl=0
|
||||
char id=104 x=138 y=38 width=8 height=12 xoffset=0 yoffset=8 xadvance=10 page=0 chnl=0
|
||||
char id=105 x=148 y=38 width=2 height=12 xoffset=0 yoffset=8 xadvance=4 page=0 chnl=0
|
||||
char id=106 x=147 y=2 width=4 height=16 xoffset=-2 yoffset=8 xadvance=4 page=0 chnl=0
|
||||
char id=107 x=152 y=38 width=8 height=12 xoffset=0 yoffset=8 xadvance=9 page=0 chnl=0
|
||||
char id=108 x=162 y=38 width=2 height=12 xoffset=0 yoffset=8 xadvance=4 page=0 chnl=0
|
||||
char id=109 x=61 y=52 width=12 height=9 xoffset=0 yoffset=11 xadvance=14 page=0 chnl=0
|
||||
char id=110 x=75 y=52 width=8 height=9 xoffset=0 yoffset=11 xadvance=10 page=0 chnl=0
|
||||
char id=111 x=85 y=52 width=8 height=9 xoffset=0 yoffset=11 xadvance=10 page=0 chnl=0
|
||||
char id=112 x=215 y=22 width=8 height=13 xoffset=0 yoffset=11 xadvance=10 page=0 chnl=0
|
||||
char id=113 x=225 y=22 width=8 height=13 xoffset=0 yoffset=11 xadvance=10 page=0 chnl=0
|
||||
char id=114 x=436 y=38 width=6 height=10 xoffset=0 yoffset=10 xadvance=7 page=0 chnl=0
|
||||
char id=115 x=95 y=52 width=7 height=9 xoffset=0 yoffset=11 xadvance=9 page=0 chnl=0
|
||||
char id=116 x=166 y=38 width=6 height=12 xoffset=0 yoffset=8 xadvance=8 page=0 chnl=0
|
||||
char id=117 x=104 y=52 width=8 height=9 xoffset=0 yoffset=11 xadvance=10 page=0 chnl=0
|
||||
char id=118 x=114 y=52 width=9 height=9 xoffset=-1 yoffset=11 xadvance=9 page=0 chnl=0
|
||||
char id=119 x=125 y=52 width=14 height=9 xoffset=-1 yoffset=11 xadvance=14 page=0 chnl=0
|
||||
char id=120 x=141 y=52 width=9 height=9 xoffset=-1 yoffset=11 xadvance=9 page=0 chnl=0
|
||||
char id=121 x=235 y=22 width=9 height=13 xoffset=-1 yoffset=11 xadvance=9 page=0 chnl=0
|
||||
char id=122 x=152 y=52 width=7 height=9 xoffset=0 yoffset=11 xadvance=9 page=0 chnl=0
|
||||
char id=123 x=417 y=2 width=6 height=15 xoffset=0 yoffset=7 xadvance=7 page=0 chnl=0
|
||||
char id=124 x=153 y=2 width=2 height=16 xoffset=0 yoffset=8 xadvance=4 page=0 chnl=0
|
||||
char id=125 x=425 y=2 width=6 height=15 xoffset=0 yoffset=7 xadvance=7 page=0 chnl=0
|
||||
char id=126 x=320 y=52 width=8 height=3 xoffset=0 yoffset=14 xadvance=10 page=0 chnl=0
|
||||
char id=160 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=20 xadvance=4 page=0 chnl=0
|
||||
char id=161 x=474 y=22 width=2 height=12 xoffset=0 yoffset=11 xadvance=4 page=0 chnl=0
|
||||
char id=162 x=403 y=38 width=7 height=11 xoffset=1 yoffset=10 xadvance=10 page=0 chnl=0
|
||||
char id=163 x=452 y=22 width=8 height=12 xoffset=0 yoffset=8 xadvance=10 page=0 chnl=0
|
||||
char id=164 x=21 y=52 width=9 height=9 xoffset=-1 yoffset=11 xadvance=9 page=0 chnl=0
|
||||
char id=165 x=428 y=22 width=10 height=12 xoffset=-1 yoffset=8 xadvance=10 page=0 chnl=0
|
||||
char id=166 x=185 y=2 width=2 height=16 xoffset=0 yoffset=8 xadvance=4 page=0 chnl=0
|
||||
char id=167 x=433 y=2 width=8 height=15 xoffset=0 yoffset=9 xadvance=10 page=0 chnl=0
|
||||
char id=168 x=341 y=52 width=6 height=2 xoffset=-1 yoffset=8 xadvance=5 page=0 chnl=0
|
||||
char id=169 x=424 y=38 width=10 height=10 xoffset=0 yoffset=7 xadvance=12 page=0 chnl=0
|
||||
char id=170 x=250 y=52 width=6 height=5 xoffset=0 yoffset=8 xadvance=8 page=0 chnl=0
|
||||
char id=171 x=161 y=52 width=9 height=8 xoffset=0 yoffset=12 xadvance=11 page=0 chnl=0
|
||||
char id=172 x=240 y=52 width=8 height=5 xoffset=0 yoffset=14 xadvance=10 page=0 chnl=0
|
||||
char id=174 x=412 y=38 width=10 height=10 xoffset=0 yoffset=7 xadvance=12 page=0 chnl=0
|
||||
char id=175 x=334 y=52 width=5 height=2 xoffset=-1 yoffset=8 xadvance=5 page=0 chnl=0
|
||||
char id=176 x=196 y=52 width=6 height=6 xoffset=1 yoffset=7 xadvance=10 page=0 chnl=0
|
||||
char id=177 x=485 y=38 width=8 height=9 xoffset=0 yoffset=11 xadvance=10 page=0 chnl=0
|
||||
char id=178 x=265 y=52 width=4 height=5 xoffset=0 yoffset=6 xadvance=6 page=0 chnl=0
|
||||
char id=179 x=234 y=52 width=4 height=5 xoffset=0 yoffset=6 xadvance=6 page=0 chnl=0
|
||||
char id=180 x=271 y=52 width=6 height=5 xoffset=-1 yoffset=6 xadvance=5 page=0 chnl=0
|
||||
char id=181 x=266 y=22 width=8 height=13 xoffset=0 yoffset=11 xadvance=10 page=0 chnl=0
|
||||
char id=182 x=321 y=38 width=10 height=12 xoffset=-1 yoffset=8 xadvance=11 page=0 chnl=0
|
||||
char id=183 x=316 y=52 width=2 height=3 xoffset=0 yoffset=14 xadvance=4 page=0 chnl=0
|
||||
char id=184 x=310 y=52 width=4 height=4 xoffset=-1 yoffset=20 xadvance=5 page=0 chnl=0
|
||||
char id=185 x=287 y=52 width=4 height=5 xoffset=-1 yoffset=6 xadvance=5 page=0 chnl=0
|
||||
char id=186 x=214 y=52 width=6 height=6 xoffset=0 yoffset=8 xadvance=8 page=0 chnl=0
|
||||
char id=187 x=181 y=52 width=9 height=8 xoffset=0 yoffset=12 xadvance=11 page=0 chnl=0
|
||||
char id=188 x=443 y=2 width=9 height=15 xoffset=-1 yoffset=7 xadvance=10 page=0 chnl=0
|
||||
char id=189 x=454 y=2 width=9 height=15 xoffset=-1 yoffset=7 xadvance=10 page=0 chnl=0
|
||||
char id=190 x=189 y=2 width=9 height=16 xoffset=-1 yoffset=6 xadvance=10 page=0 chnl=0
|
||||
char id=191 x=168 y=22 width=7 height=13 xoffset=0 yoffset=11 xadvance=8 page=0 chnl=0
|
||||
char id=192 x=27 y=2 width=11 height=17 xoffset=-1 yoffset=3 xadvance=11 page=0 chnl=0
|
||||
char id=193 x=40 y=2 width=11 height=17 xoffset=-1 yoffset=3 xadvance=11 page=0 chnl=0
|
||||
char id=194 x=222 y=2 width=11 height=16 xoffset=-1 yoffset=4 xadvance=11 page=0 chnl=0
|
||||
char id=195 x=235 y=2 width=11 height=16 xoffset=-1 yoffset=4 xadvance=11 page=0 chnl=0
|
||||
char id=196 x=248 y=2 width=12 height=16 xoffset=-2 yoffset=4 xadvance=10 page=0 chnl=0
|
||||
char id=197 x=465 y=2 width=12 height=15 xoffset=-1 yoffset=5 xadvance=12 page=0 chnl=0
|
||||
char id=198 x=489 y=22 width=15 height=12 xoffset=-1 yoffset=8 xadvance=16 page=0 chnl=0
|
||||
char id=199 x=262 y=2 width=8 height=16 xoffset=0 yoffset=8 xadvance=10 page=0 chnl=0
|
||||
char id=200 x=53 y=2 width=8 height=17 xoffset=0 yoffset=3 xadvance=10 page=0 chnl=0
|
||||
char id=201 x=63 y=2 width=8 height=17 xoffset=0 yoffset=3 xadvance=10 page=0 chnl=0
|
||||
char id=202 x=272 y=2 width=8 height=16 xoffset=0 yoffset=4 xadvance=10 page=0 chnl=0
|
||||
char id=203 x=282 y=2 width=8 height=16 xoffset=0 yoffset=4 xadvance=10 page=0 chnl=0
|
||||
char id=204 x=73 y=2 width=6 height=17 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=0
|
||||
char id=205 x=81 y=2 width=6 height=17 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=0
|
||||
char id=206 x=292 y=2 width=8 height=16 xoffset=-3 yoffset=4 xadvance=4 page=0 chnl=0
|
||||
char id=207 x=302 y=2 width=6 height=16 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=208 x=358 y=38 width=10 height=12 xoffset=0 yoffset=8 xadvance=12 page=0 chnl=0
|
||||
char id=209 x=310 y=2 width=10 height=16 xoffset=0 yoffset=4 xadvance=12 page=0 chnl=0
|
||||
char id=210 x=89 y=2 width=10 height=17 xoffset=0 yoffset=3 xadvance=12 page=0 chnl=0
|
||||
char id=211 x=101 y=2 width=10 height=17 xoffset=0 yoffset=3 xadvance=12 page=0 chnl=0
|
||||
char id=212 x=322 y=2 width=10 height=16 xoffset=0 yoffset=4 xadvance=12 page=0 chnl=0
|
||||
char id=213 x=334 y=2 width=10 height=16 xoffset=0 yoffset=4 xadvance=12 page=0 chnl=0
|
||||
char id=214 x=346 y=2 width=10 height=16 xoffset=0 yoffset=4 xadvance=12 page=0 chnl=0
|
||||
char id=215 x=10 y=52 width=9 height=9 xoffset=0 yoffset=11 xadvance=10 page=0 chnl=0
|
||||
char id=216 x=4 y=2 width=10 height=18 xoffset=0 yoffset=5 xadvance=12 page=0 chnl=0
|
||||
char id=217 x=113 y=2 width=9 height=17 xoffset=0 yoffset=3 xadvance=11 page=0 chnl=0
|
||||
char id=218 x=124 y=2 width=9 height=17 xoffset=0 yoffset=3 xadvance=11 page=0 chnl=0
|
||||
char id=219 x=358 y=2 width=9 height=16 xoffset=0 yoffset=4 xadvance=11 page=0 chnl=0
|
||||
char id=220 x=369 y=2 width=9 height=16 xoffset=0 yoffset=4 xadvance=11 page=0 chnl=0
|
||||
char id=221 x=135 y=2 width=10 height=17 xoffset=-1 yoffset=3 xadvance=10 page=0 chnl=0
|
||||
char id=222 x=289 y=38 width=9 height=12 xoffset=0 yoffset=8 xadvance=11 page=0 chnl=0
|
||||
char id=223 x=300 y=38 width=9 height=12 xoffset=0 yoffset=8 xadvance=11 page=0 chnl=0
|
||||
char id=224 x=74 y=22 width=8 height=14 xoffset=0 yoffset=6 xadvance=10 page=0 chnl=0
|
||||
char id=225 x=84 y=22 width=8 height=14 xoffset=0 yoffset=6 xadvance=10 page=0 chnl=0
|
||||
char id=226 x=185 y=22 width=8 height=13 xoffset=0 yoffset=7 xadvance=10 page=0 chnl=0
|
||||
char id=227 x=333 y=38 width=8 height=12 xoffset=0 yoffset=8 xadvance=10 page=0 chnl=0
|
||||
char id=228 x=256 y=22 width=8 height=13 xoffset=0 yoffset=7 xadvance=10 page=0 chnl=0
|
||||
char id=229 x=32 y=22 width=8 height=14 xoffset=0 yoffset=6 xadvance=10 page=0 chnl=0
|
||||
char id=230 x=450 y=38 width=13 height=9 xoffset=0 yoffset=11 xadvance=15 page=0 chnl=0
|
||||
char id=231 x=276 y=22 width=7 height=13 xoffset=0 yoffset=11 xadvance=8 page=0 chnl=0
|
||||
char id=232 x=94 y=22 width=8 height=14 xoffset=0 yoffset=6 xadvance=10 page=0 chnl=0
|
||||
char id=233 x=112 y=22 width=8 height=14 xoffset=0 yoffset=6 xadvance=10 page=0 chnl=0
|
||||
char id=234 x=128 y=22 width=8 height=13 xoffset=0 yoffset=7 xadvance=10 page=0 chnl=0
|
||||
char id=235 x=138 y=22 width=8 height=13 xoffset=0 yoffset=7 xadvance=10 page=0 chnl=0
|
||||
char id=236 x=104 y=22 width=6 height=14 xoffset=-3 yoffset=6 xadvance=4 page=0 chnl=0
|
||||
char id=237 x=499 y=2 width=6 height=14 xoffset=-1 yoffset=6 xadvance=4 page=0 chnl=0
|
||||
char id=238 x=177 y=22 width=6 height=13 xoffset=-2 yoffset=7 xadvance=4 page=0 chnl=0
|
||||
char id=239 x=285 y=22 width=6 height=13 xoffset=-2 yoffset=7 xadvance=4 page=0 chnl=0
|
||||
char id=240 x=21 y=22 width=9 height=14 xoffset=0 yoffset=6 xadvance=11 page=0 chnl=0
|
||||
char id=241 x=382 y=38 width=8 height=12 xoffset=0 yoffset=8 xadvance=10 page=0 chnl=0
|
||||
char id=242 x=489 y=2 width=8 height=14 xoffset=0 yoffset=6 xadvance=10 page=0 chnl=0
|
||||
char id=243 x=479 y=2 width=8 height=14 xoffset=0 yoffset=6 xadvance=10 page=0 chnl=0
|
||||
char id=244 x=148 y=22 width=8 height=13 xoffset=0 yoffset=7 xadvance=10 page=0 chnl=0
|
||||
char id=245 x=311 y=38 width=8 height=12 xoffset=0 yoffset=8 xadvance=10 page=0 chnl=0
|
||||
char id=246 x=246 y=22 width=8 height=13 xoffset=0 yoffset=7 xadvance=10 page=0 chnl=0
|
||||
char id=247 x=475 y=38 width=8 height=9 xoffset=0 yoffset=11 xadvance=10 page=0 chnl=0
|
||||
char id=248 x=205 y=22 width=8 height=13 xoffset=0 yoffset=9 xadvance=10 page=0 chnl=0
|
||||
char id=249 x=42 y=22 width=8 height=14 xoffset=0 yoffset=6 xadvance=10 page=0 chnl=0
|
||||
char id=250 x=52 y=22 width=8 height=14 xoffset=0 yoffset=6 xadvance=10 page=0 chnl=0
|
||||
char id=251 x=293 y=22 width=8 height=13 xoffset=0 yoffset=7 xadvance=10 page=0 chnl=0
|
||||
char id=252 x=195 y=22 width=8 height=13 xoffset=0 yoffset=7 xadvance=10 page=0 chnl=0
|
||||
char id=253 x=16 y=2 width=9 height=18 xoffset=-1 yoffset=6 xadvance=9 page=0 chnl=0
|
||||
char id=254 x=200 y=2 width=8 height=16 xoffset=0 yoffset=8 xadvance=10 page=0 chnl=0
|
||||
char id=255 x=210 y=2 width=10 height=16 xoffset=-2 yoffset=8 xadvance=8 page=0 chnl=0
|
||||
char id=8226 x=258 y=52 width=5 height=5 xoffset=1 yoffset=13 xadvance=9 page=0 chnl=0
|
||||
char id=8364 x=392 y=38 width=9 height=12 xoffset=0 yoffset=8 xadvance=11 page=0 chnl=0
|
||||
kernings count=0
|
198
assets/ui/font.fnt
Normal file
@ -0,0 +1,198 @@
|
||||
info face="font" size=12 bold=0 italic=0 charset="" unicode=1 stretchH=100 smooth=1 aa=2 padding=1,1,1,1 spacing=0,0
|
||||
common lineHeight=21 base=15 scaleW=504 scaleH=44 pages=1 packed=0 alphaChnl=0 redChnl=0 greenChnl=0 blueChnl=0
|
||||
page id=0 file="font.png"
|
||||
chars count=193
|
||||
char id=0 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=15 xadvance=3 page=0 chnl=0
|
||||
char id=32 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=-1 xadvance=3 page=0 chnl=0
|
||||
char id=33 x=393 y=18 width=1 height=10 xoffset=0 yoffset=5 xadvance=3 page=0 chnl=0
|
||||
char id=34 x=458 y=30 width=3 height=3 xoffset=0 yoffset=5 xadvance=5 page=0 chnl=0
|
||||
char id=35 x=101 y=30 width=8 height=9 xoffset=-1 yoffset=6 xadvance=8 page=0 chnl=0
|
||||
char id=36 x=142 y=2 width=6 height=13 xoffset=0 yoffset=4 xadvance=8 page=0 chnl=0
|
||||
char id=37 x=496 y=18 width=7 height=10 xoffset=-1 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=38 x=0 y=30 width=9 height=10 xoffset=0 yoffset=5 xadvance=10 page=0 chnl=0
|
||||
char id=39 x=463 y=30 width=1 height=3 xoffset=0 yoffset=5 xadvance=3 page=0 chnl=0
|
||||
char id=40 x=272 y=2 width=3 height=12 xoffset=0 yoffset=5 xadvance=4 page=0 chnl=0
|
||||
char id=41 x=277 y=2 width=3 height=12 xoffset=-1 yoffset=5 xadvance=4 page=0 chnl=0
|
||||
char id=42 x=369 y=30 width=6 height=5 xoffset=-1 yoffset=5 xadvance=6 page=0 chnl=0
|
||||
char id=43 x=315 y=30 width=7 height=7 xoffset=-1 yoffset=8 xadvance=7 page=0 chnl=0
|
||||
char id=44 x=435 y=30 width=3 height=3 xoffset=-1 yoffset=14 xadvance=3 page=0 chnl=0
|
||||
char id=45 x=497 y=30 width=5 height=1 xoffset=0 yoffset=11 xadvance=6 page=0 chnl=0
|
||||
char id=46 x=466 y=30 width=1 height=2 xoffset=0 yoffset=13 xadvance=3 page=0 chnl=0
|
||||
char id=47 x=446 y=2 width=6 height=11 xoffset=-1 yoffset=5 xadvance=6 page=0 chnl=0
|
||||
char id=48 x=120 y=30 width=7 height=9 xoffset=0 yoffset=6 xadvance=9 page=0 chnl=0
|
||||
char id=49 x=41 y=30 width=4 height=9 xoffset=0 yoffset=6 xadvance=7 page=0 chnl=0
|
||||
char id=50 x=47 y=30 width=7 height=9 xoffset=-1 yoffset=6 xadvance=7 page=0 chnl=0
|
||||
char id=51 x=56 y=30 width=6 height=9 xoffset=0 yoffset=6 xadvance=8 page=0 chnl=0
|
||||
char id=52 x=64 y=30 width=8 height=9 xoffset=-1 yoffset=6 xadvance=8 page=0 chnl=0
|
||||
char id=53 x=74 y=30 width=7 height=9 xoffset=-1 yoffset=6 xadvance=8 page=0 chnl=0
|
||||
char id=54 x=83 y=30 width=7 height=9 xoffset=0 yoffset=6 xadvance=9 page=0 chnl=0
|
||||
char id=55 x=385 y=18 width=6 height=10 xoffset=0 yoffset=6 xadvance=8 page=0 chnl=0
|
||||
char id=56 x=92 y=30 width=7 height=9 xoffset=-1 yoffset=6 xadvance=8 page=0 chnl=0
|
||||
char id=57 x=111 y=30 width=7 height=9 xoffset=0 yoffset=6 xadvance=9 page=0 chnl=0
|
||||
char id=58 x=333 y=30 width=1 height=6 xoffset=0 yoffset=9 xadvance=3 page=0 chnl=0
|
||||
char id=59 x=164 y=30 width=3 height=8 xoffset=-1 yoffset=9 xadvance=3 page=0 chnl=0
|
||||
char id=60 x=214 y=30 width=6 height=7 xoffset=0 yoffset=8 xadvance=8 page=0 chnl=0
|
||||
char id=61 x=449 y=30 width=7 height=3 xoffset=-1 yoffset=10 xadvance=8 page=0 chnl=0
|
||||
char id=62 x=206 y=30 width=6 height=7 xoffset=0 yoffset=8 xadvance=8 page=0 chnl=0
|
||||
char id=63 x=396 y=18 width=6 height=10 xoffset=-1 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=64 x=128 y=2 width=12 height=13 xoffset=0 yoffset=5 xadvance=14 page=0 chnl=0
|
||||
char id=65 x=0 y=18 width=8 height=10 xoffset=-1 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=66 x=18 y=18 width=7 height=10 xoffset=0 yoffset=5 xadvance=9 page=0 chnl=0
|
||||
char id=67 x=27 y=18 width=7 height=10 xoffset=0 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=68 x=67 y=18 width=7 height=10 xoffset=0 yoffset=5 xadvance=9 page=0 chnl=0
|
||||
char id=69 x=76 y=18 width=6 height=10 xoffset=0 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=70 x=84 y=18 width=6 height=10 xoffset=0 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=71 x=92 y=18 width=7 height=10 xoffset=0 yoffset=5 xadvance=9 page=0 chnl=0
|
||||
char id=72 x=101 y=18 width=7 height=10 xoffset=0 yoffset=5 xadvance=9 page=0 chnl=0
|
||||
char id=73 x=128 y=18 width=1 height=10 xoffset=0 yoffset=5 xadvance=3 page=0 chnl=0
|
||||
char id=74 x=379 y=2 width=3 height=11 xoffset=-1 yoffset=5 xadvance=4 page=0 chnl=0
|
||||
char id=75 x=131 y=18 width=7 height=10 xoffset=0 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=76 x=140 y=18 width=6 height=10 xoffset=0 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=77 x=148 y=18 width=9 height=10 xoffset=0 yoffset=5 xadvance=11 page=0 chnl=0
|
||||
char id=78 x=159 y=18 width=7 height=10 xoffset=0 yoffset=5 xadvance=9 page=0 chnl=0
|
||||
char id=79 x=168 y=18 width=8 height=10 xoffset=0 yoffset=5 xadvance=10 page=0 chnl=0
|
||||
char id=80 x=178 y=18 width=7 height=10 xoffset=0 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=81 x=262 y=2 width=8 height=12 xoffset=0 yoffset=5 xadvance=10 page=0 chnl=0
|
||||
char id=82 x=195 y=18 width=8 height=10 xoffset=0 yoffset=5 xadvance=9 page=0 chnl=0
|
||||
char id=83 x=205 y=18 width=6 height=10 xoffset=0 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=84 x=213 y=18 width=7 height=10 xoffset=-1 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=85 x=222 y=18 width=7 height=10 xoffset=0 yoffset=5 xadvance=9 page=0 chnl=0
|
||||
char id=86 x=231 y=18 width=8 height=10 xoffset=-1 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=87 x=241 y=18 width=12 height=10 xoffset=-1 yoffset=5 xadvance=12 page=0 chnl=0
|
||||
char id=88 x=260 y=18 width=8 height=10 xoffset=-1 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=89 x=270 y=18 width=9 height=10 xoffset=-2 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=90 x=281 y=18 width=6 height=10 xoffset=0 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=91 x=282 y=2 width=3 height=12 xoffset=0 yoffset=5 xadvance=4 page=0 chnl=0
|
||||
char id=92 x=462 y=2 width=6 height=11 xoffset=-1 yoffset=5 xadvance=6 page=0 chnl=0
|
||||
char id=93 x=287 y=2 width=3 height=12 xoffset=-1 yoffset=5 xadvance=4 page=0 chnl=0
|
||||
char id=94 x=360 y=30 width=7 height=5 xoffset=-1 yoffset=6 xadvance=8 page=0 chnl=0
|
||||
char id=95 x=481 y=30 width=7 height=1 xoffset=0 yoffset=16 xadvance=9 page=0 chnl=0
|
||||
char id=96 x=423 y=30 width=4 height=3 xoffset=-1 yoffset=4 xadvance=3 page=0 chnl=0
|
||||
char id=97 x=198 y=30 width=6 height=7 xoffset=0 yoffset=8 xadvance=7 page=0 chnl=0
|
||||
char id=98 x=296 y=18 width=6 height=10 xoffset=0 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=99 x=222 y=30 width=5 height=7 xoffset=0 yoffset=8 xadvance=6 page=0 chnl=0
|
||||
char id=100 x=304 y=18 width=6 height=10 xoffset=0 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=101 x=229 y=30 width=6 height=7 xoffset=0 yoffset=8 xadvance=8 page=0 chnl=0
|
||||
char id=102 x=312 y=18 width=5 height=10 xoffset=-1 yoffset=5 xadvance=4 page=0 chnl=0
|
||||
char id=103 x=319 y=18 width=7 height=10 xoffset=0 yoffset=8 xadvance=7 page=0 chnl=0
|
||||
char id=104 x=328 y=18 width=6 height=10 xoffset=0 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=105 x=336 y=18 width=1 height=10 xoffset=0 yoffset=5 xadvance=3 page=0 chnl=0
|
||||
char id=106 x=120 y=2 width=3 height=13 xoffset=-2 yoffset=5 xadvance=3 page=0 chnl=0
|
||||
char id=107 x=349 y=18 width=6 height=10 xoffset=0 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=108 x=357 y=18 width=1 height=10 xoffset=0 yoffset=5 xadvance=3 page=0 chnl=0
|
||||
char id=109 x=237 y=30 width=9 height=7 xoffset=0 yoffset=8 xadvance=11 page=0 chnl=0
|
||||
char id=110 x=248 y=30 width=6 height=7 xoffset=0 yoffset=8 xadvance=8 page=0 chnl=0
|
||||
char id=111 x=256 y=30 width=6 height=7 xoffset=0 yoffset=8 xadvance=8 page=0 chnl=0
|
||||
char id=112 x=360 y=18 width=6 height=10 xoffset=0 yoffset=8 xadvance=8 page=0 chnl=0
|
||||
char id=113 x=368 y=18 width=6 height=10 xoffset=0 yoffset=8 xadvance=8 page=0 chnl=0
|
||||
char id=114 x=158 y=30 width=4 height=8 xoffset=0 yoffset=7 xadvance=5 page=0 chnl=0
|
||||
char id=115 x=264 y=30 width=5 height=7 xoffset=0 yoffset=8 xadvance=7 page=0 chnl=0
|
||||
char id=116 x=34 y=30 width=5 height=9 xoffset=-1 yoffset=6 xadvance=5 page=0 chnl=0
|
||||
char id=117 x=271 y=30 width=5 height=7 xoffset=0 yoffset=8 xadvance=7 page=0 chnl=0
|
||||
char id=118 x=278 y=30 width=7 height=7 xoffset=-1 yoffset=8 xadvance=7 page=0 chnl=0
|
||||
char id=119 x=287 y=30 width=11 height=7 xoffset=-1 yoffset=8 xadvance=11 page=0 chnl=0
|
||||
char id=120 x=300 y=30 width=6 height=7 xoffset=-1 yoffset=8 xadvance=6 page=0 chnl=0
|
||||
char id=121 x=376 y=18 width=7 height=10 xoffset=-1 yoffset=8 xadvance=7 page=0 chnl=0
|
||||
char id=122 x=308 y=30 width=5 height=7 xoffset=0 yoffset=8 xadvance=7 page=0 chnl=0
|
||||
char id=123 x=292 y=2 width=5 height=12 xoffset=-1 yoffset=5 xadvance=5 page=0 chnl=0
|
||||
char id=124 x=125 y=2 width=1 height=13 xoffset=0 yoffset=5 xadvance=3 page=0 chnl=0
|
||||
char id=125 x=299 y=2 width=5 height=12 xoffset=-1 yoffset=5 xadvance=5 page=0 chnl=0
|
||||
char id=126 x=469 y=30 width=7 height=2 xoffset=-1 yoffset=10 xadvance=8 page=0 chnl=0
|
||||
char id=160 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=15 xadvance=3 page=0 chnl=0
|
||||
char id=161 x=31 y=30 width=1 height=9 xoffset=0 yoffset=8 xadvance=3 page=0 chnl=0
|
||||
char id=162 x=289 y=18 width=5 height=10 xoffset=0 yoffset=7 xadvance=7 page=0 chnl=0
|
||||
char id=163 x=22 y=30 width=7 height=9 xoffset=-1 yoffset=6 xadvance=8 page=0 chnl=0
|
||||
char id=164 x=189 y=30 width=7 height=7 xoffset=-1 yoffset=8 xadvance=7 page=0 chnl=0
|
||||
char id=165 x=11 y=30 width=9 height=9 xoffset=-2 yoffset=6 xadvance=7 page=0 chnl=0
|
||||
char id=166 x=150 y=2 width=1 height=13 xoffset=0 yoffset=5 xadvance=3 page=0 chnl=0
|
||||
char id=167 x=486 y=2 width=5 height=11 xoffset=0 yoffset=6 xadvance=7 page=0 chnl=0
|
||||
char id=168 x=0 y=42 width=4 height=1 xoffset=-1 yoffset=5 xadvance=4 page=0 chnl=0
|
||||
char id=169 x=148 y=30 width=8 height=8 xoffset=0 yoffset=5 xadvance=10 page=0 chnl=0
|
||||
char id=170 x=416 y=30 width=5 height=4 xoffset=0 yoffset=6 xadvance=6 page=0 chnl=0
|
||||
char id=171 x=352 y=30 width=6 height=5 xoffset=0 yoffset=9 xadvance=7 page=0 chnl=0
|
||||
char id=172 x=440 y=30 width=7 height=3 xoffset=-1 yoffset=10 xadvance=8 page=0 chnl=0
|
||||
char id=174 x=138 y=30 width=8 height=8 xoffset=0 yoffset=5 xadvance=10 page=0 chnl=0
|
||||
char id=175 x=490 y=30 width=5 height=1 xoffset=-2 yoffset=6 xadvance=3 page=0 chnl=0
|
||||
char id=176 x=410 y=30 width=4 height=4 xoffset=1 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=177 x=324 y=30 width=7 height=6 xoffset=-1 yoffset=8 xadvance=7 page=0 chnl=0
|
||||
char id=178 x=405 y=30 width=3 height=4 xoffset=-1 yoffset=4 xadvance=4 page=0 chnl=0
|
||||
char id=179 x=399 y=30 width=4 height=4 xoffset=-1 yoffset=4 xadvance=4 page=0 chnl=0
|
||||
char id=180 x=429 y=30 width=4 height=3 xoffset=-1 yoffset=4 xadvance=4 page=0 chnl=0
|
||||
char id=181 x=121 y=18 width=5 height=10 xoffset=0 yoffset=8 xadvance=7 page=0 chnl=0
|
||||
char id=182 x=110 y=18 width=9 height=10 xoffset=-1 yoffset=5 xadvance=9 page=0 chnl=0
|
||||
char id=183 x=478 y=30 width=1 height=2 xoffset=0 yoffset=10 xadvance=3 page=0 chnl=0
|
||||
char id=184 x=394 y=30 width=3 height=4 xoffset=-1 yoffset=14 xadvance=4 page=0 chnl=0
|
||||
char id=185 x=389 y=30 width=3 height=4 xoffset=-1 yoffset=4 xadvance=4 page=0 chnl=0
|
||||
char id=186 x=383 y=30 width=4 height=4 xoffset=0 yoffset=6 xadvance=6 page=0 chnl=0
|
||||
char id=187 x=344 y=30 width=6 height=5 xoffset=0 yoffset=9 xadvance=7 page=0 chnl=0
|
||||
char id=188 x=315 y=2 width=8 height=12 xoffset=-1 yoffset=4 xadvance=8 page=0 chnl=0
|
||||
char id=189 x=325 y=2 width=7 height=12 xoffset=-1 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=190 x=153 y=2 width=8 height=13 xoffset=-1 yoffset=3 xadvance=8 page=0 chnl=0
|
||||
char id=191 x=36 y=18 width=6 height=10 xoffset=-1 yoffset=8 xadvance=6 page=0 chnl=0
|
||||
char id=192 x=4 y=2 width=8 height=14 xoffset=-1 yoffset=1 xadvance=8 page=0 chnl=0
|
||||
char id=193 x=14 y=2 width=8 height=14 xoffset=-1 yoffset=1 xadvance=8 page=0 chnl=0
|
||||
char id=194 x=173 y=2 width=8 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=195 x=183 y=2 width=8 height=13 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=196 x=334 y=2 width=8 height=12 xoffset=-1 yoffset=3 xadvance=8 page=0 chnl=0
|
||||
char id=197 x=344 y=2 width=9 height=12 xoffset=-1 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=198 x=482 y=18 width=12 height=10 xoffset=-1 yoffset=5 xadvance=13 page=0 chnl=0
|
||||
char id=199 x=193 y=2 width=6 height=13 xoffset=0 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=200 x=24 y=2 width=6 height=14 xoffset=0 yoffset=1 xadvance=8 page=0 chnl=0
|
||||
char id=201 x=32 y=2 width=6 height=14 xoffset=0 yoffset=1 xadvance=8 page=0 chnl=0
|
||||
char id=202 x=209 y=2 width=6 height=13 xoffset=0 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=203 x=355 y=2 width=7 height=12 xoffset=0 yoffset=3 xadvance=8 page=0 chnl=0
|
||||
char id=204 x=49 y=2 width=4 height=14 xoffset=-2 yoffset=1 xadvance=3 page=0 chnl=0
|
||||
char id=205 x=55 y=2 width=4 height=14 xoffset=-1 yoffset=1 xadvance=3 page=0 chnl=0
|
||||
char id=206 x=217 y=2 width=5 height=13 xoffset=-2 yoffset=2 xadvance=3 page=0 chnl=0
|
||||
char id=207 x=374 y=2 width=3 height=12 xoffset=-1 yoffset=3 xadvance=3 page=0 chnl=0
|
||||
char id=208 x=339 y=18 width=8 height=10 xoffset=-1 yoffset=5 xadvance=9 page=0 chnl=0
|
||||
char id=209 x=224 y=2 width=7 height=13 xoffset=0 yoffset=2 xadvance=9 page=0 chnl=0
|
||||
char id=210 x=61 y=2 width=8 height=14 xoffset=0 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=211 x=71 y=2 width=8 height=14 xoffset=0 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=212 x=233 y=2 width=8 height=13 xoffset=0 yoffset=2 xadvance=10 page=0 chnl=0
|
||||
char id=213 x=243 y=2 width=8 height=13 xoffset=0 yoffset=2 xadvance=10 page=0 chnl=0
|
||||
char id=214 x=364 y=2 width=8 height=12 xoffset=0 yoffset=3 xadvance=10 page=0 chnl=0
|
||||
char id=215 x=181 y=30 width=6 height=7 xoffset=0 yoffset=8 xadvance=8 page=0 chnl=0
|
||||
char id=216 x=81 y=2 width=8 height=14 xoffset=0 yoffset=3 xadvance=10 page=0 chnl=0
|
||||
char id=217 x=91 y=2 width=7 height=14 xoffset=0 yoffset=1 xadvance=9 page=0 chnl=0
|
||||
char id=218 x=100 y=2 width=7 height=14 xoffset=0 yoffset=1 xadvance=9 page=0 chnl=0
|
||||
char id=219 x=253 y=2 width=7 height=13 xoffset=0 yoffset=2 xadvance=9 page=0 chnl=0
|
||||
char id=220 x=306 y=2 width=7 height=12 xoffset=0 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=221 x=109 y=2 width=9 height=14 xoffset=-2 yoffset=1 xadvance=7 page=0 chnl=0
|
||||
char id=222 x=426 y=18 width=7 height=10 xoffset=0 yoffset=5 xadvance=9 page=0 chnl=0
|
||||
char id=223 x=418 y=18 width=6 height=10 xoffset=0 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=224 x=423 y=2 width=6 height=11 xoffset=0 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=225 x=407 y=2 width=6 height=11 xoffset=0 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=226 x=187 y=18 width=6 height=10 xoffset=0 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=227 x=443 y=18 width=6 height=10 xoffset=0 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=228 x=451 y=18 width=6 height=10 xoffset=0 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=229 x=415 y=2 width=6 height=11 xoffset=0 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=230 x=169 y=30 width=10 height=7 xoffset=0 yoffset=8 xadvance=12 page=0 chnl=0
|
||||
char id=231 x=404 y=18 width=5 height=10 xoffset=0 yoffset=8 xadvance=6 page=0 chnl=0
|
||||
char id=232 x=454 y=2 width=6 height=11 xoffset=0 yoffset=4 xadvance=8 page=0 chnl=0
|
||||
char id=233 x=470 y=2 width=6 height=11 xoffset=0 yoffset=4 xadvance=8 page=0 chnl=0
|
||||
char id=234 x=474 y=18 width=6 height=10 xoffset=0 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=235 x=10 y=18 width=6 height=10 xoffset=0 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=236 x=499 y=2 width=4 height=11 xoffset=-2 yoffset=4 xadvance=3 page=0 chnl=0
|
||||
char id=237 x=493 y=2 width=4 height=11 xoffset=-1 yoffset=4 xadvance=3 page=0 chnl=0
|
||||
char id=238 x=44 y=18 width=5 height=10 xoffset=-2 yoffset=5 xadvance=3 page=0 chnl=0
|
||||
char id=239 x=255 y=18 width=3 height=10 xoffset=-1 yoffset=5 xadvance=3 page=0 chnl=0
|
||||
char id=240 x=478 y=2 width=6 height=11 xoffset=0 yoffset=4 xadvance=8 page=0 chnl=0
|
||||
char id=241 x=466 y=18 width=6 height=10 xoffset=0 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=242 x=438 y=2 width=6 height=11 xoffset=0 yoffset=4 xadvance=8 page=0 chnl=0
|
||||
char id=243 x=399 y=2 width=6 height=11 xoffset=0 yoffset=4 xadvance=8 page=0 chnl=0
|
||||
char id=244 x=435 y=18 width=6 height=10 xoffset=0 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=245 x=59 y=18 width=6 height=10 xoffset=0 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=246 x=51 y=18 width=6 height=10 xoffset=0 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=247 x=336 y=30 width=6 height=5 xoffset=0 yoffset=9 xadvance=8 page=0 chnl=0
|
||||
char id=248 x=384 y=2 width=6 height=11 xoffset=0 yoffset=6 xadvance=8 page=0 chnl=0
|
||||
char id=249 x=392 y=2 width=5 height=11 xoffset=0 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=250 x=431 y=2 width=5 height=11 xoffset=0 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=251 x=411 y=18 width=5 height=10 xoffset=0 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=252 x=459 y=18 width=5 height=10 xoffset=0 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=253 x=40 y=2 width=7 height=14 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0
|
||||
char id=254 x=201 y=2 width=6 height=13 xoffset=0 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=255 x=163 y=2 width=8 height=13 xoffset=-2 yoffset=5 xadvance=7 page=0 chnl=0
|
||||
char id=8226 x=377 y=30 width=4 height=4 xoffset=1 yoffset=10 xadvance=8 page=0 chnl=0
|
||||
char id=8364 x=129 y=30 width=7 height=9 xoffset=-1 yoffset=6 xadvance=8 page=0 chnl=0
|
||||
kernings count=0
|
380
assets/ui/uiskin.atlas
Normal file
@ -0,0 +1,380 @@
|
||||
|
||||
uiskin.png
|
||||
size: 512,512
|
||||
format: RGBA8888
|
||||
filter: Nearest,Nearest
|
||||
repeat: none
|
||||
button-normal
|
||||
rotate: false
|
||||
xy: 2, 111
|
||||
size: 41, 42
|
||||
orig: 41, 42
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
button-normal-over
|
||||
rotate: false
|
||||
xy: 102, 263
|
||||
size: 41, 42
|
||||
orig: 41, 42
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
button-normal-pressed
|
||||
rotate: false
|
||||
xy: 2, 67
|
||||
size: 41, 42
|
||||
orig: 41, 42
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
check
|
||||
rotate: false
|
||||
xy: 290, 306
|
||||
size: 24, 24
|
||||
orig: 24, 24
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
check-on
|
||||
rotate: false
|
||||
xy: 316, 306
|
||||
size: 24, 24
|
||||
orig: 24, 24
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
checkbox
|
||||
rotate: false
|
||||
xy: 482, 309
|
||||
size: 20, 21
|
||||
orig: 20, 21
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
checkbox-over
|
||||
rotate: false
|
||||
xy: 438, 309
|
||||
size: 20, 21
|
||||
orig: 20, 21
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
checkbox-selected
|
||||
rotate: false
|
||||
xy: 32, 18
|
||||
size: 20, 21
|
||||
orig: 20, 21
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
checkbox-selected-over
|
||||
rotate: false
|
||||
xy: 460, 309
|
||||
size: 20, 21
|
||||
orig: 20, 21
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
font
|
||||
rotate: false
|
||||
xy: 2, 402
|
||||
size: 504, 44
|
||||
orig: 504, 44
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
font-list
|
||||
rotate: false
|
||||
xy: 2, 332
|
||||
size: 505, 30
|
||||
orig: 505, 30
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
font-subtitle
|
||||
rotate: false
|
||||
xy: 2, 364
|
||||
size: 505, 36
|
||||
orig: 505, 36
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
font-window
|
||||
rotate: false
|
||||
xy: 2, 448
|
||||
size: 506, 62
|
||||
orig: 506, 62
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
knob-h
|
||||
rotate: false
|
||||
xy: 188, 268
|
||||
size: 24, 1
|
||||
orig: 24, 1
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
knob-v
|
||||
rotate: false
|
||||
xy: 508, 422
|
||||
size: 1, 24
|
||||
orig: 1, 24
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
line-h
|
||||
rotate: false
|
||||
xy: 102, 260
|
||||
size: 24, 1
|
||||
orig: 24, 1
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
line-v
|
||||
rotate: false
|
||||
xy: 509, 396
|
||||
size: 1, 24
|
||||
orig: 1, 24
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
list
|
||||
rotate: false
|
||||
xy: 188, 271
|
||||
size: 43, 34
|
||||
orig: 43, 34
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
progress-bar
|
||||
rotate: false
|
||||
xy: 2, 307
|
||||
size: 252, 5
|
||||
orig: 252, 5
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
progress-bar-knob
|
||||
rotate: false
|
||||
xy: 2, 314
|
||||
size: 252, 5
|
||||
orig: 252, 5
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
progress-bar-square
|
||||
rotate: false
|
||||
xy: 256, 309
|
||||
size: 4, 4
|
||||
orig: 4, 4
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
progress-bar-square-knob
|
||||
rotate: false
|
||||
xy: 504, 328
|
||||
size: 2, 2
|
||||
orig: 2, 2
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
radio
|
||||
rotate: false
|
||||
xy: 366, 308
|
||||
size: 22, 22
|
||||
orig: 22, 22
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
radio-over
|
||||
rotate: false
|
||||
xy: 390, 308
|
||||
size: 22, 22
|
||||
orig: 22, 22
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
radio-selected
|
||||
rotate: false
|
||||
xy: 342, 308
|
||||
size: 22, 22
|
||||
orig: 22, 22
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
radio-selected-over
|
||||
rotate: false
|
||||
xy: 414, 308
|
||||
size: 22, 22
|
||||
orig: 22, 22
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
rect
|
||||
rotate: false
|
||||
xy: 32, 41
|
||||
size: 12, 24
|
||||
orig: 12, 24
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
scrollbar
|
||||
rotate: false
|
||||
xy: 46, 150
|
||||
size: 17, 16
|
||||
orig: 17, 16
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
select
|
||||
rotate: false
|
||||
xy: 262, 306
|
||||
size: 26, 24
|
||||
split: 4, 15, 0, 24
|
||||
orig: 26, 24
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
select-box
|
||||
rotate: false
|
||||
xy: 145, 263
|
||||
size: 41, 42
|
||||
orig: 41, 42
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
select-box-open
|
||||
rotate: false
|
||||
xy: 58, 214
|
||||
size: 41, 42
|
||||
orig: 41, 42
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
selection
|
||||
rotate: false
|
||||
xy: 46, 168
|
||||
size: 16, 16
|
||||
orig: 16, 16
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
slider
|
||||
rotate: false
|
||||
xy: 2, 321
|
||||
size: 258, 9
|
||||
orig: 258, 9
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
slider-knob
|
||||
rotate: false
|
||||
xy: 46, 57
|
||||
size: 9, 9
|
||||
orig: 9, 9
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
slider-knob-over
|
||||
rotate: false
|
||||
xy: 46, 46
|
||||
size: 9, 9
|
||||
orig: 9, 9
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
spinner-down
|
||||
rotate: false
|
||||
xy: 45, 100
|
||||
size: 16, 14
|
||||
orig: 16, 14
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
spinner-down-over
|
||||
rotate: false
|
||||
xy: 45, 68
|
||||
size: 16, 14
|
||||
orig: 16, 14
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
spinner-down-pressed
|
||||
rotate: false
|
||||
xy: 45, 116
|
||||
size: 16, 14
|
||||
orig: 16, 14
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
spinner-textfield
|
||||
rotate: false
|
||||
xy: 2, 7
|
||||
size: 28, 28
|
||||
orig: 28, 28
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
spinner-textfield-selected
|
||||
rotate: false
|
||||
xy: 2, 37
|
||||
size: 28, 28
|
||||
orig: 28, 28
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
spinner-up
|
||||
rotate: false
|
||||
xy: 32, 2
|
||||
size: 16, 14
|
||||
orig: 16, 14
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
spinner-up-over
|
||||
rotate: false
|
||||
xy: 45, 84
|
||||
size: 16, 14
|
||||
orig: 16, 14
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
spinner-up-pressed
|
||||
rotate: false
|
||||
xy: 50, 2
|
||||
size: 16, 14
|
||||
orig: 16, 14
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
square
|
||||
rotate: false
|
||||
xy: 256, 315
|
||||
size: 4, 4
|
||||
orig: 4, 4
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
textfield
|
||||
rotate: false
|
||||
xy: 2, 155
|
||||
size: 42, 47
|
||||
orig: 42, 47
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
textfield-selected
|
||||
rotate: false
|
||||
xy: 58, 258
|
||||
size: 42, 47
|
||||
orig: 42, 47
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
tree-minus
|
||||
rotate: false
|
||||
xy: 46, 186
|
||||
size: 16, 16
|
||||
orig: 16, 16
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
tree-plus
|
||||
rotate: false
|
||||
xy: 45, 132
|
||||
size: 16, 16
|
||||
orig: 16, 16
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
white
|
||||
rotate: false
|
||||
xy: 509, 393
|
||||
size: 1, 1
|
||||
orig: 1, 1
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
dot
|
||||
rotate: false
|
||||
xy: 509, 393
|
||||
size: 1, 1
|
||||
orig: 1, 1
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
window
|
||||
rotate: false
|
||||
xy: 2, 204
|
||||
size: 54, 101
|
||||
orig: 54, 101
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
window-border
|
||||
rotate: false
|
||||
xy: 248, 279
|
||||
size: 5, 26
|
||||
split: 2, 2, 23, 2
|
||||
orig: 5, 26
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
window-resize
|
||||
rotate: false
|
||||
xy: 233, 271
|
||||
size: 13, 34
|
||||
split: 2, 10, 23, 10
|
||||
orig: 13, 34
|
||||
offset: 0, 0
|
||||
index: -1
|
438
assets/ui/uiskin.json
Normal file
@ -0,0 +1,438 @@
|
||||
{
|
||||
com.badlogic.gdx.graphics.g2d.BitmapFont: {
|
||||
default: {
|
||||
file: font.fnt
|
||||
}
|
||||
font: {
|
||||
file: font.fnt
|
||||
}
|
||||
list: {
|
||||
file: font-list.fnt
|
||||
}
|
||||
subtitle: {
|
||||
file: font-subtitle.fnt
|
||||
}
|
||||
window: {
|
||||
file: font-window.fnt
|
||||
}
|
||||
}
|
||||
com.badlogic.gdx.graphics.Color: {
|
||||
black: {
|
||||
r: 0
|
||||
g: 0
|
||||
b: 0
|
||||
a: 1
|
||||
}
|
||||
disabled: {
|
||||
r: 0.23137255
|
||||
g: 0.24705882
|
||||
b: 0.25882354
|
||||
a: 1
|
||||
}
|
||||
highlight: {
|
||||
r: 0.19215687
|
||||
g: 0.6627451
|
||||
b: 0.95686275
|
||||
a: 1
|
||||
}
|
||||
message: {
|
||||
r: 0.44313726
|
||||
g: 0.47843137
|
||||
b: 0.5372549
|
||||
a: 1
|
||||
}
|
||||
split: {
|
||||
r: 0.44313726
|
||||
g: 0.47843137
|
||||
b: 0.5372549
|
||||
a: 1
|
||||
}
|
||||
white: {
|
||||
r: 1
|
||||
g: 1
|
||||
b: 1
|
||||
a: 1
|
||||
}
|
||||
}
|
||||
com.badlogic.gdx.scenes.scene2d.ui.Skin$TintedDrawable: {
|
||||
split: {
|
||||
name: white
|
||||
color: split
|
||||
}
|
||||
black: {
|
||||
name: white
|
||||
color: black
|
||||
}
|
||||
highlight: {
|
||||
name: white
|
||||
color: highlight
|
||||
}
|
||||
}
|
||||
com.badlogic.gdx.scenes.scene2d.utils.TiledDrawable: {
|
||||
progress-bar-knob-t: {
|
||||
region: progress-bar-knob
|
||||
minWidth: 0
|
||||
minHeight: 5
|
||||
}
|
||||
}
|
||||
com.badlogic.gdx.scenes.scene2d.ui.Button$ButtonStyle: {
|
||||
default: {
|
||||
up: button-normal
|
||||
down: button-normal-pressed
|
||||
over: button-normal-over
|
||||
focused: button-normal-over
|
||||
}
|
||||
spinner-up: {
|
||||
up: spinner-up
|
||||
down: spinner-up-pressed
|
||||
over: spinner-up-over
|
||||
}
|
||||
spinner-down: {
|
||||
up: spinner-down
|
||||
down: spinner-down-pressed
|
||||
over: spinner-down-over
|
||||
}
|
||||
}
|
||||
com.badlogic.gdx.scenes.scene2d.ui.CheckBox$CheckBoxStyle: {
|
||||
default: {
|
||||
checkboxOn: checkbox-selected
|
||||
checkboxOff: checkbox
|
||||
checkboxOnOver: checkbox-selected-over
|
||||
checkboxOver: checkbox-over
|
||||
font: font
|
||||
}
|
||||
radio: {
|
||||
checkboxOn: radio-selected
|
||||
checkboxOff: radio
|
||||
checkboxOnOver: radio-selected-over
|
||||
checkboxOver: radio-over
|
||||
font: font
|
||||
}
|
||||
}
|
||||
com.badlogic.gdx.scenes.scene2d.ui.ImageButton$ImageButtonStyle: {
|
||||
default: {
|
||||
up: button-normal
|
||||
down: button-normal-pressed
|
||||
over: button-normal-over
|
||||
focused: button-normal-over
|
||||
}
|
||||
}
|
||||
com.badlogic.gdx.scenes.scene2d.ui.ImageTextButton$ImageTextButtonStyle: {
|
||||
default: {
|
||||
font: font
|
||||
up: button-normal
|
||||
down: button-normal-pressed
|
||||
over: button-normal-over
|
||||
focused: button-normal-pressed
|
||||
}
|
||||
}
|
||||
com.badlogic.gdx.scenes.scene2d.ui.Label$LabelStyle: {
|
||||
default: {
|
||||
font: font
|
||||
}
|
||||
window: {
|
||||
font: window
|
||||
}
|
||||
list: {
|
||||
font: list
|
||||
}
|
||||
subtitle: {
|
||||
font: subtitle
|
||||
}
|
||||
}
|
||||
com.badlogic.gdx.scenes.scene2d.ui.List$ListStyle: {
|
||||
default: {
|
||||
font: list
|
||||
fontColorSelected: white
|
||||
fontColorUnselected: white
|
||||
selection: selection
|
||||
background: list
|
||||
}
|
||||
list-nobg: {
|
||||
font: list
|
||||
fontColorSelected: white
|
||||
fontColorUnselected: white
|
||||
selection: selection
|
||||
}
|
||||
}
|
||||
com.badlogic.gdx.scenes.scene2d.ui.ProgressBar$ProgressBarStyle: {
|
||||
default-horizontal: {
|
||||
background: progress-bar-square
|
||||
knobBefore: progress-bar-square-knob
|
||||
}
|
||||
default-vertical: {
|
||||
background: progress-bar-square
|
||||
knobBefore: progress-bar-square-knob
|
||||
}
|
||||
curved: {
|
||||
background: progress-bar
|
||||
knobBefore: progress-bar-knob-t
|
||||
}
|
||||
}
|
||||
com.badlogic.gdx.scenes.scene2d.ui.ScrollPane$ScrollPaneStyle: {
|
||||
default: {
|
||||
hScrollKnob: scrollbar
|
||||
vScrollKnob: scrollbar
|
||||
}
|
||||
list: {
|
||||
background: list
|
||||
hScrollKnob: scrollbar
|
||||
vScrollKnob: scrollbar
|
||||
}
|
||||
}
|
||||
com.badlogic.gdx.scenes.scene2d.ui.SelectBox$SelectBoxStyle: {
|
||||
default: {
|
||||
font: font
|
||||
fontColor: white
|
||||
background: select-box
|
||||
scrollStyle: list
|
||||
listStyle: list-nobg
|
||||
backgroundOpen: select-box-open
|
||||
}
|
||||
}
|
||||
com.badlogic.gdx.scenes.scene2d.ui.Slider$SliderStyle: {
|
||||
default-horizontal: {
|
||||
knobOver: slider-knob-over
|
||||
knobDown: slider-knob-over
|
||||
background: progress-bar-square
|
||||
knob: slider-knob
|
||||
}
|
||||
default-vertical: {
|
||||
knobOver: slider-knob-over
|
||||
knobDown: slider-knob-over
|
||||
background: progress-bar-square
|
||||
knob: slider-knob
|
||||
}
|
||||
curved: {
|
||||
knobOver: slider-knob-over
|
||||
knobDown: slider-knob-over
|
||||
background: slider
|
||||
knob: slider-knob
|
||||
}
|
||||
}
|
||||
com.badlogic.gdx.scenes.scene2d.ui.SplitPane$SplitPaneStyle: {
|
||||
default-horizontal: {
|
||||
handle: split
|
||||
}
|
||||
default-vertical: {
|
||||
handle: split
|
||||
}
|
||||
}
|
||||
com.badlogic.gdx.scenes.scene2d.ui.TextButton$TextButtonStyle: {
|
||||
default: {
|
||||
font: font
|
||||
up: button-normal
|
||||
down: button-normal-pressed
|
||||
over: button-normal-over
|
||||
focused: button-normal-over
|
||||
}
|
||||
}
|
||||
com.badlogic.gdx.scenes.scene2d.ui.TextField$TextFieldStyle: {
|
||||
default: {
|
||||
font: font
|
||||
fontColor: white
|
||||
disabledFontColor: disabled
|
||||
background: textfield
|
||||
focusedBackground: textfield-selected
|
||||
cursor: white
|
||||
selection: highlight
|
||||
messageFont: font
|
||||
messageFontColor: message
|
||||
}
|
||||
spinner: {
|
||||
font: font
|
||||
fontColor: white
|
||||
disabledFontColor: disabled
|
||||
background: spinner-textfield
|
||||
focusedBackground: spinner-textfield-selected
|
||||
cursor: white
|
||||
selection: highlight
|
||||
messageFont: font
|
||||
messageFontColor: message
|
||||
}
|
||||
}
|
||||
com.badlogic.gdx.scenes.scene2d.ui.TextTooltip$TextTooltipStyle: {
|
||||
default: {
|
||||
label: default
|
||||
background: list
|
||||
}
|
||||
}
|
||||
com.badlogic.gdx.scenes.scene2d.ui.Touchpad$TouchpadStyle: {
|
||||
default: {
|
||||
background: list
|
||||
knob: slider-knob
|
||||
}
|
||||
}
|
||||
com.badlogic.gdx.scenes.scene2d.ui.Window$WindowStyle: {
|
||||
default: {
|
||||
background: window
|
||||
titleFont: window
|
||||
}
|
||||
},
|
||||
|
||||
com.badlogic.gdx.graphics.Color: {
|
||||
white: { r: 1, g: 1, b: 1, a: 1 },
|
||||
gray: { r: 0.5, g: 0.5, b: 0.5, a: 1 },
|
||||
black: { r: 0, g: 0, b: 0, a: 1 },
|
||||
|
||||
up: { r: 0.1, g: 0.1, b: 0.1, a: 1 },
|
||||
over: { r: 0.3, g: 0.3, b: 0.3, a: 1 },
|
||||
down: { r: 0.3, g: 0, b: 0, a: 1 },
|
||||
checked: { r: 0.3, g: 0, b: 0, a: 1 },
|
||||
checkedOver: { r: 0.4, g: 0, b: 0, a: 1 },
|
||||
disabled: { r: 0.4, g: 0.4, b: 0.4, a: 1 },
|
||||
background: { r: 0.2, g: 0.2, b: 0.2, a: 1 },
|
||||
selection: { r: 0.3, g: 0, b: 0, a: 1 },
|
||||
semiTransparent: { r: 0, g: 0, b: 0, a: 0.6 },
|
||||
|
||||
font: white
|
||||
fontOver: white
|
||||
fontDown: gray
|
||||
fontChecked: white
|
||||
fontCheckedOver: white
|
||||
fontDisabled: gray
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.Skin$TintedDrawable: {
|
||||
buttonUp: { name: rect, color: up },
|
||||
buttonOver: { name: rect, color: over },
|
||||
buttonDown: { name: rect, color: down },
|
||||
buttonDisabled: { name: rect, color: disabled },
|
||||
buttonChecked: { name: rect, color: checked },
|
||||
buttonCheckedOver: { name: rect, color: checkedOver },
|
||||
checkBoxOn: { name: check-on, color: up },
|
||||
checkBoxOff: { name: check, color: up },
|
||||
checkBoxOver: { name: check, color: over },
|
||||
checkBoxOnDisabled: { name: check-on, color: disabled },
|
||||
checkBoxOffDisabled: { name: check, color: disabled },
|
||||
icon: { name: check-on, color: font },
|
||||
selection: { name: dot, color: selection },
|
||||
list: { name: rect, color: background },
|
||||
progressHorizontal: { name: line-v, color: up },
|
||||
progressHorizontalKnob: { name: line-v, color: down },
|
||||
progressHorizontalDisabled: { name: line-v, color: disabled },
|
||||
progressHorizontalKnobDisabled: { name: line-v, color: disabled },
|
||||
progressVertical: { name: line-h, color: up },
|
||||
progressVerticalKnob: { name: line-h, color: down },
|
||||
progressVerticalDisabled: { name: line-h, color: disabled },
|
||||
progressVerticalKnobDisabled: { name: line-h, color: disabled },
|
||||
scrollHorizontal: { name: line-v, color: up },
|
||||
scrollVertical: { name: line-h, color: up },
|
||||
scrollKnob: { name: knob-v, color: down },
|
||||
scrollKnobVertical: { name: knob-h, color: down },
|
||||
scrollPane: { name: rect, color: background },
|
||||
selectBox: { name: select, color: up },
|
||||
selectOver: { name: select, color: over },
|
||||
selectDown: { name: select, color: over },
|
||||
selectDisabled: { name: select, color: disabled },
|
||||
selectList: { name: rect, color: over },
|
||||
splitPane: { name: square, color: down },
|
||||
sliderHorizontal: { name: square, color: up },
|
||||
sliderKnob: { name: rect, color: up },
|
||||
sliderKnobOver: { name: rect, color: over },
|
||||
sliderKnobDown: { name: rect, color: down },
|
||||
sliderKnobDisabled: { name: rect, color: disabled },
|
||||
sliderVertical: { name: square, color: up },
|
||||
sliderVerticalKnob: { name: rect, color: up },
|
||||
sliderVerticalKnobOver: { name: rect, color: over },
|
||||
sliderVerticalKnobDown: { name: rect, color: down },
|
||||
sliderVerticalKnobDisabled: { name: rect, color: disabled },
|
||||
textField: { name: rect, color: up },
|
||||
textFieldDown: { name: rect, color: over },
|
||||
textFieldDisabled: { name: rect, color: disabled },
|
||||
textFieldCursor: { name: dot, color: font },
|
||||
tooltip: { name: rect, color: up },
|
||||
touchpad: { name: rect, color: over },
|
||||
touchpadKnob: { name: check-on, color: down },
|
||||
tree: { name: rect, color: background },
|
||||
treeOver: { name: dot, color: over },
|
||||
treeMinus: { name: tree-minus, color: up },
|
||||
treePlus: { name: tree-plus, color: up },
|
||||
window: { name: rect, color: background },
|
||||
windowResize: { name: window-resize, color: background },
|
||||
windowBorder: { name: window-border, color: background },
|
||||
alpha: { name: dot, color: semiTransparent }
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.Button$ButtonStyle: {
|
||||
default: { up: buttonUp, over: buttonOver, down: buttonDown, disabled: buttonDisabled },
|
||||
toggle: { up: buttonUp, over: buttonOver, down: buttonDown, checked: buttonChecked, checkedOver: buttonCheckedOver, disabled: buttonDisabled }
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.CheckBox$CheckBoxStyle: {
|
||||
default: { checkboxOn: checkBoxOn, checkboxOff: checkBoxOff, checkboxOver: checkBoxOver, checkboxOnDisabled: checkBoxOnDisabled,
|
||||
checkboxOffDisabled: checkBoxOffDisabled, font: default, fontColor: font, overFontColor: fontOver, downFontColor: fontDown,
|
||||
checkedFontColor: fontChecked, checkedOverFontColor: fontCheckedOver, disabledFontColor: fontDisabled, pressedOffsetY: -1, pressedOffsetX: 1 }
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.ImageButton$ImageButtonStyle: {
|
||||
default: { up: buttonUp, over: buttonOver, down: buttonDown, disabled: buttonDisabled, imageUp: icon }
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.ImageTextButton$ImageTextButtonStyle: {
|
||||
default: { up: buttonUp, over: buttonOver, down: buttonDown, disabled: buttonDisabled, font: default, fontColor: font,
|
||||
overFontColor: fontOver, downFontColor: fontDown, disabledFontColor: fontDisabled, pressedOffsetY: -1, pressedOffsetX: 1, imageUp: icon }
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.Label$LabelStyle: {
|
||||
default: { font: default, fontColor: font },
|
||||
white: { font: default, fontColor: white }
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.List$ListStyle: {
|
||||
default: { fontColorUnselected: font, selection: selection, fontColorSelected: fontDown, font: default },
|
||||
background: { background: list, fontColorUnselected: font, selection: selection, fontColorSelected: fontDown, font: default }
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.ProgressBar$ProgressBarStyle: {
|
||||
default-horizontal: { background: progressHorizontal, knobBefore: progressHorizontalKnob,
|
||||
disabledBackground: progressHorizontalDisabled, disabledKnobBefore: progressHorizontalKnobDisabled },
|
||||
default-vertical: { background: progressVertical, knobBefore: progressVerticalKnob,
|
||||
disabledBackground: progressVerticalDisabled, disabledKnobBefore: progressVerticalKnobDisabled }
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.ScrollPane$ScrollPaneStyle: {
|
||||
default: { hScrollKnob: scrollKnob, vScrollKnob: scrollKnobVertical, hScroll: scrollHorizontal, vScroll: scrollVertical },
|
||||
clean: { hScrollKnob: scrollKnob, vScrollKnob: scrollKnobVertical },
|
||||
background: { background: scrollPane, hScrollKnob: scrollKnob, vScrollKnob: scrollKnobVertical, hScroll: scrollHorizontal, vScroll: scrollVertical }
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.SelectBox$SelectBoxStyle: {
|
||||
default: { font: default, fontColor: font, disabledFontColor: fontDisabled, background: selectBox, backgroundOver: selectOver,
|
||||
backgroundOpen: selectDown, backgroundDisabled: selectDisabled, scrollStyle: default, listStyle:
|
||||
{ background: selectList, fontColorUnselected: font, selection: selection, fontColorSelected: fontDown, font: default }
|
||||
}
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.Slider$SliderStyle: {
|
||||
default-horizontal: { background: sliderHorizontal, knob: sliderKnob, knobOver: sliderKnobOver, knobDown: sliderKnobDown,
|
||||
disabledKnob: sliderKnobDisabled },
|
||||
default-vertical: { background: sliderVertical, knob: sliderVerticalKnob, knobOver: sliderVerticalKnobOver,
|
||||
knobDown: sliderVerticalKnobDown, disabledKnob: sliderVerticalKnobDisabled }
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.SplitPane$SplitPaneStyle: {
|
||||
default-vertical: { handle: splitPane },
|
||||
default-horizontal: { handle: splitPane }
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.TextButton$TextButtonStyle: {
|
||||
default: { up: buttonUp, over: buttonOver, down: buttonDown, disabled: buttonDisabled, font: default, fontColor: font,
|
||||
overFontColor: fontOver, downFontColor: fontDown, disabledFontColor: fontDisabled, pressedOffsetY: -1, pressedOffsetX: 1 },
|
||||
toggle: { up: buttonUp, over: buttonOver, down: buttonDown, checked: buttonChecked, checkedOver: buttonCheckedOver,
|
||||
disabled: buttonDisabled, font: default, fontColor: font, overFontColor: fontOver, downFontColor: fontDown, disabledFontColor:
|
||||
fontDisabled, checkedFontColor: fontChecked, checkedOverFontColor: fontCheckedOver, pressedOffsetY: -1, pressedOffsetX: 1 },
|
||||
text: { font: default, fontColor: up, overFontColor: over, downFontColor: down, disabledFontColor: disabled,
|
||||
pressedOffsetY: -1, pressedOffsetX: 1 },
|
||||
textToggle: { font: default, fontColor: up, overFontColor: over, downFontColor: down, disabledFontColor:
|
||||
disabled, checkedFontColor: font, checkedOverFontColor: fontOver, pressedOffsetY: -1, pressedOffsetX: 1 }
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.TextField$TextFieldStyle: {
|
||||
default: { font: default, messageFont: default, fontColor: font, focusedFontColor: fontOver, disabledFontColor: fontDisabled,
|
||||
messageFontColor: fontDown, background: textField, focusedBackground: textFieldDown, disabledBackground: textFieldDisabled,
|
||||
cursor: textFieldCursor, selection: selection }
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.TextTooltip$TextTooltipStyle: {
|
||||
default: { label: default, background: tooltip }
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.Touchpad$TouchpadStyle: {
|
||||
default: { background: touchpad, knob: touchpadKnob }
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.Tree$TreeStyle: {
|
||||
default: { minus: treeMinus, plus: treePlus, selection: selection, over: treeOver },
|
||||
background: { background: tree, minus: treeMinus, plus: treePlus, selection: selection, over: treeOver }
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.Window$WindowStyle: {
|
||||
default: { titleFont: default, background: window, titleFontColor: fontDisabled },
|
||||
resize: { titleFont: default, background: windowResize, titleFontColor: fontDisabled },
|
||||
border: { titleFont: default, background: windowBorder, titleFontColor: fontDisabled },
|
||||
dialog: { titleFont: default, background: window, titleFontColor: fontDisabled, stageBackground: alpha }
|
||||
}
|
||||
}
|
BIN
assets/ui/uiskin.png
Normal file
After Width: | Height: | Size: 43 KiB |
109
build.gradle
Normal file
@ -0,0 +1,109 @@
|
||||
buildscript {
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven { url 'https://s01.oss.sonatype.org' }
|
||||
maven { url 'https://repo.openeggbert.com' }
|
||||
gradlePluginPortal()
|
||||
mavenLocal()
|
||||
google()
|
||||
maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
|
||||
maven { url 'https://s01.oss.sonatype.org/content/repositories/snapshots/' }
|
||||
maven { url 'https://repo.openeggbert.com/releases/' }
|
||||
maven { url 'https://repo.openeggbert.com/snapshots/' }
|
||||
}
|
||||
dependencies {
|
||||
classpath "com.android.tools.build:gradle:8.1.4"
|
||||
classpath "io.freefair.gradle:lombok-plugin:8.3"
|
||||
classpath "org.docstr:gwt-gradle-plugin:$gwtPluginVersion"
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
allprojects {
|
||||
apply plugin: 'eclipse'
|
||||
apply plugin: 'idea'
|
||||
|
||||
// This allows you to "Build and run using IntelliJ IDEA", an option in IDEA's Settings.
|
||||
idea {
|
||||
module {
|
||||
outputDir file('build/classes/java/main')
|
||||
testOutputDir file('build/classes/java/test')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
configure(subprojects - project(':android')) {
|
||||
apply plugin: 'java-library'
|
||||
apply plugin: 'io.freefair.lombok'
|
||||
sourceCompatibility = 11
|
||||
compileJava {
|
||||
options.incremental = true
|
||||
}
|
||||
// From https://lyze.dev/2021/04/29/libGDX-Internal-Assets-List/
|
||||
// The article can be helpful when using assets.txt in your project.
|
||||
tasks.register('generateAssetList') {
|
||||
inputs.dir("${project.rootDir}/assets/")
|
||||
// projectFolder/assets
|
||||
File assetsFolder = new File("${project.rootDir}/assets/")
|
||||
// projectFolder/assets/assets.txt
|
||||
File assetsFile = new File(assetsFolder, "assets.txt")
|
||||
File assets_File = new File(assetsFolder, "assets_.txt")
|
||||
// delete that file in case we've already created it
|
||||
assetsFile.delete()
|
||||
assets_File.delete()
|
||||
|
||||
// iterate through all files inside that folder
|
||||
// convert it to a relative path
|
||||
// and append it to the file assets.txt
|
||||
fileTree(assetsFolder).collect { assetsFolder.relativePath(it) }.each {
|
||||
assetsFile.append(it + "\n")
|
||||
assets_File.append(it + "\n")
|
||||
}
|
||||
|
||||
}
|
||||
processResources.dependsOn 'generateAssetList'
|
||||
|
||||
task copyAssetsTxt {
|
||||
doLast {
|
||||
def sourceFile = file('assets/assets.txt')
|
||||
def targetFile = file('assets/assets_.txt')
|
||||
|
||||
if (sourceFile.exists()) {
|
||||
targetFile.text = sourceFile.text
|
||||
println "Successfully copied assets.txt to assets_.txt"
|
||||
} else {
|
||||
println "Source file assets.txt does not exist"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
processResources.dependsOn generateAssetList
|
||||
|
||||
|
||||
compileJava {
|
||||
options.incremental = true
|
||||
}
|
||||
}
|
||||
|
||||
subprojects {
|
||||
version = '0.0.0-SNAPSHOT'
|
||||
ext.appName = 'open-eggbert'
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven { url 'https://s01.oss.sonatype.org' }
|
||||
// You may want to remove the following line if you have errors downloading dependencies.
|
||||
mavenLocal()
|
||||
maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
|
||||
maven { url 'https://s01.oss.sonatype.org/content/repositories/snapshots/' }
|
||||
maven { url 'https://jitpack.io' }
|
||||
maven { url 'https://teavm.org/maven/repository/' }
|
||||
|
||||
maven { url 'https://repo.openeggbert.com' }
|
||||
maven { url 'https://repo.openeggbert.com/releases/' }
|
||||
maven { url 'https://repo.openeggbert.com/snapshots/' }
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
eclipse.project.name = 'open-eggbert' + '-parent'
|
10
build.sh
@ -1,4 +1,6 @@
|
||||
mkdir dist
|
||||
rm dist/openeggbert.jar
|
||||
mvn clean install
|
||||
mv target/open-eggbert-0.0.0-SNAPSHOT-jar-with-dependencies.jar dist/openeggbert.jar
|
||||
|
||||
if [ `whoami` = "robertvokac" ]; then
|
||||
export JAVA_HOME=/home/robertvokac/Desktop/jdk-17.0.2/
|
||||
fi
|
||||
|
||||
./gradlew build $1
|
1
build_desktop.sh
Executable file
@ -0,0 +1 @@
|
||||
./gradlew lwjgl3:dist
|
1
build_html.sh
Executable file
@ -0,0 +1 @@
|
||||
./gradlew html:dist
|
35
core/build.gradle
Normal file
@ -0,0 +1,35 @@
|
||||
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
|
||||
eclipse.project.name = appName + '-core'
|
||||
|
||||
sourceSets.test.java.srcDirs = [ "src/test/java/" ]
|
||||
|
||||
dependencies {
|
||||
api "com.badlogicgames.gdx-controllers:gdx-controllers-core:$gdxControllersVersion"
|
||||
api "com.badlogicgames.gdx:gdx-ai:$aiVersion"
|
||||
api "com.badlogicgames.gdx:gdx-box2d:$gdxVersion"
|
||||
api "com.badlogicgames.gdx:gdx:$gdxVersion"
|
||||
api "com.github.MrStahlfelge.gdx-websockets:core:$websocketVersion"
|
||||
api "com.github.MrStahlfelge.gdx-websockets:serialization:$websocketSerializationVersion"
|
||||
api "com.github.crykn.guacamole:core:$guacamoleVersion"
|
||||
api "com.github.crykn.guacamole:gdx:$guacamoleVersion"
|
||||
api "com.github.tommyettinger:formic:$formicVersion"
|
||||
api "com.github.tommyettinger:libgdx-utils-box2d:$utilsBox2dVersion"
|
||||
api "com.github.tommyettinger:libgdx-utils:$utilsVersion"
|
||||
api "de.golfgl.gdxcontrollerutils:gdx-controllerutils-mapping:$controllerMappingVersion"
|
||||
api "games.rednblack.miniaudio:miniaudio:$miniaudioVersion"
|
||||
//api "com.openeggbert.gdx:gdx-storage:0.0.0-SNAPSHOT"
|
||||
annotationProcessor "org.projectlombok:lombok:$lombokVersion"
|
||||
compileOnly "org.projectlombok:lombok:$lombokVersion"
|
||||
testImplementation "org.junit.jupiter:junit-jupiter-api:5.10.3"
|
||||
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.10.3"
|
||||
api "com.pixelgamelibrary:pixel:$pixelVersion"
|
||||
|
||||
if(enableGraalNative == 'true') {
|
||||
implementation "io.github.berstanio:gdx-svmhelper-annotations:$graalHelperVersion"
|
||||
}
|
||||
}
|
||||
|
||||
test {
|
||||
useJUnitPlatform {
|
||||
}
|
||||
}
|
@ -0,0 +1,90 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
package com.openeggbert.core.configuration;
|
||||
|
||||
import com.openeggbert.core.main.OpenEggbertException;
|
||||
import com.pixelgamelibrary.api.Pixel;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
@ToString
|
||||
public class ConfigDef {
|
||||
|
||||
private Map<String,String> map = new HashMap<>();
|
||||
|
||||
public ConfigDef(String textContentofConfigDefFile) {
|
||||
Pixel.utils().splitStringToLinesAsStream(textContentofConfigDefFile)
|
||||
.filter(l -> !l.trim().isEmpty())
|
||||
.filter(l -> !l.trim().startsWith(HASH_CHARACTER))
|
||||
.filter(l -> l.contains(EQUALS_CHARACTER))
|
||||
.forEach(line -> {
|
||||
String[] array = line.split(EQUALS_CHARACTER);
|
||||
String key = array[0];
|
||||
String value = array[1];
|
||||
map.put(key, value);
|
||||
});
|
||||
}
|
||||
private static final String HASH_CHARACTER = "#";
|
||||
private static final String EQUALS_CHARACTER = "=";
|
||||
|
||||
public boolean isFullscreen() {
|
||||
return getMandatoryBooleanProperty(ConfigDefKey.FULLSCREEN);
|
||||
|
||||
}
|
||||
|
||||
public boolean isStrictCompatibility() {
|
||||
return getOptionalBooleanProperty(ConfigDefKey.STRICT_COMPATIBILITY, false);
|
||||
|
||||
}
|
||||
private boolean getMandatoryBooleanProperty(ConfigDefKey configDefKey) {
|
||||
String key = configDefKey.getKey();
|
||||
if (!map.containsKey(key)) {
|
||||
throw new OpenEggbertException("Fatal error: CONFIG.DEF is missing key: " + key);
|
||||
}
|
||||
return convertStringToBoolean(map.get(configDefKey.getKey()));
|
||||
}
|
||||
|
||||
private boolean getOptionalBooleanProperty(ConfigDefKey configDefKey, boolean defaultValue) {
|
||||
String key = configDefKey.getKey();
|
||||
if (!map.containsKey(key)) {
|
||||
return defaultValue;
|
||||
}
|
||||
return getMandatoryBooleanProperty(configDefKey);
|
||||
}
|
||||
|
||||
private static boolean convertStringToBoolean(String string) {
|
||||
if (string.equals("1")) {
|
||||
return true;
|
||||
}
|
||||
if (string.equals("0")) {
|
||||
return false;
|
||||
}
|
||||
throw new OpenEggbertException("Could not convert String to boolean: " + string);
|
||||
}
|
||||
public String toPropertiesText() {
|
||||
throw new OpenEggbertException("Not yet implemented.");
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,48 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
package com.openeggbert.core.configuration;
|
||||
|
||||
import com.openeggbert.core.release.Release;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public enum ConfigDefKey {
|
||||
FULLSCREEN("FullScreen", new Release[]{Release.SPEEDY_BLUPI_DEMO}),
|
||||
STRICT_COMPATIBILITY("StrictCompatibility", new Release[]{Release.OPEN_EGGBERT_3});
|
||||
|
||||
@Getter
|
||||
private String key;
|
||||
@Getter
|
||||
private final List<Release> featureLevels;
|
||||
ConfigDefKey(String keyIn, Release[] featureLevelsIn) {
|
||||
this.key = keyIn;
|
||||
List<Release> list = Arrays.asList(featureLevelsIn);
|
||||
Stream<Release> stream = list.stream();
|
||||
this.featureLevels = stream.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
package com.openeggbert.core.configuration;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public interface IsThisFeatureEnabledForStrictMode {
|
||||
boolean isThisFeatureEnabledForStrictMode();
|
||||
|
||||
}
|
@ -17,14 +17,12 @@
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
package com.openeggbert.entity.common;
|
||||
package com.openeggbert.core.configuration;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public enum EggbertSound {
|
||||
public class Language {
|
||||
|
||||
}
|
@ -0,0 +1,82 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
package com.openeggbert.core.configuration;
|
||||
|
||||
import com.pixelgamelibrary.api.Pixel;
|
||||
import com.openeggbert.core.main.OpenEggbertException;
|
||||
import com.pixelgamelibrary.api.ViewMode;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public enum OpenEggbertDisplayMode {
|
||||
WINDOW, FULLSCREEN;
|
||||
|
||||
public static OpenEggbertDisplayMode setDisplayModeFromConfig(ConfigDef configDef) {
|
||||
if (configDef == null) {
|
||||
return OpenEggbertDisplayMode.WINDOW;
|
||||
}
|
||||
final OpenEggbertDisplayMode fromConfigDef = fromConfigDef(configDef);
|
||||
setDisplayMode(fromConfigDef);
|
||||
return fromConfigDef;
|
||||
}
|
||||
|
||||
public static OpenEggbertDisplayMode fromConfigDef(ConfigDef configDef) {
|
||||
return configDef.isFullscreen() ? FULLSCREEN : WINDOW;
|
||||
}
|
||||
|
||||
public static void setDisplayModeToFullscreen() {
|
||||
setDisplayMode(FULLSCREEN);
|
||||
}
|
||||
|
||||
public static void setDisplayModeToWindow() {
|
||||
setDisplayMode(WINDOW);
|
||||
}
|
||||
|
||||
public static OpenEggbertDisplayMode find(boolean fullscreen, boolean window) {
|
||||
if (fullscreen && window) {
|
||||
throw new OpenEggbertException("Both arguments fullscreen and window are true.");
|
||||
}
|
||||
if (!fullscreen && !window) {
|
||||
throw new OpenEggbertException("Both arguments fullscreen and window are false.");
|
||||
}
|
||||
if (fullscreen) {
|
||||
return FULLSCREEN;
|
||||
} else {
|
||||
return WINDOW;
|
||||
}
|
||||
}
|
||||
|
||||
public static void setDisplayMode(OpenEggbertDisplayMode displayMode) {
|
||||
Pixel.graphics().getMonitor().setViewMode(displayMode == FULLSCREEN ? ViewMode.FULLSCREEN : ViewMode.WINDOW);
|
||||
}
|
||||
|
||||
public OpenEggbertDisplayMode flip() {
|
||||
if (this == OpenEggbertDisplayMode.FULLSCREEN) {
|
||||
return OpenEggbertDisplayMode.WINDOW;
|
||||
|
||||
}
|
||||
if (this == OpenEggbertDisplayMode.WINDOW) {
|
||||
return FULLSCREEN;
|
||||
}
|
||||
throw new OpenEggbertException("Unsupported DisplayMode: " + this);
|
||||
}
|
||||
}
|
@ -0,0 +1,50 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
package com.openeggbert.core.configuration;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public enum VirtualScreenResolution implements IsThisFeatureEnabledForStrictMode {
|
||||
VGA(640,480,true),
|
||||
QUAD_VGA(1280, 960, false),
|
||||
CURRENT(0, 0, false);
|
||||
@Getter
|
||||
private boolean enabledInCaseOfStrictMode;
|
||||
@Getter
|
||||
private int width;
|
||||
@Getter
|
||||
private int height;
|
||||
VirtualScreenResolution(int width, int height, boolean enabledInCaseOfStrictMode) {
|
||||
this.width = width;
|
||||
this.height = height;
|
||||
this.enabledInCaseOfStrictMode = enabledInCaseOfStrictMode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isThisFeatureEnabledForStrictMode() {
|
||||
return enabledInCaseOfStrictMode;
|
||||
}
|
||||
}
|
@ -19,9 +19,9 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
package com.openeggbert.entity.common;
|
||||
package com.openeggbert.core.game;
|
||||
|
||||
import com.openeggbert.entity.common.compatibility.CompatibilityMode;
|
||||
import com.openeggbert.core.release.Release;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
@ -30,17 +30,17 @@ import lombok.Getter;
|
||||
*/
|
||||
public enum Cheat {
|
||||
|
||||
MEGABLUPI(Utils.ALL__COMPATIBILITY_MODES);
|
||||
MEGABLUPI(Release.ALL_RELEASES);
|
||||
//todo
|
||||
|
||||
@Getter
|
||||
private final CompatibilityMode[] compatibilityModes;
|
||||
private final Release[] compatibilityModes;
|
||||
@Getter
|
||||
private String note;
|
||||
Cheat (CompatibilityMode[] compatibilityModes) {
|
||||
Cheat (Release[] compatibilityModes) {
|
||||
this(compatibilityModes, "");
|
||||
}
|
||||
Cheat (CompatibilityMode[] compatibilityModes, String note) {
|
||||
Cheat (Release[] compatibilityModes, String note) {
|
||||
this.compatibilityModes = compatibilityModes;
|
||||
this.note = note;
|
||||
}
|
@ -19,7 +19,7 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
package com.openeggbert.entity.common;
|
||||
package com.openeggbert.core.game;
|
||||
|
||||
/**
|
||||
*
|
@ -19,12 +19,12 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
package com.openeggbert.entity.gameplay;
|
||||
package com.openeggbert.core.game;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public class Eggbert {
|
||||
public enum PlayerState {
|
||||
|
||||
}
|
@ -19,7 +19,7 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
package com.openeggbert.entity.common;
|
||||
package com.openeggbert.core.game;
|
||||
|
||||
/**
|
||||
*
|
@ -0,0 +1,51 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
package com.openeggbert.core.gamespace;
|
||||
|
||||
import lombok.Getter;
|
||||
import com.openeggbert.core.configuration.IsThisFeatureEnabledForStrictMode;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public enum GameDirectoryType implements IsThisFeatureEnabledForStrictMode{
|
||||
DATA(true),
|
||||
IMAGE(true),
|
||||
IMAGE08(true),
|
||||
IMAGE16(true),
|
||||
IMAGE24(false),
|
||||
IMAGE24X2(false),
|
||||
SOUND(true),
|
||||
TEXT(false),
|
||||
MOD(false),
|
||||
;
|
||||
@Getter
|
||||
private final boolean enabledInCaseOfStrictMode;
|
||||
|
||||
GameDirectoryType(boolean enabledInCaseOfStrictMode) {
|
||||
this.enabledInCaseOfStrictMode = enabledInCaseOfStrictMode;
|
||||
}
|
||||
@Override
|
||||
public boolean isThisFeatureEnabledForStrictMode() {
|
||||
return enabledInCaseOfStrictMode;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,29 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.openeggbert.core.gamespace;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public enum GameFileType {
|
||||
CONFIG, WORLD, DEMO, SAVE, USER_INFO, MUSIC, SOUND, IMAGE8, IMAGE16, IMAGE32;
|
||||
}
|
@ -0,0 +1,77 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
package com.openeggbert.core.gamespace;
|
||||
|
||||
import com.openeggbert.core.release.Release;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
public class GameSpace {
|
||||
|
||||
private boolean embeddedAssets;
|
||||
private Release featureLevel;
|
||||
private String dataDirectory;
|
||||
private String image08Directory;
|
||||
private String image16Directory;
|
||||
private String image24Directory;
|
||||
private String image24x2Directory;
|
||||
private String soundDirectory;
|
||||
private String currentDirectory;
|
||||
|
||||
public GameSpace() {
|
||||
|
||||
}
|
||||
|
||||
|
||||
public boolean isValid() {
|
||||
if (featureLevel == null) {
|
||||
return false;
|
||||
}
|
||||
if (dataDirectory == null) {
|
||||
return false;
|
||||
}
|
||||
if (image08Directory == null && image16Directory == null && image24Directory == null && image24x2Directory == null) {
|
||||
return false;
|
||||
}
|
||||
if (soundDirectory == null) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("featureLevel=" + featureLevel).append(" ");
|
||||
sb.append("data=" + dataDirectory).append(" ");
|
||||
sb.append("image08=" + image08Directory).append(" ");
|
||||
sb.append("image16=" + image16Directory).append(" ");
|
||||
sb.append("image24=" + image24Directory).append(" ");
|
||||
sb.append("image24x2=" + image24x2Directory).append(" ");
|
||||
sb.append("image24x2=" + image24x2Directory).append(" ");
|
||||
sb.append("sound=" + soundDirectory);
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
package com.openeggbert.core.gamespace;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@Getter
|
||||
public class ImageDirectories {
|
||||
public static final ImageDirectories DEFAULT = new ImageDirectories(GameDirectoryType.IMAGE08, GameDirectoryType.IMAGE16, null, null);
|
||||
private final GameDirectoryType image08;
|
||||
private final GameDirectoryType image16;
|
||||
private final GameDirectoryType image24;
|
||||
private final GameDirectoryType image24x2;
|
||||
|
||||
}
|
@ -0,0 +1,53 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
package com.openeggbert.core.image;
|
||||
|
||||
import lombok.Getter;
|
||||
import com.openeggbert.core.configuration.IsThisFeatureEnabledForStrictMode;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public enum ImageFormat implements IsThisFeatureEnabledForStrictMode{
|
||||
BLP("blp", true),
|
||||
BMP("bmp", false),
|
||||
PNG("png", false),
|
||||
JPEG("jpeg", false)
|
||||
;
|
||||
@Getter
|
||||
private final String fileExtension;
|
||||
@Getter
|
||||
private final boolean enabledInCaseOfStrictMode;
|
||||
|
||||
ImageFormat(String fileExtensionIn, boolean enabledInCaseOfStrictMode) {
|
||||
this.fileExtension = fileExtensionIn;
|
||||
this.enabledInCaseOfStrictMode = enabledInCaseOfStrictMode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isThisFeatureEnabledForStrictMode() {
|
||||
return enabledInCaseOfStrictMode;
|
||||
}
|
||||
public ImageFormat getTargetFormat() {
|
||||
return this == BLP ? BMP : this;
|
||||
}
|
||||
|
||||
}
|
@ -17,24 +17,26 @@
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
package com.openeggbert.core.image;
|
||||
|
||||
|
||||
package com.openeggbert.entity.common;
|
||||
|
||||
import com.openeggbert.entity.common.compatibility.CompatibilityMode;
|
||||
import com.openeggbert.entity.common.compatibility.GraphicsMode;
|
||||
import com.openeggbert.entity.common.compatibility.ResolutionMode;
|
||||
import lombok.Data;
|
||||
import lombok.Getter;
|
||||
import com.openeggbert.core.configuration.IsThisFeatureEnabledForStrictMode;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
@Data
|
||||
public class GameExecution {
|
||||
private CompatibilityMode compatibilityMode;
|
||||
private ResolutionMode resolutionMode = ResolutionMode.RESOLUTION_640_480;
|
||||
private GraphicsMode graphicsMode = GraphicsMode.ORIGINAL;
|
||||
private Boolean cheatsEnabled = true;
|
||||
public enum ImageResolution implements IsThisFeatureEnabledForStrictMode{
|
||||
NORMAL(true), DOUBLE(false);
|
||||
@Getter
|
||||
private final boolean enabledInCaseOfStrictMode;
|
||||
ImageResolution(boolean enabledInCaseOfStrictMode) {
|
||||
this.enabledInCaseOfStrictMode = enabledInCaseOfStrictMode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isThisFeatureEnabledForStrictMode() {
|
||||
return enabledInCaseOfStrictMode;
|
||||
}
|
||||
|
||||
}
|
@ -18,13 +18,14 @@
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.openeggbert.core.image;
|
||||
|
||||
package com.openeggbert.entity.common;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public enum EggbertMusic {
|
||||
public enum ImageType {
|
||||
SPRITE, SCREEN_BACKGROUND;
|
||||
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
package com.openeggbert.core.image;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public class TextureManager {
|
||||
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.11.0//EN" "https://www.gwtproject.org/doctype/2.11.0/gwt-module.dtd">
|
||||
<module>
|
||||
<!-- Paths to source are relative to this file and separated by slashes ('/'). -->
|
||||
<source path="" />
|
||||
<!-- Reflection includes may be needed for your code or library code. Each value is separated by periods ('.'). -->
|
||||
<!-- You can include a full package by not including the name of a type at the end. -->
|
||||
|
||||
</module>
|
@ -0,0 +1,57 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
package com.openeggbert.core.main;
|
||||
|
||||
import com.openeggbert.core.gamespace.GameSpace;
|
||||
import com.pixelgamelibrary.api.PixelApplication;
|
||||
import java.util.Map;
|
||||
import com.pixelgamelibrary.api.game.Game;
|
||||
|
||||
/**
|
||||
* {@link com.pixelgamelibrary.api.PixelApplication} implementation shared by all
|
||||
* platforms.
|
||||
*/
|
||||
public class OpenEggbertApplication extends PixelApplication {
|
||||
|
||||
private static final String GAME_SPACE = "gameSpace";
|
||||
private static final String ABSOLUTE_PATH_OF_ROOT_DIRECTORY_IN = "absolutePathOfRootDirectoryIn";
|
||||
|
||||
@Override
|
||||
public Game createGameViaMap(Map<String, Object> objects) {
|
||||
|
||||
String absolutePathOfRootDirectoryIn = null;
|
||||
GameSpace gameSpace = null;
|
||||
if (objects.containsKey(ABSOLUTE_PATH_OF_ROOT_DIRECTORY_IN)) {
|
||||
absolutePathOfRootDirectoryIn = (String) objects.get(ABSOLUTE_PATH_OF_ROOT_DIRECTORY_IN);
|
||||
}
|
||||
if (objects.containsKey(GAME_SPACE)) {
|
||||
gameSpace = (GameSpace) objects.get(GAME_SPACE);
|
||||
}
|
||||
|
||||
if (absolutePathOfRootDirectoryIn != null) {
|
||||
|
||||
return gameSpace == null ? new OpenEggbertGame(absolutePathOfRootDirectoryIn) : new OpenEggbertGame(gameSpace, absolutePathOfRootDirectoryIn);
|
||||
} else {
|
||||
return new OpenEggbertGame();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.openeggbert.core.main;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public class OpenEggbertException extends RuntimeException{
|
||||
|
||||
public OpenEggbertException(String string) {
|
||||
super(string);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,170 @@
|
||||
package com.openeggbert.core.main;
|
||||
|
||||
import com.openeggbert.core.configuration.ConfigDef;
|
||||
import com.openeggbert.core.configuration.OpenEggbertDisplayMode;
|
||||
import com.openeggbert.core.gamespace.GameSpace;
|
||||
import com.openeggbert.core.mod.Mod;
|
||||
import com.openeggbert.core.mod.ModIdentification;
|
||||
import com.openeggbert.core.screen.GameSpaceListScreen;
|
||||
import com.openeggbert.core.screen.InitScreen;
|
||||
import com.openeggbert.core.utils.OpenEggbertUtils;
|
||||
import com.pixelgamelibrary.api.game.GameAdapter;
|
||||
import com.pixelgamelibrary.api.Pixel;
|
||||
import com.pixelgamelibrary.api.graphics.BitmapFont;
|
||||
import com.pixelgamelibrary.api.graphics.SpriteBatch;
|
||||
import com.pixelgamelibrary.api.graphics.Texture;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import lombok.Data;
|
||||
import com.pixelgamelibrary.api.files.File;
|
||||
import com.pixelgamelibrary.api.graphics.ShapeRenderer;
|
||||
import com.pixelgamelibrary.api.utils.collections.Map;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
@Data
|
||||
public class OpenEggbertGame extends GameAdapter {
|
||||
|
||||
private Texture image;
|
||||
private GameSpace gameSpace = null;
|
||||
private String absolutePathOfRootDirectory;
|
||||
|
||||
private SpriteBatch batch;
|
||||
@Getter
|
||||
private ShapeRenderer shapeRenderer;
|
||||
private BitmapFont font;
|
||||
private Map<String, Texture> imageTextures = Pixel.utils().collections().objectMap();
|
||||
private List<Mod> embeddedMods = Pixel.utils().collections().list();
|
||||
private int heightInPixels = 480;
|
||||
private int widthInPixels = 640;
|
||||
|
||||
private ConfigDef configDef;
|
||||
private OpenEggbertDisplayMode openEggbertDisplayMode = OpenEggbertDisplayMode.WINDOW;
|
||||
|
||||
public OpenEggbertGame() {
|
||||
this(null, null);
|
||||
}
|
||||
|
||||
public OpenEggbertGame(String absolutePathOfRootDirectoryIn) {
|
||||
this(null, absolutePathOfRootDirectoryIn);
|
||||
}
|
||||
|
||||
public OpenEggbertGame(GameSpace gameSpace, String absolutePathOfRootDirectoryIn) {
|
||||
this.gameSpace = gameSpace;
|
||||
this.absolutePathOfRootDirectory = absolutePathOfRootDirectoryIn;
|
||||
Pixel.app().setGame(this);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void create() {
|
||||
System.out.println("Searching mods");
|
||||
|
||||
// for(FileHandle f:Gdx.files.internal(".").list()) {
|
||||
// System.out.println("assets contains also: " + f.name());
|
||||
// }
|
||||
com.pixelgamelibrary.api.files.File embeddedModsDirectory = Pixel.files().assets("/embedded_mods");
|
||||
System.out.println("embeddedModsDirectory.exists=" + embeddedModsDirectory.exists());
|
||||
System.out.println("embeddedModsDirectory.list().size()=" + embeddedModsDirectory.list().size());
|
||||
embeddedModsDirectory.list().forEach(e -> System.out.println(e.path()));
|
||||
|
||||
Pixel.files().assetsFileSystem().list().forEach(e -> System.out.println(e));
|
||||
|
||||
for (File embeddedModGroup : embeddedModsDirectory.list()) {
|
||||
if (embeddedModGroup.name().equals("README.md")) {
|
||||
continue;
|
||||
}
|
||||
System.out.println("Found group " + embeddedModGroup.name());
|
||||
for (File embeddedMod : embeddedModGroup.list()) {
|
||||
if (embeddedMod.name().equals("README.md")) {
|
||||
continue;
|
||||
}
|
||||
System.out.println("Found mod " + embeddedMod.name());
|
||||
|
||||
File modXml = null;
|
||||
for (File file : embeddedMod.list()) {
|
||||
if (file.name().equals("mod.xml")) {
|
||||
modXml = file;
|
||||
}
|
||||
}
|
||||
|
||||
if (modXml == null) {
|
||||
continue;
|
||||
}
|
||||
System.out.println("Found mod: " + embeddedMod.name());
|
||||
|
||||
Mod mod = new Mod(modXml.readString());
|
||||
embeddedMods.add(mod);
|
||||
System.out.println("embeddedMods.size(): " + embeddedMods.size());
|
||||
// for (int i = 0; i < 42; i++) embeddedMods.add(mod);//for testing purposes
|
||||
}
|
||||
|
||||
}
|
||||
////
|
||||
batch = Pixel.graphics().newSpriteBatch();
|
||||
//batch.setProjectionMatrix(viewport.getCamera().combined);
|
||||
image = Pixel.graphics().newTexture("libgdx.png");
|
||||
shapeRenderer = batch.drawShape();
|
||||
font = Pixel.graphics().newBitmapFont(
|
||||
Pixel.files().assets("com/badlogic/gdx/utils/lsans-15.fnt"), Pixel.files().assets("com/badlogic/gdx/utils/lsans-15.png"),
|
||||
false
|
||||
);
|
||||
|
||||
System.out.println("Going to set screen");
|
||||
setScreen(gameSpace == null ? new GameSpaceListScreen(this) : new InitScreen(this));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dispose() {
|
||||
batch.dispose();
|
||||
image.dispose();
|
||||
|
||||
shapeRenderer.dispose();
|
||||
font.dispose();
|
||||
for (String key : imageTextures.keySet()) {
|
||||
imageTextures.get(key).dispose();
|
||||
}
|
||||
}
|
||||
|
||||
public void loadImageTexture(File fileHandle) {
|
||||
Texture texture = Pixel.graphics().newTexture(fileHandle);
|
||||
if(!fileHandle.exists()) {
|
||||
throw new OpenEggbertException("File does not exist: " + fileHandle.path());
|
||||
}
|
||||
imageTextures.put(OpenEggbertUtils.getFileNameWithoutExtension(fileHandle.name().toUpperCase()), texture);
|
||||
}
|
||||
|
||||
public boolean existsImageTexture(String key) {
|
||||
return imageTextures.containsKey(key);
|
||||
}
|
||||
|
||||
public void disposeImageTexture(String key) {
|
||||
if (imageTextures.containsKey(key)) {
|
||||
imageTextures.get(key).dispose();
|
||||
imageTextures.remove(key);
|
||||
}
|
||||
}
|
||||
|
||||
public void disposeImageTextures() {
|
||||
for (String key : imageTextures.keySet()) {
|
||||
imageTextures.get(key).dispose();
|
||||
imageTextures.remove(key);
|
||||
}
|
||||
}
|
||||
|
||||
public Optional<Texture> getImageTexture(String key) {
|
||||
if (imageTextures.containsKey(key)) {
|
||||
return Optional.of(imageTextures.get(key));
|
||||
} else {
|
||||
return Optional.empty();
|
||||
}
|
||||
}
|
||||
|
||||
public Mod loadMod(ModIdentification modIdentification) {
|
||||
return embeddedMods.stream().filter(m -> m.getIdentification().asString().equals(modIdentification.asString())).findFirst().get();
|
||||
}
|
||||
|
||||
}
|
85
core/src/main/java/com/openeggbert/core/mod/Mod.java
Normal file
@ -0,0 +1,85 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
package com.openeggbert.core.mod;
|
||||
|
||||
import com.pixelgamelibrary.api.interfaces.XmlElement;
|
||||
import com.pixelgamelibrary.api.Pixel;
|
||||
import com.openeggbert.core.release.Release;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
@Data
|
||||
public class Mod {
|
||||
|
||||
public Mod(String xml) {
|
||||
XmlElement root = Pixel.utils().parseXml(xml);
|
||||
XmlElement parentElement = root.getChildByName("parent");
|
||||
if (parentElement != null) {
|
||||
parent = new ModIdentification(parentElement);
|
||||
}
|
||||
identification = new ModIdentification(
|
||||
root.get("groupId"),
|
||||
root.get("modId"),
|
||||
root.get("version"));
|
||||
modPackaging = ModPackaging.valueOf(root.get("packaging"));
|
||||
modType = ModType.valueOf(root.get("type"));
|
||||
featureLevel = Release.valueOf(root.get("featureLevel"));
|
||||
name = root.get("name");
|
||||
description = root.get("description");
|
||||
XmlElement imports = root.getChildByName("imports");
|
||||
if (imports != null) {
|
||||
for (int i = 0; i < imports.getChildCount(); i++) {
|
||||
XmlElement import_ = imports.getChild(i);
|
||||
importedMods.add(new ModIdentification(import_));
|
||||
}
|
||||
}
|
||||
XmlElement files_ = root.getChildByName("files");
|
||||
if (files_ != null) {
|
||||
for (int i = 0; i < files_.getChildCount(); i++) {
|
||||
XmlElement file = files_.getChild(i);
|
||||
files.add(file.getText());
|
||||
}
|
||||
}
|
||||
|
||||
XmlElement stores_ = root.getChildByName("stores");
|
||||
if (stores_ != null) {
|
||||
for (int i = 0; i < stores_.getChildCount(); i++) {
|
||||
XmlElement store = stores_.getChild(i);
|
||||
stores.add(new Store(store));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
private ModIdentification parent;
|
||||
private ModIdentification identification;
|
||||
private ModPackaging modPackaging;
|
||||
private ModType modType;
|
||||
private Release featureLevel;
|
||||
private String name;
|
||||
private String description;
|
||||
private List<ModIdentification> importedMods = new ArrayList<>();
|
||||
private List<String> files = new ArrayList<>();
|
||||
private List<Store> stores = new ArrayList<>();
|
||||
}
|
@ -0,0 +1,50 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
package com.openeggbert.core.mod;
|
||||
|
||||
import com.pixelgamelibrary.api.interfaces.XmlElement;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
public class ModIdentification {
|
||||
|
||||
private final String groupId;
|
||||
private final String modId;
|
||||
private final String version;
|
||||
|
||||
public ModIdentification(XmlElement element) {
|
||||
groupId = element.get("groupId");
|
||||
modId = element.get("modId");
|
||||
version = element.get("version");
|
||||
}
|
||||
|
||||
public String asString() {
|
||||
|
||||
return groupId + DOT + modId + DOT + version;
|
||||
}
|
||||
private static final String DOT = ".";
|
||||
|
||||
}
|
46
core/src/main/java/com/openeggbert/core/mod/ModManager.java
Normal file
@ -0,0 +1,46 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
package com.openeggbert.core.mod;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public class ModManager {
|
||||
public ModManager() {
|
||||
|
||||
}
|
||||
private List<Mod> embeddedMods = new ArrayList<>();
|
||||
private List<Mod> installedMods = new ArrayList<>();
|
||||
public List<Mod> listEmbeddedMods() {
|
||||
return embeddedMods;
|
||||
}
|
||||
public List<Mod> listInstalledMods() {
|
||||
return installedMods;
|
||||
}
|
||||
|
||||
public Mod findMod(ModIdentification modIdentification) {
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
@ -18,13 +18,12 @@
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
package com.openeggbert.entity.common;
|
||||
package com.openeggbert.core.mod;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public enum EggbertState {
|
||||
|
||||
public enum ModPackaging {
|
||||
EGM, XML;
|
||||
}
|
29
core/src/main/java/com/openeggbert/core/mod/ModType.java
Normal file
@ -0,0 +1,29 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.openeggbert.core.mod;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public enum ModType {
|
||||
FULL, LEVEL, SOUND, MUSIC, IMAGE08, IMAGE16, IMAGE24, IMAGE24X2, TEXT, PARTIAL;
|
||||
}
|
@ -17,19 +17,24 @@
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
package com.openeggbert.core.mod;
|
||||
|
||||
|
||||
package com.openeggbert.entity.common;
|
||||
|
||||
import com.openeggbert.entity.common.compatibility.CompatibilityMode;
|
||||
import com.pixelgamelibrary.api.interfaces.XmlElement;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public class Utils {
|
||||
private Utils() {
|
||||
//Instantiate not needed.
|
||||
public class Store {
|
||||
|
||||
String id;
|
||||
String name;
|
||||
String url;
|
||||
|
||||
Store(XmlElement store) {
|
||||
id = store.get("id");
|
||||
name = store.get("name");
|
||||
url = store.get("url");
|
||||
}
|
||||
public static final CompatibilityMode[] ALL__COMPATIBILITY_MODES = CompatibilityMode.values();
|
||||
|
||||
}
|
@ -17,34 +17,38 @@
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
package com.openeggbert.entity.common.compatibility;
|
||||
package com.openeggbert.core.music;
|
||||
|
||||
import lombok.Getter;
|
||||
import com.openeggbert.core.configuration.IsThisFeatureEnabledForStrictMode;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public enum CompatibilityMode {
|
||||
SPEEDY_BLUPI_DEMO(ReleaseType.BLUPI, ReleaseVersion.DEMO),
|
||||
SPEEDY_BLUPI_I(ReleaseType.BLUPI, ReleaseVersion.ONE),
|
||||
SPEEDY_BLUPI_II(ReleaseType.BLUPI, ReleaseVersion.TWO),
|
||||
SPEEDY_EGGBERT_DEMO(ReleaseType.EGGBERT, ReleaseVersion.DEMO),
|
||||
SPEEDY_EGGBERT_1(ReleaseType.EGGBERT, ReleaseVersion.ONE),
|
||||
SPEEDY_EGGBERT_2(ReleaseType.EGGBERT, ReleaseVersion.TWO),
|
||||
OPEN_EGGBERT(ReleaseType.OPEN, ReleaseVersion.THREE);
|
||||
public enum MusicFormat implements IsThisFeatureEnabledForStrictMode {
|
||||
BLP("blp", true),
|
||||
MIDI("mid", false),
|
||||
WAV("wav", false),
|
||||
MP3("mp3", false),
|
||||
OGG("ogg", false),
|
||||
;
|
||||
@Getter
|
||||
private final ReleaseType releaseType;
|
||||
private String fileExtension;
|
||||
|
||||
@Getter
|
||||
private final ReleaseVersion releaseVersion;
|
||||
private boolean enabledInCaseOfStrictMode;
|
||||
MusicFormat(String fileExtension, boolean enabledInCaseOfStrictMode) {
|
||||
this.fileExtension = fileExtension;
|
||||
this.enabledInCaseOfStrictMode = enabledInCaseOfStrictMode;
|
||||
}
|
||||
|
||||
private CompatibilityMode(ReleaseType releaseType, ReleaseVersion releaseVersion) {
|
||||
this.releaseType = releaseType;
|
||||
this.releaseVersion = releaseVersion;
|
||||
@Override
|
||||
public boolean isThisFeatureEnabledForStrictMode() {
|
||||
return enabledInCaseOfStrictMode;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public MusicFormat getTargetFormat() {
|
||||
return this == BLP ? MIDI : this;
|
||||
}
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
package com.openeggbert.core.music;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public class MusicManager {
|
||||
|
||||
}
|
@ -18,12 +18,12 @@
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.openeggbert.entity.common;
|
||||
package com.openeggbert.core.music;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public class GameFiles {
|
||||
public class MusicSheet {
|
||||
|
||||
}
|
47
core/src/main/java/com/openeggbert/core/music/MusicType.java
Normal file
@ -0,0 +1,47 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.openeggbert.core.music;
|
||||
|
||||
import com.openeggbert.core.release.Release;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public enum MusicType {
|
||||
MUSIC1(0),
|
||||
MUSIC2(1),
|
||||
MUSIC3(2),
|
||||
MUSIC4(3),
|
||||
MUSIC5(4),
|
||||
MUSIC6(5),
|
||||
MUSIC7(6),
|
||||
MUSIC8(7),
|
||||
MUSIC9(8),
|
||||
MUSIC10(9);
|
||||
@Getter
|
||||
private int number;
|
||||
MusicType(int numberIn, Release... featureLevels) {
|
||||
this.number = numberIn;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
package com.openeggbert.core.release;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public enum Publisher {
|
||||
EPSITEC_SA, E_GAMES, DADA_GAMES, OPEN_EGGBERT;
|
||||
}
|
82
core/src/main/java/com/openeggbert/core/release/Release.java
Normal file
@ -0,0 +1,82 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
package com.openeggbert.core.release;
|
||||
|
||||
import com.openeggbert.core.gamespace.GameDirectoryType;
|
||||
import com.openeggbert.core.gamespace.ImageDirectories;
|
||||
import com.openeggbert.core.utils.FileNameCaseType;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public enum Release {
|
||||
SPEEDY_BLUPI_DEMO(ReleaseType.BLUPI, ReleaseVersion.DEMO, Publisher.EPSITEC_SA, "SBD", FileNameCaseType.CAPITALIZATION, new ImageDirectories(GameDirectoryType.IMAGE, null, null, null)),
|
||||
SPEEDY_BLUPI_I(ReleaseType.BLUPI, ReleaseVersion.ONE, Publisher.EPSITEC_SA, "SBI"),
|
||||
SPEEDY_BLUPI_II(ReleaseType.BLUPI, ReleaseVersion.TWO, Publisher.EPSITEC_SA, "SBII"),
|
||||
SPEEDY_EGGBERT_DEMO(ReleaseType.EGGBERT, ReleaseVersion.DEMO, Publisher.E_GAMES, "SED"),
|
||||
SPEEDY_EGGBERT_1(ReleaseType.EGGBERT, ReleaseVersion.ONE, Publisher.E_GAMES, "SE1"),
|
||||
SPEEDY_EGGBERT_2(ReleaseType.EGGBERT, ReleaseVersion.TWO, Publisher.E_GAMES, "SE2"),
|
||||
SPEEDY_EGGBERT_VALUEWARE(ReleaseType.EGGBERT, ReleaseVersion.VALUEWARE, Publisher.E_GAMES, "SEW"),
|
||||
SPEEDY_BLUPI_FOR_WINDOWS_PHONE(ReleaseType.BLUPI, ReleaseVersion.WINDOWS_PHONE, Publisher.DADA_GAMES, "SBP"),
|
||||
OPEN_EGGBERT_3(ReleaseType.OPEN, ReleaseVersion.THREE, Publisher.OPEN_EGGBERT, "OE3", FileNameCaseType.UPPERCASE, new ImageDirectories(GameDirectoryType.IMAGE08, GameDirectoryType.IMAGE16, GameDirectoryType.IMAGE24, GameDirectoryType.IMAGE24X2));
|
||||
@Getter
|
||||
private final ReleaseType releaseType;
|
||||
@Getter
|
||||
private final ReleaseVersion releaseVersion;
|
||||
@Getter
|
||||
private final Publisher publisher;
|
||||
@Getter
|
||||
private final String abbreviation;
|
||||
@Getter
|
||||
private final ImageDirectories imageDirectories;
|
||||
|
||||
@Getter
|
||||
public static final Release[] ALL_RELEASES = Release.values();
|
||||
@Getter
|
||||
private FileNameCaseType caseModeForDirectories;
|
||||
private Release(ReleaseType releaseType, ReleaseVersion releaseVersion, Publisher publisher, String abbreviation) {
|
||||
this(releaseType, releaseVersion, publisher, abbreviation, FileNameCaseType.UPPERCASE, ImageDirectories.DEFAULT);
|
||||
}
|
||||
|
||||
private Release(ReleaseType releaseType, ReleaseVersion releaseVersion, Publisher publisher, String abbreviation, FileNameCaseType caseModeForDirectories, ImageDirectories imageDirectories) {
|
||||
this.releaseType = releaseType;
|
||||
this.releaseVersion = releaseVersion;
|
||||
this.publisher = publisher;
|
||||
this.abbreviation = abbreviation;
|
||||
this.caseModeForDirectories = caseModeForDirectories;
|
||||
this.imageDirectories = imageDirectories;
|
||||
}
|
||||
|
||||
public String createLabel() {
|
||||
String[] array = this.name().split(UNDERSCORE);
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for(int i = 0;i < array.length; i++) {
|
||||
sb.append(FileNameCaseType.convertToString(array[i], FileNameCaseType.CAPITALIZATION));
|
||||
if(i < (array.length - 1)) {
|
||||
sb.append(" ");
|
||||
}
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
private static final String UNDERSCORE = "_";
|
||||
|
||||
}
|
@ -19,7 +19,7 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
package com.openeggbert.entity.common.compatibility;
|
||||
package com.openeggbert.core.release;
|
||||
|
||||
/**
|
||||
*
|
@ -19,12 +19,12 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
package com.openeggbert.entity.common.compatibility;
|
||||
package com.openeggbert.core.release;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public enum ReleaseVersion {
|
||||
DEMO, ONE, TWO, THREE
|
||||
DEMO, ONE, TWO, WINDOWS_PHONE, VALUEWARE, THREE;
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
package com.openeggbert.core.screen;
|
||||
|
||||
import com.openeggbert.core.main.OpenEggbertGame;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public abstract class AbstractBasicScreen extends OpenEggbertScreen {
|
||||
|
||||
public AbstractBasicScreen(OpenEggbertGame openEggbertGame) {
|
||||
super(openEggbertGame);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,80 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
package com.openeggbert.core.screen;
|
||||
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.InputAdapter;
|
||||
import com.pixelgamelibrary.api.graphics.Color;
|
||||
|
||||
import com.badlogic.gdx.utils.ScreenUtils;
|
||||
import com.openeggbert.core.main.OpenEggbertGame;
|
||||
import com.pixelgamelibrary.api.graphics.BitmapFont;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public class AbstractGameScreen extends OpenEggbertScreen {
|
||||
|
||||
public AbstractGameScreen(OpenEggbertGame openEggbertGame) {
|
||||
super(openEggbertGame);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void show() {
|
||||
Gdx.input.setInputProcessor(new InputAdapter() {
|
||||
@Override
|
||||
public boolean keyDown(int keyCode) {
|
||||
game.setScreen(new InitScreen(game));
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean touchDown(int screenX, int screenY, int pointer, int button) {
|
||||
game.setScreen(new InitScreen(game));
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderOpenEggbertScreen(float delta) {
|
||||
ScreenUtils.clear(0f, 0f, 0f, 1f);
|
||||
batch.begin();
|
||||
drawBackgroundIfAvailable();
|
||||
|
||||
BitmapFont font;
|
||||
font = game.getFont();
|
||||
font.setScale(2.0f);
|
||||
font.setColor(Color.RED);
|
||||
|
||||
font.draw(batch, "Sorry, game is not yet implemented", 40, 400);
|
||||
font.draw(batch, "Please, press any key", 40, 300);
|
||||
font.draw(batch, "to return to the main screen", 40, 250);
|
||||
|
||||
|
||||
batch.end();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void hide() {
|
||||
Gdx.input.setInputProcessor(null);
|
||||
}
|
||||
}
|
@ -0,0 +1,86 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
package com.openeggbert.core.screen;
|
||||
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.InputAdapter;
|
||||
import com.pixelgamelibrary.api.graphics.Color;
|
||||
|
||||
import com.badlogic.gdx.utils.ScreenUtils;
|
||||
import com.openeggbert.core.main.OpenEggbertGame;
|
||||
import com.pixelgamelibrary.api.graphics.BitmapFont;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public class DemoScreen extends OpenEggbertScreen {
|
||||
|
||||
public DemoScreen(OpenEggbertGame openEggbertGame) {
|
||||
super(openEggbertGame);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected final Optional<ScreenType> getScreenType() {
|
||||
return Optional.of(ScreenType.DEMO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void show() {
|
||||
Gdx.input.setInputProcessor(new InputAdapter() {
|
||||
@Override
|
||||
public boolean keyDown(int keyCode) {
|
||||
game.setScreen(new InitScreen(game));
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean touchDown(int screenX, int screenY, int pointer, int button) {
|
||||
game.setScreen(new InitScreen(game));
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderOpenEggbertScreen(float delta) {
|
||||
ScreenUtils.clear(0f, 0f, 0f, 1f);
|
||||
batch.begin();
|
||||
drawBackgroundIfAvailable();
|
||||
|
||||
BitmapFont font;
|
||||
font = game.getFont();
|
||||
font.setScale(2.0f);
|
||||
font.setColor(Color.RED);
|
||||
|
||||
font.draw(batch, "Sorry, demo is not yet implemented", 40, 400);
|
||||
font.draw(batch, "Please, press any key", 40, 300);
|
||||
font.draw(batch, "to return to the main screen", 40, 250);
|
||||
|
||||
|
||||
batch.end();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void hide() {
|
||||
Gdx.input.setInputProcessor(null);
|
||||
}
|
||||
}
|
@ -0,0 +1,85 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
package com.openeggbert.core.screen;
|
||||
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.InputAdapter;
|
||||
import com.pixelgamelibrary.api.graphics.Color;
|
||||
|
||||
import com.badlogic.gdx.utils.ScreenUtils;
|
||||
import com.openeggbert.core.main.OpenEggbertGame;
|
||||
import com.pixelgamelibrary.api.graphics.BitmapFont;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public class GameScreen extends AbstractGameScreen {
|
||||
|
||||
public GameScreen(OpenEggbertGame openEggbertGame) {
|
||||
super(openEggbertGame);
|
||||
|
||||
}
|
||||
|
||||
protected final Optional<ScreenType> getScreenType() {
|
||||
return Optional.of(ScreenType.GAME);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void show() {
|
||||
Gdx.input.setInputProcessor(new InputAdapter() {
|
||||
@Override
|
||||
public boolean keyDown(int keyCode) {
|
||||
game.setScreen(new InitScreen(game));
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean touchDown(int screenX, int screenY, int pointer, int button) {
|
||||
game.setScreen(new InitScreen(game));
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderOpenEggbertScreen(float delta) {
|
||||
ScreenUtils.clear(0f, 0f, 0f, 1f);
|
||||
batch.begin();
|
||||
drawBackgroundIfAvailable();
|
||||
|
||||
BitmapFont font;
|
||||
font = game.getFont();
|
||||
font.setScale(2.0f);
|
||||
font.setColor(Color.RED);
|
||||
|
||||
font.draw(batch, "Sorry, demo is not yet implemented", 40, 400);
|
||||
font.draw(batch, "Please, press any key", 40, 300);
|
||||
font.draw(batch, "to return to the main screen", 40, 250);
|
||||
|
||||
|
||||
batch.end();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void hide() {
|
||||
Gdx.input.setInputProcessor(null);
|
||||
}
|
||||
}
|
@ -0,0 +1,304 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
package com.openeggbert.core.screen;
|
||||
|
||||
import com.badlogic.gdx.Application;
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.Input;
|
||||
import com.badlogic.gdx.InputAdapter;
|
||||
import com.badlogic.gdx.Preferences;
|
||||
import com.pixelgamelibrary.api.graphics.Color;
|
||||
|
||||
import com.pixelgamelibrary.api.graphics.ShapeRenderer;
|
||||
import com.openeggbert.core.gamespace.GameSpace;
|
||||
import com.openeggbert.core.main.OpenEggbertGame;
|
||||
import com.openeggbert.core.mod.Mod;
|
||||
import com.openeggbert.core.mod.ModType;
|
||||
import com.pixelgamelibrary.api.Pixel;
|
||||
import com.pixelgamelibrary.api.graphics.BitmapFont;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.ToString;
|
||||
import com.pixelgamelibrary.api.files.FileSystem;
|
||||
import com.pixelgamelibrary.api.graphics.Texture;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public class GameSpaceListScreen extends AbstractBasicScreen {
|
||||
|
||||
private int pageNumber = 1;
|
||||
private final int pageSize = 5;
|
||||
private final List<Mod> fullEmbeddedMods;
|
||||
private float timeSeconds = 0f;
|
||||
private ShapeRenderer shapeRenderer;
|
||||
|
||||
@ToString
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
class Rectangle {
|
||||
|
||||
float x, y, width, height;
|
||||
}
|
||||
private Rectangle[] buttons = new Rectangle[5];
|
||||
private Rectangle previousPageButton = new Rectangle();
|
||||
private Rectangle nextPageButton = new Rectangle();
|
||||
private Texture backgroundShapes;
|
||||
|
||||
public GameSpaceListScreen(OpenEggbertGame openEggbertGame) {
|
||||
super(openEggbertGame);
|
||||
this.fullEmbeddedMods = openEggbertGame.getEmbeddedMods().stream().filter(m -> m.getModType() == ModType.FULL).collect(Collectors.toList());
|
||||
|
||||
if (Gdx.app.getType() == Application.ApplicationType.Android) {
|
||||
game.setHeightInPixels(Gdx.app.getGraphics().getHeight());
|
||||
game.setWidthInPixels(Gdx.app.getGraphics().getWidth());
|
||||
}
|
||||
Preferences prefs = Gdx.app.getPreferences("My Preferences");
|
||||
prefs.putString("test", "abc");
|
||||
prefs.flush();
|
||||
final FileSystem storage = Pixel.files().localFileSystem();
|
||||
storage.createDirectory("modes");
|
||||
storage.createDirectory("gameSpaces");
|
||||
System.out.println(storage.debug());
|
||||
//storage.file("modes").child("text.txt").writeString("textabc");
|
||||
|
||||
storage.flush();
|
||||
shapeRenderer = openEggbertGame.getShapeRenderer();
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected final Optional<ScreenType> getScreenType() {
|
||||
return Optional.of(ScreenType.GAME_SPACE_LIST);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void show() {
|
||||
backgroundShapes = Pixel.graphics().getTextureFactory().createTransparent(640, 480);
|
||||
shapeRenderer.setTexture(backgroundShapes);
|
||||
System.out.println("Calling : GameSpaceListScreen : show");
|
||||
Gdx.input.setInputProcessor(new InputAdapter() {
|
||||
|
||||
public boolean touchUp(int screenX, int screenY, int pointer, int button) {
|
||||
timeSeconds = 0f;
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean touchCancelled(int screenX, int screenY, int pointer, int button) {
|
||||
timeSeconds = 0f;
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean touchDragged(int screenX, int screenY, int pointer) {
|
||||
timeSeconds = 0f;
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean mouseMoved(int screenX, int screenY) {
|
||||
timeSeconds = 0f;
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean keyDown(int keyCode) {
|
||||
if (keyCode == Input.Keys.SPACE) {
|
||||
game.setScreen(new TestScreen(game));
|
||||
}
|
||||
if (keyCode == Input.Keys.ESCAPE) {
|
||||
Gdx.app.exit();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean touchDown(int x, int y, int pointer, int button) {
|
||||
timeSeconds = 0f;
|
||||
Gdx.app.log("touchDown: ", "x=" + x + " " + "y=" + y);
|
||||
if (x <= Gdx.graphics.getWidth() / 3f && y >= (Gdx.graphics.getHeight() * 0.92f) && pageNumber > 1) {
|
||||
pageNumber--;
|
||||
}
|
||||
if (x >= Gdx.graphics.getWidth() * 2f / 3f && y >= (Gdx.graphics.getHeight() * 0.92f) && (pageNumber * pageSize) < fullEmbeddedMods.size()) {
|
||||
pageNumber++;
|
||||
}
|
||||
for (int i = 0; i < 5; i++) {
|
||||
if (buttons[i] == null) {
|
||||
continue;
|
||||
}
|
||||
System.out.println(buttons[i].toString());
|
||||
}
|
||||
y = Gdx.graphics.getHeight() - y;
|
||||
|
||||
for (int i = 0; i < 5; i++) {
|
||||
if (buttons[i] == null) {
|
||||
break;
|
||||
}
|
||||
if (x > buttons[i].x && x < (buttons[i].x + buttons[i].width)
|
||||
&& y > buttons[i].y && y < (buttons[i].y + buttons[i].height)) {
|
||||
|
||||
activateButton(i);
|
||||
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
private void activateButton(int i) {
|
||||
Mod mod = fullEmbeddedMods.get(pageSize * (pageNumber - 1) + i);
|
||||
GameSpace gameSpace = new GameSpace();
|
||||
gameSpace.setFeatureLevel(mod.getFeatureLevel());
|
||||
mod.getImportedMods().stream().map(m -> game.loadMod(m))
|
||||
.filter(m -> m.getModType().name().startsWith("IMAGE"))
|
||||
.forEach(m -> {
|
||||
if (m.getModType() == ModType.IMAGE08) {
|
||||
gameSpace.setImage08Directory("embedded_mods/" + m.getIdentification().getGroupId() + "/" + m.getIdentification().getModId());
|
||||
}
|
||||
if (m.getModType() == ModType.IMAGE16) {
|
||||
gameSpace.setImage16Directory("embedded_mods/" + m.getIdentification().getGroupId() + "/" + m.getIdentification().getModId());
|
||||
}
|
||||
if (m.getModType() == ModType.IMAGE24) {
|
||||
gameSpace.setImage24Directory("embedded_mods/" + m.getIdentification().getGroupId() + "/" + m.getIdentification().getModId());
|
||||
}
|
||||
if (m.getModType() == ModType.IMAGE24X2) {
|
||||
gameSpace.setImage24x2Directory("embedded_mods/" + m.getIdentification().getGroupId() + "/" + m.getIdentification().getModId());
|
||||
}
|
||||
});
|
||||
gameSpace.setEmbeddedAssets(true);
|
||||
game.setGameSpace(gameSpace);
|
||||
game.setScreen(new InitScreen(game));
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderOpenEggbertScreen(float delta) {
|
||||
System.out.println("Calling : GameSpaceListScreen : renderOpenEggbertScreen");
|
||||
//Gdx.app.log(getClass().getName(), game.getStorage().debug());
|
||||
|
||||
timeSeconds += Gdx.graphics.getRawDeltaTime();
|
||||
if (timeSeconds > 60) {
|
||||
activateButton(0);
|
||||
}
|
||||
|
||||
//ScreenUtils.clear(1f, 1f, 0.6f, 0.5f);
|
||||
int buttonHeight = (int) (game.getHeightInPixels() * 0.1f);
|
||||
|
||||
batch.begin();
|
||||
drawBackgroundIfAvailable();
|
||||
|
||||
BitmapFont font;
|
||||
font = game.getFont();
|
||||
font.setScale(4.0f);
|
||||
font.setColor(Color.BLACK);
|
||||
int x = (int) (game.getWidthInPixels() * 0.1875f);
|
||||
int y = (int) (game.getHeightInPixels() * 0.95f);
|
||||
font.draw(batch, "Open Eggbert", x, y);
|
||||
List<Mod> modsForPage = fullEmbeddedMods.stream().skip(pageSize * (pageNumber - 1)).limit(5).collect(Collectors.toList());
|
||||
|
||||
float margin = 0.05f * game.getWidthInPixels();
|
||||
|
||||
y = (int) (game.getHeightInPixels() * 0.7f);
|
||||
font.setScale(2.0f);
|
||||
final float spaceBetweenLargeButtons = game.getHeightInPixels() * 0.06f;
|
||||
for (int i = 0; i < modsForPage.size(); i++) {
|
||||
buttons[i] = new Rectangle(margin, y, game.getWidthInPixels() * 0.9f, margin * 1.5f);
|
||||
|
||||
y = (int) (y - spaceBetweenLargeButtons - margin);
|
||||
}
|
||||
|
||||
final boolean isLastPage = !(pageNumber * pageSize < fullEmbeddedMods.size());
|
||||
|
||||
backgroundShapes.clear();
|
||||
shapeRenderer.setColor(1f, 1f, 0.8f, 0.5f);
|
||||
int q = 0;
|
||||
for (Rectangle r : buttons) {
|
||||
q++;
|
||||
if (q > modsForPage.size()) {
|
||||
break;
|
||||
}
|
||||
shapeRenderer.filledRectangle(r.x, r.y, r.width, r.height);
|
||||
}
|
||||
if (pageNumber
|
||||
> 1) {
|
||||
shapeRenderer.filledRectangle(margin, margin / 4f, game.getWidthInPixels() * 0.3f, buttonHeight);
|
||||
}
|
||||
if (!isLastPage) {
|
||||
shapeRenderer.filledRectangle(game.getWidthInPixels() * 0.66f, margin / 4f, game.getWidthInPixels() * 0.3f, buttonHeight);
|
||||
}
|
||||
batch.draw(backgroundShapes, 0, 0);
|
||||
|
||||
font.setColor(
|
||||
0f, 0f, 1f, 1f);
|
||||
|
||||
for (int i = 0;
|
||||
i < modsForPage.size();
|
||||
i++) {
|
||||
Mod mod = modsForPage.get(i);
|
||||
String name = mod.getName() == null || mod.getName().isEmpty() ? mod.getIdentification().asString() : mod.getName();
|
||||
name = "#" + ((pageNumber - 1) * pageSize + (i + 1)) + " " + name;
|
||||
font.draw(batch, name, margin * 1.5f, buttons[i].y + 0.8f * buttons[i].height);
|
||||
}
|
||||
|
||||
font
|
||||
.setScale(1.5f);
|
||||
font.setColor(
|
||||
0f, 0f, 1f, 1f);
|
||||
|
||||
float lastRowHeight = game.getHeightInPixels() * 0.08f;
|
||||
if (pageNumber
|
||||
> 1) {
|
||||
font.draw(batch, "Previous page", margin, lastRowHeight);
|
||||
}
|
||||
|
||||
if (!isLastPage) {
|
||||
font.draw(batch, "Next page", game.getWidthInPixels() * 0.765625f, lastRowHeight);
|
||||
}
|
||||
|
||||
font.setColor(
|
||||
0f, 0f, 0f, 1f);
|
||||
int pageCount = fullEmbeddedMods.size() / 5;
|
||||
|
||||
if (fullEmbeddedMods.size()
|
||||
> pageCount * pageSize) {
|
||||
pageCount++;
|
||||
}
|
||||
|
||||
font.draw(batch,
|
||||
"Page " + pageNumber + " from " + pageCount, game.getWidthInPixels() / 2 - 80, lastRowHeight);
|
||||
|
||||
batch.end();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void hide() {
|
||||
backgroundShapes.dispose();
|
||||
Gdx.input.setInputProcessor(null);
|
||||
}
|
||||
}
|
164
core/src/main/java/com/openeggbert/core/screen/InitScreen.java
Normal file
@ -0,0 +1,164 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
package com.openeggbert.core.screen;
|
||||
|
||||
import com.badlogic.gdx.Application;
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.Input;
|
||||
import com.badlogic.gdx.InputAdapter;
|
||||
import com.badlogic.gdx.files.FileHandle;
|
||||
import com.badlogic.gdx.utils.ScreenUtils;
|
||||
import com.openeggbert.core.configuration.ConfigDef;
|
||||
import com.openeggbert.core.main.OpenEggbertGame;
|
||||
import com.openeggbert.core.configuration.OpenEggbertDisplayMode;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public class InitScreen extends OpenEggbertScreen {
|
||||
|
||||
private float timeSeconds = 0f;
|
||||
|
||||
public InitScreen(OpenEggbertGame openEggbertGame) {
|
||||
super(openEggbertGame);
|
||||
System.out.println("game.getGameSpace().getDataDirectory() != null" + (game.getGameSpace().getDataDirectory() != null));
|
||||
// Pixel.app().log("###1");
|
||||
// Arrays.asList(Gdx.files.local(".").list()).forEach(e->Pixel.app().log(e.path()));
|
||||
// Pixel.app().log("###2");
|
||||
if (game.getGameSpace().getDataDirectory() != null) {
|
||||
FileHandle configDefFileHandle = null;
|
||||
String[] array = new String[]{"config.def", "Config.def", "CONFIG.DEF"};
|
||||
if (game.getGameSpace().isEmbeddedAssets()) {
|
||||
// for (String a : array) {
|
||||
// configDefFileHandle = EmbeddedFileHandleFactory.create(game.getGameSpace().getDataDirectory() + "/" + a);
|
||||
// if (configDefFileHandle.exists()) {
|
||||
// break;
|
||||
// } else {
|
||||
// continue;
|
||||
// }
|
||||
// }
|
||||
} else {
|
||||
for (String a : array) {
|
||||
configDefFileHandle = Gdx.files.absolute(game.getGameSpace().getDataDirectory() + "/" + a);
|
||||
if (configDefFileHandle.exists()) {
|
||||
break;
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if (configDefFileHandle != null && configDefFileHandle.exists()) {
|
||||
game.setConfigDef(new ConfigDef(configDefFileHandle.readString()));
|
||||
}
|
||||
|
||||
}
|
||||
if (game.getConfigDef() == null) {
|
||||
game.setConfigDef(new ConfigDef("CD-Rom=E:\\US\n"
|
||||
+ "FullScreen=0\n"
|
||||
+ "TrueColor=0\n"
|
||||
+ "MouseType=1\n"
|
||||
+ "SpeedRate=1\n"
|
||||
+ "Timer=150ms\n"
|
||||
+ "Language=U\n"
|
||||
+ "Benchmark=251674"));
|
||||
System.out.println("game.getConfigDef()=" + game.getConfigDef());
|
||||
}
|
||||
OpenEggbertDisplayMode openEggbertDisplayMode = OpenEggbertDisplayMode.setDisplayModeFromConfig(game.getConfigDef());
|
||||
game.setOpenEggbertDisplayMode(openEggbertDisplayMode);
|
||||
|
||||
}
|
||||
|
||||
protected final Optional<ScreenType> getScreenType() {
|
||||
return Optional.of(ScreenType.INIT);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void show() {
|
||||
Gdx.input.setInputProcessor(new InputAdapter() {
|
||||
|
||||
public boolean touchUp(int screenX, int screenY, int pointer, int button) {
|
||||
// timeSeconds = 0f;
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean touchCancelled(int screenX, int screenY, int pointer, int button) {
|
||||
// timeSeconds = 0f;
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean touchDragged(int screenX, int screenY, int pointer) {
|
||||
// timeSeconds = 0f;
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean mouseMoved(int screenX, int screenY) {
|
||||
//timeSeconds = 0f;
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean keyDown(int keyCode) {
|
||||
// timeSeconds = 0f;
|
||||
|
||||
if (keyCode == Input.Keys.ESCAPE) {
|
||||
Gdx.app.exit();
|
||||
}
|
||||
|
||||
if (keyCode == Input.Keys.SPACE) {
|
||||
game.setScreen(new GameSpaceListScreen(game));
|
||||
}
|
||||
|
||||
if (game.getConfigDef() != null && Gdx.app.getType() == Application.ApplicationType.Desktop && !game.getConfigDef().isStrictCompatibility() && keyCode == Input.Keys.F) {
|
||||
OpenEggbertDisplayMode currentDisplayMode = game.getOpenEggbertDisplayMode();
|
||||
OpenEggbertDisplayMode newDisplayMode = currentDisplayMode.flip();
|
||||
OpenEggbertDisplayMode.setDisplayMode(newDisplayMode);
|
||||
game.setOpenEggbertDisplayMode(newDisplayMode);
|
||||
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderOpenEggbertScreen(float delta) {
|
||||
timeSeconds += Gdx.graphics.getRawDeltaTime();
|
||||
|
||||
if (timeSeconds >= 50) {
|
||||
timeSeconds = 0;
|
||||
game.setScreen(new DemoScreen(game));
|
||||
}
|
||||
ScreenUtils.clear(0f, 0f, 0f, 1f);
|
||||
batch.begin();
|
||||
drawBackgroundIfAvailable();
|
||||
|
||||
batch.end();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void hide() {
|
||||
Gdx.input.setInputProcessor(null);
|
||||
}
|
||||
}
|
@ -0,0 +1,85 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
package com.openeggbert.core.screen;
|
||||
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.InputAdapter;
|
||||
import com.pixelgamelibrary.api.graphics.Color;
|
||||
|
||||
import com.badlogic.gdx.utils.ScreenUtils;
|
||||
import com.openeggbert.core.main.OpenEggbertGame;
|
||||
import com.pixelgamelibrary.api.graphics.BitmapFont;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public class MainHubScreen extends AbstractGameScreen {
|
||||
|
||||
public MainHubScreen(OpenEggbertGame openEggbertGame) {
|
||||
super(openEggbertGame);
|
||||
|
||||
}
|
||||
|
||||
protected final Optional<ScreenType> getScreenType() {
|
||||
return Optional.of(ScreenType.MAIN_HUB);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void show() {
|
||||
Gdx.input.setInputProcessor(new InputAdapter() {
|
||||
@Override
|
||||
public boolean keyDown(int keyCode) {
|
||||
game.setScreen(new InitScreen(game));
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean touchDown(int screenX, int screenY, int pointer, int button) {
|
||||
game.setScreen(new InitScreen(game));
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderOpenEggbertScreen(float delta) {
|
||||
ScreenUtils.clear(0f, 0f, 0f, 1f);
|
||||
batch.begin();
|
||||
drawBackgroundIfAvailable();
|
||||
|
||||
BitmapFont font;
|
||||
font = game.getFont();
|
||||
font.setScale(2.0f);
|
||||
font.setColor(Color.RED);
|
||||
|
||||
font.draw(batch, "Sorry, demo is not yet implemented", 40, 400);
|
||||
font.draw(batch, "Please, press any key", 40, 300);
|
||||
font.draw(batch, "to return to the main screen", 40, 250);
|
||||
|
||||
|
||||
batch.end();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void hide() {
|
||||
Gdx.input.setInputProcessor(null);
|
||||
}
|
||||
}
|
@ -0,0 +1,144 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
package com.openeggbert.core.screen;
|
||||
|
||||
import com.openeggbert.core.gamespace.GameFileType;
|
||||
import com.openeggbert.core.main.OpenEggbertGame;
|
||||
import com.openeggbert.core.utils.OpenEggbertUtils;
|
||||
import com.pixelgamelibrary.api.Pixel;
|
||||
import com.pixelgamelibrary.api.Platform;
|
||||
import com.pixelgamelibrary.api.app.LogLevel;
|
||||
import com.pixelgamelibrary.api.graphics.SpriteBatch;
|
||||
import com.pixelgamelibrary.api.graphics.Texture;
|
||||
import com.pixelgamelibrary.api.screen.ScreenAdapter;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import com.pixelgamelibrary.api.files.File;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public abstract class OpenEggbertScreen extends ScreenAdapter {
|
||||
|
||||
protected OpenEggbertGame game;
|
||||
protected SpriteBatch batch;
|
||||
|
||||
public OpenEggbertScreen(OpenEggbertGame openEggbertGame) {
|
||||
this.game = openEggbertGame;
|
||||
this.batch = openEggbertGame.getBatch();
|
||||
loadBackgroundTextureIfNeeded();
|
||||
}
|
||||
|
||||
private String getBackgroundFileName() {
|
||||
//return "INIT.BLP.BMP";
|
||||
return getScreenType().isPresent() ? getScreenType().get().getFileNameWithoutExtension(): "";
|
||||
}
|
||||
|
||||
protected Optional<ScreenType> getScreenType() {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
protected Optional<Texture> getBackgroundTexture() {
|
||||
if (getBackgroundFileName().isEmpty()) {
|
||||
return Optional.empty();
|
||||
}
|
||||
return game.getImageTexture(getBackgroundFileName());
|
||||
}
|
||||
|
||||
private void loadBackgroundTextureIfNeeded() {
|
||||
//if(true) return;//todo
|
||||
if (getBackgroundFileName().isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
String fileName = getBackgroundFileName();
|
||||
if(getScreenType().isPresent() && getScreenType().get().isBasic()) {
|
||||
if (!game.existsImageTexture("BASIC")) {
|
||||
File fileHandle;
|
||||
if (Pixel.app().isOneOfPlatforms(Platform.ANDROID, Platform.WEB)) {
|
||||
Pixel.app().log("screen","loading from internal");
|
||||
fileHandle = Pixel.files().assets("BASIC/BASIC.PNG");
|
||||
} else {
|
||||
|
||||
Pixel.app().log("screen","loading from classpath");
|
||||
fileHandle = Pixel.files().assets("BASIC/BASIC.PNG");
|
||||
}
|
||||
game.loadImageTexture(fileHandle);
|
||||
}
|
||||
return;
|
||||
}
|
||||
List<String> possibleFileNames = OpenEggbertUtils.createPossibleFileNames(GameFileType.IMAGE8, fileName);
|
||||
for(String possibleFileName: possibleFileNames) {
|
||||
if (!game.existsImageTexture(possibleFileName)) {
|
||||
String name = game.getGameSpace().getImage08Directory() + "/" + possibleFileName;
|
||||
|
||||
Pixel.app().setLogLevel(LogLevel.INFO);
|
||||
Pixel.app().log("screen","name=" + name);
|
||||
File fileHandle = null;
|
||||
if (game.getGameSpace().isEmbeddedAssets()) {
|
||||
|
||||
if (Pixel.app().isOneOfPlatforms(Platform.ANDROID, Platform.WEB)) {
|
||||
Pixel.app().log("screen","loading from internal");
|
||||
fileHandle = Pixel.files().assets(name);
|
||||
} else {
|
||||
|
||||
Pixel.app().log("screen","loading from classpath");
|
||||
fileHandle = Pixel.files().assets(name);
|
||||
|
||||
}
|
||||
} else {
|
||||
Pixel.app().log("screen","loading from absolute");
|
||||
|
||||
fileHandle = Pixel.files().absolute(name);
|
||||
}
|
||||
|
||||
Pixel.app().log("screen", "fileHandleUpperCase.exists()=" + fileHandle.exists());
|
||||
|
||||
if (fileHandle.exists()) {
|
||||
game.loadImageTexture(fileHandle);
|
||||
break;
|
||||
}
|
||||
// else {
|
||||
// throw new OpenEggbertException("Could not load file: " + fileName);
|
||||
// }
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void drawBackgroundIfAvailable() {
|
||||
if(getScreenType().isPresent() && getScreenType().get().isBasic()) {
|
||||
batch.draw(game.getImageTexture("BASIC").get(), 0, 0, 640,480);
|
||||
return;
|
||||
}
|
||||
if (getBackgroundTexture().isPresent()) {
|
||||
batch.draw(getBackgroundTexture().get(), 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void render(float delta) {
|
||||
renderOpenEggbertScreen(delta);
|
||||
}
|
||||
public abstract void renderOpenEggbertScreen(float delta);
|
||||
|
||||
}
|
@ -18,13 +18,12 @@
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
package com.openeggbert.entity.common;
|
||||
package com.openeggbert.core.screen;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public class ScreenType {
|
||||
public class ScreenSheet {
|
||||
|
||||
}
|
@ -0,0 +1,68 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
package com.openeggbert.core.screen;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public enum ScreenType {
|
||||
MAIN,
|
||||
GAME_SPACE_LIST("BASIC"),
|
||||
GAME_SPACE_CREATE("BASIC"),
|
||||
GAME_SPACE_RENAME("BASIC"),
|
||||
GAME_SPACE_DELETE("BASIC"),
|
||||
GAME_SPACE_RESET("BASIC"),
|
||||
GAME_SPACE_EDIT("BASIC"),
|
||||
GAME_SPACE_CONFIGURE("BASIC"),
|
||||
GAME_SPACE_CONFIGURE_ENTRY("BASIC"),
|
||||
GAME_SPACE_SELECT_MODE("BASIC"),
|
||||
//
|
||||
MOD_LIST,
|
||||
MOD_VIEW,
|
||||
//
|
||||
INIT("INIT"),
|
||||
GAMER("GAMER"),
|
||||
MAIN_HUB(""),
|
||||
SUB_HUB(""),
|
||||
GAME(""),
|
||||
EDITOR(""),
|
||||
EDITOR_DEMO(""),
|
||||
DEMO("DECOR016"),//todo fix me
|
||||
;
|
||||
|
||||
@Getter
|
||||
private String fileNameWithoutExtension;
|
||||
|
||||
ScreenType() {
|
||||
this.fileNameWithoutExtension = "";
|
||||
}
|
||||
ScreenType(String fileName) {
|
||||
this.fileNameWithoutExtension = fileName;
|
||||
}
|
||||
public boolean isBasic() {
|
||||
return name().startsWith("GAME_SPACE") || name().startsWith("MOD");
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,85 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
package com.openeggbert.core.screen;
|
||||
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.InputAdapter;
|
||||
import com.pixelgamelibrary.api.graphics.Color;
|
||||
|
||||
import com.badlogic.gdx.utils.ScreenUtils;
|
||||
import com.openeggbert.core.main.OpenEggbertGame;
|
||||
import com.pixelgamelibrary.api.graphics.BitmapFont;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public class SubHubScreen extends AbstractGameScreen {
|
||||
|
||||
public SubHubScreen(OpenEggbertGame openEggbertGame) {
|
||||
super(openEggbertGame);
|
||||
|
||||
}
|
||||
|
||||
protected final Optional<ScreenType> getScreenType() {
|
||||
return Optional.of(ScreenType.SUB_HUB);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void show() {
|
||||
Gdx.input.setInputProcessor(new InputAdapter() {
|
||||
@Override
|
||||
public boolean keyDown(int keyCode) {
|
||||
game.setScreen(new InitScreen(game));
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean touchDown(int screenX, int screenY, int pointer, int button) {
|
||||
game.setScreen(new InitScreen(game));
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderOpenEggbertScreen(float delta) {
|
||||
ScreenUtils.clear(0f, 0f, 0f, 1f);
|
||||
batch.begin();
|
||||
drawBackgroundIfAvailable();
|
||||
|
||||
BitmapFont font;
|
||||
font = game.getFont();
|
||||
font.setScale(2.0f);
|
||||
font.setColor(Color.RED);
|
||||
|
||||
font.draw(batch, "Sorry, demo is not yet implemented", 40, 400);
|
||||
font.draw(batch, "Please, press any key", 40, 300);
|
||||
font.draw(batch, "to return to the main screen", 40, 250);
|
||||
|
||||
|
||||
batch.end();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void hide() {
|
||||
Gdx.input.setInputProcessor(null);
|
||||
}
|
||||
}
|
@ -0,0 +1,92 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
package com.openeggbert.core.screen;
|
||||
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.Input;
|
||||
import com.badlogic.gdx.InputAdapter;
|
||||
|
||||
import com.badlogic.gdx.utils.ScreenUtils;
|
||||
import com.openeggbert.core.main.OpenEggbertGame;
|
||||
import com.pixelgamelibrary.api.Pixel;
|
||||
import com.pixelgamelibrary.api.graphics.BitmapFont;
|
||||
import java.util.function.Function;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public class TestScreen extends OpenEggbertScreen {
|
||||
|
||||
public TestScreen(OpenEggbertGame openEggbertGame) {
|
||||
super(openEggbertGame);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void show() {
|
||||
Gdx.input.setInputProcessor(new InputAdapter() {
|
||||
@Override
|
||||
public boolean keyDown(int keyCode) {
|
||||
if (keyCode == Input.Keys.SPACE) {
|
||||
game.setScreen(new GameSpaceListScreen(game));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderOpenEggbertScreen(float delta) {
|
||||
ScreenUtils.clear(0.15f, 0.15f, 0.2f, 1f);
|
||||
game.getBatch().begin();
|
||||
Function<String, String> removeCurrentDir = i -> i == null ? null : i.replace(game.getAbsolutePathOfRootDirectory()+ "/", "");
|
||||
if (Pixel.app().getPlatform().isDesktop() && game.getGameSpace() != null) {
|
||||
BitmapFont font;
|
||||
font = game.getFont();
|
||||
int x = 140;
|
||||
font.draw(game.getBatch(), "getFeatureLevel=" + game.getGameSpace().getFeatureLevel(), 40, x);
|
||||
x += 25;
|
||||
font.draw(game.getBatch(), "getDataDirectory=" + removeCurrentDir.apply(game.getGameSpace().getDataDirectory()), 40, x);
|
||||
x += 25;
|
||||
font.draw(game.getBatch(), "getImage08Directory=" + removeCurrentDir.apply(game.getGameSpace().getImage08Directory()), 40, x);
|
||||
x += 25;
|
||||
font.draw(game.getBatch(), "getImage16Directory=" + removeCurrentDir.apply(game.getGameSpace().getImage16Directory()), 40, x);
|
||||
x += 25;
|
||||
font.draw(game.getBatch(), "getImage24Directory=" + removeCurrentDir.apply(game.getGameSpace().getImage24Directory()), 40, x);
|
||||
x += 25;
|
||||
font.draw(game.getBatch(), "getImage24x2Directory=" + removeCurrentDir.apply(game.getGameSpace().getImage24x2Directory()), 40, x);
|
||||
x += 25;
|
||||
font.draw(game.getBatch(), "getSoundDirectory=" + removeCurrentDir.apply(game.getGameSpace().getSoundDirectory()), 40, x);
|
||||
}
|
||||
|
||||
if (game.getAbsolutePathOfRootDirectory()!= null) {
|
||||
BitmapFont font;
|
||||
font = game.getFont();
|
||||
font.draw(game.getBatch(), game.getAbsolutePathOfRootDirectory(), 40, 340);
|
||||
}
|
||||
batch.draw(game.getImage(), 40, 400);
|
||||
game.getBatch().end();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void hide() {
|
||||
Gdx.input.setInputProcessor(null);
|
||||
}
|
||||
}
|
@ -0,0 +1,52 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
package com.openeggbert.core.sound;
|
||||
|
||||
import lombok.Getter;
|
||||
import com.openeggbert.core.configuration.IsThisFeatureEnabledForStrictMode;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public enum SoundFormat implements IsThisFeatureEnabledForStrictMode {
|
||||
BLP("blp", true),
|
||||
WAV("wav", false),
|
||||
MP3("mp3", false),
|
||||
OGG("ogg", false),
|
||||
;
|
||||
@Getter
|
||||
private String fileExtension;
|
||||
SoundFormat(String fileExtensionIn, boolean enabledInCaseOfStrictMode) {
|
||||
this.fileExtension = fileExtensionIn;
|
||||
this.enabledInCaseOfStrictMode = enabledInCaseOfStrictMode;
|
||||
}
|
||||
|
||||
@Getter
|
||||
private boolean enabledInCaseOfStrictMode;
|
||||
|
||||
@Override
|
||||
public boolean isThisFeatureEnabledForStrictMode() {
|
||||
return enabledInCaseOfStrictMode;
|
||||
}
|
||||
public SoundFormat getTargetFormat() {
|
||||
return this == BLP ? WAV : this;
|
||||
}
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
package com.openeggbert.core.sound;
|
||||
|
||||
import com.openeggbert.core.image.*;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public class SoundManager {
|
||||
|
||||
}
|
@ -18,13 +18,12 @@
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
package com.openeggbert.entity.gameplay;
|
||||
package com.openeggbert.core.sound;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public class Buldozer {
|
||||
public class SoundSheet {
|
||||
|
||||
}
|
115
core/src/main/java/com/openeggbert/core/sound/SoundType.java
Normal file
@ -0,0 +1,115 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
|
||||
// Copyright (C) 2024 the original author or authors.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation, either version 3
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see
|
||||
// <https://www.gnu.org/licenses/> or write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
package com.openeggbert.core.sound;
|
||||
|
||||
import com.openeggbert.core.release.Release;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author robertvokac
|
||||
*/
|
||||
public enum SoundType {
|
||||
CLICK(0),
|
||||
MEDIUM_JUMP(1),
|
||||
HIGH_JUMP(2),
|
||||
FALLING_ON_FLOOR(3),
|
||||
HEAD_WAS_BANGED_THE_HEAD_SOUND(4),
|
||||
TURNING_ON_THE_OTHER_SIDE(5),
|
||||
ALMOST_FALLED(6),
|
||||
LOOKING_DOWN(7),
|
||||
INSTANT_DEATH(8),
|
||||
NEW_LIFE(9),
|
||||
EXPLOSION(10),
|
||||
ONE_TREASURE_WAS_COLLECTED(11),
|
||||
ONE_EGG_WAS_COLLECTED(12),
|
||||
REACHED_GOAL_BUT_NOT_TREASURES_ARE_COLLECTED(13),
|
||||
REACHED_GOAL_BUT_AND_ALL_TREASURES_ARE_COLLECTED(14),
|
||||
HELICOPTER_IS_BEING_STARTED(15),
|
||||
HELICOPTER_IS_WORKING(16),
|
||||
HELICOPTER_IS_BEING_STOPPED(17),
|
||||
HELICOPTER_IS_WORKING_IN_REDUCED_POWER(18),
|
||||
//19
|
||||
//20
|
||||
//21
|
||||
LOG_JUMP(22),
|
||||
FALLING_IN_WATER(23),
|
||||
SWIMMING_IN_WATER(24),
|
||||
SAILING_TO_WATER_SURFACE(25),
|
||||
DROWNED_IN_THE_WATER(26),
|
||||
//27
|
||||
JEEP_IS_BEING_STARTED(28),
|
||||
JEEP_IS_WORKING(29),
|
||||
JEEP_IS_BEING_STOPPED(30),
|
||||
JEEP_IS_WORKING_IN_REDUCED_POWER(31),
|
||||
GOODBYE_BEFORE_VISITING_ANOTHER_WORLD(32),
|
||||
OPENING_DOORS(33),
|
||||
//34
|
||||
//35
|
||||
MONKEY_SOUND_IF_TOO_LONG_HANGING_ON_BAR_WITHOUT_AN_ACTIVITY(36),
|
||||
FEET_TAPPING(37),
|
||||
PUSHING_CASE_FORWARD(38),
|
||||
PULLING_CASE_BACKWARD(39),
|
||||
HEAD_WAS_BANGED_THE_BLUPI_VOICE(40),
|
||||
JUMPING_FROM_SPRING(41),
|
||||
COLLECTED_SHIELD_AND_INSTANTLY_USING(42),
|
||||
SHIELD_LOST_EFFECT(43),
|
||||
LOLLIPOP_EFFECT_STARTED(44),
|
||||
LOLLIPOP_EFFECT_ENDED(45),
|
||||
SIGHING_FROM_THE_FATIGUE_OF_PUSHING_THE_CASE(46),
|
||||
//47
|
||||
ANGRY_FROM_PULLING_THE_CASE_FOR_TOO_LONG_TIME(48),
|
||||
FEAR(49),
|
||||
LICKING_LOLLIPOP(50),
|
||||
//51
|
||||
//52
|
||||
EMPTY_TANK(53),
|
||||
//54
|
||||
RECHARGING_DEVICE_EFFECT_STARTING(55),
|
||||
RECHARGING_DEVICE_EFFECT_ENDING(56),
|
||||
DRINKING_INVISIBILITY_POTION(57),
|
||||
//58
|
||||
//59
|
||||
HAPPY_BECAUSE_COLLECTED_ONE_DYNAMITE(60),
|
||||
HAPPY_BECAUSE_FIRED_ONE_DYNAMITE(61),
|
||||
//62
|
||||
//63
|
||||
SPLASH_OF_WATER(64),
|
||||
STICKING_OUT_THE_TONGUE(65),
|
||||
//66-69
|
||||
CRUSHER_EFFECT(70),
|
||||
//71
|
||||
BRIDGE_IS_COLLAPSING(72);
|
||||
|
||||
|
||||
|
||||
|
||||
//LAST_TREASURE_WAS_COLLECTED(12)
|
||||
|
||||
;
|
||||
@Getter
|
||||
private int number;
|
||||
SoundType(int numberIn, Release... featureLevels) {
|
||||
this.number = numberIn;
|
||||
}
|
||||
|
||||
}
|