mirror of
https://github.com/godotengine/godot.git
synced 2025-10-20 00:13:30 +00:00
Merge pull request #67527 from BastiaanOlij/fix_tracker_names
Fix two typos in tracker names and a bug in OpenXR haptic feedback
This commit is contained in:
commit
5f7906a289
2 changed files with 12 additions and 3 deletions
|
@ -458,9 +458,18 @@ void OpenXRInterface::handle_tracker(Tracker *p_tracker) {
|
||||||
|
|
||||||
void OpenXRInterface::trigger_haptic_pulse(const String &p_action_name, const StringName &p_tracker_name, double p_frequency, double p_amplitude, double p_duration_sec, double p_delay_sec) {
|
void OpenXRInterface::trigger_haptic_pulse(const String &p_action_name, const StringName &p_tracker_name, double p_frequency, double p_amplitude, double p_duration_sec, double p_delay_sec) {
|
||||||
ERR_FAIL_NULL(openxr_api);
|
ERR_FAIL_NULL(openxr_api);
|
||||||
|
|
||||||
Action *action = find_action(p_action_name);
|
Action *action = find_action(p_action_name);
|
||||||
ERR_FAIL_NULL(action);
|
ERR_FAIL_NULL(action);
|
||||||
Tracker *tracker = find_tracker(p_tracker_name);
|
|
||||||
|
// We need to map our tracker name to our OpenXR name for our inbuild names.
|
||||||
|
String tracker_name = p_tracker_name;
|
||||||
|
if (tracker_name == "left_hand") {
|
||||||
|
tracker_name = "/user/hand/left";
|
||||||
|
} else if (tracker_name == "right_hand") {
|
||||||
|
tracker_name = "/user/hand/right";
|
||||||
|
}
|
||||||
|
Tracker *tracker = find_tracker(tracker_name);
|
||||||
ERR_FAIL_NULL(tracker);
|
ERR_FAIL_NULL(tracker);
|
||||||
|
|
||||||
// TODO OpenXR does not support delay, so we may need to add support for that somehow...
|
// TODO OpenXR does not support delay, so we may need to add support for that somehow...
|
||||||
|
|
|
@ -363,7 +363,7 @@ void XRNode3D::_unbind_tracker() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void XRNode3D::_changed_tracker(const StringName p_tracker_name, int p_tracker_type) {
|
void XRNode3D::_changed_tracker(const StringName p_tracker_name, int p_tracker_type) {
|
||||||
if (p_tracker_name == p_tracker_name) {
|
if (tracker_name == p_tracker_name) {
|
||||||
// just in case unref our current tracker
|
// just in case unref our current tracker
|
||||||
_unbind_tracker();
|
_unbind_tracker();
|
||||||
|
|
||||||
|
@ -373,7 +373,7 @@ void XRNode3D::_changed_tracker(const StringName p_tracker_name, int p_tracker_t
|
||||||
}
|
}
|
||||||
|
|
||||||
void XRNode3D::_removed_tracker(const StringName p_tracker_name, int p_tracker_type) {
|
void XRNode3D::_removed_tracker(const StringName p_tracker_name, int p_tracker_type) {
|
||||||
if (p_tracker_name == p_tracker_name) {
|
if (tracker_name == p_tracker_name) {
|
||||||
// unref our tracker, it's no longer available
|
// unref our tracker, it's no longer available
|
||||||
_unbind_tracker();
|
_unbind_tracker();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue