Commit Graph

48 Commits

Author SHA1 Message Date
64696b534b Don't destroy and re-generate meshes in TerrainChunk's _enter and _exit_tree, just hide / show them. This makes scene tab swithing with TerrainWorlds in the editor a lot simpler. 2025-04-18 19:50:17 +02:00
82218be991 Fix visibility toggling in TerrainChunkDefault even if lods are disabled. 2025-04-08 08:58:21 +02:00
bd476c1d66 Split _create_chunk() to _create_chunk() and _setup_chunk() in TerrainWorld.
Unfortunately this is a breaking change. (Very slight though.)
Now _create_chunk() should be used to initialize serialized properties
in chunks. The new _setup_chunk() virtual should be used to initialize
other non/serialized properties (like meshers).
Fortunately the only thing that needs to be done is to split old
_create_chunk() into two.
Note that when using procedural generation, the old way should just work
without any updates necessary. This change is only needed when loading
of chunks is desired.
2025-04-07 22:06:04 +02:00
c094e070c7 Now TerrainChunks will register their lights into the VertexLights3DServer if use_vertex_lights_3d is enabled in world. 2025-04-04 18:15:33 +02:00
20f5439a82 Fix TerrainChunk::light_remove_index() not actually remoing lights. 2025-04-04 16:24:48 +02:00
f770c598ed Now TerrainChunks can also store a name and material for MeshDataResources. 2025-04-04 15:05:05 +02:00
3f817947c7 Fix logic in TerrainChunk::scenes_set() and TerrainChunk::props_set(). 2025-04-04 12:39:21 +02:00
f9172bddd5 Fix typo. 2025-04-04 10:55:27 +02:00
dc4de19aaf Return and set the name with the props property in TerrainChunk. 2025-04-04 10:54:54 +02:00
0847706fa2 Implement setting a name to scenes in TerrainChunk. 2025-04-04 10:53:12 +02:00
7e52eb6b43 Now props added to TerrainWorld can also have a name. The prop bake editor tool uses it to save and restore node names. 2025-04-04 01:27:22 +02:00
5ad5d65705 Call emit_changed() in TerrainChunk setters. Also a setter fix. 2025-04-04 00:32:30 +02: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
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
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
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
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
d0fa4ba194 Clear the material cache data in TerrainChunk::_exit_tree(). 2025-02-08 14:22:03 +01:00
2024a33ee9 Implemented chunk material invalidation support for TerrainLibraryMergerPCM. 2025-02-07 10:08:22 +01:00
6be11c2bff Implemented an immediate build mode for TerrainChunk. 2025-02-06 17:22:10 +01:00
429575fab6 File copyright header updates pt8. 2023-12-18 00:18:53 +01:00
5088d32fa0 Removed my old copyright headers. 2023-12-17 22:59:50 +01:00
88e9ad04f2 Moved back the servers and resources from core. 2023-12-10 23:11:07 +01:00
dbcc6e33da Moved the physics server to core. 2023-12-10 19:36:00 +01:00
3f8ca3136e Codestyle fixes. 2023-10-13 20:41:22 +02:00
2aa3fbf381 Codestyle. 2023-10-13 20:27:08 +02:00
f058c87868 Backported from godot4: Rework Navigation Avoidance
Rework Navigation Avoidance.
- smix8
a6ac305f96
2023-06-10 20:58:49 +02:00
d093365b00 Fix some property names being the same as getters / setters. 2023-06-01 15:42:32 +02:00
b240df7df6 Updated more copyright headers for 2023. 2022-12-31 21:07:05 +01:00
4f06946cf5 Centralize LZ4 usage. 2022-11-19 19:51:29 +01:00
2fdaacfa66 Moved away from the MESH_DATA_RESOURCE_PRESENT define aswell. 2022-10-05 12:54:17 +02:00
ea2a36c4ea Also replaced the old PROPS_PRESENT defines with the module system's generated defines. 2022-10-05 11:16:32 +02:00
27316923d3 Moved ThreadPool to core. Also it can change it's thread count now when it has time for it. 2022-09-10 04:16:50 +02:00
dc9cc716c7 Moved Object related classes under core/object. 2022-08-17 13:45:14 +02:00
e71e3ed897 Now Vector4, Vector4i, Projection, PoolVector4Array, PoolVector4iArray, are built in variant types. Also reordered the Variant's Type enum, renamed _RID in it to RID, fixed a few smaller issues and removed some very old compat code. 2022-08-16 21:55:56 +02:00
249dd4d661 Updated property hints for variant arrays. 2022-07-30 21:58:40 +02:00
4d7df62b8e Clang format all files. 2022-03-18 19:00:13 +01:00
029467ab2c More include and macro cleanups. 2022-03-18 04:10:09 +01:00
3039645b4a Cleaned up Terraman's version checks. 2022-03-18 02:41:08 +01:00
3965d70ac5 Moved more includes to cpp files. 2022-03-17 19:35:23 +01:00
49f8e8c398 Added godot with all my currently used engine modules. 2022-03-15 13:29:32 +01:00