teknomunk
b3ec2f8584
Remove debug print()
2025-03-06 18:29:28 -06:00
teknomunk
7a9606a577
Move unit test to match current automated testing
2025-03-06 18:29:28 -06:00
teknomunk
48f6bb3a5c
remove dofile_codegen
2025-03-06 18:29:28 -06:00
teknomunk
18ed3e8c99
Replace file-level codegen hack with function-level codegen, start unit test, expand luanti mock
2025-03-06 18:29:27 -06:00
teknomunk
f2457b67f3
Expose node_changed API
2025-03-06 18:29:27 -06:00
teknomunk
1deebc49b9
Add type annotations, fix typo in mesecons_mvps, drop using custom mvps handler for existing mechanism, rewrite observer node registration to no longer use mesecon.register_node()
2025-03-06 18:29:27 -06:00
teknomunk
b061b4a8b2
Add faster bypass when no block updates have occurred
2025-03-06 18:29:27 -06:00
teknomunk
731c6f71f7
Resolve more luacheck findings
2025-03-06 18:29:27 -06:00
teknomunk
ea576cdaa0
Rework codegen and vl_block_update, add lookaside cache for core.get_node(), make observers get alternating on/off pulses when starting up a world
2025-03-06 18:29:27 -06:00
teknomunk
a8ffecf944
Get observer clocks starting reliably across reloads
2025-03-06 18:29:27 -06:00
teknomunk
7dc3d9d15c
Use codegen when core.hash_node_position() returns a number
2025-03-06 18:29:27 -06:00
teknomunk
27904e8efd
Rework observers to use core.after and an _onload() startup (fixes observers using block updates except on some restarts)
2025-03-06 18:29:27 -06:00
teknomunk
7da7537845
Implement block updates, rewrite observer to use block update-triggered scanning, make observer ignore 'ignore' nodes
2025-03-06 18:29:27 -06:00
teknomunk
4e35690d99
Rewrite queue to take reduce function callback instead of hard-coding item linked list handling
2025-03-06 18:28:53 -06:00
teknomunk
4f23544a83
Rename unit test
2025-03-06 18:28:53 -06:00
teknomunk
6cae902ef9
Fix incorrect variable assignment, fix mock core.log()
2025-03-06 18:28:53 -06:00
teknomunk
dc32dd8f58
Fix luacheckrc, add prioritized globalsteps, add prioritized globalstep registration, add fixed budget globalstep, update mcl_mobs/spawning.lua to use fixed budget globalstep
2025-03-06 18:28:53 -06:00
teknomunk
128e070d3f
Fix luacheck findings, force failure when make vl_scheduler's init.lua and queue.lua don't check properly
2025-03-06 18:28:53 -06:00
teknomunk
a744830bd5
Rework new_task() and reorder, factor out task serialization, add task loading, start adding queue iterator, expand mock to include mod storage
2025-03-06 18:28:53 -06:00
teknomunk
1ee3cfcdd6
Start implementing save/load of tasks
2025-03-06 18:28:53 -06:00
teknomunk
c8e6ac8e28
Rework vl_scheduler unit test to use tests/lib/mock.lua
2025-03-06 18:28:53 -06:00
teknomunk
4006960c46
Convert minetest->core, add type annotations, make sure all task callbacks have a dtime passed in (0 for async)
2025-03-06 18:28:53 -06:00
teknomunk
c58a393118
Add code to support cancelling jobs
2025-03-06 18:28:53 -06:00
teknomunk
997adbac36
Fix crash when tasks are scheduled for the next timestep into priority 2 from inside a function dispatched from priority 2
2025-03-06 18:28:53 -06:00
teknomunk
599be9ac95
Add vl_scheduler.after() that acts like after() except it takes a priority as param 2, add tests for background tests, fix appending to existing list for next timestep
2025-03-06 18:28:53 -06:00
teknomunk
83904e1c80
Implementation scheduler with next-timestep/soon/later queues and 4 priority levels (async-now, main_thread-now, async-background and main_thread-background) that throttles background tasks to keep under a timestep budget (1/20 second)
2025-03-06 18:28:53 -06:00
teknomunk
98cb2dfc96
Rework unit test runner to allow multiple unit test files per module, update paths of existing unit tests
2025-03-07 00:33:42 +01:00
teknomunk
f7b68d5de8
Update luacheck script and passing files list, add luacheck_globals to mcl_init and mesecons
2025-03-07 00:33:42 +01:00
teknomunk
e441bb9439
Move mcl_util unit tests from init.lua to unit-test.lua
2025-03-07 00:33:42 +01:00
Mikita Wiśniewski
ef0d38e530
Fix "hud_elem_type" deprecation warning spam (5.9+) ( #4965 )
...
`mcl_vars.hud_type_field` is introduced to determine the right HUD element type field to use. All mods adding HUDs, together with their `mod.conf` files, are changed accordingly to silence the warnings.
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4965
Reviewed-by: teknomunk <teknomunk@protonmail.com>
Co-authored-by: Mikita Wiśniewski <rudzik8@protonmail.com>
Co-committed-by: Mikita Wiśniewski <rudzik8@protonmail.com>
2025-03-04 20:50:10 +01:00
Mikita Wiśniewski
951e90bd8f
mcl_util: Improve set_bone_position
functionality
...
* Bring back the check for vector equality, but adjust it to not just
round to the nearest integer values (which doesn't make a lot of sense
for angles defined in radians), but to compare the distance between
vectors against an epsilon, defining the precision.
* Make interpolation actually work.
* Simplify the pre-5.9 code too, making it more readable.
* Annotate the whole shebang with comments for the future of the human
race to read.
2025-02-27 15:04:30 +01:00
Lars Mueller
3bab7a2287
Work around wrong character bone rotations on Luanti 5.11+
2025-02-27 15:04:30 +01:00
Mikita Wiśniewski
00b1df6b00
Add wallmounted attachment groups and document them
...
BONUS: document `supported_node_facedir` which was added before this
2025-02-25 21:52:42 +07:00
kno10
9472017fdb
improve UUID functionality
2025-02-09 16:41:22 +01:00
kno10
2d61cc1178
add highly efficient hashing functions
2025-02-09 16:41:22 +01:00
Mikita Wiśniewski
289816a7b4
Add a setting to control Christmas decorations ( #4809 )
...
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4809
Reviewed-by: kno10 <kno10@noreply.git.minetest.land>
Co-authored-by: Mikita Wiśniewski <rudzik8@protonmail.com>
Co-committed-by: Mikita Wiśniewski <rudzik8@protonmail.com>
2025-02-09 16:30:22 +01:00
kno10
1a613a6fca
add documentation
2025-01-25 14:28:24 +01:00
kno10
9aa35154d2
add jit parameter tuning and get_node_raw access
2025-01-25 14:28:24 +01:00
Elias Åström
5b7b2d8eb7
Adjust node sounds levels
2025-01-20 18:48:07 +01:00
Elias Åström
19c4e2526f
Lower gain of glass breaking sound
2025-01-20 18:48:07 +01:00
teknomunk
85155f8cd5
Convert state hash to number from string, exclude core.add_entity() time from profiling
2025-01-20 18:37:09 +01:00
teknomunk
3a54c67c4c
Remove unused table.find(), add comment on fallthru, fix typo in log message, switch to using mcl_log for two log messages, set guardians to no biomes (structures only)
2025-01-20 18:37:09 +01:00
teknomunk
b568a5cc49
Fix rebase missing moving a function to new mcl_util/table.lua
2025-01-20 18:37:09 +01:00
teknomunk
ee386080eb
Optimize table.intersect
2025-01-20 18:37:09 +01:00
teknomunk
e4b5673642
Resolve some review comments
2025-01-20 18:37:09 +01:00
teknomunk
bd7c926aaf
Move table.* functions to separate file in mcl_utils, add table.find() and table.intersect()
2025-01-20 18:37:09 +01:00
OpenSauce04
7e96774b06
Remove clicking sound from walking on grass sound effects ( #4727 )
...
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4727
Reviewed-by: Mikita Wiśniewski <rudzik8@protonmail.com>
Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
Co-committed-by: OpenSauce04 <opensauce04@gmail.com>
2025-01-16 23:52:43 +01:00
kno10
2f457d9c32
Drop non-persistent tracking of generated chunks. ( #4834 )
...
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4834
Reviewed-by: teknomunk <teknomunk@protonmail.com>
Co-authored-by: kno10 <erich.schubert@gmail.com>
Co-committed-by: kno10 <erich.schubert@gmail.com>
2025-01-08 04:51:21 +01:00
teknomunk
a9f50e68af
Cleanup
2025-01-07 16:18:09 +01:00
teknomunk
dccb07d36f
Remove log dump
2025-01-07 16:18:09 +01:00