Commit Graph

1171 Commits

Author SHA1 Message Date
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