working very crude fluid sim

This commit is contained in:
Minjae Song
2018-12-14 00:52:10 +09:00
parent 6e3a739480
commit cc67f69fff
7 changed files with 165 additions and 73 deletions

View File

@@ -115,7 +115,9 @@ object Block {
val SUNSTONE = 257
val DAYLIGHT_CAPACITOR = 258
val FLUID_MARKER = 4095
val LAVA = 4094
val WATER = 4095
val NULL = -1
}

View File

@@ -108,7 +108,7 @@ object BlockCodex {
prop.friction = intVal(record, "friction")
prop.viscosity = intVal(record, "vscs")
prop.isFluid = boolVal(record, "fluid")
prop.isFluid = Fluid.isThisTileFluid(prop.id)//boolVal(record, "fluid")
prop.isSolid = boolVal(record, "solid")
prop.isClear = boolVal(record, "clear")
prop.isWallable = boolVal(record, "wall")

View File

@@ -1,6 +1,7 @@
package net.torvald.terrarum.blockproperties
import net.torvald.terrarum.gameworld.FluidType
import net.torvald.terrarum.gameworld.GameWorld
/**
* Created by minjaesong on 2016-08-06.
@@ -12,4 +13,8 @@ object Fluid {
val WATER = FluidType(1)
val STATIC_WATER = FluidType(-1)
fun getFluidTileFrom(type: FluidType) = GameWorld.TILES_SUPPORTED - type.abs()
private val fluidTilesRange = 4094..4095
fun isThisTileFluid(tileid: Int) = tileid in fluidTilesRange
}