Commit Graph

243 Commits (master)

Author SHA1 Message Date
Marc Gilleron cd6f5d396a `plus_file` was renamed `path_join` 2022-09-01 01:31:14 +01:00
Marc Gilleron dfbd7abfc1 Add missing argument names from class methods 2022-08-28 02:25:29 +01:00
Marc Gilleron f8883966db Split Godot utilities in their own files 2022-08-20 18:25:23 +01:00
Aaron Franke 5170d3cc6a
Rename flush_cache with connection parameter to flush_cache_to_connection 2022-08-04 11:30:32 -05:00
Marc Gilleron 1f128a7803 Fix some issues with persistent instance positions
- Scene instances were not made relative to their block
- Saving a block while mesh size is 16 and loading it back while mesh size
  is increased to 32 should now work. Before, positions were saved
  relative to render block instead of data block, which forced to
  keep mesh and data sizes the same
- Fixed incorrect octant_index in save_block, Z shift was 1 instead of 2
2022-07-24 01:00:02 +01:00
Marc Gilleron bef247efe4 Fix size printed instead of offset, make it print both 2022-07-24 00:43:44 +01:00
Marc Gilleron 25bdeb0e8e Macro changes 2022-07-24 00:42:35 +01:00
Marc Gilleron dfde47307e Move vox code under vox/ folder 2022-07-17 19:15:32 +01:00
Marc Gilleron e9445a9ccb Removed VoxelStreamBlockFiles 2022-07-17 18:49:48 +01:00
Marc Gilleron 5ca09d712e Renamed VoxelServer => VoxelEngine 2022-07-16 23:59:06 +01:00
Marc Gilleron 19f94e9912 Merge branch 'master' into modifiers 2022-06-19 21:41:38 +01:00
Marc Gilleron c1f3997e54 Missing format 2022-06-19 18:10:59 +01:00
Marc Gilleron 1464286660 Add experimental key caching in VoxelStreamSQlite.
Not enabled by default, will test this in the future because it might
optimize multithreaded query speed in worlds with sparse saves.
2022-06-18 23:28:30 +01:00
Marc Gilleron 86ba74ce3a Some changes and fixes related modifiers
- VoxelLodTerrain no longer caches generated voxels by default, so
  generating on the fly is no longer exclusive to full load mode.
  Might add an option later, but not for now (VoxelTerrain is still
  unaffected and keeps caching them)
- The "Cached" state is represented with blocks having no voxel data,
  so it needs extra checks in some areas to avoid null access
- Fix generate task was not including modifiers after the base generator
- The "save_generator_output" option on streams now means such blocks are
  considered edited
- Modifying modifiers now clears cached generated blocks
  intersecting with them.
- Fix "re-generate" was erasing the internal stack of modifiers
- Added docs
2022-06-18 23:14:18 +01:00
Marc Gilleron 58185147e3 Fix unused variables 2022-06-08 20:29:18 +01:00
Marc Gilleron 177d7a99c9 Added basic stack tracking for memory pool allocations 2022-06-06 21:54:20 +01:00
Ryan Roden-Corrent 26dbd13f3a
Avoid unused variable warning.
gcc warns:

```
modules/voxel/streams/region/region_file.cpp: In function 'bool save_header(FileAccess*, uint8_t, const VoxelRegionFormat&, const std::vector<VoxelRegionBlockInfo>&)':
832
modules/voxel/streams/region/region_file.cpp:101:9: error: unused variable 'blocks_begin_offset' [-Werror=unused-variable]
833
  101 |  size_t blocks_begin_offset = f->get_position();

	const size_t blocks_begin_offset = f.get_position();
```

I noticed this while trying to build export templates using github
actions, as the godot actions treat warnings as errors by default:

https://github.com/rcorre/godot/runs/6617207436
2022-05-26 18:29:44 -04:00
Marc Gilleron 09d0be21e2 Remove remaining usages of HashMap 2022-05-14 19:38:39 +01:00
Marc Gilleron ae8a6c041f Merge branch 'master' of https://github.com/Zylann/godot_voxel 2022-05-07 22:06:54 +01:00
Marc Gilleron a5e429de6f Moved some Vector3i function specializations to math:: namespace 2022-04-29 23:25:37 +01:00
Raphaël Duchaîne f188e1f191 Replace size_t read_size with uint64_t instead 2022-04-27 11:07:27 -04:00
Marc Gilleron ac73904df7 Fix wrong version when saving blocks 2022-04-22 22:20:48 +01:00
Marc Gilleron f60c506e75 CompressedData doesn't depend on Godot 2022-04-19 01:04:53 +01:00
Marc Gilleron 5965bcf98f FileLocker doesn't depend on Godot 2022-04-19 00:58:29 +01:00
Marc Gilleron 4e3d4d4ed8 Threading classes wrappers 2022-04-19 00:32:37 +01:00
Marc Gilleron f48ebe8557 Moved StreamPeer stuff to Godot-specific wrapper 2022-04-18 20:40:25 +01:00
Marc Gilleron d7e0af161a Abstracted voxel metadata so internals no longer depends on Variant 2022-04-18 19:59:38 +01:00
Marc Gilleron 8aec9cf777 VoxelBufferInternal doesnt depend on Image 2022-04-16 16:07:45 +01:00
Marc Gilleron f3be787f69 Remove usage of FileAccessMemory 2022-04-16 02:27:18 +01:00
Marc Gilleron 75d8343700 Fix ambiguous assignment 2022-04-16 00:39:13 +01:00
Marc Gilleron 87f3aeb5e2 Fix missing header for GCC (3) 2022-04-16 00:15:50 +01:00
Marc Gilleron f50024fd10 Fix missing header for GCC 2022-04-16 00:07:23 +01:00
Marc Gilleron a5c3f8b824 Fix code to work with Godot's new FileAccess RefCounted object 2022-04-15 23:13:31 +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 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 5519054c01 Unify macro prefixes 2022-04-06 23:26:54 +01:00
Marc Gilleron 090d3485e5 Use unique pointers in ExpressionParser 2022-04-06 22:00:32 +01:00
Marc Gilleron 83dfd271a6 Fixed inverted variables in debug message 2022-03-30 23:17:48 +01:00
Marc Gilleron 2c99dd9d85 Merge branch 'master' of https://github.com/Zylann/godot_voxel 2022-03-06 01:11:48 +00:00
Nona eaac42cfb1 Included header file for the Dynamic memory management lib to define unique_ptr and shared_ptr. 2022-03-02 12:16:27 -05:00
Marc Gilleron 55deafd0ec Removed pedantic assertion.
It can happen if the file contains just one block, and if it gets
written over a second time with data spanning more sectors.
2022-02-28 22:17:10 +00:00
Marc Gilleron 0fd25ce52a Added missing position checks to RegionFile 2022-02-28 22:15:59 +00:00
Marc Gilleron a8f5c4f0b9 Fix unused variables 2022-02-27 17:01:10 +00:00
Marc Gilleron 4e8f9bf2e9 Fix missing return value 2022-02-27 01:58:58 +00:00
Marc Gilleron a75de1eee2 Instances are now serialized with little-endian 2022-02-26 23:05:55 +00:00
Marc Gilleron d9c2d227ac Don't use `sizeof(int)` for portability 2022-02-26 22:53:19 +00:00
Marc Gilleron 008f6d83a1 Compressed data now uses a little-endian header instead of big endian 2022-02-26 22:52:31 +00:00
Marc Gilleron 493b93a051 SDF is now encoded with inorm8 and inorm16 2022-02-26 22:51:29 +00:00