feat: updated engine version to 4.4
This commit is contained in:
parent
d08586768d
commit
ba58baf432
140 changed files with 108317 additions and 14666 deletions
|
|
@ -1439,7 +1439,7 @@ void ProjectSettings::_add_builtin_input_map() {
|
|||
}
|
||||
|
||||
Dictionary action;
|
||||
action["deadzone"] = Variant(InputMap::DEFAULT_DEADZONE);
|
||||
action["deadzone"] = Variant(InputMap::DEFAULT_TOGGLE_DEADZONE);
|
||||
action["events"] = events;
|
||||
|
||||
String action_name = "input/" + E.key;
|
||||
|
|
|
|||
|
|
@ -723,6 +723,7 @@ void register_global_constants() {
|
|||
BIND_CORE_BITFIELD_FLAG(METHOD_FLAG_VARARG);
|
||||
BIND_CORE_BITFIELD_FLAG(METHOD_FLAG_STATIC);
|
||||
BIND_CORE_BITFIELD_FLAG(METHOD_FLAG_OBJECT_CORE);
|
||||
BIND_CORE_BITFIELD_FLAG(METHOD_FLAG_VIRTUAL_REQUIRED);
|
||||
BIND_CORE_BITFIELD_FLAG(METHOD_FLAGS_DEFAULT);
|
||||
|
||||
BIND_CORE_ENUM_CONSTANT_CUSTOM("TYPE_NIL", Variant::NIL);
|
||||
|
|
|
|||
|
|
@ -614,7 +614,7 @@ void Input::joy_connection_changed(int p_idx, bool p_connected, const String &p_
|
|||
Vector3 Input::get_gravity() const {
|
||||
_THREAD_SAFE_METHOD_
|
||||
|
||||
#ifdef DEBUG_ENABLED
|
||||
#if defined(DEBUG_ENABLED) && defined(ANDROID_ENABLED)
|
||||
if (!gravity_enabled) {
|
||||
WARN_PRINT_ONCE("`input_devices/sensors/enable_gravity` is not enabled in project settings.");
|
||||
}
|
||||
|
|
@ -626,7 +626,7 @@ Vector3 Input::get_gravity() const {
|
|||
Vector3 Input::get_accelerometer() const {
|
||||
_THREAD_SAFE_METHOD_
|
||||
|
||||
#ifdef DEBUG_ENABLED
|
||||
#if defined(DEBUG_ENABLED) && defined(ANDROID_ENABLED)
|
||||
if (!accelerometer_enabled) {
|
||||
WARN_PRINT_ONCE("`input_devices/sensors/enable_accelerometer` is not enabled in project settings.");
|
||||
}
|
||||
|
|
@ -638,7 +638,7 @@ Vector3 Input::get_accelerometer() const {
|
|||
Vector3 Input::get_magnetometer() const {
|
||||
_THREAD_SAFE_METHOD_
|
||||
|
||||
#ifdef DEBUG_ENABLED
|
||||
#if defined(DEBUG_ENABLED) && defined(ANDROID_ENABLED)
|
||||
if (!magnetometer_enabled) {
|
||||
WARN_PRINT_ONCE("`input_devices/sensors/enable_magnetometer` is not enabled in project settings.");
|
||||
}
|
||||
|
|
@ -650,7 +650,7 @@ Vector3 Input::get_magnetometer() const {
|
|||
Vector3 Input::get_gyroscope() const {
|
||||
_THREAD_SAFE_METHOD_
|
||||
|
||||
#ifdef DEBUG_ENABLED
|
||||
#if defined(DEBUG_ENABLED) && defined(ANDROID_ENABLED)
|
||||
if (!gyroscope_enabled) {
|
||||
WARN_PRINT_ONCE("`input_devices/sensors/enable_gyroscope` is not enabled in project settings.");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1104,7 +1104,7 @@ JoyAxis InputEventJoypadMotion::get_axis() const {
|
|||
|
||||
void InputEventJoypadMotion::set_axis_value(float p_value) {
|
||||
axis_value = p_value;
|
||||
pressed = Math::abs(axis_value) >= InputMap::DEFAULT_DEADZONE;
|
||||
pressed = Math::abs(axis_value) >= InputMap::DEFAULT_TOGGLE_DEADZONE;
|
||||
emit_changed();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -55,6 +55,8 @@ public:
|
|||
};
|
||||
|
||||
static constexpr float DEFAULT_DEADZONE = 0.2f;
|
||||
// Keep bigger deadzone for toggle actions (default `ui_*` actions, axis `pressed`) (GH-103360).
|
||||
static constexpr float DEFAULT_TOGGLE_DEADZONE = 0.5f;
|
||||
|
||||
private:
|
||||
static InputMap *singleton;
|
||||
|
|
|
|||
|
|
@ -109,6 +109,7 @@ protected:
|
|||
|
||||
HasServerFeatureCallback has_server_feature_callback = nullptr;
|
||||
bool _separate_thread_render = false;
|
||||
bool _silent_crash_handler = false;
|
||||
|
||||
// Functions used by Main to initialize/deinitialize the OS.
|
||||
void add_logger(Logger *p_logger);
|
||||
|
|
@ -262,6 +263,9 @@ public:
|
|||
void set_stdout_enabled(bool p_enabled);
|
||||
void set_stderr_enabled(bool p_enabled);
|
||||
|
||||
virtual void set_crash_handler_silent() { _silent_crash_handler = true; }
|
||||
virtual bool is_crash_handler_silent() { return _silent_crash_handler; }
|
||||
|
||||
virtual void disable_crash_handler() {}
|
||||
virtual bool is_disable_crash_handler() const { return false; }
|
||||
virtual void initialize_debugging() {}
|
||||
|
|
@ -358,6 +362,10 @@ public:
|
|||
// This is invoked by the GDExtensionManager after loading GDExtensions specified by the project.
|
||||
virtual void load_platform_gdextensions() const {}
|
||||
|
||||
// Windows only. Tests OpenGL context and Rendering Device simultaneous creation. This function is expected to crash on some NVIDIA drivers.
|
||||
virtual bool _test_create_rendering_device_and_gl() const { return true; }
|
||||
virtual bool _test_create_rendering_device() const { return true; }
|
||||
|
||||
OS();
|
||||
virtual ~OS();
|
||||
};
|
||||
|
|
|
|||
|
|
@ -114,6 +114,7 @@ class CommandQueueMT {
|
|||
uint32_t sync_awaiters = 0;
|
||||
WorkerThreadPool::TaskID pump_task_id = WorkerThreadPool::INVALID_TASK_ID;
|
||||
uint64_t flush_read_ptr = 0;
|
||||
std::atomic<bool> pending;
|
||||
|
||||
template <typename T, typename... Args>
|
||||
_FORCE_INLINE_ void create_command(Args &&...p_args) {
|
||||
|
|
@ -126,6 +127,7 @@ class CommandQueueMT {
|
|||
*(uint64_t *)&command_mem[size] = alloc_size;
|
||||
void *cmd = &command_mem[size + sizeof(uint64_t)];
|
||||
new (cmd) T(std::forward<Args>(p_args)...);
|
||||
pending.store(true);
|
||||
}
|
||||
|
||||
template <typename T, bool NeedsSync, typename... Args>
|
||||
|
|
@ -186,6 +188,7 @@ class CommandQueueMT {
|
|||
}
|
||||
|
||||
command_mem.clear();
|
||||
pending.store(false);
|
||||
flush_read_ptr = 0;
|
||||
|
||||
_prevent_sync_wraparound();
|
||||
|
|
@ -226,7 +229,7 @@ public:
|
|||
}
|
||||
|
||||
_FORCE_INLINE_ void flush_if_pending() {
|
||||
if (unlikely(command_mem.size() > 0)) {
|
||||
if (unlikely(pending.load())) {
|
||||
_flush();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -657,22 +657,28 @@ static _FORCE_INLINE_ void vc_ptrcall(void (*method)(T *, P...), void *p_base, c
|
|||
} \
|
||||
};
|
||||
|
||||
#define VARCALL_PACKED_GETTER(m_packed_type, m_return_type) \
|
||||
static m_return_type func_##m_packed_type##_get(m_packed_type *p_instance, int64_t p_index) { \
|
||||
return p_instance->get(p_index); \
|
||||
#define VARCALL_ARRAY_GETTER_SETTER(m_packed_type, m_type) \
|
||||
static m_type func_##m_packed_type##_get(m_packed_type *p_instance, int64_t p_index) { \
|
||||
ERR_FAIL_INDEX_V(p_index, p_instance->size(), m_type()); \
|
||||
return p_instance->get(p_index); \
|
||||
} \
|
||||
static void func_##m_packed_type##_set(m_packed_type *p_instance, int64_t p_index, const m_type &p_value) { \
|
||||
ERR_FAIL_INDEX(p_index, p_instance->size()); \
|
||||
p_instance->set(p_index, p_value); \
|
||||
}
|
||||
|
||||
struct _VariantCall {
|
||||
VARCALL_PACKED_GETTER(PackedByteArray, uint8_t)
|
||||
VARCALL_PACKED_GETTER(PackedColorArray, Color)
|
||||
VARCALL_PACKED_GETTER(PackedFloat32Array, float)
|
||||
VARCALL_PACKED_GETTER(PackedFloat64Array, double)
|
||||
VARCALL_PACKED_GETTER(PackedInt32Array, int32_t)
|
||||
VARCALL_PACKED_GETTER(PackedInt64Array, int64_t)
|
||||
VARCALL_PACKED_GETTER(PackedStringArray, String)
|
||||
VARCALL_PACKED_GETTER(PackedVector2Array, Vector2)
|
||||
VARCALL_PACKED_GETTER(PackedVector3Array, Vector3)
|
||||
VARCALL_PACKED_GETTER(PackedVector4Array, Vector4)
|
||||
VARCALL_ARRAY_GETTER_SETTER(PackedByteArray, uint8_t)
|
||||
VARCALL_ARRAY_GETTER_SETTER(PackedColorArray, Color)
|
||||
VARCALL_ARRAY_GETTER_SETTER(PackedFloat32Array, float)
|
||||
VARCALL_ARRAY_GETTER_SETTER(PackedFloat64Array, double)
|
||||
VARCALL_ARRAY_GETTER_SETTER(PackedInt32Array, int32_t)
|
||||
VARCALL_ARRAY_GETTER_SETTER(PackedInt64Array, int64_t)
|
||||
VARCALL_ARRAY_GETTER_SETTER(PackedStringArray, String)
|
||||
VARCALL_ARRAY_GETTER_SETTER(PackedVector2Array, Vector2)
|
||||
VARCALL_ARRAY_GETTER_SETTER(PackedVector3Array, Vector3)
|
||||
VARCALL_ARRAY_GETTER_SETTER(PackedVector4Array, Vector4)
|
||||
VARCALL_ARRAY_GETTER_SETTER(Array, Variant)
|
||||
|
||||
static String func_PackedByteArray_get_string_from_ascii(PackedByteArray *p_instance) {
|
||||
String s;
|
||||
|
|
@ -2354,8 +2360,8 @@ static void _register_variant_builtin_methods_array() {
|
|||
bind_method(Array, clear, sarray(), varray());
|
||||
bind_method(Array, hash, sarray(), varray());
|
||||
bind_method(Array, assign, sarray("array"), varray());
|
||||
bind_method(Array, get, sarray("index"), varray());
|
||||
bind_method(Array, set, sarray("index", "value"), varray());
|
||||
bind_function(Array, get, _VariantCall::func_Array_get, sarray("index"), varray());
|
||||
bind_functionnc(Array, set, _VariantCall::func_Array_set, sarray("index", "value"), varray());
|
||||
bind_method(Array, push_back, sarray("value"), varray());
|
||||
bind_method(Array, push_front, sarray("value"), varray());
|
||||
bind_method(Array, append, sarray("value"), varray());
|
||||
|
|
@ -2400,7 +2406,7 @@ static void _register_variant_builtin_methods_array() {
|
|||
bind_method(Array, make_read_only, sarray(), varray());
|
||||
bind_method(Array, is_read_only, sarray(), varray());
|
||||
|
||||
/* Packed*Array get (see VARCALL_PACKED_GETTER macro) */
|
||||
/* Packed*Array get/set (see VARCALL_ARRAY_GETTER_SETTER macro) */
|
||||
bind_function(PackedByteArray, get, _VariantCall::func_PackedByteArray_get, sarray("index"), varray());
|
||||
bind_function(PackedColorArray, get, _VariantCall::func_PackedColorArray_get, sarray("index"), varray());
|
||||
bind_function(PackedFloat32Array, get, _VariantCall::func_PackedFloat32Array_get, sarray("index"), varray());
|
||||
|
|
@ -2412,10 +2418,20 @@ static void _register_variant_builtin_methods_array() {
|
|||
bind_function(PackedVector3Array, get, _VariantCall::func_PackedVector3Array_get, sarray("index"), varray());
|
||||
bind_function(PackedVector4Array, get, _VariantCall::func_PackedVector4Array_get, sarray("index"), varray());
|
||||
|
||||
bind_functionnc(PackedByteArray, set, _VariantCall::func_PackedByteArray_set, sarray("index", "value"), varray());
|
||||
bind_functionnc(PackedColorArray, set, _VariantCall::func_PackedColorArray_set, sarray("index", "value"), varray());
|
||||
bind_functionnc(PackedFloat32Array, set, _VariantCall::func_PackedFloat32Array_set, sarray("index", "value"), varray());
|
||||
bind_functionnc(PackedFloat64Array, set, _VariantCall::func_PackedFloat64Array_set, sarray("index", "value"), varray());
|
||||
bind_functionnc(PackedInt32Array, set, _VariantCall::func_PackedInt32Array_set, sarray("index", "value"), varray());
|
||||
bind_functionnc(PackedInt64Array, set, _VariantCall::func_PackedInt64Array_set, sarray("index", "value"), varray());
|
||||
bind_functionnc(PackedStringArray, set, _VariantCall::func_PackedStringArray_set, sarray("index", "value"), varray());
|
||||
bind_functionnc(PackedVector2Array, set, _VariantCall::func_PackedVector2Array_set, sarray("index", "value"), varray());
|
||||
bind_functionnc(PackedVector3Array, set, _VariantCall::func_PackedVector3Array_set, sarray("index", "value"), varray());
|
||||
bind_functionnc(PackedVector4Array, set, _VariantCall::func_PackedVector4Array_set, sarray("index", "value"), varray());
|
||||
|
||||
/* Byte Array */
|
||||
bind_method(PackedByteArray, size, sarray(), varray());
|
||||
bind_method(PackedByteArray, is_empty, sarray(), varray());
|
||||
bind_method(PackedByteArray, set, sarray("index", "value"), varray());
|
||||
bind_method(PackedByteArray, push_back, sarray("value"), varray());
|
||||
bind_method(PackedByteArray, append, sarray("value"), varray());
|
||||
bind_method(PackedByteArray, append_array, sarray("array"), varray());
|
||||
|
|
@ -2481,7 +2497,6 @@ static void _register_variant_builtin_methods_array() {
|
|||
|
||||
bind_method(PackedInt32Array, size, sarray(), varray());
|
||||
bind_method(PackedInt32Array, is_empty, sarray(), varray());
|
||||
bind_method(PackedInt32Array, set, sarray("index", "value"), varray());
|
||||
bind_method(PackedInt32Array, push_back, sarray("value"), varray());
|
||||
bind_method(PackedInt32Array, append, sarray("value"), varray());
|
||||
bind_method(PackedInt32Array, append_array, sarray("array"), varray());
|
||||
|
|
@ -2505,7 +2520,6 @@ static void _register_variant_builtin_methods_array() {
|
|||
|
||||
bind_method(PackedInt64Array, size, sarray(), varray());
|
||||
bind_method(PackedInt64Array, is_empty, sarray(), varray());
|
||||
bind_method(PackedInt64Array, set, sarray("index", "value"), varray());
|
||||
bind_method(PackedInt64Array, push_back, sarray("value"), varray());
|
||||
bind_method(PackedInt64Array, append, sarray("value"), varray());
|
||||
bind_method(PackedInt64Array, append_array, sarray("array"), varray());
|
||||
|
|
@ -2529,7 +2543,6 @@ static void _register_variant_builtin_methods_array() {
|
|||
|
||||
bind_method(PackedFloat32Array, size, sarray(), varray());
|
||||
bind_method(PackedFloat32Array, is_empty, sarray(), varray());
|
||||
bind_method(PackedFloat32Array, set, sarray("index", "value"), varray());
|
||||
bind_method(PackedFloat32Array, push_back, sarray("value"), varray());
|
||||
bind_method(PackedFloat32Array, append, sarray("value"), varray());
|
||||
bind_method(PackedFloat32Array, append_array, sarray("array"), varray());
|
||||
|
|
@ -2553,7 +2566,6 @@ static void _register_variant_builtin_methods_array() {
|
|||
|
||||
bind_method(PackedFloat64Array, size, sarray(), varray());
|
||||
bind_method(PackedFloat64Array, is_empty, sarray(), varray());
|
||||
bind_method(PackedFloat64Array, set, sarray("index", "value"), varray());
|
||||
bind_method(PackedFloat64Array, push_back, sarray("value"), varray());
|
||||
bind_method(PackedFloat64Array, append, sarray("value"), varray());
|
||||
bind_method(PackedFloat64Array, append_array, sarray("array"), varray());
|
||||
|
|
@ -2577,7 +2589,6 @@ static void _register_variant_builtin_methods_array() {
|
|||
|
||||
bind_method(PackedStringArray, size, sarray(), varray());
|
||||
bind_method(PackedStringArray, is_empty, sarray(), varray());
|
||||
bind_method(PackedStringArray, set, sarray("index", "value"), varray());
|
||||
bind_method(PackedStringArray, push_back, sarray("value"), varray());
|
||||
bind_method(PackedStringArray, append, sarray("value"), varray());
|
||||
bind_method(PackedStringArray, append_array, sarray("array"), varray());
|
||||
|
|
@ -2601,7 +2612,6 @@ static void _register_variant_builtin_methods_array() {
|
|||
|
||||
bind_method(PackedVector2Array, size, sarray(), varray());
|
||||
bind_method(PackedVector2Array, is_empty, sarray(), varray());
|
||||
bind_method(PackedVector2Array, set, sarray("index", "value"), varray());
|
||||
bind_method(PackedVector2Array, push_back, sarray("value"), varray());
|
||||
bind_method(PackedVector2Array, append, sarray("value"), varray());
|
||||
bind_method(PackedVector2Array, append_array, sarray("array"), varray());
|
||||
|
|
@ -2625,7 +2635,6 @@ static void _register_variant_builtin_methods_array() {
|
|||
|
||||
bind_method(PackedVector3Array, size, sarray(), varray());
|
||||
bind_method(PackedVector3Array, is_empty, sarray(), varray());
|
||||
bind_method(PackedVector3Array, set, sarray("index", "value"), varray());
|
||||
bind_method(PackedVector3Array, push_back, sarray("value"), varray());
|
||||
bind_method(PackedVector3Array, append, sarray("value"), varray());
|
||||
bind_method(PackedVector3Array, append_array, sarray("array"), varray());
|
||||
|
|
@ -2649,7 +2658,6 @@ static void _register_variant_builtin_methods_array() {
|
|||
|
||||
bind_method(PackedColorArray, size, sarray(), varray());
|
||||
bind_method(PackedColorArray, is_empty, sarray(), varray());
|
||||
bind_method(PackedColorArray, set, sarray("index", "value"), varray());
|
||||
bind_method(PackedColorArray, push_back, sarray("value"), varray());
|
||||
bind_method(PackedColorArray, append, sarray("value"), varray());
|
||||
bind_method(PackedColorArray, append_array, sarray("array"), varray());
|
||||
|
|
@ -2673,7 +2681,6 @@ static void _register_variant_builtin_methods_array() {
|
|||
|
||||
bind_method(PackedVector4Array, size, sarray(), varray());
|
||||
bind_method(PackedVector4Array, is_empty, sarray(), varray());
|
||||
bind_method(PackedVector4Array, set, sarray("index", "value"), varray());
|
||||
bind_method(PackedVector4Array, push_back, sarray("value"), varray());
|
||||
bind_method(PackedVector4Array, append, sarray("value"), varray());
|
||||
bind_method(PackedVector4Array, append_array, sarray("array"), varray());
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue