Commit Graph

4309 Commits

Author SHA1 Message Date
320da06260 Fix windows build. 2025-02-14 19:51:19 +01:00
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
6e9e3fd580 Now TerrainLights inherit from Resource. 2025-02-14 16:27:21 +01:00
6786193010 Added to_dict() and from_dict() methods to TerrainLight/ 2025-02-14 16:25:37 +01:00
601185c2bd Set prop ownership to lights in TerrainWorld::prop_add(). 2025-02-14 16:09:21 +01:00
1c14d1cb4c Store ownership information in TerrainLights. 2025-02-14 16:09:01 +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
42a2979d3e Fix isolevel paint and paint brush tools always allowing chunk creation. 2025-02-08 15:10:23 +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
c9089867f9 Fix typo. 2025-02-08 14:39:35 +01:00
9142f7c806 Implemented the spawn chunks and remove chunks tool in TerrainWorldEditor. 2025-02-08 14:23:23 +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
a2784fd2a0 Implemented the gui for the chunk spawn and chunk remove tools in TerrainWorldEditor. 2025-02-08 13:14:43 +01:00
ebcac318e7 TerrainWorldEditor variable name tweaks. 2025-02-08 12:50:26 +01:00
12214cb8c7 Fix potential hang on exit due to deadlocks. 2025-02-08 11:24:42 +01:00
c85768ae8a Added NOTIFICATION_QUITTING to MainLoop. 2025-02-08 11:24:16 +01:00
b264a837a8 Implemented the paint picker tool in TerrainWorldEditor. Also improved the editor's Button signal setup. 2025-02-08 09:59:41 +01:00
a096f653cc Inlined set_pressed_no_signal call into BaseButton::set_pressed(). 2025-02-08 09:58:49 +01:00
175f67fd74 Tewaks to the main tool labels in TerrainWorldEditor. 2025-02-08 09:11:17 +01:00
fb9c71726c Implemented the paint picker tool's ui in TerrainWorldEditor. 2025-02-08 09:10:54 +01:00
4ac888c7af Add the paint brush tool settings buttons to the proper container in TerrainWorldEditor. 2025-02-08 08:37:10 +01:00
0762caaf20 Reordered the main tool buttons in TerrainWorldEditor. 2025-02-08 08:31:29 +01:00
33bd758806 Removed the add and remove single tools from TerrainWorldEditor as they are not very useful for a terrain engine. 2025-02-08 08:28:38 +01:00
da336fdb73 Only show the surface selection when the paint brush is active in TerrainWorldEditor. 2025-02-08 08:04:13 +01:00
a46997b87f Added the ability to erase using the paint brush in TerrainWorldEditor. 2025-02-08 07:58:14 +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
16d62d3a34 Chunk remover tool initial setup in TerrainWorldEditor. 2025-02-07 14:45:40 +01:00
3f267dcbfc Make the expected tool settings shown by default in TerrainWorldEditor. 2025-02-07 12:58:50 +01:00
1da418523a Spawn brush initial setup in TerrainWorldEditor. 2025-02-07 12:57:16 +01:00
ba6a112efb Reorganized the tools in TerrainWorldEditor. Also made the Isolevel Brush the default. 2025-02-07 12:50:59 +01:00
ae987b83e9 Renamed the add and remove tools to add single and remove single voxel in TerrainWorldEditor. Also improved their gui a bit. 2025-02-07 12:47:06 +01:00
aeae3198ba Disable allow chunk creation for the paint brush and isolevel brush tools by default in TerrainWorldEditor. A new chunk spawner tool will be added instead soon. 2025-02-07 12:40:05 +01:00