animated texture support for generated short grass

This commit is contained in:
octarine-noise
2016-04-19 20:21:17 +02:00
parent a0aad5d608
commit befb64b8fc

View File

@@ -18,10 +18,25 @@ class GrassGenerator(domain: String) : TextureGenerator(domain) {
val baseTexture = resourceManager[target.second]?.loadImage() ?: return null
// draw bottom half of texture
val result = BufferedImage(baseTexture.width, baseTexture.height, BufferedImage.TYPE_4BYTE_ABGR)
val graphics = result.createGraphics()
graphics.drawImage(baseTexture, 0, 3 * baseTexture.height / 8, null)
val size = baseTexture.width
val frames = baseTexture.height / size
// iterate all frames
for (frame in 0 .. frames - 1) {
val baseFrame = baseTexture.getSubimage(0, size * frame, size, size)
val grassFrame = BufferedImage(size, size, BufferedImage.TYPE_4BYTE_ABGR)
// draw bottom half of texture
grassFrame.createGraphics().apply {
drawImage(baseFrame, 0, 3 * size / 8, null)
}
// add to animated png
graphics.drawImage(grassFrame, 0, size * frame, null)
}
// blend with white if snowed
if (isSnowed && target.first == ResourceType.COLOR) {