summaryrefslogtreecommitdiff
path: root/modules/gridmap
AgeCommit message (Collapse)Author
2022-09-01Merge pull request #64173 from ↵Rémi Verschelde
smix8/navigation_debug_gridmap_edgeconnections_4.x
2022-08-29Revert "Remove NOTIFICATION_ENTER_TREE when paired with ↵Rémi Verschelde
NOTIFICATION_THEME_CHANGED" This reverts commit 4b817a565cab8af648c88cfc7ab6481e86ee3625. Fixes #64988. Fixes #64997. This caused several regressions (#64988, #64997, https://github.com/godotengine/godot/issues/64997#issuecomment-1229970605) which point at a flaw in the current logic: - `Control::NOTIFICATION_ENTER_TREE` triggers a *deferred* notification with `NOTIFCATION_THEME_CHANGED` as introduced in #62845. - Some classes use their `THEME_CHANGED` to cache theme items in member variables (e.g. `style_normal`, etc.), and use those member variables in `ENTER_TREE`, `READY`, `DRAW`, etc. Since the `THEME_CHANGE` notification is now deferred, they end up accessing invalid state and this can lead to not applying theme properly (e.g. for EditorHelp) or crashing (e.g. for EditorLog or CodeEdit). So we need to go back to the drawing board and see if `THEME_CHANGED` can be called earlier so that the previous logic still works? Or can we refactor all engine code to make sure that: - `ENTER_TREE` and similar do not depend on theme properties cached in member variables. - Or `THEME_CHANGE` does trigger a general UI update to make sure that any bad theme handling in `ENTER_TREE` and co. gets fixed when `THEME_CHANGE` does arrive for the first time. But that means having a temporary invalid (and possibly still crashing) state, and doing some computations twice which might be heavy (e.g. `EditorHelp::_update_doc()`).
2022-08-27Remove NOTIFICATION_ENTER_TREE when paired with NOTIFICATION_THEME_CHANGEDAaron Record
2022-08-23Replace Array return types with TypedArray 2kobewi
2022-08-22Add per-scene UndoRedokobewi
2022-08-20Expose Basis `set_orthogonal_index` method as a GridMap functionrafallus
2022-08-13Add Navigation Debug for GridMap edge connectionssmix8
Adds navigation visual debug for GridMap edge connections that use baked navigationmesh with bake_navigation=true.
2022-08-09Fix error when switching to another `GridMap` with an item with higher index ↵Michael Alexsander
selected
2022-08-08Rename the argument tag to param in XML documentationYuri Sizov
2022-08-05Make "Godot source files" comment consistent in modulesAaron Franke
2022-07-29Remove Signal connect bindsJuan Linietsky
Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind(). Changed all uses of it to Callable.bind()
2022-07-28Merge pull request #57698 from ↵Rémi Verschelde
bluenote10/feature/rename_translated_to_translated_local
2022-07-18Rename Control PRESET_WIDE to PRESET_FULL_RECTFireForge
2022-07-16rename translate(d) to translate(d)_local in Transform 2D/3DFabian Keller
2022-06-19Add navigation layer bitmask helper functionssmix8
Adds helper functions to work with the navigation layer bitmask.
2022-06-16Move duplicate AutoWrap, Overrun and VisibleChar behavior enums to the ↵bruvzg
TextServer.
2022-06-15Streamline Navigation layer function names.smix8
Streamline Navigation layer function names.
2022-06-11Add suffixes to all nodes and resourcesFireForge
2022-06-08Fix GridMap Navigation transforms and debugsmix8
Fix GridMap navigation transforms and debug.
2022-06-08Fix GridMap applying wrong NavigationRegion transformsmix8
Fix GridMap applying wrong NavigationRegion transform.
2022-05-28Use consistent casing in editor filter/search barsFireForge
2022-05-24Fix GridMap not adding custom mesh offsets to NavigationMesh generationsmix8
Fix GridMap not adding custom mesh offsets to NavigationMesh generation
2022-05-20Add a new HashSet templatereduz
* Intended to replace RBSet in most cases. * Optimized for iteration speed
2022-05-19Use range iterators for RBSet in most casesAaron Record
2022-05-16Merge pull request #58624 from dzil123/fix_update_gridmap_cursorRémi Verschelde
2022-05-16Replace most uses of Map by HashMapreduz
* Map is unnecessary and inefficient in almost every case. * Replaced by the new HashMap. * Renamed Map to RBMap and Set to RBSet for cases that still make sense (order matters) but use is discouraged. There were very few cases where replacing by HashMap was undesired because keeping the key order was intended. I tried to keep those (as RBMap) as much as possible, but might have missed some. Review appreciated!
2022-05-06Cleanup metadata usagekobewi
2022-05-04Merge pull request #60723 from reduz/refactor-module-initializationRémi Verschelde
2022-05-04Refactor module initializationreduz
* Changed to use the same stages as extensions. * Makes the initialization more coherent, helping solve problems due to lack of stages. * Makes it easier to port between module and extension. * removed the DRIVER initialization level (no longer needed).
2022-05-03Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>`Hugo Locurcio
These typedefs don't save much typing compared to the full `Ref<Resource>` and `Ref<RefCounted>`, yet they sometimes introduce confusion among new contributors.
2022-04-04Zero initialize all pointer class and struct membersRémi Verschelde
This prevents the pitfall of UB when checking if they have been assigned something valid by comparing to nullptr.
2022-04-02fix gridmap cursor showing the wrong meshdzil123
2022-03-28Modules: Don't build editor-specific classes in templatesRémi Verschelde
They're moved to an `editor` subfolder so that we can easily handle them separately.
2022-03-06Remove duplicate editor settings definitionskobewi
2022-03-02Remove unimplemented set_clip() methodkobewi
2022-02-16Merge pull request #58187 from jakobbouchard/notification-switch-chunk-cRémi Verschelde
Convert _notification methods to switch - Chunk C
2022-02-16Convert _notification methods to switch - Chunk CJakob Bouchard
2022-02-16Add GridMap.get_used_cells_by_itemHaoyu Qiu
2022-02-15Editor: Cleanup some includes dependenciesRémi Verschelde
Removes some unnecessary includes from `editor_node.h`, and instead add those where they're used. Removes unnecessary `editor_node.h` includes in various editor classes. Renames `dynamicfont` to `dynamic_font` in a couple files. Misc cleanup while jumping through that rabbit hole.
2022-02-15Merge pull request #35679 from Calinou/doc-add-xml-schemaRémi Verschelde
2022-02-15Add an XML schema for documentationHugo Locurcio
This makes it easier to spot syntax errors when editing the class reference. The schema is referenced locally so validation can still work offline. Each class XML's schema conformance is also checked on GitHub Actions.
2022-02-14Remove the EditorNode parameter from EditorPlugins create methodstrollodel
Remove EditorNode usage from the Navigation editor plugin.
2022-02-14Remove most EditorNode constructor parameters and fieldstrollodel
2022-02-12Improve compilation speed (forward declarations/includes cleanup)Hendrik Brucker
2022-02-08Revert "Add missing SNAME macro optimization to all theme methods call"Rémi Verschelde
This reverts commit a988fad9a092053434545c32afae91ccbdfbe792. As discussed in #57725 and clarified in #57788, `SNAME` is not meant to be used everywhere but only in critical code paths. For theme methods specifically, it was by design that only getters use `SNAME` and not setters.
2022-02-08Fix GridMap memory leakHaoyu Qiu
2022-02-06Add missing SNAME macro optimization to all theme methods calljmb462
2022-01-26Rename String::is_subsequence_ofi to String::is_subsequence_ofnWilson E. Alvarez
2022-01-20Merge pull request #56855 from rafallus/gridmap_bake_staticbodyRémi Verschelde
2022-01-18Merge pull request #56619 from timothyqiu/left-right-paletteRémi Verschelde