From 3c98079fc175ee5ca7117a103d6db2b1f741b4da Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Mon, 10 Apr 2017 10:04:49 +0200 Subject: [PATCH 01/13] Fix money not being saved on death screen --- .../lonamiwebs/klooni/screens/GameScreen.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/core/src/io/github/lonamiwebs/klooni/screens/GameScreen.java b/core/src/io/github/lonamiwebs/klooni/screens/GameScreen.java index f27ba70..624ab34 100644 --- a/core/src/io/github/lonamiwebs/klooni/screens/GameScreen.java +++ b/core/src/io/github/lonamiwebs/klooni/screens/GameScreen.java @@ -125,6 +125,7 @@ class GameScreen implements Screen, InputProcessor, BinSerializable { if (!gameOverDone) { gameOverDone = true; + saveMoney(); holder.enabled = false; pauseMenu.showGameOver(gameOverReason); if (Klooni.soundsEnabled()) @@ -150,13 +151,7 @@ class GameScreen implements Screen, InputProcessor, BinSerializable { // Save the state, the user might leave the game in any of the following 2 methods private void showPauseMenu() { - // Calculate new money since the previous saving - int nowScore = scorer.getCurrentScore(); - int newMoneyScore = nowScore - savedMoneyScore; - savedMoneyScore = nowScore; - Klooni.addMoneyFromScore(newMoneyScore); - - // Show the pause menu + saveMoney(); pauseMenu.show(); save(); } @@ -275,6 +270,14 @@ class GameScreen implements Screen, InputProcessor, BinSerializable { //region Saving and loading + private void saveMoney() { + // Calculate new money since the previous saving + int nowScore = scorer.getCurrentScore(); + int newMoneyScore = nowScore - savedMoneyScore; + savedMoneyScore = nowScore; + Klooni.addMoneyFromScore(newMoneyScore); + } + private void save() { // Only save if the game is not over and the game mode is not the time mode. It // makes no sense to save the time game mode since it's supposed to be something quick. From 2457cccb06e7c70b214d56eea5e963f675ed3ccb Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Mon, 10 Apr 2017 10:25:15 +0200 Subject: [PATCH 02/13] Fix generate_theme.py not finding the fill color --- themes/generate_theme.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/themes/generate_theme.py b/themes/generate_theme.py index 233513a..31fab81 100755 --- a/themes/generate_theme.py +++ b/themes/generate_theme.py @@ -5,8 +5,11 @@ import re import os import subprocess -color_re = \ - re.compile('') + +fill_re = \ + re.compile('fill:#([0-9a-f]+)') template = '''{{ "name": "{name}", @@ -90,9 +93,14 @@ def work(filename): xml = f.read().replace('\n', '') replacements = {} - for m in color_re.finditer(xml): + for m in group_id_re.finditer(xml): + f = fill_re.search(m.group(0)) + if not f: + raise ValueError( + 'Error: The object %s missing the fill attribute' % m.group(1)) + # Append 'ff' because the themes require the alpha to be set - replacements[m.group(1)] = m.group(2)+'ff' + replacements[m.group(1)] = f.group(1) + 'ff' replacements['name'] = input('Enter theme name for "{}": '.format(name)) replacements['price'] = input('Enter theme price: ') From 361152822838b8134fee2f485a4197f598ea4233 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Mon, 10 Apr 2017 10:25:42 +0200 Subject: [PATCH 03/13] Add first non-free theme --- android/assets/themes/bandw.theme | 24 ++++++++++++++++++++++++ android/assets/themes/theme.list | 1 + 2 files changed, 25 insertions(+) create mode 100644 android/assets/themes/bandw.theme diff --git a/android/assets/themes/bandw.theme b/android/assets/themes/bandw.theme new file mode 100644 index 0000000..e121e7c --- /dev/null +++ b/android/assets/themes/bandw.theme @@ -0,0 +1,24 @@ +{ + "name": "Black et White", + "price": 20, + "colors": { + "background": "0a0a0aff", + "buttons": [ + "4d4d4dff", + "4d4d4dff", + "4d4d4dff", + "4d4d4dff" + ], + "empty_cell": "000000ff", + "cells": [ + "f2f2f2ff", "f2f2f2ff", "f2f2f2ff", + "f2f2f2ff", "f2f2f2ff", "f2f2f2ff", "f2f2f2ff", + "f2f2f2ff", "f2f2f2ff" + ], + "current_score": "b3b3b3ff", + "high_score": "f9f9f9ff", + "bonus": "f9f9f9ff", + "band": "4d4d4dff" + }, + "cell_texture": "basic.png" +} diff --git a/android/assets/themes/theme.list b/android/assets/themes/theme.list index 8443421..22714f5 100644 --- a/android/assets/themes/theme.list +++ b/android/assets/themes/theme.list @@ -1,2 +1,3 @@ default dark +bandw From 38e37a087fadb8dac801d3a4c7605df11bf23407 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Mon, 10 Apr 2017 10:27:48 +0200 Subject: [PATCH 04/13] Update to v0.5 --- android/build.gradle | 4 ++-- build.gradle | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index c3070d7..53e2aa2 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -22,8 +22,8 @@ android { minSdkVersion 8 targetSdkVersion 25 - versionCode 400 - versionName "0.4" + versionCode 500 + versionName "0.5" } } diff --git a/build.gradle b/build.gradle index 0a3ce47..51d2020 100644 --- a/build.gradle +++ b/build.gradle @@ -16,7 +16,7 @@ allprojects { apply plugin: "eclipse" apply plugin: "idea" - version = '0.4' + version = '0.5' ext { appName = "1010! Klooni" gdxVersion = '1.9.5' From 5b942374e8e3f3fd0ba75833ed7f61ebe1c1ec53 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Sun, 7 May 2017 10:53:37 +0200 Subject: [PATCH 05/13] Create an abstract class to challenge friends (#10) --- .../lonamiwebs/klooni/ShareChallenge.java | 87 +++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 core/src/io/github/lonamiwebs/klooni/ShareChallenge.java diff --git a/core/src/io/github/lonamiwebs/klooni/ShareChallenge.java b/core/src/io/github/lonamiwebs/klooni/ShareChallenge.java new file mode 100644 index 0000000..b3bc28a --- /dev/null +++ b/core/src/io/github/lonamiwebs/klooni/ShareChallenge.java @@ -0,0 +1,87 @@ +package io.github.lonamiwebs.klooni; + +import com.badlogic.gdx.Gdx; +import com.badlogic.gdx.files.FileHandle; +import com.badlogic.gdx.graphics.Color; +import com.badlogic.gdx.graphics.GL20; +import com.badlogic.gdx.graphics.Pixmap; +import com.badlogic.gdx.graphics.PixmapIO; +import com.badlogic.gdx.graphics.Texture; +import com.badlogic.gdx.graphics.g2d.BitmapFont; +import com.badlogic.gdx.graphics.g2d.SpriteBatch; +import com.badlogic.gdx.graphics.glutils.FrameBuffer; +import com.badlogic.gdx.math.Matrix4; +import com.badlogic.gdx.scenes.scene2d.ui.Label; +import com.badlogic.gdx.utils.BufferUtils; +import com.badlogic.gdx.utils.ScreenUtils; + +import java.io.File; + +public abstract class ShareChallenge { + + // Meant to return the file path to which the image will be saved + // On some platforms it might be as simple as Gdx.files.local().file() + abstract File getShareImageFilePath(); + + // Meant to share the saved screenshot at getShareImageFilePath() + public abstract void shareScreenshot(final boolean saveResult); + + // Saves the "Challenge me" shareable image to getShareImageFilePath() + public boolean saveChallengeImage(final int score) { + final File saveAt = getShareImageFilePath(); + if (!saveAt.getParentFile().isDirectory()) + if (!saveAt.mkdirs()) + return false; + + final FileHandle output = new FileHandle(saveAt); + + final Texture shareBase = new Texture(Gdx.files.internal("share.png")); + final int width = shareBase.getWidth(); + final int height = shareBase.getHeight(); + + final FrameBuffer frameBuffer = new FrameBuffer(Pixmap.Format.RGB888, width, height, false); + frameBuffer.begin(); + + // Render the base share texture + final SpriteBatch batch = new SpriteBatch(); + final Matrix4 matrix = new Matrix4(); + matrix.setToOrtho2D(0, 0, width, height); + batch.setProjectionMatrix(matrix); + + Gdx.gl.glClearColor(Color.GOLD.r, Color.GOLD.g, Color.GOLD.b, 1); + Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); + + batch.begin(); + batch.draw(shareBase, 0, 0); + + // Render the achieved score + final Label.LabelStyle style = new Label.LabelStyle(); + style.font = new BitmapFont(Gdx.files.internal("font/x1.0/geosans-light64.fnt")); + Label label = new Label("just scored " + score + " on", style); + label.setColor(Color.BLACK); + label.setPosition(40, 500); + label.draw(batch, 1); + + label.setText("try to beat me if you can"); + label.setPosition(40, 40); + label.draw(batch, 1); + + batch.end(); + + // Get the framebuffer pixels and write them to a local file + final byte[] pixels = ScreenUtils.getFrameBufferPixels(0, 0, width, height, true); + + final Pixmap pixmap = new Pixmap(width, height, Pixmap.Format.RGBA8888); + + BufferUtils.copy(pixels, 0, pixmap.getPixels(), pixels.length); + PixmapIO.writePNG(output, pixmap); + + // Dispose everything + pixmap.dispose(); + shareBase.dispose(); + batch.dispose(); + frameBuffer.end(); + + return true; + } +} From ac990ae05d7d7cca06acaf2effcf552dad72c594 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Sun, 7 May 2017 10:54:32 +0200 Subject: [PATCH 06/13] Allow challenging your friends on Android (closes #10) --- android/assets/share.png | Bin 0 -> 137532 bytes .../lonamiwebs/klooni/AndroidLauncher.java | 13 ++--- .../klooni/AndroidShareChallenge.java | 51 ++++++++++++++++++ .../io/github/lonamiwebs/klooni/Klooni.java | 8 +++ .../lonamiwebs/klooni/actors/SoftButton.java | 8 ++- .../klooni/screens/PauseMenuStage.java | 21 +++++++- 6 files changed, 91 insertions(+), 10 deletions(-) create mode 100644 android/assets/share.png create mode 100644 android/src/io/github/lonamiwebs/klooni/AndroidShareChallenge.java diff --git a/android/assets/share.png b/android/assets/share.png new file mode 100644 index 0000000000000000000000000000000000000000..7342cc9e46564cdad5c846947b20e5a467db1c0e GIT binary patch literal 137532 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 Kb6Mw<&;$T5JczCU literal 0 HcmV?d00001 diff --git a/android/src/io/github/lonamiwebs/klooni/AndroidLauncher.java b/android/src/io/github/lonamiwebs/klooni/AndroidLauncher.java index bd09751..96b3c6a 100644 --- a/android/src/io/github/lonamiwebs/klooni/AndroidLauncher.java +++ b/android/src/io/github/lonamiwebs/klooni/AndroidLauncher.java @@ -7,10 +7,11 @@ import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration; import io.github.lonamiwebs.klooni.Klooni; public class AndroidLauncher extends AndroidApplication { - @Override - protected void onCreate (Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - AndroidApplicationConfiguration config = new AndroidApplicationConfiguration(); - initialize(new Klooni(), config); - } + @Override + protected void onCreate (Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + final AndroidApplicationConfiguration config = new AndroidApplicationConfiguration(); + final AndroidShareChallenge shareChallenge = new AndroidShareChallenge(this); + initialize(new Klooni(shareChallenge), config); + } } diff --git a/android/src/io/github/lonamiwebs/klooni/AndroidShareChallenge.java b/android/src/io/github/lonamiwebs/klooni/AndroidShareChallenge.java new file mode 100644 index 0000000..cdc14ac --- /dev/null +++ b/android/src/io/github/lonamiwebs/klooni/AndroidShareChallenge.java @@ -0,0 +1,51 @@ +package io.github.lonamiwebs.klooni; + + +import android.content.Context; +import android.content.Intent; +import android.net.Uri; +import android.os.Handler; +import android.widget.Toast; + +import java.io.File; + +class AndroidShareChallenge extends ShareChallenge { + + private final Handler handler; + private final Context context; + + AndroidShareChallenge(final Context context) { + handler = new Handler(); + this.context = context; + } + + @Override + File getShareImageFilePath() { + return new File(context.getExternalCacheDir(), "share_challenge.png"); + } + + @Override + public void shareScreenshot(final boolean ok) { + handler.post(new Runnable() { + @Override + public void run() { + if (!ok) { + Toast.makeText(context, "Failed to create the file", Toast.LENGTH_SHORT).show(); + return; + } + + final String text = "Check out my score at 1010 Klooni!"; + final Uri pictureUri = Uri.fromFile(getShareImageFilePath()); + final Intent shareIntent = new Intent(); + shareIntent.setAction(Intent.ACTION_SEND); + shareIntent.setType("image/png"); + + shareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, ""); + shareIntent.putExtra(Intent.EXTRA_TEXT, text); + shareIntent.putExtra(Intent.EXTRA_STREAM, pictureUri); + + context.startActivity(Intent.createChooser(shareIntent, "Challenge your friends...")); + } + }); + } +} diff --git a/core/src/io/github/lonamiwebs/klooni/Klooni.java b/core/src/io/github/lonamiwebs/klooni/Klooni.java index 3b844e9..b60e7d2 100644 --- a/core/src/io/github/lonamiwebs/klooni/Klooni.java +++ b/core/src/io/github/lonamiwebs/klooni/Klooni.java @@ -21,6 +21,8 @@ public class Klooni extends Game { public static Theme theme; public Skin skin; + public ShareChallenge shareChallenge; + public static boolean onDesktop; private final static float SCORE_TO_MONEY = 1f / 100f; @@ -32,6 +34,12 @@ public class Klooni extends Game { //region Creation + // TODO Possibly implement a 'ShareChallenge' + // for other platforms instead passing null + public Klooni(final ShareChallenge shareChallenge) { + this.shareChallenge = shareChallenge; + } + @Override public void create() { onDesktop = Gdx.app.getType().equals(Application.ApplicationType.Desktop); diff --git a/core/src/io/github/lonamiwebs/klooni/actors/SoftButton.java b/core/src/io/github/lonamiwebs/klooni/actors/SoftButton.java index f61ec83..1ce1f94 100644 --- a/core/src/io/github/lonamiwebs/klooni/actors/SoftButton.java +++ b/core/src/io/github/lonamiwebs/klooni/actors/SoftButton.java @@ -19,17 +19,21 @@ public class SoftButton extends ImageButton { //region Constructor - public SoftButton(int styleIndex, String imageName) { + public SoftButton(final int styleIndex, final String imageName) { super(Klooni.theme.getStyle(styleIndex)); this.styleIndex = styleIndex; - image = Theme.skin.getDrawable(imageName); + updateImage(imageName); } //endregion //region Public methods + public void updateImage(final String imageName) { + image = Theme.skin.getDrawable(imageName); + } + @Override public void draw(Batch batch, float parentAlpha) { // Always update the style to make sure we're using the right image. diff --git a/core/src/io/github/lonamiwebs/klooni/screens/PauseMenuStage.java b/core/src/io/github/lonamiwebs/klooni/screens/PauseMenuStage.java index 10c4cea..b21f85c 100644 --- a/core/src/io/github/lonamiwebs/klooni/screens/PauseMenuStage.java +++ b/core/src/io/github/lonamiwebs/klooni/screens/PauseMenuStage.java @@ -1,8 +1,10 @@ package io.github.lonamiwebs.klooni.screens; +import com.badlogic.gdx.Application; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Input; import com.badlogic.gdx.InputProcessor; +import com.badlogic.gdx.files.FileHandle; import com.badlogic.gdx.graphics.GL20; import com.badlogic.gdx.graphics.glutils.ShapeRenderer; import com.badlogic.gdx.math.Interpolation; @@ -13,7 +15,10 @@ import com.badlogic.gdx.scenes.scene2d.actions.RunnableAction; import com.badlogic.gdx.scenes.scene2d.ui.Table; import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener; +import java.io.File; + import io.github.lonamiwebs.klooni.Klooni; +import io.github.lonamiwebs.klooni.ShareChallenge; import io.github.lonamiwebs.klooni.actors.Band; import io.github.lonamiwebs.klooni.actors.SoftButton; import io.github.lonamiwebs.klooni.game.BaseScorer; @@ -31,8 +36,10 @@ class PauseMenuStage extends Stage { private final ShapeRenderer shapeRenderer; + private final Klooni game; private final Band band; private final BaseScorer scorer; + private final SoftButton playButton; //endregion @@ -40,6 +47,7 @@ class PauseMenuStage extends Stage { // We need the score to save the maximum score if a new record was beaten PauseMenuStage(final GameLayout layout, final Klooni game, final BaseScorer scorer, final int gameMode) { + this.game = game; this.scorer = scorer; shapeRenderer = new ShapeRenderer(20); // 20 vertex seems to be enough for a rectangle @@ -90,8 +98,7 @@ class PauseMenuStage extends Stage { }); // Continue playing OR share (if game over) button - // TODO Enable both actions for this button? Or leave play? - final SoftButton playButton = new SoftButton(2, "play_texture"); + playButton = new SoftButton(2, "play_texture"); table.add(playButton).space(16); playButton.addListener(new ChangeListener() { @@ -143,6 +150,16 @@ class PauseMenuStage extends Stage { } void showGameOver(final String gameOverReason) { + if (game.shareChallenge != null) { + playButton.updateImage("share_texture"); + playButton.addListener(new ChangeListener() { + public void changed(ChangeEvent event, Actor actor) { + game.shareChallenge.shareScreenshot( + game.shareChallenge.saveChallengeImage(scorer.getCurrentScore())); + } + }); + } + band.setMessage(gameOverReason); show(); } From 5adaf8915c29e5b705ffbc24b1790f5228c8e6f4 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Sun, 7 May 2017 10:54:48 +0200 Subject: [PATCH 07/13] Update gradle --- build.gradle | 2 +- gradle/wrapper/gradle-wrapper.properties | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build.gradle b/build.gradle index 51d2020..cf9b08f 100644 --- a/build.gradle +++ b/build.gradle @@ -7,7 +7,7 @@ buildscript { } dependencies { classpath 'de.richsource.gradle.plugins:gwt-gradle-plugin:0.6' - classpath 'com.android.tools.build:gradle:2.2.3' + classpath 'com.android.tools.build:gradle:2.3.1' classpath 'com.mobidevelop.robovm:robovm-gradle-plugin:2.3.0' } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 2d5bc7c..c69932f 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sat Jan 21 20:46:40 CET 2017 +#Thu May 04 19:58:22 CEST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip From 23d349d081d62ced427589050350e9c64d99e583 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Sun, 7 May 2017 11:43:43 +0200 Subject: [PATCH 08/13] Fix build on non-android systems --- .../io/github/lonamiwebs/klooni/desktop/DesktopLauncher.java | 2 +- html/src/io/github/lonamiwebs/klooni/client/HtmlLauncher.java | 2 +- ios/src/io/github/lonamiwebs/klooni/IOSLauncher.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/desktop/src/io/github/lonamiwebs/klooni/desktop/DesktopLauncher.java b/desktop/src/io/github/lonamiwebs/klooni/desktop/DesktopLauncher.java index dbd83d5..f9f2e3b 100644 --- a/desktop/src/io/github/lonamiwebs/klooni/desktop/DesktopLauncher.java +++ b/desktop/src/io/github/lonamiwebs/klooni/desktop/DesktopLauncher.java @@ -14,6 +14,6 @@ public class DesktopLauncher { config.addIcon("ic_launcher/icon128.png", Files.FileType.Internal); config.addIcon("ic_launcher/icon32.png", Files.FileType.Internal); config.addIcon("ic_launcher/icon16.png", Files.FileType.Internal); - new LwjglApplication(new Klooni(), config); + new LwjglApplication(new Klooni(null), config); } } diff --git a/html/src/io/github/lonamiwebs/klooni/client/HtmlLauncher.java b/html/src/io/github/lonamiwebs/klooni/client/HtmlLauncher.java index 2229472..cdb4719 100644 --- a/html/src/io/github/lonamiwebs/klooni/client/HtmlLauncher.java +++ b/html/src/io/github/lonamiwebs/klooni/client/HtmlLauncher.java @@ -14,6 +14,6 @@ public class HtmlLauncher extends GwtApplication { @Override public ApplicationListener createApplicationListener () { - return new Klooni(); + return new Klooni(null); } } diff --git a/ios/src/io/github/lonamiwebs/klooni/IOSLauncher.java b/ios/src/io/github/lonamiwebs/klooni/IOSLauncher.java index fc18d90..0a78b49 100644 --- a/ios/src/io/github/lonamiwebs/klooni/IOSLauncher.java +++ b/ios/src/io/github/lonamiwebs/klooni/IOSLauncher.java @@ -11,7 +11,7 @@ public class IOSLauncher extends IOSApplication.Delegate { @Override protected IOSApplication createApplication() { IOSApplicationConfiguration config = new IOSApplicationConfiguration(); - return new IOSApplication(new Klooni(), config); + return new IOSApplication(new Klooni(null), config); } public static void main(String[] argv) { From 5281be4dd453aa9278954287418882eccdacc64c Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Sun, 7 May 2017 11:44:03 +0200 Subject: [PATCH 09/13] Update resources (palette, add original share image) --- android/assets/ui/x0.75/palette.png | Bin 1448 -> 1121 bytes android/assets/ui/x1.0/palette.png | Bin 1954 -> 1566 bytes android/assets/ui/x1.25/palette.png | Bin 2442 -> 2040 bytes android/assets/ui/x1.5/palette.png | Bin 2948 -> 2542 bytes android/assets/ui/x2.0/palette.png | Bin 4021 -> 3584 bytes android/assets/ui/x4.0/palette.png | Bin 8282 -> 7727 bytes original-resources/buttons.svg | 175 +++++----- original-resources/share.svg | 482 ++++++++++++++++++++++++++++ 8 files changed, 556 insertions(+), 101 deletions(-) create mode 100644 original-resources/share.svg diff --git a/android/assets/ui/x0.75/palette.png b/android/assets/ui/x0.75/palette.png index 0c421f660b192334660281987f0e098700ba8e4e..5d2636069628b8d191551f93975cd9e4f6974e86 100644 GIT binary patch delta 1026 zcmZ3%{g7iqZawooPZ!6KjK;S!V>?7sC63p>-<3T{dPVJmyI)e5sW~QY<2>dT=_n#r zD-g2AHAF##h4rOtK=oDEyCD~nN(3*uI&nBg?7sMI=iQcW@0D9p7f$s`o4skryPu_o z)ej7;jnkiw?z0_p@tMG`3#$&iT6!R~{y^n{qy$a_RvGp> zR=38#iY+h0Dm7Ym`P4@J4X{nJ`xkOQ@O{wpxty2hzH)xGpvr3bOOv{w`9aUOAFi1G zYsIf*&&!@~g7fp2{*1ozSJyx;-68gd&*SbZ<+l^|Of&pCDQ!ml^1kUNo84=JV%OhW zkQZ8idg1Tb*yv+_m|vxMe!g9Q^<2vh?<@L6FZx$rH%a;zxi#q0pAO0BB~|+_mPPe1 zezj`Rv&|CbQ5pFw7E3;UciQm!X-lDiyQ}q1CI9Q}QJ6aO$+M#-{ImY7h@F$XuewNW z!LH458{)o(xHW_uZHc}$q2ZNsW}{vRe>#Wut4%!0v2NV!rlr|Ah5ic?S7-gTps)Tz z0iSXFQIoS#M+&zcWxhMxx#UvITLZD@zgg}&Ogfh#{dW)J=T-G9(nFa`rLHPe?odAb zC+qU|yMbQ|x4Pe5V3)s7JW_1$)z05s9mjkl*t53(D)n@BtyDbYW5=}Sbd^bx4AZa1 zSeN!Gya&u4bTJvuI=F6u9{ab8hb~8QOTK1!SO4sPrd&cM`-Xo$yEPok*#p))RLSoU z-NCa%u43woo&WUaOUqaR0&z@ngvg#-M$e3uUR`q(#WPRoJ z)v&Z&_HCZefA!z5R5ol{^3n6FWvSyana{oV9%a69u$@p;m^_zdm-h_&WpUF*_ovO% zyZqjzp8Z38ao4v+RvV>lbHW>Z6`kecHnc^4ao!W6#U(I#)MUz{dyEkPVQc^&%UyK&farcucrO@At26t z*d;zB%9r)Wv=`oIIUg`3=$>p}#F%J?~E zuWsaSZM?K-np@oK=S<~7rp$S4L9c&GsWlirkWS!`;8T>*w<;G}x=ZlY%>z;irW-_7 ve0%55gTe~DWM4fkL>`a delta 1356 zcmaFJv4VR-Zau52r;B4qM&sL=*&S0tC63pprvrow@h? zpWh$e|)*heQGIvtyCFe$FyGcfq$_V8&SsF=5rN=XF zT5Ls+{<)v@+9+7_H&+hJsyS6ltreyg^sO?f|FVr|o2^IdYp+1R309|UzC06Po!8FD z=}{#S@#@;?mJboz6(*R@Fg&zoLDzz_E}a4oLe&CaiC&o}uG-psA^u+;^Sa{KiA)!Y z<*M{={_bA2;Ei07+E<=KXO@aEIwlAmJ)?d|Yt_t02GO4vi2P97%w@}X=G5}=l8sYc zzJ(YmW{cJr?NZKHIl}e*qa+tMPs0-C19xhwmp+>CLu^+a`%(pyt5QD~opO5pIc51o z5oSLlr`?+cpH(nKockYazL%El;`f?_ zzaN^IWf8-6JgMNB&1C&~-33N7 z6z*(bToq>JdQ*-eXZ6px>SBA_m^1M?W-GO?b;MU3kF<&4pSfAz;rDqz-8ycD`kR$q zGvBOQIOFx_OIg~lz6g2L%bnOag(UV*rhW0l$qB=+4el%!I{mFS^S?c7k65pN6 zC(qp~d_$b!+l@-^9lcp$H;-vA?(4L9=kLNJO@~pLOVrU9DnY zu=BlTfQxFNSg@n*ywa_*FIi;t)YGk>yS~-aSbciiz097Q^EIEDF`xex{-l0#iM34M z1MS97t_GVM*Sx%w(X+C-zP(WPLbSwGJr=J8Chr%CA2OV=ZK}@4LN=Z=#qBNm;6Yt9o1KPx#WYWMS?$6<3wqDO2QJFKT-7PMYSe zb*9bvl8tAzd&Cb;&-_!5Q;!u0M=HE5_OxXcxTF2DVTtLaJjp)2`=7moR0H};B{od> zb5GXwNaN!JbqVGhu1j2g^?mzopr0C&}f9RL6T diff --git a/android/assets/ui/x1.0/palette.png b/android/assets/ui/x1.0/palette.png index ec20a93bfa1b8f00871bd139ae312a1c2a9def72..489844b920ad29876ec1488a1a0c9d61b77b9890 100644 GIT binary patch delta 1475 zcmZ3)KaXcZZawR4PZ!6KiaBp*XRe727CB!3dz(g*hSdxqSFh|}34IHf8oDOQMQJ9< z*$XNuwsahsq99}(C@&>6g@rTd;v_E~UuWr6YiD_fvgrEH{#SEj`=>qkiqF|SpI4oK z^tY<{`@?su*M5zEKF@Z|UU?p)6AJ&+oz}~&=1oXXP)`uq5c#=&v(S&FKY!Y^d`MP* z{343!%ESYK2Us3BB-jKN2%c`JJRp6bN8r$-KGsO{R|Q{{zWSE-el_sl>vMO@^Z|lu)|z(a9WDAQR{A;a^q^8x&U_up>%(70z^-u>K%(W}2l z-~WAA@ATElyHx*KeEluQop-c8>g%!)*`@cTOO+p#J=mr7m-`3r48Ai=bqw27{bmO@ zto6QCCA7n)Wy7v*FRr}3a#Oad$oPt&WZm|_<>4ECF8bJbRjIDLG_kko_vblhrYY26Rz9%di)AC7mG4EqvaO&6`PxzzXL?-kL`zH6&KU)_H7yzuWkQAYLi zvQNJb|GG-+(ec&xYE~5ycMBc<7al9O?mz5xY>WRZ26p$LB3tGdaIWy_(bW@Ap)n1A4hC4qsP_sPj)T*ioMJV0rqN z{Yz4q&gB_1t~&nAaz={GnV^V3r4NFVX7@H9ajQSJ<5~Xno!e%WT|IkMRh6eUQ0YT& z@tc%BMdlozJm)VCefdun@;781o&RdXkq5`0-FO*%Uh_qL*RD;ou1(uxaN%IzD|u0# zxzlDeNDJkh4d@SRH~Y;K*dH+8^zT-m)Tz57|1-$1$;fDA4V6qTs@F;^_TBvVRhQw? zqMF5$4>BG+s-L2Mv#Ibvch>2NKCtGgd_#rF7*u&WM{n!6A!((4-_eKR% z#shzZa)T>HEzDa!6lb*y9IC&3Ea-iU1E(#0!=PjiPZ2u!)X=!)Lmh9~r&l8D8UKgG28kKgm(Mbk zUA27G{xFHVn>FgYE?cczqxq4)^!7hqd4HaqiB*fMnyei6#>~CB>_(VOX!DPWY5pJk zd2?zK*j=_9ULqwlA@tGf;PTk(>liQ8+`pH7J+pU;m9A7rl~O_KvFqPk1g33yRZ?<& zUcTYyoUk_Sj`;~?KWo-i8qfOWG@WHxL2h)sC>*>$hW82zP!j+P!tH?jz|0sSj2gX6$IXEp&s~q9tO&P3`6X z(~ms;lD>A|8La{z#(9d@p8r2>;~x|FFKXBFLhqX|C(rcTc&2Idu`4P*Mt|!rv>nj; zDpy)@`_b=u)kO2JbML*j4j-3y-i+Sq$;)+51M*-nYIb}9MC z+ggwH-u$tyOdENfId&9N9D<<+FNfC0-P|@sojpfx*+&&t;ucLK6V1 CTIDzZ delta 1866 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 diff --git a/android/assets/ui/x1.25/palette.png b/android/assets/ui/x1.25/palette.png index 59b648975f3febcb7f08342bb40e2c03b15c5929..a4d3b9a6d7535997ffb3e850bcbd0510e97a2bff 100644 GIT binary patch delta 1953 zcmeAY{=q*Xx1PP!)5S5QV$Rz+)oWs0WslnzXKLn7Y!aE$&c-@%y6z8+rVDP$E?qZR zg03tG>uFomDOJ;;ViwfAXOfiiMS;#4zdSm6S1N2_V$7+yB9>jLx@AG`K{4*NOQ&u7 z^7CW=&D+<$y_;uQeD2=cNq<#l-??M^{QK{7`RVEDb)RQ5+g5$4e{pfKyV}CbOkDx( zjQQ+t=Ko4LKEyvTO|bnC#gSOu{^YGaV+cRPJ^neId-x@o_i$H4A6#qQu=GIifusbx z4<`~>w=QN3>1R}96mBf;+`F3Z8dEv*=0;1!mbIog-`c!d_-g8_n$qQO)0bBDRz)no z9miSPQ`NpJQ=rLAK>CVgY`wV0*PPOI&6jTnRfNvXk}3Wkej+DdAY&AUK%@$CiiSu>BVINT`Rxc++LdgnjF zGbEfMf}Slq#Teqx{Eo$MW!7pI?ncWaZuzWzOll0z84qjUh-LQSQnU$+OysJ6B`$j> z^Q7>ro4Q|QmfnlIcs#8%X*aX@mDk!_x~J#9a_s!IZ^^qA53)D^`dG%AKjYVJDW;&d z%2$o5rE#$rpSyj%v#Z%WsCGk^iPt7yTTSQe`GxDkTfe?qS<3oe;cFvTlG%!A<9D+| z9Y3dQzj*t+^6T2r=JExF>q4fvUp@J1MO*#c1@qSU1z%Ua^`nOM?&2QX9a{Bf3irOqttV64O;{w$B$;-D>{0eJ9hp(*&S$>FcBCeJBYz9DjNWbJVVGq+XKSD((#aOV1cDDJ1j*TM&fQ<*o2pJzy4(%1S* zy<_KIBMuv09cDA8_bhfE|IF3f%^MDvvtF3NynDIYV|#wZnyoJux%o#q=-hqbcI>?+ zTU_YkhuT-;SGSw(J}{$RYnK0aHvWW|hFDcG{Yy1blTSxI;CoQ_KsAA7? z{+U|Ou%G$PokYXCC!GJP1{1XYcy=`>ob4@vhv;pRw!o)x{IGe_>27jdB&= zT+4Cv^oq1SJb&0`u>YC8V~?cwpVq$~x}Uz)Z)5rDnPi!(B~-t0dAooaZ$*7$9K#ZpLEnep1P+Aw^jSZn30ne~!Z{vp$+d@4|%nHBOd2 zkVe8nEpdiFr8V#{nNj%QMwifb0dOngyX zdtlX(?#*5ajmk#vy;G$PEL#fVeZT#4m~&n1Bin`@{1s*w3*L1ty{kR5?_ZVt<-EFk)(xqS zm#=(E4%T1ja$ad&^yv>)h9CHa z>re7C`!VY=`e|fpw@WIv-10WRqItx{!#Irj{XO-GNnfiT9elPtm*XBscl+l5tHo{? zi@&?Ji*@VF$F~wbvpqN>_FjK!mqx!b?jyY$J8t5u31#S=k3{b{kpF#MVZVGRdns^xVbFs~ZTgke^!Mg88`aj2IqusF=U2_sRl9!doZ;Du3boez(E@vxtt|WMe&D;8Yu*0@ z*^fUBwL3D`B_6nVB>mEoyrQ=Z%NWf?mL89K7rMfpZQslnU(OynePD{fq58j?;^Lvn zv8;cVY+CXzLH&dAgC|!Ws3y-*ekvpKM(khGF*~oD3Vs3MrQ7CiHIBF4zqawVcE{o? zx2^8HSoJ30{kCPoFC(Szy;5(KJW%~gz|g~n{R~T5n?P7u6wj-Gui4kCXRObQ3&`Kt z`#4&*-&T?{hOegi;7Mk&jU7L3?7pd3-?IGn+cn!}i9UWjSx<@WGt+`QpVa4vH?&Kw z->KLl+WbU3Blu$fM@i=CO!JlO1k|@yXtr)Wu=qf8?{(u)v&*Y5eOsmZSnhDeBfG;9 z4@#1Zww(B0^`P}wHs=SG4H_*Q_QXaNzwo#j`S^7m%f?%Y=O0Jj?(C0`5_Y k>dOnMi;Ish_-Oxc>m-*W&P#VOFfcH9y85}Sb4q9e0Anu5B>(^b delta 2358 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 diff --git a/android/assets/ui/x1.5/palette.png b/android/assets/ui/x1.5/palette.png index 04160d96b77873ab8d812ddc57b5e7ed143271a2..c1ebaaf3c93f541643345ec99d02690cd8e4cf6d 100644 GIT binary patch delta 2459 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 v{CY09=H-|8VoFRK8>F(N`TkH?+cT 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 U-25e+fq{X+)78&qol`;+0K|`KTL1t6 diff --git a/android/assets/ui/x4.0/palette.png b/android/assets/ui/x4.0/palette.png index ec5e56e499a61c1343b0d328b451b15dd10ff923..9dff51ecb45d2a1c460edba3668501a342953bc3 100644 GIT binary patch delta 7684 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 PFfe$!`njxgN@xNA68oa# delta 8244 zcmZ2)bIV~uZoT|QSf{X{VWId^l}Q1r6Iy0DIi1RzboQIw{@=%E9z44# zHSOD+&vT4FSMQJe%@vvU{O7y0`S)##&jlZlNbWH_1|{kdOzf<8ov#_xq(ZjJNbp}_ zNd8sR!_*bTugkQmx;B&h0;dUctV8gt;?e_B3&d84PJH)ZKlfx^Z3b4S(C!Aw1AZ&* zmor~(Sh><(omFO`SOoW;$-gSBzkclN$l=?OYs{d{P+9L0s?J=^yg69jn$eo+sa`Q} z67L744FVAidvuh}<|&J^X)_ouU!~k=+i1DhZkZLYX^rgxp$C-@I3Hwca~#~jBw)NM zicy9^X2!420t=30u6Xd3;Xi{M(=(>^T^+l6r^v5iaGA4;>z?+X^v1)DwT(f`7v70x zyu*4&RVm-%oKSXs7=w~Vsp~(72N4e{61r}?Ox(t@L;Q!mVCD7F89O#I2?(x=;;fOg z;It50Q8HVjOr(Nshh#;7%dR`eI@z@u_?G6KmF1elRwF3!(k$>^1p6JnJ3318JNSfC z!x&@&uI_C#ZWM0Z*!TF!X1xcD57L!BZF+4Gn8K={vMP$VM)HSR{f6C-Em|||3YK=* zJhk$e62ZtZW7WI%>o5ITv}BGOevtVvU+GiJYlXlBRt1JtQ9L!AJ2>)_`a0*a9$2bm zbiPzz`Wl8G8m8LseIDHZ@a)#?7u8%lRs=j3j$r)IxXO=3kMZ2Gbx)25nipsnOzl`x zF01Af#?a;%x}8anbsu9-flU2zo_OH`)eoPYBKPI6DzLAz65YXL(fwlG2IHO8vOkt} z=oHARWP~wnTCmFWz|#Y*5y#J$bKU7IuT5xvZQ!_(X+q$-env1`iW*9vu;m<$*~?=tTYym7u%Ojz=DePe#d ziTD`ykKTt$8&(8fHC$E2d`~R&+E3qn;YRk*uYFhM^xxPl=-`!=dhce%;lGA`k7vB7 z=C=rR`S;N3L_q{2Lr7`)gY7qzWGBxpd*CGabL(q`omwxLChXevUv|&x->v)3PCI$` z|HHG=9e0l{WsPPC`Ree%`~cs&%`^6F5P7d#e=zB~~oUWn;`&Y%iwDMTS^+?y@71w{&itrzwYx!%1dCQs8 zyF6yUR%kx?n`yzS%Z>M$*>|2x;yTClz(O$cxz!1WPgN3YR>ia4J7BfHFggCg`&Cw_ zOD8neKY7ZbP+I-|`GM=P>6$9iFVYNi_xQ7CzgRRaZ`O;2vZ|d%O)O7UB>WAd0}q*a z&Gcoxta0{y{E_-w95TX3pB}CJUL1aP=7HJ+dFwWdG<_}kD0BAA;+b2Yl!>{Uy1wyN zWe-03?dR@OyCf|fUF6DTmu%mo#jvVM=U$`0wiNS((=Y2EFq&;{5c^}Zv{-7X%xMk2 zq!hb-_HSACX(^TO=9@H4oK;~f_xr0A;lDmVs_t54wQFZ@?;aQL1#f*8PuVPST>VqN z%LJBlViWK0;A5)15E-=l%bo7>qIH}dO#PP*#O5qIeEs^LM$Q5WWy`sRQ;z-*-)hc! zPJH6*81~Mu{-$5+>g)ABa9)r66v^$Gw@mLt_}@mKg;Tm`9GLPaYTd#LYu>vrj9hZK z8&=6N-f7-@pFhObHs)+p*rk^y?v|W-iAuYlU4Q7+wSCqH@pVi`K3R3In#XL@Rr=3i z?egyTpBH{U$A7_Z()>+*;hCkfNBx=ZO!!q>rWD5N5GuUtSMdY21vg6P)z@6};1A#2 z$Lo?_{YP)g>xlC~w_@EtPG&G)^=johseaZ_UDkID|BjYUtGV9#$@$ub9=_{=zd}8m z=5H_+{+u1@&R;O8YMpf1~xm`DG+cL@TUE1W=5_PK?o-Hd|!soh#yJ1xx z`x$1Z-;E-h_@>+!obOy9x6n{XT%$IO*JjZw<3kxbn^+w}?HO(O&y>tv8enrGElauN zV!np0#`cNf&r6p0vd9Hp4RkaYImxtOl{JGu^W@lcO_5xc$|-Eu4L5C@v8`se_JnQ1 z^#%S}v#Jx6!Wn|r|EXu*Ry23%1RFnPU6t75Cr-{^SuU%n;m)|7<)*_Du7*|bIKrUk2ZGoELh9Fs1o_qN62?!v0s-{xHZ z=m= zNN^raUYH^@C6{^WWd|j*`lqh$-8Fx{DCx=^&$w>b6vXl;F!Z~~MA16Cjh|;WtlDLI zZ|%NZ8TXSOn^>dbTDM(aXx+|zA&5)V`cTK+g(bWG|12uBl;31?NVwi;B17G2vktbxVx2Xw`C7PR`^U0i>xExS-!CrV>ah_ywe72Z z`nD*~O-j$^%I}FaySHert>i;1uL;i>u0NWa{g6BTsZr^kPm3$mSGi1gI(<5zT6xPJ zi#_M=hdj3+eNA9m{k9o?|6cmr)#^*$U|z4!>%D^2A=IC#P9kmg%~zRC zz2#1q9_Bt>w%_sep@Lgn+0Ew-wmiT1ebU0yp`{VZFE4O4tdeWkzOemsbU*XOyc=KG zUvwUr@}uqe!sN&gZ(Wjjs>*U~3?(Dr{=<(BLJ z!hUXbPuNyBb5``^sSex@S-T%!Zpt~#pWD4~_qF=cu0~T^;XB38gO{IN{$7>+a>M^K z-@2K!8CLBwFNh5||9<(ipX-Eq))lLktmAsN^LXHyjIO52PZQ3b*9 zh!H&VdD`RzzNrUoDmjh?&JoW~t_fj|nRt@9R-0kvUGMh|KmMqd)~_v}t6=RIx7uRb z#f`GeGKW{(NaMe7bJec10sNneSw7Sz$ji^yFSz^Bl9~BLF8d;%T<1)k`|kaVIu5Ta zlU45WYB=3iH9?=%A@utpZHA4HvV{9$zOw8oe6QKFP$O;q(*I7rZ`Q}NyvSZ#%&?TSiE2k963D+y_ z-uAAz=TX3>xbHzH_L*Mzf8yu;h|qrazLQ^HFJ55rJXhonhw*#6kRr9mO6GhP4O)K5 zYhFtf8e5kx{Fhv$#jx_b$aQ}0AQqA1uVfZ|_$=pYdOxWq9~HoA&A}nqrc&#?imkC>bJ`>`YmZIRto7!dZGRItws$3MMjH~odO>g0td9^Rb(So4{C&e4}Wys7ezjC{+wUe7r6&T!5`iNNFE|GI>^ zhK822h)r~_pM5fmea&vQ9ZR>>Nq)^-ap!s|m%r@YJMOmUFZ%d17*8%+*fe=XBKz$J zhx1DhqzL}ZVDs6=`oQtQ=ep%ZYac#*k;`#w_LPH1@|~5E{x0mxo3~)%^USo%2L4Z1 zdaU)Z>B>rTt(Tu^aXa26&f~x8W2OnWvR?djP_n$XSu(4hQR-rSbLuL-rdNk!mP^cF z^3F&W%-!QDt^Gpg(}{~L1~Y}qmNm^?`CxKS$Db#QZ3?G$#LWEXZN~b*^FfD#kgMZk z;R}BbUFheIUL>S8M|^Mi|AQ)xR=Xnn&2?2WRXZ1jOjt07MOY(ENVTbZI2>{+ue z*?-_r*n0XsSHkNFPOd@E+3y+NwdG|rQwk_$2$A<<+Svzes8(%3eDB?5uf7g0>{toG` zX@1SCm>1SevzP2Wc}Yj&fo{Vpzk|~Mo*&=1(eAQdMm$%p_uk7@lio_!OsvrUbt>KI z=(>QM*|#LNi*=l+WA0@*cgX60!;&MfkBIJOdL?UcX)oh0bLUN0rDZ)j%ca+6EZIKU z|09dX4XJu@VOisZ2Z9HFAK13=nBlP&&&G-JyWcEXRh=;R{)`&+17?3?%l`%4@a!@4 zJM&^agUFFR^~pT9^8y({O3ef&$A0QDJZ!S@J;#Bz|Hnl70&BS&bRA5W6ib9$3$k7FmAYAe@tXS3FD2knOw;|!i!chZD9~yclgJ`b~UR=Px0)R3pwAb zs4VQ5C}P|flooJC;<{mPXH#3!o?iRp+drrB&8nD|_U!T@C#y))C)Y)cr+Ix_IH`8! zGmowne2Oa#FDkF9;`mVC^IGBNs}xh|oxN;wUVAS+chg8#X*cRKUXhS4FDxZoIlH@Y z=DOgN#j|lGZ-0N57B=+dOlW#7;_P|pjFw&+Z#ZA}j{5nWOK0=m zIaTDhwA-|CTWU`-FK5D@*CNd?)09tJ&UKUH-g?(eY-5l9<#U$;ZkwvP^iI@cxO-*O zoXK-b59OI{YBJ79o;dkiFK2`^lf-i?*ZQiAB-Q(8UTll|V7bqg{q&q?25JnxoC{8s zcJ+I2n$?~8JomaI!;3^?`2xQO*X4WaIU}771?RAAX}o{wOwDz}Z5K{zT`N!x-g&K5 z?eCHTzu}I06HM(r4Vwb;IJ9+ArqRp=*{(gGKE#qtIzN0V6 zXkt$DH1UPGf?M<(zinUeSN6Ta@r8ZmdUEe&@5byi4tc{9`ukvq?TO8?pToLWl`$+` zH+f0@+6OvO6$eXu7^fP{oN42t6jgeeVM5C@@dY0PGpfX*;+Wokc>l8dxWm=u3!YU- z)XJ#1{rG+-Pex{1>-kzx*ycp5-?e zWv#GeRI8EJD&t)4`~R#!=vzgl$Fru^%uW0E&g$3%uNn0xbmZJM3T2lTd^I_6?DoQU zV)+^GeVDTPnos_pXQgjvHp#)2=|$08mIdAXnSCEF?BA|;?edY$>yky5t>aI;`g21@ zc0}pI$LIJbwEVI^c*!>5>VC&fM+@imtQDSkj>X`})d>YT&-5$YryXyee!XScYv+hk z#yyt8S@}J2?w93O?5&p*d;eyyYUjSI4|xA78!}})%3r6Pvb6PQhDla>o%goGw^lzm z8yWDM`~CaCYde|lSu&aZxm7x8;U3;N#*AW_7P(m&$G-;XS$p2f?JBq+CD*8GeR!7k z-sq~rg>yH2%896*`C6qpk|~aHMY&9i**%Vw%KQsam3K>9{#?2IqIALcdOLR6_q+Wj z@BaG#t?2rUD4qbGoFbVPzpx#B6DIF?*0*Jvc*4(<7dGB06{=se_tfl2i-$JXJ%2^< z+~ZJSVm${oU!%MNW?pR@B_{eiVhl_s&QXIN7%)26a^o$?cvbvu=pE@!;= z*Cgl1+Se)vUsZ@-`@8+MNT&Ct{}UO$KaNmbr@j8sENi7Iv+B9~UrJv0Jhbs&)QhOs zR;&jOeW_Pzn9A3@#3=-1=ZYktpsEpovA`YrcG3?hM# zt(@xpx{_zz-kHL^r`lx8zGqgRKg|Bty;yqUU>4IokN>JdtP6Txu2X)pWJ+#~d&fc* z9edWO_%hiez3+NARIWSC!tL^8v8OqwU?!tel=IE~JLHZ89^1A~`N;WI-3gzW*9Gs` z`m=8O+VijfPXA)`z+9H)r-!BWM1{K9+98{!zvlQD^uJzx#omLZT;FFs=lwh5LC(hO zaVlI50cSYAl}IXPAMNRWd*W#4InjH2>zLQCOFJq~*}3;Jvr&jy+D3Z?06@boAP_mrNhr?D_ewYV>towX0rid9AeN$Bhrx z*AL%&QD`jxVBx;`9`)i4*9-UPSU8FHU|#DeuoZ z%*{U$ekiQxVajzww$PLJLJB9mmiTyKFXJnv{l7uDNJ+QT~Jr zeUJa_?%=VwxIUk82EWU*RlNa6MCu;Bk=dukmnL23F1UEk7WwG2=NsJ~?dZ&qs*ISi zmUmbE)k|Wm4lY)W?##WDx3Wy$F=u6rzo4>nRobn^emgb4d)fY7ege75{QRqz zraicKQ0~J0g$tVN8nv&=oZNQDS@bviEkDcK#?AMQCw41Usw;^_#h1=i*yXjYZPkTm z6aOrHf9LDdTDVaXc!=x&^tnxm7HCb3Mq-NN+dBsDO*FO$l{kQHl z%SF>~Armgt?QfgYdi8y3Zs=Zii;Lea_65zF>2CY|@)2VVSxX!DCa-4(v-AzR7Qfw* zZ?6*laI2P*!BUkbA%kkpDenc`lKneROmw!*SkU>sT=*xGLP()NsEiB0@0L$Sx;jgG zmzHemc~{qGt&ya%v_8k#(mLSey^u}%M|+AV*!F+Dl03JbVex*6u;=V2GQMAIbYob0 zKr5kXe&?YnOXjMqRmoI!l;qS(-uXJCz$uMBrlS={z(H^+>9 z(gLq%%5a|2OygPVvv9`8Yd;S^Dm#Arh1B2H4OaFC_>F55_OmKH4a?D~Pu~=pQmkgD z7RVU9j(hdipGuQHuKmNv?U42M!{>c2My-o0oMwdYe4Kdc`=L3%e*evpv$?^+@ZeV> zi(#ur*8+=Kr+3a>af4SaRw^vJUT9+a=ATUqxehcRxOC_9j3yJMIBOerwLs3>_e8Hf zlg~Y%db9500#=36mJPX2@-_vRHoUH9xoGh9dBDEph_!!xT*6X*yE?DS54~!Xz-plR z+h>`=);$dQtk$X4pN`GvzMRLidh7OvyRJ)YZ|lpv(q&M(#27Q%TPt{h*7w#;GuH+0 zFn+b!z;w&$blU@xJ4@y3?WqYVo1(*f-04*ZbF+Ecl`Mp^f7*Wrh!CVg*I>CU!2I zbkg9V({;^5!KDmms&vkD2An%Ut@pna94L-@Q>9iq?Y{^I##3lW|}-}pKQkL_c^JiObh}O zzcKlnf0x8ZTNp4ES+J>UQCE2%qCxVSo0mpzWD?3;GS$zt2y z5AP;k__XM?%Ff9_^)tT2&iK=8kpFq9E|Z%ya6oD_-S1NPV-m;bh2nwTk~1 z`L{ppSZT+!?4HE4KD)hp*=1Ce_RZIv_cgj<%augt@Eyp*y_6u3)be!WqZ1dVHRQN#ffrbB$7_uf`j@|Ie>BYL@xl8I(>x~mG@h7~= z)NA{ldAeb7(Dl1ahHnnP3n{g_7v0FT<6(Bq)xCmY@m$jR?331Au5f$9DSWQgaCt@g zkDZ_S9~dibvOD2cWBE2Hl%M4v*S7WBPCEXM-tg^sK)v~jeDNK|(^s_2nw;=w`<~+8 zcd7*~qFn6uZQXjl#`;}YsQ!^M0i(n97dOh7-F-M$=gvl*8{4{8C0;QMC}s+&KX!Y& zzLXq;pV-7}22!8D?#T}Q%lpC9e*R?32{@JkQ+h1=Y-7a#~X63oqXdE>bm8dhCnIM1~E$KN~0o-E{V(C<8P zT2JbHrQ89BAmgca%sStH@9aHkTz~NPsned%+ZnhR8amc6_OUR{+>_vQrj+46+dhe7 zQ~w?O@lR}ldFWlyib)dl4KsSq-(&k1>JnEf%fckZxTL=Ggwg|n9DB#)Ne9+9+AhBI zQ}KbI!>m>380N91wOpKMD7abTy;l8`X-;fbOdi4$pB{KvQ9Qd>Q$+Sa|A)A*%GZA? zE&-|UJ39MiNy3b`QjZT@KJZgX=;h+CPLhmEI#0Mg;86I&$$zXR#q>j{prz8Qx$;hW z3?D9fI;%4;l$}wZ=fh#fe4lZf_(bcN_LCti@)>^xT{Ui)y)m}cr)KNpxpPXlzOMeY zvmlBAJk#QTLzYQc|L%dg2Sk-VHNH03Sro^>5VBQj2d~AsLXqUQOReR+ua7Hz>U(W) zSoD`^!@mv>bPp%(s&dJb9+O$FF{Q$C@(P zV_PFc8%#piGU*+x&Q93OaW=q=xwz4~VY#b|?DNi^2(bo}(7B!4r+yOe{P{hp<~pZM zlXT)!JehBaPCoytBvKN^?C*SJ6ygzIQZg3H`9b=t9~=r+aKf8 z)>V01ksf%5+h)S7&@7`V;j9Y2q5TJb zb1ee--{XPy0oDUK#|zIK-^%#;V_f~y_rij={p=E0Lm4iGgnsbTvyy&)uF==9%(>CE zV*BfP49_|}cHj1BU8=zCkiW`G%7W8^*ZQgjPw4^Uitu;x8*f(RiPkW_@C~)^+@AQd z^FYb*!cVT+ADHg_{i)tif5T_biw&SDzq!5P9Dc0ZN@djjW;L=_ynp(f@%(L_Jum7v zF->R;F|=T_5W6A&d*|0McAX=y-+XRtRl4-lY|_aof0fcbLzh1kZT5dGTVr)9cTs>T z(|X4BOzRoecbtgMQ=a*71Cs&Iswkc}t>w2aK0F|k&~iE8U*?1PvbKMpS1U~_nRV*N zDXxb8Al5|jg!xyF%Oq4UxRJU}(d5C}iSd(ueXiHtb2(@F&7-^iq_Zj{tcv0~!&Jsn z#!$wzj4`<3q(fxGS@p)K1lbRY8`$2rJbSvbKUHay;(>3zMt%mQp+?$i%`>w+`e(<_-G<%(j`pCfw0x*>%zQ5N_x8|Lp9X X<*#FRe=A^MU|{fc^>bP0l+XkK@r$ds diff --git a/original-resources/buttons.svg b/original-resources/buttons.svg index 87900c0..b4643dc 100644 --- a/original-resources/buttons.svg +++ b/original-resources/buttons.svg @@ -10,12 +10,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="500" - height="500" + width="533.33331" + height="533.33331" viewBox="0 0 500.00001 500.00001" id="svg2" version="1.1" - inkscape:version="0.91 r13725" + inkscape:version="0.92.1 r15371" sodipodi:docname="buttons.svg"> @@ -102,14 +102,14 @@ borderopacity="1" inkscape:pageopacity="0" inkscape:pageshadow="2" - inkscape:zoom="1.4142136" - inkscape:cx="45.55858" - inkscape:cy="225.22462" + inkscape:zoom="1.1041667" + inkscape:cx="228.62228" + inkscape:cy="19.981203" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" inkscape:window-width="1366" - inkscape:window-height="744" + inkscape:window-height="742" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" @@ -118,7 +118,11 @@ units="px"> + id="grid4248" + originx="0" + originy="0" + spacingx="1" + spacingy="1" /> @@ -159,7 +163,7 @@ inkscape:export-xdpi="90" inkscape:export-filename="/home/lonami/button_up" style="opacity:1;fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" - d="m 4.5449252,998.2813 c -2.8585,3.9506 -4.5449200236115,8.8096 -4.5449200236115,14.08 l 0,16 c 0,13.296 10.7039998236115,24 23.9999998236115,24 l 16,0 c 4.9535,0 9.54683,-1.4871 13.36133,-4.039 l -27.91016,0 c -11.58215,0 -20.9062498,-9.3241 -20.9062498,-20.9063 l 0,-29.1347 z" + d="m 4.5449252,998.2813 c -2.8585,3.9506 -4.5449200236115,8.8096 -4.5449200236115,14.08 v 16 c 0,13.296 10.7039998236115,24 23.9999998236115,24 h 16 c 4.9535,0 9.54683,-1.4871 13.36133,-4.039 h -27.91016 c -11.58215,0 -20.9062498,-9.3241 -20.9062498,-20.9063 z" id="path4252" inkscape:connector-curvature="0" /> @@ -209,7 +213,7 @@ rx="24" /> @@ -272,42 +276,11 @@ width="64" id="rect4218" style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> - - - - - - - + buttons + y="836.78644" + style="font-size:15.69341087px;line-height:1.25">buttons cells + y="799.33905" + style="font-size:15.69341087px;line-height:1.25">cells @@ -634,24 +607,24 @@ style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> @@ -729,7 +702,7 @@ @@ -757,21 +730,21 @@ transform="translate(-357.12497,7.2166511)"> + transform="translate(-340)"> + transform="translate(-350)"> measures + y="587.79303" + style="font-size:40px;line-height:1.25">measures 2px radius + sodipodi:role="line" + style="font-size:10.25197601px;line-height:1.25">2px radius 4px patch + y="668.15973" + style="font-size:10.25197601px;line-height:1.25">4px patch + transform="rotate(90)" /> + transform="rotate(90)" /> 24px radius + y="600.63055" + style="font-size:10.25197601px;line-height:1.25">24px radius 28px patch + sodipodi:role="line" + style="font-size:10.25197601px;line-height:1.25">28px patch @@ -1099,7 +1072,7 @@ + transform="rotate(-45)" /> diff --git a/original-resources/share.svg b/original-resources/share.svg new file mode 100644 index 0000000..fbcbf6f --- /dev/null +++ b/original-resources/share.svg @@ -0,0 +1,482 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From fbff065a8d00919ebb928c5a8c38d6a77c762c71 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Sun, 7 May 2017 15:40:13 +0200 Subject: [PATCH 10/13] Allow customizing both button image color and text --- android/assets/themes/bandw.theme | 4 +- android/assets/themes/dark.theme | 4 +- android/assets/themes/default.theme | 4 +- .../io/github/lonamiwebs/klooni/Theme.java | 22 +- .../github/lonamiwebs/klooni/actors/Band.java | 2 + .../klooni/actors/MoneyBuyBand.java | 1 + .../lonamiwebs/klooni/actors/SoftButton.java | 2 + .../lonamiwebs/klooni/actors/ThemeCard.java | 26 +- themes/generate_theme.py | 4 +- themes/template.svg | 421 +++++++++--------- 10 files changed, 240 insertions(+), 250 deletions(-) diff --git a/android/assets/themes/bandw.theme b/android/assets/themes/bandw.theme index e121e7c..fa1c91b 100644 --- a/android/assets/themes/bandw.theme +++ b/android/assets/themes/bandw.theme @@ -3,6 +3,7 @@ "price": 20, "colors": { "background": "0a0a0aff", + "foreground": "f0f0f0ff", "buttons": [ "4d4d4dff", "4d4d4dff", @@ -18,7 +19,8 @@ "current_score": "b3b3b3ff", "high_score": "f9f9f9ff", "bonus": "f9f9f9ff", - "band": "4d4d4dff" + "band": "4d4d4dff", + "text": "f0f0f0ff" }, "cell_texture": "basic.png" } diff --git a/android/assets/themes/dark.theme b/android/assets/themes/dark.theme index 654e204..df7b253 100644 --- a/android/assets/themes/dark.theme +++ b/android/assets/themes/dark.theme @@ -3,6 +3,7 @@ "price": 0, "colors": { "background": "333333ff", + "foreground": "ddddddff", "buttons": [ "03c13dff", "007da4ff", @@ -18,7 +19,8 @@ "current_score": "c83737ff", "high_score": "d400aaff", "bonus": "e3e3e3ff", - "band": "2b5ccfff" + "band": "2b5ccfff", + "text": "ffffffff" }, "cell_texture": "basic.png" } diff --git a/android/assets/themes/default.theme b/android/assets/themes/default.theme index 595d0e6..ee6b2c6 100644 --- a/android/assets/themes/default.theme +++ b/android/assets/themes/default.theme @@ -3,6 +3,7 @@ "price": 0, "colors": { "background": "ffffffff", + "foreground": "ffffffff", "buttons": [ "00ff33ff", "ffd700ff", @@ -18,7 +19,8 @@ "current_score": "ffcc00ff", "high_score": "65d681ff", "bonus": "4d4d4dff", - "band": "87ceebff" + "band": "87ceebff", + "text": "111111ff" }, "cell_texture": "basic.png" } diff --git a/core/src/io/github/lonamiwebs/klooni/Theme.java b/core/src/io/github/lonamiwebs/klooni/Theme.java index 12ff1d6..489210f 100644 --- a/core/src/io/github/lonamiwebs/klooni/Theme.java +++ b/core/src/io/github/lonamiwebs/klooni/Theme.java @@ -24,12 +24,14 @@ public class Theme { private int price; public Color background; + public Color foreground; public Color emptyCell; public Color currentScore; public Color highScore; public Color bonus; public Color bandColor; + public Color textColor; private Color[] cells; private Color[] buttons; @@ -84,6 +86,20 @@ public class Theme { return new Theme().update(handle); } + // Used to determine the best foreground color (black or white) given a background color + // Formula took from http://alienryderflex.com/hsp.html + // Not used yet, but may be useful + private final static double BRIGHTNESS_CUTOFF = 0.5; + + public static boolean shouldUseWhite(Color color) { + double brightness = Math.sqrt( + color.r * color.r * .299 + + color.g * color.g * .587 + + color.b * color.b * .114); + + return brightness < BRIGHTNESS_CUTOFF; + } + //endregion //region Theme updating @@ -105,8 +121,9 @@ public class Theme { price = json.getInt("price"); JsonValue colors = json.get("colors"); - background = new Color( // Java won't allow unsigned integers, we need to use Long - (int)Long.parseLong(colors.getString("background"), 16)); + // Java won't allow unsigned integers, we need to use Long + background = new Color((int)Long.parseLong(colors.getString("background"), 16)); + foreground = new Color((int)Long.parseLong(colors.getString("foreground"), 16)); JsonValue buttonColors = colors.get("buttons"); buttons = new Color[buttonColors.size]; @@ -125,6 +142,7 @@ public class Theme { highScore = new Color((int)Long.parseLong(colors.getString("high_score"), 16)); bonus = new Color((int)Long.parseLong(colors.getString("bonus"), 16)); bandColor = new Color((int)Long.parseLong(colors.getString("band"), 16)); + textColor = new Color((int)Long.parseLong(colors.getString("text"), 16)); emptyCell = new Color((int)Long.parseLong(colors.getString("empty_cell"), 16)); diff --git a/core/src/io/github/lonamiwebs/klooni/actors/Band.java b/core/src/io/github/lonamiwebs/klooni/actors/Band.java index db3e3e8..e789ac9 100644 --- a/core/src/io/github/lonamiwebs/klooni/actors/Band.java +++ b/core/src/io/github/lonamiwebs/klooni/actors/Band.java @@ -65,9 +65,11 @@ public class Band extends Actor { scoreLabel.setBounds(x + scoreBounds.x, y + scoreBounds.y, scoreBounds.width, scoreBounds.height); scoreLabel.setText(Integer.toString(scorer.getCurrentScore())); + scoreLabel.setColor(Klooni.theme.textColor); scoreLabel.draw(batch, parentAlpha); infoLabel.setBounds(x + infoBounds.x, y + infoBounds.y, infoBounds.width, infoBounds.height); + infoLabel.setColor(Klooni.theme.textColor); infoLabel.draw(batch, parentAlpha); } diff --git a/core/src/io/github/lonamiwebs/klooni/actors/MoneyBuyBand.java b/core/src/io/github/lonamiwebs/klooni/actors/MoneyBuyBand.java index d4f5088..59ecfd4 100644 --- a/core/src/io/github/lonamiwebs/klooni/actors/MoneyBuyBand.java +++ b/core/src/io/github/lonamiwebs/klooni/actors/MoneyBuyBand.java @@ -182,6 +182,7 @@ public class MoneyBuyBand extends Table { } } setColor(Klooni.theme.bandColor); + infoLabel.setColor(Klooni.theme.textColor); super.draw(batch, parentAlpha); } diff --git a/core/src/io/github/lonamiwebs/klooni/actors/SoftButton.java b/core/src/io/github/lonamiwebs/klooni/actors/SoftButton.java index 1ce1f94..d79c7ff 100644 --- a/core/src/io/github/lonamiwebs/klooni/actors/SoftButton.java +++ b/core/src/io/github/lonamiwebs/klooni/actors/SoftButton.java @@ -1,5 +1,6 @@ package io.github.lonamiwebs.klooni.actors; +import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.g2d.Batch; import com.badlogic.gdx.scenes.scene2d.ui.ImageButton; import com.badlogic.gdx.scenes.scene2d.utils.Drawable; @@ -44,6 +45,7 @@ public class SoftButton extends ImageButton { Klooni.theme.updateStyle(style, styleIndex); style.imageUp = image; + getImage().setColor(Klooni.theme.foreground); super.draw(batch, parentAlpha); } diff --git a/core/src/io/github/lonamiwebs/klooni/actors/ThemeCard.java b/core/src/io/github/lonamiwebs/klooni/actors/ThemeCard.java index 425202c..611e3c8 100644 --- a/core/src/io/github/lonamiwebs/klooni/actors/ThemeCard.java +++ b/core/src/io/github/lonamiwebs/klooni/actors/ThemeCard.java @@ -30,12 +30,6 @@ public class ThemeCard extends Actor { //endregion - //region Static members - - private final static double BRIGHTNESS_CUTOFF = 0.5; - - //endregion - //region Constructor public ThemeCard(final Klooni game, final GameLayout layout, final Theme theme) { @@ -48,9 +42,8 @@ public class ThemeCard extends Actor { priceLabel = new Label("", labelStyle); nameLabel = new Label(theme.getDisplay(), labelStyle); - Color labelColor = shouldUseWhite(theme.background) ? Color.WHITE : Color.BLACK; - priceLabel.setColor(labelColor); - nameLabel.setColor(labelColor); + priceLabel.setColor(theme.textColor); + nameLabel.setColor(theme.textColor); priceBounds = new Rectangle(); nameBounds = new Rectangle(); @@ -112,19 +105,4 @@ public class ThemeCard extends Actor { } //endregion - - //region Private methods - - // Used to determine the best foreground color (black or white) given a background color - // Formula took from http://alienryderflex.com/hsp.html - private static boolean shouldUseWhite(Color color) { - double brightness = Math.sqrt( - color.r * color.r * .299 + - color.g * color.g * .587 + - color.b * color.b * .114); - - return brightness < BRIGHTNESS_CUTOFF; - } - - //endregion } diff --git a/themes/generate_theme.py b/themes/generate_theme.py index 31fab81..6f3925d 100755 --- a/themes/generate_theme.py +++ b/themes/generate_theme.py @@ -16,6 +16,7 @@ template = '''{{ "price": {price}, "colors": {{ "background": "{background}", + "foreground": "{foreground}", "buttons": [ "{button_0}", "{button_1}", @@ -31,7 +32,8 @@ template = '''{{ "current_score": "{current_score}", "high_score": "{high_score}", "bonus": "{bonus}", - "band": "{band}" + "band": "{band}", + "text": "{text}" }}, "cell_texture": "{cell_tex}" }} diff --git a/themes/template.svg b/themes/template.svg index 30f717a..30891d4 100644 --- a/themes/template.svg +++ b/themes/template.svg @@ -1,42 +1,17 @@ - - + id="svg2" + viewBox="0 0 800.00001 700.00001" + height="746.66669" + width="853.33331"> - @@ -50,228 +25,234 @@ + transform="translate(0,-352.36216)" + id="layer1"> + transform="translate(0,-199.99998)"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + d="M 26.857031,798.76837 H 378.28562 V 907.33982 H 26.857031 Z" + style="opacity:1;fill:#00f230;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + transform="translate(0,-199.99998)"> - - - + style="fill:#2182ef;fill-opacity:1" + id="export_button_2" + transform="translate(0,-199.99998)"> + id="rect4153" + style="opacity:1;fill:#2182ef;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> - - - - - - + style="fill:#ce4444;fill-opacity:1" + id="export_button_3" + transform="translate(0,-199.99998)"> + style="opacity:1;fill:#ce4444;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect4155" + width="105.7143" + height="108.57145" + x="266.85712" + y="921.62555" /> + style="fill:#ffcc00;fill-opacity:1" + id="export_current_score" + transform="translate(0,-199.99998)"> + style="opacity:1;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + d="m 106.16769,680.7189 a 20.572971,33.748715 52.281084 0 0 -0.3613,0.23047 h -3.5703 a 31.071428,74.892753 0 0 0 0.207,2.32227 20.572971,33.748715 52.281084 0 0 -17.67971,31.1875 20.572971,33.748715 52.281084 0 0 27.33211,9.97851 31.071428,74.892753 0 0 0 16.5234,18.62501 19.482912,22.977165 0 0 0 -14.6016,18.60157 h 38.4278 a 19.482912,22.977165 0 0 0 -15.1055,-18.75 31.071428,74.892753 0 0 0 16.3164,-18.47853 33.748715,20.572971 37.718916 0 0 27.3379,-9.97656 33.748715,20.572971 37.718916 0 0 -17.6738,-31.1836 31.071428,74.892753 0 0 0 0.2011,-2.32617 h -3.5703 a 33.748715,20.572971 37.718916 0 0 -0.3613,-0.23047 l -0.033,0.23047 h -53.3555 l -0.033,-0.23047 z m -3.2187,8.00977 a 31.071428,74.892753 0 0 0 7.5312,32.01562 16.78108,29.001088 59.891063 0 1 -22.259706,-8.39257 16.78108,29.001088 59.891063 0 1 14.728506,-23.62305 z m 59.8652,0.004 a 29.001088,16.78108 30.108937 0 1 14.7227,23.61915 29.001088,16.78108 30.108937 0 1 -22.2637,8.39062 31.071428,74.892753 0 0 0 7.541,-32.00977 z m -29.9355,4.67774 4.1054,8.31836 9.1797,1.33398 -6.6426,6.47461 1.5684,9.14453 -8.2109,-4.3164 -8.211,4.3164 1.5684,-9.14453 -6.6445,-6.47461 9.1816,-1.33398 z" + id="path4181" /> + + + + + + + + + + + + + + + From d34a566af324ace03a8485b665191d81529e7775 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Sun, 7 May 2017 15:57:10 +0200 Subject: [PATCH 11/13] Improve Black et White theme --- android/assets/themes/bandw.theme | 14 +++++++------- .../github/lonamiwebs/klooni/actors/ThemeCard.java | 6 ++++-- .../lonamiwebs/klooni/screens/PauseMenuStage.java | 5 ++++- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/android/assets/themes/bandw.theme b/android/assets/themes/bandw.theme index fa1c91b..87d7119 100644 --- a/android/assets/themes/bandw.theme +++ b/android/assets/themes/bandw.theme @@ -3,12 +3,12 @@ "price": 20, "colors": { "background": "0a0a0aff", - "foreground": "f0f0f0ff", + "foreground": "202020ff", "buttons": [ - "4d4d4dff", - "4d4d4dff", - "4d4d4dff", - "4d4d4dff" + "f0f0f0ff", + "f0f0f0ff", + "f0f0f0ff", + "f0f0f0ff" ], "empty_cell": "000000ff", "cells": [ @@ -19,8 +19,8 @@ "current_score": "b3b3b3ff", "high_score": "f9f9f9ff", "bonus": "f9f9f9ff", - "band": "4d4d4dff", - "text": "f0f0f0ff" + "band": "f0f0f0ff", + "text": "0a0a0aff" }, "cell_texture": "basic.png" } diff --git a/core/src/io/github/lonamiwebs/klooni/actors/ThemeCard.java b/core/src/io/github/lonamiwebs/klooni/actors/ThemeCard.java index 611e3c8..57ac430 100644 --- a/core/src/io/github/lonamiwebs/klooni/actors/ThemeCard.java +++ b/core/src/io/github/lonamiwebs/klooni/actors/ThemeCard.java @@ -1,5 +1,6 @@ package io.github.lonamiwebs.klooni.actors; +import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.Batch; @@ -42,8 +43,9 @@ public class ThemeCard extends Actor { priceLabel = new Label("", labelStyle); nameLabel = new Label(theme.getDisplay(), labelStyle); - priceLabel.setColor(theme.textColor); - nameLabel.setColor(theme.textColor); + Color labelColor = Theme.shouldUseWhite(theme.background) ? Color.WHITE : Color.BLACK; + priceLabel.setColor(labelColor); + nameLabel.setColor(labelColor); priceBounds = new Rectangle(); nameBounds = new Rectangle(); diff --git a/core/src/io/github/lonamiwebs/klooni/screens/PauseMenuStage.java b/core/src/io/github/lonamiwebs/klooni/screens/PauseMenuStage.java index b21f85c..6b37de1 100644 --- a/core/src/io/github/lonamiwebs/klooni/screens/PauseMenuStage.java +++ b/core/src/io/github/lonamiwebs/klooni/screens/PauseMenuStage.java @@ -5,6 +5,7 @@ import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Input; import com.badlogic.gdx.InputProcessor; import com.badlogic.gdx.files.FileHandle; +import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.GL20; import com.badlogic.gdx.graphics.glutils.ShapeRenderer; import com.badlogic.gdx.math.Interpolation; @@ -183,7 +184,9 @@ class PauseMenuStage extends Stage { // This is the only place where ShapeRenderer is OK because the batch hasn't started Gdx.gl.glEnable(GL20.GL_BLEND); shapeRenderer.begin(ShapeRenderer.ShapeType.Filled); - shapeRenderer.setColor(1f, 1f, 1f, 0.3f); + Color color = new Color(Klooni.theme.bandColor); + color.a = 0.1f; + shapeRenderer.setColor(color); shapeRenderer.rect(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); shapeRenderer.end(); } From 4e5c4fd45315ef2c2b81ccae769371dffe7683d9 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Sun, 7 May 2017 18:29:31 +0200 Subject: [PATCH 12/13] Add a new underwater theme --- android/assets/themes/theme.list | 1 + android/assets/themes/underwater.theme | 26 +++ android/assets/ui/cells/basic.png | Bin 210 -> 337 bytes android/assets/ui/cells/bubble.png | Bin 0 -> 823 bytes .../io/github/lonamiwebs/klooni/Theme.java | 5 +- .../lonamiwebs/klooni/actors/ThemeCard.java | 27 ++- .../github/lonamiwebs/klooni/game/Cell.java | 16 +- original-resources/buttons.svg | 176 +++++------------- original-resources/gen-ui-png.py | 13 +- 9 files changed, 115 insertions(+), 149 deletions(-) create mode 100644 android/assets/themes/underwater.theme create mode 100644 android/assets/ui/cells/bubble.png diff --git a/android/assets/themes/theme.list b/android/assets/themes/theme.list index 22714f5..8ffea23 100644 --- a/android/assets/themes/theme.list +++ b/android/assets/themes/theme.list @@ -1,3 +1,4 @@ default dark bandw +underwater diff --git a/android/assets/themes/underwater.theme b/android/assets/themes/underwater.theme new file mode 100644 index 0000000..6f27107 --- /dev/null +++ b/android/assets/themes/underwater.theme @@ -0,0 +1,26 @@ +{ + "name": "Underwater", + "price": 50, + "colors": { + "background": "0044aaff", + "foreground": "d7f4e3ff", + "buttons": [ + "37c871ff", + "2a7fffff", + "00ccffff", + "5f5fd3ff" + ], + "empty_cell": "0066ffff", + "cells": [ + "37c871ff", "2ad4ffff", "0000d4ff", + "00ffccff", "5599ffff", "87cddeff", "80b3ffff", + "00ff66ff", "00d4aaff" + ], + "current_score": "aaccffff", + "high_score": "2aff80ff", + "bonus": "aaeeffff", + "band": "3771c8ff", + "text": "002255ff" + }, + "cell_texture": "bubble.png" +} diff --git a/android/assets/ui/cells/basic.png b/android/assets/ui/cells/basic.png index e8f30bc0127a2a9eef247ef1782928c7ad2ab870..f242f18cc3003fd58c3ec76cb39fb8b51d0a5796 100644 GIT binary patch delta 285 zcmcb_c#%o5Gr-TCmrII^fq{Y7)59f*fq_89k5NMF z=<11X8ujNqT^vIqTHoIA+8!u;miE1Gr-TCmrII^fq{Y7)59f*fq_8)ggMw47#QR~|4*E#D8V(I-`@u z?23tQ8Y%vsE{-7BP)6l^dMI8sv5{&GL#?b;3&iS{~|VkH#`6U diff --git a/android/assets/ui/cells/bubble.png b/android/assets/ui/cells/bubble.png new file mode 100644 index 0000000000000000000000000000000000000000..54eb12da0649e3760cc4ec4b4bcff47b26e62d42 GIT binary patch literal 823 zcmeAS@N?(olHy`uVBq!ia0y~yU{C>J4mJh`hKCF@W-u@?uoOFahH!9jaMW<5bTBY5 za29w(7Bet#`GGK_gx1m33=9mCC9V-A!TD(=<%vb94CUqJdYO6I#mR{Use1WE>9gP2 zNHH)lZSiz*42fucJHy&P#8KpU{d1<>2e?GC)Ww)4o^wx1Ob{A3gz7U~Z`>)9EV_cJTj|rr@MZo-XQouus~9RS&J?7m@8+@uCffj#CaaEOl=`w zJ#~USQy329N=F=XJ?8Ao5S%9bE$7T1FUy2IdQ9fYvXTng52AOx;C-wVWVC_HATvzS zH(B$;`PJ5|tS*aj>}X%DyYU}OxVf|0#~lZIBpiwkeDZ2w50fiYxSejZm2I2^v&EWnurDXof zhfa4CVm<4oUS-X|T5A@8_3QTuGUduJd8EA)Sm9Ofy?w=>Kyi+SHx6;Vy)QP0 zxu$3{r$osZ_@tdvQ`jxLhF>7f*Ci~9X{MNjkM7E|SC{Zihz*V7Wq7f)qb83#rHWhU ztKc){4|>-GSvTE2Q2d7XPO>hefArn6pW;N`Z~J^!k@X(KdhS>e{)V#;`2KHZO}thR z{?g~H2ou+VbIjK}=Ia^1JD~OMeA`sBeMcLZHh4DAIwt!@>)KY{8uon;{`KAL`hRF* a*K2*|cNc$7d0zy|8VsJUelF{r5}E+#+gf=5 literal 0 HcmV?d00001 diff --git a/core/src/io/github/lonamiwebs/klooni/Theme.java b/core/src/io/github/lonamiwebs/klooni/Theme.java index 489210f..fe66551 100644 --- a/core/src/io/github/lonamiwebs/klooni/Theme.java +++ b/core/src/io/github/lonamiwebs/klooni/Theme.java @@ -38,7 +38,7 @@ public class Theme { public static Skin skin; - public NinePatch cellPatch; + public Texture cellTexture; // Save the button styles so the changes here get reflected private ImageButton.ImageButtonStyle[] buttonStyles; @@ -153,8 +153,7 @@ public class Theme { } String cellTextureFile = json.getString("cell_texture"); - cellPatch = new NinePatch(new Texture( - Gdx.files.internal("ui/cells/"+cellTextureFile)), 4, 4, 4, 4); + cellTexture = new Texture(Gdx.files.internal("ui/cells/"+cellTextureFile)); return this; } diff --git a/core/src/io/github/lonamiwebs/klooni/actors/ThemeCard.java b/core/src/io/github/lonamiwebs/klooni/actors/ThemeCard.java index 57ac430..a4b34f7 100644 --- a/core/src/io/github/lonamiwebs/klooni/actors/ThemeCard.java +++ b/core/src/io/github/lonamiwebs/klooni/actors/ThemeCard.java @@ -29,6 +29,12 @@ public class ThemeCard extends Actor { public float cellSize; + private final static int colorsUsed[][] = { + {0, 7, 7}, + {8, 7, 3}, + {8, 8, 3} + }; + //endregion //region Constructor @@ -64,21 +70,14 @@ public class ThemeCard extends Actor { batch.setColor(theme.background); batch.draw(background, x, y, getWidth(), getHeight()); - // Do not draw on the borders (0,0 offset to add some padding), colors used: - // 0 7 7 - // 8 7 3 - // 8 8 3 - Cell.draw(theme.getCellColor(0), batch, x + cellSize, y + cellSize, cellSize); - Cell.draw(theme.getCellColor(7), batch, x + cellSize * 2, y + cellSize, cellSize); - Cell.draw(theme.getCellColor(7), batch, x + cellSize * 3, y + cellSize, cellSize); - Cell.draw(theme.getCellColor(8), batch, x + cellSize, y + cellSize * 2, cellSize); - Cell.draw(theme.getCellColor(7), batch, x + cellSize * 2, y + cellSize * 2, cellSize); - Cell.draw(theme.getCellColor(8), batch, x + cellSize * 3, y + cellSize * 2, cellSize); - - Cell.draw(theme.getCellColor(8), batch, x + cellSize, y + cellSize * 3, cellSize); - Cell.draw(theme.getCellColor(8), batch, x + cellSize * 2, y + cellSize * 3, cellSize); - Cell.draw(theme.getCellColor(3), batch, x + cellSize * 3, y + cellSize * 3, cellSize); + // Avoid drawing on the borders by adding +1 cell padding + for (int i = 0; i < colorsUsed.length; ++i) { + for (int j = 0; j < colorsUsed[i].length; ++j) { + Cell.draw(theme.cellTexture, theme.getCellColor(colorsUsed[i][j]), batch, + x + cellSize * (j + 1), y + cellSize * (i + 1), cellSize); + } + } nameLabel.setBounds(x + nameBounds.x, y + nameBounds.y, nameBounds.width, nameBounds.height); nameLabel.draw(batch, parentAlpha); diff --git a/core/src/io/github/lonamiwebs/klooni/game/Cell.java b/core/src/io/github/lonamiwebs/klooni/game/Cell.java index 861332e..f4a827d 100644 --- a/core/src/io/github/lonamiwebs/klooni/game/Cell.java +++ b/core/src/io/github/lonamiwebs/klooni/game/Cell.java @@ -2,6 +2,7 @@ package io.github.lonamiwebs.klooni.game; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.Color; +import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.Batch; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.math.Interpolation; @@ -105,11 +106,18 @@ public class Cell implements BinSerializable { //region Static methods - // TODO Use skin atlas - public static void draw(Color color, Batch batch, - float x, float y, float size) { + // Default texture (don't call overloaded version to avoid overhead) + public static void draw(final Color color, final Batch batch, + final float x, final float y, final float size) { batch.setColor(color); - Klooni.theme.cellPatch.draw(batch, x, y, size, size); + batch.draw(Klooni.theme.cellTexture, x, y, size, size); + } + + // Custom texture + public static void draw(final Texture texture, final Color color, final Batch batch, + final float x, final float y, final float size) { + batch.setColor(color); + batch.draw(texture, x, y, size, size); } //endregion diff --git a/original-resources/buttons.svg b/original-resources/buttons.svg index b4643dc..15360c7 100644 --- a/original-resources/buttons.svg +++ b/original-resources/buttons.svg @@ -19,6 +19,18 @@ sodipodi:docname="buttons.svg"> + + + + @@ -94,6 +106,17 @@ y1="1012.8427" x2="-441.97687" y2="1072.3632" /> + + transform="matrix(3.0000588,0,0,3.0000588,0,-2123.8991)"> cells - - - - - - - @@ -847,88 +833,6 @@ x="13.435027" y="587.79303" style="font-size:40px;line-height:1.25">measures - 2px radius - 4px patch - - - - - - - - + + + + diff --git a/original-resources/gen-ui-png.py b/original-resources/gen-ui-png.py index 6335a7e..dc1a3b8 100755 --- a/original-resources/gen-ui-png.py +++ b/original-resources/gen-ui-png.py @@ -36,6 +36,11 @@ ids = [ 'web' ] +cells = [ + 'basic', + 'bubble' +] + inkscape_default_dpi = 90 svg = 'buttons.svg' root = '../android/assets/ui' @@ -55,4 +60,10 @@ for multiplier in multipliers: # -d to specify the DPI run(f'inkscape -z -i{objectid} -j -e{filename} -d{dpi} {svg}', shell=True, stdout=DEVNULL) - + + folder = os.path.join(folder, 'cells') + os.makedirs(folder, exist_ok=True) + for cellid in cells: + filename = os.path.join(folder, cellid + '.png') + run(f'inkscape -z -i{cellid} -j -e{filename} -d{dpi} {svg}', + shell=True, stdout=DEVNULL) From 9663bc5376705a4dfbeabdfc83b0340845de62ed Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Sun, 7 May 2017 18:43:25 +0200 Subject: [PATCH 13/13] Choose a better cell texture depending on screen size --- android/assets/ui/x0.75/cells/basic.png | Bin 0 -> 337 bytes android/assets/ui/x0.75/cells/bubble.png | Bin 0 -> 823 bytes android/assets/ui/x1.0/cells/basic.png | Bin 0 -> 421 bytes android/assets/ui/x1.0/cells/bubble.png | Bin 0 -> 1087 bytes android/assets/ui/x1.0/cells/round.png | Bin 0 -> 302 bytes android/assets/ui/x1.25/cells/basic.png | Bin 0 -> 505 bytes android/assets/ui/x1.25/cells/bubble.png | Bin 0 -> 1388 bytes android/assets/ui/x1.25/cells/round.png | Bin 0 -> 380 bytes android/assets/ui/x1.5/cells/basic.png | Bin 0 -> 655 bytes android/assets/ui/x1.5/cells/bubble.png | Bin 0 -> 1654 bytes android/assets/ui/x1.5/cells/round.png | Bin 0 -> 422 bytes android/assets/ui/x2.0/cells/basic.png | Bin 0 -> 779 bytes android/assets/ui/x2.0/cells/bubble.png | Bin 0 -> 2191 bytes android/assets/ui/x2.0/cells/round.png | Bin 0 -> 491 bytes android/assets/ui/x4.0/cells/basic.png | Bin 0 -> 1528 bytes android/assets/ui/x4.0/cells/bubble.png | Bin 0 -> 4842 bytes android/assets/ui/x4.0/cells/round.png | Bin 0 -> 1063 bytes .../io/github/lonamiwebs/klooni/SkinLoader.java | 2 +- core/src/io/github/lonamiwebs/klooni/Theme.java | 2 +- .../lonamiwebs/klooni/game/BaseScorer.java | 2 +- 20 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 android/assets/ui/x0.75/cells/basic.png create mode 100644 android/assets/ui/x0.75/cells/bubble.png create mode 100644 android/assets/ui/x1.0/cells/basic.png create mode 100644 android/assets/ui/x1.0/cells/bubble.png create mode 100644 android/assets/ui/x1.0/cells/round.png create mode 100644 android/assets/ui/x1.25/cells/basic.png create mode 100644 android/assets/ui/x1.25/cells/bubble.png create mode 100644 android/assets/ui/x1.25/cells/round.png create mode 100644 android/assets/ui/x1.5/cells/basic.png create mode 100644 android/assets/ui/x1.5/cells/bubble.png create mode 100644 android/assets/ui/x1.5/cells/round.png create mode 100644 android/assets/ui/x2.0/cells/basic.png create mode 100644 android/assets/ui/x2.0/cells/bubble.png create mode 100644 android/assets/ui/x2.0/cells/round.png create mode 100644 android/assets/ui/x4.0/cells/basic.png create mode 100644 android/assets/ui/x4.0/cells/bubble.png create mode 100644 android/assets/ui/x4.0/cells/round.png diff --git a/android/assets/ui/x0.75/cells/basic.png b/android/assets/ui/x0.75/cells/basic.png new file mode 100644 index 0000000000000000000000000000000000000000..f242f18cc3003fd58c3ec76cb39fb8b51d0a5796 GIT binary patch literal 337 zcmeAS@N?(olHy`uVBq!ia0y~yU{C>J4mJh`hKCF@W-u@?uoOFahH!9jaMW<5bTBY5 za29w(7Bet#`GGK_gx1m33=9mCC9V-A!TD(=<%vb94CUqJdYO6I#mR{Use1WE>9gP2 zNHH)lobz;X42fucd&8Hn$w0v2VfdmVAydb_{p)VLocSfnMZ8K-+V>dil`HZR<^kfL z!+1?*>K|CvaCL6=eg&oC1a6T7E0*spf57r)Zt?SLu}Yf+1@#Y?icT!eDG*F!3puc4 z`SMHC*u&24}-20RxDQ2kQ&+v1`+|svR6C1biEJ;<+WzLlJ zIPDO{cFAbMG?0*JbB&R!i8Y(7u!B=*#Gm(pyMA&98ogQl*+J6a!{72VQ+}<9Wq3SK k!Tgo~6M^J4@l_1J@@KBA=R6n2z`(%Z>FVdQ&MBb@0HsWP&j0`b literal 0 HcmV?d00001 diff --git a/android/assets/ui/x0.75/cells/bubble.png b/android/assets/ui/x0.75/cells/bubble.png new file mode 100644 index 0000000000000000000000000000000000000000..54eb12da0649e3760cc4ec4b4bcff47b26e62d42 GIT binary patch literal 823 zcmeAS@N?(olHy`uVBq!ia0y~yU{C>J4mJh`hKCF@W-u@?uoOFahH!9jaMW<5bTBY5 za29w(7Bet#`GGK_gx1m33=9mCC9V-A!TD(=<%vb94CUqJdYO6I#mR{Use1WE>9gP2 zNHH)lZSiz*42fucJHy&P#8KpU{d1<>2e?GC)Ww)4o^wx1Ob{A3gz7U~Z`>)9EV_cJTj|rr@MZo-XQouus~9RS&J?7m@8+@uCffj#CaaEOl=`w zJ#~USQy329N=F=XJ?8Ao5S%9bE$7T1FUy2IdQ9fYvXTng52AOx;C-wVWVC_HATvzS zH(B$;`PJ5|tS*aj>}X%DyYU}OxVf|0#~lZIBpiwkeDZ2w50fiYxSejZm2I2^v&EWnurDXof zhfa4CVm<4oUS-X|T5A@8_3QTuGUduJd8EA)Sm9Ofy?w=>Kyi+SHx6;Vy)QP0 zxu$3{r$osZ_@tdvQ`jxLhF>7f*Ci~9X{MNjkM7E|SC{Zihz*V7Wq7f)qb83#rHWhU ztKc){4|>-GSvTE2Q2d7XPO>hefArn6pW;N`Z~J^!k@X(KdhS>e{)V#;`2KHZO}thR z{?g~H2ou+VbIjK}=Ia^1JD~OMeA`sBeMcLZHh4DAIwt!@>)KY{8uon;{`KAL`hRF* a*K2*|cNc$7d0zy|8VsJUelF{r5}E+#+gf=5 literal 0 HcmV?d00001 diff --git a/android/assets/ui/x1.0/cells/basic.png b/android/assets/ui/x1.0/cells/basic.png new file mode 100644 index 0000000000000000000000000000000000000000..da45655b15511656ef8b2997b944e610d5efe21a GIT binary patch literal 421 zcmeAS@N?(olHy`uVBq!ia0y~yU@!n-4mJh`hH$2z?F^e0|SF(iEBhjaDG}zd16s2LwR|*US?i)adKios$PCk`s{Z$ zQVa}?N}eu`AsLNtXKwUmb`)^^FHpd@fW^z9#pEHEf;$V_szoeO3_dC9ArH8Ac)xif zsMG!~Y}$pnAI>R0OEtdrVE^5-`$Smw^BXYBHK<;A;Lf~<>AS;L{nc+d>(yR*Ui!IE zKT9Fov)K4{$#h%B1htpGm$~n6npTpTcDt-_itLW7C5OE)wJw?cPDy-+*7Q`9>vt9Z zJ8fMuc~N288nft+y59K0%ob4D>8-1UB)@CecU|?YIboFyt=akR{0Fh0kL;wH) literal 0 HcmV?d00001 diff --git a/android/assets/ui/x1.0/cells/bubble.png b/android/assets/ui/x1.0/cells/bubble.png new file mode 100644 index 0000000000000000000000000000000000000000..49996f36dfd9896f816623be83f386f52540b66d GIT binary patch literal 1087 zcmeAS@N?(olHy`uVBq!ia0y~yU@!n-4mJh`hH$2z?F^e0|SF(iEBhjaDG}zd16s2LwR|*US?i)adKios$PCk`s{Z$ zQVa~tdpunnLoyoQ&ODtZ;waL#e^!iI=k;Fk3og7(O_6HRu1DBA_BF5QR`?;4r_`~p zxnrHE;qM(@4!ms*Y7bH$=a#6=JX09B{LQRQyDx9|*>r+`>x!4F=KX)YZk<&r*S9Up zgN#D&xVZdk+WW9OfmZot-hYWij`8PDmeqX!h`}Z$`6&XE0CoL^hV-U3D zy~Eg-Fu!Il#{&QNmk-)~HJkWT?82GU`>Po5m><*0zgpnUAZW>ahn0`n`9}X%zb|4= z4W+uiy7gP;h3h_;XPBnCHcpRF#O(Qv}ixSpd(-2S9{J?%*IMZ zTLc>FHkewzmXeG4Q2)uR{oTt=y>m0AZbTl|O_&{byYHLsYED_nmkc*<9Gh+WjvzwV`_@gH)*Bv68Z7b3b1AqtCx+rNZmD`IiEhXL;HF3%1xhSJiIS zm$SP!zB|OWeFEp*)f<@aE|_J`P_|5(ecB|3bE+jGrm1_Xq^)0DCE>>Plr0 zL(+1sslOBE2HMZ~%y_4un8DTgjmq3F+KLXZHuai5Z|jR*;l%J?H>bVt=Tw0Q32o9P z9c^v<tgk*bWLfci$Hd=!RcjUZ2bFc+FKlISEeqItO@6-+)1Ma$CocN+GTf=* zysb%4$oxNE922b9Ze))7s;ziHXm@=6UoVaia?%UlhM6|3^Q{wac%~Kq{ZgRc+4i4T zc9cE{&ENB68bk5J{{M^_i%K_&_Z4L+>XpyhB4oepm&T?Zs{@yJaBpNdHp4V$QR(&< zl|j#}bj7NeM9$p~UlIBs^3qWk2H!&aL+{GVz3dy=GhcqYk`WSoXY(7M3D=p@dJW?* zOFi{mf1ZK;)bCSEUR`?aH%oP&=dXP`xoQu{6)drgTe~DWM4fO&IA? literal 0 HcmV?d00001 diff --git a/android/assets/ui/x1.0/cells/round.png b/android/assets/ui/x1.0/cells/round.png new file mode 100644 index 0000000000000000000000000000000000000000..8555cfd31dae14034617f077ac55262f551a7fb3 GIT binary patch literal 302 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7Sc;uILpV4%IBGajIv5xj zI14-?iy0VruY)k7lg8`{1_lPn64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xh zq!<_&R(rZQhFJ8jopf5T$w7oA-Bw#&(SZB#1(`o7OEMeO9Qc^#W$NwT#nt3(82bLk z-!%J6cNm2p@Z4!wK3B$q@ub8aR;{|_OqUdQNH)aI>N|2x?$)2VLLI7^iL%w6s~c8# zsl5He_Pyb)-cA)s?G>uJ%u*gfxjmhC1UXvbdxS-VSz7gX_zA?^i#;^|BjXzT5{Fa& z$@CMroec+L7F z60Yz(X#(es&i0>H@zxjT?3waN%BkS!s~D9`?i;LSuk4n&GRZZv8(06kYwYRlDL!dg zRITvRNcQfQSxbaHH!oGwNmE-nA>{vLjh7`So&UEkTJ`qwYK2UWnDDu;B^aHJcWdjf z3yrDp_@1n2Dif+(H(?8BPvh5VZCSTOUd+7t`nS_RKKTdgVnL_tDi!(f<>gPi_T?0N z<%ah6d3ozrzH&dkmE)UU)86ic_ewW*6T{@c7PKtmT1>FqpDT|PawVtpe|k`TDNRp* z*?|>%48(KN^bdq~Gn>BMw1=C2mHBkOhS{r%WrOpJSI)f4l%DH*b%9d<-$|F)K04jK zt5COQevW{C>vz?;+PUlFONEz4{=RQ|b??b!<{Qd)pKQ#k4@+Az+s5rDe+b9_1JWPZ XUNluMi0@@!U|{fc^>bP0l+XkKw4~Ed literal 0 HcmV?d00001 diff --git a/android/assets/ui/x1.25/cells/bubble.png b/android/assets/ui/x1.25/cells/bubble.png new file mode 100644 index 0000000000000000000000000000000000000000..8bece5efd3308515ba528038064cdcfda33ca6e1 GIT binary patch literal 1388 zcmeAS@N?(olHy`uVBq!ia0y~yV6XvU4mJh`2CF|eix?OfSc;uILpV4%IBGajIv5xj zI14-?iy0UMEkT%3`sQRe1_lPn64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xh zq!<`jUV6GXhGaCpoqak_##N+k|6|Gf4jz16J^=>aN%s^KEFGPc0t3Vno0}q<9!%Yl zqnLEqRcYenj#ft3N@gDG9?nCZ9jYvSw%=sLLZ8~jUcP(Txb`FK{~%A>(5t4;XYcy5 z@|AJHB4Jr=&*=CitAr0|CWy`WcJuau{RftHe7U`0v0*}JEnkIX1!n|fN8?1<(`)=L>^$=*3Qhga@9WOeFB2I)z0^llN{u}#on1SSA}ug z1xAZM6Ur>UFEUzM<-eb=B=qa%O&69n7II%^y|m%-l7+i@nA-30{`}|^cJ<*7jz7#b zq05Ri6YSIVA6IR79sJ@dLteEd!|i)pZKV@-UoqaYe#NWBM#WVc8&=I@z4uLCw}3}B zXgbTeL&p{}lEL8~^R^zm!FkEn&X>t1^_0~`Tc@gh*B3r-H1E=S!c<-U z(QAtA9*yeUUVi5~G4|}a6W3HP{KtD{_A0CC;SpC3Pe1Xk+jQ5p7rXjrPp?+iDi*0{Aak)=hqiRg( z`3d_gw@;8|lkKt z`F7WnOzbbr{4~!WlhjP8pHj6eCHY{+?cLux+E?6hGXJP?>e8N7em9gK>}dB-eIly4 zX2-SCEeAf@E)t7jTY@p4B-Y~0+yAEdd=s$uP{PjgmfT&t7V7Hw75 z)i__KL-cIc>AD~G49jOEJveUi{_mERu?d&cmNfkR{3>v^nCY6{AEr6i7MWht?r~oA z)k2y3$8<5COz+i&Zekz&btNuMYh(Ux{+`+SAxD<4i`=o9m3_zmw)JK@&*Z5*@I51a z|E(!y60A3lhxGh;_f;TMRbOw(iRp3AGQNG{D^Oo=Abx{=!kwH$i`u@f?Z|m1%6D7$ z?y;jGGNQH&@5DkiSiW5}k}ouAE93uB647%0!ru)YfB5dKIK7JPYvs%n^McqJ{+<1` z_LQ3G^4UtCl4o`;o>Ni7yQU}Ie{mG!KF#RLI~$g+R+hRtWm==YJ7=_%xj`=H4!^&J zQ&X=VK6^9h@QqbjFCPBhVbE;$mEp$?{bkCl*FCtDt>Sp!_hmw}_u3ktqp2}h4ur_& zO1+)X!vDM~AoZ$C!;i|Ch96ExpIs}ko_APWVV-K}+~a%K*|b+HTl#;DXD};Z=U=^J zKLbzBz1IP^>p#s%{@^bcz2%2`zwq1_GhW)4cnm AIRF3v literal 0 HcmV?d00001 diff --git a/android/assets/ui/x1.25/cells/round.png b/android/assets/ui/x1.25/cells/round.png new file mode 100644 index 0000000000000000000000000000000000000000..bd5b071e1ea443862f438b3cf7e01a9fb2f1b60e GIT binary patch literal 380 zcmeAS@N?(olHy`uVBq!ia0y~yU=RUe4mJh`hTcwDUIqpRmSQK*5DpFwjv9`X4h9AW z&H|6fVg?35OAuz1zB$>Afq_A?#5JNMI6tkVJh3R1p}f3YFEcN@I61K(RWH9NefB#W zDFz0HpPnv`Ar`$`ulV{M3J_^~_+6-kqg0Ez{L%S<$7MVdc_qx3baJ&UwP;vqvZ3L+ z+BRpP!VIb4|A4&%*uN zUc6In+3+toaQCb0oa>)l-le)w&3%#lHQn~Le(kR|G5!jizsf2*YJ=?qxgE)y6P~AR h|GBR??f=yH($0k@{a!g&7#J8BJYD@<);T3K0RYUjn??Wt literal 0 HcmV?d00001 diff --git a/android/assets/ui/x1.5/cells/basic.png b/android/assets/ui/x1.5/cells/basic.png new file mode 100644 index 0000000000000000000000000000000000000000..f5fe4888264c180ab79c89f5e8b2604a91012f5b GIT binary patch literal 655 zcmeAS@N?(olHy`uVBq!ia0y~yVDJE84mJh`hS0a0-5D4dSc;uILpV4%IBGajIv5xj zI14-?iy0V14udeGXo0U20|SF(iEBhjaDG}zd16s2LwR|*US?i)adKios$PCk`s{Z$ zQVa}CJf1F&Ar*7p-r4Ub5-8F3@wxGY4E9z5)oHg9l9L-%3OFl7^O=l+@oqcAx1E|xT@!>W zICS{UE^hE^V1AJ7@@LL7ZleINOvwt)Jq*+IOyg|*8e$*hy3FyjDok21<&y9N+Yb+3 zrL8_CxItKO{x825yiQ#r%y4wPfF>oV5N+qG7=2&A)i=NEd9FCByVuu<+Wy z2Vv*M;|%Q!8Lpl9zgc#!^@_@<+Q-lAR{p!Lx#3dXuBq=9_&(F;d!qiu?RSFag~bok zSB5>m<=yzM&%k4C*ll*NMlm;uC1G>3-&c1<9&Th|7n1QPP&h~vhF4=Szou-E)aQ<(BhbNb!VCW$v=-JB6>Ua*QL$1UJgjrYqB9T7jO zcFF2P+aGl^?Y_qAPwt9UJwC8Mw|_H(jk5mSIOe?gv_sh+nrn{7zopr0Ds&HO#lD@ literal 0 HcmV?d00001 diff --git a/android/assets/ui/x1.5/cells/bubble.png b/android/assets/ui/x1.5/cells/bubble.png new file mode 100644 index 0000000000000000000000000000000000000000..d5556ac6fca292729789c8852e72e4d8f7ea7873 GIT binary patch literal 1654 zcmeAS@N?(olHy`uVBq!ia0y~yVDJE84mJh`hS0a0-5D4dSc;uILpV4%IBGajIv5xj zI14-?iy0V14udeGXo0U20|SF(iEBhjaDG}zd16s2LwR|*US?i)adKios$PCk`s{Z$ zQVa~NpFLe1Ln`LHopZKZ##N$yetEh2&5m`mTIC8lqLwFyk zKhW8rpwv6((%T@#hABb92a*p=KJZRy-oqDKA4EU&c3k=FXA|z=rODXG;LjX5%)ZjkyZ!#Xy~I@zf0OIR%P7V zC0cQKiel8o2A}+|TpRA+NnbsY`y}fVCoWd;N%wc$p0NEJ^ZJ>aTr|5`Wm)-V-p~75 z$SsoX>e;(1-n9FIyrCq8RBtYl*O*&=f=cw@M~_dt`#ICjIkvZ`i%JSkXf%2?)I%*aE$z%)Lez?8BR$@zGRNRM!qP!dr zR%m7iWQvst*zVvusq0`Ypd(|g6=$B<{O!ceW1dZ+)A*~*KR8@EYU0oyyl$t#q&3IF zR`)t=nD)f^Q{vR6M>eswe@V0Wm*CZ8C$itXscb5@Z&>VvcRlymL#Od+E-h;nW195L z##r=tf}`uvFT2m?GpoOHW?3tEe->2zT#}poHf*cWZP|F?4EyWx|2*S2UVH3yQBE^D zJey~MQkV(bMH9h>JedcK+ipcTWWG)k3z&K(^qatflQMEo_`k$(uiCWhRGf%Hd?%xWKP;sx8ZlDo)9jtJeKgcWTg^I$`3fSN#87I4-2N znafKplX_wLhp&{;sCZ&`>XQ{oQG9znXJ0w1FFI$Y)~lKqDMAYpp5(4Odf}vsL-(Kk zw-)*eW%&wB_;|Lg^7^)oVlFBc|GZ~s&C%5`4!yG7Q~VOcUxt(_>Fn+-(I18{lav$$ zGntlmp9nnqCH0ou%(%@zD-(3@{|WKRJ}`3&$I1qm6k&_0>3v$uCNJyh?E1)lmRbDM zN&lr^xNX<4D>2Lr|7pLl>fd9>D-3pBHg@85 zt#9*Ig|!UtQ|~Tk{F&3fYx8{*ub`i|7p^%oJ7fK%e`dD~zS{0O`?8w5a$dC2{KYe3 zt^Tf%iZ+U!xtCx6;@_~ko4XqBU778jAAMxo2g?T%zf|8EZDpIoaxSDOdWZJs#76hV z*dQc@@F=E`_`KM;^~8_iM4X+OD4KWWzP7;U!<*};mS2- R0s{jBgQu&X%Q~loCIJ2Q@SOkv literal 0 HcmV?d00001 diff --git a/android/assets/ui/x1.5/cells/round.png b/android/assets/ui/x1.5/cells/round.png new file mode 100644 index 0000000000000000000000000000000000000000..ae0481b93535c6f7a2a4c9a57ee2b17dfdfefa12 GIT binary patch literal 422 zcmeAS@N?(olHy`uVBq!ia0y~yV2}V|4mJh`h6m-gKNuJoSc;uILpV4%IBGajIv5xj zI14-?iy0V14udeGXo0U20|SF(iEBhjaDG}zd16s2LwR|*US?i)adKios$PCk`s{Z$ zQVa}?%APKcAs(Gur}}y^I|{h%FPdDz)Tz+%!ikeb(4>O5d3nL&Nvn5!2zuqzlG5|Y z=_AvzyTuocgF4S$FrN8un(ybh(2Mp#k0Q>fEzr+Y$W)I1HKim!t-tr|0V@MGqf?U^ zuRCnl`y*1ZnnC}$sKl{D=NsQkeNZY+5DBgn-ZA~pea^&ZrN@G%i7yB)xIX8x)1|O0 zGOIVw-K?@RnajreR;HtZ=ggUJJuBH;itmZVOe$+^j&D4qnq|$b|3XzDr;3r2rQ)DF z)4|>1HYx%-Mvb1_)7PBX^59o@+3lpS=JjC>dJjWmOpWgZZ`845+85SvzH#!Ydkum6 zHgf*a$!a(-;e*z(G&ULcgL9WK$1q;z`oOYdNzSvb|6jhV%4U7Myx(~9@~F_|C-~=l Xyb+-!v811Yfq}u()z4*}Q$iB}Q`V^a literal 0 HcmV?d00001 diff --git a/android/assets/ui/x2.0/cells/basic.png b/android/assets/ui/x2.0/cells/basic.png new file mode 100644 index 0000000000000000000000000000000000000000..20580540cb314e02f3ce68b2bfaf83e4a9a4d57d GIT binary patch literal 779 zcmeAS@N?(olHy`uVBq!ia0y~yU`POA4mJh`hDS5XEf^RWSc;uILpV4%IBGajIv5xj zI14-?iy0WC*Ml%)oYX`a1_lPn64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xh zq!<{OIy_w*Ln`LHy=$K*>?qOp@wu|99fJ^`*8d6g>wLwViptjSf43T!x&5wqY=4$LEiElAR;1fTV`&NR4rZPP z-Ua+IarZX<(r7dFA|+bqtzI?LLT9aI87|`*_$Li5u+mT#gjJZC=H^ zWXe0H-6ij*+N~EXuvfZwEoWcIX3eErnD-nM-|xnM!(Y>O)lHkvd>)#-jka3JH}g4n zhzqXwp54V5&v>XeplWe!1ZBoYjerf?RT6s4;&ZcyA`~x_P*g{!l}F4{H`kM7mLfM@fW?m%v1DQ_jibF zp_lQA+=b?eYEQRisX?6zk6%;{@C!t<8$e(k2TB*lhc+|UVqmk sc-G@{^1mLF^L4ijjg5^r@BhnmWJOlW{QW7s3=9kmp00i_>zopr01S~g?*IS* literal 0 HcmV?d00001 diff --git a/android/assets/ui/x2.0/cells/bubble.png b/android/assets/ui/x2.0/cells/bubble.png new file mode 100644 index 0000000000000000000000000000000000000000..4f29be6b8855d88dfe35f54dd62ae00fdce8394e GIT binary patch literal 2191 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 B{gVIy literal 0 HcmV?d00001 diff --git a/android/assets/ui/x2.0/cells/round.png b/android/assets/ui/x2.0/cells/round.png new file mode 100644 index 0000000000000000000000000000000000000000..8574550ee37c6760dd103f40bc29a822827a9baa GIT binary patch literal 491 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}EX7WqAsieW95oy%9SjT% zoCO|{#S9G6>p_??PHLhI0|SF(iEBhjaDG}zd16s2LwR|*US?i)adKios$PCk`s{Z$ zQVa}?8J;eVArY-lr+fP`If}TxFBV_H%yI0#k1Uts4n`rvT@rUiyaPIqbQY>ue9OPV zz-PlZ>yTLVZ|8Eu2j{e|t}G6^y0XeY>Py5We#XgLv{$OG)LW^NS!(lF;brKh)+K#2 z?>@sSR_My+60#5F@ tmJ@k@?ajqaudi-R+n#wX_Dv0=#rn848x9y=U|?Wi@O1TaS?83{1OTox$JhV> literal 0 HcmV?d00001 diff --git a/android/assets/ui/x4.0/cells/basic.png b/android/assets/ui/x4.0/cells/basic.png new file mode 100644 index 0000000000000000000000000000000000000000..83c16f91f3b94e8f9b71bf7e4cecc554307e014d GIT binary patch literal 1528 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 literal 0 HcmV?d00001 diff --git a/android/assets/ui/x4.0/cells/round.png b/android/assets/ui/x4.0/cells/round.png new file mode 100644 index 0000000000000000000000000000000000000000..595f57df50e228beffa1bd5e93b74a011bdd586f GIT binary patch literal 1063 zcmeAS@N?(olHy`uVBq!ia0y~yU~m9o4mJh`hElruq6R{7QX6in%)C^~s)Yh2aaL?vBYYMMLYFc-s z{|T9fC3bhto=m8Vb&O>7n{{)2q*^+cLy&a=bHz5+M8%nhTR(&^?(9$bbHMXkUuA>v z0ryBXvlzxnY7H;LL|v2aoLP5uc7Qp<&i~itZ~nbrE2VwFIBnZpvxOH`Kk!vww>iM@ zp=>YbN^OTA^9?<>H@!>U*63&){atp=cBXS1zn^6;Vai`B`(+)&&b{Ar7wlFDTo}pz z>&%-S@W_Gq+4?e4^5Po&7v2M!Op6SQ}972E*}@+hc?&18z;RZtPrKFJu*@R_mY z$f9Gj^&93hadf&aW7x;7pdxl(js4Wyf}*gc>d#*XtYZ2UddX(VeU4bY2p^t3^Z2|1 zzv!*g_~rkpp`0~j)$;iwYqb=_Yo0BvF_^SZ(r9z_fsnveOrHv8RcgrhUAxaW`{w)u zH|K_lPB8v@#<{JkVP-6=-n$t~3VdeX6z^4gnmKW2-|}_)yl1kyZQgR?N#-Q0w%h7F zX6v;%_A@A_m8qY8az@qAcz190fgRVDY!Fz(m>hZ5`P{68rJNsKA3UFP$Y}%5o+-=S z1!ie<&AKU6Aa%WKTl9>hTaP|{C6vqQnR`q2?4|i$S=?!NgpXuTnx-rfKk18?$>XaY zuO?InKdEDQJbTi;$t5b=-b<;Jh99}Bd*H{cCFQEJy>B-w7U}!;dhb$t`CZKCzuHUV zou}VyRNB&3k^3$%=6&AR>|+0qAGTT+_%Ajqm_6M!Cbf#~$HDMpTAG@gH#PsUKag7# VCHnB!8U_Xi22WQ%mvv4FO#m0i-A4cb literal 0 HcmV?d00001 diff --git a/core/src/io/github/lonamiwebs/klooni/SkinLoader.java b/core/src/io/github/lonamiwebs/klooni/SkinLoader.java index 2e84905..485c1dd 100644 --- a/core/src/io/github/lonamiwebs/klooni/SkinLoader.java +++ b/core/src/io/github/lonamiwebs/klooni/SkinLoader.java @@ -59,7 +59,7 @@ public class SkinLoader { } public static Texture loadPng(String name) { - final String filename = "ui/x" + bestMultiplier + "/" + name + ".png"; + final String filename = "ui/x" + bestMultiplier + "/" + name; return new Texture(Gdx.files.internal(filename)); } } diff --git a/core/src/io/github/lonamiwebs/klooni/Theme.java b/core/src/io/github/lonamiwebs/klooni/Theme.java index fe66551..d366851 100644 --- a/core/src/io/github/lonamiwebs/klooni/Theme.java +++ b/core/src/io/github/lonamiwebs/klooni/Theme.java @@ -153,7 +153,7 @@ public class Theme { } String cellTextureFile = json.getString("cell_texture"); - cellTexture = new Texture(Gdx.files.internal("ui/cells/"+cellTextureFile)); + cellTexture = SkinLoader.loadPng("cells/"+cellTextureFile); return this; } diff --git a/core/src/io/github/lonamiwebs/klooni/game/BaseScorer.java b/core/src/io/github/lonamiwebs/klooni/game/BaseScorer.java index e8d9900..c5017a6 100644 --- a/core/src/io/github/lonamiwebs/klooni/game/BaseScorer.java +++ b/core/src/io/github/lonamiwebs/klooni/game/BaseScorer.java @@ -37,7 +37,7 @@ public abstract class BaseScorer implements BinSerializable { // The board size is required when calculating the score BaseScorer(final Klooni game, GameLayout layout, int highScore) { - cupTexture = SkinLoader.loadPng("cup"); + cupTexture = SkinLoader.loadPng("cup.png"); cupColor = Klooni.theme.currentScore.cpy(); cupArea = new Rectangle();