Commit Graph

72 Commits

Author SHA1 Message Date
9c5aed85df Did the same to the generation queue related methods in VoxelWorld. 2020-10-27 18:36:10 +01:00
1da900a5e8 Same treatment to the chunk related methods in VoxelWorld. I kept the virtuals the same. 2020-10-27 18:22:18 +01:00
82d1f46e2e Fix typo. 2020-10-27 16:42:51 +01:00
be363ca7de Same change to voxel structure related methods in VoxelWorld. 2020-10-27 16:40:56 +01:00
494fe18746 add_prop -> prop_add in VoxelWorld. 2020-10-27 13:26:59 +01:00
0f69a9dce3 Same treatment to light related methods in VoxelWorld. 2020-10-27 13:24:40 +01:00
7e647cf8ba Same treatment to the area related methods in VoxelWorld. 2020-10-27 13:05:20 +01:00
8124f19c5d Same treatment to props related methods in VoxelChunk. 2020-10-27 12:56:34 +01:00
98155939c2 Renamed the mesh data resource getters in VoxelChunk to a new format, where the mesh_data_resource in the name is a prefix and not a postfix. This makes VoxelChunk's in engine documentation much more usable. 2020-10-26 16:52:38 +01:00
7311297906 Chunks that are stored inside worlds in scenes will properly generate their meshes now on load. Had to change _create_chunk a bit, now it will be called for all chunks, and it needs to check whether it has to init jobs or not. 2020-10-24 22:18:23 +02:00
cd341b9475 Fix typo in comment. 2020-10-24 17:53:14 +02:00
cf370025fc Moved the position calculation from the world editor to a virtual method inside VoxelWorld. 2020-10-24 02:41:32 +02:00
e14bc67da8 Implement isolevel support for the voxel editor. 2020-10-12 16:39:52 +02:00
0e4e59e970 Remove create_mesher and _create_mesher from chunks. Mesher creating now should be handled by the world itself in _create_chunk. This makes worlds able to use different chunk mesher setups for different parts of a world. Also this cust down the amount of classes that you need to create if you are implementing a new mesher. 2020-10-06 19:43:49 +02:00
08c2fc8fc1 More work on the logic. 2020-10-03 21:58:24 +02:00
eb1d55f05b More work on the logic, and api fixes. 2020-10-03 17:18:43 +02:00
46132202b0 Added generation specific process and physics process to VoxelChunk and VoxelJob. 2020-10-02 16:45:08 +02:00
dee38b1588 Fix light's position, as it expects it's coordinates in voxel world data space. Will probably change this eventually. 2020-07-07 18:01:21 +02:00
eac68265c1 Fix transforms in add_prop. 2020-07-07 17:02:30 +02:00
b8aaaf499b Implemented add_prop in VoxelWorld. (Some of the transform calculations still need to be fixed.) 2020-07-07 02:22:45 +02:00
6f7c4fbc8a Removed VoxelChunkPropData, the api of VoxelWorld, and VoxelChunk now uses PropDatas directly. 2020-07-07 01:06:46 +02:00
1d51be2f0b Moved 4.0 compatibility code into a new defines.h (like in ESS). 2020-05-23 10:34:47 +02:00
703acd1b56 Fix world to voxel calculations when the voxel scale is not 1. 2020-05-19 00:50:19 +02:00
af0c4d6586 add_chunk will error out now if a chunk is already owned by an another world. Also smaller improvements to set_chunks and the exit tree notification. 2020-04-22 15:57:00 +02:00
a2a9c1f714 Fix an in-editor scene-saving related crash. 2020-04-22 12:35:48 +02:00
9475986ee0 Added is_inside_tree() property to VoxelChunk. 2020-04-22 12:33:14 +02:00
efd08f69bf Allow the level generator to be null, without failing. 2020-04-22 12:21:50 +02:00
f00dd13c43 Fix typo. 2020-04-20 18:19:33 +02:00
21ad01ca80 Removed separate liquid surfaces. They will be contained inside the normal voxel arrays. 2020-04-19 23:35:47 +02:00
4a2321b161 Some settings in world will now get distributed to chunks. is_build_threaded has been moved from coxel chunk default to voxel chunk. ALso fixed a few crashes. 2020-04-18 02:15:01 +02:00
23d9acb5d4 Ported the lod level updater code from broken seals. 2020-04-17 22:09:55 +02:00
5c0ab27715 Added 3 more helper functions to voxel world. 2020-04-17 10:15:50 +02:00
76f9011c24 Added an overrideable fonction to VoxelWorld, so the editor plugin will be able to query the correct channel ids, for any particular world. returning -1 will mean not supported. 2020-04-16 21:59:30 +02:00
367c203cc6 Added lots of const qualifiers to world and chunk. 2020-04-16 17:10:04 +02:00
135b34c8a8 Moved the chunk position calculations from the world editor into VoxelWorld. 2020-04-16 14:44:22 +02:00
06d3b0ae32 Add property for voxel structures. 2020-04-16 14:07:10 +02:00
d985610574 Cleaned up VoxelStructure, and added an api for them into VoxelWorld. 2020-04-16 13:40:39 +02:00
dd0fa1d7ea Cleaned up the prop spawning api in chunk and world. 2020-04-15 13:06:45 +02:00
7a3e4ecbe3 Cleaned up the light baking api. 2020-04-15 12:41:52 +02:00
acf2d2d701 Fix 2 multithreading related crashes. 2020-04-10 15:50:53 +02:00
03f9041eb8 Added get_or_create_chunk to VoxelWorld. 2020-04-10 13:39:11 +02:00
073e1aeb97 Fix build for 4.0. 2020-04-09 12:34:39 +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
c691c13277 Added a _chunk_added virtual method to voxel world. 2020-04-06 13:55:22 +02:00
d717c9886b Fix set_chunks, and enter_tree. 2020-04-06 00:51:25 +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
666695a220 Now VoxelChunkDefault will move it's meshes if it's transform changes, free them on EXIT_TREE, and sets their visibility. Also added a few missing break statements. 2020-03-15 19:33:10 +01:00