Commit Graph

1555 Commits

Author SHA1 Message Date
61ddf05296 Removed RTileMap and RTileSet compatibility classes. 2023-01-15 13:34:48 +01:00
8075ef8e62 Added include guards to all module register_types.h-s. 2023-01-15 13:27:08 +01:00
358dbabb13 Moved the cvtt module to the editor modules folder, as it's tools only. 2023-01-15 11:56:13 +01:00
e9a19c1a66 Added module initialization levels (similar idea to what's in godot4, although I added more). 2023-01-15 11:46:13 +01:00
642a590949 Fix GSAIAvoidCollisions;s logic. 2023-01-14 15:33:52 +01:00
67368542ad Fix small issues with the docs. 2023-01-14 14:35:47 +01:00
8f380676a3 Bind the enums in GSAIKinematicBody2DAgent and GSAIKinematicBody3DAgent. 2023-01-14 14:34:08 +01:00
013fe0b1a2 Move the old comments from the steering ai module to the class doc xmls. 2023-01-14 14:31:39 +01:00
fc991ede18 Re-extracted class docs. 2023-01-14 13:38:58 +01:00
3be6c6282c Also cleaned up agents and added them to the build. 2023-01-14 13:36:30 +01:00
967918fbe0 Added Behaviors to the build. 2023-01-14 03:14:27 +01:00
693ec871e5 Behaviors cleanup part3. 2023-01-14 02:47:55 +01:00
6f27129fe5 Behaviors cleanup part2. 2023-01-14 02:31:42 +01:00
9bca0fae16 Behaviors cleanup part1. 2023-01-14 01:43:20 +01:00
caf3f1210b Cleaned up GSAIRadiusProximity and GSAIInfiniteProximity aswell. 2023-01-14 00:28:56 +01:00
65aa1c4084 Make virtuals actually virtuals. 2023-01-13 23:53:46 +01:00
36477a1a73 GSAIProximity now have an alternate api for getting the agents. 2023-01-13 23:38:01 +01:00
a714f33a80 Fixed logic in GSAIPath. 2023-01-13 23:19:41 +01:00
6d8e5773cc Small fix. 2023-01-13 23:19:29 +01:00
087e57abc7 Fix vmethod binds. 2023-01-13 23:07:52 +01:00
56296172cc Cleaned up the core steering ai classes. 2023-01-13 23:01:38 +01:00
7afddb9fc3 Make include guard style consistent with the rest of the engine in the new module. 2023-01-13 22:04:30 +01:00
7792c4f423 Cleaned up GSAIUtils, and registered it as a singleton. 2023-01-13 21:59:21 +01:00
402e8ff689 Cang formatted everything in the new module. 2023-01-13 21:35:07 +01:00
0d2aa86bc3 Fixed file names in the new module. 2023-01-13 21:29:17 +01:00
694d9a7333 Rename the folcers in the new module. 2023-01-13 21:15:03 +01:00
9fed52de03 Added a new steering_ai module.
It's a modified verion of https://github.com/GDQuest/godot-steering-ai-framework which I converted to c++ using thr converter srcipt.
It still needs to be cleaned.
2023-01-13 21:13:57 +01:00
5b2fc25338 Added missing binds in FileCache. 2023-01-04 00:40:28 +01:00
238bc63087 Added a new WebServerRequestScriptable class, so different web server request implementations can be created using scripts when needed. 2023-01-03 21:27:36 +01:00
0c3b684da7 Small tweak. 2022-12-31 22:00:37 +01:00
e1d7706198 Added COPYRIGHT.txt to the wfc module. 2022-12-31 22:00:32 +01:00
61f343d58b Added COPYRIGHT.txt to the web module. 2022-12-31 21:57:06 +01:00
e7f74ad154 Added COPYRIGHT.txt to the texture_packer module. 2022-12-31 21:51:05 +01:00
6d0c94bb6d Fix typo. 2022-12-31 21:50:45 +01:00
0ef41c62af Added COPYRIGHT.txt for the paint module. 2022-12-31 21:38:08 +01:00
64c98a607c Added COPYRIGHT.txt for the mesh utils module. 2022-12-31 21:27:55 +01:00
b240df7df6 Updated more copyright headers for 2023. 2022-12-31 21:07:05 +01:00
30f41745fd Added COPYRIGHT.txt to the material_maker module. 2022-12-31 20:27:16 +01:00
0a1dd974fc Cleaned up the material maker module's readme. 2022-12-31 20:26:46 +01:00
b843fcc498 Removed the mat_maker_gd (gdscript) addon from th material maker module. (I forgot about it.) 2022-12-31 20:23:26 +01:00
76802a25b2 Added COPYRIGHT.txt for the http_server_simple module. 2022-12-31 20:19:10 +01:00
c181bf3d86 Cleaned up licenses in the fastnoise module. 2022-12-31 20:09:45 +01:00
caba177763 Added copyright.txt for the sqlite module. 2022-12-31 20:01:52 +01:00
08e502462a Removed database_postgres and database_mysql modules. (They were hard disabled.) 2022-12-31 19:40:46 +01:00
b46ab0f4a7 Updated copyright headers to 2023. 2022-12-31 19:34:43 +01:00
51e09f5b9f COPYRIGHT.txt for the lz4 module. 2022-12-31 18:12:37 +01:00
1541a04d17 Added docs for the TableBuilder. 2022-12-27 21:43:11 +01:00
3ae8a852a7 Added docs for the QueryBuilder. 2022-12-27 18:20:15 +01:00
db534a3da6 Use String.empty() instead of comparing a string to "", in the QueryBuilder. 2022-12-27 18:20:01 +01:00
093ee3e592 Re-extracted class docs. 2022-12-27 14:52:04 +01:00
dacee1ae4f Added initialized signal and helper method to the DataBaseManager. It can be used to let automally allocated classes (singletons, main scene classes) in heavily database driven applications know when it's safe to use the db. 2022-12-24 11:45:13 +01:00
b83c4f7ff8 Added a simple page rendering customization api for UserWebPages. 2022-12-22 21:31:14 +01:00
213f393293 Fix typos with codespell. 2022-12-22 19:51:25 +01:00
cc7d77f3e1 Re-extracted class docs. 2022-12-22 19:28:17 +01:00
1a4a526f97 Ported: miniupnpc: Update to version 2.2.3
Library code and public headers are now properly separated, we can fix include paths
to remove the redundant subfolder.
- akien-mga
912cd43418
2022-12-22 17:05:27 +01:00
711d08be2b Ported "Fix Script editor completion doesn't suggest members of a script for type hints"
ray90514 - 7afbd5904e
For CScript.
2022-12-22 16:45:10 +01:00
bad1d64314 Fix compile and small cleanups after the backports. 2022-12-22 15:24:53 +01:00
ray90514
2693ad37f7 Fix Script editor completion doesn't suggest members of a script for type hints 2022-12-22 14:48:51 +01:00
smix8
9225e78f68 Fix Navigation agent callback wild pointer crash
Fixes crash in sanitizer builds when callback agent or object are already freed.

(cherry picked from commit 194c1c44e0a20faa4463e3a41bb12cf93a71fc03)
2022-12-22 14:12:00 +01:00
df6186524a Ensure a '/' in between the host, and the url in WebServerRequest::get_url_site(). 2022-12-21 15:12:53 +01:00
ea009ff869 Use String.length() instead of String.size() in WebServerRequest::setup_url_stack(). 2022-12-21 15:12:12 +01:00
38a36b3c70 Added get request parameter support for WebServerRequest. 2022-12-21 14:52:11 +01:00
cb409757c3 Use String length() instead of size() in QueryBuilder, also guard against overindexing. 2022-12-20 23:54:50 +01:00
3d63a84be9 Make sure escape is used in SQLite3QueryBuilder wherever it's expected. 2022-12-20 17:35:24 +01:00
a50fc20607 Fix missing default parameter. 2022-12-19 14:44:21 +01:00
144d519258 Id should be valid only over 1 in UserManagerDB. 2022-12-18 18:42:09 +01:00
6fdcd0e7c0 Set sqlite to serialized mode. 2022-12-18 18:41:11 +01:00
a19be9b170 Small cleanups. 2022-12-18 17:00:11 +01:00
7eed422442 Also added tag() and ctag() helpers to the c++ side HTMLBuilder, and smaller cleanups. 2022-12-18 16:53:23 +01:00
f9ef920ec5 Added new tag() and ctag() universal tag helpers to the HTMLBuilder binder class. 2022-12-18 16:48:19 +01:00
99dd7022a5 Added signals for user actions into the user web nodes. 2022-12-18 16:05:23 +01:00
a67a36289b Removed old unneeded c++ files. 2022-12-18 16:04:47 +01:00
47ac5e2668 Added a null check to HTTPSessionManagerDB, and small cleanups. 2022-12-18 14:59:40 +01:00
b8b51e7525 Use error macros in HTTPSessionManager and HTTPSessionManagerDB. 2022-12-18 14:28:38 +01:00
225e3ff79c Update the migration methods in HTTPSessionManagerDB. 2022-12-18 14:24:50 +01:00
db51b273a7 Set up inheritance and virtuals for HTTPSessionManagerDB and HTTPSessionManager. 2022-12-18 14:22:21 +01:00
9aced75966 Added HTTPSessionManagerDB using the disabled code in HTTPSessionManager, and cleaned up it's logic. 2022-12-18 14:03:07 +01:00
e61c80db0c Fix logic. 2022-12-18 13:17:58 +01:00
247676656f Fix potential infinite recursion. 2022-12-18 13:17:28 +01:00
56fb104e14 Update logic in UserManagerDB, as the default user id is -1 now. 2022-12-18 13:16:58 +01:00
70b8c7c047 Fix connecting a signal to a non existent method in UserManagerDB. 2022-12-18 11:56:16 +01:00
7c1f9f4c58 Remove unimplemented methods. 2022-12-18 11:54:45 +01:00
Rémi Verschelde
75bda24214 SCons: Fix MSVC warning LNK4042 about dupe objects in regex
(cherry picked from commit 3fd9452a8ccd2c261ae7757a9b1fed1b6ada1c73)
2022-12-12 12:14:05 +01:00
Hugo Locurcio
e7f328d8d9 Document print_stack() and get_stack() requiring a debugger connection
(cherry picked from commit 530e31d4a38a6129c0b7ac7cbd9928788ed28e4b)
2022-12-12 12:11:56 +01:00
Ithamar R. Adema
1e1858ae15 Add 16-bits TGA support
(cherry picked from commit 200f6ac0894982b31c59acc11cd5f8d4f8971219)
2022-12-11 19:10:03 +01:00
Mark Riedesel
309d6ea5bc Add buffer size check to Image.load_tga_from_buffer(). Fixes #67985
(cherry picked from commit 5cb07486db6fc53cc5a13e3451dd451e987f39d7)
2022-11-30 19:22:42 +01:00
Haoyu Qiu
6126ddab8e Backport navigation crash fixes
Co-Authored-By: Sean <sean@geekotron.net>
2022-11-30 14:41:16 +01:00
311b5d446b Ported "[3.x] Fix wrong owner for editor plugin created nodes in instanced scene" for the skeleton editor aswell. 2022-11-30 14:33:08 +01:00
e0d09a2633 Clear using the color (0, 0, 0, 0), instead of (1, 1, 1, 0) in the paint module. 2022-11-28 15:02:02 +01:00
900605e2c9 Added a button that adds PaintCanvas to the PaintProjectToolsPropertyInspector. 2022-11-20 23:54:58 +01:00
13c45b16fa Add PaintProject Node instead of PaintCanvas when using the SceneTreeDock's root node button as intended. 2022-11-20 23:40:42 +01:00
41f130d9fd Re-extracted the class docs. 2022-11-20 23:27:04 +01:00
73a1c176b4 List all classes in the paint modules's config. 2022-11-20 23:26:31 +01:00
9dda076070 Moved the PaintEditorPlugin under the editor folder in the paint module. 2022-11-20 23:18:31 +01:00
6c0008a912 Added custom Paint, Web, and Mesh (MDI) nodes to the SceneTreeDock. 2022-11-20 23:16:20 +01:00
b823759397 Now PaintVisualGrid and PaintCanvasBackground inherits from PaintNode. 2022-11-20 21:42:04 +01:00
c0da82ab92 Also removed PaintSelectionBox. 2022-11-20 21:38:55 +01:00
1d7ad33407 Renamed on_paint_node_selected to set_paint_node in PaintCustomPropertyInspectors. 2022-11-20 21:23:00 +01:00
8c98ec9883 Removed now unneeded images from the paint module. 2022-11-20 21:19:53 +01:00
ff1dbced6d Removed PaintCanvasOutline and PaintColorGrid aswell. 2022-11-20 21:17:41 +01:00
5c9aa754d7 Removed most of the deprecated classes from the paint module. 2022-11-20 21:11:40 +01:00
0539b70aee Ported the PaintInspectorPlugin. 2022-11-20 21:01:54 +01:00
7a9ed010d1 Added a new pixel resize tool to PaintToolsPropertyInspector. 2022-11-20 20:49:30 +01:00
07299fdbf6 Removed the button properties from PaintProject. 2022-11-20 20:07:31 +01:00
1354b15817 Added Add Paint Visual Grid and Add Paint Canvas Background buttons to the PaintProjectToolsPropertyInspector. 2022-11-20 20:06:10 +01:00
eea5cf4e20 Added set colors as default button to PaintProjectToolsPropertyInspector. 2022-11-20 20:00:24 +01:00
98ac4b9265 Implemented export and export as tools for the PaintProjectToolsPropertyInspector. 2022-11-20 19:49:45 +01:00
b2cbd6e759 Cleanups to PaintToolsPropertyInspector. 2022-11-20 19:49:21 +01:00
73dc6be1da Added export and import tool to the PaintToolsPropertyInspector. 2022-11-20 18:57:11 +01:00
fede24767d New icon for the pastecut tool in PaintToolsPropertyInspector. 2022-11-20 17:40:27 +01:00
9fcf3b8532 PaintEditorPlugin now won't send input events to the active PaintNode, if CanvasItemEditor's currently selcted tool isn't TOOL_SELECT. 2022-11-20 16:04:39 +01:00
5514c64c86 Removed unneeded ScrollContainer form PaintProjectToolsPropertyInspector. 2022-11-20 15:59:38 +01:00
6ad8f67551 Fix warning. 2022-11-20 02:55:12 +01:00
fcdce8336c Cleaned up my original prototype render_paint_node implementation. Now it's fast. 2022-11-20 02:44:27 +01:00
240bfa8ed5 Rewrote render_paint_node now it works without leaving pixels out, but it is an extermely inefficient implementation. It will be reworked soon. 2022-11-20 02:35:02 +01:00
e5fd8cd2b5 Added the ability for PaintNode rendering to skip evaluating certain PaintNode's childrens. 2022-11-19 23:19:41 +01:00
9141997c87 Changed the prefix of the image saving related helpers from save to render. 2022-11-19 23:12:06 +01:00
fb4aa87663 Initial image rendering implementation for PaintNodes. 2022-11-19 23:06:56 +01:00
4eec1ffcb4 Implemented serialization for PaintCanvas image data. 2022-11-19 20:43:40 +01:00
4f06946cf5 Centralize LZ4 usage. 2022-11-19 19:51:29 +01:00
7328a5126a Added a new lz4 module. 2022-11-19 19:39:50 +01:00
f1bda28b11 Cleaned up PaintNode resize notifications. Also now PaintCanvas allocates and resizes it's internal images properly. 2022-11-19 19:26:19 +01:00
629ec81669 Added a new PaintProjectToolsPropertyInspector class. 2022-11-19 15:41:52 +01:00
be9493a25a Structural setup for saving images for PaintProjects. 2022-11-19 13:45:14 +01:00
cebc26f3ce Also handle NOTIFICATION_PAINT_NODE_RESIZED in PaintVisualGrid and PaintCanvasBackground. Note that they won't yet get that notification. 2022-11-19 13:21:05 +01:00
50cf64b7f1 Added a few notifications to PaintNodes. 2022-11-19 13:17:30 +01:00
9f8f6cb3b4 Now PaintCanvasBackground and PaintVisualGrid will automatically size themselves to a parent PaintNode if they can. 2022-11-19 13:16:54 +01:00
17842720a5 Added helper methods to PaintProject for creating PaintCanvasBackground and PaintVisualGrid. 2022-11-19 12:22:10 +01:00
71a455687d Cleaned up PaintVisualGrid. 2022-11-19 02:31:39 +01:00
d7ccaff144 More cleanups to PaintCanvasBackground. 2022-11-19 02:31:02 +01:00
5c38af1d1a Reworked PaintCanvasBackground. Now it draws it's pattern using canvas draw commands. 2022-11-19 02:20:52 +01:00
5a78997c83 Now PaintNodes can draw their outlines. 2022-11-19 01:23:33 +01:00
af1018bae6 Don't update the preview when the mouse is not over a PaintCanvas. 2022-11-19 00:21:15 +01:00
dc4ded8bd8 Now the undo and redo buttons in PaintToolsPropertyInspector actually work. 2022-11-18 23:50:05 +01:00
120e59baba Ported the logic to PaintCanvas from the experimental project. 2022-11-18 23:47:37 +01:00
4060eeccc7 Now _forward_canvas_gui_input() in PaintNode is a virtual, as it should have been. 2022-11-18 23:47:05 +01:00
8e766ee8ab Added undo and redo buttons to the PaintToolsPropertyInspector. It won't work for now. 2022-11-18 22:25:24 +01:00
65cf1c60d9 PaintProjectPropertyInspector now updates if the preset or the current color changes in PaintProject. 2022-11-18 12:26:36 +01:00
12193b03f4 Added a slider for the brush size property into PaintToolsPropertyInspector. 2022-11-18 01:09:25 +01:00
8c8dc051cb Added brush prefabs to PaintToolsPropertyInspector. 2022-11-18 00:33:27 +01:00
884fae4847 PaintProjectPropertyInspector now uses and manages the presets in PaintProjects. 2022-11-17 23:56:19 +01:00
2485665f89 Added more helper methods to PaintProject. 2022-11-17 23:55:36 +01:00
a3bedba43a Now PaintProject can store color presets. They also support defaults. 2022-11-17 23:32:09 +01:00
62a7fda32e Added a button for the currently selected color into PaintProjectPropertyInspector. Also logic cleanpus. 2022-11-17 23:05:27 +01:00
e53868f60f Added a new PaintProjectPropertyInspector class. 2022-11-17 17:46:03 +01:00
6ddd0c1fa3 Fix non-tools builds. 2022-11-17 12:07:02 +01:00
526800fcf9 Added a new PaintToolsPropertyInspector. 2022-11-17 11:56:03 +01:00
b49ea8c5ef PaintColorGrid now has 5 columns. 2022-11-17 11:55:39 +01:00
8fc5633933 Added TOOL_ prefix to the Tools enum's values in PaintCanvas. 2022-11-17 11:55:25 +01:00
33c70f7a86 Removed PaintSidebar and renamed PaintSidebarModules to PaintCustomPropertyInspector. 2022-11-17 10:05:05 +01:00
b9f0429f8c Renamed sidebar_modules folder to property_inspectors in the paint module. 2022-11-17 09:55:37 +01:00
01f078e016 Created icons for the new paint nodes. 2022-11-17 00:56:04 +01:00
ef3110d4d1 Disabled the paint sidebar, as I found a better way of handling this using custom property inspectors. 2022-11-16 23:48:45 +01:00
25968b2803 Fix bindings. 2022-11-16 21:55:12 +01:00
761e381d0e Store the previous tool in Paintcanvas. 2022-11-16 17:23:17 +01:00
f439b421c5 Added some signals to PaintCanvas. 2022-11-16 17:09:21 +01:00
a2f02d669c Added a current_tool property for PaintCanvas. 2022-11-16 15:52:29 +01:00
338fc04a75 Added the Tools enum from PaintWindow to PaintCanvas. 2022-11-16 15:40:40 +01:00
fff7d1f152 Added brush_prefab and brush_size properties to PaintCanvas. 2022-11-16 15:38:09 +01:00
c683e675e1 Now PaintNodes can handle input events coming from the editor plugin. 2022-11-16 15:25:27 +01:00
afa0e83f78 Added getters for the images and textures of the PaintCanvas. 2022-11-16 13:31:51 +01:00
94da7051d4 Also add null check. 2022-11-16 13:29:06 +01:00
1f2e2c1d45 Fix crash in PaintCanvas. 2022-11-16 13:28:19 +01:00
ab3e6f0014 Added methods to access PaintUtilities from PaintNodes, so no registered singletons will be required. 2022-11-16 00:26:33 +01:00
9c2d0599ea Bound the get_paint_project helper. 2022-11-15 23:58:43 +01:00
bf15088dc7 Added a configuration warning to PaintNodes if they are not a child of a PaintProject. 2022-11-15 23:57:44 +01:00
7fa6ff6433 Not the _on_paint_node_selected virtual will properly get called in PaintSidebarModule. 2022-11-15 23:44:57 +01:00
bfd80993f2 Now PaintColorGrid sets the active project's color. 2022-11-15 23:12:39 +01:00
4a93e21660 Added get_paint_project helper method to PaintNode. 2022-11-15 23:11:55 +01:00
4851144a55 Added current_color property to PaintProject. 2022-11-15 23:11:38 +01:00
d55653d916 Notes. 2022-11-15 22:46:08 +01:00
73e7d7f8ce The PaintColorGrid now contains a ScrollContainer. 2022-11-15 22:24:00 +01:00
ff701c35ad Now the paint plugin handles paint nodes. 2022-11-15 22:11:49 +01:00
e044b007f6 PaintColorGrid now inherits from PaintSidebarModule. It is also added to the new sidebar by the paint plugin. 2022-11-15 21:59:04 +01:00
abe142b090 Hide the sidebar in make_visible. 2022-11-15 18:17:15 +01:00
5baff6410f Now PaintEditorPlugin creates the paint sidebar. 2022-11-15 18:16:32 +01:00
229677acf5 Added a new PaintSidebar and PaintSidebarModule classes to the paint module. 2022-11-15 17:58:00 +01:00
0963538827 Added the new PaintEditorPlugin as an engine global. 2022-11-15 17:33:09 +01:00
14c503a41b Added a new paint editor plugin, and renamed the old temporarily. 2022-11-15 16:53:37 +01:00
94b5ac9267 Added resize method to PaintCanvas. 2022-11-15 16:41:57 +01:00
9eaa2bd56f Fix warning on gcc. 2022-11-15 14:44:50 +01:00
4155ef7ff3 Commit changes that were left out. 2022-11-15 14:41:59 +01:00
6852b3afa1 Added updated version of the methods in Action. 2022-11-15 14:34:25 +01:00
c0bbd6edf7 Added a new PaintProject class. 2022-11-15 13:17:37 +01:00
26511bb83b Added the required api to PaintCanvas. 2022-11-15 13:13:37 +01:00
71f70117a0 Also add the new classes to config.py. 2022-11-15 12:35:44 +01:00
772195a9c3 Added PaintCanvas to the build, and registered it. 2022-11-15 12:34:29 +01:00
7b5071fc73 Created updated versions for the deprecated helpers in PaintAction, and bound them. 2022-11-15 12:32:31 +01:00
1fac355760 Renamed the paint canvas getters/setters in PaintAction, and bound them. 2022-11-15 12:26:50 +01:00
9da781e8b8 Renamed 2 deprecated methods in PaintAction, and removed virtual from sym point helper methods. 2022-11-15 12:22:32 +01:00
a5c5201aa8 Added new overridable virtual api to PaintActions for commiting changes. 2022-11-15 12:15:32 +01:00
c2e8a32c90 Renamed do and undo methods in PaintAction. 2022-11-15 11:49:03 +01:00
b05babe4b2 Also added a new PaintCanvas. 2022-11-14 23:32:12 +01:00
1c0c3c4393 Added PaintNode. 2022-11-14 23:27:26 +01:00
b574d44dd7 Also register PaintCanvasBackground to the ClassDB, and fix crash on exit with it. 2022-11-14 23:08:37 +01:00
74a7615168 Added a PaintIcons header to the paint module to reduce code duplication, and to fix compile on the platforms where it failed. 2022-11-14 22:38:52 +01:00
a7afeb93e3 Register the paint module's ui helper classes. 2022-11-14 18:27:21 +01:00
1cf7b38074 Small rework for the PaintCanvasBackground. 2022-11-14 18:27:03 +01:00
334b4ae3f8 Renamed PaintCanvas to PaintCanvasOld. 2022-11-14 17:46:37 +01:00
dbeb522d8b Renamed the icons folder to paint_icons in the paint module. 2022-11-14 17:35:19 +01:00
9f2996c770 Reorganized the paint module. 2022-11-14 17:31:45 +01:00
e63a346cd3 Bound some getter / setter methods in the paint module. 2022-11-14 17:11:38 +01:00
Haoyu Qiu
eacf797faf Clarify offset parameter behavior in RegEx methods 2022-11-13 00:48:46 +01:00
smix8
fd5bb2f0fd Fix Editor crash when MeshLibrary gets replaced while used in an open GridMap scene 2022-11-13 00:23:55 +01:00
53f486237e Fix voxelman's editor setting. 2022-10-11 22:09:09 +02:00
54643bc1fc Re-extracted class docs. 2022-10-09 12:43:55 +02:00
10437e2f01 Add missing doc classes setup. 2022-10-09 12:41:45 +02:00
ee015b7a2e Added doc classes to the tile_map module. 2022-10-09 12:16:11 +02:00
0de5f4ec86 Added RTileMap and RTileSet compatibility classes. 2022-10-09 11:52:25 +02:00
5123cf9837 Also renamed the rtile_map module itself to tile_map. 2022-10-09 11:50:46 +02:00
c6f998b2a6 Also update the include guards. 2022-10-09 11:47:55 +02:00
2159409dcc Moved TileMap and TileSet's docs to their module. 2022-10-09 11:47:03 +02:00
d0d2a709e8 Renamed RTileMap ro TileMap and RTileSet to TileSet, as it does not need to be able to live alongside Godot's TileMap anymore. 2022-10-09 11:45:57 +02:00
575a19eafb Added back GridMap support for the NavigationMeshGenerator. 2022-10-09 00:01:13 +02:00
932bebcdba Added back RTileSet export aswell. 2022-10-08 23:55:49 +02:00
51acd0c9d6 Fix setting all EDITOR_DEFs for the gridmap editor. 2022-10-08 23:41:54 +02:00
7f78bdf7fe Now MeshLibraryEditorPlugin registers itself to the export as menu. 2022-10-08 23:36:36 +02:00
d8f00dc1b4 Fix the mesh library editor plugin, and cleanups. 2022-10-08 20:57:38 +02:00
be5795add2 Also added the mesh library editor plugin. 2022-10-08 20:50:04 +02:00
4fa3ca949e Fix includes and compile for GridMap. Still not enabled. 2022-10-08 20:42:07 +02:00
0a8cf3cb3f Added MeshLibrary to the GridMap module. Also include cleanups. 2022-10-08 19:48:37 +02:00
c905adc04a Added back the GridMap module. Not yet enabled. 2022-10-08 19:40:25 +02:00
0117097bb6 Fixed compile. 2022-10-08 17:56:50 +02:00
The Tophat Demon
3b7eb818e3 GLTF imports & exports material texture filters 2022-10-08 17:48:13 +02:00
2c225f79fb Ported "Fix GDScript export hint for Navigation2D layer names - smix8" for cscript aswell. 2022-10-08 17:30:43 +02:00
smix8
f7f386b697 Fix GDScript export hint for Navigation2D layer names 2022-10-08 17:29:21 +02:00
smix8
1c0898763c Fix avoidance calculation on NO_THREADS build 2022-10-08 17:24:55 +02:00
smix8
ec3d97dda5 Fix TileMaps with origin offset placing NavPolygons wrong without a Navigation2D node
The legacy navigation was positioning baked TileMap navpolygons relative to the current Navigation2D node assuming that it is usually one of the parent nodes.

Without the deprecated Navigation2D node the default navigation map of the world_2d is used. This navigation map has no relative Node2D so it needs to use the global_transform of the TileMap to place navregions with the correct offset in case the TileMap is moved from the origin.
2022-10-08 16:58:45 +02:00
Rémi Verschelde
43de2b9ecc Style: Ensure consistent formatting with clang-format 15 2022-10-08 16:48:59 +02:00
smix8
8be98b9138 Exclude disabled CollisionShapes from Navigationmesh baking
Excludes disabled CollisionShapes from the geometry parsing for the NavigationMesh baking.

(cherry picked from commit 534ff93b05446f5692bcee95f51400c211b080ff)
2022-10-08 16:23:20 +02:00
bd17c39172 Ported Fix variables highlighting as types - dzil123 for CScript. 2022-10-08 15:58:44 +02:00
dzil123
6cb08c7164 Fix variables highlighting as types 2022-10-08 15:56:49 +02:00
029a6671b4 Moved from the TERRAMAN_2D_PRESENT define to the module system's equivalent define aswell. 2022-10-05 15:19:59 +02:00
7357a4f65c Removed stray old define. 2022-10-05 14:36:51 +02:00
258857332c Replaced MESH_UTILS_PRESENT defines aswell. 2022-10-05 14:35:44 +02:00
50e1108e18 Replaced PROPS_2D_PRESENT define for the module system's equivalent. 2022-10-05 13:20:42 +02:00
2fdaacfa66 Moved away from the MESH_DATA_RESOURCE_PRESENT define aswell. 2022-10-05 12:54:17 +02:00
73742e947d Also mvoed away from the TERRAMAN_PRESENT define. 2022-10-05 11:54:21 +02:00
14c44e5727 Also moved away from the old VOXELMAN_PRESENT macro. 2022-10-05 11:35:51 +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
a0472fb6eb Fix typo. 2022-10-05 10:30:52 +02:00
ece362681d Replaced the old TEXTURE_PACKER_PRESENT defines with the module system's generated defines. 2022-10-05 10:25:48 +02:00
Max Hilbrunner
637d36ccff Update UPnP documentation
Adds more details, especially about caveats, failure modes and pitfalls

(cherry picked from commit be41c097691acfd3f5559a28262730f086c46845)
2022-09-16 22:32:58 +02:00
Max Hilbrunner
b343e5758c UPNP: Don't delete mappings when adding mappings
Don't delete previous mappings when adding a new mapping.
This was a old workaround that seems to cause issues.

(cherry picked from commit 2685cc7bb6708df745317fd2f078bc945555e4f8)
2022-09-16 22:32:19 +02:00
b6624bf30b Re-extracted class docs. 2022-09-10 04:18:55 +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
d10db3fddd Now ThreadPool uses a List internally as a queue inetad of a Vector. 2022-09-10 03:07:49 +02:00
3d4bf1c3c9 Improved PaintWindow mouse emulation from touch support a bit more. 2022-09-01 01:56:59 +02:00
2d543af173 Fix PaintWindow with mouse emulation from touch. 2022-09-01 00:40:18 +02:00
c090c48f01 Added a few getters and setters to the PaintWindow. 2022-08-31 18:39:10 +02:00
b886d14cf5 Added _3d postfix to the end of the World3D related getters and setters in Viewport. 2022-08-29 17:54:41 +02:00
24a1580dbf Renamed the files aswell. 2022-08-29 17:33:10 +02:00
e4ae7f2ebc Renamed Environment to Environment3D, and WorldEnvironment to WorldEnvironment3D. 2022-08-29 17:21:40 +02:00
2aee6ab0bb Renamed World to World3D. 2022-08-29 16:49:00 +02:00
4133c05085 (Hopefully) fixed incomplete type usage error. 2022-08-28 16:36:03 +02:00
dc28777321 Moved Skeleton and it's related classes to a module. 2022-08-28 15:46:12 +02:00
546929e85b Add all doc classes to the new module's config.py. 2022-08-28 14:03:14 +02:00
b9f3d3b26a Moved Skeleton2D and it's related classes into a module. 2022-08-28 13:57:25 +02:00
8277e89075 Fix requesting write locks in WebNodes. 2022-08-26 17:22:20 +02:00
76141ee7e7 Small improvements to the simple web server. 2022-08-26 14:52:56 +02:00
0cfc5ed610 Added enctype and multipart form helpers to HTMLTag. 2022-08-26 12:02:57 +02:00
1f8581edd8 Added rows and cols to HTMLTag. 2022-08-26 11:49:22 +02:00
f1e5f3d062 Fix docs mentioning an old behaviour. 2022-08-25 21:14:21 +02:00
31b5135877 Fix default argument for the binding of WebServerRequest::send_redirect. 2022-08-25 21:13:26 +02:00
658cbb806d Fix: WebPermission was meant to be a Resource. 2022-08-25 21:12:52 +02:00
f4b7a3b378 Also made it a singleton. 2022-08-23 15:23:34 +02:00
e6adf5aad5 Added an extension api for the WebNodeEditor. 2022-08-23 15:20:56 +02:00
285fe5cd82 Renamed WebEditor* to WebNodeEditor*. 2022-08-23 13:27:59 +02:00
5e64462049 Renamed the web editor's files. 2022-08-23 13:24:31 +02:00
bfc1679f14 Actually register EditorInterface, SpatialEditor, CanvasItemEditor, and WebNodeEditor as globals. 2022-08-23 13:21:09 +02:00
d41239d425 Now the return value discarded warning is disabled by default in gdscript and cscript. 2022-08-23 13:09:56 +02:00
a1974c8338 Re-extracted the class docs. 2022-08-23 13:09:12 +02:00
06e040120a Fix int sign comparison warning. 2022-08-23 00:45:20 +02:00
b0da59764d Added proper multi part form parsing support for the simple web server. 2022-08-22 22:16:32 +02:00
2ef28475cd Fix mimetype handling in the simle server. Also added a few misisng ones. 2022-08-22 14:37:40 +02:00
d505f3e59f Call the proper method to render the menu. 2022-08-22 14:29:40 +02:00
ae19991c63 Added descriptions and brief descriptions for most of the classes in the web module. 2022-08-22 00:01:10 +02:00
88df1db348 Fix typo. 2022-08-21 23:11:59 +02:00
ba0248ae5e Added docs for RedirectWebPage, and AliasWebPage. 2022-08-21 23:09:57 +02:00
5b16231128 Added docs for FolderServeWebPage, and BrowsableFolderServeWebPage. 2022-08-21 23:04:56 +02:00
25230bee02 Added docs for PagedArticlesWebPage. 2022-08-21 22:53:50 +02:00
8cd72fc8d8 Added docs for PagedArticleWebPage. 2022-08-21 22:46:32 +02:00
fe5e0231c5 Added docs for ListWebPage. 2022-08-21 22:23:59 +02:00
82affed801 Added docs for StaticWebPage and it's derived classes. 2022-08-21 22:02:26 +02:00
1e604b13fb Added method and property descriptions for WebServerRequest's docs. 2022-08-21 21:37:53 +02:00
b095a48ace Fix the logic of get_url_site(). Also small binding cleanups. 2022-08-21 21:37:00 +02:00
46ee607d18 Fixed a few typos. 2022-08-21 18:24:36 +02:00
70cc269b40 Added docs for WebServer. 2022-08-21 18:24:20 +02:00
0c9e77aab4 Added docs for WebPermission. 2022-08-21 18:09:23 +02:00
ab3ae5fdd4 Added docs for CSRFTokenWebServerMiddleware. 2022-08-21 17:46:17 +02:00
c6b1406ed7 Added docs for WebServerMiddleware. 2022-08-21 17:31:01 +02:00
7cc171ebe7 Added docs for WebRoot. 2022-08-21 17:13:06 +02:00
20c0a91275 Added full documentation of the WebNode. 2022-08-21 16:45:03 +02:00
8119bd099a Added description for HTTPSessionManager. Note that this class still needs more cleanups, but I wrote docs in a way as if those were already done. 2022-08-21 03:04:13 +02:00
892cff7537 Added a description for the HTTPSession class. 2022-08-21 03:02:11 +02:00
3b19f30e6c Added a description for the WebServerRequest. 2022-08-21 02:47:35 +02:00
714547cb17 Re-extracted class docs. 2022-08-21 00:40:49 +02:00
8108324700 Fix doc class strings, and add missing ones. 2022-08-21 00:32:32 +02:00
edb7dd231e Enable html prettifying in the web editor. 2022-08-20 22:30:09 +02:00
b8d9139bb1 HTMLParser now properly parses doctype in a case insensitive way. Also improved an error message a bit. 2022-08-20 22:28:08 +02:00
62b0d5572e Use string length() instead of size() as it was intended in HTMLParser, and BBCodeParser. 2022-08-20 21:57:50 +02:00
5a5fbc8e4d Implemented the initial version of the WebEditor. It's currently a simple preview gui. 2022-08-20 21:50:44 +02:00
e38dfb7c40 Set up WebEditorPlugin to hide / show the web editor tab in a way that feels right. The tab itself is empty though at the moment. 2022-08-20 20:24:40 +02:00
d62fa2b4c9 Added web editor plugin skeleton. 2022-08-20 18:11:07 +02:00
9aadbd720c Added a web node editor icon. 2022-08-20 16:46:45 +02:00
89a414187b Added icons for the rest of the web nodes. 2022-08-20 16:44:30 +02:00
0bc4baaa02 Added an icon for UserModule. 2022-08-20 16:24:11 +02:00
114e8953ed Added icons for the UserManagers. 2022-08-20 16:18:27 +02:00
b552438044 Added icons for Usser, and user web pages. 2022-08-20 16:01:19 +02:00
e4cc8ce6fd Added icons for AliasWebPage, and RedirectWebpage. 2022-08-20 15:29:11 +02:00
0ed82cbca3 Removed stub module. 2022-08-20 15:11:50 +02:00
c5b11c8ca8 Added icons for WebNode, WebRoot, and WebServer. 2022-08-20 03:23:18 +02:00
ead97d9164 Added an icon for MeshDataResource, MeshDataInstance, and for the meshDataInstance editor toggle. 2022-08-20 03:11:31 +02:00
5925b62b2c Fix newly introduced potential crashes in mesh data resource editor. 2022-08-20 02:13:09 +02:00
a426e173f5 Hide MDIEd's toggle button by default. 2022-08-20 02:07:52 +02:00
31bcbb0184 Hide the transform gizmo while editing a mesh data resource. 2022-08-20 01:42:19 +02:00
3220e9c592 Now in order to edit MeshDataInstance a new edit mode has to be togged from the top bar. While this mode is enabled the edited MeshDatainstace can't be deselected. Also now Mesh Data Editor's sidebar will only be visible in this mode, along with the editor gizmo. 2022-08-20 01:33:02 +02:00
95767b2cea Moved the editor only modules to a new editor_modules folder. 2022-08-19 22:46:53 +02:00
1ef37c61c2 Moved http server simple to it's own module. 2022-08-19 22:09:30 +02:00
e2d42db711 Also renamed the files. 2022-08-19 21:24:36 +02:00
cffe742085 Renamed the VisualServer to RenderringServer like in Godot4, as I think it's a lot better name for it. I did not yet rename the files. 2022-08-19 20:50:20 +02:00
2a13c65298 Ported: Visual/Physics/Navigation Servers validate RIDs with documentation update - tinmanjuggernaut
2be0738304
2022-08-19 02:52:31 +02:00
f1c29650eb Ported: Fix TileMap error msg when optional navigation node is not set
Fixes TileMap error msg spam when bake_navigation=true but the optional and depr navigation node is not set.
- smix8
30d4555c65
2022-08-19 01:55:37 +02:00
88d6ef51eb Removed additional direct script rpc mode query when sending rpcs, in order to simplify that codepath as much as possible. Also removed the remote, remotesync etc. keywords from gdscript, as now they won't work anymore. Node's rpc_config() method should be used instead of marking methods with keywords in scripts. 2022-08-19 01:19:33 +02:00
9d0c889583 Added a few small networking related helper methods to Node. Made the rpc macros in Entity use them. 2022-08-19 00:36:24 +02:00
1dc5d84196 Moved visibility rpcs (vrpc) from Entity to Node. Also added an unreliable variant. 2022-08-19 00:04:38 +02:00
98e649489f Now the TextEditor won't open a file multiple times, instead it will just switch to the proper tab. 2022-08-18 22:31:48 +02:00
1d101bfea1 Now the TextEditor addon will add it's own "create file" entry to the editor's filesystem dock. 2022-08-18 21:35:02 +02:00
e019ccc64b Now text files will show up in the editor if the text editor plugin is enabled. Also clicking them will open them in the text editor. 2022-08-18 20:36:36 +02:00
6be9bf5dfe Cleaned up and added the skeleton modification stack implementations to the build. Also smaller fixes. 2022-08-18 15:41:28 +02:00
23610db948 Fix build. 2022-08-18 13:04:52 +02:00
6ff120dc85 Moved the old module dependencies to the new system. 2022-08-18 12:53:49 +02:00
91fe9ed8ca Backported: [Scons] Implement module dependency sorting.
Modules can now call:
env.module_add_dependencies(name: str, deps: list, optional: bool)
To add required or optional dependencies during the "can_build" step.
Required dependencies will be checked and the module will be not be
enabled when they are missing, printing a warning to notify the user.
- Faless
951a1016d3
2022-08-18 12:44:45 +02:00
4732493761 Backported: SCons: Validate dependencies for linked multimedia modules
This is still a bit hacky and eventually we should rework the way we handle
optional dependencies (especially with regard to builtin/system libs), but
it's a simple first step.
- akien-mga
7c74312217
2022-08-18 12:25:38 +02:00
4c4e19223e Added _theme_ infix to the theme helper methods in Control. 2022-08-17 20:57:16 +02:00
9757c39f05 Moved a few more core classes. 2022-08-17 17:43:49 +02:00
99e94b08c4 Moved base input related classes to core/input. 2022-08-17 17:02:24 +02:00
686663d3e4 Moved around more classes in core. 2022-08-17 16:01:01 +02:00
04feb63860 Moved Engine and projectSettings. 2022-08-17 15:35:28 +02:00
be16fe23ad Moved the error macros. 2022-08-17 15:14:19 +02:00
220b2db443 Moved String and related classes under a string folder in core. 2022-08-17 14:19:55 +02:00
dc9cc716c7 Moved Object related classes under core/object. 2022-08-17 13:45:14 +02:00
9555ee56b9 Moved Variant related classes under a variant folder in core. 2022-08-17 13:17:12 +02:00
388b88678e Moved container related classes in core under a new containers directory. 2022-08-17 12:53:49 +02:00
0d2fc2e9f2 Moved color to core/math. 2022-08-17 11:38:15 +02:00
73709fa1ae Backported from Godot4: Clean up Hash Functions
Clean up and do fixes to hash functions and newly introduced murmur3 hashes in #61934
* Clean up usage of murmur3
* Fixed usages of binary murmur3 on floats (this is invalid)
* Changed DJB2 to use xor (which seems to be better)
- reduz
141c375581
2022-08-17 10:42:50 +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
8c2e76840c Removed CameraMatrix, and switched to Projection. 2022-08-16 10:26:35 +02:00
220954cf08 Backported most of the improvements to String from Godot4. 2022-08-15 22:54:03 +02:00
5cd44e02d0 Backported the improvements to Transform from Godot4. 2022-08-14 20:35:11 +02:00
e4cad690a3 Renamed elements in Transform2D to columns. 2022-08-14 15:37:05 +02:00
d9a8497546 Renamed translate in Transform2D to translate_local. 2022-08-14 14:59:46 +02:00
170a41ca82 Backported improvements to Basis from Godot4. Also bound all eligible methods. 2022-08-14 00:18:21 +02:00
d9e094ab9a Renamed elements in Basis to rows. 2022-08-13 19:07:59 +02:00
730bce8587 Renamed Quat to Quaternion for consistency with the other engine math classes. 2022-08-13 15:22:33 +02:00
f423b30714 Backported from Godot4: Fix secondary handles in editor gizmos
Primary and secondary handles are no longer differentiated by their ids, so a bool was added to tell them apart in all the handle-related methods.
Includes a minor fix in CollisionPolygon3DEditor, unrelated to editor gizmos.
- JFonS
5ebea2d120
2022-08-12 22:21:00 +02:00
a84be665ec Use AnimationPlayer's root property instead of just getting it's parent when exprting a GLTFDocument. 2022-08-12 13:59:27 +02:00
82550d10e3 Also update BoneAttachment handling code. 2022-08-12 12:58:04 +02:00
d5158716d9 Update the logic of _convert_animation_track in GLTFDocument. 2022-08-12 12:57:02 +02:00
e3918692a3 Backported from Godot 4: Fixed animation insertion in SkeletonEditor - TokageItLab
653e2a550c
2022-08-12 01:34:45 +02:00
9d9271b518 Removed the SNAME macro, I'll probably keep static counting support for StringNames though. 2022-08-11 20:22:51 +02:00
6825202490 Removed warning. 2022-08-11 20:11:43 +02:00
5e3c3ff4d0 Ported from Godot4: Implement global rest - TokageItLab
4d4ffa3a2c
2022-08-11 20:10:26 +02:00
da62c587e8 Ported from Godot4: get rid set_bone_pose and fix some function in SkeletonEditor - TokageItLab
8e9897b6de
2022-08-11 19:57:23 +02:00
109a0ca81b Ported from Godot4: Remove REST transform influence in skeleton bones
* Animations and Skeletons are now pose-only.
* Rest transform is kept as reference (when it exists) and for IK
* Improves 3D model compatibility (non uniform transforms will properly work, as well as all animations coming from Autodesk products).
- reduz
2dc823273e
2022-08-11 19:06:33 +02:00
92600420ba Backported from Godot4: Implemented SkeletonEditorGizmo.
-TokageItLab, lyuma
f2e9867e9f
- It still has some issues, as this one works differently than the 3.x version, they will be fixed later.
2022-08-11 17:31:02 +02:00
3cbdd9cfa1 Removed Module prefix / infix from the skeleton editor's classes. Also now the module only has one EditorPlugin. 2022-08-11 10:59:22 +02:00
b6eb2db442 Backported returning AfterGUIInput from forward_spatial_gui_input from Godot4. Also removed the first index parameter. This fully broke the skeleton editor, it will be fixed soon. 2022-08-11 02:24:30 +02:00
58539a22b6 Backported from Godot4: Node3D gizmo improvements
* Clean-up of node_3d_editor_plugin.{h,cpp}: removed unused code, fixed some bugs.
* Moved node_3d_editor_gizmos.{h,cpp} to editor/plugins.
* Added support for multiple gizmos per node. This means custom gizmos will no longer override the built-in ones and that multiple gizmos can be used in more complex nodes.
* Added support for handle IDs. When adding handles to a gizmo, an ID can be specified for each one, making it easier to work with gizmos that have a variable number of handles.
* Added support for subgizmos, selectable elements that can be transformed without needing a node of their own. By overriding _subgizmo_intersect_frustum() and/or _subgizmo_intersect_ray() gizmos can define which subgizmos should be selected on a region or click selection. Subgizmo transformations are applied using get/set/commit virtual methods, similar to how handles work.
- JFonS
cfb555a081
- Note: MeshDataResourceEditor is now kind of painful to use, it will be fixed a bit later.
2022-08-11 01:24:29 +02:00
ed5024d3c3 Moved AnimationPlayerEditor::singleton to private, and added getter method for it. 2022-08-10 18:53:15 +02:00
7e451e0f30 Removed the built in SkeletonSpatialGizmoPlugin. (The skeleton editor module used to remove it anyway.) 2022-08-10 14:44:15 +02:00
07fa703645 Improvements to the skeleton's gizmo. It still has issues though. I'll get back to it later. 2022-08-10 14:28:26 +02:00
73fa94274b Fixed the bone editor's bone tree. 2022-08-10 12:51:20 +02:00
22ce231a4e Backported from Godot 4: New and improved IK system for Skeleton3D
This PR and commit adds a new IK system for 3D with the Skeleton3D node
that adds several new IK solvers, as well as additional changes and functionality
for making bone manipulation in Godot easier.
This work was sponsored by GSoC 2020 and TwistedTwigleg
Full list of changes:
* Adds a SkeletonModification3D resource
  * This resource is the base where all IK code is written and executed
* Adds a SkeletonModificationStack3D resource
  * This node oversees the execution of the modifications and acts as a bridge of sorts for the modifications to the Skeleton3D node
* Adds SkeletonModification3D resources for LookAt, CCDIK, FABRIK, Jiggle, and TwoBoneIK
  * Each modification is in it's own file
* Several changes to Skeletons, listed below:
  * Added local_pose_override, which acts just like global_pose_override but keeps bone-child relationships intract
    * So if you move a bone using local_pose_override, all of the bones that are children will also be moved. This is different than global_pose_override, which only affects the individual bone
  * Internally bones keep track of their children. This removes the need of a processing list, makes it possible to update just a few select bones at a time, and makes it easier to traverse down the bone chain
  * Additional functions added for converting from world transform to global poses, global poses to local poses, and all the same changes but backwards (local to global, global to world). This makes it much easier to work with bone transforms without needing to think too much about how to convert them.
  * New signal added, bone_pose_changed, that can be used to tell if a specific bone changed its transform. Needed for BoneAttachment3D
  * Added functions for getting the forward position of a bone
* BoneAttachment3D node refactored heavily
  * BoneAttachment3D node is now completely standalone in its functionality.
    * This makes the code easier and less interconnected, as well as allowing them to function properly without being direct children of Skeleton3D nodes
  * BoneAttachment3D now can be set either using the index or the bone name.
  * BoneAttachment3D nodes can now set the bone transform instead of just following it. This is disabled by default for compatibility
  * BoneAttachment3D now shows a warning when not configured correctly
* Added rotate_to_align function in Basis
* Added class reference documentation for all changes
- TwistedTwigleg
5ffed49907
Note: It still needs some work.
2022-08-10 01:01:38 +02:00
cf918406ae Renamed Skeleton's skeleton_updated signal to pose_updated to make the following backports that much easier. 2022-08-09 22:31:17 +02:00
a478334d4a Backported from Godot master: Made low level changes to the Skeleton3D class and Skeleton3D inspector. Changes listed below:
* Added helper functions to Skeleton3D for converting transforms from bone space to global space, and vice versa.
* Updated the Skeleton3D class reference.
* Changed the icon used for bones in the Skeleton3D inspector to use BoneAttachement3D's icon.
* Changed the Skeleton3D inspector to use EditorPropertyTransform and EditorPropertyVector3 when possible.
* Placed the Transform/Matrix for each bone in a sub-section, so it is visually similar to the Node3D inspector.
- TwistedTwigleg
24905becb2
- Also fixed smaller issues.
2022-08-09 21:57:46 +02:00
3b0c27d89c Fixed the skeleton editor. 2022-08-09 18:32:39 +02:00
6d293dc7a3 Removed Transform type track from the Animation. This leaves a few things, like the skeleton editor broken, it will be fixed soon. 2022-08-09 17:40:42 +02:00
8fd473f685 Backported: "Remove animation 3D transform track, replace by loc/rot/scale tracks" from Godot4.
ec19ed3723
Its a bit broken right now, more patches need to be ported. Also I kept the Transform track for now, and I did not touch the gltf module yet.
2022-08-08 23:49:18 +02:00
d89dc61436 Switched back to the old gltf module. Apparently this one can export aswell. 2022-08-08 19:45:06 +02:00
9ae0437034 Backported and added EditorSceneFormatImporterFBX and EditorSceneFormatImporterGLTF to the build. 2022-08-08 18:52:58 +02:00
f086cf4128 Now GLTFDocument can be built. 2022-08-08 18:01:02 +02:00
42607ee8ca Lots of work on GLTFDocument. 2022-08-08 02:53:46 +02:00
341b1a105f Update method in GLTFDocumentExtensionConvertImporterMesh. 2022-08-08 00:52:21 +02:00
b28af3a912 Proper 3.x style bindings for GLTFDocumentExtension. 2022-08-08 00:50:00 +02:00
53fcf8b2d3 Cleaned GLTFDocumentExtensionConvertImporterMesh too. 2022-08-08 00:43:26 +02:00
5e5ae40009 Cleaned up GLTFDocumentExtension aswell. 2022-08-08 00:39:35 +02:00
2f9608aa65 GLTFState is also in the build now. 2022-08-08 00:23:19 +02:00
435a59947a Cleaned up and added GLTF helper methods to the build. 2022-08-08 00:20:08 +02:00
5ac0285ea4 More fixes. 2022-08-07 22:53:31 +02:00
cda00a7b80 Fixed most includes. 2022-08-07 21:52:04 +02:00
23c2a98ee1 Deapplied ec19ed3723 from the gltf module for now. 2022-08-07 21:36:44 +02:00
7dd9df5e86 Backport FileAccess and DirAccess usage. 2022-08-07 21:26:40 +02:00
1bc7531da7 Remove Gridmap and CSG support from the gltf module. 2022-08-07 21:02:32 +02:00
fc7f3857da Mass replace godot4 class names to 3.x. 2022-08-07 21:00:54 +02:00
81dc812e6f Move include guards to the top of the files. 2022-08-07 20:56:19 +02:00
7c4416503e Replaced the gltf modlue to the one in godot4. It's currently disabled by default while it can't be built. 2022-08-07 20:52:06 +02:00
f8ac4e5708 Check whether the gltf module is enabled or not before trying to use it. 2022-08-07 20:50:41 +02:00
8e6e429653 Removed unnecessary import. 2022-08-07 20:49:57 +02:00
81145db235 Actually check whether modules are enabled, not just for their existence in mesh_data_resource's SCsub. 2022-08-07 20:49:29 +02:00
2aa3fa0468 Fix typo, and init variable to 0. 2022-07-31 18:03:18 +02:00
068143691c Added simple scaling for uvs for TiledWalls. 2022-07-31 14:52:58 +02:00
1a7c404a17 Implemented texture scale for TiledWalls. 2022-07-31 14:47:23 +02:00
40d9d6b49b Implemented handling the new collider_z_offset property for merged TiledWalls. 2022-07-31 14:04:26 +02:00
0227b18d06 Codestyle fixes. 2022-07-31 13:43:36 +02:00
9771f1af99 Codestyle fixes. 2022-07-31 13:36:54 +02:00
f5b3262bde Fix setter type. 2022-07-31 13:31:14 +02:00
27eafa074e Fixed the 2 add methods in TiledWallData. 2022-07-31 13:22:55 +02:00
71f9dd4cd2 Added collider z offset, and texture scale parameters to TiledWallData. Also smaller fixes and codestyle improvements. 2022-07-31 11:29:03 +02:00
9a79a37ec9 Codestyle fixes for the PropMesher. 2022-07-31 11:01:57 +02:00
ec789f1b87 Fixed the property validation for aura triggers and aura stat attributes in Spell. 2022-07-31 00:19:25 +02:00
40ed18dd0d Remove accidental import. 2022-07-31 00:02:31 +02:00
c4e7bc1c45 Reused the old unused PROPERTY_HINT_SPRITE_FRAMES as PROPERTY_HINT_BUTTON. It allows you to add buttons to the inspectors. 2022-07-31 00:01:58 +02:00
249dd4d661 Updated property hints for variant arrays. 2022-07-30 21:58:40 +02:00
65afe14ca4 Ported: [3.5] Replace Navigation std::vector use with LocalVector
Replace Navigation std::vector use with LocalVector.
- smix8
d0a78d05eb
2022-07-30 00:44:53 +02:00
bd391e6fc7 Did the same change to cscript aswell. 2022-07-29 23:07:19 +02:00
Dallon Feldner
90707b7098 Don't print redundant errors when parsing GDScript 2022-07-29 23:04:16 +02:00
Haoyu Qiu
ba8978a0ac Fix doc for print_debug 2022-07-29 22:34:21 +02:00
c569ecfad1 Ported: TileMapEditor Fix interrupted erasing not being properly finished - kleonc
66551a94be
2022-07-29 22:06:26 +02:00
PZerua
8841a5f056 Fix light intensity and attenuation import from GLTF
(cherry picked from commit aa7ab96e7163578f0318546b0b39a4d962e88511)
2022-07-29 19:59:16 +02:00
8fb683fe5d Also port hte previous fix to cscript. 2022-07-29 19:55:28 +02:00
janglee
47ddf3a7c9 GDScript: Fix autocompletetion showing class names with an underscore
Fixes #35469.
2022-07-29 19:54:50 +02:00
11a92cfe27 Ported: Add NavigationServer map_force_update() function
Adds map_force_update() function to NavigationServer. This function immediately flushes the Navigationserver command queue and recalculates all navigationmeshes and region connections for a specific map.
- smix8
721c99a530
2022-07-29 17:56:48 +02:00
da20b32f66 Ported: Add NavigationServer.region_owns_point() helper function
Adds a helper function to check if a world space position is currently owned by a navigation region.
- smix8
f0069cc1e9
2022-07-29 17:52:38 +02:00
f811d48449 Ported: Add Navigation function to get all navigation maps
Added new function that returns all created navigation map RIDs from the NavigationServer. The function returns both 2D and 3D created navigation maps as technically there is no distinction between them.
- smix8
38ee593b76
2022-07-29 17:49:24 +02:00
César Izurieta
28aaf7cc78 Fix gltf texture filename decoding 2022-07-29 17:37:32 +02:00
smix8
149baac627 Disable thread-unsafe EditorProgress for navmesh baking
Disables navmesh baking EditorProgress for now until fixed as EditorProgress is not thread-safe and uses hacks and Main::iteration() for steps which can result in random crashes when baking navmesh.

(cherry picked from commit 24bb0af4a9ae7d2c9f56c20f3d3c6a4568fc9bf5)
2022-07-29 12:16:02 +02:00
8b63c97000 Ported: Print NavMap error only once for invalid NavMesh.- fire
bcd92b8aa0
2022-07-29 10:14:05 +02:00
smix8
6a01f2b717 Fix crash of navigation agents callback when object is invalid
Fix crash of navigation agents callback when object is invalid.

(cherry picked from commit bc38ebe4f07724850095094873d1b42bf914c6f3)
2022-07-29 09:04:03 +02:00
bb5acfd745 Ported: [3.5] Update NavigationServer backport
Backports features and bugfixes from current Godot 4.0 to 3.5 and brings functions and codebase of both version largely in sync to make tutorials more compatible and future backports easier.
- smix8
8bd7c6188b
2022-07-28 22:34:28 +02:00
Lyuma
19b13f9bdc gltf: Allow more than 4 joints but warn and ignore them. 2022-07-28 19:03:48 +02:00
a166b71594 Ported: [3.5] Fix TileMap texture offset for navigationmesh and collisionshapes - smix8
e9ca65207e
2022-07-28 14:38:19 +02:00
SnailRhymer
cdc646fd63 Make Lookup Symbol recognize assert, preload, and yield in the script editor 2022-07-28 13:36:19 +02:00
smix8
62e781b914 Fix MultiMeshInstance crash in navmesh baking when MultiMesh Resource is empty
Fix MultiMeshInstance crash in navmesh baking when MultiMesh Resource is empty

(cherry picked from commit caceceab0819dca9da4ca3c268bc07ded933e332)
2022-07-28 11:52:25 +02:00
f22e67a07c Fix typo. 2022-07-28 11:01:41 +02:00
1ffafee7b1 Ported: Fix TileSetEditor wrong NavigationPolygon format
TileSets created and stored NavigationPolyons in a format that did not work for Navigation.
- smix8
1bac95b166
2022-07-28 10:58:21 +02:00
60b854d657 Ported: Make Navigation Agents and Obstacles respect parent process mode
Temporarily removes agent from navigation map when parent node cannot process due to SceneTree pause and process_mode property. Normal process_mode does not work as other agents would still avoid the paused agents because they were still active on the navigation map and the rvo world. Also fixes potential crash when region_get_map or agent_get_map is called while no map is set.
- smix8
88acb5b798
2022-07-27 20:07:55 +02:00
9f1607fcd8 Ported: rvo2: Sync with upstream commit bfc0486
snape/RVO2-3D@bfc0486
- akien-mga
52da1bcdca
2022-07-27 19:55:02 +02:00
bruvzg
ecb3ea9021 FreeType: Update to version 2.12.1
(cherry picked from commit 93fba7ead33b45a6f9904ab6a69ada72e8564230)
2022-07-27 19:38:59 +02:00
9d0982d0e2 Fix an another unused variable. 2022-07-27 19:19:50 +02:00
32037fc73c Fix compile. 2022-07-27 19:13:29 +02:00
3b49fd6c70 Fix an another unused variable found by emscripten. 2022-07-27 19:09:59 +02:00
smix8
63a51b546e Clamp NavigationMesh sample_distance above zero
While default ReCast library has support for 0.0 'sample_distance' the Godot implementation does not an crashes.
Previously Godot would set all sample_distance values below 0.9 to 0 which causes the crashes.

This limits the sample_distance range selection to 0.1 - 16.0 and also clamps sample_distance that are below 0.1 before ReCast receives them.

(cherry picked from commit e33fa9d8331f38c8c404b9d6ea286eacb503d3bb)
2022-07-27 19:05:26 +02:00
8ef56d4752 Fix unused variable found by emscripten in sqlite3.c. 2022-07-27 19:04:04 +02:00
08c0756260 Ported: Add NavigationServer2D/3D API functions to find missing RID info
Utility functions for NavigationServer2D/3D to find missing RID information when working with Server API directly. e.g. from map to regions and agents, from agent or region to map, from region to map and agents and so on ....
Requirement to work with NavigationServer API exklusive without SceneTree nodes and when juggling agents and regions between multiple navigation maps.
- smix8
3977eb9107
2022-07-27 18:58:09 +02:00
smix8
9c8238ba72 Add Warning to NavigationMesh bake when source geometry is suspiciously big
Adds Warning when users try to bake a NavigationMesh with suspiciously big source geometry and small cellsizes as this baking process will likely fail or result in a NavigationMesh that will create serious pathfinding performance issues.

(cherry picked from commit 79511af7c94b447409d10194239069facef9c4a0)
2022-07-27 18:42:48 +02:00
24eccc4281 Ported: Fix warnings found by Emscripten 3.1.10
Fix `-Wunused-but-set-variable`, `-Wunqualified-std-cast-call`, and
`-Wliteral-range` warnings.
- akien-mga
5e693b6d84
2022-07-27 18:39:35 +02:00
Haoyu Qiu
4e256ef76f Improve documentation of rand_range 2022-07-27 14:38:52 +02:00
trollodel
a50758b8f6 Use CollisionObject3D API when baking the navmesh with static colliders, instead of collecting CollisionShape3D nodes
(cherry picked from commit 72c37c4bcd50e34b81c3dc5a2c5b8112014cc525)
2022-07-27 14:33:31 +02:00
Haoyu Qiu
4fe20cbfb1 Document lerp_angle behavior when angles are approximately PI apart
(cherry picked from commit 492903a0b221ac50c5db0426d22db2457f946b58)
2022-07-27 14:29:11 +02:00