Fix MSVC warnings, rename shadowed variables, fix uninitialized values, change warnings=all to use /W4.

This commit is contained in:
bruvzg 2022-09-29 12:53:28 +03:00
parent 5b7f62af55
commit 0103af1ddd
No known key found for this signature in database
GPG key ID: 7960FCF39844EC38
240 changed files with 3390 additions and 3431 deletions

View file

@ -6,7 +6,7 @@ on: [push, pull_request]
env:
# Only used for the cache key. Increment version to force clean build.
GODOT_BASE_BRANCH: master
SCONSFLAGS: verbose=yes warnings=all werror=yes module_text_server_fb_enabled=yes
SCONSFLAGS: verbose=yes warnings=extra werror=yes module_text_server_fb_enabled=yes
SCONS_CACHE_MSVC_CONFIG: true
concurrency:

View file

@ -651,16 +651,32 @@ if selected_platform in platform_list:
# Configure compiler warnings
if env.msvc: # MSVC
# Truncations, narrowing conversions, signed/unsigned comparisons...
disable_nonessential_warnings = ["/wd4267", "/wd4244", "/wd4305", "/wd4018", "/wd4800"]
if env["warnings"] == "extra":
env.Append(CCFLAGS=["/Wall"]) # Implies /W4
elif env["warnings"] == "all":
env.Append(CCFLAGS=["/W3"] + disable_nonessential_warnings)
elif env["warnings"] == "moderate":
env.Append(CCFLAGS=["/W2"] + disable_nonessential_warnings)
else: # 'no'
if env["warnings"] == "no":
env.Append(CCFLAGS=["/w"])
else:
if env["warnings"] == "extra":
env.Append(CCFLAGS=["/W4"])
elif env["warnings"] == "all":
env.Append(CCFLAGS=["/W3"])
elif env["warnings"] == "moderate":
env.Append(CCFLAGS=["/W2"])
# Disable warnings which we don't plan to fix.
env.Append(
CCFLAGS=[
"/wd4100", # C4100 (unreferenced formal parameter): Doesn't play nice with polymorphism.
"/wd4127", # C4127 (conditional expression is constant)
"/wd4201", # C4201 (non-standard nameless struct/union): Only relevant for C89.
"/wd4244", # C4244 C4245 C4267 (narrowing conversions): Unavoidable at this scale.
"/wd4245",
"/wd4267",
"/wd4305", # C4305 (truncation): double to float or real_t, too hard to avoid.
"/wd4514", # C4514 (unreferenced inline function has been removed)
"/wd4714", # C4714 (function marked as __forceinline not inlined)
"/wd4820", # C4820 (padding added after construct)
]
)
# Set exception handling model to avoid warnings caused by Windows system headers.
env.Append(CCFLAGS=["/EHsc"])

View file

@ -785,7 +785,7 @@ Error ProjectSettings::save() {
return error;
}
Error ProjectSettings::_save_settings_binary(const String &p_file, const RBMap<String, List<String>> &props, const CustomMap &p_custom, const String &p_custom_features) {
Error ProjectSettings::_save_settings_binary(const String &p_file, const RBMap<String, List<String>> &p_props, const CustomMap &p_custom, const String &p_custom_features) {
Error err;
Ref<FileAccess> file = FileAccess::open(p_file, FileAccess::WRITE, &err);
ERR_FAIL_COND_V_MSG(err != OK, err, "Couldn't save project.binary at " + p_file + ".");
@ -795,7 +795,7 @@ Error ProjectSettings::_save_settings_binary(const String &p_file, const RBMap<S
int count = 0;
for (const KeyValue<String, List<String>> &E : props) {
for (const KeyValue<String, List<String>> &E : p_props) {
count += E.value.size();
}
@ -821,7 +821,7 @@ Error ProjectSettings::_save_settings_binary(const String &p_file, const RBMap<S
file->store_32(count); //store how many properties are saved
}
for (const KeyValue<String, List<String>> &E : props) {
for (const KeyValue<String, List<String>> &E : p_props) {
for (const String &key : E.value) {
String k = key;
if (!E.key.is_empty()) {
@ -853,7 +853,7 @@ Error ProjectSettings::_save_settings_binary(const String &p_file, const RBMap<S
return OK;
}
Error ProjectSettings::_save_settings_text(const String &p_file, const RBMap<String, List<String>> &props, const CustomMap &p_custom, const String &p_custom_features) {
Error ProjectSettings::_save_settings_text(const String &p_file, const RBMap<String, List<String>> &p_props, const CustomMap &p_custom, const String &p_custom_features) {
Error err;
Ref<FileAccess> file = FileAccess::open(p_file, FileAccess::WRITE, &err);
@ -874,8 +874,8 @@ Error ProjectSettings::_save_settings_text(const String &p_file, const RBMap<Str
}
file->store_string("\n");
for (const KeyValue<String, List<String>> &E : props) {
if (E.key != props.begin()->key) {
for (const KeyValue<String, List<String>> &E : p_props) {
if (E.key != p_props.begin()->key) {
file->store_string("\n");
}
@ -980,7 +980,7 @@ Error ProjectSettings::save_custom(const String &p_path, const CustomMap &p_cust
vclist.insert(vc);
}
RBMap<String, List<String>> props;
RBMap<String, List<String>> save_props;
for (const _VCSort &E : vclist) {
String category = E.name;
@ -994,24 +994,24 @@ Error ProjectSettings::save_custom(const String &p_path, const CustomMap &p_cust
category = category.substr(0, div);
name = name.substr(div + 1, name.size());
}
props[category].push_back(name);
save_props[category].push_back(name);
}
String custom_features;
String save_features;
for (int i = 0; i < p_custom_features.size(); i++) {
if (i > 0) {
custom_features += ",";
save_features += ",";
}
String f = p_custom_features[i].strip_edges().replace("\"", "");
custom_features += f;
save_features += f;
}
if (p_path.ends_with(".godot") || p_path.ends_with("override.cfg")) {
return _save_settings_text(p_path, props, p_custom, custom_features);
return _save_settings_text(p_path, save_props, p_custom, save_features);
} else if (p_path.ends_with(".binary")) {
return _save_settings_binary(p_path, props, p_custom, custom_features);
return _save_settings_binary(p_path, save_props, p_custom, save_features);
} else {
ERR_FAIL_V_MSG(ERR_FILE_UNRECOGNIZED, "Unknown config file format: " + p_path + ".");
}

View file

@ -365,7 +365,6 @@ Vector2 Input::get_vector(const StringName &p_negative_x, const StringName &p_po
// Inverse lerp length to map (p_deadzone, 1) to (0, 1).
return vector * (Math::inverse_lerp(p_deadzone, 1.0f, length) / length);
}
return vector;
}
float Input::get_joy_axis(int p_device, JoyAxis p_axis) const {

View file

@ -449,11 +449,11 @@ bool InputEventKey::action_match(const Ref<InputEvent> &p_event, bool p_exact_ma
match &= action_mask == key_mask;
}
if (match) {
bool pressed = key->is_pressed();
bool key_pressed = key->is_pressed();
if (r_pressed != nullptr) {
*r_pressed = pressed;
*r_pressed = key_pressed;
}
float strength = pressed ? 1.0f : 0.0f;
float strength = key_pressed ? 1.0f : 0.0f;
if (r_strength != nullptr) {
*r_strength = strength;
}
@ -610,20 +610,20 @@ bool InputEventMouseButton::action_match(const Ref<InputEvent> &p_event, bool p_
}
bool match = button_index == mb->button_index;
Key action_mask = get_modifiers_mask();
Key button_mask = mb->get_modifiers_mask();
Key action_modifiers_mask = get_modifiers_mask();
Key button_modifiers_mask = mb->get_modifiers_mask();
if (mb->is_pressed()) {
match &= (action_mask & button_mask) == action_mask;
match &= (action_modifiers_mask & button_modifiers_mask) == action_modifiers_mask;
}
if (p_exact_match) {
match &= action_mask == button_mask;
match &= action_modifiers_mask == button_modifiers_mask;
}
if (match) {
bool pressed = mb->is_pressed();
bool mb_pressed = mb->is_pressed();
if (r_pressed != nullptr) {
*r_pressed = pressed;
*r_pressed = mb_pressed;
}
float strength = pressed ? 1.0f : 0.0f;
float strength = mb_pressed ? 1.0f : 0.0f;
if (r_strength != nullptr) {
*r_strength = strength;
}
@ -808,9 +808,9 @@ String InputEventMouseMotion::as_text() const {
}
String InputEventMouseMotion::to_string() {
MouseButton button_mask = get_button_mask();
String button_mask_string = itos((int64_t)button_mask);
switch (button_mask) {
MouseButton mouse_button_mask = get_button_mask();
String button_mask_string = itos((int64_t)mouse_button_mask);
switch (mouse_button_mask) {
case MouseButton::MASK_LEFT:
button_mask_string += vformat(" (%s)", TTRGET(_mouse_button_descriptions[(size_t)MouseButton::LEFT - 1]));
break;
@ -1045,11 +1045,11 @@ bool InputEventJoypadButton::action_match(const Ref<InputEvent> &p_event, bool p
bool match = button_index == jb->button_index;
if (match) {
bool pressed = jb->is_pressed();
bool jb_pressed = jb->is_pressed();
if (r_pressed != nullptr) {
*r_pressed = pressed;
*r_pressed = jb_pressed;
}
float strength = pressed ? 1.0f : 0.0f;
float strength = jb_pressed ? 1.0f : 0.0f;
if (r_strength != nullptr) {
*r_strength = strength;
}
@ -1340,16 +1340,16 @@ bool InputEventAction::action_match(const Ref<InputEvent> &p_event, bool p_exact
bool match = action == act->action;
if (match) {
bool pressed = act->pressed;
bool act_pressed = act->pressed;
if (r_pressed != nullptr) {
*r_pressed = pressed;
*r_pressed = act_pressed;
}
float strength = pressed ? 1.0f : 0.0f;
float act_strength = act_pressed ? 1.0f : 0.0f;
if (r_strength != nullptr) {
*r_strength = strength;
*r_strength = act_strength;
}
if (r_raw_strength != nullptr) {
*r_raw_strength = strength;
*r_raw_strength = act_strength;
}
}
return match;

View file

@ -102,13 +102,13 @@ Error FileAccessEncrypted::open_and_parse(Ref<FileAccess> p_base, const Vector<u
Error FileAccessEncrypted::open_and_parse_password(Ref<FileAccess> p_base, const String &p_key, Mode p_mode) {
String cs = p_key.md5_text();
ERR_FAIL_COND_V(cs.length() != 32, ERR_INVALID_PARAMETER);
Vector<uint8_t> key;
key.resize(32);
Vector<uint8_t> key_md5;
key_md5.resize(32);
for (int i = 0; i < 32; i++) {
key.write[i] = cs[i];
key_md5.write[i] = cs[i];
}
return open_and_parse(p_base, key, p_mode);
return open_and_parse(p_base, key_md5, p_mode);
}
Error FileAccessEncrypted::open_internal(const String &p_path, int p_mode_flags) {

View file

@ -137,12 +137,12 @@ void FileAccessNetworkClient::_thread_func() {
int64_t offset = get_64();
int32_t len = get_32();
Vector<uint8_t> block;
block.resize(len);
client->get_data(block.ptrw(), len);
Vector<uint8_t> resp_block;
resp_block.resize(len);
client->get_data(resp_block.ptrw(), len);
if (fa) { //may have been queued
fa->_set_block(offset, block);
fa->_set_block(offset, resp_block);
}
} break;

View file

@ -358,38 +358,38 @@ Error HTTPClientTCP::poll() {
} break;
}
} else if (tls) {
Ref<StreamPeerTLS> tls;
Ref<StreamPeerTLS> tls_conn;
if (!handshaking) {
// Connect the StreamPeerTLS and start handshaking.
tls = Ref<StreamPeerTLS>(StreamPeerTLS::create());
tls->set_blocking_handshake_enabled(false);
Error err = tls->connect_to_stream(tcp_connection, tls_verify_host, conn_host);
tls_conn = Ref<StreamPeerTLS>(StreamPeerTLS::create());
tls_conn->set_blocking_handshake_enabled(false);
Error err = tls_conn->connect_to_stream(tcp_connection, tls_verify_host, conn_host);
if (err != OK) {
close();
status = STATUS_TLS_HANDSHAKE_ERROR;
return ERR_CANT_CONNECT;
}
connection = tls;
connection = tls_conn;
handshaking = true;
} else {
// We are already handshaking, which means we can use your already active TLS connection.
tls = static_cast<Ref<StreamPeerTLS>>(connection);
if (tls.is_null()) {
tls_conn = static_cast<Ref<StreamPeerTLS>>(connection);
if (tls_conn.is_null()) {
close();
status = STATUS_TLS_HANDSHAKE_ERROR;
return ERR_CANT_CONNECT;
}
tls->poll(); // Try to finish the handshake.
tls_conn->poll(); // Try to finish the handshake.
}
if (tls->get_status() == StreamPeerTLS::STATUS_CONNECTED) {
if (tls_conn->get_status() == StreamPeerTLS::STATUS_CONNECTED) {
// Handshake has been successful.
handshaking = false;
ip_candidates.clear();
status = STATUS_CONNECTED;
return OK;
} else if (tls->get_status() != StreamPeerTLS::STATUS_HANDSHAKING) {
} else if (tls_conn->get_status() != StreamPeerTLS::STATUS_HANDSHAKING) {
// Handshake has failed.
close();
status = STATUS_TLS_HANDSHAKE_ERROR;

View file

@ -3869,15 +3869,15 @@ Dictionary Image::compute_image_metrics(const Ref<Image> p_compared_image, bool
double image_metric_max, image_metric_mean, image_metric_mean_squared, image_metric_root_mean_squared, image_metric_peak_snr = 0.0;
const bool average_component_error = true;
const uint32_t width = MIN(compared_image->get_width(), source_image->get_width());
const uint32_t height = MIN(compared_image->get_height(), source_image->get_height());
const uint32_t w = MIN(compared_image->get_width(), source_image->get_width());
const uint32_t h = MIN(compared_image->get_height(), source_image->get_height());
// Histogram approach originally due to Charles Bloom.
double hist[256];
memset(hist, 0, sizeof(hist));
for (uint32_t y = 0; y < height; y++) {
for (uint32_t x = 0; x < width; x++) {
for (uint32_t y = 0; y < h; y++) {
for (uint32_t x = 0; x < w; x++) {
const Color color_a = compared_image->get_pixel(x, y);
const Color color_b = source_image->get_pixel(x, y);
@ -3922,7 +3922,7 @@ Dictionary Image::compute_image_metrics(const Ref<Image> p_compared_image, bool
}
// See http://richg42.blogspot.com/2016/09/how-to-compute-psnr-from-old-berkeley.html
double total_values = width * height;
double total_values = w * h;
if (average_component_error) {
total_values *= 4;

View file

@ -51,7 +51,7 @@ bool ImageFormatLoader::recognize(const String &p_extension) const {
}
Error ImageFormatLoaderExtension::load_image(Ref<Image> p_image, Ref<FileAccess> p_fileaccess, BitField<ImageFormatLoader::LoaderFlags> p_flags, float p_scale) {
Error err;
Error err = ERR_UNAVAILABLE;
if (GDVIRTUAL_CALL(_load_image, p_image, p_fileaccess, p_flags, p_scale, err)) {
return err;
}

View file

@ -169,10 +169,10 @@ StringName ResourceLoaderBinary::_get_string() {
}
Error ResourceLoaderBinary::parse_variant(Variant &r_v) {
uint32_t type = f->get_32();
print_bl("find property of type: " + itos(type));
uint32_t prop_type = f->get_32();
print_bl("find property of type: " + itos(prop_type));
switch (type) {
switch (prop_type) {
case VARIANT_NIL: {
r_v = Variant();
} break;
@ -1100,16 +1100,14 @@ String ResourceLoaderBinary::recognize(Ref<FileAccess> p_f) {
uint32_t ver_major = f->get_32();
f->get_32(); // ver_minor
uint32_t ver_format = f->get_32();
uint32_t ver_fmt = f->get_32();
if (ver_format > FORMAT_VERSION || ver_major > VERSION_MAJOR) {
if (ver_fmt > FORMAT_VERSION || ver_major > VERSION_MAJOR) {
f.unref();
return "";
}
String type = get_unicode_string();
return type;
return get_unicode_string();
}
Ref<Resource> ResourceFormatLoaderBinary::load(const String &p_path, const String &p_original_path, Error *r_error, bool p_use_sub_threads, float *r_progress, CacheMode p_cache_mode) {
@ -2118,9 +2116,9 @@ Error ResourceFormatSaverBinaryInstance::save(const String &p_path, const Ref<Re
for (int i = 0; i < save_order.size(); i++) {
save_unicode_string(f, save_order[i]->get_save_class());
String path = save_order[i]->get_path();
path = relative_paths ? local_path.path_to_file(path) : path;
save_unicode_string(f, path);
String res_path = save_order[i]->get_path();
res_path = relative_paths ? local_path.path_to_file(res_path) : res_path;
save_unicode_string(f, res_path);
ResourceUID::ID ruid = ResourceSaver::get_resource_id_for_path(save_order[i]->get_path(), false);
f->store_64(ruid);
}

View file

@ -110,8 +110,8 @@ Error ResourceFormatImporter::_get_path_and_type(const String &p_path, PathAndTy
#ifdef TOOLS_ENABLED
if (r_path_and_type.metadata && !r_path_and_type.path.is_empty()) {
Dictionary metadata = r_path_and_type.metadata;
if (metadata.has("has_editor_variant")) {
Dictionary meta = r_path_and_type.metadata;
if (meta.has("has_editor_variant")) {
r_path_and_type.path = r_path_and_type.path.get_basename() + ".editor." + r_path_and_type.path.get_extension();
}
}

View file

@ -68,7 +68,7 @@ bool ResourceFormatLoader::recognize_path(const String &p_path, const String &p_
}
bool ResourceFormatLoader::handles_type(const String &p_type) const {
bool success;
bool success = false;
if (GDVIRTUAL_CALL(_handles_type, p_type, success)) {
return success;
}
@ -102,7 +102,7 @@ String ResourceFormatLoader::get_resource_type(const String &p_path) const {
}
ResourceUID::ID ResourceFormatLoader::get_resource_uid(const String &p_path) const {
int64_t uid;
int64_t uid = ResourceUID::INVALID_ID;
if (GDVIRTUAL_CALL(_get_resource_uid, p_path, uid)) {
return uid;
}
@ -123,7 +123,7 @@ void ResourceLoader::get_recognized_extensions_for_type(const String &p_type, Li
}
bool ResourceFormatLoader::exists(const String &p_path) const {
bool success;
bool success = false;
if (GDVIRTUAL_CALL(_exists, p_path, success)) {
return success;
}
@ -175,7 +175,7 @@ Error ResourceFormatLoader::rename_dependencies(const String &p_path, const Hash
deps_dict[E.key] = E.value;
}
int64_t err;
int64_t err = OK;
if (GDVIRTUAL_CALL(_rename_dependencies, p_path, deps_dict, err)) {
return (Error)err;
}

View file

@ -42,7 +42,7 @@ ResourceSavedCallback ResourceSaver::save_callback = nullptr;
ResourceSaverGetResourceIDForPath ResourceSaver::save_get_id_for_path = nullptr;
Error ResourceFormatSaver::save(const Ref<Resource> &p_resource, const String &p_path, uint32_t p_flags) {
int64_t res;
int64_t res = ERR_METHOD_NOT_FOUND;
if (GDVIRTUAL_CALL(_save, p_resource, p_path, p_flags, res)) {
return (Error)res;
}
@ -51,7 +51,7 @@ Error ResourceFormatSaver::save(const Ref<Resource> &p_resource, const String &p
}
bool ResourceFormatSaver::recognize(const Ref<Resource> &p_resource) const {
bool success;
bool success = false;
if (GDVIRTUAL_CALL(_recognize, p_resource, success)) {
return success;
}

View file

@ -256,9 +256,9 @@ void StreamPeerTCP::disconnect_from_host() {
peer_port = 0;
}
Error StreamPeerTCP::wait(NetSocket::PollType p_type, int timeout) {
Error StreamPeerTCP::wait(NetSocket::PollType p_type, int p_timeout) {
ERR_FAIL_COND_V(_sock.is_null() || !_sock->is_open(), ERR_UNAVAILABLE);
return _sock->poll(p_type, timeout);
return _sock->poll(p_type, p_timeout);
}
Error StreamPeerTCP::put_data(const uint8_t *p_data, int p_bytes) {

View file

@ -79,7 +79,7 @@ public:
Error poll();
// Wait or check for writable, readable.
Error wait(NetSocket::PollType p_type, int timeout = 0);
Error wait(NetSocket::PollType p_type, int p_timeout = 0);
// Read/Write from StreamPeer
Error put_data(const uint8_t *p_data, int p_bytes) override;

View file

@ -560,7 +560,7 @@ const char *Expression::token_name[TK_MAX] = {
};
Expression::ENode *Expression::_parse_expression() {
Vector<ExpressionNode> expression;
Vector<ExpressionNode> expression_nodes;
while (true) {
//keep appending stuff to expression
@ -838,14 +838,14 @@ Expression::ENode *Expression::_parse_expression() {
ExpressionNode e;
e.is_op = true;
e.op = Variant::OP_NEGATE;
expression.push_back(e);
expression_nodes.push_back(e);
continue;
} break;
case TK_OP_NOT: {
ExpressionNode e;
e.is_op = true;
e.op = Variant::OP_NOT;
expression.push_back(e);
expression_nodes.push_back(e);
continue;
} break;
@ -960,7 +960,7 @@ Expression::ENode *Expression::_parse_expression() {
ExpressionNode e;
e.is_op = false;
e.node = expr;
expression.push_back(e);
expression_nodes.push_back(e);
}
//ok finally look for an operator
@ -1054,19 +1054,19 @@ Expression::ENode *Expression::_parse_expression() {
ExpressionNode e;
e.is_op = true;
e.op = op;
expression.push_back(e);
expression_nodes.push_back(e);
}
}
/* Reduce the set of expressions and place them in an operator tree, respecting precedence */
while (expression.size() > 1) {
while (expression_nodes.size() > 1) {
int next_op = -1;
int min_priority = 0xFFFFF;
bool is_unary = false;
for (int i = 0; i < expression.size(); i++) {
if (!expression[i].is_op) {
for (int i = 0; i < expression_nodes.size(); i++) {
if (!expression_nodes[i].is_op) {
continue;
}
@ -1074,7 +1074,7 @@ Expression::ENode *Expression::_parse_expression() {
bool unary = false;
switch (expression[i].op) {
switch (expression_nodes[i].op) {
case Variant::OP_POWER:
priority = 0;
break;
@ -1130,7 +1130,7 @@ Expression::ENode *Expression::_parse_expression() {
priority = 14;
break;
default: {
_set_error("Parser bug, invalid operator in expression: " + itos(expression[i].op));
_set_error("Parser bug, invalid operator in expression: " + itos(expression_nodes[i].op));
return nullptr;
}
}
@ -1153,9 +1153,9 @@ Expression::ENode *Expression::_parse_expression() {
// OK! create operator..
if (is_unary) {
int expr_pos = next_op;
while (expression[expr_pos].is_op) {
while (expression_nodes[expr_pos].is_op) {
expr_pos++;
if (expr_pos == expression.size()) {
if (expr_pos == expression_nodes.size()) {
//can happen..
_set_error("Unexpected end of expression...");
return nullptr;
@ -1165,29 +1165,29 @@ Expression::ENode *Expression::_parse_expression() {
//consecutively do unary operators
for (int i = expr_pos - 1; i >= next_op; i--) {
OperatorNode *op = alloc_node<OperatorNode>();
op->op = expression[i].op;
op->nodes[0] = expression[i + 1].node;
op->op = expression_nodes[i].op;
op->nodes[0] = expression_nodes[i + 1].node;
op->nodes[1] = nullptr;
expression.write[i].is_op = false;
expression.write[i].node = op;
expression.remove_at(i + 1);
expression_nodes.write[i].is_op = false;
expression_nodes.write[i].node = op;
expression_nodes.remove_at(i + 1);
}
} else {
if (next_op < 1 || next_op >= (expression.size() - 1)) {
if (next_op < 1 || next_op >= (expression_nodes.size() - 1)) {
_set_error("Parser bug...");
ERR_FAIL_V(nullptr);
}
OperatorNode *op = alloc_node<OperatorNode>();
op->op = expression[next_op].op;
op->op = expression_nodes[next_op].op;
if (expression[next_op - 1].is_op) {
if (expression_nodes[next_op - 1].is_op) {
_set_error("Parser bug...");
ERR_FAIL_V(nullptr);
}
if (expression[next_op + 1].is_op) {
if (expression_nodes[next_op + 1].is_op) {
// this is not invalid and can really appear
// but it becomes invalid anyway because no binary op
// can be followed by a unary op in a valid combination,
@ -1197,17 +1197,17 @@ Expression::ENode *Expression::_parse_expression() {
return nullptr;
}
op->nodes[0] = expression[next_op - 1].node; //expression goes as left
op->nodes[1] = expression[next_op + 1].node; //next expression goes as right
op->nodes[0] = expression_nodes[next_op - 1].node; //expression goes as left
op->nodes[1] = expression_nodes[next_op + 1].node; //next expression goes as right
//replace all 3 nodes by this operator and make it an expression
expression.write[next_op - 1].node = op;
expression.remove_at(next_op);
expression.remove_at(next_op);
expression_nodes.write[next_op - 1].node = op;
expression_nodes.remove_at(next_op);
expression_nodes.remove_at(next_op);
}
}
return expression[0].node;
return expression_nodes[0].node;
}
bool Expression::_compile_expression() {

View file

@ -169,7 +169,7 @@ Projection Projection::perspective_znear_adjusted(real_t p_new_znear) const {
}
Plane Projection::get_projection_plane(Planes p_plane) const {
const real_t *matrix = (const real_t *)this->columns;
const real_t *matrix = (const real_t *)columns;
switch (p_plane) {
case PLANE_NEAR: {
@ -402,7 +402,7 @@ void Projection::set_frustum(real_t p_size, real_t p_aspect, Vector2 p_offset, r
}
real_t Projection::get_z_far() const {
const real_t *matrix = (const real_t *)this->columns;
const real_t *matrix = (const real_t *)columns;
Plane new_plane = Plane(matrix[3] - matrix[2],
matrix[7] - matrix[6],
matrix[11] - matrix[10],
@ -415,7 +415,7 @@ real_t Projection::get_z_far() const {
}
real_t Projection::get_z_near() const {
const real_t *matrix = (const real_t *)this->columns;
const real_t *matrix = (const real_t *)columns;
Plane new_plane = Plane(matrix[3] + matrix[2],
matrix[7] + matrix[6],
matrix[11] + matrix[10],
@ -426,7 +426,7 @@ real_t Projection::get_z_near() const {
}
Vector2 Projection::get_viewport_half_extents() const {
const real_t *matrix = (const real_t *)this->columns;
const real_t *matrix = (const real_t *)columns;
///////--- Near Plane ---///////
Plane near_plane = Plane(matrix[3] + matrix[2],
matrix[7] + matrix[6],
@ -454,7 +454,7 @@ Vector2 Projection::get_viewport_half_extents() const {
}
Vector2 Projection::get_far_plane_half_extents() const {
const real_t *matrix = (const real_t *)this->columns;
const real_t *matrix = (const real_t *)columns;
///////--- Far Plane ---///////
Plane far_plane = Plane(matrix[3] - matrix[2],
matrix[7] - matrix[6],
@ -514,7 +514,7 @@ Vector<Plane> Projection::get_projection_planes(const Transform3D &p_transform)
Vector<Plane> planes;
planes.resize(6);
const real_t *matrix = (const real_t *)this->columns;
const real_t *matrix = (const real_t *)columns;
Plane new_plane;
@ -807,7 +807,7 @@ bool Projection::is_orthogonal() const {
}
real_t Projection::get_fov() const {
const real_t *matrix = (const real_t *)this->columns;
const real_t *matrix = (const real_t *)columns;
Plane right_plane = Plane(matrix[3] - matrix[0],
matrix[7] - matrix[4],

View file

@ -215,10 +215,8 @@ Vector3 TriangleMesh::get_area_normal(const AABB &p_aabb) const {
switch (stack[level] >> VISITED_BIT_SHIFT) {
case TEST_AABB_BIT: {
bool valid = b.aabb.intersects(p_aabb);
if (!valid) {
if (!b.aabb.intersects(p_aabb)) {
stack[level] = (VISIT_DONE_BIT << VISITED_BIT_SHIFT) | node;
} else {
if (b.face_index >= 0) {
const Triangle &s = triangleptr[b.face_index];
@ -302,12 +300,8 @@ bool TriangleMesh::intersect_segment(const Vector3 &p_begin, const Vector3 &p_en
switch (stack[level] >> VISITED_BIT_SHIFT) {
case TEST_AABB_BIT: {
bool valid = b.aabb.intersects_segment(p_begin, p_end);
//bool valid = b.aabb.intersects(ray_aabb);
if (!valid) {
if (!b.aabb.intersects_segment(p_begin, p_end)) {
stack[level] = (VISIT_DONE_BIT << VISITED_BIT_SHIFT) | node;
} else {
if (b.face_index >= 0) {
const Triangle &s = triangleptr[b.face_index];
@ -407,10 +401,8 @@ bool TriangleMesh::intersect_ray(const Vector3 &p_begin, const Vector3 &p_dir, V
switch (stack[level] >> VISITED_BIT_SHIFT) {
case TEST_AABB_BIT: {
bool valid = b.aabb.intersects_ray(p_begin, p_dir);
if (!valid) {
if (!b.aabb.intersects_ray(p_begin, p_dir)) {
stack[level] = (VISIT_DONE_BIT << VISITED_BIT_SHIFT) | node;
} else {
if (b.face_index >= 0) {
const Triangle &s = triangleptr[b.face_index];
@ -508,10 +500,8 @@ bool TriangleMesh::intersect_convex_shape(const Plane *p_planes, int p_plane_cou
switch (stack[level] >> VISITED_BIT_SHIFT) {
case TEST_AABB_BIT: {
bool valid = b.aabb.intersects_convex_shape(p_planes, p_plane_count, p_points, p_point_count);
if (!valid) {
if (!b.aabb.intersects_convex_shape(p_planes, p_plane_count, p_points, p_point_count)) {
stack[level] = (VISIT_DONE_BIT << VISITED_BIT_SHIFT) | node;
} else {
if (b.face_index >= 0) {
const Triangle &s = triangleptr[b.face_index];

View file

@ -106,23 +106,23 @@ Dictionary Script::_get_script_constant_map() {
PropertyInfo Script::get_class_category() const {
String path = get_path();
String name;
String scr_name;
if (is_built_in()) {
if (get_name().is_empty()) {
name = TTR("Built-in script");
scr_name = TTR("Built-in script");
} else {
name = vformat("%s (%s)", get_name(), TTR("Built-in"));
scr_name = vformat("%s (%s)", get_name(), TTR("Built-in"));
}
} else {
if (get_name().is_empty()) {
name = path.get_file();
scr_name = path.get_file();
} else {
name = get_name();
scr_name = get_name();
}
}
return PropertyInfo(Variant::NIL, name, PROPERTY_HINT_NONE, path, PROPERTY_USAGE_CATEGORY);
return PropertyInfo(Variant::NIL, scr_name, PROPERTY_HINT_NONE, path, PROPERTY_USAGE_CATEGORY);
}
#endif // TOOLS_ENABLED

View file

@ -179,14 +179,14 @@ void OptimizedTranslation::generate(const Ref<Translation> &p_from) {
}
bool OptimizedTranslation::_set(const StringName &p_name, const Variant &p_value) {
String name = p_name.operator String();
if (name == "hash_table") {
String prop_name = p_name.operator String();
if (prop_name == "hash_table") {
hash_table = p_value;
} else if (name == "bucket_table") {
} else if (prop_name == "bucket_table") {
bucket_table = p_value;
} else if (name == "strings") {
} else if (prop_name == "strings") {
strings = p_value;
} else if (name == "load_from") {
} else if (prop_name == "load_from") {
generate(p_value);
} else {
return false;
@ -196,12 +196,12 @@ bool OptimizedTranslation::_set(const StringName &p_name, const Variant &p_value
}
bool OptimizedTranslation::_get(const StringName &p_name, Variant &r_ret) const {
String name = p_name.operator String();
if (name == "hash_table") {
String prop_name = p_name.operator String();
if (prop_name == "hash_table") {
r_ret = hash_table;
} else if (name == "bucket_table") {
} else if (prop_name == "bucket_table") {
r_ret = bucket_table;
} else if (name == "strings") {
} else if (prop_name == "strings") {
r_ret = strings;
} else {
return false;

View file

@ -297,27 +297,27 @@ String TranslationServer::standardize_locale(const String &p_locale) const {
String univ_locale = p_locale.replace("-", "_");
// Extract locale elements.
String lang, script, country, variant;
String lang_name, script_name, country_name, variant_name;
Vector<String> locale_elements = univ_locale.get_slice("@", 0).split("_");
lang = locale_elements[0];
lang_name = locale_elements[0];
if (locale_elements.size() >= 2) {
if (locale_elements[1].length() == 4 && is_ascii_upper_case(locale_elements[1][0]) && is_ascii_lower_case(locale_elements[1][1]) && is_ascii_lower_case(locale_elements[1][2]) && is_ascii_lower_case(locale_elements[1][3])) {
script = locale_elements[1];
script_name = locale_elements[1];
}
if (locale_elements[1].length() == 2 && is_ascii_upper_case(locale_elements[1][0]) && is_ascii_upper_case(locale_elements[1][1])) {
country = locale_elements[1];
country_name = locale_elements[1];
}
}
if (locale_elements.size() >= 3) {
if (locale_elements[2].length() == 2 && is_ascii_upper_case(locale_elements[2][0]) && is_ascii_upper_case(locale_elements[2][1])) {
country = locale_elements[2];
} else if (variant_map.has(locale_elements[2].to_lower()) && variant_map[locale_elements[2].to_lower()] == lang) {
variant = locale_elements[2].to_lower();
country_name = locale_elements[2];
} else if (variant_map.has(locale_elements[2].to_lower()) && variant_map[locale_elements[2].to_lower()] == lang_name) {
variant_name = locale_elements[2].to_lower();
}
}
if (locale_elements.size() >= 4) {
if (variant_map.has(locale_elements[3].to_lower()) && variant_map[locale_elements[3].to_lower()] == lang) {
variant = locale_elements[3].to_lower();
if (variant_map.has(locale_elements[3].to_lower()) && variant_map[locale_elements[3].to_lower()] == lang_name) {
variant_name = locale_elements[3].to_lower();
}
}
@ -325,69 +325,69 @@ String TranslationServer::standardize_locale(const String &p_locale) const {
Vector<String> script_extra = univ_locale.get_slice("@", 1).split(";");
for (int i = 0; i < script_extra.size(); i++) {
if (script_extra[i].to_lower() == "cyrillic") {
script = "Cyrl";
script_name = "Cyrl";
break;
} else if (script_extra[i].to_lower() == "latin") {
script = "Latn";
script_name = "Latn";
break;
} else if (script_extra[i].to_lower() == "devanagari") {
script = "Deva";
script_name = "Deva";
break;
} else if (variant_map.has(script_extra[i].to_lower()) && variant_map[script_extra[i].to_lower()] == lang) {
variant = script_extra[i].to_lower();
} else if (variant_map.has(script_extra[i].to_lower()) && variant_map[script_extra[i].to_lower()] == lang_name) {
variant_name = script_extra[i].to_lower();
}
}
// Handles known non-ISO language names used e.g. on Windows.
if (locale_rename_map.has(lang)) {
lang = locale_rename_map[lang];
if (locale_rename_map.has(lang_name)) {
lang_name = locale_rename_map[lang_name];
}
// Handle country renames.
if (country_rename_map.has(country)) {
country = country_rename_map[country];
if (country_rename_map.has(country_name)) {
country_name = country_rename_map[country_name];
}
// Remove unsupported script codes.
if (!script_map.has(script)) {
script = "";
if (!script_map.has(script_name)) {
script_name = "";
}
// Add script code base on language and country codes for some ambiguous cases.
if (script.is_empty()) {
if (script_name.is_empty()) {
for (int i = 0; i < locale_script_info.size(); i++) {
const LocaleScriptInfo &info = locale_script_info[i];
if (info.name == lang) {
if (country.is_empty() || info.supported_countries.has(country)) {
script = info.script;
if (info.name == lang_name) {
if (country_name.is_empty() || info.supported_countries.has(country_name)) {
script_name = info.script;
break;
}
}
}
}
if (!script.is_empty() && country.is_empty()) {
if (!script_name.is_empty() && country_name.is_empty()) {
// Add conntry code based on script for some ambiguous cases.
for (int i = 0; i < locale_script_info.size(); i++) {
const LocaleScriptInfo &info = locale_script_info[i];
if (info.name == lang && info.script == script) {
country = info.default_country;
if (info.name == lang_name && info.script == script_name) {
country_name = info.default_country;
break;
}
}
}
// Combine results.
String locale = lang;
if (!script.is_empty()) {
locale = locale + "_" + script;
String out = lang_name;
if (!script_name.is_empty()) {
out = out + "_" + script_name;
}
if (!country.is_empty()) {
locale = locale + "_" + country;
if (!country_name.is_empty()) {
out = out + "_" + country_name;
}
if (!variant.is_empty()) {
locale = locale + "_" + variant;
if (!variant_name.is_empty()) {
out = out + "_" + variant_name;
}
return locale;
return out;
}
int TranslationServer::compare_locales(const String &p_locale_a, const String &p_locale_b) const {
@ -420,31 +420,29 @@ int TranslationServer::compare_locales(const String &p_locale_a, const String &p
}
String TranslationServer::get_locale_name(const String &p_locale) const {
String locale = standardize_locale(p_locale);
String lang, script, country;
Vector<String> locale_elements = locale.split("_");
lang = locale_elements[0];
String lang_name, script_name, country_name;
Vector<String> locale_elements = standardize_locale(p_locale).split("_");
lang_name = locale_elements[0];
if (locale_elements.size() >= 2) {
if (locale_elements[1].length() == 4 && is_ascii_upper_case(locale_elements[1][0]) && is_ascii_lower_case(locale_elements[1][1]) && is_ascii_lower_case(locale_elements[1][2]) && is_ascii_lower_case(locale_elements[1][3])) {
script = locale_elements[1];
script_name = locale_elements[1];
}
if (locale_elements[1].length() == 2 && is_ascii_upper_case(locale_elements[1][0]) && is_ascii_upper_case(locale_elements[1][1])) {
country = locale_elements[1];
country_name = locale_elements[1];
}
}
if (locale_elements.size() >= 3) {
if (locale_elements[2].length() == 2 && is_ascii_upper_case(locale_elements[2][0]) && is_ascii_upper_case(locale_elements[2][1])) {
country = locale_elements[2];
country_name = locale_elements[2];
}
}
String name = language_map[lang];
if (!script.is_empty()) {
name = name + " (" + script_map[script] + ")";
String name = language_map[lang_name];
if (!script_name.is_empty()) {
name = name + " (" + script_map[script_name] + ")";
}
if (!country.is_empty()) {
name = name + ", " + country_name_map[country];
if (!country_name.is_empty()) {
name = name + ", " + country_name_map[country_name];
}
return name;
}
@ -630,12 +628,12 @@ TranslationServer *TranslationServer::singleton = nullptr;
bool TranslationServer::_load_translations(const String &p_from) {
if (ProjectSettings::get_singleton()->has_setting(p_from)) {
Vector<String> translations = ProjectSettings::get_singleton()->get(p_from);
const Vector<String> &translation_names = ProjectSettings::get_singleton()->get(p_from);
int tcount = translations.size();
int tcount = translation_names.size();
if (tcount) {
const String *r = translations.ptr();
const String *r = translation_names.ptr();
for (int i = 0; i < tcount; i++) {
Ref<Translation> tr = ResourceLoader::load(r[i]);
@ -964,7 +962,6 @@ void TranslationServer::_bind_methods() {
}
void TranslationServer::load_translations() {
String locale = get_locale();
_load_translations("internationalization/locale/translations"); //all
_load_translations("internationalization/locale/translations_" + locale.substr(0, 2));

View file

@ -402,33 +402,33 @@ Error Signal::emit(const Variant **p_arguments, int p_argcount) const {
}
Error Signal::connect(const Callable &p_callable, uint32_t p_flags) {
Object *object = get_object();
ERR_FAIL_COND_V(!object, ERR_UNCONFIGURED);
Object *obj = get_object();
ERR_FAIL_COND_V(!obj, ERR_UNCONFIGURED);
return object->connect(name, p_callable, p_flags);
return obj->connect(name, p_callable, p_flags);
}
void Signal::disconnect(const Callable &p_callable) {
Object *object = get_object();
ERR_FAIL_COND(!object);
object->disconnect(name, p_callable);
Object *obj = get_object();
ERR_FAIL_COND(!obj);
obj->disconnect(name, p_callable);
}
bool Signal::is_connected(const Callable &p_callable) const {
Object *object = get_object();
ERR_FAIL_COND_V(!object, false);
Object *obj = get_object();
ERR_FAIL_COND_V(!obj, false);
return object->is_connected(name, p_callable);
return obj->is_connected(name, p_callable);
}
Array Signal::get_connections() const {
Object *object = get_object();
if (!object) {
Object *obj = get_object();
if (!obj) {
return Array();
}
List<Object::Connection> connections;
object->get_signal_connection_list(name, &connections);
obj->get_signal_connection_list(name, &connections);
Array arr;
for (const Object::Connection &E : connections) {

View file

@ -1101,8 +1101,6 @@ bool Variant::is_one() const {
return !is_zero();
}
}
return false;
}
bool Variant::is_null() const {
@ -3573,8 +3571,6 @@ bool Variant::hash_compare(const Variant &p_variant, int recursion_count) const
evaluate(OP_EQUAL, *this, p_variant, r, v);
return r;
}
return false;
}
bool Variant::is_ref_counted() const {

View file

@ -100,9 +100,9 @@ void RasterizerGLES3::begin_frame(double frame_step) {
canvas->set_time(time_total);
scene->set_time(time_total, frame_step);
GLES3::Utilities *utilities = GLES3::Utilities::get_singleton();
utilities->info.render_final = utilities->info.render;
utilities->info.render.reset();
GLES3::Utilities *utils = GLES3::Utilities::get_singleton();
utils->info.render_final = utils->info.render;
utils->info.render.reset();
//scene->iteration();
}
@ -275,9 +275,7 @@ void RasterizerGLES3::prepare_for_blitting_render_targets() {
}
void RasterizerGLES3::_blit_render_target_to_screen(RID p_render_target, DisplayServer::WindowID p_screen, const Rect2 &p_screen_rect) {
GLES3::TextureStorage *texture_storage = GLES3::TextureStorage::get_singleton();
GLES3::RenderTarget *rt = texture_storage->get_render_target(p_render_target);
GLES3::RenderTarget *rt = GLES3::TextureStorage::get_singleton()->get_render_target(p_render_target);
ERR_FAIL_COND(!rt);
glBindFramebuffer(GL_READ_FRAMEBUFFER, rt->fbo);

View file

@ -7262,12 +7262,12 @@ Error RenderingDeviceVulkan::_draw_list_render_pass_begin(Framebuffer *framebuff
return OK;
}
void RenderingDeviceVulkan::_draw_list_insert_clear_region(DrawList *draw_list, Framebuffer *framebuffer, Point2i viewport_offset, Point2i viewport_size, bool p_clear_color, const Vector<Color> &p_clear_colors, bool p_clear_depth, float p_depth, uint32_t p_stencil) {
void RenderingDeviceVulkan::_draw_list_insert_clear_region(DrawList *p_draw_list, Framebuffer *p_framebuffer, Point2i p_viewport_offset, Point2i p_viewport_size, bool p_clear_color, const Vector<Color> &p_clear_colors, bool p_clear_depth, float p_depth, uint32_t p_stencil) {
Vector<VkClearAttachment> clear_attachments;
int color_index = 0;
int texture_index = 0;
for (int i = 0; i < framebuffer->texture_ids.size(); i++) {
Texture *texture = texture_owner.get_or_null(framebuffer->texture_ids[i]);
for (int i = 0; i < p_framebuffer->texture_ids.size(); i++) {
Texture *texture = texture_owner.get_or_null(p_framebuffer->texture_ids[i]);
if (!texture) {
texture_index++;
@ -7300,12 +7300,12 @@ void RenderingDeviceVulkan::_draw_list_insert_clear_region(DrawList *draw_list,
VkClearRect cr;
cr.baseArrayLayer = 0;
cr.layerCount = 1;
cr.rect.offset.x = viewport_offset.x;
cr.rect.offset.y = viewport_offset.y;
cr.rect.extent.width = viewport_size.width;
cr.rect.extent.height = viewport_size.height;
cr.rect.offset.x = p_viewport_offset.x;
cr.rect.offset.y = p_viewport_offset.y;
cr.rect.extent.width = p_viewport_size.width;
cr.rect.extent.height = p_viewport_size.height;
vkCmdClearAttachments(draw_list->command_buffer, clear_attachments.size(), clear_attachments.ptr(), 1, &cr);
vkCmdClearAttachments(p_draw_list->command_buffer, clear_attachments.size(), clear_attachments.ptr(), 1, &cr);
}
RenderingDevice::DrawListID RenderingDeviceVulkan::draw_list_begin(RID p_framebuffer, InitialAction p_initial_color_action, FinalAction p_final_color_action, InitialAction p_initial_depth_action, FinalAction p_final_depth_action, const Vector<Color> &p_clear_color_values, float p_clear_depth, uint32_t p_clear_stencil, const Rect2 &p_region, const Vector<RID> &p_storage_textures) {

View file

@ -905,7 +905,7 @@ class RenderingDeviceVulkan : public RenderingDevice {
bool draw_list_unbind_color_textures = false;
bool draw_list_unbind_depth_textures = false;
void _draw_list_insert_clear_region(DrawList *draw_list, Framebuffer *framebuffer, Point2i viewport_offset, Point2i viewport_size, bool p_clear_color, const Vector<Color> &p_clear_colors, bool p_clear_depth, float p_depth, uint32_t p_stencil);
void _draw_list_insert_clear_region(DrawList *p_draw_list, Framebuffer *p_framebuffer, Point2i p_viewport_offset, Point2i p_viewport_size, bool p_clear_color, const Vector<Color> &p_clear_colors, bool p_clear_depth, float p_depth, uint32_t p_stencil);
Error _draw_list_setup_framebuffer(Framebuffer *p_framebuffer, InitialAction p_initial_color_action, FinalAction p_final_color_action, InitialAction p_initial_depth_action, FinalAction p_final_depth_action, VkFramebuffer *r_framebuffer, VkRenderPass *r_render_pass, uint32_t *r_subpass_count);
Error _draw_list_render_pass_begin(Framebuffer *framebuffer, InitialAction p_initial_color_action, FinalAction p_final_color_action, InitialAction p_initial_depth_action, FinalAction p_final_depth_action, const Vector<Color> &p_clear_colors, float p_clear_depth, uint32_t p_clear_stencil, Point2i viewport_offset, Point2i viewport_size, VkFramebuffer vkframebuffer, VkRenderPass render_pass, VkCommandBuffer command_buffer, VkSubpassContents subpass_contents, const Vector<RID> &p_storage_textures);
_FORCE_INLINE_ DrawList *_get_draw_list_ptr(DrawListID p_id);

View file

@ -48,7 +48,7 @@
VulkanHooks *VulkanContext::vulkan_hooks = nullptr;
VkResult VulkanContext::vkCreateRenderPass2KHR(VkDevice device, const VkRenderPassCreateInfo2 *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkRenderPass *pRenderPass) {
VkResult VulkanContext::vkCreateRenderPass2KHR(VkDevice p_device, const VkRenderPassCreateInfo2 *p_create_info, const VkAllocationCallbacks *p_allocator, VkRenderPass *p_render_pass) {
if (fpCreateRenderPass2KHR == nullptr) {
fpCreateRenderPass2KHR = (PFN_vkCreateRenderPass2KHR)vkGetInstanceProcAddr(inst, "vkCreateRenderPass2KHR");
}
@ -56,7 +56,7 @@ VkResult VulkanContext::vkCreateRenderPass2KHR(VkDevice device, const VkRenderPa
if (fpCreateRenderPass2KHR == nullptr) {
return VK_ERROR_EXTENSION_NOT_PRESENT;
} else {
return (fpCreateRenderPass2KHR)(device, pCreateInfo, pAllocator, pRenderPass);
return (fpCreateRenderPass2KHR)(p_device, p_create_info, p_allocator, p_render_pass);
}
}

View file

@ -270,7 +270,7 @@ protected:
public:
// Extension calls.
VkResult vkCreateRenderPass2KHR(VkDevice device, const VkRenderPassCreateInfo2 *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkRenderPass *pRenderPass);
VkResult vkCreateRenderPass2KHR(VkDevice p_device, const VkRenderPassCreateInfo2 *p_create_info, const VkAllocationCallbacks *p_allocator, VkRenderPass *p_render_pass);
uint32_t get_vulkan_major() const { return vulkan_major; };
uint32_t get_vulkan_minor() const { return vulkan_minor; };

View file

@ -200,9 +200,9 @@ String DirAccessWindows::get_current_dir(bool p_include_drive) const {
return current_dir;
} else {
if (_get_root_string().is_empty()) {
int p = current_dir.find(":");
if (p != -1) {
return current_dir.substr(p + 1);
int pos = current_dir.find(":");
if (pos != -1) {
return current_dir.substr(pos + 1);
}
}
return current_dir;

View file

@ -95,8 +95,8 @@ Error FileAccessWindows::open_internal(const String &p_path, int p_mode_flags) {
// platforms).
if (p_mode_flags == READ) {
WIN32_FIND_DATAW d;
HANDLE f = FindFirstFileW((LPCWSTR)(path.utf16().get_data()), &d);
if (f != INVALID_HANDLE_VALUE) {
HANDLE fnd = FindFirstFileW((LPCWSTR)(path.utf16().get_data()), &d);
if (fnd != INVALID_HANDLE_VALUE) {
String fname = String::utf16((const char16_t *)(d.cFileName));
if (!fname.is_empty()) {
String base_file = path.get_file();
@ -104,7 +104,7 @@ Error FileAccessWindows::open_internal(const String &p_path, int p_mode_flags) {
WARN_PRINT("Case mismatch opening requested file '" + base_file + "', stored as '" + fname + "' in the filesystem. This file will not open when exported to other case-sensitive platforms.");
}
}
FindClose(f);
FindClose(fnd);
}
}
#endif

View file

@ -338,14 +338,14 @@ void AnimationBezierTrackEdit::_notification(int p_what) {
Ref<Texture2D> unlock = get_theme_icon(SNAME("Unlock"), SNAME("EditorIcons"));
float lock_hpos = remove_hpos - hsep - lock->get_width();
Ref<Texture2D> visible = get_theme_icon(SNAME("GuiVisibilityVisible"), SNAME("EditorIcons"));
Ref<Texture2D> hidden = get_theme_icon(SNAME("GuiVisibilityHidden"), SNAME("EditorIcons"));
float visibility_hpos = lock_hpos - hsep - visible->get_width();
Ref<Texture2D> visibility_visible = get_theme_icon(SNAME("GuiVisibilityVisible"), SNAME("EditorIcons"));
Ref<Texture2D> visibility_hidden = get_theme_icon(SNAME("GuiVisibilityHidden"), SNAME("EditorIcons"));
float visibility_hpos = lock_hpos - hsep - visibility_visible->get_width();
Ref<Texture2D> solo = get_theme_icon(SNAME("AudioBusSolo"), SNAME("EditorIcons"));
float solo_hpos = visibility_hpos - hsep - solo->get_width();
float buttons_width = remove->get_width() + lock->get_width() + visible->get_width() + solo->get_width() + hsep * 3;
float buttons_width = remove->get_width() + lock->get_width() + visibility_visible->get_width() + solo->get_width() + hsep * 3;
for (int i = 0; i < tracks.size(); ++i) {
// RELATED TRACKS TITLES
@ -418,11 +418,11 @@ void AnimationBezierTrackEdit::_notification(int p_what) {
draw_texture(unlock, lock_rect.position);
}
Rect2 visible_rect = Rect2(visibility_hpos, icon_start_height - visible->get_height() / 2.0, visible->get_width(), visible->get_height());
Rect2 visible_rect = Rect2(visibility_hpos, icon_start_height - visibility_visible->get_height() / 2.0, visibility_visible->get_width(), visibility_visible->get_height());
if (hidden_tracks.has(current_track)) {
draw_texture(hidden, visible_rect.position);
draw_texture(visibility_hidden, visible_rect.position);
} else {
draw_texture(visible, visible_rect.position);
draw_texture(visibility_visible, visible_rect.position);
}
Rect2 solo_rect = Rect2(solo_hpos, icon_start_height - solo->get_height() / 2.0, solo->get_width(), solo->get_height());

View file

@ -2029,14 +2029,14 @@ void AnimationTrackEdit::_notification(int p_what) {
draw_texture(check, check_rect.position);
ofs += check->get_width() + hsep;
Ref<Texture2D> type_icon = _get_key_type_icon();
draw_texture(type_icon, Point2(ofs, int(get_size().height - type_icon->get_height()) / 2));
ofs += type_icon->get_width() + hsep;
Ref<Texture2D> key_type_icon = _get_key_type_icon();
draw_texture(key_type_icon, Point2(ofs, int(get_size().height - key_type_icon->get_height()) / 2));
ofs += key_type_icon->get_width() + hsep;
NodePath path = animation->track_get_path(track);
NodePath anim_path = animation->track_get_path(track);
Node *node = nullptr;
if (root && root->has_node(path)) {
node = root->get_node(path);
if (root && root->has_node(anim_path)) {
node = root->get_node(anim_path);
}
String text;
@ -2053,7 +2053,7 @@ void AnimationTrackEdit::_notification(int p_what) {
} else if (animation->track_get_type(track) == Animation::TYPE_ANIMATION) {
text = TTR("Anim Clips:");
} else {
text += path.get_concatenated_subnames();
text += anim_path.get_concatenated_subnames();
}
text_color.a *= 0.7;
} else if (node) {
@ -2062,14 +2062,14 @@ void AnimationTrackEdit::_notification(int p_what) {
draw_texture(icon, Point2(ofs, int(get_size().height - icon->get_height()) / 2));
icon_cache = icon;
text = String() + node->get_name() + ":" + path.get_concatenated_subnames();
text = String() + node->get_name() + ":" + anim_path.get_concatenated_subnames();
ofs += hsep;
ofs += icon->get_width();
} else {
icon_cache = type_icon;
icon_cache = key_type_icon;
text = path;
text = anim_path;
}
path_cache = text;
@ -2853,9 +2853,9 @@ void AnimationTrackEdit::gui_input(const Ref<InputEvent> &p_event) {
if (ape) {
AnimationPlayer *ap = ape->get_player();
if (ap) {
NodePath path = animation->track_get_path(track);
Node *nd = ap->get_node(ap->get_root())->get_node(NodePath(path.get_concatenated_names()));
StringName prop = path.get_concatenated_subnames();
NodePath npath = animation->track_get_path(track);
Node *nd = ap->get_node(ap->get_root())->get_node(NodePath(npath.get_concatenated_names()));
StringName prop = npath.get_concatenated_subnames();
PropertyInfo prop_info;
ClassDB::get_property_info(nd->get_class(), prop, &prop_info);
bool is_angle = prop_info.type == Variant::FLOAT && prop_info.hint_string.find("radians") != -1;
@ -4463,24 +4463,24 @@ void AnimationTrackEditor::_update_tracks() {
return;
}
bool read_only = false;
bool file_read_only = false;
if (!animation->get_path().is_resource_file()) {
int srpos = animation->get_path().find("::");
if (srpos != -1) {
String base = animation->get_path().substr(0, srpos);
if (ResourceLoader::get_resource_type(base) == "PackedScene") {
if (!get_tree()->get_edited_scene_root() || get_tree()->get_edited_scene_root()->get_scene_file_path() != base) {
read_only = true;
file_read_only = true;
}
} else {
if (FileAccess::exists(base + ".import")) {
read_only = true;
file_read_only = true;
}
}
}
} else {
if (FileAccess::exists(animation->get_path() + ".import")) {
read_only = true;
file_read_only = true;
}
}
@ -4612,7 +4612,7 @@ void AnimationTrackEditor::_update_tracks() {
track_edit->set_undo_redo(undo_redo);
track_edit->set_timeline(timeline);
track_edit->set_root(root);
track_edit->set_animation_and_track(animation, i, read_only);
track_edit->set_animation_and_track(animation, i, file_read_only);
track_edit->set_play_position(timeline->get_play_position());
track_edit->set_editor(this);
@ -5072,10 +5072,8 @@ void AnimationTrackEditor::_insert_key_from_track(float p_ofs, int p_track) {
return;
}
Vector3 scale = base->get_scale();
undo_redo->create_action(TTR("Add Scale Key"));
undo_redo->add_do_method(animation.ptr(), "scale_track_insert_key", p_track, p_ofs, scale);
undo_redo->add_do_method(animation.ptr(), "scale_track_insert_key", p_track, p_ofs, base->get_scale());
undo_redo->add_undo_method(animation.ptr(), "track_remove_key_at_time", p_track, p_ofs);
undo_redo->commit_action();
@ -5671,18 +5669,18 @@ void AnimationTrackEditor::goto_prev_step(bool p_from_mouse_event) {
if (animation.is_null()) {
return;
}
float step = animation->get_step();
if (step == 0) {
step = 1;
float anim_step = animation->get_step();
if (anim_step == 0) {
anim_step = 1;
}
if (p_from_mouse_event && Input::get_singleton()->is_key_pressed(Key::SHIFT)) {
// Use more precise snapping when holding Shift.
// This is used when scrobbling the timeline using Alt + Mouse wheel.
step *= 0.25;
anim_step *= 0.25;
}
float pos = timeline->get_play_position();
pos = Math::snapped(pos - step, step);
pos = Math::snapped(pos - anim_step, anim_step);
if (pos < 0) {
pos = 0;
}
@ -5694,21 +5692,21 @@ void AnimationTrackEditor::goto_next_step(bool p_from_mouse_event, bool p_timeli
if (animation.is_null()) {
return;
}
float step = animation->get_step();
if (step == 0) {
step = 1;
float anim_step = animation->get_step();
if (anim_step == 0) {
anim_step = 1;
}
if (p_from_mouse_event && Input::get_singleton()->is_key_pressed(Key::SHIFT)) {
// Use more precise snapping when holding Shift.
// This is used when scrobbling the timeline using Alt + Mouse wheel.
// Do not use precise snapping when using the menu action or keyboard shortcut,
// as the default keyboard shortcut requires pressing Shift.
step *= 0.25;
anim_step *= 0.25;
}
float pos = timeline->get_play_position();
pos = Math::snapped(pos + step, step);
pos = Math::snapped(pos + anim_step, anim_step);
if (pos > animation->get_length()) {
pos = animation->get_length();
}
@ -5801,9 +5799,9 @@ void AnimationTrackEditor::_edit_menu_pressed(int p_option) {
} break;
case EDIT_COPY_TRACKS_CONFIRM: {
track_clipboard.clear();
TreeItem *root = track_copy_select->get_root();
if (root) {
TreeItem *it = root->get_first_child();
TreeItem *tree_root = track_copy_select->get_root();
if (tree_root) {
TreeItem *it = tree_root->get_first_child();
while (it) {
Dictionary md = it->get_metadata(0);
int idx = md["track_idx"];
@ -6037,7 +6035,7 @@ void AnimationTrackEditor::_edit_menu_pressed(int p_option) {
bool is_using_angle = animation->track_get_interpolation_type(track) == Animation::INTERPOLATION_LINEAR_ANGLE || animation->track_get_interpolation_type(track) == Animation::INTERPOLATION_CUBIC_ANGLE;
// Make insert queue.
Vector<Pair<real_t, Variant>> insert_queue;
Vector<Pair<real_t, Variant>> insert_queue_new;
for (int i = 0; i < len; i++) {
// Check neighboring keys.
if (keys[i] + 1 == keys[i + 1]) {
@ -6058,15 +6056,15 @@ void AnimationTrackEditor::_edit_menu_pressed(int p_option) {
Pair<real_t, Variant> keydata;
keydata.first = from_t + delta_t;
keydata.second = Tween::interpolate_variant(from_v, delta_v, delta_t, duration, transition_type, ease_type);
insert_queue.append(keydata);
insert_queue_new.append(keydata);
}
}
}
// Do insertion.
for (int i = 0; i < insert_queue.size(); i++) {
undo_redo->add_do_method(animation.ptr(), "track_insert_key", track, insert_queue[i].first, insert_queue[i].second);
undo_redo->add_undo_method(animation.ptr(), "track_remove_key_at_time", track, insert_queue[i].first);
for (int i = 0; i < insert_queue_new.size(); i++) {
undo_redo->add_do_method(animation.ptr(), "track_insert_key", track, insert_queue_new[i].first, insert_queue_new[i].second);
undo_redo->add_undo_method(animation.ptr(), "track_remove_key_at_time", track, insert_queue_new[i].first);
}
++E;
@ -6213,7 +6211,7 @@ void AnimationTrackEditor::_edit_menu_pressed(int p_option) {
bool is_using_angle = it == Animation::INTERPOLATION_LINEAR_ANGLE || it == Animation::INTERPOLATION_CUBIC_ANGLE;
// Make insert queue.
Vector<Pair<real_t, Variant>> insert_queue;
Vector<Pair<real_t, Variant>> insert_queue_new;
switch (type) {
case Animation::TYPE_POSITION_3D: {
@ -6223,7 +6221,7 @@ void AnimationTrackEditor::_edit_menu_pressed(int p_option) {
Vector3 v;
animation->position_track_interpolate(i, delta_t, &v);
keydata.second = v;
insert_queue.append(keydata);
insert_queue_new.append(keydata);
}
} break;
case Animation::TYPE_ROTATION_3D: {
@ -6233,7 +6231,7 @@ void AnimationTrackEditor::_edit_menu_pressed(int p_option) {
Quaternion v;
animation->rotation_track_interpolate(i, delta_t, &v);
keydata.second = v;
insert_queue.append(keydata);
insert_queue_new.append(keydata);
}
} break;
case Animation::TYPE_SCALE_3D: {
@ -6243,7 +6241,7 @@ void AnimationTrackEditor::_edit_menu_pressed(int p_option) {
Vector3 v;
animation->scale_track_interpolate(i, delta_t, &v);
keydata.second = v;
insert_queue.append(keydata);
insert_queue_new.append(keydata);
}
} break;
case Animation::TYPE_BLEND_SHAPE: {
@ -6253,7 +6251,7 @@ void AnimationTrackEditor::_edit_menu_pressed(int p_option) {
float v;
animation->blend_shape_track_interpolate(i, delta_t, &v);
keydata.second = v;
insert_queue.append(keydata);
insert_queue_new.append(keydata);
}
} break;
case Animation::TYPE_VALUE: {
@ -6261,7 +6259,7 @@ void AnimationTrackEditor::_edit_menu_pressed(int p_option) {
Pair<real_t, Variant> keydata;
keydata.first = delta_t;
keydata.second = animation->value_track_interpolate(i, delta_t);
insert_queue.append(keydata);
insert_queue_new.append(keydata);
}
} break;
default: {
@ -6276,9 +6274,9 @@ void AnimationTrackEditor::_edit_menu_pressed(int p_option) {
// Insert keys.
undo_redo->add_do_method(animation.ptr(), "track_set_interpolation_type", i, is_using_angle ? Animation::INTERPOLATION_LINEAR_ANGLE : Animation::INTERPOLATION_LINEAR);
for (int j = insert_queue.size() - 1; j >= 0; j--) {
undo_redo->add_do_method(animation.ptr(), "track_insert_key", i, insert_queue[j].first, insert_queue[j].second);
undo_redo->add_undo_method(animation.ptr(), "track_remove_key_at_time", i, insert_queue[j].first);
for (int j = insert_queue_new.size() - 1; j >= 0; j--) {
undo_redo->add_do_method(animation.ptr(), "track_insert_key", i, insert_queue_new[j].first, insert_queue_new[j].second);
undo_redo->add_undo_method(animation.ptr(), "track_remove_key_at_time", i, insert_queue_new[j].first);
}
// Undo methods.
@ -6925,19 +6923,19 @@ AnimationTrackEditor::AnimationTrackEditor() {
track_copy_dialog->set_title(TTR("Select Tracks to Copy"));
track_copy_dialog->set_ok_button_text(TTR("Copy"));
VBoxContainer *track_vbox = memnew(VBoxContainer);
track_copy_dialog->add_child(track_vbox);
VBoxContainer *track_copy_vbox = memnew(VBoxContainer);
track_copy_dialog->add_child(track_copy_vbox);
Button *select_all_button = memnew(Button);
select_all_button->set_text(TTR("Select All/None"));
select_all_button->connect("pressed", callable_mp(this, &AnimationTrackEditor::_select_all_tracks_for_copy));
track_vbox->add_child(select_all_button);
track_copy_vbox->add_child(select_all_button);
track_copy_select = memnew(Tree);
track_copy_select->set_h_size_flags(SIZE_EXPAND_FILL);
track_copy_select->set_v_size_flags(SIZE_EXPAND_FILL);
track_copy_select->set_hide_root(true);
track_vbox->add_child(track_copy_select);
track_copy_vbox->add_child(track_copy_select);
track_copy_dialog->connect("confirmed", callable_mp(this, &AnimationTrackEditor::_edit_menu_pressed).bind(EDIT_COPY_TRACKS_CONFIRM));
}

View file

@ -412,9 +412,9 @@ Rect2 AnimationTrackEditSpriteFrame::get_key_rect(int p_index, float p_pixels_se
sf->get_animation_list(&animations);
int frame = get_animation()->track_get_key_value(get_track(), p_index);
String animation;
String animation_name;
if (animations.size() == 1) {
animation = animations.front()->get();
animation_name = animations.front()->get();
} else {
// Go through other track to find if animation is set
String animation_path = get_animation()->track_get_path(get_track());
@ -422,10 +422,10 @@ Rect2 AnimationTrackEditSpriteFrame::get_key_rect(int p_index, float p_pixels_se
int animation_track = get_animation()->find_track(animation_path, get_animation()->track_get_type(get_track()));
float track_time = get_animation()->track_get_key_time(get_track(), p_index);
int animaiton_index = get_animation()->track_find_key(animation_track, track_time);
animation = get_animation()->track_get_key_value(animation_track, animaiton_index);
animation_name = get_animation()->track_get_key_value(animation_track, animaiton_index);
}
Ref<Texture2D> texture = sf->get_frame(animation, frame);
Ref<Texture2D> texture = sf->get_frame(animation_name, frame);
if (!texture.is_valid()) {
return AnimationTrackEdit::get_key_rect(p_index, p_pixels_sec);
}
@ -504,9 +504,9 @@ void AnimationTrackEditSpriteFrame::draw_key(int p_index, float p_pixels_sec, in
sf->get_animation_list(&animations);
int frame = get_animation()->track_get_key_value(get_track(), p_index);
String animation;
String animation_name;
if (animations.size() == 1) {
animation = animations.front()->get();
animation_name = animations.front()->get();
} else {
// Go through other track to find if animation is set
String animation_path = get_animation()->track_get_path(get_track());
@ -514,10 +514,10 @@ void AnimationTrackEditSpriteFrame::draw_key(int p_index, float p_pixels_sec, in
int animation_track = get_animation()->find_track(animation_path, get_animation()->track_get_type(get_track()));
float track_time = get_animation()->track_get_key_time(get_track(), p_index);
int animaiton_index = get_animation()->track_find_key(animation_track, track_time);
animation = get_animation()->track_get_key_value(animation_track, animaiton_index);
animation_name = get_animation()->track_get_key_value(animation_track, animaiton_index);
}
texture = sf->get_frame(animation, frame);
texture = sf->get_frame(animation_name, frame);
if (!texture.is_valid()) {
AnimationTrackEdit::draw_key(p_index, p_pixels_sec, p_x, p_selected, p_clip_left, p_clip_right);
return;
@ -670,15 +670,15 @@ void AnimationTrackEditSubAnim::draw_key(int p_index, float p_pixels_sec, int p_
Vector<Vector2> lines;
Vector<Color> colorv;
{
Ref<Animation> animation = ap->get_animation(anim);
Ref<Animation> ap_anim = ap->get_animation(anim);
for (int i = 0; i < animation->get_track_count(); i++) {
float h = (rect.size.height - 2) / animation->get_track_count();
for (int i = 0; i < ap_anim->get_track_count(); i++) {
float h = (rect.size.height - 2) / ap_anim->get_track_count();
int y = 2 + h * i + h / 2;
for (int j = 0; j < animation->track_get_key_count(i); j++) {
float ofs = animation->track_get_key_time(i, j);
for (int j = 0; j < ap_anim->track_get_key_count(i); j++) {
float ofs = ap_anim->track_get_key_time(i, j);
int x = p_x + ofs * p_pixels_sec + 2;
if (x < from_x || x >= (to_x - 4)) {
@ -1244,15 +1244,15 @@ void AnimationTrackEditTypeAnimation::draw_key(int p_index, float p_pixels_sec,
Vector<Vector2> lines;
Vector<Color> colorv;
{
Ref<Animation> animation = ap->get_animation(anim);
Ref<Animation> ap_anim = ap->get_animation(anim);
for (int i = 0; i < animation->get_track_count(); i++) {
float h = (rect.size.height - 2) / animation->get_track_count();
for (int i = 0; i < ap_anim->get_track_count(); i++) {
float h = (rect.size.height - 2) / ap_anim->get_track_count();
int y = 2 + h * i + h / 2;
for (int j = 0; j < animation->track_get_key_count(i); j++) {
float ofs = animation->track_get_key_time(i, j);
for (int j = 0; j < ap_anim->track_get_key_count(i); j++) {
float ofs = ap_anim->track_get_key_time(i, j);
int x = p_x + ofs * p_pixels_sec + 2;
if (x < from_x || x >= (to_x - 4)) {

View file

@ -184,7 +184,7 @@ void FindReplaceBar::_replace() {
selection_end = Point2i(text_editor->get_selection_to_line(0), text_editor->get_selection_to_column(0));
}
String replace_text = get_replace_text();
String repl_text = get_replace_text();
int search_text_len = get_search_text().length();
text_editor->begin_complex_operation();
@ -201,13 +201,13 @@ void FindReplaceBar::_replace() {
Point2i match_from(result_line, result_col);
Point2i match_to(result_line, result_col + search_text_len);
if (!(match_from < selection_begin || match_to > selection_end)) {
text_editor->insert_text_at_caret(replace_text, 0);
text_editor->insert_text_at_caret(repl_text, 0);
if (match_to.x == selection_end.x) { // Adjust selection bounds if necessary
selection_end.y += replace_text.length() - search_text_len;
selection_end.y += repl_text.length() - search_text_len;
}
}
} else {
text_editor->insert_text_at_caret(replace_text, 0);
text_editor->insert_text_at_caret(repl_text, 0);
}
}
text_editor->end_complex_operation();
@ -241,7 +241,7 @@ void FindReplaceBar::_replace_all() {
text_editor->set_caret_line(0, false, true, 0, 0);
text_editor->set_caret_column(0, true, 0);
String replace_text = get_replace_text();
String repl_text = get_replace_text();
int search_text_len = get_search_text().length();
int rc = 0;
@ -264,7 +264,7 @@ void FindReplaceBar::_replace_all() {
break; // Done.
}
prev_match = Point2i(result_line, result_col + replace_text.length());
prev_match = Point2i(result_line, result_col + repl_text.length());
text_editor->unfold_line(result_line);
text_editor->select(result_line, result_col, result_line, match_to.y, 0);
@ -275,14 +275,14 @@ void FindReplaceBar::_replace_all() {
}
// Replace but adjust selection bounds.
text_editor->insert_text_at_caret(replace_text, 0);
text_editor->insert_text_at_caret(repl_text, 0);
if (match_to.x == selection_end.x) {
selection_end.y += replace_text.length() - search_text_len;
selection_end.y += repl_text.length() - search_text_len;
}
} else {
// Just replace.
text_editor->insert_text_at_caret(replace_text, 0);
text_editor->insert_text_at_caret(repl_text, 0);
}
rc++;

View file

@ -184,8 +184,8 @@ void ConnectDialog::_add_bind() {
Variant::Type type = (Variant::Type)type_list->get_item_id(type_list->get_selected());
Variant value;
Callable::CallError error;
Variant::construct(type, value, nullptr, 0, error);
Callable::CallError err;
Variant::construct(type, value, nullptr, 0, err);
cdbinds->params.push_back(value);
cdbinds->notify_changed();
@ -583,19 +583,19 @@ void ConnectionsDock::_make_or_edit_connection() {
// Conditions to add function: must have a script and must not have the method already
// (in the class, the script itself, or inherited).
bool add_script_function = false;
Ref<Script> script = target->get_script();
if (!target->get_script().is_null() && !ClassDB::has_method(target->get_class(), cd.method)) {
Ref<Script> scr = target->get_script();
if (!scr.is_null() && !ClassDB::has_method(target->get_class(), cd.method)) {
// There is a chance that the method is inherited from another script.
bool found_inherited_function = false;
Ref<Script> inherited_script = script->get_base_script();
while (!inherited_script.is_null()) {
int line = inherited_script->get_language()->find_function(cd.method, inherited_script->get_source_code());
Ref<Script> inherited_scr = scr->get_base_script();
while (!inherited_scr.is_null()) {
int line = inherited_scr->get_language()->find_function(cd.method, inherited_scr->get_source_code());
if (line != -1) {
found_inherited_function = true;
break;
}
inherited_script = inherited_script->get_base_script();
inherited_scr = inherited_scr->get_base_script();
}
add_script_function = !found_inherited_function;
@ -816,13 +816,13 @@ void ConnectionsDock::_go_to_script(TreeItem &p_item) {
return;
}
Ref<Script> script = cd.target->get_script();
Ref<Script> scr = cd.target->get_script();
if (script.is_null()) {
if (scr.is_null()) {
return;
}
if (script.is_valid() && ScriptEditor::get_singleton()->script_goto_method(script, cd.method)) {
if (scr.is_valid() && ScriptEditor::get_singleton()->script_goto_method(scr, cd.method)) {
EditorNode::get_singleton()->editor_select(EditorNode::EDITOR_SCRIPT);
}
}
@ -1077,10 +1077,10 @@ void ConnectionsDock::update_tree() {
}
// List existing connections.
List<Object::Connection> connections;
selected_node->get_signal_connection_list(signal_name, &connections);
List<Object::Connection> existing_connections;
selected_node->get_signal_connection_list(signal_name, &existing_connections);
for (const Object::Connection &F : connections) {
for (const Object::Connection &F : existing_connections) {
Connection connection = F;
if (!(connection.flags & CONNECT_PERSIST)) {
continue;

View file

@ -213,18 +213,18 @@ void CreateDialog::_add_type(const String &p_type, const TypeCategory p_type_cat
inherited_type = TypeCategory::CPP_TYPE;
} else if (p_type_category == TypeCategory::PATH_TYPE) {
ERR_FAIL_COND(!ResourceLoader::exists(p_type, "Script"));
Ref<Script> script = ResourceLoader::load(p_type, "Script");
ERR_FAIL_COND(script.is_null());
Ref<Script> scr = ResourceLoader::load(p_type, "Script");
ERR_FAIL_COND(scr.is_null());
Ref<Script> base = script->get_base_script();
Ref<Script> base = scr->get_base_script();
if (base.is_null()) {
String extends;
script->get_language()->get_global_class_name(script->get_path(), &extends);
scr->get_language()->get_global_class_name(scr->get_path(), &extends);
inherits = extends;
inherited_type = TypeCategory::CPP_TYPE;
} else {
inherits = script->get_language()->get_global_class_name(base->get_path());
inherits = scr->get_language()->get_global_class_name(base->get_path());
if (inherits.is_empty()) {
inherits = base->get_path();
inherited_type = TypeCategory::PATH_TYPE;
@ -232,18 +232,18 @@ void CreateDialog::_add_type(const String &p_type, const TypeCategory p_type_cat
}
} else {
if (ScriptServer::is_global_class(p_type)) {
Ref<Script> script = EditorNode::get_editor_data().script_class_load_script(p_type);
ERR_FAIL_COND(script.is_null());
Ref<Script> scr = EditorNode::get_editor_data().script_class_load_script(p_type);
ERR_FAIL_COND(scr.is_null());
Ref<Script> base = script->get_base_script();
Ref<Script> base = scr->get_base_script();
if (base.is_null()) {
String extends;
script->get_language()->get_global_class_name(script->get_path(), &extends);
scr->get_language()->get_global_class_name(scr->get_path(), &extends);
inherits = extends;
inherited_type = TypeCategory::CPP_TYPE;
} else {
inherits = script->get_language()->get_global_class_name(base->get_path());
inherits = scr->get_language()->get_global_class_name(base->get_path());
if (inherits.is_empty()) {
inherits = base->get_path();
inherited_type = TypeCategory::PATH_TYPE;

View file

@ -921,11 +921,11 @@ void DebugAdapterProtocol::on_debug_stack_frame_vars(const int &p_size) {
ERR_FAIL_COND(!stackframe_list.has(frame));
List<int> scope_ids = stackframe_list.find(frame)->value;
for (List<int>::Element *E = scope_ids.front(); E; E = E->next()) {
int variable_id = E->get();
if (variable_list.has(variable_id)) {
variable_list.find(variable_id)->value.clear();
int var_id = E->get();
if (variable_list.has(var_id)) {
variable_list.find(var_id)->value.clear();
} else {
variable_list.insert(variable_id, Array());
variable_list.insert(var_id, Array());
}
}
}
@ -941,7 +941,7 @@ void DebugAdapterProtocol::on_debug_stack_frame_var(const Array &p_data) {
List<int> scope_ids = stackframe_list.find(frame)->value;
ERR_FAIL_COND(scope_ids.size() != 3);
ERR_FAIL_INDEX(stack_var.type, 3);
int variable_id = scope_ids[stack_var.type];
int var_id = scope_ids[stack_var.type];
DAP::Variable variable;
@ -950,7 +950,7 @@ void DebugAdapterProtocol::on_debug_stack_frame_var(const Array &p_data) {
variable.type = Variant::get_type_name(stack_var.value.get_type());
variable.variablesReference = parse_variant(stack_var.value);
variable_list.find(variable_id)->value.push_back(variable.to_json());
variable_list.find(var_id)->value.push_back(variable.to_json());
_remaining_vars--;
}

View file

@ -64,10 +64,10 @@ void DebugAdapterServer::_notification(int p_what) {
case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: {
protocol._request_timeout = EditorSettings::get_singleton()->get("network/debug_adapter/request_timeout");
protocol._sync_breakpoints = EditorSettings::get_singleton()->get("network/debug_adapter/sync_breakpoints");
int remote_port = (int)_EDITOR_GET("network/debug_adapter/remote_port");
if (remote_port != this->remote_port) {
this->stop();
this->start();
int port = (int)_EDITOR_GET("network/debug_adapter/remote_port");
if (port != remote_port) {
stop();
start();
}
} break;
}

View file

@ -166,11 +166,11 @@ ObjectID EditorDebuggerInspector::add_object(const Array &p_arr) {
if (pinfo.hint_string == "Script") {
if (debug_obj->get_script() != var) {
debug_obj->set_script(Ref<RefCounted>());
Ref<Script> script(var);
if (!script.is_null()) {
ScriptInstance *script_instance = script->placeholder_instance_create(debug_obj);
if (script_instance) {
debug_obj->set_script_and_instance(var, script_instance);
Ref<Script> scr(var);
if (!scr.is_null()) {
ScriptInstance *scr_instance = scr->placeholder_instance_create(debug_obj);
if (scr_instance) {
debug_obj->set_script_and_instance(var, scr_instance);
}
}
}

View file

@ -477,13 +477,10 @@ void EditorDebuggerNode::_menu_option(int p_id) {
}
void EditorDebuggerNode::_update_debug_options() {
bool keep_debugger_open = EditorSettings::get_singleton()->get_project_metadata("debug_options", "keep_debugger_open", false);
bool debug_with_external_editor = EditorSettings::get_singleton()->get_project_metadata("debug_options", "debug_with_external_editor", false);
if (keep_debugger_open) {
if (EditorSettings::get_singleton()->get_project_metadata("debug_options", "keep_debugger_open", false).operator bool()) {
_menu_option(DEBUG_KEEP_DEBUGGER_OPEN);
}
if (debug_with_external_editor) {
if (EditorSettings::get_singleton()->get_project_metadata("debug_options", "debug_with_external_editor", false).operator bool()) {
_menu_option(DEBUG_WITH_EXTERNAL_EDITOR);
}
}

View file

@ -349,12 +349,12 @@ void EditorPerformanceProfiler::update_monitors(const Vector<StringName> &p_name
void EditorPerformanceProfiler::add_profile_frame(const Vector<float> &p_values) {
for (KeyValue<StringName, Monitor> &E : monitors) {
float data = 0.0f;
float value = 0.0f;
if (E.value.frame_index >= 0 && E.value.frame_index < p_values.size()) {
data = p_values[E.value.frame_index];
value = p_values[E.value.frame_index];
}
E.value.history.push_front(data);
E.value.update_value(data);
E.value.history.push_front(value);
E.value.update_value(value);
}
marker_frame++;
monitor_draw->queue_redraw();

View file

@ -747,8 +747,8 @@ void ScriptEditorDebugger::_parse_message(const String &p_msg, const Array &p_da
if (element) {
Callable &c = element->value;
ERR_FAIL_COND_MSG(c.is_null(), "Invalid callable registered: " + cap);
Variant cmd = p_msg.substr(colon_index + 1), data = p_data;
const Variant *args[2] = { &cmd, &data };
Variant cmd = p_msg.substr(colon_index + 1), cmd_data = p_data;
const Variant *args[2] = { &cmd, &cmd_data };
Variant retval;
Callable::CallError err;
c.callp(args, 2, retval, err);
@ -895,9 +895,9 @@ void ScriptEditorDebugger::_clear_execution() {
}
void ScriptEditorDebugger::_set_breakpoint(const String &p_file, const int &p_line, const bool &p_enabled) {
Ref<Script> script = ResourceLoader::load(p_file);
emit_signal(SNAME("set_breakpoint"), script, p_line - 1, p_enabled);
script.unref();
Ref<Script> scr = ResourceLoader::load(p_file);
emit_signal(SNAME("set_breakpoint"), scr, p_line - 1, p_enabled);
scr.unref();
}
void ScriptEditorDebugger::_clear_breakpoints() {
@ -979,15 +979,15 @@ void ScriptEditorDebugger::stop() {
}
void ScriptEditorDebugger::_profiler_activate(bool p_enable, int p_type) {
Array data;
data.push_back(p_enable);
Array msg_data;
msg_data.push_back(p_enable);
switch (p_type) {
case PROFILER_NETWORK:
_put_msg("profiler:multiplayer", data);
_put_msg("profiler:rpc", data);
_put_msg("profiler:multiplayer", msg_data);
_put_msg("profiler:rpc", msg_data);
break;
case PROFILER_VISUAL:
_put_msg("profiler:visual", data);
_put_msg("profiler:visual", msg_data);
break;
case PROFILER_SCRIPTS_SERVERS:
if (p_enable) {
@ -997,9 +997,9 @@ void ScriptEditorDebugger::_profiler_activate(bool p_enable, int p_type) {
Array opts;
int max_funcs = EditorSettings::get_singleton()->get("debugger/profiler_frame_max_functions");
opts.push_back(CLAMP(max_funcs, 16, 512));
data.push_back(opts);
msg_data.push_back(opts);
}
_put_msg("profiler:servers", data);
_put_msg("profiler:servers", msg_data);
break;
default:
ERR_FAIL_MSG("Invalid profiler type");

View file

@ -792,14 +792,14 @@ void OrphanResourcesDialog::show() {
popup_centered_ratio(0.4);
}
void OrphanResourcesDialog::_find_to_delete(TreeItem *p_item, List<String> &paths) {
void OrphanResourcesDialog::_find_to_delete(TreeItem *p_item, List<String> &r_paths) {
while (p_item) {
if (p_item->get_cell_mode(0) == TreeItem::CELL_MODE_CHECK && p_item->is_checked(0)) {
paths.push_back(p_item->get_metadata(0));
r_paths.push_back(p_item->get_metadata(0));
}
if (p_item->get_first_child()) {
_find_to_delete(p_item->get_first_child(), paths);
_find_to_delete(p_item->get_first_child(), r_paths);
}
p_item = p_item->get_next();

View file

@ -165,7 +165,7 @@ class OrphanResourcesDialog : public ConfirmationDialog {
bool _fill_owners(EditorFileSystemDirectory *efsd, HashMap<String, int> &refs, TreeItem *p_parent);
List<String> paths;
void _find_to_delete(TreeItem *p_item, List<String> &paths);
void _find_to_delete(TreeItem *p_item, List<String> &r_paths);
void _delete_confirm();
void _button_pressed(Object *p_item, int p_column, int p_id, MouseButton p_button);

View file

@ -183,16 +183,16 @@ void EditorAssetInstaller::open(const String &p_path, int p_depth) {
int pp = path.rfind("/");
TreeItem *parent;
TreeItem *parent_item;
if (pp == -1) {
parent = root;
parent_item = root;
} else {
String ppath = path.substr(0, pp);
ERR_CONTINUE(!dir_map.has(ppath));
parent = dir_map[ppath];
parent_item = dir_map[ppath];
}
TreeItem *ti = tree->create_item(parent);
TreeItem *ti = tree->create_item(parent_item);
ti->set_cell_mode(0, TreeItem::CELL_MODE_CHECK);
ti->set_checked(0, true);
ti->set_editable(0, true);
@ -284,17 +284,17 @@ void EditorAssetInstaller::ok_pressed() {
Ref<DirAccess> da = DirAccess::create(DirAccess::ACCESS_RESOURCES);
da->make_dir(dirpath);
} else {
Vector<uint8_t> data;
data.resize(info.uncompressed_size);
Vector<uint8_t> uncomp_data;
uncomp_data.resize(info.uncompressed_size);
//read
unzOpenCurrentFile(pkg);
unzReadCurrentFile(pkg, data.ptrw(), data.size());
unzReadCurrentFile(pkg, uncomp_data.ptrw(), uncomp_data.size());
unzCloseCurrentFile(pkg);
Ref<FileAccess> f = FileAccess::open(path, FileAccess::WRITE);
if (f.is_valid()) {
f->store_buffer(data.ptr(), data.size());
f->store_buffer(uncomp_data.ptr(), uncomp_data.size());
} else {
failed_files.push_back(path);
}

View file

@ -919,10 +919,10 @@ EditorAudioBus::EditorAudioBus(EditorAudioBuses *p_buses, bool p_is_master) {
effect_options = memnew(PopupMenu);
effect_options->connect("index_pressed", callable_mp(this, &EditorAudioBus::_effect_add));
add_child(effect_options);
List<StringName> effects;
ClassDB::get_inheriters_from_class("AudioEffect", &effects);
effects.sort_custom<StringName::AlphCompare>();
for (const StringName &E : effects) {
List<StringName> effect_list;
ClassDB::get_inheriters_from_class("AudioEffect", &effect_list);
effect_list.sort_custom<StringName::AlphCompare>();
for (const StringName &E : effect_list) {
if (!ClassDB::can_instantiate(E) || ClassDB::is_virtual(E)) {
continue;
}

View file

@ -222,15 +222,15 @@ void EditorAutoloadSettings::_autoload_edited() {
name = "autoload/" + name;
int order = ProjectSettings::get_singleton()->get_order(selected_autoload);
String path = ProjectSettings::get_singleton()->get(selected_autoload);
String scr_path = ProjectSettings::get_singleton()->get(selected_autoload);
undo_redo->create_action(TTR("Rename Autoload"));
undo_redo->add_do_property(ProjectSettings::get_singleton(), name, path);
undo_redo->add_do_property(ProjectSettings::get_singleton(), name, scr_path);
undo_redo->add_do_method(ProjectSettings::get_singleton(), "set_order", name, order);
undo_redo->add_do_method(ProjectSettings::get_singleton(), "clear", selected_autoload);
undo_redo->add_undo_property(ProjectSettings::get_singleton(), selected_autoload, path);
undo_redo->add_undo_property(ProjectSettings::get_singleton(), selected_autoload, scr_path);
undo_redo->add_undo_method(ProjectSettings::get_singleton(), "set_order", selected_autoload, order);
undo_redo->add_undo_method(ProjectSettings::get_singleton(), "clear", name);
@ -250,20 +250,20 @@ void EditorAutoloadSettings::_autoload_edited() {
String base = "autoload/" + ti->get_text(0);
int order = ProjectSettings::get_singleton()->get_order(base);
String path = ProjectSettings::get_singleton()->get(base);
String scr_path = ProjectSettings::get_singleton()->get(base);
if (path.begins_with("*")) {
path = path.substr(1, path.length());
if (scr_path.begins_with("*")) {
scr_path = scr_path.substr(1, scr_path.length());
}
// Singleton autoloads are represented with a leading "*" in their path.
if (checked) {
path = "*" + path;
scr_path = "*" + scr_path;
}
undo_redo->create_action(TTR("Toggle Autoload Globals"));
undo_redo->add_do_property(ProjectSettings::get_singleton(), base, path);
undo_redo->add_do_property(ProjectSettings::get_singleton(), base, scr_path);
undo_redo->add_undo_property(ProjectSettings::get_singleton(), base, ProjectSettings::get_singleton()->get(base));
undo_redo->add_do_method(ProjectSettings::get_singleton(), "set_order", base, order);
@ -404,11 +404,11 @@ Node *EditorAutoloadSettings::_create_autoload(const String &p_path) {
ERR_FAIL_COND_V_MSG(res.is_null(), nullptr, "Can't autoload: " + p_path + ".");
Node *n = nullptr;
Ref<PackedScene> scn = res;
Ref<Script> script = res;
Ref<Script> scr = res;
if (scn.is_valid()) {
n = scn->instantiate();
} else if (script.is_valid()) {
StringName ibt = script->get_instance_base_type();
} else if (scr.is_valid()) {
StringName ibt = scr->get_instance_base_type();
bool valid_type = ClassDB::is_parent_class(ibt, "Node");
ERR_FAIL_COND_V_MSG(!valid_type, nullptr, "Script does not inherit from Node: " + p_path + ".");
@ -417,7 +417,7 @@ Node *EditorAutoloadSettings::_create_autoload(const String &p_path) {
ERR_FAIL_COND_V_MSG(!obj, nullptr, "Cannot instance script for Autoload, expected 'Node' inheritance, got: " + String(ibt) + ".");
n = Object::cast_to<Node>(obj);
n->set_script(script);
n->set_script(scr);
}
ERR_FAIL_COND_V_MSG(!n, nullptr, "Path in Autoload not a node or script: " + p_path + ".");
@ -453,21 +453,21 @@ void EditorAutoloadSettings::update_autoload() {
}
String name = pi.name.get_slice("/", 1);
String path = ProjectSettings::get_singleton()->get(pi.name);
String scr_path = ProjectSettings::get_singleton()->get(pi.name);
if (name.is_empty()) {
continue;
}
AutoloadInfo info;
info.is_singleton = path.begins_with("*");
info.is_singleton = scr_path.begins_with("*");
if (info.is_singleton) {
path = path.substr(1, path.length());
scr_path = scr_path.substr(1, scr_path.length());
}
info.name = name;
info.path = path;
info.path = scr_path;
info.order = ProjectSettings::get_singleton()->get_order(pi.name);
bool need_to_add = true;
@ -499,7 +499,7 @@ void EditorAutoloadSettings::update_autoload() {
item->set_text(0, name);
item->set_editable(0, true);
item->set_text(1, path);
item->set_text(1, scr_path);
item->set_selectable(1, true);
item->set_cell_mode(2, TreeItem::CELL_MODE_CHECK);
@ -745,13 +745,12 @@ bool EditorAutoloadSettings::autoload_add(const String &p_name, const String &p_
return false;
}
const String &path = p_path;
if (!FileAccess::exists(path)) {
if (!FileAccess::exists(p_path)) {
EditorNode::get_singleton()->show_warning(TTR("Can't add Autoload:") + "\n" + vformat(TTR("%s is an invalid path. File does not exist."), path));
return false;
}
if (!path.begins_with("res://")) {
if (!p_path.begins_with("res://")) {
EditorNode::get_singleton()->show_warning(TTR("Can't add Autoload:") + "\n" + vformat(TTR("%s is an invalid path. Not in resource path (res://)."), path));
return false;
}
@ -762,7 +761,7 @@ bool EditorAutoloadSettings::autoload_add(const String &p_name, const String &p_
undo_redo->create_action(TTR("Add Autoload"));
// Singleton autoloads are represented with a leading "*" in their path.
undo_redo->add_do_property(ProjectSettings::get_singleton(), name, "*" + path);
undo_redo->add_do_property(ProjectSettings::get_singleton(), name, "*" + p_path);
if (ProjectSettings::get_singleton()->has_setting(name)) {
undo_redo->add_undo_property(ProjectSettings::get_singleton(), name, ProjectSettings::get_singleton()->get(name));
@ -829,21 +828,21 @@ EditorAutoloadSettings::EditorAutoloadSettings() {
}
String name = pi.name.get_slice("/", 1);
String path = ProjectSettings::get_singleton()->get(pi.name);
String scr_path = ProjectSettings::get_singleton()->get(pi.name);
if (name.is_empty()) {
continue;
}
AutoloadInfo info;
info.is_singleton = path.begins_with("*");
info.is_singleton = scr_path.begins_with("*");
if (info.is_singleton) {
path = path.substr(1, path.length());
scr_path = scr_path.substr(1, scr_path.length());
}
info.name = name;
info.path = path;
info.path = scr_path;
info.order = ProjectSettings::get_singleton()->get_order(pi.name);
if (info.is_singleton) {

View file

@ -1023,10 +1023,10 @@ void EditorFileDialog::set_current_path(const String &p_path) {
if (pos == -1) {
set_current_file(p_path);
} else {
String dir = p_path.substr(0, pos);
String file = p_path.substr(pos + 1, p_path.length());
set_current_dir(dir);
set_current_file(file);
String path_dir = p_path.substr(0, pos);
String path_file = p_path.substr(pos + 1, p_path.length());
set_current_dir(path_dir);
set_current_file(path_file);
}
}
@ -1614,26 +1614,26 @@ void EditorFileDialog::set_default_display_mode(DisplayMode p_mode) {
}
void EditorFileDialog::_save_to_recent() {
String dir = get_current_dir();
Vector<String> recent = EditorSettings::get_singleton()->get_recent_dirs();
String cur_dir = get_current_dir();
Vector<String> recent_new = EditorSettings::get_singleton()->get_recent_dirs();
const int max = 20;
int count = 0;
bool res = dir.begins_with("res://");
bool res = cur_dir.begins_with("res://");
for (int i = 0; i < recent.size(); i++) {
bool cres = recent[i].begins_with("res://");
if (recent[i] == dir || (res == cres && count > max)) {
recent.remove_at(i);
for (int i = 0; i < recent_new.size(); i++) {
bool cres = recent_new[i].begins_with("res://");
if (recent_new[i] == cur_dir || (res == cres && count > max)) {
recent_new.remove_at(i);
i--;
} else {
count++;
}
}
recent.insert(0, dir);
recent_new.insert(0, cur_dir);
EditorSettings::get_singleton()->set_recent_dirs(recent);
EditorSettings::get_singleton()->set_recent_dirs(recent_new);
}
void EditorFileDialog::set_disable_overwrite_warning(bool p_disable) {

View file

@ -919,11 +919,11 @@ void EditorFileSystem::_scan_new_dir(EditorFileSystemDirectory *p_dir, Ref<DirAc
for (int i = 0; i < ScriptServer::get_language_count(); i++) {
ScriptLanguage *lang = ScriptServer::get_language(i);
if (lang->supports_documentation() && fi->type == lang->get_type()) {
Ref<Script> script = ResourceLoader::load(path);
if (script == nullptr) {
Ref<Script> scr = ResourceLoader::load(path);
if (scr == nullptr) {
continue;
}
Vector<DocData::ClassDoc> docs = script->get_documentation();
Vector<DocData::ClassDoc> docs = scr->get_documentation();
for (int j = 0; j < docs.size(); j++) {
EditorHelp::get_doc_data()->add_doc(docs[j]);
}
@ -1902,8 +1902,8 @@ void EditorFileSystem::_reimport_file(const String &p_file, const HashMap<String
List<String> import_variants;
List<String> gen_files;
Variant metadata;
Error err = importer->import(p_file, base_path, params, &import_variants, &gen_files, &metadata);
Variant meta;
Error err = importer->import(p_file, base_path, params, &import_variants, &gen_files, &meta);
if (err != OK) {
ERR_PRINT("Error importing '" + p_file + "'.");
@ -1955,8 +1955,8 @@ void EditorFileSystem::_reimport_file(const String &p_file, const HashMap<String
f->store_line("valid=false");
}
if (metadata != Variant()) {
f->store_line("metadata=" + metadata.get_construct_string());
if (meta != Variant()) {
f->store_line("metadata=" + meta.get_construct_string());
}
f->store_line("");
@ -2108,11 +2108,11 @@ void EditorFileSystem::reimport_files(const Vector<String> &p_files) {
reimport_files.sort();
bool use_threads = GLOBAL_GET("editor/import/use_multiple_threads");
bool use_multiple_threads = GLOBAL_GET("editor/import/use_multiple_threads");
int from = 0;
for (int i = 0; i < reimport_files.size(); i++) {
if (use_threads && reimport_files[i].threaded) {
if (use_multiple_threads && reimport_files[i].threaded) {
if (i + 1 == reimport_files.size() || reimport_files[i + 1].importer != reimport_files[from].importer) {
if (from - i == 0) {
//single file, do not use threads
@ -2124,16 +2124,16 @@ void EditorFileSystem::reimport_files(const Vector<String> &p_files) {
importer->import_threaded_begin();
ImportThreadData data;
data.max_index = from;
data.reimport_from = from;
data.reimport_files = reimport_files.ptr();
ImportThreadData tdata;
tdata.max_index = from;
tdata.reimport_from = from;
tdata.reimport_files = reimport_files.ptr();
WorkerThreadPool::GroupID group_task = WorkerThreadPool::get_singleton()->add_template_group_task(this, &EditorFileSystem::_reimport_thread, &data, i - from + 1, -1, false, vformat(TTR("Import resources of type: %s"), reimport_files[from].importer));
WorkerThreadPool::GroupID group_task = WorkerThreadPool::get_singleton()->add_template_group_task(this, &EditorFileSystem::_reimport_thread, &tdata, i - from + 1, -1, false, vformat(TTR("Import resources of type: %s"), reimport_files[from].importer));
int current_index = from - 1;
do {
if (current_index < data.max_index) {
current_index = data.max_index;
if (current_index < tdata.max_index) {
current_index = tdata.max_index;
pr.step(reimport_files[current_index].path.get_file(), current_index);
}
OS::get_singleton()->delay_usec(1);

View file

@ -184,9 +184,9 @@ void EditorHelp::_class_desc_input(const Ref<InputEvent> &p_input) {
void EditorHelp::_class_desc_resized(bool p_force_update_theme) {
// Add extra horizontal margins for better readability.
// The margins increase as the width of the editor help container increases.
Ref<Font> doc_code_font = get_theme_font(SNAME("doc_source"), SNAME("EditorFonts"));
Ref<Font> font = get_theme_font(SNAME("doc_source"), SNAME("EditorFonts"));
int font_size = get_theme_font_size(SNAME("doc_source_size"), SNAME("EditorFonts"));
real_t char_width = doc_code_font->get_char_size('x', font_size).width;
real_t char_width = font->get_char_size('x', font_size).width;
const int new_display_margin = MAX(30 * EDSCALE, get_parent_anchorable_rect().size.width - char_width * 120 * EDSCALE) * 0.5;
if (display_margin != new_display_margin || p_force_update_theme) {
display_margin = new_display_margin;
@ -412,13 +412,13 @@ Error EditorHelp::_goto_desc(const String &p_class, int p_vscr) {
}
void EditorHelp::_update_method_list(const Vector<DocData::MethodDoc> p_methods, bool &r_method_descrpitons) {
Ref<Font> doc_code_font = get_theme_font(SNAME("doc_source"), SNAME("EditorFonts"));
Ref<Font> font = get_theme_font(SNAME("doc_source"), SNAME("EditorFonts"));
class_desc->pop(); // title font size
class_desc->pop(); // title font
class_desc->pop(); // title color
class_desc->add_newline();
class_desc->push_font(doc_code_font);
class_desc->push_font(font);
class_desc->push_indent(1);
class_desc->push_table(2);
class_desc->set_table_column_expand(1, true);
@ -479,9 +479,8 @@ void EditorHelp::_update_method_list(const Vector<DocData::MethodDoc> p_methods,
}
void EditorHelp::_update_method_descriptions(const DocData::ClassDoc p_classdoc, const Vector<DocData::MethodDoc> p_methods, const String &p_method_type) {
Ref<Font> doc_font = get_theme_font(SNAME("doc"), SNAME("EditorFonts"));
Ref<Font> doc_bold_font = get_theme_font(SNAME("doc_bold"), SNAME("EditorFonts"));
Ref<Font> doc_code_font = get_theme_font(SNAME("doc_source"), SNAME("EditorFonts"));
Ref<Font> font = get_theme_font(SNAME("doc"), SNAME("EditorFonts"));
Ref<Font> code_font = get_theme_font(SNAME("doc_source"), SNAME("EditorFonts"));
String link_color_text = title_color.to_html(false);
class_desc->pop(); // title font size
class_desc->pop(); // title font
@ -501,7 +500,7 @@ void EditorHelp::_update_method_descriptions(const DocData::ClassDoc p_classdoc,
}
for (int i = 0; i < methods_filtered.size(); i++) {
class_desc->push_font(doc_code_font);
class_desc->push_font(code_font);
_add_method(methods_filtered[i], false);
class_desc->pop();
@ -509,7 +508,7 @@ void EditorHelp::_update_method_descriptions(const DocData::ClassDoc p_classdoc,
class_desc->add_newline();
class_desc->push_color(text_color);
class_desc->push_font(doc_font);
class_desc->push_font(font);
class_desc->push_indent(1);
if (methods_filtered[i].errors_returned.size()) {
class_desc->append_text(TTR("Error codes returned:"));

View file

@ -450,7 +450,7 @@ bool EditorHelpSearch::Runner::_phase_member_items() {
return false;
}
TreeItem *parent = (search_flags & SEARCH_SHOW_HIERARCHY) ? class_items[match.doc->name] : root_item;
TreeItem *parent_item = (search_flags & SEARCH_SHOW_HIERARCHY) ? class_items[match.doc->name] : root_item;
bool constructor_created = false;
for (int i = 0; i < match.methods.size(); i++) {
String text = match.methods[i]->name;
@ -464,23 +464,23 @@ bool EditorHelpSearch::Runner::_phase_member_items() {
continue;
}
}
_create_method_item(parent, match.doc, text, match.methods[i]);
_create_method_item(parent_item, match.doc, text, match.methods[i]);
}
for (int i = 0; i < match.signals.size(); i++) {
_create_signal_item(parent, match.doc, match.signals[i]);
_create_signal_item(parent_item, match.doc, match.signals[i]);
}
for (int i = 0; i < match.constants.size(); i++) {
_create_constant_item(parent, match.doc, match.constants[i]);
_create_constant_item(parent_item, match.doc, match.constants[i]);
}
for (int i = 0; i < match.properties.size(); i++) {
_create_property_item(parent, match.doc, match.properties[i]);
_create_property_item(parent_item, match.doc, match.properties[i]);
}
for (int i = 0; i < match.theme_properties.size(); i++) {
_create_theme_property_item(parent, match.doc, match.theme_properties[i]);
_create_theme_property_item(parent_item, match.doc, match.theme_properties[i]);
}
for (int i = 0; i < match.annotations.size(); i++) {
// Hide the redundant leading @ symbol.
_create_annotation_item(parent, match.doc, match.annotations[i]->name.substr(1), match.annotations[i]);
_create_annotation_item(parent_item, match.doc, match.annotations[i]->name.substr(1), match.annotations[i]);
}
++iterator_match;
@ -567,19 +567,19 @@ TreeItem *EditorHelpSearch::Runner::_create_class_hierarchy(const ClassMatch &p_
}
// Ensure parent nodes are created first.
TreeItem *parent = root_item;
TreeItem *parent_item = root_item;
if (!p_match.doc->inherits.is_empty()) {
if (class_items.has(p_match.doc->inherits)) {
parent = class_items[p_match.doc->inherits];
parent_item = class_items[p_match.doc->inherits];
} else {
ClassMatch &base_match = matches[p_match.doc->inherits];
if (base_match.doc) {
parent = _create_class_hierarchy(base_match);
parent_item = _create_class_hierarchy(base_match);
}
}
}
TreeItem *class_item = _create_class_item(parent, p_match.doc, !p_match.name);
TreeItem *class_item = _create_class_item(parent_item, p_match.doc, !p_match.name);
class_items[p_match.doc->name] = class_item;
return class_item;
}

View file

@ -783,9 +783,9 @@ Variant EditorProperty::get_drag_data(const Point2 &p_point) {
dp["property"] = property;
dp["value"] = object->get(property);
Label *label = memnew(Label);
label->set_text(property);
set_drag_preview(label);
Label *drag_label = memnew(Label);
drag_label->set_text(property);
set_drag_preview(drag_label);
return dp;
}
@ -1061,7 +1061,7 @@ void EditorInspectorPlugin::add_property_editor_for_multiple_properties(const St
}
bool EditorInspectorPlugin::can_handle(Object *p_object) {
bool success;
bool success = false;
if (GDVIRTUAL_CALL(_can_handle, p_object, success)) {
return success;
}
@ -1081,7 +1081,7 @@ void EditorInspectorPlugin::parse_group(Object *p_object, const String &p_group)
}
bool EditorInspectorPlugin::parse_property(Object *p_object, const Variant::Type p_type, const String &p_path, const PropertyHint p_hint, const String &p_hint_text, const uint32_t p_usage, const bool p_wide) {
bool ret;
bool ret = false;
if (GDVIRTUAL_CALL(_parse_property, p_object, p_type, p_path, p_hint, p_hint_text, p_usage, p_wide, ret)) {
return ret;
}
@ -1575,9 +1575,9 @@ int EditorInspectorArray::_get_array_count() {
return _extract_properties_as_array(object_property_list).size();
} else if (mode == MODE_USE_COUNT_PROPERTY) {
bool valid;
int count = object->get(count_property, &valid);
int count_val = object->get(count_property, &valid);
ERR_FAIL_COND_V_MSG(!valid, 0, vformat("%s is not a valid property to be used as array count.", count_property));
return count;
return count_val;
}
return 0;
}
@ -2768,13 +2768,13 @@ void EditorInspector::update_tree() {
// Set the category icon.
if (!EditorNode::get_editor_data().is_type_recognized(type) && p.hint_string.length() && FileAccess::exists(p.hint_string)) {
// If we have a category inside a script, search for the first script with a valid icon.
Ref<Script> script = ResourceLoader::load(p.hint_string, "Script");
Ref<Script> scr = ResourceLoader::load(p.hint_string, "Script");
StringName base_type;
StringName name;
if (script.is_valid()) {
base_type = script->get_instance_base_type();
name = EditorNode::get_editor_data().script_class_get_name(script->get_path());
Vector<DocData::ClassDoc> docs = script->get_documentation();
if (scr.is_valid()) {
base_type = scr->get_instance_base_type();
name = EditorNode::get_editor_data().script_class_get_name(scr->get_path());
Vector<DocData::ClassDoc> docs = scr->get_documentation();
if (!docs.is_empty()) {
doc_name = docs[0].name;
}
@ -2782,20 +2782,20 @@ void EditorInspector::update_tree() {
label = name;
}
}
while (script.is_valid()) {
name = EditorNode::get_editor_data().script_class_get_name(script->get_path());
while (scr.is_valid()) {
name = EditorNode::get_editor_data().script_class_get_name(scr->get_path());
String icon_path = EditorNode::get_editor_data().script_class_get_icon_path(name);
if (name != StringName() && !icon_path.is_empty()) {
category->icon = ResourceLoader::load(icon_path, "Texture");
break;
}
const EditorData::CustomType *ctype = EditorNode::get_editor_data().get_custom_type_by_path(script->get_path());
const EditorData::CustomType *ctype = EditorNode::get_editor_data().get_custom_type_by_path(scr->get_path());
if (ctype) {
category->icon = ctype->icon;
break;
}
script = script->get_base_script();
scr = scr->get_base_script();
}
if (category->icon.is_null() && has_theme_icon(base_type, SNAME("EditorIcons"))) {
category->icon = get_theme_icon(base_type, SNAME("EditorIcons"));

View file

@ -149,7 +149,7 @@ void EditorLocaleDialog::_filter_lang_option_changed() {
void EditorLocaleDialog::_filter_script_option_changed() {
TreeItem *t = script_list->get_edited();
String script = t->get_metadata(0);
String scr_code = t->get_metadata(0);
bool checked = t->is_checked(0);
Variant prev;
@ -160,11 +160,11 @@ void EditorLocaleDialog::_filter_script_option_changed() {
prev = f_script_all;
}
int l_idx = f_script_all.find(script);
int l_idx = f_script_all.find(scr_code);
if (checked) {
if (l_idx == -1) {
f_script_all.append(script);
f_script_all.append(scr_code);
}
} else {
if (l_idx != -1) {
@ -298,7 +298,7 @@ void EditorLocaleDialog::_update_tree() {
Vector<String> scripts = TranslationServer::get_singleton()->get_all_scripts();
for (const String &E : scripts) {
if (is_edit_mode || (filter == SHOW_ALL_LOCALES) || f_script_all.has(E) || f_script_all.is_empty()) {
const String &script = TranslationServer::get_singleton()->get_script_name(E);
const String &scr_code = TranslationServer::get_singleton()->get_script_name(E);
TreeItem *t = script_list->create_item(s_root);
if (is_edit_mode) {
t->set_cell_mode(0, TreeItem::CELL_MODE_CHECK);
@ -307,7 +307,7 @@ void EditorLocaleDialog::_update_tree() {
} else if (script_code->get_text() == E) {
t->select(0);
}
t->set_text(0, vformat("%s [%s]", script, E));
t->set_text(0, vformat("%s [%s]", scr_code, E));
t->set_metadata(0, E);
}
}

View file

@ -892,8 +892,8 @@ void EditorNode::_update_update_spinner() {
}
void EditorNode::_on_plugin_ready(Object *p_script, const String &p_activate_name) {
Ref<Script> script = Object::cast_to<Script>(p_script);
if (script.is_null()) {
Ref<Script> scr = Object::cast_to<Script>(p_script);
if (scr.is_null()) {
return;
}
if (p_activate_name.length()) {
@ -901,7 +901,7 @@ void EditorNode::_on_plugin_ready(Object *p_script, const String &p_activate_nam
}
project_settings_editor->update_plugins();
project_settings_editor->hide();
push_item(script.operator->());
push_item(scr.operator->());
}
void EditorNode::_remove_plugin_from_enabled(const String &p_name) {
@ -1665,10 +1665,8 @@ void EditorNode::_save_scene_with_preview(String p_file, int p_idx) {
cache_base = temp_path.path_join("resthumb-" + cache_base);
// Does not have it, try to load a cached thumbnail.
String file = cache_base + ".png";
post_process_preview(img);
img->save_png(file);
img->save_png(cache_base + ".png");
}
}
@ -2038,8 +2036,8 @@ void EditorNode::_dialog_action(String p_file) {
ERR_FAIL_COND(saving_resource.is_null());
save_resource_in_path(saving_resource, p_file);
saving_resource = Ref<Resource>();
ObjectID current = editor_history.get_current();
Object *current_obj = current.is_valid() ? ObjectDB::get_instance(current) : nullptr;
ObjectID current_id = editor_history.get_current();
Object *current_obj = current_id.is_valid() ? ObjectDB::get_instance(current_id) : nullptr;
ERR_FAIL_COND(!current_obj);
current_obj->notify_property_list_changed();
} break;
@ -2240,8 +2238,8 @@ static bool overrides_external_editor(Object *p_object) {
}
void EditorNode::_edit_current(bool p_skip_foreign) {
ObjectID current = editor_history.get_current();
Object *current_obj = current.is_valid() ? ObjectDB::get_instance(current) : nullptr;
ObjectID current_id = editor_history.get_current();
Object *current_obj = current_id.is_valid() ? ObjectDB::get_instance(current_id) : nullptr;
Ref<Resource> res = Object::cast_to<Resource>(current_obj);
if (p_skip_foreign && res.is_valid()) {
@ -2691,9 +2689,9 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
save_confirmation->set_text(TTR("Save modified resources before closing?"));
}
} else {
Node *scene_root = editor_data.get_edited_scene_root(tab_closing_idx);
if (scene_root) {
String scene_filename = scene_root->get_scene_file_path();
Node *ed_scene_root = editor_data.get_edited_scene_root(tab_closing_idx);
if (ed_scene_root) {
String scene_filename = ed_scene_root->get_scene_file_path();
if (p_option == FILE_CLOSE_ALL_AND_RELOAD_CURRENT_PROJECT) {
save_confirmation->set_ok_button_text(TTR("Save & Reload"));
save_confirmation->set_text(vformat(TTR("Save changes to '%s' before reloading?"), !scene_filename.is_empty() ? scene_filename : "unsaved scene"));
@ -3511,39 +3509,39 @@ void EditorNode::set_addon_plugin_enabled(const String &p_addon, bool p_enabled,
}
String script_path = cf->get_value("plugin", "script");
Ref<Script> script; // We need to save it for creating "ep" below.
Ref<Script> scr; // We need to save it for creating "ep" below.
// Only try to load the script if it has a name. Else, the plugin has no init script.
if (script_path.length() > 0) {
script_path = addon_path.get_base_dir().path_join(script_path);
script = ResourceLoader::load(script_path);
scr = ResourceLoader::load(script_path);
if (script.is_null()) {
if (scr.is_null()) {
show_warning(vformat(TTR("Unable to load addon script from path: '%s'."), script_path));
return;
}
// Errors in the script cause the base_type to be an empty StringName.
if (script->get_instance_base_type() == StringName()) {
if (scr->get_instance_base_type() == StringName()) {
show_warning(vformat(TTR("Unable to load addon script from path: '%s'. This might be due to a code error in that script.\nDisabling the addon at '%s' to prevent further errors."), script_path, addon_path));
_remove_plugin_from_enabled(addon_path);
return;
}
// Plugin init scripts must inherit from EditorPlugin and be tools.
if (String(script->get_instance_base_type()) != "EditorPlugin") {
if (String(scr->get_instance_base_type()) != "EditorPlugin") {
show_warning(vformat(TTR("Unable to load addon script from path: '%s' Base type is not EditorPlugin."), script_path));
return;
}
if (!script->is_tool()) {
if (!scr->is_tool()) {
show_warning(vformat(TTR("Unable to load addon script from path: '%s' Script is not in tool mode."), script_path));
return;
}
}
EditorPlugin *ep = memnew(EditorPlugin);
ep->set_script(script);
ep->set_script(scr);
addon_name_to_plugin[addon_path] = ep;
add_editor_plugin(ep, p_config_changed);
@ -3641,17 +3639,17 @@ void EditorNode::_set_main_scene_state(Dictionary p_state, Node *p_for_scene) {
changing_scene = false;
int current = -1;
int current_tab = -1;
for (int i = 0; i < editor_table.size(); i++) {
if (editor_plugin_screen == editor_table[i]) {
current = i;
current_tab = i;
break;
}
}
if (p_state.has("editor_index")) {
int index = p_state["editor_index"];
if (current < 2) { // If currently in spatial/2d, only switch to spatial/2d. If currently in script, stay there.
if (current_tab < 2) { // If currently in spatial/2d, only switch to spatial/2d. If currently in script, stay there.
if (index < 2 || !get_edited_scene()) {
editor_select(index);
}
@ -3659,7 +3657,7 @@ void EditorNode::_set_main_scene_state(Dictionary p_state, Node *p_for_scene) {
}
if (get_edited_scene()) {
if (current < 2) {
if (current_tab < 2) {
// Use heuristic instead.
int n2d = 0, n3d = 0;
_find_node_types(get_edited_scene(), n2d, n3d);
@ -3939,9 +3937,9 @@ Error EditorNode::load_scene(const String &p_scene, bool p_ignore_broken_deps, b
void EditorNode::open_request(const String &p_path) {
if (!opening_prev) {
List<String>::Element *prev_scene = previous_scenes.find(p_path);
if (prev_scene != nullptr) {
prev_scene->erase();
List<String>::Element *prev_scene_item = previous_scenes.find(p_path);
if (prev_scene_item != nullptr) {
prev_scene_item->erase();
}
}
@ -4192,9 +4190,9 @@ void EditorNode::stop_child_process(OS::ProcessID p_pid) {
Ref<Script> EditorNode::get_object_custom_type_base(const Object *p_object) const {
ERR_FAIL_COND_V(!p_object, nullptr);
Ref<Script> script = p_object->get_script();
Ref<Script> scr = p_object->get_script();
if (script.is_valid()) {
if (scr.is_valid()) {
// Uncommenting would break things! Consider adding a parameter if you need it.
// StringName name = EditorNode::get_editor_data().script_class_get_name(base_script->get_path());
// if (name != StringName()) {
@ -4202,18 +4200,18 @@ Ref<Script> EditorNode::get_object_custom_type_base(const Object *p_object) cons
// }
// TODO: Should probably be deprecated in 4.x
StringName base = script->get_instance_base_type();
StringName base = scr->get_instance_base_type();
if (base != StringName() && EditorNode::get_editor_data().get_custom_types().has(base)) {
const Vector<EditorData::CustomType> &types = EditorNode::get_editor_data().get_custom_types()[base];
Ref<Script> base_script = script;
while (base_script.is_valid()) {
Ref<Script> base_scr = scr;
while (base_scr.is_valid()) {
for (int i = 0; i < types.size(); ++i) {
if (types[i].script == base_script) {
if (types[i].script == base_scr) {
return types[i].script;
}
}
base_script = base_script->get_base_script();
base_scr = base_scr->get_base_script();
}
}
}
@ -4224,30 +4222,30 @@ Ref<Script> EditorNode::get_object_custom_type_base(const Object *p_object) cons
StringName EditorNode::get_object_custom_type_name(const Object *p_object) const {
ERR_FAIL_COND_V(!p_object, StringName());
Ref<Script> script = p_object->get_script();
if (script.is_null() && Object::cast_to<Script>(p_object)) {
script = p_object;
Ref<Script> scr = p_object->get_script();
if (scr.is_null() && Object::cast_to<Script>(p_object)) {
scr = p_object;
}
if (script.is_valid()) {
Ref<Script> base_script = script;
while (base_script.is_valid()) {
StringName name = EditorNode::get_editor_data().script_class_get_name(base_script->get_path());
if (scr.is_valid()) {
Ref<Script> base_scr = scr;
while (base_scr.is_valid()) {
StringName name = EditorNode::get_editor_data().script_class_get_name(base_scr->get_path());
if (name != StringName()) {
return name;
}
// TODO: Should probably be deprecated in 4.x.
StringName base = base_script->get_instance_base_type();
StringName base = base_scr->get_instance_base_type();
if (base != StringName() && EditorNode::get_editor_data().get_custom_types().has(base)) {
const Vector<EditorData::CustomType> &types = EditorNode::get_editor_data().get_custom_types()[base];
for (int i = 0; i < types.size(); ++i) {
if (types[i].script == base_script) {
if (types[i].script == base_scr) {
return types[i].name;
}
}
}
base_script = base_script->get_base_script();
base_scr = base_scr->get_base_script();
}
}
@ -4291,40 +4289,40 @@ void EditorNode::_pick_main_scene_custom_action(const String &p_custom_action_na
Ref<Texture2D> EditorNode::get_object_icon(const Object *p_object, const String &p_fallback) {
ERR_FAIL_COND_V(!p_object || !gui_base, nullptr);
Ref<Script> script = p_object->get_script();
if (script.is_null() && p_object->is_class("Script")) {
script = p_object;
Ref<Script> scr = p_object->get_script();
if (scr.is_null() && p_object->is_class("Script")) {
scr = p_object;
}
if (script.is_valid() && !script_icon_cache.has(script)) {
Ref<Script> base_script = script;
while (base_script.is_valid()) {
StringName name = EditorNode::get_editor_data().script_class_get_name(base_script->get_path());
if (scr.is_valid() && !script_icon_cache.has(scr)) {
Ref<Script> base_scr = scr;
while (base_scr.is_valid()) {
StringName name = EditorNode::get_editor_data().script_class_get_name(base_scr->get_path());
String icon_path = EditorNode::get_editor_data().script_class_get_icon_path(name);
Ref<ImageTexture> icon = _load_custom_class_icon(icon_path);
if (icon.is_valid()) {
script_icon_cache[script] = icon;
script_icon_cache[scr] = icon;
return icon;
}
// TODO: should probably be deprecated in 4.x
StringName base = base_script->get_instance_base_type();
StringName base = base_scr->get_instance_base_type();
if (base != StringName() && EditorNode::get_editor_data().get_custom_types().has(base)) {
const Vector<EditorData::CustomType> &types = EditorNode::get_editor_data().get_custom_types()[base];
for (int i = 0; i < types.size(); ++i) {
if (types[i].script == base_script && types[i].icon.is_valid()) {
script_icon_cache[script] = types[i].icon;
if (types[i].script == base_scr && types[i].icon.is_valid()) {
script_icon_cache[scr] = types[i].icon;
return types[i].icon;
}
}
}
base_script = base_script->get_base_script();
base_scr = base_scr->get_base_script();
}
// If no icon found, cache it as null.
script_icon_cache[script] = Ref<Texture>();
} else if (script.is_valid() && script_icon_cache.has(script) && script_icon_cache[script].is_valid()) {
return script_icon_cache[script];
script_icon_cache[scr] = Ref<Texture>();
} else if (scr.is_valid() && script_icon_cache.has(scr) && script_icon_cache[scr].is_valid()) {
return script_icon_cache[scr];
}
// TODO: Should probably be deprecated in 4.x.
@ -4348,7 +4346,7 @@ Ref<Texture2D> EditorNode::get_class_icon(const String &p_class, const String &p
if (ScriptServer::is_global_class(p_class)) {
String class_name = p_class;
Ref<Script> script = EditorNode::get_editor_data().script_class_load_script(class_name);
Ref<Script> scr = EditorNode::get_editor_data().script_class_load_script(class_name);
while (true) {
String icon_path = EditorNode::get_editor_data().script_class_get_icon_path(class_name);
@ -4359,18 +4357,18 @@ Ref<Texture2D> EditorNode::get_class_icon(const String &p_class, const String &p
// Find next global class along the inheritance chain.
do {
Ref<Script> base_script = script->get_base_script();
if (base_script.is_null()) {
Ref<Script> base_scr = scr->get_base_script();
if (base_scr.is_null()) {
// We've reached a native class, use its icon.
String base_type;
script->get_language()->get_global_class_name(script->get_path(), &base_type);
scr->get_language()->get_global_class_name(scr->get_path(), &base_type);
if (gui_base->has_theme_icon(base_type, "EditorIcons")) {
return gui_base->get_theme_icon(base_type, "EditorIcons");
}
return gui_base->get_theme_icon(p_fallback, "EditorIcons");
}
script = base_script;
class_name = EditorNode::get_editor_data().script_class_get_name(script->get_path());
scr = base_scr;
class_name = EditorNode::get_editor_data().script_class_get_name(scr->get_path());
} while (class_name.is_empty());
}
}
@ -4675,12 +4673,12 @@ void EditorNode::_dock_move_left() {
if (dock_popup_selected_idx < 0 || dock_popup_selected_idx >= DOCK_SLOT_MAX) {
return;
}
Control *current = dock_slot[dock_popup_selected_idx]->get_tab_control(dock_slot[dock_popup_selected_idx]->get_current_tab());
Control *prev = dock_slot[dock_popup_selected_idx]->get_tab_control(dock_slot[dock_popup_selected_idx]->get_current_tab() - 1);
if (!current || !prev) {
Control *current_ctl = dock_slot[dock_popup_selected_idx]->get_tab_control(dock_slot[dock_popup_selected_idx]->get_current_tab());
Control *prev_ctl = dock_slot[dock_popup_selected_idx]->get_tab_control(dock_slot[dock_popup_selected_idx]->get_current_tab() - 1);
if (!current_ctl || !prev_ctl) {
return;
}
dock_slot[dock_popup_selected_idx]->move_child(current, prev->get_index());
dock_slot[dock_popup_selected_idx]->move_child(current_ctl, prev_ctl->get_index());
dock_slot[dock_popup_selected_idx]->set_current_tab(dock_slot[dock_popup_selected_idx]->get_current_tab() - 1);
dock_select->queue_redraw();
_edit_current();
@ -4688,12 +4686,12 @@ void EditorNode::_dock_move_left() {
}
void EditorNode::_dock_move_right() {
Control *current = dock_slot[dock_popup_selected_idx]->get_tab_control(dock_slot[dock_popup_selected_idx]->get_current_tab());
Control *next = dock_slot[dock_popup_selected_idx]->get_tab_control(dock_slot[dock_popup_selected_idx]->get_current_tab() + 1);
if (!current || !next) {
Control *current_ctl = dock_slot[dock_popup_selected_idx]->get_tab_control(dock_slot[dock_popup_selected_idx]->get_current_tab());
Control *next_ctl = dock_slot[dock_popup_selected_idx]->get_tab_control(dock_slot[dock_popup_selected_idx]->get_current_tab() + 1);
if (!current_ctl || !next_ctl) {
return;
}
dock_slot[dock_popup_selected_idx]->move_child(next, current->get_index());
dock_slot[dock_popup_selected_idx]->move_child(next_ctl, current_ctl->get_index());
dock_slot[dock_popup_selected_idx]->set_current_tab(dock_slot[dock_popup_selected_idx]->get_current_tab() + 1);
dock_select->queue_redraw();
_edit_current();
@ -5283,9 +5281,9 @@ void EditorNode::_layout_menu_option(int p_id) {
}
void EditorNode::_scene_tab_script_edited(int p_tab) {
Ref<Script> script = editor_data.get_scene_root_script(p_tab);
if (script.is_valid()) {
InspectorDock::get_singleton()->edit_resource(script);
Ref<Script> scr = editor_data.get_scene_root_script(p_tab);
if (scr.is_valid()) {
InspectorDock::get_singleton()->edit_resource(scr);
}
}

View file

@ -59,7 +59,7 @@ void EditorPath::_add_children_to_popup(Object *p_obj, int p_depth) {
continue;
}
Ref<Texture2D> icon = EditorNode::get_singleton()->get_object_icon(obj);
Ref<Texture2D> obj_icon = EditorNode::get_singleton()->get_object_icon(obj);
String proper_name = "";
Vector<String> name_parts = E.name.split("/");
@ -72,7 +72,7 @@ void EditorPath::_add_children_to_popup(Object *p_obj, int p_depth) {
}
int index = sub_objects_menu->get_item_count();
sub_objects_menu->add_icon_item(icon, proper_name, objects.size());
sub_objects_menu->add_icon_item(obj_icon, proper_name, objects.size());
sub_objects_menu->set_item_indent(index, p_depth);
objects.push_back(obj->get_instance_id());
@ -122,15 +122,15 @@ void EditorPath::update_path() {
continue;
}
Ref<Texture2D> icon;
Ref<Texture2D> obj_icon;
if (Object::cast_to<MultiNodeEdit>(obj)) {
icon = EditorNode::get_singleton()->get_class_icon(Object::cast_to<MultiNodeEdit>(obj)->get_edited_class_name());
obj_icon = EditorNode::get_singleton()->get_class_icon(Object::cast_to<MultiNodeEdit>(obj)->get_edited_class_name());
} else {
icon = EditorNode::get_singleton()->get_object_icon(obj);
obj_icon = EditorNode::get_singleton()->get_object_icon(obj);
}
if (icon.is_valid()) {
current_object_icon->set_texture(icon);
if (obj_icon.is_valid()) {
current_object_icon->set_texture(obj_icon);
}
if (i == history->get_path_size() - 1) {

View file

@ -570,7 +570,7 @@ void EditorPlugin::notify_resource_saved(const Ref<Resource> &p_resource) {
}
bool EditorPlugin::forward_canvas_gui_input(const Ref<InputEvent> &p_event) {
bool success;
bool success = false;
if (GDVIRTUAL_CALL(_forward_canvas_gui_input, p_event, success)) {
return success;
}
@ -605,7 +605,7 @@ int EditorPlugin::update_overlays() const {
}
EditorPlugin::AfterGUIInput EditorPlugin::forward_3d_gui_input(Camera3D *p_camera, const Ref<InputEvent> &p_event) {
int success;
int success = EditorPlugin::AFTER_GUI_INPUT_PASS;
if (GDVIRTUAL_CALL(_forward_3d_gui_input, p_camera, p_event, success)) {
return static_cast<EditorPlugin::AfterGUIInput>(success);
@ -662,7 +662,7 @@ void EditorPlugin::edit(Object *p_object) {
}
bool EditorPlugin::handles(Object *p_object) const {
bool success;
bool success = false;
if (GDVIRTUAL_CALL(_handles, p_object, success)) {
return success;
}

View file

@ -98,14 +98,14 @@ void EditorPluginSettings::update_plugins() {
String author = cf->get_value("plugin", "author");
String version = cf->get_value("plugin", "version");
String description = cf->get_value("plugin", "description");
String script = cf->get_value("plugin", "script");
String scr = cf->get_value("plugin", "script");
TreeItem *item = plugin_list->create_item(root);
item->set_text(0, name);
item->set_tooltip_text(0, TTR("Name:") + " " + name + "\n" + TTR("Path:") + " " + path + "\n" + TTR("Main Script:") + " " + script + "\n" + TTR("Description:") + " " + description);
item->set_tooltip_text(0, TTR("Name:") + " " + name + "\n" + TTR("Path:") + " " + path + "\n" + TTR("Main Script:") + " " + scr + "\n" + TTR("Description:") + " " + description);
item->set_metadata(0, path);
item->set_text(1, version);
item->set_metadata(1, script);
item->set_metadata(1, scr);
item->set_text(2, author);
item->set_metadata(2, description);
item->set_cell_mode(3, TreeItem::CELL_MODE_CHECK);

View file

@ -51,9 +51,9 @@ void EditorPropertyNil::update_property() {
}
EditorPropertyNil::EditorPropertyNil() {
Label *label = memnew(Label);
label->set_text("<null>");
add_child(label);
Label *prop_label = memnew(Label);
prop_label->set_text("<null>");
add_child(prop_label);
}
///////////////////// TEXT /////////////////////////
@ -3644,8 +3644,8 @@ bool EditorPropertyNodePath::can_drop_data_fw(const Point2 &p_point, const Varia
void EditorPropertyNodePath::drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) {
ERR_FAIL_COND(!is_drop_valid(p_data));
Dictionary data = p_data;
Array nodes = data["nodes"];
Dictionary data_dict = p_data;
Array nodes = data_dict["nodes"];
Node *node = get_tree()->get_edited_scene_root()->get_node(nodes[0]);
if (node) {
@ -3973,19 +3973,19 @@ void EditorPropertyResource::_update_preferred_shader() {
if (parent_property) {
EditorShaderPicker *shader_picker = Object::cast_to<EditorShaderPicker>(resource_picker);
Object *object = parent_property->get_edited_object();
const StringName &property = parent_property->get_edited_property();
Object *ed_object = parent_property->get_edited_object();
const StringName &ed_property = parent_property->get_edited_property();
// Set preferred shader based on edited parent type.
if ((Object::cast_to<GPUParticles2D>(object) || Object::cast_to<GPUParticles3D>(object)) && property == SNAME("process_material")) {
if ((Object::cast_to<GPUParticles2D>(ed_object) || Object::cast_to<GPUParticles3D>(ed_object)) && ed_property == SNAME("process_material")) {
shader_picker->set_preferred_mode(Shader::MODE_PARTICLES);
} else if (Object::cast_to<FogVolume>(object)) {
} else if (Object::cast_to<FogVolume>(ed_object)) {
shader_picker->set_preferred_mode(Shader::MODE_FOG);
} else if (Object::cast_to<CanvasItem>(object)) {
} else if (Object::cast_to<CanvasItem>(ed_object)) {
shader_picker->set_preferred_mode(Shader::MODE_CANVAS_ITEM);
} else if (Object::cast_to<Node3D>(object) || Object::cast_to<Mesh>(object)) {
} else if (Object::cast_to<Node3D>(ed_object) || Object::cast_to<Mesh>(ed_object)) {
shader_picker->set_preferred_mode(Shader::MODE_SPATIAL);
} else if (Object::cast_to<Sky>(object)) {
} else if (Object::cast_to<Sky>(ed_object)) {
shader_picker->set_preferred_mode(Shader::MODE_SKY);
}
}

View file

@ -260,9 +260,9 @@ void EditorPropertyArray::update_property() {
HBoxContainer *hbox = memnew(HBoxContainer);
vbox->add_child(hbox);
Label *label = memnew(Label(TTR("Size:")));
label->set_h_size_flags(SIZE_EXPAND_FILL);
hbox->add_child(label);
Label *size_label = memnew(Label(TTR("Size:")));
size_label->set_h_size_flags(SIZE_EXPAND_FILL);
hbox->add_child(size_label);
size_slider = memnew(EditorSpinSlider);
size_slider->set_step(1);
@ -367,17 +367,17 @@ void EditorPropertyArray::update_property() {
bool is_untyped_array = array.get_type() == Variant::ARRAY && subtype == Variant::NIL;
if (is_untyped_array) {
Button *edit = memnew(Button);
edit->set_icon(get_theme_icon(SNAME("Edit"), SNAME("EditorIcons")));
hbox->add_child(edit);
edit->set_disabled(is_read_only());
edit->connect("pressed", callable_mp(this, &EditorPropertyArray::_change_type).bind(edit, i + offset));
Button *edit_btn = memnew(Button);
edit_btn->set_icon(get_theme_icon(SNAME("Edit"), SNAME("EditorIcons")));
hbox->add_child(edit_btn);
edit_btn->set_disabled(is_read_only());
edit_btn->connect("pressed", callable_mp(this, &EditorPropertyArray::_change_type).bind(edit_btn, i + offset));
} else {
Button *remove = memnew(Button);
remove->set_icon(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")));
remove->set_disabled(is_read_only());
remove->connect("pressed", callable_mp(this, &EditorPropertyArray::_remove_pressed).bind(i + offset));
hbox->add_child(remove);
Button *remove_btn = memnew(Button);
remove_btn->set_icon(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")));
remove_btn->set_disabled(is_read_only());
remove_btn->connect("pressed", callable_mp(this, &EditorPropertyArray::_remove_pressed).bind(i + offset));
hbox->add_child(remove_btn);
}
prop->update_property();
@ -1155,11 +1155,11 @@ void EditorPropertyDictionary::update_property() {
}
hbox->add_child(prop);
prop->set_h_size_flags(SIZE_EXPAND_FILL);
Button *edit = memnew(Button);
edit->set_icon(get_theme_icon(SNAME("Edit"), SNAME("EditorIcons")));
edit->set_disabled(is_read_only());
hbox->add_child(edit);
edit->connect("pressed", callable_mp(this, &EditorPropertyDictionary::_change_type).bind(edit, change_index));
Button *edit_btn = memnew(Button);
edit_btn->set_icon(get_theme_icon(SNAME("Edit"), SNAME("EditorIcons")));
edit_btn->set_disabled(is_read_only());
hbox->add_child(edit_btn);
edit_btn->connect("pressed", callable_mp(this, &EditorPropertyDictionary::_change_type).bind(edit_btn, change_index));
prop->update_property();
@ -1396,10 +1396,10 @@ void EditorPropertyLocalizableString::update_property() {
property_vbox->add_child(hbox);
hbox->add_child(prop);
prop->set_h_size_flags(SIZE_EXPAND_FILL);
Button *edit = memnew(Button);
edit->set_icon(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")));
hbox->add_child(edit);
edit->connect("pressed", callable_mp(this, &EditorPropertyLocalizableString::_remove_item).bind(edit, remove_index));
Button *edit_btn = memnew(Button);
edit_btn->set_icon(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")));
hbox->add_child(edit_btn);
edit_btn->connect("pressed", callable_mp(this, &EditorPropertyLocalizableString::_remove_item).bind(edit_btn, remove_index));
prop->update_property();
}

View file

@ -96,9 +96,9 @@ void EditorResourcePicker::_update_resource_preview(const String &p_path, const
}
if (preview_rect) {
Ref<Script> script = edited_resource;
if (script.is_valid()) {
assign_button->set_text(script->get_path().get_file());
Ref<Script> scr = edited_resource;
if (scr.is_valid()) {
assign_button->set_text(scr->get_path().get_file());
return;
}
@ -981,8 +981,8 @@ void EditorScriptPicker::set_create_options(Object *p_menu_node) {
menu_node->add_icon_item(get_theme_icon(SNAME("ScriptCreate"), SNAME("EditorIcons")), TTR("New Script"), OBJ_MENU_NEW_SCRIPT);
if (script_owner) {
Ref<Script> script = script_owner->get_script();
if (script.is_valid()) {
Ref<Script> scr = script_owner->get_script();
if (scr.is_valid()) {
menu_node->add_icon_item(get_theme_icon(SNAME("ScriptExtend"), SNAME("EditorIcons")), TTR("Extend Script"), OBJ_MENU_EXTEND_SCRIPT);
}
}
@ -1040,12 +1040,12 @@ void EditorShaderPicker::set_create_options(Object *p_menu_node) {
}
bool EditorShaderPicker::handle_menu_selected(int p_which) {
Ref<ShaderMaterial> material = Ref<ShaderMaterial>(get_edited_material());
Ref<ShaderMaterial> ed_material = Ref<ShaderMaterial>(get_edited_material());
switch (p_which) {
case OBJ_MENU_NEW_SHADER: {
if (material.is_valid()) {
SceneTreeDock::get_singleton()->open_shader_dialog(material, preferred_mode);
if (ed_material.is_valid()) {
SceneTreeDock::get_singleton()->open_shader_dialog(ed_material, preferred_mode);
return true;
}
} break;

View file

@ -41,7 +41,7 @@
#include "editor/editor_settings.h"
bool EditorResourcePreviewGenerator::handles(const String &p_type) const {
bool success;
bool success = false;
if (GDVIRTUAL_CALL(_handles, p_type, success)) {
return success;
}
@ -70,7 +70,7 @@ Ref<Texture2D> EditorResourcePreviewGenerator::generate_from_path(const String &
}
bool EditorResourcePreviewGenerator::generate_small_preview_automatically() const {
bool success;
bool success = false;
if (GDVIRTUAL_CALL(_generate_small_preview_automatically, success)) {
return success;
}
@ -79,7 +79,7 @@ bool EditorResourcePreviewGenerator::generate_small_preview_automatically() cons
}
bool EditorResourcePreviewGenerator::can_generate_small_preview() const {
bool success;
bool success = false;
if (GDVIRTUAL_CALL(_can_generate_small_preview, success)) {
return success;
}

View file

@ -226,9 +226,9 @@ void SectionedInspector::update_category_list() {
TreeItem *root = sections->create_item();
section_map[""] = root;
String filter;
String filter_text;
if (search_box) {
filter = search_box->get_text();
filter_text = search_box->get_text();
}
const EditorPropertyNameProcessor::Style name_style = EditorPropertyNameProcessor::get_settings_style();
@ -245,7 +245,7 @@ void SectionedInspector::update_category_list() {
continue;
}
if (!filter.is_empty() && !_property_path_matches(pi.name, filter, name_style)) {
if (!filter_text.is_empty() && !_property_path_matches(pi.name, filter_text, name_style)) {
continue;
}

View file

@ -76,14 +76,14 @@ bool EditorSettings::_set_only(const StringName &p_name, const Variant &p_value)
Array arr = p_value;
for (int i = 0; i < arr.size(); i++) {
Dictionary dict = arr[i];
String name = dict["name"];
String shortcut_name = dict["name"];
Array shortcut_events = dict["shortcuts"];
Ref<Shortcut> sc;
sc.instantiate();
sc->set_events(shortcut_events);
add_shortcut(name, sc);
add_shortcut(shortcut_name, sc);
}
return false;
@ -92,16 +92,16 @@ bool EditorSettings::_set_only(const StringName &p_name, const Variant &p_value)
for (int i = 0; i < actions_arr.size(); i++) {
Dictionary action_dict = actions_arr[i];
String name = action_dict["name"];
String action_name = action_dict["name"];
Array events = action_dict["events"];
InputMap *im = InputMap::get_singleton();
im->action_erase_events(name);
im->action_erase_events(action_name);
builtin_action_overrides[name].clear();
builtin_action_overrides[action_name].clear();
for (int ev_idx = 0; ev_idx < events.size(); ev_idx++) {
im->action_add_event(name, events[ev_idx]);
builtin_action_overrides[name].push_back(events[ev_idx]);
im->action_add_event(action_name, events[ev_idx]);
builtin_action_overrides[action_name].push_back(events[ev_idx]);
}
}
return false;
@ -735,8 +735,8 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
if (p_extra_config->has_section("init_projects") && p_extra_config->has_section_key("init_projects", "list")) {
Vector<String> list = p_extra_config->get_value("init_projects", "list");
for (int i = 0; i < list.size(); i++) {
String name = list[i].replace("/", "::");
set("projects/" + name, list[i]);
String proj_name = list[i].replace("/", "::");
set("projects/" + proj_name, list[i]);
}
}

View file

@ -78,19 +78,19 @@ void EditorToaster::_notification(int p_what) {
// Change alpha over time.
bool needs_update = false;
for (const KeyValue<Control *, Toast> &element : toasts) {
Color modulate = element.key->get_modulate();
Color modulate_fade = element.key->get_modulate();
// Change alpha over time.
if (element.value.popped && modulate.a < 1.0) {
modulate.a += delta * 3;
element.key->set_modulate(modulate);
} else if (!element.value.popped && modulate.a > 0.0) {
modulate.a -= delta * 2;
element.key->set_modulate(modulate);
if (element.value.popped && modulate_fade.a < 1.0) {
modulate_fade.a += delta * 3;
element.key->set_modulate(modulate_fade);
} else if (!element.value.popped && modulate_fade.a > 0.0) {
modulate_fade.a -= delta * 2;
element.key->set_modulate(modulate_fade);
}
// Hide element if it is not visible anymore.
if (modulate.a <= 0) {
if (modulate_fade.a <= 0) {
if (element.key->is_visible()) {
element.key->hide();
needs_update = true;
@ -317,7 +317,7 @@ void EditorToaster::_set_notifications_enabled(bool p_enabled) {
void EditorToaster::_repop_old() {
// Repop olds, up to max_temporary_count
bool needs_update = false;
int visible = 0;
int visible_count = 0;
for (int i = vbox_container->get_child_count() - 1; i >= 0; i--) {
Control *control = Object::cast_to<Control>(vbox_container->get_child(i));
if (!control->is_visible()) {
@ -326,8 +326,8 @@ void EditorToaster::_repop_old() {
toasts[control].popped = true;
needs_update = true;
}
visible++;
if (visible >= max_temporary_count) {
visible_count++;
if (visible_count >= max_temporary_count) {
break;
}
}

View file

@ -265,9 +265,9 @@ void ExportTemplateManager::_refresh_mirrors_completed(int p_status, int p_code,
mirrors_available = false;
Dictionary data = json.get_data();
if (data.has("mirrors")) {
Array mirrors = data["mirrors"];
Dictionary mirror_data = json.get_data();
if (mirror_data.has("mirrors")) {
Array mirrors = mirror_data["mirrors"];
for (int i = 0; i < mirrors.size(); i++) {
Dictionary m = mirrors[i];
@ -401,17 +401,17 @@ bool ExportTemplateManager::_install_file_selected(const String &p_file, bool p_
String file = String::utf8(fname);
if (file.ends_with("version.txt")) {
Vector<uint8_t> data;
data.resize(info.uncompressed_size);
Vector<uint8_t> uncomp_data;
uncomp_data.resize(info.uncompressed_size);
// Read.
unzOpenCurrentFile(pkg);
ret = unzReadCurrentFile(pkg, data.ptrw(), data.size());
ret = unzReadCurrentFile(pkg, uncomp_data.ptrw(), uncomp_data.size());
ERR_BREAK_MSG(ret < 0, vformat("An error occurred while attempting to read from file: %s. This file will not be used.", file));
unzCloseCurrentFile(pkg);
String data_str;
data_str.parse_utf8((const char *)data.ptr(), data.size());
data_str.parse_utf8((const char *)uncomp_data.ptr(), uncomp_data.size());
data_str = data_str.strip_edges();
// Version number should be of the form major.minor[.patch].status[.module_config]
@ -473,12 +473,12 @@ bool ExportTemplateManager::_install_file_selected(const String &p_file, bool p_
continue;
}
Vector<uint8_t> data;
data.resize(info.uncompressed_size);
Vector<uint8_t> uncomp_data;
uncomp_data.resize(info.uncompressed_size);
// Read
unzOpenCurrentFile(pkg);
ret = unzReadCurrentFile(pkg, data.ptrw(), data.size());
ret = unzReadCurrentFile(pkg, uncomp_data.ptrw(), uncomp_data.size());
ERR_BREAK_MSG(ret < 0, vformat("An error occurred while attempting to read from file: %s. This file will not be used.", file));
unzCloseCurrentFile(pkg);
@ -512,7 +512,7 @@ bool ExportTemplateManager::_install_file_selected(const String &p_file, bool p_
ERR_CONTINUE_MSG(true, "Can't open file from path '" + String(to_write) + "'.");
}
f->store_buffer(data.ptr(), data.size());
f->store_buffer(uncomp_data.ptr(), uncomp_data.size());
f.unref(); // close file.
#ifndef WINDOWS_ENABLED
FileAccess::set_unix_permissions(to_write, (info.external_fa >> 16) & 0x01FF);
@ -714,12 +714,12 @@ Error ExportTemplateManager::install_android_template_from_file(const String &p_
String base_dir = path.get_base_dir();
if (!path.ends_with("/")) {
Vector<uint8_t> data;
data.resize(info.uncompressed_size);
Vector<uint8_t> uncomp_data;
uncomp_data.resize(info.uncompressed_size);
// Read.
unzOpenCurrentFile(pkg);
unzReadCurrentFile(pkg, data.ptrw(), data.size());
unzReadCurrentFile(pkg, uncomp_data.ptrw(), uncomp_data.size());
unzCloseCurrentFile(pkg);
if (!dirs_tested.has(base_dir)) {
@ -730,7 +730,7 @@ Error ExportTemplateManager::install_android_template_from_file(const String &p_
String to_write = String("res://android/build").path_join(path);
Ref<FileAccess> f = FileAccess::open(to_write, FileAccess::WRITE);
if (f.is_valid()) {
f->store_buffer(data.ptr(), data.size());
f->store_buffer(uncomp_data.ptr(), uncomp_data.size());
f.unref(); // close file.
#ifndef WINDOWS_ENABLED
FileAccess::set_unix_permissions(to_write, (info.external_fa >> 16) & 0x01FF);

View file

@ -94,7 +94,7 @@ void ProjectExportDialog::_add_preset(int p_platform) {
Ref<EditorExportPreset> preset = EditorExport::get_singleton()->get_export_platform(p_platform)->create_preset();
ERR_FAIL_COND(!preset.is_valid());
String name = EditorExport::get_singleton()->get_export_platform(p_platform)->get_name();
String preset_name = EditorExport::get_singleton()->get_export_platform(p_platform)->get_name();
bool make_runnable = true;
int attempt = 1;
while (true) {
@ -105,7 +105,7 @@ void ProjectExportDialog::_add_preset(int p_platform) {
if (p->get_platform() == preset->get_platform() && p->is_runnable()) {
make_runnable = false;
}
if (p->get_name() == name) {
if (p->get_name() == preset_name) {
valid = false;
break;
}
@ -116,10 +116,10 @@ void ProjectExportDialog::_add_preset(int p_platform) {
}
attempt++;
name = EditorExport::get_singleton()->get_export_platform(p_platform)->get_name() + " " + itos(attempt);
preset_name = EditorExport::get_singleton()->get_export_platform(p_platform)->get_name() + " " + itos(attempt);
}
preset->set_name(name);
preset->set_name(preset_name);
if (make_runnable) {
preset->set_runnable(make_runnable);
}
@ -154,12 +154,12 @@ void ProjectExportDialog::_update_presets() {
current_idx = i;
}
String name = preset->get_name();
String preset_name = preset->get_name();
if (preset->is_runnable()) {
name += " (" + TTR("Runnable") + ")";
preset_name += " (" + TTR("Runnable") + ")";
}
preset->update_files_to_export();
presets->add_item(name, preset->get_platform()->get_logo());
presets->add_item(preset_name, preset->get_platform()->get_logo());
}
if (current_idx != -1) {
@ -552,7 +552,7 @@ void ProjectExportDialog::_duplicate_preset() {
Ref<EditorExportPreset> preset = current->get_platform()->create_preset();
ERR_FAIL_COND(!preset.is_valid());
String name = current->get_name() + " (copy)";
String preset_name = current->get_name() + " (copy)";
bool make_runnable = true;
while (true) {
bool valid = true;
@ -562,7 +562,7 @@ void ProjectExportDialog::_duplicate_preset() {
if (p->get_platform() == preset->get_platform() && p->is_runnable()) {
make_runnable = false;
}
if (p->get_name() == name) {
if (p->get_name() == preset_name) {
valid = false;
break;
}
@ -572,10 +572,10 @@ void ProjectExportDialog::_duplicate_preset() {
break;
}
name += " (copy)";
preset_name += " (copy)";
}
preset->set_name(name);
preset->set_name(preset_name);
if (make_runnable) {
preset->set_runnable(make_runnable);
}
@ -945,8 +945,8 @@ void ProjectExportDialog::_export_all_dialog_action(const String &p_str) {
}
void ProjectExportDialog::_export_all(bool p_debug) {
String mode = p_debug ? TTR("Debug") : TTR("Release");
EditorProgress ep("exportall", TTR("Exporting All") + " " + mode, EditorExport::get_singleton()->get_export_preset_count(), true);
String export_target = p_debug ? TTR("Debug") : TTR("Release");
EditorProgress ep("exportall", TTR("Exporting All") + " " + export_target, EditorExport::get_singleton()->get_export_preset_count(), true);
bool show_dialog = false;
result_dialog_log->clear();

View file

@ -218,11 +218,11 @@ void FileSystemDock::_update_tree(const Vector<String> &p_uncollapsed_paths, boo
TreeItem *root = tree->create_item();
// Handles the favorites.
TreeItem *favorites = tree->create_item(root);
favorites->set_icon(0, get_theme_icon(SNAME("Favorites"), SNAME("EditorIcons")));
favorites->set_text(0, TTR("Favorites:"));
favorites->set_metadata(0, "Favorites");
favorites->set_collapsed(p_uncollapsed_paths.find("Favorites") < 0);
TreeItem *favorites_item = tree->create_item(root);
favorites_item->set_icon(0, get_theme_icon(SNAME("Favorites"), SNAME("EditorIcons")));
favorites_item->set_text(0, TTR("Favorites:"));
favorites_item->set_metadata(0, "Favorites");
favorites_item->set_collapsed(p_uncollapsed_paths.find("Favorites") < 0);
Vector<String> favorite_paths = EditorSettings::get_singleton()->get_favorites();
@ -272,7 +272,7 @@ void FileSystemDock::_update_tree(const Vector<String> &p_uncollapsed_paths, boo
}
if (searched_string.length() == 0 || text.to_lower().find(searched_string) >= 0) {
TreeItem *ti = tree->create_item(favorites);
TreeItem *ti = tree->create_item(favorites_item);
ti->set_text(0, text);
ti->set_icon(0, icon);
ti->set_icon_modulate(0, color);
@ -784,9 +784,8 @@ void FileSystemDock::_update_file_list(bool p_keep_selection) {
List<FileInfo> file_list;
if (path == "Favorites") {
// Display the favorites.
Vector<String> favorites = EditorSettings::get_singleton()->get_favorites();
for (int i = 0; i < favorites.size(); i++) {
String favorite = favorites[i];
Vector<String> favorites_list = EditorSettings::get_singleton()->get_favorites();
for (const String &favorite : favorites_list) {
String text;
Ref<Texture2D> icon;
if (favorite == "res://") {
@ -1056,15 +1055,15 @@ void FileSystemDock::_select_file(const String &p_path, bool p_select_in_favorit
void FileSystemDock::_tree_activate_file() {
TreeItem *selected = tree->get_selected();
if (selected) {
String path = selected->get_metadata(0);
String file_path = selected->get_metadata(0);
TreeItem *parent = selected->get_parent();
bool is_favorite = parent != nullptr && parent->get_metadata(0) == "Favorites";
if ((!is_favorite && path.ends_with("/")) || path == "Favorites") {
if ((!is_favorite && file_path.ends_with("/")) || file_path == "Favorites") {
bool collapsed = selected->is_collapsed();
selected->set_collapsed(!collapsed);
} else {
_select_file(path, is_favorite && !path.ends_with("/"));
_select_file(file_path, is_favorite && !file_path.ends_with("/"));
}
}
}
@ -1169,29 +1168,29 @@ void FileSystemDock::_push_to_history() {
button_hist_next->set_disabled(history_pos == history.size() - 1);
}
void FileSystemDock::_get_all_items_in_dir(EditorFileSystemDirectory *efsd, Vector<String> &files, Vector<String> &folders) const {
if (efsd == nullptr) {
void FileSystemDock::_get_all_items_in_dir(EditorFileSystemDirectory *p_efsd, Vector<String> &r_files, Vector<String> &r_folders) const {
if (p_efsd == nullptr) {
return;
}
for (int i = 0; i < efsd->get_subdir_count(); i++) {
folders.push_back(efsd->get_subdir(i)->get_path());
_get_all_items_in_dir(efsd->get_subdir(i), files, folders);
for (int i = 0; i < p_efsd->get_subdir_count(); i++) {
r_folders.push_back(p_efsd->get_subdir(i)->get_path());
_get_all_items_in_dir(p_efsd->get_subdir(i), r_files, r_folders);
}
for (int i = 0; i < efsd->get_file_count(); i++) {
files.push_back(efsd->get_file_path(i));
for (int i = 0; i < p_efsd->get_file_count(); i++) {
r_files.push_back(p_efsd->get_file_path(i));
}
}
void FileSystemDock::_find_remaps(EditorFileSystemDirectory *efsd, const HashMap<String, String> &renames, Vector<String> &to_remaps) const {
for (int i = 0; i < efsd->get_subdir_count(); i++) {
_find_remaps(efsd->get_subdir(i), renames, to_remaps);
void FileSystemDock::_find_remaps(EditorFileSystemDirectory *p_efsd, const HashMap<String, String> &r_renames, Vector<String> &r_to_remaps) const {
for (int i = 0; i < p_efsd->get_subdir_count(); i++) {
_find_remaps(p_efsd->get_subdir(i), r_renames, r_to_remaps);
}
for (int i = 0; i < efsd->get_file_count(); i++) {
Vector<String> deps = efsd->get_file_deps(i);
for (int i = 0; i < p_efsd->get_file_count(); i++) {
Vector<String> deps = p_efsd->get_file_deps(i);
for (int j = 0; j < deps.size(); j++) {
if (renames.has(deps[j])) {
to_remaps.push_back(efsd->get_file_path(i));
if (r_renames.has(deps[j])) {
r_to_remaps.push_back(p_efsd->get_file_path(i));
break;
}
}
@ -1345,25 +1344,25 @@ void FileSystemDock::_update_resource_paths_after_move(const HashMap<String, Str
}
for (int i = 0; i < EditorNode::get_editor_data().get_edited_scene_count(); i++) {
String path;
String file_path;
if (i == EditorNode::get_editor_data().get_edited_scene()) {
if (!get_tree()->get_edited_scene_root()) {
continue;
}
path = get_tree()->get_edited_scene_root()->get_scene_file_path();
file_path = get_tree()->get_edited_scene_root()->get_scene_file_path();
} else {
path = EditorNode::get_editor_data().get_scene_path(i);
file_path = EditorNode::get_editor_data().get_scene_path(i);
}
if (p_renames.has(path)) {
path = p_renames[path];
if (p_renames.has(file_path)) {
file_path = p_renames[file_path];
}
if (i == EditorNode::get_editor_data().get_edited_scene()) {
get_tree()->get_edited_scene_root()->set_scene_file_path(path);
get_tree()->get_edited_scene_root()->set_scene_file_path(file_path);
} else {
EditorNode::get_editor_data().set_scene_path(i, path);
EditorNode::get_editor_data().set_scene_path(i, file_path);
}
}
}
@ -1421,11 +1420,10 @@ void FileSystemDock::_update_project_settings_after_move(const HashMap<String, S
}
void FileSystemDock::_update_favorites_list_after_move(const HashMap<String, String> &p_files_renames, const HashMap<String, String> &p_folders_renames) const {
Vector<String> favorites = EditorSettings::get_singleton()->get_favorites();
Vector<String> favorites_list = EditorSettings::get_singleton()->get_favorites();
Vector<String> new_favorites;
for (int i = 0; i < favorites.size(); i++) {
String old_path = favorites[i];
for (const String &old_path : favorites_list) {
if (p_folders_renames.has(old_path)) {
new_favorites.push_back(p_folders_renames[old_path]);
} else if (p_files_renames.has(old_path)) {
@ -1836,23 +1834,23 @@ void FileSystemDock::_file_option(int p_option, const Vector<String> &p_selected
case FILE_ADD_FAVORITE: {
// Add the files from favorites.
Vector<String> favorites = EditorSettings::get_singleton()->get_favorites();
Vector<String> favorites_list = EditorSettings::get_singleton()->get_favorites();
for (int i = 0; i < p_selected.size(); i++) {
if (!favorites.has(p_selected[i])) {
favorites.push_back(p_selected[i]);
if (!favorites_list.has(p_selected[i])) {
favorites_list.push_back(p_selected[i]);
}
}
EditorSettings::get_singleton()->set_favorites(favorites);
EditorSettings::get_singleton()->set_favorites(favorites_list);
_update_tree(_compute_uncollapsed_paths());
} break;
case FILE_REMOVE_FAVORITE: {
// Remove the files from favorites.
Vector<String> favorites = EditorSettings::get_singleton()->get_favorites();
Vector<String> favorites_list = EditorSettings::get_singleton()->get_favorites();
for (int i = 0; i < p_selected.size(); i++) {
favorites.erase(p_selected[i]);
favorites_list.erase(p_selected[i]);
}
EditorSettings::get_singleton()->set_favorites(favorites);
EditorSettings::get_singleton()->set_favorites(favorites_list);
_update_tree(_compute_uncollapsed_paths());
if (path == "Favorites") {
_update_file_list(true);
@ -2274,7 +2272,7 @@ void FileSystemDock::drop_data_fw(const Point2 &p_point, const Variant &p_data,
int drop_section = tree->get_drop_section_at_position(p_point);
int drop_position;
Vector<String> files = drag_data["files"];
Vector<String> drag_files = drag_data["files"];
TreeItem *favorites_item = tree->get_root()->get_first_child();
TreeItem *resources_item = favorites_item->get_next();
@ -2295,8 +2293,8 @@ void FileSystemDock::drop_data_fw(const Point2 &p_point, const Variant &p_data,
// Remove dragged favorites.
Vector<int> to_remove;
int offset = 0;
for (int i = 0; i < files.size(); i++) {
int to_remove_pos = dirs.find(files[i]);
for (int i = 0; i < drag_files.size(); i++) {
int to_remove_pos = dirs.find(drag_files[i]);
to_remove.push_back(to_remove_pos);
if (to_remove_pos < drop_position) {
offset++;
@ -2309,8 +2307,8 @@ void FileSystemDock::drop_data_fw(const Point2 &p_point, const Variant &p_data,
}
// Re-add them at the right position.
for (int i = 0; i < files.size(); i++) {
dirs.insert(drop_position, files[i]);
for (int i = 0; i < drag_files.size(); i++) {
dirs.insert(drop_position, drag_files[i]);
drop_position++;
}
@ -2379,13 +2377,13 @@ void FileSystemDock::drop_data_fw(const Point2 &p_point, const Variant &p_data,
} else if (favorite) {
// Add the files from favorites.
Vector<String> fnames = drag_data["files"];
Vector<String> favorites = EditorSettings::get_singleton()->get_favorites();
Vector<String> favorites_list = EditorSettings::get_singleton()->get_favorites();
for (int i = 0; i < fnames.size(); i++) {
if (!favorites.has(fnames[i])) {
favorites.push_back(fnames[i]);
if (!favorites_list.has(fnames[i])) {
favorites_list.push_back(fnames[i]);
}
}
EditorSettings::get_singleton()->set_favorites(favorites);
EditorSettings::get_singleton()->set_favorites(favorites_list);
_update_tree(_compute_uncollapsed_paths());
}
}
@ -2463,7 +2461,7 @@ void FileSystemDock::_file_and_folders_fill_popup(PopupMenu *p_popup, Vector<Str
Vector<String> filenames;
Vector<String> foldernames;
Vector<String> favorites = EditorSettings::get_singleton()->get_favorites();
Vector<String> favorites_list = EditorSettings::get_singleton()->get_favorites();
bool all_files = true;
bool all_files_scenes = true;
@ -2484,8 +2482,8 @@ void FileSystemDock::_file_and_folders_fill_popup(PopupMenu *p_popup, Vector<Str
// Check if in favorites.
bool found = false;
for (int j = 0; j < favorites.size(); j++) {
if (favorites[j] == fpath) {
for (int j = 0; j < favorites_list.size(); j++) {
if (favorites_list[j] == fpath) {
found = true;
break;
}
@ -2852,10 +2850,10 @@ void FileSystemDock::_file_list_gui_input(Ref<InputEvent> p_event) {
}
}
void FileSystemDock::_get_imported_files(const String &p_path, Vector<String> &files) const {
void FileSystemDock::_get_imported_files(const String &p_path, Vector<String> &r_files) const {
if (!p_path.ends_with("/")) {
if (FileAccess::exists(p_path + ".import")) {
files.push_back(p_path);
r_files.push_back(p_path);
}
return;
}
@ -2866,7 +2864,7 @@ void FileSystemDock::_get_imported_files(const String &p_path, Vector<String> &f
while (!n.is_empty()) {
if (n != "." && n != ".." && !n.ends_with(".import")) {
String npath = p_path + n + (da->current_is_dir() ? "/" : "");
_get_imported_files(npath, files);
_get_imported_files(npath, r_files);
}
n = da->get_next();
}

View file

@ -213,11 +213,11 @@ private:
void _file_multi_selected(int p_index, bool p_selected);
void _tree_multi_selected(Object *p_item, int p_column, bool p_selected);
void _get_imported_files(const String &p_path, Vector<String> &files) const;
void _get_imported_files(const String &p_path, Vector<String> &r_files) const;
void _update_import_dock();
void _get_all_items_in_dir(EditorFileSystemDirectory *efsd, Vector<String> &files, Vector<String> &folders) const;
void _find_remaps(EditorFileSystemDirectory *efsd, const HashMap<String, String> &renames, Vector<String> &to_remaps) const;
void _get_all_items_in_dir(EditorFileSystemDirectory *p_efsd, Vector<String> &r_files, Vector<String> &r_folders) const;
void _find_remaps(EditorFileSystemDirectory *p_efsd, const HashMap<String, String> &r_renames, Vector<String> &r_to_remaps) const;
void _try_move_item(const FileOrFolder &p_item, const String &p_new_path, HashMap<String, String> &p_file_renames, HashMap<String, String> &p_folder_renames);
void _try_duplicate_item(const FileOrFolder &p_item, const String &p_new_path) const;
void _update_dependencies_after_move(const HashMap<String, String> &p_renames) const;

View file

@ -968,8 +968,8 @@ void FindInFilesPanel::update_replace_buttons() {
_replace_all_button->set_disabled(disabled);
}
void FindInFilesPanel::set_progress_visible(bool visible) {
_progress_bar->set_self_modulate(Color(1, 1, 1, visible ? 1 : 0));
void FindInFilesPanel::set_progress_visible(bool p_visible) {
_progress_bar->set_self_modulate(Color(1, 1, 1, p_visible ? 1 : 0));
}
void FindInFilesPanel::_bind_methods() {

View file

@ -198,7 +198,7 @@ private:
void draw_result_text(Object *item_obj, Rect2 rect);
void set_progress_visible(bool visible);
void set_progress_visible(bool p_visible);
void clear();
FindInFiles *_finder = nullptr;

View file

@ -76,7 +76,7 @@ void AudioStreamImportSettings::_notification(int p_what) {
void AudioStreamImportSettings::_draw_preview() {
Rect2 rect = _preview->get_rect();
Size2 size = rect.size;
Size2 rect_size = rect.size;
Ref<AudioStreamPreview> preview = AudioStreamPreviewGenerator::get_singleton()->generate_preview(stream);
float preview_offset = zoom_bar->get_value();
@ -85,7 +85,7 @@ void AudioStreamImportSettings::_draw_preview() {
Ref<Font> beat_font = get_theme_font(SNAME("main"), SNAME("EditorFonts"));
int main_size = get_theme_font_size(SNAME("main_size"), SNAME("EditorFonts"));
Vector<Vector2> lines;
lines.resize(size.width * 2);
lines.resize(rect_size.width * 2);
Color color_active = get_theme_color(SNAME("contrast_color_2"), SNAME("Editor"));
Color color_inactive = color_active;
color_inactive.a *= 0.5;
@ -107,9 +107,9 @@ void AudioStreamImportSettings::_draw_preview() {
}
}
for (int i = 0; i < size.width; i++) {
float ofs = preview_offset + i * preview_len / size.width;
float ofs_n = preview_offset + (i + 1) * preview_len / size.width;
for (int i = 0; i < rect_size.width; i++) {
float ofs = preview_offset + i * preview_len / rect_size.width;
float ofs_n = preview_offset + (i + 1) * preview_len / rect_size.width;
float max = preview->get_max(ofs, ofs_n) * 0.5 + 0.5;
float min = preview->get_min(ofs, ofs_n) * 0.5 + 0.5;
@ -139,8 +139,8 @@ void AudioStreamImportSettings::_draw_preview() {
int bar_beats = stream->get_bar_beats();
int last_text_end_x = 0;
for (int i = 0; i < size.width; i++) {
float ofs = preview_offset + i * preview_len / size.width;
for (int i = 0; i < rect_size.width; i++) {
float ofs = preview_offset + i * preview_len / rect_size.width;
int beat = int(ofs / beat_size);
if (beat != prev_beat) {
String text = itos(beat);

View file

@ -949,11 +949,11 @@ void DynamicFontImportSettings::_re_import() {
void DynamicFontImportSettings::open_settings(const String &p_path) {
// Load base font data.
Vector<uint8_t> data = FileAccess::get_file_as_array(p_path);
Vector<uint8_t> font_data = FileAccess::get_file_as_array(p_path);
// Load font for preview.
font_preview.instantiate();
font_preview->set_data(data);
font_preview->set_data(font_data);
String font_name = vformat("%s (%s)", font_preview->get_font_name(), font_preview->get_font_style_name());
String sample;
@ -976,7 +976,7 @@ void DynamicFontImportSettings::open_settings(const String &p_path) {
// Load second copy of font with MSDF disabled for the glyph table and metadata extraction.
font_main.instantiate();
font_main->set_data(data);
font_main->set_data(font_data);
font_main->set_multichannel_signed_distance_field(false);
text_edit->add_theme_font_override("font", font_main);
@ -1036,7 +1036,7 @@ void DynamicFontImportSettings::open_settings(const String &p_path) {
double embolden = preload_config.has("variation_embolden") ? preload_config["variation_embolden"].operator double() : 0;
int face_index = preload_config.has("variation_face_index") ? preload_config["variation_face_index"].operator int() : 0;
Transform2D transform = preload_config.has("variation_transform") ? preload_config["variation_transform"].operator Transform2D() : Transform2D();
Vector2i size = preload_config.has("size") ? preload_config["size"].operator Vector2i() : Vector2i(16, 0);
Vector2i font_size = preload_config.has("size") ? preload_config["size"].operator Vector2i() : Vector2i(16, 0);
String cfg_name = preload_config.has("name") ? preload_config["name"].operator String() : vformat("Configuration %d", i);
TreeItem *vars_item = vars_list->create_item(vars_list_root);
@ -1061,8 +1061,8 @@ void DynamicFontImportSettings::open_settings(const String &p_path) {
import_variation_data_custom->options = options_variations;
vars_item->set_metadata(0, import_variation_data_custom);
import_variation_data_custom->set("size", size.x);
import_variation_data_custom->set("outline_size", size.y);
import_variation_data_custom->set("size", font_size.x);
import_variation_data_custom->set("outline_size", font_size.y);
import_variation_data_custom->set("variation_opentype", variation);
import_variation_data_custom->set("variation_embolden", embolden);
import_variation_data_custom->set("variation_face_index", face_index);

View file

@ -154,7 +154,7 @@ bool EditorImportPlugin::get_option_visibility(const String &p_path, const Strin
d[E->key] = E->value;
++E;
}
bool visible;
bool visible = false;
if (GDVIRTUAL_CALL(_get_option_visibility, p_path, p_option, d, visible)) {
return visible;
}
@ -172,7 +172,7 @@ Error EditorImportPlugin::import(const String &p_source_file, const String &p_sa
++E;
}
int err;
int err = 0;
if (GDVIRTUAL_CALL(_import, p_source_file, p_save_path, options, platform_variants, gen_files, err)) {
Error ret_err = Error(err);

View file

@ -396,12 +396,12 @@ Error ResourceImporterLayeredTexture::import(const String &p_source_file, const
texture_import->used_channels = used_channels;
_check_compress_ctex(p_source_file, texture_import);
if (r_metadata) {
Dictionary metadata;
metadata["vram_texture"] = compress_mode == COMPRESS_VRAM_COMPRESSED;
Dictionary meta;
meta["vram_texture"] = compress_mode == COMPRESS_VRAM_COMPRESSED;
if (formats_imported.size()) {
metadata["imported_formats"] = formats_imported;
meta["imported_formats"] = formats_imported;
}
*r_metadata = metadata;
*r_metadata = meta;
}
return OK;
@ -432,20 +432,20 @@ String ResourceImporterLayeredTexture::get_import_settings_string() const {
bool ResourceImporterLayeredTexture::are_import_settings_valid(const String &p_path) const {
//will become invalid if formats are missing to import
Dictionary metadata = ResourceFormatImporter::get_singleton()->get_resource_metadata(p_path);
Dictionary meta = ResourceFormatImporter::get_singleton()->get_resource_metadata(p_path);
if (!metadata.has("vram_texture")) {
if (!meta.has("vram_texture")) {
return false;
}
bool vram = metadata["vram_texture"];
bool vram = meta["vram_texture"];
if (!vram) {
return true; //do not care about non vram
}
Vector<String> formats_imported;
if (metadata.has("imported_formats")) {
formats_imported = metadata["imported_formats"];
if (meta.has("imported_formats")) {
formats_imported = meta["imported_formats"];
}
int index = 0;

View file

@ -669,23 +669,23 @@ Error ResourceImporterTexture::import(const String &p_source_file, const String
}
if (r_metadata) {
Dictionary metadata;
metadata["vram_texture"] = compress_mode == COMPRESS_VRAM_COMPRESSED;
Dictionary meta;
meta["vram_texture"] = compress_mode == COMPRESS_VRAM_COMPRESSED;
if (formats_imported.size()) {
metadata["imported_formats"] = formats_imported;
meta["imported_formats"] = formats_imported;
}
if (editor_image.is_valid()) {
metadata["has_editor_variant"] = true;
meta["has_editor_variant"] = true;
if (use_editor_scale) {
metadata["editor_scale"] = EDSCALE;
meta["editor_scale"] = EDSCALE;
}
if (convert_editor_colors) {
metadata["editor_dark_theme"] = EditorSettings::get_singleton()->is_dark_theme();
meta["editor_dark_theme"] = EditorSettings::get_singleton()->is_dark_theme();
}
}
*r_metadata = metadata;
*r_metadata = meta;
}
return OK;
}
@ -715,29 +715,29 @@ String ResourceImporterTexture::get_import_settings_string() const {
bool ResourceImporterTexture::are_import_settings_valid(const String &p_path) const {
//will become invalid if formats are missing to import
Dictionary metadata = ResourceFormatImporter::get_singleton()->get_resource_metadata(p_path);
Dictionary meta = ResourceFormatImporter::get_singleton()->get_resource_metadata(p_path);
if (metadata.has("has_editor_variant")) {
if (metadata.has("editor_scale") && (float)metadata["editor_scale"] != EDSCALE) {
if (meta.has("has_editor_variant")) {
if (meta.has("editor_scale") && (float)meta["editor_scale"] != EDSCALE) {
return false;
}
if (metadata.has("editor_dark_theme") && (bool)metadata["editor_dark_theme"] != EditorSettings::get_singleton()->is_dark_theme()) {
if (meta.has("editor_dark_theme") && (bool)meta["editor_dark_theme"] != EditorSettings::get_singleton()->is_dark_theme()) {
return false;
}
}
if (!metadata.has("vram_texture")) {
if (!meta.has("vram_texture")) {
return false;
}
bool vram = metadata["vram_texture"];
bool vram = meta["vram_texture"];
if (!vram) {
return true; // Do not care about non-VRAM.
}
Vector<String> formats_imported;
if (metadata.has("imported_formats")) {
formats_imported = metadata["imported_formats"];
if (meta.has("imported_formats")) {
formats_imported = meta["imported_formats"];
}
int index = 0;

View file

@ -255,8 +255,8 @@ void InspectorDock::_resource_file_selected(String p_file) {
}
void InspectorDock::_save_resource(bool save_as) {
ObjectID current = EditorNode::get_singleton()->get_editor_selection_history()->get_current();
Object *current_obj = current.is_valid() ? ObjectDB::get_instance(current) : nullptr;
ObjectID current_id = EditorNode::get_singleton()->get_editor_selection_history()->get_current();
Object *current_obj = current_id.is_valid() ? ObjectDB::get_instance(current_id) : nullptr;
ERR_FAIL_COND(!Object::cast_to<Resource>(current_obj));
@ -270,8 +270,8 @@ void InspectorDock::_save_resource(bool save_as) {
}
void InspectorDock::_unref_resource() {
ObjectID current = EditorNode::get_singleton()->get_editor_selection_history()->get_current();
Object *current_obj = current.is_valid() ? ObjectDB::get_instance(current) : nullptr;
ObjectID current_id = EditorNode::get_singleton()->get_editor_selection_history()->get_current();
Object *current_obj = current_id.is_valid() ? ObjectDB::get_instance(current_id) : nullptr;
ERR_FAIL_COND(!Object::cast_to<Resource>(current_obj));
@ -281,8 +281,8 @@ void InspectorDock::_unref_resource() {
}
void InspectorDock::_copy_resource() {
ObjectID current = EditorNode::get_singleton()->get_editor_selection_history()->get_current();
Object *current_obj = current.is_valid() ? ObjectDB::get_instance(current) : nullptr;
ObjectID current_id = EditorNode::get_singleton()->get_editor_selection_history()->get_current();
Object *current_obj = current_id.is_valid() ? ObjectDB::get_instance(current_id) : nullptr;
ERR_FAIL_COND(!Object::cast_to<Resource>(current_obj));
@ -610,8 +610,8 @@ void InspectorDock::apply_script_properties(Object *p_object) {
}
for (const Pair<StringName, Variant> &E : stored_properties) {
Variant current;
if (si->get(E.first, current) && current.get_type() == E.second.get_type()) {
Variant current_prop;
if (si->get(E.first, current_prop) && current_prop.get_type() == E.second.get_type()) {
si->set(E.first, E.second);
}
}

View file

@ -80,11 +80,11 @@ void PluginConfigDialog::_on_confirmed() {
if (!templates.is_empty()) {
template_content = templates[0].content;
}
Ref<Script> script = ScriptServer::get_language(lang_idx)->make_template(template_content, class_name, "EditorPlugin");
script->set_path(script_path, true);
ResourceSaver::save(script);
Ref<Script> scr = ScriptServer::get_language(lang_idx)->make_template(template_content, class_name, "EditorPlugin");
scr->set_path(script_path, true);
ResourceSaver::save(scr);
emit_signal(SNAME("plugin_ready"), script.ptr(), active_edit->is_pressed() ? _to_absolute_plugin_path(_get_subfolder()) : "");
emit_signal(SNAME("plugin_ready"), scr.ptr(), active_edit->is_pressed() ? _to_absolute_plugin_path(_get_subfolder()) : "");
} else {
EditorNode::get_singleton()->get_project_settings()->update_plugins();
}

View file

@ -561,8 +561,8 @@ void AbstractPolygon2DEditor::forward_canvas_draw_over_viewport(Control *p_overl
const Vector2 p = (vertex == edited_point) ? edited_point.pos : (points[i] + offset);
const Vector2 point = xform.xform(p);
const Color modulate = vertex == active_point ? Color(0.5, 1, 2) : Color(1, 1, 1);
p_overlay->draw_texture(handle, point - handle->get_size() * 0.5, modulate);
const Color overlay_modulate = vertex == active_point ? Color(0.5, 1, 2) : Color(1, 1, 1);
p_overlay->draw_texture(handle, point - handle->get_size() * 0.5, overlay_modulate);
if (vertex == hover_point) {
Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Label"));

View file

@ -406,11 +406,11 @@ void AnimationNodeBlendSpace2DEditor::_tool_switch(int p_tool) {
making_triangle.clear();
if (p_tool == 2) {
Vector<Vector2> points;
Vector<Vector2> bl_points;
for (int i = 0; i < blend_space->get_blend_point_count(); i++) {
points.push_back(blend_space->get_blend_point_position(i));
bl_points.push_back(blend_space->get_blend_point_position(i));
}
Vector<Delaunay2D::Triangle> tr = Delaunay2D::triangulate(points);
Vector<Delaunay2D::Triangle> tr = Delaunay2D::triangulate(bl_points);
for (int i = 0; i < tr.size(); i++) {
blend_space->add_triangle(tr[i].points[0], tr[i].points[1], tr[i].points[2]);
}
@ -494,8 +494,8 @@ void AnimationNodeBlendSpace2DEditor::_blend_space_draw() {
//triangles first
for (int i = 0; i < blend_space->get_triangle_count(); i++) {
Vector<Vector2> points;
points.resize(3);
Vector<Vector2> bl_points;
bl_points.resize(3);
for (int j = 0; j < 3; j++) {
int point_idx = blend_space->get_triangle_point(i, j);
@ -509,11 +509,11 @@ void AnimationNodeBlendSpace2DEditor::_blend_space_draw() {
point = (point - blend_space->get_min_space()) / (blend_space->get_max_space() - blend_space->get_min_space());
point *= s;
point.y = s.height - point.y;
points.write[j] = point;
bl_points.write[j] = point;
}
for (int j = 0; j < 3; j++) {
blend_space_draw->draw_line(points[j], points[(j + 1) % 3], linecolor, Math::round(EDSCALE), true);
blend_space_draw->draw_line(bl_points[j], bl_points[(j + 1) % 3], linecolor, Math::round(EDSCALE), true);
}
Color color;
@ -530,7 +530,7 @@ void AnimationNodeBlendSpace2DEditor::_blend_space_draw() {
color,
color
};
blend_space_draw->draw_primitive(points, colors, Vector<Vector2>());
blend_space_draw->draw_primitive(bl_points, colors, Vector<Vector2>());
}
points.clear();
@ -560,19 +560,19 @@ void AnimationNodeBlendSpace2DEditor::_blend_space_draw() {
}
if (making_triangle.size()) {
Vector<Vector2> points;
Vector<Vector2> bl_points;
for (int i = 0; i < making_triangle.size(); i++) {
Vector2 point = blend_space->get_blend_point_position(making_triangle[i]);
point = (point - blend_space->get_min_space()) / (blend_space->get_max_space() - blend_space->get_min_space());
point *= s;
point.y = s.height - point.y;
points.push_back(point);
bl_points.push_back(point);
}
for (int i = 0; i < points.size() - 1; i++) {
blend_space_draw->draw_line(points[i], points[i + 1], linecolor, Math::round(2 * EDSCALE), true);
for (int i = 0; i < bl_points.size() - 1; i++) {
blend_space_draw->draw_line(bl_points[i], bl_points[i + 1], linecolor, Math::round(2 * EDSCALE), true);
}
blend_space_draw->draw_line(points[points.size() - 1], blend_space_draw->get_local_mouse_position(), linecolor, Math::round(2 * EDSCALE), true);
blend_space_draw->draw_line(bl_points[bl_points.size() - 1], blend_space_draw->get_local_mouse_position(), linecolor, Math::round(2 * EDSCALE), true);
}
///draw cursor position

View file

@ -262,10 +262,10 @@ void AnimationNodeBlendTreeEditor::update_graph() {
node->add_theme_color_override("resizer_color", c);
}
List<AnimationNodeBlendTree::NodeConnection> connections;
blend_tree->get_node_connections(&connections);
List<AnimationNodeBlendTree::NodeConnection> node_connections;
blend_tree->get_node_connections(&node_connections);
for (const AnimationNodeBlendTree::NodeConnection &E : connections) {
for (const AnimationNodeBlendTree::NodeConnection &E : node_connections) {
StringName from = E.output_node;
StringName to = E.input_node;
int to_idx = E.input_index;
@ -293,9 +293,9 @@ void AnimationNodeBlendTreeEditor::_add_node(int p_idx) {
if (p_idx == MENU_LOAD_FILE) {
open_file->clear_filters();
List<String> filters;
ResourceLoader::get_recognized_extensions_for_type("AnimationNode", &filters);
for (const String &E : filters) {
List<String> ext_filters;
ResourceLoader::get_recognized_extensions_for_type("AnimationNode", &ext_filters);
for (const String &E : ext_filters) {
open_file->add_filter("*." + E);
}
open_file->popup_file_dialog();
@ -611,10 +611,10 @@ bool AnimationNodeBlendTreeEditor::_update_filters(const Ref<AnimationNode> &ano
HashSet<String> paths;
HashMap<String, RBSet<String>> types;
{
List<StringName> animations;
player->get_animation_list(&animations);
List<StringName> animation_list;
player->get_animation_list(&animation_list);
for (const StringName &E : animations) {
for (const StringName &E : animation_list) {
Ref<Animation> anim = player->get_animation(E);
for (int i = 0; i < anim->get_track_count(); i++) {
String track_path = anim->track_get_path(i);
@ -970,10 +970,10 @@ void AnimationNodeBlendTreeEditor::_node_renamed(const String &p_text, Ref<Anima
//recreate connections
graph->clear_connections();
List<AnimationNodeBlendTree::NodeConnection> connections;
blend_tree->get_node_connections(&connections);
List<AnimationNodeBlendTree::NodeConnection> node_connections;
blend_tree->get_node_connections(&node_connections);
for (const AnimationNodeBlendTree::NodeConnection &E : connections) {
for (const AnimationNodeBlendTree::NodeConnection &E : node_connections) {
StringName from = E.output_node;
StringName to = E.input_node;
int to_idx = E.input_index;

View file

@ -826,13 +826,13 @@ void AnimationPlayerEditor::_update_player() {
}
// Check if the global library is foreign since we want to disable options for adding/remove/renaming animations if it is.
Ref<AnimationLibrary> library = player->get_animation_library(K);
Ref<AnimationLibrary> anim_library = player->get_animation_library(K);
if (K == "") {
foreign_global_anim_lib = EditorNode::get_singleton()->is_resource_read_only(library);
foreign_global_anim_lib = EditorNode::get_singleton()->is_resource_read_only(anim_library);
}
List<StringName> animlist;
library->get_animation_list(&animlist);
anim_library->get_animation_list(&animlist);
for (const StringName &E : animlist) {
String path = K;
@ -913,19 +913,19 @@ void AnimationPlayerEditor::_update_player() {
void AnimationPlayerEditor::_update_animation_list_icons() {
for (int i = 0; i < animation->get_item_count(); i++) {
String name = animation->get_item_text(i);
String anim_name = animation->get_item_text(i);
if (animation->is_item_disabled(i) || animation->is_item_separator(i)) {
continue;
}
Ref<Texture2D> icon;
if (name == player->get_autoplay()) {
if (name == SceneStringNames::get_singleton()->RESET) {
if (anim_name == player->get_autoplay()) {
if (anim_name == SceneStringNames::get_singleton()->RESET) {
icon = autoplay_reset_icon;
} else {
icon = autoplay_icon;
}
} else if (name == SceneStringNames::get_singleton()->RESET) {
} else if (anim_name == SceneStringNames::get_singleton()->RESET) {
icon = reset_icon;
}
@ -1356,8 +1356,8 @@ void AnimationPlayerEditor::_free_onion_layers() {
void AnimationPlayerEditor::_prepare_onion_layers_1() {
// This would be called per viewport and we want to act once only.
int64_t frame = get_tree()->get_frame();
if (frame == onion.last_frame) {
int64_t cur_frame = get_tree()->get_frame();
if (cur_frame == onion.last_frame) {
return;
}
@ -1366,7 +1366,7 @@ void AnimationPlayerEditor::_prepare_onion_layers_1() {
return;
}
onion.last_frame = frame;
onion.last_frame = cur_frame;
// Refresh viewports with no onion layers overlaid.
onion.can_overlay = false;

View file

@ -243,19 +243,19 @@ void EditorAssetLibraryItemDescription::configure(const String &p_title, int p_a
}
void EditorAssetLibraryItemDescription::add_preview(int p_id, bool p_video, const String &p_url) {
Preview preview;
preview.id = p_id;
preview.video_link = p_url;
preview.is_video = p_video;
preview.button = memnew(Button);
preview.button->set_icon(previews->get_theme_icon(SNAME("ThumbnailWait"), SNAME("EditorIcons")));
preview.button->set_toggle_mode(true);
preview.button->connect("pressed", callable_mp(this, &EditorAssetLibraryItemDescription::_preview_click).bind(p_id));
preview_hb->add_child(preview.button);
Preview new_preview;
new_preview.id = p_id;
new_preview.video_link = p_url;
new_preview.is_video = p_video;
new_preview.button = memnew(Button);
new_preview.button->set_icon(previews->get_theme_icon(SNAME("ThumbnailWait"), SNAME("EditorIcons")));
new_preview.button->set_toggle_mode(true);
new_preview.button->connect("pressed", callable_mp(this, &EditorAssetLibraryItemDescription::_preview_click).bind(p_id));
preview_hb->add_child(new_preview.button);
if (!p_video) {
preview.image = previews->get_theme_icon(SNAME("ThumbnailWait"), SNAME("EditorIcons"));
new_preview.image = previews->get_theme_icon(SNAME("ThumbnailWait"), SNAME("EditorIcons"));
}
preview_images.push_back(preview);
preview_images.push_back(new_preview);
if (preview_images.size() == 1 && !p_video) {
_preview_click(p_id);
}

View file

@ -44,8 +44,8 @@ void AudioStreamRandomizerEditorPlugin::make_visible(bool p_visible) {
}
void AudioStreamRandomizerEditorPlugin::_move_stream_array_element(Object *p_undo_redo, Object *p_edited, String p_array_prefix, int p_from_index, int p_to_pos) {
Ref<EditorUndoRedoManager> undo_redo = Object::cast_to<EditorUndoRedoManager>(p_undo_redo);
ERR_FAIL_COND(undo_redo.is_null());
Ref<EditorUndoRedoManager> undo_redo_man = Object::cast_to<EditorUndoRedoManager>(p_undo_redo);
ERR_FAIL_COND(undo_redo_man.is_null());
AudioStreamRandomizer *randomizer = Object::cast_to<AudioStreamRandomizer>(p_edited);
if (!randomizer) {
@ -76,12 +76,12 @@ void AudioStreamRandomizerEditorPlugin::_move_stream_array_element(Object *p_und
end = MIN(MAX(p_from_index, p_to_pos) + 1, end);
}
#define ADD_UNDO(obj, property) undo_redo->add_undo_property(obj, property, obj->get(property));
#define ADD_UNDO(obj, property) undo_redo_man->add_undo_property(obj, property, obj->get(property));
// Save layers' properties.
if (p_from_index < 0) {
undo_redo->add_undo_method(randomizer, "remove_stream", p_to_pos < 0 ? randomizer->get_streams_count() : p_to_pos);
undo_redo_man->add_undo_method(randomizer, "remove_stream", p_to_pos < 0 ? randomizer->get_streams_count() : p_to_pos);
} else if (p_to_pos < 0) {
undo_redo->add_undo_method(randomizer, "add_stream", p_from_index);
undo_redo_man->add_undo_method(randomizer, "add_stream", p_from_index);
}
List<PropertyInfo> properties;
@ -107,11 +107,11 @@ void AudioStreamRandomizerEditorPlugin::_move_stream_array_element(Object *p_und
#undef ADD_UNDO
if (p_from_index < 0) {
undo_redo->add_do_method(randomizer, "add_stream", p_to_pos);
undo_redo_man->add_do_method(randomizer, "add_stream", p_to_pos);
} else if (p_to_pos < 0) {
undo_redo->add_do_method(randomizer, "remove_stream", p_from_index);
undo_redo_man->add_do_method(randomizer, "remove_stream", p_from_index);
} else {
undo_redo->add_do_method(randomizer, "move_stream", p_from_index, p_to_pos);
undo_redo_man->add_do_method(randomizer, "move_stream", p_from_index, p_to_pos);
}
}

File diff suppressed because it is too large Load diff

View file

@ -110,8 +110,8 @@ void CPUParticles2DEditorPlugin::_generate_emission_mask() {
int vpc = 0;
{
Vector<uint8_t> data = img->get_data();
const uint8_t *r = data.ptr();
Vector<uint8_t> img_data = img->get_data();
const uint8_t *r = img_data.ptr();
for (int i = 0; i < s.width; i++) {
for (int j = 0; j < s.height; j++) {

View file

@ -46,7 +46,7 @@ String EditorResourceConversionPlugin::converts_to() const {
}
bool EditorResourceConversionPlugin::handles(const Ref<Resource> &p_resource) const {
bool ret;
bool ret = false;
if (GDVIRTUAL_CALL(_handles, p_resource, ret)) {
return ret;
}

View file

@ -207,8 +207,8 @@ void GPUParticles2DEditorPlugin::_generate_emission_mask() {
int vpc = 0;
{
Vector<uint8_t> data = img->get_data();
const uint8_t *r = data.ptr();
Vector<uint8_t> img_data = img->get_data();
const uint8_t *r = img_data.ptr();
for (int i = 0; i < s.width; i++) {
for (int j = 0; j < s.height; j++) {

View file

@ -255,8 +255,8 @@ void GPUParticles3DEditor::_menu_option(int p_option) {
}
} break;
case MENU_OPTION_CREATE_EMISSION_VOLUME_FROM_NODE: {
Ref<ParticleProcessMaterial> material = node->get_process_material();
if (material.is_null()) {
Ref<ParticleProcessMaterial> mat = node->get_process_material();
if (mat.is_null()) {
EditorNode::get_singleton()->show_warning(TTR("A processor material of type 'ParticleProcessMaterial' is required."));
return;
}
@ -366,13 +366,13 @@ void GPUParticles3DEditor::_generate_emission_points() {
Ref<Image> image = memnew(Image(w, h, false, Image::FORMAT_RGBF, point_img));
Ref<ImageTexture> tex = ImageTexture::create_from_image(image);
Ref<ParticleProcessMaterial> material = node->get_process_material();
ERR_FAIL_COND(material.is_null());
Ref<ParticleProcessMaterial> mat = node->get_process_material();
ERR_FAIL_COND(mat.is_null());
if (normals.size() > 0) {
material->set_emission_shape(ParticleProcessMaterial::EMISSION_SHAPE_DIRECTED_POINTS);
material->set_emission_point_count(point_count);
material->set_emission_point_texture(tex);
mat->set_emission_shape(ParticleProcessMaterial::EMISSION_SHAPE_DIRECTED_POINTS);
mat->set_emission_point_count(point_count);
mat->set_emission_point_texture(tex);
Vector<uint8_t> point_img2;
point_img2.resize(w * h * 3 * sizeof(float));
@ -390,11 +390,11 @@ void GPUParticles3DEditor::_generate_emission_points() {
}
Ref<Image> image2 = memnew(Image(w, h, false, Image::FORMAT_RGBF, point_img2));
material->set_emission_normal_texture(ImageTexture::create_from_image(image2));
mat->set_emission_normal_texture(ImageTexture::create_from_image(image2));
} else {
material->set_emission_shape(ParticleProcessMaterial::EMISSION_SHAPE_POINTS);
material->set_emission_point_count(point_count);
material->set_emission_point_texture(tex);
mat->set_emission_shape(ParticleProcessMaterial::EMISSION_SHAPE_POINTS);
mat->set_emission_point_count(point_count);
mat->set_emission_point_texture(tex);
}
}

View file

@ -90,8 +90,8 @@ void GradientEditor::_gradient_changed() {
}
editing = true;
Vector<Gradient::Point> points = gradient->get_points();
set_points(points);
Vector<Gradient::Point> grad_points = gradient->get_points();
set_points(grad_points);
set_interpolation_mode(gradient->get_interpolation_mode());
queue_redraw();
editing = false;

View file

@ -51,9 +51,9 @@ void Line2DEditor::_set_polygon(int p_idx, const Variant &p_polygon) const {
}
void Line2DEditor::_action_set_polygon(int p_idx, const Variant &p_previous, const Variant &p_polygon) {
Node2D *node = _get_node();
undo_redo->add_do_method(node, "set_points", p_polygon);
undo_redo->add_undo_method(node, "set_points", p_previous);
Node2D *_node = _get_node();
undo_redo->add_do_method(_node, "set_points", p_polygon);
undo_redo->add_undo_method(_node, "set_points", p_previous);
}
Line2DEditor::Line2DEditor() {}

View file

@ -1119,7 +1119,7 @@ void EditorNode3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) {
}
bool EditorNode3DGizmoPlugin::is_handle_highlighted(const EditorNode3DGizmo *p_gizmo, int p_id, bool p_secondary) const {
bool ret;
bool ret = false;
if (GDVIRTUAL_CALL(_is_handle_highlighted, Ref<EditorNode3DGizmo>(p_gizmo), p_id, p_secondary, ret)) {
return ret;
}
@ -1151,7 +1151,7 @@ void EditorNode3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, in
}
int EditorNode3DGizmoPlugin::subgizmos_intersect_ray(const EditorNode3DGizmo *p_gizmo, Camera3D *p_camera, const Vector2 &p_point) const {
int ret;
int ret = -1;
if (GDVIRTUAL_CALL(_subgizmos_intersect_ray, Ref<EditorNode3DGizmo>(p_gizmo), p_camera, p_point, ret)) {
return ret;
}
@ -4167,9 +4167,9 @@ void CollisionObject3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) {
p_gizmo->clear();
List<uint32_t> owners;
co->get_shape_owners(&owners);
for (uint32_t &owner_id : owners) {
List<uint32_t> owner_ids;
co->get_shape_owners(&owner_ids);
for (uint32_t &owner_id : owner_ids) {
Transform3D xform = co->shape_owner_get_transform(owner_id);
Object *owner = co->shape_owner_get_owner(owner_id);
// Exclude CollisionShape3D and CollisionPolygon3D as they have their gizmo.

View file

@ -2429,11 +2429,11 @@ void Node3DEditorViewport::_notification(int p_what) {
} break;
case NOTIFICATION_VISIBILITY_CHANGED: {
bool visible = is_visible_in_tree();
bool vp_visible = is_visible_in_tree();
set_process(visible);
set_process(vp_visible);
if (visible) {
if (vp_visible) {
orthogonal = view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_ORTHOGONAL));
_update_name();
_update_camera(0);
@ -3880,8 +3880,8 @@ bool Node3DEditorViewport::_apply_preview_material(ObjectID p_target, const Poin
Vector3 xform_ray = ai.basis.xform(world_ray).normalized();
Vector3 xform_pos = ai.xform(world_pos);
for (int surface = 0; surface < surface_count; surface++) {
Ref<TriangleMesh> surface_mesh = mesh->generate_surface_triangle_mesh(surface);
for (int surface_idx = 0; surface_idx < surface_count; surface_idx++) {
Ref<TriangleMesh> surface_mesh = mesh->generate_surface_triangle_mesh(surface_idx);
Vector3 rpos, rnorm;
if (surface_mesh->intersect_ray(xform_pos, xform_ray, rpos, rnorm)) {
@ -3894,7 +3894,7 @@ bool Node3DEditorViewport::_apply_preview_material(ObjectID p_target, const Poin
}
if (dist < closest_dist) {
closest_surface = surface;
closest_surface = surface_idx;
closest_dist = dist;
}
}
@ -4020,16 +4020,16 @@ bool Node3DEditorViewport::_create_instance(Node *parent, String &path, const Po
Node3D *node3d = Object::cast_to<Node3D>(instantiated_scene);
if (node3d) {
Transform3D global_transform;
Transform3D gl_transform;
Node3D *parent_node3d = Object::cast_to<Node3D>(parent);
if (parent_node3d) {
global_transform = parent_node3d->get_global_gizmo_transform();
gl_transform = parent_node3d->get_global_gizmo_transform();
}
global_transform.origin = spatial_editor->snap_point(_get_instance_position(p_point));
global_transform.basis *= node3d->get_transform().basis;
gl_transform.origin = spatial_editor->snap_point(_get_instance_position(p_point));
gl_transform.basis *= node3d->get_transform().basis;
editor_data->get_undo_redo()->add_do_method(instantiated_scene, "set_global_transform", global_transform);
editor_data->get_undo_redo()->add_do_method(instantiated_scene, "set_global_transform", gl_transform);
}
return true;
@ -4163,8 +4163,8 @@ bool Node3DEditorViewport::can_drop_data_fw(const Point2 &p_point, const Variant
}
if (can_instantiate) {
Transform3D global_transform = Transform3D(Basis(), _get_instance_position(p_point));
preview_node->set_global_transform(global_transform);
Transform3D gl_transform = Transform3D(Basis(), _get_instance_position(p_point));
preview_node->set_global_transform(gl_transform);
return true;
}

View file

@ -264,33 +264,33 @@ void Path3DGizmo::redraw() {
if (Path3DEditorPlugin::singleton->get_edited_path() == path) {
v3p.clear();
Vector<Vector3> handles;
Vector<Vector3> sec_handles;
Vector<Vector3> handle_points;
Vector<Vector3> sec_handle_points;
for (int i = 0; i < c->get_point_count(); i++) {
Vector3 p = c->get_point_position(i);
handles.push_back(p);
handle_points.push_back(p);
// push Out points first so they get selected if the In and Out points are on top of each other.
if (i < c->get_point_count() - 1) {
v3p.push_back(p);
v3p.push_back(p + c->get_point_out(i));
sec_handles.push_back(p + c->get_point_out(i));
sec_handle_points.push_back(p + c->get_point_out(i));
}
if (i > 0) {
v3p.push_back(p);
v3p.push_back(p + c->get_point_in(i));
sec_handles.push_back(p + c->get_point_in(i));
sec_handle_points.push_back(p + c->get_point_in(i));
}
}
if (v3p.size() > 1) {
add_lines(v3p, path_thin_material);
}
if (handles.size()) {
add_handles(handles, handles_material);
if (handle_points.size()) {
add_handles(handle_points, handles_material);
}
if (sec_handles.size()) {
add_handles(sec_handles, sec_handles_material, Vector<int>(), false, true);
if (sec_handle_points.size()) {
add_handles(sec_handle_points, sec_handles_material, Vector<int>(), false, true);
}
}
}

View file

@ -128,12 +128,12 @@ void EditorStandardSyntaxHighlighter::_update_cache() {
}
}
const Ref<Script> script = _get_edited_resource();
if (script.is_valid()) {
const Ref<Script> scr = _get_edited_resource();
if (scr.is_valid()) {
/* Core types. */
const Color basetype_color = EDITOR_GET("text_editor/theme/highlighting/base_type_color");
List<String> core_types;
script->get_language()->get_core_type_words(&core_types);
scr->get_language()->get_core_type_words(&core_types);
for (const String &E : core_types) {
highlighter->add_keyword_color(E, basetype_color);
}
@ -142,9 +142,9 @@ void EditorStandardSyntaxHighlighter::_update_cache() {
const Color keyword_color = EDITOR_GET("text_editor/theme/highlighting/keyword_color");
const Color control_flow_keyword_color = EDITOR_GET("text_editor/theme/highlighting/control_flow_keyword_color");
List<String> keywords;
script->get_language()->get_reserved_words(&keywords);
scr->get_language()->get_reserved_words(&keywords);
for (const String &E : keywords) {
if (script->get_language()->is_control_flow_keyword(E)) {
if (scr->get_language()->is_control_flow_keyword(E)) {
highlighter->add_keyword_color(E, control_flow_keyword_color);
} else {
highlighter->add_keyword_color(E, keyword_color);
@ -153,19 +153,19 @@ void EditorStandardSyntaxHighlighter::_update_cache() {
/* Member types. */
const Color member_variable_color = EDITOR_GET("text_editor/theme/highlighting/member_variable_color");
StringName instance_base = script->get_instance_base_type();
StringName instance_base = scr->get_instance_base_type();
if (instance_base != StringName()) {
List<PropertyInfo> plist;
ClassDB::get_property_list(instance_base, &plist);
for (const PropertyInfo &E : plist) {
String name = E.name;
String prop_name = E.name;
if (E.usage & PROPERTY_USAGE_CATEGORY || E.usage & PROPERTY_USAGE_GROUP || E.usage & PROPERTY_USAGE_SUBGROUP) {
continue;
}
if (name.contains("/")) {
if (prop_name.contains("/")) {
continue;
}
highlighter->add_member_keyword_color(name, member_variable_color);
highlighter->add_member_keyword_color(prop_name, member_variable_color);
}
List<String> clist;
@ -178,7 +178,7 @@ void EditorStandardSyntaxHighlighter::_update_cache() {
/* Comments */
const Color comment_color = EDITOR_GET("text_editor/theme/highlighting/comment_color");
List<String> comments;
script->get_language()->get_comment_delimiters(&comments);
scr->get_language()->get_comment_delimiters(&comments);
for (const String &comment : comments) {
String beg = comment.get_slice(" ", 0);
String end = comment.get_slice_count(" ") > 1 ? comment.get_slice(" ", 1) : String();
@ -188,7 +188,7 @@ void EditorStandardSyntaxHighlighter::_update_cache() {
/* Strings */
const Color string_color = EDITOR_GET("text_editor/theme/highlighting/string_color");
List<String> strings;
script->get_language()->get_string_delimiters(&strings);
scr->get_language()->get_string_delimiters(&strings);
for (const String &string : strings) {
String beg = string.get_slice(" ", 0);
String end = string.get_slice_count(" ") > 1 ? string.get_slice(" ", 1) : String();
@ -431,8 +431,8 @@ void ScriptEditor::_goto_script_line2(int p_line) {
}
void ScriptEditor::_goto_script_line(Ref<RefCounted> p_script, int p_line) {
Ref<Script> script = Object::cast_to<Script>(*p_script);
if (script.is_valid() && (script->has_source_code() || script->get_path().is_resource_file())) {
Ref<Script> scr = Object::cast_to<Script>(*p_script);
if (scr.is_valid() && (scr->has_source_code() || scr->get_path().is_resource_file())) {
if (edit(p_script, p_line, 0)) {
EditorNode::get_singleton()->push_item(p_script.ptr());
@ -447,15 +447,15 @@ void ScriptEditor::_goto_script_line(Ref<RefCounted> p_script, int p_line) {
}
void ScriptEditor::_set_execution(Ref<RefCounted> p_script, int p_line) {
Ref<Script> script = Object::cast_to<Script>(*p_script);
if (script.is_valid() && (script->has_source_code() || script->get_path().is_resource_file())) {
Ref<Script> scr = Object::cast_to<Script>(*p_script);
if (scr.is_valid() && (scr->has_source_code() || scr->get_path().is_resource_file())) {
for (int i = 0; i < tab_container->get_tab_count(); i++) {
ScriptEditorBase *se = Object::cast_to<ScriptEditorBase>(tab_container->get_tab_control(i));
if (!se) {
continue;
}
if ((script != nullptr && se->get_edited_resource() == p_script) || se->get_edited_resource()->get_path() == script->get_path()) {
if ((scr != nullptr && se->get_edited_resource() == p_script) || se->get_edited_resource()->get_path() == scr->get_path()) {
se->set_executing_line(p_line);
}
}
@ -463,15 +463,15 @@ void ScriptEditor::_set_execution(Ref<RefCounted> p_script, int p_line) {
}
void ScriptEditor::_clear_execution(Ref<RefCounted> p_script) {
Ref<Script> script = Object::cast_to<Script>(*p_script);
if (script.is_valid() && (script->has_source_code() || script->get_path().is_resource_file())) {
Ref<Script> scr = Object::cast_to<Script>(*p_script);
if (scr.is_valid() && (scr->has_source_code() || scr->get_path().is_resource_file())) {
for (int i = 0; i < tab_container->get_tab_count(); i++) {
ScriptEditorBase *se = Object::cast_to<ScriptEditorBase>(tab_container->get_tab_control(i));
if (!se) {
continue;
}
if ((script != nullptr && se->get_edited_resource() == p_script) || se->get_edited_resource()->get_path() == script->get_path()) {
if ((scr != nullptr && se->get_edited_resource() == p_script) || se->get_edited_resource()->get_path() == scr->get_path()) {
se->clear_executing_line();
}
}
@ -479,19 +479,19 @@ void ScriptEditor::_clear_execution(Ref<RefCounted> p_script) {
}
void ScriptEditor::_set_breakpoint(Ref<RefCounted> p_script, int p_line, bool p_enabled) {
Ref<Script> script = Object::cast_to<Script>(*p_script);
if (script.is_valid() && (script->has_source_code() || script->get_path().is_resource_file())) {
Ref<Script> scr = Object::cast_to<Script>(*p_script);
if (scr.is_valid() && (scr->has_source_code() || scr->get_path().is_resource_file())) {
// Update if open.
for (int i = 0; i < tab_container->get_tab_count(); i++) {
ScriptEditorBase *se = Object::cast_to<ScriptEditorBase>(tab_container->get_tab_control(i));
if (se && se->get_edited_resource()->get_path() == script->get_path()) {
if (se && se->get_edited_resource()->get_path() == scr->get_path()) {
se->set_breakpoint(p_line, p_enabled);
return;
}
}
// Handle closed.
Dictionary state = script_editor_cache->get_value(script->get_path(), "state");
Dictionary state = script_editor_cache->get_value(scr->get_path(), "state");
Array breakpoints;
if (state.has("breakpoints")) {
breakpoints = state["breakpoints"];
@ -505,8 +505,8 @@ void ScriptEditor::_set_breakpoint(Ref<RefCounted> p_script, int p_line, bool p_
breakpoints.push_back(p_line);
}
state["breakpoints"] = breakpoints;
script_editor_cache->set_value(script->get_path(), "state", state);
EditorDebuggerNode::get_singleton()->set_breakpoint(script->get_path(), p_line + 1, false);
script_editor_cache->set_value(scr->get_path(), "state", state);
EditorDebuggerNode::get_singleton()->set_breakpoint(scr->get_path(), p_line + 1, false);
}
}
@ -627,9 +627,9 @@ void ScriptEditor::_go_to_tab(int p_idx) {
Object::cast_to<ScriptEditorBase>(c)->ensure_focus();
}
Ref<Script> script = Object::cast_to<ScriptEditorBase>(c)->get_edited_resource();
if (script != nullptr) {
notify_script_changed(script);
Ref<Script> scr = Object::cast_to<ScriptEditorBase>(c)->get_edited_resource();
if (scr != nullptr) {
notify_script_changed(scr);
}
Object::cast_to<ScriptEditorBase>(c)->validate();
@ -705,9 +705,9 @@ void ScriptEditor::_open_recent_script(int p_idx) {
ResourceLoader::get_recognized_extensions_for_type("Script", &extensions);
if (extensions.find(path.get_extension())) {
Ref<Script> script = ResourceLoader::load(path);
if (script.is_valid()) {
edit(script, true);
Ref<Script> scr = ResourceLoader::load(path);
if (scr.is_valid()) {
edit(scr, true);
return;
}
}
@ -729,9 +729,9 @@ void ScriptEditor::_open_recent_script(int p_idx) {
} else {
EditorNode::get_singleton()->load_resource(res_path);
}
Ref<Script> script = ResourceLoader::load(path);
if (script.is_valid()) {
edit(script, true);
Ref<Script> scr = ResourceLoader::load(path);
if (scr.is_valid()) {
edit(scr, true);
return;
}
} else if (!path.is_resource_file()) {
@ -774,9 +774,9 @@ void ScriptEditor::_close_tab(int p_idx, bool p_save, bool p_history_back) {
previous_scripts.push_back(file->get_path());
}
Ref<Script> script = file;
if (script.is_valid()) {
notify_script_close(script);
Ref<Script> scr = file;
if (scr.is_valid()) {
notify_script_close(scr);
}
}
}
@ -851,8 +851,8 @@ void ScriptEditor::_close_docs_tab() {
void ScriptEditor::_copy_script_path() {
ScriptEditorBase *se = _get_current_editor();
if (se) {
Ref<Resource> script = se->get_edited_resource();
DisplayServer::get_singleton()->clipboard_set(script->get_path());
Ref<Resource> scr = se->get_edited_resource();
DisplayServer::get_singleton()->clipboard_set(scr->get_path());
}
}
@ -908,9 +908,9 @@ void ScriptEditor::_resave_scripts(const String &p_str) {
continue;
}
Ref<Resource> script = se->get_edited_resource();
Ref<Resource> scr = se->get_edited_resource();
if (script->is_built_in()) {
if (scr->is_built_in()) {
continue; //internal script, who cares
}
@ -928,13 +928,13 @@ void ScriptEditor::_resave_scripts(const String &p_str) {
}
}
Ref<TextFile> text_file = script;
Ref<TextFile> text_file = scr;
if (text_file != nullptr) {
se->apply_code();
_save_text_file(text_file, text_file->get_path());
break;
} else {
EditorNode::get_singleton()->save_resource(script);
EditorNode::get_singleton()->save_resource(scr);
}
se->tag_saved_version();
}
@ -949,9 +949,9 @@ void ScriptEditor::_res_saved_callback(const Ref<Resource> &p_res) {
continue;
}
Ref<Resource> script = se->get_edited_resource();
Ref<Resource> scr = se->get_edited_resource();
if (script == p_res) {
if (scr == p_res) {
se->tag_saved_version();
}
}
@ -1106,8 +1106,8 @@ Ref<Script> ScriptEditor::_get_current_script() {
ScriptEditorBase *current = _get_current_editor();
if (current) {
Ref<Script> script = current->get_edited_resource();
return script != nullptr ? script : nullptr;
Ref<Script> scr = current->get_edited_resource();
return scr != nullptr ? scr : nullptr;
} else {
return nullptr;
}
@ -1284,7 +1284,7 @@ void ScriptEditor::_menu_option(int p_option) {
Ref<Resource> resource = current->get_edited_resource();
Ref<TextFile> text_file = resource;
Ref<Script> script = resource;
Ref<Script> scr = resource;
if (text_file != nullptr) {
file_dialog->set_file_mode(EditorFileDialog::FILE_MODE_SAVE_FILE);
@ -1301,15 +1301,15 @@ void ScriptEditor::_menu_option(int p_option) {
break;
}
if (script.is_valid()) {
clear_docs_from_script(script);
if (scr.is_valid()) {
clear_docs_from_script(scr);
}
EditorNode::get_singleton()->push_item(resource.ptr());
EditorNode::get_singleton()->save_resource_as(resource);
if (script.is_valid()) {
update_docs_from_script(script);
if (scr.is_valid()) {
update_docs_from_script(scr);
}
} break;
@ -1367,18 +1367,18 @@ void ScriptEditor::_menu_option(int p_option) {
_copy_script_path();
} break;
case SHOW_IN_FILE_SYSTEM: {
const Ref<Resource> script = current->get_edited_resource();
String path = script->get_path();
const Ref<Resource> scr = current->get_edited_resource();
String path = scr->get_path();
if (!path.is_empty()) {
if (script->is_built_in()) {
if (scr->is_built_in()) {
path = path.get_slice("::", 0); // Show the scene instead.
}
FileSystemDock *file_system_dock = FileSystemDock::get_singleton();
file_system_dock->navigate_to_path(path);
// Ensure that the FileSystem dock is visible.
TabContainer *tab_container = (TabContainer *)file_system_dock->get_parent_control();
tab_container->set_current_tab(tab_container->get_tab_idx_from_control(file_system_dock));
TabContainer *dock_tab_container = (TabContainer *)file_system_dock->get_parent_control();
dock_tab_container->set_current_tab(dock_tab_container->get_tab_idx_from_control(file_system_dock));
}
} break;
case CLOSE_DOCS: {
@ -1635,12 +1635,12 @@ void ScriptEditor::close_builtin_scripts_from_scene(const String &p_scene) {
ScriptEditorBase *se = Object::cast_to<ScriptEditorBase>(tab_container->get_tab_control(i));
if (se) {
Ref<Script> script = se->get_edited_resource();
if (script == nullptr || !script.is_valid()) {
Ref<Script> scr = se->get_edited_resource();
if (scr == nullptr || !scr.is_valid()) {
continue;
}
if (script->is_built_in() && script->get_path().begins_with(p_scene)) { //is an internal script and belongs to scene being closed
if (scr->is_built_in() && scr->get_path().begins_with(p_scene)) { //is an internal script and belongs to scene being closed
_close_tab(i, false);
i--;
}
@ -1668,12 +1668,12 @@ void ScriptEditor::get_breakpoints(List<String> *p_breakpoints) {
continue;
}
Ref<Script> script = se->get_edited_resource();
if (script == nullptr) {
Ref<Script> scr = se->get_edited_resource();
if (scr == nullptr) {
continue;
}
String base = script->get_path();
String base = scr->get_path();
loaded_scripts.insert(base);
if (base.begins_with("local://") || base.is_empty()) {
continue;
@ -2184,20 +2184,20 @@ bool ScriptEditor::edit(const Ref<Resource> &p_resource, int p_line, int p_col,
return false;
}
Ref<Script> script = p_resource;
Ref<Script> scr = p_resource;
// Don't open dominant script if using an external editor.
bool use_external_editor =
EditorSettings::get_singleton()->get("text_editor/external/use_external_editor") ||
(script.is_valid() && script->get_language()->overrides_external_editor());
use_external_editor = use_external_editor && !(script.is_valid() && script->is_built_in()); // Ignore external editor for built-in scripts.
(scr.is_valid() && scr->get_language()->overrides_external_editor());
use_external_editor = use_external_editor && !(scr.is_valid() && scr->is_built_in()); // Ignore external editor for built-in scripts.
const bool open_dominant = EditorSettings::get_singleton()->get("text_editor/behavior/files/open_dominant_script_on_scene_change");
const bool should_open = (open_dominant && !use_external_editor) || !EditorNode::get_singleton()->is_changing_scene();
if (script.is_valid() && script->get_language()->overrides_external_editor()) {
if (scr.is_valid() && scr->get_language()->overrides_external_editor()) {
if (should_open) {
Error err = script->get_language()->open_in_external_editor(script, p_line >= 0 ? p_line : 0, p_col);
Error err = scr->get_language()->open_in_external_editor(scr, p_line >= 0 ? p_line : 0, p_col);
if (err != OK) {
ERR_PRINT("Couldn't open script in the overridden external text editor");
}
@ -2271,7 +2271,7 @@ bool ScriptEditor::edit(const Ref<Resource> &p_resource, int p_line, int p_col,
continue;
}
if ((script != nullptr && se->get_edited_resource() == p_resource) || se->get_edited_resource()->get_path() == p_resource->get_path()) {
if ((scr != nullptr && se->get_edited_resource() == p_resource) || se->get_edited_resource()->get_path() == p_resource->get_path()) {
if (should_open) {
se->enable_editor();
@ -2316,9 +2316,9 @@ bool ScriptEditor::edit(const Ref<Resource> &p_resource, int p_line, int p_col,
}
se->add_syntax_highlighter(highlighter);
if (script != nullptr && !highlighter_set) {
if (scr != nullptr && !highlighter_set) {
PackedStringArray languages = highlighter->_get_supported_languages();
if (languages.has(script->get_language()->get_name())) {
if (languages.has(scr->get_language()->get_name())) {
se->set_syntax_highlighter(highlighter);
highlighter_set = true;
}
@ -2399,7 +2399,7 @@ void ScriptEditor::save_current_script() {
Ref<Resource> resource = current->get_edited_resource();
Ref<TextFile> text_file = resource;
Ref<Script> script = resource;
Ref<Script> scr = resource;
if (text_file != nullptr) {
current->apply_code();
@ -2407,8 +2407,8 @@ void ScriptEditor::save_current_script() {
return;
}
if (script.is_valid()) {
clear_docs_from_script(script);
if (scr.is_valid()) {
clear_docs_from_script(scr);
}
if (resource->is_built_in()) {
@ -2423,8 +2423,8 @@ void ScriptEditor::save_current_script() {
EditorNode::get_singleton()->save_resource(resource);
}
if (script.is_valid()) {
update_docs_from_script(script);
if (scr.is_valid()) {
update_docs_from_script(scr);
}
}
@ -2462,21 +2462,21 @@ void ScriptEditor::save_all_scripts() {
if (!edited_res->is_built_in()) {
Ref<TextFile> text_file = edited_res;
Ref<Script> script = edited_res;
Ref<Script> scr = edited_res;
if (text_file != nullptr) {
_save_text_file(text_file, text_file->get_path());
continue;
}
if (script.is_valid()) {
clear_docs_from_script(script);
if (scr.is_valid()) {
clear_docs_from_script(scr);
}
EditorNode::get_singleton()->save_resource(edited_res); //external script, save it
if (script.is_valid()) {
update_docs_from_script(script);
if (scr.is_valid()) {
update_docs_from_script(scr);
}
} else {
// For built-in scripts, save their scenes instead.
@ -2526,13 +2526,13 @@ void ScriptEditor::reload_scripts(bool p_refresh_only) {
continue;
}
Ref<Script> script = edited_res;
if (script != nullptr) {
Ref<Script> rel_script = ResourceLoader::load(script->get_path(), script->get_class(), ResourceFormatLoader::CACHE_MODE_IGNORE);
ERR_CONTINUE(!rel_script.is_valid());
script->set_source_code(rel_script->get_source_code());
script->set_last_modified_time(rel_script->get_last_modified_time());
script->reload(true);
Ref<Script> scr = edited_res;
if (scr != nullptr) {
Ref<Script> rel_scr = ResourceLoader::load(scr->get_path(), scr->get_class(), ResourceFormatLoader::CACHE_MODE_IGNORE);
ERR_CONTINUE(!rel_scr.is_valid());
scr->set_source_code(rel_scr->get_source_code());
scr->set_last_modified_time(rel_scr->get_last_modified_time());
scr->reload(true);
}
Ref<TextFile> text_file = edited_res;
@ -2605,17 +2605,17 @@ void ScriptEditor::_editor_stop() {
void ScriptEditor::_add_callback(Object *p_obj, const String &p_function, const PackedStringArray &p_args) {
ERR_FAIL_COND(!p_obj);
Ref<Script> script = p_obj->get_script();
ERR_FAIL_COND(!script.is_valid());
Ref<Script> scr = p_obj->get_script();
ERR_FAIL_COND(!scr.is_valid());
EditorNode::get_singleton()->push_item(script.ptr());
EditorNode::get_singleton()->push_item(scr.ptr());
for (int i = 0; i < tab_container->get_tab_count(); i++) {
ScriptEditorBase *se = Object::cast_to<ScriptEditorBase>(tab_container->get_tab_control(i));
if (!se) {
continue;
}
if (se->get_edited_resource() != script) {
if (se->get_edited_resource() != scr) {
continue;
}
@ -2626,7 +2626,7 @@ void ScriptEditor::_add_callback(Object *p_obj, const String &p_function, const
script_list->select(script_list->find_metadata(i));
// Save the current script so the changes can be picked up by an external editor.
if (!script.ptr()->is_built_in()) { // But only if it's not built-in script.
if (!scr.ptr()->is_built_in()) { // But only if it's not built-in script.
save_current_script();
}
@ -3376,9 +3376,9 @@ void ScriptEditor::_update_history_pos(int p_new_pos) {
seb->set_edit_state(history[history_pos].state);
seb->ensure_focus();
Ref<Script> script = seb->get_edited_resource();
if (script != nullptr) {
notify_script_changed(script);
Ref<Script> scr = seb->get_edited_resource();
if (scr != nullptr) {
notify_script_changed(scr);
}
}
@ -3414,9 +3414,9 @@ Vector<Ref<Script>> ScriptEditor::get_open_scripts() const {
continue;
}
Ref<Script> script = se->get_edited_resource();
if (script != nullptr) {
out_scripts.push_back(script);
Ref<Script> scr = se->get_edited_resource();
if (scr != nullptr) {
out_scripts.push_back(scr);
}
}
@ -3467,9 +3467,9 @@ void ScriptEditor::_help_search(String p_text) {
}
void ScriptEditor::_open_script_request(const String &p_path) {
Ref<Script> script = ResourceLoader::load(p_path);
if (script.is_valid()) {
script_editor->edit(script, false);
Ref<Script> scr = ResourceLoader::load(p_path);
if (scr.is_valid()) {
script_editor->edit(scr, false);
return;
}
@ -3534,9 +3534,9 @@ void ScriptEditor::_on_find_in_files_result_selected(String fpath, int line_numb
EditorNode::get_singleton()->load_scene(fpath);
return;
} else {
Ref<Script> script = res;
if (script.is_valid()) {
edit(script);
Ref<Script> scr = res;
if (scr.is_valid()) {
edit(scr);
ScriptTextEditor *ste = Object::cast_to<ScriptTextEditor>(_get_current_editor());
if (ste) {
@ -3806,12 +3806,12 @@ ScriptEditor::ScriptEditor() {
script_search_menu->get_popup()->connect("id_pressed", callable_mp(this, &ScriptEditor::_menu_option));
menu_hb->add_child(script_search_menu);
MenuButton *debug_menu = memnew(MenuButton);
menu_hb->add_child(debug_menu);
debug_menu->hide(); // Handled by EditorDebuggerNode below.
MenuButton *debug_menu_btn = memnew(MenuButton);
menu_hb->add_child(debug_menu_btn);
debug_menu_btn->hide(); // Handled by EditorDebuggerNode below.
EditorDebuggerNode *debugger = EditorDebuggerNode::get_singleton();
debugger->set_script_debug_button(debug_menu);
debugger->set_script_debug_button(debug_menu_btn);
debugger->connect("goto_script_line", callable_mp(this, &ScriptEditor::_goto_script_line));
debugger->connect("set_execution", callable_mp(this, &ScriptEditor::_set_execution));
debugger->connect("clear_execution", callable_mp(this, &ScriptEditor::_clear_execution));

View file

@ -703,25 +703,25 @@ void ScriptEditor::_update_modified_scripts_for_external_editor(Ref<Script> p_fo
}
for (const Ref<Script> &E : scripts) {
Ref<Script> script = E;
Ref<Script> scr = E;
if (p_for_script.is_valid() && p_for_script != script) {
if (p_for_script.is_valid() && p_for_script != scr) {
continue;
}
if (script->is_built_in()) {
if (scr->is_built_in()) {
continue; //internal script, who cares, though weird
}
uint64_t last_date = script->get_last_modified_time();
uint64_t date = FileAccess::get_modified_time(script->get_path());
uint64_t last_date = scr->get_last_modified_time();
uint64_t date = FileAccess::get_modified_time(scr->get_path());
if (last_date != date) {
Ref<Script> rel_script = ResourceLoader::load(script->get_path(), script->get_class(), ResourceFormatLoader::CACHE_MODE_IGNORE);
ERR_CONTINUE(!rel_script.is_valid());
script->set_source_code(rel_script->get_source_code());
script->set_last_modified_time(rel_script->get_last_modified_time());
script->update_exports();
Ref<Script> rel_scr = ResourceLoader::load(scr->get_path(), scr->get_class(), ResourceFormatLoader::CACHE_MODE_IGNORE);
ERR_CONTINUE(!rel_scr.is_valid());
scr->set_source_code(rel_scr->get_source_code());
scr->set_last_modified_time(rel_scr->get_last_modified_time());
scr->update_exports();
_trigger_live_script_reload();
}
@ -982,10 +982,10 @@ void ScriptTextEditor::_update_connected_methods() {
Vector<Node *> nodes = _find_all_node_for_script(base, base, script);
HashSet<StringName> methods_found;
for (int i = 0; i < nodes.size(); i++) {
List<Connection> connections;
nodes[i]->get_signals_connected_to_this(&connections);
List<Connection> signal_connections;
nodes[i]->get_signals_connected_to_this(&signal_connections);
for (const Connection &connection : connections) {
for (const Connection &connection : signal_connections) {
if (!(connection.flags & CONNECT_PERSIST)) {
continue;
}

View file

@ -587,25 +587,25 @@ void Skeleton3DEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data
void Skeleton3DEditor::move_skeleton_bone(NodePath p_skeleton_path, int32_t p_selected_boneidx, int32_t p_target_boneidx) {
Node *node = get_node_or_null(p_skeleton_path);
Skeleton3D *skeleton = Object::cast_to<Skeleton3D>(node);
ERR_FAIL_NULL(skeleton);
Skeleton3D *skeleton_node = Object::cast_to<Skeleton3D>(node);
ERR_FAIL_NULL(skeleton_node);
Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Set Bone Parentage"));
// If the target is a child of ourselves, we move only *us* and not our children.
if (skeleton->is_bone_parent_of(p_target_boneidx, p_selected_boneidx)) {
const BoneId parent_idx = skeleton->get_bone_parent(p_selected_boneidx);
const int bone_count = skeleton->get_bone_count();
if (skeleton_node->is_bone_parent_of(p_target_boneidx, p_selected_boneidx)) {
const BoneId parent_idx = skeleton_node->get_bone_parent(p_selected_boneidx);
const int bone_count = skeleton_node->get_bone_count();
for (BoneId i = 0; i < bone_count; ++i) {
if (skeleton->get_bone_parent(i) == p_selected_boneidx) {
ur->add_undo_method(skeleton, "set_bone_parent", i, skeleton->get_bone_parent(i));
ur->add_do_method(skeleton, "set_bone_parent", i, parent_idx);
skeleton->set_bone_parent(i, parent_idx);
if (skeleton_node->get_bone_parent(i) == p_selected_boneidx) {
ur->add_undo_method(skeleton_node, "set_bone_parent", i, skeleton_node->get_bone_parent(i));
ur->add_do_method(skeleton_node, "set_bone_parent", i, parent_idx);
skeleton_node->set_bone_parent(i, parent_idx);
}
}
}
ur->add_undo_method(skeleton, "set_bone_parent", p_selected_boneidx, skeleton->get_bone_parent(p_selected_boneidx));
ur->add_do_method(skeleton, "set_bone_parent", p_selected_boneidx, p_target_boneidx);
skeleton->set_bone_parent(p_selected_boneidx, p_target_boneidx);
ur->add_undo_method(skeleton_node, "set_bone_parent", p_selected_boneidx, skeleton_node->get_bone_parent(p_selected_boneidx));
ur->add_do_method(skeleton_node, "set_bone_parent", p_selected_boneidx, p_target_boneidx);
skeleton_node->set_bone_parent(p_selected_boneidx, p_target_boneidx);
update_joint_tree();
ur->commit_action();

View file

@ -1095,8 +1095,8 @@ bool SpriteFramesEditor::can_drop_data_fw(const Point2 &p_point, const Variant &
}
for (int i = 0; i < files.size(); i++) {
String file = files[i];
String ftype = EditorFileSystem::get_singleton()->get_file_type(file);
String f = files[i];
String ftype = EditorFileSystem::get_singleton()->get_file_type(f);
if (!ClassDB::is_parent_class(ftype, "Texture2D")) {
return false;

View file

@ -202,12 +202,12 @@ void ShaderTextEditor::set_warnings_panel(RichTextLabel *p_warnings_panel) {
}
void ShaderTextEditor::_load_theme_settings() {
CodeEdit *text_editor = get_text_editor();
CodeEdit *te = get_text_editor();
Color updated_marked_line_color = EDITOR_GET("text_editor/theme/highlighting/mark_color");
if (updated_marked_line_color != marked_line_color) {
for (int i = 0; i < text_editor->get_line_count(); i++) {
if (text_editor->get_line_background_color(i) == marked_line_color) {
text_editor->set_line_background_color(i, updated_marked_line_color);
for (int i = 0; i < te->get_line_count(); i++) {
if (te->get_line_background_color(i) == marked_line_color) {
te->set_line_background_color(i, updated_marked_line_color);
}
}
marked_line_color = updated_marked_line_color;
@ -257,14 +257,14 @@ void ShaderTextEditor::_load_theme_settings() {
const Vector<ShaderLanguage::ModeInfo> &modes = ShaderTypes::get_singleton()->get_modes(RenderingServer::ShaderMode(i));
for (int j = 0; j < modes.size(); j++) {
const ShaderLanguage::ModeInfo &info = modes[j];
const ShaderLanguage::ModeInfo &mode_info = modes[j];
if (!info.options.is_empty()) {
for (int k = 0; k < info.options.size(); k++) {
built_ins.push_back(String(info.name) + "_" + String(info.options[k]));
if (!mode_info.options.is_empty()) {
for (int k = 0; k < mode_info.options.size(); k++) {
built_ins.push_back(String(mode_info.name) + "_" + String(mode_info.options[k]));
}
} else {
built_ins.push_back(String(info.name));
built_ins.push_back(String(mode_info.name));
}
}
}
@ -278,14 +278,14 @@ void ShaderTextEditor::_load_theme_settings() {
const Vector<ShaderLanguage::ModeInfo> &modes = ShaderTypes::get_singleton()->get_modes(RenderingServer::ShaderMode(shader->get_mode()));
for (int i = 0; i < modes.size(); i++) {
const ShaderLanguage::ModeInfo &info = modes[i];
const ShaderLanguage::ModeInfo &mode_info = modes[i];
if (!info.options.is_empty()) {
for (int j = 0; j < info.options.size(); j++) {
built_ins.push_back(String(info.name) + "_" + String(info.options[j]));
if (!mode_info.options.is_empty()) {
for (int j = 0; j < mode_info.options.size(); j++) {
built_ins.push_back(String(mode_info.name) + "_" + String(mode_info.options[j]));
}
} else {
built_ins.push_back(String(info.name));
built_ins.push_back(String(mode_info.name));
}
}
}
@ -303,12 +303,12 @@ void ShaderTextEditor::_load_theme_settings() {
syntax_highlighter->add_color_region("//", "", comment_color, true);
syntax_highlighter->set_disabled_branch_color(comment_color);
text_editor->clear_comment_delimiters();
text_editor->add_comment_delimiter("/*", "*/", false);
text_editor->add_comment_delimiter("//", "", true);
te->clear_comment_delimiters();
te->add_comment_delimiter("/*", "*/", false);
te->add_comment_delimiter("//", "", true);
if (!text_editor->has_auto_brace_completion_open_key("/*")) {
text_editor->add_auto_brace_completion_pair("/*", "*/");
if (!te->has_auto_brace_completion_open_key("/*")) {
te->add_auto_brace_completion_pair("/*", "*/");
}
// Colorize preprocessor include strings.
@ -399,22 +399,22 @@ void ShaderTextEditor::_code_complete_script(const String &p_code, List<ScriptLa
ShaderLanguage sl;
String calltip;
ShaderLanguage::ShaderCompileInfo info;
info.global_shader_uniform_type_func = _get_global_shader_uniform_type;
ShaderLanguage::ShaderCompileInfo comp_info;
comp_info.global_shader_uniform_type_func = _get_global_shader_uniform_type;
if (shader.is_null()) {
info.is_include = true;
comp_info.is_include = true;
sl.complete(code, info, r_options, calltip);
sl.complete(code, comp_info, r_options, calltip);
get_text_editor()->set_code_hint(calltip);
return;
}
_check_shader_mode();
info.functions = ShaderTypes::get_singleton()->get_functions(RenderingServer::ShaderMode(shader->get_mode()));
info.render_modes = ShaderTypes::get_singleton()->get_modes(RenderingServer::ShaderMode(shader->get_mode()));
info.shader_types = ShaderTypes::get_singleton()->get_types();
comp_info.functions = ShaderTypes::get_singleton()->get_functions(RenderingServer::ShaderMode(shader->get_mode()));
comp_info.render_modes = ShaderTypes::get_singleton()->get_modes(RenderingServer::ShaderMode(shader->get_mode()));
comp_info.shader_types = ShaderTypes::get_singleton()->get_types();
sl.complete(code, info, r_options, calltip);
sl.complete(code, comp_info, r_options, calltip);
get_text_editor()->set_code_hint(calltip);
}
@ -464,22 +464,22 @@ void ShaderTextEditor::_validate_script() {
//preprocessor error
ERR_FAIL_COND(err_positions.size() == 0);
String error_text = error_pp;
int error_line = err_positions.front()->get().line;
String err_text = error_pp;
int err_line = err_positions.front()->get().line;
if (err_positions.size() == 1) {
// Error in main file
error_text = "error(" + itos(error_line) + "): " + error_text;
err_text = "error(" + itos(err_line) + "): " + err_text;
} else {
error_text = "error(" + itos(error_line) + ") in include " + err_positions.back()->get().file.get_file() + ":" + itos(err_positions.back()->get().line) + ": " + error_text;
err_text = "error(" + itos(err_line) + ") in include " + err_positions.back()->get().file.get_file() + ":" + itos(err_positions.back()->get().line) + ": " + err_text;
set_error_count(err_positions.size() - 1);
}
set_error(error_text);
set_error_pos(error_line - 1, 0);
set_error(err_text);
set_error_pos(err_line - 1, 0);
for (int i = 0; i < get_text_editor()->get_line_count(); i++) {
get_text_editor()->set_line_background_color(i, Color(0, 0, 0, 0));
}
get_text_editor()->set_line_background_color(error_line - 1, marked_line_color);
get_text_editor()->set_line_background_color(err_line - 1, marked_line_color);
set_warning_count(0);
@ -507,39 +507,39 @@ void ShaderTextEditor::_validate_script() {
}
sl.set_warning_flags(flags);
ShaderLanguage::ShaderCompileInfo info;
info.global_shader_uniform_type_func = _get_global_shader_uniform_type;
ShaderLanguage::ShaderCompileInfo comp_info;
comp_info.global_shader_uniform_type_func = _get_global_shader_uniform_type;
if (shader.is_null()) {
info.is_include = true;
comp_info.is_include = true;
} else {
Shader::Mode mode = shader->get_mode();
info.functions = ShaderTypes::get_singleton()->get_functions(RenderingServer::ShaderMode(mode));
info.render_modes = ShaderTypes::get_singleton()->get_modes(RenderingServer::ShaderMode(mode));
info.shader_types = ShaderTypes::get_singleton()->get_types();
comp_info.functions = ShaderTypes::get_singleton()->get_functions(RenderingServer::ShaderMode(mode));
comp_info.render_modes = ShaderTypes::get_singleton()->get_modes(RenderingServer::ShaderMode(mode));
comp_info.shader_types = ShaderTypes::get_singleton()->get_types();
}
code = code_pp;
//compiler error
last_compile_result = sl.compile(code, info);
last_compile_result = sl.compile(code, comp_info);
if (last_compile_result != OK) {
String error_text;
int error_line;
String err_text;
int err_line;
Vector<ShaderLanguage::FilePosition> include_positions = sl.get_include_positions();
if (include_positions.size() > 1) {
//error is in an include
error_line = include_positions[0].line;
error_text = "error(" + itos(error_line) + ") in include " + include_positions[include_positions.size() - 1].file + ":" + itos(include_positions[include_positions.size() - 1].line) + ": " + sl.get_error_text();
err_line = include_positions[0].line;
err_text = "error(" + itos(err_line) + ") in include " + include_positions[include_positions.size() - 1].file + ":" + itos(include_positions[include_positions.size() - 1].line) + ": " + sl.get_error_text();
set_error_count(include_positions.size() - 1);
} else {
error_line = sl.get_error_line();
error_text = "error(" + itos(error_line) + "): " + sl.get_error_text();
err_line = sl.get_error_line();
err_text = "error(" + itos(err_line) + "): " + sl.get_error_text();
set_error_count(0);
}
set_error(error_text);
set_error_pos(error_line - 1, 0);
get_text_editor()->set_line_background_color(error_line - 1, marked_line_color);
set_error(err_text);
set_error_pos(err_line - 1, 0);
get_text_editor()->set_line_background_color(err_line - 1, marked_line_color);
} else {
set_error("");
}

View file

@ -212,8 +212,8 @@ void GenericTilePolygonEditor::_base_control_draw() {
for (int i = 0; i < (int)polygons.size(); i++) {
const Vector<Vector2> &polygon = polygons[i];
for (int j = 0; j < polygon.size(); j++) {
const Color modulate = (tinted_polygon_index == i && tinted_point_index == j) ? Color(0.5, 1, 2) : Color(1, 1, 1);
base_control->draw_texture(handle, xform.xform(polygon[j]) - handle->get_size() / 2, modulate);
const Color poly_modulate = (tinted_polygon_index == i && tinted_point_index == j) ? Color(0.5, 1, 2) : Color(1, 1, 1);
base_control->draw_texture(handle, xform.xform(polygon[j]) - handle->get_size() / 2, poly_modulate);
}
}
}
@ -2662,27 +2662,27 @@ TileDataTerrainsEditor::~TileDataTerrainsEditor() {
}
Variant TileDataNavigationEditor::_get_painted_value() {
Ref<NavigationPolygon> navigation_polygon;
navigation_polygon.instantiate();
Ref<NavigationPolygon> nav_polygon;
nav_polygon.instantiate();
for (int i = 0; i < polygon_editor->get_polygon_count(); i++) {
Vector<Vector2> polygon = polygon_editor->get_polygon(i);
navigation_polygon->add_outline(polygon);
nav_polygon->add_outline(polygon);
}
navigation_polygon->make_polygons_from_outlines();
return navigation_polygon;
nav_polygon->make_polygons_from_outlines();
return nav_polygon;
}
void TileDataNavigationEditor::_set_painted_value(TileSetAtlasSource *p_tile_set_atlas_source, Vector2 p_coords, int p_alternative_tile) {
TileData *tile_data = p_tile_set_atlas_source->get_tile_data(p_coords, p_alternative_tile);
ERR_FAIL_COND(!tile_data);
Ref<NavigationPolygon> navigation_polygon = tile_data->get_navigation_polygon(navigation_layer);
Ref<NavigationPolygon> nav_polygon = tile_data->get_navigation_polygon(navigation_layer);
polygon_editor->clear_polygons();
if (navigation_polygon.is_valid()) {
for (int i = 0; i < navigation_polygon->get_outline_count(); i++) {
polygon_editor->add_polygon(navigation_polygon->get_outline(i));
if (nav_polygon.is_valid()) {
for (int i = 0; i < nav_polygon->get_outline_count(); i++) {
polygon_editor->add_polygon(nav_polygon->get_outline(i));
}
}
polygon_editor->set_background(p_tile_set_atlas_source->get_texture(), p_tile_set_atlas_source->get_tile_texture_region(p_coords), p_tile_set_atlas_source->get_tile_effective_texture_offset(p_coords, p_alternative_tile), tile_data->get_flip_h(), tile_data->get_flip_v(), tile_data->get_transpose(), tile_data->get_modulate());
@ -2691,8 +2691,8 @@ void TileDataNavigationEditor::_set_painted_value(TileSetAtlasSource *p_tile_set
void TileDataNavigationEditor::_set_value(TileSetAtlasSource *p_tile_set_atlas_source, Vector2 p_coords, int p_alternative_tile, Variant p_value) {
TileData *tile_data = p_tile_set_atlas_source->get_tile_data(p_coords, p_alternative_tile);
ERR_FAIL_COND(!tile_data);
Ref<NavigationPolygon> navigation_polygon = p_value;
tile_data->set_navigation_polygon(navigation_layer, navigation_polygon);
Ref<NavigationPolygon> nav_polygon = p_value;
tile_data->set_navigation_polygon(navigation_layer, nav_polygon);
polygon_editor->set_background(p_tile_set_atlas_source->get_texture(), p_tile_set_atlas_source->get_tile_texture_region(p_coords), p_tile_set_atlas_source->get_tile_effective_texture_offset(p_coords, p_alternative_tile), tile_data->get_flip_h(), tile_data->get_flip_v(), tile_data->get_transpose(), tile_data->get_modulate());
}
@ -2740,9 +2740,9 @@ void TileDataNavigationEditor::draw_over_tile(CanvasItem *p_canvas_item, Transfo
// Draw all shapes.
RenderingServer::get_singleton()->canvas_item_add_set_transform(p_canvas_item->get_canvas_item(), p_transform);
Ref<NavigationPolygon> navigation_polygon = tile_data->get_navigation_polygon(navigation_layer);
if (navigation_polygon.is_valid()) {
Vector<Vector2> verts = navigation_polygon->get_vertices();
Ref<NavigationPolygon> nav_polygon = tile_data->get_navigation_polygon(navigation_layer);
if (nav_polygon.is_valid()) {
Vector<Vector2> verts = nav_polygon->get_vertices();
if (verts.size() < 3) {
return;
}
@ -2759,9 +2759,9 @@ void TileDataNavigationEditor::draw_over_tile(CanvasItem *p_canvas_item, Transfo
}
RandomPCG rand;
for (int i = 0; i < navigation_polygon->get_polygon_count(); i++) {
for (int i = 0; i < nav_polygon->get_polygon_count(); i++) {
// An array of vertices for this polygon.
Vector<int> polygon = navigation_polygon->get_polygon(i);
Vector<int> polygon = nav_polygon->get_polygon(i);
Vector<Vector2> vertices;
vertices.resize(polygon.size());
for (int j = 0; j < polygon.size(); j++) {

Some files were not shown because too many files have changed in this diff Show more