summaryrefslogtreecommitdiff
path: root/modules/gridmap
AgeCommit message (Collapse)Author
2023-01-07Rework const on NavigationServer methodsJosh Jones
`const` is used on all methods, even when they cause modification of the server. This reworks the methods of the server to only use `const` on method that don't change the state of the server.
2023-01-05One Copyright Update to rule them allRémi Verschelde
As many open source projects have started doing it, we're removing the current year from the copyright notice, so that we don't need to bump it every year. It seems like only the first year of publication is technically relevant for copyright notices, and even that seems to be something that many companies stopped listing altogether (in a version controlled codebase, the commits are a much better source of date of publication than a hardcoded copyright statement). We also now list Godot Engine contributors first as we're collectively the current maintainers of the project, and we clarify that the "exclusive" copyright of the co-founders covers the timespan before opensourcing (their further contributions are included as part of Godot Engine contributors). Also fixed "cf." Frenchism - it's meant as "refer to / see".
2022-12-29Add safety-checks before some servers `free()`Adam Scott
2022-12-21Merge pull request #70366 from ↵Rémi Verschelde
quentinguidee/refactoring/fix-double-get-singleton Fix double get_singleton()
2022-12-20Change GridMap navigation_layers to be per mesh_library itemsmix8
Changes GridMap navigation_layers from a single bitmask for the entire GridMap to a bitmask for each item used in the mesh_library with a baked navmesh.
2022-12-20Fix double get_singleton()Quentin Guidée
Signed-off-by: Quentin Guidée <quentin.guidee@gmail.com>
2022-12-19Add GridMap collision_prioritysmix8
Adds property 'collision_priority' for all physics bodies of the entire GridMap.
2022-12-17Fix Navigation API abbreviations inconsistencysmix8
Schema for navigation to name user facing API with "navigation" without abbreviation and e.g. NavigationServer internals with abbr "nav".
2022-12-10Enable assigning an owner to navigation regions and linksJosh Jones
This allows users of the server APIs to get back the nodes that created certain regions and links.
2022-11-29Use forward-declarations in big editor classestrollodel
2022-11-24Cleanup remaining EditorUndoRedoManager usageskobewi
2022-11-22Fill random docskobewi
2022-11-11Use forward-declarations in EditorPlugin where possibletrollodel
2022-10-18Unify usage of GLOBAL/EDITOR_GETkobewi
2022-10-07Fix MSVC warnings, rename shadowed variables, fix uninitialized values, ↵bruvzg
change warnings=all to use /W4.
2022-10-04Rename remaining "Spatial" in Plugins to "Node3D"Micky
For EditorNode3DGizmo: - `get_spatial_node` -> `get_node_3d` - `set_spatial_node` -> `set_node_3d` For EditorPlugin: - `add_spatial_gizmo_plugin` -> `add_node_3d_gizmo_plugin` - `remove_spatial_gizmo_plugin` -> `remove_node_3d_gizmo_plugin` Also renames some internal methods for consistency (`forward_3d_draw_over_viewport` & `forward_3d_force_draw_over_viewport` ...). Basically, Spatial has been completely eradicated.
2022-09-30Fix typos with codespellRémi Verschelde
Using codespell 2.3-dev from current git. And fix typo in `methods.py` for `vsproj=yes` option (still won't work though).
2022-09-30Merge pull request #66242 from akien-mga/scons-unify-tools-targetRémi Verschelde
2022-09-28Fix MSVC warnings C4324, C4389, C4456, and C4459Rémi Verschelde
Part of #66537.
2022-09-26SCons: Unify tools/target build type configurationRémi Verschelde
Implements https://github.com/godotengine/godot-proposals/issues/3371. New `target` presets ==================== The `tools` option is removed and `target` changes to use three new presets, which match the builds users are familiar with. These targets control the default optimization level and enable editor-specific and debugging code: - `editor`: Replaces `tools=yes target=release_debug`. * Defines: `TOOLS_ENABLED`, `DEBUG_ENABLED`, `-O2`/`/O2` - `template_debug`: Replaces `tools=no target=release_debug`. * Defines: `DEBUG_ENABLED`, `-O2`/`/O2` - `template_release`: Replaces `tools=no target=release`. * Defines: `-O3`/`/O2` New `dev_build` option ====================== The previous `target=debug` is now replaced by a separate `dev_build=yes` option, which can be used in combination with either of the three targets, and changes the following: - `dev_build`: Defines `DEV_ENABLED`, disables optimization (`-O0`/`/0d`), enables generating debug symbols, does not define `NDEBUG` so `assert()` works in thirdparty libraries, adds a `.dev` suffix to the binary name. Note: Unlike previously, `dev_build` defaults to off so that users who compile Godot from source get an optimized and small build by default. Engine contributors should now set `dev_build=yes` in their build scripts or IDE configuration manually. Changed binary names ==================== The name of generated binaries and object files are changed too, to follow this format: `godot.<platform>.<target>[.dev][.double].<arch>[.<extra_suffix>][.<ext>]` For example: - `godot.linuxbsd.editor.dev.arm64` - `godot.windows.template_release.double.x86_64.mono.exe` Be sure to update your links/scripts/IDE config accordingly. More flexible `optimize` and `debug_symbols` options ==================================================== The optimization level and whether to generate debug symbols can be further specified with the `optimize` and `debug_symbols` options. So the default values listed above for the various `target` and `dev_build` combinations are indicative and can be replaced when compiling, e.g.: `scons p=linuxbsd target=template_debug dev_build=yes optimize=debug` will make a "debug" export template with dev-only code enabled, `-Og` optimization level for GCC/Clang, and debug symbols. Perfect for debugging complex crashes at runtime in an exported project.
2022-09-08Merge pull request #65241 from bruvzg/no_keymap_ambiguityRémi Verschelde
Fix key mapping changes when moving from macOS to other platform.
2022-09-08Merge pull request #64193 from smix8/navigation_gridmap_navmap_change_4.xRémi Verschelde
Add GridMap function to change navigation map for baked navigation regions
2022-09-08Add GridMap function to change navigation map for baked navigation regionssmix8
Adds function to change the navigation map for baked navigation regions. Before all cells with a baked navigation mesh were locked to the default navigation map of the world resource.
2022-09-07Fix key mapping changes when moving from macOS to other platformbruvzg
Removes separate `Command` key (use `Meta` instead). Adds an event flag to automatically remap `Command` <-> `Control` (cannot be set alongside `Control` or `Meta`).
2022-09-07Remove / Replace old Navigation Debug Visualizationsmix8
- removes / replaces leftovers from old navigation debug code - cleanes SceneTree and ProjectSettings from old navigation debug
2022-09-05Rename TileMap/GridMap.`world_to_map` and opposite to `local_to_map`Micky
For both TileMap and GridMap: - `world_to_map` -> `local_to_map` - `map_to_world` -> `map_to_local` Also changes any mention of "world" in this context to "local" to avoid future confusion. Finally, updates the docs of both methods for consistency. In particular, adding a note on how to convert the returned values from local to global coordinates and vice versa.
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