diff --git a/src/net/torvald/terrarum/AppLoader.java b/src/net/torvald/terrarum/AppLoader.java index 7a5bc7b14..a7661440b 100644 --- a/src/net/torvald/terrarum/AppLoader.java +++ b/src/net/torvald/terrarum/AppLoader.java @@ -263,7 +263,7 @@ public class AppLoader implements ApplicationListener { Gdx.gl20.glViewport(0, 0, width, height); } - public static final float UPDATE_RATE = 1f / 64f; // TODO set it like 1/100, because apparent framerate is limited by update rate + public static final float UPDATE_RATE = 1f / 64f; // apparent framerate will be limited by update rate private static float loadTimer = 0f; private static final float showupTime = 100f / 1000f; diff --git a/src/net/torvald/terrarum/CommonResourcePool.kt b/src/net/torvald/terrarum/CommonResourcePool.kt index d09ce656a..c6849b8f9 100644 --- a/src/net/torvald/terrarum/CommonResourcePool.kt +++ b/src/net/torvald/terrarum/CommonResourcePool.kt @@ -89,9 +89,9 @@ object CommonResourcePool { try { if (u is Disposable) u.dispose() - if (u is Texture) + else if (u is Texture) u.dispose() - if (u is TextureRegion) + else if (u is TextureRegion) u.texture.dispose() // TODO } diff --git a/src/net/torvald/terrarum/gameworld/BlockLayer.kt b/src/net/torvald/terrarum/gameworld/BlockLayer.kt index ced517878..a9d6fb171 100644 --- a/src/net/torvald/terrarum/gameworld/BlockLayer.kt +++ b/src/net/torvald/terrarum/gameworld/BlockLayer.kt @@ -16,12 +16,8 @@ open class BlockLayer(val width: Int, val height: Int) : Disposable { // using unsafe pointer gets you 100 fps, whereas using directbytebuffer gets you 90 internal val ptr: UnsafePtr = UnsafeHelper.allocate(width * height * BYTES_PER_BLOCK) - //private val directByteBuffer: ByteBuffer - init { ptr.fillWith(0) - - //directByteBuffer = ByteBuffer.allocateDirect(width * height * BYTES_PER_BLOCK) } /** @@ -40,7 +36,7 @@ open class BlockLayer(val width: Int, val height: Int) : Disposable { */ constructor(width: Int, height: Int, data: ByteArray) : this(width, height) { TODO() - //data.forEachIndexed { index, byte -> unsafe.putByte(layerPtr + index, byte) } + data.forEachIndexed { index, byte -> UnsafeHelper.unsafe.putByte(ptr.ptr + index, byte) } } @@ -62,13 +58,11 @@ open class BlockLayer(val width: Int, val height: Int) : Disposable { val y = iteratorCount / width val x = iteratorCount % width // advance counter - iteratorCount += 2 + iteratorCount += 1 - val offset = 2L * (y * width + x) + val offset = BYTES_PER_BLOCK * (y * width + x) val lsb = ptr[offset] - //val lsb = directByteBuffer[offset] val msb = ptr[offset + 1] - //val msb = directByteBuffer[offset + 1] return lsb.toUint() + msb.toUint().shl(8) @@ -94,7 +88,6 @@ open class BlockLayer(val width: Int, val height: Int) : Disposable { iteratorCount += 1 return ptr[iteratorCount] - //return directByteBuffer[iteratorCount] } } } @@ -103,8 +96,6 @@ open class BlockLayer(val width: Int, val height: Int) : Disposable { val offset = BYTES_PER_BLOCK * (y * width + x) val lsb = ptr[offset] val msb = ptr[offset + 1] - //val lsb = directByteBuffer[offset] - //val msb = directByteBuffer[offset + 1] return lsb.toUint() + msb.toUint().shl(8) } @@ -118,8 +109,6 @@ open class BlockLayer(val width: Int, val height: Int) : Disposable { ptr[offset] = lsb ptr[offset + 1] = msb - //directByteBuffer.put(offset, lsb) - //directByteBuffer.put(offset + 1, msb) } /** @@ -139,7 +128,6 @@ open class BlockLayer(val width: Int, val height: Int) : Disposable { override fun dispose() { ptr.destroy() - //directByteBuffer.clear() printdbg(this, "BlockLayer with ptr ($ptr) successfully freed") }