5333 Commits

Author SHA1 Message Date
Moritz Zwerger
39717c3144
don't use File::slashpath, fix some date formatting 2025-06-24 23:39:25 +02:00
Moritz Zwerger
841fd3c77e
Path::div for resolving subfile
Ported over from kutil, seems way more nicer, the division symbol (`/`) is the same as the the file separator on *nix. Feels way more natural
2025-06-24 23:32:46 +02:00
Moritz Zwerger
36262bd53b
use io pool at some places
This should reduce lagging, because the default thread pool is not bombed with io tasks that can take a long time to complete. They might sleep a while and block the whole pool otherwise.
2025-06-20 16:35:01 +02:00
Moritz Zwerger
b726a76d5b
ThreadPool.Priorities.XX
Priorities will not be a companion object anymore in kutil 1.27.2
2025-06-20 14:37:38 +02:00
Moritz Zwerger
22ae1b3434
KeyHandler: fix queuing tick
There will no be RepeatedTask::skip in kutil 1.27.2
2025-06-20 14:36:54 +02:00
Moritz Zwerger
c51e0cdaee
KeyHandler: Don't queue first tick twice
The RepeatedTask instantly executed in kutil 1.27 (additionally with the onTick call).
2025-06-05 19:35:06 +02:00
Moritz Zwerger
5bab0bf394
key action filter: fix test
No clue why this ever passed, but the kotlin duration refactor somehow broke it.
2025-06-05 19:18:31 +02:00
Moritz Zwerger
2a5849fc9d
jackson: serialize kotlin instant 2025-05-25 21:44:19 +02:00
Moritz Zwerger
f18ffb8bee
use time marks and duration
This makes handling time way less ambiguous. Lots of changes in the code, but step in the right direction.
2025-05-25 21:22:09 +02:00
Moritz Zwerger
1a553bf6e6
ChunkSize, begin porting to ticks and kotlin duration
Now the duration has a unit, and not just millis or nanos
2025-05-23 15:47:16 +02:00
Moritz Zwerger
8e7410d44e
bump dependencies
Includes all adaptions for kutil 1.27
2025-05-22 18:04:36 +02:00
Moritz Zwerger
7599296aff
bump gradle 2025-05-22 18:04:03 +02:00
Moritz Zwerger
9a574ea75d
wawla: fix front color 2025-04-13 20:45:11 +02:00
Moritz Zwerger
776d26aef6
reduce physics memory allocations even more 2025-04-13 20:41:31 +02:00
Moritz Zwerger
7e95ac3b52
fix building on windows x86 2025-04-13 20:17:20 +02:00
Moritz Zwerger
ed07b152d4
pyhsics: use cached entity id
This finally fixes the deadlock caused by movement packets. Not sure why we need to send our own entity id, but I guess the answer is minecraft.
2025-04-13 20:16:31 +02:00
Moritz Zwerger
32f1b1fbfc
fixes, some performance improvements 2025-04-13 20:02:08 +02:00
Moritz Zwerger
f0dedabc46
some rending and physics allocation improvements 2025-04-13 19:36:07 +02:00
Moritz Zwerger
abd04a293e
improve some shape comparison, fix shape tests 2025-04-13 10:36:39 +02:00
Moritz Zwerger
f13699f457
fix packet decryption
This is a recent regression from reducing allocation rate.
2025-04-13 10:35:01 +02:00
Moritz Zwerger
e09ee08cc2
refactor shapes, abstract aabb to shape, null shape, combined shape 2025-04-13 00:01:19 +02:00
Moritz Zwerger
ca7020a698
sky light handle block breaks, some border light fixes 2025-04-11 15:52:13 +02:00
Moritz Zwerger
7ac796f8cf
light: handle block break with increase + tests 2025-04-11 15:10:13 +02:00
Moritz Zwerger
941b8c9f9c
prevent crash when entity position is out of bounds (of block position)
This is not done well, clamping the position will introduce weird bugs in full height dimensions, because minosoft assumes that the position is still in the world.
2025-04-11 14:42:04 +02:00
Moritz Zwerger
f96047dbfe
world iterator: don't use abstract iterator
Iterator<BlockPosition> allocates a boxed int (BlockPosition). This removes the whole benefit of the inlined datatype, allocates useless temporary memory and is potentially a lot slower.
2025-04-11 14:10:14 +02:00
Moritz Zwerger
728ca1ce2f
physics: reduce memory allocations a lot
This should improve performance of physics when exploding millions of tnt. Memory is being reused with the temporary allocator. Shapes are extracted initially, which is still bad, because most of them are empty.
2025-04-11 14:01:28 +02:00
Moritz Zwerger
2340fc1a3d
aabb iteration order
physics must use natural order (x->y->z) because the float precision matters and the bubble column tests fail because of that. Everything else can use the cpu cache optimized version (x->z->y).
2025-04-11 12:00:08 +02:00
Moritz Zwerger
bb9e6346a8
some sky light fixes 2025-04-04 20:32:21 +02:00
Moritz Zwerger
a07b62857f
tests: physics: check correct submersion state 2025-04-04 19:56:14 +02:00
Moritz Zwerger
a4e0d5a023
optimize and improve sky light tracing 2025-04-04 19:55:45 +02:00
Moritz Zwerger
34a28bf156
network pipeline: reduce temporary allocations even more 2025-03-31 20:06:58 +02:00
Moritz Zwerger
f9617eecdf
play session: always log fatal exception 2025-03-31 19:43:18 +02:00
Moritz Zwerger
1799d4908b
network: reuse byte arrays
This reduces unneeded memory allocation, those objects are short living. It could be optimized further, because networking just runs single threaded.
2025-03-31 19:39:48 +02:00
Moritz Zwerger
a17f75c201
some more color tests and fixes 2025-03-31 19:33:03 +02:00
Moritz Zwerger
83c3337f38
jackson: fix color serializing
Not perfect, but pretty much the only way
2025-03-31 15:23:45 +02:00
Moritz Zwerger
a21b1ea4c9
aabb iterator: don't use IntRange, reduce more allocations 2025-03-31 15:11:44 +02:00
Moritz Zwerger
d711e077b7
position datatypes: fix overflow when adding from -1 2025-03-31 15:10:36 +02:00
Moritz Zwerger
76f39bd426
wip sky light tracing 2025-03-31 15:10:36 +02:00
Moritz Zwerger
e753b8e447
float list: optimize FragmentedArrayFloatList::add(HeapArrayFloatList) 2025-03-31 15:10:35 +02:00
Moritz Zwerger
c0bf5efe7b
fluid physics: reduce allocations 2025-03-31 15:10:35 +02:00
Moritz Zwerger
6fd062d19d
color tests, some fixes 2025-03-31 13:06:33 +02:00
Moritz Zwerger
59ddd7fe5e
inline rgb and rgba colr types
Makes the code cleaner and reduces memory allocations on the heap.
2025-03-30 11:32:57 +02:00
Moritz Zwerger
b85c9e475f
lightmap: reduce memory allocations 2025-03-26 23:37:50 +01:00
Moritz Zwerger
9cb58126c7
hud: reduce text memory allocations 2025-03-26 23:37:19 +01:00
Moritz Zwerger
44a7601f48
some block light fixes 2025-03-26 16:48:29 +01:00
Moritz Zwerger
25e8fbbde8
shaders: add lowp or mediump when possible
This allows the gpu to use less bits for the floats when it is not needed at all, thus using less resources.
2025-03-26 16:47:18 +01:00
Moritz Zwerger
866a03728e
entity ticking: lock or skip ticking
This avoids deadlocking
2025-03-25 20:39:44 +01:00
Moritz Zwerger
89c8e43e65
skeletal transform packing: don't copy every single float from mat4
Its batched now, the byte buffer can optimize this call.
2025-03-25 20:26:09 +01:00
Moritz Zwerger
1d742f4dff
solid mesher: fix heightmap sky light setting 2025-03-25 20:20:51 +01:00
Moritz Zwerger
d2d45008b0
heightmap: use section height
index is prune to errors and not very natural
2025-03-25 20:19:22 +01:00