Commit Graph

113 Commits

Author SHA1 Message Date
f56182466f Fix compile on windows, osx, and javascript. (Hopefully.) 2025-02-14 19:43:35 +01:00
b248a28ccf More tweaks to TerrainChunk's new scene api. 2025-02-14 18:02:32 +01:00
9841d6fdc8 Small variable name tweak. 2025-02-14 17:51:08 +01:00
10c5076819 Added the new scene_add() method to TerrainWorld. Also store scenes from props inside chunks. 2025-02-14 17:49:07 +01:00
9d6ec2bb65 Tweaks and improvements to TerrainChunk's new scene api. 2025-02-14 17:48:33 +01:00
39eeba0efd Added scene storage api to TerrainChunks.
Also mass replaced the typo "tarnsform" to "transform", and fixed a
parameter name in a TerrainChunk binding.
2025-02-14 16:57:32 +01:00
418bac4209 Added owned_lights property to TerrainChunk. Also changed the lights property it is now scripting only, it won't get saved. 2025-02-14 16:39:25 +01:00
601185c2bd Set prop ownership to lights in TerrainWorld::prop_add(). 2025-02-14 16:09:21 +01:00
7006c947cd Store whether a mesh_data_resource in a TerrainChunk is original or not. 2025-02-14 15:49:39 +01:00
2054f60c6d Renamed the new original parameter in TerrainChunk and TerrainWorld's prop api from owner to original. 2025-02-14 15:32:54 +01:00
0a87629b01 Set prop ownership when adding them in TerrainWorld. 2025-02-14 15:28:45 +01:00
1643197af3 Now TerrainChunks will remember whether they own a prop or not. Also added and bound missing methods to Chunk's prop api. 2025-02-14 15:28:14 +01:00
954ca26471 Make sure the remaining chunks are notified of the changed world lights when adding / removing chunks. 2025-02-11 00:50:21 +01:00
583298dbfe Now TerrainLights are stored inside chunks (they are also automatically saved with them). Also changed TerrainLight's api to makes use of Vector3i. 2025-02-11 00:38:48 +01:00
eb3ed4fa20 Now props and mesh data resources are saved with the TerrainChunks. 2025-02-10 17:48:11 +01:00
b0177a2c3a Only generate chunks once. 2025-02-10 15:24:16 +01:00
23614770f1 Simplify chunks_set() in TerrainWorld. 2025-02-08 15:55:40 +01:00
a980238482 Add the new chunk to the generation queue instead of directly calling it's build method in TerrainWorld::chunk_add(). 2025-02-08 14:47:29 +01:00
64a14fee17 Also expose the liquid data in TerrainChunkBlocky. 2025-02-08 14:40:07 +01:00
4886ff454b Call TerrainChunk's build() after it's added to a World manually. 2025-02-08 14:22:55 +01:00
4ac6095509 Added a new helper method to TerrainWorld. 2025-02-08 14:22:31 +01:00
d0fa4ba194 Clear the material cache data in TerrainChunk::_exit_tree(). 2025-02-08 14:22:03 +01:00
12214cb8c7 Fix potential hang on exit due to deadlocks. 2025-02-08 11:24:42 +01:00
f7a9f5201f Added liquid mode to the isolevel brush and paint brush tools in TerrainWorldEditor. 2025-02-08 07:49:26 +01:00
17e048a044 Added a new helper method to TerrainWorld. 2025-02-08 07:44:55 +01:00
39b3a12b1a Handle a missing case when setting voxels in TerrainWorld. 2025-02-07 12:17:11 +01:00
39cb3e398f Reset the mesher's lod index in _reset() in TerrainTerrainJob. This fixes subsequent mesh generations. 2025-02-07 10:49:40 +01:00
2024a33ee9 Implemented chunk material invalidation support for TerrainLibraryMergerPCM. 2025-02-07 10:08:22 +01:00
2688162cf9 Optimized editing in TerrainWorldEditor. 2025-02-06 17:42:53 +01:00
c13a4d08a5 Use the new immediate build mode in TerrainWorld's set_voxel_at_world_data_position(). 2025-02-06 17:22:42 +01:00
6be11c2bff Implemented an immediate build mode for TerrainChunk. 2025-02-06 17:22:10 +01:00
952553e9ad Clear meshes as needed in TerrainTerrainJob. 2025-02-06 17:21:35 +01:00
4a2d4af692 Clear meshes as needed in TerrainPropJob. 2025-02-06 17:21:24 +01:00
ac6be71368 Codestyle fix. 2025-02-06 17:20:58 +01:00
3610209f54 Moved the TerrainWorldEditor to a new folder. Also make sure it's only compiled in tools builds. 2025-02-05 09:35:16 +01:00
d345ddb9e1 Implemented the paint brush mode in TerrainWorldEditor. 2025-02-04 20:19:50 +01:00
4114c23649 Implemented the isolevel brush in TerrainWorldEditor. 2025-02-04 18:27:35 +01:00
9cd4da72c8 Added new helper methods to TerrainWorld. 2025-02-04 18:26:01 +01:00
0fd99be95a Added a strength slider for the isolevel brush in TerrainWorldEditor. 2025-02-04 14:17:43 +01:00
7e54c7d634 Added a button for setting the allow chunk creation option for the isolevel brush in TerrainWorldEditor. 2025-02-04 13:30:55 +01:00
7120ab24fd Include cleanups. 2025-02-04 13:22:18 +01:00
c199161646 Removed set_voxel_with_tool from TerrainWorld. 2025-02-04 13:10:28 +01:00
4201113680 Initial input handling refactor for TerrainWorldEditor. 2025-02-04 13:08:35 +01:00
45e5c77395 Added the option to select the channel in TerrainWorldEditor's Isolevel Brush. 2025-02-04 11:28:12 +01:00
6c7d5c9049 Gui and callback setup for the isolevel brush in TerrainWorldEditor. 2025-02-04 10:00:06 +01:00
f25c008f6d Small tweaks and reorganization in TerrainWorldEditor. 2025-02-04 09:02:19 +01:00
bb59a03e06 Small tweak. 2025-02-03 23:02:41 +01:00
c3b468027a TerrainWorldEditor cleanups and some initial rework for it's new functionality. 2025-02-03 18:19:14 +01:00
0f8a398f95 Tidy up the Isolevel clider of the TerrainWorldEditor. 2025-02-03 14:27:58 +01:00
a138cb10a4 Moved the control buttons of the TerrainWorldEditor to the side panel. 2025-02-03 14:25:35 +01:00