Created test module
This commit is contained in:
91
tools/build.gradle
Normal file
91
tools/build.gradle
Normal file
@@ -0,0 +1,91 @@
|
||||
apply plugin: "java"
|
||||
|
||||
sourceCompatibility = 1.8
|
||||
sourceSets.main.java.srcDirs = [ "src/" ]
|
||||
|
||||
|
||||
import com.badlogic.gdx.graphics.Color
|
||||
import com.badlogic.gdx.tools.texturepacker.TexturePacker
|
||||
|
||||
import javax.imageio.ImageIO
|
||||
|
||||
def textureFolder = "../core/assets-raw/sprites/generated/"
|
||||
|
||||
task swapColors(){
|
||||
doLast{
|
||||
if (project.hasProperty("colors")) {
|
||||
def carr = new File(getProperty("colors")).text.split("\n");
|
||||
def map = [:]
|
||||
def swaps = 0
|
||||
carr.each {str -> map[Color.argb8888(Color.valueOf(str.split("=")[0]))] = Color.argb8888(Color.valueOf(str.split("=")[1]))}
|
||||
def tmpc = new Color()
|
||||
|
||||
fileTree(dir: '../core/assets-raw/sprites', include: "**/*.png").visit { file ->
|
||||
if(file.isDirectory()) return;
|
||||
swaps ++
|
||||
|
||||
def img = ImageIO.read(file.file)
|
||||
for (x in (0..img.getWidth()-1)) {
|
||||
for (y in (0..img.getHeight()-1)) {
|
||||
def c = img.getRGB(x, y)
|
||||
Color.argb8888ToColor(tmpc, c)
|
||||
if(tmpc.a < 0.1f) continue
|
||||
if(map.containsKey(c)){
|
||||
img.setRGB(x, y, (int)map.get(c))
|
||||
}
|
||||
}
|
||||
}
|
||||
ImageIO.write(img, "png", file.file)
|
||||
}
|
||||
println "Swapped $swaps images."
|
||||
}else{
|
||||
throw new InvalidUserDataException("No replacement colors specified. Use -Pcolors=\"<path to color file>\"");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
task pack(){
|
||||
dependsOn 'prePack'
|
||||
|
||||
doLast {
|
||||
TexturePacker.process("core/assets-raw/sprites/", "core/assets/sprites/", "sprites.atlas")
|
||||
|
||||
delete{
|
||||
delete textureFolder
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
task prePack(){
|
||||
dependsOn "cleanup"
|
||||
|
||||
doLast{
|
||||
TexturePacker.process("core/assets-raw/sprites/", "core/assets/sprites/", "sprites.atlas")
|
||||
}
|
||||
|
||||
finalizedBy 'generateSprites'
|
||||
}
|
||||
|
||||
task cleanup(){
|
||||
delete{
|
||||
delete textureFolder
|
||||
}
|
||||
}
|
||||
|
||||
task generateSprites(dependsOn: classes, type: JavaExec) {
|
||||
file(textureFolder).mkdirs()
|
||||
|
||||
main = "io.anuke.mindustry.PackerLauncher"
|
||||
classpath = sourceSets.main.runtimeClasspath
|
||||
standardInput = System.in
|
||||
workingDir = textureFolder
|
||||
}
|
||||
|
||||
task updateBundles(dependsOn: classes, type: JavaExec) {
|
||||
file(textureFolder).mkdirs()
|
||||
|
||||
main = "io.anuke.mindustry.BundleLauncher"
|
||||
classpath = sourceSets.main.runtimeClasspath
|
||||
standardInput = System.in
|
||||
workingDir = "../core/assets/bundles/"
|
||||
}
|
||||
Reference in New Issue
Block a user