diff --git a/assets/mods/basegame/blocks/16.tga b/assets/mods/basegame/blocks/16.tga index c3e85a87c..40fa4385a 100644 --- a/assets/mods/basegame/blocks/16.tga +++ b/assets/mods/basegame/blocks/16.tga @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a732d31354b032d91591712654c5a39175d0c4250eec4f2f211667423759b46c +oid sha256:445bdf04fbb74c783d48f818129b46b55f842ea527a1601d41c840090ecf7e5f size 56594 diff --git a/assets/mods/basegame/blocks/17.tga b/assets/mods/basegame/blocks/17.tga index 3699480c5..d3d7548d9 100644 --- a/assets/mods/basegame/blocks/17.tga +++ b/assets/mods/basegame/blocks/17.tga @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:574183ae273a6c3e63cdb6bc883ac257064106b9f1e1ac3d480839eef9443e4d -size 50194 +oid sha256:0b41dfb388bb7b76bf5ce11868afcbe6c497d8e87a724a92880084edad9fc5ce +size 56594 diff --git a/assets/mods/basegame/blocks/18.tga b/assets/mods/basegame/blocks/18.tga index 0033f020a..5da261529 100644 --- a/assets/mods/basegame/blocks/18.tga +++ b/assets/mods/basegame/blocks/18.tga @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:05d036a515d95570173d74ead7a7a292708abb3713a9e8cc05cadcb0768bf4df -size 50220 +oid sha256:36c4599bccc01c0b4ab011643bb5eafcb4684206b9217dc63a885a89dcd65a23 +size 56594 diff --git a/assets/mods/basegame/blocks/20.tga b/assets/mods/basegame/blocks/20.tga old mode 100755 new mode 100644 index 36833e34c..a97a21569 --- a/assets/mods/basegame/blocks/20.tga +++ b/assets/mods/basegame/blocks/20.tga @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e74c4e5930a3bf96e9a62e7a19ac16dbaac8ca537934a9e9c762dd124f94d59c -size 50194 +oid sha256:42cd8ef30aea9524e4eeb930f6a6aba4ad14231a7b9a380699b91e64e802956f +size 56594 diff --git a/assets/mods/basegame/blocks/21.tga b/assets/mods/basegame/blocks/21.tga index a71e22564..a646b4c15 100755 --- a/assets/mods/basegame/blocks/21.tga +++ b/assets/mods/basegame/blocks/21.tga @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3f34f8f4d481c1b8d1fda2bbc4c29513e7a480c5a6f3acc99cdd8c607a4b28a2 -size 50194 +oid sha256:8f6d8e8857e51a8dc298966aee7dbed3c1476336927b3e78984d40d0a6e8053b +size 56594 diff --git a/assets/mods/basegame/blocks/32.tga b/assets/mods/basegame/blocks/32.tga index d4b770781..d5e71db3b 100644 --- a/assets/mods/basegame/blocks/32.tga +++ b/assets/mods/basegame/blocks/32.tga @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:604ad38d7c643be10f092be079b55fb2454b09983ce4d8b90a134e60a79e0b84 +oid sha256:fa2400a547d587aad7c35dc5484382b43ab78af9e296ea0ce4030ac3612effe2 size 56594 diff --git a/assets/mods/basegame/blocks/33.tga b/assets/mods/basegame/blocks/33.tga index 80aad5fd4..4a837cb22 100644 --- a/assets/mods/basegame/blocks/33.tga +++ b/assets/mods/basegame/blocks/33.tga @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:05317842cc2071fc8953fe118c224abc10258ed1950965a462d2959e577ad85d -size 301074 +oid sha256:58e15698ca5858548474237a5eaa1c8dcc2f2a3ddedd975b26720b06cc76b216 +size 91410 diff --git a/src/net/torvald/terrarum/worlddrawer/BlocksDrawer.kt b/src/net/torvald/terrarum/worlddrawer/BlocksDrawer.kt index 8cc9195f6..4e6862793 100644 --- a/src/net/torvald/terrarum/worlddrawer/BlocksDrawer.kt +++ b/src/net/torvald/terrarum/worlddrawer/BlocksDrawer.kt @@ -339,18 +339,12 @@ internal object BlocksDrawer { } - private fun getHashCoord(x: Int, y: Int, mod: Long, layer: String): Int { + private fun getHashCoord(x: Int, y: Int, mod: Long, layer: Int, tileNumber: Int): Int { val (x, y) = world.coerceXY(x, y) - return (XXHash64.hash(LandUtil.getBlockAddr(world, x, y).toBig64(), world.generatorSeed shake layer) fmod mod).toInt() - } - - private fun Int.modeToString() = when (this) { - TERRAIN -> "terrain" - WALL -> "wall" - ORES -> "ores" - FLUID -> "fluid" - OCCLUSION -> "occlusion" - else -> throw IllegalArgumentException("$this") + return (XXHash64.hash( + LandUtil.getBlockAddr(world, x, y).toBig64(), + world.generatorSeed shake tileNumber.toLong() shake layer.toLong() + ) fmod mod).toInt() } /** @@ -402,7 +396,7 @@ internal object BlocksDrawer { val renderTag = if (mode == OCCLUSION) occlusionRenderTag else App.tileMaker.getRenderTag(rawTileNum) var hash = if ((mode == WALL || mode == TERRAIN) && !BlockCodex[world.tileNumberToNameMap[rawTileNum.toLong()]].hasTag("NORANDTILE")) - getHashCoord(x, y, 8, mode.modeToString()) + getHashCoord(x, y, 8, mode, renderTag.tileNumber) else 0 // this zero is completely ignored if the block uses Subtiling // draw a tile @@ -543,7 +537,7 @@ internal object BlocksDrawer { else 0 if (renderTag.maskType >= CreateTileAtlas.RenderTag.MASK_SUBTILE_GENERIC) { - hash = getHashCoord(x, y, 268435456, mode.modeToString()) + hash = getHashCoord(x, y, 268435456, mode, renderTag.tileNumber) val subtileSwizzlers = if (renderTag.tilingMode and 1 == 1) intArrayOf(0,0,0,0) diff --git a/work_files/graphics/terrain/terrain_variable_subtiling_full.kra b/work_files/graphics/terrain/terrain_variable_subtiling_full.kra index 3fc44c1c0..a9ae32082 100644 --- a/work_files/graphics/terrain/terrain_variable_subtiling_full.kra +++ b/work_files/graphics/terrain/terrain_variable_subtiling_full.kra @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1a1ab0d80096bc36668503f2804d7edae71e96e09587b5f01497f626e1f8b218 -size 680805 +oid sha256:41fd40263e5fcf01a3250dfe3994b9daf687c3ed5586c3f719409ebba56af832 +size 819317