From ad9415ed20498fdfeac48376ae56d3d07eee038b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Maty=C3=A1=C5=A1=20Latner?= <matyas.latner@nic.cz>
Date: Thu, 4 Jun 2015 14:07:36 +0200
Subject: [PATCH] #30 Automatic creation of atlases from textures

 * gradle task for automatic creation of atlases from textures
 * refactored texture directory names
---
 build.gradle                                  |  21 ++++++++++++++++++
 .../mainmenu/background.png                   | Bin
 .../mainmenu/mainmenu_close.mp3               | Bin
 .../mainmenu/mainmenu_open.mp3                | Bin
 .../universal/background_wooden.png           | Bin
 .../_global}/ratingstar_disabled.png          | Bin
 .../_global}/ratingstar_enabled.png           | Bin
 .../_global}/resultsbanner.png                | Bin
 .../tablexia/game/AbstractTablexiaGame.java   |   6 ++---
 .../application/ApplicationSoundManager.java  |   2 +-
 .../ApplicationTextureManager.java            |   6 ++---
 11 files changed, 28 insertions(+), 7 deletions(-)
 rename core/assets/common/{application => _global}/mainmenu/background.png (100%)
 rename core/assets/common/{application => _global}/mainmenu/mainmenu_close.mp3 (100%)
 rename core/assets/common/{application => _global}/mainmenu/mainmenu_open.mp3 (100%)
 rename core/assets/common/{ => _global}/universal/background_wooden.png (100%)
 rename core/assets/common/{application/victoryscreen => game/_global}/ratingstar_disabled.png (100%)
 rename core/assets/common/{application/victoryscreen => game/_global}/ratingstar_enabled.png (100%)
 rename core/assets/common/{application/victoryscreen => game/_global}/resultsbanner.png (100%)

diff --git a/build.gradle b/build.gradle
index 1ea4755de..f84cf0f57 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,3 +1,5 @@
+import com.badlogic.gdx.tools.texturepacker.TexturePacker
+
 buildscript {
     repositories {
         mavenCentral()
@@ -10,9 +12,13 @@ buildscript {
         classpath 'de.felixschulze.gradle:gradle-spoon-plugin:2.1'
         classpath 'com.jakewharton.sdkmanager:gradle-plugin:0.12.0'
         classpath 'com.novoda:gradle-android-command-plugin:1.3.0'
+        classpath "com.badlogicgames.gdx:gdx-tools:1.6.1"
     }
 }
 
+final assetsDirName = "assets"
+final atlasesDirName = "atlases"
+
 ext {
     assetsChecksumPattern = "\"=======ASSETS_CHECKSUM=======\""
     assetsChecksum = [:]
@@ -53,6 +59,21 @@ allprojects {
     }
 }
 
+task texturePacker << {
+    TexturePacker.Settings settings = new TexturePacker.Settings();
+    settings.maxWidth = 2048;
+    settings.maxHeight = 2048;
+
+    def assetsDir = new File(project(":core").projectDir.absolutePath + "/${assetsDirName}")
+    assetsDir.eachDir() { langDir ->
+        langDir.eachDir() { sectionDir ->
+            sectionDir.eachDir() { atlasdir ->
+                TexturePacker.process(settings, "${atlasdir}", "${buildDir}/${atlasesDirName}/${langDir.name}/${sectionDir.name}/${atlasdir.name}/", "${atlasdir.name}")
+            }
+        }
+    }
+}
+
 def getVersionNameFromGit() {
     def stdout = new ByteArrayOutputStream()
     exec {
diff --git a/core/assets/common/application/mainmenu/background.png b/core/assets/common/_global/mainmenu/background.png
similarity index 100%
rename from core/assets/common/application/mainmenu/background.png
rename to core/assets/common/_global/mainmenu/background.png
diff --git a/core/assets/common/application/mainmenu/mainmenu_close.mp3 b/core/assets/common/_global/mainmenu/mainmenu_close.mp3
similarity index 100%
rename from core/assets/common/application/mainmenu/mainmenu_close.mp3
rename to core/assets/common/_global/mainmenu/mainmenu_close.mp3
diff --git a/core/assets/common/application/mainmenu/mainmenu_open.mp3 b/core/assets/common/_global/mainmenu/mainmenu_open.mp3
similarity index 100%
rename from core/assets/common/application/mainmenu/mainmenu_open.mp3
rename to core/assets/common/_global/mainmenu/mainmenu_open.mp3
diff --git a/core/assets/common/universal/background_wooden.png b/core/assets/common/_global/universal/background_wooden.png
similarity index 100%
rename from core/assets/common/universal/background_wooden.png
rename to core/assets/common/_global/universal/background_wooden.png
diff --git a/core/assets/common/application/victoryscreen/ratingstar_disabled.png b/core/assets/common/game/_global/ratingstar_disabled.png
similarity index 100%
rename from core/assets/common/application/victoryscreen/ratingstar_disabled.png
rename to core/assets/common/game/_global/ratingstar_disabled.png
diff --git a/core/assets/common/application/victoryscreen/ratingstar_enabled.png b/core/assets/common/game/_global/ratingstar_enabled.png
similarity index 100%
rename from core/assets/common/application/victoryscreen/ratingstar_enabled.png
rename to core/assets/common/game/_global/ratingstar_enabled.png
diff --git a/core/assets/common/application/victoryscreen/resultsbanner.png b/core/assets/common/game/_global/resultsbanner.png
similarity index 100%
rename from core/assets/common/application/victoryscreen/resultsbanner.png
rename to core/assets/common/game/_global/resultsbanner.png
diff --git a/core/src/cz/nic/tablexia/game/AbstractTablexiaGame.java b/core/src/cz/nic/tablexia/game/AbstractTablexiaGame.java
index c3e3eacf3..8cdf918a8 100644
--- a/core/src/cz/nic/tablexia/game/AbstractTablexiaGame.java
+++ b/core/src/cz/nic/tablexia/game/AbstractTablexiaGame.java
@@ -39,9 +39,9 @@ public abstract class AbstractTablexiaGame<T> extends AbstractTablexiaScreen<T>
     public static final String GAME_DIFFICULTY_SCREEN_INFO_LABEL    = "Game Difficulty";
     private static final int   SCREEN_TRANSACTION_FADE_DELAY	    = 1;
 
-    public static final String VICTORYSCREEN_RESULTSBANNER          = "application/victoryscreen/resultsbanner.png";
-    public static final String VICTORYSCREEN_RATINGSTAR_DISABLED    = "application/victoryscreen/ratingstar_disabled.png";
-    public static final String VICTORYSCREEN_RATINGSTAR_ENABLED     = "application/victoryscreen/ratingstar_enabled.png";
+    public static final String VICTORYSCREEN_RESULTSBANNER          = "game/_global/resultsbanner.png";
+    public static final String VICTORYSCREEN_RATINGSTAR_DISABLED    = "game/_global/ratingstar_disabled.png";
+    public static final String VICTORYSCREEN_RATINGSTAR_ENABLED     = "game/_global/ratingstar_enabled.png";
 
     private RandomAccess    randomAccess;
     private GameDifficulty  gameDifficulty;
diff --git a/core/src/cz/nic/tablexia/loader/application/ApplicationSoundManager.java b/core/src/cz/nic/tablexia/loader/application/ApplicationSoundManager.java
index a9529aa38..45fc9e4e2 100644
--- a/core/src/cz/nic/tablexia/loader/application/ApplicationSoundManager.java
+++ b/core/src/cz/nic/tablexia/loader/application/ApplicationSoundManager.java
@@ -23,7 +23,7 @@ public class ApplicationSoundManager extends TablexiaSoundManager implements IAp
 		instance = null;
 	}
 
-	private	static final String APPLICATION_PATH	= "application/";
+	private	static final String APPLICATION_PATH	= "_global/";
 	
 	private static final String MAINMENU_PATH 		= APPLICATION_PATH + "mainmenu/";
 	public 	static final String MAINMENU_OPEN		= MAINMENU_PATH + "mainmenu_open.mp3";
diff --git a/core/src/cz/nic/tablexia/loader/application/ApplicationTextureManager.java b/core/src/cz/nic/tablexia/loader/application/ApplicationTextureManager.java
index aef903ffb..e4ba4869d 100644
--- a/core/src/cz/nic/tablexia/loader/application/ApplicationTextureManager.java
+++ b/core/src/cz/nic/tablexia/loader/application/ApplicationTextureManager.java
@@ -24,12 +24,12 @@ public class ApplicationTextureManager extends TablexiaTextureManager implements
 	}
 
     public static final class UniversalAssets {
-        public static final String BACKGROUND_WOODEN = "universal/background_wooden.png";
+        public static final String BACKGROUND_WOODEN = GLOBAL_PATH + "/universal/background_wooden.png";
     }
 
-	private	static final String APPLICATION_PATH		= "application/";
+	private	static final String GLOBAL_PATH = "_global/";
 	
-	private static final String MAINMENU_PATH 			= APPLICATION_PATH + "mainmenu/";
+	private static final String MAINMENU_PATH 			= GLOBAL_PATH + "mainmenu/";
 	public 	static final String MAINMENU_BACKGROUND		= MAINMENU_PATH + "background.png";
 	
 	public void load() {
-- 
GitLab