Commit Graph

252 Commits

Author SHA1 Message Date
1f23f61b3a Ran clang format, as apparently I had it off. 2020-04-10 13:55:27 +02:00
01c57c30e6 Fix error when the data margins are 0. 2020-04-10 13:43:49 +02:00
17dfbb4cab Fix voxel index calculations in the world editor. 2020-04-10 13:40:07 +02:00
03f9041eb8 Added get_or_create_chunk to VoxelWorld. 2020-04-10 13:39:11 +02:00
f6ed4505e7 Fixed indexing in the blocky voxel mesher. 2020-04-10 13:38:34 +02:00
69cc6e0b77 Better block positions for the blocky mesher. 2020-04-09 22:06:02 +02:00
a722f807fe Fix building for 3.2. 2020-04-09 15:45:51 +02:00
073e1aeb97 Fix build for 4.0. 2020-04-09 12:34:39 +02:00
9fe51572f4 Didi the same optimization to the transvoxel uv mesher. 2020-04-07 14:40:35 +02:00
f7842e1ab2 The blocky mesher is a lot faster now. 2020-04-07 14:23:20 +02:00
40535bfb59 Fix normal compile. 2020-04-06 23:08:35 +02:00
a4fc573f85 Optional module dependencies are actually optional now. 2020-04-06 22:47:03 +02:00
8b78f8e91d Library should update it's rects even in the editor now. 2020-04-06 20:10:57 +02:00
4a535207e0 Now chunks will generate the collider in the spawned thread. Also a few smaller tweaks. 2020-04-06 20:05:19 +02:00
f63a8910dc Fix coord calculation for the editor plugin. 2020-04-06 19:46:17 +02:00
28ce072e51 Renamed VoxelMesherTransvoxel to VoxelMesherUVTransvoxel. 2020-04-06 14:52:18 +02:00
81dc8bcb36 Don't bake colors, if lighting is disabled. 2020-04-06 14:23:49 +02:00
b9ba0c0bf9 Moved _bake_colors and _bake_liquid_colors into VoxelMesherDefault. Also made the other meshers inherit it. 2020-04-06 14:21:46 +02:00
c691c13277 Added a _chunk_added virtual method to voxel world. 2020-04-06 13:55:22 +02:00
b4c61ac674 Created a default version from world, and the mesher. Also added a BuildFlags enum to VoxelChunkDefault. Converted a few properties to use this. 2020-04-06 13:41:45 +02:00
d717c9886b Fix set_chunks, and enter_tree. 2020-04-06 00:51:25 +02:00
b046db78ed Removed leftover print. 2020-04-05 22:56:40 +02:00
25da88da19 Add the ability to get or set a channel compressed. 2020-04-05 22:07:52 +02:00
98707674a4 Initial implementation for the voxel world editor. 2020-04-05 21:02:51 +02:00
37517c2e18 Implemented blocky meshing. 2020-04-05 17:15:08 +02:00
d36eff4ed3 Fix potential crash. 2020-04-05 02:08:08 +02:00
b7f3b59f54 Removed the mutex from build phase. 2020-04-05 01:47:14 +02:00
dfee0a7786 Added a blocky mesher, chunk, and world (The minecraft-style mesher). It's incomplete. Also ported the light baking step from Broken Seals, and fixed a few warnings. 2020-04-05 01:36:41 +02:00
2d2b7c8c3e Started reworking the way props are handled. Removed every old PropData related classes. Props are now just normal PackedScenes. Spawning conveniences/network synchronization will come later. 2020-04-04 17:22:07 +02:00
04b68ff62d Sync classref with the current source. 2020-04-03 09:35:45 +02:00
214323a9a0 Fix compile. 2020-04-03 09:32:34 +02:00
bf211fd430 Moved everything that is prop related to a new repository (props). It is required for this to compile for a short wile, while I rework things. 2020-04-03 09:25:07 +02:00
6cae9a0494 Set the property hint for voxel_world to 0. This fixes saving chunks as resoruces. 2020-04-02 21:38:19 +02:00
9da5d2e2d0 VoxelChunk now inherits from Resource instead of from Spatial. This is to make the scene cleaner (especially after I implement the world editor plugin). As a small bonus this should also make multithreading-related crashes harder to create, as manipulating the Scenetree from a thread by accident is now a lot harder. 2020-04-02 21:28:19 +02:00
599b3eb8ea Fixed 2 warnings. 2020-03-31 13:32:06 +02:00
f7fd0193ea Added an editable property to VoxelWorld, and made the world editor plugin make use of it. 2020-03-31 13:25:31 +02:00
dfafb23342 VoxelChunk now won't expose the channels for the editor. This functionality should be implemented per chunk implementation. Did not delete the code yet, just commented it out. 2020-03-31 12:42:22 +02:00
165ebb68bf Removed the 2 queue implementations. 2020-03-31 12:32:49 +02:00
0202233a6f Added lz4. It will be used to compress chunk data. The choice of the algorithm was inspired by Zylann's godot_voxel. 2020-03-31 12:27:29 +02:00
a36b7a8ab6 Fix linux build with tools=no. 2020-03-31 00:57:58 +02:00
3969e0ba5f Fix a multithreading related crash. 2020-03-30 23:15:23 +02:00
f26fe74fc4 Ported the lod implementation from Broken Seals. 2020-03-30 19:46:39 +02:00
393ee1fb1b DefaultVoxelChunk now has a general interface for storing mesh/collider RIDs. 2020-03-30 18:32:39 +02:00
ee03e42a5a Fix assign. 2020-03-30 14:57:07 +02:00
4691e2aaef Ported merge_mesh_array and merge_mesh_array from Broken Seals. 2020-03-30 14:36:49 +02:00
4a3c9836ff Made the default visibility change event overrideable in VoxelChunkDefault. 2020-03-29 23:55:40 +02:00
541abb954d Now materials in Library are stored with vectors. This makes it possible to have different materials for every lod level for example. 2020-03-29 20:19:38 +02:00
ddfdb4489f Missed a binding. 2020-03-24 18:44:17 +01:00
87d387388c Apparently, calling emit signal and set_process_internal form a separate thread is not smart. 2020-03-24 18:42:01 +01:00
3689371503 Merge branch 'master' of https://github.com/Relintai/voxelman 2020-03-24 16:56:30 +01:00