mirror of
https://github.com/godotengine/godot.git
synced 2024-12-15 10:12:40 +08:00
Merge pull request #59911 from bruvzg/cppcheck_fixes
This commit is contained in:
commit
ac591d9904
@ -55,13 +55,13 @@ Error EngineProfiler::bind(const String &p_name) {
|
|||||||
EngineDebugger::Profiler prof(
|
EngineDebugger::Profiler prof(
|
||||||
this,
|
this,
|
||||||
[](void *p_user, bool p_enable, const Array &p_opts) {
|
[](void *p_user, bool p_enable, const Array &p_opts) {
|
||||||
((EngineProfiler *)p_user)->toggle(p_enable, p_opts);
|
static_cast<EngineProfiler *>(p_user)->toggle(p_enable, p_opts);
|
||||||
},
|
},
|
||||||
[](void *p_user, const Array &p_data) {
|
[](void *p_user, const Array &p_data) {
|
||||||
((EngineProfiler *)p_user)->add(p_data);
|
static_cast<EngineProfiler *>(p_user)->add(p_data);
|
||||||
},
|
},
|
||||||
[](void *p_user, double p_frame_time, double p_idle_time, double p_physics_time, double p_physics_frame_time) {
|
[](void *p_user, double p_frame_time, double p_idle_time, double p_physics_time, double p_physics_frame_time) {
|
||||||
((EngineProfiler *)p_user)->tick(p_frame_time, p_idle_time, p_physics_time, p_physics_frame_time);
|
static_cast<EngineProfiler *>(p_user)->tick(p_frame_time, p_idle_time, p_physics_time, p_physics_frame_time);
|
||||||
});
|
});
|
||||||
registration = p_name;
|
registration = p_name;
|
||||||
EngineDebugger::register_profiler(p_name, prof);
|
EngineDebugger::register_profiler(p_name, prof);
|
||||||
|
@ -369,11 +369,11 @@ LocalDebugger::LocalDebugger() {
|
|||||||
Profiler scr_prof(
|
Profiler scr_prof(
|
||||||
scripts_profiler,
|
scripts_profiler,
|
||||||
[](void *p_user, bool p_enable, const Array &p_opts) {
|
[](void *p_user, bool p_enable, const Array &p_opts) {
|
||||||
((ScriptsProfiler *)p_user)->toggle(p_enable, p_opts);
|
static_cast<ScriptsProfiler *>(p_user)->toggle(p_enable, p_opts);
|
||||||
},
|
},
|
||||||
nullptr,
|
nullptr,
|
||||||
[](void *p_user, double p_frame_time, double p_idle_time, double p_physics_time, double p_physics_frame_time) {
|
[](void *p_user, double p_frame_time, double p_idle_time, double p_physics_time, double p_physics_frame_time) {
|
||||||
((ScriptsProfiler *)p_user)->tick(p_frame_time, p_idle_time, p_physics_time, p_physics_frame_time);
|
static_cast<ScriptsProfiler *>(p_user)->tick(p_frame_time, p_idle_time, p_physics_time, p_physics_frame_time);
|
||||||
});
|
});
|
||||||
register_profiler("scripts", scr_prof);
|
register_profiler("scripts", scr_prof);
|
||||||
}
|
}
|
||||||
|
@ -161,8 +161,9 @@ public:
|
|||||||
if (!monitor_value.is_num()) {
|
if (!monitor_value.is_num()) {
|
||||||
ERR_PRINT("Value of custom monitor '" + String(custom_monitor_names[i]) + "' is not a number");
|
ERR_PRINT("Value of custom monitor '" + String(custom_monitor_names[i]) + "' is not a number");
|
||||||
arr[i + max] = Variant();
|
arr[i + max] = Variant();
|
||||||
|
} else {
|
||||||
|
arr[i + max] = monitor_value;
|
||||||
}
|
}
|
||||||
arr[i + max] = monitor_value;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
EngineDebugger::get_singleton()->send_message("performance:profile_frame", arr);
|
EngineDebugger::get_singleton()->send_message("performance:profile_frame", arr);
|
||||||
@ -189,7 +190,7 @@ void RemoteDebugger::_err_handler(void *p_this, const char *p_func, const char *
|
|||||||
return; //ignore script errors, those go through debugger
|
return; //ignore script errors, those go through debugger
|
||||||
}
|
}
|
||||||
|
|
||||||
RemoteDebugger *rd = (RemoteDebugger *)p_this;
|
RemoteDebugger *rd = static_cast<RemoteDebugger *>(p_this);
|
||||||
if (rd->flushing && Thread::get_caller_id() == rd->flush_thread) { // Can't handle recursive errors during flush.
|
if (rd->flushing && Thread::get_caller_id() == rd->flush_thread) { // Can't handle recursive errors during flush.
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -208,7 +209,7 @@ void RemoteDebugger::_err_handler(void *p_this, const char *p_func, const char *
|
|||||||
}
|
}
|
||||||
|
|
||||||
void RemoteDebugger::_print_handler(void *p_this, const String &p_string, bool p_error) {
|
void RemoteDebugger::_print_handler(void *p_this, const String &p_string, bool p_error) {
|
||||||
RemoteDebugger *rd = (RemoteDebugger *)p_this;
|
RemoteDebugger *rd = static_cast<RemoteDebugger *>(p_this);
|
||||||
|
|
||||||
if (rd->flushing && Thread::get_caller_id() == rd->flush_thread) { // Can't handle recursive prints during flush.
|
if (rd->flushing && Thread::get_caller_id() == rd->flush_thread) { // Can't handle recursive prints during flush.
|
||||||
return;
|
return;
|
||||||
@ -656,12 +657,12 @@ RemoteDebugger::RemoteDebugger(Ref<RemoteDebuggerPeer> p_peer) {
|
|||||||
// Core and profiler captures.
|
// Core and profiler captures.
|
||||||
Capture core_cap(this,
|
Capture core_cap(this,
|
||||||
[](void *p_user, const String &p_cmd, const Array &p_data, bool &r_captured) {
|
[](void *p_user, const String &p_cmd, const Array &p_data, bool &r_captured) {
|
||||||
return ((RemoteDebugger *)p_user)->_core_capture(p_cmd, p_data, r_captured);
|
return static_cast<RemoteDebugger *>(p_user)->_core_capture(p_cmd, p_data, r_captured);
|
||||||
});
|
});
|
||||||
register_message_capture("core", core_cap);
|
register_message_capture("core", core_cap);
|
||||||
Capture profiler_cap(this,
|
Capture profiler_cap(this,
|
||||||
[](void *p_user, const String &p_cmd, const Array &p_data, bool &r_captured) {
|
[](void *p_user, const String &p_cmd, const Array &p_data, bool &r_captured) {
|
||||||
return ((RemoteDebugger *)p_user)->_profiler_capture(p_cmd, p_data, r_captured);
|
return static_cast<RemoteDebugger *>(p_user)->_profiler_capture(p_cmd, p_data, r_captured);
|
||||||
});
|
});
|
||||||
register_message_capture("profiler", profiler_cap);
|
register_message_capture("profiler", profiler_cap);
|
||||||
|
|
||||||
|
@ -162,7 +162,7 @@ Error RemoteDebuggerPeerTCP::connect_to_host(const String &p_host, uint16_t p_po
|
|||||||
int port = p_port;
|
int port = p_port;
|
||||||
|
|
||||||
const int tries = 6;
|
const int tries = 6;
|
||||||
int waits[tries] = { 1, 10, 100, 1000, 1000, 1000 };
|
const int waits[tries] = { 1, 10, 100, 1000, 1000, 1000 };
|
||||||
|
|
||||||
tcp_client->connect_to_host(ip, port);
|
tcp_client->connect_to_host(ip, port);
|
||||||
|
|
||||||
@ -192,7 +192,7 @@ Error RemoteDebuggerPeerTCP::connect_to_host(const String &p_host, uint16_t p_po
|
|||||||
void RemoteDebuggerPeerTCP::_thread_func(void *p_ud) {
|
void RemoteDebuggerPeerTCP::_thread_func(void *p_ud) {
|
||||||
// Update in time for 144hz monitors
|
// Update in time for 144hz monitors
|
||||||
const uint64_t min_tick = 6900;
|
const uint64_t min_tick = 6900;
|
||||||
RemoteDebuggerPeerTCP *peer = (RemoteDebuggerPeerTCP *)p_ud;
|
RemoteDebuggerPeerTCP *peer = static_cast<RemoteDebuggerPeerTCP *>(p_ud);
|
||||||
while (peer->running && peer->is_peer_connected()) {
|
while (peer->running && peer->is_peer_connected()) {
|
||||||
uint64_t ticks_usec = OS::get_singleton()->get_ticks_usec();
|
uint64_t ticks_usec = OS::get_singleton()->get_ticks_usec();
|
||||||
peer->_poll();
|
peer->_poll();
|
||||||
|
@ -81,13 +81,13 @@ public:
|
|||||||
|
|
||||||
Error connect_to_host(const String &p_host, uint16_t p_port);
|
Error connect_to_host(const String &p_host, uint16_t p_port);
|
||||||
|
|
||||||
void poll();
|
void poll() override;
|
||||||
bool is_peer_connected();
|
bool is_peer_connected() override;
|
||||||
bool has_message();
|
bool has_message() override;
|
||||||
Array get_message();
|
Array get_message() override;
|
||||||
Error put_message(const Array &p_arr);
|
Error put_message(const Array &p_arr) override;
|
||||||
int get_max_message_size() const;
|
int get_max_message_size() const override;
|
||||||
void close();
|
void close() override;
|
||||||
|
|
||||||
RemoteDebuggerPeerTCP(Ref<StreamPeerTCP> p_stream = Ref<StreamPeerTCP>());
|
RemoteDebuggerPeerTCP(Ref<StreamPeerTCP> p_stream = Ref<StreamPeerTCP>());
|
||||||
~RemoteDebuggerPeerTCP();
|
~RemoteDebuggerPeerTCP();
|
||||||
|
@ -50,7 +50,7 @@ void add_error_handler(ErrorHandlerList *p_handler) {
|
|||||||
_global_unlock();
|
_global_unlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
void remove_error_handler(ErrorHandlerList *p_handler) {
|
void remove_error_handler(const ErrorHandlerList *p_handler) {
|
||||||
_global_lock();
|
_global_lock();
|
||||||
|
|
||||||
ErrorHandlerList *prev = nullptr;
|
ErrorHandlerList *prev = nullptr;
|
||||||
|
@ -58,7 +58,7 @@ struct ErrorHandlerList {
|
|||||||
};
|
};
|
||||||
|
|
||||||
void add_error_handler(ErrorHandlerList *p_handler);
|
void add_error_handler(ErrorHandlerList *p_handler);
|
||||||
void remove_error_handler(ErrorHandlerList *p_handler);
|
void remove_error_handler(const ErrorHandlerList *p_handler);
|
||||||
|
|
||||||
// Functions used by the error macros.
|
// Functions used by the error macros.
|
||||||
void _err_print_error(const char *p_function, const char *p_file, int p_line, const char *p_error, bool p_editor_notify = false, ErrorHandlerType p_type = ERR_HANDLER_ERROR);
|
void _err_print_error(const char *p_function, const char *p_file, int p_line, const char *p_error, bool p_editor_notify = false, ErrorHandlerType p_type = ERR_HANDLER_ERROR);
|
||||||
|
@ -112,7 +112,7 @@ public:
|
|||||||
static GDNativeInterface gdnative_interface;
|
static GDNativeInterface gdnative_interface;
|
||||||
|
|
||||||
void NativeExtension::_register_extension_class(const GDNativeExtensionClassLibraryPtr p_library, const char *p_class_name, const char *p_parent_class_name, const GDNativeExtensionClassCreationInfo *p_extension_funcs) {
|
void NativeExtension::_register_extension_class(const GDNativeExtensionClassLibraryPtr p_library, const char *p_class_name, const char *p_parent_class_name, const GDNativeExtensionClassCreationInfo *p_extension_funcs) {
|
||||||
NativeExtension *self = (NativeExtension *)p_library;
|
NativeExtension *self = static_cast<NativeExtension *>(p_library);
|
||||||
|
|
||||||
StringName class_name = p_class_name;
|
StringName class_name = p_class_name;
|
||||||
ERR_FAIL_COND_MSG(!String(class_name).is_valid_identifier(), "Attempt to register extension class '" + class_name + "', which is not a valid class identifier.");
|
ERR_FAIL_COND_MSG(!String(class_name).is_valid_identifier(), "Attempt to register extension class '" + class_name + "', which is not a valid class identifier.");
|
||||||
@ -163,7 +163,7 @@ void NativeExtension::_register_extension_class(const GDNativeExtensionClassLibr
|
|||||||
ClassDB::register_extension_class(&extension->native_extension);
|
ClassDB::register_extension_class(&extension->native_extension);
|
||||||
}
|
}
|
||||||
void NativeExtension::_register_extension_class_method(const GDNativeExtensionClassLibraryPtr p_library, const char *p_class_name, const GDNativeExtensionClassMethodInfo *p_method_info) {
|
void NativeExtension::_register_extension_class_method(const GDNativeExtensionClassLibraryPtr p_library, const char *p_class_name, const GDNativeExtensionClassMethodInfo *p_method_info) {
|
||||||
NativeExtension *self = (NativeExtension *)p_library;
|
NativeExtension *self = static_cast<NativeExtension *>(p_library);
|
||||||
|
|
||||||
StringName class_name = p_class_name;
|
StringName class_name = p_class_name;
|
||||||
StringName method_name = p_method_info->name;
|
StringName method_name = p_method_info->name;
|
||||||
@ -177,7 +177,7 @@ void NativeExtension::_register_extension_class_method(const GDNativeExtensionCl
|
|||||||
ClassDB::bind_method_custom(class_name, method);
|
ClassDB::bind_method_custom(class_name, method);
|
||||||
}
|
}
|
||||||
void NativeExtension::_register_extension_class_integer_constant(const GDNativeExtensionClassLibraryPtr p_library, const char *p_class_name, const char *p_enum_name, const char *p_constant_name, GDNativeInt p_constant_value) {
|
void NativeExtension::_register_extension_class_integer_constant(const GDNativeExtensionClassLibraryPtr p_library, const char *p_class_name, const char *p_enum_name, const char *p_constant_name, GDNativeInt p_constant_value) {
|
||||||
NativeExtension *self = (NativeExtension *)p_library;
|
NativeExtension *self = static_cast<NativeExtension *>(p_library);
|
||||||
|
|
||||||
StringName class_name = p_class_name;
|
StringName class_name = p_class_name;
|
||||||
ERR_FAIL_COND_MSG(!self->extension_classes.has(class_name), "Attempt to register extension constant '" + String(p_constant_name) + "' for unexisting class '" + class_name + "'.");
|
ERR_FAIL_COND_MSG(!self->extension_classes.has(class_name), "Attempt to register extension constant '" + String(p_constant_name) + "' for unexisting class '" + class_name + "'.");
|
||||||
@ -188,7 +188,7 @@ void NativeExtension::_register_extension_class_integer_constant(const GDNativeE
|
|||||||
}
|
}
|
||||||
|
|
||||||
void NativeExtension::_register_extension_class_property(const GDNativeExtensionClassLibraryPtr p_library, const char *p_class_name, const GDNativePropertyInfo *p_info, const char *p_setter, const char *p_getter) {
|
void NativeExtension::_register_extension_class_property(const GDNativeExtensionClassLibraryPtr p_library, const char *p_class_name, const GDNativePropertyInfo *p_info, const char *p_setter, const char *p_getter) {
|
||||||
NativeExtension *self = (NativeExtension *)p_library;
|
NativeExtension *self = static_cast<NativeExtension *>(p_library);
|
||||||
|
|
||||||
StringName class_name = p_class_name;
|
StringName class_name = p_class_name;
|
||||||
ERR_FAIL_COND_MSG(!self->extension_classes.has(class_name), "Attempt to register extension class property '" + String(p_info->name) + "' for unexisting class '" + class_name + "'.");
|
ERR_FAIL_COND_MSG(!self->extension_classes.has(class_name), "Attempt to register extension class property '" + String(p_info->name) + "' for unexisting class '" + class_name + "'.");
|
||||||
@ -206,7 +206,7 @@ void NativeExtension::_register_extension_class_property(const GDNativeExtension
|
|||||||
}
|
}
|
||||||
|
|
||||||
void NativeExtension::_register_extension_class_property_group(const GDNativeExtensionClassLibraryPtr p_library, const char *p_class_name, const char *p_group_name, const char *p_prefix) {
|
void NativeExtension::_register_extension_class_property_group(const GDNativeExtensionClassLibraryPtr p_library, const char *p_class_name, const char *p_group_name, const char *p_prefix) {
|
||||||
NativeExtension *self = (NativeExtension *)p_library;
|
NativeExtension *self = static_cast<NativeExtension *>(p_library);
|
||||||
|
|
||||||
StringName class_name = p_class_name;
|
StringName class_name = p_class_name;
|
||||||
ERR_FAIL_COND_MSG(!self->extension_classes.has(class_name), "Attempt to register extension class property group '" + String(p_group_name) + "' for unexisting class '" + class_name + "'.");
|
ERR_FAIL_COND_MSG(!self->extension_classes.has(class_name), "Attempt to register extension class property group '" + String(p_group_name) + "' for unexisting class '" + class_name + "'.");
|
||||||
@ -215,7 +215,7 @@ void NativeExtension::_register_extension_class_property_group(const GDNativeExt
|
|||||||
}
|
}
|
||||||
|
|
||||||
void NativeExtension::_register_extension_class_property_subgroup(const GDNativeExtensionClassLibraryPtr p_library, const char *p_class_name, const char *p_subgroup_name, const char *p_prefix) {
|
void NativeExtension::_register_extension_class_property_subgroup(const GDNativeExtensionClassLibraryPtr p_library, const char *p_class_name, const char *p_subgroup_name, const char *p_prefix) {
|
||||||
NativeExtension *self = (NativeExtension *)p_library;
|
NativeExtension *self = static_cast<NativeExtension *>(p_library);
|
||||||
|
|
||||||
StringName class_name = p_class_name;
|
StringName class_name = p_class_name;
|
||||||
ERR_FAIL_COND_MSG(!self->extension_classes.has(class_name), "Attempt to register extension class property subgroup '" + String(p_subgroup_name) + "' for unexisting class '" + class_name + "'.");
|
ERR_FAIL_COND_MSG(!self->extension_classes.has(class_name), "Attempt to register extension class property subgroup '" + String(p_subgroup_name) + "' for unexisting class '" + class_name + "'.");
|
||||||
@ -224,7 +224,7 @@ void NativeExtension::_register_extension_class_property_subgroup(const GDNative
|
|||||||
}
|
}
|
||||||
|
|
||||||
void NativeExtension::_register_extension_class_signal(const GDNativeExtensionClassLibraryPtr p_library, const char *p_class_name, const char *p_signal_name, const GDNativePropertyInfo *p_argument_info, GDNativeInt p_argument_count) {
|
void NativeExtension::_register_extension_class_signal(const GDNativeExtensionClassLibraryPtr p_library, const char *p_class_name, const char *p_signal_name, const GDNativePropertyInfo *p_argument_info, GDNativeInt p_argument_count) {
|
||||||
NativeExtension *self = (NativeExtension *)p_library;
|
NativeExtension *self = static_cast<NativeExtension *>(p_library);
|
||||||
|
|
||||||
StringName class_name = p_class_name;
|
StringName class_name = p_class_name;
|
||||||
ERR_FAIL_COND_MSG(!self->extension_classes.has(class_name), "Attempt to register extension class signal '" + String(p_signal_name) + "' for unexisting class '" + class_name + "'.");
|
ERR_FAIL_COND_MSG(!self->extension_classes.has(class_name), "Attempt to register extension class signal '" + String(p_signal_name) + "' for unexisting class '" + class_name + "'.");
|
||||||
@ -245,7 +245,7 @@ void NativeExtension::_register_extension_class_signal(const GDNativeExtensionCl
|
|||||||
}
|
}
|
||||||
|
|
||||||
void NativeExtension::_unregister_extension_class(const GDNativeExtensionClassLibraryPtr p_library, const char *p_class_name) {
|
void NativeExtension::_unregister_extension_class(const GDNativeExtensionClassLibraryPtr p_library, const char *p_class_name) {
|
||||||
NativeExtension *self = (NativeExtension *)p_library;
|
NativeExtension *self = static_cast<NativeExtension *>(p_library);
|
||||||
|
|
||||||
StringName class_name = p_class_name;
|
StringName class_name = p_class_name;
|
||||||
ERR_FAIL_COND_MSG(!self->extension_classes.has(class_name), "Attempt to unregister unexisting extension class '" + class_name + "'.");
|
ERR_FAIL_COND_MSG(!self->extension_classes.has(class_name), "Attempt to unregister unexisting extension class '" + class_name + "'.");
|
||||||
|
@ -772,6 +772,8 @@ void Input::action_press(const StringName &p_action, float p_strength) {
|
|||||||
action.process_frame = Engine::get_singleton()->get_process_frames();
|
action.process_frame = Engine::get_singleton()->get_process_frames();
|
||||||
action.pressed = true;
|
action.pressed = true;
|
||||||
action.strength = p_strength;
|
action.strength = p_strength;
|
||||||
|
action.raw_strength = p_strength;
|
||||||
|
action.exact = true;
|
||||||
|
|
||||||
action_state[p_action] = action;
|
action_state[p_action] = action;
|
||||||
}
|
}
|
||||||
@ -783,6 +785,8 @@ void Input::action_release(const StringName &p_action) {
|
|||||||
action.process_frame = Engine::get_singleton()->get_process_frames();
|
action.process_frame = Engine::get_singleton()->get_process_frames();
|
||||||
action.pressed = false;
|
action.pressed = false;
|
||||||
action.strength = 0.f;
|
action.strength = 0.f;
|
||||||
|
action.raw_strength = 0.f;
|
||||||
|
action.exact = true;
|
||||||
|
|
||||||
action_state[p_action] = action;
|
action_state[p_action] = action;
|
||||||
}
|
}
|
||||||
@ -1070,7 +1074,6 @@ void Input::_axis_event(int p_device, JoyAxis p_axis, float p_value) {
|
|||||||
|
|
||||||
Input::JoyEvent Input::_get_mapped_button_event(const JoyDeviceMapping &mapping, JoyButton p_button) {
|
Input::JoyEvent Input::_get_mapped_button_event(const JoyDeviceMapping &mapping, JoyButton p_button) {
|
||||||
JoyEvent event;
|
JoyEvent event;
|
||||||
event.type = TYPE_MAX;
|
|
||||||
|
|
||||||
for (int i = 0; i < mapping.bindings.size(); i++) {
|
for (int i = 0; i < mapping.bindings.size(); i++) {
|
||||||
const JoyBinding binding = mapping.bindings[i];
|
const JoyBinding binding = mapping.bindings[i];
|
||||||
@ -1106,7 +1109,6 @@ Input::JoyEvent Input::_get_mapped_button_event(const JoyDeviceMapping &mapping,
|
|||||||
|
|
||||||
Input::JoyEvent Input::_get_mapped_axis_event(const JoyDeviceMapping &mapping, JoyAxis p_axis, float p_value) {
|
Input::JoyEvent Input::_get_mapped_axis_event(const JoyDeviceMapping &mapping, JoyAxis p_axis, float p_value) {
|
||||||
JoyEvent event;
|
JoyEvent event;
|
||||||
event.type = TYPE_MAX;
|
|
||||||
|
|
||||||
for (int i = 0; i < mapping.bindings.size(); i++) {
|
for (int i = 0; i < mapping.bindings.size(); i++) {
|
||||||
const JoyBinding binding = mapping.bindings[i];
|
const JoyBinding binding = mapping.bindings[i];
|
||||||
|
@ -157,9 +157,9 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct JoyEvent {
|
struct JoyEvent {
|
||||||
int type;
|
int type = TYPE_MAX;
|
||||||
int index; // Can be either JoyAxis or JoyButton.
|
int index = -1; // Can be either JoyAxis or JoyButton.
|
||||||
float value;
|
float value = 0.f;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct JoyBinding {
|
struct JoyBinding {
|
||||||
|
@ -47,30 +47,30 @@ int InputEvent::get_device() const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool InputEvent::is_action(const StringName &p_action, bool p_exact_match) const {
|
bool InputEvent::is_action(const StringName &p_action, bool p_exact_match) const {
|
||||||
return InputMap::get_singleton()->event_is_action(Ref<InputEvent>((InputEvent *)this), p_action, p_exact_match);
|
return InputMap::get_singleton()->event_is_action(Ref<InputEvent>(const_cast<InputEvent *>(this)), p_action, p_exact_match);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool InputEvent::is_action_pressed(const StringName &p_action, bool p_allow_echo, bool p_exact_match) const {
|
bool InputEvent::is_action_pressed(const StringName &p_action, bool p_allow_echo, bool p_exact_match) const {
|
||||||
bool pressed;
|
bool pressed;
|
||||||
bool valid = InputMap::get_singleton()->event_get_action_status(Ref<InputEvent>((InputEvent *)this), p_action, p_exact_match, &pressed, nullptr, nullptr);
|
bool valid = InputMap::get_singleton()->event_get_action_status(Ref<InputEvent>(const_cast<InputEvent *>(this)), p_action, p_exact_match, &pressed, nullptr, nullptr);
|
||||||
return valid && pressed && (p_allow_echo || !is_echo());
|
return valid && pressed && (p_allow_echo || !is_echo());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool InputEvent::is_action_released(const StringName &p_action, bool p_exact_match) const {
|
bool InputEvent::is_action_released(const StringName &p_action, bool p_exact_match) const {
|
||||||
bool pressed;
|
bool pressed;
|
||||||
bool valid = InputMap::get_singleton()->event_get_action_status(Ref<InputEvent>((InputEvent *)this), p_action, p_exact_match, &pressed, nullptr, nullptr);
|
bool valid = InputMap::get_singleton()->event_get_action_status(Ref<InputEvent>(const_cast<InputEvent *>(this)), p_action, p_exact_match, &pressed, nullptr, nullptr);
|
||||||
return valid && !pressed;
|
return valid && !pressed;
|
||||||
}
|
}
|
||||||
|
|
||||||
float InputEvent::get_action_strength(const StringName &p_action, bool p_exact_match) const {
|
float InputEvent::get_action_strength(const StringName &p_action, bool p_exact_match) const {
|
||||||
float strength;
|
float strength;
|
||||||
bool valid = InputMap::get_singleton()->event_get_action_status(Ref<InputEvent>((InputEvent *)this), p_action, p_exact_match, nullptr, &strength, nullptr);
|
bool valid = InputMap::get_singleton()->event_get_action_status(Ref<InputEvent>(const_cast<InputEvent *>(this)), p_action, p_exact_match, nullptr, &strength, nullptr);
|
||||||
return valid ? strength : 0.0f;
|
return valid ? strength : 0.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
float InputEvent::get_action_raw_strength(const StringName &p_action, bool p_exact_match) const {
|
float InputEvent::get_action_raw_strength(const StringName &p_action, bool p_exact_match) const {
|
||||||
float raw_strength;
|
float raw_strength;
|
||||||
bool valid = InputMap::get_singleton()->event_get_action_status(Ref<InputEvent>((InputEvent *)this), p_action, p_exact_match, nullptr, nullptr, &raw_strength);
|
bool valid = InputMap::get_singleton()->event_get_action_status(Ref<InputEvent>(const_cast<InputEvent *>(this)), p_action, p_exact_match, nullptr, nullptr, &raw_strength);
|
||||||
return valid ? raw_strength : 0.0f;
|
return valid ? raw_strength : 0.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -83,7 +83,7 @@ bool InputEvent::is_echo() const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Ref<InputEvent> InputEvent::xformed_by(const Transform2D &p_xform, const Vector2 &p_local_ofs) const {
|
Ref<InputEvent> InputEvent::xformed_by(const Transform2D &p_xform, const Vector2 &p_local_ofs) const {
|
||||||
return Ref<InputEvent>((InputEvent *)this);
|
return Ref<InputEvent>(const_cast<InputEvent *>(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool InputEvent::action_match(const Ref<InputEvent> &p_event, bool p_exact_match, float p_deadzone, bool *r_pressed, float *r_strength, float *r_raw_strength) const {
|
bool InputEvent::action_match(const Ref<InputEvent> &p_event, bool p_exact_match, float p_deadzone, bool *r_pressed, float *r_strength, float *r_raw_strength) const {
|
||||||
|
@ -165,7 +165,7 @@ void FileAccessNetworkClient::_thread_func() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void FileAccessNetworkClient::_thread_func(void *s) {
|
void FileAccessNetworkClient::_thread_func(void *s) {
|
||||||
FileAccessNetworkClient *self = (FileAccessNetworkClient *)s;
|
FileAccessNetworkClient *self = static_cast<FileAccessNetworkClient *>(s);
|
||||||
|
|
||||||
self->_thread_func();
|
self->_thread_func();
|
||||||
}
|
}
|
||||||
|
@ -139,8 +139,8 @@ public:
|
|||||||
|
|
||||||
class PackedSourcePCK : public PackSource {
|
class PackedSourcePCK : public PackSource {
|
||||||
public:
|
public:
|
||||||
virtual bool try_open_pack(const String &p_path, bool p_replace_files, uint64_t p_offset);
|
virtual bool try_open_pack(const String &p_path, bool p_replace_files, uint64_t p_offset) override;
|
||||||
virtual FileAccess *get_file(const String &p_path, PackedData::PackedFile *p_file);
|
virtual FileAccess *get_file(const String &p_path, PackedData::PackedFile *p_file) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class FileAccessPack : public FileAccess {
|
class FileAccessPack : public FileAccess {
|
||||||
|
@ -67,8 +67,8 @@ public:
|
|||||||
|
|
||||||
bool file_exists(String p_name) const;
|
bool file_exists(String p_name) const;
|
||||||
|
|
||||||
virtual bool try_open_pack(const String &p_path, bool p_replace_files, uint64_t p_offset);
|
virtual bool try_open_pack(const String &p_path, bool p_replace_files, uint64_t p_offset) override;
|
||||||
FileAccess *get_file(const String &p_path, PackedData::PackedFile *p_file);
|
FileAccess *get_file(const String &p_path, PackedData::PackedFile *p_file) override;
|
||||||
|
|
||||||
static ZipArchive *get_singleton();
|
static ZipArchive *get_singleton();
|
||||||
|
|
||||||
|
@ -109,7 +109,7 @@ struct _IP_ResolverPrivate {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void _thread_function(void *self) {
|
static void _thread_function(void *self) {
|
||||||
_IP_ResolverPrivate *ipr = (_IP_ResolverPrivate *)self;
|
_IP_ResolverPrivate *ipr = static_cast<_IP_ResolverPrivate *>(self);
|
||||||
|
|
||||||
while (!ipr->thread_abort) {
|
while (!ipr->thread_abort) {
|
||||||
ipr->sem.wait();
|
ipr->sem.wait();
|
||||||
|
@ -105,7 +105,7 @@ Variant PackedDataContainer::_get_at_ofs(uint32_t p_ofs, const uint8_t *p_buf, b
|
|||||||
|
|
||||||
if (type == TYPE_ARRAY || type == TYPE_DICT) {
|
if (type == TYPE_ARRAY || type == TYPE_DICT) {
|
||||||
Ref<PackedDataContainerRef> pdcr = memnew(PackedDataContainerRef);
|
Ref<PackedDataContainerRef> pdcr = memnew(PackedDataContainerRef);
|
||||||
Ref<PackedDataContainer> pdc = Ref<PackedDataContainer>((PackedDataContainer *)this);
|
Ref<PackedDataContainer> pdc = Ref<PackedDataContainer>(const_cast<PackedDataContainer *>(this));
|
||||||
|
|
||||||
pdcr->from = pdc;
|
pdcr->from = pdc;
|
||||||
pdcr->offset = p_ofs;
|
pdcr->offset = p_ofs;
|
||||||
|
@ -98,7 +98,6 @@ RES TranslationLoaderPO::load_translation(FileAccess *f, Error *r_error) {
|
|||||||
{
|
{
|
||||||
Vector<uint8_t> data;
|
Vector<uint8_t> data;
|
||||||
f->seek(trans_table_offset + i * 8);
|
f->seek(trans_table_offset + i * 8);
|
||||||
uint32_t str_start = 0;
|
|
||||||
uint32_t str_len = f->get_32();
|
uint32_t str_len = f->get_32();
|
||||||
uint32_t str_offset = f->get_32();
|
uint32_t str_offset = f->get_32();
|
||||||
|
|
||||||
@ -116,6 +115,7 @@ RES TranslationLoaderPO::load_translation(FileAccess *f, Error *r_error) {
|
|||||||
translation->set_plural_rule(config.substr(p_start, p_end - p_start));
|
translation->set_plural_rule(config.substr(p_start, p_end - p_start));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
uint32_t str_start = 0;
|
||||||
Vector<String> plural_msg;
|
Vector<String> plural_msg;
|
||||||
for (uint32_t j = 0; j < str_len + 1; j++) {
|
for (uint32_t j = 0; j < str_len + 1; j++) {
|
||||||
if (data[j] == 0x00) {
|
if (data[j] == 0x00) {
|
||||||
|
@ -1002,7 +1002,7 @@ void Basis::rotate_sh(real_t *p_values) {
|
|||||||
const static real_t s_scale_dst2 = s_c3 * s_c_scale_inv;
|
const static real_t s_scale_dst2 = s_c3 * s_c_scale_inv;
|
||||||
const static real_t s_scale_dst4 = s_c5 * s_c_scale_inv;
|
const static real_t s_scale_dst4 = s_c5 * s_c_scale_inv;
|
||||||
|
|
||||||
real_t src[9] = { p_values[0], p_values[1], p_values[2], p_values[3], p_values[4], p_values[5], p_values[6], p_values[7], p_values[8] };
|
const real_t src[9] = { p_values[0], p_values[1], p_values[2], p_values[3], p_values[4], p_values[5], p_values[6], p_values[7], p_values[8] };
|
||||||
|
|
||||||
real_t m00 = elements[0][0];
|
real_t m00 = elements[0][0];
|
||||||
real_t m01 = elements[0][1];
|
real_t m01 = elements[0][1];
|
||||||
|
@ -208,7 +208,7 @@ bool Face3::intersects_aabb(const AABB &p_aabb) const {
|
|||||||
|
|
||||||
/** TEST ALL EDGES **/
|
/** TEST ALL EDGES **/
|
||||||
|
|
||||||
Vector3 edge_norms[3] = {
|
const Vector3 edge_norms[3] = {
|
||||||
vertex[0] - vertex[1],
|
vertex[0] - vertex[1],
|
||||||
vertex[1] - vertex[2],
|
vertex[1] - vertex[2],
|
||||||
vertex[2] - vertex[0],
|
vertex[2] - vertex[0],
|
||||||
|
@ -133,7 +133,7 @@ bool Face3::intersects_aabb2(const AABB &p_aabb) const {
|
|||||||
|
|
||||||
#undef TEST_AXIS
|
#undef TEST_AXIS
|
||||||
|
|
||||||
Vector3 edge_norms[3] = {
|
const Vector3 edge_norms[3] = {
|
||||||
vertex[0] - vertex[1],
|
vertex[0] - vertex[1],
|
||||||
vertex[1] - vertex[2],
|
vertex[1] - vertex[2],
|
||||||
vertex[2] - vertex[0],
|
vertex[2] - vertex[0],
|
||||||
|
@ -473,16 +473,16 @@ public:
|
|||||||
uint32_t x = ci.ui;
|
uint32_t x = ci.ui;
|
||||||
uint32_t sign = (unsigned short)(x >> 31);
|
uint32_t sign = (unsigned short)(x >> 31);
|
||||||
uint32_t mantissa;
|
uint32_t mantissa;
|
||||||
uint32_t exp;
|
uint32_t exponent;
|
||||||
uint16_t hf;
|
uint16_t hf;
|
||||||
|
|
||||||
// get mantissa
|
// get mantissa
|
||||||
mantissa = x & ((1 << 23) - 1);
|
mantissa = x & ((1 << 23) - 1);
|
||||||
// get exponent bits
|
// get exponent bits
|
||||||
exp = x & (0xFF << 23);
|
exponent = x & (0xFF << 23);
|
||||||
if (exp >= 0x47800000) {
|
if (exponent >= 0x47800000) {
|
||||||
// check if the original single precision float number is a NaN
|
// check if the original single precision float number is a NaN
|
||||||
if (mantissa && (exp == (0xFF << 23))) {
|
if (mantissa && (exponent == (0xFF << 23))) {
|
||||||
// we have a single precision NaN
|
// we have a single precision NaN
|
||||||
mantissa = (1 << 23) - 1;
|
mantissa = (1 << 23) - 1;
|
||||||
} else {
|
} else {
|
||||||
@ -493,17 +493,18 @@ public:
|
|||||||
(uint16_t)(mantissa >> 13);
|
(uint16_t)(mantissa >> 13);
|
||||||
}
|
}
|
||||||
// check if exponent is <= -15
|
// check if exponent is <= -15
|
||||||
else if (exp <= 0x38000000) {
|
else if (exponent <= 0x38000000) {
|
||||||
/*// store a denorm half-float value or zero
|
/*
|
||||||
exp = (0x38000000 - exp) >> 23;
|
// store a denorm half-float value or zero
|
||||||
mantissa >>= (14 + exp);
|
exponent = (0x38000000 - exponent) >> 23;
|
||||||
|
mantissa >>= (14 + exponent);
|
||||||
|
|
||||||
hf = (((uint16_t)sign) << 15) | (uint16_t)(mantissa);
|
hf = (((uint16_t)sign) << 15) | (uint16_t)(mantissa);
|
||||||
*/
|
*/
|
||||||
hf = 0; //denormals do not work for 3D, convert to zero
|
hf = 0; //denormals do not work for 3D, convert to zero
|
||||||
} else {
|
} else {
|
||||||
hf = (((uint16_t)sign) << 15) |
|
hf = (((uint16_t)sign) << 15) |
|
||||||
(uint16_t)((exp - 0x38000000) >> 13) |
|
(uint16_t)((exponent - 0x38000000) >> 13) |
|
||||||
(uint16_t)(mantissa >> 13);
|
(uint16_t)(mantissa >> 13);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -261,7 +261,7 @@ struct PtrToArg<Ref<T>> {
|
|||||||
typedef Ref<T> EncodeT;
|
typedef Ref<T> EncodeT;
|
||||||
|
|
||||||
_FORCE_INLINE_ static void encode(Ref<T> p_val, const void *p_ptr) {
|
_FORCE_INLINE_ static void encode(Ref<T> p_val, const void *p_ptr) {
|
||||||
*(Ref<RefCounted> *)p_ptr = p_val;
|
*(const_cast<Ref<RefCounted> *>(reinterpret_cast<const Ref<RefCounted> *>(p_ptr))) = p_val;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -144,7 +144,7 @@ void ScriptServer::register_language(ScriptLanguage *p_language) {
|
|||||||
_languages[_language_count++] = p_language;
|
_languages[_language_count++] = p_language;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ScriptServer::unregister_language(ScriptLanguage *p_language) {
|
void ScriptServer::unregister_language(const ScriptLanguage *p_language) {
|
||||||
for (int i = 0; i < _language_count; i++) {
|
for (int i = 0; i < _language_count; i++) {
|
||||||
if (_languages[i] == p_language) {
|
if (_languages[i] == p_language) {
|
||||||
_language_count--;
|
_language_count--;
|
||||||
|
@ -68,7 +68,7 @@ public:
|
|||||||
_FORCE_INLINE_ static int get_language_count() { return _language_count; }
|
_FORCE_INLINE_ static int get_language_count() { return _language_count; }
|
||||||
static ScriptLanguage *get_language(int p_idx);
|
static ScriptLanguage *get_language(int p_idx);
|
||||||
static void register_language(ScriptLanguage *p_language);
|
static void register_language(ScriptLanguage *p_language);
|
||||||
static void unregister_language(ScriptLanguage *p_language);
|
static void unregister_language(const ScriptLanguage *p_language);
|
||||||
|
|
||||||
static void set_reload_scripts_on_save(bool p_enable);
|
static void set_reload_scripts_on_save(bool p_enable);
|
||||||
static bool is_reload_scripts_on_save_enabled();
|
static bool is_reload_scripts_on_save_enabled();
|
||||||
@ -438,34 +438,34 @@ class PlaceHolderScriptInstance : public ScriptInstance {
|
|||||||
Ref<Script> script;
|
Ref<Script> script;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
virtual bool set(const StringName &p_name, const Variant &p_value);
|
virtual bool set(const StringName &p_name, const Variant &p_value) override;
|
||||||
virtual bool get(const StringName &p_name, Variant &r_ret) const;
|
virtual bool get(const StringName &p_name, Variant &r_ret) const override;
|
||||||
virtual void get_property_list(List<PropertyInfo> *p_properties) const;
|
virtual void get_property_list(List<PropertyInfo> *p_properties) const override;
|
||||||
virtual Variant::Type get_property_type(const StringName &p_name, bool *r_is_valid = nullptr) const;
|
virtual Variant::Type get_property_type(const StringName &p_name, bool *r_is_valid = nullptr) const override;
|
||||||
|
|
||||||
virtual void get_method_list(List<MethodInfo> *p_list) const;
|
virtual void get_method_list(List<MethodInfo> *p_list) const override;
|
||||||
virtual bool has_method(const StringName &p_method) const;
|
virtual bool has_method(const StringName &p_method) const override;
|
||||||
|
|
||||||
virtual Variant callp(const StringName &p_method, const Variant **p_args, int p_argcount, Callable::CallError &r_error) {
|
virtual Variant callp(const StringName &p_method, const Variant **p_args, int p_argcount, Callable::CallError &r_error) override {
|
||||||
r_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD;
|
r_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD;
|
||||||
return Variant();
|
return Variant();
|
||||||
}
|
}
|
||||||
virtual void notification(int p_notification) {}
|
virtual void notification(int p_notification) override {}
|
||||||
|
|
||||||
virtual Ref<Script> get_script() const { return script; }
|
virtual Ref<Script> get_script() const override { return script; }
|
||||||
|
|
||||||
virtual ScriptLanguage *get_language() { return language; }
|
virtual ScriptLanguage *get_language() override { return language; }
|
||||||
|
|
||||||
Object *get_owner() { return owner; }
|
Object *get_owner() override { return owner; }
|
||||||
|
|
||||||
void update(const List<PropertyInfo> &p_properties, const Map<StringName, Variant> &p_values); //likely changed in editor
|
void update(const List<PropertyInfo> &p_properties, const Map<StringName, Variant> &p_values); //likely changed in editor
|
||||||
|
|
||||||
virtual bool is_placeholder() const { return true; }
|
virtual bool is_placeholder() const override { return true; }
|
||||||
|
|
||||||
virtual void property_set_fallback(const StringName &p_name, const Variant &p_value, bool *r_valid = nullptr);
|
virtual void property_set_fallback(const StringName &p_name, const Variant &p_value, bool *r_valid = nullptr) override;
|
||||||
virtual Variant property_get_fallback(const StringName &p_name, bool *r_valid = nullptr);
|
virtual Variant property_get_fallback(const StringName &p_name, bool *r_valid = nullptr) override;
|
||||||
|
|
||||||
virtual const Vector<Multiplayer::RPCConfig> get_rpc_methods() const { return Vector<Multiplayer::RPCConfig>(); }
|
virtual const Vector<Multiplayer::RPCConfig> get_rpc_methods() const override { return Vector<Multiplayer::RPCConfig>(); }
|
||||||
|
|
||||||
PlaceHolderScriptInstance(ScriptLanguage *p_language, Ref<Script> p_script, Object *p_owner);
|
PlaceHolderScriptInstance(ScriptLanguage *p_language, Ref<Script> p_script, Object *p_owner);
|
||||||
~PlaceHolderScriptInstance();
|
~PlaceHolderScriptInstance();
|
||||||
|
@ -149,7 +149,7 @@ void PoolAllocator::compact_up(int p_from) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool PoolAllocator::find_entry_index(EntryIndicesPos *p_map_pos, Entry *p_entry) {
|
bool PoolAllocator::find_entry_index(EntryIndicesPos *p_map_pos, const Entry *p_entry) {
|
||||||
EntryArrayPos entry_pos = entry_max;
|
EntryArrayPos entry_pos = entry_max;
|
||||||
|
|
||||||
for (int i = 0; i < entry_count; i++) {
|
for (int i = 0; i < entry_count; i++) {
|
||||||
@ -424,7 +424,7 @@ bool PoolAllocator::is_locked(ID p_mem) const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
mt_lock();
|
mt_lock();
|
||||||
const Entry *e = ((PoolAllocator *)(this))->get_entry(p_mem);
|
const Entry *e = const_cast<PoolAllocator *>(this)->get_entry(p_mem);
|
||||||
if (!e) {
|
if (!e) {
|
||||||
mt_unlock();
|
mt_unlock();
|
||||||
ERR_PRINT("!e");
|
ERR_PRINT("!e");
|
||||||
|
@ -108,7 +108,7 @@ private:
|
|||||||
void compact_up(int p_from = 0);
|
void compact_up(int p_from = 0);
|
||||||
bool get_free_entry(EntryArrayPos *p_pos);
|
bool get_free_entry(EntryArrayPos *p_pos);
|
||||||
bool find_hole(EntryArrayPos *p_pos, int p_for_size);
|
bool find_hole(EntryArrayPos *p_pos, int p_for_size);
|
||||||
bool find_entry_index(EntryIndicesPos *p_map_pos, Entry *p_entry);
|
bool find_entry_index(EntryIndicesPos *p_map_pos, const Entry *p_entry);
|
||||||
Entry *get_entry(ID p_mem);
|
Entry *get_entry(ID p_mem);
|
||||||
const Entry *get_entry(ID p_mem) const;
|
const Entry *get_entry(ID p_mem) const;
|
||||||
|
|
||||||
|
@ -45,7 +45,7 @@ void add_print_handler(PrintHandlerList *p_handler) {
|
|||||||
_global_unlock();
|
_global_unlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
void remove_print_handler(PrintHandlerList *p_handler) {
|
void remove_print_handler(const PrintHandlerList *p_handler) {
|
||||||
_global_lock();
|
_global_lock();
|
||||||
|
|
||||||
PrintHandlerList *prev = nullptr;
|
PrintHandlerList *prev = nullptr;
|
||||||
|
@ -54,7 +54,7 @@ String stringify_variants(Variant p_var, Args... p_args) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void add_print_handler(PrintHandlerList *p_handler);
|
void add_print_handler(PrintHandlerList *p_handler);
|
||||||
void remove_print_handler(PrintHandlerList *p_handler);
|
void remove_print_handler(const PrintHandlerList *p_handler);
|
||||||
|
|
||||||
extern bool _print_line_enabled;
|
extern bool _print_line_enabled;
|
||||||
extern bool _print_error_enabled;
|
extern bool _print_error_enabled;
|
||||||
|
@ -891,7 +891,7 @@ String TranslationServer::wrap_with_fakebidi_characters(String &p_message) const
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
String TranslationServer::add_padding(String &p_message, int p_length) const {
|
String TranslationServer::add_padding(const String &p_message, int p_length) const {
|
||||||
String res;
|
String res;
|
||||||
String prefix = pseudolocalization_prefix;
|
String prefix = pseudolocalization_prefix;
|
||||||
String suffix;
|
String suffix;
|
||||||
@ -921,7 +921,7 @@ const char32_t *TranslationServer::get_accented_version(char32_t p_character) co
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool TranslationServer::is_placeholder(String &p_message, int p_index) const {
|
bool TranslationServer::is_placeholder(String &p_message, int p_index) const {
|
||||||
return p_message[p_index] == '%' && p_index < p_message.size() - 1 &&
|
return p_index < p_message.size() - 1 && p_message[p_index] == '%' &&
|
||||||
(p_message[p_index + 1] == 's' || p_message[p_index + 1] == 'c' || p_message[p_index + 1] == 'd' ||
|
(p_message[p_index + 1] == 's' || p_message[p_index + 1] == 'c' || p_message[p_index + 1] == 'd' ||
|
||||||
p_message[p_index + 1] == 'o' || p_message[p_index + 1] == 'x' || p_message[p_index + 1] == 'X' || p_message[p_index + 1] == 'f');
|
p_message[p_index + 1] == 'o' || p_message[p_index + 1] == 'x' || p_message[p_index + 1] == 'X' || p_message[p_index + 1] == 'f');
|
||||||
}
|
}
|
||||||
|
@ -96,7 +96,7 @@ class TranslationServer : public Object {
|
|||||||
String double_vowels(String &p_message) const;
|
String double_vowels(String &p_message) const;
|
||||||
String replace_with_accented_string(String &p_message) const;
|
String replace_with_accented_string(String &p_message) const;
|
||||||
String wrap_with_fakebidi_characters(String &p_message) const;
|
String wrap_with_fakebidi_characters(String &p_message) const;
|
||||||
String add_padding(String &p_message, int p_length) const;
|
String add_padding(const String &p_message, int p_length) const;
|
||||||
const char32_t *get_accented_version(char32_t p_character) const;
|
const char32_t *get_accented_version(char32_t p_character) const;
|
||||||
bool is_placeholder(String &p_message, int p_index) const;
|
bool is_placeholder(String &p_message, int p_index) const;
|
||||||
|
|
||||||
|
@ -215,7 +215,7 @@
|
|||||||
T *instance; \
|
T *instance; \
|
||||||
M method; \
|
M method; \
|
||||||
SEMIC_SEP_LIST(PARAM_DECL, N); \
|
SEMIC_SEP_LIST(PARAM_DECL, N); \
|
||||||
virtual void call() { \
|
virtual void call() override { \
|
||||||
(instance->*method)(COMMA_SEP_LIST(ARG, N)); \
|
(instance->*method)(COMMA_SEP_LIST(ARG, N)); \
|
||||||
} \
|
} \
|
||||||
};
|
};
|
||||||
@ -227,7 +227,7 @@
|
|||||||
T *instance; \
|
T *instance; \
|
||||||
M method; \
|
M method; \
|
||||||
SEMIC_SEP_LIST(PARAM_DECL, N); \
|
SEMIC_SEP_LIST(PARAM_DECL, N); \
|
||||||
virtual void call() { \
|
virtual void call() override { \
|
||||||
*ret = (instance->*method)(COMMA_SEP_LIST(ARG, N)); \
|
*ret = (instance->*method)(COMMA_SEP_LIST(ARG, N)); \
|
||||||
} \
|
} \
|
||||||
};
|
};
|
||||||
@ -238,7 +238,7 @@
|
|||||||
T *instance; \
|
T *instance; \
|
||||||
M method; \
|
M method; \
|
||||||
SEMIC_SEP_LIST(PARAM_DECL, N); \
|
SEMIC_SEP_LIST(PARAM_DECL, N); \
|
||||||
virtual void call() { \
|
virtual void call() override { \
|
||||||
(instance->*method)(COMMA_SEP_LIST(ARG, N)); \
|
(instance->*method)(COMMA_SEP_LIST(ARG, N)); \
|
||||||
} \
|
} \
|
||||||
};
|
};
|
||||||
@ -313,7 +313,7 @@ class CommandQueueMT {
|
|||||||
struct SyncCommand : public CommandBase {
|
struct SyncCommand : public CommandBase {
|
||||||
SyncSemaphore *sync_sem = nullptr;
|
SyncSemaphore *sync_sem = nullptr;
|
||||||
|
|
||||||
virtual void post() {
|
virtual void post() override {
|
||||||
sync_sem->sem.post();
|
sync_sem->sem.post();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -52,7 +52,7 @@ class ThreadWorkPool {
|
|||||||
C *instance;
|
C *instance;
|
||||||
M method;
|
M method;
|
||||||
U userdata;
|
U userdata;
|
||||||
virtual void work() {
|
virtual void work() override {
|
||||||
while (true) {
|
while (true) {
|
||||||
uint32_t work_index = index->fetch_add(1, std::memory_order_relaxed);
|
uint32_t work_index = index->fetch_add(1, std::memory_order_relaxed);
|
||||||
if (work_index >= max_elements) {
|
if (work_index >= max_elements) {
|
||||||
|
@ -40,8 +40,8 @@ String CallableCustomBind::get_as_text() const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool CallableCustomBind::_equal_func(const CallableCustom *p_a, const CallableCustom *p_b) {
|
bool CallableCustomBind::_equal_func(const CallableCustom *p_a, const CallableCustom *p_b) {
|
||||||
const CallableCustomBind *a = (const CallableCustomBind *)p_a;
|
const CallableCustomBind *a = static_cast<const CallableCustomBind *>(p_a);
|
||||||
const CallableCustomBind *b = (const CallableCustomBind *)p_b;
|
const CallableCustomBind *b = static_cast<const CallableCustomBind *>(p_b);
|
||||||
|
|
||||||
if (!(a->callable != b->callable)) {
|
if (!(a->callable != b->callable)) {
|
||||||
return false;
|
return false;
|
||||||
@ -55,8 +55,8 @@ bool CallableCustomBind::_equal_func(const CallableCustom *p_a, const CallableCu
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool CallableCustomBind::_less_func(const CallableCustom *p_a, const CallableCustom *p_b) {
|
bool CallableCustomBind::_less_func(const CallableCustom *p_a, const CallableCustom *p_b) {
|
||||||
const CallableCustomBind *a = (const CallableCustomBind *)p_a;
|
const CallableCustomBind *a = static_cast<const CallableCustomBind *>(p_a);
|
||||||
const CallableCustomBind *b = (const CallableCustomBind *)p_b;
|
const CallableCustomBind *b = static_cast<const CallableCustomBind *>(p_b);
|
||||||
|
|
||||||
if (a->callable < b->callable) {
|
if (a->callable < b->callable) {
|
||||||
return true;
|
return true;
|
||||||
@ -117,8 +117,8 @@ String CallableCustomUnbind::get_as_text() const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool CallableCustomUnbind::_equal_func(const CallableCustom *p_a, const CallableCustom *p_b) {
|
bool CallableCustomUnbind::_equal_func(const CallableCustom *p_a, const CallableCustom *p_b) {
|
||||||
const CallableCustomUnbind *a = (const CallableCustomUnbind *)p_a;
|
const CallableCustomUnbind *a = static_cast<const CallableCustomUnbind *>(p_a);
|
||||||
const CallableCustomUnbind *b = (const CallableCustomUnbind *)p_b;
|
const CallableCustomUnbind *b = static_cast<const CallableCustomUnbind *>(p_b);
|
||||||
|
|
||||||
if (!(a->callable != b->callable)) {
|
if (!(a->callable != b->callable)) {
|
||||||
return false;
|
return false;
|
||||||
@ -132,8 +132,8 @@ bool CallableCustomUnbind::_equal_func(const CallableCustom *p_a, const Callable
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool CallableCustomUnbind::_less_func(const CallableCustom *p_a, const CallableCustom *p_b) {
|
bool CallableCustomUnbind::_less_func(const CallableCustom *p_a, const CallableCustom *p_b) {
|
||||||
const CallableCustomUnbind *a = (const CallableCustomUnbind *)p_a;
|
const CallableCustomUnbind *a = static_cast<const CallableCustomUnbind *>(p_a);
|
||||||
const CallableCustomUnbind *b = (const CallableCustomUnbind *)p_b;
|
const CallableCustomUnbind *b = static_cast<const CallableCustomUnbind *>(p_b);
|
||||||
|
|
||||||
if (a->callable < b->callable) {
|
if (a->callable < b->callable) {
|
||||||
return true;
|
return true;
|
||||||
|
@ -43,14 +43,14 @@ class CallableCustomBind : public CallableCustom {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
//for every type that inherits, these must always be the same for this type
|
//for every type that inherits, these must always be the same for this type
|
||||||
virtual uint32_t hash() const;
|
virtual uint32_t hash() const override;
|
||||||
virtual String get_as_text() const;
|
virtual String get_as_text() const override;
|
||||||
virtual CompareEqualFunc get_compare_equal_func() const;
|
virtual CompareEqualFunc get_compare_equal_func() const override;
|
||||||
virtual CompareLessFunc get_compare_less_func() const;
|
virtual CompareLessFunc get_compare_less_func() const override;
|
||||||
virtual StringName get_method() const;
|
virtual StringName get_method() const override;
|
||||||
virtual ObjectID get_object() const; //must always be able to provide an object
|
virtual ObjectID get_object() const override; //must always be able to provide an object
|
||||||
virtual void call(const Variant **p_arguments, int p_argcount, Variant &r_return_value, Callable::CallError &r_call_error) const;
|
virtual void call(const Variant **p_arguments, int p_argcount, Variant &r_return_value, Callable::CallError &r_call_error) const override;
|
||||||
virtual const Callable *get_base_comparator() const;
|
virtual const Callable *get_base_comparator() const override;
|
||||||
|
|
||||||
Callable get_callable() { return callable; }
|
Callable get_callable() { return callable; }
|
||||||
Vector<Variant> get_binds() { return binds; }
|
Vector<Variant> get_binds() { return binds; }
|
||||||
@ -68,14 +68,14 @@ class CallableCustomUnbind : public CallableCustom {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
//for every type that inherits, these must always be the same for this type
|
//for every type that inherits, these must always be the same for this type
|
||||||
virtual uint32_t hash() const;
|
virtual uint32_t hash() const override;
|
||||||
virtual String get_as_text() const;
|
virtual String get_as_text() const override;
|
||||||
virtual CompareEqualFunc get_compare_equal_func() const;
|
virtual CompareEqualFunc get_compare_equal_func() const override;
|
||||||
virtual CompareLessFunc get_compare_less_func() const;
|
virtual CompareLessFunc get_compare_less_func() const override;
|
||||||
virtual StringName get_method() const;
|
virtual StringName get_method() const override;
|
||||||
virtual ObjectID get_object() const; //must always be able to provide an object
|
virtual ObjectID get_object() const override; //must always be able to provide an object
|
||||||
virtual void call(const Variant **p_arguments, int p_argcount, Variant &r_return_value, Callable::CallError &r_call_error) const;
|
virtual void call(const Variant **p_arguments, int p_argcount, Variant &r_return_value, Callable::CallError &r_call_error) const override;
|
||||||
virtual const Callable *get_base_comparator() const;
|
virtual const Callable *get_base_comparator() const override;
|
||||||
|
|
||||||
Callable get_callable() { return callable; }
|
Callable get_callable() { return callable; }
|
||||||
int get_unbinds() { return argcount; }
|
int get_unbinds() { return argcount; }
|
||||||
|
@ -51,9 +51,9 @@ public:
|
|||||||
struct StreamFile : public Stream {
|
struct StreamFile : public Stream {
|
||||||
FileAccess *f = nullptr;
|
FileAccess *f = nullptr;
|
||||||
|
|
||||||
virtual char32_t get_char();
|
virtual char32_t get_char() override;
|
||||||
virtual bool is_utf8() const;
|
virtual bool is_utf8() const override;
|
||||||
virtual bool is_eof() const;
|
virtual bool is_eof() const override;
|
||||||
|
|
||||||
StreamFile() {}
|
StreamFile() {}
|
||||||
};
|
};
|
||||||
@ -62,9 +62,9 @@ public:
|
|||||||
String s;
|
String s;
|
||||||
int pos = 0;
|
int pos = 0;
|
||||||
|
|
||||||
virtual char32_t get_char();
|
virtual char32_t get_char() override;
|
||||||
virtual bool is_utf8() const;
|
virtual bool is_utf8() const override;
|
||||||
virtual bool is_eof() const;
|
virtual bool is_eof() const override;
|
||||||
|
|
||||||
StreamString() {}
|
StreamString() {}
|
||||||
};
|
};
|
||||||
|
@ -470,20 +470,20 @@ struct VariantUtilityFunctions {
|
|||||||
r_error.argument = 1;
|
r_error.argument = 1;
|
||||||
return String();
|
return String();
|
||||||
}
|
}
|
||||||
String str;
|
String s;
|
||||||
for (int i = 0; i < p_arg_count; i++) {
|
for (int i = 0; i < p_arg_count; i++) {
|
||||||
String os = p_args[i]->operator String();
|
String os = p_args[i]->operator String();
|
||||||
|
|
||||||
if (i == 0) {
|
if (i == 0) {
|
||||||
str = os;
|
s = os;
|
||||||
} else {
|
} else {
|
||||||
str += os;
|
s += os;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
r_error.error = Callable::CallError::CALL_OK;
|
r_error.error = Callable::CallError::CALL_OK;
|
||||||
|
|
||||||
return str;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline String error_string(Error error) {
|
static inline String error_string(Error error) {
|
||||||
@ -495,98 +495,98 @@ struct VariantUtilityFunctions {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline void print(const Variant **p_args, int p_arg_count, Callable::CallError &r_error) {
|
static inline void print(const Variant **p_args, int p_arg_count, Callable::CallError &r_error) {
|
||||||
String str;
|
String s;
|
||||||
for (int i = 0; i < p_arg_count; i++) {
|
for (int i = 0; i < p_arg_count; i++) {
|
||||||
String os = p_args[i]->operator String();
|
String os = p_args[i]->operator String();
|
||||||
|
|
||||||
if (i == 0) {
|
if (i == 0) {
|
||||||
str = os;
|
s = os;
|
||||||
} else {
|
} else {
|
||||||
str += os;
|
s += os;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
print_line(str);
|
print_line(s);
|
||||||
r_error.error = Callable::CallError::CALL_OK;
|
r_error.error = Callable::CallError::CALL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void print_verbose(const Variant **p_args, int p_arg_count, Callable::CallError &r_error) {
|
static inline void print_verbose(const Variant **p_args, int p_arg_count, Callable::CallError &r_error) {
|
||||||
if (OS::get_singleton()->is_stdout_verbose()) {
|
if (OS::get_singleton()->is_stdout_verbose()) {
|
||||||
String str;
|
String s;
|
||||||
for (int i = 0; i < p_arg_count; i++) {
|
for (int i = 0; i < p_arg_count; i++) {
|
||||||
String os = p_args[i]->operator String();
|
String os = p_args[i]->operator String();
|
||||||
|
|
||||||
if (i == 0) {
|
if (i == 0) {
|
||||||
str = os;
|
s = os;
|
||||||
} else {
|
} else {
|
||||||
str += os;
|
s += os;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// No need to use `print_verbose()` as this call already only happens
|
// No need to use `print_verbose()` as this call already only happens
|
||||||
// when verbose mode is enabled. This avoids performing string argument concatenation
|
// when verbose mode is enabled. This avoids performing string argument concatenation
|
||||||
// when not needed.
|
// when not needed.
|
||||||
print_line(str);
|
print_line(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
r_error.error = Callable::CallError::CALL_OK;
|
r_error.error = Callable::CallError::CALL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void printerr(const Variant **p_args, int p_arg_count, Callable::CallError &r_error) {
|
static inline void printerr(const Variant **p_args, int p_arg_count, Callable::CallError &r_error) {
|
||||||
String str;
|
String s;
|
||||||
for (int i = 0; i < p_arg_count; i++) {
|
for (int i = 0; i < p_arg_count; i++) {
|
||||||
String os = p_args[i]->operator String();
|
String os = p_args[i]->operator String();
|
||||||
|
|
||||||
if (i == 0) {
|
if (i == 0) {
|
||||||
str = os;
|
s = os;
|
||||||
} else {
|
} else {
|
||||||
str += os;
|
s += os;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
print_error(str);
|
print_error(s);
|
||||||
r_error.error = Callable::CallError::CALL_OK;
|
r_error.error = Callable::CallError::CALL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void printt(const Variant **p_args, int p_arg_count, Callable::CallError &r_error) {
|
static inline void printt(const Variant **p_args, int p_arg_count, Callable::CallError &r_error) {
|
||||||
String str;
|
String s;
|
||||||
for (int i = 0; i < p_arg_count; i++) {
|
for (int i = 0; i < p_arg_count; i++) {
|
||||||
if (i) {
|
if (i) {
|
||||||
str += "\t";
|
s += "\t";
|
||||||
}
|
}
|
||||||
str += p_args[i]->operator String();
|
s += p_args[i]->operator String();
|
||||||
}
|
}
|
||||||
|
|
||||||
print_line(str);
|
print_line(s);
|
||||||
r_error.error = Callable::CallError::CALL_OK;
|
r_error.error = Callable::CallError::CALL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void prints(const Variant **p_args, int p_arg_count, Callable::CallError &r_error) {
|
static inline void prints(const Variant **p_args, int p_arg_count, Callable::CallError &r_error) {
|
||||||
String str;
|
String s;
|
||||||
for (int i = 0; i < p_arg_count; i++) {
|
for (int i = 0; i < p_arg_count; i++) {
|
||||||
if (i) {
|
if (i) {
|
||||||
str += " ";
|
s += " ";
|
||||||
}
|
}
|
||||||
str += p_args[i]->operator String();
|
s += p_args[i]->operator String();
|
||||||
}
|
}
|
||||||
|
|
||||||
print_line(str);
|
print_line(s);
|
||||||
r_error.error = Callable::CallError::CALL_OK;
|
r_error.error = Callable::CallError::CALL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void printraw(const Variant **p_args, int p_arg_count, Callable::CallError &r_error) {
|
static inline void printraw(const Variant **p_args, int p_arg_count, Callable::CallError &r_error) {
|
||||||
String str;
|
String s;
|
||||||
for (int i = 0; i < p_arg_count; i++) {
|
for (int i = 0; i < p_arg_count; i++) {
|
||||||
String os = p_args[i]->operator String();
|
String os = p_args[i]->operator String();
|
||||||
|
|
||||||
if (i == 0) {
|
if (i == 0) {
|
||||||
str = os;
|
s = os;
|
||||||
} else {
|
} else {
|
||||||
str += os;
|
s += os;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
OS::get_singleton()->print("%s", str.utf8().get_data());
|
OS::get_singleton()->print("%s", s.utf8().get_data());
|
||||||
r_error.error = Callable::CallError::CALL_OK;
|
r_error.error = Callable::CallError::CALL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -595,18 +595,18 @@ struct VariantUtilityFunctions {
|
|||||||
r_error.error = Callable::CallError::CALL_ERROR_TOO_FEW_ARGUMENTS;
|
r_error.error = Callable::CallError::CALL_ERROR_TOO_FEW_ARGUMENTS;
|
||||||
r_error.argument = 1;
|
r_error.argument = 1;
|
||||||
}
|
}
|
||||||
String str;
|
String s;
|
||||||
for (int i = 0; i < p_arg_count; i++) {
|
for (int i = 0; i < p_arg_count; i++) {
|
||||||
String os = p_args[i]->operator String();
|
String os = p_args[i]->operator String();
|
||||||
|
|
||||||
if (i == 0) {
|
if (i == 0) {
|
||||||
str = os;
|
s = os;
|
||||||
} else {
|
} else {
|
||||||
str += os;
|
s += os;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ERR_PRINT(str);
|
ERR_PRINT(s);
|
||||||
r_error.error = Callable::CallError::CALL_OK;
|
r_error.error = Callable::CallError::CALL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -615,18 +615,18 @@ struct VariantUtilityFunctions {
|
|||||||
r_error.error = Callable::CallError::CALL_ERROR_TOO_FEW_ARGUMENTS;
|
r_error.error = Callable::CallError::CALL_ERROR_TOO_FEW_ARGUMENTS;
|
||||||
r_error.argument = 1;
|
r_error.argument = 1;
|
||||||
}
|
}
|
||||||
String str;
|
String s;
|
||||||
for (int i = 0; i < p_arg_count; i++) {
|
for (int i = 0; i < p_arg_count; i++) {
|
||||||
String os = p_args[i]->operator String();
|
String os = p_args[i]->operator String();
|
||||||
|
|
||||||
if (i == 0) {
|
if (i == 0) {
|
||||||
str = os;
|
s = os;
|
||||||
} else {
|
} else {
|
||||||
str += os;
|
s += os;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
WARN_PRINT(str);
|
WARN_PRINT(s);
|
||||||
r_error.error = Callable::CallError::CALL_OK;
|
r_error.error = Callable::CallError::CALL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -181,7 +181,7 @@ Error AudioDriverALSA::init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void AudioDriverALSA::thread_func(void *p_udata) {
|
void AudioDriverALSA::thread_func(void *p_udata) {
|
||||||
AudioDriverALSA *ad = (AudioDriverALSA *)p_udata;
|
AudioDriverALSA *ad = static_cast<AudioDriverALSA *>(p_udata);
|
||||||
|
|
||||||
while (!ad->exit_thread) {
|
while (!ad->exit_thread) {
|
||||||
ad->lock();
|
ad->lock();
|
||||||
|
@ -73,7 +73,7 @@ static int get_message_size(uint8_t message) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void MIDIDriverALSAMidi::thread_func(void *p_udata) {
|
void MIDIDriverALSAMidi::thread_func(void *p_udata) {
|
||||||
MIDIDriverALSAMidi *md = (MIDIDriverALSAMidi *)p_udata;
|
MIDIDriverALSAMidi *md = static_cast<MIDIDriverALSAMidi *>(p_udata);
|
||||||
uint64_t timestamp = 0;
|
uint64_t timestamp = 0;
|
||||||
uint8_t buffer[256];
|
uint8_t buffer[256];
|
||||||
int expected_size = 255;
|
int expected_size = 255;
|
||||||
|
@ -42,7 +42,7 @@
|
|||||||
OSStatus AudioDriverCoreAudio::input_device_address_cb(AudioObjectID inObjectID,
|
OSStatus AudioDriverCoreAudio::input_device_address_cb(AudioObjectID inObjectID,
|
||||||
UInt32 inNumberAddresses, const AudioObjectPropertyAddress *inAddresses,
|
UInt32 inNumberAddresses, const AudioObjectPropertyAddress *inAddresses,
|
||||||
void *inClientData) {
|
void *inClientData) {
|
||||||
AudioDriverCoreAudio *driver = (AudioDriverCoreAudio *)inClientData;
|
AudioDriverCoreAudio *driver = static_cast<AudioDriverCoreAudio *>(inClientData);
|
||||||
|
|
||||||
// If our selected device is the Default call set_device to update the
|
// If our selected device is the Default call set_device to update the
|
||||||
// kAudioOutputUnitProperty_CurrentDevice property
|
// kAudioOutputUnitProperty_CurrentDevice property
|
||||||
@ -56,7 +56,7 @@ OSStatus AudioDriverCoreAudio::input_device_address_cb(AudioObjectID inObjectID,
|
|||||||
OSStatus AudioDriverCoreAudio::output_device_address_cb(AudioObjectID inObjectID,
|
OSStatus AudioDriverCoreAudio::output_device_address_cb(AudioObjectID inObjectID,
|
||||||
UInt32 inNumberAddresses, const AudioObjectPropertyAddress *inAddresses,
|
UInt32 inNumberAddresses, const AudioObjectPropertyAddress *inAddresses,
|
||||||
void *inClientData) {
|
void *inClientData) {
|
||||||
AudioDriverCoreAudio *driver = (AudioDriverCoreAudio *)inClientData;
|
AudioDriverCoreAudio *driver = static_cast<AudioDriverCoreAudio *>(inClientData);
|
||||||
|
|
||||||
// If our selected device is the Default call set_device to update the
|
// If our selected device is the Default call set_device to update the
|
||||||
// kAudioOutputUnitProperty_CurrentDevice property
|
// kAudioOutputUnitProperty_CurrentDevice property
|
||||||
@ -168,7 +168,7 @@ OSStatus AudioDriverCoreAudio::output_callback(void *inRefCon,
|
|||||||
const AudioTimeStamp *inTimeStamp,
|
const AudioTimeStamp *inTimeStamp,
|
||||||
UInt32 inBusNumber, UInt32 inNumberFrames,
|
UInt32 inBusNumber, UInt32 inNumberFrames,
|
||||||
AudioBufferList *ioData) {
|
AudioBufferList *ioData) {
|
||||||
AudioDriverCoreAudio *ad = (AudioDriverCoreAudio *)inRefCon;
|
AudioDriverCoreAudio *ad = static_cast<AudioDriverCoreAudio *>(inRefCon);
|
||||||
|
|
||||||
if (!ad->active || !ad->try_lock()) {
|
if (!ad->active || !ad->try_lock()) {
|
||||||
for (unsigned int i = 0; i < ioData->mNumberBuffers; i++) {
|
for (unsigned int i = 0; i < ioData->mNumberBuffers; i++) {
|
||||||
@ -209,7 +209,7 @@ OSStatus AudioDriverCoreAudio::input_callback(void *inRefCon,
|
|||||||
const AudioTimeStamp *inTimeStamp,
|
const AudioTimeStamp *inTimeStamp,
|
||||||
UInt32 inBusNumber, UInt32 inNumberFrames,
|
UInt32 inBusNumber, UInt32 inNumberFrames,
|
||||||
AudioBufferList *ioData) {
|
AudioBufferList *ioData) {
|
||||||
AudioDriverCoreAudio *ad = (AudioDriverCoreAudio *)inRefCon;
|
AudioDriverCoreAudio *ad = static_cast<AudioDriverCoreAudio *>(inRefCon);
|
||||||
if (!ad->active) {
|
if (!ad->active) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -363,7 +363,6 @@ void RasterizerCanvasGLES3::_render_item(RID p_render_target, const Item *p_item
|
|||||||
state.instance_data_array[r_index].dst_rect[i] = 0.0;
|
state.instance_data_array[r_index].dst_rect[i] = 0.0;
|
||||||
state.instance_data_array[r_index].lights[i] = uint32_t(0);
|
state.instance_data_array[r_index].lights[i] = uint32_t(0);
|
||||||
}
|
}
|
||||||
state.instance_data_array[r_index].flags = base_flags;
|
|
||||||
state.instance_data_array[r_index].color_texture_pixel_size[0] = 0.0;
|
state.instance_data_array[r_index].color_texture_pixel_size[0] = 0.0;
|
||||||
state.instance_data_array[r_index].color_texture_pixel_size[1] = 0.0;
|
state.instance_data_array[r_index].color_texture_pixel_size[1] = 0.0;
|
||||||
|
|
||||||
|
@ -554,11 +554,9 @@ void ShaderGLES3::_clear_version(Version *p_version) {
|
|||||||
|
|
||||||
for (int i = 0; i < variant_count; i++) {
|
for (int i = 0; i < variant_count; i++) {
|
||||||
for (OAHashMap<uint64_t, Version::Specialization>::Iterator it = p_version->variants[i].iter(); it.valid; it = p_version->variants[i].next_iter(it)) {
|
for (OAHashMap<uint64_t, Version::Specialization>::Iterator it = p_version->variants[i].iter(); it.valid; it = p_version->variants[i].next_iter(it)) {
|
||||||
if (it.valid) {
|
glDeleteShader(it.value->vert_id);
|
||||||
glDeleteShader(it.value->vert_id);
|
glDeleteShader(it.value->frag_id);
|
||||||
glDeleteShader(it.value->frag_id);
|
glDeleteProgram(it.value->id);
|
||||||
glDeleteProgram(it.value->id);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -576,10 +576,10 @@ void MaterialStorage::_update_material(Material *p_material) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
bool can_cast_shadow = false;
|
|
||||||
bool is_animated = false;
|
|
||||||
|
|
||||||
if (p_material->shader && p_material->shader->mode == RS::SHADER_SPATIAL) {
|
if (p_material->shader && p_material->shader->mode == RS::SHADER_SPATIAL) {
|
||||||
|
bool can_cast_shadow = false;
|
||||||
|
bool is_animated = false;
|
||||||
|
|
||||||
if (p_material->shader->spatial.blend_mode == Shader::Spatial::BLEND_MODE_MIX &&
|
if (p_material->shader->spatial.blend_mode == Shader::Spatial::BLEND_MODE_MIX &&
|
||||||
(!p_material->shader->spatial.uses_alpha || p_material->shader->spatial.depth_draw_mode == Shader::Spatial::DEPTH_DRAW_ALPHA_PREPASS)) {
|
(!p_material->shader->spatial.uses_alpha || p_material->shader->spatial.depth_draw_mode == Shader::Spatial::DEPTH_DRAW_ALPHA_PREPASS)) {
|
||||||
can_cast_shadow = true;
|
can_cast_shadow = true;
|
||||||
|
@ -41,7 +41,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
void AudioDriverPulseAudio::pa_state_cb(pa_context *c, void *userdata) {
|
void AudioDriverPulseAudio::pa_state_cb(pa_context *c, void *userdata) {
|
||||||
AudioDriverPulseAudio *ad = (AudioDriverPulseAudio *)userdata;
|
AudioDriverPulseAudio *ad = static_cast<AudioDriverPulseAudio *>(userdata);
|
||||||
|
|
||||||
switch (pa_context_get_state(c)) {
|
switch (pa_context_get_state(c)) {
|
||||||
case PA_CONTEXT_TERMINATED:
|
case PA_CONTEXT_TERMINATED:
|
||||||
@ -65,7 +65,7 @@ void AudioDriverPulseAudio::pa_state_cb(pa_context *c, void *userdata) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void AudioDriverPulseAudio::pa_sink_info_cb(pa_context *c, const pa_sink_info *l, int eol, void *userdata) {
|
void AudioDriverPulseAudio::pa_sink_info_cb(pa_context *c, const pa_sink_info *l, int eol, void *userdata) {
|
||||||
AudioDriverPulseAudio *ad = (AudioDriverPulseAudio *)userdata;
|
AudioDriverPulseAudio *ad = static_cast<AudioDriverPulseAudio *>(userdata);
|
||||||
|
|
||||||
// If eol is set to a positive number, you're at the end of the list
|
// If eol is set to a positive number, you're at the end of the list
|
||||||
if (eol > 0) {
|
if (eol > 0) {
|
||||||
@ -84,7 +84,7 @@ void AudioDriverPulseAudio::pa_sink_info_cb(pa_context *c, const pa_sink_info *l
|
|||||||
}
|
}
|
||||||
|
|
||||||
void AudioDriverPulseAudio::pa_source_info_cb(pa_context *c, const pa_source_info *l, int eol, void *userdata) {
|
void AudioDriverPulseAudio::pa_source_info_cb(pa_context *c, const pa_source_info *l, int eol, void *userdata) {
|
||||||
AudioDriverPulseAudio *ad = (AudioDriverPulseAudio *)userdata;
|
AudioDriverPulseAudio *ad = static_cast<AudioDriverPulseAudio *>(userdata);
|
||||||
|
|
||||||
// If eol is set to a positive number, you're at the end of the list
|
// If eol is set to a positive number, you're at the end of the list
|
||||||
if (eol > 0) {
|
if (eol > 0) {
|
||||||
@ -104,7 +104,7 @@ void AudioDriverPulseAudio::pa_source_info_cb(pa_context *c, const pa_source_inf
|
|||||||
|
|
||||||
void AudioDriverPulseAudio::pa_server_info_cb(pa_context *c, const pa_server_info *i, void *userdata) {
|
void AudioDriverPulseAudio::pa_server_info_cb(pa_context *c, const pa_server_info *i, void *userdata) {
|
||||||
ERR_FAIL_COND_MSG(!i, "PulseAudio server info is null.");
|
ERR_FAIL_COND_MSG(!i, "PulseAudio server info is null.");
|
||||||
AudioDriverPulseAudio *ad = (AudioDriverPulseAudio *)userdata;
|
AudioDriverPulseAudio *ad = static_cast<AudioDriverPulseAudio *>(userdata);
|
||||||
|
|
||||||
ad->capture_default_device = i->default_source_name;
|
ad->capture_default_device = i->default_source_name;
|
||||||
ad->default_device = i->default_sink_name;
|
ad->default_device = i->default_sink_name;
|
||||||
@ -588,7 +588,7 @@ AudioDriver::SpeakerMode AudioDriverPulseAudio::get_speaker_mode() const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void AudioDriverPulseAudio::pa_sinklist_cb(pa_context *c, const pa_sink_info *l, int eol, void *userdata) {
|
void AudioDriverPulseAudio::pa_sinklist_cb(pa_context *c, const pa_sink_info *l, int eol, void *userdata) {
|
||||||
AudioDriverPulseAudio *ad = (AudioDriverPulseAudio *)userdata;
|
AudioDriverPulseAudio *ad = static_cast<AudioDriverPulseAudio *>(userdata);
|
||||||
|
|
||||||
// If eol is set to a positive number, you're at the end of the list
|
// If eol is set to a positive number, you're at the end of the list
|
||||||
if (eol > 0) {
|
if (eol > 0) {
|
||||||
@ -771,7 +771,7 @@ void AudioDriverPulseAudio::capture_set_device(const String &p_name) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void AudioDriverPulseAudio::pa_sourcelist_cb(pa_context *c, const pa_source_info *l, int eol, void *userdata) {
|
void AudioDriverPulseAudio::pa_sourcelist_cb(pa_context *c, const pa_source_info *l, int eol, void *userdata) {
|
||||||
AudioDriverPulseAudio *ad = (AudioDriverPulseAudio *)userdata;
|
AudioDriverPulseAudio *ad = static_cast<AudioDriverPulseAudio *>(userdata);
|
||||||
|
|
||||||
// If eol is set to a positive number, you're at the end of the list
|
// If eol is set to a positive number, you're at the end of the list
|
||||||
if (eol > 0) {
|
if (eol > 0) {
|
||||||
|
@ -1484,7 +1484,7 @@ Error RenderingDeviceVulkan::_staging_buffer_allocate(uint32_t p_amount, uint32_
|
|||||||
//this is an old block, which was already processed, let's reuse
|
//this is an old block, which was already processed, let's reuse
|
||||||
staging_buffer_blocks.write[staging_buffer_current].frame_used = frames_drawn;
|
staging_buffer_blocks.write[staging_buffer_current].frame_used = frames_drawn;
|
||||||
staging_buffer_blocks.write[staging_buffer_current].fill_amount = 0;
|
staging_buffer_blocks.write[staging_buffer_current].fill_amount = 0;
|
||||||
} else if (staging_buffer_blocks[staging_buffer_current].frame_used > frames_drawn - frame_count) {
|
} else {
|
||||||
//this block may still be in use, let's not touch it unless we have to, so.. can we create a new one?
|
//this block may still be in use, let's not touch it unless we have to, so.. can we create a new one?
|
||||||
if ((uint64_t)staging_buffer_blocks.size() * staging_buffer_block_size < staging_buffer_max_size) {
|
if ((uint64_t)staging_buffer_blocks.size() * staging_buffer_block_size < staging_buffer_max_size) {
|
||||||
//we are still allowed to create a new block, so let's do that and insert it for current pos
|
//we are still allowed to create a new block, so let's do that and insert it for current pos
|
||||||
@ -4965,8 +4965,8 @@ Vector<uint8_t> RenderingDeviceVulkan::shader_compile_binary_from_spirv(const Ve
|
|||||||
|
|
||||||
Vector<uint8_t> ret;
|
Vector<uint8_t> ret;
|
||||||
ret.resize(total_size);
|
ret.resize(total_size);
|
||||||
uint32_t offset = 0;
|
|
||||||
{
|
{
|
||||||
|
uint32_t offset = 0;
|
||||||
uint8_t *binptr = ret.ptrw();
|
uint8_t *binptr = ret.ptrw();
|
||||||
binptr[0] = 'G';
|
binptr[0] = 'G';
|
||||||
binptr[1] = 'V';
|
binptr[1] = 'V';
|
||||||
@ -5039,7 +5039,7 @@ RID RenderingDeviceVulkan::shader_create_from_bytecode(const Vector<uint8_t> &p_
|
|||||||
|
|
||||||
uint32_t bin_data_size = decode_uint32(binptr + 8);
|
uint32_t bin_data_size = decode_uint32(binptr + 8);
|
||||||
|
|
||||||
const RenderingDeviceVulkanShaderBinaryData &binary_data = *(const RenderingDeviceVulkanShaderBinaryData *)(binptr + 12);
|
const RenderingDeviceVulkanShaderBinaryData &binary_data = *(reinterpret_cast<const RenderingDeviceVulkanShaderBinaryData *>(binptr + 12));
|
||||||
|
|
||||||
Shader::PushConstant push_constant;
|
Shader::PushConstant push_constant;
|
||||||
push_constant.push_constant_size = binary_data.push_constant_size;
|
push_constant.push_constant_size = binary_data.push_constant_size;
|
||||||
@ -5051,7 +5051,7 @@ RID RenderingDeviceVulkan::shader_create_from_bytecode(const Vector<uint8_t> &p_
|
|||||||
|
|
||||||
bool is_compute = binary_data.is_compute;
|
bool is_compute = binary_data.is_compute;
|
||||||
|
|
||||||
uint32_t compute_local_size[3] = { binary_data.compute_local_size[0], binary_data.compute_local_size[1], binary_data.compute_local_size[2] };
|
const uint32_t compute_local_size[3] = { binary_data.compute_local_size[0], binary_data.compute_local_size[1], binary_data.compute_local_size[2] };
|
||||||
|
|
||||||
read_offset += sizeof(uint32_t) * 3 + bin_data_size;
|
read_offset += sizeof(uint32_t) * 3 + bin_data_size;
|
||||||
|
|
||||||
@ -5075,7 +5075,7 @@ RID RenderingDeviceVulkan::shader_create_from_bytecode(const Vector<uint8_t> &p_
|
|||||||
ERR_FAIL_COND_V(read_offset + sizeof(uint32_t) >= binsize, RID());
|
ERR_FAIL_COND_V(read_offset + sizeof(uint32_t) >= binsize, RID());
|
||||||
uint32_t set_count = decode_uint32(binptr + read_offset);
|
uint32_t set_count = decode_uint32(binptr + read_offset);
|
||||||
read_offset += sizeof(uint32_t);
|
read_offset += sizeof(uint32_t);
|
||||||
const RenderingDeviceVulkanShaderBinaryDataBinding *set_ptr = (const RenderingDeviceVulkanShaderBinaryDataBinding *)(binptr + read_offset);
|
const RenderingDeviceVulkanShaderBinaryDataBinding *set_ptr = reinterpret_cast<const RenderingDeviceVulkanShaderBinaryDataBinding *>(binptr + read_offset);
|
||||||
uint32_t set_size = set_count * sizeof(RenderingDeviceVulkanShaderBinaryDataBinding);
|
uint32_t set_size = set_count * sizeof(RenderingDeviceVulkanShaderBinaryDataBinding);
|
||||||
ERR_FAIL_COND_V(read_offset + set_size >= binsize, RID());
|
ERR_FAIL_COND_V(read_offset + set_size >= binsize, RID());
|
||||||
|
|
||||||
@ -5147,7 +5147,7 @@ RID RenderingDeviceVulkan::shader_create_from_bytecode(const Vector<uint8_t> &p_
|
|||||||
Vector<Shader::SpecializationConstant> specialization_constants;
|
Vector<Shader::SpecializationConstant> specialization_constants;
|
||||||
|
|
||||||
for (uint32_t i = 0; i < binary_data.specialization_constant_count; i++) {
|
for (uint32_t i = 0; i < binary_data.specialization_constant_count; i++) {
|
||||||
const RenderingDeviceVulkanShaderBinarySpecializationConstant &src_sc = *(const RenderingDeviceVulkanShaderBinarySpecializationConstant *)(binptr + read_offset);
|
const RenderingDeviceVulkanShaderBinarySpecializationConstant &src_sc = *(reinterpret_cast<const RenderingDeviceVulkanShaderBinarySpecializationConstant *>(binptr + read_offset));
|
||||||
Shader::SpecializationConstant sc;
|
Shader::SpecializationConstant sc;
|
||||||
sc.constant.int_value = src_sc.int_value;
|
sc.constant.int_value = src_sc.int_value;
|
||||||
sc.constant.type = PipelineSpecializationConstantType(src_sc.type);
|
sc.constant.type = PipelineSpecializationConstantType(src_sc.type);
|
||||||
@ -6334,7 +6334,7 @@ RID RenderingDeviceVulkan::render_pipeline_create(RID p_shader, FramebufferForma
|
|||||||
rasterization_state_create_info.depthClampEnable = p_rasterization_state.enable_depth_clamp;
|
rasterization_state_create_info.depthClampEnable = p_rasterization_state.enable_depth_clamp;
|
||||||
rasterization_state_create_info.rasterizerDiscardEnable = p_rasterization_state.discard_primitives;
|
rasterization_state_create_info.rasterizerDiscardEnable = p_rasterization_state.discard_primitives;
|
||||||
rasterization_state_create_info.polygonMode = (p_rasterization_state.wireframe ? VK_POLYGON_MODE_LINE : VK_POLYGON_MODE_FILL);
|
rasterization_state_create_info.polygonMode = (p_rasterization_state.wireframe ? VK_POLYGON_MODE_LINE : VK_POLYGON_MODE_FILL);
|
||||||
static VkCullModeFlags cull_mode[3] = {
|
static const VkCullModeFlags cull_mode[3] = {
|
||||||
VK_CULL_MODE_NONE,
|
VK_CULL_MODE_NONE,
|
||||||
VK_CULL_MODE_FRONT_BIT,
|
VK_CULL_MODE_FRONT_BIT,
|
||||||
VK_CULL_MODE_BACK_BIT
|
VK_CULL_MODE_BACK_BIT
|
||||||
@ -6361,7 +6361,7 @@ RID RenderingDeviceVulkan::render_pipeline_create(RID p_shader, FramebufferForma
|
|||||||
Vector<VkSampleMask> sample_mask;
|
Vector<VkSampleMask> sample_mask;
|
||||||
if (p_multisample_state.sample_mask.size()) {
|
if (p_multisample_state.sample_mask.size()) {
|
||||||
//use sample mask
|
//use sample mask
|
||||||
int rasterization_sample_mask_expected_size[TEXTURE_SAMPLES_MAX] = {
|
const int rasterization_sample_mask_expected_size[TEXTURE_SAMPLES_MAX] = {
|
||||||
1, 2, 4, 8, 16, 32, 64
|
1, 2, 4, 8, 16, 32, 64
|
||||||
};
|
};
|
||||||
ERR_FAIL_COND_V(rasterization_sample_mask_expected_size[p_multisample_state.sample_count] != p_multisample_state.sample_mask.size(), RID());
|
ERR_FAIL_COND_V(rasterization_sample_mask_expected_size[p_multisample_state.sample_count] != p_multisample_state.sample_mask.size(), RID());
|
||||||
|
@ -680,7 +680,7 @@ void AudioDriverWASAPI::write_sample(WORD format_tag, int bits_per_sample, BYTE
|
|||||||
}
|
}
|
||||||
|
|
||||||
void AudioDriverWASAPI::thread_func(void *p_udata) {
|
void AudioDriverWASAPI::thread_func(void *p_udata) {
|
||||||
AudioDriverWASAPI *ad = (AudioDriverWASAPI *)p_udata;
|
AudioDriverWASAPI *ad = static_cast<AudioDriverWASAPI *>(p_udata);
|
||||||
uint32_t avail_frames = 0;
|
uint32_t avail_frames = 0;
|
||||||
uint32_t write_ofs = 0;
|
uint32_t write_ofs = 0;
|
||||||
|
|
||||||
|
@ -84,7 +84,7 @@ Error AudioDriverXAudio2::init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void AudioDriverXAudio2::thread_func(void *p_udata) {
|
void AudioDriverXAudio2::thread_func(void *p_udata) {
|
||||||
AudioDriverXAudio2 *ad = (AudioDriverXAudio2 *)p_udata;
|
AudioDriverXAudio2 *ad = static_cast<AudioDriverXAudio2 *>(p_udata);
|
||||||
|
|
||||||
while (!ad->exit_thread) {
|
while (!ad->exit_thread) {
|
||||||
if (!ad->active) {
|
if (!ad->active) {
|
||||||
|
@ -146,11 +146,10 @@ void AnimationBezierTrackEdit::_draw_track(int p_track, const Color &p_color) {
|
|||||||
int iterations = 10;
|
int iterations = 10;
|
||||||
float low = 0;
|
float low = 0;
|
||||||
float high = 1;
|
float high = 1;
|
||||||
float middle;
|
|
||||||
|
|
||||||
//narrow high and low as much as possible
|
//narrow high and low as much as possible
|
||||||
for (int k = 0; k < iterations; k++) {
|
for (int k = 0; k < iterations; k++) {
|
||||||
middle = (low + high) / 2;
|
float middle = (low + high) / 2;
|
||||||
|
|
||||||
Vector2 interp = _bezier_interp(middle, start, out_handle, in_handle, end);
|
Vector2 interp = _bezier_interp(middle, start, out_handle, in_handle, end);
|
||||||
|
|
||||||
|
@ -259,6 +259,9 @@ void EditorAssetInstaller::ok_pressed() {
|
|||||||
unz_file_info info;
|
unz_file_info info;
|
||||||
char fname[16384];
|
char fname[16384];
|
||||||
ret = unzGetCurrentFileInfo(pkg, &info, fname, 16384, nullptr, 0, nullptr, 0);
|
ret = unzGetCurrentFileInfo(pkg, &info, fname, 16384, nullptr, 0, nullptr, 0);
|
||||||
|
if (ret != UNZ_OK) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
String name = String::utf8(fname);
|
String name = String::utf8(fname);
|
||||||
|
|
||||||
|
@ -824,7 +824,7 @@ void EditorData::save_edited_scene_state(EditorSelection *p_selection, EditorSel
|
|||||||
Dictionary EditorData::restore_edited_scene_state(EditorSelection *p_selection, EditorSelectionHistory *p_history) {
|
Dictionary EditorData::restore_edited_scene_state(EditorSelection *p_selection, EditorSelectionHistory *p_history) {
|
||||||
ERR_FAIL_INDEX_V(current_edited_scene, edited_scene.size(), Dictionary());
|
ERR_FAIL_INDEX_V(current_edited_scene, edited_scene.size(), Dictionary());
|
||||||
|
|
||||||
EditedScene &es = edited_scene.write[current_edited_scene];
|
const EditedScene &es = edited_scene.write[current_edited_scene];
|
||||||
|
|
||||||
p_history->current_elem_idx = es.history_current;
|
p_history->current_elem_idx = es.history_current;
|
||||||
p_history->history = es.history_stored;
|
p_history->history = es.history_stored;
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
#include "scene/resources/font.h"
|
#include "scene/resources/font.h"
|
||||||
|
|
||||||
void EditorLog::_error_handler(void *p_self, const char *p_func, const char *p_file, int p_line, const char *p_error, const char *p_errorexp, bool p_editor_notify, ErrorHandlerType p_type) {
|
void EditorLog::_error_handler(void *p_self, const char *p_func, const char *p_file, int p_line, const char *p_error, const char *p_errorexp, bool p_editor_notify, ErrorHandlerType p_type) {
|
||||||
EditorLog *self = (EditorLog *)p_self;
|
EditorLog *self = static_cast<EditorLog *>(p_self);
|
||||||
if (self->current != Thread::get_caller_id()) {
|
if (self->current != Thread::get_caller_id()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -216,7 +216,7 @@ void EditorLog::set_tool_button(Button *p_tool_button) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void EditorLog::_undo_redo_cbk(void *p_self, const String &p_name) {
|
void EditorLog::_undo_redo_cbk(void *p_self, const String &p_name) {
|
||||||
EditorLog *self = (EditorLog *)p_self;
|
EditorLog *self = static_cast<EditorLog *>(p_self);
|
||||||
self->add_message(p_name, EditorLog::MSG_TYPE_EDITOR);
|
self->add_message(p_name, EditorLog::MSG_TYPE_EDITOR);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3854,7 +3854,7 @@ void EditorNode::add_io_error(const String &p_error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void EditorNode::_load_error_notify(void *p_ud, const String &p_text) {
|
void EditorNode::_load_error_notify(void *p_ud, const String &p_text) {
|
||||||
EditorNode *en = (EditorNode *)p_ud;
|
EditorNode *en = static_cast<EditorNode *>(p_ud);
|
||||||
en->load_errors->add_image(en->gui_base->get_theme_icon(SNAME("Error"), SNAME("EditorIcons")));
|
en->load_errors->add_image(en->gui_base->get_theme_icon(SNAME("Error"), SNAME("EditorIcons")));
|
||||||
en->load_errors->add_text(p_text + "\n");
|
en->load_errors->add_text(p_text + "\n");
|
||||||
en->load_error_dialog->popup_centered_ratio(0.5);
|
en->load_error_dialog->popup_centered_ratio(0.5);
|
||||||
@ -4261,7 +4261,7 @@ void EditorNode::_copy_warning(const String &p_str) {
|
|||||||
|
|
||||||
void EditorNode::_dock_floating_close_request(Control *p_control) {
|
void EditorNode::_dock_floating_close_request(Control *p_control) {
|
||||||
// Through the MarginContainer to the Window.
|
// Through the MarginContainer to the Window.
|
||||||
Window *window = (Window *)p_control->get_parent()->get_parent();
|
Window *window = static_cast<Window *>(p_control->get_parent()->get_parent());
|
||||||
int window_slot = window->get_meta("dock_slot");
|
int window_slot = window->get_meta("dock_slot");
|
||||||
|
|
||||||
p_control->get_parent()->remove_child(p_control);
|
p_control->get_parent()->remove_child(p_control);
|
||||||
@ -5773,7 +5773,7 @@ static Node *_resource_get_edited_scene() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void EditorNode::_print_handler(void *p_this, const String &p_string, bool p_error) {
|
void EditorNode::_print_handler(void *p_this, const String &p_string, bool p_error) {
|
||||||
EditorNode *en = (EditorNode *)p_this;
|
EditorNode *en = static_cast<EditorNode *>(p_this);
|
||||||
en->log->add_message(p_string, p_error ? EditorLog::MSG_TYPE_ERROR : EditorLog::MSG_TYPE_STD);
|
en->log->add_message(p_string, p_error ? EditorLog::MSG_TYPE_ERROR : EditorLog::MSG_TYPE_STD);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -485,7 +485,7 @@ private:
|
|||||||
static Vector<EditorNodeInitCallback> _init_callbacks;
|
static Vector<EditorNodeInitCallback> _init_callbacks;
|
||||||
|
|
||||||
static void _dependency_error_report(void *ud, const String &p_path, const String &p_dep, const String &p_type) {
|
static void _dependency_error_report(void *ud, const String &p_path, const String &p_dep, const String &p_type) {
|
||||||
EditorNode *en = (EditorNode *)ud;
|
EditorNode *en = static_cast<EditorNode *>(ud);
|
||||||
if (!en->dependency_errors.has(p_path)) {
|
if (!en->dependency_errors.has(p_path)) {
|
||||||
en->dependency_errors[p_path] = Set<String>();
|
en->dependency_errors[p_path] = Set<String>();
|
||||||
}
|
}
|
||||||
|
@ -110,9 +110,10 @@ Error EditorRun::run(const String &p_scene) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int window_placement = EditorSettings::get_singleton()->get("run/window_placement/rect");
|
int window_placement = EditorSettings::get_singleton()->get("run/window_placement/rect");
|
||||||
bool hidpi_proj = ProjectSettings::get_singleton()->get("display/window/dpi/allow_hidpi");
|
|
||||||
int display_scale = 1;
|
|
||||||
if (DisplayServer::get_singleton()->has_feature(DisplayServer::FEATURE_HIDPI)) {
|
if (DisplayServer::get_singleton()->has_feature(DisplayServer::FEATURE_HIDPI)) {
|
||||||
|
bool hidpi_proj = ProjectSettings::get_singleton()->get("display/window/dpi/allow_hidpi");
|
||||||
|
int display_scale = 1;
|
||||||
|
|
||||||
if (OS::get_singleton()->is_hidpi_allowed()) {
|
if (OS::get_singleton()->is_hidpi_allowed()) {
|
||||||
if (hidpi_proj) {
|
if (hidpi_proj) {
|
||||||
display_scale = 1; // Both editor and project runs in hiDPI mode, do not scale.
|
display_scale = 1; // Both editor and project runs in hiDPI mode, do not scale.
|
||||||
|
@ -1389,7 +1389,7 @@ float EditorSettings::get_auto_display_scale() const {
|
|||||||
|
|
||||||
// Shortcuts
|
// Shortcuts
|
||||||
|
|
||||||
void EditorSettings::add_shortcut(const String &p_name, Ref<Shortcut> &p_shortcut) {
|
void EditorSettings::add_shortcut(const String &p_name, const Ref<Shortcut> &p_shortcut) {
|
||||||
shortcuts[p_name] = p_shortcut;
|
shortcuts[p_name] = p_shortcut;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -179,7 +179,7 @@ public:
|
|||||||
String get_editor_layouts_config() const;
|
String get_editor_layouts_config() const;
|
||||||
float get_auto_display_scale() const;
|
float get_auto_display_scale() const;
|
||||||
|
|
||||||
void add_shortcut(const String &p_name, Ref<Shortcut> &p_shortcut);
|
void add_shortcut(const String &p_name, const Ref<Shortcut> &p_shortcut);
|
||||||
bool is_shortcut(const String &p_name, const Ref<InputEvent> &p_event) const;
|
bool is_shortcut(const String &p_name, const Ref<InputEvent> &p_event) const;
|
||||||
Ref<Shortcut> get_shortcut(const String &p_name) const;
|
Ref<Shortcut> get_shortcut(const String &p_name) const;
|
||||||
void get_shortcut_list(List<String> *r_shortcuts);
|
void get_shortcut_list(List<String> *r_shortcuts);
|
||||||
|
@ -395,6 +395,9 @@ bool ExportTemplateManager::_install_file_selected(const String &p_file, bool p_
|
|||||||
unz_file_info info;
|
unz_file_info info;
|
||||||
char fname[16384];
|
char fname[16384];
|
||||||
ret = unzGetCurrentFileInfo(pkg, &info, fname, 16384, nullptr, 0, nullptr, 0);
|
ret = unzGetCurrentFileInfo(pkg, &info, fname, 16384, nullptr, 0, nullptr, 0);
|
||||||
|
if (ret != UNZ_OK) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
String file = String::utf8(fname);
|
String file = String::utf8(fname);
|
||||||
if (file.ends_with("version.txt")) {
|
if (file.ends_with("version.txt")) {
|
||||||
@ -404,6 +407,9 @@ bool ExportTemplateManager::_install_file_selected(const String &p_file, bool p_
|
|||||||
// Read.
|
// Read.
|
||||||
unzOpenCurrentFile(pkg);
|
unzOpenCurrentFile(pkg);
|
||||||
ret = unzReadCurrentFile(pkg, data.ptrw(), data.size());
|
ret = unzReadCurrentFile(pkg, data.ptrw(), data.size());
|
||||||
|
if (ret != UNZ_OK) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
unzCloseCurrentFile(pkg);
|
unzCloseCurrentFile(pkg);
|
||||||
|
|
||||||
String data_str;
|
String data_str;
|
||||||
@ -455,7 +461,10 @@ bool ExportTemplateManager::_install_file_selected(const String &p_file, bool p_
|
|||||||
// Get filename.
|
// Get filename.
|
||||||
unz_file_info info;
|
unz_file_info info;
|
||||||
char fname[16384];
|
char fname[16384];
|
||||||
unzGetCurrentFileInfo(pkg, &info, fname, 16384, nullptr, 0, nullptr, 0);
|
ret = unzGetCurrentFileInfo(pkg, &info, fname, 16384, nullptr, 0, nullptr, 0);
|
||||||
|
if (ret != UNZ_OK) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
String file_path(String::utf8(fname).simplify_path());
|
String file_path(String::utf8(fname).simplify_path());
|
||||||
|
|
||||||
@ -471,7 +480,10 @@ bool ExportTemplateManager::_install_file_selected(const String &p_file, bool p_
|
|||||||
|
|
||||||
// Read
|
// Read
|
||||||
unzOpenCurrentFile(pkg);
|
unzOpenCurrentFile(pkg);
|
||||||
unzReadCurrentFile(pkg, data.ptrw(), data.size());
|
ret = unzReadCurrentFile(pkg, data.ptrw(), data.size());
|
||||||
|
if (ret != UNZ_OK) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
unzCloseCurrentFile(pkg);
|
unzCloseCurrentFile(pkg);
|
||||||
|
|
||||||
String base_dir = file_path.get_base_dir().trim_suffix("/");
|
String base_dir = file_path.get_base_dir().trim_suffix("/");
|
||||||
@ -697,6 +709,9 @@ Error ExportTemplateManager::install_android_template_from_file(const String &p_
|
|||||||
unz_file_info info;
|
unz_file_info info;
|
||||||
char fpath[16384];
|
char fpath[16384];
|
||||||
ret = unzGetCurrentFileInfo(pkg, &info, fpath, 16384, nullptr, 0, nullptr, 0);
|
ret = unzGetCurrentFileInfo(pkg, &info, fpath, 16384, nullptr, 0, nullptr, 0);
|
||||||
|
if (ret != UNZ_OK) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
String path = String::utf8(fpath);
|
String path = String::utf8(fpath);
|
||||||
String base_dir = path.get_base_dir();
|
String base_dir = path.get_base_dir();
|
||||||
|
@ -53,7 +53,7 @@ void EditorFileServer::_close_client(ClientData *cd) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void EditorFileServer::_subthread_start(void *s) {
|
void EditorFileServer::_subthread_start(void *s) {
|
||||||
ClientData *cd = (ClientData *)s;
|
ClientData *cd = static_cast<ClientData *>(s);
|
||||||
|
|
||||||
cd->connection->set_no_delay(true);
|
cd->connection->set_no_delay(true);
|
||||||
uint8_t buf4[8];
|
uint8_t buf4[8];
|
||||||
@ -259,7 +259,7 @@ void EditorFileServer::_subthread_start(void *s) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void EditorFileServer::_thread_start(void *s) {
|
void EditorFileServer::_thread_start(void *s) {
|
||||||
EditorFileServer *self = (EditorFileServer *)s;
|
EditorFileServer *self = static_cast<EditorFileServer *>(s);
|
||||||
while (!self->quit) {
|
while (!self->quit) {
|
||||||
if (self->cmd == CMD_ACTIVATE) {
|
if (self->cmd == CMD_ACTIVATE) {
|
||||||
self->server->listen(self->port);
|
self->server->listen(self->port);
|
||||||
|
@ -449,7 +449,7 @@ Set<String> FindInFilesDialog::get_filter() const {
|
|||||||
// Could check the _filters_preferences but it might not have been generated yet.
|
// Could check the _filters_preferences but it might not have been generated yet.
|
||||||
Set<String> filters;
|
Set<String> filters;
|
||||||
for (int i = 0; i < _filters_container->get_child_count(); ++i) {
|
for (int i = 0; i < _filters_container->get_child_count(); ++i) {
|
||||||
CheckBox *cb = (CheckBox *)_filters_container->get_child(i);
|
CheckBox *cb = static_cast<CheckBox *>(_filters_container->get_child(i));
|
||||||
if (cb->is_pressed()) {
|
if (cb->is_pressed()) {
|
||||||
filters.insert(cb->get_text());
|
filters.insert(cb->get_text());
|
||||||
}
|
}
|
||||||
@ -489,7 +489,7 @@ void FindInFilesDialog::_on_folder_button_pressed() {
|
|||||||
|
|
||||||
void FindInFilesDialog::custom_action(const String &p_action) {
|
void FindInFilesDialog::custom_action(const String &p_action) {
|
||||||
for (int i = 0; i < _filters_container->get_child_count(); ++i) {
|
for (int i = 0; i < _filters_container->get_child_count(); ++i) {
|
||||||
CheckBox *cb = (CheckBox *)_filters_container->get_child(i);
|
CheckBox *cb = static_cast<CheckBox *>(_filters_container->get_child(i));
|
||||||
_filters_preferences[cb->get_text()] = cb->is_pressed();
|
_filters_preferences[cb->get_text()] = cb->is_pressed();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -499,7 +499,7 @@ void AnimationNodeStateMachineEditor::_connection_draw(const Vector2 &p_from, co
|
|||||||
accent.a *= 0.6;
|
accent.a *= 0.6;
|
||||||
}
|
}
|
||||||
|
|
||||||
Ref<Texture2D> icons[6] = {
|
const Ref<Texture2D> icons[6] = {
|
||||||
get_theme_icon(SNAME("TransitionImmediateBig"), SNAME("EditorIcons")),
|
get_theme_icon(SNAME("TransitionImmediateBig"), SNAME("EditorIcons")),
|
||||||
get_theme_icon(SNAME("TransitionSyncBig"), SNAME("EditorIcons")),
|
get_theme_icon(SNAME("TransitionSyncBig"), SNAME("EditorIcons")),
|
||||||
get_theme_icon(SNAME("TransitionEndBig"), SNAME("EditorIcons")),
|
get_theme_icon(SNAME("TransitionEndBig"), SNAME("EditorIcons")),
|
||||||
|
@ -860,7 +860,7 @@ void CanvasItemEditor::_commit_canvas_item_state(List<CanvasItem *> p_canvas_ite
|
|||||||
}
|
}
|
||||||
|
|
||||||
void CanvasItemEditor::_snap_changed() {
|
void CanvasItemEditor::_snap_changed() {
|
||||||
((SnapDialog *)snap_dialog)->get_fields(grid_offset, grid_step, primary_grid_steps, snap_rotation_offset, snap_rotation_step, snap_scale_step);
|
static_cast<SnapDialog *>(snap_dialog)->get_fields(grid_offset, grid_step, primary_grid_steps, snap_rotation_offset, snap_rotation_step, snap_scale_step);
|
||||||
grid_step_multiplier = 0;
|
grid_step_multiplier = 0;
|
||||||
viewport->update();
|
viewport->update();
|
||||||
}
|
}
|
||||||
@ -1504,7 +1504,7 @@ bool CanvasItemEditor::_gui_input_anchors(const Ref<InputEvent> &p_event) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DragType dragger[] = {
|
const DragType dragger[] = {
|
||||||
DRAG_ANCHOR_TOP_LEFT,
|
DRAG_ANCHOR_TOP_LEFT,
|
||||||
DRAG_ANCHOR_TOP_RIGHT,
|
DRAG_ANCHOR_TOP_RIGHT,
|
||||||
DRAG_ANCHOR_BOTTOM_RIGHT,
|
DRAG_ANCHOR_BOTTOM_RIGHT,
|
||||||
@ -1635,14 +1635,14 @@ bool CanvasItemEditor::_gui_input_resize(const Ref<InputEvent> &p_event) {
|
|||||||
Rect2 rect = canvas_item->_edit_get_rect();
|
Rect2 rect = canvas_item->_edit_get_rect();
|
||||||
Transform2D xform = transform * canvas_item->get_global_transform_with_canvas();
|
Transform2D xform = transform * canvas_item->get_global_transform_with_canvas();
|
||||||
|
|
||||||
Vector2 endpoints[4] = {
|
const Vector2 endpoints[4] = {
|
||||||
xform.xform(rect.position),
|
xform.xform(rect.position),
|
||||||
xform.xform(rect.position + Vector2(rect.size.x, 0)),
|
xform.xform(rect.position + Vector2(rect.size.x, 0)),
|
||||||
xform.xform(rect.position + rect.size),
|
xform.xform(rect.position + rect.size),
|
||||||
xform.xform(rect.position + Vector2(0, rect.size.y))
|
xform.xform(rect.position + Vector2(0, rect.size.y))
|
||||||
};
|
};
|
||||||
|
|
||||||
DragType dragger[] = {
|
const DragType dragger[] = {
|
||||||
DRAG_TOP_LEFT,
|
DRAG_TOP_LEFT,
|
||||||
DRAG_TOP,
|
DRAG_TOP,
|
||||||
DRAG_TOP_RIGHT,
|
DRAG_TOP_RIGHT,
|
||||||
@ -2318,7 +2318,6 @@ bool CanvasItemEditor::_gui_input_select(const Ref<InputEvent> &p_event) {
|
|||||||
|
|
||||||
Vector<_SelectResult> selection = Vector<_SelectResult>();
|
Vector<_SelectResult> selection = Vector<_SelectResult>();
|
||||||
// Retrieve the canvas items
|
// Retrieve the canvas items
|
||||||
selection = Vector<_SelectResult>();
|
|
||||||
_get_canvas_items_at_pos(click, selection);
|
_get_canvas_items_at_pos(click, selection);
|
||||||
if (!selection.is_empty()) {
|
if (!selection.is_empty()) {
|
||||||
canvas_item = selection[0].item;
|
canvas_item = selection[0].item;
|
||||||
@ -2572,7 +2571,7 @@ void CanvasItemEditor::_gui_input_viewport(const Ref<InputEvent> &p_event) {
|
|||||||
|
|
||||||
void CanvasItemEditor::_update_cursor() {
|
void CanvasItemEditor::_update_cursor() {
|
||||||
// Compute an eventual rotation of the cursor
|
// Compute an eventual rotation of the cursor
|
||||||
CursorShape rotation_array[4] = { CURSOR_HSIZE, CURSOR_BDIAGSIZE, CURSOR_VSIZE, CURSOR_FDIAGSIZE };
|
const CursorShape rotation_array[4] = { CURSOR_HSIZE, CURSOR_BDIAGSIZE, CURSOR_VSIZE, CURSOR_FDIAGSIZE };
|
||||||
int rotation_array_index = 0;
|
int rotation_array_index = 0;
|
||||||
|
|
||||||
List<CanvasItem *> selection = _get_edited_canvas_items();
|
List<CanvasItem *> selection = _get_edited_canvas_items();
|
||||||
@ -3150,7 +3149,6 @@ void CanvasItemEditor::_draw_control_helpers(Control *control) {
|
|||||||
|
|
||||||
if (dragged_anchor >= 0) {
|
if (dragged_anchor >= 0) {
|
||||||
// Draw the 4 lines when dragged
|
// Draw the 4 lines when dragged
|
||||||
bool anchor_snapped;
|
|
||||||
Color color_snapped = Color(0.64, 0.93, 0.67, 0.5);
|
Color color_snapped = Color(0.64, 0.93, 0.67, 0.5);
|
||||||
|
|
||||||
Vector2 corners_pos[4];
|
Vector2 corners_pos[4];
|
||||||
@ -3164,7 +3162,7 @@ void CanvasItemEditor::_draw_control_helpers(Control *control) {
|
|||||||
real_t anchor_val = (i >= 2) ? ANCHOR_END - anchors_values[i] : anchors_values[i];
|
real_t anchor_val = (i >= 2) ? ANCHOR_END - anchors_values[i] : anchors_values[i];
|
||||||
line_starts[i] = corners_pos[i].lerp(corners_pos[(i + 1) % 4], anchor_val);
|
line_starts[i] = corners_pos[i].lerp(corners_pos[(i + 1) % 4], anchor_val);
|
||||||
line_ends[i] = corners_pos[(i + 3) % 4].lerp(corners_pos[(i + 2) % 4], anchor_val);
|
line_ends[i] = corners_pos[(i + 3) % 4].lerp(corners_pos[(i + 2) % 4], anchor_val);
|
||||||
anchor_snapped = anchors_values[i] == 0.0 || anchors_values[i] == 0.5 || anchors_values[i] == 1.0;
|
bool anchor_snapped = anchors_values[i] == 0.0 || anchors_values[i] == 0.5 || anchors_values[i] == 1.0;
|
||||||
viewport->draw_line(line_starts[i], line_ends[i], anchor_snapped ? color_snapped : color_base, (i == dragged_anchor || (i + 3) % 4 == dragged_anchor) ? 2 : 1);
|
viewport->draw_line(line_starts[i], line_ends[i], anchor_snapped ? color_snapped : color_base, (i == dragged_anchor || (i + 3) % 4 == dragged_anchor) ? 2 : 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3328,7 +3326,7 @@ void CanvasItemEditor::_draw_selection() {
|
|||||||
// Draw the selected items position / surrounding boxes
|
// Draw the selected items position / surrounding boxes
|
||||||
if (canvas_item->_edit_use_rect()) {
|
if (canvas_item->_edit_use_rect()) {
|
||||||
Rect2 rect = canvas_item->_edit_get_rect();
|
Rect2 rect = canvas_item->_edit_get_rect();
|
||||||
Vector2 endpoints[4] = {
|
const Vector2 endpoints[4] = {
|
||||||
xform.xform(rect.position),
|
xform.xform(rect.position),
|
||||||
xform.xform(rect.position + Vector2(rect.size.x, 0)),
|
xform.xform(rect.position + Vector2(rect.size.x, 0)),
|
||||||
xform.xform(rect.position + rect.size),
|
xform.xform(rect.position + rect.size),
|
||||||
@ -4103,7 +4101,7 @@ void CanvasItemEditor::_button_tool_select(int p_index) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void CanvasItemEditor::_insert_animation_keys(bool p_location, bool p_rotation, bool p_scale, bool p_on_existing) {
|
void CanvasItemEditor::_insert_animation_keys(bool p_location, bool p_rotation, bool p_scale, bool p_on_existing) {
|
||||||
Map<Node *, Object *> &selection = editor_selection->get_selection();
|
const Map<Node *, Object *> &selection = editor_selection->get_selection();
|
||||||
|
|
||||||
for (const KeyValue<Node *, Object *> &E : selection) {
|
for (const KeyValue<Node *, Object *> &E : selection) {
|
||||||
CanvasItem *canvas_item = Object::cast_to<CanvasItem>(E.key);
|
CanvasItem *canvas_item = Object::cast_to<CanvasItem>(E.key);
|
||||||
@ -4269,7 +4267,7 @@ void CanvasItemEditor::_popup_callback(int p_op) {
|
|||||||
snap_config_menu->get_popup()->set_item_checked(idx, snap_pixel);
|
snap_config_menu->get_popup()->set_item_checked(idx, snap_pixel);
|
||||||
} break;
|
} break;
|
||||||
case SNAP_CONFIGURE: {
|
case SNAP_CONFIGURE: {
|
||||||
((SnapDialog *)snap_dialog)->set_fields(grid_offset, grid_step, primary_grid_steps, snap_rotation_offset, snap_rotation_step, snap_scale_step);
|
static_cast<SnapDialog *>(snap_dialog)->set_fields(grid_offset, grid_step, primary_grid_steps, snap_rotation_offset, snap_rotation_step, snap_scale_step);
|
||||||
snap_dialog->popup_centered(Size2(220, 160) * EDSCALE);
|
snap_dialog->popup_centered(Size2(220, 160) * EDSCALE);
|
||||||
} break;
|
} break;
|
||||||
case SKELETON_SHOW_BONES: {
|
case SKELETON_SHOW_BONES: {
|
||||||
@ -4414,7 +4412,7 @@ void CanvasItemEditor::_popup_callback(int p_op) {
|
|||||||
case ANIM_COPY_POSE: {
|
case ANIM_COPY_POSE: {
|
||||||
pose_clipboard.clear();
|
pose_clipboard.clear();
|
||||||
|
|
||||||
Map<Node *, Object *> &selection = editor_selection->get_selection();
|
const Map<Node *, Object *> &selection = editor_selection->get_selection();
|
||||||
|
|
||||||
for (const KeyValue<Node *, Object *> &E : selection) {
|
for (const KeyValue<Node *, Object *> &E : selection) {
|
||||||
CanvasItem *canvas_item = Object::cast_to<CanvasItem>(E.key);
|
CanvasItem *canvas_item = Object::cast_to<CanvasItem>(E.key);
|
||||||
@ -5735,7 +5733,6 @@ void CanvasItemEditorViewport::drop_data(const Point2 &p_point, const Variant &p
|
|||||||
if (root_node) {
|
if (root_node) {
|
||||||
target_node = root_node;
|
target_node = root_node;
|
||||||
} else {
|
} else {
|
||||||
drop_pos = p_point;
|
|
||||||
target_node = nullptr;
|
target_node = nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -270,7 +270,7 @@ void EditorInspectorPluginMaterial::_undo_redo_inspector_callback(Object *p_undo
|
|||||||
Texture2D *texture = Object::cast_to<Texture2D>(p_new_value);
|
Texture2D *texture = Object::cast_to<Texture2D>(p_new_value);
|
||||||
if (texture) {
|
if (texture) {
|
||||||
if (p_property == "roughness_texture") {
|
if (p_property == "roughness_texture") {
|
||||||
if (base_material->get_texture(StandardMaterial3D::TEXTURE_ROUGHNESS).is_null() && texture) {
|
if (base_material->get_texture(StandardMaterial3D::TEXTURE_ROUGHNESS).is_null()) {
|
||||||
undo_redo->add_do_property(p_edited, "roughness", 1.0);
|
undo_redo->add_do_property(p_edited, "roughness", 1.0);
|
||||||
|
|
||||||
bool valid = false;
|
bool valid = false;
|
||||||
@ -280,7 +280,7 @@ void EditorInspectorPluginMaterial::_undo_redo_inspector_callback(Object *p_undo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (p_property == "metallic_texture") {
|
} else if (p_property == "metallic_texture") {
|
||||||
if (base_material->get_texture(StandardMaterial3D::TEXTURE_METALLIC).is_null() && texture) {
|
if (base_material->get_texture(StandardMaterial3D::TEXTURE_METALLIC).is_null()) {
|
||||||
undo_redo->add_do_property(p_edited, "metallic", 1.0);
|
undo_redo->add_do_property(p_edited, "metallic", 1.0);
|
||||||
|
|
||||||
bool valid = false;
|
bool valid = false;
|
||||||
|
@ -369,7 +369,7 @@ Transform3D Node3DEditorViewport::to_camera_transform(const Cursor &p_cursor) co
|
|||||||
}
|
}
|
||||||
|
|
||||||
int Node3DEditorViewport::get_selected_count() const {
|
int Node3DEditorViewport::get_selected_count() const {
|
||||||
Map<Node *, Object *> &selection = editor_selection->get_selection();
|
const Map<Node *, Object *> &selection = editor_selection->get_selection();
|
||||||
|
|
||||||
int count = 0;
|
int count = 0;
|
||||||
|
|
||||||
@ -2467,7 +2467,7 @@ void Node3DEditorViewport::_notification(int p_what) {
|
|||||||
|
|
||||||
_update_camera(delta);
|
_update_camera(delta);
|
||||||
|
|
||||||
Map<Node *, Object *> &selection = editor_selection->get_selection();
|
const Map<Node *, Object *> &selection = editor_selection->get_selection();
|
||||||
|
|
||||||
bool changed = false;
|
bool changed = false;
|
||||||
bool exist = false;
|
bool exist = false;
|
||||||
|
@ -56,7 +56,7 @@ void TilesEditorPlugin::_pattern_preview_done() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void TilesEditorPlugin::_thread_func(void *ud) {
|
void TilesEditorPlugin::_thread_func(void *ud) {
|
||||||
TilesEditorPlugin *te = (TilesEditorPlugin *)ud;
|
TilesEditorPlugin *te = static_cast<TilesEditorPlugin *>(ud);
|
||||||
te->_thread();
|
te->_thread();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2061,10 +2061,8 @@ void VisualShaderEditor::_set_node_size(int p_type, int p_node, const Vector2 &p
|
|||||||
|
|
||||||
if (!expression_node.is_null() && text_box) {
|
if (!expression_node.is_null() && text_box) {
|
||||||
Size2 box_size = size;
|
Size2 box_size = size;
|
||||||
if (gn != nullptr) {
|
if (box_size.x < 150 * EDSCALE || box_size.y < 0) {
|
||||||
if (box_size.x < 150 * EDSCALE || box_size.y < 0) {
|
box_size.x = gn->get_size().x;
|
||||||
box_size.x = gn->get_size().x;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
box_size.x -= text_box->get_offset(SIDE_LEFT);
|
box_size.x -= text_box->get_offset(SIDE_LEFT);
|
||||||
box_size.x -= 28 * EDSCALE;
|
box_size.x -= 28 * EDSCALE;
|
||||||
|
@ -46,8 +46,8 @@ void POTGenerator::_print_all_translation_strings() {
|
|||||||
print_line("msgid: " + E.key());
|
print_line("msgid: " + E.key());
|
||||||
print_line("context: " + v_md[i].ctx);
|
print_line("context: " + v_md[i].ctx);
|
||||||
print_line("msgid_plural: " + v_md[i].plural);
|
print_line("msgid_plural: " + v_md[i].plural);
|
||||||
for (Set<String>::Element *E = v_md[i].locations.front(); E; E = E->next()) {
|
for (Set<String>::Element *F = v_md[i].locations.front(); F; F = F->next()) {
|
||||||
print_line("location: " + E->get());
|
print_line("location: " + F->get());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -202,6 +202,9 @@ private:
|
|||||||
unz_file_info info;
|
unz_file_info info;
|
||||||
char fname[16384];
|
char fname[16384];
|
||||||
ret = unzGetCurrentFileInfo(pkg, &info, fname, 16384, nullptr, 0, nullptr, 0);
|
ret = unzGetCurrentFileInfo(pkg, &info, fname, 16384, nullptr, 0, nullptr, 0);
|
||||||
|
if (ret != UNZ_OK) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if (String::utf8(fname).ends_with("project.godot")) {
|
if (String::utf8(fname).ends_with("project.godot")) {
|
||||||
break;
|
break;
|
||||||
@ -534,6 +537,9 @@ private:
|
|||||||
unz_file_info info;
|
unz_file_info info;
|
||||||
char fname[16384];
|
char fname[16384];
|
||||||
ret = unzGetCurrentFileInfo(pkg, &info, fname, 16384, nullptr, 0, nullptr, 0);
|
ret = unzGetCurrentFileInfo(pkg, &info, fname, 16384, nullptr, 0, nullptr, 0);
|
||||||
|
if (ret != UNZ_OK) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
String path = String::utf8(fname);
|
String path = String::utf8(fname);
|
||||||
|
|
||||||
@ -552,7 +558,10 @@ private:
|
|||||||
|
|
||||||
//read
|
//read
|
||||||
unzOpenCurrentFile(pkg);
|
unzOpenCurrentFile(pkg);
|
||||||
unzReadCurrentFile(pkg, data.ptrw(), data.size());
|
ret = unzReadCurrentFile(pkg, data.ptrw(), data.size());
|
||||||
|
if (ret != UNZ_OK) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
unzCloseCurrentFile(pkg);
|
unzCloseCurrentFile(pkg);
|
||||||
|
|
||||||
FileAccess *f = FileAccess::open(dir.plus_file(rel_path), FileAccess::WRITE);
|
FileAccess *f = FileAccess::open(dir.plus_file(rel_path), FileAccess::WRITE);
|
||||||
|
@ -351,7 +351,7 @@ void ProjectSettingsEditor::_action_edited(const String &p_name, const Dictionar
|
|||||||
undo_redo->create_action(TTR("Edit Input Action Event"));
|
undo_redo->create_action(TTR("Edit Input Action Event"));
|
||||||
} else if (event_count > old_event_count) {
|
} else if (event_count > old_event_count) {
|
||||||
undo_redo->create_action(TTR("Add Input Action Event"));
|
undo_redo->create_action(TTR("Add Input Action Event"));
|
||||||
} else if (event_count < old_event_count) {
|
} else {
|
||||||
undo_redo->create_action(TTR("Remove Input Action Event"));
|
undo_redo->create_action(TTR("Remove Input Action Event"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2012,7 +2012,7 @@ void SceneTreeDock::_delete_confirm(bool p_cut) {
|
|||||||
|
|
||||||
bool entire_scene = false;
|
bool entire_scene = false;
|
||||||
|
|
||||||
for (Node *E : remove_list) {
|
for (const Node *E : remove_list) {
|
||||||
if (E == edited_scene) {
|
if (E == edited_scene) {
|
||||||
entire_scene = true;
|
entire_scene = true;
|
||||||
}
|
}
|
||||||
|
@ -606,8 +606,6 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
|
|||||||
I = I->next();
|
I = I->next();
|
||||||
}
|
}
|
||||||
|
|
||||||
I = args.front();
|
|
||||||
|
|
||||||
String display_driver = "";
|
String display_driver = "";
|
||||||
String audio_driver = "";
|
String audio_driver = "";
|
||||||
String project_path = ".";
|
String project_path = ".";
|
||||||
|
@ -244,7 +244,7 @@ static Ref<Image> basis_universal_unpacker_ptr(const uint8_t *p_data, int p_size
|
|||||||
|
|
||||||
bool ret = tr.transcode_image_level(ptr, size, 0, i, dst + ofs, level.m_total_blocks - i, format);
|
bool ret = tr.transcode_image_level(ptr, size, 0, i, dst + ofs, level.m_total_blocks - i, format);
|
||||||
if (!ret) {
|
if (!ret) {
|
||||||
printf("failed! on level %i\n", i);
|
printf("failed! on level %u\n", i);
|
||||||
break;
|
break;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -312,7 +312,7 @@ public:
|
|||||||
bool is_constant = false;
|
bool is_constant = false;
|
||||||
Variant reduced_value;
|
Variant reduced_value;
|
||||||
|
|
||||||
virtual bool is_expression() const { return true; }
|
virtual bool is_expression() const override { return true; }
|
||||||
virtual ~ExpressionNode() {}
|
virtual ~ExpressionNode() {}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
@ -432,21 +432,21 @@ struct GDScriptUtilityFunctionsDefinitions {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline void print_debug(Variant *r_ret, const Variant **p_args, int p_arg_count, Callable::CallError &r_error) {
|
static inline void print_debug(Variant *r_ret, const Variant **p_args, int p_arg_count, Callable::CallError &r_error) {
|
||||||
String str;
|
String s;
|
||||||
for (int i = 0; i < p_arg_count; i++) {
|
for (int i = 0; i < p_arg_count; i++) {
|
||||||
str += p_args[i]->operator String();
|
s += p_args[i]->operator String();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Thread::get_caller_id() == Thread::get_main_id()) {
|
if (Thread::get_caller_id() == Thread::get_main_id()) {
|
||||||
ScriptLanguage *script = GDScriptLanguage::get_singleton();
|
ScriptLanguage *script = GDScriptLanguage::get_singleton();
|
||||||
if (script->debug_get_stack_level_count() > 0) {
|
if (script->debug_get_stack_level_count() > 0) {
|
||||||
str += "\n At: " + script->debug_get_stack_level_source(0) + ":" + itos(script->debug_get_stack_level_line(0)) + ":" + script->debug_get_stack_level_function(0) + "()";
|
s += "\n At: " + script->debug_get_stack_level_source(0) + ":" + itos(script->debug_get_stack_level_line(0)) + ":" + script->debug_get_stack_level_function(0) + "()";
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
str += "\n At: Cannot retrieve debug info outside the main thread. Thread ID: " + itos(Thread::get_caller_id());
|
s += "\n At: Cannot retrieve debug info outside the main thread. Thread ID: " + itos(Thread::get_caller_id());
|
||||||
}
|
}
|
||||||
|
|
||||||
print_line(str);
|
print_line(s);
|
||||||
*r_ret = Variant();
|
*r_ret = Variant();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -35,11 +35,11 @@
|
|||||||
#include "core/io/stream_peer_ssl.h"
|
#include "core/io/stream_peer_ssl.h"
|
||||||
|
|
||||||
int PacketPeerMbedDTLS::bio_send(void *ctx, const unsigned char *buf, size_t len) {
|
int PacketPeerMbedDTLS::bio_send(void *ctx, const unsigned char *buf, size_t len) {
|
||||||
if (buf == nullptr || len <= 0) {
|
if (buf == nullptr || len == 0) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
PacketPeerMbedDTLS *sp = (PacketPeerMbedDTLS *)ctx;
|
PacketPeerMbedDTLS *sp = static_cast<PacketPeerMbedDTLS *>(ctx);
|
||||||
|
|
||||||
ERR_FAIL_COND_V(sp == nullptr, 0);
|
ERR_FAIL_COND_V(sp == nullptr, 0);
|
||||||
|
|
||||||
@ -53,11 +53,11 @@ int PacketPeerMbedDTLS::bio_send(void *ctx, const unsigned char *buf, size_t len
|
|||||||
}
|
}
|
||||||
|
|
||||||
int PacketPeerMbedDTLS::bio_recv(void *ctx, unsigned char *buf, size_t len) {
|
int PacketPeerMbedDTLS::bio_recv(void *ctx, unsigned char *buf, size_t len) {
|
||||||
if (buf == nullptr || len <= 0) {
|
if (buf == nullptr || len == 0) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
PacketPeerMbedDTLS *sp = (PacketPeerMbedDTLS *)ctx;
|
PacketPeerMbedDTLS *sp = static_cast<PacketPeerMbedDTLS *>(ctx);
|
||||||
|
|
||||||
ERR_FAIL_COND_V(sp == nullptr, 0);
|
ERR_FAIL_COND_V(sp == nullptr, 0);
|
||||||
|
|
||||||
|
@ -34,11 +34,11 @@
|
|||||||
#include "core/io/stream_peer_tcp.h"
|
#include "core/io/stream_peer_tcp.h"
|
||||||
|
|
||||||
int StreamPeerMbedTLS::bio_send(void *ctx, const unsigned char *buf, size_t len) {
|
int StreamPeerMbedTLS::bio_send(void *ctx, const unsigned char *buf, size_t len) {
|
||||||
if (buf == nullptr || len <= 0) {
|
if (buf == nullptr || len == 0) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
StreamPeerMbedTLS *sp = (StreamPeerMbedTLS *)ctx;
|
StreamPeerMbedTLS *sp = static_cast<StreamPeerMbedTLS *>(ctx);
|
||||||
|
|
||||||
ERR_FAIL_COND_V(sp == nullptr, 0);
|
ERR_FAIL_COND_V(sp == nullptr, 0);
|
||||||
|
|
||||||
@ -54,11 +54,11 @@ int StreamPeerMbedTLS::bio_send(void *ctx, const unsigned char *buf, size_t len)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int StreamPeerMbedTLS::bio_recv(void *ctx, unsigned char *buf, size_t len) {
|
int StreamPeerMbedTLS::bio_recv(void *ctx, unsigned char *buf, size_t len) {
|
||||||
if (buf == nullptr || len <= 0) {
|
if (buf == nullptr || len == 0) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
StreamPeerMbedTLS *sp = (StreamPeerMbedTLS *)ctx;
|
StreamPeerMbedTLS *sp = static_cast<StreamPeerMbedTLS *>(ctx);
|
||||||
|
|
||||||
ERR_FAIL_COND_V(sp == nullptr, 0);
|
ERR_FAIL_COND_V(sp == nullptr, 0);
|
||||||
|
|
||||||
|
@ -45,16 +45,16 @@
|
|||||||
#define MERGE_INTERNAL(A, B) A##B
|
#define MERGE_INTERNAL(A, B) A##B
|
||||||
#define MERGE(A, B) MERGE_INTERNAL(A, B)
|
#define MERGE(A, B) MERGE_INTERNAL(A, B)
|
||||||
|
|
||||||
#define COMMAND_1(F_NAME, T_0, D_0) \
|
#define COMMAND_1(F_NAME, T_0, D_0) \
|
||||||
virtual void F_NAME(T_0 D_0) const; \
|
virtual void F_NAME(T_0 D_0) const override; \
|
||||||
void MERGE(_cmd_, F_NAME)(T_0 D_0)
|
void MERGE(_cmd_, F_NAME)(T_0 D_0)
|
||||||
|
|
||||||
#define COMMAND_2(F_NAME, T_0, D_0, T_1, D_1) \
|
#define COMMAND_2(F_NAME, T_0, D_0, T_1, D_1) \
|
||||||
virtual void F_NAME(T_0 D_0, T_1 D_1) const; \
|
virtual void F_NAME(T_0 D_0, T_1 D_1) const override; \
|
||||||
void MERGE(_cmd_, F_NAME)(T_0 D_0, T_1 D_1)
|
void MERGE(_cmd_, F_NAME)(T_0 D_0, T_1 D_1)
|
||||||
|
|
||||||
#define COMMAND_4_DEF(F_NAME, T_0, D_0, T_1, D_1, T_2, D_2, T_3, D_3, D_3_DEF) \
|
#define COMMAND_4_DEF(F_NAME, T_0, D_0, T_1, D_1, T_2, D_2, T_3, D_3, D_3_DEF) \
|
||||||
virtual void F_NAME(T_0 D_0, T_1 D_1, T_2 D_2, T_3 D_3 = D_3_DEF) const; \
|
virtual void F_NAME(T_0 D_0, T_1 D_1, T_2 D_2, T_3 D_3 = D_3_DEF) const override; \
|
||||||
void MERGE(_cmd_, F_NAME)(T_0 D_0, T_1 D_1, T_2 D_2, T_3 D_3)
|
void MERGE(_cmd_, F_NAME)(T_0 D_0, T_1 D_1, T_2 D_2, T_3 D_3)
|
||||||
|
|
||||||
class GodotNavigationServer;
|
class GodotNavigationServer;
|
||||||
@ -85,38 +85,38 @@ public:
|
|||||||
|
|
||||||
void add_command(SetCommand *command) const;
|
void add_command(SetCommand *command) const;
|
||||||
|
|
||||||
virtual RID map_create() const;
|
virtual RID map_create() const override;
|
||||||
COMMAND_2(map_set_active, RID, p_map, bool, p_active);
|
COMMAND_2(map_set_active, RID, p_map, bool, p_active);
|
||||||
virtual bool map_is_active(RID p_map) const;
|
virtual bool map_is_active(RID p_map) const override;
|
||||||
|
|
||||||
COMMAND_2(map_set_up, RID, p_map, Vector3, p_up);
|
COMMAND_2(map_set_up, RID, p_map, Vector3, p_up);
|
||||||
virtual Vector3 map_get_up(RID p_map) const;
|
virtual Vector3 map_get_up(RID p_map) const override;
|
||||||
|
|
||||||
COMMAND_2(map_set_cell_size, RID, p_map, real_t, p_cell_size);
|
COMMAND_2(map_set_cell_size, RID, p_map, real_t, p_cell_size);
|
||||||
virtual real_t map_get_cell_size(RID p_map) const;
|
virtual real_t map_get_cell_size(RID p_map) const override;
|
||||||
|
|
||||||
COMMAND_2(map_set_edge_connection_margin, RID, p_map, real_t, p_connection_margin);
|
COMMAND_2(map_set_edge_connection_margin, RID, p_map, real_t, p_connection_margin);
|
||||||
virtual real_t map_get_edge_connection_margin(RID p_map) const;
|
virtual real_t map_get_edge_connection_margin(RID p_map) const override;
|
||||||
|
|
||||||
virtual Vector<Vector3> map_get_path(RID p_map, Vector3 p_origin, Vector3 p_destination, bool p_optimize, uint32_t p_layers = 1) const;
|
virtual Vector<Vector3> map_get_path(RID p_map, Vector3 p_origin, Vector3 p_destination, bool p_optimize, uint32_t p_layers = 1) const override;
|
||||||
|
|
||||||
virtual Vector3 map_get_closest_point_to_segment(RID p_map, const Vector3 &p_from, const Vector3 &p_to, const bool p_use_collision = false) const;
|
virtual Vector3 map_get_closest_point_to_segment(RID p_map, const Vector3 &p_from, const Vector3 &p_to, const bool p_use_collision = false) const override;
|
||||||
virtual Vector3 map_get_closest_point(RID p_map, const Vector3 &p_point) const;
|
virtual Vector3 map_get_closest_point(RID p_map, const Vector3 &p_point) const override;
|
||||||
virtual Vector3 map_get_closest_point_normal(RID p_map, const Vector3 &p_point) const;
|
virtual Vector3 map_get_closest_point_normal(RID p_map, const Vector3 &p_point) const override;
|
||||||
virtual RID map_get_closest_point_owner(RID p_map, const Vector3 &p_point) const;
|
virtual RID map_get_closest_point_owner(RID p_map, const Vector3 &p_point) const override;
|
||||||
|
|
||||||
virtual RID region_create() const;
|
virtual RID region_create() const override;
|
||||||
COMMAND_2(region_set_map, RID, p_region, RID, p_map);
|
COMMAND_2(region_set_map, RID, p_region, RID, p_map);
|
||||||
COMMAND_2(region_set_layers, RID, p_region, uint32_t, p_layers);
|
COMMAND_2(region_set_layers, RID, p_region, uint32_t, p_layers);
|
||||||
virtual uint32_t region_get_layers(RID p_region) const;
|
virtual uint32_t region_get_layers(RID p_region) const override;
|
||||||
COMMAND_2(region_set_transform, RID, p_region, Transform3D, p_transform);
|
COMMAND_2(region_set_transform, RID, p_region, Transform3D, p_transform);
|
||||||
COMMAND_2(region_set_navmesh, RID, p_region, Ref<NavigationMesh>, p_nav_mesh);
|
COMMAND_2(region_set_navmesh, RID, p_region, Ref<NavigationMesh>, p_nav_mesh);
|
||||||
virtual void region_bake_navmesh(Ref<NavigationMesh> r_mesh, Node *p_node) const;
|
virtual void region_bake_navmesh(Ref<NavigationMesh> r_mesh, Node *p_node) const override;
|
||||||
virtual int region_get_connections_count(RID p_region) const;
|
virtual int region_get_connections_count(RID p_region) const override;
|
||||||
virtual Vector3 region_get_connection_pathway_start(RID p_region, int p_connection_id) const;
|
virtual Vector3 region_get_connection_pathway_start(RID p_region, int p_connection_id) const override;
|
||||||
virtual Vector3 region_get_connection_pathway_end(RID p_region, int p_connection_id) const;
|
virtual Vector3 region_get_connection_pathway_end(RID p_region, int p_connection_id) const override;
|
||||||
|
|
||||||
virtual RID agent_create() const;
|
virtual RID agent_create() const override;
|
||||||
COMMAND_2(agent_set_map, RID, p_agent, RID, p_map);
|
COMMAND_2(agent_set_map, RID, p_agent, RID, p_map);
|
||||||
COMMAND_2(agent_set_neighbor_dist, RID, p_agent, real_t, p_dist);
|
COMMAND_2(agent_set_neighbor_dist, RID, p_agent, real_t, p_dist);
|
||||||
COMMAND_2(agent_set_max_neighbors, RID, p_agent, int, p_count);
|
COMMAND_2(agent_set_max_neighbors, RID, p_agent, int, p_count);
|
||||||
@ -127,15 +127,15 @@ public:
|
|||||||
COMMAND_2(agent_set_target_velocity, RID, p_agent, Vector3, p_velocity);
|
COMMAND_2(agent_set_target_velocity, RID, p_agent, Vector3, p_velocity);
|
||||||
COMMAND_2(agent_set_position, RID, p_agent, Vector3, p_position);
|
COMMAND_2(agent_set_position, RID, p_agent, Vector3, p_position);
|
||||||
COMMAND_2(agent_set_ignore_y, RID, p_agent, bool, p_ignore);
|
COMMAND_2(agent_set_ignore_y, RID, p_agent, bool, p_ignore);
|
||||||
virtual bool agent_is_map_changed(RID p_agent) const;
|
virtual bool agent_is_map_changed(RID p_agent) const override;
|
||||||
COMMAND_4_DEF(agent_set_callback, RID, p_agent, Object *, p_receiver, StringName, p_method, Variant, p_udata, Variant());
|
COMMAND_4_DEF(agent_set_callback, RID, p_agent, Object *, p_receiver, StringName, p_method, Variant, p_udata, Variant());
|
||||||
|
|
||||||
COMMAND_1(free, RID, p_object);
|
COMMAND_1(free, RID, p_object);
|
||||||
|
|
||||||
virtual void set_active(bool p_active) const;
|
virtual void set_active(bool p_active) const override;
|
||||||
|
|
||||||
void flush_queries();
|
void flush_queries();
|
||||||
virtual void process(real_t p_delta_time);
|
virtual void process(real_t p_delta_time) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
#undef COMMAND_1
|
#undef COMMAND_1
|
||||||
|
@ -119,7 +119,7 @@ void NoiseTexture::_thread_done(const Ref<Image> &p_image) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void NoiseTexture::_thread_function(void *p_ud) {
|
void NoiseTexture::_thread_function(void *p_ud) {
|
||||||
NoiseTexture *tex = (NoiseTexture *)p_ud;
|
NoiseTexture *tex = static_cast<NoiseTexture *>(p_ud);
|
||||||
tex->call_deferred(SNAME("_thread_done"), tex->_generate_texture());
|
tex->call_deferred(SNAME("_thread_done"), tex->_generate_texture());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -51,7 +51,7 @@ ScriptIterator::ScriptIterator(const String &p_string, int p_start, int p_length
|
|||||||
}
|
}
|
||||||
|
|
||||||
int paren_size = PAREN_STACK_DEPTH;
|
int paren_size = PAREN_STACK_DEPTH;
|
||||||
ParenStackEntry *paren_stack = (ParenStackEntry *)memalloc(paren_size * sizeof(ParenStackEntry));
|
ParenStackEntry *paren_stack = static_cast<ParenStackEntry *>(memalloc(paren_size * sizeof(ParenStackEntry)));
|
||||||
|
|
||||||
int script_start;
|
int script_start;
|
||||||
int script_end = p_start;
|
int script_end = p_start;
|
||||||
@ -77,7 +77,7 @@ ScriptIterator::ScriptIterator(const String &p_string, int p_start, int p_length
|
|||||||
if (unlikely(paren_sp >= paren_size)) {
|
if (unlikely(paren_sp >= paren_size)) {
|
||||||
// If the stack is full, allocate more space to handle deeply nested parentheses. This is unlikely to happen with any real text.
|
// If the stack is full, allocate more space to handle deeply nested parentheses. This is unlikely to happen with any real text.
|
||||||
paren_size += PAREN_STACK_DEPTH;
|
paren_size += PAREN_STACK_DEPTH;
|
||||||
paren_stack = (ParenStackEntry *)memrealloc(paren_stack, paren_size * sizeof(ParenStackEntry));
|
paren_stack = static_cast<ParenStackEntry *>(memrealloc(paren_stack, paren_size * sizeof(ParenStackEntry)));
|
||||||
}
|
}
|
||||||
paren_stack[paren_sp].pair_index = ch;
|
paren_stack[paren_sp].pair_index = ch;
|
||||||
paren_stack[paren_sp].script_code = script_code;
|
paren_stack[paren_sp].script_code = script_code;
|
||||||
|
@ -89,12 +89,12 @@ TextServerAdvanced::bmp_font_t *TextServerAdvanced::_bmp_font_create(TextServerA
|
|||||||
}
|
}
|
||||||
|
|
||||||
void TextServerAdvanced::_bmp_font_destroy(void *p_data) {
|
void TextServerAdvanced::_bmp_font_destroy(void *p_data) {
|
||||||
bmp_font_t *bm_font = reinterpret_cast<bmp_font_t *>(p_data);
|
bmp_font_t *bm_font = static_cast<bmp_font_t *>(p_data);
|
||||||
memdelete(bm_font);
|
memdelete(bm_font);
|
||||||
}
|
}
|
||||||
|
|
||||||
hb_bool_t TextServerAdvanced::_bmp_get_nominal_glyph(hb_font_t *p_font, void *p_font_data, hb_codepoint_t p_unicode, hb_codepoint_t *r_glyph, void *p_user_data) {
|
hb_bool_t TextServerAdvanced::_bmp_get_nominal_glyph(hb_font_t *p_font, void *p_font_data, hb_codepoint_t p_unicode, hb_codepoint_t *r_glyph, void *p_user_data) {
|
||||||
const bmp_font_t *bm_font = reinterpret_cast<const bmp_font_t *>(p_font_data);
|
const bmp_font_t *bm_font = static_cast<const bmp_font_t *>(p_font_data);
|
||||||
|
|
||||||
if (!bm_font->face) {
|
if (!bm_font->face) {
|
||||||
return false;
|
return false;
|
||||||
@ -114,7 +114,7 @@ hb_bool_t TextServerAdvanced::_bmp_get_nominal_glyph(hb_font_t *p_font, void *p_
|
|||||||
}
|
}
|
||||||
|
|
||||||
hb_position_t TextServerAdvanced::_bmp_get_glyph_h_advance(hb_font_t *p_font, void *p_font_data, hb_codepoint_t p_glyph, void *p_user_data) {
|
hb_position_t TextServerAdvanced::_bmp_get_glyph_h_advance(hb_font_t *p_font, void *p_font_data, hb_codepoint_t p_glyph, void *p_user_data) {
|
||||||
const bmp_font_t *bm_font = reinterpret_cast<const bmp_font_t *>(p_font_data);
|
const bmp_font_t *bm_font = static_cast<const bmp_font_t *>(p_font_data);
|
||||||
|
|
||||||
if (!bm_font->face) {
|
if (!bm_font->face) {
|
||||||
return 0;
|
return 0;
|
||||||
@ -128,7 +128,7 @@ hb_position_t TextServerAdvanced::_bmp_get_glyph_h_advance(hb_font_t *p_font, vo
|
|||||||
}
|
}
|
||||||
|
|
||||||
hb_position_t TextServerAdvanced::_bmp_get_glyph_v_advance(hb_font_t *p_font, void *p_font_data, hb_codepoint_t p_glyph, void *p_user_data) {
|
hb_position_t TextServerAdvanced::_bmp_get_glyph_v_advance(hb_font_t *p_font, void *p_font_data, hb_codepoint_t p_glyph, void *p_user_data) {
|
||||||
const bmp_font_t *bm_font = reinterpret_cast<const bmp_font_t *>(p_font_data);
|
const bmp_font_t *bm_font = static_cast<const bmp_font_t *>(p_font_data);
|
||||||
|
|
||||||
if (!bm_font->face) {
|
if (!bm_font->face) {
|
||||||
return 0;
|
return 0;
|
||||||
@ -142,7 +142,7 @@ hb_position_t TextServerAdvanced::_bmp_get_glyph_v_advance(hb_font_t *p_font, vo
|
|||||||
}
|
}
|
||||||
|
|
||||||
hb_position_t TextServerAdvanced::_bmp_get_glyph_h_kerning(hb_font_t *p_font, void *p_font_data, hb_codepoint_t p_left_glyph, hb_codepoint_t p_right_glyph, void *p_user_data) {
|
hb_position_t TextServerAdvanced::_bmp_get_glyph_h_kerning(hb_font_t *p_font, void *p_font_data, hb_codepoint_t p_left_glyph, hb_codepoint_t p_right_glyph, void *p_user_data) {
|
||||||
const bmp_font_t *bm_font = reinterpret_cast<const bmp_font_t *>(p_font_data);
|
const bmp_font_t *bm_font = static_cast<const bmp_font_t *>(p_font_data);
|
||||||
|
|
||||||
if (!bm_font->face) {
|
if (!bm_font->face) {
|
||||||
return 0;
|
return 0;
|
||||||
@ -156,7 +156,7 @@ hb_position_t TextServerAdvanced::_bmp_get_glyph_h_kerning(hb_font_t *p_font, vo
|
|||||||
}
|
}
|
||||||
|
|
||||||
hb_bool_t TextServerAdvanced::_bmp_get_glyph_v_origin(hb_font_t *p_font, void *p_font_data, hb_codepoint_t p_glyph, hb_position_t *r_x, hb_position_t *r_y, void *p_user_data) {
|
hb_bool_t TextServerAdvanced::_bmp_get_glyph_v_origin(hb_font_t *p_font, void *p_font_data, hb_codepoint_t p_glyph, hb_position_t *r_x, hb_position_t *r_y, void *p_user_data) {
|
||||||
const bmp_font_t *bm_font = reinterpret_cast<const bmp_font_t *>(p_font_data);
|
const bmp_font_t *bm_font = static_cast<const bmp_font_t *>(p_font_data);
|
||||||
|
|
||||||
if (!bm_font->face) {
|
if (!bm_font->face) {
|
||||||
return false;
|
return false;
|
||||||
@ -173,7 +173,7 @@ hb_bool_t TextServerAdvanced::_bmp_get_glyph_v_origin(hb_font_t *p_font, void *p
|
|||||||
}
|
}
|
||||||
|
|
||||||
hb_bool_t TextServerAdvanced::_bmp_get_glyph_extents(hb_font_t *p_font, void *p_font_data, hb_codepoint_t p_glyph, hb_glyph_extents_t *r_extents, void *p_user_data) {
|
hb_bool_t TextServerAdvanced::_bmp_get_glyph_extents(hb_font_t *p_font, void *p_font_data, hb_codepoint_t p_glyph, hb_glyph_extents_t *r_extents, void *p_user_data) {
|
||||||
const bmp_font_t *bm_font = reinterpret_cast<const bmp_font_t *>(p_font_data);
|
const bmp_font_t *bm_font = static_cast<const bmp_font_t *>(p_font_data);
|
||||||
|
|
||||||
if (!bm_font->face) {
|
if (!bm_font->face) {
|
||||||
return false;
|
return false;
|
||||||
@ -192,7 +192,7 @@ hb_bool_t TextServerAdvanced::_bmp_get_glyph_extents(hb_font_t *p_font, void *p_
|
|||||||
}
|
}
|
||||||
|
|
||||||
hb_bool_t TextServerAdvanced::_bmp_get_font_h_extents(hb_font_t *p_font, void *p_font_data, hb_font_extents_t *r_metrics, void *p_user_data) {
|
hb_bool_t TextServerAdvanced::_bmp_get_font_h_extents(hb_font_t *p_font, void *p_font_data, hb_font_extents_t *r_metrics, void *p_user_data) {
|
||||||
const bmp_font_t *bm_font = reinterpret_cast<const bmp_font_t *>(p_font_data);
|
const bmp_font_t *bm_font = static_cast<const bmp_font_t *>(p_font_data);
|
||||||
|
|
||||||
if (!bm_font->face) {
|
if (!bm_font->face) {
|
||||||
return false;
|
return false;
|
||||||
@ -910,7 +910,7 @@ static msdfgen::Point2 ft_point2(const FT_Vector &vector) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int ft_move_to(const FT_Vector *to, void *user) {
|
static int ft_move_to(const FT_Vector *to, void *user) {
|
||||||
MSContext *context = reinterpret_cast<MSContext *>(user);
|
MSContext *context = static_cast<MSContext *>(user);
|
||||||
if (!(context->contour && context->contour->edges.empty())) {
|
if (!(context->contour && context->contour->edges.empty())) {
|
||||||
context->contour = &context->shape->addContour();
|
context->contour = &context->shape->addContour();
|
||||||
}
|
}
|
||||||
@ -919,7 +919,7 @@ static int ft_move_to(const FT_Vector *to, void *user) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int ft_line_to(const FT_Vector *to, void *user) {
|
static int ft_line_to(const FT_Vector *to, void *user) {
|
||||||
MSContext *context = reinterpret_cast<MSContext *>(user);
|
MSContext *context = static_cast<MSContext *>(user);
|
||||||
msdfgen::Point2 endpoint = ft_point2(*to);
|
msdfgen::Point2 endpoint = ft_point2(*to);
|
||||||
if (endpoint != context->position) {
|
if (endpoint != context->position) {
|
||||||
context->contour->addEdge(new msdfgen::LinearSegment(context->position, endpoint));
|
context->contour->addEdge(new msdfgen::LinearSegment(context->position, endpoint));
|
||||||
@ -929,21 +929,21 @@ static int ft_line_to(const FT_Vector *to, void *user) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int ft_conic_to(const FT_Vector *control, const FT_Vector *to, void *user) {
|
static int ft_conic_to(const FT_Vector *control, const FT_Vector *to, void *user) {
|
||||||
MSContext *context = reinterpret_cast<MSContext *>(user);
|
MSContext *context = static_cast<MSContext *>(user);
|
||||||
context->contour->addEdge(new msdfgen::QuadraticSegment(context->position, ft_point2(*control), ft_point2(*to)));
|
context->contour->addEdge(new msdfgen::QuadraticSegment(context->position, ft_point2(*control), ft_point2(*to)));
|
||||||
context->position = ft_point2(*to);
|
context->position = ft_point2(*to);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ft_cubic_to(const FT_Vector *control1, const FT_Vector *control2, const FT_Vector *to, void *user) {
|
static int ft_cubic_to(const FT_Vector *control1, const FT_Vector *control2, const FT_Vector *to, void *user) {
|
||||||
MSContext *context = reinterpret_cast<MSContext *>(user);
|
MSContext *context = static_cast<MSContext *>(user);
|
||||||
context->contour->addEdge(new msdfgen::CubicSegment(context->position, ft_point2(*control1), ft_point2(*control2), ft_point2(*to)));
|
context->contour->addEdge(new msdfgen::CubicSegment(context->position, ft_point2(*control1), ft_point2(*control2), ft_point2(*to)));
|
||||||
context->position = ft_point2(*to);
|
context->position = ft_point2(*to);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TextServerAdvanced::_generateMTSDF_threaded(uint32_t y, void *p_td) const {
|
void TextServerAdvanced::_generateMTSDF_threaded(uint32_t y, void *p_td) const {
|
||||||
MSDFThreadData *td = (MSDFThreadData *)p_td;
|
MSDFThreadData *td = static_cast<MSDFThreadData *>(p_td);
|
||||||
|
|
||||||
msdfgen::ShapeDistanceFinder<msdfgen::OverlappingContourCombiner<msdfgen::MultiAndTrueDistanceSelector>> distanceFinder(*td->shape);
|
msdfgen::ShapeDistanceFinder<msdfgen::OverlappingContourCombiner<msdfgen::MultiAndTrueDistanceSelector>> distanceFinder(*td->shape);
|
||||||
int row = td->shape->inverseYAxis ? td->output->height() - y - 1 : y;
|
int row = td->shape->inverseYAxis ? td->output->height() - y - 1 : y;
|
||||||
@ -1860,9 +1860,7 @@ void TextServerAdvanced::font_set_fixed_size(const RID &p_font_rid, int64_t p_fi
|
|||||||
ERR_FAIL_COND(!fd);
|
ERR_FAIL_COND(!fd);
|
||||||
|
|
||||||
MutexLock lock(fd->mutex);
|
MutexLock lock(fd->mutex);
|
||||||
if (fd->fixed_size != p_fixed_size) {
|
fd->fixed_size = p_fixed_size;
|
||||||
fd->fixed_size = p_fixed_size;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int64_t TextServerAdvanced::font_get_fixed_size(const RID &p_font_rid) const {
|
int64_t TextServerAdvanced::font_get_fixed_size(const RID &p_font_rid) const {
|
||||||
@ -1916,9 +1914,7 @@ void TextServerAdvanced::font_set_subpixel_positioning(const RID &p_font_rid, Te
|
|||||||
ERR_FAIL_COND(!fd);
|
ERR_FAIL_COND(!fd);
|
||||||
|
|
||||||
MutexLock lock(fd->mutex);
|
MutexLock lock(fd->mutex);
|
||||||
if (fd->subpixel_positioning != p_subpixel) {
|
fd->subpixel_positioning = p_subpixel;
|
||||||
fd->subpixel_positioning = p_subpixel;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TextServer::SubpixelPositioning TextServerAdvanced::font_get_subpixel_positioning(const RID &p_font_rid) const {
|
TextServer::SubpixelPositioning TextServerAdvanced::font_get_subpixel_positioning(const RID &p_font_rid) const {
|
||||||
@ -2574,10 +2570,10 @@ Dictionary TextServerAdvanced::font_get_glyph_contours(const RID &p_font_rid, in
|
|||||||
|
|
||||||
ERR_FAIL_COND_V(!_ensure_cache_for_size(fd, size), Dictionary());
|
ERR_FAIL_COND_V(!_ensure_cache_for_size(fd, size), Dictionary());
|
||||||
|
|
||||||
|
#ifdef MODULE_FREETYPE_ENABLED
|
||||||
PackedVector3Array points;
|
PackedVector3Array points;
|
||||||
PackedInt32Array contours;
|
PackedInt32Array contours;
|
||||||
bool orientation;
|
|
||||||
#ifdef MODULE_FREETYPE_ENABLED
|
|
||||||
int32_t index = p_index & 0xffffff; // Remove subpixel shifts.
|
int32_t index = p_index & 0xffffff; // Remove subpixel shifts.
|
||||||
|
|
||||||
int error = FT_Load_Glyph(fd->cache[size]->face, index, FT_LOAD_NO_BITMAP | (fd->force_autohinter ? FT_LOAD_FORCE_AUTOHINT : 0));
|
int error = FT_Load_Glyph(fd->cache[size]->face, index, FT_LOAD_NO_BITMAP | (fd->force_autohinter ? FT_LOAD_FORCE_AUTOHINT : 0));
|
||||||
@ -2594,16 +2590,16 @@ Dictionary TextServerAdvanced::font_get_glyph_contours(const RID &p_font_rid, in
|
|||||||
for (short i = 0; i < fd->cache[size]->face->glyph->outline.n_contours; i++) {
|
for (short i = 0; i < fd->cache[size]->face->glyph->outline.n_contours; i++) {
|
||||||
contours.push_back(fd->cache[size]->face->glyph->outline.contours[i]);
|
contours.push_back(fd->cache[size]->face->glyph->outline.contours[i]);
|
||||||
}
|
}
|
||||||
orientation = (FT_Outline_Get_Orientation(&fd->cache[size]->face->glyph->outline) == FT_ORIENTATION_FILL_RIGHT);
|
bool orientation = (FT_Outline_Get_Orientation(&fd->cache[size]->face->glyph->outline) == FT_ORIENTATION_FILL_RIGHT);
|
||||||
#else
|
|
||||||
return Dictionary();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
Dictionary out;
|
Dictionary out;
|
||||||
out["points"] = points;
|
out["points"] = points;
|
||||||
out["contours"] = contours;
|
out["contours"] = contours;
|
||||||
out["orientation"] = orientation;
|
out["orientation"] = orientation;
|
||||||
return out;
|
return out;
|
||||||
|
#else
|
||||||
|
return Dictionary();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
Array TextServerAdvanced::font_get_kerning_list(const RID &p_font_rid, int64_t p_size) const {
|
Array TextServerAdvanced::font_get_kerning_list(const RID &p_font_rid, int64_t p_size) const {
|
||||||
@ -3878,9 +3874,9 @@ double TextServerAdvanced::shaped_text_fit_to_width(const RID &p_shaped, double
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
double adv_remain = 0;
|
|
||||||
if ((space_count > 0) && ((p_jst_flags & JUSTIFICATION_WORD_BOUND) == JUSTIFICATION_WORD_BOUND)) {
|
if ((space_count > 0) && ((p_jst_flags & JUSTIFICATION_WORD_BOUND) == JUSTIFICATION_WORD_BOUND)) {
|
||||||
double delta_width_per_space = (p_width - justification_width) / space_count;
|
double delta_width_per_space = (p_width - justification_width) / space_count;
|
||||||
|
double adv_remain = 0;
|
||||||
for (int i = start_pos; i <= end_pos; i++) {
|
for (int i = start_pos; i <= end_pos; i++) {
|
||||||
Glyph &gl = sd->glyphs.write[i];
|
Glyph &gl = sd->glyphs.write[i];
|
||||||
if (gl.count > 0) {
|
if (gl.count > 0) {
|
||||||
|
@ -352,7 +352,7 @@ static msdfgen::Point2 ft_point2(const FT_Vector &vector) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int ft_move_to(const FT_Vector *to, void *user) {
|
static int ft_move_to(const FT_Vector *to, void *user) {
|
||||||
MSContext *context = reinterpret_cast<MSContext *>(user);
|
MSContext *context = static_cast<MSContext *>(user);
|
||||||
if (!(context->contour && context->contour->edges.empty())) {
|
if (!(context->contour && context->contour->edges.empty())) {
|
||||||
context->contour = &context->shape->addContour();
|
context->contour = &context->shape->addContour();
|
||||||
}
|
}
|
||||||
@ -361,7 +361,7 @@ static int ft_move_to(const FT_Vector *to, void *user) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int ft_line_to(const FT_Vector *to, void *user) {
|
static int ft_line_to(const FT_Vector *to, void *user) {
|
||||||
MSContext *context = reinterpret_cast<MSContext *>(user);
|
MSContext *context = static_cast<MSContext *>(user);
|
||||||
msdfgen::Point2 endpoint = ft_point2(*to);
|
msdfgen::Point2 endpoint = ft_point2(*to);
|
||||||
if (endpoint != context->position) {
|
if (endpoint != context->position) {
|
||||||
context->contour->addEdge(new msdfgen::LinearSegment(context->position, endpoint));
|
context->contour->addEdge(new msdfgen::LinearSegment(context->position, endpoint));
|
||||||
@ -371,21 +371,21 @@ static int ft_line_to(const FT_Vector *to, void *user) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int ft_conic_to(const FT_Vector *control, const FT_Vector *to, void *user) {
|
static int ft_conic_to(const FT_Vector *control, const FT_Vector *to, void *user) {
|
||||||
MSContext *context = reinterpret_cast<MSContext *>(user);
|
MSContext *context = static_cast<MSContext *>(user);
|
||||||
context->contour->addEdge(new msdfgen::QuadraticSegment(context->position, ft_point2(*control), ft_point2(*to)));
|
context->contour->addEdge(new msdfgen::QuadraticSegment(context->position, ft_point2(*control), ft_point2(*to)));
|
||||||
context->position = ft_point2(*to);
|
context->position = ft_point2(*to);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ft_cubic_to(const FT_Vector *control1, const FT_Vector *control2, const FT_Vector *to, void *user) {
|
static int ft_cubic_to(const FT_Vector *control1, const FT_Vector *control2, const FT_Vector *to, void *user) {
|
||||||
MSContext *context = reinterpret_cast<MSContext *>(user);
|
MSContext *context = static_cast<MSContext *>(user);
|
||||||
context->contour->addEdge(new msdfgen::CubicSegment(context->position, ft_point2(*control1), ft_point2(*control2), ft_point2(*to)));
|
context->contour->addEdge(new msdfgen::CubicSegment(context->position, ft_point2(*control1), ft_point2(*control2), ft_point2(*to)));
|
||||||
context->position = ft_point2(*to);
|
context->position = ft_point2(*to);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TextServerFallback::_generateMTSDF_threaded(uint32_t y, void *p_td) const {
|
void TextServerFallback::_generateMTSDF_threaded(uint32_t y, void *p_td) const {
|
||||||
MSDFThreadData *td = (MSDFThreadData *)p_td;
|
MSDFThreadData *td = static_cast<MSDFThreadData *>(p_td);
|
||||||
|
|
||||||
msdfgen::ShapeDistanceFinder<msdfgen::OverlappingContourCombiner<msdfgen::MultiAndTrueDistanceSelector>> distanceFinder(*td->shape);
|
msdfgen::ShapeDistanceFinder<msdfgen::OverlappingContourCombiner<msdfgen::MultiAndTrueDistanceSelector>> distanceFinder(*td->shape);
|
||||||
int row = td->shape->inverseYAxis ? td->output->height() - y - 1 : y;
|
int row = td->shape->inverseYAxis ? td->output->height() - y - 1 : y;
|
||||||
@ -1021,9 +1021,7 @@ void TextServerFallback::font_set_fixed_size(const RID &p_font_rid, int64_t p_fi
|
|||||||
ERR_FAIL_COND(!fd);
|
ERR_FAIL_COND(!fd);
|
||||||
|
|
||||||
MutexLock lock(fd->mutex);
|
MutexLock lock(fd->mutex);
|
||||||
if (fd->fixed_size != p_fixed_size) {
|
fd->fixed_size = p_fixed_size;
|
||||||
fd->fixed_size = p_fixed_size;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int64_t TextServerFallback::font_get_fixed_size(const RID &p_font_rid) const {
|
int64_t TextServerFallback::font_get_fixed_size(const RID &p_font_rid) const {
|
||||||
@ -1077,9 +1075,7 @@ void TextServerFallback::font_set_subpixel_positioning(const RID &p_font_rid, Te
|
|||||||
ERR_FAIL_COND(!fd);
|
ERR_FAIL_COND(!fd);
|
||||||
|
|
||||||
MutexLock lock(fd->mutex);
|
MutexLock lock(fd->mutex);
|
||||||
if (fd->subpixel_positioning != p_subpixel) {
|
fd->subpixel_positioning = p_subpixel;
|
||||||
fd->subpixel_positioning = p_subpixel;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TextServer::SubpixelPositioning TextServerFallback::font_get_subpixel_positioning(const RID &p_font_rid) const {
|
TextServer::SubpixelPositioning TextServerFallback::font_get_subpixel_positioning(const RID &p_font_rid) const {
|
||||||
@ -1721,10 +1717,10 @@ Dictionary TextServerFallback::font_get_glyph_contours(const RID &p_font_rid, in
|
|||||||
|
|
||||||
ERR_FAIL_COND_V(!_ensure_cache_for_size(fd, size), Dictionary());
|
ERR_FAIL_COND_V(!_ensure_cache_for_size(fd, size), Dictionary());
|
||||||
|
|
||||||
|
#ifdef MODULE_FREETYPE_ENABLED
|
||||||
PackedVector3Array points;
|
PackedVector3Array points;
|
||||||
PackedInt32Array contours;
|
PackedInt32Array contours;
|
||||||
bool orientation;
|
|
||||||
#ifdef MODULE_FREETYPE_ENABLED
|
|
||||||
int32_t index = p_index & 0xffffff; // Remove subpixel shifts.
|
int32_t index = p_index & 0xffffff; // Remove subpixel shifts.
|
||||||
|
|
||||||
int error = FT_Load_Glyph(fd->cache[size]->face, FT_Get_Char_Index(fd->cache[size]->face, index), FT_LOAD_NO_BITMAP | (fd->force_autohinter ? FT_LOAD_FORCE_AUTOHINT : 0));
|
int error = FT_Load_Glyph(fd->cache[size]->face, FT_Get_Char_Index(fd->cache[size]->face, index), FT_LOAD_NO_BITMAP | (fd->force_autohinter ? FT_LOAD_FORCE_AUTOHINT : 0));
|
||||||
@ -1741,16 +1737,16 @@ Dictionary TextServerFallback::font_get_glyph_contours(const RID &p_font_rid, in
|
|||||||
for (short i = 0; i < fd->cache[size]->face->glyph->outline.n_contours; i++) {
|
for (short i = 0; i < fd->cache[size]->face->glyph->outline.n_contours; i++) {
|
||||||
contours.push_back(fd->cache[size]->face->glyph->outline.contours[i]);
|
contours.push_back(fd->cache[size]->face->glyph->outline.contours[i]);
|
||||||
}
|
}
|
||||||
orientation = (FT_Outline_Get_Orientation(&fd->cache[size]->face->glyph->outline) == FT_ORIENTATION_FILL_RIGHT);
|
bool orientation = (FT_Outline_Get_Orientation(&fd->cache[size]->face->glyph->outline) == FT_ORIENTATION_FILL_RIGHT);
|
||||||
#else
|
|
||||||
return Dictionary();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
Dictionary out;
|
Dictionary out;
|
||||||
out["points"] = points;
|
out["points"] = points;
|
||||||
out["contours"] = contours;
|
out["contours"] = contours;
|
||||||
out["orientation"] = orientation;
|
out["orientation"] = orientation;
|
||||||
return out;
|
return out;
|
||||||
|
#else
|
||||||
|
return Dictionary();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
Array TextServerFallback::font_get_kerning_list(const RID &p_font_rid, int64_t p_size) const {
|
Array TextServerFallback::font_get_kerning_list(const RID &p_font_rid, int64_t p_size) const {
|
||||||
|
@ -627,7 +627,7 @@ int VideoStreamPlaybackTheora::get_mix_rate() const {
|
|||||||
#ifdef THEORA_USE_THREAD_STREAMING
|
#ifdef THEORA_USE_THREAD_STREAMING
|
||||||
|
|
||||||
void VideoStreamPlaybackTheora::_streaming_thread(void *ud) {
|
void VideoStreamPlaybackTheora::_streaming_thread(void *ud) {
|
||||||
VideoStreamPlaybackTheora *vs = (VideoStreamPlaybackTheora *)ud;
|
VideoStreamPlaybackTheora *vs = static_cast<VideoStreamPlaybackTheora *>(ud);
|
||||||
|
|
||||||
while (!vs->thread_exit) {
|
while (!vs->thread_exit) {
|
||||||
//just fill back the buffer
|
//just fill back the buffer
|
||||||
|
@ -1185,11 +1185,11 @@ public:
|
|||||||
|
|
||||||
VisualScriptBuiltinFunc::BuiltinFunc func;
|
VisualScriptBuiltinFunc::BuiltinFunc func;
|
||||||
|
|
||||||
//virtual int get_working_memory_size() const { return 0; }
|
//virtual int get_working_memory_size() const override { return 0; }
|
||||||
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
|
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
|
||||||
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return true; }
|
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return true; }
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
VisualScriptBuiltinFunc::exec_func(func, p_inputs, p_outputs[0], r_error, r_error_str);
|
VisualScriptBuiltinFunc::exec_func(func, p_inputs, p_outputs[0], r_error, r_error_str);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -1302,7 +1302,7 @@ public:
|
|||||||
VisualScriptInstance *instance;
|
VisualScriptInstance *instance;
|
||||||
VisualScriptExpression *expression;
|
VisualScriptExpression *expression;
|
||||||
|
|
||||||
//virtual int get_working_memory_size() const { return 0; }
|
//virtual int get_working_memory_size() const override { return 0; }
|
||||||
//execute by parsing the tree directly
|
//execute by parsing the tree directly
|
||||||
virtual bool _execute(const Variant **p_inputs, VisualScriptExpression::ENode *p_node, Variant &r_ret, String &r_error_str, Callable::CallError &ce) {
|
virtual bool _execute(const Variant **p_inputs, VisualScriptExpression::ENode *p_node, Variant &r_ret, String &r_error_str, Callable::CallError &ce) {
|
||||||
switch (p_node->type) {
|
switch (p_node->type) {
|
||||||
@ -1512,7 +1512,7 @@ public:
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
if (!expression->root || expression->error_set) {
|
if (!expression->root || expression->error_set) {
|
||||||
r_error_str = expression->error_str;
|
r_error_str = expression->error_str;
|
||||||
r_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD;
|
r_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD;
|
||||||
|
@ -123,11 +123,11 @@ public:
|
|||||||
VisualScriptInstance *instance;
|
VisualScriptInstance *instance;
|
||||||
bool with_value;
|
bool with_value;
|
||||||
|
|
||||||
virtual int get_working_memory_size() const { return 1; }
|
virtual int get_working_memory_size() const override { return 1; }
|
||||||
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
|
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
|
||||||
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return true; }
|
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return true; }
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
if (with_value) {
|
if (with_value) {
|
||||||
*p_working_mem = *p_inputs[0];
|
*p_working_mem = *p_inputs[0];
|
||||||
return STEP_EXIT_FUNCTION_BIT;
|
return STEP_EXIT_FUNCTION_BIT;
|
||||||
@ -216,11 +216,11 @@ public:
|
|||||||
VisualScriptCondition *node;
|
VisualScriptCondition *node;
|
||||||
VisualScriptInstance *instance;
|
VisualScriptInstance *instance;
|
||||||
|
|
||||||
//virtual int get_working_memory_size() const { return 1; }
|
//virtual int get_working_memory_size() const override { return 1; }
|
||||||
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
|
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
|
||||||
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return true; }
|
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return true; }
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
if (p_start_mode == START_MODE_CONTINUE_SEQUENCE) {
|
if (p_start_mode == START_MODE_CONTINUE_SEQUENCE) {
|
||||||
return 2;
|
return 2;
|
||||||
} else if (p_inputs[0]->operator bool()) {
|
} else if (p_inputs[0]->operator bool()) {
|
||||||
@ -296,11 +296,11 @@ public:
|
|||||||
VisualScriptWhile *node;
|
VisualScriptWhile *node;
|
||||||
VisualScriptInstance *instance;
|
VisualScriptInstance *instance;
|
||||||
|
|
||||||
//virtual int get_working_memory_size() const { return 1; }
|
//virtual int get_working_memory_size() const override { return 1; }
|
||||||
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
|
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
|
||||||
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return true; }
|
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return true; }
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
bool keep_going = p_inputs[0]->operator bool();
|
bool keep_going = p_inputs[0]->operator bool();
|
||||||
|
|
||||||
if (keep_going) {
|
if (keep_going) {
|
||||||
@ -379,11 +379,11 @@ public:
|
|||||||
VisualScriptIterator *node;
|
VisualScriptIterator *node;
|
||||||
VisualScriptInstance *instance;
|
VisualScriptInstance *instance;
|
||||||
|
|
||||||
virtual int get_working_memory_size() const { return 2; }
|
virtual int get_working_memory_size() const override { return 2; }
|
||||||
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
|
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
|
||||||
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return true; }
|
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return true; }
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
if (p_start_mode == START_MODE_BEGIN_SEQUENCE) {
|
if (p_start_mode == START_MODE_BEGIN_SEQUENCE) {
|
||||||
p_working_mem[0] = *p_inputs[0];
|
p_working_mem[0] = *p_inputs[0];
|
||||||
bool valid;
|
bool valid;
|
||||||
@ -512,11 +512,11 @@ public:
|
|||||||
VisualScriptInstance *instance;
|
VisualScriptInstance *instance;
|
||||||
int steps;
|
int steps;
|
||||||
|
|
||||||
virtual int get_working_memory_size() const { return 1; }
|
virtual int get_working_memory_size() const override { return 1; }
|
||||||
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
|
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
|
||||||
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return true; }
|
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return true; }
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
if (p_start_mode == START_MODE_BEGIN_SEQUENCE) {
|
if (p_start_mode == START_MODE_BEGIN_SEQUENCE) {
|
||||||
p_working_mem[0] = 0;
|
p_working_mem[0] = 0;
|
||||||
}
|
}
|
||||||
@ -599,11 +599,11 @@ public:
|
|||||||
VisualScriptInstance *instance;
|
VisualScriptInstance *instance;
|
||||||
int case_count;
|
int case_count;
|
||||||
|
|
||||||
//virtual int get_working_memory_size() const { return 0; }
|
//virtual int get_working_memory_size() const override { return 0; }
|
||||||
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
|
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
|
||||||
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return false; }
|
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return false; }
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
if (p_start_mode == START_MODE_CONTINUE_SEQUENCE) {
|
if (p_start_mode == START_MODE_CONTINUE_SEQUENCE) {
|
||||||
return case_count; //exit
|
return case_count; //exit
|
||||||
}
|
}
|
||||||
@ -778,11 +778,11 @@ public:
|
|||||||
StringName base_type;
|
StringName base_type;
|
||||||
String script;
|
String script;
|
||||||
|
|
||||||
//virtual int get_working_memory_size() const { return 0; }
|
//virtual int get_working_memory_size() const override { return 0; }
|
||||||
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
|
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
|
||||||
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return false; }
|
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return false; }
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
Object *obj = *p_inputs[0];
|
Object *obj = *p_inputs[0];
|
||||||
|
|
||||||
*p_outputs[0] = Variant();
|
*p_outputs[0] = Variant();
|
||||||
|
@ -730,7 +730,7 @@ public:
|
|||||||
VisualScriptFunctionCall *node;
|
VisualScriptFunctionCall *node;
|
||||||
VisualScriptInstance *instance;
|
VisualScriptInstance *instance;
|
||||||
|
|
||||||
//virtual int get_working_memory_size() const { return 0; }
|
//virtual int get_working_memory_size() const override { return 0; }
|
||||||
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
|
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
|
||||||
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return true; }
|
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return true; }
|
||||||
|
|
||||||
@ -765,7 +765,7 @@ public:
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
switch (call_mode) {
|
switch (call_mode) {
|
||||||
case VisualScriptFunctionCall::CALL_MODE_SELF: {
|
case VisualScriptFunctionCall::CALL_MODE_SELF: {
|
||||||
Object *object = instance->get_owner_ptr();
|
Object *object = instance->get_owner_ptr();
|
||||||
@ -1468,7 +1468,7 @@ public:
|
|||||||
StringName index;
|
StringName index;
|
||||||
bool needs_get;
|
bool needs_get;
|
||||||
|
|
||||||
//virtual int get_working_memory_size() const { return 0; }
|
//virtual int get_working_memory_size() const override { return 0; }
|
||||||
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
|
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
|
||||||
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return true; }
|
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return true; }
|
||||||
|
|
||||||
@ -1529,7 +1529,7 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
switch (call_mode) {
|
switch (call_mode) {
|
||||||
case VisualScriptPropertySet::CALL_MODE_SELF: {
|
case VisualScriptPropertySet::CALL_MODE_SELF: {
|
||||||
Object *object = instance->get_owner_ptr();
|
Object *object = instance->get_owner_ptr();
|
||||||
@ -2155,7 +2155,7 @@ public:
|
|||||||
VisualScriptPropertyGet *node;
|
VisualScriptPropertyGet *node;
|
||||||
VisualScriptInstance *instance;
|
VisualScriptInstance *instance;
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
switch (call_mode) {
|
switch (call_mode) {
|
||||||
case VisualScriptPropertyGet::CALL_MODE_SELF: {
|
case VisualScriptPropertyGet::CALL_MODE_SELF: {
|
||||||
Object *object = instance->get_owner_ptr();
|
Object *object = instance->get_owner_ptr();
|
||||||
@ -2367,11 +2367,11 @@ public:
|
|||||||
int argcount;
|
int argcount;
|
||||||
StringName name;
|
StringName name;
|
||||||
|
|
||||||
//virtual int get_working_memory_size() const { return 0; }
|
//virtual int get_working_memory_size() const override { return 0; }
|
||||||
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
|
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
|
||||||
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return true; }
|
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return true; }
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
Object *obj = instance->get_owner_ptr();
|
Object *obj = instance->get_owner_ptr();
|
||||||
|
|
||||||
obj->emit_signalp(name, p_inputs, argcount);
|
obj->emit_signalp(name, p_inputs, argcount);
|
||||||
|
@ -274,9 +274,9 @@ public:
|
|||||||
VisualScriptFunction *node;
|
VisualScriptFunction *node;
|
||||||
VisualScriptInstance *instance;
|
VisualScriptInstance *instance;
|
||||||
|
|
||||||
//virtual int get_working_memory_size() const { return 0; }
|
//virtual int get_working_memory_size() const override { return 0; }
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
int ac = node->get_argument_count();
|
int ac = node->get_argument_count();
|
||||||
|
|
||||||
for (int i = 0; i < ac; i++) {
|
for (int i = 0; i < ac; i++) {
|
||||||
@ -777,9 +777,9 @@ String VisualScriptComposeArray::get_text() const {
|
|||||||
class VisualScriptComposeArrayNode : public VisualScriptNodeInstance {
|
class VisualScriptComposeArrayNode : public VisualScriptNodeInstance {
|
||||||
public:
|
public:
|
||||||
int input_count = 0;
|
int input_count = 0;
|
||||||
virtual int get_working_memory_size() const { return 0; }
|
virtual int get_working_memory_size() const override { return 0; }
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
if (input_count > 0) {
|
if (input_count > 0) {
|
||||||
Array arr;
|
Array arr;
|
||||||
for (int i = 0; i < input_count; i++) {
|
for (int i = 0; i < input_count; i++) {
|
||||||
@ -1100,9 +1100,9 @@ public:
|
|||||||
bool unary;
|
bool unary;
|
||||||
Variant::Operator op;
|
Variant::Operator op;
|
||||||
|
|
||||||
//virtual int get_working_memory_size() const { return 0; }
|
//virtual int get_working_memory_size() const override { return 0; }
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
bool valid;
|
bool valid;
|
||||||
if (unary) {
|
if (unary) {
|
||||||
Variant::evaluate(op, *p_inputs[0], Variant(), *p_outputs[0], valid);
|
Variant::evaluate(op, *p_inputs[0], Variant(), *p_outputs[0], valid);
|
||||||
@ -1220,9 +1220,9 @@ void VisualScriptSelect::_bind_methods() {
|
|||||||
|
|
||||||
class VisualScriptNodeInstanceSelect : public VisualScriptNodeInstance {
|
class VisualScriptNodeInstanceSelect : public VisualScriptNodeInstance {
|
||||||
public:
|
public:
|
||||||
//virtual int get_working_memory_size() const { return 0; }
|
//virtual int get_working_memory_size() const override { return 0; }
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
bool cond = *p_inputs[0];
|
bool cond = *p_inputs[0];
|
||||||
if (cond) {
|
if (cond) {
|
||||||
*p_outputs[0] = *p_inputs[1];
|
*p_outputs[0] = *p_inputs[1];
|
||||||
@ -1332,7 +1332,7 @@ public:
|
|||||||
VisualScriptInstance *instance;
|
VisualScriptInstance *instance;
|
||||||
StringName variable;
|
StringName variable;
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
if (!instance->get_variable(variable, p_outputs[0])) {
|
if (!instance->get_variable(variable, p_outputs[0])) {
|
||||||
r_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD;
|
r_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD;
|
||||||
r_error_str = RTR("VariableGet not found in script: ") + "'" + String(variable) + "'";
|
r_error_str = RTR("VariableGet not found in script: ") + "'" + String(variable) + "'";
|
||||||
@ -1442,9 +1442,9 @@ public:
|
|||||||
VisualScriptInstance *instance;
|
VisualScriptInstance *instance;
|
||||||
StringName variable;
|
StringName variable;
|
||||||
|
|
||||||
//virtual int get_working_memory_size() const { return 0; }
|
//virtual int get_working_memory_size() const override { return 0; }
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
if (!instance->set_variable(variable, *p_inputs[0])) {
|
if (!instance->set_variable(variable, *p_inputs[0])) {
|
||||||
r_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD;
|
r_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD;
|
||||||
r_error_str = RTR("VariableSet not found in script: ") + "'" + String(variable) + "'";
|
r_error_str = RTR("VariableSet not found in script: ") + "'" + String(variable) + "'";
|
||||||
@ -1561,9 +1561,9 @@ void VisualScriptConstant::_bind_methods() {
|
|||||||
class VisualScriptNodeInstanceConstant : public VisualScriptNodeInstance {
|
class VisualScriptNodeInstanceConstant : public VisualScriptNodeInstance {
|
||||||
public:
|
public:
|
||||||
Variant constant;
|
Variant constant;
|
||||||
//virtual int get_working_memory_size() const { return 0; }
|
//virtual int get_working_memory_size() const override { return 0; }
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
*p_outputs[0] = constant;
|
*p_outputs[0] = constant;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -1654,9 +1654,9 @@ void VisualScriptPreload::_bind_methods() {
|
|||||||
class VisualScriptNodeInstancePreload : public VisualScriptNodeInstance {
|
class VisualScriptNodeInstancePreload : public VisualScriptNodeInstance {
|
||||||
public:
|
public:
|
||||||
Ref<Resource> preload;
|
Ref<Resource> preload;
|
||||||
//virtual int get_working_memory_size() const { return 0; }
|
//virtual int get_working_memory_size() const override { return 0; }
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
*p_outputs[0] = preload;
|
*p_outputs[0] = preload;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -1713,9 +1713,9 @@ String VisualScriptIndexGet::get_caption() const {
|
|||||||
|
|
||||||
class VisualScriptNodeInstanceIndexGet : public VisualScriptNodeInstance {
|
class VisualScriptNodeInstanceIndexGet : public VisualScriptNodeInstance {
|
||||||
public:
|
public:
|
||||||
//virtual int get_working_memory_size() const { return 0; }
|
//virtual int get_working_memory_size() const override { return 0; }
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
bool valid;
|
bool valid;
|
||||||
*p_outputs[0] = p_inputs[0]->get(*p_inputs[1], &valid);
|
*p_outputs[0] = p_inputs[0]->get(*p_inputs[1], &valid);
|
||||||
|
|
||||||
@ -1780,9 +1780,9 @@ String VisualScriptIndexSet::get_caption() const {
|
|||||||
|
|
||||||
class VisualScriptNodeInstanceIndexSet : public VisualScriptNodeInstance {
|
class VisualScriptNodeInstanceIndexSet : public VisualScriptNodeInstance {
|
||||||
public:
|
public:
|
||||||
//virtual int get_working_memory_size() const { return 0; }
|
//virtual int get_working_memory_size() const override { return 0; }
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
bool valid;
|
bool valid;
|
||||||
((Variant *)p_inputs[0])->set(*p_inputs[1], *p_inputs[2], &valid);
|
((Variant *)p_inputs[0])->set(*p_inputs[1], *p_inputs[2], &valid);
|
||||||
|
|
||||||
@ -1852,9 +1852,9 @@ int VisualScriptGlobalConstant::get_global_constant() {
|
|||||||
class VisualScriptNodeInstanceGlobalConstant : public VisualScriptNodeInstance {
|
class VisualScriptNodeInstanceGlobalConstant : public VisualScriptNodeInstance {
|
||||||
public:
|
public:
|
||||||
int index;
|
int index;
|
||||||
//virtual int get_working_memory_size() const { return 0; }
|
//virtual int get_working_memory_size() const override { return 0; }
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
*p_outputs[0] = CoreConstants::get_global_constant_value(index);
|
*p_outputs[0] = CoreConstants::get_global_constant_value(index);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -1965,9 +1965,9 @@ class VisualScriptNodeInstanceClassConstant : public VisualScriptNodeInstance {
|
|||||||
public:
|
public:
|
||||||
int value;
|
int value;
|
||||||
bool valid;
|
bool valid;
|
||||||
//virtual int get_working_memory_size() const { return 0; }
|
//virtual int get_working_memory_size() const override { return 0; }
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
if (!valid) {
|
if (!valid) {
|
||||||
r_error_str = "Invalid constant name, pick a valid class constant.";
|
r_error_str = "Invalid constant name, pick a valid class constant.";
|
||||||
r_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD;
|
r_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD;
|
||||||
@ -2099,9 +2099,9 @@ class VisualScriptNodeInstanceBasicTypeConstant : public VisualScriptNodeInstanc
|
|||||||
public:
|
public:
|
||||||
Variant value;
|
Variant value;
|
||||||
bool valid;
|
bool valid;
|
||||||
//virtual int get_working_memory_size() const { return 0; }
|
//virtual int get_working_memory_size() const override { return 0; }
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
if (!valid) {
|
if (!valid) {
|
||||||
r_error_str = "Invalid constant name, pick a valid basic type constant.";
|
r_error_str = "Invalid constant name, pick a valid basic type constant.";
|
||||||
r_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD;
|
r_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD;
|
||||||
@ -2228,9 +2228,9 @@ VisualScriptMathConstant::MathConstant VisualScriptMathConstant::get_math_consta
|
|||||||
class VisualScriptNodeInstanceMathConstant : public VisualScriptNodeInstance {
|
class VisualScriptNodeInstanceMathConstant : public VisualScriptNodeInstance {
|
||||||
public:
|
public:
|
||||||
float value;
|
float value;
|
||||||
//virtual int get_working_memory_size() const { return 0; }
|
//virtual int get_working_memory_size() const override { return 0; }
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
*p_outputs[0] = value;
|
*p_outputs[0] = value;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -2322,9 +2322,9 @@ class VisualScriptNodeInstanceEngineSingleton : public VisualScriptNodeInstance
|
|||||||
public:
|
public:
|
||||||
Object *singleton;
|
Object *singleton;
|
||||||
|
|
||||||
//virtual int get_working_memory_size() const { return 0; }
|
//virtual int get_working_memory_size() const override { return 0; }
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
*p_outputs[0] = singleton;
|
*p_outputs[0] = singleton;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -2433,9 +2433,9 @@ public:
|
|||||||
VisualScriptInstance *instance;
|
VisualScriptInstance *instance;
|
||||||
NodePath path;
|
NodePath path;
|
||||||
|
|
||||||
//virtual int get_working_memory_size() const { return 0; }
|
//virtual int get_working_memory_size() const override { return 0; }
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
Node *node = Object::cast_to<Node>(instance->get_owner_ptr());
|
Node *node = Object::cast_to<Node>(instance->get_owner_ptr());
|
||||||
if (!node) {
|
if (!node) {
|
||||||
r_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD;
|
r_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD;
|
||||||
@ -2613,9 +2613,9 @@ public:
|
|||||||
VisualScriptSceneTree *node;
|
VisualScriptSceneTree *node;
|
||||||
VisualScriptInstance *instance;
|
VisualScriptInstance *instance;
|
||||||
|
|
||||||
//virtual int get_working_memory_size() const { return 0; }
|
//virtual int get_working_memory_size() const override { return 0; }
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
Node *node = Object::cast_to<Node>(instance->get_owner_ptr());
|
Node *node = Object::cast_to<Node>(instance->get_owner_ptr());
|
||||||
if (!node) {
|
if (!node) {
|
||||||
r_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD;
|
r_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD;
|
||||||
@ -2709,9 +2709,9 @@ class VisualScriptNodeInstanceResourcePath : public VisualScriptNodeInstance {
|
|||||||
public:
|
public:
|
||||||
String path;
|
String path;
|
||||||
|
|
||||||
//virtual int get_working_memory_size() const { return 0; }
|
//virtual int get_working_memory_size() const override { return 0; }
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
*p_outputs[0] = path;
|
*p_outputs[0] = path;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -2781,9 +2781,9 @@ class VisualScriptNodeInstanceSelf : public VisualScriptNodeInstance {
|
|||||||
public:
|
public:
|
||||||
VisualScriptInstance *instance;
|
VisualScriptInstance *instance;
|
||||||
|
|
||||||
//virtual int get_working_memory_size() const { return 0; }
|
//virtual int get_working_memory_size() const override { return 0; }
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
*p_outputs[0] = instance->get_owner_ptr();
|
*p_outputs[0] = instance->get_owner_ptr();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -2971,8 +2971,8 @@ public:
|
|||||||
int out_count;
|
int out_count;
|
||||||
int work_mem_size;
|
int work_mem_size;
|
||||||
|
|
||||||
virtual int get_working_memory_size() const { return work_mem_size; }
|
virtual int get_working_memory_size() const override { return work_mem_size; }
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
if (GDVIRTUAL_IS_OVERRIDDEN_PTR(node, _step)) {
|
if (GDVIRTUAL_IS_OVERRIDDEN_PTR(node, _step)) {
|
||||||
Array in_values;
|
Array in_values;
|
||||||
Array out_values;
|
Array out_values;
|
||||||
@ -3166,9 +3166,9 @@ public:
|
|||||||
int input_args;
|
int input_args;
|
||||||
bool valid;
|
bool valid;
|
||||||
|
|
||||||
//virtual int get_working_memory_size() const { return 0; }
|
//virtual int get_working_memory_size() const override { return 0; }
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
if (!valid) {
|
if (!valid) {
|
||||||
r_error_str = "Node requires a script with a _subcall(<args>) method to work.";
|
r_error_str = "Node requires a script with a _subcall(<args>) method to work.";
|
||||||
r_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD;
|
r_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD;
|
||||||
@ -3283,9 +3283,9 @@ class VisualScriptNodeInstanceComment : public VisualScriptNodeInstance {
|
|||||||
public:
|
public:
|
||||||
VisualScriptInstance *instance;
|
VisualScriptInstance *instance;
|
||||||
|
|
||||||
//virtual int get_working_memory_size() const { return 0; }
|
//virtual int get_working_memory_size() const override { return 0; }
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -3384,9 +3384,9 @@ public:
|
|||||||
Variant::Type type;
|
Variant::Type type;
|
||||||
int argcount;
|
int argcount;
|
||||||
|
|
||||||
//virtual int get_working_memory_size() const { return 0; }
|
//virtual int get_working_memory_size() const override { return 0; }
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
Callable::CallError ce;
|
Callable::CallError ce;
|
||||||
Variant::construct(type, *p_outputs[0], p_inputs, argcount, ce);
|
Variant::construct(type, *p_outputs[0], p_inputs, argcount, ce);
|
||||||
if (ce.error != Callable::CallError::CALL_OK) {
|
if (ce.error != Callable::CallError::CALL_OK) {
|
||||||
@ -3500,8 +3500,8 @@ public:
|
|||||||
VisualScriptInstance *instance;
|
VisualScriptInstance *instance;
|
||||||
StringName name;
|
StringName name;
|
||||||
|
|
||||||
virtual int get_working_memory_size() const { return 1; }
|
virtual int get_working_memory_size() const override { return 1; }
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
*p_outputs[0] = *p_working_mem;
|
*p_outputs[0] = *p_working_mem;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -3607,8 +3607,8 @@ public:
|
|||||||
VisualScriptInstance *instance;
|
VisualScriptInstance *instance;
|
||||||
StringName name;
|
StringName name;
|
||||||
|
|
||||||
virtual int get_working_memory_size() const { return 1; }
|
virtual int get_working_memory_size() const override { return 1; }
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
*p_working_mem = *p_inputs[0];
|
*p_working_mem = *p_inputs[0];
|
||||||
*p_outputs[0] = *p_working_mem;
|
*p_outputs[0] = *p_working_mem;
|
||||||
return 0;
|
return 0;
|
||||||
@ -3732,7 +3732,7 @@ public:
|
|||||||
StringName action;
|
StringName action;
|
||||||
VisualScriptInputAction::Mode mode;
|
VisualScriptInputAction::Mode mode;
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case VisualScriptInputAction::MODE_PRESSED: {
|
case VisualScriptInputAction::MODE_PRESSED: {
|
||||||
*p_outputs[0] = Input::get_singleton()->is_action_pressed(action);
|
*p_outputs[0] = Input::get_singleton()->is_action_pressed(action);
|
||||||
@ -3909,9 +3909,9 @@ public:
|
|||||||
VisualScriptInstance *instance;
|
VisualScriptInstance *instance;
|
||||||
Vector<StringName> outputs;
|
Vector<StringName> outputs;
|
||||||
|
|
||||||
//virtual int get_working_memory_size() const { return 0; }
|
//virtual int get_working_memory_size() const override { return 0; }
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
Variant in = *p_inputs[0];
|
Variant in = *p_inputs[0];
|
||||||
|
|
||||||
for (int i = 0; i < outputs.size(); i++) {
|
for (int i = 0; i < outputs.size(); i++) {
|
||||||
|
@ -95,11 +95,11 @@ public:
|
|||||||
VisualScriptYield::YieldMode mode;
|
VisualScriptYield::YieldMode mode;
|
||||||
double wait_time;
|
double wait_time;
|
||||||
|
|
||||||
virtual int get_working_memory_size() const { return 1; } //yield needs at least 1
|
virtual int get_working_memory_size() const override { return 1; } //yield needs at least 1
|
||||||
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
|
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
|
||||||
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return false; }
|
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return false; }
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
if (p_start_mode == START_MODE_RESUME_YIELD) {
|
if (p_start_mode == START_MODE_RESUME_YIELD) {
|
||||||
return 0; //resuming yield
|
return 0; //resuming yield
|
||||||
} else {
|
} else {
|
||||||
@ -506,11 +506,11 @@ public:
|
|||||||
VisualScriptYieldSignal *node;
|
VisualScriptYieldSignal *node;
|
||||||
VisualScriptInstance *instance;
|
VisualScriptInstance *instance;
|
||||||
|
|
||||||
virtual int get_working_memory_size() const { return 1; }
|
virtual int get_working_memory_size() const override { return 1; }
|
||||||
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
|
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
|
||||||
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return true; }
|
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return true; }
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override {
|
||||||
if (p_start_mode == START_MODE_RESUME_YIELD) {
|
if (p_start_mode == START_MODE_RESUME_YIELD) {
|
||||||
return 0; //resuming yield
|
return 0; //resuming yield
|
||||||
} else {
|
} else {
|
||||||
|
@ -63,16 +63,16 @@ private:
|
|||||||
static void _on_error(void *p_obj);
|
static void _on_error(void *p_obj);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
virtual ConnectionState get_connection_state() const;
|
virtual ConnectionState get_connection_state() const override;
|
||||||
|
|
||||||
virtual Error initialize(Dictionary configuration = Dictionary());
|
virtual Error initialize(Dictionary configuration = Dictionary()) override;
|
||||||
virtual Ref<WebRTCDataChannel> create_data_channel(String p_channel_name, Dictionary p_channel_config = Dictionary());
|
virtual Ref<WebRTCDataChannel> create_data_channel(String p_channel_name, Dictionary p_channel_config = Dictionary()) override;
|
||||||
virtual Error create_offer();
|
virtual Error create_offer() override;
|
||||||
virtual Error set_remote_description(String type, String sdp);
|
virtual Error set_remote_description(String type, String sdp) override;
|
||||||
virtual Error set_local_description(String type, String sdp);
|
virtual Error set_local_description(String type, String sdp) override;
|
||||||
virtual Error add_ice_candidate(String sdpMidName, int sdpMlineIndexName, String sdpName);
|
virtual Error add_ice_candidate(String sdpMidName, int sdpMlineIndexName, String sdpName) override;
|
||||||
virtual Error poll();
|
virtual Error poll() override;
|
||||||
virtual void close();
|
virtual void close() override;
|
||||||
|
|
||||||
WebRTCPeerConnectionJS();
|
WebRTCPeerConnectionJS();
|
||||||
~WebRTCPeerConnectionJS();
|
~WebRTCPeerConnectionJS();
|
||||||
|
@ -53,15 +53,15 @@ private:
|
|||||||
static void _esws_on_close(void *obj, int code, const char *reason, int was_clean);
|
static void _esws_on_close(void *obj, int code, const char *reason, int was_clean);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Error set_buffers(int p_in_buffer, int p_in_packets, int p_out_buffer, int p_out_packets);
|
Error set_buffers(int p_in_buffer, int p_in_packets, int p_out_buffer, int p_out_packets) override;
|
||||||
Error connect_to_host(String p_host, String p_path, uint16_t p_port, bool p_ssl, const Vector<String> p_protocol = Vector<String>(), const Vector<String> p_custom_headers = Vector<String>());
|
Error connect_to_host(String p_host, String p_path, uint16_t p_port, bool p_ssl, const Vector<String> p_protocol = Vector<String>(), const Vector<String> p_custom_headers = Vector<String>()) override;
|
||||||
Ref<WebSocketPeer> get_peer(int p_peer_id) const;
|
Ref<WebSocketPeer> get_peer(int p_peer_id) const override;
|
||||||
void disconnect_from_host(int p_code = 1000, String p_reason = "");
|
void disconnect_from_host(int p_code = 1000, String p_reason = "") override;
|
||||||
IPAddress get_connected_host() const;
|
IPAddress get_connected_host() const override;
|
||||||
uint16_t get_connected_port() const;
|
uint16_t get_connected_port() const override;
|
||||||
virtual ConnectionStatus get_connection_status() const;
|
virtual ConnectionStatus get_connection_status() const override;
|
||||||
int get_max_packet_size() const;
|
int get_max_packet_size() const override;
|
||||||
virtual void poll();
|
virtual void poll() override;
|
||||||
EMWSClient();
|
EMWSClient();
|
||||||
~EMWSClient();
|
~EMWSClient();
|
||||||
};
|
};
|
||||||
|
@ -68,21 +68,21 @@ private:
|
|||||||
public:
|
public:
|
||||||
Error read_msg(const uint8_t *p_data, uint32_t p_size, bool p_is_string);
|
Error read_msg(const uint8_t *p_data, uint32_t p_size, bool p_is_string);
|
||||||
void set_sock(int p_sock, unsigned int p_in_buf_size, unsigned int p_in_pkt_size, unsigned int p_out_buf_size);
|
void set_sock(int p_sock, unsigned int p_in_buf_size, unsigned int p_in_pkt_size, unsigned int p_out_buf_size);
|
||||||
virtual int get_available_packet_count() const;
|
virtual int get_available_packet_count() const override;
|
||||||
virtual Error get_packet(const uint8_t **r_buffer, int &r_buffer_size);
|
virtual Error get_packet(const uint8_t **r_buffer, int &r_buffer_size) override;
|
||||||
virtual Error put_packet(const uint8_t *p_buffer, int p_buffer_size);
|
virtual Error put_packet(const uint8_t *p_buffer, int p_buffer_size) override;
|
||||||
virtual int get_max_packet_size() const { return _packet_buffer.size(); };
|
virtual int get_max_packet_size() const override { return _packet_buffer.size(); };
|
||||||
virtual int get_current_outbound_buffered_amount() const;
|
virtual int get_current_outbound_buffered_amount() const override;
|
||||||
|
|
||||||
virtual void close(int p_code = 1000, String p_reason = "");
|
virtual void close(int p_code = 1000, String p_reason = "") override;
|
||||||
virtual bool is_connected_to_host() const;
|
virtual bool is_connected_to_host() const override;
|
||||||
virtual IPAddress get_connected_host() const;
|
virtual IPAddress get_connected_host() const override;
|
||||||
virtual uint16_t get_connected_port() const;
|
virtual uint16_t get_connected_port() const override;
|
||||||
|
|
||||||
virtual WriteMode get_write_mode() const;
|
virtual WriteMode get_write_mode() const override;
|
||||||
virtual void set_write_mode(WriteMode p_mode);
|
virtual void set_write_mode(WriteMode p_mode) override;
|
||||||
virtual bool was_string_packet() const;
|
virtual bool was_string_packet() const override;
|
||||||
virtual void set_no_delay(bool p_enabled);
|
virtual void set_no_delay(bool p_enabled) override;
|
||||||
|
|
||||||
EMWSPeer();
|
EMWSPeer();
|
||||||
~EMWSPeer();
|
~EMWSPeer();
|
||||||
|
@ -41,17 +41,17 @@ class EMWSServer : public WebSocketServer {
|
|||||||
GDCIIMPL(EMWSServer, WebSocketServer);
|
GDCIIMPL(EMWSServer, WebSocketServer);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Error set_buffers(int p_in_buffer, int p_in_packets, int p_out_buffer, int p_out_packets);
|
Error set_buffers(int p_in_buffer, int p_in_packets, int p_out_buffer, int p_out_packets) override;
|
||||||
Error listen(int p_port, Vector<String> p_protocols = Vector<String>(), bool gd_mp_api = false);
|
Error listen(int p_port, Vector<String> p_protocols = Vector<String>(), bool gd_mp_api = false) override;
|
||||||
void stop();
|
void stop() override;
|
||||||
bool is_listening() const;
|
bool is_listening() const override;
|
||||||
bool has_peer(int p_id) const;
|
bool has_peer(int p_id) const override;
|
||||||
Ref<WebSocketPeer> get_peer(int p_id) const;
|
Ref<WebSocketPeer> get_peer(int p_id) const override;
|
||||||
IPAddress get_peer_address(int p_peer_id) const;
|
IPAddress get_peer_address(int p_peer_id) const override;
|
||||||
int get_peer_port(int p_peer_id) const;
|
int get_peer_port(int p_peer_id) const override;
|
||||||
void disconnect_peer(int p_peer_id, int p_code = 1000, String p_reason = "");
|
void disconnect_peer(int p_peer_id, int p_code = 1000, String p_reason = "") override;
|
||||||
int get_max_packet_size() const;
|
int get_max_packet_size() const override;
|
||||||
virtual void poll();
|
virtual void poll() override;
|
||||||
virtual Vector<String> get_protocols() const;
|
virtual Vector<String> get_protocols() const;
|
||||||
|
|
||||||
EMWSServer();
|
EMWSServer();
|
||||||
|
@ -51,14 +51,14 @@ public:
|
|||||||
static RemoteDebuggerPeer *create(const String &p_uri);
|
static RemoteDebuggerPeer *create(const String &p_uri);
|
||||||
|
|
||||||
Error connect_to_host(const String &p_uri);
|
Error connect_to_host(const String &p_uri);
|
||||||
bool is_peer_connected();
|
bool is_peer_connected() override;
|
||||||
int get_max_message_size() const;
|
int get_max_message_size() const override;
|
||||||
bool has_message();
|
bool has_message() override;
|
||||||
Error put_message(const Array &p_arr);
|
Error put_message(const Array &p_arr) override;
|
||||||
Array get_message();
|
Array get_message() override;
|
||||||
void close();
|
void close() override;
|
||||||
void poll();
|
void poll() override;
|
||||||
bool can_block() const;
|
bool can_block() const override;
|
||||||
|
|
||||||
RemoteDebuggerPeerWebSocket(Ref<WebSocketPeer> p_peer = Ref<WebSocketPeer>());
|
RemoteDebuggerPeerWebSocket(Ref<WebSocketPeer> p_peer = Ref<WebSocketPeer>());
|
||||||
};
|
};
|
||||||
|
@ -73,15 +73,15 @@ private:
|
|||||||
bool _verify_headers(String &r_protocol);
|
bool _verify_headers(String &r_protocol);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Error set_buffers(int p_in_buffer, int p_in_packets, int p_out_buffer, int p_out_packets);
|
Error set_buffers(int p_in_buffer, int p_in_packets, int p_out_buffer, int p_out_packets) override;
|
||||||
Error connect_to_host(String p_host, String p_path, uint16_t p_port, bool p_ssl, const Vector<String> p_protocol = Vector<String>(), const Vector<String> p_custom_headers = Vector<String>());
|
Error connect_to_host(String p_host, String p_path, uint16_t p_port, bool p_ssl, const Vector<String> p_protocol = Vector<String>(), const Vector<String> p_custom_headers = Vector<String>()) override;
|
||||||
int get_max_packet_size() const;
|
int get_max_packet_size() const override;
|
||||||
Ref<WebSocketPeer> get_peer(int p_peer_id) const;
|
Ref<WebSocketPeer> get_peer(int p_peer_id) const override;
|
||||||
void disconnect_from_host(int p_code = 1000, String p_reason = "");
|
void disconnect_from_host(int p_code = 1000, String p_reason = "") override;
|
||||||
IPAddress get_connected_host() const;
|
IPAddress get_connected_host() const override;
|
||||||
uint16_t get_connected_port() const;
|
uint16_t get_connected_port() const override;
|
||||||
virtual ConnectionStatus get_connection_status() const;
|
virtual ConnectionStatus get_connection_status() const override;
|
||||||
virtual void poll();
|
virtual void poll() override;
|
||||||
|
|
||||||
WSLClient();
|
WSLClient();
|
||||||
~WSLClient();
|
~WSLClient();
|
||||||
|
@ -146,17 +146,17 @@ void wsl_msg_recv_callback(wslay_event_context_ptr ctx, const struct wslay_event
|
|||||||
if (!peer_data->valid || peer_data->closing) {
|
if (!peer_data->valid || peer_data->closing) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
WSLPeer *peer = (WSLPeer *)peer_data->peer;
|
WSLPeer *peer = static_cast<WSLPeer *>(peer_data->peer);
|
||||||
|
|
||||||
if (peer->parse_message(arg) != OK) {
|
if (peer->parse_message(arg) != OK) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (peer_data->is_server) {
|
if (peer_data->is_server) {
|
||||||
WSLServer *helper = (WSLServer *)peer_data->obj;
|
WSLServer *helper = static_cast<WSLServer *>(peer_data->obj);
|
||||||
helper->_on_peer_packet(peer_data->id);
|
helper->_on_peer_packet(peer_data->id);
|
||||||
} else {
|
} else {
|
||||||
WSLClient *helper = (WSLClient *)peer_data->obj;
|
WSLClient *helper = static_cast<WSLClient *>(peer_data->obj);
|
||||||
helper->_on_peer_packet();
|
helper->_on_peer_packet();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -184,10 +184,10 @@ Error WSLPeer::parse_message(const wslay_event_on_msg_recv_arg *arg) {
|
|||||||
}
|
}
|
||||||
if (!wslay_event_get_close_sent(_data->ctx)) {
|
if (!wslay_event_get_close_sent(_data->ctx)) {
|
||||||
if (_data->is_server) {
|
if (_data->is_server) {
|
||||||
WSLServer *helper = (WSLServer *)_data->obj;
|
WSLServer *helper = static_cast<WSLServer *>(_data->obj);
|
||||||
helper->_on_close_request(_data->id, close_code, close_reason);
|
helper->_on_close_request(_data->id, close_code, close_reason);
|
||||||
} else {
|
} else {
|
||||||
WSLClient *helper = (WSLClient *)_data->obj;
|
WSLClient *helper = static_cast<WSLClient *>(_data->obj);
|
||||||
helper->_on_close_request(close_code, close_reason);
|
helper->_on_close_request(close_code, close_reason);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -85,22 +85,22 @@ public:
|
|||||||
String close_reason;
|
String close_reason;
|
||||||
void poll(); // Used by client and server.
|
void poll(); // Used by client and server.
|
||||||
|
|
||||||
virtual int get_available_packet_count() const;
|
virtual int get_available_packet_count() const override;
|
||||||
virtual Error get_packet(const uint8_t **r_buffer, int &r_buffer_size);
|
virtual Error get_packet(const uint8_t **r_buffer, int &r_buffer_size) override;
|
||||||
virtual Error put_packet(const uint8_t *p_buffer, int p_buffer_size);
|
virtual Error put_packet(const uint8_t *p_buffer, int p_buffer_size) override;
|
||||||
virtual int get_max_packet_size() const { return _packet_buffer.size(); };
|
virtual int get_max_packet_size() const override { return _packet_buffer.size(); };
|
||||||
virtual int get_current_outbound_buffered_amount() const;
|
virtual int get_current_outbound_buffered_amount() const override;
|
||||||
|
|
||||||
virtual void close_now();
|
virtual void close_now();
|
||||||
virtual void close(int p_code = 1000, String p_reason = "");
|
virtual void close(int p_code = 1000, String p_reason = "") override;
|
||||||
virtual bool is_connected_to_host() const;
|
virtual bool is_connected_to_host() const override;
|
||||||
virtual IPAddress get_connected_host() const;
|
virtual IPAddress get_connected_host() const override;
|
||||||
virtual uint16_t get_connected_port() const;
|
virtual uint16_t get_connected_port() const override;
|
||||||
|
|
||||||
virtual WriteMode get_write_mode() const;
|
virtual WriteMode get_write_mode() const override;
|
||||||
virtual void set_write_mode(WriteMode p_mode);
|
virtual void set_write_mode(WriteMode p_mode) override;
|
||||||
virtual bool was_string_packet() const;
|
virtual bool was_string_packet() const override;
|
||||||
virtual void set_no_delay(bool p_enabled);
|
virtual void set_no_delay(bool p_enabled) override;
|
||||||
|
|
||||||
void make_context(PeerData *p_data, unsigned int p_in_buf_size, unsigned int p_in_pkt_size, unsigned int p_out_buf_size, unsigned int p_out_pkt_size);
|
void make_context(PeerData *p_data, unsigned int p_in_buf_size, unsigned int p_in_pkt_size, unsigned int p_out_buf_size, unsigned int p_out_pkt_size);
|
||||||
Error parse_message(const wslay_event_on_msg_recv_arg *arg);
|
Error parse_message(const wslay_event_on_msg_recv_arg *arg);
|
||||||
|
@ -183,7 +183,7 @@ Error WSLServer::listen(int p_port, const Vector<String> p_protocols, bool gd_mp
|
|||||||
void WSLServer::poll() {
|
void WSLServer::poll() {
|
||||||
List<int> remove_ids;
|
List<int> remove_ids;
|
||||||
for (const KeyValue<int, Ref<WebSocketPeer>> &E : _peer_map) {
|
for (const KeyValue<int, Ref<WebSocketPeer>> &E : _peer_map) {
|
||||||
Ref<WSLPeer> peer = (WSLPeer *)E.value.ptr();
|
Ref<WSLPeer> peer = const_cast<WSLPeer *>(static_cast<const WSLPeer *>(E.value.ptr()));
|
||||||
peer->poll();
|
peer->poll();
|
||||||
if (!peer->is_connected_to_host()) {
|
if (!peer->is_connected_to_host()) {
|
||||||
_on_disconnect(E.key, peer->close_code != -1);
|
_on_disconnect(E.key, peer->close_code != -1);
|
||||||
@ -266,7 +266,7 @@ int WSLServer::get_max_packet_size() const {
|
|||||||
void WSLServer::stop() {
|
void WSLServer::stop() {
|
||||||
_server->stop();
|
_server->stop();
|
||||||
for (const KeyValue<int, Ref<WebSocketPeer>> &E : _peer_map) {
|
for (const KeyValue<int, Ref<WebSocketPeer>> &E : _peer_map) {
|
||||||
Ref<WSLPeer> peer = (WSLPeer *)E.value.ptr();
|
Ref<WSLPeer> peer = const_cast<WSLPeer *>(static_cast<const WSLPeer *>(E.value.ptr()));
|
||||||
peer->close_now();
|
peer->close_now();
|
||||||
}
|
}
|
||||||
_pending.clear();
|
_pending.clear();
|
||||||
|
@ -75,17 +75,17 @@ private:
|
|||||||
Vector<String> _protocols;
|
Vector<String> _protocols;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Error set_buffers(int p_in_buffer, int p_in_packets, int p_out_buffer, int p_out_packets);
|
Error set_buffers(int p_in_buffer, int p_in_packets, int p_out_buffer, int p_out_packets) override;
|
||||||
Error listen(int p_port, const Vector<String> p_protocols = Vector<String>(), bool gd_mp_api = false);
|
Error listen(int p_port, const Vector<String> p_protocols = Vector<String>(), bool gd_mp_api = false) override;
|
||||||
void stop();
|
void stop() override;
|
||||||
bool is_listening() const;
|
bool is_listening() const override;
|
||||||
int get_max_packet_size() const;
|
int get_max_packet_size() const override;
|
||||||
bool has_peer(int p_id) const;
|
bool has_peer(int p_id) const override;
|
||||||
Ref<WebSocketPeer> get_peer(int p_id) const;
|
Ref<WebSocketPeer> get_peer(int p_id) const override;
|
||||||
IPAddress get_peer_address(int p_peer_id) const;
|
IPAddress get_peer_address(int p_peer_id) const override;
|
||||||
int get_peer_port(int p_peer_id) const;
|
int get_peer_port(int p_peer_id) const override;
|
||||||
void disconnect_peer(int p_peer_id, int p_code = 1000, String p_reason = "");
|
void disconnect_peer(int p_peer_id, int p_code = 1000, String p_reason = "") override;
|
||||||
virtual void poll();
|
virtual void poll() override;
|
||||||
|
|
||||||
WSLServer();
|
WSLServer();
|
||||||
~WSLServer();
|
~WSLServer();
|
||||||
|
@ -75,7 +75,7 @@ void AudioDriverOpenSL::_buffer_callback(
|
|||||||
void AudioDriverOpenSL::_buffer_callbacks(
|
void AudioDriverOpenSL::_buffer_callbacks(
|
||||||
SLAndroidSimpleBufferQueueItf queueItf,
|
SLAndroidSimpleBufferQueueItf queueItf,
|
||||||
void *pContext) {
|
void *pContext) {
|
||||||
AudioDriverOpenSL *ad = (AudioDriverOpenSL *)pContext;
|
AudioDriverOpenSL *ad = static_cast<AudioDriverOpenSL *>(pContext);
|
||||||
|
|
||||||
ad->_buffer_callback(queueItf);
|
ad->_buffer_callback(queueItf);
|
||||||
}
|
}
|
||||||
@ -208,7 +208,7 @@ void AudioDriverOpenSL::_record_buffer_callback(SLAndroidSimpleBufferQueueItf qu
|
|||||||
}
|
}
|
||||||
|
|
||||||
void AudioDriverOpenSL::_record_buffer_callbacks(SLAndroidSimpleBufferQueueItf queueItf, void *pContext) {
|
void AudioDriverOpenSL::_record_buffer_callbacks(SLAndroidSimpleBufferQueueItf queueItf, void *pContext) {
|
||||||
AudioDriverOpenSL *ad = (AudioDriverOpenSL *)pContext;
|
AudioDriverOpenSL *ad = static_cast<AudioDriverOpenSL *>(pContext);
|
||||||
|
|
||||||
ad->_record_buffer_callback(queueItf);
|
ad->_record_buffer_callback(queueItf);
|
||||||
}
|
}
|
||||||
|
@ -42,7 +42,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
DisplayServerAndroid *DisplayServerAndroid::get_singleton() {
|
DisplayServerAndroid *DisplayServerAndroid::get_singleton() {
|
||||||
return (DisplayServerAndroid *)DisplayServer::get_singleton();
|
return static_cast<DisplayServerAndroid *>(DisplayServer::get_singleton());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DisplayServerAndroid::has_feature(Feature p_feature) const {
|
bool DisplayServerAndroid::has_feature(Feature p_feature) const {
|
||||||
@ -277,7 +277,7 @@ int64_t DisplayServerAndroid::window_get_native_handle(HandleType p_handle_type,
|
|||||||
return 0; // Not supported.
|
return 0; // Not supported.
|
||||||
}
|
}
|
||||||
case WINDOW_HANDLE: {
|
case WINDOW_HANDLE: {
|
||||||
return (int64_t)((OS_Android *)OS::get_singleton())->get_godot_java()->get_activity();
|
return reinterpret_cast<int64_t>(static_cast<OS_Android *>(OS::get_singleton())->get_godot_java()->get_activity());
|
||||||
}
|
}
|
||||||
case WINDOW_VIEW: {
|
case WINDOW_VIEW: {
|
||||||
return 0; // Not supported.
|
return 0; // Not supported.
|
||||||
|
@ -249,7 +249,7 @@ static const int DEFAULT_TARGET_SDK_VERSION = 30; // Should match the value in '
|
|||||||
const String SDK_VERSION_RANGE = vformat("%s,%s,1", DEFAULT_MIN_SDK_VERSION, DEFAULT_TARGET_SDK_VERSION);
|
const String SDK_VERSION_RANGE = vformat("%s,%s,1", DEFAULT_MIN_SDK_VERSION, DEFAULT_TARGET_SDK_VERSION);
|
||||||
|
|
||||||
void EditorExportPlatformAndroid::_check_for_changes_poll_thread(void *ud) {
|
void EditorExportPlatformAndroid::_check_for_changes_poll_thread(void *ud) {
|
||||||
EditorExportPlatformAndroid *ea = (EditorExportPlatformAndroid *)ud;
|
EditorExportPlatformAndroid *ea = static_cast<EditorExportPlatformAndroid *>(ud);
|
||||||
|
|
||||||
while (!ea->quit_request.is_set()) {
|
while (!ea->quit_request.is_set()) {
|
||||||
// Check for plugins updates
|
// Check for plugins updates
|
||||||
@ -685,7 +685,7 @@ Error EditorExportPlatformAndroid::save_apk_so(void *p_userdata, const SharedObj
|
|||||||
ERR_PRINT(err);
|
ERR_PRINT(err);
|
||||||
return FAILED;
|
return FAILED;
|
||||||
}
|
}
|
||||||
APKExportData *ed = (APKExportData *)p_userdata;
|
APKExportData *ed = static_cast<APKExportData *>(p_userdata);
|
||||||
Vector<String> abis = get_abis();
|
Vector<String> abis = get_abis();
|
||||||
bool exported = false;
|
bool exported = false;
|
||||||
for (int i = 0; i < p_so.tags.size(); ++i) {
|
for (int i = 0; i < p_so.tags.size(); ++i) {
|
||||||
@ -710,7 +710,7 @@ Error EditorExportPlatformAndroid::save_apk_so(void *p_userdata, const SharedObj
|
|||||||
}
|
}
|
||||||
|
|
||||||
Error EditorExportPlatformAndroid::save_apk_file(void *p_userdata, const String &p_path, const Vector<uint8_t> &p_data, int p_file, int p_total, const Vector<String> &p_enc_in_filters, const Vector<String> &p_enc_ex_filters, const Vector<uint8_t> &p_key) {
|
Error EditorExportPlatformAndroid::save_apk_file(void *p_userdata, const String &p_path, const Vector<uint8_t> &p_data, int p_file, int p_total, const Vector<String> &p_enc_in_filters, const Vector<String> &p_enc_ex_filters, const Vector<uint8_t> &p_key) {
|
||||||
APKExportData *ed = (APKExportData *)p_userdata;
|
APKExportData *ed = static_cast<APKExportData *>(p_userdata);
|
||||||
String dst_path = p_path.replace_first("res://", "assets/");
|
String dst_path = p_path.replace_first("res://", "assets/");
|
||||||
|
|
||||||
store_in_apk(ed, dst_path, p_data, _should_compress_asset(p_path, p_data) ? Z_DEFLATED : 0);
|
store_in_apk(ed, dst_path, p_data, _should_compress_asset(p_path, p_data) ? Z_DEFLATED : 0);
|
||||||
@ -725,7 +725,7 @@ Error EditorExportPlatformAndroid::copy_gradle_so(void *p_userdata, const Shared
|
|||||||
ERR_FAIL_COND_V_MSG(!p_so.path.get_file().begins_with("lib"), FAILED,
|
ERR_FAIL_COND_V_MSG(!p_so.path.get_file().begins_with("lib"), FAILED,
|
||||||
"Android .so file names must start with \"lib\", but got: " + p_so.path);
|
"Android .so file names must start with \"lib\", but got: " + p_so.path);
|
||||||
Vector<String> abis = get_abis();
|
Vector<String> abis = get_abis();
|
||||||
CustomExportData *export_data = (CustomExportData *)p_userdata;
|
CustomExportData *export_data = static_cast<CustomExportData *>(p_userdata);
|
||||||
bool exported = false;
|
bool exported = false;
|
||||||
for (int i = 0; i < p_so.tags.size(); ++i) {
|
for (int i = 0; i < p_so.tags.size(); ++i) {
|
||||||
int abi_index = abis.find(p_so.tags[i]);
|
int abi_index = abis.find(p_so.tags[i]);
|
||||||
@ -2812,6 +2812,9 @@ Error EditorExportPlatformAndroid::export_project_helper(const Ref<EditorExportP
|
|||||||
unz_file_info info;
|
unz_file_info info;
|
||||||
char fname[16384];
|
char fname[16384];
|
||||||
ret = unzGetCurrentFileInfo(pkg, &info, fname, 16384, nullptr, 0, nullptr, 0);
|
ret = unzGetCurrentFileInfo(pkg, &info, fname, 16384, nullptr, 0, nullptr, 0);
|
||||||
|
if (ret != UNZ_OK) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
bool skip = false;
|
bool skip = false;
|
||||||
|
|
||||||
@ -2996,6 +2999,9 @@ Error EditorExportPlatformAndroid::export_project_helper(const Ref<EditorExportP
|
|||||||
char fname[16384];
|
char fname[16384];
|
||||||
char extra[16384];
|
char extra[16384];
|
||||||
ret = unzGetCurrentFileInfo(tmp_unaligned, &info, fname, 16384, extra, 16384 - ZIP_ALIGNMENT, nullptr, 0);
|
ret = unzGetCurrentFileInfo(tmp_unaligned, &info, fname, 16384, extra, 16384 - ZIP_ALIGNMENT, nullptr, 0);
|
||||||
|
if (ret != UNZ_OK) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
String file = String::utf8(fname);
|
String file = String::utf8(fname);
|
||||||
|
|
||||||
|
@ -122,7 +122,7 @@ Error store_string_at_path(const String &p_path, const String &p_data) {
|
|||||||
// It's functionality mirrors that of the method save_apk_file.
|
// It's functionality mirrors that of the method save_apk_file.
|
||||||
// This method will be called ONLY when custom build is enabled.
|
// This method will be called ONLY when custom build is enabled.
|
||||||
Error rename_and_store_file_in_gradle_project(void *p_userdata, const String &p_path, const Vector<uint8_t> &p_data, int p_file, int p_total, const Vector<String> &p_enc_in_filters, const Vector<String> &p_enc_ex_filters, const Vector<uint8_t> &p_key) {
|
Error rename_and_store_file_in_gradle_project(void *p_userdata, const String &p_path, const Vector<uint8_t> &p_data, int p_file, int p_total, const Vector<String> &p_enc_in_filters, const Vector<String> &p_enc_ex_filters, const Vector<uint8_t> &p_key) {
|
||||||
CustomExportData *export_data = (CustomExportData *)p_userdata;
|
CustomExportData *export_data = static_cast<CustomExportData *>(p_userdata);
|
||||||
String dst_path = p_path.replace_first("res://", export_data->assets_directory + "/");
|
String dst_path = p_path.replace_first("res://", export_data->assets_directory + "/");
|
||||||
print_verbose("Saving project files from " + p_path + " into " + dst_path);
|
print_verbose("Saving project files from " + p_path + " into " + dst_path);
|
||||||
Error err = store_file_at_path(dst_path, p_data);
|
Error err = store_file_at_path(dst_path, p_data);
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user