diff --git a/core/assets/sprites/sprites2.png b/core/assets/sprites/sprites2.png index be5442e4c7..21139d69c9 100644 Binary files a/core/assets/sprites/sprites2.png and b/core/assets/sprites/sprites2.png differ diff --git a/desktop/build.gradle b/desktop/build.gradle index 9cda811c00..ca984a3d2c 100644 --- a/desktop/build.gradle +++ b/desktop/build.gradle @@ -1,6 +1,9 @@ import com.badlogicgames.packr.Packr import com.badlogicgames.packr.PackrConfig +import java.nio.ByteBuffer +import java.security.MessageDigest + apply plugin: "java" sourceCompatibility = 1.8 @@ -12,6 +15,27 @@ project.ext.assetsDir = new File("../core/assets") def enableTemplates = true def JDK_DIR = "$System.env.JDK_DIR" def ICON_DIR = new File("core/assets/icons/icon.icns") +def spriteHashFile = new File(project.rootDir, "build/spritehash") + +def hashDirectory = { + def root = new File(project.rootDir, "core/assets-raw/sprites/") + MessageDigest digest = MessageDigest.getInstance("MD5") + ByteBuffer buffer = ByteBuffer.allocate(16) + def files = [] + root.eachFileRecurse{ file -> + files += file + } + + files.sort() + + for(File file : files){ + buffer.position(0) + buffer.putLong(file.lastModified()) + digest.update(buffer.array()) + } + + return digest.digest().encodeHex() +} task run(dependsOn: classes, type: JavaExec){ main = project.mainClassName @@ -24,6 +48,14 @@ task run(dependsOn: classes, type: JavaExec){ jvmArgs("-XstartOnFirstThread", "-Djava.awt.headless=true") } + spriteHashFile.parentFile.mkdirs() + + String spriteHash = hashDirectory() + if(spriteHashFile.exists() && spriteHashFile.text != spriteHash){ + dependsOn ":tools:pack" + } + spriteHashFile.text = spriteHash + if(project.hasProperty("args")){ args Eval.me(project.getProperties()["args"]) } diff --git a/gradle.properties b/gradle.properties index 57a7b13075..68b710ab08 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=c3020adc9f3b6180662a1b8f9f3046b9266fe012 +archash=b5b739a5e4a4eef3fee045944e220f40de0f6f85