summaryrefslogtreecommitdiff
path: root/modules/openxr
AgeCommit message (Collapse)Author
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-28Merge pull request #64885 from Mickeon/rename-tooltip-hintRémi Verschelde
Rename `hint_tooltip` to `tooltip_text` & setter getter
2022-08-27Remove NOTIFICATION_ENTER_TREE when paired with NOTIFICATION_THEME_CHANGEDAaron Record
2022-08-27Rename `hint_tooltip` to `tooltip_text` & setgetMicky
`hint_tooltip` -> `tooltip_text` `set_tooltip` -> `set_tooltip_text` `_get_tooltip` -> `get_tooltip_text` Updates documentation, too.
2022-08-15Improve the `make_rst.py` parser for BBCode tagsYuri Sizov
2022-08-08Rename the argument tag to param in XML documentationYuri Sizov
2022-07-29Swap arguments of ResourceSaver.save()kobewi
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-28Add startup flag to override XR mode settingsBastiaan Olij
2022-07-26Fix unnamed arguments in XML docsRedMser
2022-07-25Code quality: Fix header guards consistencyRémi Verschelde
Adds `header_guards.sh` bash script, used in CI to validate future changes. Can be run locally to fix invalid header guards.
2022-07-23Implement Vector4, Vector4i, Projectionreduz
Implement built-in classes Vector4, Vector4i and Projection. * Two versions of Vector4 (float and integer). * A Projection class, which is a 4x4 matrix specialized in projection types. These types have been requested for a long time, but given they were very corner case they were not added before. Because in Godot 4, reimplementing parts of the rendering engine is now possible, access to these types (heavily used by the rendering code) becomes a necessity. **Q**: Why Projection and not Matrix4? **A**: Godot does not use Matrix2, Matrix3, Matrix4x3, etc. naming convention because, within the engine, these types always have a *purpose*. As such, Godot names them: Transform2D, Transform3D or Basis. In this case, this 4x4 matrix is _always_ used as a _Projection_, hence the naming.
2022-07-22Fix tutorial links in XR classes docspython273
2022-07-20Improve `linuxbsd` headless building, cleanup build scriptsRiteo
Now the `linuxbsd` platform can be built headlessly (e.g. without X11 development libraries). I also cleaned up some weird (old?) usages of the `env` variable which seem to make no difference and are used nowhere else.
2022-06-28Split dependency logicBastiaan Olij
Split FOG Split visibility notifier Final cleanup of storage classes
2022-06-16Adding HTC tracker supportBastiaan Olij
2022-06-14Expose XRPose's get angular velocity.K. S. Ernest (iFire) Lee
2022-05-26Use "odd" style for TabContainers on base BG colorFireForge
- Use the "odd" style for TabContainers that are on a background with the same color as the default TabContainer background color to add contrast
2022-05-25use ERR_FAIL_INDEX when preferredNathan Franke
2022-05-18fix OpenXRAPI::is_extension_supported returning opposite resultSaenoe
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-11Merge pull request #60949 from derammo/derammo_openxr_wrong_conditionalRémi Verschelde
2022-05-11corrected conditional compile of OpenXR with/without opengl3 driverderammo
2022-05-11Split out bokeh_dof and copy effectsBastiaan Olij
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-02Style: Partially apply clang-tidy's `cppcoreguidelines-pro-type-member-init`Rémi Verschelde
Didn't commit all the changes where it wants to initialize a struct with `{}`. Should be reviewed in a separate PR. Option `IgnoreArrays` enabled for now to be conservative, can be disabled to see if it proposes more useful changes. Also fixed manually a handful of other missing initializations / moved some from constructors.
2022-04-28Fix cppcheck const parametersMarkus Sauermann
Convert method signature parameters to const where it is possible # Conflicts: # drivers/gles3/rasterizer_canvas_gles3.cpp # drivers/gles3/rasterizer_canvas_gles3.h # editor/plugins/animation_state_machine_editor.cpp # editor/plugins/animation_state_machine_editor.h
2022-04-20Validate input in OpenXR array setterHaoyu Qiu
2022-04-17Merge canvas and decal into TextureStorage and add render targetBastiaan Olij
2022-04-11catch null profile_def causing crash on startupJosh Kabo
2022-04-11Merge pull request #59940 from BastiaanOlij/xr_new_controllers_20220405Rémi Verschelde
2022-04-06Added missing interaction profiles and making sure related extensions are ↵Bastiaan Olij
enabled if available
2022-04-05CI: Update black formatter and apply changesRémi Verschelde
2022-04-04Style: Apply clang-tidy to current code, add `readability-redundant-member-init`Rémi Verschelde
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-04Add action map editor for OpenXRBastiaan Olij
2022-03-31Fix typos with codespellRémi Verschelde
Using codespell 2.2-dev from current git. Fix a couple incorrect uses of gendered pronouns.
2022-03-29Move OpenXR project settings to the main, to make them visible on ↵bruvzg
unsupported platforms.
2022-03-25Cleanup OpenXR on initialisation failureBastiaan Olij
2022-03-11Only uninitialise OpenXR on destruct if it was initialisedBastiaan Olij
2022-03-10Adding signals and events to OpenXR interfaceBastiaan Olij
Improving interaction profile logic
2022-02-28Fix color issues with OpenXRBastiaan Olij
2022-02-27Use VK_NULL_HANDLE when initializing XrSwapchainImageVulkanKHRBastiaan Olij
2022-02-23Fix llvm compilation by adding missing overrideGilles Roudière
2022-02-23Implementing OpenXR driverBastiaan Olij