492 Commits

Author SHA1 Message Date
Marc Gilleron
f764fe7f1a Switch to unordered_map 2022-03-20 22:32:33 +00:00
Marc Gilleron
e96f9ff562 Separate mesh block classes to remove unnecessary data in each
# Conflicts:
#	terrain/voxel_lod_terrain.cpp
2022-03-20 22:04:53 +00:00
Marc Gilleron
ee60e0556e Fix mesh blocks created by edition not visible 2022-03-20 22:03:19 +00:00
Marc Gilleron
cef16f670a Use refs in VoxelDataBlock iteration, no null should be found 2022-03-20 19:28:50 +00:00
Marc Gilleron
d6203a917a Use refs in VoxelMeshBlock iteration, no null should be found 2022-03-20 19:16:58 +00:00
Marc Gilleron
99e688e52c Detect and log an error when a script tries to set the same data block on different positions 2022-03-20 18:47:51 +00:00
Marc Gilleron
669e5230ed Update VoxelLodTerrain stats 2022-03-20 18:30:18 +00:00
Marc Gilleron
3c3822b019 Fix warning method name 2022-03-20 14:49:46 +00:00
Marc Gilleron
bf946db0ef Fix setting mesher and stream of VoxelLodTerrain 2022-03-19 22:43:57 +00:00
Marc Gilleron
7964887aef Fix iterator 2022-03-19 20:56:13 +00:00
Marc Gilleron
e99ffd64ea Fix required typename 2022-03-19 20:22:35 +00:00
Marc Gilleron
79b1ebdaa0 Fix invalid member 2022-03-19 20:11:39 +00:00
Marc Gilleron
48670d9a8e Separate mesh map data structures between updating and final 2022-03-19 19:43:33 +00:00
Marc Gilleron
775300c0f4 Remove old code 2022-03-19 19:39:39 +00:00
Marc Gilleron
a5d0f16430 Rename _on_data_block_enter => _on_data_block_entered 2022-03-19 19:39:24 +00:00
Marc Gilleron
c39bd4cb10 Expose getter and setter for VoxelViewer network peer ID 2022-03-19 19:38:36 +00:00
Marc Gilleron
7f106f4358 Fix broken transition updates 2022-03-16 00:05:04 +00:00
Marc Gilleron
5ddcbc2065 Added optional threaded execution of VoxelLodTerrain's process function 2022-03-15 00:29:39 +00:00
Marc Gilleron
4c68e7b298 Comments 2022-03-15 00:18:44 +00:00
Marc Gilleron
646618e78a Avoid creating ArrayMesh instance if empty 2022-03-15 00:17:42 +00:00
Marc Gilleron
7277a6a79f Renamed has_block => has_data_block 2022-03-14 23:48:23 +00:00
Marc Gilleron
c9edc64ae0 Fix compilation with newest Godot 2022-03-14 00:26:25 +00:00
Marc Gilleron
f631d8880c Added configuration warnings to resources 2022-03-06 01:10:47 +00:00
Marc Gilleron
199d18c008 Don't leave nulls in array 2022-02-27 02:54:35 +00:00
Marc Gilleron
07d5f1fb2a Fix float precision in VoxelBoxMover when compiling with 64-bit floats 2022-02-23 00:29:22 +00:00
Marc Gilleron
b72ffa260d Rename for_all_blocks => for_each_block 2022-02-20 21:35:35 +00:00
Marc Gilleron
0137ca3036 Namespaced VoxelBuffer in gd:: because it is actually a wrapper 2022-02-15 21:49:20 +00:00
Marc Gilleron
9eeac4d908 Fix comparison signedness warning (7) 2022-02-13 19:10:38 +00:00
Marc Gilleron
949abb0358 Fix comparison signedness warning (6) 2022-02-13 18:57:46 +00:00
Marc Gilleron
ded04b86ce Fix comparison signedness warning (5) 2022-02-13 18:50:33 +00:00
Marc Gilleron
268ed4b836 Fix comparison signedness warning (4) 2022-02-13 18:37:00 +00:00
Marc Gilleron
6e10277ead Fix comparison signedness warning (3) 2022-02-13 18:16:05 +00:00
Marc Gilleron
21daedd5dc Fix old struct type 2022-02-13 17:17:37 +00:00
Marc Gilleron
e958739759 Fix some narrowing conversions 2022-02-13 16:19:54 +00:00
Marc Gilleron
942fc9e980 Option to show octree nodes in editor 2022-02-13 01:19:21 +00:00
Marc Gilleron
b3faec2bef Removed voxel_block_request.h, use specialized structs 2022-02-12 23:37:02 +00:00
Marc Gilleron
d18bbe0376 Made LodOctree more generic
- `update` now solely relies on predicates to split/join
- Removed some member variables only used in the older update
- Distance checks now use "octree space", elininates some coordinate
  conversions which are now done up-front
2022-02-12 18:09:46 +00:00
Marc Gilleron
27a9c94e44 Fixed inexistent parameter 2022-02-07 22:06:56 +00:00
Marc Gilleron
91bbe56cea Added missing bindings 2022-02-07 22:06:24 +00:00
Marc Gilleron
f1c59d452a Removed more Vector<T> usages.
Remaining uses are necessary to communicate with Godot APIs.
2022-02-06 22:26:30 +00:00
Marc Gilleron
98eed9adba Remove some usages of Vector<T>. Also fixed some indexing issues in streams.
Reason: in a future port to GDExtension, that class won't be available.
This may also apply to Map and HashMap.

Note: the issues in streams were not hit so far because they are in
multi-block load/save functions. We've been loading and saving blocks
one by one at the moment.
2022-02-06 21:26:48 +00:00
Marc Gilleron
ba1930769f Use NonCopyable 2022-02-06 00:37:52 +00:00
Marc Gilleron
2b610f83e3 Fix GCC warning 2022-02-05 17:12:31 +00:00
Marc Gilleron
239a87a6e9 Moved noise and SDF range utilities to util/ 2022-02-05 16:14:57 +00:00
Marc Gilleron
f1694b08ec Remove a few unnecessary usages of the wrapper version of VoxelBuffer 2022-02-03 00:02:10 +00:00
Marc Gilleron
437540da0b Moved VoxelRefCount to utils 2022-01-31 21:29:08 +00:00
Marc Gilleron
d1250ef0ad Added support functions to help setting up basic multiplayer with VoxelTerrain.
These might change in the future. Will have to test that later,
when Godot 4 gets more stable.
2022-01-31 21:23:39 +00:00
Marc Gilleron
08f3786ff6 Use typed code instead of strings in property hints 2022-01-16 16:04:25 +00:00
Marc Gilleron
ec19e7565d Moved member var into an internal TLS 2022-01-16 03:59:15 +00:00
Marc Gilleron
fefb014637 Support setting up mesh LODs from a scene with name LODx suffixes 2022-01-10 23:19:14 +00:00