summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/input_map.cpp2
-rw-r--r--core/io/marshalls.cpp6
-rw-r--r--scene/2d/camera_2d.cpp4
3 files changed, 9 insertions, 3 deletions
diff --git a/core/input_map.cpp b/core/input_map.cpp
index 5a9b035771..17e98902a1 100644
--- a/core/input_map.cpp
+++ b/core/input_map.cpp
@@ -106,7 +106,7 @@ List<InputEvent>::Element *InputMap::_find_event(List<InputEvent> &p_list,const
} break;
case InputEvent::JOYSTICK_MOTION: {
- same=(e.joy_motion.axis==p_event.joy_motion.axis);
+ same=(e.joy_motion.axis==p_event.joy_motion.axis && (e.joy_motion.axis_value < 0) == (p_event.joy_motion.axis_value < 0));
} break;
}
diff --git a/core/io/marshalls.cpp b/core/io/marshalls.cpp
index 1733aecd46..60617e1237 100644
--- a/core/io/marshalls.cpp
+++ b/core/io/marshalls.cpp
@@ -438,8 +438,9 @@ Error decode_variant(Variant& r_variant,const uint8_t *p_buffer, int p_len,int *
case InputEvent::JOYSTICK_MOTION: {
ie.joy_motion.axis=decode_uint32(&buf[12]);
+ ie.joy_motion.axis_value=decode_float(&buf[16]);
if (r_len)
- (*r_len)+=4;
+ (*r_len)+=8;
} break;
}
@@ -1154,8 +1155,9 @@ Error encode_variant(const Variant& p_variant, uint8_t *r_buffer, int &r_len) {
int axis = ie.joy_motion.axis;
encode_uint32(axis,&buf[llen]);
+ encode_float(ie.joy_motion.axis_value, &buf[llen+4]);
}
- llen+=4;
+ llen+=8;
} break;
}
diff --git a/scene/2d/camera_2d.cpp b/scene/2d/camera_2d.cpp
index 68d8b09e04..fd8a0ed0f3 100644
--- a/scene/2d/camera_2d.cpp
+++ b/scene/2d/camera_2d.cpp
@@ -240,6 +240,10 @@ void Camera2D::_notification(int p_what) {
add_to_group(group_name);
add_to_group(canvas_group_name);
+ if(get_tree()->is_editor_hint()) {
+ set_fixed_process(false);
+ }
+
_update_scroll();
first=true;