100 Commits

Author SHA1 Message Date
Marc Gilleron
077a897b01 Improve error message for missing scene in VoxelInstancer 2022-06-29 00:21:31 +01:00
Marc Gilleron
b9c9b2bcee Schedule tasks more directly, remove VoxelServer data copies 2022-05-22 00:18:58 +01:00
Marc Gilleron
4f862722ae Removed usages of Map 2022-05-17 19:44:58 +01:00
Marc Gilleron
8f243f6121 Fix removal of scene instances 2022-05-16 20:23:52 +01:00
Marc Gilleron
09d0be21e2 Remove remaining usages of HashMap 2022-05-14 19:38:39 +01:00
Trey M
96916814de Fixed issues caused by changes to HashMap in godot 2022-05-13 00:14:03 -05:00
Marc Gilleron
4f30ed4b6d Fixed crash when removing the last block in VoxelInstancer 2022-05-11 20:19:48 +01:00
Marc Gilleron
dff7386186 Moved conversions to conv.h 2022-05-07 20:34:06 +01:00
Marc Gilleron
adbfd3b584 floor_to_int to emphasize the return value converts to int 2022-05-02 14:49:40 +01:00
Marc Gilleron
a5e429de6f Moved some Vector3i function specializations to math:: namespace 2022-04-29 23:25:37 +01:00
Marc Gilleron
54c10d4902 Fix signedness warning 2022-04-16 02:26:32 +01:00
Marc Gilleron
fcab8aab6f Fix unused variable warnings 2022-04-16 02:25:13 +01:00
Marc Gilleron
0ebf8f764e Use UniquePtr 2022-04-14 23:35:26 +01:00
Marc Gilleron
9fef29442f Use STL containers 2022-04-14 22:32:34 +01:00
Marc Gilleron
bfa24402ac Renamed util/funcs.h => container_funcs.h 2022-04-14 21:43:45 +01:00
Marc Gilleron
87d98e9162 Engine-agnostic error macros 2022-04-11 02:10:44 +01:00
Marc Gilleron
0cc3801655 Define smart pointers default allocator in a single place 2022-04-10 20:10:33 +01:00
Marc Gilleron
a3e3140cd9 Fix missing header 2022-04-10 16:31:31 +01:00
Marc Gilleron
19a69b059e VoxelInstancer supports VoxelTerrain, although Godot 4 multimeshes are buggy
See https://github.com/godotengine/godot/issues/56357
2022-04-09 20:40:03 +01:00
Marc Gilleron
219c7bfda3 Changed prefix of profiling macros 2022-04-09 15:33:08 +01:00
Marc Gilleron
ab5d3a22d3 Abstract logging for verbose print 2022-04-09 15:00:34 +01:00
Marc Gilleron
ca83c720ff Return reference, pointer must not be null 2022-04-08 23:54:04 +01:00
Marc Gilleron
5519054c01 Unify macro prefixes 2022-04-06 23:26:54 +01:00
Marc Gilleron
e0008d3335 Fix compilation now Godot comes with its own FastNoiseLite.
The version shipped with the module is now prefixed.
Removed usages of OpenSimplexNoise.
2022-04-03 20:07:17 +01:00
Marc Gilleron
ee64ce28cb Remove redundant pre-declaration 2022-03-31 22:49:25 +01:00
Marc Gilleron
8d8d8b336d Moved VoxelLodTerrain and VoxelTerrain stuff to their own folders 2022-03-20 22:57:53 +00:00
Marc Gilleron
f631d8880c Added configuration warnings to resources 2022-03-06 01:10:47 +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
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
f1694b08ec Remove a few unnecessary usages of the wrapper version of VoxelBuffer 2022-02-03 00:02:10 +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
Marc Gilleron
9454759b02 Renamed VoxelInstanceLibraryItem => VoxelInstanceLibraryMultiMeshItem 2022-01-10 22:56:32 +00:00
Marc Gilleron
9c6118806f Namespaced remaining stuff 2022-01-09 22:46:26 +00:00
Marc Gilleron
b67ca3d903 Namespaced every registered class 2022-01-09 22:16:44 +00:00
Marc Gilleron
774adfca3c VoxelServer no longer inherits Object.
The Godot-facing singleton is now a different class in gd:: namespace.
Moved the updater to its own file.
2022-01-09 04:53:33 +00:00
Marc Gilleron
9c653b8a9f Namespaced FixedArray 2022-01-09 02:53:21 +00:00
Marc Gilleron
c1073d1bae Namespaced DirectMultiMeshInstance 2022-01-04 23:07:23 +00:00
Marc Gilleron
14840634de Re-namespaced VoxelDebug 2022-01-04 22:57:21 +00:00
Marc Gilleron
0fee995c0f Namespaced godot utility funcs 2022-01-03 23:52:54 +00:00
Marc Gilleron
e20684ce69 Namespaced math funcs 2022-01-03 23:14:18 +00:00
Marc Gilleron
88811eb0df Don't show instancer gizmos by default 2022-01-01 03:45:33 +00:00
Marc Gilleron
3db4798e14 Draw instance chunks in editor 2021-12-30 22:20:30 +00:00
Marc Gilleron
fefb7fb434 Fix crash when removing an item from the library while an instancer node is using it.
The old code was assuming block indices don't change, but they do
2021-12-30 05:03:31 +00:00
Marc Gilleron
89f3343354 Allow to dump VoxelInstancer as scene for debug inspection 2021-12-30 04:25:42 +00:00
Marc Gilleron
2d7d09534a Fix VoxelInstancer not refreshing when an item is modified 2021-12-30 04:22:23 +00:00
Marc Gilleron
922f361cb0 Made it compile in Godot 4
- Made a bunch of changes to comply with Godot 4 API
- Use Godot's Vector3i and add the missing stuff with helper functions
- Transvoxel uses custom attributes API, the old way would not work
- Wrap MeshOptimizer in a unique namespace (see build script why)
- Added clang-format file for the module as some rules now differ
- Prevent thirdparty code and lookup tables from being clang-formatted
- Very likely full of runtime bugs that need fixing
2021-12-13 21:38:10 +00:00
Marc Gilleron
d32dfc9c67 Fixed collision shapes not being saved 2021-10-31 20:13:44 +00:00