233 Commits

Author SHA1 Message Date
Marc Gilleron
3045e9a489 BlockSerializer is no longer a class 2022-01-16 04:01:22 +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
0e48ee71a4 Namespaced VoxelStreamSQLite 2022-01-09 05:04:28 +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
d690ef0963 Namespaced VoxelStreamCache 2022-01-09 03:42:45 +00:00
Marc Gilleron
e53dcf7c84 Re-namespaced VoxelConstants 2022-01-09 03:06:58 +00:00
Marc Gilleron
9c653b8a9f Namespaced FixedArray 2022-01-09 02:53:21 +00:00
Marc Gilleron
3101d7f092 Namespaced file_utils 2022-01-09 02:21:49 +00:00
Marc Gilleron
38baeae2d9 Namespaced VoxelBufferInternal 2022-01-08 22:49:59 +00:00
Marc Gilleron
09899eef97 Namespaced Color8 2022-01-04 22:30:46 +00:00
Marc Gilleron
64415a3c86 Configure clang-format to put a newline after template declarations 2022-01-04 22:15:57 +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
2fdf0bf6df Namespaced VoxelBlockSerializerInternal 2022-01-03 02:52:06 +00:00
Marc Gilleron
4a94d13565 Re-namespaced vox stuff 2022-01-03 02:35:40 +00:00
Marc Gilleron
404d2cd911 Namespace VoxelRegionFile 2022-01-03 02:17:41 +00:00
Marc Gilleron
e2d3cb2c57 Namespace insert_bytes 2022-01-03 01:58:35 +00:00
Marc Gilleron
0773f9f107 Namespace serialization and compressed data 2022-01-03 01:50:58 +00:00
Marc Gilleron
4d2fe30661 Use Time singleton 2021-12-29 17:06:24 +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
cb1af8c1d9 Fix GCC warning about shadowed local 2021-12-11 23:55:40 +00:00
Marc Gilleron
380e295d94 Merge branch 'master' into full_load_mode
# Conflicts:
#	meshers/transvoxel/transvoxel.h
#	server/voxel_server.cpp
#	terrain/voxel_lod_terrain.cpp
2021-12-11 22:59:24 +00:00
Alex
3c47d29c4a 1 more missing header for unique_ptr 2021-11-06 08:10:34 +02:00
Marc Gilleron
ca7ac42cde Merge branch 'master' into full_load_mode
# Conflicts:
#	edition/voxel_tool_lod_terrain.cpp
#	generators/graph/voxel_generator_graph.cpp
#	terrain/voxel_lod_terrain.cpp
2021-10-31 16:17:27 +00:00
Marc Gilleron
6441d1b864 Deprecate Vector3i(Vector3) constructor, make conversions explicit
Some conversions were wrong/unintented.
This is also in prevision of using Godot 4 Vector3i,
which default behavior differs from this module.
2021-10-31 16:01:47 +00:00
Marc Gilleron
375c68b0de Merge branch 'master' into full_load_mode 2021-10-13 20:29:58 +01:00
Marc Gilleron
191659ae7c Fix voxel mips saved at wrong positions, caused them to show up often in the air 2021-10-04 01:32:12 +01:00
Marc Gilleron
bb7311b282 Merge branch 'master' into full_load_mode 2021-10-03 02:48:46 +01:00
Marc Gilleron
e04091f3cb Added full load mode to VoxelLodTerrain
With this mode enabled, editing anywhere becomes possible.
All edited blocks are loaded at once when the stream is assigned.
The generator is used on the fly to fill the gaps, instead of being
pre-emptively cached only nearby the viewer to allow editing.
Editing is still on the main thread, so this can cause stalls if
the generator is complex. There is also no controlled limit on how
much data gets loaded, so if edited data is larger than RAM, it will
not be playable. The feature is already quite usable, but more work
may be done for wider viability.
2021-10-03 01:48:07 +01:00
Marc Gilleron
33b66153dc Use span instead of requiring a vector 2021-10-03 01:32:01 +01:00
Marc Gilleron
00c228851d Fix signedness 2021-09-26 16:36:08 +01:00
Marc Gilleron
fb2dc3bc0f Fix unnecessary macro argument 2021-09-26 15:49:12 +01:00
Marc Gilleron
30db0c5193 Split VoxelBuffer in two, script-facing wrapper and internal.
The internal is the main use within the voxel engine,
and does not inherit Reference.
2021-09-26 04:14:50 +01:00
Scott Wadden
511422c30d Fixed macos build errors 2021-09-22 09:48:35 -03:00
Marc Gilleron
f0c59acf0b Fix VoxelStreamBlockFiles always showing a warning about channels 2021-09-18 01:44:33 +01:00
Marc Gilleron
026c14fcb5 Added importer to import vox files into a single mesh
- New importer, needs restart to switch but it's a limitation of Godot
- Might blow up if the scene spans a really big area, may be optimized in the future.
- The scene importer remains the default choice
- Promoted some ints to 64-bit to avoid oveflowing with large volumes or distances
- Handle a few cases of malloc failure
2021-08-14 16:49:46 +01:00
Marc Gilleron
36890408df Profiling scopes 2021-08-07 23:05:42 +01:00
Marc Gilleron
967dcbd04c Don't save meta file on loading, not sure why that was done before 2021-08-01 15:42:24 +01:00
Marc Gilleron
6ea6ce9581 Initialize to the same defaults as in VoxelBuffer 2021-08-01 15:41:23 +01:00
Marc Gilleron
47b71b7431 Unused struct 2021-08-01 15:40:51 +01:00
Marc Gilleron
6d6d8fb368 Fix material ID, can be 0 or 256 (whatever that's supposed to mean, while the palette can only have 256 colors) 2021-08-01 15:40:22 +01:00
Marc Gilleron
6b3991c695 Fix warning 2021-07-31 21:24:54 +01:00
Marc Gilleron
3979cbd0b9 Fix vox rotation conversion 2021-07-31 21:22:49 +01:00
Marc Gilleron
9a74362aca Added vox scene importer. No options at the moments. 2021-07-31 18:48:47 +01:00
Marc Gilleron
059f490669 Renamed udiv => floordiv 2021-07-31 15:15:43 +01:00
Marc Gilleron
2c3b7fae5a Error more explicitely in case trying to serialize an empty block 2021-07-25 20:38:15 +01:00
Marc Gilleron
466bc41ab8 Comments 2021-07-25 20:37:47 +01:00
Marc Gilleron
149eb2a873 Added test for instance data serialization 2021-07-18 19:42:42 +01:00
Marc Gilleron
da8dc36590 Return all channels supported with region files and SQLite
This fixes a node configuration warning,
because before these were always returning no channels at all.
2021-06-14 18:51:19 +01:00