diff options
| -rw-r--r-- | core/os/dir_access.cpp | 6 | ||||
| -rw-r--r-- | core/os/dir_access.h | 4 | ||||
| -rw-r--r-- | drivers/gles3/rasterizer_storage_gles3.h | 2 | ||||
| -rw-r--r-- | editor/plugins/baked_lightmap_editor_plugin.cpp | 1 | ||||
| -rw-r--r-- | scene/gui/rich_text_label.cpp | 31 | ||||
| -rw-r--r-- | scene/gui/tree.cpp | 32 | ||||
| -rw-r--r-- | scene/resources/environment.cpp | 2 | ||||
| -rw-r--r-- | servers/audio_server.cpp | 1 | 
8 files changed, 47 insertions, 32 deletions
diff --git a/core/os/dir_access.cpp b/core/os/dir_access.cpp index c906fa7333..eadb8e8546 100644 --- a/core/os/dir_access.cpp +++ b/core/os/dir_access.cpp @@ -293,7 +293,7 @@ String DirAccess::get_full_path(const String &p_path, AccessType p_access) {  	return full;  } -Error DirAccess::copy(String p_from, String p_to, int chmod_flags) { +Error DirAccess::copy(String p_from, String p_to, int p_chmod_flags) {  	//printf("copy %s -> %s\n",p_from.ascii().get_data(),p_to.ascii().get_data());  	Error err; @@ -330,9 +330,9 @@ Error DirAccess::copy(String p_from, String p_to, int chmod_flags) {  		fdst->store_8(fsrc->get_8());  	} -	if (err == OK && chmod_flags != -1) { +	if (err == OK && p_chmod_flags != -1) {  		fdst->close(); -		err = fdst->_chmod(p_to, chmod_flags); +		err = fdst->_chmod(p_to, p_chmod_flags);  		// If running on a platform with no chmod support (i.e., Windows), don't fail  		if (err == ERR_UNAVAILABLE)  			err = OK; diff --git a/core/os/dir_access.h b/core/os/dir_access.h index f29f61e838..c94ced657b 100644 --- a/core/os/dir_access.h +++ b/core/os/dir_access.h @@ -92,8 +92,8 @@ public:  	static bool exists(String p_dir);  	virtual size_t get_space_left() = 0; -	Error copy_dir(String p_from, String p_to, int chmod_flags = -1); -	virtual Error copy(String p_from, String p_to, int chmod_flags = -1); +	Error copy_dir(String p_from, String p_to, int p_chmod_flags = -1); +	virtual Error copy(String p_from, String p_to, int p_chmod_flags = -1);  	virtual Error rename(String p_from, String p_to) = 0;  	virtual Error remove(String p_name) = 0; diff --git a/drivers/gles3/rasterizer_storage_gles3.h b/drivers/gles3/rasterizer_storage_gles3.h index 4ef4926a1a..74bd0a3cc1 100644 --- a/drivers/gles3/rasterizer_storage_gles3.h +++ b/drivers/gles3/rasterizer_storage_gles3.h @@ -1180,7 +1180,7 @@ public:  			clear = true;  			inactive = true; -			inactive_time = false; +			inactive_time = 0.0;  			glGenBuffers(2, particle_buffers);  			glGenVertexArrays(2, particle_vaos); diff --git a/editor/plugins/baked_lightmap_editor_plugin.cpp b/editor/plugins/baked_lightmap_editor_plugin.cpp index 08f4d06ef7..6849563ae2 100644 --- a/editor/plugins/baked_lightmap_editor_plugin.cpp +++ b/editor/plugins/baked_lightmap_editor_plugin.cpp @@ -20,7 +20,6 @@ void BakedLightmapEditorPlugin::_bake() {  			case BakedLightmap::BAKE_ERROR_CANT_CREATE_IMAGE:  				EditorNode::get_singleton()->show_warning(TTR("Failed creating lightmap images, make sure path is writable."));  				break; -			defaut : {}  		}  	}  } diff --git a/scene/gui/rich_text_label.cpp b/scene/gui/rich_text_label.cpp index 4f2cfccd4a..bf048ea1b6 100644 --- a/scene/gui/rich_text_label.cpp +++ b/scene/gui/rich_text_label.cpp @@ -371,19 +371,20 @@ int RichTextLabel::_process_line(ItemFrame *p_frame, const Vector2 &p_ofs, int &  									cw = tab_size * font->get_char_size(' ').width;  								} -								if (underline) { -									Color uc = color; -									uc.a *= 0.5; -									int uy = y + lh - fh + ascent + 2; -									float underline_width = 1.0; -#ifdef TOOLS_ENABLED -									underline_width *= EDSCALE; -#endif -									VS::get_singleton()->canvas_item_add_line(ci, p_ofs + Point2(align_ofs + pofs, uy), p_ofs + Point2(align_ofs + pofs + cw, uy), uc, underline_width); -								}  								ofs += cw;  							}  						} + +						if (underline) { +							Color uc = color; +							uc.a *= 0.5; +							int uy = y + lh - fh + ascent + 2; +							float underline_width = 1.0; +#ifdef TOOLS_ENABLED +							underline_width *= EDSCALE; +#endif +							VS::get_singleton()->canvas_item_add_line(ci, p_ofs + Point2(align_ofs + wofs, uy), p_ofs + Point2(align_ofs + wofs + w, uy), uc, underline_width); +						}  					}  					ADVANCE(fw); @@ -451,6 +452,8 @@ int RichTextLabel::_process_line(ItemFrame *p_frame, const Vector2 &p_ofs, int &  						table->columns[i].width = 0;  					}  					//compute minimum width for each cell +					const int available_width = p_width - hseparation * (table->columns.size() - 1) - wofs; +  					for (List<Item *>::Element *E = table->subitems.front(); E; E = E->next()) {  						ERR_CONTINUE(E->get()->type != ITEM_FRAME); //children should all be frames  						ItemFrame *frame = static_cast<ItemFrame *>(E->get()); @@ -461,7 +464,7 @@ int RichTextLabel::_process_line(ItemFrame *p_frame, const Vector2 &p_ofs, int &  						for (int i = 0; i < frame->lines.size(); i++) { -							_process_line(frame, Point2(), ly, p_width, i, PROCESS_CACHE, cfont, Color()); +							_process_line(frame, Point2(), ly, available_width, i, PROCESS_CACHE, cfont, Color());  							table->columns[column].min_width = MAX(table->columns[column].min_width, frame->lines[i].minimum_width);  						}  						idx++; @@ -470,11 +473,11 @@ int RichTextLabel::_process_line(ItemFrame *p_frame, const Vector2 &p_ofs, int &  					//compute available width and total ratio (for expanders)  					int total_ratio = 0; -					int available_width = p_width - hseparation * (table->columns.size() - 1); +					int remaining_width = available_width;  					table->total_width = hseparation;  					for (int i = 0; i < table->columns.size(); i++) { -						available_width -= table->columns[i].min_width; +						remaining_width -= table->columns[i].min_width;  						if (table->columns[i].expand)  							total_ratio += table->columns[i].expand_ratio;  					} @@ -484,7 +487,7 @@ int RichTextLabel::_process_line(ItemFrame *p_frame, const Vector2 &p_ofs, int &  					for (int i = 0; i < table->columns.size(); i++) {  						table->columns[i].width = table->columns[i].min_width;  						if (table->columns[i].expand) -							table->columns[i].width += table->columns[i].expand_ratio * available_width / total_ratio; +							table->columns[i].width += table->columns[i].expand_ratio * remaining_width / total_ratio;  						table->total_width += table->columns[i].width + hseparation;  					} diff --git a/scene/gui/tree.cpp b/scene/gui/tree.cpp index 08f1bdff3d..b1a421c24f 100644 --- a/scene/gui/tree.cpp +++ b/scene/gui/tree.cpp @@ -1423,17 +1423,33 @@ int Tree::draw_item(const Point2i &p_pos, const Point2 &p_draw_ofs, const Size2  #endif  				Point2i parent_pos = Point2i(parent_ofs - cache.arrow->get_width() / 2, p_pos.y + label_h / 2 + cache.arrow->get_height() / 2) - cache.offset + p_draw_ofs; -				VisualServer::get_singleton()->canvas_item_add_line(ci, root_pos, Point2i(parent_pos.x - Math::floor(line_width / 2), root_pos.y), cache.relationship_line_color, line_width); -				VisualServer::get_singleton()->canvas_item_add_line(ci, Point2i(parent_pos.x, root_pos.y), parent_pos, cache.relationship_line_color, line_width); + +				if (root_pos.y + line_width >= 0) { +					VisualServer::get_singleton()->canvas_item_add_line(ci, root_pos, Point2i(parent_pos.x - Math::floor(line_width / 2), root_pos.y), cache.relationship_line_color, line_width); +					VisualServer::get_singleton()->canvas_item_add_line(ci, Point2i(parent_pos.x, root_pos.y), parent_pos, cache.relationship_line_color, line_width); +				} + +				if (htotal < 0) { +					return -1; +				}  			} -			int child_h = draw_item(children_pos, p_draw_ofs, p_draw_size, c); +			if (htotal >= 0) { +				int child_h = draw_item(children_pos, p_draw_ofs, p_draw_size, c); -			if (child_h < 0 && cache.draw_relationship_lines == 0) -				return -1; // break, stop drawing, no need to anymore +				if (child_h < 0) { +					if (cache.draw_relationship_lines == 0) { +						return -1; // break, stop drawing, no need to anymore +					} else { +						htotal = -1; +						children_pos.y = cache.offset.y + p_draw_size.height; +					} +				} else { +					htotal += child_h; +					children_pos.y += child_h; +				} +			} -			htotal += child_h; -			children_pos.y += child_h;  			c = c->next;  		}  	} @@ -2352,8 +2368,6 @@ void Tree::_gui_input(Ref<InputEvent> p_event) {  						last_keypress = 0;  				}  			} break; - -				last_keypress = 0;  		}  	} diff --git a/scene/resources/environment.cpp b/scene/resources/environment.cpp index 6216893667..b2c91f90eb 100644 --- a/scene/resources/environment.cpp +++ b/scene/resources/environment.cpp @@ -1218,7 +1218,7 @@ Environment::Environment() {  	ssao_radius2 = 0;  	ssao_intensity2 = 1;  	ssao_bias = 0.01; -	ssao_direct_light_affect = false; +	ssao_direct_light_affect = 0.0;  	ssao_blur = SSAO_BLUR_3x3;  	set_ssao_edge_sharpness(4);  	set_ssao_quality(SSAO_QUALITY_LOW); diff --git a/servers/audio_server.cpp b/servers/audio_server.cpp index 0317fe45ae..f2198bdf2f 100644 --- a/servers/audio_server.cpp +++ b/servers/audio_server.cpp @@ -122,7 +122,6 @@ int AudioDriverManager::get_driver_count() {  }  void AudioDriverManager::initialize(int p_driver) { -	AudioDriver *driver;  	int failed_driver = -1;  	// Check if there is a selected driver  |