mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-13 17:37:58 -04:00
fix another FragmentedArrayFloatList batch adding bug + tests
This commit is contained in:
parent
b2f3e0fc4e
commit
406819f64e
@ -51,7 +51,7 @@ class BakedFace(
|
||||
|
||||
|
||||
val mesh = mesh.mesh(texture)
|
||||
mesh.data.ensureSize(SingleChunkMesh.WorldMeshStruct.FLOATS_PER_VERTEX * (mesh.order.size / 2))
|
||||
mesh.data.ensureSize(SingleChunkMesh.WorldMeshStruct.FLOATS_PER_VERTEX * mesh.order.size)
|
||||
|
||||
var index = 0
|
||||
val size = mesh.order.size
|
||||
|
@ -88,7 +88,7 @@ class FragmentedArrayFloatList(
|
||||
return buffer
|
||||
}
|
||||
if (left == 0) return buffer
|
||||
return grow(left)
|
||||
return this.incomplete.firstOrNull() ?: grow(left)
|
||||
}
|
||||
|
||||
fun add(value1: Float, value2: Float) {
|
||||
|
@ -64,9 +64,21 @@ class FragmentedFloatListTest : DirectFloatListTest() {
|
||||
}
|
||||
assertEquals(list.size, 700)
|
||||
val expected = FloatArray(700) { it.toFloat() }
|
||||
println(expected.contentToString())
|
||||
val array = list.toArray()
|
||||
println(array.contentToString())
|
||||
assertContentEquals(expected, array)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `batch adding 7 floats and ensuring size`() {
|
||||
val list = FragmentedArrayFloatList(100)
|
||||
for (i in 0 until 100) {
|
||||
list.ensureSize(21)
|
||||
val offset = i * 7.0f
|
||||
list.add(offset + 0, offset + 1, offset + 2, offset + 3, offset + 4, offset + 5, offset + 6)
|
||||
}
|
||||
assertEquals(list.size, 700)
|
||||
val expected = FloatArray(700) { it.toFloat() }
|
||||
val array = list.toArray()
|
||||
assertContentEquals(expected, array)
|
||||
}
|
||||
|
||||
@ -75,14 +87,11 @@ class FragmentedFloatListTest : DirectFloatListTest() {
|
||||
val list = FragmentedArrayFloatList(1)
|
||||
for (i in 0 until 100) {
|
||||
val offset = i * 7.0f
|
||||
val a = floatArrayOf(offset + 0, offset + 1, offset + 2, offset + 3, offset + 4, offset + 5, offset + 6)
|
||||
list += a
|
||||
list += floatArrayOf(offset + 0, offset + 1, offset + 2, offset + 3, offset + 4, offset + 5, offset + 6)
|
||||
}
|
||||
assertEquals(list.size, 700)
|
||||
val expected = FloatArray(700) { it.toFloat() }
|
||||
println(expected.contentToString())
|
||||
val array = list.toArray()
|
||||
println(array.contentToString())
|
||||
assertContentEquals(expected, array)
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user